@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

.relaunch-home,.relaunch-report{--ink:#0D1B2A;--ink-deep:#0A1622;--surface:#12243A;--line:#22384F;--text:#F4F6F5;--text-2:#D6DBDF;--muted:#A9B1B8;--mint:#31D59F;--mint-hover:#5BE0B4;--amber:#E3B341;--paper:#F5F3EE;background:var(--ink);color:var(--text);font-family:'IBM Plex Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px}
.relaunch-home h1,.relaunch-home h2,.relaunch-home h3,.relaunch-report h1,.relaunch-report h2,.relaunch-report h3{font-family:'IBM Plex Sans',Arial,sans-serif;font-weight:600;letter-spacing:-.025em;text-wrap:balance}
.relaunch-home p,.relaunch-report p{line-height:1.55}
.relaunch-home .eyebrow,.relaunch-report .eyebrow,.relaunch-home .mini-label,.relaunch-report .mini-label{font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.5;font-weight:500;letter-spacing:.12em;color:var(--mint)}
.relaunch-home a:focus-visible,.relaunch-report a:focus-visible,.relaunch-home button:focus-visible,.relaunch-report button:focus-visible{outline-color:var(--mint)}
.relaunch-container{width:min(1200px,calc(100% - 40px));margin-inline:auto}
.relaunch-home .header,.relaunch-report .header{height:76px;padding:0 max(20px,calc((100% - 1200px)/2));gap:30px;border-color:var(--line);background:var(--ink);color:var(--text)}
.relaunch-home .header{position:absolute;top:0;left:0;right:0;background:rgba(10,22,34,.74);border-bottom-color:#ffffff30}
.relaunch-report .header{position:relative}
.relaunch-home .header .brand,.relaunch-report .header .brand{display:flex;flex:none;align-items:center}
.relaunch-home .brand img,.relaunch-report .brand img{display:block;height:30px;width:auto}
.relaunch-home .header nav,.relaunch-report .header nav{display:flex;gap:28px;margin-left:auto;font-size:15px}
.relaunch-home .header nav a:hover,.relaunch-report .header nav a:hover,.relaunch-report .header nav a[aria-current=page]{color:var(--mint)}
.relaunch-home .button,.relaunch-report .button{background:var(--mint);border-color:var(--mint);border-radius:4px;color:var(--ink);font-size:16px;font-weight:600;min-height:48px;padding:13px 22px;gap:16px;box-shadow:none;transform:none}
.relaunch-home .button:hover,.relaunch-report .button:hover{background:var(--mint-hover);border-color:var(--mint-hover);transform:none}
.relaunch-home .button.small,.relaunch-report .button.small{font-size:15px;min-height:44px;padding:10px 18px}
.relaunch-home .button.secondary{background:transparent;border-color:var(--line);color:var(--text)}
.relaunch-home .button.secondary:hover{background:var(--surface)}
.relaunch-home .button span,.relaunch-report .button span{font-size:18px}
.relaunch-text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--mint);text-decoration:underline;text-underline-offset:5px;font-size:16px;font-weight:500;background:none;border:0;padding:8px 0}
.relaunch-text-link:hover{color:var(--mint-hover)}
.relaunch-home .skip,.relaunch-report .skip{background:var(--mint);color:var(--ink)}

.relaunch-hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(640px,94svh,880px);overflow:hidden;background:var(--ink-deep)}
.relaunch-map-stage{position:absolute;inset:0;overflow:hidden;background:var(--ink-deep)}
.relaunch-map-stage .coordinate-map{background:linear-gradient(140deg,#1e3b43,#0A1622 70%);z-index:1}
.relaunch-map-stage .coordinate-map svg text{display:none}
.relaunch-map-stage #hero-map{z-index:2}
.relaunch-map-stage .hero-veil{position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(10,22,34,.94) 0%,rgba(10,22,34,.73) 39%,rgba(10,22,34,.33) 72%,rgba(10,22,34,.29) 100%),linear-gradient(0deg,rgba(10,22,34,.57),transparent 55%)}
.hero-map-label{position:absolute;z-index:4;top:96px;right:20px;color:#f4f6f5;background:rgba(10,22,34,.8);border:1px solid #ffffff30;border-radius:3px;padding:8px 10px;font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.06em}.hero-map-label span{color:var(--mint)}
.hero-map-credit{position:absolute;z-index:6;right:12px;bottom:36px;color:var(--text);background:rgba(10,22,34,.92);border:1px solid #ffffff50;border-radius:3px;padding:5px 8px;font-size:11px;pointer-events:auto}.hero-map-credit a{text-decoration:underline;text-underline-offset:2px}
.hero-map-credit[hidden]{display:none}
.relaunch-map-stage .mapboxgl-ctrl-attrib{background:rgba(10,22,34,.72)!important;color:#fff!important}
.relaunch-map-stage .mapboxgl-ctrl-attrib a{color:#fff!important}
.hero-content{position:relative;z-index:5;padding-top:150px;padding-bottom:58px;pointer-events:none}
.hero-content>*{pointer-events:none}
.hero-content a{pointer-events:auto}
.hero-content .eyebrow{margin-bottom:20px;max-width:680px}
.hero-content h1{max-width:800px;font-size:clamp(40px,6.4vw,76px);line-height:1.02;margin:0 0 26px}
.hero-intro{max-width:630px;font-size:clamp(17px,1.6vw,20px);color:var(--text-2);margin:0 0 26px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px}
.hero-actions .relaunch-text-link{color:var(--text)}
.hero-footnote{font-size:13px;color:var(--text-2);margin:28px 0 0;max-width:620px}
.relaunch-home .map-status{position:static;max-width:620px;color:var(--text);font-size:13px;min-height:0;margin:8px 0 0}
.relaunch-home .map-status:empty{display:none}

.relaunch-section{padding-block:clamp(72px,9vw,120px)}
.relaunch-section-heading{max-width:790px;margin-bottom:40px}
.relaunch-section-heading .eyebrow{margin-bottom:13px}
.relaunch-section-heading h2,.clarity-section h2,.report-limits h2{font-size:clamp(30px,3.6vw,44px);line-height:1.1;margin:0 0 18px}
.relaunch-section-heading>p:last-child{color:var(--text-2);font-size:17px;max-width:680px;margin:0}
.deliverables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.deliverable{background:var(--ink);min-width:0}
.deliverable-visual{position:relative;height:220px;border-bottom:1px solid var(--line);overflow:hidden}
.deliverable-copy{padding:24px}.card-index{font:500 12px 'IBM Plex Mono',monospace;color:var(--mint)}
.deliverable h3{font-size:20px;margin:8px 0 10px}.deliverable p{font-size:15px;color:var(--muted);margin:0}
.visual-map{background:#172e3e}.visual-map-grid,.illustration-grid,.roof-grid{position:absolute;inset:0;background-image:linear-gradient(#6b879a25 1px,transparent 1px),linear-gradient(90deg,#6b879a25 1px,transparent 1px);background-size:40px 40px;transform:rotate(-8deg) scale(1.2)}
.visual-map-route{position:absolute;left:11%;top:40%;width:85%;height:3px;transform:rotate(-18deg);background:#456775;box-shadow:0 25px 0 #456775}
.visual-pin{position:absolute;width:16px;height:16px;border:2px solid var(--mint);border-radius:50%;background:#31d59f55;box-shadow:0 0 0 8px #31d59f18}.visual-pin.one{left:27%;top:48%}.visual-pin.two{left:61%;top:33%}.visual-pin.three{left:76%;top:67%}
.visual-map small{position:absolute;left:20px;bottom:17px;font:500 11px 'IBM Plex Mono',monospace;color:var(--text-2)}
.visual-report{background:var(--paper);padding:20px 30px;color:var(--ink)}.mini-report{background:white;border:1px solid #d8ddd9;height:260px;padding:17px 20px;display:flex;flex-direction:column;gap:9px}.mini-report>span,.mini-report small{font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.09em;color:#52606D}.mini-report strong{max-width:270px;font-size:17px;line-height:1.2}.mini-report i{display:block;width:85%;height:8px;background:#dfe8e3}.mini-report i:nth-of-type(2){width:64%;background:#b4e9d2}.mini-report i:nth-of-type(3){width:75%;background:#eadcb7}.mini-report small{margin-top:auto}
.visual-sheet{background:var(--surface);padding:20px 25px}.mini-sheet{display:flex;flex-direction:column;max-width:340px;margin:auto}.mini-sheet>span{font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.12em;color:var(--muted);margin-bottom:12px}.mini-sheet>div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.mini-sheet b{font:500 10px 'IBM Plex Mono',monospace;color:var(--muted);text-align:right}

.clarity-section{background:var(--paper);color:var(--ink);padding-block:clamp(72px,9vw,120px)}
.clarity-section .eyebrow{color:#0E7A59}.clarity-section .relaunch-section-heading>p:last-child{color:#44515E}
.clarity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:30px}
.clarity-grid article{background:#fff;border:1px solid #d9dcd6;border-radius:6px;padding:28px}.clarity-grid article:last-child{background:transparent;border-style:dashed;border-color:#8d9aa2}
.clarity-grid .mini-label{color:#0E7A59}.clarity-grid article:last-child .mini-label{color:#52606D}
.clarity-grid h3{font-size:21px;margin:12px 0 16px}.clarity-grid ul{list-style:none;padding:0;margin:0}
.clarity-grid li{padding:12px 0;border-top:1px solid #e3e5df;font-size:16px}
.levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#d9dcd6;border:1px solid #d9dcd6;border-radius:6px;overflow:hidden}
.levels>div{background:#fff;padding:21px}.levels p{color:#44515E;font-size:14px;margin:8px 0 0}
.level{display:inline-flex;align-items:center;gap:8px;font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.08em;white-space:nowrap}
.level:before{content:"";display:inline-block;width:10px;height:10px;background:currentColor}
.level.verified{color:#0E7A59}.level.observed{color:#0D1B2A}.level.estimated{color:#8A6412}.level.pending{color:#52606D}.level.pending:before{background:transparent;border:1.5px solid currentColor}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:42px 0 28px}
.steps article{border-top:2px solid var(--line);padding-top:20px}.steps article:first-child{border-color:var(--mint)}
.steps span{font:500 13px 'IBM Plex Mono',monospace;color:var(--mint)}.steps h3{font-size:19px;line-height:1.25;margin:15px 0 10px}.steps p{font-size:15px;color:var(--muted);margin:0}
.relaunch-contact{background:var(--ink-deep);border-top:1px solid var(--line);padding-block:clamp(72px,9vw,120px)}
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:55px;align-items:start}
.contact-intro h2{font-size:clamp(30px,3.6vw,44px);line-height:1.1;margin:0 0 20px}.contact-intro>p:not(.eyebrow){color:var(--muted);font-size:17px}
.relaunch-home form{background:var(--ink);border-color:var(--line);border-radius:6px;padding:30px}
.relaunch-home form h3{font-size:23px;margin-bottom:4px}.relaunch-home form>p{font-size:14px;color:var(--muted);margin-bottom:22px}
.relaunch-home form label{color:var(--text-2);font-size:14px;font-weight:500;margin-bottom:16px}
.relaunch-home input,.relaunch-home select,.relaunch-home textarea{background:var(--surface);border:1px solid #2E4A66;border-radius:4px;color:var(--text);font-size:16px;min-height:48px;margin-top:8px;padding:11px 13px}
.relaunch-home input::placeholder,.relaunch-home textarea::placeholder{color:#a9b1b8}
.relaunch-home input:focus,.relaunch-home select:focus,.relaunch-home textarea:focus{outline:2px solid var(--mint)}
.relaunch-home textarea{min-height:85px}.relaunch-home .optional{color:var(--muted)}
.form-bottom{display:flex;gap:20px;align-items:center;justify-content:space-between}
.form-bottom p{font-size:13px;color:var(--muted);margin:0;max-width:290px}
.form-bottom p a{text-decoration:underline;text-underline-offset:3px;color:var(--mint)}
.form-bottom .button{white-space:nowrap}
.relaunch-footer{border-top:1px solid var(--line);background:var(--ink);padding-block:30px;color:var(--muted);font-size:13px}
.relaunch-footer .relaunch-container{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.relaunch-footer img{height:22px;display:block}.relaunch-footer nav{display:flex;gap:20px;flex-wrap:wrap}.relaunch-footer a:hover{color:var(--mint)}
.relaunch-home dialog{background:var(--ink);color:var(--text);border-color:var(--line);border-radius:6px;box-shadow:0 30px 100px #0009}
.relaunch-home dialog::backdrop{background:#0a1622df}
.relaunch-home dialog .eyebrow{color:var(--mint)}.relaunch-home dialog p{color:var(--text-2)}
.relaunch-home dialog .close-dialog{background:var(--surface);color:var(--text);border-color:var(--line);border-radius:4px}
.relaunch-home #brief-preview{background:var(--surface);border-color:var(--line);color:var(--text);font:400 15px/1.6 'IBM Plex Sans',sans-serif}
.relaunch-home dialog .dialog-actions{margin-top:18px}.relaunch-home dialog .relaunch-text-link{margin-top:12px}

.relaunch-report .report-hero{padding-block:clamp(64px,8vw,100px) 36px}.report-hero .eyebrow{margin-bottom:18px}
.report-hero h1{font-size:clamp(38px,5.6vw,64px);line-height:1.04;max-width:850px;margin:0 0 20px}
.report-hero>p:not(.eyebrow){color:var(--text-2);font-size:18px;max-width:720px}
.report-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.report-chips span{border:1px solid var(--line);border-radius:3px;padding:8px 12px;color:var(--text-2);font:400 12px 'IBM Plex Mono',monospace}
.report-block{padding-block:clamp(44px,6vw,82px) 0}.report-block-heading{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:19px}.report-block-heading>span{font:500 13px 'IBM Plex Mono',monospace;color:var(--mint)}
.report-block-heading h2{font-size:clamp(24px,2.4vw,30px);margin:0}.report-block-heading p{font-size:14px;color:var(--muted);margin:0 0 0 auto;max-width:410px}
.report-illustration{height:clamp(340px,48vw,540px);position:relative;overflow:hidden;background:#142b3b;border:1px solid var(--line);border-radius:6px}
.illustration-grid{background-size:72px 72px}.illustration-area{position:absolute;inset:18% 19% 22% 18%;border:2px dashed #31d59f8a;border-radius:35% 55% 45% 25%;transform:rotate(-8deg);background:#31d59f0a}
.illustration-point{position:absolute;display:grid;place-items:center;width:42px;height:42px;background:#31d59f30;border:2px solid var(--mint);border-radius:50%;font:500 13px 'IBM Plex Mono',monospace;color:var(--text);box-shadow:0 0 0 12px #31d59f12}
.point-a{left:30%;top:37%}.point-b{left:57%;top:27%}.point-c{left:69%;top:62%}
.illustration-caption{position:absolute;left:20px;bottom:20px;background:#0A1622e8;border:1px solid var(--line);border-radius:3px;padding:10px 13px;display:flex;flex-direction:column;gap:3px}
.illustration-caption strong{font:500 12px 'IBM Plex Mono',monospace;color:var(--mint);letter-spacing:.1em}.illustration-caption span{font-size:13px;color:var(--text-2)}
.report-caption{font-size:13px;color:var(--muted);margin:12px 0 0}
.report-sample{border:1px solid var(--line);border-radius:6px;overflow:hidden}
.report-sample>header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 28px;border-bottom:1px solid var(--line)}
.report-sample h3{font-size:clamp(22px,2.4vw,28px);margin:7px 0 0}
.sample-status{font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:8px 10px;white-space:nowrap}
.sample-body{display:grid;grid-template-columns:1fr 1fr}.roof-panel{position:relative;min-height:460px;overflow:hidden;background:#172b38}
.roof-grid{background-size:45px 45px;transform:rotate(10deg) scale(1.3)}
.roof-shape{position:absolute;left:26%;top:22%;width:48%;height:42%;transform:rotate(-17deg);border:3px solid var(--mint);background:repeating-linear-gradient(90deg,#31d59f0a 0 24px,#31d59f28 25px 27px);box-shadow:0 0 0 12px #31d59f12}
.roof-label{position:absolute;left:20px;top:20px;font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.1em;color:var(--mint);background:#0a1622dc;padding:8px 10px}
.roof-panel p{position:absolute;left:20px;right:20px;bottom:20px;max-width:390px;font-size:13px;color:var(--text-2);background:#0a1622ec;border:1px solid var(--line);padding:10px 13px;margin:0}
.sample-data{padding:24px 28px;border-left:1px solid var(--line)}.sample-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.sample-metrics>div{background:var(--surface);padding:16px;display:flex;flex-direction:column;gap:6px}
.sample-metrics span{font:500 11px 'IBM Plex Mono',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.sample-metrics strong{font:500 27px 'IBM Plex Mono',monospace}.sample-metrics small{font:500 10px 'IBM Plex Mono',monospace;color:var(--muted)}
.sample-data dl{margin:20px 0}.sample-data dl>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.sample-data dt{color:var(--text-2)}.sample-data dd{margin:0;color:var(--muted);text-align:right}
.sample-data>p{font-size:13px;color:var(--muted);margin:0}
.report-levels{background:var(--line);border-color:var(--line)}.report-levels>div{background:var(--surface)}.report-levels p{color:var(--text-2)}
.report-levels .level.verified{color:var(--mint)}.report-levels .level.observed{color:var(--text)}.report-levels .level.estimated{color:var(--amber)}.report-levels .level.pending{color:var(--muted)}
.report-limits{margin-top:clamp(64px,8vw,104px);padding-block:clamp(56px,7vw,82px);background:var(--paper);color:var(--ink)}
.report-limits .eyebrow{color:#0E7A59}.report-limits h2{max-width:760px}.report-limits p:last-child{color:#44515E;font-size:17px;max-width:820px;margin:0}
.report-cta{padding-block:clamp(64px,8vw,104px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.report-cta h2{font-size:clamp(28px,3.6vw,40px);line-height:1.1;max-width:660px;margin:0}

@media(max-width:900px){
  .relaunch-home .header,.relaunch-report .header{padding-inline:20px}
  .relaunch-home .header nav,.relaunch-report .header nav{display:none}
  .relaunch-home .header-cta,.relaunch-report .header-cta{margin-left:auto}
  .hero-map-label{display:none}
  .relaunch-map-stage .hero-veil{background:linear-gradient(0deg,rgba(10,22,34,.97) 0%,rgba(10,22,34,.81) 33%,rgba(10,22,34,.4) 73%,rgba(10,22,34,.3) 100%)}
  .deliverables{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-layout{grid-template-columns:1fr}
  .report-block-heading p{margin-left:27px;flex-basis:100%}
}
@media(max-width:600px){
  .relaunch-home .header,.relaunch-report .header{height:70px}
  .relaunch-home .brand img,.relaunch-report .brand img{height:25px}
  .relaunch-home .button.small,.relaunch-report .button.small{font-size:13px;padding:10px 12px}
  .relaunch-hero{min-height:clamp(640px,92svh,860px)}
  .hero-content{padding-top:170px;padding-bottom:58px}
  .hero-content h1{font-size:40px}
  .hero-content .eyebrow{font-size:11px}
  .hero-intro{font-size:16px}
  .hero-actions{align-items:flex-start;flex-direction:column}
  .hero-actions .button{font-size:15px}
  .hero-footnote{font-size:13px}
  .hero-map-credit{right:8px;bottom:34px;font-size:10px}
  .relaunch-section-heading>p:last-child,.contact-intro>p:not(.eyebrow){font-size:16px}
  .clarity-grid{grid-template-columns:1fr}
  .levels{grid-template-columns:1fr 1fr}
  .steps{gap:25px 18px}
  .steps h3{font-size:18px}
  .relaunch-home form{padding:20px}
  .relaunch-home .field-pair{grid-template-columns:1fr;gap:0}
  .form-bottom{align-items:flex-start;flex-direction:column}
  .form-bottom .button{width:100%}
  .report-hero>p:not(.eyebrow){font-size:16px}
  .sample-body{grid-template-columns:1fr}.roof-panel{min-height:320px}.sample-data{border-left:0;border-top:1px solid var(--line);padding:20px}
  .report-sample>header{padding:20px;align-items:flex-start;flex-direction:column}
  .report-block-heading p{margin-left:0}
  .report-cta{align-items:flex-start;flex-direction:column}
  .report-cta .button{width:100%}
}
@media(max-width:390px){.relaunch-home .header .button.small,.relaunch-report .header .button.small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.relaunch-home *,.relaunch-report *{scroll-behavior:auto!important;transition:none!important}}

