/* MAEDELSTEDE V5 — story and booking experiences; extends the compact V4 styles. */
:root { --v5-focus:#a76f4a; }
html { scroll-padding-top:114px; }
.visually-hidden { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
:where(.story-hero,.story-opening,.story-timeline-section,.story-people,.story-experience,.booking-intro,.booking-body) { overflow:clip; }
:where(a,button,input,select,textarea):focus-visible { outline:3px solid var(--v5-focus);outline-offset:3px; }
/* editorial family story */
.story-hero {min-height:clamp(535px,77svh,735px);position:relative;isolation:isolate;display:flex;align-items:center;color:#fff;background:#1c362a;}
.story-hero-photo,.story-hero-shade{position:absolute;inset:0;z-index:-2;}
.story-hero-photo{background-image:var(--story-photo);background-size:cover;background-position:center 55%;transform:scale(1.04);will-change:transform;}
.story-hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(15,35,25,.8),rgba(15,35,25,.38) 60%,rgba(15,35,25,.2)),linear-gradient(0deg,#11281b85,transparent 38%);}
.story-hero-content{position:relative;padding:140px 0 95px;}
.story-hero h1{font-size:clamp(48px,5.2vw,69px);letter-spacing:-.048em;line-height:.99;margin:0 0 24px;max-width:900px;}
.story-hero h1 em{font-weight:400;color:#e9d6b8;}
.story-hero-content>p:not(.eyebrow){max-width:420px;color:#f5f2e9;line-height:1.65;font-size:14px;}
.story-scroll-cta{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid #ffffff91;padding:12px 0;font-size:11px;font-weight:700;margin-top:14px;}
.story-scroll-cta span{font-size:19px;line-height:1;}
.story-hero-corner{position:absolute;bottom:26px;right:4vw;font-size:9px;letter-spacing:.19em;font-weight:700;}
.story-chapters{position:sticky;top:var(--header-h);z-index:35;background:var(--paper);border-bottom:1px solid var(--line);color:var(--ink);}
.story-chapters-inner{display:flex;align-items:center;gap:clamp(20px,3vw,48px);overflow-x:auto;scrollbar-width:none;white-space:nowrap;min-height:53px;}
.story-chapters-inner::-webkit-scrollbar{display:none;}
.story-chapters a{align-self:stretch;display:flex;align-items:center;font-size:10px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent;transition:color .2s,border-color .2s;}
.story-chapters a.is-current,.story-chapters a:hover{color:var(--ink);border-color:var(--clay);}
.story-chapters-progress{height:2px;background:var(--clay);width:0;transition:width .12s linear;}
.story-opening{background:var(--linen);}
.story-opening-layout{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(28px,7vw,120px);align-items:start;}
.story-opening-kicker{display:flex;flex-direction:column;justify-content:start;border-top:1px solid var(--line);padding-top:21px;}
.story-giant-index{font-family:var(--serif);line-height:.82;font-weight:500;font-size:clamp(100px,11vw,160px);letter-spacing:-.075em;color:var(--green);}
.story-opening-kicker p{font-size:9px;letter-spacing:.16em;color:var(--muted);font-weight:700;margin-top:20px;}
.story-opening-copy{max-width:700px;}
.story-opening-copy h2,.story-section-heading h2,.story-timeline-intro h2,.story-pause-copy h2,.story-experience-top h2,.story-final h2{font-size:clamp(34px,4.2vw,58px);letter-spacing:-.045em;line-height:1.04;}
.story-opening-copy h2 em,.story-section-heading h2 em,.story-timeline-intro h2 em,.story-pause-copy h2 em,.story-experience-top h2 em{font-weight:400;color:var(--green);}
.story-large-copy{font-size:clamp(18px,2.1vw,24px)!important;line-height:1.46;font-family:var(--serif);letter-spacing:-.016em;color:var(--ink);margin:20px 0;}
.story-opening-copy p:last-child{max-width:610px;font-size:14px;color:var(--muted);line-height:1.8;}
.story-image-band{background:var(--linen);padding:0 0 clamp(44px,6vw,78px);}
.story-image-pair{display:grid;grid-template-columns:1.32fr .68fr;gap:16px;align-items:end;}
.story-image-pair figure{margin:0;position:relative;overflow:hidden;background:var(--sand);border-radius:var(--edge);}
.story-image-pair img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s ease;}
.story-image-pair figure:hover img{transform:scale(1.025);}
.story-photo-wide{height:clamp(300px,38vw,470px);}
.story-photo-portrait{height:clamp(260px,29vw,370px);}
.story-image-pair figcaption,.story-experience-gallery figcaption{position:absolute;bottom:14px;left:15px;color:white;text-shadow:0 2px 10px #000a;background:rgba(12,30,20,.52);padding:8px 11px;font-size:10px;font-weight:600;}
.story-timeline-section{background:var(--paper);}
.story-timeline-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,140px);}
.story-timeline-intro{position:sticky;top:150px;align-self:start;}
.story-timeline-intro>p:last-child{max-width:380px;color:var(--muted);font-size:14px;}
.story-timeline{position:relative;padding-left:34px;}
.story-timeline::before{content:"";position:absolute;top:16px;bottom:21px;left:5px;width:1px;background:var(--line);}
.story-milestone{position:relative;padding-bottom:41px;max-width:530px;}
.story-milestone:last-child{padding-bottom:0;}
.story-milestone-marker{position:absolute;left:-34px;top:5px;width:11px;height:11px;background:var(--linen);border:2px solid var(--clay);border-radius:100%;}
.story-milestone-date{display:block;color:var(--clay);font-weight:700;font-size:10px;letter-spacing:.15em;margin-bottom:9px;}
.story-milestone h3{font-size:clamp(25px,2.4vw,33px);margin:0 0 10px;}
.story-milestone p{max-width:490px;font-size:13px;color:var(--muted);line-height:1.8;}
.story-quote-band{padding:clamp(52px,8vw,115px) 0;background:#294635;color:#f4f1e6;text-align:center;}
.story-quote-band blockquote{font-family:var(--serif);font-size:clamp(28px,4.2vw,55px);line-height:1.13;letter-spacing:-.035em;max-width:900px;margin:20px auto;}
.story-quote-band blockquote em{color:#dfba90;font-weight:400;}
.story-quote-note{font-size:10px;color:#d6e2d7;}
.story-people{background:var(--linen);}
.story-section-heading{max-width:660px;margin-bottom:37px;}
.story-section-heading>p:last-child{max-width:530px;color:var(--muted);}
.story-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;}
.story-person{display:grid;grid-template-columns:.72fr 1.28fr;background:var(--paper);border:1px solid var(--line);border-radius:var(--edge);overflow:hidden;min-width:0;}
.story-person-art{display:flex;flex-direction:column;position:relative;min-height:100%;padding:17px;color:#fff;overflow:hidden;justify-content:space-between;}
.story-margo{background:radial-gradient(ellipse at 30% 72%,#779982 0,#426f57 45%,#294a36 80%);}
.story-emiel{background:radial-gradient(ellipse at 25% 75%,#758968 0,#405a3e 44%,#223f33 88%);}
.story-els{background:radial-gradient(ellipse at 25% 72%,#af9a70 0,#8a7153 40%,#5e503b 95%);}
.story-jo{background:radial-gradient(ellipse at 35% 75%,#7e8f70 0,#4f6648 43%,#304736 92%);}
.story-person-initial{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-size:clamp(130px,16vw,250px);line-height:1;color:#ffffff35;font-weight:400;}
.story-person-number,.story-person-role{z-index:1;position:relative;font-weight:700;letter-spacing:.14em;font-size:9px;}
.story-person-role{margin-top:auto;}
.story-person-copy{padding:clamp(20px,2.3vw,35px);}
.story-person-copy .eyebrow{font-size:8px;letter-spacing:.14em;}
.story-person-copy h3{font-size:clamp(32px,3.3vw,48px);margin:0 0 16px;}
.story-person-copy p:not(.eyebrow){font-size:12.5px;line-height:1.85;color:var(--muted);margin-bottom:15px;}
.story-person-copy p:last-child{margin-bottom:0;}
.story-parents{background:var(--sage);}
.story-family-pause{background:var(--sand);}
.story-pause-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(30px,6vw,90px);padding-top:50px;padding-bottom:50px;}
.story-pause-img{height:clamp(240px,29vw,385px);margin:0;overflow:hidden;border-radius:var(--edge);}
.story-pause-img img{width:100%;height:100%;object-fit:cover;display:block;}
.story-pause-copy p:last-child{color:var(--muted);max-width:450px;}
.story-experience{background:var(--paper);}
.story-experience-top{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(35px,7vw,130px);align-items:end;margin-bottom:27px;}
.story-experience-top p:last-child{color:var(--muted);line-height:1.8;max-width:470px;}
.story-experience-gallery{display:grid;grid-template-columns:1.13fr .87fr;grid-template-rows:240px auto;gap:16px;}
.story-experience-gallery figure{margin:0;position:relative;border-radius:var(--edge);overflow:hidden;min-width:0;}
.story-experience-gallery img{width:100%;height:100%;object-fit:cover;display:block;}
.story-exp-large{grid-row:1/3;height:100%;min-height:440px;}
.story-exp-small{height:240px;}
.story-exp-text{background:var(--sand);padding:clamp(23px,3vw,38px);border-radius:var(--edge);}
.story-exp-text>span{display:block;font-size:9px;font-weight:700;letter-spacing:.16em;color:var(--muted);}
.story-exp-text h3{font-size:clamp(21px,2.35vw,33px);margin:13px 0;line-height:1.15;}
.story-exp-text p{font-size:12px;color:var(--muted);}
.story-exp-text .text-link{display:inline-block;margin-top:5px;}
.story-final{background:#233d30;color:#fff;text-align:center;padding:clamp(66px,9vw,125px) 0;}
.story-final h2{font-size:clamp(38px,5.4vw,68px);margin-bottom:18px;}
.story-final h2 em{font-weight:400;color:#e4c7a4;}
.story-final .eyebrow{justify-content:center;}
.story-final-inner>p:not(.eyebrow){color:#e1e8dd;}
.story-final-links{display:flex;gap:22px;justify-content:center;align-items:center;margin-top:25px;flex-wrap:wrap;}
.story-final-secondary{font-size:11px;font-weight:700;border-bottom:1px solid #ffffff9c;padding:9px 0;}
/* Booking page */
.booking-intro{position:relative;isolation:isolate;background:#1b382c;color:#fff;min-height:320px;display:flex;align-items:center;}
.booking-intro::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#152e25e8,#192f277b),var(--book-intro-photo) center 55% /cover no-repeat;}
.booking-intro-inner{padding:108px 0 52px;}
.booking-intro h1{font-size:clamp(44px,5vw,65px);margin-bottom:14px;}
.booking-intro em{color:#e8ceb0;font-weight:400;}
.booking-intro-inner>p:last-child{font-size:13px;color:#eff2e8;max-width:550px;line-height:1.7;}
.booking-body{background:var(--linen);}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;align-items:start;gap:clamp(24px,4vw,60px);}
.booking-primary,.booking-side-card{min-width:0;}
.booking-topline{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.12em;font-weight:700;color:var(--muted);}
.booking-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);margin-bottom:36px;}
.booking-step-chip{color:var(--muted);padding:19px 0;display:flex;gap:8px;align-items:center;font-size:10px;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent;}
.booking-step-chip b{font-weight:700;color:inherit;}
.booking-step-chip.is-current{color:var(--ink);border-color:var(--clay);}
.booking-step-chip.is-done{color:var(--green);}
.booking-form fieldset{border:none;min-width:0;margin:0;padding:0;}
.booking-panel-head{margin-bottom:27px;}
.booking-panel-head .eyebrow{font-size:9px;}
.booking-panel-head h2{font-size:clamp(31px,3.2vw,46px);margin-bottom:10px;}
.booking-panel-head h2 em{font-weight:400;color:var(--green);}
.booking-panel-head p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:520px;}
.booking-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.booking-option{display:grid;grid-template-columns:94px minmax(0,1fr) 21px;align-items:center;position:relative;gap:13px;background:var(--paper);border:1px solid var(--line);padding:8px 12px 8px 8px;border-radius:var(--edge);min-height:98px;cursor:pointer;transition:border-color .17s,box-shadow .17s,transform .17s;}
.booking-option:hover{border-color:var(--clay);transform:translateY(-2px);}
.booking-option:has(input:checked){border-color:var(--green);box-shadow:0 0 0 1px var(--green);}
.booking-option:has(input:focus-visible){outline:3px solid var(--v5-focus);outline-offset:3px;}
.booking-option input{position:absolute;width:1px;height:1px;opacity:0;}
.booking-option-img{height:78px;aspect-ratio:1.13;background:#314f3a center /cover no-repeat;border-radius:3px;}
.booking-option-meta strong{display:block;font-size:13px;color:var(--ink);line-height:1.3;margin-bottom:5px;}
.booking-option-meta small{display:block;font-size:10px;line-height:1.5;color:var(--muted);}
.booking-option-check{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:11px;color:transparent;}
.booking-option:has(input:checked) .booking-option-check{background:var(--green);color:var(--linen);border-color:var(--green);}
.booking-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.booking-field{margin-bottom:20px;min-width:0;}
.booking-field label{display:block;font-size:11px;font-weight:700;color:var(--ink);margin-bottom:8px;}
.booking-field input,.booking-field select,.booking-field textarea{width:100%;max-width:100%;min-height:49px;border:1px solid var(--line);border-radius:var(--edge);background:var(--paper);color:var(--ink);font:500 13px var(--sans);padding:12px 14px;outline-offset:2px;}
.booking-field textarea{resize:vertical;min-height:120px;}
.booking-field input::placeholder,.booking-field textarea::placeholder{color:var(--muted);opacity:.75;}
.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-color:var(--green);}
.booking-field .booking-optional{color:var(--muted);font-weight:400;}
.booking-field-error{font-size:11px;min-height:0;color:#ae513c;line-height:1.55;}
.booking-field-error:not(:empty){padding:8px 0;}
.booking-disclaimer{font-size:11px;max-width:620px;color:var(--muted);line-height:1.7;margin:7px 0 0;}
.has-booking-js .booking-panel[hidden]{display:none!important;}
.booking-navigation{display:flex;justify-content:flex-end;align-items:center;gap:18px;min-height:92px;border-top:1px solid var(--line);margin-top:31px;padding-top:19px;}
.booking-next,.booking-mail-action{background:#294b3a;color:#fff;border:1px solid #294b3a;border-radius:var(--edge);padding:13px 21px;font:700 11px var(--sans);cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:46px;transition:background .2s,color .2s;}
.booking-next:hover,.booking-mail-action:hover{background:#40664d;}
.booking-back{margin-right:auto;background:transparent;border:0;color:var(--ink);font:600 11px var(--sans);padding:12px 0;cursor:pointer;}
.booking-review{margin:0;border-top:1px solid var(--line);}
.booking-review div,.booking-side-summary div{display:grid;grid-template-columns:130px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;}
.booking-review dt,.booking-side-summary dt{font-weight:600;font-size:11px;color:var(--muted);}
.booking-review dd,.booking-side-summary dd{margin:0;font-size:12px;font-weight:600;line-height:1.55;color:var(--ink);overflow-wrap:anywhere;white-space:pre-line;}
.booking-not-a-booking{border-left:3px solid var(--clay);margin:25px 0;padding:13px 16px;background:var(--sand);font-size:11.5px;color:var(--muted);line-height:1.75;}
.booking-not-a-booking strong{display:block;color:var(--ink);font-size:12px;}
.booking-copy-action{display:inline-flex;gap:10px;align-items:center;min-height:46px;background:none;border:0;color:var(--green);font:700 11px var(--sans);padding:12px 0;margin:0 0 0 15px;cursor:pointer;}
.booking-copy-status{font-size:11px;color:var(--green);display:block;min-height:18px;}
.booking-official-note{margin-top:30px;border-top:1px solid var(--line);padding-top:23px;}
.booking-official-note span{font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--muted);}
.booking-official-note p{font-size:13px;color:var(--ink);margin:6px 0 10px;}
.booking-official-note a{font-size:12px;font-weight:700;color:var(--green);text-decoration:underline;text-underline-offset:4px;}
.booking-aside{position:sticky;top:calc(var(--header-h) + 20px);}
.booking-side-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--edge);overflow:hidden;box-shadow:0 14px 30px #0000000d;}
.booking-side-photo{position:relative;aspect-ratio:1.7;background:#37533d center 55% /cover no-repeat;}
.booking-side-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,#152b2399);}
.booking-side-photo span{position:absolute;z-index:1;bottom:14px;left:17px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.14em;}
.booking-side-content{padding:25px;}
.booking-side-content h3{font-family:var(--serif);font-size:32px;font-weight:500;line-height:1;margin-bottom:23px;}
.booking-side-content h3 em{font-weight:400;color:var(--green);}
.booking-side-summary{margin:0;}
.booking-side-summary div{display:block;padding:12px 0;}
.booking-side-summary dt{margin-bottom:4px;font-size:10px;}
.booking-side-summary dd{font-size:12px;}
.booking-side-footer{display:flex;flex-direction:column;gap:7px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;}
.booking-side-footer span:before{content:"✓";color:var(--green);font-weight:700;margin-right:9px;}
.booking-side-caption{font-family:var(--serif);font-size:21px;font-style:italic;line-height:1.3;color:var(--muted);margin:22px 13px;}
.booking-bottom{background:var(--sage);}
.booking-bottom-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;}
.booking-bottom h2{font-size:clamp(31px,3vw,43px);margin-bottom:12px;}
.booking-bottom h2 em{font-weight:400;color:var(--green);}
.booking-bottom p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:460px;}
.booking-bottom-contact{display:flex;flex-direction:column;border-top:1px solid var(--line);}
.booking-bottom-contact a{font-size:14px;font-weight:600;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);}
/* Full dark support and accent legibility */
html[data-theme="dark"] .story-person-art{color:#fff;}
html[data-theme="dark"] .booking-option:has(input:checked) .booking-option-check{color:#19271e;}
html[data-theme="dark"] .booking-next,html[data-theme="dark"] .booking-mail-action{background:#b9cfb0;border-color:#b9cfb0;color:#18281e;}
html[data-theme="dark"] .booking-next:hover,html[data-theme="dark"] .booking-mail-action:hover{background:#d1e3ca;}
html[data-theme="dark"] .story-chapters{background:#1b2822;}
html[data-theme="dark"] .story-quote-band{background:#0f2218;}
html[data-theme="dark"] .story-final{background:#102419;}
html[data-theme="dark"] .story-quote-band .eyebrow,html[data-theme="dark"] .story-final .eyebrow{color:#f2f0e7;}
html[data-theme="dark"] .story-large-copy{color:var(--ink);}
@media(max-width:1100px){
 .booking-layout{grid-template-columns:minmax(0,1fr) 265px;gap:28px;}
 .booking-option{grid-template-columns:75px minmax(0,1fr) 20px;gap:9px;}.booking-option-img{height:70px;}
 .story-person{grid-template-columns:.55fr 1.45fr;}
}
@media(max-width:930px){
 .booking-layout{grid-template-columns:minmax(0,1fr) 245px;gap:22px;}
 .booking-options{grid-template-columns:1fr;}
 .booking-option{grid-template-columns:100px minmax(0,1fr) 23px;}
 .booking-option-img{height:76px;}
 .story-person-grid{grid-template-columns:1fr 1fr;}
 .story-person{display:block;}.story-person-art{height:145px;}.story-person-initial{font-size:185px;}
 .story-person-copy{min-height:320px;}
}
@media(max-width:700px){
 html{scroll-padding-top:100px;}
 .story-hero{min-height:535px;}
 .story-hero-photo{background-position:60% center;}
 .story-hero-shade{background:linear-gradient(90deg,#152b20c9,#152b2070),linear-gradient(0deg,#142519aa,transparent 45%);}
 .story-hero-content{padding:120px 0 75px;}
 .story-hero h1{font-size:clamp(40px,10.3vw,58px);}
 .story-hero-corner{right:18px;font-size:7px;}
 .story-chapters-inner{gap:23px;min-height:46px;}
 .story-chapters a{font-size:9px;}
 .story-opening-layout{grid-template-columns:1fr;gap:30px;}
 .story-opening-kicker{flex-direction:row;gap:25px;align-items:center;}
 .story-giant-index{font-size:92px;}
 .story-opening-kicker p{margin:0;}
 .story-image-pair{grid-template-columns:1.2fr .8fr;gap:8px;}
 .story-photo-wide{height:255px;}.story-photo-portrait{height:215px;}
 .story-timeline-layout{grid-template-columns:1fr;gap:25px;}
 .story-timeline-intro{position:static;}
 .story-quote-band{padding:60px 0;}
 .story-person-grid{grid-template-columns:1fr;gap:14px;}
 .story-person{display:grid;grid-template-columns:85px 1fr;}
 .story-person-art{height:auto;min-height:100%;padding:10px;}
 .story-person-initial{font-size:115px;}
 .story-person-number,.story-person-role{font-size:7px;writing-mode:vertical-rl;}
 .story-person-role{transform:rotate(180deg);}
 .story-person-copy{min-height:0;padding:21px;}
 .story-person-copy h3{font-size:32px;margin-bottom:10px;}
 .story-person-copy p:not(.eyebrow){font-size:12px;}
 .story-pause-grid{grid-template-columns:1fr;gap:24px;padding-top:38px;padding-bottom:40px;}
 .story-pause-img{height:255px;}
 .story-experience-top{grid-template-columns:1fr;gap:4px;}
 .story-experience-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:9px;}
 .story-exp-large{grid-row:auto;grid-column:1/3;min-height:0;height:280px;}
 .story-exp-small{height:170px;}
 .story-exp-text{grid-column:1/3;grid-row:3;}
 .story-exp-small{grid-column:1/3;}
 .story-final{padding:65px 0;}
 .booking-intro{min-height:300px;}.booking-intro-inner{padding:116px 0 48px;}
 .booking-intro h1{font-size:44px;}
 .booking-layout{grid-template-columns:1fr;}
 .booking-aside{position:static;order:0;}
 .booking-side-card{display:grid;grid-template-columns:.65fr 1fr;}
 .booking-side-photo{aspect-ratio:auto;min-height:170px;}
 .booking-side-content{padding:16px;}
 .booking-side-content h3{font-size:24px;margin-bottom:8px;}
 .booking-side-summary div{padding:7px 0;}
 .booking-side-footer,.booking-side-caption{display:none;}
 .booking-options{grid-template-columns:repeat(2,minmax(0,1fr));}
 .booking-option{grid-template-columns:1fr 18px;gap:8px;padding:7px;}
 .booking-option-img{grid-column:1/3;aspect-ratio:1.75;height:auto;width:100%;}
 .booking-option-meta{padding:2px 2px 8px;}
 .booking-option-check{margin-right:4px;}
 .booking-progress{margin-bottom:26px;}
 .booking-bottom-inner{grid-template-columns:1fr;gap:20px;}
}
@media(max-width:420px){
 .story-hero h1{font-size:41px;}
 .story-person{grid-template-columns:68px 1fr;}
 .story-person-initial{font-size:94px;}
 .story-person-copy{padding:17px;}
 .story-person-copy p:not(.eyebrow){font-size:11.5px;}
 .booking-progress .booking-step-chip{flex-direction:column;gap:0;align-items:flex-start;font-size:9px;}
 .booking-side-card{grid-template-columns:100px 1fr;}
 .booking-side-content{padding:12px;}
 .booking-side-content .eyebrow{display:none;}
 .booking-side-content h3{font-size:20px;margin-bottom:9px;}
 .booking-side-summary div{padding:3px 0;}.booking-side-summary dt{display:none;}
 .booking-side-summary dd{font-size:10px;}
 .booking-option-meta strong{font-size:12px;}.booking-option-meta small{font-size:9px;}
 .booking-field-row{grid-template-columns:1fr;gap:0;}
 .booking-review div{grid-template-columns:100px 1fr;}
 .booking-mail-action{width:100%;gap:14px;}
 .booking-copy-action{margin-left:0;}
}
@media(prefers-reduced-motion:reduce){
 .story-hero-photo{transform:none!important;will-change:auto;}
 .booking-option:hover{transform:none!important;}
 .story-image-pair figure:hover img{transform:none!important;}
 .story-chapters-progress{transition:none!important;}
}
/* Explicit hidden controls even if display is customized above. */
.booking-next[hidden],.booking-back[hidden]{display:none!important;}

.booking-nojs{border-left:3px solid var(--clay);background:var(--sand);padding:15px 19px;font-size:13px;}
.booking-nojs a{text-decoration:underline;text-underline-offset:3px;}
