:root{--navy:#024d94;--navy-dark:#023b73;--orange:#f99d22;--orange-dark:#df8610;--ink:#171b20;--muted:#5f6872;--line:#dce2e8;--panel:#f4f6f8;--white:#fff;--head:'Nunito Sans',system-ui,sans-serif;--body:'Open Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',monospace;--max:1240px}
*{box-sizing:border-box;border-radius:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;max-width:100%;overflow-x:hidden;color:var(--ink);font-family:var(--body);background:var(--white)}
a{color:inherit}
button{font:inherit}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.build-banner{max-width:100%;padding:9px 18px;background:#101820;color:#fff;text-align:center;font:600 11px/1.4 var(--mono);letter-spacing:.11em}
.site-header{width:100%;height:88px;padding:0 max(24px,calc((100% - var(--max))/2));display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}
.brand{min-width:0;margin-right:auto}
.brand img{display:block;width:190px;max-width:100%;height:auto}
.site-header nav{display:flex;gap:26px}
.site-header nav a{font:800 14px var(--head);text-decoration:none;color:var(--navy)}
.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--orange-dark)}
.menu-button{display:none;border:2px solid var(--navy);background:#fff;color:var(--navy);padding:9px 12px;font:800 13px var(--head);cursor:pointer}
.header-cta{flex:none;padding:11px 16px;background:var(--orange);color:#17202a;text-decoration:none;font:900 14px var(--head)}
.hero{width:100%;max-width:var(--max);margin:auto;min-height:620px;padding:70px 24px;display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center}
.hero>*{min-width:0}
.eyebrow{margin:0 0 13px;color:var(--navy);font:600 12px/1.5 var(--mono);letter-spacing:.16em}
.hero h1,.section-heading h2,.updates-panel h2,.reservation-intro h2,.faq-section h2{font-family:var(--head);font-weight:900;margin:0}
.hero h1{font-size:clamp(48px,6vw,78px);line-height:.96;color:var(--navy);letter-spacing:-.035em}
.hero-text{max-width:590px;margin:26px 0 30px;color:var(--muted);font-size:19px;line-height:1.65}
.button{display:inline-flex;justify-content:center;align-items:center;border:0;padding:14px 20px;text-decoration:none;font:900 14px var(--head);cursor:pointer;text-align:center}
.button-primary{background:var(--orange);color:#17202a}
.button-primary:hover,.button-primary:focus-visible{background:var(--orange-dark)}
.button-secondary{background:var(--navy);color:#fff}
.text-link{display:inline-block;margin-left:18px;color:var(--navy);font:800 14px var(--head);text-decoration:none}
.hero-visual{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px;background:linear-gradient(135deg,#eef4f9,#fff);border:1px solid var(--line)}
.hero-product{min-width:0;margin:0;background:#fff;border:1px solid var(--line);box-shadow:0 16px 36px rgba(2,77,148,.1)}
.hero-product img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.hero-product figcaption{display:flex;flex-direction:column;gap:4px;padding:18px}
.hero-product b{color:var(--navy);font:900 19px var(--head)}
.hero-product span{color:var(--muted);font-size:12px;line-height:1.5}
.hero-product-core,.hero-product-pro{margin:0}
.value-strip{width:100%;background:var(--navy);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:0 max(24px,calc((100% - var(--max))/2))}
.value-strip div{min-width:0;padding:25px 24px;border-left:1px solid rgba(255,255,255,.2)}
.value-strip div:last-child{border-right:1px solid rgba(255,255,255,.2)}
.value-strip b,.value-strip span{display:block}
.value-strip b{font:600 11px var(--mono);letter-spacing:.1em;color:var(--orange)}
.value-strip span{margin-top:7px;font:800 14px var(--head)}
.products-section,.how-panel,.faq-section{width:100%;max-width:var(--max);margin:auto;padding:100px 24px}
.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:38px}
.section-heading>*{min-width:0}
.section-heading h2,.updates-panel h2,.reservation-intro h2,.faq-section h2{color:var(--navy);font-size:clamp(38px,5vw,58px);line-height:1}
.section-heading>p{margin:0;color:var(--muted);line-height:1.7;font-size:17px}
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.product-card{min-width:0;width:100%;overflow:hidden;border:1px solid var(--line);background:#fff}
.product-image{height:370px;background:var(--panel);overflow:hidden;display:grid;place-items:center}
.product-image img{width:100%;height:100%;object-fit:cover}
.product-content{padding:34px}
.product-tag{color:var(--navy);font:600 11px var(--mono);letter-spacing:.12em}
.product-content h3{margin:6px 0 14px;color:var(--navy);font:900 34px var(--head)}
.product-summary{color:var(--muted);line-height:1.65}
.product-content ul{margin:22px 0 28px;padding:0;list-style:none;border-top:1px solid var(--line)}
.product-content li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.product-content li:before{content:'✓';color:var(--navy);font-weight:800;margin-right:10px}
.interest-row{display:flex;align-items:end;justify-content:space-between;gap:20px}
.interest-row strong,.interest-row small{display:block}
.interest-row strong{color:var(--navy);font:900 20px var(--head)}
.interest-row small{margin-top:3px;color:var(--muted);font-size:11px}
.how-panel{padding-top:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0;padding:0;list-style:none}
.steps li{display:flex;gap:18px;padding:28px;border:1px solid var(--line);background:var(--panel)}
.steps li>span{flex:none;display:grid;place-items:center;width:38px;height:38px;background:var(--orange);color:#17202a;font:900 18px var(--head)}
.steps b{color:var(--navy);font:900 19px var(--head)}
.steps p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.updates-panel{width:calc(100% - 48px);max-width:var(--max);margin:0 auto;padding:56px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;background:var(--navy);color:#fff}
.updates-panel .eyebrow{color:var(--orange)}
.updates-panel h2{color:#fff}
.updates-panel p:not(.eyebrow){max-width:720px;line-height:1.6;color:#dbe9f6}
.update-actions{display:grid;gap:10px}
.button-light{background:#fff;color:var(--navy)}
.button-outline-light{border:2px solid #fff;color:#fff;background:transparent}
.reservation-section{width:calc(100% - 48px);max-width:var(--max);margin:0 auto;padding:70px 56px;background:#f4f6f8;border-top:8px solid var(--navy)}
.reservation-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:26px 50px;align-items:end;margin-bottom:42px}
.reservation-intro .eyebrow,.reservation-intro h2{grid-column:1}
.reservation-intro>p{grid-column:1;margin:0;color:var(--muted);font-size:17px;line-height:1.7}
.privacy-note{grid-column:2;grid-row:1/4;padding:24px;background:#fff;border-left:5px solid var(--orange);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.privacy-note b{color:var(--navy);font:900 17px var(--head)}
.privacy-note span{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.55}
.reservation-form{display:grid;gap:22px}
.reservation-form fieldset{margin:0;padding:28px;background:#fff;border:1px solid var(--line)}
.reservation-form legend{padding:0 9px;color:var(--navy);font:900 20px var(--head)}
.selection-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.selection-card{display:flex;flex-direction:column;gap:10px;padding:20px;border:2px solid var(--line);cursor:pointer;background:#fff}
.selection-card.selected{border-color:var(--navy);background:#f2f7fc;box-shadow:inset 0 0 0 1px var(--navy)}
.selection-top{display:flex;align-items:center;gap:10px;color:var(--navy);font:900 19px var(--head)}
.selection-top input,.check-row input{width:20px;height:20px;accent-color:var(--navy);flex:none}
.selection-card>span:not(.selection-top):not(.quantity-field){color:var(--muted);font-size:13px}
.quantity-field{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.quantity-field input{width:100px;padding:10px;border:1px solid #aab5c0;color:var(--ink);font:700 15px var(--body)}
.quantity-field input:disabled{background:#e8ebee;color:#7b8791}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid label{display:flex;flex-direction:column;gap:7px;color:var(--ink);font-size:13px;font-weight:700}
.form-grid label span small{color:var(--muted);font-weight:400}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:12px;border:1px solid #aab5c0;background:#fff;color:var(--ink);font:400 15px var(--body)}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.quantity-field input:focus{outline:3px solid rgba(249,157,34,.35);border-color:var(--navy)}
.form-wide{grid-column:1/-1}
.check-row{display:flex;align-items:flex-start;gap:12px;margin:12px 0;color:var(--muted);font-size:14px;line-height:1.55}
.check-row small{font-weight:400}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px;background:var(--navy);color:#fff}
.form-footer div{display:flex;flex-direction:column}
.form-footer b{color:var(--orange);font:900 24px var(--head)}
.form-footer span{margin-top:3px;color:#dbe9f6;font-size:12px}
.field-error,.form-error{margin:12px 0 0;color:#9c2638;font-size:13px;font-weight:700}
.form-status{min-height:1.5em;margin:0;color:var(--muted);font-size:13px;font-weight:700}
.form-status.error{color:#9c2638}
.receipt-reference{margin:18px auto 0!important;color:var(--navy)!important}
.reservation-confirmation{padding:50px;background:#fff;border:1px solid var(--line);text-align:center}
.reservation-confirmation:focus{outline:3px solid rgba(249,157,34,.45)}
.confirmation-check{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 20px;background:var(--orange);color:#17202a;font:900 34px var(--head);border-radius:50%}
.reservation-confirmation h3{margin:0 auto 12px;max-width:760px;color:var(--navy);font:900 clamp(30px,4vw,48px)/1.05 var(--head)}
.reservation-confirmation>p:not(.eyebrow){max-width:720px;margin:0 auto;color:var(--muted);line-height:1.7}
.reservation-confirmation dl{max-width:760px;margin:30px auto;text-align:left;border-top:1px solid var(--line)}
.reservation-confirmation dl div{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}
.reservation-confirmation dt{color:var(--muted);font-size:13px}
.reservation-confirmation dd{margin:0;color:var(--navy);font-weight:700}
.faq-section{max-width:900px}
.faq-section h2{margin-bottom:30px}
.faq-section details{border-top:1px solid var(--line);padding:20px 0}
.faq-section details:last-child{border-bottom:1px solid var(--line)}
.faq-section summary{cursor:pointer;color:var(--navy);font:900 18px var(--head)}
.faq-section details p{color:var(--muted);line-height:1.7}
footer{width:100%;padding:52px max(24px,calc((100% - var(--max))/2));background:#101820;color:#fff}
footer img{width:190px;max-width:100%;filter:brightness(0) invert(1)}
footer p{font:800 17px var(--head)}
footer div{display:flex;gap:22px;margin:25px 0}
footer a{font-size:13px;color:#dce7f1}
footer small{color:#93a3b2}
@media(max-width:900px){
  .site-header{position:sticky}
  .menu-button{display:block}
  .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 25px rgba(0,0,0,.08);flex-direction:column;gap:16px}
  .site-header nav.open{display:flex}
  .hero{grid-template-columns:minmax(0,1fr);padding-top:50px}
  .hero-visual{min-height:0}
  .value-strip{grid-template-columns:1fr 1fr}
  .product-grid,.section-heading,.updates-panel,.reservation-intro{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:minmax(0,1fr)}
  .product-image{height:auto;aspect-ratio:4/3}
  .reservation-intro .eyebrow,.reservation-intro h2,.reservation-intro>p,.privacy-note{grid-column:1;grid-row:auto}
}
@media(max-width:560px){
  .site-header{height:74px;padding:0 16px;gap:10px}
  .brand img{width:132px}
  .header-cta{padding:10px 11px;font-size:12px}
  .menu-button{padding:8px 9px;font-size:12px}
  .hero{padding:46px 18px}
  .hero h1{font-size:46px}
  .hero-visual{grid-template-columns:minmax(0,1fr);gap:14px;padding:14px}
  .hero-product-core,.hero-product-pro{margin:0}
  .hero-product img{aspect-ratio:16/10}
  .hero-product figcaption{padding:14px}
  .value-strip{grid-template-columns:minmax(0,1fr);padding-left:0;padding-right:0}
  .value-strip div,.value-strip div:last-child{border-right:0;border-left:0;border-bottom:1px solid rgba(255,255,255,.2);padding:18px}
  .products-section,.how-panel,.faq-section{padding:70px 18px}
  .how-panel{padding-top:0}
  .product-content{padding:25px}
  .interest-row{align-items:stretch;flex-direction:column}
  .updates-panel{padding:36px 26px;width:calc(100% - 36px)}
  .reservation-section{width:calc(100% - 36px);padding:38px 18px}
  .selection-grid,.form-grid{grid-template-columns:minmax(0,1fr)}
  .form-wide{grid-column:1}
  .reservation-form fieldset{padding:22px 16px}
  .form-footer{align-items:stretch;flex-direction:column;padding:22px 18px}
  .form-footer .button{width:100%}
  .reservation-confirmation{padding:36px 18px}
  .reservation-confirmation dl div{grid-template-columns:minmax(0,1fr);gap:4px}
  .text-link{display:block;margin:18px 0 0}
  .build-banner{padding-left:8px;padding-right:8px;font-size:8px;letter-spacing:.07em}
  .product-image{height:auto;aspect-ratio:4/3}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
