/* Shared layout based on the approved GEO-MIC service proposal. */
:root{--bg:#0c0a08;--surface:#141110;--text:#ede8e3;--muted:#a79c94;--gold:#d4a043;--line:rgba(212,160,67,.2);--sans:'DM Sans',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif}
        *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--bg);font:400 16px/1.7 var(--sans)}a{color:inherit}a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button,input,textarea{font:inherit}p,h1,h2,h3{margin:0}em{font-weight:400}svg{display:block}::selection{color:var(--bg);background:var(--gold)}
.skip-link{position:absolute;top:8px;left:20px;z-index:10;padding:10px 18px;background:var(--gold);color:var(--bg);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
main{overflow-wrap:break-word}section[id]{scroll-margin-top:24px}
.hero>*,.split>*,.prepare>*,.contact>*{min-width:0}
.wrap{width:min(1216px,calc(100% - 96px));margin:auto}
.nav{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}
.brand img{object-fit:contain;width:108px;height:70px}
.brand svg{width:37px;height:44px;color:var(--gold)}
.brand strong{font-size:25px;font-weight:600;letter-spacing:.1em;line-height:1.1}
.brand small{display:block;font-size:8px;letter-spacing:.25em;color:var(--gold);margin-top:5px}
.nav-links{display:flex;align-items:center;gap:29px;font-size:13px;color:var(--muted)}
.nav-links a{text-decoration:none}
.nav-links a:hover{color:var(--gold)}
.nav-contact{border-bottom:1px solid var(--gold);padding-bottom:3px;color:var(--text)}
        .crumb{font-size:11px;color:var(--muted);margin:30px 0 48px;display:flex;gap:10px;flex-wrap:wrap}
.crumb a{text-decoration:none}
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px 12px;margin:0;padding:0}
.crumb li{display:flex;gap:12px;align-items:baseline}
.crumb li+li:before{content:'/';color:var(--gold)}
.crumb [aria-current]{color:var(--text)}
.hero{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:64px;align-items:center;padding-bottom:72px}
.eyebrow{color:var(--gold);font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:22px}
.eyebrow:before{content:'';height:1px;width:27px;background:var(--gold)}h1{font:400 clamp(44px,5.1vw,68px)/1.04 var(--serif);letter-spacing:-.025em;max-width:560px}h1 em{color:var(--gold)}
.lead{font-size:16px;color:var(--muted);max-width:510px;line-height:1.85;margin:25px 0 30px}
.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:14px 23px;border:1px solid var(--gold);border-radius:9px;color:var(--bg);background:var(--gold);font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}
.btn:hover{background:#e1b35f}
.btn:active{transform:translateY(1px)}
.call{font-size:12px;color:var(--muted);text-decoration:none;line-height:1.5}
.call strong{display:block;font-weight:500;color:var(--text);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}
.coverage{font-size:11px;color:var(--muted);margin-top:26px;display:flex;gap:9px;align-items:center}
.coverage:before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold)}
        .map{margin:0;background:var(--surface);position:relative;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.map-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.map-head b{font-weight:500;color:var(--gold)}
.map-head>span{flex-shrink:0;white-space:nowrap}
.map-art{width:100%;height:auto}
.map-caption{font-size:10px;color:var(--muted);padding:15px 20px;border-top:1px solid var(--line);line-height:1.6}
.intro-strip{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:100px}
.intro-strip div{padding:27px 25px;border-left:1px solid var(--line)}
.intro-strip div:first-child{padding-left:0;border-left:0}
.intro-strip span{display:block;font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}
.intro-strip strong{font-size:14px;font-weight:500}
        .section{padding-bottom:100px}
.split{display:grid;grid-template-columns:.85fr 1.35fr;gap:90px}h2{font:400 clamp(34px,3.5vw,47px)/1.13 var(--serif);letter-spacing:-.01em}h2 em{color:var(--gold)}
.section-intro{font-size:14px;color:var(--muted);margin-top:22px;max-width:350px}
.scope-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.scope-list li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}
.number{font-size:10px;color:var(--gold);padding-top:7px;font-variant-numeric:tabular-nums}h3{font:400 25px/1.2 var(--serif);margin-bottom:10px}
.scope-list p{font-size:13px;color:var(--muted);line-height:1.8}
.aside-note{border-left:1px solid var(--gold);padding-left:16px;font-size:11px;color:var(--muted);margin-top:27px}
        .process-band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:73px 0 80px;margin-bottom:100px}
.process-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}
.process-top p{color:var(--muted);font-size:13px;max-width:290px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;counter-reset:step}
.step{border-top:1px solid #615039;padding-top:19px;counter-increment:step}
.step:before{content:'0' counter(step);display:block;color:var(--gold);font-size:11px;margin-bottom:24px}
.step h3{font-size:24px}
.step p{color:var(--muted);font-size:12px;line-height:1.8}
        .factors{list-style:none;padding:0;margin:0}
.factors li{display:grid;grid-template-columns:135px minmax(0,1fr);gap:22px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}
.factors li:first-child{padding-top:0}
.factors strong{font-weight:500;color:var(--text)}
.factors span{color:var(--muted)}
.timing{margin-top:28px;font-size:12px;color:var(--muted)}
.timing strong{font-weight:500;color:var(--text)}
        .prepare{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:50px;border:1px solid var(--line);background:var(--surface);border-radius:4px;margin-bottom:100px}
.prepare .section-intro{max-width:380px}
.checklist{list-style:none;padding:0;margin:0;align-self:center}
.checklist li{display:flex;gap:17px;align-items:baseline;font-size:13px;padding:12px 0;border-bottom:1px solid var(--line)}
.checklist li:before{content:'+';color:var(--gold);font-size:15px}
.prepare-note{font-size:11px;color:var(--muted);margin-top:18px}
        .contact{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center;border-top:1px solid var(--line);padding:62px 0 72px}
.contact h2{max-width:480px}
.contact p{color:var(--muted);font-size:13px;margin-top:21px;max-width:420px}
.contact-details{padding-left:52px;border-left:1px solid var(--line)}
.contact-details>a{display:block;text-decoration:none}
.phone-large{font:400 37px/1.2 var(--serif);margin-bottom:11px}
.email{font-size:13px;color:var(--muted);margin-bottom:25px}
.contact-details .btn{display:inline-flex}
.contact .appointment{font-size:11px;line-height:1.7}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}
.faq-list summary{cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:18px;list-style:none;font-size:14px;line-height:1.6}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';color:var(--gold);font-size:20px;line-height:1;flex-shrink:0}
.faq-list details[open] summary:after{content:'−'}
.faq-list summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.faq-list p{font-size:13px;color:var(--muted);margin-top:17px;line-height:1.85}
.guide-link{display:inline-block;font-size:12px;color:var(--gold);margin-top:23px;text-underline-offset:5px}
.related-services{padding:8px 0 55px}
.related-services h2{font:500 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:20px}
.related-services>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.related-services a{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:17px;font-size:13px;text-decoration:none}
.related-services a span{color:var(--gold);flex-shrink:0}
.related-services a:hover,.crumb a:hover{color:var(--gold)}
.footer{padding:23px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:10px;color:var(--muted)}
.footer a{text-decoration:none}
.footer span:last-child{color:#c2aa7e}
        @media(max-width:1000px){.wrap{width:calc(100% - 56px)}
.hero{gap:35px}
.split{gap:45px}
.nav-links{gap:20px}
.prepare{gap:35px;padding:32px}
.steps{gap:24px}
.contact{gap:40px}
.contact-details{padding-left:30px}}
        @media(max-width:760px){.wrap{width:calc(100% - 40px)}
.nav{min-height:90px}
.nav-links a:not(.nav-contact){display:none}
.nav-links{font-size:12px}
.brand strong{font-size:21px}
.brand svg{width:29px}
.brand small{font-size:7px}
.crumb{margin:25px 0 35px;font-size:10px}
.hero{grid-template-columns:1fr;gap:38px;padding-bottom:45px}
.hero h1{max-width:560px}
.map{max-width:520px}
.lead{font-size:15px}
.intro-strip{grid-template-columns:1fr;margin-bottom:64px}
.intro-strip div{padding:17px 0;border-left:0;border-top:1px solid var(--line)}
.intro-strip div:first-child{border-top:0}
.intro-strip span{margin-bottom:3px}
.intro-strip strong{font-size:13px}
.split{grid-template-columns:1fr;gap:30px}
.section{padding-bottom:64px}
.section-intro{max-width:100%}
.process-band{padding:48px 0;margin-bottom:64px}
.process-top{display:block;margin-bottom:28px}
.process-top p{margin-top:18px;max-width:100%}
.steps{grid-template-columns:1fr 1fr;gap:28px}
.step:before{margin-bottom:15px}
.prepare{grid-template-columns:1fr;padding:27px 23px;gap:23px;margin-bottom:64px}
.contact{grid-template-columns:1fr;gap:32px;padding:44px 0 50px}
.contact-details{padding-left:0;border-left:0}
.contact .actions{gap:20px}
.eyebrow{margin-bottom:17px;font-size:10px}
.footer{align-items:flex-start;flex-direction:column}
.related-services>div{grid-template-columns:1fr;gap:18px}
.factors li{grid-template-columns:100px minmax(0,1fr);gap:16px}}
        @media(max-width:390px){.nav-contact{max-width:76px;line-height:1.5}
.hero h1{font-size:clamp(36px,11vw,43px);overflow-wrap:anywhere}
.actions{gap:20px}
.hero .btn{gap:20px;padding:13px 17px}
.steps{grid-template-columns:1fr}
.factors li{grid-template-columns:1fr;gap:3px}
.brand{gap:8px}
.brand strong{font-size:19px}}
        @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
