@font-face{font-family:"Josefin Sans";font-style:normal;font-weight:300 700;font-display:swap;src:url(/larch/fonts/josefin-sans-normal-300-700-latin-ext.e9dfe6f628.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Josefin Sans";font-style:normal;font-weight:300 700;font-display:swap;src:url(/larch/fonts/josefin-sans-normal-300-700-latin.21efe1559a.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Merriweather Sans";font-style:italic;font-weight:300 800;font-display:swap;src:url(/larch/fonts/merriweather-sans-italic-300-800-latin-ext.ebf9c598ed.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Merriweather Sans";font-style:italic;font-weight:300 800;font-display:swap;src:url(/larch/fonts/merriweather-sans-italic-300-800-latin.b60ec360a0.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Merriweather Sans";font-style:normal;font-weight:300 800;font-display:swap;src:url(/larch/fonts/merriweather-sans-normal-300-800-latin-ext.10442e0b56.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Merriweather Sans";font-style:normal;font-weight:300 800;font-display:swap;src:url(/larch/fonts/merriweather-sans-normal-300-800-latin.27466288bb.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root {
  --bg: #F4F7F5; --surface: #FFFFFF; --frost: #E8F0ED; --ink: #13201B; --muted: #4B5B54; --line: #D2DDD8;
  --pine: #1D5A42; --pine-h: #154533; --moss: #2B7656; --glacier: #4F8FA3; --sand: #B98A2E; --berry: #A84A36;
  --dark: #0F1F1A; --dark-ink: #E9F1ED; --dark-muted: #A9BBB3; --dark-link: #9FD3C0;
  --link: #1D5A42;
  --glass: rgba(247, 251, 249, .86); --glass-ink: #13201B; --glass-muted: #46564F; --glass-line: rgba(255, 255, 255, .75);
  --shadow: 0 22px 60px -34px rgba(16, 40, 31, .55);
  --fd: "Josefin Sans", "Avenir Next", "Century Gothic", system-ui, sans-serif;
  --fb: "Merriweather Sans", "Segoe UI", system-ui, sans-serif;
  color-scheme: light;
}
:root[data-theme="dark"] {
  --bg: #0B1512; --surface: #12201B; --frost: #0F1B17; --ink: #E5EEEA; --muted: #A2B3AB; --line: #24372F;
  --pine: #237553; --pine-h: #2A8660; --moss: #7CC7A6; --glacier: #8CC3D3; --sand: #D9B15E; --berry: #E08C74;
  --dark: #070F0C; --dark-ink: #E5EEEA; --dark-muted: #9DB0A7; --dark-link: #9FD3C0;
  --link: #7CC7A6;
  --glass: rgba(14, 28, 23, .84); --glass-ink: #E8F0EC; --glass-muted: #A9BAB2; --glass-line: rgba(255, 255, 255, .16);
  --shadow: 0 22px 60px -34px rgba(0, 0, 0, .9);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0B1512; --surface: #12201B; --frost: #0F1B17; --ink: #E5EEEA; --muted: #A2B3AB; --line: #24372F;
    --pine: #237553; --pine-h: #2A8660; --moss: #7CC7A6; --glacier: #8CC3D3; --sand: #D9B15E; --berry: #E08C74;
    --dark: #070F0C; --dark-ink: #E5EEEA; --dark-muted: #9DB0A7; --dark-link: #9FD3C0;
    --link: #7CC7A6;
  --glass: rgba(14, 28, 23, .84); --glass-ink: #E8F0EC; --glass-muted: #A9BAB2; --glass-line: rgba(255, 255, 255, .16);
    --shadow: 0 22px 60px -34px rgba(0, 0, 0, .9);
    color-scheme: dark;
  }
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 1rem/1.72 var(--fb); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--link); text-underline-offset: 3px; }
h1, h2, h3 { font-family: var(--fd); line-height: 1.12; margin: 0; letter-spacing: .01em; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--glacier); outline-offset: 2px; }
.pnr-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pnr-skip { position: absolute; left: 12px; top: -60px; z-index: 50; background: var(--surface); color: var(--ink); padding: 10px 16px; border-radius: 10px; }
.pnr-skip:focus { top: 12px; }
.pnr-i { width: 1em; height: 1em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.12em; }
.pnr-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.pnr-js .pnr-nojs { display: none; }
html:not(.pnr-js) .pnr-jsonly { display: none !important; }
.pnr-head { position: absolute; top: 0; left: 0; right: 0; z-index: 30; color: #fff; }
.pnr-head__in { max-width: 1320px; margin: 0 auto; padding: 18px 24px; display: flex; align-items: center; gap: 16px; }
.pnr-logo { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; margin-right: auto; text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }
.pnr-mark { width: 34px; height: 34px; flex: none; }
.pnr-mark__m { fill: #fff; }
.pnr-mark__s { fill: #8FC3D2; }
.pnr-logo__t { display: flex; flex-direction: column; line-height: 1.05; }
.pnr-logo__a { font: 600 1.18rem/1 var(--fd); letter-spacing: .3em; text-transform: uppercase; }
.pnr-logo__b { font: 300 .78rem/1.3 var(--fd); letter-spacing: .14em; margin-top: 4px; }
.pnr-nav { display: flex; align-items: center; gap: 4px; padding: 5px 6px 5px 14px; border-radius: 999px; background: rgba(9, 24, 19, .42); border: 1px solid rgba(255, 255, 255, .26); backdrop-filter: blur(12px) saturate(1.2); -webkit-backdrop-filter: blur(12px) saturate(1.2); }
.pnr-nav ul { display: flex; list-style: none; margin: 0; padding: 0; gap: 2px; }
.pnr-nav a { display: block; color: #fff; text-decoration: none; font: 600 .74rem/1 var(--fd); letter-spacing: .12em; text-transform: uppercase; padding: 10px 11px; border-radius: 999px; }
.pnr-nav a:hover, .pnr-nav a[aria-current="page"] { background: rgba(255, 255, 255, .16); }
.pnr-theme { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; color: #fff; font: 600 .72rem/1 var(--fd); letter-spacing: .12em; text-transform: uppercase; padding: 9px 11px; border-radius: 999px; cursor: pointer; }
.pnr-theme:hover { background: rgba(255, 255, 255, .16); }
.pnr-theme .pnr-i { width: 1.15em; height: 1.15em; }
.pnr-cta { display: inline-flex; align-items: center; gap: 8px; }
.pnr-ad { display: inline-block; font: 700 .66rem/1 var(--fd); letter-spacing: .14em; text-transform: uppercase; padding: 4px 6px 3px; border: 1px solid currentColor; border-radius: 6px; opacity: .9; }
.pnr-paid { display: inline-flex; align-items: center; gap: 8px; background: var(--pine); color: #fff !important; text-decoration: none; font: 700 .82rem/1 var(--fd); letter-spacing: .12em; text-transform: uppercase; padding: 13px 20px 12px; border-radius: 999px; box-shadow: 0 10px 26px -12px rgba(16, 70, 50, .8), inset 0 0 0 1px rgba(255, 255, 255, .18); white-space: nowrap; }
.pnr-paid:hover { background: var(--pine-h); }
.pnr-paid--lg { font-size: 1rem; padding: 18px 30px 17px; }
.pnr-onl { display: inline-flex; align-items: center; gap: 6px; color: #fff !important; text-decoration: none; font: 600 .78rem/1 var(--fd); letter-spacing: .12em; text-transform: uppercase; padding: 12px 16px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .45); background: rgba(9, 24, 19, .3); }
.pnr-burger { display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .4); background: rgba(9, 24, 19, .42); color: #fff; cursor: pointer; align-items: center; justify-content: center; }
.pnr-burger .pnr-i { width: 20px; height: 20px; }
.pnr-hero { position: relative; min-height: 100svh; display: flex; color: #fff; overflow: hidden; background: #2b4a5c; }
.pnr-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; }
.pnr-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 24, 38, .58) 0%, rgba(6, 24, 38, .34) 38%, rgba(6, 24, 38, .16) 62%, rgba(7, 20, 15, .5) 100%); }
.pnr-hero__in { position: relative; z-index: 1; width: 100%; max-width: 1320px; margin: 0 auto; padding: 132px 24px 30px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; }
.pnr-hero__t { text-align: center; max-width: 980px; margin: 0 auto; text-shadow: 0 2px 22px rgba(0, 20, 30, .45); }
.pnr-kick { font: 600 .78rem/1.3 var(--fd); letter-spacing: .28em; text-transform: uppercase; margin: 0 0 18px; }
.pnr-hero h1 { font-size: clamp(2.4rem, 5.2vw, 4.7rem); font-weight: 300; text-transform: uppercase; letter-spacing: .06em; line-height: 1.02; }
.pnr-lede { font-size: 1.06rem; line-height: 1.7; max-width: 680px; margin: 22px auto 14px; }
.pnr-by { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; font-size: .82rem; margin: 0; }
.pnr-by a { color: inherit; }
.pnr-by span { display: inline-flex; align-items: center; gap: 6px; }
.pnr-hero .pnr-by { opacity: .92; }
.pnr-dock { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pnr-glass { background: var(--glass); color: var(--glass-ink); border: 1px solid var(--glass-line); border-radius: 20px; padding: 16px 18px 14px; backdrop-filter: blur(14px) saturate(1.25); -webkit-backdrop-filter: blur(14px) saturate(1.25); box-shadow: 0 16px 40px -26px rgba(0, 0, 0, .6); }
.pnr-glass p { margin: 0; }
.pnr-glass__k { font: 600 .7rem/1.3 var(--fd); letter-spacing: .18em; text-transform: uppercase; color: var(--glass-muted); }
.pnr-glass__v { font: 700 1.3rem/1.25 var(--fb); margin: 6px 0 2px !important; }
.pnr-glass__s { font-size: .82rem; color: var(--glass-muted); }
.pnr-glass--now .pnr-glass__v { display: flex; align-items: center; gap: 10px; }
.pnr-dot { width: 11px; height: 11px; border-radius: 50%; flex: none; background: #8a9a93; box-shadow: 0 0 0 4px rgba(138, 154, 147, .25); }
.pnr-dot--on { background: #2fa36f; box-shadow: 0 0 0 4px rgba(47, 163, 111, .25); }
.pnr-adtop { background: var(--surface); border-bottom: 1px solid var(--line); }
.pnr-adtop__in { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; padding-top: 26px; padding-bottom: 26px; }
.pnr-adtop__h, .pnr-endad__h { font: 700 1rem/1.3 var(--fd); letter-spacing: .14em; text-transform: uppercase; display: flex; align-items: center; gap: 10px; margin: 0 0 6px; }
.pnr-adtop p { margin: 0 0 8px; color: var(--muted); font-size: .92rem; }
.pnr-rg { display: flex; gap: 12px; align-items: flex-start; font-size: .84rem; color: var(--muted); margin: 10px 0 0 !important; }
.pnr-age { flex: none; display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--pine); color: var(--pine); font: 700 .86rem/1 var(--fd); }
:root[data-theme="dark"] .pnr-age { border-color: var(--moss); color: var(--moss); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .pnr-age { border-color: var(--moss); color: var(--moss); } }
.pnr-sec { padding: 74px 0; position: relative; }
.pnr-sec--first { padding-top: 64px; }
.pnr-sec--frost { background: var(--frost); }
.pnr-sec--pine { background: var(--dark); color: var(--dark-ink); }
.pnr-sec--pine a { color: var(--dark-link); }
.pnr-sec--pine .pnr-k { color: var(--dark-link); }
.pnr-sec--pine .pnr-fig figcaption { color: var(--dark-muted); }
.pnr-sec--rel { padding: 64px 0 120px; }
.pnr-h { margin-bottom: 26px; }
.pnr-k { font: 600 .76rem/1.3 var(--fd); letter-spacing: .24em; text-transform: uppercase; color: var(--moss); margin: 0 0 12px; }
.pnr-h h2 { font-size: clamp(1.85rem, 3.4vw, 2.75rem); font-weight: 600; }
.pnr-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.pnr-split--wide { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
.pnr-split--fig { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); align-items: center; }
.pnr-split--end { align-items: center; }
.pnr-text p, .pnr-split p { max-width: 68ch; }
.pnr-text--golf { margin-top: 26px; }
.pnr-text--golf h3 { font-size: 1.35rem; margin-bottom: 10px; }
.pnr-cols { columns: 2 320px; column-gap: 48px; }
.pnr-cols p { break-inside: avoid; }
.pnr-list { list-style: none; margin: 0 0 1em; padding: 0; display: grid; gap: 12px; }
.pnr-list li { position: relative; padding-left: 26px; }
.pnr-list li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 10px; height: 10px; border-radius: 50%; background: var(--moss); }
.pnr-list--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pnr-list--cards li { background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 18px; padding: 20px 20px 20px 46px; }
.pnr-list--cards li::before { left: 20px; top: 1.75em; }
.pnr-sec--pine .pnr-list--cards li a { color: var(--pine); }
.pnr-more { margin: 18px 0 0; }
.pnr-more a { display: inline-flex; align-items: center; gap: 8px; font: 700 .8rem/1 var(--fd); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: 6px; }
.pnr-fig { margin: 0; }
.pnr-fig img { width: 100%; border-radius: 24px; box-shadow: var(--shadow); }
.pnr-fig figcaption { font-size: .76rem; color: var(--muted); margin-top: 10px; letter-spacing: .02em; }
.pnr-fig--tall { max-width: 420px; }
.pnr-season { margin: 26px 0 0; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .16); border-radius: 18px; padding: 16px; }
.pnr-season__r { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4px; margin-bottom: 12px; }
.pnr-season__r span { text-align: center; font: 700 .74rem/1 var(--fb); padding: 10px 0 8px; border-radius: 8px; background: rgba(255, 255, 255, .08); color: var(--dark-muted); }
.pnr-season__r .pnr-on { background: #2b8a62; color: #fff; }
.pnr-season p { margin: 4px 0 0; font-size: .88rem; }
.pnr-sec:not(.pnr-sec--pine) .pnr-season { background: var(--surface); border-color: var(--line); }
.pnr-sec:not(.pnr-sec--pine) .pnr-season__r span { background: var(--frost); color: var(--muted); }
.pnr-sec:not(.pnr-sec--pine) .pnr-season__r .pnr-on { background: var(--pine); color: #fff; }
.pnr-tool { background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 26px; padding: 26px; box-shadow: var(--shadow); }
.pnr-tool a { color: var(--link); }
.pnr-tool__h { margin-bottom: 18px; }
.pnr-tool__k { font: 600 .72rem/1.3 var(--fd); letter-spacing: .2em; text-transform: uppercase; color: var(--moss); margin: 0 0 6px; }
.pnr-tool h3 { font-size: 1.45rem; font-weight: 600; }
.pnr-tool__f { font-size: .82rem; color: var(--muted); margin: 14px 0 0; }
.pnr-days { border: 0; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pnr-days label, .pnr-meals label { position: relative; cursor: pointer; }
.pnr-days input, .pnr-meals input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.pnr-days span { display: block; font: 700 .76rem/1 var(--fd); letter-spacing: .12em; text-transform: uppercase; padding: 10px 11px 9px; border-radius: 999px; border: 1px solid var(--line); }
.pnr-days input:checked + span { background: var(--pine); border-color: var(--pine); color: #fff; }
.pnr-days input:focus-visible + span, .pnr-meals input:focus-visible + span { outline: 3px solid var(--glacier); outline-offset: 2px; }
.pnr-slide { display: grid; grid-template-columns: auto minmax(0, 1fr) 5.4em auto; gap: 12px; align-items: center; margin-bottom: 18px; }
.pnr-slide label { font: 600 .74rem/1 var(--fd); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.pnr-slide output { font: 700 1rem/1 var(--fb); text-align: right; }
.pnr-range { width: 100%; accent-color: var(--pine); }
.pnr-now { font: 700 .74rem/1 var(--fd); letter-spacing: .12em; text-transform: uppercase; background: none; border: 1px solid var(--line); color: var(--ink); padding: 9px 12px 8px; border-radius: 999px; cursor: pointer; }
.pnr-liftwrap { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 22px; align-items: center; }
.pnr-lift { width: 100%; max-width: 230px; height: auto; }
.pnr-lift__track { fill: var(--frost); }
.pnr-lift__grid { stroke: var(--line); stroke-width: 1; stroke-dasharray: 2 3; }
.pnr-lift__l { font: 600 9px/1 var(--fd); fill: var(--muted); letter-spacing: .06em; text-transform: uppercase; }
.pnr-lift__seg--0 rect { fill: var(--pine); } .pnr-lift__seg--1 rect { fill: var(--glacier); } .pnr-lift__seg--2 rect { fill: var(--sand); } .pnr-lift__seg--3 rect { fill: var(--berry); }
.pnr-lift__now { stroke: var(--ink); stroke-width: 2; }
.pnr-res { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pnr-res li { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; }
.pnr-res b { font: 600 .98rem/1.25 var(--fd); }
.pnr-res small { grid-column: 2 / 4; color: var(--muted); font-size: .8rem; line-height: 1.4; }
.pnr-sw { width: 12px; height: 12px; border-radius: 50%; }
.pnr-sw--0 { background: var(--pine); } .pnr-sw--1 { background: var(--glacier); } .pnr-sw--2 { background: var(--sand); } .pnr-sw--3 { background: var(--berry); }
.pnr-st { font: 700 .68rem/1 var(--fd); letter-spacing: .14em; text-transform: uppercase; padding: 6px 9px 5px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); white-space: nowrap; }
.pnr-st--ok { background: var(--pine); border-color: var(--pine); color: #fff; }
.pnr-st--ask { background: transparent; border-color: var(--sand); color: var(--ink); }
.pnr-sum { font-size: .86rem; color: var(--muted); margin: 16px 0 0; }
.pnr-meals { border: 0; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.pnr-meals span { display: flex; flex-direction: column; gap: 4px; padding: 12px 10px; border-radius: 16px; border: 1px solid var(--line); text-align: center; }
.pnr-meals b { font: 700 .82rem/1 var(--fd); letter-spacing: .1em; text-transform: uppercase; }
.pnr-meals small { font-size: .74rem; color: var(--muted); }
.pnr-meals input:checked + span { background: var(--pine); border-color: var(--pine); color: #fff; }
.pnr-meals input:checked + span small { color: rgba(255, 255, 255, .85); }
.pnr-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pnr-cards li { border: 1px solid var(--line); border-radius: 16px; padding: 14px 16px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; background: var(--bg); }
.pnr-cards b { font: 600 1rem/1.25 var(--fd); }
.pnr-cards small { grid-column: 1 / 3; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.pnr-cards .pnr-off { opacity: .66; }
.pnr-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.pnr-form label { display: grid; gap: 6px; font: 600 .74rem/1 var(--fd); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.pnr-form input[type="date"], .pnr-form select, .pnr-pick select { font: 400 1rem/1.2 var(--fb); color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: 12px; padding: 11px 12px; width: 100%; min-width: 0; }
.pnr-form .pnr-chk { display: flex; align-items: center; gap: 10px; text-transform: none; letter-spacing: 0; font: 400 .92rem/1.3 var(--fb); color: var(--ink); }
.pnr-chk input { width: 20px; height: 20px; accent-color: var(--pine); }
.pnr-steps { list-style: none; margin: 0; padding: 0 0 0 24px; position: relative; display: grid; gap: 14px; }
.pnr-steps::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; border-left: 2px dashed var(--line); }
.pnr-steps li { position: relative; }
.pnr-steps li::before { content: ""; position: absolute; left: -23px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: var(--surface); border: 3px solid var(--pine); }
.pnr-steps b { display: block; font: 700 .9rem/1.3 var(--fd); letter-spacing: .06em; text-transform: uppercase; }
.pnr-steps p { margin: 4px 0 0; font-size: .9rem; color: var(--muted); }
.pnr-pick { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.pnr-pick label { font: 600 .74rem/1 var(--fd); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.pnr-pick select { width: auto; flex: 1; }
.pnr-out { margin: 0 0 16px; font-size: .95rem; min-height: 3.2em; }
.pnr-lad--wide { margin-top: 28px; }
.pnr-lad--wide .pnr-lad__top { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 24px; align-items: start; }
.pnr-lad--wide .pnr-lad__l { display: block; columns: 2; column-gap: 32px; }
.pnr-lad--wide .pnr-lad__l li { break-inside: avoid; margin-bottom: 4px; }
.pnr-split .pnr-fig { margin-top: 24px; }
.pnr-lad__l { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.pnr-lad__l a { display: grid; grid-template-columns: 9.5em minmax(0, 1fr) 4.6em; gap: 10px; align-items: center; text-decoration: none; color: var(--ink) !important; padding: 5px 6px; border-radius: 10px; }
.pnr-lad__l a:hover { background: var(--frost); }
.pnr-lad__n { font: 600 .9rem/1.2 var(--fd); }
.pnr-lad__n small { font-size: .66rem; color: var(--muted); margin-left: 6px; letter-spacing: .1em; }
.pnr-lad__b { height: 8px; border-radius: 99px; background: var(--frost); position: relative; overflow: hidden; }
.pnr-lad__b::before { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--glacier); border-radius: 99px; }
.pnr-lad__km { font: 700 .84rem/1 var(--fb); text-align: right; }
.pnr-lad__l .pnr-sel a { background: var(--frost); }
.pnr-lad__l .pnr-sel .pnr-lad__b::before { background: var(--pine); }
.pnr-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.pnr-table caption { caption-side: bottom; text-align: left; font-size: .8rem; color: var(--muted); padding-top: 10px; }
.pnr-table th, .pnr-table td { text-align: left; vertical-align: top; padding: 9px 10px; border-bottom: 1px solid var(--line); }
.pnr-table thead th { font: 700 .72rem/1.2 var(--fd); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.pnr-table tbody th { font-family: var(--fd); font-weight: 600; }
.pnr-scroll { overflow-x: auto; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 10px 14px; }
.pnr-table--week { min-width: 720px; }
.pnr-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pnr-faq__i { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 20px 22px; }
.pnr-faq h3 { font-size: 1.12rem; font-weight: 600; margin-bottom: 8px; }
.pnr-faq p { margin: 0; color: var(--muted); }
.pnr-endad { background: var(--surface); border: 2px solid var(--pine); border-radius: 26px; padding: 28px; box-shadow: var(--shadow); }
.pnr-endad p { font-size: .92rem; color: var(--muted); }
.pnr-endad .pnr-paid { margin: 4px 0 16px; }
.pnr-band { position: relative; min-height: 440px; display: flex; align-items: flex-end; overflow: hidden; background: #2b4a5c; }
.pnr-band__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.pnr-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 24, 38, .55) 0%, rgba(6, 24, 38, .1) 45%, rgba(7, 20, 15, .35) 100%); }
.pnr-band .pnr-wrap { position: relative; z-index: 1; padding-top: 120px; padding-bottom: 34px; }
.pnr-band__card { background: var(--glass); color: var(--glass-ink); border: 1px solid var(--glass-line); border-radius: 26px; padding: 26px 30px; max-width: 760px; backdrop-filter: blur(14px) saturate(1.25); -webkit-backdrop-filter: blur(14px) saturate(1.25); box-shadow: 0 24px 60px -30px rgba(0, 0, 0, .6); }
.pnr-band__card h1 { font-size: clamp(2rem, 4.4vw, 3.2rem); font-weight: 600; }
.pnr-band__card .pnr-kick { color: var(--moss); margin-bottom: 12px; }
.pnr-band__card .pnr-lede { margin: 14px 0 12px; max-width: none; font-size: 1rem; }
.pnr-band__card .pnr-by { justify-content: flex-start; color: var(--glass-muted); }
.pnr-back { display: inline-flex; align-items: center; gap: 6px; font: 700 .72rem/1 var(--fd); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; margin-bottom: 14px; }
.pnr-relh { font-size: 1.5rem; font-weight: 600; margin-bottom: 18px; }
.pnr-rel { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.pnr-rel a { display: flex; flex-direction: column; gap: 8px; height: 100%; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 20px; text-decoration: none; color: var(--ink) !important; font: 600 1.08rem/1.3 var(--fd); }
.pnr-rel a small { font: 400 .84rem/1.5 var(--fb); color: var(--muted); }
.pnr-rel a span { font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: var(--moss); }
.pnr-rel a .pnr-i { margin-top: auto; color: var(--moss); }
.pnr-rel a:hover { border-color: var(--moss); }
.pnr-hold { padding-top: 90px; }
.pnr-hold h1 { font-size: 2.4rem; margin-bottom: 12px; }
.pnr-foot { position: relative; background: var(--dark); color: var(--dark-ink); padding: 40px 0 34px; margin-top: 70px; font-size: .9rem; }
.pnr-ridge { position: absolute; left: 0; right: 0; top: -79px; width: 100%; height: 80px; fill: var(--dark); }
.pnr-foot a { color: var(--dark-link); }
.pnr-foot__g { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
.pnr-foot h2 { font: 700 .76rem/1.3 var(--fd); letter-spacing: .2em; text-transform: uppercase; color: var(--dark-muted); margin-bottom: 14px; }
.pnr-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pnr-foot p { color: var(--dark-muted); }
.pnr-foot__name { display: flex; align-items: center; gap: 10px; font: 600 1.05rem/1.2 var(--fd); letter-spacing: .14em; text-transform: uppercase; color: var(--dark-ink) !important; }
.pnr-foot__s { font-size: .8rem; margin-top: 10px; }
.pnr-foot__fine { border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 34px; padding-top: 22px; font-size: .8rem; }
.pnr-foot__fine p { display: block; margin: 0 0 8px; }
@media (max-width: 1120px) {
  .pnr-nav a { padding: 10px 8px; letter-spacing: .08em; }
  .pnr-theme__l { display: none; }
}
@media (max-width: 980px) {
  .pnr-head__in { padding: 12px 16px; gap: 10px; }
  .pnr-burger { display: inline-flex; }
  .pnr-logo__b { display: none; }
  .pnr-logo__a { font-size: 1rem; letter-spacing: .22em; }
  .pnr-mark { width: 28px; height: 28px; }
  .pnr-cta { order: 2; }
  .pnr-burger { order: 3; }
  .pnr-paid { padding: 11px 14px 10px; font-size: .74rem; letter-spacing: .1em; }
  .pnr-paid.pnr-paid--lg { padding: 16px 24px 15px; font-size: .92rem; }
  .pnr-onl { padding: 10px 12px; font-size: .7rem; }
  .pnr-nav { display: none; position: absolute; top: 100%; left: 12px; right: 12px; flex-direction: column; align-items: stretch; border-radius: 22px; padding: 12px; background: rgba(9, 24, 19, .94); }
  .pnr-head.pnr-open .pnr-nav { display: flex; }
  .pnr-nav ul { flex-direction: column; }
  .pnr-nav a { padding: 14px 12px; font-size: .86rem; }
  .pnr-theme { padding: 14px 12px; justify-content: flex-start; }
  .pnr-theme__l { display: inline; }
  .pnr-dock { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pnr-split, .pnr-split--wide, .pnr-split--fig { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .pnr-fig--tall { max-width: 440px; }
  .pnr-foot__g { grid-template-columns: minmax(0, 1fr); gap: 26px; }
}
@media (max-width: 640px) {
  .pnr-wrap { padding-left: 16px; padding-right: 16px; }
  .pnr-sec { padding: 46px 0; }
  .pnr-hero { min-height: auto; }
  .pnr-hero__in { padding: 104px 16px 18px; gap: 28px; }
  .pnr-hero h1 { font-size: 2.35rem; letter-spacing: .04em; }
  .pnr-lede { font-size: .98rem; }
  .pnr-glass { padding: 12px 13px; border-radius: 16px; }
  .pnr-glass__v { font-size: 1.12rem; }
  .pnr-glass__k { font-size: .62rem; letter-spacing: .12em; }
  .pnr-glass__s { font-size: .74rem; }
  .pnr-adtop__in { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pnr-adtop .pnr-paid { justify-self: start; }
  .pnr-logo__a { font-size: .9rem; letter-spacing: .16em; }
  .pnr-logo { gap: 7px; }
  .pnr-ad { font-size: .6rem; padding: 3px 4px 2px; }
  .pnr-list--cards { grid-template-columns: minmax(0, 1fr); }
  .pnr-faq { grid-template-columns: minmax(0, 1fr); }
  .pnr-lad--wide .pnr-lad__top { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .pnr-lad--wide .pnr-lad__l { columns: 1; }
  .pnr-tool { padding: 18px; border-radius: 20px; }
  .pnr-slide { grid-template-columns: minmax(0, 1fr) auto auto; }
  .pnr-slide label { grid-column: 1 / 4; }
  .pnr-slide .pnr-range { grid-column: 1 / 4; }
  .pnr-liftwrap { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .pnr-res { width: 100%; }
  .pnr-meals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pnr-form { grid-template-columns: minmax(0, 1fr); }
  .pnr-lad__l a { grid-template-columns: 7.4em minmax(0, 1fr) 4.2em; gap: 8px; }
  .pnr-band { min-height: 380px; }
  .pnr-band .pnr-wrap { padding-top: 96px; padding-bottom: 20px; }
  .pnr-band__card { padding: 20px; border-radius: 20px; }
  .pnr-cols { columns: 1; }
}
@media (max-width: 380px) {
  .pnr-logo__a { letter-spacing: .1em; }
  .pnr-cta .pnr-paid { padding: 10px 11px 9px; font-size: .68rem; letter-spacing: .06em; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; animation: none !important; }
}
@media (max-width: 980px) {
  html:not(.pnr-js) .pnr-head__in { flex-wrap: wrap; }
  html:not(.pnr-js) .pnr-burger { display: none; }
  html:not(.pnr-js) .pnr-nav { display: flex; position: static; order: 4; width: 100%; }
}
