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

/* design tokens */
:root {
  --xwsft-primary: #F25C05;
  --xwsft-secondary: #16161A;
  --xwsft-accent: #F25C05;
  --xwsft-ink: #16161A;
  --xwsft-slate: #6B6B70;
  --xwsft-mist: #EFEAE0;
  --xwsft-border: #E2DED6;
  --xwsft-surface: #FFFFFF;
  --xwsft-bg: #FAF7F2;
  --xwsft-text: #16161A;
  --xwsft-font: Charter, 'Sitka Text', Cambria, Georgia, serif;
  --xwsft-font-display: Charter, 'Bitstream Charter', 'Sitka Text', Cambria, Georgia, serif;
}

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

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

/* sections */
/* xwsft:header */
/* xwsft:header */
#header{background:var(--xwsft-bg);border-bottom:1px solid var(--xwsft-border);position:sticky;top:0;z-index:50}
.header-top{max-width:72rem;margin:0 auto;padding:0.9rem clamp(1rem,4vw,3rem);display:flex;align-items:center;gap:2rem}
.header-logo{font-family:Charter,'Sitka Text',Cambria,Georgia,serif;font-weight:700;font-size:1.25rem;letter-spacing:-0.02em;color:var(--xwsft-ink);text-decoration:none}
.header-logo span{color:var(--xwsft-primary)}
.header-nav{display:flex;gap:1.75rem;margin-left:auto}
.header-nav a{color:var(--xwsft-ink);text-decoration:none;font-size:0.95rem;padding:0.5rem 0}
.header-nav a:hover,.header-nav a:focus-visible{color:var(--xwsft-primary)}
.header-cta{background:var(--xwsft-primary);color:var(--xwsft-surface);text-decoration:none;font-weight:700;font-size:0.95rem;padding:0.65rem 1.25rem;border-radius:var(--radius-md);min-height:44px;display:inline-flex;align-items:center}
.header-cta:hover{background:var(--xwsft-ink)}
.header-toggle{display:none;background:none;border:1px solid var(--xwsft-border);color:var(--xwsft-ink);font:inherit;padding:0.5rem 0.9rem;border-radius:var(--radius-md);min-height:44px;cursor:pointer;margin-left:auto}
.header-nav a:focus-visible,.header-cta:focus-visible,.header-toggle:focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:2px}
::selection{background:var(--xwsft-primary);color:var(--xwsft-surface)}
@media (max-width:768px){
  .header-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--xwsft-surface);border-bottom:1px solid var(--xwsft-border);flex-direction:column;gap:0;padding:0.5rem clamp(1rem,4vw,3rem)}
  .header-nav.is-open{display:flex}
  .header-nav a{padding:0.85rem 0;border-top:1px solid var(--xwsft-border)}
  .header-cta{margin-left:0}
  .header-toggle{display:block}
  .header-cta{margin-left:auto;margin-right:0.75rem}
}
@media (prefers-reduced-motion:reduce){#header *{transition:none!important}}
/* xwsft:footer */
/* xwsft:footer */
.site-footer{background:var(--xwsft-secondary);color:var(--xwsft-bg);padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,3rem);font-size:.9375rem}
.footer-inner{max-width:72rem;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.4fr;gap:clamp(1.5rem,3vw,3rem);padding-bottom:2.5rem;border-bottom:1px solid rgba(239,234,224,.2)}
.footer-logo{font-family:Charter,'Sitka Text',Cambria,Georgia,serif;font-size:1.5rem;font-weight:700;color:var(--xwsft-surface);margin:0 0 .5rem;letter-spacing:-.02em}
.footer-tag{margin:0 0 1rem;color:var(--xwsft-mist);max-width:26ch}
.footer-contact a{color:var(--xwsft-mist);text-decoration:none;font-variant-numeric:tabular-nums}
.footer-contact a:hover{color:var(--xwsft-primary)}
.footer-address{margin-top:.75rem;color:var(--xwsft-mist);line-height:1.5}
.footer-heading{font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--xwsft-primary);margin:0 0 1rem;font-weight:600}
.footer-nav ul,.station-list{list-style:none;margin:0;padding:0}
.footer-nav a{color:var(--xwsft-mist);text-decoration:none;display:inline-block;padding:.35rem 0}
.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--xwsft-primary)}
.footer-nav a:focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:2px}
.station-list li{padding:.35rem 0;color:var(--xwsft-mist);display:flex;align-items:center;gap:.5rem}
.station-list .pin{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:999px;background:var(--xwsft-primary);color:var(--xwsft-secondary);font-size:.75rem;font-weight:700;flex:none}
.footer-safety p{margin:0 0 .75rem;color:var(--xwsft-mist);line-height:1.55}
.footer-policies{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding:1.5rem 0;border-bottom:1px solid rgba(239,234,224,.2)}
.footer-policies a{color:var(--xwsft-mist);text-decoration:underline;text-underline-offset:3px;padding:.35rem 0}
.footer-policies a:hover,.footer-policies a:focus-visible{color:var(--xwsft-primary)}
.footer-legal{padding-top:1.5rem}
.footer-legal p{margin:0;color:var(--xwsft-mist);font-size:.8125rem;line-height:1.6;max-width:64ch;font-variant-numeric:tabular-nums}
::selection{background:var(--xwsft-primary);color:var(--xwsft-secondary)}
@media (max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.footer-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.site-footer *{transition:none!important}}
/* xwsft:hero */
/* xwsft:hero */
.hero{background:var(--xwsft-bg);color:var(--xwsft-ink);border-bottom:1px solid var(--xwsft-border)}
.hero-inner{max-width:72rem;margin:0 auto;padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.hero-kicker{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--xwsft-slate);margin:0 0 .75rem}
.hero-title{font-family:var(--xwsft-serif,Georgia,serif);font-size:clamp(2rem,4vw,4rem);line-height:1.05;letter-spacing:-.02em;margin:0 0 1.25rem;text-wrap:balance}
.hero-chip{display:inline-block;border:1px solid var(--xwsft-ink);background:var(--xwsft-surface);padding:.5rem .9rem;font-size:.875rem;margin:0 0 1.5rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 1rem}
.hero-btn{display:inline-flex;align-items:center;min-height:44px;padding:.75rem 1.5rem;border:1px solid var(--xwsft-ink);color:var(--xwsft-ink);background:var(--xwsft-surface);text-decoration:none;font-weight:700;transition:background .2s,color .2s}
.hero-btn:hover{background:var(--xwsft-mist)}
.hero-btn-primary{background:var(--xwsft-primary);border-color:var(--xwsft-primary);color:#fff}
.hero-btn-primary:hover{background:var(--xwsft-ink);border-color:var(--xwsft-ink)}
.hero-btn:focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:2px}
.hero-note{font-size:.875rem;color:var(--xwsft-slate);max-width:34rem;margin:0}
.hero-map{background:var(--xwsft-mist);border:1px solid var(--xwsft-ink);position:relative;aspect-ratio:1/1}
.hero-map-head{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--xwsft-border);background:var(--xwsft-surface);font-size:.875rem}
.hero-hours{font-variant-numeric:tabular-nums;color:var(--xwsft-slate)}
.hero-pins{list-style:none;margin:0;padding:0;position:absolute;inset:0}
.hero-pins li{position:absolute}
.hero-pin{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--xwsft-ink);color:#fff;font-size:.875rem;font-variant-numeric:tabular-nums;transition:transform .15s;cursor:default}
.hero-tip{position:absolute;left:120%;top:2px;white-space:nowrap;background:var(--xwsft-ink);color:#fff;font-size:.75rem;padding:.25rem .5rem;opacity:0;pointer-events:none;transition:opacity .15s}
.hero-pins li:hover .hero-pin{transform:scale(1.05)}
.hero-pins li:hover .hero-tip,.hero-pin:focus-visible+.hero-tip{opacity:1}
.hero-strip{background:var(--xwsft-primary);color:#fff;display:flex;flex-wrap:wrap;gap:1.5rem;padding:.85rem clamp(1rem,4vw,3rem);font-size:.9rem;font-variant-numeric:tabular-nums;justify-content:center}
@media(max-width:768px){.hero-inner{grid-template-columns:1fr}.hero-map{max-width:30rem}}
::selection{background:var(--xwsft-primary);color:#fff}
@media(prefers-reduced-motion:reduce){.hero-pin{transition:none}}
/* xwsft:how-it-works */
/* xwsft:how-it-works */
#how-it-works{border-top:1px solid var(--xwsft-border);background:var(--xwsft-bg);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);}
#how-it-works .hiw-inner{max-width:72rem;margin:0 auto;}
#how-it-works .hiw-kicker{font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--xwsft-primary);margin:0 0 .75rem;font-weight:700;}
#how-it-works .hiw-title{font-family:Charter,'Sitka Text',Cambria,Georgia,serif;font-size:clamp(1.5rem,3vw,2.5rem);color:var(--xwsft-ink);letter-spacing:-.01em;text-wrap:balance;margin:0 0 2.5rem;}
#how-it-works .hiw-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,4vw,3rem);margin:0;padding:0;counter-reset:none;}
#how-it-works .hiw-step{position:relative;padding-top:1.5rem;border-top:2px solid var(--xwsft-ink);}
#how-it-works .hiw-step::before{content:"";position:absolute;top:-2px;left:0;width:4rem;height:2px;background:var(--xwsft-primary);}
#how-it-works .hiw-num{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;background:var(--xwsft-primary);color:var(--xwsft-surface);font-weight:700;font-variant-numeric:tabular-nums;margin-bottom:1rem;}
#how-it-works .hiw-step h3{font-size:1.25rem;color:var(--xwsft-ink);margin:0 0 .5rem;}
#how-it-works .hiw-step p{font-size:1rem;line-height:1.6;color:var(--xwsft-slate);margin:0 0 1rem;}
#how-it-works .hiw-link{color:var(--xwsft-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:.9375rem;min-height:44px;display:inline-flex;align-items:center;}
#how-it-works .hiw-link:hover{color:var(--xwsft-primary);}
#how-it-works .hiw-link:focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:3px;}
#how-it-works .hiw-cta{margin-top:3rem;}
#how-it-works .hiw-btn{display:inline-flex;align-items:center;min-height:44px;padding:.75rem 2rem;background:var(--xwsft-primary);color:var(--xwsft-surface);text-decoration:none;font-weight:700;border-radius:999px;border:2px solid var(--xwsft-primary);}
#how-it-works .hiw-btn:hover{background:var(--xwsft-ink);border-color:var(--xwsft-ink);}
#how-it-works .hiw-btn:focus-visible{outline:2px solid var(--xwsft-ink);outline-offset:3px;}
#how-it-works ::selection{background:var(--xwsft-primary);color:var(--xwsft-surface);}
@media (max-width:768px){#how-it-works .hiw-steps{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){#how-it-works *{transition:none!important;}}
/* xwsft:routes */
/* xwsft:routes */
#routes{border-top:1px solid var(--xwsft-border);background:var(--xwsft-bg);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);font-family:Charter,'Sitka Text',Cambria,Georgia,serif;color:var(--xwsft-text)}
.routes-inner{max-width:72rem;margin:0 auto}
.routes-kicker{font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--xwsft-slate);margin:0 0 .75rem}
#routes h2{font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-.02em;line-height:1.1;margin:0 0 1rem;text-wrap:balance}
.routes-intro{max-width:42rem;color:var(--xwsft-slate);margin:0 0 2.5rem}
.routes-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--xwsft-border)}
.route-row{display:grid;grid-template-columns:80px 1fr auto auto;align-items:center;gap:1.25rem;padding:1.25rem 0;border-bottom:1px solid var(--xwsft-border)}
.route-row:hover{background:var(--xwsft-mist)}
.route-line{height:2px;border-bottom:2px dashed var(--xwsft-primary);position:relative}
.route-line::after{content:'';position:absolute;right:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--xwsft-primary)}
.route-line--easy{border-bottom-style:solid}
.route-line--moderate{border-bottom-style:dashed}
.route-line--long{border-bottom-style:dotted}
.route-main h3{margin:0;font-size:1.125rem;letter-spacing:-.01em}
.route-meta{margin:.15rem 0 0;font-size:.875rem;color:var(--xwsft-slate)}
.route-data{display:flex;gap:1.5rem;font-variant-numeric:tabular-nums;font-size:1rem}
.route-km,.route-time{border:1px solid var(--xwsft-border);background:var(--xwsft-surface);padding:.35rem .65rem;border-radius:2px;white-space:nowrap}
.route-tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--xwsft-ink);color:var(--xwsft-ink);white-space:nowrap}
.route-tag--easy{border-color:var(--xwsft-primary);color:var(--xwsft-primary)}
.routes-note{margin:1.75rem 0 0;font-size:.9375rem;color:var(--xwsft-slate)}
.routes-note a{color:var(--xwsft-primary);text-decoration:underline}
.routes-note a:hover{color:var(--xwsft-ink)}
@media(max-width:768px){.route-row{grid-template-columns:1fr;gap:.6rem}.route-line{width:60px}}
@media(prefers-reduced-motion:reduce){.route-row{transition:none}}
#routes ::selection{background:var(--xwsft-primary);color:var(--xwsft-surface)}
.route-row a:focus-visible,.routes-note a:focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:2px}
/* xwsft:fleet-specs */
/* xwsft:fleet-specs */
#fleet-specs{background:var(--xwsft-bg);color:var(--xwsft-text);border-top:1px solid var(--xwsft-border);padding:clamp(3rem,8vw,7rem) 0;font-family:Charter,'Sitka Text',Cambria,Georgia,serif}
#fleet-specs ::selection{background:var(--xwsft-primary);color:#fff}
.fleet-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.fleet-kicker{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--xwsft-slate);margin-bottom:1.5rem;font-weight:700}
.fleet-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,4vw,3rem)}
.fleet-copy h2{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 1rem;text-wrap:balance}
.fleet-copy p{font-size:1rem;line-height:1.6;color:var(--xwsft-slate);margin:0 0 1.5rem;max-width:46ch}
.fleet-photo{margin:0}
.fleet-photo img{width:100%;height:auto;display:block;border:1px solid var(--xwsft-border);border-radius:4px}
.fleet-photo figcaption{font-size:.875rem;color:var(--xwsft-slate);margin-top:.5rem}
.fleet-table-wrap{border:1px solid var(--xwsft-border);border-radius:0;background:var(--xwsft-surface);align-self:start}
.fleet-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.fleet-table th,.fleet-table td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--xwsft-border);font-size:.9rem}
.fleet-table thead th{background:var(--xwsft-mist);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--xwsft-ink);position:sticky;top:0}
.fleet-table td:first-child{font-weight:700}
.fleet-note{font-size:.875rem;color:var(--xwsft-slate);margin:0;padding:.9rem;border-top:1px solid var(--xwsft-border);line-height:1.5}
.fleet-note::before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--xwsft-primary);margin-right:.5rem}
#fleet-specs :is(h2):focus-visible,a:focus-visible,table:focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:3px}
@media (max-width:767px){.fleet-grid{grid-template-columns:1fr}.fleet-table-wrap{overflow-x:auto}.fleet-table{min-width:34rem}}
@media (prefers-reduced-motion:reduce){#fleet-specs *{transition:none!important;animation:none!important}}
/* xwsft:pricing-estimator */
/* xwsft:pricing-estimator */
.pricing{border-top:1px solid var(--xwsft-border);background:var(--xwsft-bg);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);}
.pricing-inner{max-width:72rem;margin:0 auto;}
.kicker{font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--xwsft-slate);margin:0 0 .75rem;}
.pricing-head h2{font-family:var(--xwsft-font,inherit);font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-.02em;color:var(--xwsft-ink);margin:0 0 1.5rem;text-wrap:balance;}
.price-strip{background:var(--xwsft-primary);color:var(--xwsft-surface);font-weight:600;padding:.9rem 1.25rem;border-radius:var(--radius-md);font-size:1rem;margin:0 0 2.5rem;font-variant-numeric:tabular-nums;}
.pricing-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;}
.fees h3,.estimator h3{font-size:1.25rem;color:var(--xwsft-ink);margin:0 0 1rem;letter-spacing:-.01em;}
.fee-list{list-style:none;margin:0 0 1.25rem;padding:0;border-top:1px solid var(--xwsft-border);}
.fee-list li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem .25rem;border-bottom:1px solid var(--xwsft-border);color:var(--xwsft-text);}
.num{font-variant-numeric:tabular-nums;font-weight:600;color:var(--xwsft-ink);}
.fee-note{font-size:.875rem;color:var(--xwsft-slate);line-height:1.55;margin:.75rem 0 0;}
.estimator{background:var(--xwsft-surface);border:1px solid var(--xwsft-border);border-radius:var(--radius-lg);padding:1.5rem;}
.estimator-photo{width:100%;height:auto;border-radius:var(--radius-md);display:block;margin-bottom:1.25rem;}
.estimator label{display:block;font-size:.875rem;color:var(--xwsft-slate);margin:.9rem 0 .3rem;}
.est-control{width:100%;padding:.7rem;border:1px solid var(--xwsft-border);border-radius:var(--radius-md);background:var(--xwsft-bg);color:var(--xwsft-text);font:inherit;}
.est-control:focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:1px;}
.est-result{display:flex;justify-content:space-between;align-items:baseline;margin-top:1.1rem;padding:.9rem;border:1px solid var(--xwsft-primary);border-radius:var(--radius-md);}
.est-result strong{font-size:1.5rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.est-cta{display:inline-block;margin-top:1.1rem;background:var(--xwsft-primary);color:var(--xwsft-surface);text-decoration:none;font-weight:600;padding:.8rem 1.5rem;border-radius:var(--radius-md);min-height:44px;line-height:44px;padding-top:0;padding-bottom:0;}
.est-cta:hover{background:var(--xwsft-secondary);}
.est-cta:focus-visible{outline:2px solid var(--xwsft-ink);outline-offset:2px;}
::selection{background:var(--xwsft-primary);color:var(--xwsft-surface);}
@media (max-width:767px){.pricing-grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;}}
/* xwsft:contact-form */
/* xwsft:contact-form */
.booking-section{background:var(--xwsft-bg);border-top:1px solid var(--xwsft-border);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);font-family:var(--font-sans);color:var(--xwsft-text)}
.booking-inner{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,4rem)}
.booking-kicker{font-size:.875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--xwsft-slate);margin:0 0 .75rem}
.booking-intro h2{font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-0.02em;line-height:1.1;margin:0 0 1rem;text-wrap:balance}
.booking-copy{line-height:1.6;color:var(--xwsft-slate);margin:0 0 1.25rem}
.booking-points{list-style:none;padding:0;margin:0;font-size:.9rem;line-height:1.7}
.booking-points li{border-top:1px solid var(--xwsft-border);padding:.5rem 0}
.booking-form{background:var(--xwsft-surface);border:1px solid var(--xwsft-border);border-radius:var(--radius-lg,4px);padding:clamp(1.25rem,3vw,2rem);display:grid;gap:1rem}
.form-row{display:flex;flex-direction:column;gap:.35rem}
.form-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.booking-form label{font-size:.85rem;font-weight:600}
.booking-form input,.booking-form select{border:1px solid var(--xwsft-border);border-radius:var(--radius-md,2px);padding:.7rem .75rem;font:inherit;background:var(--xwsft-surface);color:var(--xwsft-text);min-height:44px}
.booking-form input:focus-visible,.booking-form select:focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:1px}
.booking-form ::placeholder{color:var(--xwsft-slate)}
.booking-submit{background:var(--xwsft-primary);color:#fff;border:1px solid var(--xwsft-primary);border-radius:var(--radius-md,2px);padding:.9rem 1.25rem;font:inherit;font-weight:700;cursor:pointer;min-height:44px}
.booking-submit:hover{background:var(--xwsft-ink);border-color:var(--xwsft-ink)}
.booking-submit:active{transform:translateY(1px)}
.booking-note{font-size:.8rem;color:var(--xwsft-slate);margin:0}
.booking-inner ::selection{background:var(--xwsft-primary);color:#fff}
@media(max-width:767px){.booking-inner{grid-template-columns:1fr}.form-split{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.booking-submit:active{transform:none}}
/* xwsft:page-intro */
/* xwsft:page-intro */
.locations-hero{background:var(--xwsft-bg);border-top:1px solid var(--xwsft-border);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem) 0;}
.locations-hero-inner{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;padding-bottom:clamp(2rem,5vw,3.5rem);}
.locations-kicker{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--xwsft-primary);margin:0 0 1rem;}
.locations-hero h1{font-family:Charter,'Sitka Text',Cambria,Georgia,serif;font-size:clamp(2rem,4vw,4rem);line-height:1.05;letter-spacing:-.02em;color:var(--xwsft-ink);margin:0 0 1.25rem;text-wrap:balance;}
.locations-lede{color:var(--xwsft-slate);font-size:1.0625rem;line-height:1.65;max-width:36rem;margin:0 0 1.75rem;}
.locations-hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:0;}
.locations-btn-primary,.locations-btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1.4rem;border-radius:var(--radius-sm,0);font-size:.9375rem;text-decoration:none;transition:background-color .15s ease,color .15s ease;}
.locations-btn-primary{background:var(--xwsft-primary);color:var(--xwsft-surface);border:1px solid var(--xwsft-primary);}
.locations-btn-primary:hover{background:var(--xwsft-ink);border-color:var(--xwsft-ink);}
.locations-btn-ghost{background:transparent;color:var(--xwsft-ink);border:1px solid var(--xwsft-ink);}
.locations-btn-ghost:hover{background:var(--xwsft-mist);}
.locations-btn-primary:focus-visible,.locations-btn-ghost:focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:2px;}
.locations-hero-media{border:1px solid var(--xwsft-border);background:var(--xwsft-mist);}
.locations-hero-media img{display:block;width:100%;height:auto;}
.locations-price-strip{background:var(--xwsft-primary);color:var(--xwsft-surface);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-size:.9375rem;padding:.85rem clamp(1rem,4vw,3rem);display:flex;flex-wrap:wrap;gap:.5rem .75rem;justify-content:center;}
::selection{background:var(--xwsft-primary);color:var(--xwsft-surface);}
@media(max-width:767px){.locations-hero-inner{grid-template-columns:1fr;}.locations-hero-media{order:-1;}}
@media(prefers-reduced-motion:reduce){.locations-hero *{transition:none;}}
/* xwsft:station-list */
/* xwsft:station-list */
.station-list{border-top:1px solid var(--xwsft-border);padding:clamp(3rem,8vw,7rem) 0;background:var(--xwsft-bg)}
.station-list-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.station-kicker{font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--xwsft-slate);margin:0 0 1rem;font-weight:600}
.station-heading{font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-.02em;color:var(--xwsft-ink);margin:0 0 1rem;text-wrap:balance;line-height:1.1}
.station-intro{color:var(--xwsft-slate);max-width:42rem;margin:0 0 clamp(1.5rem,4vw,3rem);line-height:1.6}
.station-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.station-row{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:center;padding:1.25rem 1rem;border:1px solid var(--xwsft-border);border-radius:var(--radius-lg);background:var(--xwsft-surface);margin-bottom:.75rem;scroll-margin-top:5rem}
.station-pin{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;min-width:2.75rem;border-radius:50%;background:var(--xwsft-primary);color:#fff;font-weight:700;font-variant-numeric:tabular-nums}
.station-body h3{margin:0 0 .25rem;font-size:1.125rem;color:var(--xwsft-ink);letter-spacing:-.01em}
.station-body p{margin:0;font-size:.875rem;color:var(--xwsft-slate)}
.station-hours{font-size:.875rem;font-weight:600;color:var(--xwsft-ink);background:var(--xwsft-mist);border:1px solid var(--xwsft-border);border-radius:999px;padding:.4rem .9rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.station-note{margin:clamp(1.5rem,4vw,2rem) 0 1rem;font-size:.875rem;color:var(--xwsft-slate);line-height:1.6}
.station-cta{display:inline-block;background:var(--xwsft-primary);color:#fff;text-decoration:none;font-weight:700;padding:.9rem 1.75rem;border-radius:var(--radius-md);min-height:44px;line-height:1.4}
.station-cta:hover,.station-cta:focus-visible{background:var(--xwsft-secondary)}
.station-cta:focus-visible{outline:2px solid var(--xwsft-ink);outline-offset:2px}
.station-row:focus-within{outline:2px solid var(--xwsft-primary);outline-offset:2px}
@media (max-width:640px){.station-row{grid-template-columns:auto 1fr;row-gap:.5rem}.station-hours{grid-column:2;justify-self:start}}
::selection{background:var(--xwsft-primary);color:#fff}
@media (prefers-reduced-motion:reduce){.station-list *{transition:none!important}}
/* xwsft:requirements */
/* xwsft:requirements */
#requirements{border-top:1px solid var(--xwsft-border);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);background:var(--xwsft-bg);color:var(--xwsft-text);font-family:Charter,'Sitka Text',Cambria,Georgia,serif}
#requirements .requirements-inner{max-width:72rem;margin:0 auto}
#requirements .requirements-kicker{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;color:var(--xwsft-primary);margin:0 0 .75rem;letter-spacing:.04em}
#requirements .requirements-title{font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-.02em;margin:0 0 clamp(1.5rem,4vw,3rem);text-wrap:balance}
#requirements .requirements-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
#requirements .requirements-item{border-left:2px solid var(--xwsft-border);padding-left:1.25rem;margin-bottom:1.75rem}
#requirements .requirements-item h3{font-size:1.125rem;margin:0 0 .5rem;color:var(--xwsft-ink)}
#requirements .requirements-item p{margin:0;font-size:1rem;line-height:1.6;color:var(--xwsft-slate)}
#requirements .requirements-note{font-size:.875rem;color:var(--xwsft-slate)}
#requirements .requirements-note a{color:var(--xwsft-primary);text-decoration:underline}
#requirements .requirements-photo{margin:0;border:1px solid var(--xwsft-border);border-radius:4px;overflow:hidden;background:var(--xwsft-surface)}
#requirements .requirements-photo img{display:block;width:100%;height:auto}
#requirements ::selection{background:var(--xwsft-primary);color:var(--xwsft-surface)}
#requirements :focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:2px}
@media (max-width:768px){#requirements .requirements-grid{grid-template-columns:1fr}#requirements .requirements-photo{order:-1}}
@media (prefers-reduced-motion:reduce){#requirements *{transition:none!important}}
/* xwsft:price-table */
/* xwsft:price-table */
.price-table{border-top:1px solid var(--xwsft-border);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);background:var(--xwsft-bg);color:var(--xwsft-text)}
.price-table__inner{max-width:72rem;margin:0 auto}
.kicker{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--xwsft-primary);margin:0 0 1rem}
.price-table__title{font-family:Charter,'Bitstream Charter','Sitka Text',Cambria,Georgia,serif;font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-.02em;text-wrap:balance;margin:0 0 .75rem}
.price-table__lede{font-size:1rem;color:var(--xwsft-slate);margin:0 0 2rem}
.price-table__scroll{overflow-x:auto;border:1px solid var(--xwsft-border);background:var(--xwsft-surface);border-radius:var(--radius-sm)}
.rates{width:100%;border-collapse:collapse;font-size:.95rem;min-width:40rem}
.rates th,.rates td{text-align:left;padding:.85rem 1.25rem;border-bottom:1px solid var(--xwsft-border);font-variant-numeric:tabular-nums}
.rates thead th{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--xwsft-slate);background:var(--xwsft-mist)}
.rates tbody th{font-weight:600}
.rates td{color:var(--xwsft-text)}
.rates tbody tr:last-child th,.rates tbody tr:last-child td{border-bottom:0}
.rates tbody tr:hover td,.rates tbody tr:hover th{background:var(--xwsft-mist)}
.price-table__notes{list-style:none;padding:1.25rem 0 0;margin:0;color:var(--xwsft-slate);font-size:.875rem;display:grid;gap:.5rem;max-width:48rem}
.price-table__notes li{padding-left:1rem;border-left:2px solid var(--xwsft-primary)}
.price-table__cta{margin:2rem 0 0}
.btn{display:inline-block;min-height:44px;padding:.75rem 1.5rem;background:var(--xwsft-primary);color:var(--xwsft-surface);border:1px solid var(--xwsft-primary);border-radius:var(--radius-md);font-size:1rem;text-decoration:none;font-weight:600}
.btn:hover{background:var(--xwsft-secondary);border-color:var(--xwsft-secondary)}
.btn:focus-visible{outline:2px solid var(--xwsft-ink);outline-offset:2px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
::selection{background:var(--xwsft-primary);color:var(--xwsft-surface)}
@media (prefers-reduced-motion:reduce){.price-table *{transition:none!important}}
/* xwsft:fees */
/* xwsft:fees */
.fees-wrap{max-width:72rem;margin:0 auto;padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);border-top:1px solid var(--xwsft-border);}
.fees-kicker{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--xwsft-slate);margin:0 0 1rem;}
.fees-title{font-family:Charter,'Bitstream Charter','Sitka Text',Cambria,Georgia,serif;font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-0.02em;text-wrap:balance;color:var(--xwsft-ink);margin:0 0 .75rem;}
.fees-intro{color:var(--xwsft-slate);max-width:44rem;margin:0 0 2.5rem;}
.fees-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--xwsft-border);}
.fees-row{padding:1.5rem;border:0 solid var(--xwsft-border);}
.fees-row:nth-child(odd){border-right-width:1px;}
.fees-row:nth-child(-n+2){border-bottom-width:1px;}
.fees-row h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--xwsft-slate);margin:0 0 .5rem;}
.fees-amount{font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--xwsft-ink);margin:0 0 .5rem;}
.fees-row p:last-child{font-size:.9375rem;color:var(--xwsft-slate);margin:0;line-height:1.6;}
.fees-note{margin-top:2rem;padding:1.25rem 1.5rem;background:var(--xwsft-mist);border-left:3px solid var(--xwsft-primary);}
.fees-note p{margin:0 0 .75rem;font-size:.9375rem;line-height:1.6;color:var(--xwsft-text);}
.fees-note p:last-child{margin-bottom:0;}
.fees-note strong{color:var(--xwsft-ink);}
.fees-link{display:inline-block;margin-top:1.75rem;padding:.75rem 1.25rem;min-height:44px;border:1px solid var(--xwsft-ink);color:var(--xwsft-ink);text-decoration:none;font-size:.9375rem;}
.fees-link:hover{background:var(--xwsft-primary);border-color:var(--xwsft-primary);color:#fff;}
.fees-link:focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:2px;}
::selection{background:var(--xwsft-primary);color:#fff;}
@media (prefers-reduced-motion:reduce){.fees-link{transition:none;}}
@media (max-width:640px){.fees-grid{grid-template-columns:1fr;}.fees-row{border-right-width:0!important;border-bottom-width:1px;}.fees-row:last-child{border-bottom-width:0;}}
/* xwsft:whats-included */
/* xwsft:whats-included */
#whats-included{border-top:1px solid var(--xwsft-border);background:var(--xwsft-bg);padding:clamp(3rem,8vw,7rem) 0;font-family:Charter,'Sitka Text',Cambria,Georgia,serif;color:var(--xwsft-text)}
.included-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.included-kicker{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--xwsft-slate);margin:0 0 1.5rem}
.included-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.included-title{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 1rem;text-wrap:balance}
.included-lead{color:var(--xwsft-slate);margin:0 0 2rem;max-width:38rem}
.included-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--xwsft-border)}
.included-list li{display:grid;grid-template-columns:9rem 1fr auto;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--xwsft-border);align-items:baseline}
.included-item-name{font-weight:700}
.included-item-desc{font-size:.9375rem;color:var(--xwsft-slate)}
.included-item-price{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-weight:700;color:var(--xwsft-primary);white-space:nowrap}
.included-figure{margin:0;border:1px solid var(--xwsft-border);background:var(--xwsft-surface);border-radius:var(--radius-lg,4px);overflow:hidden}
.included-figure img{display:block;width:100%;height:auto}
.included-figure figcaption{padding:.75rem 1rem;font-size:.875rem;color:var(--xwsft-slate);border-top:1px solid var(--xwsft-border)}
#whats-included ::selection{background:var(--xwsft-primary);color:var(--xwsft-surface)}
#whats-included :focus-visible{outline:2px solid var(--xwsft-primary);outline-offset:2px}
@media (prefers-reduced-motion:reduce){#whats-included *{transition:none!important}}
@media (max-width:768px){.included-grid{grid-template-columns:1fr}.included-list li{grid-template-columns:1fr;gap:.25rem}}
/* xwsft:pricing-cta */
/* xwsft:pricing-cta */
.pricing-cta{background:var(--xwsft-ink);color:var(--xwsft-surface);border-top:1px solid var(--xwsft-border);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);}
.pricing-cta-inner{max-width:72rem;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:1rem;}
.pricing-cta-kicker{font-size:.875rem;text-transform:uppercase;letter-spacing:.12em;color:var(--xwsft-primary);margin:0;}
.pricing-cta-title{font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-0.02em;text-wrap:balance;margin:0;line-height:1.15;}
.pricing-cta-strip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-size:1rem;border:1px solid var(--xwsft-border);border-radius:4px;padding:.75rem 1rem;margin:0;color:var(--xwsft-surface);}
.pricing-cta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--xwsft-primary);color:var(--xwsft-surface);border:1px solid var(--xwsft-primary);border-radius:4px;font-size:1rem;font-weight:600;text-decoration:none;padding:.75rem 2rem;margin-top:.5rem;transition:background .2s;}
.pricing-cta-btn:hover{background:#d14f04;}
.pricing-cta-btn:focus-visible{outline:2px solid var(--xwsft-surface);outline-offset:2px;}
.pricing-cta-note{font-size:.875rem;color:var(--xwsft-mist);margin:0;}
::selection{background:var(--xwsft-primary);color:var(--xwsft-surface);}
@media (prefers-reduced-motion:reduce){.pricing-cta-btn{transition:none;}}
.company-info-page{background:var(--xwsft-bg);color:var(--xwsft-text);font-family:var(--xwsft-font);padding:48px 24px 64px;min-height:100%}.company-info-inner{max-width:820px;margin:0 auto;background:var(--xwsft-surface);border:1px solid var(--xwsft-border);border-radius:var(--radius-lg);padding:40px 36px}.company-info-page h1{font-family:var(--xwsft-font-display);font-size:2rem;line-height:1.2;color:var(--xwsft-ink);margin:0 0 16px;padding-bottom:16px;border-bottom:2px solid var(--xwsft-primary)}.company-info-intro{color:var(--xwsft-slate);font-size:1rem;line-height:1.65;margin:0 0 32px}.company-info-block{margin:0 0 32px}.company-info-block:last-child{margin-bottom:0}.company-info-block h2{font-family:var(--xwsft-font-display);font-size:1.25rem;color:var(--xwsft-ink);margin:0 0 14px}.company-info-block p{font-size:0.95rem;line-height:1.65;margin:0 0 12px;color:var(--xwsft-text)}.company-info-list{margin:0;display:block;border-top:1px solid var(--xwsft-border)}.company-info-row{display:block;border-bottom:1px solid var(--xwsft-border);padding:10px 0}.company-info-row dt{display:block;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--xwsft-primary);margin:0 0 3px;font-weight:bold}.company-info-row dd{display:block;margin:0;font-size:0.98rem;color:var(--xwsft-text);line-height:1.5}.company-info-page a{color:var(--xwsft-primary);text-decoration:underline;text-underline-offset:2px}.company-info-page a:hover{color:var(--xwsft-ink)}@media (max-width:640px){.company-info-inner{padding:26px 20px}.company-info-page h1{font-size:1.6rem}}
.policy-page{max-width:760px;margin:0 auto;padding:48px 20px 64px;font-family:var(--xwsft-font);color:var(--xwsft-text);background:var(--xwsft-bg)}.policy-header h1{font-size:2.2rem;color:var(--xwsft-ink);margin:0 0 8px}.policy-header p{color:var(--xwsft-slate);margin:0 0 32px}.policy-section{background:var(--xwsft-surface);border:1px solid var(--xwsft-border);border-radius:var(--xwsft-lg,4px);padding:24px;margin-bottom:20px}.policy-section h2{font-size:1.25rem;color:var(--xwsft-primary);margin:0 0 12px;border-bottom:1px solid var(--xwsft-border);padding-bottom:8px}.policy-section p,.policy-section li{line-height:1.6;font-size:1rem;color:var(--xwsft-text)}.policy-section ul{padding-left:20px;margin:8px 0 0}.policy-section li{margin-bottom:6px;list-style:square}.policy-footer{margin-top:32px;padding:24px;border-top:2px solid var(--xwsft-primary);font-size:.9rem;color:var(--xwsft-slate)}.policy-footer h3{font-size:1rem;color:var(--xwsft-ink);margin:0 0 8px}.policy-footer a{color:var(--xwsft-primary);text-decoration:underline}
.policy-page{max-width:820px;margin:0 auto;padding:48px 24px;background:var(--xwsft-bg);color:var(--xwsft-text);font-family:var(--xwsft-font);line-height:1.7;font-size:16px}.policy-title{color:var(--xwsft-ink);font-size:34px;margin:0 0 16px;border-bottom:3px solid var(--xwsft-primary);padding-bottom:12px}.policy-intro{color:var(--xwsft-slate);margin:0 0 32px}.policy-section{background:var(--xwsft-surface);border:1px solid var(--xwsft-border);border-radius:var(--radius-lg);padding:20px 24px;margin:0 0 16px}.policy-section h2{color:var(--xwsft-primary);font-size:20px;margin:0 0 10px}.policy-section p{margin:0 0 10px;color:var(--xwsft-text)}.policy-footer{margin-top:32px;padding:20px 24px;background:var(--xwsft-mist);border-radius:var(--radius-lg)}.policy-footer h3{color:var(--xwsft-ink);margin:0 0 8px;font-size:18px}.policy-footer p{color:var(--xwsft-slate);font-size:14px;margin:0 0 8px}.policy-link{color:var(--xwsft-primary);text-decoration:none}.policy-link:hover{text-decoration:underline}
.policy-page{max-width:760px;margin:0 auto;padding:40px 20px;font-family:var(--xwsft-font);color:var(--xwsft-text);background:var(--xwsft-bg);font-size:16px;line-height:1.6}.policy-content h1{color:var(--xwsft-primary);font-size:2rem;margin:0 0 16px}.policy-content h2{color:var(--xwsft-ink);font-size:1.25rem;margin:24px 0 8px;border-bottom:2px solid var(--xwsft-border);padding-bottom:4px}.policy-content p{margin:0 0 12px}.policy-content ul{margin:0 0 12px;padding-left:20px}.policy-content li{margin-bottom:6px}.policy-footer{margin-top:32px;padding-top:16px;border-top:1px solid var(--xwsft-border);color:var(--xwsft-slate);font-size:0.875rem}.policy-footer p{margin:0}
.policy-page{background:var(--xwsft-bg);color:var(--xwsft-text);font-family:var(--xwsft-font);min-height:100vh;padding:48px 16px;box-sizing:border-box}.policy-main{max-width:760px;margin:0 auto;background:var(--xwsft-surface);border:1px solid var(--xwsft-border);border-radius:4px;padding:40px 32px;box-sizing:border-box}.policy-title{font-family:var(--xwsft-font-display);color:var(--xwsft-ink);font-size:32px;line-height:1.2;margin:0 0 16px;border-bottom:2px solid var(--xwsft-primary);padding-bottom:12px}.policy-intro{color:var(--xwsft-slate);font-size:16px;line-height:1.6;margin:0 0 32px}.policy-section{margin-bottom:28px}.policy-section:last-child{margin-bottom:0}.policy-section h2{color:var(--xwsft-ink);font-size:20px;margin:0 0 10px}.policy-section p{color:var(--xwsft-text);font-size:15px;line-height:1.65;margin:0}@media(max-width:600px){.policy-main{padding:24px 18px}.policy-title{font-size:26px}}
.policy-page{background:var(--xwsft-bg);color:var(--xwsft-text);font-family:var(--xwsft-font);min-height:100vh;padding:48px 0;}.policy-inner{max-width:760px;margin:0 auto;padding:0 24px;background:var(--xwsft-surface);border:1px solid var(--xwsft-border);border-radius:var(--xwsft-radius,4px);padding:48px 40px;}.policy-title{font-family:var(--xwsft-font-display);font-size:34px;line-height:1.2;color:var(--xwsft-ink);margin:0 0 12px;}.policy-intro{font-size:16px;line-height:1.7;color:var(--xwsft-slate);margin:0 0 32px;}.policy-section{margin:0 0 28px;padding-bottom:24px;border-bottom:1px solid var(--xwsft-mist);}.policy-section:last-of-type{border-bottom:none;}.policy-section h2{font-size:20px;color:var(--xwsft-accent);margin:0 0 10px;}.policy-section p{font-size:15px;line-height:1.7;color:var(--xwsft-text);margin:0 0 8px;}.policy-list{margin:0 0 8px;padding-left:20px;}.policy-list li{font-size:15px;line-height:1.7;color:var(--xwsft-text);margin-bottom:6px;}.policy-link{color:var(--xwsft-primary);text-decoration:underline;}.policy-link:hover{color:var(--xwsft-ink);}.policy-footer{margin-top:32px;padding-top:20px;border-top:2px solid var(--xwsft-mist);}.policy-footer p{font-size:13px;color:var(--xwsft-slate);line-height:1.6;margin:0;}@media(max-width:600px){.policy-inner{padding:32px 20px;}.policy-title{font-size:26px;}}
.thanks-page{background:var(--xwsft-bg);color:var(--xwsft-text);font-family:var(--xwsft-font);min-height:100vh;padding:48px 20px}.thanks-main{max-width:760px;margin:0 auto}.thanks-hero{border-bottom:2px solid var(--xwsft-ink);padding-bottom:24px;margin-bottom:32px}.thanks-title{font-size:40px;line-height:1.1;margin:0 0 16px;color:var(--xwsft-ink);font-weight:700}.thanks-lead{font-size:18px;line-height:1.6;margin:0;color:var(--xwsft-slate)}.thanks-heading{font-size:20px;margin:0 0 12px;color:var(--xwsft-ink);letter-spacing:.02em}.thanks-section{margin-bottom:32px}.thanks-list{margin:0;padding-left:20px}.thanks-list li{font-size:16px;line-height:1.6;margin-bottom:10px;color:var(--xwsft-text)}.thanks-text{font-size:15px;line-height:1.7;margin:0 0 16px;color:var(--xwsft-slate)}.thanks-link{color:var(--xwsft-primary);text-decoration:underline}.thanks-contact{background:var(--xwsft-surface);border:1px solid var(--xwsft-border);padding:24px}.thanks-back{margin:16px 0 0;font-weight:700}
section[data-xwsft-hb4]:not([data-xwsft-hb4='header']):not([data-xwsft-hb4='footer']) { position: relative; }
section[data-xwsft-hb4]:not([data-xwsft-hb4='header']):not([data-xwsft-hb4='footer']) { border-top: 1px solid var(--xwsft-border); }
section[data-xwsft-hb4] [class*='grid'] > * { border-radius: 0 !important; border-color: var(--xwsft-border); }
section[data-xwsft-hb4] h2 { letter-spacing: -0.025em; }
:root {
  --xwsft-c-content-width: 72rem;
  --xwsft-c-gutter: clamp(1rem, 4vw, 3rem);
  --xwsft-c-measure: 65ch;
  --xwsft-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-xwsft-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-xwsft-hb4] { padding-inline: var(--xwsft-c-gutter); }
[data-xwsft-dr*='article'], [data-xwsft-dr*='review'] { max-width: var(--xwsft-c-measure); }
h1 { font-size: var(--xwsft-c-heading-display); }
@media (max-width: 768px) { [data-xwsft-dr] { min-width: 0; } }