/* R40 — warm hierarchy, one clear route to each destination. */
html[data-theme] :is(h1,h2,h3,.bridge-type,.bridge-type span,.collection-compare-card strong){color:var(--accent)!important}
html[data-theme] .footer-r39 h2{font:500 1.5rem/1.3 Lora,Georgia,serif!important;letter-spacing:-.02em;text-transform:none;color:var(--accent)!important;margin-bottom:.7rem}
html[data-theme] .home-page .site-header:not(.compact){background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none}
html[data-theme] .site-header.compact{background:var(--overlay);box-shadow:0 1px 0 var(--line)}
html[data-theme] .home-page .site-header:not(.compact) :is(.theme-toggle,.menu-trigger){background:transparent}
/* The approved full-coordinate ribbons sit precisely over the original E. */
.logo-wave-base,.logo-wrap::after{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;background:var(--accent);-webkit-mask:url('assets/brand/logo-waves-mask.svg') center/100% 100% no-repeat;mask:url('assets/brand/logo-waves-mask.svg') center/100% 100% no-repeat}
.logo-wave-base{z-index:1}
html[data-theme] .logo-wrap::before{z-index:2;opacity:0;background:linear-gradient(105deg,transparent 38%,var(--muted) 47%,var(--ivory) 50%,var(--muted) 53%,transparent 62%);background-size:300% 100%;animation:r40-logo-glint 1.45s ease-in-out .75s 1 both}
html[data-theme] .logo-wrap::after{content:'';display:block;left:0;top:0;width:100%;height:100%;z-index:3;background:var(--hover);opacity:0;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--hover) 56.47%,transparent));animation:r40-logo-warm 1.5s ease-in-out 2.1s 1 both}
@keyframes r40-logo-glint{0%{opacity:0;background-position:100% 0}15%{opacity:1}85%{opacity:1}100%{opacity:0;background-position:0 0}}
@keyframes r40-logo-warm{0%,100%{opacity:0}35%,55%{opacity:1}}
/* Restore the pointer-following ember treatment with legible dark lettering. */
html[data-theme] :is(.btn,.btn.dark){color:var(--text);background:transparent;border-color:var(--accent)}
html[data-theme] :is(.btn.solid,.header-cta.btn.solid){background:var(--hover);color:var(--merlot);border-color:var(--hover)}
html[data-theme] :is(.btn,.header-cta.btn.solid)::before{background:radial-gradient(circle 160px at var(--mx) var(--my),var(--hover),var(--hover) 75%);opacity:0;transition:opacity .28s}
html[data-theme] :is(.btn,.header-cta.btn.solid):is(:hover,:focus-visible){color:var(--merlot);border-color:var(--hover);box-shadow:0 0 26px color-mix(in srgb,var(--hover) 30.20%,transparent);transform:translateY(-2px)}
html[data-theme] :is(.btn,.header-cta.btn.solid):is(:hover,:focus-visible)::before{opacity:1;background:radial-gradient(circle 160px at var(--mx) var(--my),var(--hover),var(--hover) 75%)}
.footer-r39 .footer-all{padding:.2rem 0 0;margin:0;border:0;gap:.5rem;text-decoration:underline;text-underline-offset:5px;align-self:start;font-weight:500}
.footer-r39 .footer-request{margin-top:.5rem;display:flex;align-items:center;gap:.6rem}
.footer-credit{min-height:56px}.footer-credit .sekoya-badge-logo{height:52px;max-width:230px}
html[data-theme] .menu-popover-link{font-size:1.5rem}
.menu-popover{max-height:calc(100svh - 100px);overflow-y:auto;overscroll-behavior:contain}
/* Product information and gallery share one section; no duplicate studio image. */
.product-overview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,5rem);padding-block:clamp(3rem,6vw,6rem);align-items:center;scroll-margin-top:110px}
.product-gallery,.product-overview-copy{min-width:0}.product-gallery .gallery-tabs{margin:0 0 1rem}.product-gallery .gallery-stage{margin:0;position:relative}.product-gallery .gallery-caption{font-size:.75rem;margin:.8rem 0 0;line-height:1.6}
.product-overview-copy h2{font-size:clamp(1.8rem,3.5vw,3.5rem);line-height:1.18;margin:.8rem 0 1.3rem}.product-overview-copy>p:not(.eyebrow){font-size:.94rem;line-height:1.85;margin-bottom:1.8rem;max-width:580px}
.product-overview-copy .btn{font-size:.68rem;white-space:normal;line-height:1.5;text-align:center;padding:.85rem 1.2rem}
.product-help{display:flex;align-items:center;gap:.6rem;width:fit-content;margin-top:1.5rem;font-size:.8rem;text-decoration:underline;text-underline-offset:5px;line-height:1.7}
.related-products{border-top:1px solid var(--line)}.related-products h2{font-size:clamp(1.8rem,3vw,3rem)}
.showcase-cards .collection-compare-card strong,.related-products .collection-compare-card strong{margin-bottom:1.2rem}
.collection-index{padding-bottom:5rem}
.faq-intro{padding-top:clamp(9rem,17vh,12rem);padding-bottom:3rem;max-width:1050px}.faq-intro h1{font-size:clamp(2.2rem,5vw,4.8rem);margin:1rem 0 1.5rem;max-width:800px}.faq-intro>p:last-child{font-size:.95rem;line-height:1.8}
.faq-page{padding-top:0;padding-bottom:0}.faq-page details{padding:1.5rem 0}.faq-page summary{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;list-style:none;padding:.25rem 0;font-size:1rem}.faq-page summary::-webkit-details-marker{display:none}.faq-page summary:after{content:'+';font-size:1.5rem;flex:none;color:var(--text);transition:transform .25s}.faq-page details[open] summary:after{transform:rotate(45deg)}.faq-page details p{margin:1rem 2.5rem 0 0;color:var(--muted)}
.faq-end{max-width:1050px;padding-block:2.5rem 5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.faq-end p{font-size:1rem;line-height:1.7}
.project-steps h3{font-size:1.5rem}.project-path-intro h2{max-width:500px}
@media(max-width:900px){html[data-theme] .home-page .hero{padding-top:0}.home-page .hero-media{aspect-ratio:16/10}.home-page .hero-media:before{content:'';position:absolute;inset:0 0 auto;height:105px;background:linear-gradient(var(--bg),transparent);z-index:1;pointer-events:none}.product-overview{grid-template-columns:1fr;gap:2rem}.product-overview-copy{max-width:650px}.product-gallery .gallery-stage{max-height:none}.product-overview-copy h2{font-size:clamp(1.8rem,5vw,3rem)}}
@media(max-width:720px){.footer-credit .sekoya-badge-logo{height:46px;max-width:220px}.footer-credit{min-height:50px}.footer-r39-models .footer-all{width:auto;gap:.5rem}.footer-r39 .footer-request{align-self:center}.faq-end{align-items:flex-start;flex-direction:column}.faq-intro{padding-top:8rem}.faq-page summary{font-size:.95rem}.faq-page details p{margin-right:0;font-size:.9rem}.product-overview{scroll-margin-top:85px}.menu-popover{max-height:calc(100svh - 90px)}}
@media(prefers-reduced-motion:reduce){html[data-theme] .logo-wrap::before,html[data-theme] .logo-wrap::after{display:none;animation:none}.logo-wave-base{display:block}.btn:hover{transform:none}}
