@scope (.imported-product) {
/* Separate product-focused concept; the editorial preview remains unchanged. */
html[data-hero="village"] .hero{height:690px;min-height:0}
html[data-hero="village"] .hero-inner{padding-top:185px;padding-bottom:0}
html[data-hero="village"] .hero h1{font-size:clamp(38px,4vw,58px);max-width:820px}
.chapter-inner,.control-banner-inner,.chapter-rail,.bc-layout{max-width:1200px;width:calc(100% - 96px)}
.control-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:45px 0}
.control-banner h2{font-size:clamp(25px,2.7vw,39px);max-width:22ch;text-align:left}
.customer-banner{flex-shrink:0}
.chapter-rail{margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:26px 0;border-top:1px solid #b7d5c53b;border-bottom:1px solid #b7d5c53b}
.chapter-rail a{display:flex;align-items:center;gap:12px;font:12px/1.5 'Berkeley Mono',monospace;text-decoration:none;color:#d2e4db}
.chapter-rail a span{flex-shrink:0;width:36px;height:36px;border:1px solid #a8c4b76b;border-radius:50%;display:grid;place-items:center}
.chapter-rail a:hover{color:white}
.chapter .chapter-inner{grid-template-columns:minmax(0,.8fr) minmax(0,1.65fr);gap:50px;padding:70px 0;min-height:0}
.chapter .chapter-copy{padding:0;max-width:none;background:none}
.chapter .chapter-number{position:static;display:block;font:14px/1.4 'Berkeley Mono',monospace;letter-spacing:0;color:inherit;margin-bottom:16px}
.chapter .chapter-number:after{content:'';display:block;width:24px;height:1px;background:currentColor;opacity:.55;margin-top:14px}
.chapter .eyebrow{font-size:12px;margin-bottom:16px}
.chapter h2{font-size:clamp(30px,3vw,44px);line-height:1.25;letter-spacing:-.045em}
.acquisition .chapter-inner{padding-top:155px;padding-bottom:70px}
.acquisition .ads-proof{padding:0}
.acquisition .ads-proof img{height:470px;object-fit:cover;object-position:left top;border-radius:8px}
.acquisition .screenshot-open{display:block;width:100%}
.booking-types .chapter-inner{grid-template-columns:.7fr 2fr;gap:34px;padding:55px 0}
.booking-type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:none}
.booking-types .booking-type{display:flex;flex-direction:column-reverse;justify-content:space-between;padding:18px 12px;background:#f8faf5;border:1px solid #dce7dc!important;border-radius:9px;color:#173e32}
.booking-type h3{font-size:15px;color:#173e32;letter-spacing:-.04em;margin:16px 0 0;overflow-wrap:anywhere}
.booking-type figcaption p{display:none}
.booking-types .booking-type svg{width:100%;max-height:none;height:150px;margin:0}
.booking-type svg text{fill:#426358;font-size:16px}
.booking-type svg .bk-count{fill:#103f30}
.bk-empty,.bk-lane{stroke:#9ab5a5}.bk-grid{stroke:#c9d9cf}.bk-bar{fill:#b8d8c7}
.flows .chapter-inner{display:block;padding:60px 0}
.flows .chapter-copy{display:grid;grid-template-columns:55px 1fr;align-items:start}
.flows .eyebrow{display:none}
.flows .chapter-copy h2{margin:0}
.flows .chapter-copy h2 br{display:none}
.product-flow{height:360px;position:relative;margin:30px auto 0;max-width:1100px}
.orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.orbit ellipse{fill:none;stroke:#b3c9be;stroke-width:1.2}
.orbit .orbit-progress{stroke:#34775f;stroke-width:2;stroke-dasharray:12 88;animation:orbit-travel 18s linear infinite}
@keyframes orbit-travel{to{stroke-dashoffset:-100}}
.orbit-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:24px/1.4 'Berkeley Mono',monospace;text-align:center;color:#264f40}
.orbit-node{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;padding:13px 19px;border-radius:30px;background:#edf3ed;color:#224d3d;font:16px/1.3 Cabin,sans-serif;box-shadow:0 5px 18px #24473508;animation:node-highlight 18s infinite;animation-delay:calc(var(--step)*3s)}
.orbit-node svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.orbit-node small{font:13px/1.7 Cabin,sans-serif;display:block}
.orbit-node-0{left:29%;top:17%}.orbit-node-1{left:71%;top:17%}.orbit-node-2{left:91%;top:50%;flex-wrap:wrap;max-width:170px;border-radius:16px}.orbit-node-2 small{flex-basis:100%;padding-left:42px}.orbit-node-3{left:71%;top:83%}.orbit-node-4{left:29%;top:83%}.orbit-node-5{left:9%;top:50%}
@keyframes node-highlight{0%,14%{background:#d5e8db}17%,100%{background:#edf3ed}}
.briefing-chapter .chapter-inner{padding:70px 0;grid-template-columns:1fr 1.25fr;gap:85px}
.briefing-chapter .chapter-copy{padding-right:0;padding-bottom:95px}
.briefing-chapter .chapter-copy .briefing-raven-top{left:0;right:auto;bottom:0;width:115px;height:85px}
.briefing-chapter .briefing-scene{max-width:530px;padding:0 20px 0 0}
.agent-briefing{transform:rotate(-1deg);padding:27px 29px 20px}
.agent-briefing h3{font-size:28px}
.agent-briefing .briefing-date{font-size:11px;letter-spacing:.06em}
.agent-briefing h4{font-size:23px}
.briefing-recommendations li{padding:19px 0}
.briefing-recommendations li div>p:last-child{font-size:16px}
.briefing-scene .briefing-raven-side{width:94px;height:76px;right:-25px;top:56%}
.closing-dark .closing-inner{min-height:440px;padding:55px 0}
.closing-dark .closing-copy{padding-bottom:0}
.closing-dark h2{font-size:clamp(34px,3.7vw,52px)}
.closing-dark .closing-copy p{font-size:19px}
.closing-art{width:78%}
@media(max-width:1050px){.booking-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-types .chapter-inner{grid-template-columns:.75fr 1.4fr}.booking-types .booking-type svg{height:120px}.chapter .chapter-inner{gap:32px}.acquisition .ads-proof img{height:360px}.briefing-chapter .chapter-inner{gap:40px}.orbit-node{padding:12px;font-size:15px}.orbit-node-2{left:87%}.orbit-node-5{left:12%}.control-banner-inner{gap:20px}.customer-banner{flex-wrap:wrap}}
@media(max-width:700px){html[data-hero="village"] .hero{height:550px}html[data-hero="village"] .hero-inner{padding-top:125px}html[data-hero="village"] .hero h1{font-size:36px}.chapter-inner,.control-banner-inner,.chapter-rail,.bc-layout{width:calc(100% - 40px)}.control-banner-inner{display:block;padding:35px 0}.control-banner h2{font-size:27px}.customer-banner{justify-content:flex-start;margin-top:28px}.chapter-rail{grid-template-columns:1fr 1fr;gap:18px;padding:22px 0}.chapter-rail a{font-size:11px}.chapter .chapter-inner,.booking-types .chapter-inner,.briefing-chapter .chapter-inner{grid-template-columns:1fr;padding:42px 0;gap:25px}.acquisition .chapter-inner{padding-top:100px}.chapter h2{font-size:32px}.chapter .eyebrow{margin-bottom:12px}.chapter .chapter-number{margin-bottom:12px}.acquisition .ads-proof img{height:auto}.booking-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-types .booking-type{padding:12px 8px}.booking-type h3{font-size:14px}.booking-types .booking-type svg{height:115px}.booking-type svg text{font-size:19px}.flows .chapter-inner{display:block}.flows .chapter-copy{grid-template-columns:34px 1fr}.product-flow{height:310px;margin-top:24px}.orbit-center{font-size:16px;max-width:145px;width:45%}.orbit-node{font-size:14px;padding:8px;gap:5px;display:flex;flex-direction:column;background:var(--paper);border-radius:12px;min-width:53px;box-shadow:none}.orbit-node svg{width:24px;height:24px}.orbit-node-0{left:29%;top:15%}.orbit-node-1{left:71%;top:15%}.orbit-node-2{left:88%;max-width:85px}.orbit-node-2 small{padding-left:0;font-size:11px;line-height:1.6;text-align:center}.orbit-node-5{left:10%}.orbit-node-3{top:85%}.orbit-node-4{top:85%}.briefing-chapter .chapter-copy{padding-bottom:0;padding-right:0}.briefing-chapter .chapter-copy .briefing-raven-top{position:relative;display:block;left:auto;bottom:auto;margin-left:auto;width:90px;height:66px;margin-top:-4px}.briefing-chapter .briefing-scene{padding-right:8px}.agent-briefing{padding:22px 18px 18px}.agent-briefing h3{font-size:25px;max-width:none}.briefing-recommendations li{grid-template-columns:27px 1fr;gap:10px}.agent-briefing h4{font-size:21px}.briefing-scene .briefing-raven-side{width:65px;right:-10px;top:62%}.briefing-ready{font-size:14px}.closing-dark .closing-inner{min-height:600px;padding:42px 0 290px}.closing-art{width:130%;height:315px}.closing-dark h2{font-size:34px}.closing-dark .closing-copy{max-width:100%}.closing-footer>div{width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){.orbit-progress,.orbit-node{animation:none!important}}
/* Visual reconciliation with concept 40. Explicit resets isolate inherited layout. */
html[data-hero="village"] .hero-inner{top:30%;transform:translateX(-50%);padding:0;max-width:1200px}
html[data-hero="village"] .hero .kicker{display:none}
html[data-hero="village"] .hero h1{font-size:52px;line-height:1.23;max-width:850px}
.control-banner{padding:0;color:#173b32}
.intro-transition{padding-top:90px;background-image:linear-gradient(to bottom,#0b1f1d 0,rgba(11,31,29,.85) 35px,rgba(11,31,29,.35) 80px,rgba(251,250,247,.86) 160px,#fbfaf7 340px),url('/assets/seam-canvas.webp');background-position:center 78%;background-size:cover}
.control-banner-inner{padding:30px 0 35px;min-height:145px;box-sizing:border-box}
.control-banner h2{font:400 38px/1.28 'Berkeley Mono',monospace;max-width:23ch;margin:0;text-align:left}
.customer-banner{gap:24px;position:relative;padding-top:25px}
.customer-banner p{position:absolute;left:0;top:0;color:#5d776c;font-size:11px}
.customer-banner img{filter:brightness(.4) saturate(.5)}
.customer-divider{background:#839e8f66}
.chapter-rail{border-color:#173b3220;padding:25px 0}
.chapter-rail a{color:#345747;text-transform:uppercase;font-size:11px;font-weight:600}
.chapter-rail a:hover{color:#005943}
.chapter-rail a span{background:#e1ede5;border:0;width:42px;height:42px;font-size:15px;font-weight:400}
.chapter .chapter-copy{display:block;grid-template-columns:none;gap:0;padding:0}
.chapter .chapter-copy>*{grid-column:auto;grid-row:auto}
.chapter .chapter-number{font-size:14px;color:#204b3b;margin-bottom:22px}
.chapter .eyebrow{display:none}
.chapter h2{font:400 46px/1.14 Georgia,serif;letter-spacing:-.025em;margin:0 0 22px}
.chapter .chapter-inner{grid-template-columns:.75fr 1.65fr;gap:50px;padding:48px 0}
.acquisition .chapter-inner{padding-top:28px;padding-bottom:20px;align-items:stretch}
.acquisition .chapter-copy{display:flex;flex-direction:column;padding-top:45px;align-items:flex-start}
.acquisition .chapter-copy .lead{font:21px/1.4 Georgia,serif;color:#38574b;max-width:23ch;margin:0}
.acquisition-raven{width:170px;height:130px;object-fit:contain;margin-top:auto;padding-top:25px}
.acquisition .ads-proof{overflow:hidden;border-radius:7px;align-self:stretch}
.acquisition .screenshot-open{height:545px;overflow:hidden;position:relative;border:1px solid #dce2db;border-radius:7px;box-shadow:0 12px 30px #1636290b}
.acquisition .ads-proof img{position:absolute;left:0;top:0;width:135%;max-width:none;height:auto;object-fit:initial;border:0;border-radius:0;box-shadow:none}
.booking-types .chapter-inner{grid-template-columns:.7fr 1.7fr;gap:42px;padding:55px 0}
.booking .chapter-number{color:#bfd8ca}
.booking h2{font-size:39px}
.booking-type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.booking-types .booking-type{display:flex;flex-direction:column;padding:18px 10px 13px;min-height:258px;background:#fafbf7;justify-content:space-between;border-radius:9px;box-sizing:border-box}
.booking-type figcaption{text-align:center;margin-top:18px}
.booking-type h3{display:inline-block;padding:5px 6px;border-radius:5px;background:#e6eee6;font:12px/1.25 Cabin,sans-serif;letter-spacing:0;margin:0;overflow-wrap:normal;color:#315547}
.mini-days{display:grid;grid-template-columns:repeat(5,1fr);text-align:center;color:#648074;font:10px Cabin,sans-serif;margin:8px 0 12px}
.mini-slots{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,29px)}
.mini-slots span{border:1px solid #e3eae2;margin:0 -1px -1px 0;font:9px/29px Cabin,sans-serif;color:#226447;text-align:center}
.mini-slots .occupied{background:#b9dbc7}
.mini-classes>div{display:flex;gap:7px;align-items:center;margin:8px 0 13px}
.class-symbol{width:29px;height:36px;background:#dee8d9;border-radius:4px;display:grid;place-items:center;font-size:23px;color:#688b6e;flex-shrink:0}
.mini-classes p{font:13px/1.35 Cabin,sans-serif;color:#2b5141}
.mini-classes small,.mini-classes p>span{display:block;font-size:10px;color:#748478}
.mini-appointments,.mini-tables{font:12px/1.5 Cabin,sans-serif;text-align:center}
.mini-appointments>p,.mini-tables>p{font:11px 'Berkeley Mono',monospace;color:#5e7c6c;margin:4px 0 16px}
.mini-appointments>span{display:block;padding:4px;margin:2px 0;border-radius:4px}
.chosen{background:#d6e7db;color:#1f6247;border-radius:4px}
.mini-tables>div{display:flex;justify-content:space-between;gap:4px;padding:5px 3px;font-size:11px}
.mini-tables b{font-weight:400;color:#52735e}
.flows .chapter-inner{display:block;padding:60px 0 35px}
.flows .chapter-copy{display:flex;align-items:flex-start;gap:35px;width:100%;max-width:none;padding:0}
.flows .chapter-number{width:35px;flex-shrink:0;padding-top:8px}
.flows .chapter-copy h2{grid-column:auto;grid-row:auto;font-size:44px;max-width:none;margin:0}
.product-flow{height:355px;margin:24px auto 0;max-width:1100px}
.orbit-center{font:26px/1.25 Georgia,serif}
.orbit-node{background:#edf2eb;box-shadow:0 6px 14px #274a3010;padding:10px 18px 10px 9px;font-size:14px}
.orbit-node>svg{box-sizing:content-box;background:#fffefa;border:1px solid #e0e9df;border-radius:50%;padding:10px;width:28px;height:28px}
.orbit-node-2{gap:5px 9px;max-width:165px}.orbit-node-2 small{padding-left:59px}
.briefing-chapter .chapter-inner{grid-template-columns:.95fr 1.2fr;gap:85px;padding:45px 0 50px;align-items:center}
.briefing-chapter .chapter-copy{padding:0;max-width:470px}
.briefing-chapter h2{font:400 46px/1.12 Georgia,serif;max-width:16ch}
.briefing-chapter .chapter-copy .briefing-raven-top{position:relative;left:auto;bottom:auto;width:145px;height:112px;margin-top:25px}
.briefing-chapter .briefing-scene{padding:0;max-width:580px}
.agent-briefing{padding:28px 30px 25px;background:linear-gradient(120deg,#fffef9,#f8f7f1);border-radius:5px;transform:rotate(-1.5deg)}
.agent-briefing h3{font-size:30px}
.briefing-letterhead>span:last-child{display:none}
.agent-briefing .briefing-date{font-size:10px;margin-bottom:20px}
.briefing-recommendations li{padding:22px 0;gap:15px}
.agent-briefing h4{font-size:25px}
.agent-briefing .briefing-campaign{display:none}
.briefing-recommendations li div>p:last-child{font:17px/1.4 Georgia,serif}
.report-signoff{font:italic 15px/1.3 Georgia,serif!important;text-align:right;color:#4c715f;padding-top:10px}
.briefing-scene .briefing-raven-side{display:none}
.closing-dark .closing-inner{min-height:480px}
.closing-dark h2{font:400 48px/1.17 'Berkeley Mono',monospace}
.closing-dark .closing-copy p{display:none}
@media(max-width:1050px){.booking-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-types .chapter-inner{grid-template-columns:.7fr 1.4fr}.chapter h2,.briefing-chapter h2{font-size:38px}.acquisition .screenshot-open{height:430px}.acquisition .ads-proof img{width:150%}.customer-banner{gap:16px}.control-banner h2{font-size:30px}.briefing-chapter .chapter-inner{gap:40px}.mini-slots{grid-template-rows:repeat(5,25px)}}
@media(max-width:700px){html[data-hero="village"] .hero-inner{top:24%;width:calc(100% - 40px)}html[data-hero="village"] .hero h1{font-size:32px}.intro-transition{padding-top:90px}.control-banner-inner{display:block;padding:20px 0 25px;min-height:0}.control-banner h2{font-size:27px;margin:0;max-width:none}.customer-banner{padding-top:28px;margin-top:24px;justify-content:flex-start}.customer-banner p{width:auto}.chapter-rail{gap:15px}.chapter .chapter-inner,.booking-types .chapter-inner,.briefing-chapter .chapter-inner{grid-template-columns:1fr;padding:35px 0;gap:25px}.chapter h2,.briefing-chapter h2{font-size:36px}.acquisition .chapter-copy{padding-top:0;position:relative;padding-right:65px}.acquisition-raven{position:absolute;right:-8px;bottom:-6px;width:78px;height:75px;padding:0}.acquisition .chapter-copy .lead{font-size:19px}.acquisition .screenshot-open{height:300px}.acquisition .ads-proof img{width:145%}.booking-types .booking-type{min-height:240px}.booking-type h3{font-size:12px}.flows .chapter-inner{display:block}.flows .chapter-copy{gap:12px}.flows .chapter-copy h2{font-size:32px;line-height:1.2}.flows .chapter-number{width:22px;padding-top:4px}.product-flow{height:315px;margin-top:15px}.orbit-center{font-size:21px}.orbit-node{flex-direction:column;gap:4px;padding:6px;min-width:50px;font-size:13px}.orbit-node>svg{width:23px;height:23px;padding:6px}.orbit-node-2{max-width:78px}.orbit-node-2 small{padding:0;font-size:10px}.briefing-chapter h2{max-width:none}.briefing-chapter .chapter-copy{padding-right:45px;position:relative}.briefing-chapter .chapter-copy .briefing-raven-top{position:absolute;right:-5px;left:auto;bottom:-10px;width:80px;height:65px;margin:0}.agent-briefing{padding:23px 18px}.agent-briefing h3{font-size:27px}.agent-briefing h4{font-size:23px}.briefing-recommendations li{padding:18px 0;gap:10px}.briefing-recommendations li div>p:last-child{font-size:16px}.closing-dark .closing-inner{min-height:560px}.closing-dark h2{font-size:32px}}
/* Booking direction D: four distinct customer journeys. Static illustrations. */
.booking-types .chapter-inner{display:block;padding:55px 0 60px}
.booking-types .chapter-copy{margin-bottom:38px}
.booking-types .chapter-copy h2{font-size:44px;margin:0}
.booking-types .chapter-copy h2 br{display:none}
.booking-journey{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:25px;padding:25px 0;border-bottom:1px solid #b7d3c32b}
.booking-journey:last-child{border-bottom:0;padding-bottom:0}
.booking-journey h3{font:400 27px/1.2 Georgia,serif;color:#f9faf1;margin:0;overflow-wrap:anywhere}
.booking-journey h3:after{content:'';display:block;width:27px;height:1px;background:#a6c8b7;margin-top:16px}
.journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.journey-0 .journey-steps{grid-template-columns:1fr 1fr}.journey-1 .journey-steps{grid-template-columns:1.2fr 1fr}
.journey-panel{background:#fafbf5;border:1px solid #dae3d8;border-radius:8px;padding:16px 13px;color:#183f32;position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center}
.journey-panel+.journey-panel:before{content:'';position:absolute;left:-16px;top:50%;width:10px;height:1px;background:#afcbbd}
.journey-label{font:13px/1.3 'Berkeley Mono',monospace!important;margin:0 0 14px!important}
.journey-dates,.journey-times,.journey-party{display:grid;gap:5px}
.journey-dates{grid-template-columns:repeat(5,minmax(0,1fr))}
.journey-dates>span,.journey-times>span,.journey-party>span{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #dfe6db;border-radius:5px;padding:8px 2px;gap:4px}
.booking-journeys b{font-weight:500;font-size:14px}.booking-journeys small{font-size:11px;line-height:1.35;color:#61796a}
.booking-journeys .selected{background:#cce9d9;border:1px solid #81b69b;border-radius:5px}
.journey-times{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-0 .journey-times{grid-template-columns:repeat(5,minmax(0,1fr));height:100%}
.journey-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.journey-courses>div{display:flex;align-items:center;gap:7px;border:1px solid #e0e7dc;padding:8px 5px;border-radius:5px;min-width:0}
.journey-courses p{display:flex;flex-direction:column;gap:6px}.journey-courses b{font-size:13px}
.course-art{width:27px;height:43px;background:#e1e6d4;color:#668465;display:grid;place-items:center;font-size:26px;border-radius:4px;flex-shrink:0}.course-1{background:#e4d3b9;color:#94754d}.course-2{background:#d4e0c7;color:#668b48}
.journey-occurrences{display:grid;gap:3px}.journey-occurrences>div{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 5px;font-size:11px}
.journey-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.journey-people>div{display:flex;flex-direction:column;gap:3px;padding:7px 5px;border:1px solid #dfe6db;border-radius:5px}.person-avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#dae4d9;font:16px Georgia,serif;margin-bottom:3px}.journey-party{grid-template-columns:repeat(4,1fr);margin:auto 0}.journey-party>span{height:44px;font-size:15px}
@media(max-width:1100px){.booking-journey{grid-template-columns:170px minmax(0,1fr);gap:18px}.booking-journey h3{font-size:23px}.journey-steps{gap:12px}.journey-panel{padding:12px 8px}.journey-panel+.journey-panel:before{left:-10px;width:6px}.journey-courses>div{flex-direction:column;align-items:flex-start}.journey-occurrences>div{flex-wrap:wrap}.journey-label{font-size:11px!important}.journey-dates small{font-size:10px}}
@media(max-width:760px){.booking-types .chapter-inner{padding:38px 0}.booking-types .chapter-copy h2{font-size:34px}.booking-journey{display:block;padding:25px 0}.booking-journey h3{font-size:25px;margin-bottom:20px}.booking-journey h3:after{display:none}.journey-steps,.journey-0 .journey-steps,.journey-1 .journey-steps{grid-template-columns:1fr;gap:12px}.journey-panel{padding:16px}.journey-panel+.journey-panel:before{top:-10px;left:50%;width:1px;height:6px}.journey-label{font-size:13px!important}.booking-journeys b{font-size:15px}.booking-journeys small{font-size:12px}.journey-courses>div{flex-direction:row}.journey-courses b{font-size:13px}.journey-courses small{font-size:11px}.journey-occurrences>div{font-size:12px;padding:8px 5px}.journey-times>span{padding:9px 2px}.journey-people>div{padding:10px}.journey-dates>span{padding:10px 2px}}
/* Match the selected four-row composition, including its imagery and scale. */
.booking-types{background:radial-gradient(ellipse at 55% 30%,#00443a,#00392f 70%,#003e33);color:#fafbf3}
.booking-types .chapter-inner{max-width:1430px;width:calc(100% - 106px);padding:42px 0 56px}
.booking-types .chapter-copy{margin-bottom:28px}
.booking-types .chapter-copy .chapter-number{font-size:16px;margin-bottom:22px}
.booking-types .chapter-copy h2{font:400 58px/1.15 Georgia,serif;letter-spacing:-.02em}
.booking-journey{grid-template-columns:280px minmax(0,1fr);gap:26px;padding:23px 0;border-color:#bddacc40}
.booking-journey h3{font-size:36px;line-height:1.12;letter-spacing:-.015em}
.journey-3 h3{font-size:32px}
.journey-steps{gap:40px}.journey-0 .journey-steps{grid-template-columns:1.04fr 1fr}.journey-1 .journey-steps{grid-template-columns:1.42fr 1fr}
.journey-panel{padding:13px 17px 16px;min-height:142px;background:linear-gradient(110deg,#fffef8,#f6f7f1);border:1px solid #dce6dc;border-radius:9px;box-shadow:0 7px 14px #002c221a;justify-content:flex-start}
.journey-panel+.journey-panel:before{left:-29px;width:18px;background:#c4dfd0}
.journey-label{display:flex;align-items:center;gap:17px;font:14px/1.4 'Berkeley Mono',monospace!important;color:#092e34;margin-bottom:12px!important}
.journey-label svg{width:23px;height:23px;fill:none;stroke:#153a44;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.booking-journeys b{font-family:'Berkeley Mono',monospace;font-size:14px;font-weight:400;color:#0b3040}
.booking-journeys small{font-family:'Berkeley Mono',monospace;font-size:11px;color:#536f70}
.booking-journeys .selected{background:linear-gradient(110deg,#b4ead5,#d9f2e4);border:1px solid #65b69b}
.journey-date-control{display:flex;align-items:center;gap:8px;flex:1}.journey-dates{flex:1;gap:0}.journey-0 .journey-dates{grid-template-columns:repeat(7,minmax(0,1fr))}
.date-chevron{font:25px/1 Georgia,serif;border:1px solid #d7e1d9;border-radius:50%;width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;color:#183e44}
.journey-dates>span{border-radius:0;padding:8px 2px;gap:6px;border-color:#e0e6dd}
.journey-dates>span.selected{border-radius:4px}.journey-dates b{font-size:16px;font-weight:600}
.journey-times{flex:1;gap:6px}.journey-0 .journey-times{height:auto}.journey-times>span{padding:8px 2px}
.journey-courses{gap:10px;flex:1}.journey-courses>div{padding:7px;gap:10px;position:relative;align-items:center}
.course-art{width:64px;height:82px;background-image:url('/assets/editorial/booking-reference-details.png');background-size:1228.8px 819.2px;background-repeat:no-repeat;border-radius:6px;flex-shrink:0}
.course-0{background-position:-313.6px -365.6px}.course-1{background-position:-474.4px -365.6px}.course-2{background-position:-635.2px -365.6px}
.journey-courses b{font-size:12px}.journey-courses small{font-size:11px;line-height:1.5}
.journey-courses .selected:after,.journey-people .selected:after{content:'✓';position:absolute;right:5px;top:5px;width:18px;height:18px;border-radius:50%;background:#003a3e;color:white;text-align:center;font:12px/18px Arial}
.journey-occurrences{gap:3px;flex:1}.journey-occurrences>div{font:11px/1.4 'Berkeley Mono',monospace;justify-content:space-between;padding:6px 4px;white-space:nowrap}
.journey-occurrences>div:before{content:'';width:15px;height:15px;border-radius:50%;border:1px solid #7599a1;flex-shrink:0}.journey-occurrences>.selected:before{background:#006050;box-shadow:inset 0 0 0 4px #438c7a}
.journey-people{gap:7px;flex:1}.journey-people>div{position:relative;padding:7px 10px;gap:3px}.person-avatar{width:48px;height:48px;background-image:url('/assets/editorial/booking-reference-details.png');background-size:1536px 1024px;background-repeat:no-repeat}.person-A{background-position:-395px -679px}.person-E{background-position:-527px -679px}.person-S{background-position:-657px -679px}
.journey-party>span{height:55px;font-family:'Berkeley Mono',monospace}
@media(max-width:1250px){.booking-types .chapter-inner{width:calc(100% - 64px)}.booking-journey{grid-template-columns:210px minmax(0,1fr);gap:20px}.booking-journey h3{font-size:29px}.journey-3 h3{font-size:25px}.journey-steps{gap:24px}.journey-panel+.journey-panel:before{left:-18px;width:11px}.journey-panel{padding:12px 9px}.journey-label{gap:8px;font-size:12px!important}.course-art{width:48px}.journey-courses>div{flex-direction:column;align-items:flex-start}.journey-courses b{font-size:11px}.journey-occurrences>div{flex-wrap:wrap;white-space:normal}.date-chevron{width:18px;height:18px;font-size:20px}}
@media(max-width:760px){.booking-types .chapter-inner{width:calc(100% - 40px);padding:35px 0}.booking-types .chapter-copy h2{font-size:36px}.booking-journey{display:block}.booking-journey h3,.journey-3 h3{font-size:28px}.journey-steps{gap:15px}.journey-panel{padding:14px;min-height:0}.journey-label{font-size:13px!important}.journey-courses>div{flex-direction:column}.course-art{width:64px}.journey-panel+.journey-panel:before{left:50%;top:-12px;width:1px;height:8px}.journey-occurrences>div{font-size:11px;flex-wrap:nowrap}.booking-journeys small{font-size:10px}.journey-people>div{padding:8px}.journey-dates>span{padding:9px 1px}.journey-date-control{gap:5px}.journey-times>span{padding:10px 2px}}
.booking.booking-types{background:radial-gradient(ellipse at 55% 30%,#00443a,#00392f 70%,#003e33)}
.course-art{height:70px}
@media(min-width:1251px){.journey-2 .journey-panel{min-height:156px}.journey-people>div{padding:5px 10px}.journey-people .person-avatar{margin-bottom:0}}
@media(max-width:760px){.booking-journey .journey-steps,.journey-0 .journey-steps,.journey-1 .journey-steps{grid-template-columns:minmax(0,1fr);gap:16px}.journey-panel{min-width:0}.journey-courses{gap:6px}.journey-courses>div{min-width:0;padding:6px}.journey-courses p{min-width:0}.journey-courses small{overflow-wrap:anywhere}.journey-occurrences>div{font-size:10px}.journey-0 .journey-times{grid-template-columns:repeat(5,minmax(0,1fr))}.journey-0 .journey-times b{font-size:12px}.journey-0 .journey-times small{font-size:10px}.journey-dates b{font-size:14px}}


/* ---------------------------------------------------------------------------
   Booking chapter, built to the picked render (imggen 81-booking-soft-cards-d,
   "D : SOFT CARDS") and laid out on chapter 01's content width.

   The block is the same width as `.chapter-inner` — `.bc-layout` is simply
   added to that selector list above, so it inherits chapter 01's whole width
   chain instead of carrying its own max-width. Inside it: the text column on
   the left, the four cards as a 2x2 grid held against the chapter's right edge.
   Each card opens with a mint header band carrying a line icon and the type
   name, so the four read as one family; below the band each is a different
   booking shape — a week matrix, a photo list, one person and their hours, two
   rooms plus party size and time.

   The cards are small on purpose: two fixed 300px columns, about 187px tall, so
   the 2x2 reads as four glimpses beside the headline rather than four forms.
   They are not a scaled copy of the render — the render's card is 467x390, a
   1.20 ratio; these are 1.60 — so the vertical rhythm is compressed harder than
   the horizontal one. Every interior dimension is `calc(var(--s) * Npx)`, with
   --s:1 at a 300px card, so the card and its contents narrow together.
--------------------------------------------------------------------------- */
/* Tokens sit on .bc-layout, not on the section: this file is wrapped in
   @scope (.imported-product), and the scoping root is not matched by its own
   class selector here — a rule on .booking-cards-section never applies, so
   every var() below it would resolve to nothing. The section's own background,
   colour and padding come from booking-transitions.css, which is unscoped. */
.bc-layout{--bc-paper:#fbf9f3;--bc-mint:#e0efe7;--bc-band:#e4f1ea;--bc-chosen:#08493a;--bc-hair:#e3e6e1;--bc-ink:#12312a;--bc-deep:#0d3b2e;--bc-muted:#5d6d66;--s:1;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:60px;align-items:center;padding:75px 0 75px}

/* Heading — left column, mirroring chapter 01. It carries 01's own classes
   (.chapter-copy, .chapter-number, .eyebrow, h2), so the ghost number, the mono
   headline and every breakpoint step come from 01's rules rather than from a
   second copy of them here: number 124px -> 92px, copy padding-top 88 -> 65,
   h2 clamp(34px,3.6vw,52px)/1.15 at -.05em.
   Only the colours are local, inverted for the pine ground in
   booking-transitions.css, which is unscoped and can outrank the id rules
   there. There is no lead paragraph: 01 carries one, but William asked for the
   number, eyebrow and headline only. */
/* The eyebrow: 01 has none, so its values come from the nearest sibling that
   does, chapter 03 — Berkeley Mono 13px/1.4 at .08em, uppercase, 18px below.
   Those live on `.chapter .eyebrow`, which cannot reach this section, so they
   are restated. 03 reads "03 / Flyter"; this one reads "Booking" as asked. */
.bc-heading>.eyebrow{font:13px/1.4 'Berkeley Mono',monospace;letter-spacing:.08em;text-transform:uppercase;margin:38px 0 18px}
/* 01 lets its h2 ride over the bottom of the ghost number; an eyebrow is too
   small to carry that overlap and just collides with the numeral, so it is
   pushed clear by 16px. The margin tracks the number's height and offset:
   124px at -14 over an 88px copy, then -8 over 65, then 92px at -8 over 65. */
@media(max-width:900px){.bc-heading>.eyebrow{margin-top:67px}}
@media(max-width:760px){.bc-heading>.eyebrow{margin-top:35px}}
/* 01's own steps for the two values it takes from an .acquisition-only rule
   that cannot reach this section: the copy's padding-top 88 -> 65 and the
   number's top -14 -> -8, both at 900. */
@media(max-width:900px){.bc-heading.chapter-copy{padding-top:65px}.bc-heading .chapter-number{top:-8px}}

/* The deck: four phones on a horizontal snap rail, plus a tab strip that names
   the four booking shapes and drives the rail. Each phone holds a whole
   customer-facing mobile booking screen — venue bar, the picker that suits that
   shape, and a sticky confirm button — so the chapter shows what a guest
   actually taps rather than four abstracted card fragments.
   The rail runs full-bleed past the layout gutter so the next phone peeks in at
   the edge; that peek is the swipe affordance. 2026-09-12. */
.bc-deck{--bc-gutter:48px;min-width:0}
/* A scroll box clips everything painted past its padding, the phones' drop
   shadow included, which drew a faint hard-edged rectangle round the deck. The
   block padding is widened to hold the shadow and handed back as negative
   margin, so the phones sit exactly where they did. 2026-09-14. */
.bc-rail{display:flex;gap:calc(var(--s)*16px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline-start:var(--bc-gutter);margin:calc(var(--s)*-24px) calc(-1*var(--bc-gutter)) calc(var(--s)*-50px);padding:calc(var(--s)*30px) var(--bc-gutter) calc(var(--s)*64px);scrollbar-width:none;-ms-overflow-style:none}
.bc-rail::-webkit-scrollbar{display:none}
.bc-rail:focus-visible{outline:3px solid #d89332;outline-offset:-3px;border-radius:calc(var(--s)*38px)}

/* The handset. A dark bezel reads as a device against the pine ground without
   drawing a literal phone outline — no notch, no camera, no speaker grille. */
.bc-phone{flex:none;scroll-snap-align:start;width:calc(var(--s)*268px);padding:calc(var(--s)*7px);border-radius:calc(var(--s)*36px);background:#06251e;box-shadow:0 20px 44px #00171c59,inset 0 0 0 1px #ffffff1f}
.bc-screen{display:flex;flex-direction:column;height:calc(var(--s)*596px);border-radius:calc(var(--s)*30px);overflow:hidden;background:var(--bc-paper);color:var(--bc-ink)}


/* The hero band — direction C, picked 2026-09-12. A photograph of the venue
   runs edge to edge under the venue bar and carries the screen's title, so the
   screen says "opplevelse" before it says "skjema". The scrim is a gradient on
   the wrapper rather than on the image, so the picture itself stays untouched
   and the white type has something to sit on whatever the photo is doing down
   there. 268 x 120 is the same 2.2 letterbox the picked render used. */
.bc-hero{position:relative;flex:none;height:calc(var(--s)*120px);background:#11302a;overflow:hidden}
.bc-hero>img{width:100%;height:100%;display:block;object-fit:cover}
.bc-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#06241dcc 0%,#06241d59 38%,transparent 68%)}
.bc-hero-t{position:absolute;left:calc(var(--s)*12px);right:calc(var(--s)*12px);bottom:calc(var(--s)*9px);z-index:1}
.bc-hero-t h3{margin:0;font:400 calc(var(--s)*22px)/1.1 var(--font-serif);letter-spacing:-.015em;color:#fff;text-wrap:balance}
.bc-hero-t p{margin:calc(var(--s)*2px) 0 0;font:400 calc(var(--s)*11.5px)/1.3 Cabin,sans-serif;color:#ffffffd4}

/* Venue bar. */
.bc-top{flex:none;display:flex;align-items:center;gap:calc(var(--s)*7px);height:calc(var(--s)*40px);padding:0 calc(var(--s)*12px);background:var(--bc-band);color:var(--bc-deep)}
.bc-top svg{width:calc(var(--s)*15px);height:calc(var(--s)*15px);flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bc-top b{min-width:0;font:400 calc(var(--s)*13px)/1 var(--font-serif);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.bc-view{flex:1;min-height:0;overflow:hidden;padding:calc(var(--s)*12px) calc(var(--s)*12px) 0}
.bc-view>:first-child{margin-top:0}
/* Vertical rhythm: 14px between groups, 6px from a label to the group it
   names. Set here with two classes because `.editorial p{margin:0}` outranks a
   single class on every <p>, which is how the labels lost their margins and
   the groups ended up touching. 2026-09-14. */
.bc-screen .bc-view>*+*{margin-top:calc(var(--s)*14px)}
.bc-screen .bc-view>.bc-lab+*{margin-top:calc(var(--s)*6px)}
.bc-lab{display:flex;align-items:baseline;font:600 calc(var(--s)*12px)/1.2 Cabin,sans-serif;letter-spacing:-.005em;color:var(--bc-ink)}
.bc-lab span{margin-left:auto;font-weight:400;font-size:calc(var(--s)*11px);color:var(--bc-muted)}
.bc-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Shared: everything pickable is a quiet outlined control that fills with pine
   when chosen, and sold-out states stay visible but dimmed and inert. */
.bc-day,.bc-slot,.bc-chip,.bc-class,.bc-room{box-sizing:border-box;border:1px solid var(--bc-hair);background:var(--bc-paper);color:var(--bc-ink);transition:background .16s,border-color .16s,color .16s}
.bc-day.is-on,.bc-slot.is-on,.bc-chip.is-on,.bc-class.is-on,.bc-room.is-on{background:var(--bc-chosen);border-color:var(--bc-chosen);color:#fff}
button.bc-day:hover:not(.is-on),button.bc-slot:hover:not(.is-on),button.bc-chip:hover:not(.is-on),button.bc-class:hover:not(.is-on),button.bc-room:hover:not(.is-on){background:#eef4ee}
/* Filters (day, when) take a lighter chosen state than the pick the button is
   written from, so two solid pine blocks never stack on one screen. */
.bc-day.is-on,.bc-chips-flow .bc-chip.is-on{background:var(--bc-mint);border-color:var(--bc-chosen);color:var(--bc-deep)}
/* Sold out: the content fades, the "Fullt" label stays readable. The same
   treatment on a time row and on a class card. */
.bc-slot.is-full,.bc-class.is-full{background:transparent}
.bc-slot.is-full b{color:#12312a57}
.bc-class.is-full>img{opacity:.45;filter:grayscale(.7)}
.bc-class.is-full .bc-cmeta{opacity:.5}
.bc-class.is-full .bc-tag{background:transparent;box-shadow:inset 0 0 0 1px var(--bc-hair);color:var(--bc-muted)}
.bc-day:focus-visible,.bc-slot:focus-visible,.bc-chip:focus-visible,.bc-class:focus-visible,.bc-room:focus-visible,.bc-go:focus-visible,.bc-tab:focus-visible{outline:3px solid #d89332;outline-offset:2px}

/* Day strip — five days across, the picked one solid. */
.bc-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:calc(var(--s)*5px)}
.bc-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--s)*2px);height:calc(var(--s)*46px);border-radius:calc(var(--s)*9px)}
.bc-day span{font:400 calc(var(--s)*9.5px)/1 Cabin,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--bc-muted)}
.bc-day b{font:600 calc(var(--s)*14px)/1 Cabin,sans-serif}
.bc-day.is-on span{color:var(--bc-deep)}

/* Time list — one row per departure, capacity on the right. */
.bc-slots{display:flex;flex-direction:column;gap:calc(var(--s)*6px)}
.bc-slot{display:flex;align-items:center;width:100%;height:calc(var(--s)*40px);padding:0 calc(var(--s)*13px);border-radius:calc(var(--s)*10px);text-align:left}
.bc-slot b{font:600 calc(var(--s)*14px)/1 Cabin,sans-serif}
.bc-slot small{margin-left:auto;font:400 calc(var(--s)*11.5px)/1 Cabin,sans-serif;color:var(--bc-muted)}
.bc-slot.is-on small{color:#ffffffcf}

/* Chips — times, party size, day filters. */
.bc-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--s)*6px)}
.bc-chips-flow{display:flex;flex-wrap:wrap}
.bc-chip{display:flex;align-items:center;justify-content:center;height:calc(var(--s)*32px);padding:0 calc(var(--s)*12px);border-radius:calc(var(--s)*8px);font:400 calc(var(--s)*12.5px)/1 Cabin,sans-serif;white-space:nowrap}
/* Widths follow the words, so "Denne uken" keeps its padding. */
.bc-chips-flow .bc-chip{flex:1 1 auto;min-width:0;padding:0 calc(var(--s)*10px)}

/* Class list — photo, title, instructor, spots left. */
.bc-classes{display:flex;flex-direction:column;gap:calc(var(--s)*7px)}
.bc-class{position:relative;display:flex;align-items:center;gap:calc(var(--s)*9px);width:100%;padding:calc(var(--s)*6px);border-radius:calc(var(--s)*12px);text-align:left}
/* A chosen class card keeps its paper and takes a pine outline plus a check on
   the photo; a whole card in solid pine was too heavy. */
.bc-class.is-on{background:var(--bc-paper);color:var(--bc-ink);box-shadow:inset 0 0 0 1px var(--bc-chosen)}
.bc-class.is-on:after{content:'';position:absolute;left:calc(var(--s)*2px);top:calc(var(--s)*2px);width:calc(var(--s)*18px);height:calc(var(--s)*18px);border-radius:50%;background:var(--bc-chosen) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/62% no-repeat;box-shadow:0 0 0 2px var(--bc-paper)}
.bc-class>img{width:calc(var(--s)*60px);height:calc(var(--s)*60px);flex:none;display:block;border-radius:calc(var(--s)*9px);object-fit:cover;background:#e8ece6}
.bc-cmeta{flex:1;min-width:0}
.bc-cmeta b{display:block;font:600 calc(var(--s)*13.5px)/1.2 Cabin,sans-serif;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bc-cmeta small{display:block;margin-top:calc(var(--s)*2px);font:400 calc(var(--s)*11px)/1.3 Cabin,sans-serif;color:var(--bc-muted)}
.bc-tag{flex:none;padding:calc(var(--s)*4px) calc(var(--s)*8px);border-radius:99px;background:var(--bc-mint);font:500 calc(var(--s)*10.5px)/1 Cabin,sans-serif;color:#17453a;white-space:nowrap}

/* The list's own way out, under it — a real screen always has one. */
.bc-more{display:flex;align-items:center;gap:calc(var(--s)*5px);padding:0;border:0;background:none;font:500 calc(var(--s)*12px)/1 Cabin,sans-serif;color:var(--bc-chosen)}
.bc-more svg{width:calc(var(--s)*14px);height:calc(var(--s)*14px);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bc-more:hover{text-decoration:underline;text-underline-offset:3px}
.bc-more:focus-visible{outline:3px solid #d89332;outline-offset:2px;border-radius:4px}

/* Practitioner. */
.bc-who{display:flex;align-items:center;gap:calc(var(--s)*10px);margin-top:calc(var(--s)*12px);min-width:0}
.bc-who>img{width:calc(var(--s)*40px);height:calc(var(--s)*40px);flex:none;display:block;border-radius:50%;object-fit:cover;background:#e8ece6}
.bc-who b{display:block;font:600 calc(var(--s)*13.5px)/1.2 Cabin,sans-serif;letter-spacing:-.01em}
.bc-who small{display:block;margin-top:calc(var(--s)*2px);font:400 calc(var(--s)*11px)/1.3 Cabin,sans-serif;color:var(--bc-muted)}

/* Rooms — the one place a photo leads. */
.bc-rooms{display:flex;flex-direction:column;gap:calc(var(--s)*6px)}
.bc-room{display:flex;align-items:center;gap:calc(var(--s)*9px);width:100%;padding:calc(var(--s)*5px);border-radius:calc(var(--s)*11px);text-align:left}
.bc-room>img{width:calc(var(--s)*72px);height:calc(var(--s)*42px);flex:none;display:block;border-radius:calc(var(--s)*7px);object-fit:cover;background:#e8ece6}
.bc-room .bc-cmeta b{font-weight:500}
.bc-room.is-on .bc-cmeta small{color:#ffffffbd}

/* The line every booking screen closes on: the promise attached to the choice.
   It sits in the confirm bar, right above the button it qualifies, so the rule
   is read at the moment of commitment and the list above keeps its room. */
.bc-note{display:flex;align-items:center;justify-content:center;gap:calc(var(--s)*6px);font:400 calc(var(--s)*11px)/1.35 Cabin,sans-serif;color:var(--bc-muted)}
.bc-foot .bc-note{margin:0 0 calc(var(--s)*6px)}
.bc-note svg{width:calc(var(--s)*13px);height:calc(var(--s)*13px);flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Confirm bar — the screen's one commitment, always parked at the bottom. */
.bc-foot{flex:none;padding:calc(var(--s)*8px) calc(var(--s)*12px) calc(var(--s)*7px);border-top:1px solid var(--bc-hair);background:var(--bc-paper)}
.bc-go{display:flex;align-items:center;justify-content:center;width:100%;height:calc(var(--s)*42px);padding:0 calc(var(--s)*10px);border:0;border-radius:calc(var(--s)*11px);background:var(--bc-chosen);color:#fff;font:500 calc(var(--s)*13.5px)/1 Cabin,sans-serif;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .16s}
.bc-go:hover{background:#0a5a47}
.bc-home{display:block;width:calc(var(--s)*92px);height:calc(var(--s)*3px);margin:calc(var(--s)*9px) auto 0;border-radius:99px;background:#0d3b2e2b}

/* Tab strip — names all four shapes and moves the rail. It sits on the pine
   ground, so it is the one control here painted in light-on-dark. */
.bc-tabs{display:flex;gap:calc(var(--s)*7px);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin-inline:calc(-1*var(--bc-gutter));padding:calc(var(--s)*2px) var(--bc-gutter)}
.bc-tabs::-webkit-scrollbar{display:none}
.bc-tab{flex:none;display:flex;align-items:center;gap:calc(var(--s)*7px);height:calc(var(--s)*34px);padding:0 calc(var(--s)*14px);border:1px solid #b7d5c340;border-radius:99px;background:transparent;color:#cfe3d7;font:400 calc(var(--s)*12px)/1 Cabin,sans-serif;letter-spacing:-.01em;white-space:nowrap;transition:background .18s,border-color .18s,color .18s}
.bc-tab svg{width:calc(var(--s)*16px);height:calc(var(--s)*16px);flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.bc-tab:hover{background:#ffffff14;color:#eef6f0}
.bc-tab.is-on{background:var(--bc-mint);border-color:var(--bc-mint);color:var(--bc-deep)}
.bc-tab.is-on svg{opacity:1}

/* Show all three booking views on desktop. On smaller desktops the heading
   moves above the deck so the screens stay readable without clipping. */
@media(min-width:901px){
.bc-layout{column-gap:48px}
.bc-deck{--bc-gutter:0px;width:calc(var(--s)*836px)}
/* Room for the shadow at the sides too; nothing scrolls at this width. */
.bc-rail{margin-inline:-48px;padding-inline:48px;scroll-padding-inline-start:48px}
/* All three phones are on screen, so the strip stops being tabs with one
   chosen and becomes one caption centred under each phone. */
.bc-tabs{display:grid;grid-template-columns:repeat(3,calc(var(--s)*268px));column-gap:calc(var(--s)*16px);margin-inline:0;padding-inline:0;overflow:visible}
.bc-tab,.bc-tab.is-on,.bc-tab:hover{justify-content:center;border-color:transparent;background:transparent;color:#cfe3d7}
.bc-tab.is-on svg{opacity:.8}
}
@media(min-width:901px) and (max-width:1279px){
.bc-layout{--s:.9;display:block}
.bc-heading{padding-bottom:32px}
.bc-deck{margin-inline:auto}
}
@media(max-width:900px){
.bc-layout{display:block;padding-bottom:30px}
.bc-heading{padding-bottom:22px}
}
@media(max-width:700px){.bc-deck{--bc-gutter:20px}}
@media(max-width:420px){.bc-layout{--s:.92}}

}
.bc-class>img,.bc-who>img,.bc-room>img{outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}
