.ptx {  --ptx-ink: #22221c;  --ptx-muted: #5c5a50;  --ptx-paper: #f7f5ee;  --ptx-cream: #fffdf6;  --ptx-line: #d8d2c3;  --ptx-gold: #d5a848;  --ptx-jade: #204c3f;  width: 100%;  min-width: 0;  overflow-x: clip;  color: var(--ptx-ink);  background: var(--ptx-paper);  font: 400 16px/1.65 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;  -webkit-text-size-adjust: 100%;  text-size-adjust: 100%;}.ptx, .ptx *, .ptx *::before, .ptx *::after { box-sizing: border-box; }.ptx :where(h1, h2, h3, p, ol, ul) { margin: 0; }.ptx :where(ol, ul) { padding-left: 1.25em; }.ptx a { color: inherit; text-underline-offset: 4px; }.ptx :is(a, summary):focus-visible { outline: 3px solid #a96a18; outline-offset: 4px; }.ptx :target { scroll-margin-top: 24px; }.ptx-wrap { width: min(calc(100% - 48px), 1280px); min-width: 0; margin-inline: auto; }.ptx-section { padding-block: clamp(76px, 9vw, 134px); }.ptx-defer { content-visibility: auto; contain-intrinsic-size: auto 900px; }.ptx-eyebrow, .ptx-card-label {  font-size: .72rem;  font-weight: 760;  letter-spacing: .14em;  line-height: 1.4;  text-transform: uppercase;}.ptx-eyebrow { color: #8a611c; }.ptx :is(h1, h2) {  font-size: clamp(2.65rem, 5.9vw, 6rem);  font-weight: 770;  line-height: 1.03;  letter-spacing: -.069em;  text-wrap: balance;  overflow-wrap: anywhere;}.ptx h3 { font-weight: 720; letter-spacing: -.045em; line-height: 1.15; overflow-wrap: anywhere; }.ptx li + li { margin-top: .38em; }.ptx-opening {  padding-block: clamp(82px, 9vw, 135px) clamp(58px, 7vw, 100px);  color: #fbf7ea;  background: radial-gradient(ellipse at 18% 64%, #59482b 0%, #29271e 47%, #1d201b 100%);}.ptx-opening .ptx-eyebrow { color: #efd697; }.ptx-opening-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .55fr); gap: clamp(24px, 5vw, 90px); align-items: end; margin: clamp(35px, 5vw, 70px) 0 clamp(55px, 8vw, 110px); }.ptx-opening :is(h1, h2) { max-width: 13ch; font-size: clamp(3.7rem, 8.3vw, 8.4rem); }.ptx-opening-copy { padding-bottom: 9px; }.ptx-opening-copy p { max-width: 42ch; color: #e5dfd0; font-size: clamp(.99rem, 1.5vw, 1.14rem); }.ptx-opening-copy p + p { margin-top: 16px; }.ptx-route-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding: 1px !important; list-style: none; border: 1px solid #7a6c4c; border-radius: 20px; overflow: hidden; background: #7a6c4c; }.ptx-route-strip li { display: flex; flex-direction: column; min-width: 0; min-height: 154px; margin: 0 !important; padding: clamp(19px, 2.2vw, 29px); background: #282b23; }.ptx-route-strip li:nth-child(2) { background: #3b3e2f; }.ptx-route-strip li:nth-child(3) { background: #53452c; }.ptx-route-strip span { color: #eac574; font-size: .7rem; font-weight: 760; letter-spacing: .1em; }.ptx-route-strip strong { margin: auto 0 4px; font-size: clamp(1.2rem, 2vw, 1.75rem); letter-spacing: -.035em; }.ptx-route-strip small { color: #d8d3c2; font-size: .79rem; }.ptx-nav { border-bottom: 1px solid #d9cba7; background: #fbf5e6; }.ptx-nav-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 24px; min-height: 68px; padding-block: 10px; }.ptx-nav span { margin-right: auto; color: #87612b; font-size: .7rem; font-weight: 770; letter-spacing: .12em; }.ptx-nav a { display: inline-flex; align-items: center; min-height: 42px; font-size: .82rem; font-weight: 680; text-decoration: none; }.ptx-nav a:hover { text-decoration: underline; }.ptx-heading-row { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(275px, .55fr); gap: clamp(25px, 5vw, 85px); align-items: end; margin-bottom: clamp(35px, 4.5vw, 65px); }.ptx-heading-row h2 { margin-top: 15px; }.ptx-heading-row > p { max-width: 40ch; color: var(--ptx-muted); font-size: clamp(1rem, 1.5vw, 1.12rem); }.ptx-options { background: #f8f6f1; }.ptx-option-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; }.ptx-option { grid-column: span 5; display: flex; flex-direction: column; min-width: 0; min-height: 380px; padding: clamp(25px, 3.2vw, 43px); border: 1px solid #ded8ca; border-radius: 25px; background: #fffdfa; }.ptx-option:nth-child(4) { grid-column: span 7; background: #edece5; }.ptx-option-featured { grid-column: span 7; color: #fffaf0; border-color: #335749; background: linear-gradient(145deg, #1d3b32, #2c5a4a); }.ptx-option h3 { margin: auto 0 18px; font-size: clamp(2rem, 3.6vw, 3.9rem); }.ptx-option p, .ptx-option li { max-width: 55ch; font-size: .93rem; }.ptx-option ul, .ptx-option ol { margin-top: 20px; }.ptx-option li::marker { color: #ad7d29; font-weight: 750; }.ptx-option-featured li::marker { color: #e5c978; }.ptx-option-foot { width: 100%; max-width: none !important; margin-top: 25px !important; padding-top: 17px; border-top: 1px solid currentColor; opacity: .82; }.ptx-card-label { color: #8e6521; }.ptx-option-featured .ptx-card-label { color: #f2d99b; }.ptx-pier { background: #fffefa; }.ptx-pier h2 { max-width: 15ch; margin: 16px 0 clamp(35px, 5vw, 66px); }.ptx-pier-note { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr); gap: clamp(25px, 5vw, 80px); align-items: center; min-height: 270px; padding: clamp(26px, 4vw, 55px); border-radius: 26px; color: #f8f5e9; background: #22251e; }.ptx-pier-code { min-width: 0; color: #f3d58c; font-size: clamp(1.8rem, 4.3vw, 4.8rem); font-weight: 800; line-height: 1.05; letter-spacing: -.075em; overflow-wrap: anywhere; }.ptx-pier-code span { color: #a7ae8c; padding-inline: .16em; }.ptx-pier-note h3 { margin-bottom: 14px; font-size: clamp(1.5rem, 2.4vw, 2.5rem); }.ptx-pier-note p { color: #dedfd3; }.ptx-boat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }.ptx-boat-card { display: flex; flex-direction: column; min-width: 0; min-height: 380px; padding: clamp(27px, 4vw, 57px); border-radius: 26px; }.ptx-boat-ferry { color: #fcf9ee; background: #393731; }.ptx-boat-speed { color: #302819; background: linear-gradient(130deg, #d09b33, #edcc79 56%, #f8e5ae); }.ptx-boat-ferry .ptx-card-label { color: #e7c77a; }.ptx-boat-speed .ptx-card-label { color: #634517; }.ptx-display-time { display: block; margin: 34px 0 10px; font-size: clamp(3.65rem, 6.6vw, 7.3rem); font-weight: 780; line-height: 1; letter-spacing: -.08em; overflow-wrap: anywhere; }.ptx-display-time span { display: block; font-size: .23em; font-weight: 700; line-height: 1.4; letter-spacing: -.01em; }.ptx-boat-card h3 { margin: 11px 0 14px; font-size: clamp(1.7rem, 2.6vw, 2.7rem); }.ptx-boat-card p { max-width: 57ch; margin-top: auto; font-size: .94rem; }.ptx-small-note { max-width: 85ch; margin-top: 20px !important; color: #656055; font-size: .85rem; }.ptx-small-note a { font-weight: 720; }.ptx-ticket { color: #faf8eb; background: radial-gradient(ellipse at 85% 15%, #376b55, #194536 57%, #18382e 100%); }.ptx-ticket .ptx-eyebrow { color: #edcb7c; }.ptx-ticket-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: clamp(34px, 6vw, 92px); }.ptx-ticket h2 { margin: 18px 0 30px; }.ptx-ticket-layout > div:first-child > p:not(.ptx-eyebrow) { max-width: 58ch; margin-top: 17px; color: #e5ecdf; }.ptx-ticket-panel { align-self: center; min-width: 0; padding: clamp(26px, 3.3vw, 45px); border: 1px solid #b7ba91; border-radius: 25px; background: rgb(9 35 26 / 34%); }.ptx-ticket-panel h3 { margin-bottom: 22px; font-size: clamp(1.6rem, 2.4vw, 2.4rem); }.ptx-check-list { list-style: none; padding: 0 !important; }.ptx-check-list li { position: relative; margin: 0 !important; padding: 10px 0 10px 31px; border-bottom: 1px solid rgb(232 238 223 / 18%); }.ptx-check-list li::before { content: "✓"; position: absolute; top: 10px; left: 0; color: #edca75; font-weight: 800; }.ptx-ticket-panel > p { margin-top: 20px; color: #e0e9da; font-size: .91rem; }.ptx-terms { grid-column: 1 / -1; padding: 25px 28px; border-left: 4px solid #efc56f; background: rgb(6 29 21 / 32%); }.ptx-terms strong { display: block; color: #ffe2a0; font-size: 1.03rem; }.ptx-terms p { max-width: 100ch; margin-top: 8px; color: #e5ecdf; font-size: .92rem; }.ptx-figures { background: #eeece4; }.ptx-figure-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }.ptx-figure-card { display: flex; flex-direction: column; min-width: 0; min-height: 275px; padding: clamp(22px, 2.8vw, 36px); border: 1px solid #d8d3c6; border-radius: 21px; background: #fffcf5; }.ptx-figure-card h3 { margin: auto 0 16px; font-size: clamp(2rem, 3.7vw, 4rem); line-height: 1.03; }.ptx-figure-card p { color: #555147; font-size: .9rem; }.ptx-figure-wide { grid-column: span 2; background: #e0e4d9; }.ptx-current-note { max-width: 96ch; margin-top: 20px !important; padding: 20px 24px; border-left: 4px solid #bb8b2a; background: #fffdfa; font-size: .93rem; }.ptx-current-note a { font-weight: 750; }.ptx-extra { background: #fffefa; }.ptx-extra h2 { margin: 16px 0 clamp(35px, 5vw, 65px); }.ptx-extra-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.ptx-extra-grid article { display: flex; flex-direction: column; min-width: 0; min-height: 485px; padding: clamp(27px, 4vw, 52px); border-radius: 25px; background: #e6e6df; }.ptx-extra-grid article:first-child { color: #fff9e9; background: #554432; }.ptx-extra-grid article:first-child .ptx-card-label { color: #f4dba2; }.ptx-extra-grid h3 { margin: 45px 0 21px; font-size: clamp(2.1rem, 3.5vw, 3.8rem); }.ptx-extra-grid :is(p, li) { font-size: .94rem; }.ptx-extra-grid :is(ol, ul) { margin: 17px 0; }.ptx-extra-grid li::marker { font-weight: 700; }.ptx-extra-grid p:last-child { margin-top: auto; padding-top: 20px; }.ptx-accounts { background: #f8f5e9; }.ptx-accounts h2 { max-width: 17ch; margin: 15px 0 clamp(36px, 5vw, 66px); }.ptx-account-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.ptx-account-grid article { display: flex; flex-direction: column; min-width: 0; min-height: 235px; padding: clamp(23px, 3vw, 36px); border-top: 3px solid #b68735; background: #fffcf5; }.ptx-account-grid span { color: #805e2a; font-size: .73rem; font-weight: 800; letter-spacing: .12em; }.ptx-account-grid p { margin-top: auto; font-size: .93rem; }.ptx-rules { background: #e5e9e1; }.ptx-rules-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; padding: 1px; border: 1px solid #bdcabc; border-radius: 20px; overflow: hidden; background: #bdcabc; }.ptx-rules-grid > div { min-width: 0; min-height: 195px; padding: clamp(20px, 2.2vw, 30px); background: #fafcf7; }.ptx-rules-grid strong { display: block; margin-bottom: 23px; font-size: clamp(1.16rem, 1.8vw, 1.6rem); letter-spacing: -.035em; }.ptx-rules-grid p { color: #4f594e; font-size: .87rem; }.ptx-krabi { display: grid; grid-template-columns: minmax(200px, .35fr) minmax(0, .65fr); gap: 27px; margin-top: 14px; padding: clamp(24px, 3vw, 38px); border-radius: 20px; color: #f6f7ed; background: #345748; }.ptx-krabi strong { font-size: clamp(1.5rem, 2.6vw, 2.8rem); letter-spacing: -.045em; line-height: 1.15; }.ptx-krabi p { color: #e7eee4; font-size: .94rem; }.ptx-faq { background: #fffcf4; }.ptx-faq-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(30px, 5vw, 68px); align-items: start; }.ptx-faq-group { min-width: 0; }.ptx-faq-group h3 { display: flex; align-items: baseline; gap: 14px; min-height: 66px; padding-bottom: 16px; border-bottom: 2px solid #3d4f40; font-size: clamp(1.4rem, 2.3vw, 2.25rem); }.ptx-faq-group h3 span { color: #ac7925; font-size: .77rem; letter-spacing: .08em; }.ptx-faq-item { border-bottom: 1px solid #d6d0c2; }.ptx-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 68px; padding: 17px 4px; list-style: none; cursor: pointer; font-size: .97rem; font-weight: 710; line-height: 1.4; }.ptx-faq-item summary::-webkit-details-marker { display: none; }.ptx-faq-item summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #9e8a64; border-radius: 50%; color: #73521e; font-size: 1.1rem; font-weight: 500; }.ptx-faq-item[open] summary::after { content: "−"; }.ptx-faq-answer { padding: 0 37px 23px 4px; color: #565147; font-size: .91rem; }.ptx-faq-answer p + p, .ptx-faq-answer :is(p, ul, ol) + :is(p, ul, ol) { margin-top: 11px; }.ptx-faq-answer li + li { margin-top: 5px; }.ptx-faq-answer a { color: #695019; font-weight: 720; }@media (max-width: 980px) {  .ptx-opening-grid, .ptx-heading-row, .ptx-ticket-layout { grid-template-columns: minmax(0, 1fr); }  .ptx-opening :is(h1, h2) { max-width: 16ch; }  .ptx-opening-copy { max-width: 75ch; }  .ptx-heading-row > p { max-width: 70ch; }  .ptx-figure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }  .ptx-rules-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }}@media (max-width: 720px) {  .ptx-wrap { width: min(calc(100% - 32px), 1280px); }  .ptx-opening-grid { margin-block: 42px 58px; }  .ptx-opening :is(h1, h2) { font-size: clamp(3.1rem, 10vw, 5.6rem); }  .ptx-route-strip, .ptx-pier-note, .ptx-boat-grid, .ptx-extra-grid, .ptx-account-grid, .ptx-faq-groups, .ptx-krabi { grid-template-columns: minmax(0, 1fr); }  .ptx-route-strip li { min-height: 124px; }  .ptx-option-grid { grid-template-columns: minmax(0, 1fr); }  .ptx-option, .ptx-option-featured, .ptx-option:nth-child(4) { grid-column: auto; min-height: 315px; }  .ptx-pier-note { min-height: 0; }  .ptx-boat-card { min-height: 345px; }  .ptx-display-time { font-size: clamp(3.75rem, 12vw, 6rem); }  .ptx-extra-grid article { min-height: 0; }  .ptx-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }  .ptx-rules-grid > div { min-height: 165px; }  .ptx-faq-group h3 { min-height: 0; }}@media (max-width: 500px) {  .ptx-wrap { width: min(calc(100% - 24px), 1280px); }  .ptx-section { padding-block: 72px; }  .ptx-opening { padding-block: 70px 55px; }  .ptx-opening :is(h1, h2) { font-size: clamp(2.85rem, 11vw, 4.2rem); }  .ptx :is(h1, h2) { font-size: clamp(2.45rem, 10.5vw, 4rem); }  .ptx-nav-inner { gap: 0 18px; }  .ptx-nav span { width: 100%; padding-block: 9px 4px; }  .ptx-nav a { font-size: .78rem; }  .ptx-figure-grid, .ptx-rules-grid { grid-template-columns: minmax(0, 1fr); }  .ptx-figure-wide { grid-column: auto; }  .ptx-figure-card { min-height: 225px; }  .ptx-rules-grid > div { min-height: 130px; }  .ptx-boat-card { padding: 27px; }  .ptx-display-time { font-size: clamp(3.25rem, 13vw, 4.6rem); }  .ptx-terms { padding: 22px; }}.ptx .ptx-airport-link {  display: inline-flex;  align-items: center;  align-self: flex-start;  gap: .45em;  width: fit-content;  max-width: 100%;  min-height: 44px;  margin-top: 20px;  padding: 6px 0 10px;  color: var(--link-color, #f8edd9);  font: 700 clamp(15px, 1.2vw, 17px)/1.45 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;  letter-spacing: -.01em;  text-decoration: none;  overflow-wrap: anywhere;  background-image:    linear-gradient(var(--line-hover, #f1bd60), var(--line-hover, #f1bd60)),    linear-gradient(var(--line-base, #afc7b7), var(--line-base, #afc7b7));  background-position: left bottom, left bottom;  background-repeat: no-repeat;  background-size: 0% 2px, 100% 1px;  transition: color .25s ease, background-size .4s cubic-bezier(.22, 1, .36, 1);}.ptx .ptx-airport-link:is(:hover, :focus-visible) {  color: var(--link-hover, #ffe3a2);  background-size: 100% 2px, 100% 1px;}.ptx .ptx-airport-link:focus-visible {  outline: 2px solid var(--link-hover, #ffe3a2);  outline-offset: 5px;}@media (prefers-reduced-motion: reduce) {  .ptx .ptx-airport-link { transition: none; }}.ptx .ptx-nav {  --nav-border: #ddd3c1;  width: 100%;  min-width: 0;  border-block: 1px solid #dfd1b7;  background: linear-gradient(105deg, #f2e6ca, #f9f6ef 46%, #fffdf8);}.ptx .ptx-nav-inner {  display: grid;  grid-template-columns: minmax(255px, 1.35fr) minmax(0, 4.65fr);  align-items: stretch;  min-width: 0;  padding-block: 0;}.ptx .ptx-nav-path {  display: flex;  flex-wrap: wrap;  align-content: center;  align-items: center;  gap: 5px 9px;  min-width: 0;  padding: 15px 20px 15px 0;  font-size: .78rem;  line-height: 1.4;}.ptx .ptx-nav-path > a {  display: inline;  min-height: 0;  color: #725423;  font-size: inherit;  font-weight: 720;  text-decoration: underline;  text-decoration-color: #c5a671;  text-underline-offset: 4px;}.ptx .ptx-nav-path > a:is(:hover, :focus-visible) {  color: #153e32;  text-decoration-color: currentColor;}.ptx .ptx-nav-path > a:focus-visible {  outline: 2px solid #916421;  outline-offset: 4px;}.ptx .ptx-nav-path > span {  width: auto;  margin: 0;  padding: 0;  color: #22392f;  font-size: inherit;  font-weight: 650;  letter-spacing: 0;  text-transform: none;}.ptx .ptx-nav-path > .ptx-nav-divider { color: #9c8156; }.ptx .ptx-nav-links {  display: grid;  grid-template-columns: repeat(5, minmax(0, 1fr));  min-width: 0;  counter-reset: ptx-nav-step;}.ptx .ptx-nav-links > a {  position: relative;  display: flex;  flex-direction: column;  align-items: flex-start;  justify-content: center;  gap: 4px;  min-width: 0;  min-height: 88px;  padding: 14px clamp(10px, 1.3vw, 20px);  border-left: 1px solid var(--nav-border);  color: #22392f;  background: transparent;  font-size: clamp(.77rem, .94vw, .9rem);  font-weight: 720;  line-height: 1.32;  letter-spacing: -.01em;  text-decoration: none;  overflow-wrap: anywhere;  counter-increment: ptx-nav-step;}.ptx .ptx-nav-links > a::before {  content: counter(ptx-nav-step, decimal-leading-zero) " /";  color: #916421;  font-size: .66rem;  font-weight: 820;  line-height: 1.2;  letter-spacing: .11em;}.ptx .ptx-nav-links > a::after {  content: "";  position: absolute;  right: 0;  bottom: 0;  left: 0;  height: 3px;  background: linear-gradient(90deg, #9d7029, #dab256, #f1d991);  transform: scaleX(0);  transform-origin: left;  transition: transform .23s ease;}.ptx .ptx-nav-links > a:is(:hover, :focus-visible) {  color: #153e32;  background: #f5eddc;  text-decoration: none;}.ptx .ptx-nav-links > a:is(:hover, :focus-visible)::after { transform: scaleX(1); }.ptx .ptx-nav-links > a:focus-visible { outline: 2px solid #9c722b; outline-offset: -4px; }@media (max-width: 1100px) {  .ptx .ptx-nav-inner { grid-template-columns: minmax(0, 1fr); }  .ptx .ptx-nav-path { padding: 13px 0; }  .ptx .ptx-nav-links { border-top: 1px solid var(--nav-border); }  .ptx .ptx-nav-links > a { min-height: 70px; }  .ptx .ptx-nav-links > a:first-child { border-left: 0; }}@media (max-width: 700px) {  .ptx .ptx-nav-links {    grid-template-columns: repeat(2, minmax(0, 1fr));    gap: 8px;    padding-block: 12px 16px;  }  .ptx .ptx-nav-links > a,  .ptx .ptx-nav-links > a:first-child {    min-height: 72px;    padding: 12px 14px 16px;    border: 1px solid var(--nav-border);    border-radius: 12px;    background: #fffdf8;  }  .ptx .ptx-nav-links > a:last-child { grid-column: 1 / -1; }  .ptx .ptx-nav-links > a::after { right: 12px; bottom: 7px; left: 12px; height: 2px; }  .ptx .ptx-nav-links > a:is(:hover, :focus-visible) { background: #f5eddc; }}@media (prefers-reduced-motion: reduce) {  .ptx .ptx-nav-links > a::after { transition: none; }}