:root {
  --ink:#142f29; --dark:#112b26; --deep:#173a31; --green:#e6eee2; --lime:#e4f3a9;
  --muted:#4d6157; --paper:#fffefa; --cream:#f5f1e8; --line:#ced8cc; --warm:#a75136;
  --radius:24px; --serif:Georgia,"Times New Roman",serif; --sans:Inter,"Aptos",system-ui,sans-serif;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:90px}
body {margin:0;color:var(--ink);background:var(--paper);font:16px/1.57 var(--sans)}
button,input {font:inherit}
button {cursor:pointer}
a {color:inherit;text-underline-offset:.22em}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible {outline:3px solid #b26a41;outline-offset:4px}
img {display:block;max-width:100%;height:auto}
[hidden] {display:none!important}
.skip {position:fixed;z-index:20;left:15px;top:10px;transform:translateY(-200%);background:white;padding:12px}
.skip:focus {transform:none}
.topbar {position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(16px,3.4vw,52px);background:#fffef9f2;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.brands {display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.brands img:first-child {width:81px}
.brands img:last-child {width:108px}
.brands span {color:var(--warm);font-size:18px}
.topbar nav,.topActions {display:flex;align-items:center;gap:clamp(7px,1.35vw,24px)}
.topbar nav a {font-size:.83rem;font-weight:680;text-decoration:none;white-space:nowrap}
.topbar nav a[aria-current] {color:#995338;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.button {display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid transparent;border-radius:999px;padding:10px 16px;font-size:.85rem;font-weight:720;min-height:44px;white-space:nowrap;transition:background .18s,color .18s,border-color .18s,transform .18s}
.button:hover {transform:translateY(-2px)}
.button:disabled {opacity:.38;cursor:default;transform:none}
.button.quiet {background:transparent;color:var(--ink);border-color:var(--line)}
.button.quiet:hover {background:var(--green)}
.button.strong {background:var(--dark);color:white}
.button.strong:hover {background:#285746}
.button.bright {background:var(--lime);color:var(--dark)}
.button.bright:hover {background:#f2facf}
.button.outlined {background:transparent;color:inherit;border-color:#92a99c}
.button.outlined:hover {background:#ffffff18}
.progress {position:absolute;height:2px;inset:auto 0 -1px;background:transparent}
.progress i {display:block;height:2px;width:0;background:#d18764}
.contents {position:fixed;z-index:9;right:clamp(12px,3.4vw,52px);top:75px;width:min(390px,calc(100% - 24px));max-height:calc(100dvh - 86px);overflow:auto;background:var(--paper);box-shadow:0 18px 55px #152c2930;border:1px solid var(--line);border-radius:18px;padding:16px}
.contentsHead {display:flex;justify-content:space-between;gap:10px;align-items:center}
.contents ol {list-style:none;margin:12px 0 0;padding:0;display:grid;gap:2px}
.contents a {display:flex;align-items:center;gap:12px;padding:8px 10px;text-decoration:none;border-radius:8px;font-size:.91rem}
.contents a span {font-variant-numeric:tabular-nums;color:#884f3a;font-size:.75rem}
.contents a:hover,.contents a[aria-current] {background:var(--green)}
.wrap {width:min(1240px,calc(100% - clamp(32px,8vw,150px)));margin-inline:auto}
.chapter {padding:clamp(54px,8vw,113px) 0;scroll-margin-top:5px}
.paper {background:var(--paper)}
.cream {background:var(--cream)}
.green {background:var(--dark);color:#f5f8e9}
.hero {padding:clamp(42px,6vw,90px) 0 55px;background:radial-gradient(ellipse at 80% 45%,#21483c,#102a25 63%);color:#f9f9ee}
.heroGrid,.closingGrid {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(30px,5vw,77px);align-items:center}
.eyebrow,.mini {font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:790;color:#88553d}
.green .eyebrow,.hero .eyebrow,.deep .eyebrow,.journeyPanel .eyebrow,.green .mini {color:#f0b99a}
.statusDot {width:8px;height:8px;background:#e4f3a9;border-radius:50%;display:inline-block;margin-right:8px;box-shadow:0 0 15px #e4f3a9b0}
h1,h2,h3 {font-family:var(--serif);font-weight:500;line-height:1.04;letter-spacing:-.04em;margin:0;text-wrap:balance}
h1 {font-size:clamp(58px,8.1vw,127px);margin:20px 0 22px;max-width:9.8ch}
h2 {font-size:clamp(38px,5.1vw,77px);max-width:18ch}
h3 {font-size:clamp(26px,3vw,43px);letter-spacing:-.034em}
p {margin:.6em 0 0}
.heroLead {font-size:clamp(17px,1.75vw,24px);color:#dae7dc;max-width:34ch}
.actions {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.heroMeta {display:flex;flex-wrap:wrap;gap:14px 27px;margin-top:40px;padding-top:16px;border-top:1px solid #9bb5a657;font-size:.78rem;color:#b9cabf}
.heroMeta b {display:block;color:#f3f6e9;font-size:.84rem}
.careGraphic {position:relative;min-width:0;aspect-ratio:1/.99;isolation:isolate;overflow:hidden;background:#19372e;border:1px solid #6a8974;border-radius:var(--radius)}
.orbit {position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.graphicTop,.graphicFoot {position:absolute;left:5.5%;right:5.5%;display:flex;justify-content:space-between;gap:12px;color:#d7e4d8;font-size:.65rem;font-weight:700;letter-spacing:.1em}
.graphicTop {top:5%}.graphicFoot {bottom:5%}
.orbitLabel {position:absolute;padding:5px 8px;background:#17362de8;border:1px solid #7ca08d;border-radius:999px;color:#ecf4df;font-size:clamp(9px,1vw,12px);white-space:nowrap}
.orbitLabel.top {top:19%;left:50%;transform:translateX(-50%)}
.orbitLabel.right {top:52%;right:5%}
.orbitLabel.bottom {bottom:17%;left:50%;transform:translateX(-50%)}
.orbitLabel.left {top:40%;left:5%}
.signal {stroke-dasharray:620;stroke-dashoffset:0;animation:signalIn 1.6s ease-out both}
@keyframes signalIn {from {stroke-dashoffset:620}}
.sectionHead {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(16px,5vw,75px);align-items:end;margin-bottom:34px}
.sectionHead .eyebrow,.closing .eyebrow {margin:0 0 14px}
.sectionHead>p {max-width:39ch;color:var(--muted);font-size:clamp(16px,1.4vw,20px);padding-bottom:3px}
.green .sectionHead>p {color:#c8dcd0}
.metricGrid,.teamGrid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.metricGrid article {background:#ecf2e8;padding:clamp(16px,2vw,27px);border:1px solid #dbe4d7;border-radius:17px}
.metricGrid article>span,.mini {display:block}
.metricGrid article>span {font-size:.78rem;font-weight:700}
.metricGrid strong,.giant,.display {display:block;font:500 clamp(38px,5vw,69px)/1.1 var(--serif);letter-spacing:-.07em;margin:.16em 0 .12em}
.metricGrid strong span {font-size:.52em}
.metricGrid p,.card p,.callout p {font-size:.91rem}
.metricGrid p,.card:not(.deep) p:not(.eyebrow) {color:var(--muted)}
.editorialSplit {margin-top:44px;display:grid;grid-template-columns:1fr 1.28fr;gap:clamp(18px,5vw,80px);align-items:start}
.editorialSplit h3 {max-width:15ch}
.stack {display:grid;gap:0}
.stack article {border-top:1px solid var(--line);padding:14px 0}
.stack p {color:var(--muted)}
.selector {display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}
.pill {border-radius:999px;border:1px solid var(--line);padding:8px 13px;min-height:42px;background:transparent;color:inherit;font-size:.83rem;font-weight:700}
.pill:hover {background:#c9dccc35}
.pill[aria-pressed=true] {background:var(--deep);color:white;border-color:var(--deep)}
.green .pill {border-color:#68877a}
.green .pill[aria-pressed=true] {color:var(--ink);background:var(--lime);border-color:var(--lime)}
.switchPanel {background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(19px,3.2vw,37px);min-width:0}
.switchPanel h3 {margin:6px 0 9px}
.panelGrid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(17px,4vw,65px);align-items:start}
.panelGrid ul,.detailsBody ul {padding-left:20px;margin:0}
.panelGrid li {margin:.5em 0}
.panelLabel {font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#80513c}
.panelValue {font:500 clamp(36px,5vw,70px)/1 var(--serif);letter-spacing:-.06em}
.callout {margin-top:17px;padding:19px 22px;border:1px solid #68877a;background:#28514366;border-radius:16px;display:grid;grid-template-columns:1fr 2fr auto;gap:13px;align-items:center}
.callout p {margin:0}.callout a {font-size:.84rem;font-weight:720}
.lightCallout {background:#ecf2e8;border-color:var(--line)}
.splitBoard {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px;margin-bottom:18px}
.lower {margin:17px 0}
.card {background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(19px,2.7vw,34px);min-width:0}
.card h3 {margin-top:6px}
.card .mini {margin-bottom:9px}
.deep {background:var(--deep);color:#eef8e4;border-color:var(--deep)}
.deep a {display:inline-block;margin-top:12px;font-weight:700}
.bars {display:grid;gap:12px;margin:19px 0}
.bars div {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(30px,.7fr) auto;align-items:center;gap:10px;font-size:.8rem}
.bars i {display:block;width:var(--bar);height:9px;border-radius:5px;background:#719a79;animation:barIn .9s ease both;transform-origin:left}
@keyframes barIn {from{transform:scaleX(0)}}
.fine {font-size:.8rem!important;color:#53675b;margin-top:12px}
.journeyShell {padding:clamp(13px,2.7vw,28px);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.journeySteps {display:grid;grid-template-columns:repeat(var(--step-count,7),minmax(0,1fr));gap:5px;margin:0 0 20px}
.step {display:grid;justify-items:center;gap:6px;align-content:start;padding:6px 2px;border:0;background:transparent;color:var(--ink);font-size:.79rem;font-weight:720;text-align:center;min-width:0}
.step small {color:#7e5540;font-size:.65rem}
.step i {display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;font-size:17px;font-style:normal;transition:background .2s,transform .2s}
.step:hover i {transform:translateY(-3px)}
.step[aria-pressed=true] i {background:var(--deep);color:white;border-color:var(--deep)}
.journeyPanel {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px;padding:clamp(18px,3vw,40px);color:#f7f9ec;background:linear-gradient(125deg,#17382e,#285543);border-radius:18px}
.journeyPanel h3 {margin-top:8px}
.journeyPanel p {color:#e0ecde}
.blueprint {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.blueprint article {border-radius:12px;background:#e9efe6;padding:12px 14px;color:var(--ink);font-size:.85rem;min-width:0}
.journeyPanel .blueprint article {background:#ffffff13;color:#fff;border:1px solid #ffffff2b}
.blueprint strong {display:block;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:#86503b}
.journeyPanel .blueprint strong {color:#f0b99a}
.blueprint p {margin:5px 0 0}
.chips {display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.chips span {border-radius:999px;border:1px solid var(--line);padding:5px 9px;font-size:.77rem}
.searchCard {padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:#f5f7f2}
.searchCard .searchQuery {margin:7px 0 13px;padding:9px 13px;border:1px solid var(--line);border-radius:30px;background:white;font-weight:650}
.searchCard ul {list-style:none;padding:0}
.searchCard li {margin:0;padding:6px 0;border-bottom:1px solid var(--line)}
.searchCard a {font-weight:680}
.textLink {display:inline-block;margin-top:12px;color:#225c42;font-weight:720;font-size:.87rem}
.campaignGrid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.campaign {display:grid;grid-template-rows:auto 1fr auto;gap:10px;align-content:end;justify-items:start;text-align:left;min-height:176px;padding:16px 17px;border:1px solid #648476;border-radius:18px;background:#214237;color:#f6f9ec;transition:transform .2s,background .2s,color .2s}
.campaign:hover {transform:translateY(-4px);background:#e4f3a9;color:#19352c}
.campaign small {opacity:.85;font-weight:700;font-size:.69rem;letter-spacing:.12em}
.campaign i {font-style:normal;font-size:27px;align-self:center}
.campaign b {font-size:1.05rem}
.campaign p {font-size:.81rem;opacity:.88}
.workstreams {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.workstreams .card h3,.three .card h3,.teamGrid .card h3 {font-size:clamp(24px,2.5vw,34px)}
.three {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.green .three .mini {color:#86503b}
.funnel {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.funnel span {display:grid;gap:4px;background:#e9efe6;border:1px solid var(--line);border-radius:12px;padding:12px;color:#80513c;font-size:.72rem}
.funnel b {color:var(--ink);font-size:.89rem}
.presence {display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:15px}
.presence b {padding:5px 12px;border-radius:999px;background:var(--green);font-size:.85rem}
.presence span {font-size:.78rem;font-weight:750;margin-right:6px}
.disclosure {border:1px solid var(--line);border-radius:14px;margin:10px 0;background:#fffefa}
.disclosure summary {cursor:pointer;font-weight:720;padding:13px 17px}
.disclosure[open] summary {border-bottom:1px solid var(--line)}
.detailsBody {padding:12px 16px}
.detailsBody p,.detailsBody li {font-size:.9rem}
.evidenceTools {display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:4px 17px;align-items:center}
.evidenceTools label {font-weight:700;font-size:.82rem;grid-column:1/-1}
.evidenceTools input {border:1px solid #859c8e;border-radius:12px;padding:10px 13px;width:100%;min-height:46px}
.evidenceTools #keywordCount {grid-column:1/-1;margin:0 0 8px;font-size:.82rem;color:var(--muted)}
.tableScroll {overflow:auto;border:1px solid var(--line);border-radius:13px;margin:9px 0 15px}
.dataTable {width:100%;border-collapse:collapse;text-align:left;font-size:.86rem}
.dataTable th {background:#e8efe4;color:#214338}
.dataTable td,.dataTable th {padding:9px 11px;border-bottom:1px solid var(--line);vertical-align:top}
.dataTable tr:last-child td {border-bottom:0}
.dataTable tbody tr:nth-child(even) {background:#f7f9f3}
.dataTable caption {text-align:left;padding:8px 11px;font-weight:730}
.dataTable a {color:#215a43}
.closingGrid {align-items:stretch}
.closingGrid p {max-width:43ch}
.closing .button {margin-top:17px}
.proposalBox {background:#1d4035;border:1px solid #698d7b;border-radius:var(--radius);padding:24px}
.fileIcon {font-size:36px;color:var(--lime)}
.footer {background:#e8eee3;padding:34px 0 45px;border-top:1px solid var(--line)}
.footerIntro {display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.footerIntro p {font-size:.8rem;color:var(--muted)}
.footerSources {display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:17px;margin-top:24px;border-top:1px solid var(--line);padding-top:19px}
.footerSources p,.footerSources a {font-size:.8rem;color:#365247}
.footerSources a {display:block}
.deckControls {position:fixed;z-index:8;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:6px 8px;background:#fffefa;border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 40px #142f2933}
.deckControls output {white-space:nowrap;font-size:.81rem;font-weight:700}
body.deck .chapter {min-height:calc(100dvh - 68px);padding-bottom:90px}
body.deck .chapter:not(.deckCurrent),body.deck .footer {display:none}
dialog {border:1px solid var(--line);color:var(--ink);background:var(--paper);border-radius:24px;padding:0;width:min(880px,calc(100% - 26px));max-height:calc(100dvh - 30px);overflow:auto;box-shadow:0 28px 90px #0006}
dialog::backdrop {background:#102621b8;backdrop-filter:blur(4px)}
.dialogLayout {display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.dialogLead {background:var(--deep);color:#f3f8ed;padding:clamp(20px,4vw,47px);display:flex;flex-direction:column;justify-content:center}
.dialogLead .eyebrow {color:#efb799}
.dialogGlyph {font-size:42px;color:var(--lime)}
.dialogLead h2,.simpleDialog h2 {font-size:clamp(34px,5vw,58px)}
.dialogBody,.simpleDialog {position:relative;padding:clamp(16px,3.5vw,34px)}
.dialogBody>.eyebrow {margin:0 42px 15px 0}
.close {position:absolute;top:10px;right:10px;min-height:42px;min-width:42px;border-radius:50%;border:1px solid var(--line);background:white;font-size:23px;color:var(--ink)}
.simpleDialog .button {margin-top:15px}
#proposalDialog {width:min(540px,calc(100% - 26px))}
.noscript {padding:12px;background:#fff2ce;text-align:center}
.appLab {margin-top:34px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fbf4;padding:clamp(17px,3vw,30px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:20px;align-items:center}
.appLab h3 {max-width:19ch}
.phoneStage {display:grid;justify-items:center;position:relative;background:radial-gradient(ellipse at center,#dcecd5,#edf3e8 67%);border-radius:18px;padding:18px 10px}
.phoneFrame {width:min(100%,212px);aspect-ratio:9/16;background:#17352d;border:6px solid #17352d;border-radius:25px;overflow:hidden;box-shadow:0 14px 29px #19352848}
.phoneFrame img {width:100%;height:100%;object-fit:cover}
.screenControls {display:flex;align-items:center;gap:8px;margin-top:12px}
.screenControls output {font-size:.79rem;font-weight:750;min-width:52px;text-align:center}
.screenControls button {padding:5px 12px;min-height:38px}
.printOnly {display:none}
@media(max-width:960px) {
  .topbar nav {display:none}
  .heroGrid,.closingGrid {gap:22px}
  .campaignGrid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .metricGrid,.teamGrid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px) {
  html {scroll-padding-top:72px}
  .topbar {gap:6px;padding:8px 10px}
  .brands {gap:6px}
  .brands img:first-child {width:62px}
  .brands img:last-child {width:76px}
  .topActions {gap:4px}
  .topActions .button {padding:7px 9px;font-size:.76rem;min-height:40px}
  .contents {top:63px}
  .heroGrid,.sectionHead,.closingGrid,.editorialSplit,.splitBoard,.panelGrid,.journeyPanel,.appLab {grid-template-columns:1fr}
  h1 {font-size:clamp(53px,12.8vw,78px)}
  .heroMeta {margin-top:22px}
  .careGraphic {aspect-ratio:1/.91}
  .sectionHead {gap:10px;margin-bottom:20px}
  .chapter {padding:43px 0}
  .callout {grid-template-columns:1fr}
  .journeySteps {grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}
  .step {font-size:.72rem}
  .step i {width:36px;height:36px}
  .three,.workstreams,.campaignGrid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .funnel {grid-template-columns:repeat(2,minmax(0,1fr))}
  .footerSources,.evidenceTools {grid-template-columns:1fr}
  .dialogLayout {grid-template-columns:1fr}
  .dialogLead {padding:16px 18px}
  .dialogGlyph {display:none}
  .dialogBody .blueprint {gap:6px}
}
@media(max-width:390px) {
  .brands img:last-child {width:65px}
  .brands img:first-child {width:57px}
  .three,.workstreams,.teamGrid {grid-template-columns:1fr}
  .blueprint {grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print {
  .topbar,.contents,.deckControls,.selector,.step,.screenControls,.skip,dialog,.evidenceTools,.campaignGrid,.actions,.footerIntro>a,.proposalBox button,.noscript {display:none!important}
  .printOnly {display:block!important}
  body.deck .chapter,body.deck .footer {display:block!important;min-height:0}
  body,main,.hero,.paper,.green,.cream,.footer {background:white!important;color:#142f29!important}
  .wrap {width:100%}
  .hero .eyebrow,.heroLead,.heroMeta,.heroMeta b,.green .eyebrow,.green .sectionHead>p,.green .mini,.callout,.deep,.journeyPanel,.journeyPanel p,.journeyPanel .blueprint article,.journeyPanel .blueprint strong,.proposalBox {color:#142f29!important;background:white!important}
  .heroGrid {grid-template-columns:1fr}
  .careGraphic,.fileIcon {display:none!important}
  .chapter {padding:22px 0;break-before:page}
  .hero {break-before:auto}
  h1 {font-size:50px}h2 {font-size:34px}h3 {font-size:22px}
  .tableScroll {overflow:visible}
  .card,.callout,.switchPanel,.appLab,.blueprint article,tr {break-inside:avoid}
  .dataTable {font-size:9pt}
  a {text-decoration:none}
}
@media print {
  #auditPanel,#socialPanel {display:none}
  .printOnly .panelGrid {break-inside:avoid;border-bottom:1px solid var(--line);padding:10px 0}
  .printOnly h3 {margin:15px 0 8px}
}
