/* Readability revision: retain the composition and display typography.
   Functional labels and explanatory text get separate, readable sizes.
   Hero photography, filters, and green overlays are intentionally unchanged. */
:root{--reading-size:1rem;--control-size:.875rem;--secondary-size:.8125rem;--reading-muted:#59634f}
.desktop-nav{font-size:var(--secondary-size);gap:30px}
.roll{height:26px}.roll span{min-height:26px}.roll:hover span{transform:translateY(-26px)}
.button,.text-link{font-size:var(--control-size)}
.text-link{min-height:44px}
.button-small,.header-cta{font-size:var(--secondary-size);min-height:46px}
.menu-toggle{font-size:.75rem;min-height:44px}
.eyebrow,.section-aside{font-size:.6875rem}
.hero-kicker{font-size:.6875rem}
.hero-topline{font-size:.625rem}
.hero-note .small-label{font-size:.75rem;letter-spacing:.09em}
.hero-role-line{font-size:var(--secondary-size);line-height:1.6;margin-bottom:18px}
.hero-note .button{width:100%;min-height:52px;font-size:var(--control-size);gap:22px;padding:15px 18px}
.cta-arrow{display:block;width:1em;height:1em;flex-shrink:0}
.button .cta-arrow{width:20px;height:20px}
.hero-bottom{gap:25px}
.hero-sectors{flex:1;gap:24px;max-width:950px}
.hero-sectors button{font-size:var(--control-size);color:var(--white);min-height:48px;line-height:1.45;letter-spacing:0;gap:9px}
.hero-sectors button>span{font-size:.625rem}
.hero-bottom .scroll-label{font-size:.6875rem;gap:16px}
.perspective-copy p+p,.section-intro>p,.industry-copy p,.alignment-copy>p:not(.eyebrow),.process-title>p,.process-step p,.assessment-intro,.reach-copy>p:not(.region-copy),.discretion-copy p+p,.careers-copy>p:not(.eyebrow),.faq-answer p,.final-bottom p{font-size:var(--reading-size);line-height:1.75}
.perspective-copy p+p,.process-title>p,.process-step p,.reach-copy>p:not(.region-copy),.faq-answer p,.region-copy,.roles-footer>span{color:var(--reading-muted)}
.perspective-copy .text-link,.industry-copy .text-link,.roles-footer .text-link,.alignment-copy .text-link,.discretion-copy .text-link,.careers-copy .text-link{font-size:var(--control-size)}
.principles{font-size:.75rem;letter-spacing:.1em}
.tags{font-size:.75rem;gap:14px}
.industry-visual figcaption{font-size:.75rem;line-height:1.6;gap:20px}
.industry-visual figcaption>span:last-child{font-size:.625rem;white-space:nowrap}
.role-tabs{gap:28px}
.role-tabs button{font-size:var(--control-size);min-height:48px}
.role-panel>p{font-size:1.25rem;line-height:1.5}
.role-panel li{font-size:.9375rem;line-height:1.6;padding:12px 0}
.role-panel{min-height:250px}
.roles-footer{gap:30px}
.roles-footer>span{font-size:.75rem;line-height:1.6}
.process-step>span{font-size:.6875rem}
.assessment-tabs{gap:25px}
.assessment-tabs button{font-size:var(--control-size);min-height:48px}
.assessment-panel p{font-size:.9375rem;line-height:1.6}
.assessment-panel{min-height:395px}
.gallery figcaption span{font-size:.75rem;line-height:1.6}
.gallery-counter{font-size:.6875rem}
.region-buttons button{font-size:var(--secondary-size);min-height:44px;padding:11px 14px}
.region-copy{font-size:var(--secondary-size);line-height:1.65;min-height:44px}
.discretion-copy p{font-size:1.0625rem}
.candidate-note{font-size:.75rem;line-height:1.7;color:#515b43}
.faq-list summary{font-size:var(--reading-size);line-height:1.5;min-height:64px}
.faq-answer p{max-width:57ch}
.footer-top{font-size:var(--secondary-size)}
.footer-top>p{font-size:var(--secondary-size);line-height:1.7}
.footer-top nav{font-size:var(--control-size);gap:4px}
.footer-top nav a,.footer-top nav button{min-height:38px;padding:6px 0}
.footer-meta{font-size:.6875rem;line-height:1.75}
.footer-meta button{font-size:var(--secondary-size);min-height:44px;padding:8px 0}
.footer-bottom{font-size:.6875rem}
.footer-bottom button,.footer-bottom a{font-size:.75rem;min-height:38px;display:inline-flex;align-items:center}
.mobile-cta>a,.mobile-cta>button{font-size:var(--secondary-size)}
.index-current,.index-foot{font-size:.75rem}
.index-dialog nav a{min-height:48px}
.index-foot .text-link{font-size:var(--secondary-size)}
.brief-progress{font-size:.6875rem;letter-spacing:.04em}
.brief-step>.eyebrow{font-size:.6875rem}
.brief-step>p:not(.eyebrow){font-size:.9375rem}
.sector-choices label{font-size:.9375rem;min-height:56px}
.checkbox-label{font-size:var(--secondary-size);line-height:1.6;min-height:44px}
.checkbox-label input{flex-shrink:0}
.field-label{font-size:var(--control-size)}
.field-label>span{font-size:.75rem}
.field-label input,.field-label textarea{font-size:1rem;line-height:1.5}
.form-error{font-size:var(--secondary-size);line-height:1.6;min-height:22px}
.brief-actions .button{font-size:var(--control-size);min-height:50px}
.brief-actions>span{font-size:.75rem}
.brief-note p,.brief-step .brief-ready{font-size:.75rem;line-height:1.7}
.brief-note button{font-size:.75rem;min-height:40px}
.summary-row{font-size:var(--control-size);grid-template-columns:90px 1fr auto}
.summary-row>span{font-size:.75rem}
.summary-row button{font-size:var(--secondary-size);min-height:36px}
.brief-exports .button,.brief-exports .text-link{font-size:var(--control-size)}
.undo-bar,.undo-bar button{font-size:var(--secondary-size)}
.info-dialog p,.info-dialog ul,.candidate-prompts{font-size:.9375rem;line-height:1.75}
.info-dialog h3{font-size:1.125rem}
@media(max-width:1100px){
 .hero-bottom .scroll-label{display:none}
 .hero-sectors{gap:22px;justify-content:space-between;max-width:none}
 .hero-sectors button{font-size:var(--control-size);gap:7px}
 .hero-role-line{font-size:var(--secondary-size)}
 .industry-copy p{font-size:var(--reading-size)}
 .alignment-copy .eyebrow,.careers-copy .eyebrow{font-size:.6875rem;gap:14px}
 .footer-top{gap:30px}
}
@media(max-width:1050px){.desktop-nav{display:none}}
@media(max-width:800px){
 /* The stacked hero shares one left edge as text grows. */
 .hero{height:auto;min-height:790px;max-height:none}
 .hero-content{position:relative;left:0;top:auto;width:100%;padding-top:180px}
 .hero-note{position:relative;right:auto;bottom:auto;width:270px;max-width:100%;margin:26px 0 175px}
 .hero-note p{font-size:24px;line-height:1.3}
 .hero-bottom{align-items:flex-end}
 .hero-sectors{display:grid;grid-template-columns:1fr 1fr;gap:4px 26px}
 .hero-sectors button{font-size:var(--control-size);min-height:48px}
 .section-intro>p{font-size:var(--reading-size)}
 .role-tabs{gap:20px}
 .role-tabs button{font-size:var(--control-size)}
 .role-panel{grid-template-columns:1fr 1.6fr;gap:7%;min-height:280px}
 .role-panel li{font-size:.9375rem}
 .roles-footer>span{font-size:.75rem;max-width:260px}
 .assessment-panel{min-height:360px}
 .assessment-tabs button{font-size:var(--control-size)}
 .careers-copy .text-link,.alignment-copy .text-link{font-size:var(--control-size);gap:20px}
 .footer-bottom>div{gap:18px}
}
@media(max-width:520px){
 .hero{min-height:810px}
 .hero-content{padding-top:176px}
 .hero-kicker{font-size:.625rem;letter-spacing:.08em;gap:9px}
 .hero-note{width:100%;margin-top:26px;margin-bottom:181px}
 .hero-note .small-label{font-size:.75rem}
 .hero-note p{font-size:23px;margin:12px 0}
 .hero-role-line{font-size:var(--secondary-size);max-width:none}
 .hero-note .button{min-height:52px}
 .hero-bottom{bottom:22px;padding-top:10px}
 .hero-sectors{grid-template-columns:1fr 1.15fr;gap:5px 16px}
 .hero-sectors button{font-size:var(--secondary-size);min-height:52px;padding:8px 0;gap:7px}
 .hero-sectors button>span{font-size:.5625rem;align-self:flex-start;padding-top:4px}
 .section-heading .eyebrow,.alignment-copy .eyebrow,.careers-copy .eyebrow{font-size:.6875rem}
 .perspective-copy .lead{font-size:1.125rem}
 .perspective-copy p+p{font-size:var(--reading-size)}
 .principles{font-size:.6875rem;gap:16px}
 .industry-item>button{font-size:21px;gap:12px}
 .industry-copy>div{padding-left:0}
 .industry-copy p,.industry-copy .text-link{font-size:var(--reading-size)}
 .industry-copy .text-link{font-size:var(--control-size)}
 .industry-visual figcaption{font-size:.6875rem;gap:14px}
 .role-tabs{grid-template-columns:1fr 1fr;gap:0 24px}
 .role-tabs button{font-size:var(--control-size)}
 .role-panel{grid-template-columns:1fr;min-height:0;gap:20px}
 .role-panel>p{font-size:1.125rem;max-width:300px}
 .role-panel ul{column-gap:18px}
 .role-panel li{font-size:var(--control-size);overflow-wrap:anywhere}
 .roles-footer>span{max-width:none}
 .process-title>p{max-width:220px}
 .process-count{font-size:90px}
 .process-step h3{font-size:23px}
 .assessment-tabs{gap:20px}
 .assessment-tabs button{font-size:var(--secondary-size)}
 .assessment-panel{padding:26px;min-height:0}
 .assessment-panel p{font-size:.9375rem}
 .gallery figcaption span{font-size:.6875rem}
 .region-buttons{gap:6px}
 .region-buttons button{font-size:var(--secondary-size);padding:10px 12px}
 .discretion-copy p+p,.careers-copy>p:not(.eyebrow),.faq-answer p,.final-bottom p{font-size:var(--reading-size)}
 .candidate-note{font-size:.75rem}
 .faq-list summary{font-size:.9375rem}
 .footer-top{grid-template-columns:1fr 1.1fr;gap:24px}
 .footer-top nav{font-size:var(--secondary-size)}
 .footer-meta{font-size:.6875rem}
 .footer-meta button{font-size:var(--secondary-size)}
 .footer-bottom{font-size:.6875rem}
 .footer-bottom>div{gap:15px}
 .mobile-cta>a,.mobile-cta>button{font-size:.75rem;gap:16px}
 .index-current,.index-foot{font-size:.75rem}
 .index-foot{align-items:flex-start;gap:20px}
 .index-foot .text-link{font-size:var(--secondary-size)}
 .brief-note{flex-wrap:wrap;gap:5px 15px}
 .brief-note p{font-size:.75rem;flex-basis:100%}
 .brief-note button{font-size:.75rem}
 .summary-row{grid-template-columns:65px 1fr auto;gap:10px;font-size:var(--secondary-size)}
 .summary-row>span{font-size:.6875rem}
 .summary-row button{font-size:.75rem}
 .brief-actions>span{font-size:.6875rem}
}
@media(max-width:360px){
 .hero-sectors button{font-size:.75rem}
 .hero-sectors{gap:5px 13px}
 .assessment-tabs{gap:16px}
 .assessment-tabs button{font-size:.75rem}
 .brief-exports{gap:12px}
 .region-buttons button{padding:10px 11px}
}
.hero h1 .line{white-space:nowrap}
@media(max-width:520px){.hero-content{width:calc(100% + 16px)}.process-title>p{max-width:calc(100% - 106px)}}

/* Verified contact details and billing copy; retain the existing visual system. */
.alignment-copy>p:not(.eyebrow)+p{margin-top:16px}
.final-bottom{gap:30px}
.contact-copy{min-width:0;max-width:520px}
.final-bottom .contact-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px;font-size:15px}
.contact-links a,.brief-note a,.info-dialog p a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.final-bottom .response-note{font-size:14px;line-height:1.65;margin-top:16px}
.footer-meta{min-width:0}
.footer-meta>a{font-size:14px;line-height:1.65;overflow-wrap:anywhere;max-width:100%;text-decoration:underline;text-underline-offset:4px}
@media(max-width:520px){.contact-copy{max-width:100%}.final-bottom .contact-links{flex-direction:column;align-items:flex-start}.footer-meta>a{font-size:13px}}

/* Live inquiry form: retain the approved typography and dialog treatment. */
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.inquiry-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#submission-status:empty{display:none}#submission-status{font-size:1rem;line-height:1.6;padding:1rem 0}.brief-exports{flex-wrap:wrap}.brief-ready .text-link{font-size:inherit}.button:disabled{cursor:default;opacity:.75}@media(max-width:540px){.contact-fields{grid-template-columns:1fr}}

/* Contrast corrections found in launch accessibility testing. */
.eyebrow>span:first-child{opacity:.78}.muted{color:#767b70}.role-tabs button:not([aria-selected="true"]),.role-tabs button>span,.process-step>span{color:#5b6354}.process-count{color:#7d8375}.image-context-note{color:#525d49}.final-cta .eyebrow>span:first-child{opacity:.9}
@media(max-width:700px){.hero-arrive .hero h1 .line>span{animation:none}}

.process-count{opacity:1}

/* Permanent policy links and a readable notice at the point of submission. */
.footer-bottom{flex-wrap:wrap;font-size:11px}
.footer-policies{display:flex;flex-wrap:wrap;align-items:center;gap:4px 22px}
.footer-policies a{display:inline-block;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
.footer-policies a:hover{color:var(--accent-light)}
.brief-step .inquiry-notice{font-size:13px;line-height:1.7;color:var(--ink);margin:20px 0}
.inquiry-notice a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.footer-policies{margin-top:12px;gap:2px 20px}.footer-bottom{font-size:11px}}
