/* vanilla base reset (no framework) */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--q377e76f-font, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif); line-height: 1.5; color: var(--q377e76f-ink, #111); background: var(--q377e76f-bg, #fff); }
h1, h2, h3, h4, h5, h6 { font-family: var(--q377e76f-font-display, var(--q377e76f-font, system-ui, sans-serif)); }
img, svg, video, canvas { max-width: 100%; height: auto; }
a { color: inherit; }
*:focus-visible { outline: 2px solid var(--q377e76f-primary, #2563eb); outline-offset: 2px; }
/* visibility shim for framework toggles */
.hidden { display: none !important; }

/* design tokens */
:root {
  --q377e76f-primary: #1A1B21;
  --q377e76f-secondary: #3F424D;
  --q377e76f-accent: #FF5A36;
  --q377e76f-ink: #1A1B21;
  --q377e76f-slate: #63656F;
  --q377e76f-mist: #E6E8EC;
  --q377e76f-border: #E3E1DC;
  --q377e76f-surface: #F5F4F1;
  --q377e76f-bg: #FFFFFF;
  --q377e76f-text: #1F2128;
  --q377e76f-font: 'Segoe UI', Candara, 'Gill Sans', 'Trebuchet MS', sans-serif;
  --q377e76f-font-display: 'Optima', 'Segoe UI', Candara, 'Gill Sans', 'Gill Sans MT', sans-serif;
}

/* state utilities */
.is-open { display: block !important; }
.is-active { display: block !important; }
[hidden] { display: none !important; }

/* framework-injected components (vanilla) */
[data-q377e76f-ui="cookie-banner"] { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9999; margin: 0 auto; max-width: 56rem; border: 1px solid var(--q377e76f-border, #e5e7eb); background: var(--q377e76f-surface, #fff); border-radius: 1rem; padding: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
[data-q377e76f-ui="cookie-banner"] > div { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-start; justify-content: space-between; }
[data-q377e76f-ui="cookie-banner"] > div > div:last-child { display: flex; flex-wrap: wrap; gap: .5rem; }
[data-q377e76f-ui="cookie-banner"] a { text-decoration: underline; }
[data-q377e76f-cs-action], [data-q377e76f-ag-action] { cursor: pointer; border-radius: .5rem; padding: .5rem .9rem; font-size: .8rem; border: 1px solid var(--q377e76f-border, #d1d5db); background: transparent; color: var(--q377e76f-ink, #111); }
[data-q377e76f-cs-action="accept-all"], [data-q377e76f-cs-action="save"], [data-q377e76f-ag-action="confirm"] { background: var(--q377e76f-primary, #2563eb); color: #fff; border-color: transparent; font-weight: 600; }
[data-q377e76f-cs-action="reject-all"] { background: var(--q377e76f-ink, #111); color: #fff; border-color: transparent; font-weight: 600; }
[data-q377e76f-cs-panel] { margin-top: 1rem; border: 1px solid var(--q377e76f-border, #e5e7eb); background: var(--q377e76f-surface, #fff); border-radius: .75rem; padding: 1rem; font-size: .875rem; }
[data-q377e76f-cs-panel] > div { display: flex; flex-wrap: wrap; gap: .75rem; }
[data-q377e76f-ui="cookie-banner"] label { display: inline-flex; align-items: center; gap: .5rem; }
[data-q377e76f-ui="age-gate-overlay"] { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.8); }
[data-q377e76f-ui="age-gate-overlay"] > div { width: 100%; max-width: 28rem; margin: 0 1rem; background: var(--q377e76f-surface, #1a1a2e); color: var(--q377e76f-ink, #fff); border-radius: 1rem; padding: 2rem; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
[data-q377e76f-ui="age-gate-overlay"] > div > div:last-of-type { display: flex; flex-direction: column; gap: .75rem; }
[data-q377e76f-ag-action] { padding: .75rem 1.5rem; }

/* sections */
/* q377e76f:header */
/* q377e76f:header */
.site-header{position:sticky;top:0;z-index:60;background:var(--q377e76f-bg);border-bottom:1px solid var(--q377e76f-border)}
.site-header.is-stuck{box-shadow:0 6px 18px rgba(26,27,33,.09)}
.site-header__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);min-height:74px;display:flex;align-items:center;gap:1rem}
.wordmark{display:flex;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:700;color:var(--q377e76f-ink);text-decoration:none}
.wordmark__mark{width:20px;height:20px;border-radius:6px;background:var(--q377e76f-accent)}
.site-nav{margin-left:auto}
.site-nav__list{display:flex;align-items:center;gap:1.4rem;margin:0;padding:0;list-style:none}
.site-nav__link{padding:.4rem 0;font-size:.94rem;font-weight:600;color:var(--q377e76f-secondary);text-decoration:none;border-bottom:2px solid transparent}
.site-nav__link:hover,.site-nav__link[aria-current=page]{color:var(--q377e76f-ink);border-bottom-color:var(--q377e76f-accent)}
.site-header__phone{color:var(--q377e76f-slate);font-size:.92rem;text-decoration:none;font-variant-numeric:tabular-nums}
.site-header__cta{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border-radius:10px;background:var(--q377e76f-accent);color:var(--q377e76f-bg);font-weight:700;text-decoration:none}
.site-header__cta:hover{background:var(--q377e76f-ink)}
.site-header :focus-visible{outline:2px solid var(--q377e76f-accent);outline-offset:2px}
.site-header__toggle{display:none;width:44px;height:44px;background:var(--q377e76f-surface);border:1px solid var(--q377e76f-border);border-radius:10px;color:var(--q377e76f-ink);font-size:1.1rem;cursor:pointer}
@media(max-width:768px){
.site-header__inner{flex-wrap:wrap;padding:.5rem clamp(1rem,4vw,3rem)}
.site-header__cta{margin-left:auto}
.site-header__toggle{display:block}
.site-header__phone{display:none}
.site-nav{display:none;flex:1 0 100%;order:3;margin:0;border-top:1px solid var(--q377e76f-border)}
.site-nav.is-open{display:block}
.site-nav__list{flex-direction:column;align-items:stretch;gap:0}
.site-nav__link{display:block;padding:.85rem 0;border-bottom:1px solid var(--q377e76f-border)}
}
/* q377e76f:footer */
/* q377e76f:footer */
#footer{background:var(--q377e76f-ink);color:var(--q377e76f-mist);font-family:'Segoe UI',Candara,'Gill Sans','Trebuchet MS',sans-serif;}
#footer .footer-shell{max-width:72rem;margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) clamp(1rem,4vw,3rem) clamp(1.5rem,4vw,3rem);display:grid;gap:clamp(1.75rem,4vw,3rem);grid-template-columns:1.4fr 1fr 1fr;}
#footer .footer-logo{font-family:Optima,'Gill Sans','Segoe UI',sans-serif;font-size:1.5rem;letter-spacing:-0.02em;color:var(--q377e76f-bg);margin:0 0 0.75rem;}
#footer .footer-tagline{max-width:34ch;margin:0 0 1.25rem;font-size:0.9375rem;line-height:1.6;color:var(--q377e76f-mist);text-wrap:balance;}
#footer .footer-contact{list-style:none;margin:0;padding:0;display:grid;gap:0.5rem;font-size:0.9375rem;line-height:1.5;}
#footer a{color:var(--q377e76f-bg);text-decoration:none;border-bottom:1px solid transparent;transition:border-color 0.2s ease;}
#footer a:hover{border-bottom-color:var(--q377e76f-accent);}
#footer a:focus-visible{outline:2px solid var(--q377e76f-accent);outline-offset:3px;border-radius:4px;}
#footer .footer-heading{margin:0 0 1rem;font-size:0.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--q377e76f-accent);}
#footer .footer-list{list-style:none;margin:0;padding:0;display:grid;gap:0.625rem;font-size:0.9375rem;}
#footer .footer-bottom{max-width:72rem;margin:0 auto;padding:clamp(1.25rem,3vw,2rem) clamp(1rem,4vw,3rem) clamp(2rem,5vw,3rem);border-top:1px solid var(--q377e76f-secondary);display:grid;gap:0.5rem;font-size:0.8125rem;color:var(--q377e76f-mist);}
#footer .footer-bottom p{margin:0;line-height:1.6;}
#footer ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-ink);}
@media (max-width:768px){#footer .footer-shell{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){#footer a{transition:none;}}
/* q377e76f:hero */
/* q377e76f:hero */
#hero{background:var(--q377e76f-bg);color:var(--q377e76f-text);padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem)}
#hero .hero-inner{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
#hero .hero-title{margin:0 0 1rem;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.05;letter-spacing:-.02em;color:var(--q377e76f-ink);text-wrap:balance}
#hero .hero-lead{margin:0 0 1.5rem;line-height:1.6;color:var(--q377e76f-slate)}
#hero .hero-actions{display:flex;flex-wrap:wrap;gap:.85rem}
#hero .button{display:inline-flex;padding:.8rem 1.3rem;border:1px solid transparent;border-radius:10px;font-weight:600;text-decoration:none}
#hero .button-primary{background:var(--q377e76f-accent);color:var(--q377e76f-ink)}
#hero .button-ghost{border-color:currentColor;color:var(--q377e76f-ink)}
#hero .button:hover{background:var(--q377e76f-ink);color:#fff}
#hero :focus-visible{outline:2px solid var(--q377e76f-accent)}
#hero .hero-photo{width:100%;height:auto;border-radius:18px}
#hero .hero-facts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:1.25rem 2rem;margin:clamp(2rem,5vw,3.5rem) 0 0;padding:1rem 0 0;border-top:1px solid var(--q377e76f-border);list-style:none;font-size:.875rem;line-height:1.5;color:var(--q377e76f-slate)}
#hero .hero-facts strong{display:block;color:var(--q377e76f-ink);font-variant-numeric:tabular-nums}
#hero ::selection{background:var(--q377e76f-accent);color:#fff}
@media(max-width:900px){#hero .hero-inner{grid-template-columns:1fr}}
/* q377e76f:fact-strip */
/* q377e76f:fact-strip */
.fact-strip{background:var(--q377e76f-surface);border-top:1px solid var(--q377e76f-border);border-bottom:1px solid var(--q377e76f-border);padding:clamp(2rem,5vw,3.5rem) 0;color:var(--q377e76f-text)}
.fact-strip__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.fact-strip__eyebrow{margin:0 0 1.5rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--q377e76f-slate)}
.fact-strip__layout{display:grid;gap:clamp(1.5rem,3vw,2.5rem);grid-template-columns:1fr}
.fact-strip__media{margin:0}
.fact-strip__media img{display:block;width:100%;height:auto;border-radius:10px;object-fit:cover}
.fact-strip__list{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem 1.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.fact-item{padding-left:.9rem;border-left:2px solid var(--q377e76f-accent)}
.fact-item__value{display:block;font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:700;letter-spacing:-.015em;color:var(--q377e76f-ink);font-variant-numeric:tabular-nums}
.fact-item__value a{color:var(--q377e76f-ink);text-decoration:none;border-bottom:2px solid var(--q377e76f-accent)}
.fact-item__value a:hover{color:var(--q377e76f-accent)}
.fact-item__label{display:block;margin-top:.35rem;font-size:.875rem;line-height:1.55;color:var(--q377e76f-slate)}
.fact-strip__note{margin:1.75rem 0 0;font-size:.875rem;color:var(--q377e76f-slate)}
.fact-strip__note a{color:var(--q377e76f-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--q377e76f-accent);text-underline-offset:3px}
.fact-strip a:focus-visible{outline:2px solid var(--q377e76f-accent);outline-offset:2px;border-radius:3px}
.fact-strip ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-bg)}
@media (min-width:768px){.fact-strip__layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}}
@media (max-width:479px){.fact-strip__list{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){.fact-item__value a{transition:color .18s ease}}
/* q377e76f:trips-preview */
/* q377e76f:trips-preview */
.trips-preview{background:var(--q377e76f-surface);color:var(--q377e76f-text);padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,3rem)}
.trips-preview__inner{max-width:72rem;margin:auto;display:grid;gap:clamp(1.5rem,4vw,2.5rem)}
.trips-preview h2,.trips-preview h3,.trips-preview p,.trips-preview figure,.trips-preview ul{margin:0}
.trips-preview__eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--q377e76f-accent)}
.trips-preview h2{margin:.5rem 0 .7rem;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.06;color:var(--q377e76f-ink);text-wrap:balance}
.trips-preview__lede{max-width:56ch;line-height:1.6;color:var(--q377e76f-slate)}
.trips-preview__body{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:start}
.trips-preview img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:18px}
.trips-preview figcaption{margin-top:.7rem;font-size:.875rem;color:var(--q377e76f-slate)}
.trip-rail{padding:0;list-style:none;display:grid;gap:.75rem}
.trip-card{display:grid;grid-template-columns:5.5rem minmax(0,1fr) auto;gap:1rem;align-items:center;background:var(--q377e76f-bg);border:1px solid var(--q377e76f-border);border-radius:10px;padding:1rem 1.2rem}
.trip-card:hover{border-color:var(--q377e76f-accent)}
.trip-date,.trip-price{font-weight:700;font-variant-numeric:tabular-nums;color:var(--q377e76f-ink)}
.trip-date{font-size:.875rem;color:var(--q377e76f-secondary)}
.trip-name{font-size:1.05rem;font-weight:700;color:var(--q377e76f-ink)}
.trip-meta{font-size:.875rem;color:var(--q377e76f-slate)}
.trip-price{text-align:right;white-space:nowrap}
.trip-price span{display:block;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--q377e76f-slate)}
.trips-links{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.4rem}
.trips-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--q377e76f-ink);text-decoration:none}
.link-primary{padding:0 1.4rem;border:2px solid var(--q377e76f-accent);border-radius:10px;background:var(--q377e76f-accent)}
.link-primary:hover{background:var(--q377e76f-bg);border-color:var(--q377e76f-ink)}
.link-plain{border-bottom:2px solid var(--q377e76f-border)}
.link-plain:hover{color:var(--q377e76f-accent);border-color:var(--q377e76f-accent)}
.trips-preview a:focus-visible{outline:3px solid var(--q377e76f-ink);outline-offset:3px;border-radius:6px}
.trips-preview ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-ink)}
@media(max-width:900px){.trips-preview__body{grid-template-columns:1fr}.trips-preview img{aspect-ratio:16/9}}
@media(max-width:640px){.trip-card{grid-template-columns:1fr;gap:.4rem}.trip-price{text-align:left}}
@media(prefers-reduced-motion:reduce){.trip-card{transition:none}}
/* q377e76f:included-excluded */
/* q377e76f:included-excluded */
.included-excluded{background:var(--q377e76f-bg);padding:clamp(3rem,8vw,6.5rem) clamp(1rem,4vw,3rem);color:var(--q377e76f-text)}
.included-excluded__inner{max-width:72rem;margin:0 auto;display:grid;gap:2rem}
.included-excluded__eyebrow,.cover-panel__title{text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.included-excluded__eyebrow{margin:0 0 .5rem;font-size:.8rem;color:var(--q377e76f-accent)}
.included-excluded__title{margin:0;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.1;letter-spacing:-.02em;color:var(--q377e76f-ink);text-wrap:balance}
.included-excluded__lead{margin:.8rem 0 0;max-width:58ch;color:var(--q377e76f-slate);font-variant-numeric:tabular-nums}
.included-excluded__link{color:var(--q377e76f-accent);font-weight:600}
.included-excluded__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.2rem,3vw,2rem)}
.cover-panel{border-radius:18px;padding:clamp(1.2rem,2.5vw,2rem)}
.cover-panel--yes{background:var(--q377e76f-surface);border-left:4px solid var(--q377e76f-accent)}
.cover-panel--no{border:1px solid var(--q377e76f-border)}
.cover-panel__title{margin:0 0 .9rem;font-size:1rem;color:var(--q377e76f-ink)}
.cover-list{margin:0;padding:0;list-style:none;display:grid;gap:.75rem;color:var(--q377e76f-secondary);font-size:.95rem;line-height:1.55}
.cover-list li{position:relative;padding-left:1.5rem}
.cover-list li::before{position:absolute;left:0}
.cover-panel--yes li::before{content:"✓";color:var(--q377e76f-accent)}
.cover-panel--no li::before{content:"•";color:var(--q377e76f-slate)}
.cover-note,.included-excluded__caption{font-size:.85rem;color:var(--q377e76f-slate)}
.cover-note{margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--q377e76f-border)}
.included-excluded__figure{margin:0}
.included-excluded__figure img{display:block;width:100%;height:auto;border-radius:18px}
.included-excluded__caption{margin:.7rem 0 0}
.included-excluded :focus-visible{outline:3px solid var(--q377e76f-accent);outline-offset:3px}
.included-excluded ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-bg)}
@media(max-width:768px){.included-excluded__grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.included-excluded *{transition:none!important}}
/* q377e76f:safety-support */
/* q377e76f:safety-support */
.safety{background:var(--q377e76f-surface);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem)}
.safety-inner{max-width:72rem;margin:0 auto}
.kicker{margin:0;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--q377e76f-accent)}
.safety h2{max-width:44rem;margin:.5rem 0 0;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance;color:var(--q377e76f-ink)}
.safety-grid{display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:1.2fr .8fr;margin-top:clamp(2rem,5vw,3.5rem)}
.commitments{margin:0;padding:0;list-style:none;border-top:1px solid var(--q377e76f-border)}
.commitment{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;margin:0;padding:1.4rem 0;border-bottom:1px solid var(--q377e76f-border)}
.num{font-weight:700;color:var(--q377e76f-accent);font-variant-numeric:tabular-nums}
.commitment h3{margin:0;font-size:1.125rem;color:var(--q377e76f-ink)}
.commitment p{margin:.4rem 0 0;color:var(--q377e76f-slate)}
.safety a{color:inherit;font-weight:700}
.safety-aside{display:grid;gap:1.2rem}
.safety img{display:block;width:100%;height:auto;border-radius:18px}
.duty{background:var(--q377e76f-bg);border:1px solid var(--q377e76f-border);border-radius:10px;padding:1.3rem}
.duty p{margin:0 0 .75rem;font-weight:700;color:var(--q377e76f-ink);font-variant-numeric:tabular-nums}
.safety .btn{display:inline-block;padding:.7rem 1.1rem;border:1px solid var(--q377e76f-ink);border-radius:6px;font-weight:700;text-decoration:none}
.safety .btn:hover{background:var(--q377e76f-ink);color:var(--q377e76f-bg)}
.safety :focus-visible{outline:2px solid var(--q377e76f-accent);outline-offset:2px}
.safety ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-bg)}
@media(max-width:768px){.safety-grid{grid-template-columns:1fr}}
/* q377e76f:faq-preview */
/* q377e76f:faq-preview */
.faq-preview{background:var(--q377e76f-bg);color:var(--q377e76f-text);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem)}
.faq-preview__inner{max-width:72rem;margin:0 auto;display:grid;gap:clamp(1.5rem,4vw,3rem)}
@media(min-width:1024px){.faq-preview__inner{grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}}
.faq-preview__eyebrow{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--q377e76f-accent)}
.faq-preview__title{margin:0 0 1rem;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
.faq-preview__lead{margin:0 0 1.5rem;max-width:34rem;color:var(--q377e76f-slate);line-height:1.65}
.faq-preview__facts{list-style:none;margin:0 0 1.5rem;padding:0;border-top:1px solid var(--q377e76f-border)}
.faq-preview__facts li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--q377e76f-border);font-size:.9375rem}
.faq-preview__facts span{color:var(--q377e76f-slate)}
.faq-preview__facts strong{font-variant-numeric:tabular-nums;color:var(--q377e76f-ink)}
.faq-preview__more{margin:0;font-size:.9375rem;color:var(--q377e76f-slate)}
.faq-preview__more a,.faq-item__panel a{color:var(--q377e76f-ink);text-decoration:underline var(--q377e76f-accent);text-underline-offset:3px}
.faq-preview__more a:hover,.faq-item__panel a:hover{color:var(--q377e76f-accent)}
.faq-preview__list{display:flex;flex-direction:column;gap:.75rem}
.faq-item{border:1px solid var(--q377e76f-border);border-radius:10px;background:var(--q377e76f-surface)}
.faq-item__head,.faq-item__panel p{margin:0}
.faq-item__trigger{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:44px;padding:1rem 1.15rem;background:transparent;border:0;text-align:left;font:inherit;font-weight:600;color:var(--q377e76f-ink);cursor:pointer}
.faq-item__trigger:hover{color:var(--q377e76f-accent)}
.faq-item__trigger:focus-visible{outline:2px solid var(--q377e76f-accent);outline-offset:-2px}
.faq-item__mark{position:relative;flex:0 0 14px;height:14px}
.faq-item__mark::before,.faq-item__mark::after{content:"";position:absolute;background:var(--q377e76f-accent);border-radius:2px}
.faq-item__mark::before{left:0;top:6px;width:14px;height:2px}
.faq-item__mark::after{left:6px;top:0;width:2px;height:14px;transition:transform .2s ease}
.faq-item__trigger[aria-expanded="true"] .faq-item__mark::after{transform:scaleY(0)}
.faq-item__panel{padding:0 1.15rem 1.15rem;color:var(--q377e76f-slate);font-size:.9375rem;line-height:1.65}
.faq-preview ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-bg)}
@media(prefers-reduced-motion:reduce){.faq-item__mark::after{transition:none}}
/* q377e76f:cta-band */
/* q377e76f:cta-band */
.cta-band{background:var(--q377e76f-primary);color:var(--q377e76f-bg);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem)}
.cta-band__inner{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:end}
.cta-band__eyebrow{margin:0 0 .75rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--q377e76f-accent);font-weight:600}
.cta-band__title{margin:0 0 1rem;font-family:'Optima','Segoe UI',Candara,'Gill Sans',sans-serif;font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.08;letter-spacing:-.02em;font-weight:600;color:var(--q377e76f-bg);text-wrap:balance}
.cta-band__text{margin:0;max-width:48ch;font-size:1rem;line-height:1.65;color:var(--q377e76f-mist)}
.cta-band__actions{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem}
.cta-band__button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.95rem 1.75rem;background:var(--q377e76f-accent);border:2px solid var(--q377e76f-accent);color:var(--q377e76f-ink);border-radius:10px;font-weight:700;font-size:1rem;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.cta-band__button:hover{background:var(--q377e76f-bg);color:var(--q377e76f-ink);transform:translateY(-1px)}
.cta-band__button:active{transform:translateY(0)}
.cta-band__link{display:inline-flex;align-items:center;min-height:44px;padding:.85rem 1.5rem;background:var(--q377e76f-secondary);border:1px solid var(--q377e76f-slate);color:var(--q377e76f-bg);border-radius:10px;font-weight:600;font-size:.9375rem;text-decoration:none;transition:border-color .18s ease,background-color .18s ease}
.cta-band__link:hover{border-color:var(--q377e76f-bg);background:var(--q377e76f-primary)}
.cta-band__button:focus-visible,.cta-band__link:focus-visible{outline:3px solid var(--q377e76f-accent);outline-offset:3px}
.cta-band__note{margin:0;max-width:34ch;font-size:.8125rem;line-height:1.5;color:var(--q377e76f-mist)}
.cta-band ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-ink)}
@media (max-width:768px){.cta-band__inner{grid-template-columns:1fr;align-items:start}.cta-band__actions{width:100%}.cta-band__button,.cta-band__link{width:100%}.cta-band__note{max-width:none}}
@media (prefers-reduced-motion:reduce){.cta-band__button,.cta-band__link{transition:none}.cta-band__button:hover{transform:none}}
/* q377e76f:trips-grid */
/* q377e76f:trips-grid */
.trips-grid-section { padding: clamp(3rem, 8vw, 7rem) 0; background: var(--q377e76f-bg); }
.trips-grid-section .container { width: min(72rem, 100% - clamp(1rem, 4vw, 3rem) * 2); margin: 0 auto; }
.trips-grid-section .section-header { max-width: 56rem; margin-bottom: clamp(1.5rem, 4vw, 3rem); }
.trips-grid-section .section-header h2 { font-family: var(--q377e76f-serif, 'Optima', serif); font-size: clamp(1.5rem, 3vw, 2.5rem); color: var(--q377e76f-ink); letter-spacing: -0.02em; margin: 0 0 0.6em; }
.trips-grid-section .section-header p { color: var(--q377e76f-slate); font-size: 1rem; line-height: 1.55; margin: 0; }
.trips-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: clamp(1rem, 3vw, 2rem); }
.trip-card { background: var(--q377e76f-bg); border: 1px solid var(--q377e76f-border); border-radius: var(--q377e76f-radius-md, 10px); overflow: hidden; display: flex; flex-direction: column; }
.trip-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.trip-body { padding: 1.25rem; display: flex; flex-direction: column; flex: 1; }
.trip-meta { font-size: 0.875rem; color: var(--q377e76f-slate); margin-bottom: 0.4rem; }
.trip-card h3 { font-family: var(--q377e76f-serif, 'Optima', serif); font-size: 1.25rem; color: var(--q377e76f-ink); margin: 0 0 0.5rem; line-height: 1.25; }
.tier-list { color: var(--q377e76f-text); font-size: 0.95rem; margin: 0 0 0.25rem; }
.trip-note { color: var(--q377e76f-slate); font-size: 0.8125rem; margin: 0 0 1rem; }
.trip-footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.trip-price { font-weight: 700; color: var(--q377e76f-accent); font-size: 1.1rem; white-space: nowrap; }
.trips-grid-section .button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0.55em 1.25em; background: var(--q377e76f-accent); color: #fff; text-decoration: none; border-radius: var(--q377e76f-radius-sm, 6px); font-weight: 600; }
.trips-grid-section .button:hover { filter: brightness(0.95); }
.trips-grid-section .section-footer { margin-top: 2rem; }
.trips-grid-section .text-link { color: var(--q377e76f-accent); text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .trips-grid-section .button { transition: none; } }
/* q377e76f:included-excluded */
/* q377e76f:included-excluded */
#included-excluded{background:var(--q377e76f-bg);color:var(--q377e76f-text);padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem)}
#included-excluded ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-bg)}
.ie-shell{max-width:72rem;margin:0 auto}
.ie-title{font-size:clamp(1.75rem,3.6vw,2.6rem);letter-spacing:-.02em;text-wrap:balance;color:var(--q377e76f-ink);margin:0 0 .7rem}
.ie-lede{max-width:44rem}
figcaption{color:var(--q377e76f-slate)}
.ie-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,3vw,2.5rem);margin-top:2.5rem}
.ie-figure{grid-column:1/-1;margin:0}
.ie-figure img{display:block;width:100%;border-radius:18px}
.ie-col{border-top:3px solid var(--q377e76f-accent);padding-top:1.1rem}
.ie-col--no{border-top-color:var(--q377e76f-secondary);color:var(--q377e76f-secondary)}
.ie-list{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.7rem}
.ie-list li::before{font-weight:700;color:var(--q377e76f-accent);content:"+ "}
.ie-col--no li::before{color:var(--q377e76f-slate);content:"– "}
.ie-foot{margin-top:2.5rem;padding-top:1.1rem;border-top:1px solid var(--q377e76f-border);color:var(--q377e76f-slate)}
.ie-foot a{color:var(--q377e76f-ink);text-decoration-color:var(--q377e76f-accent)}
#included-excluded a:focus-visible{outline:2px solid var(--q377e76f-accent);outline-offset:3px}
@media (max-width:768px){.ie-body{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none;animation:none}}
/* q377e76f:reservation-form */
/* q377e76f:reservation-form */
#reservation-form{background:var(--q377e76f-surface);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem)}
#reservation-form *{box-sizing:border-box}
#reservation-form ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-ink)}
#reservation-form a{color:var(--q377e76f-ink)}
.res-inner{max-width:72rem;margin:0 auto;display:grid;gap:clamp(2rem,5vw,3.5rem)}
@media(min-width:900px){.res-inner{grid-template-columns:1fr 1.15fr}}
.res-title{margin:0 0 .9rem;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.1;color:var(--q377e76f-ink);text-wrap:balance}
.res-form{background:var(--q377e76f-bg);border:1px solid var(--q377e76f-border);border-radius:18px;padding:clamp(1.25rem,3vw,2rem);display:grid;gap:1rem}
.res-form .field{display:grid;gap:.35rem}
.res-form label{font-size:.78rem;font-weight:600;text-transform:uppercase;color:var(--q377e76f-secondary)}
.res-form input,.res-form select,.res-form textarea{width:100%;font:inherit;color:var(--q377e76f-text);border:1px solid var(--q377e76f-border);border-radius:10px;padding:.75rem .85rem}
.res-form textarea{min-height:92px;resize:vertical}
.consent{display:flex;gap:.65rem;font-size:.85rem;line-height:1.5;color:var(--q377e76f-slate)}
.res-form button{font:inherit;font-weight:700;background:var(--q377e76f-accent);color:var(--q377e76f-ink);border:0;border-radius:999px;padding:.95rem 1.4rem;cursor:pointer;transition:opacity .2s}
.res-form button:hover{opacity:.86}
.res-form :focus-visible{outline:2px solid var(--q377e76f-accent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.res-form button{transition:none}}
/* q377e76f:cta-band */
/* q377e76f:cta-band */
#cta-band{background:var(--q377e76f-primary);color:var(--q377e76f-bg);padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,3rem);font-family:'Segoe UI',Candara,'Gill Sans',sans-serif}
#cta-band .cta-band__inner{max-width:72rem;margin:0 auto;display:grid;gap:clamp(1.75rem,4vw,3rem);align-items:center}
#cta-band .cta-band__eyebrow{margin:0 0 .75rem;font-size:.8125rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--q377e76f-mist)}
#cta-band .cta-band__title{margin:0 0 1rem;font-size:clamp(1.75rem,3.2vw,2.75rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
#cta-band .cta-band__text{margin:0 0 1.5rem;max-width:52ch;line-height:1.65;color:var(--q377e76f-mist)}
#cta-band .cta-band__actions{display:flex;flex-wrap:wrap;gap:.875rem 1.25rem;align-items:center}
#cta-band .cta-band__button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.75rem;border:2px solid var(--q377e76f-accent);border-radius:999px;background:var(--q377e76f-accent);color:var(--q377e76f-ink);font-size:1rem;font-weight:700;text-decoration:none;transition:background .18s ease}
#cta-band .cta-band__button:hover{background:var(--q377e76f-bg);border-color:var(--q377e76f-bg)}
#cta-band .cta-band__link{display:inline-flex;align-items:center;min-height:44px;color:var(--q377e76f-bg);font-weight:600;text-decoration:underline;text-underline-offset:4px}
#cta-band .cta-band__link:hover{color:var(--q377e76f-accent)}
#cta-band .cta-band__note{margin:1.125rem 0 0;padding-left:.75rem;border-left:2px solid var(--q377e76f-accent);font-size:.875rem;color:var(--q377e76f-mist)}
#cta-band .cta-band__media{margin:0}
#cta-band .cta-band__media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:18px}
#cta-band .cta-band__media figcaption{margin-top:.75rem;font-size:.8125rem;color:var(--q377e76f-mist)}
#cta-band :focus-visible{outline:3px solid var(--q377e76f-accent);outline-offset:3px}
#cta-band ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-ink)}
@media (min-width:768px){#cta-band .cta-band__inner{grid-template-columns:1.15fr .85fr}}
@media (prefers-reduced-motion:reduce){#cta-band *{transition:none!important}}
/* q377e76f:price-table */
/* q377e76f:price-table */
#price-table{padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);background:var(--q377e76f-bg);color:var(--q377e76f-text)}
#price-table .wrap{max-width:72rem;margin:0 auto}
#price-table .head{max-width:46rem;margin-bottom:clamp(2rem,5vw,3rem)}
#price-table h2{margin:0 0 1rem;font-size:clamp(1.9rem,4vw,3rem);line-height:1.05;letter-spacing:-.02em;text-wrap:balance;color:var(--q377e76f-ink)}
#price-table .lead{margin:0;font-size:1.06rem;line-height:1.65;color:var(--q377e76f-slate)}
#price-table .grid{display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}
#price-table .tier{display:flex;flex-direction:column;padding:1.6rem;border:1px solid var(--q377e76f-border);border-radius:18px;background:var(--q377e76f-surface);color:var(--q377e76f-ink)}
#price-table .tier--top{background:var(--q377e76f-primary);border-color:var(--q377e76f-primary);color:var(--q377e76f-bg)}
#price-table h3{margin:0 0 .5rem;font-size:1.3rem;letter-spacing:-.01em}
#price-table .bed{margin:.5rem 0 1.2rem;font-size:.94rem;line-height:1.6;opacity:.78}
#price-table .price{display:flex;align-items:baseline;gap:.4rem;margin:0;font-variant-numeric:tabular-nums}
#price-table .amount{font-size:clamp(2rem,3.4vw,2.7rem);font-weight:700;letter-spacing:-.03em}
#price-table .from,#price-table .cur,#price-table .unit{font-size:.82rem;opacity:.78}
#price-table .unit{margin:.2rem 0 1.2rem}
#price-table ul{margin:0 0 1.5rem;padding:0;list-style:none;font-size:.94rem;line-height:1.55}
#price-table li{position:relative;margin-bottom:.5rem;padding-left:1.1rem}
#price-table li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--q377e76f-accent)}
#price-table .pick{margin-top:auto;display:grid;place-items:center;min-height:44px;padding:.7rem 1rem;border:1px solid var(--q377e76f-ink);border-radius:10px;color:var(--q377e76f-ink);font-weight:600;text-decoration:none;transition:background .18s,color .18s}
#price-table .pick:hover,#price-table .tier--top .pick{background:var(--q377e76f-accent);border-color:var(--q377e76f-accent);color:var(--q377e76f-bg)}
#price-table .figure{margin:clamp(2rem,5vw,3rem) 0 0}
#price-table .figure img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px}
#price-table figcaption{margin-top:.6rem;font-size:.88rem;color:var(--q377e76f-slate)}
#price-table .note{max-width:56rem;margin:1.5rem 0 0;padding:1rem 1.25rem;border-left:3px solid var(--q377e76f-accent);background:var(--q377e76f-surface);font-size:.94rem;line-height:1.6}
#price-table .note a{color:var(--q377e76f-ink);text-decoration:underline;text-underline-offset:2px}
#price-table :focus-visible{outline:2px solid var(--q377e76f-accent);outline-offset:2px}
#price-table ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-bg)}
@media(max-width:900px){#price-table .grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#price-table .pick{transition:none}}
/* q377e76f:included-excluded */
/* q377e76f:included-excluded */
.included-excluded{background:var(--q377e76f-bg);color:var(--q377e76f-text);padding:clamp(3rem,8vw,7rem) 0}
.inc-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);display:grid;gap:clamp(1.5rem,4vw,2.5rem)}
.inc-eyebrow{margin:0 0 .5rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--q377e76f-secondary)}
.inc-title{margin:0 0 .75rem;font-family:Optima,'Segoe UI',Candara,sans-serif;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance;color:var(--q377e76f-ink)}
.inc-lead{margin:0;max-width:44rem;line-height:1.65;color:var(--q377e76f-slate)}
.inc-cols{display:grid;gap:clamp(1rem,3vw,2rem)}
.inc-panel{border-radius:1.125rem;padding:clamp(1.25rem,3vw,2rem)}
.inc-panel--in{background:var(--q377e76f-surface);border:1px solid var(--q377e76f-border)}
.inc-panel--out{border:1px dashed var(--q377e76f-border)}
.inc-panel h3{margin:0 0 1rem;font-size:1.125rem;letter-spacing:-.01em;color:var(--q377e76f-ink)}
.inc-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:.7rem}
.inc-panel li{position:relative;padding-left:1.7rem;line-height:1.55}
.inc-panel--in li::before,.inc-panel--out li::before{position:absolute;left:0;font-weight:700}
.inc-panel--in li::before{content:"✓";color:var(--q377e76f-accent)}
.inc-panel--out li::before{content:"✕";color:var(--q377e76f-slate)}
.inc-media{margin:0;display:grid;gap:.8rem}
.inc-media img{width:100%;height:auto;display:block;border-radius:1.125rem}
.inc-media figcaption{font-size:.875rem;color:var(--q377e76f-slate)}
.inc-note{margin:0;padding-top:1.25rem;border-top:1px solid var(--q377e76f-border);color:var(--q377e76f-secondary);font-size:.95rem;line-height:1.6}
.inc-note a{color:var(--q377e76f-ink);font-weight:600;text-decoration-color:var(--q377e76f-accent);text-underline-offset:.18em}
.inc-note a:hover{color:var(--q377e76f-accent)}
.included-excluded :focus-visible{outline:2px solid var(--q377e76f-accent);outline-offset:3px}
.included-excluded ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-bg)}
@media(min-width:1024px){.inc-cols{grid-template-columns:1.15fr .85fr}}
@media(prefers-reduced-motion:reduce){.included-excluded *{transition:none!important}}
/* q377e76f:estimator */
/* q377e76f:estimator */
.estimator {
  padding: clamp(3rem, 8vw, 7rem) clamp(1rem, 4vw, 3rem);
  background: var(--q377e76f-bg);
  color: var(--q377e76f-text);
}
.estimator-inner {
  max-width: 72rem;
  margin: 0 auto;
}
.estimator-head {
  max-width: 44rem;
  margin-bottom: clamp(1.5rem, 4vw, 3rem);
}
.estimator-title {
  font-family: 'Optima', 'Segoe UI', Candara, sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--q377e76f-ink);
  margin: 0 0 0.75rem;
}
.estimator-lead {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--q377e76f-slate);
  margin: 0;
}
.estimator-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
}
@media (min-width: 768px) {
  .estimator-layout {
    grid-template-columns: 1.1fr 1fr;
    align-items: start;
  }
}
.estimator-form {
  background: var(--q377e76f-surface);
  border: 1px solid var(--q377e76f-border);
  border-radius: 18px;
  padding: clamp(1.25rem, 3vw, 2rem);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.field label, .extras legend {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--q377e76f-ink);
}
.field input[type="range"], .field select {
  min-height: 44px;
}
.field select {
  border: 1px solid var(--q377e76f-border);
  border-radius: 10px;
  padding: 0.55rem 0.75rem;
  background: var(--q377e76f-bg);
  color: var(--q377e76f-text);
  font-size: 1rem;
}
.field-value {
  font-size: 0.875rem;
  color: var(--q377e76f-slate);
}
.extras {
  border: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.extras legend {
  margin-bottom: 0.5rem;
}
.check {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.95rem;
  color: var(--q377e76f-text);
  cursor: pointer;
}
.check input {
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.15rem;
  accent-color: var(--q377e76f-accent);
}
.btn-primary {
  min-height: 44px;
  border: none;
  border-radius: 10px;
  padding: 0.85rem 1.5rem;
  background: var(--q377e76f-accent);
  color: var(--q377e76f-bg);
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  text-align: center;
}
.btn-primary:hover {
  background: var(--q377e76f-primary);
}
.btn-primary:focus-visible {
  outline: 2px solid var(--q377e76f-accent);
  outline-offset: 2px;
}
.estimator-result {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.result-card {
  background: var(--q377e76f-primary);
  color: var(--q377e76f-bg);
  border-radius: 18px;
  padding: clamp(1.25rem, 3vw, 2rem);
}
.result-label {
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--q377e76f-mist);
  margin: 0 0 0.5rem;
}
.result-total {
  font-family: 'Optima', 'Segoe UI', Candara, sans-serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  letter-spacing: -0.03em;
  margin: 0 0 0.25rem;
}
.result-per {
  font-size: 1rem;
  color: var(--q377e76f-mist);
  margin: 0 0 1.25rem;
}
.result-breakdown {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
  font-size: 0.95rem;
  color: var(--q377e76f-mist);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.result-breakdown li {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  padding-bottom: 0.35rem;
}
.result-note {
  font-size: 0.875rem;
  color: var(--q377e76f-mist);
  margin: 0;
  line-height: 1.5;
}
.estimator-photo img {
  width: 100%;
  height: auto;
  border-radius: 18px;
  display: block;
}
::selection {
  background: var(--q377e76f-accent);
  color: var(--q377e76f-bg);
}
/* q377e76f:cta-band */
/* q377e76f:cta-band */
#cta-band{background:var(--q377e76f-ink);color:var(--q377e76f-bg);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);}
#cta-band *{box-sizing:border-box;}
#cta-band .cta-band__inner{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;}
#cta-band .cta-band__eyebrow{margin:0 0 .75rem;font-size:.8125rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--q377e76f-accent);}
#cta-band .cta-band__title{margin:0 0 1rem;font-family:'Optima','Segoe UI',Candara,sans-serif;font-size:clamp(1.75rem,3.4vw,2.9rem);line-height:1.08;letter-spacing:-.02em;text-wrap:balance;color:var(--q377e76f-bg);max-width:22ch;}
#cta-band .cta-band__text{margin:0 0 1.75rem;max-width:52ch;font-size:1.0625rem;line-height:1.6;color:var(--q377e76f-mist);}
#cta-band .cta-band__actions{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;}
#cta-band .cta-band__button,#cta-band .cta-band__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.85rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease;}
#cta-band .cta-band__button{background:var(--q377e76f-accent);color:var(--q377e76f-ink);border:2px solid var(--q377e76f-accent);}
#cta-band .cta-band__button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,90,54,.35);}
#cta-band .cta-band__link{background:transparent;color:var(--q377e76f-bg);border:2px solid var(--q377e76f-mist);}
#cta-band .cta-band__link:hover{background:var(--q377e76f-mist);color:var(--q377e76f-ink);}
#cta-band .cta-band__button:active,#cta-band .cta-band__link:active{transform:translateY(0);}
#cta-band a:focus-visible{outline:3px solid var(--q377e76f-bg);outline-offset:3px;}
#cta-band .cta-band__facts{list-style:none;margin:0;padding:0;display:grid;gap:0;}
#cta-band .cta-band__fact{padding:1rem 0;border-top:1px solid var(--q377e76f-secondary);display:flex;flex-direction:column;gap:.25rem;}
#cta-band .cta-band__fact:last-child{border-bottom:1px solid var(--q377e76f-secondary);}
#cta-band .cta-band__figure{font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--q377e76f-bg);}
#cta-band .cta-band__label{font-size:.875rem;color:var(--q377e76f-mist);}
#cta-band ::selection{background:var(--q377e76f-accent);color:var(--q377e76f-ink);}
@media (max-width:768px){#cta-band .cta-band__inner{grid-template-columns:1fr;}}
@media (max-width:640px){#cta-band .cta-band__actions{flex-direction:column;align-items:stretch;}#cta-band .cta-band__button,#cta-band .cta-band__link{width:100%;}}
@media (prefers-reduced-motion:reduce){#cta-band .cta-band__button:hover{transform:none;box-shadow:none;}}
.policy-page{max-width:880px;margin:0 auto;padding:48px 20px 64px;background:var(--q377e76f-bg);color:var(--q377e76f-text);font-family:var(--q377e76f-font);font-size:16px;line-height:1.65}
.policy-header{border-bottom:2px solid var(--q377e76f-accent);padding-bottom:22px;margin-bottom:32px}
.policy-eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--q377e76f-slate)}
.policy-title{margin:0 0 12px;font-family:var(--q377e76f-font-display);font-size:34px;line-height:1.2;color:var(--q377e76f-primary)}
.policy-intro{margin:0 0 10px;font-size:17px;color:var(--q377e76f-secondary)}
.policy-updated{margin:0;font-size:13px;color:var(--q377e76f-slate)}
.policy-section{margin-bottom:28px}
.policy-section h2{margin:0 0 10px;font-family:var(--q377e76f-font-display);font-size:20px;color:var(--q377e76f-primary)}
.policy-section p{margin:0 0 10px;color:var(--q377e76f-text)}
.policy-list{margin:0 0 12px;padding-left:22px}
.policy-list li{margin-bottom:8px}
.policy-contacts{margin-top:40px;padding:24px;background:var(--q377e76f-surface);border:1px solid var(--q377e76f-border);border-radius:10px;font-size:14px;color:var(--q377e76f-secondary)}
.policy-contacts h2{margin:0 0 12px;font-family:var(--q377e76f-font-display);font-size:18px;color:var(--q377e76f-primary)}
.policy-contacts p{margin:0 0 10px}
.policy-links{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 0;padding:0;list-style:none}
.policy-links a{display:inline-block;padding:8px 14px;border:1px solid var(--q377e76f-border);border-radius:6px;background:var(--q377e76f-bg);color:var(--q377e76f-primary);font-size:13px;text-decoration:none}
.policy-contacts a{color:var(--q377e76f-accent)}
.policy-links a:hover,.policy-links a:focus{border-color:var(--q377e76f-accent);color:var(--q377e76f-accent)}
@media (max-width:600px){.policy-page{padding:32px 16px 48px}.policy-title{font-size:26px}}
.policy-page{background:var(--q377e76f-bg);color:var(--q377e76f-text);font-family:var(--q377e76f-font);line-height:1.65;padding:48px 20px;margin:0}
.policy-shell{max-width:820px;margin:0 auto}
.policy-header{border-bottom:2px solid var(--q377e76f-border);padding-bottom:24px;margin-bottom:32px}
.policy-eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--q377e76f-accent);font-weight:700}
.policy-header h1{margin:0;font-family:var(--q377e76f-font-display);font-size:34px;line-height:1.2;color:var(--q377e76f-primary)}
.policy-updated{margin:10px 0 0;font-size:14px;color:var(--q377e76f-slate)}
.policy-content h2{margin:32px 0 10px;font-family:var(--q377e76f-font-display);font-size:19px;color:var(--q377e76f-primary)}
.policy-content p{margin:0 0 14px;font-size:16px}
.policy-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;padding-top:22px;border-top:1px solid var(--q377e76f-border)}
.policy-links a{display:inline-block;padding:9px 14px;border:1px solid var(--q377e76f-border);border-radius:6px;background:var(--q377e76f-surface);color:var(--q377e76f-secondary);font-size:14px;text-decoration:none}
.policy-links a:hover,.policy-links a:focus{background:var(--q377e76f-accent);border-color:var(--q377e76f-accent);color:#fff}
@media (max-width:600px){.policy-page{padding:28px 14px}.policy-header h1{font-size:26px}}
.policy-page{max-width:900px;margin:0 auto;padding:36px 20px 60px;background:var(--q377e76f-bg);color:var(--q377e76f-text);font-family:var(--q377e76f-font);font-size:16px;line-height:1.65}.policy-page *{box-sizing:border-box}.policy-page h1,.policy-page h2{margin:0 0 12px;font-family:var(--q377e76f-font-display);color:var(--q377e76f-primary);line-height:1.25}.policy-page h1{font-size:34px;letter-spacing:-.02em}.policy-page h2{font-size:20px}.policy-page p{margin:0 0 12px}.policy-page a{color:var(--q377e76f-accent);text-decoration:underline;text-underline-offset:3px}.policy-page a:hover{color:var(--q377e76f-primary)}.policy-page a:focus-visible{outline:2px solid var(--q377e76f-accent);outline-offset:2px}.policy-nav{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 30px;padding:12px 16px;background:var(--q377e76f-surface);border:1px solid var(--q377e76f-border);border-radius:10px;font-size:14px}.policy-nav a{color:var(--q377e76f-secondary);font-weight:600;text-decoration:none}.policy-nav a:hover{color:var(--q377e76f-accent)}.policy-hero{margin:0 0 28px;padding:0 0 10px;border-bottom:2px solid var(--q377e76f-accent)}.policy-kicker{margin:0 0 6px;color:var(--q377e76f-slate);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.policy-meta{margin:8px 0 0;color:var(--q377e76f-slate);font-size:14px}.policy-block{margin:0 0 16px;padding:20px 22px;background:var(--q377e76f-surface);border:1px solid var(--q377e76f-border);border-left:4px solid var(--q377e76f-accent);border-radius:10px}.policy-block p:last-child{margin-bottom:0}.policy-contacts{margin-top:34px;padding:22px;background:var(--q377e76f-primary);border-radius:16px}.policy-contacts h2{margin:0 0 10px;color:var(--q377e76f-bg);font-size:17px}.policy-contacts p{margin:0;color:var(--q377e76f-mist);font-size:15px;line-height:1.75}.policy-contacts a{color:var(--q377e76f-mist)}@media (max-width:600px){.policy-page{padding:22px 14px 42px}.policy-page h1{font-size:27px}.policy-block{padding:16px}.policy-hero{margin-bottom:22px}}
.policy-page{max-width:920px;margin:0 auto;padding:48px 24px 64px;background:var(--q377e76f-bg);color:var(--q377e76f-text);font-family:var(--q377e76f-font);font-size:17px;line-height:1.65}
.policy-hero{border-bottom:2px solid var(--q377e76f-border);padding-bottom:28px;margin-bottom:36px}
.policy-hero h1{font-family:var(--q377e76f-font-display);font-size:2.4rem;line-height:1.15;color:var(--q377e76f-ink);margin:0 0 14px}
.policy-lede{margin:0;color:var(--q377e76f-secondary);font-size:1.08rem}
.policy-section{margin:0 0 34px}
.policy-section h2{font-family:var(--q377e76f-font-display);font-size:1.28rem;color:var(--q377e76f-ink);margin:0 0 10px;padding-left:12px;border-left:4px solid var(--q377e76f-accent)}
.policy-section p{margin:0}
.policy-contacts{background:var(--q377e76f-surface);border:1px solid var(--q377e76f-border);border-radius:18px;padding:26px 28px}
.policy-contacts ul{list-style:none;margin:0 0 16px;padding:0}
.policy-contacts li{padding:8px 0;border-bottom:1px solid var(--q377e76f-mist);color:var(--q377e76f-secondary)}
.policy-contacts li:last-child{border-bottom:0}
.policy-contacts a{color:var(--q377e76f-accent);text-decoration:underline}
.policy-contacts a:hover,.policy-contacts a:focus{color:var(--q377e76f-ink)}
@media(max-width:640px){.policy-page{padding:32px 18px 48px}.policy-hero h1{font-size:1.85rem}.policy-contacts{padding:20px 18px}}
.policy-page{max-width:820px;margin:0 auto;padding:48px 20px 64px;background:var(--q377e76f-bg);color:var(--q377e76f-text);font-family:var(--q377e76f-font);font-size:16px;line-height:1.65}
.policy-header{border-bottom:1px solid var(--q377e76f-border);padding-bottom:18px;margin-bottom:22px}
.policy-header h1{font-family:var(--q377e76f-font-display);font-size:34px;line-height:1.2;margin:0;color:var(--q377e76f-ink)}
.legal-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.legal-nav a{display:inline-block;padding:8px 14px;border:1px solid var(--q377e76f-border);border-radius:10px;background:var(--q377e76f-surface);color:var(--q377e76f-secondary);text-decoration:none;font-size:14px}
.legal-nav a:hover,.legal-nav a:focus{background:var(--q377e76f-accent);border-color:var(--q377e76f-accent);color:var(--q377e76f-bg)}
.policy-section{margin:0 0 26px}
.policy-section h2{font-family:var(--q377e76f-font-display);font-size:20px;color:var(--q377e76f-ink);margin:0 0 8px}
.policy-section p{margin:0;color:var(--q377e76f-secondary)}
.policy-footer{border-top:1px solid var(--q377e76f-border);margin-top:34px;padding-top:18px;font-size:13px;color:var(--q377e76f-slate)}
.policy-footer p{margin:0}
@media (max-width:600px){.policy-page{padding:32px 16px 48px}.policy-header h1{font-size:26px}}
.policy-page{background:var(--q377e76f-bg);color:var(--q377e76f-text);font-family:var(--q377e76f-font);line-height:1.65;padding:48px 20px 64px;}
.policy-shell{max-width:820px;margin:0 auto;}
.policy-header{border-bottom:1px solid var(--q377e76f-border);padding-bottom:20px;margin-bottom:32px;}
.policy-header h1{font-family:var(--q377e76f-font-display);font-size:2rem;line-height:1.2;margin:0 0 8px;color:var(--q377e76f-ink);}
.policy-updated{font-size:.9rem;color:var(--q377e76f-slate);margin:0;}
.policy-section{margin:0 0 28px;}
.policy-section h2{font-family:var(--q377e76f-font-display);font-size:1.15rem;line-height:1.3;margin:0 0 10px;color:var(--q377e76f-ink);}
.policy-section p{margin:0 0 12px;}
.policy-section strong{color:var(--q377e76f-primary);font-weight:600;}
.policy-footer{margin-top:40px;padding:24px;background:var(--q377e76f-surface);border:1px solid var(--q377e76f-border);border-radius:18px;}
.policy-footer h2{font-family:var(--q377e76f-font-display);font-size:1.1rem;margin:0 0 10px;color:var(--q377e76f-ink);}
.policy-footer p{margin:0 0 14px;font-size:.95rem;color:var(--q377e76f-secondary);}
.policy-nav{display:flex;flex-wrap:wrap;gap:10px 18px;}
.policy-nav a{color:var(--q377e76f-accent);text-decoration:none;font-weight:600;border-bottom:1px solid transparent;}
.policy-nav a:hover,.policy-nav a:focus{text-decoration:underline;border-bottom-color:currentColor;outline:none;}
@media (max-width:600px){.policy-page{padding:28px 16px 40px;}.policy-header h1{font-size:1.6rem;}}
.thanks-page{max-width:820px;margin:0 auto;padding:48px 20px 64px;font-family:var(--q377e76f-font);color:var(--q377e76f-text);background:var(--q377e76f-bg);}
.thanks-hero{background:var(--q377e76f-surface);border:1px solid var(--q377e76f-border);border-radius:18px;padding:36px 28px;text-align:center;}
.thanks-eyebrow{margin:0 0 12px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--q377e76f-accent);font-weight:700;}
.thanks-title{margin:0 0 14px;font-family:var(--q377e76f-font-display);font-size:32px;line-height:1.2;color:var(--q377e76f-primary);}
.thanks-lead{margin:0 auto;max-width:560px;font-size:16px;line-height:1.65;color:var(--q377e76f-secondary);}
.thanks-steps,.thanks-legal,.thanks-docs{margin-top:40px;}
.thanks-heading{margin:0 0 14px;font-family:var(--q377e76f-font-display);font-size:21px;line-height:1.3;color:var(--q377e76f-primary);}
.thanks-list{margin:0;padding-left:20px;font-size:15.5px;line-height:1.7;color:var(--q377e76f-secondary);}
.thanks-list li{margin-bottom:10px;}
.thanks-text{margin:0 0 14px;font-size:15px;line-height:1.7;color:var(--q377e76f-secondary);}
.thanks-links{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
.thanks-links a{display:inline-block;padding:10px 16px;border:1px solid var(--q377e76f-border);border-radius:10px;background:var(--q377e76f-mist);color:var(--q377e76f-ink);text-decoration:none;font-size:14.5px;font-weight:600;}
.thanks-links a:hover,.thanks-links a:focus{border-color:var(--q377e76f-accent);color:var(--q377e76f-accent);}
.thanks-footer{margin-top:44px;padding-top:20px;border-top:1px solid var(--q377e76f-border);}
.thanks-footer .thanks-text{margin:0;font-size:13.5px;color:var(--q377e76f-slate);}
@media (max-width:600px){.thanks-page{padding:28px 16px 48px;}.thanks-title{font-size:26px;}.thanks-hero{padding:28px 20px;}}

:root {
  --q377e76f-c-content-width: 72rem;
  --q377e76f-c-gutter: clamp(1rem, 4vw, 3rem);
  --q377e76f-c-measure: 65ch;
  --q377e76f-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-q377e76f-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-q377e76f-lwo] { padding-inline: var(--q377e76f-c-gutter); }
[data-q377e76f-dr*='article'], [data-q377e76f-dr*='review'] { max-width: var(--q377e76f-c-measure); }
h1 { font-size: var(--q377e76f-c-heading-display); }
@media (max-width: 768px) { [data-q377e76f-dr] { min-width: 0; } }