@font-face{font-family:"Gramatika";src:url("/fonts/Gramatika-Regular.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Gramatika";src:url("/fonts/Gramatika-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Gramatika";src:url("/fonts/Gramatika-Regular.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Gramatika";src:url("/fonts/Gramatika-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}

:root{--blue:#1F5ED4;--brown:#8E7B63;--sand:#BFA77A;--cream:#E8E3D8;--sage:#B7C4A5;--dark:#4A4034;--ink:#1B1814;--cream-deep:#DDD6C5;--hair:rgba(27,24,20,0.14);--hair-dark:rgba(232,227,216,0.2);--blue-hover:#154a9e}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:"Gramatika",sans-serif;font-weight:400;font-size:18px;line-height:1.55;color:var(--ink);background:var(--cream);text-wrap:pretty}
img{max-width:100%;display:block}
button,input,textarea,select{font-family:"Gramatika",sans-serif}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--blue-hover)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.band-blue :focus-visible,.band-ink :focus-visible,.band-photo :focus-visible,.bleed :focus-visible,.site-foot :focus-visible{outline-color:var(--cream)}
.btn-blue:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 4px var(--blue)}
.skip{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;background:var(--blue);color:#fff;z-index:400}
.skip:focus{position:fixed;left:8px;top:8px;width:auto;height:auto;margin:0;clip:auto;overflow:visible;padding:10px 16px;border-radius:8px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

h1,h2,h3{font-weight:700}
h1{font-size:64px;line-height:1.05;letter-spacing:-0.025em}
h2{font-size:44px;line-height:1.1;letter-spacing:-0.02em}
h3{font-size:24px;letter-spacing:-0.01em}
p{color:#4A4034;opacity:1}
.lead{font-size:21px;line-height:1.5;max-width:640px;color:var(--ink);opacity:1}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.band{padding:100px 0}
.band-cream{background:var(--cream);color:var(--ink)}
.band-deep{background:var(--cream-deep);color:var(--ink)}
.band-blue{background:var(--blue);color:var(--cream)}
.band-ink{background:var(--dark);color:var(--cream)}
.band-blue p,.band-ink p,.band-blue .lead,.band-ink .lead,.band-photo p,.band-photo .lead,.bleed p,.bleed .lead,.site-foot p{color:var(--cream);opacity:1}
.band-blue a:not(.btn),.band-ink a:not(.btn){color:var(--cream)}
.band-blue a:not(.btn):hover,.band-ink a:not(.btn):hover{color:#fff}
.stack{display:flex;flex-direction:column;gap:20px}
.stack-lg{display:flex;flex-direction:column;gap:36px}

.chrome{position:sticky;top:0;z-index:210;background:var(--cream)}
.topstripe{height:6px;background:var(--blue)}
.site-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:14px 40px;border-bottom:1px solid rgba(27,24,20,0.1)}
.wordmark{display:block;width:200px;height:94px;background:currentColor;color:var(--ink);-webkit-mask:url("/images/logos/Earthe_Logo_Strapline.svg") left center / contain no-repeat;mask:url("/images/logos/Earthe_Logo_Strapline.svg") left center / contain no-repeat}
.site-head .wordmark{margin-left:-26px}
.nav-main{display:flex;justify-content:center;align-items:center;gap:32px}
.nav-main a{color:var(--ink);font-size:16px;font-weight:700;white-space:nowrap}
.nav-main a:hover,.nav-main a[aria-current="page"]{color:var(--blue)}
.nav-home{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}
.nav-home svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.head-ctas{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;place-items:center;gap:5px;position:relative;z-index:220}
.menu-btn span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .28s ease,opacity .2s ease}
body.menu-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .menu-btn span:nth-child(2){opacity:0}
body.menu-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu{display:none;position:fixed;inset:0;z-index:200;background:var(--cream);flex-direction:column;justify-content:center;gap:12px;padding:96px 40px 40px}
.menu.open{display:flex}
.menu a.nav-item{font-size:32px;font-weight:700;color:var(--ink);white-space:nowrap}
.menu .btn-blue,.menu .btn-outline{width:100%;text-align:center}
body.menu-open{overflow:hidden}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:13px 28px;border-radius:999px;font-size:16px;font-weight:700;white-space:nowrap;line-height:1;cursor:pointer;border:1.5px solid transparent}
.btn-blue{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-blue:hover{background:var(--blue-hover);border-color:var(--blue-hover);color:#fff}
.btn-outline{background:transparent;color:var(--ink);border-color:rgba(27,24,20,0.25)}
.btn-outline:hover{border-color:var(--ink);color:var(--ink)}
.band-ink .btn-outline,.band-blue .btn-outline,.band-photo .btn-outline{color:var(--cream);border-color:rgba(232,227,216,0.45)}
.band-ink .btn-outline:hover,.band-blue .btn-outline:hover,.band-photo .btn-outline:hover{border-color:var(--cream);color:#fff}
.cards-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cards-stack .card{height:100%}
.values-block{display:flex;flex-direction:column;gap:40px}
.values-block .copy{max-width:640px}
.btn-cream{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.btn-cream:hover{background:#fff;color:var(--ink);border-color:#fff}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.store-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.store-badges img{height:44px;width:auto;border-radius:10px}
.store-badges img.play{height:66px;margin:-11px -8px;border-radius:0}

.eyebrow{display:flex;align-items:center;gap:14px;font-size:15px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--blue);margin-bottom:20px}
.eyebrow::before{content:"";width:34px;height:3px;background:var(--blue);flex-shrink:0}
.band-blue .eyebrow{color:var(--cream)}
.band-blue .eyebrow::before{background:var(--cream)}
.band-ink .eyebrow{color:var(--sage)}
.band-ink .eyebrow::before{background:var(--sage)}
.strap{display:flex;align-items:center;gap:16px;font-size:15px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:#5C5248;opacity:1}
.strap::before{content:"";width:44px;height:2px;background:currentColor;flex-shrink:0}

h1,.display{color:var(--blue)}
.display{font-size:clamp(44px,6.2vw,96px);font-weight:700;line-height:0.94;letter-spacing:-0.035em}
.hl,.outline{color:inherit;font-style:normal}
.outline{-webkit-text-stroke:0}

.hero-editorial{padding:72px 0 80px;background:var(--cream)}
.hero-mosaic{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:10px;height:0;min-height:100%}
.hero-mosaic .tile{overflow:hidden;border-radius:20px;min-height:0}
.hero-mosaic .tile.tall{grid-column:1;grid-row:1 / 3}
.hero-mosaic img{width:100%;height:100%;object-fit:cover;display:block}
.hero-mosaic .tile.story img{object-position:18% center}
.mosaic-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 6px 24px;background:var(--cream-deep)}
.mosaic-strip .tile{overflow:hidden;border-radius:20px}
.mosaic-strip img{width:100%;height:260px;object-fit:cover;display:block}
.card-photo{padding:0;overflow:hidden;display:flex;flex-direction:column;gap:0;height:100%}
.card-photo .tile{overflow:hidden;border-radius:0;height:220px;flex-shrink:0}
.card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.card-photo .crop-face img{object-position:center 22%}
.card-photo .crop-up img{object-position:center 38%}
.card-photo .card-body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-token .tile{background:var(--cream);display:grid;place-items:center}
.card-token img{width:168px;height:168px;object-fit:contain;display:block}
.app-row{max-width:520px;margin:0 auto}
.hero-editorial .stack{gap:28px}
.hero-foot{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.15fr);gap:48px;align-items:stretch}
.hero-apps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center}
.mock{aspect-ratio:1/1}
.mock img{width:100%;height:100%;object-fit:contain}
.split .media.mock{aspect-ratio:4/3;display:grid;place-items:center;background:rgba(27,24,20,0.18);border-radius:20px;padding:20px}
.split .media.mock img{max-height:100%;width:auto;max-width:55%}
.media-photo{border-radius:20px;overflow:hidden;aspect-ratio:4/3}
.media-photo img{width:100%;height:100%;object-fit:cover}
.photo-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.photo-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.photo-pair .tile{overflow:hidden;border-radius:20px}
.photo-pair img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;display:block}
.hero-editorial .photo-pair .tile-token{background:var(--cream-deep);display:grid;place-items:center;padding:24px}
.hero-editorial .photo-pair .tile-token img{width:auto;height:auto;max-width:88%;max-height:88%;object-fit:contain;aspect-ratio:1}
.band-photo{position:relative;color:var(--cream);background-color:var(--ink);background-size:cover;background-position:center}
.band-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,24,20,0.28),rgba(27,24,20,0.82))}
.band-photo .wrap{position:relative;z-index:1}
.band-photo .eyebrow{color:var(--sage)}
.band-photo .eyebrow::before{background:var(--sage)}
.bleed .eyebrow{color:var(--sage)}
.bleed .eyebrow::before{background:var(--sage)}
.band-photo p,.band-photo .lead{color:var(--cream);opacity:1}
.band-photo a:not(.btn){color:var(--cream)}
.band-photo a:not(.btn):hover{color:#fff}
.photo-bg-coast{background-image:url("/images/playbook/nature-coast.jpg")}
.photo-bg-solar{background-image:url("/images/playbook/projects-solar.jpg")}
.photo-bg-forest{background-image:url("/images/playbook/nature-walk.jpg")}
.photo-bg-crowd{background-image:url("/images/stock/community-gather.jpg")}
.photo-bg-ice{background-image:url("/images/stock/mangroves-close.jpg")}
.photo-bg-water{background-image:url("/images/projects/water-hands.jpg")}
.photo-bg-community{background-image:url("/images/stock/children-laugh.jpg")}
.photo-bg-nursery{background-image:url("/images/playbook/projects-sapling-hands.jpg")}
.photo-bg-ocean{background-image:url("/images/stock/penguins-ice.jpg");background-position:center 45%}
.photo-bg-ocean::before{background:linear-gradient(180deg,rgba(27,24,20,0.68),rgba(27,24,20,0.94))}
.photo-bg-rhino{background-image:url("/images/stock/rhinos-dusk.jpg");background-position:center 40%}
.photo-bg-savanna{background-image:url("/images/stock/elephants-kilimanjaro.jpg");background-position:center 35%}

.band-photo .esg-visual-label{opacity:.7;color:var(--cream)}
.band-photo .esg-pillar:not(.is-focus){background:rgba(232,227,216,0.96);color:#1B1814}
.band-photo .esg-pillar:not(.is-focus) .esg-letter,.band-photo .esg-pillar:not(.is-focus) strong,.band-photo .esg-pillar:not(.is-focus) p{color:#1B1814;opacity:1}
.band-photo .checklist li::before{background:var(--sage)}
.band-photo .btn-cream{background:var(--cream);color:var(--ink)}
.band-photo .btn-cream:hover{background:#fff;color:var(--ink)}
.token-inline{width:220px;height:220px;object-fit:contain;display:block;justify-self:center}
.hero-stats{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center}

.ticker{display:flex;flex-wrap:wrap;background:var(--blue);color:var(--cream)}
.tk-cell{flex:1;padding:30px 34px;border-right:1px solid rgba(232,227,216,0.22);display:flex;flex-direction:column;gap:10px}
.tk-cell:last-child{border-right:0}
.tk-cell .tkl{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:rgba(232,227,216,0.78);opacity:1}
.tk-cell .tkv{font-size:34px;font-weight:700;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--sage);display:inline-block}

.rail-list{display:flex;flex-direction:column}
.rail-item{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr);gap:48px;padding:44px 0;border-top:1px solid var(--hair);align-items:start}
.rail-item .num{font-size:19px;font-weight:700;letter-spacing:0.12em;color:var(--blue);padding-top:6px}
.rail-item h3{font-size:32px;font-weight:700;line-height:1.1;letter-spacing:-0.02em}
.rail-item p{font-size:18px;line-height:1.55;color:#4A4034;opacity:1}
.band-blue .rail-item p,.band-ink .rail-item p{color:var(--cream)}
.band-blue .rail-item,.band-ink .rail-item{border-top-color:var(--hair-dark)}
.band-blue .rail-item .num{color:var(--cream)}
.band-ink .rail-item .num{color:var(--sage)}

.app-steps{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:auto auto auto;column-gap:clamp(8px,1.2vw,20px);row-gap:10px;align-items:start;width:100%}
.app-step,.step-token-slot{display:grid;grid-template-rows:subgrid;grid-row:span 3;align-items:start;justify-items:center;min-width:0;text-align:center}
.app-step{grid-column:span 1}
.app-step:has(.phones-2){grid-column:span 2}
.app-step .num,.step-token-slot .num{display:block;width:100%;font-size:13px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--blue);line-height:1.2;text-align:center;grid-row:1}
.app-step h3,.step-token-slot .step-token-label{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.4em;font-size:15px;font-weight:700;letter-spacing:-0.01em;line-height:1.2;text-transform:uppercase;text-align:center;margin:0;text-wrap:balance;grid-row:2}
.app-step .phones{display:flex;flex-wrap:nowrap;gap:clamp(4px,0.6vw,8px);justify-content:center;align-items:flex-start;width:100%;min-width:0;grid-row:3;align-self:start}
.app-step .phones img{max-width:112px;width:100%;min-width:0;height:auto;display:block;flex:1 1 0}
.app-step .phones-2{min-width:0}
.step-token-slot{margin:0;grid-column:span 1}
.step-token-slot .num{visibility:hidden}
.step-token-slot .step-token-label{opacity:0}
.step-token-slot .phones{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-width:0;grid-row:3;align-self:stretch;height:100%}
.step-token-slot .phones img{width:min(72px,100%);height:auto;object-fit:contain;display:block;margin-inline:auto}
.step-token-slot figcaption{font-size:10px;font-weight:700;letter-spacing:0.04em;line-height:1.25;max-width:9em;opacity:.75;margin:0 auto;text-align:center}

.eco-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.eco-box{border-radius:16px;padding:26px 24px;display:flex;flex-direction:column;gap:14px;min-height:100%}
.eco-box h3{font-size:22px;font-weight:700;letter-spacing:-0.02em;line-height:1.15}
.eco-kicker{font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;opacity:.7}
.eco-box ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;padding:0}
.eco-box li{font-size:14px;line-height:1.4;opacity:1}
.eco-brands{background:var(--blue);color:var(--cream)}
.eco-brands p,.eco-brands li{color:var(--cream)}
.eco-consumers{background:var(--sand);color:var(--ink)}
.eco-consumers .eco-kicker{opacity:.7}
.eco-consumers p,.eco-consumers li,.eco-planet p,.eco-planet li{color:var(--ink)}
.eco-planet{background:var(--sage);color:var(--ink)}
.eco-planet .eco-kicker{opacity:.65}

.trust-bar{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:28px;align-items:center;background:var(--blue);color:var(--cream);border-radius:16px;padding:28px 30px}
.trust-copy{display:flex;flex-direction:column;gap:8px;max-width:720px}
.trust-copy .eco-kicker{opacity:.55}
.trust-copy strong{font-size:28px;font-weight:700;letter-spacing:-0.02em;line-height:1.1}
.trust-copy p{font-size:15px;line-height:1.5;color:var(--cream);opacity:1;margin:0}
.trust-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.trust-pills span{border:1px solid rgba(232,227,216,0.35);border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;white-space:nowrap}

.bleed{position:relative;min-height:620px;display:block;color:var(--cream);overflow:hidden}
.bleed>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bleed-full{min-height:0;overflow:visible}
.bleed.bleed-full{min-height:0}
.bleed-full>img{position:static;inset:auto;width:100%;height:auto;object-fit:contain;transform:none;will-change:auto}
.bleed-scrim{position:relative;min-height:620px;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(27,24,20,0) 0%,rgba(27,24,20,0.88) 60%)}
.bleed-copy{padding:60px 0;display:flex;flex-direction:column;gap:16px;max-width:760px}
.bleed-copy .close{font-weight:700;opacity:1;letter-spacing:-0.01em}
.bleed-manifesto,.bleed-manifesto .bleed-scrim{min-height:720px}
.bleed-manifesto .bleed-scrim{background:linear-gradient(180deg,rgba(27,24,20,0.18) 0%,rgba(27,24,20,0.78) 38%,rgba(27,24,20,0.94) 72%)}
.bleed a.btn-cream,.bleed .btn-cream{align-self:flex-start}

.proj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.proj-card{position:relative;min-height:340px;border-radius:20px;overflow:hidden;color:var(--cream);display:block}
.proj-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.proj-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(27,24,20,0.9) 65%)}
.proj-body{position:relative;z-index:1;min-height:340px;padding:36px 38px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}
.proj-tag{font-size:13px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--sage)}
.proj-card h3{color:var(--cream);font-size:30px;letter-spacing:-0.015em}
.proj-card p{color:var(--cream);opacity:1;font-size:17px}

.quote-grid{display:grid;grid-template-columns:minmax(0,0.7fr) minmax(0,1.3fr);gap:64px;align-items:center}
.quote-grid img{width:100%;height:auto;border-radius:20px;overflow:hidden}
blockquote{font-size:25px;font-weight:400;line-height:1.45;letter-spacing:-0.01em;opacity:1}
blockquote::before{content:"“";display:block;font-size:90px;line-height:0.7;color:var(--sage);font-weight:700}
.quote-who{display:flex;flex-direction:column;gap:4px;margin-top:20px;font-size:16px}
.quote-who strong{font-weight:700}

.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:rgba(27,24,20,0.12);border-radius:18px;overflow:hidden}
.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-foot .stats{align-self:stretch}
.hero-foot .stat{padding:20px 16px}
.hero-foot .stat .sv{font-size:32px}
.hero-foot .stat .sl{font-size:12px;letter-spacing:0.06em}
.stat{background:var(--cream);padding:28px 24px;display:flex;flex-direction:column;gap:8px}
.stat .sv{font-size:42px;font-weight:700;letter-spacing:-0.025em;color:var(--blue);font-variant-numeric:tabular-nums}
.stat .sl{font-size:14px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--dark);opacity:1}

.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:70px;align-items:center}
.split-rev{grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr)}
.split-rev .copy{order:2}
.split-rev .media{order:1}
.cards-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cards-photo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cards-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px;border-radius:18px;overflow:hidden}
.compare-col{padding:36px 32px;display:flex;flex-direction:column;gap:18px}
.compare-legacy{background:rgba(232,227,216,0.08)}
.compare-now{background:rgba(183,196,165,0.14)}
.compare .kicker{font-size:13px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;opacity:.55}
.compare h3{font-size:28px;letter-spacing:-0.02em}
.compare ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.compare li{font-size:16px;line-height:1.45;opacity:.88}
.compare li strong{display:block;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;opacity:.55;margin-bottom:4px}

.esg-visual{display:flex;flex-direction:column;gap:12px}
.esg-visual-label{font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;opacity:.5}
.esg-pillars{display:flex;flex-direction:column;gap:10px}
.esg-pillar{background:var(--cream-deep);border-radius:14px;padding:18px 20px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:4px;align-items:start}
.esg-pillar .esg-letter{grid-row:1 / span 2;font-size:28px;font-weight:700;letter-spacing:-0.03em;color:var(--brown);line-height:1;padding-top:2px}
.esg-pillar strong{font-size:16px;letter-spacing:-0.01em}
.esg-pillar p{font-size:14px;line-height:1.45;opacity:.72;margin:0;grid-column:2}
.esg-pillar ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 14px;grid-column:2}
.esg-pillar li{font-size:12px;font-weight:700;letter-spacing:0.02em;opacity:.88}
.esg-pillar li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cream);margin-right:8px;vertical-align:middle}
.esg-pillar.is-focus{background:var(--blue);color:var(--cream)}
.esg-pillar.is-focus .esg-letter{color:var(--sage)}
.esg-pillar.is-focus p{opacity:.9}
.card{background:#fff;border-radius:18px;padding:32px;box-shadow:0 20px 50px rgba(27,24,20,0.06);display:flex;flex-direction:column;gap:12px}
.card h3{font-size:24px;font-weight:700;letter-spacing:-0.01em}
.card p{font-size:17px;line-height:1.5;color:#4A4034;opacity:1}
.band-blue .card,.band-ink .card{background:rgba(232,227,216,0.1);border:1px solid rgba(232,227,216,0.25);box-shadow:none;color:var(--cream)}
.band-blue .card p,.band-ink .card p{color:var(--cream);opacity:1}

.cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.project-map{position:relative;background:transparent;border-radius:0;padding:8px 0 4px;box-shadow:none;overflow:visible}
.project-map>img{width:100%;height:auto;display:block;opacity:1}
.map-cluster{position:absolute;width:7.5%;height:8.5%;transform:translate(-50%,-50%);pointer-events:none}
.map-speck{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--blue);opacity:.55}
.map-pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;color:inherit;z-index:2;min-width:44px;min-height:44px;justify-content:center;padding:8px;box-sizing:content-box}
.map-dot{width:14px;height:14px;border-radius:50%;background:var(--sand);box-shadow:0 0 0 6px rgba(191,167,122,0.28);display:grid;place-items:center;font-size:0;color:#fff}
.map-pin.is-live .map-dot{width:28px;height:28px;background:var(--blue);box-shadow:0 0 0 8px rgba(31,94,212,0.22);font-size:11px;font-weight:700;letter-spacing:-0.02em}
.map-pin.is-live .map-dot:empty{width:14px;height:14px;font-size:0;box-shadow:0 0 0 6px rgba(31,94,212,0.22)}
.map-tip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);background:var(--ink);color:var(--cream);padding:8px 12px;border-radius:10px;white-space:nowrap;font-size:13px;line-height:1.25;opacity:0;pointer-events:none;transition:opacity .2s ease}
.map-tip strong{display:block;font-size:14px}
.map-tip em,.map-pin .map-tip{font-style:normal}
.map-pin:hover .map-tip,.map-pin:focus-visible .map-tip,.map-pin:focus-within .map-tip{opacity:1}
.contact-form label{display:block;font-size:14px;font-weight:700;letter-spacing:0.04em;margin-bottom:6px;color:var(--ink)}
.contact-form .field{display:flex;flex-direction:column;gap:0}
.map-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.map-place{background:#fff;border-radius:18px;padding:24px 26px;box-shadow:0 14px 36px rgba(27,24,20,0.06);display:flex;flex-direction:column;gap:8px;color:inherit}
.map-place:hover{color:inherit}
.map-status{font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase}
.map-status.is-live{color:var(--blue)}
.map-status.is-soon{color:var(--brown)}
.map-place h3{font-size:22px}
.map-place p{font-size:16px;opacity:.72}
.cat{background:#fff;border-radius:16px;padding:24px;box-shadow:0 14px 36px rgba(27,24,20,0.06);display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;min-height:168px}
.cat-token{width:132px;height:132px;object-fit:contain;display:block}
.token-row{display:flex;flex-wrap:wrap;gap:18px 22px;align-items:flex-start;justify-content:center}
.token-row a,.token-grid a{display:flex;flex-direction:column;align-items:center;gap:8px;color:inherit}
.token-row a{width:88px}
.token-row a:hover,.token-grid a:hover{color:var(--blue)}
.token-row img,.token-grid img{width:96px;height:96px;object-fit:contain;display:block}
.token-row em,.token-grid em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:0.02em;text-align:center;line-height:1.25;opacity:.72}
.band-blue .token-row a:not(.btn),.band-ink .token-row a:not(.btn){color:var(--cream)}
.band-blue .token-row a:not(.btn):hover,.band-ink .token-row a:not(.btn):hover{color:#fff}

.token-app{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:36px;align-items:center}
.token-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px;justify-items:center}
.token-app .hero-apps{margin:0}
.token-app .mock{aspect-ratio:9/16;max-height:420px}
.token-app .mock img{object-fit:contain}
.cat h3{font-size:18px;letter-spacing:-0.01em}
.cat p{font-size:15px;line-height:1.45;opacity:.72}
.cat h3{font-size:18px;letter-spacing:-0.01em}
.cat p{font-size:15px;line-height:1.45;opacity:.72}
.cat-more{background:var(--blue);color:#fff;box-shadow:none;justify-content:center}
.cat-more p{opacity:.9;color:#fff}
.ico{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon-sq{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(31,94,212,0.12);color:var(--blue)}
.cat-more .icon-sq{background:rgba(232,227,216,0.18);color:#fff}

.checklist{list-style:none;display:flex;flex-direction:column}
.checklist li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;padding:16px 0;border-bottom:1px solid var(--hair);opacity:.88}
.checklist li:last-child{border-bottom:0}
.checklist li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--blue);margin-top:9px}
.band-blue .checklist li,.band-ink .checklist li{border-bottom-color:var(--hair-dark)}
.band-blue .checklist li::before,.band-ink .checklist li::before{background:var(--sage)}

.flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}
.flow .pill{background:#fff;padding:12px 18px;border-radius:999px;box-shadow:0 8px 20px rgba(27,24,20,0.06);font-weight:700;white-space:nowrap;color:var(--ink)}
.flow .sep{opacity:.45;font-weight:700}

.logo-row{display:flex;flex-wrap:wrap;gap:20px 24px;align-items:center}
.logo-row img{height:42px;width:auto}
.logo-row img[alt="Mission Spiritus"]{filter:brightness(0)}
.logo-pair{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.logo-pair img[alt="United Nations"]{height:40px}
.logo-pair img[alt="Sustainable Development Goals"]{height:42px}
.logo-row img[alt="World Bank"]{height:26px}
.logo-row img[alt="Republic of Kenya"]{height:34px}
.band-blue .logo-row img,.band-ink .logo-row img{filter:brightness(0) invert(1)}
.band-blue .logo-row img[alt="Mission Spiritus"],.band-ink .logo-row img[alt="Mission Spiritus"]{filter:none}
.band-blue .logo-pair img[alt="Sustainable Development Goals"],.band-ink .logo-pair img[alt="Sustainable Development Goals"],
.band-blue .logo-row img[alt="Republic of Kenya"],.band-ink .logo-row img[alt="Republic of Kenya"]{filter:none}
.logo-text{font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;opacity:.7}

.news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.news-card{display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 20px 50px rgba(27,24,20,0.08);height:100%;min-height:0}
.news-card img{width:100%;height:240px;object-fit:cover;flex-shrink:0}
.news-body{padding:32px;display:flex;flex-direction:column;gap:12px;flex:1}
.news-body h3{font-size:26px;font-weight:700;letter-spacing:-0.015em}
.news-body p{font-size:17px;line-height:1.5;opacity:.72;flex:1}
.news-body a{margin-top:auto;align-self:flex-start}

.narrow{max-width:720px;margin:0 auto;text-align:center;display:flex;flex-direction:column;gap:20px;align-items:center}
.narrow h2{font-size:38px}
.narrow .lead{max-width:640px}
.narrow .cta-row,.narrow .store-badges{justify-content:center}
.narrow .store-badges{width:100%}
.narrow .store-badges a{display:flex;align-items:center;height:44px;overflow:hidden}
.narrow .store-badges img.play{margin:-11px 0}
.pull{font-size:25px;font-weight:700;letter-spacing:-0.02em;color:var(--blue);line-height:1.3}
.band-ink .pull,.band-blue .pull,.bleed .pull{color:var(--sage)}

.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.contact-form{display:flex;flex-direction:column;gap:14px}
.contact-form input,.contact-form textarea{width:100%;padding:16px 18px;border:1px solid var(--hair);border-radius:12px;background:#fff;color:var(--ink);font-size:16px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--blue);border-color:transparent}
.form-status{padding:12px 14px;border-radius:12px;background:rgba(138,42,42,0.08);color:#8a2a2a;font-size:15px}
.form-status[hidden],.contact-form[hidden],.contact-success[hidden]{display:none}
.contact-success{background:#fff;border-radius:18px;padding:36px;display:flex;flex-direction:column;gap:10px}

.site-foot{background:var(--blue);color:var(--cream);padding:48px 40px;display:flex;flex-direction:column;gap:28px}
.site-foot .wordmark{color:var(--cream);margin-left:-26px}
.site-foot a{color:var(--cream)}
.site-foot a:hover{color:#fff}
.foot-row{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:center;justify-content:space-between}
.foot-end{display:flex;flex-direction:column;gap:16px;align-items:flex-end}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:flex-end}
.foot-social{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.foot-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(232,227,216,0.28);color:var(--cream);transition:border-color .2s ease,background .2s ease,color .2s ease}
.foot-social a:hover{border-color:var(--cream);background:rgba(232,227,216,0.1);color:#fff}
.foot-social svg{width:18px;height:18px;fill:currentColor;display:block}
.foot-copy{opacity:.55;font-size:15px}

.legal{max-width:800px;display:flex;flex-direction:column;gap:20px;padding:40px 0 20px}
.legal h1{margin-bottom:12px}
.legal h2{font-size:28px;margin-top:12px}
.legal p,.legal li{color:#4A4034;opacity:1}
.legal ul{padding-left:1.2em;display:flex;flex-direction:column;gap:8px}
.legal-table-wrap{overflow-x:auto;margin:8px 0}
.legal-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45}
.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:14px 16px;border:1px solid var(--hair);color:#4A4034}
.legal-table th{background:var(--cream-deep);font-size:13px;letter-spacing:0.08em;text-transform:uppercase}

.hero-mosaic .tile,.mosaic-strip .tile,.photo-pair .tile,.bleed,.media-photo{overflow:hidden}
.hero-mosaic img,.mosaic-strip img,.bleed>img,.media-photo img,.photo-pair img{will-change:transform;transform:scale(1.12);transform-origin:center}
.card-photo img,.proj-card>img,.news-card img{transition:transform .9s cubic-bezier(.22,1,.36,1)}
.card-photo:hover img,.proj-card:hover>img,.news-card:hover img{transform:scale(1.06)}
.btn{transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.btn:hover{transform:translateY(-1px)}
.live-dot{animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.token-inline{animation:float 5.5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.motion .hero-editorial .strap,.motion .hero-editorial .display,.motion .hero-editorial .lead,.motion .hero-editorial .cta-row,.motion .hero-editorial .store-badges,.motion .hero-editorial .hero-mosaic,.motion .hero-editorial .hero-apps,.motion .hero-editorial .photo-pair,.motion .hero-editorial .hero-stats{
  animation:rise .9s cubic-bezier(.22,1,.36,1) both
}
.motion .hero-editorial .display{animation-delay:.06s}
.motion .hero-editorial .hero-foot .stack .lead{animation-delay:.14s}
.motion .hero-editorial .cta-row{animation-delay:.22s}
.motion .hero-editorial .store-badges{animation-delay:.3s}
.motion .hero-editorial .hero-mosaic,.motion .hero-editorial .hero-apps,.motion .hero-editorial .photo-pair,.motion .hero-editorial .hero-stats{animation-delay:.18s}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal.is-in{opacity:1;transform:none}
.reduce-motion .reveal,.reduce-motion .hero-editorial .strap,.reduce-motion .hero-editorial .display,.reduce-motion .hero-editorial .lead,.reduce-motion .hero-editorial .cta-row,.reduce-motion .hero-editorial .store-badges,.reduce-motion .hero-editorial .hero-mosaic,.reduce-motion .hero-editorial .hero-apps,.reduce-motion .hero-editorial .photo-pair,.reduce-motion .hero-editorial .hero-stats{
  animation:none;opacity:1;transform:none;transition:none
}
.reduce-motion .live-dot,.reduce-motion .token-inline{animation:none}
.reduce-motion .bleed>img,.reduce-motion .hero-mosaic img,.reduce-motion .mosaic-strip img,.reduce-motion .media-photo img,.reduce-motion .photo-pair img{transform:none;will-change:auto}

.caption{font-size:14px;opacity:.6;letter-spacing:0.02em}

@media(max-width:1100px){
.nav-main,.head-ctas{display:none}
.menu-btn{display:grid}
.site-head{grid-template-columns:auto auto;justify-content:space-between}
.tk-cell .tkv{font-size:27px}
.app-steps{grid-template-columns:repeat(8,minmax(120px,120px));grid-template-rows:none;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.app-step,.step-token-slot{display:flex;flex-direction:column;align-items:center;gap:10px;grid-row:auto;grid-template-rows:none;scroll-snap-align:start;text-align:center}
.app-step .num,.step-token-slot .num,.app-step h3,.step-token-slot .step-token-label{grid-row:auto}
.app-step .phones{grid-row:auto;align-self:auto;width:100%;justify-content:center}
.app-step .phones img{max-width:112px;width:112px;flex:0 0 auto}
.app-step .phones-2{min-width:240px;width:100%}
.step-token-slot{min-width:120px;width:120px}
.step-token-slot .phones{align-items:center;justify-content:center;width:100%;min-height:199px}
.step-token-slot .phones img{width:72px;max-width:72px;margin-inline:auto}
.step-token-slot figcaption{text-align:center;margin-inline:auto}
.eco-flow{grid-template-columns:minmax(0,1fr)}
.eco-box ul{grid-template-columns:1fr 1fr}
.trust-bar{grid-template-columns:minmax(0,1fr);gap:18px}
.trust-pills{justify-content:flex-start}
}

@media(max-width:900px){
.wrap,.site-head,.site-foot{padding-left:24px;padding-right:24px}
.site-head .wordmark,.site-foot .wordmark{margin-left:-16px}
.band{padding:64px 0}
.hero-editorial{padding:48px 0 56px}
h1{font-size:38px}
h2{font-size:29px}
.rail-item h3{font-size:25px}
blockquote{font-size:21px}
.hero-grid,.split,.split-rev,.cards-3,.cards-2,.cards-photo,.hero-foot,.quote-grid,.contact-grid,.proj-grid,.hero-stats,.photo-pair,.compare,.map-places,.esg-pillars,.token-app{grid-template-columns:minmax(0,1fr)}
.token-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.token-app .hero-apps{max-width:360px;margin:0 auto}
.split-rev .copy,.split-rev .media{order:unset}
.split,.hero-foot{gap:36px}
.cats,.stats,.cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-list{grid-template-columns:minmax(0,1fr)}
.rail-item{grid-template-columns:minmax(0,1fr);gap:14px;padding:30px 0}
.trust-copy strong{font-size:24px}
.tk-cell{flex:1 1 50%;border-right:0;border-bottom:1px solid rgba(232,227,216,0.14)}
.bleed,.bleed-scrim{min-height:460px}
.bleed.bleed-full{min-height:0}
.bleed-manifesto,.bleed-manifesto .bleed-scrim{min-height:0}
.hero-mosaic{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:150px;grid-template-rows:none;height:auto;min-height:0}
.hero-mosaic .tile.tall{grid-column:1 / -1;grid-row:auto;min-height:220px}
.mosaic-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
.mosaic-strip img{height:200px}
.narrow h2{font-size:29px}
.photo-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.photo-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.photo-3 .tile:nth-child(3){display:none}
.cards-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:600px){
.cards-stack{grid-template-columns:minmax(0,1fr)}
}
