.project-finder,.project-questions{padding:100px 4vw;display:grid;grid-template-columns:1fr 1.15fr;gap:9%;background:#0f1118;border-top:1px solid #d4af3726}.finder-heading h2,.project-questions h2{font:400 clamp(48px,5.5vw,80px)/1.04 'Cormorant Garamond',serif;margin:30px 0}.finder-heading p,.project-questions>div>p{color:#bdb7ad;font-size:14px;line-height:1.9}.finder-heading>a{display:inline-block;margin-top:35px;color:#e5b967;text-underline-offset:6px;font-size:12px}.finder-form fieldset{border:0;padding:0;margin:0 0 32px;min-width:0}.finder-form legend{font-size:9px;color:#d4af37;letter-spacing:.16em;margin-bottom:20px}.finder-form label{display:flex;gap:14px;align-items:center;padding:19px 0;border-bottom:1px solid #ffffff20;cursor:pointer;font-size:14px;color:#bdb7ad}.finder-form input{appearance:auto;accent-color:#d4af37;width:16px;height:16px;margin:0;flex-shrink:0}.finder-form label:has(input:checked){color:#f3ede2}.finder-form label b{font-weight:400;margin-left:auto;color:#d4af37}.finder-stage label{font-size:12px}.finder-submit{background:#d4af37;color:#08090c;border:0;display:flex;justify-content:space-between;align-items:center;width:100%;padding:19px 24px;font:600 12px 'Plus Jakarta Sans',sans-serif;cursor:pointer}.finder-submit span{font-size:22px}.finder-result{padding-top:32px;margin-top:30px;border-top:1px solid #d4af3770}.finder-result h3{font:400 38px/1.1 'Cormorant Garamond',serif;margin:18px 0}.finder-result p{font-size:13px;color:#bdb7ad;line-height:1.9}.finder-result .result-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:22px}.finder-result a{font-size:12px;color:#e5b967;text-underline-offset:5px}.finder-result small{display:block;margin-top:22px;font-size:10px;color:#bdb7ad;line-height:1.8}.project-questions{background:#08090c}.question-list details{border-bottom:1px solid #d4af3736;padding:0}.question-list summary{display:flex;align-items:center;gap:20px;justify-content:space-between;list-style:none;font:400 17px/1.6 'Plus Jakarta Sans',sans-serif;cursor:pointer;padding:23px 0;color:#f3ede2}.question-list summary::-webkit-details-marker{display:none}.question-list summary span{font-size:24px;color:#d4af37}.question-list details[open] summary span{transform:rotate(45deg)}.question-list details p{color:#bdb7ad;font-size:13px;line-height:1.9;padding:0 30px 24px 0;margin:0}.service-wayfinding{display:flex;gap:35px;flex-wrap:wrap;padding:23px 4vw;border-block:1px solid #d4af3736;background:#0f1118}.service-wayfinding a{font-size:11px;color:#bdb7ad;text-decoration:none}.service-wayfinding a:hover{color:#e5b967}.service-wayfinding span{color:#d4af37;margin-right:10px}.page-hero{min-height:68svh}.page-hero h1{font-size:clamp(52px,6vw,90px)}.finder-result[hidden]{display:none}
@media(max-width:800px){.project-finder,.project-questions{grid-template-columns:1fr;padding:70px 24px;gap:40px}.finder-heading h2,.project-questions h2{font-size:52px}.finder-form label{font-size:12px}.service-wayfinding{padding:20px 24px;gap:20px}.question-list summary{font-size:15px}.project-questions h2{margin-bottom:22px}}
/* Readability scale: comfortable body copy and usable controls. */
body{font-size:17px;line-height:1.7}
main p{font-size:18px!important;line-height:1.8!important}
.page-hero p{font-size:20px!important;max-width:740px}
.chapter-pane p{font-size:18px!important;max-width:480px}
.navlinks a{font-size:13px!important;letter-spacing:.04em}.navlinks{gap:18px}
.btn,.btn.small,.circle-cta,.finder-submit,.service-next>a,.catalog-service,.light-link,.text-link{font-size:14px!important;line-height:1.6}
.scene-label,.eyebrow,.chapter-tag,.finder-form legend,.method-number{font-size:12px!important;line-height:1.7;letter-spacing:.12em}
.service-selector>a,.service-selector>button,.lens-tabs button,.finder-form label,.finder-stage label{font-size:16px!important;line-height:1.6}
.service-steps summary,.question-list summary{font-size:18px!important;line-height:1.6}
.service-delivery li,.marketing-plan li,.glass-card li,.service-fit,.finder-result a,.result-links a{font-size:16px!important;line-height:1.8}
.catalog-note,.service-scope,.finder-result small,.demo-disclosure,.lens-services,.project-caption>span,.project-caption div>span{font-size:14px!important;line-height:1.8}
.brand-footer a,.brand-footer>div>span,.footer-intro>span,.footer-bottom small,.footer-bottom span{font-size:14px!important;line-height:1.8}
form label{font-size:14px!important;line-height:1.7}form input:not([type=radio]):not([type=checkbox]),form select,form textarea{font-size:16px!important;line-height:1.6;padding:15px!important}#formStatus,.form-privacy{font-size:14px!important;line-height:1.8}
.service-wayfinding a,.finder-heading>a{font-size:14px}.service-selector span,.lens-tabs button>span{font-size:11px}.stage-meta,.chapter-dot,.film-baseline,.film-pause{font-size:11px!important}.stage-meta{letter-spacing:.12em}.hero-art-disclosure,.lens-disclosure,.identity-editorial-copy>small{font-size:10px!important}
.service-demo p{font-size:13px!important;line-height:1.65!important}.service-demo .demo-disclosure{font-size:12px!important}.service-selector>a,.service-selector>button{margin-right:20px;padding-right:10px}.chapter-pane{max-width:780px}.finder-submit{min-height:58px}.hero-device-bar span,.hero-visual-caption small,.hero-demo-cta{font-size:10px!important}
@media(max-width:1200px) and (min-width:961px){.nav{gap:14px}.navlinks{gap:12px}.navlinks a{font-size:11px!important}.nav-actions .btn.small{font-size:11px!important}}
@media(max-width:800px){body{font-size:16px}main p,.chapter-pane p{font-size:16px!important;line-height:1.8!important}.page-hero p{font-size:18px!important}.service-selector>button,.lens-tabs button,.finder-form label,.finder-stage label{font-size:15px!important}.service-steps summary,.question-list summary{font-size:17px!important}.stage-meta{font-size:10px!important}.film-baseline{font-size:10px!important;flex-wrap:wrap}.lens-copy{padding-left:24px;padding-right:24px}.lens-copy h3{font-size:42px}.lens-disclosure{font-size:9px!important}.service-next>a{font-size:15px!important}.finder-heading p br{display:none}.navlinks a{font-size:17px!important}.brand-footer a{font-size:15px!important}.hero-demo-cta{font-size:9px!important}}
@media(min-width:801px){.finder-heading{position:sticky;top:120px;align-self:start}}
/* First-visit offer: native modal focus management and a scrollable mobile layout. */
.welcome-offer{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #d4af3755;background:#0f1118;color:#f3ede2;box-shadow:0 30px 100px #0009;overflow:auto}
.welcome-offer::backdrop{background:#08090ccc;backdrop-filter:blur(8px)}
.offer-inner{position:relative;padding:48px}.offer-close{position:absolute;right:12px;top:10px;min-width:44px;min-height:44px;background:none;border:0;color:#f3ede2;font-size:30px;cursor:pointer}.offer-kicker{font-size:12px;letter-spacing:.12em;color:#e5b967;padding-right:20px}.offer-inner h2{font:500 clamp(34px,6vw,52px)/1.1 'Cormorant Garamond',serif;margin:20px 0}.offer-amount{font-size:42px;color:#d4af37;margin:20px 0}.offer-amount small{font-size:12px;display:block;letter-spacing:.15em}.offer-inner p{font-size:17px;line-height:1.7}.offer-inner .offer-terms{font-size:13px;line-height:1.7;margin-top:20px;color:#c6c0b8}.offer-inner .btn{white-space:normal;line-height:1.5}.offer-dismiss{display:block;background:none;border:0;border-bottom:1px solid #d4af3755;padding:12px 0;color:#f3ede2;font:inherit;cursor:pointer}.offer-open{overflow:hidden}.welcome-offer :focus-visible{outline:2px solid #e5b967;outline-offset:4px}
@media(max-width:600px){.offer-inner{padding:38px 24px 24px}.offer-inner h2{font-size:38px}.offer-amount{font-size:36px}}
.welcome-offer .offer-inner>p,.welcome-offer .offer-inner>.offer-terms{color:#d1cbc1}.welcome-offer .offer-kicker,.welcome-offer .offer-dismiss,.welcome-offer .offer-amount{color:#e5b967}.welcome-offer .offer-amount{letter-spacing:-.03em;line-height:1.1;font-family:'Plus Jakarta Sans',sans-serif}.welcome-offer .offer-close{color:#f3ede2}.welcome-offer .offer-inner>.btn{background:#d4af37;color:#08090c!important;font-size:14px}.welcome-offer h2{font-family:'Cormorant Garamond',serif;letter-spacing:-.03em}
/* Keep the native offer dialog centred in the viewport, including after scrolling. */
dialog.welcome-offer{position:fixed;inset:0;margin:auto;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);overscroll-behavior:contain}
