/* The whole viewport is one scene; controls sit inside its shadows. */
:root{background:#18231c;color:#f6f2e7}
body{background:#18231c}
main{position:relative}
.site-header{position:absolute;inset:0 0 auto;z-index:8;color:#f1eddf;background:linear-gradient(#152019a6,transparent);height:110px}
.header-note{color:#e2ddcd}.header-contact{border-color:#d1bc88}
.film{height:100svh;min-height:780px;max-height:none}
.film-topline{top:135px}
.shade{background:linear-gradient(90deg,#142018a8,transparent 68%),linear-gradient(0deg,#111e18 0%,#142019e8 9%,#19251b80 26%,transparent 52%,#18221933 80%,#131e194d)}
.narrative{top:32%;width:35%}
.scene-bottom{bottom:176px;opacity:.86}
.story-bar{position:absolute;bottom:57px;left:0;right:0;z-index:5;border:0;color:#f1ecdc;background:transparent;padding:18px 4.5%;min-height:96px}
.story-heading>span:last-child{color:#d5d7c7}
.chapters button{color:#d3d6c7;border-color:#ebeed330}
.chapter-number{color:#c0c9b7}
.chapters button[aria-current]{color:#fff9e9}
.chapters button[aria-current] .chapter-number{color:#e9ca85}
.progress{background:#d7bb79}
footer{position:absolute;bottom:0;left:0;right:0;z-index:5;min-height:56px;color:#c4cdbc;border:0;background:transparent}
.footer-book{color:#f2deb2}
.film[data-chapter="0"] .discoveries,.film[data-chapter="0"] .paper-lift,.film[data-chapter="0"] .explore-hint{visibility:hidden!important;opacity:0;pointer-events:none}
.frame{transition:opacity 2s ease}
.film.is-cutting .scene{filter:brightness(.76);transition:filter .8s,transform 1s}
.scene{transition:filter 1.5s,transform 1s}
.object-preview{background:#293b2cc9;color:#faf5e7;border-color:#ede8d633;backdrop-filter:blur(16px)}
dialog,dialog[data-panel="reviews"]{background:rgba(27,42,32,.76);color:#f6f3e8;border:1px solid #eeefd638;border-radius:8px;backdrop-filter:blur(22px) saturate(.8);-webkit-backdrop-filter:blur(22px) saturate(.8);box-shadow:0 30px 120px #06150e80}
dialog::backdrop{background:#0c1a1252;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
dialog .close-dialog{color:#e3e9da}
dialog .eyebrow{color:#dbc68e}
dialog .source-note,dialog .credentials dt,dialog .call-option span:last-child{color:#d4ddcd}
dialog .credentials>div,dialog .call-option{border-color:#e0e8cf30}
dialog .placeholder{background:#dbe9ce0d;border-left-color:#c9a45f}
dialog .paper-rule{border-color:#dce3cd80}
dialog .review-empty{border-color:#dce3cd60}
dialog .review-empty>span{color:#dcc58f}
dialog .instrument-photo{border-radius:3px;opacity:.9}
@media(prefers-reduced-motion:no-preference){dialog[open]{animation:glass-reveal .5s ease-out}@keyframes glass-reveal{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}}
@media(max-width:1100px){.film{height:100svh;min-height:780px}.narrative{top:32%}}
@media(max-width:700px){
 .site-header{height:90px}.film{height:100svh;min-height:830px;max-height:none}
 .film-topline{top:105px}.frame img{object-position:56% 35%}
 .shade{background:linear-gradient(0deg,#142119 0%,#142119f0 18%,#15221ba6 43%,transparent 73%),linear-gradient(#1421197a,transparent 28%)}
 .narrative{top:auto;bottom:257px;left:7%;right:7%;width:auto}
 .scene-bottom{bottom:221px}.scene-caption{max-width:100%}
 .story-bar{bottom:119px;padding:12px 7%;min-height:80px}
 .mobile-discover{position:absolute;bottom:69px;left:7%;right:7%;z-index:5;display:flex;justify-content:space-between;gap:14px;padding:0;border:0}
 .mobile-discover>span{display:none}.mobile-discover button{border:0;font-size:12px;gap:9px;padding:13px 0;color:#e6e8dc}
 .mobile-discover button>span{color:#d5bf88}
 footer{padding:12px 7%;min-height:59px;gap:8px;font-size:10px}
 footer>span{display:none}footer button{font-size:11px}
 .object-erika{display:none}
 dialog{max-height:calc(100svh - 28px)}
}
@media(prefers-reduced-motion:reduce){.film.is-cutting .scene{filter:none}dialog[open]{animation:none}}
/* Transparent caption/control containers must not intercept scene clicks. */
.frame img,.paper-lift img{object-position:100% 53%}
.scene-bottom,.film-topline,.shade,.light-layer{pointer-events:none}
.story-bar{pointer-events:none}
.story-bar button,.story-bar nav{pointer-events:auto}
.object-instrument .object-point,.object-paper .object-point{width:clamp(100px,15vw,230px);height:90px;justify-content:center;transform:translate(-50%,-50%)}
.object-instrument .object-label,.object-paper .object-label{right:calc(50% + 25px)}
.object-instrument .point,.object-paper .point{flex-shrink:0;background:#344635b3;border-color:#f7edcfb3}
.object-point:focus-visible{outline:2px solid #dbc68e;outline-offset:0;border-radius:8px}
@media(prefers-reduced-motion:no-preference){
 .object-instrument .point,.object-paper .point{animation:quiet-discovery 6s ease-in-out infinite}
 .object-paper .point{animation-delay:-3s}
 .mobile-discover button>span{display:inline-block;animation:quiet-tap-cue 6s ease-in-out infinite}
 @keyframes quiet-tap-cue{0%,100%{transform:translateY(1px)}50%{transform:translateY(-2px)}}
 .object-point:hover .point,.object-point:focus-visible .point{animation-play-state:paused}
 @keyframes quiet-discovery{0%,100%{transform:translateY(2px);box-shadow:0 0 0 5px #eee4c40a}50%{transform:translateY(-3px);box-shadow:0 0 0 8px #eee4c41c}}
}
@media(min-width:701px) and (max-width:1100px){
 .mobile-discover{position:absolute;bottom:150px;right:4.5%;z-index:6;display:flex;gap:20px;padding:0;border:0}
 .mobile-discover>span{display:none}.mobile-discover button{background:#203025b3;color:#f7f1df;padding:12px;border:1px solid #e5ddba33;border-radius:4px;font-size:12px}
 .object-instrument,.object-paper{display:none}
 .scene-bottom{bottom:208px}
}
@media(max-width:700px){.frame img{object-position:56% 35%}}
/* The supported-foot assessment changes camera composition. */
.film[data-chapter="2"] .frame[data-frame="2"] img,.film[data-chapter="3"] .frame[data-frame="2"] img{object-position:50% 53%}
.film[data-chapter="2"] .paper-lift,.film[data-chapter="3"] .paper-lift{display:none}
.film[data-chapter="2"] .narrative,.film[data-chapter="3"] .narrative{left:auto;right:5%;top:25%;width:27%}
.film[data-chapter="2"] h1,.film[data-chapter="3"] h1{font-size:clamp(30px,2.8vw,46px)}
.film[data-chapter="2"] .shade,.film[data-chapter="3"] .shade{background:linear-gradient(270deg,#142018db,transparent 58%),linear-gradient(0deg,#111e18,#142019dd 10%,transparent 45%)}
@media(min-width:701px) and (max-width:1100px){
 .film[data-chapter="2"] .narrative,.film[data-chapter="3"] .narrative{top:auto;bottom:270px;width:37%;right:5%}
 .film[data-chapter="2"] .story-copy,.film[data-chapter="3"] .story-copy{font-size:14px}
 .film[data-chapter="2"] .object-erika,.film[data-chapter="3"] .object-erika,.paper-lift{display:none}
}
@media(max-width:700px){
 .film[data-chapter="2"] .narrative,.film[data-chapter="3"] .narrative{left:7%;right:7%;top:auto;bottom:257px;width:auto}
 .film[data-chapter="2"] .shade,.film[data-chapter="3"] .shade{background:linear-gradient(0deg,#142119 0%,#142119f0 18%,#15221ba6 43%,transparent 73%),linear-gradient(#1421197a,transparent 28%)}
}
/* Conversation and community stories share the existing cinematic glass panel. */
.review-card{min-height:235px;padding:22px 0}.review-card blockquote{font:400 clamp(22px,3vw,30px)/1.5 Georgia,serif;margin:0 0 24px;color:#fff6e5}.review-card>a{font-size:13px;text-underline-offset:5px}.review-nav{display:flex;align-items:center;justify-content:space-between;margin:0 0 26px}.review-nav button{width:48px;height:44px;border:1px solid #f5e5c14d;background:#ffffff09;border-radius:50%;font-size:22px}.review-nav span{font-size:11px;letter-spacing:.2em}.review-nav button:hover{background:#ffffff20}
#detail-dialog[data-panel=chat]{width:min(580px,calc(100vw - 24px))}#detail-dialog[data-panel=chat] .dialog-shell{padding:40px 30px 24px}#detail-dialog[data-panel=chat] h2{font-size:38px;margin-bottom:12px}#detail-dialog[data-panel=chat] .eyebrow{margin-bottom:10px}.chat-status{font-size:12px;color:#e6d3a8!important}.chat-messages{height:240px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#afba9b #ffffff08;padding:4px 8px 4px 0}.chat-bubble{background:#eceddb0d;border:1px solid #ffffff12;border-radius:14px 14px 14px 3px;margin:10px 28px 10px 0;padding:14px 16px}.chat-bubble.customer{margin:10px 0 10px 28px;background:#d2b37324;border-radius:14px 14px 3px 14px}.chat-bubble strong{font-size:11px;letter-spacing:.03em;color:#e8d5ac}.chat-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6;margin:7px 0 0}.chat-composer{display:flex;border:1px solid #e8d5ac66;border-radius:12px;background:#0c171c35;margin:14px 0 12px;padding:6px}.chat-composer textarea{resize:vertical;min-height:52px;max-height:140px;width:100%;background:none;border:0;color:#fff8ea;font-family:inherit;font-size:16px;line-height:1.5;padding:10px}.chat-composer textarea::placeholder{color:#e6e2d3b3}.chat-composer button{align-self:center;border-radius:8px;background:#ccb27c;color:#17251d;padding:12px;white-space:nowrap}.chat-actions{display:flex;flex-wrap:wrap;gap:8px}.chat-actions button{background:#ffffff09;border:1px solid #ffffff26;border-radius:20px;padding:10px 12px;font-size:11px}.chat-actions button:hover{background:#ffffff20}.chat-privacy{font-size:11px;margin-top:18px;line-height:1.6;color:#e2dece}.chat-privacy summary{cursor:pointer;padding:5px 0}.chat-privacy p{font-size:11px!important;margin:10px 0}.chat-error{font-size:12px;color:#ffddb5!important;margin:8px 0}.chat-error:empty{display:none}.chat-composer :focus-visible,.chat-privacy summary:focus-visible{outline:2px solid #d9bd85;outline-offset:2px}button:disabled{opacity:.5}
@media(max-width:700px){#detail-dialog[data-panel=chat] .dialog-shell{padding:40px 20px 20px}.chat-messages{height:clamp(140px,31dvh,270px)}#detail-dialog[data-panel=chat] h2{font-size:30px}.review-card{min-height:260px}}
.review-stars{color:#d9b875;letter-spacing:.15em;font-size:22px;margin-bottom:16px}.review-card .eyebrow{font-size:10px;margin-bottom:15px}.review-position{text-align:center}.review-dots{display:flex;justify-content:center;gap:0;margin-top:5px}.review-dots button{width:25px;height:32px;border:0;border-radius:0;background:none;display:grid;place-items:center;padding:0}.review-dots button span{display:block;width:5px;height:5px;background:#eee4ce66;border-radius:50%;transition:background .25s,transform .25s}.review-dots button[aria-pressed=true] span{background:#e2bf7f;transform:scale(1.5)}.review-dots button:hover{background:none}.review-card:not([hidden]){animation:review-reveal .45s ease both}@keyframes review-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.review-card:not([hidden]){animation:none}.review-dots button span{transition:none}}
.review-dots{display:grid;grid-template-columns:repeat(7,25px)}.rating-only{font:28px/1.5 Georgia,serif;margin:20px 0}.credentials dd{overflow-wrap:anywhere}
.service-list{display:grid;gap:12px;margin:22px 0 26px}.service-card{display:flex;gap:18px;padding:20px;background:#f5e9cd09;border:1px solid #d9d5bd26;border-radius:16px}.service-number{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#d4bc8120;color:#e3c98f;font-size:11px;letter-spacing:.1em}.service-card h3{font:24px/1.25 Georgia,serif;color:#efe0ba;margin:3px 0 10px}.service-card p{font-size:14px;line-height:1.65;margin:0}.service-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center}@media(max-width:700px){.service-card{padding:16px;gap:12px}.service-card h3{font-size:21px}.service-card p{font-size:13px}}

/* Place the desktop service invitation just below the supported foot. */
.object-services{display:none}
@media(min-width:701px){
 .film[data-chapter="2"] .object-services,.film[data-chapter="3"] .object-services{display:block}
 .object-services .object-point{transform:translate(-50%,-50%);padding:10px 14px;gap:11px;border-radius:30px;background:#18291fbf;border:1px solid #e7d8b844;backdrop-filter:blur(9px)}
 .service-caption{font-size:14px;color:#f6ecd6;white-space:nowrap}
 body:has(.film[data-chapter="2"]) footer [data-panel="services"],body:has(.film[data-chapter="3"]) footer [data-panel="services"]{display:none}
}
@media(prefers-reduced-motion:no-preference){.object-services .point{animation:quiet-discovery 6s ease-in-out infinite}.object-services:hover .point,.object-services:focus-within .point{animation-play-state:paused}}

/* A quiet, centrally anchored invitation into the existing glass panel. */
.cinema-menu{display:none}
.cinema-menu-links{display:grid;gap:10px;margin-top:28px}
.cinema-menu-links button{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;min-height:54px;text-align:left;font-size:16px;border:1px solid #dcd5ba40;border-radius:12px;background:#ffffff08;color:#f5ecd9}
.cinema-menu-links button:hover{background:#d8c49320}
.cinema-menu-links .book-button{background:#d3b67d;color:#18271f;margin-top:10px}
@media(min-width:0px){
 .film .object-services{display:none!important}
 footer [data-panel="services"]{display:none}
 .cinema-menu{position:absolute;z-index:6;left:50%;bottom:215px;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:9px;padding:14px 20px;border:1px solid #dfd4aa55;border-radius:36px;background:#192d24c7;backdrop-filter:blur(12px);color:#e4d5ab;box-shadow:0 0 18px #c3cd9820;cursor:pointer}
 .cinema-menu span{font:14px/1.3 Arial,sans-serif;white-space:nowrap}
 .evergreen-icon{width:30px;height:30px;stroke-width:1.5}
 .cinema-menu:hover,.cinema-menu:focus-visible{background:#2b4234;border-color:#ead7a3;outline:2px solid #ead7a3;outline-offset:5px}
}
@media(min-width:0px) and (prefers-reduced-motion:no-preference){
 .cinema-menu{animation:evergreen-drift 8s ease-in-out infinite;animation-play-state:paused}
 .film[data-playing="true"] .cinema-menu{animation-play-state:running}
 .film .cinema-menu:hover,.film .cinema-menu:focus-visible{animation-play-state:paused}
 @keyframes evergreen-drift{0%,100%{transform:translate(-50%,0);box-shadow:0 0 18px #c3cd9818}50%{transform:translate(-50%,-5px);box-shadow:0 0 28px #c3cd9838}}
}
/* Menu options emerge from the evergreen, nearest first. */
.cinema-menu-dock{display:none}
@media(min-width:0px){
 .cinema-menu-dock{display:block;position:absolute;z-index:7;left:50%;bottom:215px;transform:translateX(-50%)}
 .cinema-menu-dock .cinema-menu{position:relative;left:auto;bottom:auto;transform:none;z-index:2}
 .cinema-menu-stack{position:absolute;bottom:100%;left:50%;width:220px;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;padding:0 0 14px;visibility:hidden;pointer-events:none}
 .cinema-menu-stack :is(button,a){display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 16px;border-radius:24px;border:1px solid #d5d1ad55;background:#1c3026ec;backdrop-filter:blur(16px);color:#f4ecd8;font:14px/1.4 Arial,sans-serif;text-align:left;box-shadow:0 6px 24px #06180f30;opacity:0;transform:translateY(calc(var(--distance)*56px)) scale(.82)}
 .cinema-menu-stack .menu-item-icon{width:21px;height:21px;flex:none;stroke-width:1.5;color:#d9c494}
 .cinema-menu-stack .menu-book{background:#cdb17c;color:#17291e;border-color:#e5cc96}
 .cinema-menu-stack .menu-book .menu-item-icon{color:inherit}
 .cinema-menu-stack :is(button,a):hover{background:#3a5040;border-color:#e4d3a6}
 .cinema-menu-stack .menu-book:hover{background:#e1c693}
 .cinema-menu-stack :is(button,a):focus-visible{outline:2px solid #efdaa5;outline-offset:3px}
 .cinema-menu-dock.is-open .cinema-menu-stack{visibility:visible;pointer-events:auto}
 .cinema-menu-dock.is-open .cinema-menu-stack :is(button,a){opacity:1;transform:none}
 .cinema-menu-dock.is-open .cinema-menu{animation-play-state:paused}
}
@media(min-width:0px) and (prefers-reduced-motion:no-preference){
 .cinema-menu-stack{transition:visibility 0s .45s}
 .cinema-menu-stack :is(button,a){transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .3s ease,background .2s;transition-delay:0s}
 .cinema-menu-dock.is-open .cinema-menu-stack{transition-delay:0s}
 .cinema-menu-dock.is-open .cinema-menu-stack :is(button,a){transition-delay:calc(var(--order)*65ms)}
 @keyframes evergreen-drift{0%,100%{transform:translateY(0);box-shadow:0 0 18px #c3cd9818}50%{transform:translateY(-5px);box-shadow:0 0 28px #c3cd9838}}
}

/* Mobile: one compact evergreen above the chapter controls. */
@media(max-width:700px){
 .cinema-menu-dock{left:auto;right:7%;bottom:215px;transform:none}
 .cinema-menu-dock .cinema-menu{width:70px;min-height:70px;padding:10px 6px;gap:5px;border-radius:24px}
 .cinema-menu span{font-size:11px;white-space:normal;line-height:1.2}
 .evergreen-icon{width:25px;height:25px}
 .cinema-menu-stack{left:auto;right:0;transform:none;width:min(220px,80vw)}
 .scene-caption{max-width:calc(100% - 95px)}
 .mobile-discover{display:none}
}
/* Let the open menu come into focus while the film softens behind it. */
.film:has(.cinema-menu-dock.is-open) .scene{filter:blur(4px) brightness(.78);transition:filter .55s ease}
.film:has(.cinema-menu-dock.is-open) .narrative,.film:has(.cinema-menu-dock.is-open) .scene-bottom{filter:blur(2px);opacity:.55;transition:filter .55s ease,opacity .55s ease}
.narrative,.scene-bottom{transition:filter .55s ease,opacity .55s ease}
@media(prefers-reduced-motion:reduce){
 .film:has(.cinema-menu-dock.is-open) .scene,.film:has(.cinema-menu-dock.is-open) .narrative,.film:has(.cinema-menu-dock.is-open) .scene-bottom,.narrative,.scene-bottom{transition:none}
}

/* Use the original Evercare mark, framed without its wordmark. */
.cinema-menu .evercare-menu-mark{display:block;position:relative;overflow:hidden;width:44px;height:36px;flex:none}
.evercare-menu-mark img{display:block;width:120px;max-width:none;height:36px;position:absolute;left:0;top:0}
@media(max-width:700px){.cinema-menu .evercare-menu-mark{width:37px;height:30px}.evercare-menu-mark img{width:100px;height:30px}}
/* The journal uses the same green glass, with a calm reading measure. */
#detail-dialog[data-panel=blog],#detail-dialog[data-panel^="article-"]{width:min(820px,calc(100% - 24px))}
.blog-list{display:grid;gap:18px;margin-top:28px}.blog-card{display:block;width:100%;text-align:left;padding:26px;border:1px solid #e6d6ad40;border-radius:16px;background:#f3e9cb08;color:#f6eddb}.blog-card:hover{background:#f3e9cb15}.blog-card time,.blog-meta{font-size:14px;color:#d7c79e}.blog-card h3{font:28px/1.3 Georgia,serif;margin:14px 0;color:#f6e6c2}.blog-card p{font-size:16px!important;line-height:1.6}.blog-card>span{display:block;margin-top:18px;font-size:14px;color:#e1c68e}.blog-back{margin-bottom:28px}.blog-article>header{border-bottom:1px solid #e6d6ad35;margin-bottom:28px;padding-bottom:18px}.blog-article #detail-title{font:clamp(28px,4vw,42px)/1.2 Georgia,serif}.blog-body{max-width:65ch;margin:auto}.blog-body p,.blog-body li{font:17px/1.8 Arial,sans-serif!important;color:#eee9da}.blog-body h2{font:28px/1.3 Georgia,serif!important;margin:34px 0 16px!important;color:#eddbb3}.blog-body h3,.blog-body h4{font:22px/1.4 Georgia,serif;margin:26px 0 14px;color:#eddbb3}.blog-body ul,.blog-body ol{padding-left:24px}.blog-body li{margin-bottom:8px}.blog-body a{color:#e6cb93;text-decoration:underline;text-underline-offset:4px}.blog-body blockquote{margin:20px 0;padding:8px 20px;border-left:2px solid #d4b679;background:#efe5c908}.blog-body .text-action{font-size:16px;line-height:1.6;white-space:normal;text-align:left;margin:12px 0}.blog-body>div>div{padding:14px 0}.blog-card:focus-visible{outline:2px solid #edce8d;outline-offset:4px}
@media(max-width:700px){.blog-card{padding:20px}.blog-card h3{font-size:24px}.cinema-menu-stack{max-height:calc(100svh - 340px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}.cinema-menu-stack :is(button,a){flex-shrink:0}}
/* Match the booking dialog scrollbar across every cinematic panel. */
#detail-dialog{scrollbar-width:thin;scrollbar-color:#b9b48f transparent}
#detail-dialog::-webkit-scrollbar{width:6px}
#detail-dialog::-webkit-scrollbar-track{background:transparent}
#detail-dialog::-webkit-scrollbar-thumb{background:#b9b48f;border-radius:8px}

.cinema-menu-stack a{text-decoration:none;box-sizing:border-box}
