/* Verified site-wide corrections and purpose-specific reading refinements. */
:root{--teal-ink:#35656a;--surface-reading:#eff3f5;--text-secondary:#536773;--focus-light:#e5d1ac;--space-section:64px;--reading-measure:68ch;}
/* The palette is unchanged; text-use colours are checked on their actual surfaces. */
.eyebrow,.sector-status,.knowledge-category,.resource-type{color:var(--teal-ink);}
.process .eyebrow{color:#afcbd0;}
.process .process-step p{color:#c3d1dc;line-height:1.75;}
.cta-band{background:var(--navy);}
.cta-band h2,.cta-band .cta-content h2{color:#fff;}
.cta-band p,.cta-band .cta-content p{color:#c7d5df;}
.cta-band .cta-content>.button:not(.white-outline){background:#927039;color:#fff;border-color:#a6864d;}
.cta-band .cta-content>.button:not(.white-outline):hover{background:#80602d;}
main .text-link{min-height:44px;align-items:center;line-height:1.6;}
main .text-link svg{flex-shrink:0;}
:where(button,summary,input,select,textarea,a,[tabindex]):focus-visible{scroll-margin-block:110px;}
:where(a,button,summary):focus-visible{outline-offset:4px;}
.footer a:focus-visible,.cta-band a:focus-visible,.process a:focus-visible{outline:2px solid var(--focus-light);outline-offset:4px;}
.guide-launcher.focus-clear{visibility:hidden;pointer-events:none;}
.breadcrumb{font-size:12px;line-height:1.7;flex-wrap:wrap;}
.index-introduction{margin-bottom:30px;max-width:70ch;}
.index-introduction h2{font-size:clamp(28px,2.6vw,36px);line-height:1.3;letter-spacing:-.035em;}
.index-introduction p{font-size:16px;line-height:1.75;margin-top:15px;max-width:65ch;}
.design-page .page-hero h1{text-wrap:balance;}
.design-page .page-hero p{max-width:64ch;}
.design-service .editorial-chapter>div>p:first-child{color:#263d4d;}
.design-service .editorial-chapter>div p{font-size:16px;line-height:1.8;max-width:var(--reading-measure);}
.design-service .deliverable-grid dd,.design-page .scope-list li{font-size:16px;line-height:1.75;}
.design-sector .theme-item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;list-style:none;font-size:14px;line-height:1.6;color:var(--teal-ink);}
.design-sector .theme-item summary::-webkit-details-marker{display:none;}
.design-sector .theme-item summary:after{content:'+';font-size:22px;font-weight:400;flex-shrink:0;}
.design-sector .theme-item details[open] summary:after{content:'−';}
.related-reading-links{display:grid;align-content:start;}
.related-reading-link{display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:5px 24px;min-height:78px;padding:18px 0;border-top:1px solid #becdd6;color:#142d42;}
.related-reading-link>span{grid-column:1;font-size:12px;line-height:1.6;color:#536773;}
.related-reading-link>strong{grid-column:1;font-size:17px;line-height:1.5;font-weight:600;}
.related-reading-link>svg{grid-column:2;grid-row:1/3;align-self:center;width:19px;height:19px;transition:transform .2s;}
.related-reading-link:hover svg{transform:translate(2px,-2px);}
.source-note{border-block:1px solid #c8d4dc;padding:26px 0;margin:38px 0;}
.design-page .source-note h2{font-size:25px;}
.source-note p{font-size:16px;line-height:1.75;}
.source-note a{text-decoration:underline;text-underline-offset:4px;color:var(--teal-ink);}
.article-updated{display:inline-block;margin-left:14px;}
.insight-filters{align-items:end;}
.filter-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.filter-actions #insight-count{font-size:14px;line-height:1.6;margin:0;}
.filter-reset{font-size:14px;min-height:44px;border:0;border-bottom:1px solid #8c6d3a;border-radius:0;background:none;color:#142d42;padding:8px 0;cursor:pointer;}
#insight-empty{padding:24px 0;font-size:16px;line-height:1.75;}
.insight-card .text-link,.resource-card .text-link{align-self:flex-start;}
.resource-card{display:flex;flex-direction:column;align-items:flex-start;}
.resource-card>p{flex-grow:1;}
.resource-card h3{line-height:1.4;}
.resource-card .download-link{min-height:44px;display:inline-flex;align-items:center;gap:12px;}
.field-hint{display:block;font-size:14px;line-height:1.65;font-weight:400;color:#536773;max-width:65ch;}
.field-counter{display:block;font-size:12px;font-weight:400;color:#536773;text-align:right;}
.field :is(input,select,textarea):user-invalid{border-color:#9a453e;outline-color:#9a453e;}
.form-errors{padding:18px 20px;background:#fff6f3;border-left:3px solid #9a453e;margin:0 0 24px;color:#6d302a;}
.form-errors[hidden]{display:none;}
.form-errors p{font-size:15px;line-height:1.7;color:#6d302a;}
.form-errors a{display:block;min-height:44px;padding:9px 0;text-decoration:underline;text-underline-offset:3px;color:#6d302a;}
.form-result:not(:empty){border-top:1px solid #bdcdd7;margin-top:26px;padding-top:22px;}
.footer-links a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;line-height:1.55;}
.footer-grid h3{font-size:16px;line-height:1.5;margin-bottom:15px;}
.footer-brand p{font-size:14px;line-height:1.8;}
.footer-small{font-size:12px;line-height:1.7;}
.footer-small a{min-height:44px;display:inline-flex;align-items:center;}
.footer-disclaimer{font-size:12px;line-height:1.75;color:#bdcbd5;max-width:100ch;}
@media(min-width:1100px){.design-service .editorial-chapter{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:32px;align-items:start;}.design-service .editorial-chapter h2{font-size:27px;line-height:1.35;margin:0;max-width:19ch;}.design-service .editorial-chapter>div{min-width:0;}}
@media(max-width:900px){.index-introduction{margin-bottom:26px;}.related-reading-link{min-height:78px;}.footer-links{gap:5px;}.source-note{margin-block:28px;}}
@media(max-width:600px){.index-introduction h2{font-size:28px;}.index-introduction p{font-size:16px;}.design-service .editorial-chapter{display:block;}.design-service .editorial-chapter h2{font-size:27px;line-height:1.3;max-width:25ch;}.design-service .editorial-chapter>div p{line-height:1.75;}.design-sector .theme-item summary{font-size:14px;}.related-reading-link>strong{font-size:16px;}.article-updated{margin:8px 0 0;display:block;}.filter-actions{gap:14px;flex-wrap:wrap;}.footer-grid{gap:30px 22px;}.footer-grid>div:last-child .footer-links{gap:5px;}.footer-links a{font-size:14px;}.footer-small>div{gap:12px 22px;}.breadcrumb{font-size:12px;}}
@media(prefers-reduced-motion:reduce){.related-reading-link svg{transition:none!important;transform:none!important;}}
/* Filtering retains a coherent featured article even when the first DOM card is hidden. */
@media(min-width:768px){.design-editorial-index .insight-card.is-library-feature:not([hidden]){grid-column:1/-1;display:grid;grid-template-columns:1fr 1.1fr;column-gap:48px;align-content:center;padding-bottom:38px;border-bottom:1px solid #d2dce2;}.design-editorial-index .insight-card.is-library-feature>.insight-image{grid-column:1;grid-row:1/6;min-height:300px;margin:0;}.design-editorial-index .insight-card.is-library-feature>.insight-image .editorial-thumbnail{height:100%;min-height:300px;}.design-editorial-index .insight-card.is-library-feature>:not(.insight-image){grid-column:2;}.design-editorial-index .insight-card.is-library-feature h3{font-size:31px;line-height:1.3;}}
.button[disabled],.filter-reset[disabled]{opacity:.6;cursor:not-allowed;}
/* Native dialogs work consistently even on pages that do not load a scroll library. */
html{scrollbar-gutter:stable;}
body:has(dialog[open]){overflow:hidden;}
/* Native FAQ rows and secondary tool actions meet the same comfortable target size. */
.design-page .faq details{padding:0;}
.design-page .faq summary{min-height:60px;padding-block:18px;align-items:center;}
.design-page .faq details p{padding-bottom:22px;font-size:16px;line-height:1.75;}
main .text-button{min-height:44px;display:inline-flex;align-items:center;line-height:1.6;}
/* Sector choices retain comfortable touch targets on narrow screens. */
.industry-tabs button{min-height:44px;}
/* Context footage supports the section's subject; controls stay on the image. */
.film-partner-context .film-poster,.film-partner-context .section-video{object-position:50% 45%;}
[data-film-key="industrial-campus"] .film-poster,[data-film-key="industrial-campus"] .section-video{object-position:50% 55%;}
[data-film-key="solar-landscape"] .film-poster,[data-film-key="solar-landscape"] .section-video{object-position:50% 60%;}
.article-context-pair{margin-bottom:40px;}
.article-context-pair .film-article-context{aspect-ratio:16/9;margin-bottom:26px;}
.article-context-pair .decision-model{margin-block:0;}
/* Corporate reading chapters: identity, relationships, questions and working sequences. */
.corporate-chapter{padding:38px 0;border-bottom:1px solid #cbd7df;scroll-margin-top:110px;}
.design-page .corporate-chapter>h2{margin:0 0 26px;font-size:clamp(25px,2.5vw,32px);line-height:1.3;max-width:30ch;}
.chapter-split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;}
.chapter-split>div{min-width:0;}
.chapter-image{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
.chapter-paired-prose{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.chapter-paired-prose>p{margin:0;}
.chapter-paired-prose>div{display:contents;}
.chapter-paired-prose>div>p{margin:0;}
.philosophy-statement{padding:26px 28px;background:#142d42;margin-bottom:28px;}
.philosophy-statement .editorial-quote{border:0;margin:0;padding:0;}
.philosophy-statement .editorial-quote p{color:#fff;font-size:22px;line-height:1.6;}
.chapter-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px;}
.chapter-cards article{padding-top:18px;border-top:2px solid #a88b57;}
.design-page .chapter-cards h3{font-size:18px;line-height:1.5;margin:0 0 12px;}
.design-page .chapter-cards p{font-size:15px;line-height:1.75;}
.chapter-question-list{list-style:none;margin:0;padding:0 22px;background:#eef3f5;border-left:2px solid #927039;}
.chapter-question-list li{padding:14px 0;border-bottom:1px solid #cbd7df;font-size:16px;line-height:1.7;}
.chapter-question-list li:last-child{border:0;}
.chapter-flow{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:0;margin:0 0 28px;counter-reset:chapter;}
.chapter-flow li{padding:18px 0;border-top:1px solid #9fb3c0;font-size:15px;line-height:1.6;}
.chapter-flow li:before{counter-increment:chapter;content:counter(chapter,decimal-leading-zero);display:block;color:#637a89;font-size:12px;margin-bottom:10px;}
.company-identity-panel{background:#142d42;padding:28px;color:#fff;}
.company-identity-panel>span{font-size:12px;display:block;color:#c7d6e0;margin-bottom:14px;}
.company-identity-panel>strong{display:block;font-size:23px;line-height:1.5;font-weight:500;}
.company-identity-panel dl{margin:28px 0 0;border-top:1px solid #ffffff30;padding-top:18px;}
.company-identity-panel dt{color:#c7d6e0;font-size:12px;margin-top:12px;}
.company-identity-panel dd{color:#fff;margin:5px 0 0;font-size:16px;}
.chapter-capabilities .chapter-cards{grid-template-columns:1fr 1fr;margin-top:0;}
.profile-process{counter-reset:profile;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:0;padding:0;}
.profile-process li{padding:20px 0;border-top:1px solid #cbd7df;line-height:1.75;font-size:16px;}
.profile-process li:before{counter-increment:profile;content:counter(profile,decimal-leading-zero);display:block;font-size:12px;color:#637a89;margin-bottom:10px;}
.chapter-scope{font-size:14px!important;line-height:1.75!important;margin-top:24px!important;}
.chapter-contact-note{padding:24px;background:#eef3f5;border-left:2px solid #927039;}
.appraisal-lenses{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;padding:20px 0 0;margin:28px 0 0;border-top:1px solid #cad6de;}
.appraisal-lenses li{font-size:13px;color:#35656a;}
.chapter-validation,.chapter-practice{background:#f1f5f7;padding:30px!important;border-bottom:0;}
.footer{padding-block:48px 24px;}
.footer-grid{grid-template-columns:1.2fr .8fr 1fr 1fr;gap:36px;}
.footer-brand p{max-width:32ch;}
.footer-location{display:block;font-size:13px;line-height:1.7;margin-top:12px;color:#c3d1db;}
.footer-location strong{display:block;font-size:12px;line-height:1.7;color:#fff;font-weight:600;}
.footer-small{margin-top:28px;padding-top:20px;}
.footer-disclaimer{margin-top:14px;font-size:11px;max-width:110ch;}
@media(max-width:1000px){.chapter-split,.chapter-paired-prose{grid-template-columns:1fr;gap:24px;}.chapter-cards{grid-template-columns:1fr;}.chapter-image{max-height:300px;}.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.corporate-chapter{padding:28px 0;}.design-page .corporate-chapter>h2{font-size:26px;}.chapter-capabilities .chapter-cards,.profile-process{grid-template-columns:1fr;}.chapter-flow{gap:14px;}.chapter-flow li{font-size:13px;}.philosophy-statement{padding:22px;}.philosophy-statement .editorial-quote p{font-size:20px;}.chapter-validation,.chapter-practice{padding:22px!important;}.footer-grid{gap:30px 20px;}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1;}.footer{padding-top:36px;}}
.footer-disclaimer{font-size:12px;}
.footer a[href^="tel:"]{font-size:18px;font-weight:600;color:#fff;}
/* Compact footer rhythm without shrinking the touch targets. */
.footer .footer-grid{padding-bottom:20px;}
.footer .footer-links{gap:0;}
.footer .footer-small{margin-top:16px;padding-block:16px;align-items:center;}
.footer .footer-disclaimer{margin-top:8px;padding-bottom:0;}
.footer-nav-details>summary{list-style:none;font-size:16px;font-weight:600;line-height:1.5;margin-bottom:15px;}
.footer-nav-details>summary::-webkit-details-marker{display:none;}
@media(max-width:600px){.footer-nav-details{border-block:1px solid #ffffff25;}.footer-nav-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;margin:0;font-size:14px;cursor:pointer;}.footer-nav-details>summary:after{content:'+';font-size:20px;font-weight:400;}.footer-nav-details[open]>summary:after{content:'−';}.footer-nav-details .footer-links{padding-bottom:12px;}.footer-brand p+p{display:none;}}
/* Context films use the source colours; transport is automatic and overlays are absent. */
.film-frame .film-poster,.film-frame .section-video{filter:none;}
.film-frame:after{background:none;}

/* Desktop navigation has a single, restrained panel edge and a continuous hover bridge. */
.site-header .reading-progress{display:none;}
.desktop-nav .nav-dropdown{top:calc(100% + 20px);border-top:1px solid #b79a64;padding:10px 16px 14px;}
.desktop-nav .nav-dropdown:before{content:"";position:absolute;left:0;right:0;top:-21px;height:21px;}
.desktop-nav .nav-dropdown>a{padding:12px 8px;min-height:44px;}
.desktop-nav .nav-dropdown>a:last-child{border-bottom:0;}
