/* ECS theme using Fluent 2 layout, typography and interaction guidance. */
:root{--brand:#245bcc;--brand-hover:#1d49a3;--brand-pressed:#173c85;--navy:#17324d;--fg:#263238;--muted:#526471;--surface:#fff;--surface-alt:#f3f5f7;--stroke:#d1dbe3;--stroke-strong:#889baa;--error:#b10e1e;--radius:4px;--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s20:20px;--s24:24px;--s32:32px;--s40:40px;--s48:48px;--s56:56px;--font:'Segoe UI',-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--surface);color:var(--fg);font:400 16px/24px var(--font)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--navy);outline-offset:4px;box-shadow:0 0 0 2px #fff}a,button,summary,input,textarea{transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.wrap{width:100%;max-width:1248px;margin:auto;padding-inline:var(--s40)}header{position:sticky;top:0;z-index:10;background:#fffffff5;border-bottom:1px solid var(--stroke);backdrop-filter:blur(12px)}nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:var(--s24)}.brand{display:flex;align-items:center;gap:var(--s16);color:var(--navy);flex-shrink:0}.brand strong{font-size:40px;font-weight:600;line-height:52px;letter-spacing:-1px;border-right:1px solid var(--stroke);padding-right:var(--s16)}.brand>span{font-size:12px;line-height:16px;font-weight:600;letter-spacing:0;text-transform:none}.brand strong span{color:var(--brand)!important;font-size:40px!important;letter-spacing:0!important}.links{display:flex;align-items:center;gap:var(--s16);font-size:14px;line-height:20px}.links>a:not(.btn){min-height:44px;display:flex;align-items:center;padding:var(--s8);border-radius:var(--radius)}.links>a:not(.btn):hover{background:var(--surface-alt);color:var(--brand)}.links>a:not(.btn):active{background:#e3e9ef}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s12);min-height:44px;padding:var(--s12) var(--s20);background:var(--brand);border:1px solid var(--brand);border-radius:var(--radius);color:#fff;font:600 16px/22px var(--font);cursor:pointer;text-align:center}.btn:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn:active{background:var(--brand-pressed);border-color:var(--brand-pressed)}.btn.secondary{color:var(--navy);background:#fff;border-color:var(--stroke-strong)}.btn.secondary:hover{background:#edf2fc;border-color:#637d93}.btn.secondary:active{background:#dce6fa;border-color:var(--navy)}button:disabled,input:disabled,textarea:disabled,select:disabled{background:#f0f0f0;color:#767676;border-color:#d1d1d1;cursor:not-allowed;box-shadow:none}.eyebrow{color:var(--brand);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0;text-transform:none;margin-bottom:var(--s16)}h1,h2,h3{color:var(--navy);font-weight:600;letter-spacing:0;margin:0 0 var(--s24)}h1{font-size:40px;line-height:52px}h1 em{display:block;font-style:normal;color:var(--brand)}h2{font-size:32px;line-height:40px}h3{font-size:24px;line-height:32px;margin-bottom:var(--s16)}p{margin:0 0 var(--s16);max-width:66ch}p:last-child{margin-bottom:0}.muted{color:var(--muted)}.hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--s48);align-items:center;padding-block:var(--s56)}.lead{font-size:20px;line-height:28px;color:var(--muted);max-width:52ch}.actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--s16);margin-top:var(--s32)}.micro{font-size:14px;line-height:20px;color:var(--muted);margin-top:var(--s16)}.terrain{height:504px;position:relative;background:var(--navy);overflow:hidden;border:1px solid #bccdd9;border-radius:8px}.terrain svg{width:100%;height:100%;position:absolute;inset:0}.map-head{position:absolute;top:var(--s20);left:var(--s24);right:var(--s24);display:flex;justify-content:space-between;gap:var(--s16);font-size:12px;line-height:16px;color:#d9e7ef}.map-caption{position:absolute;bottom:var(--s16);left:var(--s24);color:#d9e7ef;font-size:12px;line-height:16px}.map-note{position:absolute;bottom:var(--s48);left:var(--s24);right:var(--s24);background:#17324df2;border:1px solid #668699;border-radius:var(--radius);padding:var(--s24)}.map-note .tag{font-size:14px;line-height:20px;color:#c7dfe9}.map-note h3{color:#fff;margin-block:var(--s12) var(--s16)}.map-note div:last-child{display:flex;justify-content:space-between;font-size:14px;line-height:20px;color:#d9e7ef}.dot{display:inline-block;width:8px;height:8px;background:#aec5ff;border-radius:50%;margin-right:var(--s8)}.strip{border-block:1px solid var(--stroke);padding-block:var(--s20);background:#f8fafb}.strip .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s16) var(--s24);font-size:14px;line-height:20px;color:var(--navy)}.section{padding-block:calc(var(--s40)*2)}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s56)}.problem-list{border-top:1px solid var(--stroke)}.problem-list>div{display:flex;gap:var(--s24);padding-block:var(--s20);border-bottom:1px solid var(--stroke)}.num{font-size:14px;line-height:24px;font-weight:600;color:var(--brand)}.light,.guide-section{background:var(--surface-alt)}.intro{max-width:720px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s32);margin-top:var(--s40)}.step{border-top:1px solid #b9c9d5;padding-top:var(--s24)}.step>b{display:block;font-size:14px;line-height:20px;font-weight:600;color:var(--brand);margin-bottom:var(--s16)}.step p{color:var(--muted)}.offer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s48);padding:var(--s40);margin-top:var(--s40);border:1px solid var(--stroke);border-radius:8px;background:#fff;box-shadow:0 2px 4px #17324d0a}.offer .btn{margin-top:var(--s8)}.offer-foot{font-size:14px;line-height:20px;color:var(--muted);margin-top:var(--s24)}.ticks{list-style:none;padding:0;margin:0}.ticks li{position:relative;padding:var(--s12) 0 var(--s12) var(--s32);border-bottom:1px solid var(--stroke)}.ticks li:before{content:'✓';position:absolute;left:0;color:var(--brand);font-weight:600}.workspace{align-self:start;border:1px solid #bccdd9;border-radius:8px;background:var(--navy);padding:var(--s24);color:#e4edf3}.workbar{display:flex;justify-content:space-between;gap:var(--s16);border-bottom:1px solid #4d6b82;padding-bottom:var(--s16);margin-bottom:var(--s8);font-size:14px;line-height:20px}.row{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--s16);padding-block:var(--s16);border-bottom:1px solid #4d6b82;font-size:14px;line-height:20px}.status{color:#aec5ff;text-align:right}.status.green{color:#b7cfff}.ems-label{font-size:14px;line-height:20px;color:#cddee8;margin-top:var(--s16)}.features,.guide-principles{display:flex;flex-wrap:wrap;gap:var(--s12) var(--s24);margin-top:var(--s24);font-size:14px;line-height:20px;color:var(--muted)}.features span,.guide-principles span{padding:0;border:0;background:transparent}.guide-profile{border-left:2px solid var(--brand);padding-left:var(--s32)}.guide-profile h3{font-size:28px;line-height:36px}.checklist-section{padding-block:var(--s48);background:#eef2fa;border-block:1px solid #ccd7eb}.checklist-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s40);align-items:center}.checklist-inner h2{font-size:28px;line-height:36px;margin-bottom:var(--s16)}.faq{max-width:864px;margin:auto}details{border-bottom:1px solid var(--stroke)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s24);min-height:64px;padding:var(--s20) var(--s12);font-size:20px;line-height:26px;border-radius:var(--radius)}summary::-webkit-details-marker{display:none}summary:after{content:'+';color:var(--brand);font-size:24px;flex-shrink:0}details[open] summary:after{content:'−'}summary:hover{background:var(--surface-alt)}summary:active{background:#e3e9ef}details[open] summary{background:#eef2fa}details p{padding:var(--s16) var(--s12) var(--s24);color:var(--muted);max-width:76ch}.contact{background:var(--navy);color:#fff}.contact h2,.contact .eyebrow{color:#fff}.contact .muted,.contact .micro{color:#d2e0e9}.contact a:focus-visible,.contact button:focus-visible{outline-color:#fff;box-shadow:0 0 0 2px var(--navy)}form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s24)}label{display:block;font-size:14px;line-height:20px;font-weight:600;color:#e0eaf1}input,textarea,select{display:block;margin-top:var(--s8);width:100%;min-width:0;min-height:44px;border:1px solid #a8bac8;border-bottom:2px solid #698397;background:#fff;color:var(--fg);padding:var(--s12);border-radius:var(--radius);font-size:16px;line-height:24px}input:hover,textarea:hover,select:hover{border-color:#e1ebf3;border-bottom-color:#17324d}input:focus,textarea:focus,select:focus{outline:2px solid #adc6ff;outline-offset:2px;border-bottom-color:var(--brand)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{resize:vertical;min-height:120px}.full{grid-column:1/-1}.form-help{font-size:14px;line-height:20px;color:#d2e0e9}.required-mark{color:#ffd0d5}.field-error{display:block;font-weight:400;font-size:14px;line-height:20px;color:#ffd0d5;margin-top:var(--s8)}[aria-invalid=true]{border-color:#ffb7bf;border-bottom-color:#b10e1e}.form-status{font-size:14px;line-height:20px;color:#cfdcff}.contact .btn.secondary{background:transparent;color:#fff;border-color:#a2b9c9}.contact .btn.secondary:hover{background:#2c506a}.contact .btn.secondary:active{background:#3b607b}form .micro{margin:0}footer{background:var(--surface-alt);padding-block:var(--s32)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--s24)}footer p{font-size:14px;line-height:20px;color:var(--muted);margin:0}.skip{position:absolute;top:-100px;left:var(--s16);background:var(--brand);color:#fff;padding:var(--s12);z-index:20}.skip:focus{top:var(--s8)}
@media(max-width:1000px){.wrap{padding-inline:var(--s24)}.links{gap:var(--s8)}.links>a:not(.btn){display:none}.hero,.split{gap:var(--s32)}.offer{gap:var(--s32);padding:var(--s32)}}
@media(max-width:700px){html{scroll-padding-top:96px}nav{min-height:80px;gap:var(--s16)}.brand{gap:var(--s12)}.brand strong{font-size:32px;line-height:40px;padding-right:var(--s12)}.brand>span{font-size:12px;line-height:16px}.links .btn{font-size:14px;line-height:20px;padding:var(--s8) var(--s12)}.links .btn span{display:none}.hero{grid-template-columns:1fr;gap:var(--s32);padding-block:var(--s40)}h1{font-size:32px;line-height:40px}h2{font-size:28px;line-height:36px}.lead{font-size:16px;line-height:24px}.terrain{height:360px}.section{padding-block:var(--s48)}.split,.offer,.steps,.checklist-inner{grid-template-columns:1fr;gap:var(--s32)}.steps,.offer{margin-top:var(--s32)}.offer{padding:var(--s24)}.checklist-inner .btn{justify-self:start}.strip .wrap{justify-content:flex-start}.footer-inner{flex-direction:column;align-items:flex-start}.guide-profile{padding-left:var(--s24)}form{grid-template-columns:1fr}.form-help,.full{grid-column:1}summary{font-size:16px;line-height:24px}.actions{align-items:stretch}.actions .btn{width:100%}}
@media(max-width:400px){.wrap{padding-inline:var(--s16)}.brand>span{max-width:96px}.brand strong{padding-right:var(--s8)}nav{gap:var(--s8)}.links .btn{max-width:104px}.map-head{font-size:12px;gap:var(--s8)}.map-head span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media(forced-colors:active){.btn{border:1px solid ButtonText}.btn:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid Highlight}.dot{background:CanvasText}input:focus,textarea:focus{outline:2px solid Highlight}}

/* Approved ECS logo: original artwork, displayed without its surrounding margins. */
.brand-logo{display:block;flex-shrink:0;width:248px}
.brand-logo .logo-window{display:block;position:relative;overflow:hidden;width:100%;max-width:none;aspect-ratio:1420/520;font-size:0}
.brand-logo img{position:absolute;display:block;width:136.479%;height:auto;max-width:none;left:-19.014%;top:-25%}
header nav{min-height:112px}html{scroll-padding-top:128px}footer{background:#fff}
@media(max-width:700px){.brand-logo{width:208px}header nav{min-height:96px}html{scroll-padding-top:112px}}
@media(max-width:400px){.brand-logo{width:184px}.brand-logo .logo-window{max-width:none}header nav{gap:8px}}

/* Selected homepage image: retain both people and the completed report. */
.hero-photo{width:100%;overflow:hidden;border-radius:8px;border:1px solid var(--stroke);background:var(--surface-alt)}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2}

/* Analytics is opt-in and limited to the public marketing page. */
.analytics-consent{position:fixed;z-index:30;left:24px;right:24px;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:960px;margin:auto;padding:20px 24px;background:#fff;border:1px solid var(--stroke);border-radius:8px;box-shadow:0 12px 36px #17324d26}
.analytics-consent strong{display:block;color:var(--navy);font-size:18px;line-height:24px;margin-bottom:4px}
.analytics-consent p{margin:0;color:var(--muted);font-size:14px;line-height:20px}
.analytics-consent-actions{display:flex;gap:12px;flex-shrink:0}
.analytics-preferences{position:fixed;z-index:30;right:16px;bottom:16px;min-height:40px;padding:8px 12px;border:1px solid var(--stroke-strong);border-radius:4px;background:#fff;color:var(--navy);font:600 14px/20px var(--font);box-shadow:0 4px 14px #17324d1a;cursor:pointer}
.analytics-preferences:hover{background:var(--surface-alt)}
@media(max-width:700px){.analytics-consent{left:12px;right:12px;bottom:12px;align-items:stretch;flex-direction:column;padding:20px}.analytics-consent-actions{display:grid;grid-template-columns:1fr 1fr}.analytics-consent-actions .btn{width:100%}}

/* Retain the approved geological symbol, with the current brand in live text. */
.brand-logo{display:flex;align-items:center;gap:12px;width:248px}
.brand-logo .brand-symbol{display:block;flex:0 0 56px;width:56px;height:66px;background:url('/assets/ecs-logo.png') no-repeat;background-size:271.32px 113.54px;background-position:-40.32px -20.58px}
.brand-logo .wordmark{font-size:25px;line-height:1.08;font-weight:700;letter-spacing:-.5px;max-width:none;color:var(--navy)}
@media(max-width:700px){.brand-logo{width:208px}.brand-logo .wordmark{font-size:22px}}
@media(max-width:400px){.brand-logo{width:184px;gap:8px}.brand-logo .wordmark{font-size:20px;max-width:none}.brand-logo .brand-symbol{flex-basis:48px;width:48px;height:57px;background-size:232.56px 97.32px;background-position:-34.56px -17.64px}}

.footer-links{min-height:0;display:flex;flex-wrap:wrap;gap:16px}.footer-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);font-size:14px}
