body{margin:0}html{scroll-padding-top:24px}.hero .wrap{align-items:center}.hero-text{grid-column:1 / span 6}.hero h1{font-size:clamp(52px,7.6vw,104px);line-height:.94}.hero{padding-block:64px 100px}.map{grid-column:7 / -1;margin:0 0 0 24px}.network{overflow:visible}.map-grid{stroke-width:1}.network text{font:14px var(--text);fill:var(--green)}.network .ring-label{font-size:11px;fill:var(--muted);paint-order:stroke;stroke:var(--paper);stroke-width:7px;stroke-linejoin:round}.network .map-annotation{font-size:12px;fill:var(--muted)}.office{transition:opacity .3s}.office .node{fill:var(--green);stroke:var(--green);stroke-width:1.5;transition:r .3s}.office .connection{stroke:var(--green);stroke-width:1;opacity:0;transition:opacity .35s}.office[data-kind=t] .node{fill:var(--paper)}.office[data-kind=n] .node{fill:var(--paper);stroke:var(--sage)}.office[data-kind=a] .node{fill:var(--accent);stroke:var(--accent)}.office[data-kind=a] .connection{stroke:var(--accent);opacity:.65}.map.is-filtered .office{opacity:.12}.map.is-filtered .office.is-active{opacity:1}.map.is-filtered .office.is-active .connection{opacity:.65}.map.is-filtered .office.is-active .node{r:8}.legend{gap:4px 16px;margin-top:16px;padding-top:16px}.legend button{font:13px var(--text);color:var(--green);display:inline-flex;align-items:center;gap:8px;border:0;border-bottom:1px solid transparent;background:transparent;padding:10px 0;cursor:pointer;min-height:44px}.legend button:hover,.legend button[aria-pressed=true]{border-bottom-color:var(--green)}.legend button[aria-pressed=true]{font-weight:600}.legend .n{border-color:var(--green)}
.turn .grid{align-items:center}.photo{min-height:540px}.photo img{object-position:50% 50%}.photo .plan{bottom:16px;filter:drop-shadow(0 1px 3px #141614)}.turn-copy{padding-right:24px}.turn-copy h2{font-size:clamp(34px,3.7vw,52px)}
.process-art{grid-column:1 / -1;margin:0 0 24px;color:var(--green)}.process-art svg{display:block;width:100%;height:auto}.process-base{opacity:.3;stroke-width:1}.process-symbols [data-symbol]{opacity:.4;transition:opacity .3s}.process-art[data-stage="0"] [data-symbol="0"],.process-art[data-stage="1"] [data-symbol="1"],.process-art[data-stage="2"] [data-symbol="2"],.process-art[data-stage="3"] [data-symbol="3"],.process-art[data-stage="4"] [data-symbol="4"]{opacity:1}.process-active{transition:cx .45s cubic-bezier(.2,.7,.2,1)}.cycle-steps{grid-column:1 / -1;gap:32px;grid-template-columns:repeat(5,minmax(0,1fr));border-top:0}.step{border-top:1px solid var(--rule);position:relative;padding-top:20px}.step:has([aria-pressed=true]){border-top-color:var(--green)}.step h3 button{font:inherit;letter-spacing:inherit;text-align:left;background:none;border:0;color:var(--ink);padding:0 0 8px;min-height:44px;cursor:pointer}.step h3 button:hover,.step h3 button[aria-pressed=true]{color:var(--green)}.step .n{font-size:13px}.cycle-steps .step p{font-size:16px;line-height:1.55}.cycle-foot{margin-top:32px}.nav-toggle{display:none}.btn{min-height:46px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.network .office{animation:arrive .8s both}.network .office:nth-child(3n){animation-delay:.15s}.network .office:nth-child(3n+1){animation-delay:.3s}@keyframes arrive{from{opacity:0}to{opacity:1}}.map.is-filtered .office{animation:none}}
@media(max-width:1000px){.hero h1{font-size:clamp(52px,7.5vw,80px)}.cycle-steps{gap:20px}.cycle-steps .step h3{font-size:25px}}
@media(max-width:900px){.hero{padding-block:32px 64px}.hero-text{grid-column:1 / -1;max-width:680px}.hero h1{font-size:clamp(52px,10vw,84px)}.map{grid-column:1 / -1;max-width:560px;width:100%;margin:24px auto 0}.hero .lead{max-width:38ch}.photo{min-height:0;aspect-ratio:3/2}.turn-copy{padding-right:0;padding-block:24px}.turn-copy h2{max-width:18ch}.turn .grid{gap:32px}.cycle-steps{grid-template-columns:1fr;gap:0}.cycle-steps .step{display:grid;grid-template-columns:32px 1fr;gap:0 16px;padding:20px 0;border-bottom:0}.step .n{padding-top:12px}.step h3{grid-column:2}.step p{grid-column:2;max-width:44ch!important}.process-art{margin-bottom:0}.process-art svg{min-height:120px}.cycle-foot{grid-column:1 / -1}.nav-toggle{display:flex;align-items:center;gap:12px;font:15px var(--display);color:var(--green);background:none;border:0;padding:12px;min-height:44px;margin-left:auto}.top .wrap{flex-wrap:wrap;gap:12px}nav.main{gap:16px}nav.main a.btn{font-size:13px;padding:12px 14px}nav.main.is-open{width:100%;order:3;display:grid;grid-template-columns:1fr 1fr;padding-top:16px;border-top:1px solid var(--rule)}nav.main.is-open a:not(.btn){display:block;padding:12px 0}.sec-head h2{line-height:1.02}}
@media(max-width:480px){header.top{padding-block:16px}.logo{width:108px}.hero-text{gap:24px}.hero h1{font-size:clamp(48px,12.8vw,62px);letter-spacing:-.045em}.hero .lead{font-size:18px}.hero-cta{gap:16px}.map{margin-top:16px}.legend{gap:0 18px}.legend button{font-size:12px}.photo{aspect-ratio:1.15}.photo img{object-position:47% center}.turn-copy h2{font-size:36px}.process-art{overflow:hidden}.process-symbols{stroke-width:2.5}.process-base{stroke-width:2}.process-active{stroke-width:2.5}.cycle-foot{gap:24px}.nav-toggle{padding-inline:4px;gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:900px){.turn .photo{margin-left:calc(-1 * var(--gut));margin-right:calc(-1 * var(--gut));width:calc(100% + 2 * var(--gut))}}

.turn .photo{min-width:0}
@media(max-width:900px){.turn .grid{display:flex;flex-direction:column;align-items:stretch}.turn .photo{flex:none}}
/* Review revision: each illustration, number and title shares one axis. */
@media(min-width:901px){
 .cycle-steps{gap:0}
 .cycle-steps .step{padding:20px 18px 0;border-top:0}
 .cycle-steps .step .n,.cycle-steps .step h3{text-align:center}
 .cycle-steps .step h3 button{text-align:center}
 .cycle-steps .step p{max-width:24ch;margin-inline:auto}
 .cycle-steps .step::before{content:"";height:1px;background:var(--rule);position:absolute;top:0;left:18px;right:18px}
 .cycle-steps .step:has([aria-pressed=true])::before{background:var(--green)}
}
.cycle-foot{grid-column:1 / -1;width:min(100%,880px);margin:48px auto 0;grid-template-columns:1fr 1fr;gap:24px 64px;padding-top:24px}
.cycle-foot>svg{grid-column:1 / -1;justify-self:center;margin:0;width:52px}
.cycle-foot>div{min-width:0}.cycle-foot p{max-width:none}
@media(max-width:600px){.cycle-foot{grid-template-columns:1fr;max-width:440px;gap:24px}.cycle-foot>svg{grid-column:1}}
.card h3{transition:color .2s}.card:hover h3,.card:focus-visible h3{color:var(--green)}
.card .cue{font-family:var(--display);font-weight:600;font-size:14px;color:var(--green);margin-top:2px}
div.card .thumb img{transition:none}div.card:hover .thumb img{transform:none}
@media(prefers-reduced-motion:reduce){.card h3{transition:none}}
/* Launch: no service pages yet, so rows are two columns. */
.menu .row{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
@media(max-width:900px){.menu .row{grid-template-columns:1fr}}
.founder{font-size:15px;color:var(--muted)}.founder a{color:var(--green);font-family:var(--display);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}
.contact a{color:var(--ink);font-weight:500;text-decoration:none;border-bottom:1px solid var(--rule)}.contact a.btn{border:0}.contact a:not(.btn):hover{border-bottom-color:var(--green)}
footer .f2{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 20px}footer .f2 a{color:var(--muted);text-decoration:none}footer .f2 a:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){footer .f2{justify-content:flex-start}}
