/* Distinct original visual languages, with stationary controls and readable content. */
.showcase-chapter{--chapter-progress:1;position:relative;grid-column:1/-1;width:100%;height:clamp(100px,14vw,210px);overflow:hidden;margin:0 0 36px;pointer-events:none;isolation:isolate}
.showcase-chapter svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2}
.chapter-stroke{stroke-dasharray:1600;stroke-dashoffset:calc(1600 * (1 - var(--chapter-progress)));opacity:calc(.25 + var(--chapter-progress)*.75)}
.chapter-guide{opacity:.2;stroke-dasharray:3 9}
.chapter-draft{color:#53634a;background:linear-gradient(#53634a0c 1px,transparent 1px),linear-gradient(90deg,#53634a0c 1px,transparent 1px);background-size:24px 24px}
.chapter-draft svg{transform:translateY(calc((1 - var(--chapter-progress))*22px))}
.chapter-lake{color:#687e67;background:radial-gradient(ellipse at 66% 50%,#a3bba92a,transparent 70%)}
.chapter-lake svg{transform:translateX(calc((1 - var(--chapter-progress))*-60px))}
.chapter-lake .chapter-stroke{stroke-width:2;stroke-dasharray:none}
.chapter-orb{fill:#c6c9af;stroke:none;transform-origin:800px 45px;transform:scale(calc(.6 + var(--chapter-progress)*.4))}
.chapter-supper{color:#8a633f;background:radial-gradient(ellipse at center,#af794018,transparent 70%)}
.chapter-supper svg{transform-origin:50% 50%;transform:rotate(calc((1 - var(--chapter-progress))*-8deg))}
.chapter-supper .chapter-stroke{stroke-width:2}
.chapter-stratum{color:#806043;background:#d1c6ad}
.exhibit-visit:has(.showcase-chapter){row-gap:32px}
.chapter-band{fill:currentColor;stroke:none;opacity:.3;transform:translateX(calc((1 - var(--chapter-progress))*-100px))}
.chapter-band:nth-child(2){opacity:.5;transform:translateX(calc((1 - var(--chapter-progress))*100px))}.chapter-band:nth-child(3){opacity:.8}
.chapter-door{color:#b1a27b;background:radial-gradient(ellipse at 50% 100%,#ad854229,transparent 60%)}
.chapter-door .chapter-seam{stroke:#f0d098;stroke-width:3;opacity:var(--chapter-progress)}
.showcase-card{position:relative}
.showcase-card:before{pointer-events:none}
.card-draft:not(.showcase-arrived){clip-path:inset(0 0 0 0)}
.card-draft.showcase-arrived{animation:showcase-draft .85s both;animation-delay:var(--card-delay)}
.card-lake.showcase-arrived{animation:showcase-lake 1.1s both;animation-delay:var(--card-delay)}
.card-supper.showcase-arrived{animation:showcase-supper .8s both;animation-delay:var(--card-delay)}
.card-door.showcase-arrived{animation:showcase-door 1s both;animation-delay:var(--card-delay)}
.card-stratum.showcase-arrived{animation:showcase-stratum .8s both;animation-delay:var(--card-delay)}
@keyframes showcase-draft{from{clip-path:inset(0 0 0 95%)}to{clip-path:inset(0)}}
@keyframes showcase-lake{from{translate:0 22px;filter:blur(2px)}to{translate:0 0;filter:none}}
@keyframes showcase-supper{from{translate:30px 0}to{translate:0 0}}
@keyframes showcase-door{from{clip-path:inset(0 50%)}to{clip-path:inset(0)}}
@keyframes showcase-stratum{from{translate:-22px 0}to{translate:0 0}}
.showcase-card:focus-within{animation:none!important;clip-path:none!important;translate:none!important;filter:none!important}
.showcase-button{--button-ring:#ab855a55;position:relative;isolation:isolate;transition:background-color .3s,color .3s,box-shadow .3s;border-radius:inherit}
.showcase-button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.button-draft{--button-ring:#52654655;box-shadow:3px 3px 0 #52654640}
.button-draft:hover,.button-draft:focus-visible{box-shadow:6px 6px 0 #52654655,inset 0 -3px #a4b28a}
.button-lake{--button-ring:#688b7155}.button-lake:hover,.button-lake:focus-visible{box-shadow:inset 0 -4px #8fa589,0 6px 18px #47675125}
.button-supper{--button-ring:#ac754f55}.button-supper:hover,.button-supper:focus-visible{background-color:#5b3c27!important;color:#fff5df!important;box-shadow:inset 0 -3px #d8af6a,0 5px 14px #68361420}
.button-door{--button-ring:#ceb57a55}.button-door:hover,.button-door:focus-visible{box-shadow:inset 0 0 20px #dbb57430,0 0 18px #d6af6435;border-color:#d8bf8b}
.button-stratum{--button-ring:#94723f55}.button-stratum:hover,.button-stratum:focus-visible{box-shadow:4px 4px 0 #846644,inset 0 -3px #d7bc89}
@media(max-width:700px){.showcase-chapter{height:125px;margin-bottom:25px}.chapter-draft svg,.chapter-door svg{width:160%;max-width:none;margin-left:-30%}.showcase-button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.showcase-card.showcase-arrived{animation:none}.showcase-chapter *{transform:none!important;stroke-dashoffset:0!important;opacity:1}.showcase-button{transition:none}}

/* The main improvement is the content, not another hero or decorative banner. */
.showcase-body-ready .showcase-chapter{height:85px;margin-bottom:30px;opacity:.65}
.body-art{margin:0;position:relative;overflow:hidden;background:#ddd8c8}
.body-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.22,1,.36,1)}
.body-art figcaption{position:absolute;left:18px;right:18px;bottom:15px;font:9px/1.5 Arial;letter-spacing:.12em;color:#fff;text-shadow:0 1px 8px #000;background:#172119bb;padding:9px 12px;width:fit-content;max-width:calc(100% - 36px)}
.body-reading-section{position:relative;--read:0}
.body-reading-section:after{content:"";position:absolute;left:-14px;top:10%;height:calc(var(--read)*80%);width:2px;background:currentColor;opacity:.25;pointer-events:none}
/* Stillwater: image-led accommodation, reflective surfaces, and an itinerary desk. */
body.retreat.showcase-body-ready .retreat-room-grid{gap:30px}
body.retreat.showcase-body-ready .retreat-room-grid article{padding:25px;background:#f7f6f0;border:1px solid #63796530;box-shadow:0 20px 40px #324d3b0d}
.retreat-room-grid .body-art{height:260px;margin:-25px -25px 25px}
.retreat-room-grid article:hover .body-art img,.retreat-room-grid article:focus-within .body-art img{transform:scale(1.055)}
.retreat-room-grid article:nth-child(2) .body-art img{object-position:70% center}
body.retreat .body-response-panel{padding:24px;background:#f8f7f0;border:1px solid #63796533;box-shadow:10px 10px 0 #6379650d}
body.retreat.showcase-body-ready .retreat-planner form{padding:30px;background:#f7f6f0;border:1px solid #63796530;box-shadow:0 20px 50px #324d3b10}
body.retreat.showcase-body-ready .retreat-practical dl>div{padding:22px;background:#f7f6f0;margin-bottom:12px;border-left:2px solid #99aa91}
/* Form & Field: real material panels and a sequential studio process. */
body.architecture.showcase-body-ready .studio-service-grid{gap:24px}
body.architecture.showcase-body-ready .studio-service-grid article{padding:28px;border:1px solid #52654633;background:#f7f5ed;box-shadow:7px 7px 0 #52654610;transition:box-shadow .5s,border-color .5s}
body.architecture.showcase-body-ready .studio-service-grid article:hover{box-shadow:12px 12px 0 #52654625;border-color:#52654688}
body.architecture.showcase-body-ready .draft-study{width:150px;height:105px}
body.architecture.showcase-body-ready .studio-process li{background:#f7f5ed;padding:30px 24px 28px 62px;margin-bottom:18px;border:1px solid #52654630}
body.architecture.showcase-body-ready .studio-process li:before{left:22px;top:33px}
body.architecture.showcase-body-ready .studio-process li:hover{border-color:#52654688}
body.architecture.showcase-body-ready .studio-questions details{background:#f7f5ed;border:1px solid #52654630;padding:20px 24px;margin-bottom:12px}
body.architecture.showcase-body-ready .studio-questions details[open]{border-left:3px solid #526546;background:#fffdf6}
/* Sunday: a serving-board menu instead of an endless flat text list. */
.body-menu-stage{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:start;margin-block:32px}
.body-menu-stage>.body-art{position:sticky;top:35px;aspect-ratio:1;border-radius:50%;box-shadow:0 30px 60px #53371820}
.body-menu-stage>.body-art img{aspect-ratio:1}
.body-menu-stage .body-art figcaption{bottom:14%;left:50%;right:auto;transform:translateX(-50%);white-space:nowrap;background:#30281fdd;font-size:8px}
body.restaurant .body-menu-stage .dishes article{grid-template-columns:minmax(0,1fr) auto;padding:28px 20px;border:1px solid #8a633f30;background:#fff9ef;margin-bottom:14px;box-shadow:4px 4px 0 #8a633f0b}
body.restaurant .body-menu-stage .dishes h3{font-size:clamp(25px,2.4vw,36px)}
body.restaurant .body-menu-stage .dishes article b{font-size:18px;color:#795330}
.showcase-body-ready .sunday-business-details{border:1px solid #8a633f33;background:#fff9ef;padding:35px}
.showcase-body-ready .sunday-visit-grid article{padding:28px;background:#fff9ef;border:1px solid #8a633f33;box-shadow:8px 8px 0 #8a633f12}
.showcase-body-ready .sunday-visit-grid h2{font-size:clamp(32px,4vw,50px)}
.showcase-body-ready .sunday-menu-grid,.showcase-body-ready .sunday-visit-grid{row-gap:28px}
/* Blackthorn: doors into each experience, a tactile clue, and a visit dossier. */
.body-portal{height:200px;position:relative;overflow:hidden;margin:-30px -30px 28px;background:#0a0f0c;isolation:isolate}
.body-portal img{width:100%;height:100%;object-fit:cover;object-position:65% 45%;opacity:.7;transition:transform 1.2s,opacity .8s}
.body-portal:after{content:"";position:absolute;inset:10px;border:1px solid #d1ba8555;pointer-events:none}
.body-portal span{position:absolute;bottom:20px;left:25px;font:48px Georgia;color:#eddbb5;text-shadow:0 2px 12px #000}
.experience-grid article:nth-child(2) .body-portal img{object-position:30% 60%;transform:scale(1.15)}
.experience-grid article:hover .body-portal img,.experience-grid article:focus-within .body-portal img{transform:scale(1.08);opacity:1}
.experience-grid article:nth-child(2):hover .body-portal img{transform:scale(1.23)}
.showcase-body-ready .experience-grid article{padding:30px;overflow:hidden;border:1px solid #d1ba8540;background:linear-gradient(145deg,#26332b,#101914);box-shadow:0 20px 40px #0003}
.showcase-body-ready .experience-grid .number{display:none}
.showcase-body-ready .experience-grid h3{font-size:clamp(30px,3vw,44px)}
.showcase-body-ready .letter{border:1px solid #f4e6bf;box-shadow:8px 8px 0 #111a1466,0 25px 60px #0004}
.showcase-body-ready .visit-panel{background:linear-gradient(140deg,#29372b,#131f17);box-shadow:0 25px 50px #0003;border-color:#c5b98666}
.showcase-body-ready .questions details{padding:22px;background:#202c23;margin-bottom:10px;border:1px solid #c5b98633}
.showcase-body-ready .questions details[open]{border-left:3px solid #d2bb83}
/* STRATA: a browsable specimen cabinet after the excavation, not plain text chips. */
.showcase-body-ready #collection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.showcase-body-ready #collection button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:0 0 18px;border:1px solid #75634255;background:#f8f3e6;color:#352b1f;overflow:hidden;box-shadow:4px 4px 0 #75634215}
.showcase-body-ready #collection button>span{padding:16px 16px 0;font:17px/1.3 Georgia}
.specimen-thumb{display:block;width:100%;aspect-ratio:1.5;object-fit:contain;background:#30261b;transition:transform .5s}
.showcase-body-ready #collection button:hover .specimen-thumb{transform:scale(1.06)}
.showcase-body-ready #collection button[data-discovered=true]{border-color:#5f784c;box-shadow:0 0 0 2px #5f784c55}
.showcase-body-ready .exhibit-visit dl>div{padding:22px;border:1px solid #75634233;background:#f8f3e6;margin-bottom:14px}
@media(min-width:901px){.showcase-body-ready .studio-process>div:first-child{position:sticky;top:35px;align-self:start}}
@media(max-width:700px){.body-menu-stage{grid-template-columns:1fr;gap:24px}.body-menu-stage>.body-art{position:relative;top:0;width:min(300px,100%);margin:auto;grid-row:1}.retreat-room-grid .body-art{height:215px}.showcase-body-ready #collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.showcase-body-ready .experience-grid article{padding:23px}.body-portal{margin:-23px -23px 25px;height:180px}.body-reading-section:after{left:-7px}.showcase-body-ready .sunday-visit-grid article{padding:23px}.showcase-body-ready .sunday-business-details{padding:23px}body.retreat.showcase-body-ready .retreat-planner form{padding:22px}}
@media(prefers-reduced-motion:reduce){.body-art img,.body-portal img,.specimen-thumb{transition:none!important;transform:none!important}.body-reading-section:after{height:80%}}
