/* Scroll changes only the document position. CTA bodies and their ancestors stay rigid. */
html.lenis,html.lenis body{scroll-behavior:auto!important;overflow-anchor:none}
/* The quiz forwards wheel to Lenis; it must remain interactive during scrolling. */
html.lenis.lenis-smooth iframe{pointer-events:auto}
html body .barhat-static-control{transform:none!important;translate:none!important;scale:none!important;filter:none!important;animation:none!important}
html body .barhat-static-control[data-reveal-state]{opacity:1!important;transition:none!important}

/* Hide the scrollbar without disabling native touch or smooth wheel scrolling. */
html,body,.case-gallery,.reels-track,.concierge-scroll{scrollbar-width:none!important;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,.case-gallery::-webkit-scrollbar,.reels-track::-webkit-scrollbar,.concierge-scroll::-webkit-scrollbar{display:none!important;width:0;height:0}
/* No shadow/glow effect on page content, including hover states during scroll. */
body *,body *::before,body *::after{text-shadow:none!important;box-shadow:none!important}
body :is(h1,h2,h3,h4,p,button,a,section,article){filter:none!important}
/* Use the untouched original mark, cropped by its transparent source margins. */
.site-end .brand-logo-original,.footer .logo-mark{display:block!important;position:relative!important;overflow:hidden!important;width:46px!important;height:44.722px!important;flex:0 0 46px!important;border:0!important;border-radius:0!important;background:none!important}
.site-end .brand-logo-original img,.footer .logo-mark img{position:absolute!important;left:-26.286px!important;top:-26.925px!important;width:98.572px!important;height:98.572px!important;max-width:none!important;object-fit:fill!important;filter:brightness(0) invert(1)!important;mix-blend-mode:normal!important}
html body #services .service-tabs button[aria-selected="true"]{box-shadow:none!important;border-bottom:2px solid #9c7356!important}

/* Open popover is the source of truth, regardless of scroll-state classes. */
html body:has(#chat-panel:popover-open) .contact-dock,html body.scrolled:has(#chat-panel:popover-open) .contact-dock{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* Chat follows available viewport, not laptop physical resolution. */
html body #chat-panel.concierge{inset:auto 16px 16px auto!important;width:min(360px,calc(100vw - 32px))!important;min-width:0!important;height:min(600px,calc(100dvh - 32px))!important;min-height:0!important;max-height:calc(100dvh - 32px)!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important}
html body #chat-panel.concierge:popover-open{display:flex!important;flex-direction:column!important}
html body #chat-panel .concierge-head{position:relative!important;inset:auto!important;flex:0 0 auto!important;padding:12px!important;min-height:64px;gap:10px}
html body #chat-panel .concierge-head [data-close]{display:grid!important;place-items:center!important;position:static!important;margin-left:auto!important;flex:0 0 40px!important;width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;line-height:1!important;cursor:pointer}
html body #chat-panel .concierge-scroll{flex:1 1 0!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain}
html body #chat-panel .concierge-head .admin-avatar,html body #chat-panel .concierge-head img{width:44px!important;height:44px!important;flex-basis:44px!important}
html body #chat-panel .concierge-faq{padding:8px 12px!important}
html body #chat-panel .concierge-compose,html body #chat-panel .concierge-links,html body #chat-panel>.site-consent{flex-shrink:0!important}
@media(max-height:650px){html body #chat-panel .concierge-faq>div{flex-wrap:nowrap!important;overflow-x:auto;max-width:100%;scrollbar-width:none}html body #chat-panel .concierge-faq button{flex-shrink:0;white-space:nowrap}html body #chat-panel .concierge-links{margin-top:5px;padding:8px 0!important}html body #chat-panel .concierge-scroll{padding:12px}}
@media(max-width:700px){html body #chat-panel.concierge{inset:auto 12px 12px auto!important;width:calc(100vw - 24px)!important;height:min(600px,calc(100dvh - 24px))!important;max-height:calc(100dvh - 24px)!important}}

/* Floating assistance stays above normal page layers. Modal close controls keep their top layer. */
html body .video-dock,html body .contact-dock{z-index:2147483000!important}
@media(pointer:coarse){html body .scroll-reveal-ready[data-reveal-state=pending]{opacity:1!important;translate:none!important}}

/* v63: layout changes in the embedded quiz must not anchor the whole page. */
html body .quiz-handoff{overflow-anchor:none}
html body .process.section.wrap{background:transparent;box-shadow:none;clip-path:none}
@media(max-width:700px){
 html body .editorial-services .service-card .card-photo{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:3/4!important}
 html body .editorial-services .service-card .card-photo img{height:100%!important;width:100%;object-fit:cover}
}

/* v64: reduce the whole mobile card; preserve each sprite tile's original ratio. */
@media(max-width:700px){
 html body .editorial-services #service-options,html body .editorial-services #service-options.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 html body .editorial-services .service-card .card-photo[style*="sun-"]{aspect-ratio:3/5!important}
 html body .editorial-services .service-card .card-photo.cornice-photo{aspect-ratio:1!important}
 html body .editorial-services .service-card h3{font-size:20px!important;line-height:1.15!important;margin:12px 10px 8px!important;overflow-wrap:break-word}
 html body .editorial-services .service-card p{font-size:12px!important;line-height:1.5!important;margin:0 10px!important}
}


/* v66: answer copy is immediately readable; only the accordion height changes. */
html body .faq-answer,html body .faq-answer *,html body .faq-item .answer,html body .faq-item .answer *{animation:none!important;transition:none!important;opacity:1!important;translate:none!important;transform:none!important}
html body .review-card{transition:transform 650ms cubic-bezier(.22,1,.36,1),background-color 650ms ease,border-color 650ms ease!important}
html body .review-card svg{transition:transform 650ms cubic-bezier(.22,1,.36,1)!important}
html body .hero .positioning-title{font-size:clamp(40px,5.5vw,86px)!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:0!important}
html body .hero .headline h1.positioning-title>span,html body .hero .headline h1.positioning-title>em{display:block;transform:none!important;white-space:normal!important;font-size:inherit!important;line-height:1.08!important;margin:0!important}
html body .hero .headline:has(.positioning-title){width:82%!important;max-width:1240px!important;left:9%!important}
@media(max-width:700px){html body .hero .headline:has(.positioning-title){width:100%!important;left:auto!important}html body .hero .positioning-title{font-size:clamp(33px,8.5vw,52px)!important;line-height:1.12!important}}

#chat-panel .concierge-compose{flex-wrap:wrap!important}#chat-panel .chat-reply-phone{flex:1 0 100%!important;width:100%!important;min-height:40px!important;box-sizing:border-box!important}
