:root{--ink:#191b1d;--muted:#586269;--orange:#ff7919;--rust:#a63e08;--paper:#f4f5f5;--line:#d8dddf;--max:1280px;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0}a{color:inherit}img{display:block;max-width:100%;height:auto}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}::selection{background:#ffd2b2;color:var(--ink)}:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-weight:600;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,4.5vw,4.4rem);line-height:1.08}h2{font-size:clamp(2rem,3.1vw,3rem);line-height:1.13}h3{font-size:1.5rem;line-height:1.24;letter-spacing:-.025em}p{font-size:1rem;line-height:1.75}.wrap{width:min(calc(100% - 96px),var(--max));margin-inline:auto}.section{padding:88px 0}.kicker{display:block;font-size:.875rem;line-height:1.5;letter-spacing:.095em;font-weight:700;text-transform:uppercase;color:var(--rust)}.kicker.light{color:#ffad72}.muted{color:var(--muted)}.skip{position:absolute;top:8px;left:8px;background:#fff;padding:12px;z-index:99;transform:translateY(-150%)}.skip:focus{transform:none}.btn{display:inline-flex;gap:25px;align-items:center;justify-content:center;padding:16px 23px;min-height:54px;border:1px solid transparent;text-decoration:none;font-size:.9375rem;line-height:1.4;font-weight:700;transition:background .2s,color .2s}.btn-orange{background:var(--orange);color:var(--ink)}.btn-orange:hover{background:#ffa363}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#363b3e}.btn-line{border-color:#a7b0b5;background:transparent}.btn-line:hover{background:#e9edef}.text-link{font-size:.9375rem;font-weight:700;text-underline-offset:6px;text-decoration-thickness:1px;line-height:1.6}.text-link:hover{color:var(--rust)}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.round-arrow{display:inline-grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #a2acb2;border-radius:50%;font-size:1.3rem}.section-label{display:block;max-width:840px;margin-bottom:38px}.section-label .kicker{margin-bottom:17px}.section-label h2{margin:0;max-width:820px;text-wrap:balance}.section-label p{max-width:680px;margin:18px 0 0;color:var(--muted);font-size:1.0625rem}
/* Brand and navigation */
.header{background:#fff;color:var(--ink);position:sticky;top:0;z-index:20;border-bottom:1px solid #e3e6e7}.header-inner{display:flex;align-items:center;gap:21px;min-height:100px}.logo{display:block;position:relative;width:94px;height:88px;flex:0 0 94px;overflow:hidden}.logo img{position:absolute;max-width:none;width:98px;height:98px;left:-9px;top:-1px;object-fit:contain}.brand-caption{font-size:.8125rem;line-height:1.5;max-width:155px;padding-left:18px;border-left:1px solid var(--line);color:#5a646b}.desktop-nav{display:flex;align-items:center;gap:25px;flex:1;justify-content:flex-end}.desktop-nav>a,.nav-details>summary{font-size:.875rem;font-weight:600;text-decoration:none;padding:15px 0;list-style:none;cursor:pointer;line-height:1.45}.desktop-nav>a:hover,.nav-details>summary:hover,.desktop-nav [aria-current="page"],.nav-details.current>summary{color:var(--rust)}.nav-details>summary::-webkit-details-marker{display:none}.nav-details>summary::after{content:'+';margin-left:8px;color:var(--rust)}.nav-details[open]>summary::after{content:'−'}.desktop-nav .header-contact{background:var(--orange);color:var(--ink);padding:14px 18px;white-space:nowrap}.desktop-nav .header-contact:hover{background:#ffa363;color:var(--ink)}.header-contact span{margin-left:12px}.nav-details{position:relative}.nav-panel{position:absolute;top:calc(100% + 15px);left:-20px;width:min(420px,calc(100vw - 48px));max-height:calc(100dvh - 130px);overflow-y:auto;background:#fff;color:var(--ink);box-shadow:0 15px 35px #0002;padding:12px;border:1px solid var(--line);border-top:3px solid var(--orange)}.nav-panel a{display:block;text-decoration:none;padding:14px;border-bottom:1px solid #e3e7e9;font-size:1rem;line-height:1.4;font-weight:600}.nav-panel a:last-child{border-bottom:0}.nav-panel a:hover{background:#f3f5f6}.nav-panel small{display:block;margin-top:5px;color:#5c6870;font-size:.875rem;font-weight:400;line-height:1.5}.menu-toggle{display:none;border:1px solid #aeb7bc;color:var(--ink);background:transparent;padding:11px 17px;min-height:44px}.mobile-nav{display:none}
/* Main architectural composition */
.hero{background:var(--ink);color:#fff}.hero-layout{display:grid;grid-template-columns:1.12fr 1fr;max-width:1600px;margin-inline:auto;min-height:590px}.hero-copy{padding:60px 48px 45px max(48px,calc((100vw - 1280px)/2));align-self:center}.hero .kicker{color:#ffac70;font-size:.8125rem;letter-spacing:.1em}.hero h1{margin:26px 0 23px;font-size:clamp(2.75rem,4.3vw,4.25rem);font-weight:600;line-height:1.07;letter-spacing:-.04em;max-width:680px}.hero h1 .hero-subline,.hero h1 .accent{display:block}.hero h1 .accent{color:var(--orange)}.hero-copy>p{max-width:560px;font-size:1.0625rem;line-height:1.75;color:#cdd2d5;margin-bottom:30px}.hero .text-link{color:white}.hero .text-link:hover{color:#ffad72}.hero-visual{position:relative;margin:0;min-height:590px;overflow:hidden}.hero-visual img{height:100%;width:100%;object-fit:cover;object-position:57% center}.hero-visual::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--orange);z-index:1}.hero-visual figcaption{position:absolute;bottom:16px;right:16px;font-size:.75rem;color:#fff;background:#162129cf;padding:7px 10px;line-height:1.5}.hero-context{display:flex;gap:20px;padding-top:30px;margin-top:32px;border-top:1px solid #444b50;font-size:.875rem;line-height:1.5;color:#b9c2c7}.hero-context span{flex:1;max-width:160px;min-width:0}.sector-strip{background:#f2f4f4;border-bottom:1px solid var(--line);color:#3f4a50}.sector-inner{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-block:23px;font-size:.875rem;line-height:1.5}.sector-inner>span:first-child{color:#59666d;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
/* Commercial paths and service directory */
.pathway-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pathway{padding:34px;min-height:320px;display:flex;flex-direction:column;text-decoration:none;background:#f2f4f4;border-top:3px solid var(--orange)}.pathway.dark{background:#22272b;color:#fff}.pathway .kicker{margin-bottom:25px;font-size:.8125rem}.pathway h3{font-size:clamp(1.7rem,2.4vw,2.2rem);max-width:480px;margin-bottom:15px;line-height:1.16}.pathway p{max-width:480px;line-height:1.7;color:#536168;margin-bottom:22px}.pathway.dark p{color:#c8d0d5}.pathway-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;font-weight:700;font-size:.9375rem;padding-top:18px;border-top:1px solid #c9d1d4}.pathway.dark .pathway-bottom{border-color:#4a5359}.pathway:hover .round-arrow{background:var(--orange);border-color:var(--orange);color:var(--ink)}.pathway:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.services-section{background:var(--paper)}.service-rows{border-top:1px solid #a6b0b6}.service-row{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(0,1.05fr) 42px;gap:28px;align-items:center;text-decoration:none;padding:26px 0;border-bottom:1px solid #cbd2d5}.service-row .num{font-size:.8125rem;color:#66767f;font-variant-numeric:tabular-nums}.service-row h3{margin:0;font-size:1.375rem;line-height:1.35;font-weight:600}.service-row p{margin:0;color:var(--muted);font-size:1rem;line-height:1.6;max-width:490px}.service-row:hover h3{color:var(--rust)}.service-row:hover .round-arrow{border-color:var(--rust);color:var(--rust)}.all-services{margin-top:28px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.architectural-image{position:relative;margin:0;align-self:stretch}.architectural-image img{height:calc(100% - 29px);min-height:440px;object-fit:cover;width:100%}.architectural-image figcaption{font-size:.75rem;color:#5b6971;margin-top:10px}.approach-copy h2{margin:18px 0;line-height:1.16}.approach-copy>p{color:var(--muted);font-size:1.0625rem}.step-list{list-style:none;margin:27px 0 0;padding:0;border-top:1px solid #bac4c8}.step-list li{display:grid;grid-template-columns:30px 1fr;gap:15px;padding:19px 0;border-bottom:1px solid #d6dddf}.step-list span{font-size:.875rem;color:var(--rust);padding-top:2px}.step-list h3{font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}.step-list p{font-size:1rem;color:#5a656c;margin:0;line-height:1.6}
/* People and editorial previews */
.team-feature{background:#eef1f2}.team-feature-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:75px;align-items:center}.team-feature h2{margin:20px 0}.team-feature p{color:#516068;font-size:1.0625rem}.team-feature .btn{margin-top:12px}.portrait-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;width:100%;max-width:620px}.portrait-pair figure{margin:0;min-width:0}.portrait-pair img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;background:#d5dfe4;filter:none}.portrait-pair figcaption{padding-top:16px;font-weight:700;font-size:1.0625rem;line-height:1.4}.portrait-pair small{display:block;font-size:.875rem;color:#57666e;font-weight:400;margin-top:5px;line-height:1.5}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.article-card{border-top:2px solid #242b30;padding:23px 0 10px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.article-card .kicker{font-size:.8125rem;letter-spacing:.06em;color:#536a77;min-height:2.8em}.article-card h3{margin:16px 0;line-height:1.25;font-size:1.5rem;text-wrap:balance}.article-card h3 a{text-decoration:none}.article-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}.article-card p{color:var(--muted);font-size:1rem;line-height:1.65;margin-bottom:22px}.article-card .text-link{margin-top:auto}.contact-cta{background:var(--orange);color:#171b1e;padding:62px 0}.contact-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:55px}.contact-cta h2{margin:0;max-width:790px;font-size:clamp(1.85rem,2.8vw,2.75rem);text-wrap:balance}.contact-cta p{margin:16px 0 0;max-width:650px;color:#442c1b}.contact-cta .btn{flex-shrink:0;white-space:nowrap}.footer{background:#191b1d;color:#dce2e5;padding:64px 0 25px}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.15fr;gap:45px}.footer .logo{width:115px;height:113px;margin:0 0 22px}.footer .logo img{width:140px;height:140px;left:-22px;top:-13px}.footer p{font-size:.875rem;line-height:1.75;color:#b6c0c6;max-width:240px}.footer h3{font-size:.875rem;line-height:1.5;text-transform:uppercase;letter-spacing:.07em;color:#ffab70;margin-bottom:22px;font-weight:700}.footer ul{padding:0;list-style:none;margin:0}.footer li{margin:0 0 12px}.footer a{text-decoration:none;font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}.footer a:hover{color:#ffb886}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:27px;margin-top:38px;border-top:1px solid #3e464b;font-size:.8125rem;color:#acb8bf;line-height:1.6}.footer-note{font-size:.8125rem!important;max-width:none!important;margin:10px 0 0}
/* Interior pages and longer technical reading */
.breadcrumbs{font-size:.875rem;color:#5d707a;margin-bottom:30px;display:flex;gap:10px;flex-wrap:wrap;line-height:1.5}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.page-intro{background:#f2f4f4;padding:30px 0 56px;border-bottom:1px solid #d8dfe2}.page-intro h1{max-width:950px;font-size:clamp(2.25rem,4vw,3.75rem);margin:19px 0 21px;line-height:1.12;text-wrap:balance}.page-intro .lead{max-width:780px;font-size:1.125rem;color:#51636d;line-height:1.75;margin-bottom:0}.page-intro .actions{margin-top:26px}.intro-split{display:grid;grid-template-columns:1.18fr .82fr;gap:60px;align-items:center}.intro-split h1{font-size:clamp(2.4rem,3.8vw,3.5rem)}.intro-split .intro-image{align-self:stretch;min-height:390px;position:relative;margin:0;border-bottom:4px solid var(--orange)}.intro-image img{width:100%;height:100%;object-fit:cover}.intro-image figcaption{position:absolute;bottom:12px;right:12px;font-size:.75rem;background:#172027cf;color:#fff;padding:7px 10px;line-height:1.5}.intro-split .lead{font-size:1.0625rem}.service-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-block:28px;border-bottom:1px solid var(--line)}.service-summary div{padding-right:28px;border-right:1px solid var(--line)}.service-summary div:last-child{border:0;padding-right:0}.service-summary strong{font-size:1rem;display:block;margin-bottom:9px}.service-summary p{font-size:1rem;color:var(--muted);margin:0;line-height:1.6}.content-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(210px,260px);gap:clamp(50px,6vw,90px);justify-content:space-between;align-items:start}.content-layout .prose{max-width:70ch}.prose{font-size:1.0625rem;line-height:1.8;min-width:0;overflow-wrap:break-word}.prose h2{font-size:1.9rem;line-height:1.23;margin:44px 0 18px;letter-spacing:-.025em;scroll-margin-top:120px}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.35rem;margin:29px 0 13px;line-height:1.35}.prose p{font-size:1.0625rem;line-height:1.85;margin:0 0 22px;color:#3d4b53}.prose ul,.prose ol{padding-left:23px;margin:18px 0 27px}.prose li{padding-left:6px;margin:10px 0;color:#3d4b53;line-height:1.75}.prose li p{margin:0}.prose strong{font-weight:700;color:#1e2a31}.prose a{color:var(--rust);text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}.prose blockquote{border-left:3px solid var(--orange);margin:26px 0;padding:15px 25px;background:#f1f4f5}.prose table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse;font-size:1rem}.prose th,.prose td{padding:14px;border:1px solid #c6d0d6;vertical-align:top}.prose th{background:#edf1f3}.prose>p:first-child{font-size:1.125rem;color:#31454f}.prose .review-note{font-size:.875rem;color:#5c6d76;border-top:1px solid var(--line);padding-top:22px;margin-top:35px}.toc{position:sticky;top:125px;min-width:0}.toc-disclosure>summary{font-size:.875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:15px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}.toc-disclosure>summary::-webkit-details-marker{display:none}.toc-disclosure>summary:after{content:'+';color:var(--rust);font-size:1.2rem}.toc-disclosure[open]>summary:after{content:'−'}.toc ul{list-style:none;padding:0;margin:0 0 24px;border-top:1px solid #b0bec5;max-height:calc(100dvh - 470px);min-height:120px;overflow-y:auto}.toc li{border-bottom:1px solid #dce2e5}.toc a{display:block;padding:12px 4px 12px 0;font-size:.875rem;line-height:1.5;text-decoration:none;color:#526873}.toc a:hover{color:var(--rust)}.aside-cta{background:#242b30;padding:25px;color:#fff}.aside-cta h3{font-size:1.4rem;margin-bottom:13px}.aside-cta p{font-size:1rem;color:#c6d1d7;line-height:1.6}.aside-cta .btn{font-size:.875rem;padding:13px;min-height:48px;width:100%;gap:15px}.related{background:#f3f5f5;padding:72px 0}.related h2{font-size:2.25rem;margin:16px 0 35px}.directory-toolbar{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:end;margin-bottom:25px}.field{display:flex;flex-direction:column;gap:10px;min-width:0}.field label{font-size:.9375rem;font-weight:700}.field input,.field select{background:#fff;border:1px solid #97a6af;border-radius:0;padding:15px 16px;min-height:54px;width:100%;color:#22353f;font-size:1rem}.result-count{font-size:.875rem;color:#596f7b;margin:0 0 28px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 32px}.empty-state{padding:30px;background:#edf2f4;grid-column:1/-1}.profile{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:70px;padding:64px 0;border-bottom:1px solid var(--line);align-items:start}.profile:first-child{padding-top:0}.profile:last-child{padding-bottom:0;border:0}.profile-portrait{margin:0;max-width:370px}.profile-portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;background:#dce5e9}.profile h2{margin:12px 0 13px;font-size:2.65rem}.profile .role{font-size:1rem;font-weight:700;color:var(--rust);line-height:1.6;margin-bottom:22px}.profile p{color:#4b606b;font-size:1rem}.profile .prose p{font-size:1rem;line-height:1.8}.expertise{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.expertise span{font-size:.875rem;padding:7px 10px;border:1px solid #c3cdd2;background:#f4f6f6;line-height:1.45}.scope-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.scope-item{border-top:3px solid var(--orange);padding:25px 0}.scope-item p{color:var(--muted)}.contact-page{display:grid;grid-template-columns:1.05fr .95fr;gap:80px}.contact-method{border-top:1px solid #a7b6bf;padding:28px 0}.contact-method h2{font-size:1.75rem;margin:16px 0}.contact-method>a{font-size:clamp(1.2rem,2.3vw,2rem);letter-spacing:-.025em;text-decoration:none;display:inline-block;overflow-wrap:anywhere;max-width:100%}.contact-method>a:hover{color:var(--rust)}.contact-method p{color:var(--muted);margin-top:15px}.contact-note{padding:32px;background:#f0f3f4;align-self:start;border-top:3px solid var(--orange)}.contact-note h2{font-size:1.6rem}.contact-note li{line-height:1.7;margin:15px 0}.contact-note ul{padding-left:21px}.faq-list{max-width:100%;margin-left:0}.faq-list details{border-top:1px solid #b5c1c7;padding:22px 0}.faq-list details:last-child{border-bottom:1px solid #b5c1c7}.faq-list summary{cursor:pointer;font-size:1.0625rem;font-weight:700;line-height:1.5;list-style:none;display:flex;justify-content:space-between;gap:30px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:var(--rust);font-weight:400;font-size:1.5rem}.faq-list details[open] summary:after{content:'−'}.faq-list p{max-width:840px;margin:18px 0 0;color:var(--muted)}[hidden]{display:none!important}.notice{font-size:.9375rem;padding:22px 27px;background:#edf2f4;border-left:3px solid var(--orange);line-height:1.7}.page-error{min-height:60vh;text-align:center;padding:100px 24px}.page-error h1{font-size:clamp(2.5rem,5vw,4.5rem)}
/* Soft edges and quiet architectural texture keep the site clear and welcoming. */
.btn,.menu-toggle,.desktop-nav .header-contact{border-radius:9px}
.nav-panel{border-radius:12px}.nav-panel a{border-radius:6px}
.pathway,.article-card,.aside-cta,.contact-note,.empty-state,.notice{border-radius:16px}
.pathway{box-shadow:0 8px 28px #26374408;background:#fff;border:1px solid #d8dddf;border-top:3px solid var(--orange)}
.pathway.dark{border-color:#22272b;border-top-color:var(--orange)}
.article-card{padding:26px;border:1px solid var(--line);background:#fff;box-shadow:0 6px 24px #26374405}
.portrait-pair img,.profile-portrait img,.architectural-image img,.intro-image{border-radius:14px}
.intro-image{overflow:hidden}.hero-visual figcaption,.intro-image figcaption{border-radius:6px}
.field input,.field select,.expertise span{border-radius:8px}
.all-services{display:flex;flex-wrap:wrap;gap:16px 30px}
.pathways,.page-intro,.learning-hero{position:relative;isolation:isolate;background:#fff}
.pathways::before,.page-intro::before,.learning-hero::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(100deg,#ffffff 0%,#ffffff80 54%,#ffffff00 100%),url('/assets/cleanroom-detail-sealed-1672.webp') center 48%/cover no-repeat;opacity:.23}
.page-intro::before{opacity:.16}.learning-hero::before{opacity:.08}
.desktop-nav{gap:22px}.desktop-nav .learning-nav{line-height:1.3;white-space:nowrap}
.learning-nav small{display:block;margin-top:4px;color:var(--rust);font-size:.6875rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700}
.nav-free{font-size:.75rem;color:var(--rust);background:#fff2e9;border-radius:5px;padding:4px 7px;margin-left:8px;white-space:nowrap}
/* Help Me GxP: a dedicated route into free learning. */
.learning-hero{padding:30px 0 68px;border-bottom:1px solid var(--line)}
.learning-hero-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center}
.learning-hero h1{font-size:clamp(2.5rem,4.1vw,3.75rem);margin:20px 0 23px;line-height:1.12;max-width:740px;text-wrap:balance}
.learning-hero h1 span{color:var(--rust)}
.learning-hero .lead{font-size:1.125rem;color:#475a65;line-height:1.75;max-width:670px}
.learning-hero-layout>div:first-child>p:not(.lead){font-size:.9375rem;color:var(--muted);max-width:600px}
.learning-hero .actions{margin-top:28px}
.learning-brand{background:#030613;border-radius:20px;padding:32px 24px 25px;box-shadow:0 16px 42px #17273716;overflow:hidden}
.learning-brand img{width:100%;height:auto}.learning-hero-layout>.learning-brand>p{color:#d9dfea;text-align:center;font-size:.8125rem;margin:4px 0 0;line-height:1.6}
.learning-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.learning-resource{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:32px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 28px #26374406}
.resource-label{display:flex;gap:16px;align-items:center;margin-bottom:24px}
.resource-icon{width:48px;height:48px;display:grid;place-items:center;background:#fff0e5;color:var(--rust);border-radius:12px}
.resource-icon svg{width:25px;height:25px}.resource-label .kicker{font-size:.8125rem}
.learning-resource h3{font-size:1.65rem;margin-bottom:14px}
.learning-resource>p{color:var(--muted);max-width:520px;margin-bottom:26px}
.resource-actions{width:100%;margin-top:auto;min-height:89px}.resource-action{display:flex;gap:20px;align-items:center;justify-content:space-between;width:100%;font-size:1rem;font-weight:700;line-height:1.6;padding-top:18px;border-top:1px solid #e2e6e8;text-decoration:none;margin-top:auto}
.resource-action:hover{color:var(--rust)}.resource-action>span{font-size:1.3rem;flex-shrink:0}
.install-link{display:inline-block;margin-top:12px;font-size:.875rem;color:#53616a;text-underline-offset:4px;line-height:1.7}.install-link:hover{color:var(--rust)}
.resource-note{font-size:.8125rem;line-height:1.7;color:#5f6a71;max-width:880px;margin:25px 0 0}
.learning-topics{background:var(--paper)}.learning-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.learning-topic-grid article{display:flex;flex-direction:column;align-items:flex-start}.learning-topic-grid h3{font-size:1.4rem;line-height:1.35;max-width:280px}
.learning-topic-grid p{color:var(--muted)}.learning-topic-grid a{margin-top:auto}
.learning-boundary{border-top:1px solid var(--line);padding-top:28px;margin-top:40px;display:flex;justify-content:space-between;gap:40px;align-items:center}
.learning-boundary p{font-size:.875rem;line-height:1.75;color:var(--muted);max-width:770px;margin:0}.learning-boundary a{flex-shrink:0}
/* W2 knowledge uses a pale orange wash; the education area uses its own brand. */
.knowledge-section,.knowledge-directory{background:linear-gradient(135deg,#fff5ec 0%,#fff9f3 60%,#fff1e3 100%)}
.knowledge-page .page-intro{background:#fff7ef}.knowledge-page .page-intro::before{opacity:.13}
.knowledge-section .article-card,.knowledge-directory .article-card{border-color:#ecdccc;box-shadow:0 6px 22px #8f4b1405}
.knowledge-directory .article-card .kicker,.knowledge-section .article-card .kicker{color:#944012}
.knowledge-directory .field input,.knowledge-directory .field select{border-color:#cbb39e}
.knowledge-directory .empty-state{background:#fff;border:1px solid #ecdccc}
.learning-page{--gxp-cyan:#12b8ff;--gxp-violet:#6d4aff;--gxp-navy:#07111f}
.learning-hero{background:radial-gradient(ellipse at 80% 16%,#47205e 0%,transparent 48%),radial-gradient(ellipse at 10% 100%,#0c3b60 0%,transparent 58%),#07111f;color:#fff;border-bottom:4px solid #12b8ff}
.learning-hero::before{display:none}.learning-hero .breadcrumbs{color:#bacad9}.learning-hero .kicker{color:#59d2ff}
.learning-hero h1 span{color:#57d2ff}.learning-hero .lead{color:#e0e9f3}
.learning-hero-layout>div:first-child>p:not(.lead){color:#bfcddd}
.learning-hero .btn-orange{background:#31c8ff;color:#061526}.learning-hero .btn-orange:hover{background:#7dddff}
.learning-hero .text-link{color:#fff}.learning-hero .text-link:hover{color:#7dddff}
.learning-brand{border:1px solid #7959a15c;box-shadow:0 18px 55px #03030c55;background:#030613}
.learning-page #learning-resources{background:linear-gradient(135deg,#edf8ff 0%,#f6f2ff 60%,#fff4ed 100%)}
.learning-page #learning-resources>.wrap>.section-label>.kicker{color:#5941a0}
.learning-resource{padding:0;overflow:hidden;border-color:#d9dcec;box-shadow:0 9px 28px #17294808}
.resource-artwork{height:180px;width:100%;position:relative;display:flex;align-items:center;justify-content:center;background:#061027;border-bottom:3px solid var(--gxp-cyan)}
.resource-artwork img{height:100%;width:100%;object-fit:contain}
.artwork-play{background:#050c22}.artwork-play img{object-fit:contain}
.artwork-audio{background:radial-gradient(ellipse at center,#123753,#030b1c);border-bottom-color:#a445d7}.artwork-audio img{width:180px}
.artwork-book{background:radial-gradient(ellipse at center,#103d58,#07111f);border-bottom-color:#12b8ff}.artwork-book img{width:auto;max-width:75%;height:150px}
.artwork-search{background:linear-gradient(120deg,#daf4ff,#edf0ff);border-bottom-color:#6d4aff}.artwork-search img{width:auto;height:162px}
.platform-label{position:absolute;bottom:12px;left:18px;font-size:.6875rem;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;font-weight:700;background:#fff;color:#141b26;padding:6px 10px;border-radius:5px}
.artwork-play .platform-label{background:#ffefef;color:#a40816}.artwork-audio .platform-label{background:#d9ffe7;color:#064c28}
.artwork-book .platform-label{background:#d9f4ff;color:#064664}.artwork-search .platform-label{background:#eee6ff;color:#452677}
.resource-content{padding:30px;display:flex;flex-direction:column;align-items:flex-start;flex:1;width:100%}
.resource-content>p{color:var(--muted);margin-bottom:26px}.resource-label{margin-bottom:20px}
.resource-play .resource-icon{background:#fff0f2;color:#be263a}.resource-play .resource-label .kicker{color:#a40816}
.resource-audio .resource-icon{background:#e5f8ef;color:#17643b}.resource-audio .resource-label .kicker{color:#17643b}
.resource-book .resource-icon{background:#e5f5ff;color:#07618c}.resource-book .resource-label .kicker{color:#07618c}
.resource-search .resource-icon{background:#efe9ff;color:#603aba}.resource-search .resource-label .kicker{color:#603aba}
.learning-resource .resource-action:hover{color:#5030af}.learning-topics{background:#f5f3fc}
.learning-topics .kicker{color:#5a4093}.learning-topics .text-link:hover{color:#5632ac}

/* Responsive: keep the same alignment and reading rhythm as space narrows. */
@media(min-width:1600px){.hero-copy{padding-left:160px}.hero-layout{grid-template-columns:1.15fr 1fr}}
@media(max-width:1200px){.brand-caption{display:none}.desktop-nav{gap:24px}.hero-copy{padding-right:35px}.hero h1{font-size:clamp(2.75rem,4.5vw,3.65rem)}.hero-context{flex-wrap:wrap}.hero-context span{flex:1 1 120px}.team-feature-layout,.approach-grid{gap:45px}.footer-grid{gap:30px}.content-layout{gap:50px;grid-template-columns:minmax(0,1fr) 235px}.profile{gap:50px}.contact-cta-inner{gap:35px}}
@media(max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:block;margin-left:auto}.brand-caption{display:block;max-width:none}.mobile-nav:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:0 25px;padding:5px 28px 25px;max-height:calc(100dvh - 101px);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line)}.mobile-nav a{font-size:1rem;text-decoration:none;padding:14px 0;border-bottom:1px solid #dce2e5;line-height:1.5}.mobile-nav a[aria-current="page"]{color:var(--rust);font-weight:700}.learning-hero-layout{gap:36px}.learning-hero h1{font-size:2.9rem}.learning-brand{padding:26px 18px 22px}.learning-boundary{display:block}.learning-boundary a{display:inline-block;margin-top:20px}}
@media(max-width:980px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wrap{width:calc(100% - 56px)}.desktop-nav{display:none}.menu-toggle{display:block;margin-left:auto}.brand-caption{display:block;max-width:none}.header-inner{min-height:90px}.header .logo{height:80px}.header .logo img{width:89px;height:89px;top:-1px;left:-7px}.mobile-nav:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:0 25px;padding:5px 28px 25px;max-height:calc(100dvh - 91px);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line)}.mobile-nav a{font-size:1rem;text-decoration:none;padding:14px 0;border-bottom:1px solid #dce2e5;line-height:1.5}.mobile-nav a[aria-current="page"]{color:var(--rust);font-weight:700}.hero-layout{grid-template-columns:1.2fr 1fr;min-height:570px}.hero-copy{padding:42px 28px}.hero h1{font-size:clamp(2.5rem,4.8vw,3.3rem)}.hero-copy>p{font-size:1rem}.hero-visual{min-height:570px}.hero .actions{gap:20px}.hero-context{margin-top:25px;padding-top:23px;gap:14px}.hero-context span{font-size:.8125rem;flex:1 1 110px}.sector-inner{gap:18px;font-size:.8125rem}.sector-inner>span:first-child{max-width:65px}.section{padding:70px 0}.section-label{margin-bottom:32px}.pathway{padding:27px}.pathway h3{font-size:1.8rem}.service-row{grid-template-columns:28px 1fr 1.05fr 38px;gap:18px}.round-arrow{width:38px;height:38px;flex-basis:38px}.team-feature-layout{grid-template-columns:1fr;gap:32px}.team-feature-layout>div:first-child{max-width:680px}.team-feature .portrait-pair{max-width:600px}.team-feature h2{font-size:2.2rem}.portrait-pair{gap:15px}.portrait-pair small{font-size:.8125rem}.intro-split{gap:35px;grid-template-columns:1.15fr .85fr}.intro-split h1{font-size:2.8rem}.intro-split .intro-image{min-height:350px}.content-layout{grid-template-columns:minmax(0,1fr) 210px;gap:35px}.toc ul{max-height:calc(100dvh - 470px)}.aside-cta{padding:21px}.article-grid,.directory-grid{gap:28px}.article-card h3{font-size:1.3rem}.profile{grid-template-columns:.7fr 1.3fr;gap:40px}.profile h2{font-size:2.3rem}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 60px}.footer-grid>div{min-width:0}.contact-page{gap:40px}.contact-cta-inner{display:block}.contact-cta .btn{margin-top:25px}.contact-cta h2{max-width:760px}}
@media(max-width:900px){.hero-layout{grid-template-columns:1fr}.hero-copy{padding:44px 28px 34px;max-width:740px}.hero h1{font-size:clamp(2.65rem,7.8vw,3.75rem);line-height:1.09;max-width:650px}.hero-copy>p{max-width:610px;font-size:1.0625rem}.hero-context{flex-wrap:nowrap;gap:20px;margin-top:27px}.hero-context span{font-size:.875rem;flex:1;max-width:180px}.hero-visual{height:320px;min-height:0}.hero-visual img{object-position:center 57%}.hero-visual::before{width:100%;height:4px}.sector-inner{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;font-size:.875rem;padding-block:22px}.sector-inner>span:first-child{max-width:none;font-size:.75rem}.pathway-grid{gap:18px}.pathway{padding:25px;min-height:340px}.pathway .kicker{font-size:.75rem;letter-spacing:.06em;min-height:3em}.pathway h3{font-size:1.65rem}.pathway-bottom{font-size:.875rem}.service-row{grid-template-columns:28px minmax(0,1fr) 38px;gap:12px 18px;padding:23px 0}.service-row p{grid-column:2;grid-row:2}.service-row .round-arrow{grid-column:3;grid-row:1/3}.service-row h3{font-size:1.375rem}.approach-grid{grid-template-columns:1fr;gap:35px}.architectural-image img{height:350px;min-height:0;object-position:center 50%}.team-feature-layout{grid-template-columns:1fr;gap:35px}.portrait-pair{max-width:620px;gap:20px}.portrait-pair img{max-height:none;aspect-ratio:4/5}.portrait-pair small{font-size:.875rem}.article-grid,.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.article-grid .article-card:last-child{grid-column:1/-1;max-width:600px}.article-card h3{font-size:1.5rem}.article-card .kicker{min-height:0}.intro-split{grid-template-columns:1fr;gap:30px}.intro-split .intro-image{height:300px;min-height:0}.intro-split h1{max-width:650px;font-size:clamp(2.4rem,5.5vw,3rem)}.intro-split .lead{font-size:1.0625rem}.page-intro{padding-bottom:42px}.content-layout{grid-template-columns:1fr;gap:30px}.toc{position:static;order:-1;border-block:1px solid #b8c5cc;background:#f4f6f7;padding:19px 21px}.toc-disclosure>summary{margin-bottom:0;min-height:24px;letter-spacing:.04em}.toc ul{max-height:none;min-height:0;margin:17px 0 0;border-top:1px solid #c9d3d8;overflow:visible}.toc li:last-child{border-bottom:0}.toc a{font-size:.9375rem;padding:13px 0}.toc .aside-cta{display:none}.service-summary{gap:20px}.service-summary div{padding-right:18px}.service-summary p{font-size:.9375rem}.directory-toolbar{grid-template-columns:1fr 1fr}.profile{grid-template-columns:.75fr 1.25fr;gap:30px}.profile h2{font-size:2rem}.profile .role{font-size:.9375rem}.profile .kicker{font-size:.75rem}.scope-list{grid-template-columns:1fr;gap:20px}.scope-item{padding:23px 0 10px}.contact-page{grid-template-columns:1fr;gap:25px}.contact-note{padding:28px}.contact-method>a{font-size:1.7rem}.related{padding:55px 0}.related h2{font-size:2rem}.guide-page .page-intro h1{max-width:720px}.prose table{font-size:.9375rem}}
@media(max-width:520px){html{scroll-padding-top:100px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:82px;gap:12px}.header .logo{width:78px;height:76px;flex-basis:78px}.header .logo img{width:84px;height:84px;left:-8px;top:0}.brand-caption{font-size:.75rem;padding-left:12px;line-height:1.6;max-width:140px}.menu-toggle{font-size:.875rem;padding:9px 13px}.mobile-nav:not([hidden]){grid-template-columns:1fr;padding:0 20px 20px;max-height:calc(100dvh - 83px)}.hero-copy{padding:36px 20px 29px}.hero .kicker{font-size:.75rem;letter-spacing:.075em}.hero h1{font-size:clamp(2.1rem,8.7vw,2.9rem);margin:23px 0 21px;letter-spacing:-.035em}.hero-copy>p{font-size:1rem;line-height:1.75;margin-bottom:26px}.hero .actions{gap:18px}.hero .btn{padding:14px 19px;min-height:52px}.hero-context{gap:14px;padding-top:23px;margin-top:25px}.hero-context span{font-size:.8125rem;line-height:1.5}.hero-visual{height:235px}.hero-visual figcaption{right:10px;bottom:10px;font-size:.75rem}.sector-inner{font-size:.8125rem;gap:12px 18px}.sector-inner>span:first-child{letter-spacing:.06em}.section{padding:54px 0}.section-label{margin-bottom:29px}.section-label .kicker{font-size:.8125rem;margin-bottom:13px}.section-label h2{font-size:2rem;line-height:1.16;text-wrap:pretty}.section-label p{font-size:1rem;margin-top:16px}.pathway-grid{grid-template-columns:1fr;gap:20px}.pathway{padding:27px;min-height:0}.pathway .kicker{min-height:0;margin-bottom:20px;font-size:.8125rem}.pathway h3{font-size:1.95rem}.pathway p{margin-bottom:25px}.pathway-bottom{font-size:.9375rem}.service-row{grid-template-columns:22px minmax(0,1fr) 34px;gap:10px 12px}.service-row .num{font-size:.75rem}.service-row h3{font-size:1.25rem;line-height:1.35}.service-row p{font-size:1rem;line-height:1.65}.service-row .round-arrow{width:34px;height:34px;flex-basis:34px;font-size:1.1rem}.architectural-image img{height:280px}.approach-copy h2,.team-feature h2{font-size:2rem;line-height:1.18}.approach-copy>p,.team-feature p{font-size:1rem}.portrait-pair{gap:15px}.portrait-pair img{aspect-ratio:4/5}.portrait-pair figcaption{font-size:1rem}.portrait-pair small{font-size:.8125rem}.article-grid,.directory-grid{grid-template-columns:1fr;gap:28px}.article-grid .article-card:last-child{grid-column:auto}.article-card{padding-top:23px}.article-card h3{font-size:1.5rem;margin:14px 0}.article-card p{margin-bottom:20px}.article-card .kicker{font-size:.8125rem}.contact-cta{padding:45px 0}.contact-cta h2{font-size:2rem;text-wrap:pretty}.contact-cta .btn{white-space:normal;max-width:100%}.footer{padding-top:45px}.footer-grid{gap:35px 25px}.footer-grid>div:first-child{grid-column:1/-1;display:flex;gap:27px;align-items:center}.footer .logo{flex:0 0 104px;height:106px;margin:0}.footer .logo img{width:130px;height:130px;left:-20px;top:-10px}.footer p{margin-bottom:0}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid>div:last-child p{max-width:100%;margin-top:16px!important}.footer h3{font-size:.8125rem;letter-spacing:.035em}.footer-bottom{display:block;font-size:.8125rem;margin-top:30px}.footer-bottom span{display:block;margin-top:12px}.page-intro{padding:23px 0 36px}.breadcrumbs{margin-bottom:25px;font-size:.8125rem;gap:8px}.page-intro h1,.intro-split h1{font-size:2.3rem;line-height:1.13;letter-spacing:-.035em;text-wrap:pretty}.page-intro .lead{font-size:1.0625rem;line-height:1.7}.page-intro .kicker{font-size:.8125rem}.intro-split .intro-image{height:235px}.service-summary{grid-template-columns:1fr;gap:18px;padding-block:24px}.service-summary div{border:0;border-bottom:1px solid var(--line);padding:0 0 18px}.service-summary div:last-child{padding-bottom:0}.service-summary p{font-size:1rem}.prose p,.prose li{font-size:1rem;line-height:1.85}.prose>p:first-child{font-size:1.0625rem}.prose h2{font-size:1.7rem;margin-top:36px}.prose h3{font-size:1.3rem}.prose ul,.prose ol{padding-left:20px}.directory-toolbar{grid-template-columns:1fr;gap:18px;margin-bottom:23px}.profile{grid-template-columns:1fr;gap:25px;padding:48px 0}.profile-portrait{max-width:360px}.profile-portrait img{aspect-ratio:1;object-position:50% 22%}.profile h2{font-size:2.25rem}.profile .role{font-size:1rem}.expertise{margin:20px 0}.expertise span{font-size:.8125rem}.faq-list summary{font-size:1rem;gap:20px}.related h2{font-size:1.9rem}.notice{padding:19px 22px;font-size:.875rem}.contact-note h2{font-size:1.5rem}.contact-method>a{font-size:clamp(1.1rem,5.7vw,1.5rem)}}
@media(max-width:360px){.brand-caption{display:none}.hero-context{flex-wrap:wrap}.hero-context span{flex:1 1 90px}.hero h1{font-size:2.1rem}.pathway{padding:23px}.footer-grid{column-gap:20px}.portrait-pair small{font-size:.8125rem}.page-intro h1{font-size:2rem}}
@media(max-width:900px){.learning-hero{padding-bottom:48px}.learning-hero-layout{grid-template-columns:1fr;gap:34px}.learning-hero h1{font-size:clamp(2.4rem,6vw,3.1rem);text-wrap:pretty}.learning-brand{max-width:460px;width:100%;padding:20px 24px}.learning-resource-grid{gap:20px}.learning-resource{padding:0}.resource-content{padding:25px}.learning-resource h3{font-size:1.5rem}.learning-topic-grid{grid-template-columns:1fr;gap:30px}.learning-topic-grid h3{max-width:none;margin-bottom:12px}.learning-topic-grid p{max-width:580px;margin-bottom:16px}}
@media(max-width:600px){.resource-actions{min-height:0}.learning-resource-grid{grid-template-columns:1fr}.learning-hero h1{font-size:2.55rem}.learning-hero .lead{font-size:1.0625rem}.learning-hero .kicker{font-size:.8125rem}.learning-hero .actions{gap:22px}.learning-brand{max-width:410px}.resource-label{margin-bottom:20px}.learning-boundary{margin-top:32px}.learning-boundary a{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Editorial polish: readable guides, visible sources and clear directory state. */
.desktop-nav [aria-current="true"],.mobile-nav a[aria-current="true"]{color:var(--rust);font-weight:700}
.reading-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:23px 0;border-bottom:1px solid #eadccf;color:#59656e;font-size:.875rem;line-height:1.65}
.reading-meta a{text-underline-offset:4px;text-decoration-color:#bdc5c9}
.reading-meta>a:last-child{margin-left:auto;color:var(--rust);font-weight:700;text-decoration:none}
.reading-meta>span+span{padding-left:24px;border-left:1px solid #d8dddf}
.guide-body{padding-top:52px}
.reading-column{min-width:0;max-width:760px}
.guide-page .prose>p:first-child{background:#fff7ef;border-left:3px solid var(--orange);border-radius:0 14px 14px 0;padding:25px 28px;line-height:1.85;margin-bottom:36px}
.guide-page .prose>h2:first-child{margin-top:0}
.reference-panel{margin-top:42px;padding:32px;background:linear-gradient(145deg,#fff8f1,#fffdfb);border:1px solid #efdcca;border-radius:18px}
.reference-panel .kicker{font-size:.75rem;margin-bottom:10px}
.reference-panel h2{font-size:1.9rem;margin-bottom:13px}
.reference-intro{color:#52616b;margin-bottom:24px}
.reference-panel ul{list-style:none;padding:0;margin:0}
.reference-panel li{padding:19px 0;border-top:1px solid #e8dace}
.reference-panel li:last-child{padding-bottom:0}
.reference-panel li a{font-size:1rem;font-weight:700;line-height:1.6;text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
.reference-panel li a:hover{color:var(--rust)}
.reference-panel li p{font-size:.9375rem;color:#52616b;margin:7px 0 0;line-height:1.65}
.toc-disclosure>ul{max-height:44vh;overflow-y:auto;padding-right:12px;scrollbar-width:thin;scrollbar-color:#c4cdd1 transparent}
.directory-status{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;margin-bottom:26px}
.directory-status .result-count{margin:0}
.clear-filters{border:0;background:transparent;color:var(--rust);padding:9px 0 9px 14px;font-size:.875rem;font-weight:700;line-height:1.5}
.clear-filters span{margin-left:9px;font-size:1.15rem}
.clear-filters:hover{text-decoration:underline;text-underline-offset:5px}
.article-card,.learning-resource{transition:border-color .2s,box-shadow .2s,transform .2s}
.article-card:hover,.article-card:focus-within{border-color:#d5a27c;box-shadow:0 10px 30px #7e43140c;transform:translateY(-2px)}
.learning-resource:focus-within{border-color:#8a93b9;box-shadow:0 12px 32px #17294812}
@media(max-width:900px){.guide-body{padding-top:30px}.reading-meta{gap:10px 18px;padding-block:19px}.reading-meta>span:first-child{width:100%}.reading-meta>span+span{border:0;padding:0}.reading-meta>a:last-child{margin-left:0}.reference-panel{padding:25px}.reference-panel h2{font-size:1.65rem}.guide-page .prose>p:first-child{padding:22px}.toc-disclosure>ul{max-height:none}.guide-body .toc{border:1px solid #dce2e4;border-radius:12px}.reading-column{max-width:none}}
@media(prefers-reduced-motion:reduce){.article-card:hover,.article-card:focus-within{transform:none}}

.toc .btn-orange{color:var(--ink)}

/* Mobile refinement: deliberate phone composition and comfortable touch targets. */
.prose h2{scroll-margin-top:16px}
.mobile-nav[hidden]{display:none}
@media(max-width:1100px){
 .header-inner{position:relative}
 .menu-toggle{flex:0 0 auto;min-width:72px;text-align:center}
 .mobile-nav:not([hidden]){position:absolute;inset-inline:0;top:100%;background:#fff;box-shadow:0 18px 28px #1018201c;max-height:calc(100vh - 101px);max-height:calc(100dvh - 101px);padding-bottom:max(20px,env(safe-area-inset-bottom));z-index:21}
 .mobile-nav a{min-height:48px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
 .mobile-nav a:last-child{background:var(--orange);border:0;border-radius:9px;padding:12px 16px;margin-top:12px;color:var(--ink);font-weight:700;justify-content:center}
 .mobile-nav .nav-free{margin-left:0}
}
@media(max-width:900px){
 .hero-layout,.approach-grid,.content-layout,.intro-split{grid-template-columns:minmax(0,1fr)}
 .hero-layout{min-height:0}
 .hero-copy{max-width:none}
 .hero-visual{height:280px;min-height:0}
 .article-grid,.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .article-card{padding:24px}
 .profile{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
 .all-services .text-link,.actions>.text-link,.article-card>.text-link,.learning-topic-grid .text-link,.install-link{display:inline-flex;align-items:center;min-height:44px}
 .footer li{margin-bottom:0}
 .footer li>a{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
 .resource-action{min-height:52px}
}
@media(max-width:600px){
 html{scroll-padding-top:88px}
 .wrap{width:calc(100% - 36px)}
 .header-inner{min-height:74px;gap:12px}
 .header .logo{width:70px;height:70px;flex-basis:70px;overflow:visible}
 .header .logo img{width:76px;height:76px;left:-7px;top:-3px}
 .brand-caption{font-size:.75rem;line-height:1.45;min-width:0;padding-left:12px;max-width:none}
 .menu-toggle{min-width:70px;min-height:44px;font-size:.875rem;padding:10px 12px}
 .mobile-nav:not([hidden]){grid-template-columns:1fr;padding:0 18px max(18px,env(safe-area-inset-bottom));max-height:calc(100vh - 75px);max-height:calc(100dvh - 75px)}
 .hero-copy{padding:28px 18px 24px}
 .hero h1{font-size:clamp(2rem,8.5vw,2.8rem);line-height:1.1;margin:17px 0 19px;letter-spacing:-.035em}
 .hero .kicker{font-size:.75rem;letter-spacing:.065em}
 .hero-copy>p{font-size:1rem;line-height:1.65;margin-bottom:21px}
 .hero .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .hero .actions>.btn{width:100%;min-height:50px;padding:13px 18px}
 .hero .actions>.text-link{justify-self:center;min-height:44px}
 .hero-context{display:none}
 .hero-visual{height:180px;min-height:0}
 .hero-visual img{object-position:center 55%}
 .hero-visual figcaption{font-size:.75rem;right:9px;bottom:9px;padding:5px 8px}
 .sector-inner{gap:12px 18px;padding-block:20px;align-items:start;font-size:.875rem;line-height:1.5}
 .section{padding-block:44px}
 .section-label{margin-bottom:25px}
 .section-label h2,.approach-copy h2,.team-feature h2,.contact-cta h2{font-size:clamp(1.8rem,7.2vw,2.15rem);line-height:1.18}
 .pathway-grid,.article-grid,.directory-grid,.learning-resource-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .pathway{padding:24px;min-height:0}
 .pathway h3{font-size:1.75rem;line-height:1.2}
 .pathway-bottom{gap:12px}
 .service-row{grid-template-columns:22px minmax(0,1fr) 34px;gap:10px 12px}
 .service-row p{grid-column:2/-1;grid-row:2;font-size:1rem;line-height:1.65}
 .service-row .round-arrow{grid-row:1;align-self:start;width:34px;height:34px;flex-basis:34px}
 .service-row h3{font-size:1.25rem;line-height:1.35}
 .architectural-image img{height:220px;min-height:0}
 .team-feature-layout{gap:26px}
 .portrait-pair{grid-template-columns:minmax(0,1fr);gap:14px;max-width:none}
 .portrait-pair figure{display:grid;grid-template-columns:104px minmax(0,1fr);gap:18px;align-items:center;background:white;border:1px solid #dce2e4;border-radius:14px;overflow:hidden}
 .portrait-pair img{width:104px;height:130px;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:0}
 .portrait-pair figcaption{padding:15px 15px 15px 0;font-size:1.0625rem}
 .portrait-pair small{font-size:.875rem;line-height:1.5}
 .article-grid .article-card:last-child{grid-column:auto;max-width:none}
 .article-card{padding:24px}
 .article-card h3{font-size:1.5rem;text-wrap:pretty}
 .article-card .text-link{min-height:44px}
 .page-intro,.learning-hero{padding:20px 0 30px}
 .breadcrumbs{margin-bottom:21px;font-size:.8125rem;overflow-wrap:anywhere}
 .page-intro h1,.intro-split h1,.learning-hero h1{font-size:clamp(2rem,7.8vw,2.5rem);line-height:1.14;margin:17px 0 19px;text-wrap:pretty;overflow-wrap:break-word}
 .page-intro .lead,.learning-hero .lead{font-size:1rem;line-height:1.7}
 .intro-split .intro-image{height:220px;min-height:0}
 .page-intro .actions,.learning-hero .actions{gap:8px 18px}
 .directory-toolbar{grid-template-columns:minmax(0,1fr);gap:16px}
 .knowledge-directory{padding-top:28px}
 .directory-status{margin-bottom:20px}
 .profile{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:38px}
 .profile-portrait{width:min(70%,240px);max-width:240px;margin-inline:auto}
 .profile-portrait img{aspect-ratio:4/5;object-position:50% 18%}
 .profile h2{font-size:2rem}.profile .role{font-size:1rem}
 .expertise span{font-size:.875rem}
 .learning-hero-layout{gap:25px}
 .learning-brand{padding:18px;max-width:360px;margin-inline:auto}
 .resource-content{padding:24px}
 .resource-label{margin-bottom:16px}.resource-artwork{height:165px}
 .resource-actions{min-height:0}
 .reference-panel{padding:22px}.guide-page .prose>p:first-child{padding:20px}
 .reading-meta{font-size:.875rem}
 .guide-body .toc{padding:16px 18px}.toc-disclosure>summary{min-height:30px}
 .contact-cta{padding-block:38px}.contact-cta .btn{width:100%;min-height:50px}
 .footer{padding-top:36px}.footer-grid{gap:26px 18px}
 .footer-grid>div:first-child{gap:20px}.footer .logo{flex-basis:90px;width:90px;height:94px}
 .footer .logo img{width:112px;height:112px;left:-17px;top:-9px}
 .footer p,.footer li a{font-size:.875rem}.footer h3{margin-bottom:12px}
 .all-services{gap:8px 20px}
}
@media(max-width:380px){.brand-caption{display:none}.pathway,.article-card,.resource-content{padding:22px}.portrait-pair figure{grid-template-columns:92px minmax(0,1fr);gap:15px}.portrait-pair img{width:92px;height:115px}.portrait-pair figcaption{padding-right:12px}.resource-label{gap:12px}}
/* Text enlargement must reflow instead of widening the page. */
h1,h2,h3,.pathway-bottom,.footer p{overflow-wrap:anywhere}
@media(max-width:1100px){.mobile-nav:not([hidden]){max-height:calc(100vh - var(--header-height,101px));max-height:calc(100dvh - var(--header-height,101px))}}
@media(max-width:600px){.footer-grid>div:first-child>p{min-width:0;flex:1}}
