/* One navigation system, with a native, keyboard-operable mobile disclosure. */
header.site-header{height:100px;padding:0 4vw;z-index:15;border-bottom:1px solid #ffffff26;color:#f4f4f4}
.site-header .brand{flex:none}
.site-header .brand img{width:138px;height:auto}
.site-header .desktop-nav{display:flex;gap:clamp(18px,2.3vw,36px);font-size:11px}
.site-header .desktop-nav>a{display:flex;position:relative;align-items:center;min-height:44px;white-space:nowrap}
.site-header .desktop-nav>a[aria-current=page]:not(.navcta):after{content:"";position:absolute;left:0;right:0;bottom:5px;border-bottom:1px solid currentColor}
.site-header .navcta{gap:18px;margin-left:14px}
.site-header .navcta .arrow{width:20px;height:20px}
.site-menu{display:none}
.site-header a:focus-visible,.site-menu summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.light .site-header,.interior .site-header,.portal-opening .site-header{color:#222;border-color:#0002}
.light .site-header .brand img,.interior .site-header .brand img,.portal-opening .site-header .brand img{filter:brightness(0)}
footer.site-footer{background:#171717;color:#ddd;display:grid;grid-template-columns:1.25fr .85fr 1.5fr;gap:35px 5vw;padding:65px 4vw 30px;border-top:1px solid #ffffff26}
.site-footer .footbrand{font-family:Hubot,Arial,sans-serif;font-size:clamp(40px,5.2vw,75px);letter-spacing:-.065em;line-height:1;grid-column:auto;align-self:start}
.site-footer .footer-note{font-size:11px;line-height:1.8}
.site-footer .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:11px 30px;align-items:start;font-size:11px}
.site-footer .footer-links>a{display:block;min-height:24px;margin:0}
.site-footer .footer-links>a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff26;margin:20px 0 0;padding-top:24px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.site-footer .footer-bottom .micro{font-size:8px;color:#999}
.site-footer .opening-compare{font-size:9px;display:flex;align-items:center;gap:10px;margin:0}
.site-footer .opening-compare .arrow{width:16px;height:16px}
.site-footer a:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:1050px){
 header.site-header{height:80px}.site-header .desktop-nav{display:none}
 .site-menu{display:block}.site-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:18px;min-height:44px;font-size:12px}
 .site-menu summary::-webkit-details-marker{display:none}.menu-mark{width:20px;position:relative;height:12px;display:block;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
 .site-menu[open] .menu-mark{height:0;border-bottom:0;transform:rotate(45deg)}.site-menu[open] .menu-mark:after{content:"";position:absolute;left:0;top:-1px;width:20px;border-top:1px solid currentColor;transform:rotate(90deg)}
 .site-menu .mobile-nav{position:absolute;top:79px;left:0;right:0;background:#f4f4f4;color:#222;display:grid;grid-template-columns:1fr 1fr;gap:0 8vw;align-items:start;padding:24px 6vw 32px;border-bottom:1px solid #ccc;box-shadow:0 20px 30px #0002;max-height:calc(100svh - 80px);overflow:auto}
 .site-menu .mobile-nav>a{display:block;padding:13px 0;min-height:44px;font-family:Hubot,Arial,sans-serif;font-size:clamp(24px,4vw,40px);line-height:1.2;letter-spacing:-.04em;border-bottom:1px solid #ccc}
 .site-menu .mobile-nav>a[aria-current=page]{color:#666}.site-menu .mobile-nav>.mobile-start{grid-column:1/-1;font-family:Mont,Arial,sans-serif;font-size:12px;letter-spacing:0;margin-top:15px;padding-top:22px;display:flex;gap:20px;align-items:center}
 .site-menu .mobile-start .arrow{width:20px}
}
@media(max-width:650px){header.site-header{padding:0 6vw}.site-header .brand img{width:110px}footer.site-footer{padding:50px 6vw 25px;grid-template-columns:1fr 1fr;gap:30px}.site-footer .footbrand{grid-column:1/-1;font-size:58px}.site-footer .footer-links{gap:10px 18px;font-size:10px}.site-footer .footer-note{font-size:10px}.site-footer .footer-bottom{align-items:start;flex-direction:column;gap:18px}.site-footer .footer-bottom .micro{font-size:8px}}
@media(prefers-reduced-motion:reduce){.site-header *{transition:none!important}}
.dark-opening .site-header{color:#f4f4f4;border-color:#ffffff26}
.dark-opening .site-header .brand img{filter:brightness(0) invert(1)}
.portal-opening .site-header{background:#f1f1f1}
/* Override the older compact homepage nav rule for the complete mobile menu. */
.home .site-header .site-menu .mobile-nav>a{display:block}
.home .site-header .site-menu .mobile-nav>a.mobile-start{display:flex}

/* Expanded native catalog and support navigation. */
.site-header .desktop-nav{gap:clamp(16px,1.8vw,28px)}
.site-footer .footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 22px}
footer.site-footer{grid-template-columns:1.1fr .75fr 2fr}
@media(max-width:850px){footer.site-footer{grid-template-columns:1fr 1fr}.site-footer .footer-links{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));font-size:11px}.site-footer .footer-links>a{min-height:30px}}
@media(max-width:450px){.site-footer .footer-links{grid-template-columns:1fr 1fr;gap:8px 20px}.site-footer .footbrand{grid-column:1/-1}}

/* Clear service labels without crowding the compact navigation. */
header.site-header{gap:24px}
.site-menu .mobile-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-menu .mobile-nav>a{min-width:0;overflow-wrap:anywhere}
@media(max-width:650px){.site-menu .mobile-nav{grid-template-columns:minmax(0,1fr)}}

/* About submenu: start */
.site-header .nav-about{position:relative;display:flex;align-items:center;min-width:0}
.site-header .nav-about>a{position:relative;display:flex;align-items:center;min-height:44px;white-space:nowrap}
.site-header .nav-about>a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:5px;border-bottom:1px solid currentColor}
.site-header .nav-submenu>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:28px;min-height:44px;cursor:pointer}
.site-header .nav-submenu>summary::-webkit-details-marker{display:none}
.site-header .nav-submenu>summary:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.site-header .nav-chevron{width:10px;height:7px;fill:none;stroke:currentColor;stroke-width:1.2;transition:transform .15s ease}
.site-header .nav-submenu[open] .nav-chevron{transform:rotate(180deg)}
.site-header .nav-submenu-panel{position:absolute;top:100%;left:-16px;z-index:1;min-width:154px;padding:8px;background:#232323;color:#f4f4f4;border:1px solid #ffffff26;box-shadow:0 12px 24px #0002}
.site-header .nav-submenu-panel>a{display:flex;align-items:center;min-height:44px;padding:10px 12px;white-space:nowrap}
.site-header .nav-submenu-panel>a:hover,.site-header .nav-submenu-panel>a:focus-visible{background:#ffffff12}
.site-header .nav-submenu-panel>a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.light .site-header .nav-submenu-panel,.interior .site-header .nav-submenu-panel,.portal-opening .site-header .nav-submenu-panel{background:#f4f4f4;color:#222;border-color:#0002}
.light .site-header .nav-submenu-panel>a:hover,.interior .site-header .nav-submenu-panel>a:hover,.portal-opening .site-header .nav-submenu-panel>a:hover{background:#00000008}
.dark-opening .site-header .nav-submenu-panel{background:#232323;color:#f4f4f4;border-color:#ffffff26}
/* Fit the single desktop link instead of reserving space for a larger menu. */
@media(min-width:1051px){
 .site-header .desktop-nav .nav-submenu-panel{left:-12px;min-width:0;width:max-content;padding:0}
 .site-header .desktop-nav .nav-submenu-panel>a{padding:0 12px}
}
@media(max-width:1050px){
 .site-header .mobile-nav .nav-about{display:block;border-bottom:1px solid #ccc}
 .site-header .mobile-nav .nav-about>a{display:block;min-height:44px;padding:13px 44px 13px 0;font-family:Hubot,Arial,sans-serif;font-size:clamp(24px,4vw,40px);line-height:1.2;letter-spacing:-.04em}
 .site-header .mobile-nav .nav-about>a[aria-current=page]{color:#666}
 .site-header .mobile-nav .nav-about>a[aria-current=page]:after{display:none}
 .site-header .mobile-nav .nav-submenu>summary{position:absolute;right:0;top:0;width:44px;min-height:calc(clamp(28.8px,4.8vw,48px) + 26px);padding:0}
 .site-header .mobile-nav .nav-chevron{width:12px;height:8px}
 .site-header .mobile-nav .nav-submenu-panel{position:static;min-width:0;padding:0 0 10px 16px;background:transparent;color:#222;border:0;box-shadow:none}
 .site-header .mobile-nav .nav-submenu-panel>a{font-family:Mont,Arial,sans-serif;font-size:14px;line-height:1.5;letter-spacing:0;padding:10px 0}
 .site-header .mobile-nav .nav-submenu-panel>a:hover{background:transparent;text-decoration:underline;text-underline-offset:5px}
}
/* About submenu: end */

/* Footer layer study: start */
/* The homepage's actual wave field, faded into the existing footer footprint. */
footer.site-footer{position:relative;isolation:isolate}
.site-footer .footer-layer-field{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.site-footer .footer-layer-study{display:block;width:100%;height:100%;opacity:.16;transform:rotate(-11deg) scale(1.2);transform-origin:56% 55%;pointer-events:none}
.site-footer .footer-layer-field::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#171717f5 0%,#17171791 16%,#17171700 37%,#17171700 52%,#171717e6 74%,#171717 100%),radial-gradient(ellipse at 20% 35%,#171717ed 0%,#171717cf 23%,#17171770 43%,#1717170a 68%)}
.site-footer .footer-layer{opacity:.78}
.site-footer .footer-layer-study.is-building .footer-layer{stroke-dasharray:1;stroke-dashoffset:var(--footer-layer-draw,0);opacity:var(--footer-layer-opacity,.78)}
@media(max-width:700px){.site-footer .footer-layer-study{transform:rotate(-10deg) scale(1.12)}}
@media(prefers-reduced-motion:reduce){.site-footer .footer-layer-study .footer-layer{stroke-dasharray:none!important;stroke-dashoffset:0!important;opacity:.78!important}}
@media print{.site-footer .footer-layer-study .footer-layer{stroke-dasharray:none!important;stroke-dashoffset:0!important;opacity:.78!important}}
/* Footer layer study: end */

/* UI arrow icons: start */
/* Explicit vector paths avoid platform-dependent Unicode/emoji presentation. */
.ui-arrow{display:inline-block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:-.12em;pointer-events:none}
/* Preserve the existing compact Press heading spans and card icon size. */
.edition-card-arrow .ui-arrow{vertical-align:middle}
/* UI arrow icons: end */

/* Launch accessibility: visible keyboard focus on light CTA backgrounds. */
.editions-page .edition-cta:focus-visible,.submit-design-page .support-submit:focus-visible,.press-page .support-submit:focus-visible{outline:2px solid #333;outline-offset:6px}
.editions-page .edition-designer-copy h2 .edition-designer-profile{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
/* Source-backed case evidence and optional, user-controlled product motion. */
.case-evidence{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:4vw;padding:0 4vw 70px}
.case-evidence figure{min-width:0;margin:0}.case-evidence figure:first-child{max-width:480px;justify-self:center}
.case-evidence img{display:block;width:100%;height:auto}.case-evidence figcaption{font-size:12px;line-height:1.7;color:#555;padding-top:14px}
.editions-page .edition-motion{padding:0 7vw 65px}.edition-motion details{border-block:1px solid #bbb;padding:12px 0}
.edition-motion summary{cursor:pointer;font-size:15px;line-height:1.6;padding:12px 0;min-height:44px}
.edition-motion figure{max-width:380px;margin:20px auto}.edition-motion video{display:block;width:100%;height:auto;background:#171717}
.edition-motion figcaption{font-size:12px;line-height:1.7;color:#555;padding-top:14px}
@media(max-width:760px){.case-evidence{grid-template-columns:minmax(0,1fr);gap:32px;padding:0 6vw 50px}.editions-page .edition-motion{padding:0 6vw 45px}}
.case-evidence-single{padding:0 4vw 75px}.case-evidence-single figure{max-width:1200px;margin:0 auto}.case-evidence-single.is-portrait figure{max-width:570px}.case-evidence-single img{display:block;width:100%;height:auto}.case-evidence-single figcaption{font-size:12px;line-height:1.7;color:#666;padding-top:14px}@media(max-width:760px){.case-evidence-single{padding:0 6vw 50px}}

/* Marketing reading scale: start */
/* A shared reading scale, not a zoom: display type, artwork and header navigation
   keep their own sizes. The standalone client portal does not load this sheet. */
body:is(.home,.light,.interior,.portal-opening){--reading-body:18px;--reading-small:14px;--reading-action:16px;font-size:var(--reading-body);line-height:1.65}
body:is(.home,.light,.interior,.portal-opening) main p:not(.micro,.about-lead,.about-sustainability-lead,.studio-large-copy,.lfam-lead,.support-lead,.contact-lead,.trade-lead,.portal-intro),
body.home .lead-project.prudential-story .scale-copy p:not(.micro),
body.home .lead-project.prudential-story #scale-description,
body.home .process-section .process-body>p,
body.home .print-story .hero-proposition,
body.home .portal-intro .portal-description,
body.home .lead-project.prudential-story .prudential-fallback-copy,
body.inquiry-page .inquiry>div>p:not(.inquiry-question){font-size:var(--reading-body);line-height:1.7}
/* Preserve the larger editorial leads while lifting their lower bound. */
body.support-page .support-hero .support-lead{font-size:clamp(var(--reading-body),1.6vw,22px)}
body.contact-page .contact-lead{font-size:clamp(var(--reading-body),1.45vw,20px)}
body.trade-page .trade-lead{font-size:clamp(var(--reading-body),1.4vw,20px)}
body.portal-opening .portal-intro{font-size:clamp(var(--reading-body),1.35vw,19px)}
/* Descriptions, specification lists and policy lists use the reading size too. */
body:is(.home,.light,.interior,.portal-opening) main :is(.lfam-spec-list dd,.support-facts dd,.material-rows dd,.lfam-checks dd,.sp-facts dd,.support-list li){font-size:var(--reading-body);line-height:1.7}
/* Supporting text is quieter than body copy, but no longer tiny. */
body:is(.home,.light,.interior,.portal-opening) main :is(p.service-study-hint,p.service-secondary,p.trade-review-note,p.trade-local-note,p.press-preview-note,p.brief-note,p.brief-status,p.support-field-help,p.support-form-status,p.support-reference,p.support-local-note,p.contact-required,p.contact-local-note,p.edition-reference-note,p.edition-image-note,p.edition-price-note,p.edition-sample-note,p.edition-preview-note,p.project-view-note,p.skylrk-timing,p.about-recovery-status,p.process-motion-status,.support-form .support-field-help,.trade-optional,.contact-optional,.support-material .support-material-note,.support-preview p,.brief-preview p){font-size:var(--reading-small);line-height:1.65}
body:is(.home,.light,.interior,.portal-opening) main :is(.demo-note,.service-study-disclaimer,.contour-disclaimer,.process-note,.support-notice,.support-reference,.edition-finish,.edition-selector-label,.edition-facts dt,.edition-facts dd,.credits dt,.credits dd,.project-facts dt,.project-location,.archive-count,.edition-count,.lfam-comparison-head,.lfam-mobile-label){font-size:var(--reading-small);line-height:1.65}
body:is(.home,.light,.interior,.portal-opening) main :is(figure,.service-cover,.lens-stage,.project-context,.project-final-photo,.project-photo-gallery,.edition-scene) figcaption,
body.home .lead-project.prudential-story .scale-image figcaption,
body.editions-page .edition-scene figcaption>span{font-size:var(--reading-small);line-height:1.65}
body:is(.home,.light,.interior,.portal-opening) main :is(.micro,.service-eyebrow .micro,.service-section-head .micro,.service-project-caption .micro,.service-architecture-row .micro,.service-audiences .micro,.studio-kicker .micro,.archive-eyebrow .micro,.project-topline .micro,.portal-hero-copy .micro,.portal-section-top .micro,.portal-project-facts .micro,.portal-next>.micro){font-size:12px;line-height:1.6}
/* Text actions and filters are readable without changing heading-sized links,
   arrow geometry, disclosure icons or the compact header/About dropdown. */
body:is(.home,.light,.interior,.portal-opening) main :is(.textlink,.service-link,.studio-link,.support-link,.sp-link,.portal-link,.service-external,.service-architecture-links>a,.project-case-link,.project-next-links a,.project-cta-links a,.edition-spec-link,.edition-preview-banner>a,.edition-cta,.trade-join,.start-button,.support-index a,.lfam-page-links a,.lfam-brief-routes a){font-size:var(--reading-action);line-height:1.5}
body.home .lead-project.prudential-story .textlink,
body:is(.home,.light,.interior,.portal-opening) main :is(.project-filters button,.project-photo-switch button,.edition-filters button,.edition-variant-options button,.edition-gallery-controls button,.lens-controls button,.contour-controls button,.service-answers summary,.edition-disclosures summary,.sp-questions summary,.support-preview-actions button,.brief-actions a,.brief-actions button){font-size:var(--reading-action);line-height:1.5}
/* Narrow, multi-column chapter controls keep their established label hierarchy. */
body:is(.home,.light,.interior,.portal-opening) main :is(.service-study-controls button>span,.lens-controls button span,.contour-controls button span,.project-filters button span){font-size:12px;line-height:1.4}
body.lfam-page .lfam-method-controls button{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
body.home .print-story .stage-note #study-caption{font-size:16px;line-height:1.6}
body.home .print-story .stage-note .study-disclaimer{font-size:13px;line-height:1.5}
/* Form sizing is independent of native option length; labels/help can wrap,
   controls stay within their columns, and mobile inputs remain at least 16px. */
body.inquiry-page form label,body.support-page .support-form label,body.press-page .support-form label,body.contact-page .contact-form .contact-context{font-size:16px;line-height:1.6}
body.inquiry-page form :is(input,select,textarea),body.support-page .support-form :is(input,select,textarea),body.press-page .support-form :is(input,select,textarea){font-size:17px;line-height:1.6}
body.inquiry-page form .micro{font-size:14px;line-height:1.65}
body.inquiry-page #brief-output:not(:empty),body.support-page .support-preview output:not(:empty),body.press-page .support-preview output:not(:empty){font-size:var(--reading-body);line-height:1.7}
body.inquiry-page .formbutton,body.support-page .support-submit,body.press-page .support-submit,body:is(.inquiry-page,.support-page,.press-page) [data-direct-form] .direct-submit{font-size:var(--reading-action);line-height:1.5}
body:is(.home,.light,.interior,.portal-opening) footer.site-footer :is(.footer-note,.footer-links){font-size:14px;line-height:1.7}
body:is(.home,.light,.interior,.portal-opening) footer.site-footer :is(.footer-bottom .micro,.opening-compare){font-size:12px;line-height:1.6}
@media(max-width:700px){
 body:is(.home,.light,.interior,.portal-opening){--reading-body:17px}
 body.inquiry-page form :is(input,select,textarea),body.support-page .support-form :is(input,select,textarea),body.press-page .support-form :is(input,select,textarea){font-size:16px}
 /* Keep three chapter labels and their numbers legible at 320px. */
 body.service-page .service-study-controls button{min-width:0;overflow-wrap:anywhere}
 body:is(.home,.light,.interior,.portal-opening) main :is(.project-photo-switch,.edition-facts>div){flex-wrap:wrap}
}
/* Marketing reading scale: end */

/* Readable desktop navigation, without changing header color or height. */
.site-header .desktop-nav{font-size:16px;gap:clamp(16px,1.65vw,28px)}
.site-header .desktop-nav .nav-about>a,
.site-header .desktop-nav .nav-about button{font-size:inherit}
@media(min-width:1051px) and (max-width:1200px){
 .site-header .desktop-nav{gap:12px;font-size:16px}
 .site-header .navcta{margin-left:4px;gap:10px}
}

/* Compact, persistent navigation. Keep page flow stable while the bar contracts. */
:root{--nav-expanded:80px;--nav-compact:56px;--nav-clearance:82px}
:root body>header.site-header{position:fixed;top:0;left:0;right:0;height:var(--nav-expanded);z-index:50;background:#171717;transition:height .22s ease,box-shadow .22s ease}
:root body.home{padding-top:var(--nav-expanded)}
:root body>header.site-header.is-compact{height:var(--nav-compact);box-shadow:0 3px 14px #0002}
:root body>header.site-header .brand img{width:128px;transition:width .22s ease}
:root body>header.site-header.is-compact .brand img{width:118px}
:root body.light>header.site-header,:root body.interior>header.site-header,:root body.portal-opening>header.site-header{background:#f4f4f4}
:root body.dark-opening>header.site-header{background:#171717}
:root body>header.site-header .mobile-nav{top:100%;max-height:calc(100dvh - var(--nav-expanded))}
:root body>header.site-header.is-compact .mobile-nav{max-height:calc(100dvh - var(--nav-compact))}
html{scroll-padding-top:var(--nav-clearance)}
.skip{position:fixed;z-index:60}
/* Mobile keeps one header and logo size across scrolling and restored pages. */
@media(max-width:1050px){
 :root{--nav-expanded:72px;--nav-compact:72px;--nav-clearance:78px}
 :root body>header.site-header{transition:none}
 :root body>header.site-header .brand img,
 :root body>header.site-header.is-compact .brand img{width:128px;transition:none}
}
@media(max-width:650px){
 :root body>header.site-header .brand img,
 :root body>header.site-header.is-compact .brand img{width:110px}
}
@media(prefers-reduced-motion:reduce){:root body>header.site-header{transition:none}}

/* Keep pinned photo stories below the persistent navigation. */
:root .home .lead-project.prudential-story{--prudential-top:var(--nav-clearance)}

/* Refined menu scale: consistent across pages, with full-size hit targets. */
@media(min-width:1051px){
 :root body>header.site-header .desktop-nav,
 :root body>header.site-header .desktop-nav a{font-size:13px}
}

/* Requested 30% desktop menu reduction after scrolling; hit areas stay 44px. */
@media(min-width:1051px){
 :root body>header.site-header .desktop-nav a{transition:font-size .22s ease}
 :root body>header.site-header.is-compact .desktop-nav,
 :root body>header.site-header.is-compact .desktop-nav a{font-size:9.1px}
}
@media(prefers-reduced-motion:reduce){:root body>header.site-header .desktop-nav a{transition:none}}
