
:root{--bg:#f6f5f0;--ink:#1d211f;--mute:#4d5651;--sage:#71a388;--sageD:#2f4a3b;--sageL:#dfeae3;--acc:#8a2f5c;--accT:#fff;--line:#d5d8d1;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#171b19;--ink:#eef0ea;--mute:#aab3ad;--sageL:#233029;--line:#34403a;--acc:#d27aa5;--accT:#1d1018;--sageD:#a9cdb8}}
:root[data-theme="dark"]{--bg:#171b19;--ink:#eef0ea;--mute:#aab3ad;--sageL:#233029;--line:#34403a;--acc:#d27aa5;--accT:#1d1018;--sageD:#a9cdb8}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 1.06rem/1.65 'Atkinson Hyperlegible',system-ui,sans-serif}
h1,h2,h3{font-family:Newsreader,Georgia,serif;font-weight:500;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,7vw,5.6rem);font-weight:300}h2{font-size:clamp(1.9rem,4vw,3.1rem)}h3{font-size:1.35rem}
p{margin:0 0 1em;max-width:62ch}a{color:inherit}
.w{max-width:1180px;margin:0 auto;padding:0 1.4rem}
header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.4rem;max-width:1180px;margin:0 auto}
.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none}.logo img{height:50px;width:auto;display:block}.logo span{display:grid;line-height:1.05;color:var(--sageD)}.logo b{font:600 1.5rem 'Atkinson Hyperlegible',sans-serif;letter-spacing:.14em;text-transform:uppercase}.logo i{font:500 .8rem 'Atkinson Hyperlegible',sans-serif;letter-spacing:.7em;text-transform:uppercase;font-style:normal}
nav{display:flex;gap:1.1rem;flex-wrap:wrap;font-size:.95rem;font-weight:500}
nav a{text-decoration:none;padding:.3rem 0;border-bottom:2px solid transparent}nav a:hover,nav a.on{border-color:var(--acc)}
.btn{display:inline-block;background:var(--acc);color:var(--accT);padding:.8rem 1.4rem;text-decoration:none;font-weight:600;border:0;border-radius:2px;cursor:pointer;font:600 1rem 'Atkinson Hyperlegible',sans-serif}
.btn.alt{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn:hover{filter:brightness(1.1)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.page{display:none}.page.on{display:block}
section{padding:5.5rem 0}
.hero{padding:4rem 0 5rem;position:relative;overflow:hidden}
.hero .g{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:center}
.hero h1 span{display:block}
.lead{font-size:1.25rem;color:var(--mute);max-width:46ch}
.acts{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.art{width:100%;height:auto;display:block}
.sage{background:var(--sage);color:#14211a}.sage p{color:#14211a}
.deep{background:var(--sageD);color:#f1f4ee}.deep p{color:#dbe5dd}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .deep{background:#0f1613;color:#eef0ea}}
.quote{font:300 clamp(1.8rem,4.2vw,3.4rem)/1.15 Newsreader,serif;max-width:20ch}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}
.split.r{grid-template-columns:1.2fr .8fr}
.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2.5rem;border-top:2px solid currentColor}
.steps div{padding:1.4rem 1.4rem 0 0}.steps h3{font-size:1.7rem}
.list{list-style:none;padding:0;margin:0;columns:2;column-gap:3rem}.list li{padding:.55rem 0;border-bottom:1px solid var(--line);break-inside:avoid}
.work{border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;padding:1.5rem 0}
.work h3{margin:0}.tag{display:inline-block;font-size:.8rem;font-weight:600;padding:.15rem .6rem;border-radius:99px;margin-left:.6rem;vertical-align:middle;background:var(--sageL);color:var(--sageD)}
.tag.dev{background:transparent;box-shadow:inset 0 0 0 1.5px var(--acc);color:var(--acc)}
.bars{display:grid;gap:1rem}.bar-r{display:grid;grid-template-columns:1fr 4.5rem;gap:.3rem 1rem;align-items:center}
.bar-r .t{grid-column:1/-1;font-size:.98rem}.track{height:14px;background:rgba(255,255,255,.18);border-radius:1px}.track i{display:block;height:100%;background:var(--sage)}
.bar-r b{font-family:Newsreader,serif;font-weight:500;font-size:1.2rem;text-align:right}
.facts{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:1.5rem 0;font-weight:500}.facts span{border-bottom:2px solid var(--sage)}
blockquote{margin:0;padding-left:1.6rem;border-left:4px solid var(--acc);font:300 1.5rem/1.4 Newsreader,serif;max-width:34ch}
blockquote footer{font:500 1rem 'Atkinson Hyperlegible';margin-top:1rem;color:var(--mute)}
.tiers div{display:grid;grid-template-columns:8rem 1fr;gap:1.5rem;padding:1.4rem 0;border-top:1px solid rgba(255,255,255,.3)}
.tiers b{font:300 2.2rem Newsreader,serif}
.slot{min-height:280px;background:repeating-linear-gradient(135deg,var(--sageL) 0 14px,transparent 14px 28px);border:1px solid var(--line);display:flex;align-items:end;padding:1rem;font-size:.85rem;color:var(--mute)}
form{display:grid;gap:1.1rem;max-width:560px}label{font-weight:600;font-size:.95rem;display:grid;gap:.3rem}
input,select,textarea{font:inherit;padding:.75rem;border:1.5px solid var(--mute);background:var(--bg);color:var(--ink);border-radius:2px;width:100%}
.legal{background:var(--ink);color:var(--bg);padding:3rem 0;font-size:.92rem}.legal p{max-width:none;color:inherit;opacity:.85}.legal a{margin-right:1.2rem}
.prose h2{font-size:1.5rem;margin-top:2rem}.prose{max-width:68ch}
.ph{margin:0}.ph img{width:100%;height:auto;display:block}.ph figcaption{font-size:.85rem;color:var(--mute);margin-top:.5rem}.gal{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1rem}.gal .ph img{height:100%;max-height:420px;object-fit:cover}@media (max-width:820px){.gal{grid-template-columns:1fr}}.fade{animation:up .9s ease both}@keyframes up{from{opacity:0;transform:translateY(14px)}}
@media (prefers-reduced-motion:reduce){.fade{animation:none}html{scroll-behavior:auto}}
@media (max-width:820px){.hero .g,.split,.split.r,.work,.steps{grid-template-columns:1fr}.list{columns:1}nav{font-size:.88rem;gap:.7rem}.bar{flex-direction:column;align-items:flex-start}section{padding:3.5rem 0}.tiers div{grid-template-columns:1fr;gap:.3rem}}

h1,.quote,blockquote,.tiers b,.bar-r b{font-weight:400!important}h2,h3{font-weight:500!important}.logo b{font-weight:700!important}
nav a{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700}
.hero{padding:3.5rem 0 5rem}.hero .g{grid-template-columns:1.05fr .95fr;position:relative;z-index:1}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.7rem)}.hero h1 em{font-style:italic;color:var(--acc)}
.wm{position:absolute;width:min(780px,95vw);right:-170px;bottom:-210px;opacity:.08;pointer-events:none}
.cards{position:relative;min-height:500px}.card{position:absolute;margin:0;overflow:hidden;background:#fff;box-shadow:0 22px 40px -22px rgba(0,0,0,.45)}
.card img{width:100%;height:100%;object-fit:cover;display:block}.c1{left:0;top:0;width:58%;aspect-ratio:3/4}.c2{right:0;bottom:0;width:52%;aspect-ratio:3/4}
.card figcaption{position:absolute;left:0;top:0;bottom:0;width:2.3rem;background:rgba(246,245,240,.94);color:#1d211f;writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700;padding:.9rem 0;text-align:right}
.badge{position:absolute;right:-6px;top:-18px;width:118px;height:118px;border-radius:50%;display:block;z-index:3}.badge svg{width:100%;height:100%;display:block}
.spin{transform-origin:60px 60px;animation:rot 28s linear infinite}@keyframes rot{to{transform:rotate(360deg)}}
.steps{border-top:0}
.list li{border-bottom:0;padding:.4rem 0}.work{border-top:0;padding:1.1rem 0}
.flow{position:fixed;left:6px;top:0;height:100vh;width:56px;pointer-events:none;z-index:15;display:none}
@media (min-width:1320px){.flow{display:block}}
@supports (animation-timeline:scroll()){.flow path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw linear both;animation-timeline:scroll(root)}@keyframes draw{to{stroke-dashoffset:0}}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}.flow path{animation:none!important;stroke-dashoffset:0!important}}
@media (max-width:820px){.hero .g{grid-template-columns:1fr}.cards{min-height:430px}.steps div:nth-child(n){margin-top:0}.wm{right:-120px;bottom:-120px}}
.flow path{stroke-width:1.5;opacity:.28}
.big{font:400 clamp(1.6rem,3.2vw,2.5rem)/1.2 Newsreader,Georgia,serif;max-width:24ch;margin-bottom:2.5rem}.vg{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem}.vg small{display:block;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.72rem;color:var(--acc);margin-bottom:.4rem}.vg p{margin:0}@media (max-width:820px){.vg{grid-template-columns:1fr}}
.grp{display:block;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.72rem;opacity:.85;margin-top:.6rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--acc);color:var(--accT);padding:.6rem 1rem;z-index:50}.sub{font-family:"Atkinson Hyperlegible",sans-serif;font-size:.85rem!important;text-transform:uppercase;letter-spacing:.14em;color:var(--acc);margin:0 0 .5rem}
