@font-face{font-family:Lexend;src:url('/assets/lexend.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Source;src:url('/assets/source-sans.woff2') format('woff2');font-weight:200 900;font-display:swap}
:root{--paper:#fff;--wash:#eef3f5;--ink:#243746;--muted:#50636f;--line:#c6d2d9;--accent:#155b70;--hover:#0d4558;--soft:#d8e8ed;--danger:#922d24;--display:Lexend,sans-serif;--body:Source,sans-serif;--radius:8px;--space:clamp(22px,4vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:19px/1.55 var(--body);font-kerning:normal;text-rendering:optimizeLegibility}::selection{background:var(--soft);color:var(--ink)}a{color:var(--accent);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img,svg{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.17;letter-spacing:-.035em;text-wrap:balance;min-width:0;overflow-wrap:break-word}h1{font-size:clamp(36px,5vw,70px);margin:0 0 25px}h2{font-size:clamp(28px,3vw,43px);margin:0 0 22px}h3{font-size:23px;margin:0 0 12px}p{max-width:65ch;margin:0 0 20px}ul,ol{padding-left:1.4em}li{margin-bottom:.6em}.wrap{max-width:1440px;margin-inline:auto;padding-inline:var(--space)}.skip{position:absolute;left:20px;top:-100px;z-index:20;padding:10px;background:var(--paper)}.skip:focus{top:8px}.site-header{padding-block:26px}.masthead{display:flex;justify-content:space-between;align-items:center;gap:25px}.brand{display:block;width:300px;max-width:100%;flex-shrink:0;color:var(--accent);text-decoration:none}.brand svg{width:100%;height:auto}.report-brand{width:230px;max-width:100%;margin-bottom:22px}.document-brand{padding-top:22px;margin-bottom:12px}.document-brand img{width:286px;max-width:100%;height:auto}.nav{display:flex;align-items:center;gap:30px;font-size:17px}.nav a{text-decoration:none;color:var(--ink)}.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:12px 23px;border:1px solid var(--accent);border-radius:var(--radius);color:var(--paper);background:var(--accent);font-weight:600;text-decoration:none;cursor:pointer;line-height:1.3}.button:hover{background:var(--hover);color:var(--paper)}.button.secondary{background:var(--paper);color:var(--accent)}.button:disabled{cursor:not-allowed;background:var(--wash);color:var(--muted);border-color:var(--line)}.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.menu-toggle{display:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:10px 16px}.hero{padding-block:48px 24px}.hero-top{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:end;gap:60px;margin-bottom:40px}.hero-top h1{max-width:850px;margin:0}.hero-top .intro{font-size:21px;margin-bottom:24px}.building-stage{background:var(--wash);border-radius:12px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);align-items:center;gap:40px;padding:32px 50px}.building-stage figure{margin:0}.building-stage figcaption{font-size:14px;color:var(--muted);margin-top:10px}.service-index{display:grid;gap:0}.service-index a{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:18px 0;text-decoration:none;border-bottom:1px solid var(--line);font-family:var(--display);font-size:18px}.service-index a:last-child{border:0}.service-index small{display:block;font:16px var(--body);color:var(--muted);margin-top:5px}.section{padding-block:85px}.report-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:100px;align-items:center}.report-preview{background:var(--wash);padding:34px;border-radius:12px}.report-sheet{background:var(--paper);padding:35px;box-shadow:0 12px 40px #24374614;border:1px solid var(--line);font-size:15px}.report-sheet h3{font-size:22px}.report-sheet dt{font-weight:700;margin-top:14px}.report-sheet dd{margin:3px 0}.report-sheet .label{background:var(--soft);padding:6px 10px;display:inline-block;margin-bottom:20px;font-weight:600}.report-sheet .finding{padding-top:14px;border-top:1px solid var(--line)}.report-sheet p{margin-bottom:12px}.link-line{display:inline-block;padding-block:12px;font-weight:600}.photo-section{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr);gap:70px;align-items:center}.photo-section figure{margin:0}.photo-section img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:12px}.photo-section figcaption{font-size:14px;margin-top:10px;color:var(--muted)}.guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:35px}.guide-entry{padding-top:22px;border-top:1px solid var(--line)}.guide-entry a{font-family:var(--display);font-size:22px;text-decoration:none}.guide-entry p{font-size:18px;margin-top:15px}.close{padding:45px;background:var(--wash);border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:35px}.close h2{font-size:31px;margin-bottom:12px}.close p{margin:0}.site-footer{padding-block:55px 28px}.footer-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:60px}.footer-links{columns:3;column-gap:35px}.footer-links a{display:block;font-size:16px;padding:5px 0;break-inside:avoid}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:35px;padding-top:22px;font-size:14px;color:var(--muted)}.breadcrumb{font-size:16px;padding-block:20px}.page-head{padding-block:38px 48px;max-width:1050px}.page-head h1{font-size:clamp(36px,4.5vw,61px)}.page-head .intro{font-size:23px;max-width:62ch}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:90px;padding-bottom:75px}.prose{max-width:800px}.prose section{margin-bottom:48px}.prose h2{font-size:32px}.prose h3{font-size:23px;margin-top:25px}.prose aside,.notice{padding:24px;background:var(--wash);border-radius:var(--radius);margin-block:25px}.topic-nav{align-self:start;background:var(--wash);border-radius:var(--radius);padding:25px}.topic-nav h2{font-size:21px}.topic-nav a{display:block;padding:8px 0;font-size:17px}.notice p:last-child{margin-bottom:0}.notice strong{display:block;margin-bottom:8px}.draft-banner{background:var(--wash);font-size:15px;padding:10px var(--space);text-align:center}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:65px}.job-form{max-width:850px}.job-form fieldset{border:0;margin:0 0 38px;padding:0}.job-form legend{font:500 26px var(--display);margin-bottom:22px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-weight:600;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;padding:12px 14px;border:1px solid #8296a2;border-radius:5px;color:var(--ink);background:var(--paper);min-height:48px}.field textarea{min-height:125px;resize:vertical}.field small{display:block;color:var(--muted);font-size:16px;margin-top:5px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border:2px solid var(--danger)}.error{color:var(--danger)}.status{padding:20px;background:var(--wash);margin-block:20px}.status:empty{display:none}.form-aside{background:var(--wash);padding:28px;border-radius:var(--radius);align-self:start}.form-aside h2{font-size:24px}details{border-bottom:1px solid var(--line);padding-block:20px}summary{cursor:pointer;font-weight:600}details p{margin-top:15px}.report-document{max-width:850px;background:var(--paper)}.report-document h1{font-size:38px}.report-document table{border-collapse:collapse;width:100%;margin-block:25px;font-size:17px}.report-document th,.report-document td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.concept-report{background:var(--wash);padding:65px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center;border-radius:12px}.concept-report h1{font-size:54px}.concepts-links{padding:20px;background:var(--wash);display:flex;gap:25px;flex-wrap:wrap}.concepts-links a{font-weight:600}.muted{color:var(--muted)}.print-only{display:none}
@media(max-width:1050px){.nav{gap:18px}.hero-top{gap:30px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.building-stage{padding:25px;gap:25px}.report-feature,.photo-section{gap:40px}.reading-layout{gap:40px}.form-layout{grid-template-columns:minmax(0,1fr) 250px;gap:30px}.concept-report{gap:35px;padding:35px}}
@media(max-width:800px){.menu-toggle{display:block}.masthead{flex-wrap:wrap}.nav{display:none;width:100%;align-items:stretch;flex-direction:column;gap:0}.nav.open{display:flex}.nav a{padding:12px}.hero{padding-top:28px}.hero-top{grid-template-columns:1fr;gap:25px}.hero-top h1{max-width:650px}.hero-top .intro{max-width:600px}.building-stage{grid-template-columns:1fr;gap:20px}.building-stage svg{max-height:350px;width:100%}.service-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.service-index a{font-size:17px}.section{padding-block:55px}.report-feature,.photo-section,.reading-layout,.form-layout,.concept-report{grid-template-columns:1fr}.report-feature{gap:35px}.photo-section{gap:30px}.photo-section img{aspect-ratio:1.6}.guides-grid{grid-template-columns:1fr;gap:20px}.guide-entry{max-width:650px}.close{display:block;padding:28px}.close .button{margin-top:25px}.footer-main{grid-template-columns:1fr;gap:30px}.footer-links{columns:2}.footer-bottom{display:block}.topic-nav{max-width:100%}.concept-report h1{font-size:40px}.report-preview{padding:25px}}
@media(max-width:450px){body{font-size:18px}.brand{width:260px}.masthead{column-gap:12px}.menu-toggle{margin-left:auto}.site-header{padding-block:20px}.menu-toggle{padding:10px;font-size:15px}.service-index{grid-template-columns:1fr}.hero h1{font-size:37px}.building-stage{padding:18px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.report-sheet{padding:22px}.report-preview{padding:18px}.footer-links{columns:1}.concept-report{padding:25px}.page-head{padding-top:25px}.page-head .intro{font-size:21px}.actions{align-items:stretch;flex-direction:column}.actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{body{font-size:11pt;color:#000}.site-header,.site-footer,.breadcrumb,.topic-nav,.draft-banner,.actions,.concepts-links,.no-print{display:none!important}.wrap{padding:0;max-width:none}.page-head{padding:0 0 15px}.page-head h1{font-size:25pt}.reading-layout{display:block;padding:0}.prose{max-width:none}.prose section{margin-bottom:20px}h2,.prose h2{font-size:18pt;break-after:avoid}h3{break-after:avoid}p,li{orphans:2;widows:2}.print-only{display:block}.report-document{max-width:none}.report-document table{font-size:10pt}.notice{padding:12px}.report-document h1{font-size:24pt}@page{size:A4;margin:18mm}}
.nav a.button{color:var(--paper)}
.field select[aria-invalid=true]{border:2px solid var(--danger)}
@media print{.report-document figure{break-inside:avoid}.report-document section{break-inside:avoid}.report-document table{table-layout:fixed}.report-document th:first-child{width:25%}}
.job-form,.job-form fieldset,.report-document{min-width:0}
.job-form input[type=file]{max-width:100%;font-size:16px}
.report-document table{table-layout:fixed;overflow-wrap:anywhere}
@media(max-width:450px){.report-document th,.report-document td{padding:8px 5px;font-size:14px}.report-document figure{margin-inline:0}}

@media(max-width:1050px){.site-header .menu-toggle{display:block}.site-header .masthead{flex-wrap:wrap}.site-header .nav{display:none;width:100%;align-items:stretch;flex-direction:column;gap:0}.site-header .nav.open{display:flex}.site-header .nav a{padding:12px}}
@media print{.document-brand{padding:0;margin-bottom:18px}.document-brand img{width:260px}}

.endorsed-identity{flex-shrink:0;max-width:100%}.brand-endorsement{display:block;width:fit-content;margin-top:9px;font-size:16px;line-height:1.4;color:var(--ink);text-decoration:none}.service-endorsement{font-size:18px;color:var(--muted);margin-bottom:28px}.footer-bottom p:last-child{max-width:70ch}

.case-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:28px}.case-photos figure{margin:0;min-width:0}.case-photos img{display:block;width:100%;height:auto;border-radius:8px}.case-reference{margin-top:24px}@media(max-width:650px){.case-photos{grid-template-columns:1fr}}

/* Keep navigation usable when scripting is unavailable. */
.site-header .menu-toggle[hidden]{display:none}
@media(max-width:1050px){html:not(.js) .site-header .nav{display:flex}}
.reading-layout>*{min-width:0}
.prose,.topic-nav{overflow-wrap:anywhere}
/* Let enlarged navigation text reflow instead of clipping the call button. */
.site-header .masthead{flex-wrap:wrap}
.site-header .nav{flex-wrap:wrap;max-width:100%}
