/* Ten independent opening compositions. Existing concept interaction styles remain in place. */
[data-opening] .opening-caption{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line,#cdd5ca);padding:14px 0;font-size:11px;letter-spacing:.08em}
[data-opening] .sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* 01 / Service choices before brand narrative. */
[data-opening="service-selector"] .service-opening{padding:12px 5vw 35px}
[data-opening="service-selector"] .service-opening-head{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:30px 0 22px}
[data-opening="service-selector"] h1{font:400 clamp(29px,3vw,44px)/1.5 'Noto Serif TC',serif;letter-spacing:.02em;margin:0}
[data-opening="service-selector"] .service-opening-head p{font-size:13px;line-height:1.9;color:var(--muted);margin:0;max-width:420px}
[data-opening="service-selector"] #services{padding:0}
[data-opening="service-selector"] .service-cards{gap:0;border-left:1px solid var(--line)}
[data-opening="service-selector"] .service-card{padding:25px;border-right:1px solid var(--line);background:#edf1e7}
[data-opening="service-selector"] .service-number{font-size:15px;color:#566d58}
[data-opening="service-selector"] .service-card h3{margin:20px 0 8px;font-size:21px}
[data-opening="service-selector"] .service-card .demo-link{margin-top:20px;justify-content:space-between;width:100%}
[data-opening="service-selector"] .clean-image-band{margin:0 5vw 45px}
[data-opening="service-selector"] .clean-image-band img{height:310px;object-position:50% 62%}
[data-opening="service-selector"] .image-label{background:#193c31e8;padding:6px 10px;text-shadow:none;max-width:70%}
/* 02 / A compact route planning instrument, not a marketing headline. */
[data-opening="route-configurator"] .route-opening{margin:0;padding:32px 5vw 48px;background:#f25b38;display:grid;grid-template-columns:1fr 1.15fr;gap:7vw;align-items:center}
[data-opening="route-configurator"] .route-check-title h1{font-size:clamp(30px,3.7vw,49px);line-height:1.35;letter-spacing:-.035em;margin:20px 0}
[data-opening="route-configurator"] .route-check-title>p{font-size:14px;color:#242721;max-width:380px}
[data-opening="route-configurator"] .move-graphic{max-width:235px;aspect-ratio:1;margin:20px auto 0}
[data-opening="route-configurator"] .route-device{background:#f4f0e7;border:2px solid #171a19;box-shadow:12px 12px 0 #171a19;padding:30px 32px;max-width:560px;width:100%;justify-self:center}
[data-opening="route-configurator"] .route-check-panel{background:transparent;border:0;padding:0}
[data-opening="route-configurator"] .route-stop{border-bottom:1px solid #b9b9ac;padding:8px 0 18px}
[data-opening="route-configurator"] .route-connector{padding:12px 0;font-size:22px}
[data-opening="route-configurator"] .route-connector span{font-size:10px}
[data-opening="route-configurator"] .route-check-result{font-size:13px;padding:16px 0 0;min-height:60px;margin:0}
[data-opening="route-configurator"] .route-check-panel>.demo-link{margin-top:15px;width:100%;justify-content:space-between;font-size:13px;gap:15px}
/* 03 / Programme and date rail: the useful schedule is the opening. */
[data-opening="programme-first"] .festival-board{display:grid;grid-template-columns:245px 1fr;align-items:start}
[data-opening="programme-first"] .festival-date-rail{background:#d5ff3f;padding:34px 25px;position:sticky;top:0;align-self:stretch;border-right:2px solid #171b13}
[data-opening="programme-first"] .festival-date-rail .kicker{font-size:12px}
[data-opening="programme-first"] .festival-date{font:800 53px/.95 Archivo,sans-serif;letter-spacing:-.07em;margin:45px 0 28px}
[data-opening="programme-first"] .festival-date span{display:block;font-size:23px;letter-spacing:-.02em;margin-top:14px}
[data-opening="programme-first"] .festival-date-rail>p:last-of-type{font-size:11px;line-height:2}
[data-opening="programme-first"] .gap-mark{display:block;width:100%;max-width:130px;margin:80px auto 0}
[data-opening="programme-first"] .programme{padding:30px 34px 65px;width:100%;min-width:0}
[data-opening="programme-first"] .section-heading{align-items:center}
[data-opening="programme-first"] .section-heading h1{font-size:34px;line-height:1.35;letter-spacing:-.04em;margin:8px 0 0}
[data-opening="programme-first"] .section-heading h1 span{font:800 11px Archivo,sans-serif;letter-spacing:0;margin-left:12px}
[data-opening="programme-first"] .section-heading>p{font-size:11px;max-width:290px}
[data-opening="programme-first"] .programme-controls{margin-top:25px;flex-wrap:wrap;gap:12px}
[data-opening="programme-first"] .filters button{padding:9px 16px}
[data-opening="programme-first"] .event{grid-template-columns:57px 105px 1fr 62px;gap:20px;padding:21px 0}
[data-opening="programme-first"] .event-date strong{font-size:38px}
[data-opening="programme-first"] .event-art{height:94px}
[data-opening="programme-first"] .event h3{font-size:22px}
[data-opening="programme-first"] .event p{font-size:12px}
[data-opening="programme-first"] .save{width:59px;height:59px;font-size:10px}
/* 04 / A training court and central identity, then immediately the timetable. */
[data-opening="timetable-first"] .hero{padding:18px 42px 23px;background:#233ff5}
[data-opening="timetable-first"] .court-label{display:flex;justify-content:space-between;gap:20px;color:#d4d9ff;font-size:10px;letter-spacing:.08em}
[data-opening="timetable-first"] .court-stage{position:relative;min-height:330px;display:grid;place-items:center;border:1px solid #c2ccff75;margin:22px 0 20px;background:linear-gradient(90deg,transparent calc(50% - .5px),#c2ccff75 50%,transparent calc(50% + .5px))}
[data-opening="timetable-first"] .court-stage:before{content:'';position:absolute;width:170px;height:170px;border:1px solid #c2ccff75;border-radius:50%}
[data-opening="timetable-first"] .court-stage .court-wordmark{align-self:start;text-align:center;font:800 clamp(48px,8.5vw,128px)/1 Archivo,sans-serif;letter-spacing:-.055em;margin:26px 0;z-index:1;color:#fff}
[data-opening="timetable-first"] .court-stage .court-wordmark span{font:700 13px/1.5 Noto,sans-serif;display:block;letter-spacing:.6em;padding-left:.6em;margin-top:12px}
[data-opening="timetable-first"] .athlete{position:absolute;bottom:-8px;width:min(350px,49%);z-index:2;left:50%;transform:translateX(-50%)}
[data-opening="timetable-first"] .athlete svg,
[data-opening="timetable-first"] .athlete img{max-height:245px}
[data-opening="timetable-first"] .art-caption{font-size:8px;text-align:center;margin-top:0;white-space:nowrap}
[data-opening="timetable-first"] .court-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px}
[data-opening="timetable-first"] .court-bottom p{font-size:12px;line-height:1.9;margin:0;color:#e0e5ff}
[data-opening="timetable-first"] .court-bottom .white-button{font-size:12px;padding:10px 16px;min-height:44px}
[data-opening="timetable-first"] .schedule-section{padding-top:45px}
[data-opening="timetable-first"] .section-top h2{font-size:37px}
[data-opening="timetable-first"] .schedule-layout{margin-top:25px}
/* 05 / Equal product plates, small catalogue heading, no slogan. */
[data-opening="paired-catalogue"] .catalogue-opening{background:#efede6;color:#171918;padding:0 4% 24px}
[data-opening="paired-catalogue"] .catalogue-title{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}
[data-opening="paired-catalogue"] .catalogue-title h1{font:400 25px/1.5 SerifTC,serif;margin:0;letter-spacing:.15em}
[data-opening="paired-catalogue"] .catalogue-title>span{font-size:10px;letter-spacing:.08em}
[data-opening="paired-catalogue"] .catalogue-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
[data-opening="paired-catalogue"] .catalogue-pair a{display:block;min-width:0}
[data-opening="paired-catalogue"] .catalogue-pair figure{margin:0}
[data-opening="paired-catalogue"] .catalogue-pair img{display:block;width:100%;height:430px;object-fit:cover;object-position:50% 50%;background:#d6d2c6}
[data-opening="paired-catalogue"] .catalogue-pair figcaption{display:flex;justify-content:space-between;gap:10px;font-size:10px;padding:14px 0;border-bottom:1px solid #b9b9ae;letter-spacing:.06em}
[data-opening="paired-catalogue"] .catalogue-disclosure{font-size:10px;line-height:1.8;margin-top:18px;color:#62645c}
[data-opening="paired-catalogue"] .collection{padding-top:45px}
[data-opening="paired-catalogue"] .collection-head{margin-bottom:25px}
/* 06 / Three-product still life below a restrained centered title. */
[data-opening="centered-still-life"] .still-life-opening{background:#f0e6d8;padding:35px 5% 0;color:#35543b;text-align:center}
[data-opening="centered-still-life"] .still-life-heading .eyebrow{font-size:10px;letter-spacing:.14em;margin:0 0 15px}
[data-opening="centered-still-life"] .still-life-heading h1{font:400 clamp(29px,3.4vw,46px)/1.4 SerifTC,serif;letter-spacing:.02em;margin:0 0 15px}
[data-opening="centered-still-life"] .still-life-heading>p:last-child{font-size:12px;margin:0}
[data-opening="centered-still-life"] .still-life-stage{position:relative;display:flex;justify-content:center;align-items:flex-end;gap:0;margin:15px auto 0;max-width:910px;height:320px;overflow:hidden}
[data-opening="centered-still-life"] .still-life-stage img{width:33.333%;height:280px;object-fit:contain;mix-blend-mode:multiply}
[data-opening="centered-still-life"] .still-life-stage .still-life-main{height:330px;margin:0 -4%}
[data-opening="centered-still-life"] .still-life-stage figcaption{position:absolute;bottom:0;left:0;right:0;background:#f0e6d8e8;padding:5px;font-size:9px}
[data-opening="centered-still-life"] .still-life-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #bdc0ab;margin-top:20px;padding:12px 0;font-size:10px}
[data-opening="centered-still-life"] .still-life-foot .text-link{margin:0;font-size:12px;padding:8px 0;min-height:44px;gap:40px}
[data-opening="centered-still-life"] .collection{padding-top:50px}
/* 07 / Existing scenario selector is the actual opening, not a fake app mockup. */
[data-opening="workspace-first"] .workspace-opening{padding-top:20px;padding-bottom:65px}
[data-opening="workspace-first"] .workspace-heading{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 20px;margin-bottom:20px}
[data-opening="workspace-first"] .workspace-heading h1{font:700 24px/1.5 Noto,sans-serif;letter-spacing:-.03em;margin:0}
[data-opening="workspace-first"] .workspace-intro{font-size:12px;color:#b9c1c7;margin:0;grid-column:1/-1}
[data-opening="workspace-first"] .app-content{padding:25px 30px}
[data-opening="workspace-first"] .welcome h3{font-size:29px}
[data-opening="workspace-first"] .workflow{padding-top:50px}
/* 08 / Project index next to one carefully captioned image. */
[data-opening="project-index"] .index-opening{padding:25px 4% 50px}
[data-opening="project-index"] .index-opening-head{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:24px;border-bottom:1px solid #c5c5bd;margin-bottom:28px}
[data-opening="project-index"] .index-opening-head h1{font-size:28px;line-height:1.5;font-weight:400;letter-spacing:.03em;margin:0}
[data-opening="project-index"] .index-opening-head>p{font-size:10px;line-height:1.9;margin:0;color:#5a6257}
[data-opening="project-index"] .index-opening-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:4%;align-items:start}
[data-opening="project-index"] .projects{padding:0;min-width:0}
[data-opening="project-index"] .section-title{display:flex;align-items:center;gap:15px;margin-bottom:12px}
[data-opening="project-index"] .section-title h2{font-size:18px;margin:0;white-space:nowrap}
[data-opening="project-index"] .section-title>p{font-size:9px;margin:0}
[data-opening="project-index"] .filter{gap:16px;flex-wrap:wrap}
[data-opening="project-index"] .filter button{font-size:11px;padding:12px 0;min-height:44px}
[data-opening="project-index"] .project-row{grid-template-columns:26px 1fr 62px 35px 15px;gap:8px;padding:22px 0}
[data-opening="project-index"] .project-name{font-size:18px}
[data-opening="project-index"] .project-row .type,[data-opening="project-index"] .project-row .year{font-size:9px}
[data-opening="project-index"] .hero-image{margin:0;min-width:0;width:100%}
[data-opening="project-index"] .hero-image>img{width:100%;height:465px;object-fit:cover;display:block}
[data-opening="project-index"] .hero-image figcaption{font-size:10px;padding:12px 0}
[data-opening="project-index"] .image-disclosure{font-size:9px;color:#5a6257;line-height:1.8;margin:0}
/* 09 / The date/room/guest controls lead the landscape-led stay concept. */
[data-opening="date-first-landscape"] .landscape-opening{height:255px;min-height:0}
[data-opening="date-first-landscape"] .hero-content{top:48%;left:5%;right:5%;transform:translateY(-50%);text-align:center;width:auto;padding:0}
[data-opening="date-first-landscape"] .hero-content>p{font-size:10px;letter-spacing:.16em;margin:0 0 12px}
[data-opening="date-first-landscape"] .hero-content h1{font:400 44px/1.3 SerifTC,serif;letter-spacing:.15em;margin:0}
[data-opening="date-first-landscape"] .hero-caption{left:4%;right:4%;bottom:14px;font-size:9px;gap:20px}
[data-opening="date-first-landscape"] .hero-caption>span:last-child{display:none}
[data-opening="date-first-landscape"] .stay-opening{padding:28px 4%;grid-template-columns:1fr 2.8fr;gap:4%;position:relative}
[data-opening="date-first-landscape"] .stay-opening .section-kicker{font-size:9px;margin:0 0 10px}
[data-opening="date-first-landscape"] .stay-opening h2{font-size:27px;line-height:1.4;letter-spacing:.03em;margin:0 0 12px}
[data-opening="date-first-landscape"] .stay-opening .stay-copy>p:last-child{font-size:10px;line-height:1.9;margin:0}
[data-opening="date-first-landscape"] .stay-opening .stay-form{padding-top:0;display:grid;grid-template-columns:1.1fr 2fr 1fr;gap:0 16px;align-items:start}
[data-opening="date-first-landscape"] .stay-opening label{font-size:11px;white-space:nowrap}
[data-opening="date-first-landscape"] .stay-opening input,[data-opening="date-first-landscape"] .stay-opening select{font-size:12px;margin:0;min-height:45px;padding:9px}
[data-opening="date-first-landscape"] .date-fields{gap:12px}
[data-opening="date-first-landscape"] #date-error,[data-opening="date-first-landscape"] #prepare-stay,[data-opening="date-first-landscape"] .stay-form noscript,[data-opening="date-first-landscape"] #stay-result{grid-column:1/-1}
[data-opening="date-first-landscape"] #prepare-stay{margin-top:18px;font-size:12px;min-height:46px;padding:11px 16px}
[data-opening="date-first-landscape"] #stay-result:empty{display:none}
[data-opening="date-first-landscape"] .intro{padding-top:60px;padding-bottom:60px}
/* 10 / Restaurant masthead, then an unframed full-width dining photograph. */
[data-opening="centered-dining-collage"] .table-opening{padding:0}
[data-opening="centered-dining-collage"] .table-masthead{text-align:center;padding:27px 5% 22px}
[data-opening="centered-dining-collage"] .table-masthead>p:first-child{font-size:10px;letter-spacing:.2em;margin:0 0 10px}
[data-opening="centered-dining-collage"] .table-masthead h1{font:400 clamp(43px,5vw,72px)/1.25 SerifTC,serif;letter-spacing:.14em;margin:0 0 12px;padding-left:.14em}
[data-opening="centered-dining-collage"] .table-masthead>p:last-child{font-size:10px;margin:0}
[data-opening="centered-dining-collage"] .table-art{margin:0;transform:none;position:relative}
[data-opening="centered-dining-collage"] .table-art img{width:100%;height:360px;aspect-ratio:auto;object-fit:cover;object-position:50% 55%;border-radius:0}
[data-opening="centered-dining-collage"] .table-art figcaption{position:absolute;left:5%;bottom:14px;background:#431d2ae8;color:#f4edda;padding:5px 9px;font-size:9px;transform:none;margin:0;max-width:85%}
[data-opening="centered-dining-collage"] .menu-section{padding-top:35px}
[data-opening="centered-dining-collage"] .menu-heading h2{font-size:37px;margin:8px 0}
[data-opening="centered-dining-collage"] .menu-heading>p:first-child{font-size:11px;margin:0}
[data-opening="centered-dining-collage"] .menu-heading>p:last-child{font-size:12px}
[data-opening="centered-dining-collage"] .menu-filters{margin:25px 0 15px}
/* Responsive source order is always the reading order. Never CSS-reorder controls. */
@media(max-width:1000px){
 [data-opening="programme-first"] .festival-board{grid-template-columns:175px 1fr}
 [data-opening="programme-first"] .festival-date-rail{padding:25px 18px}
 [data-opening="programme-first"] .festival-date{font-size:39px}
 [data-opening="programme-first"] .programme{padding:25px 22px 50px}
 [data-opening="programme-first"] .event{grid-template-columns:45px 70px 1fr 52px;gap:12px}
 [data-opening="programme-first"] .event-art{height:75px}
 [data-opening="programme-first"] .event h3{font-size:19px}
 [data-opening="programme-first"] .save{width:50px;height:50px}
 [data-opening="project-index"] .index-opening-grid{grid-template-columns:1.05fr 1fr;gap:3%}
 [data-opening="project-index"] .project-row{grid-template-columns:22px 1fr 15px;gap:9px}
 [data-opening="project-index"] .project-row .type,[data-opening="project-index"] .project-row .year{display:none}
 [data-opening="project-index"] .project-name{font-size:17px}
 [data-opening="date-first-landscape"] .stay-opening{grid-template-columns:1fr;gap:22px}
 [data-opening="date-first-landscape"] .stay-copy{display:grid;grid-template-columns:1fr 1.5fr;gap:0 30px}
 [data-opening="date-first-landscape"] .stay-copy .section-kicker{grid-column:1/-1}
 [data-opening="paired-catalogue"] .catalogue-pair img{height:355px}
}
@media(max-width:700px){
 [data-opening] .opening-caption{font-size:9px;gap:12px}
 [data-opening="service-selector"] .service-opening{padding:8px 5% 25px}
 [data-opening="service-selector"] .service-opening-head{display:block;padding:22px 0 15px}
 [data-opening="service-selector"] .service-opening-head p{margin-top:12px;font-size:12px}
 [data-opening="service-selector"] .service-cards{grid-template-columns:1fr;border:0}
 [data-opening="service-selector"] .service-card{display:grid;grid-template-columns:25px 1fr;gap:6px 14px;border:1px solid var(--line);border-top:0;padding:16px}
 [data-opening="service-selector"] .service-number{grid-row:1/4;margin-top:3px}
 [data-opening="service-selector"] .service-card h3{margin:0;font-size:18px}
 [data-opening="service-selector"] .service-card p{min-height:0;font-size:12px}
 [data-opening="service-selector"] .service-card .demo-link{grid-column:2;margin:8px 0 0;font-size:12px}
 [data-opening="service-selector"] .clean-image-band img{height:240px}
 [data-opening="service-selector"] .image-counter{display:none}
 [data-opening="service-selector"] .image-label{max-width:90%;font-size:9px}
 [data-opening="route-configurator"] .route-opening{grid-template-columns:1fr;padding:26px 6% 40px;gap:25px}
 [data-opening="route-configurator"] .route-check-title h1{font-size:31px;margin:14px 0}
 [data-opening="route-configurator"] .route-check-title>p{font-size:12px;max-width:none}
 [data-opening="route-configurator"] .move-graphic{display:none}
 [data-opening="route-configurator"] .route-device{box-shadow:7px 7px 0 #171a19;padding:23px;max-width:none}
 [data-opening="programme-first"] .festival-board{display:block}
 [data-opening="programme-first"] .festival-date-rail{position:relative;border-right:0;border-bottom:2px solid #171b13;padding:18px 5%;display:grid;grid-template-columns:1fr auto;gap:7px 20px;align-items:center}
 [data-opening="programme-first"] .festival-date-rail .kicker{font-size:11px;margin:0}
 [data-opening="programme-first"] .festival-date{font-size:29px;margin:0;grid-column:2;grid-row:1/3}
 [data-opening="programme-first"] .festival-date span{font-size:12px;margin-top:6px}
 [data-opening="programme-first"] .festival-date-rail>p:last-of-type{font-size:9px;margin:0}
 [data-opening="programme-first"] .gap-mark{display:none}
 [data-opening="programme-first"] .programme{padding:24px 5% 45px}
 [data-opening="programme-first"] .section-heading{display:block}
 [data-opening="programme-first"] .section-heading h1{font-size:29px}
 [data-opening="programme-first"] .section-heading>p{margin:12px 0 0}
 [data-opening="programme-first"] .event{grid-template-columns:38px 1fr 46px;gap:12px}
 [data-opening="programme-first"] .event-art{display:none}
 [data-opening="programme-first"] .event-date strong{font-size:30px}
 [data-opening="programme-first"] .event h3{font-size:20px}
 [data-opening="programme-first"] .event p{font-size:11px}
 [data-opening="programme-first"] .save{width:44px;height:44px;font-size:9px}
 [data-opening="programme-first"] .save>span:first-child{font-size:20px}
 [data-opening="timetable-first"] .hero{padding:17px 5% 22px}
 [data-opening="timetable-first"] .court-label{font-size:8px}
 [data-opening="timetable-first"] .court-stage{min-height:265px;margin:18px 0}
 [data-opening="timetable-first"] .court-stage .court-wordmark{font-size:clamp(42px,12vw,76px);margin-top:26px;white-space:nowrap}
 [data-opening="timetable-first"] .court-stage .court-wordmark span{font-size:10px;margin-top:11px}
 [data-opening="timetable-first"] .athlete{width:240px;max-width:75%}
 [data-opening="timetable-first"] .athlete svg,
 [data-opening="timetable-first"] .athlete img{max-height:185px}
 [data-opening="timetable-first"] .art-caption{font-size:7px}
 [data-opening="timetable-first"] .court-bottom{align-items:start;gap:15px}
 [data-opening="timetable-first"] .court-bottom p{font-size:10px}
 [data-opening="timetable-first"] .court-bottom .white-button{font-size:10px;gap:18px;padding:10px}
 [data-opening="timetable-first"] .schedule-section{padding-top:35px}
 [data-opening="timetable-first"] .section-top h2{font-size:32px}
 [data-opening="paired-catalogue"] .catalogue-title{min-height:75px;flex-wrap:wrap;gap:5px 20px;padding:15px 0}
 [data-opening="paired-catalogue"] .catalogue-title h1{font-size:22px}
 [data-opening="paired-catalogue"] .catalogue-title>span{font-size:8px}
 [data-opening="paired-catalogue"] .catalogue-title>span:last-child{flex-basis:100%;text-align:center}
 [data-opening="paired-catalogue"] .catalogue-pair{gap:10px}
 [data-opening="paired-catalogue"] .catalogue-pair img{height:250px}
 [data-opening="paired-catalogue"] .catalogue-pair figcaption{display:block;font-size:8px;padding:10px 0}
 [data-opening="paired-catalogue"] .catalogue-pair figcaption span{display:block;margin-top:4px}
 [data-opening="paired-catalogue"] .catalogue-disclosure{font-size:9px}
 [data-opening="centered-still-life"] .still-life-opening{padding-top:28px}
 [data-opening="centered-still-life"] .still-life-heading h1{font-size:28px}
 [data-opening="centered-still-life"] .still-life-heading>p:last-child{font-size:11px}
 [data-opening="centered-still-life"] .still-life-stage{height:255px;margin-top:10px}
 [data-opening="centered-still-life"] .still-life-stage img{height:220px;width:36%}
 [data-opening="centered-still-life"] .still-life-stage .still-life-main{height:275px}
 [data-opening="centered-still-life"] .still-life-stage figcaption{font-size:8px}
 [data-opening="centered-still-life"] .still-life-foot{flex-wrap:wrap;gap:0 15px;font-size:9px;margin-top:12px}
 [data-opening="centered-still-life"] .still-life-foot>span:last-child{flex-basis:100%;padding-bottom:12px}
 [data-opening="workspace-first"] .workspace-opening{padding-top:20px;padding-bottom:40px}
 [data-opening="workspace-first"] .workspace-heading h1{font-size:21px}
 [data-opening="workspace-first"] .workspace-intro{font-size:11px}
 [data-opening="workspace-first"] .app-content{padding:20px 16px}
 [data-opening="workspace-first"] .welcome h3{font-size:23px}
 [data-opening="project-index"] .index-opening{padding:22px 5% 35px}
 [data-opening="project-index"] .index-opening-head{display:block;margin-bottom:20px;padding-bottom:18px}
 [data-opening="project-index"] .index-opening-head h1{font-size:24px}
 [data-opening="project-index"] .index-opening-head>p{font-size:9px;margin-top:12px}
 [data-opening="project-index"] .index-opening-grid{grid-template-columns:1fr;gap:25px}
 [data-opening="project-index"] .project-row{padding:18px 0;grid-template-columns:25px 1fr 75px 16px}
 [data-opening="project-index"] .project-row .type{display:block;font-size:9px}
 [data-opening="project-index"] .project-row .year{display:none}
 [data-opening="project-index"] .hero-image>img{height:310px}
 [data-opening="date-first-landscape"] .landscape-opening{height:205px}
 [data-opening="date-first-landscape"] .hero-content h1{font-size:34px}
 [data-opening="date-first-landscape"] .hero-content>p{font-size:8px}
 [data-opening="date-first-landscape"] .hero-caption{font-size:8px}
 [data-opening="date-first-landscape"] .stay-opening{padding:25px 5%;gap:20px}
 [data-opening="date-first-landscape"] .stay-copy{display:block}
 [data-opening="date-first-landscape"] .stay-opening h2{font-size:26px;margin-bottom:10px}
 [data-opening="date-first-landscape"] .stay-opening .stay-form{grid-template-columns:1fr 1fr;gap:18px 14px}
 [data-opening="date-first-landscape"] .stay-opening .date-fields{grid-column:1/-1;grid-row:2;gap:14px}
 [data-opening="date-first-landscape"] .stay-opening .guest-option{grid-column:2;grid-row:1}
 [data-opening="date-first-landscape"] #prepare-stay{margin-top:0}
 [data-opening="date-first-landscape"] #date-error{margin:0}
 [data-opening="date-first-landscape"] .intro{padding-top:40px;padding-bottom:40px}
 [data-opening="centered-dining-collage"] .table-masthead{padding:24px 5% 20px}
 [data-opening="centered-dining-collage"] .table-masthead h1{font-size:39px}
 [data-opening="centered-dining-collage"] .table-masthead>p:first-child{font-size:8px}
 [data-opening="centered-dining-collage"] .table-masthead>p:last-child{font-size:9px}
 [data-opening="centered-dining-collage"] .table-art img{height:265px}
 [data-opening="centered-dining-collage"] .table-art figcaption{font-size:8px;bottom:10px}
 [data-opening="centered-dining-collage"] .menu-section{padding-top:30px}
 [data-opening="centered-dining-collage"] .menu-heading h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){[data-opening] *,[data-opening] *:before,[data-opening] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Functional schedule, not the identity interval, owns the fitness first fold. */
[data-opening="timetable-first"] .schedule-section{padding-top:30px}
[data-opening="timetable-first"] .section-top h1{font-size:35px;line-height:1.45;letter-spacing:-.04em;margin:10px 0 0}
[data-opening="timetable-first"] .schedule-layout{margin-top:24px}
[data-opening="timetable-first"] .schedule-section .kicker{font-size:10px}
[data-opening="timetable-first"] .hero{margin-top:0}
/* Central, overlapping original image plates. No third-party design asset is shipped. */
[data-opening="centered-dining-collage"] .table-opening{padding-bottom:30px;border-bottom:1px solid #b9a588}
[data-opening="centered-dining-collage"] .table-masthead{padding-bottom:25px}
[data-opening="centered-dining-collage"] .table-masthead h1{font-size:51px}
[data-opening="centered-dining-collage"] .table-art{position:relative;width:80%;max-width:1150px;margin:0 auto;padding-bottom:25px}
[data-opening="centered-dining-collage"] .table-art>img:first-child{height:385px;width:82%;margin-left:18%;object-fit:cover;object-position:50% 55%}
[data-opening="centered-dining-collage"] .table-art>img.table-detail-art{position:absolute;left:0;bottom:0;width:30%;height:265px;object-fit:cover;border:9px solid #f4edda;transform:rotate(-4deg);background:#f4edda}
[data-opening="centered-dining-collage"] .table-art figcaption{left:auto;right:15px;bottom:39px;max-width:55%}
@media(max-width:700px){
 [data-opening="timetable-first"] .section-top h1{font-size:29px}
 [data-opening="centered-dining-collage"] .table-masthead h1{font-size:37px}
 [data-opening="centered-dining-collage"] .table-art{width:90%;padding-bottom:35px}
 [data-opening="centered-dining-collage"] .table-art>img:first-child{height:275px;width:90%;margin-left:10%}
 [data-opening="centered-dining-collage"] .table-art>img.table-detail-art{width:40%;height:170px;border-width:5px}
 [data-opening="centered-dining-collage"] .table-art figcaption{right:8px;bottom:46px;max-width:58%;font-size:8px}
}
@media(max-width:700px){
 /* Keep room → dates → guests → summary in the same visual and keyboard order. */
 [data-opening="date-first-landscape"] .stay-opening .stay-form{grid-template-columns:1fr}
 [data-opening="date-first-landscape"] .stay-opening .room-option,[data-opening="date-first-landscape"] .stay-opening .date-fields,[data-opening="date-first-landscape"] .stay-opening .guest-option{grid-column:1;grid-row:auto}
}
[data-opening] .concept-reference{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 5%;font-size:10px;line-height:1.8;background:#e8e5dc;color:#393f33;border-top:1px solid #c6c7b9}
[data-opening] .concept-reference a{text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
@media(max-width:700px){[data-opening] .concept-reference{font-size:9px;gap:15px}}
/* Header and scene are separate layers, so the short landscape cannot collide with navigation. */
[data-opening="date-first-landscape"] .hero-wrap>header{position:relative;top:auto;background:#283f33;padding:20px 4%;min-height:86px}
[data-opening="workspace-first"] .workspace-opening{margin-top:0}

/* Generated decorative images preserve proportions and accessible controls. */
.athlete img,.move-graphic img{object-fit:contain;height:auto;display:block}
[data-opening="timetable-first"] .athlete img{width:100%;height:245px;object-position:center bottom}
@media(max-width:700px){[data-opening="timetable-first"] .athlete img{height:185px}}
