@import "https://fonts.googleapis.com/css2?family=DM+Mono&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";body main .hero{background:var(--paper);min-height:auto;padding-block:clamp(76px,9vw,136px)}.hero-grid{grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);align-items:center;gap:clamp(40px,7vw,112px);display:grid}body main .hero h1{max-width:760px;font-size:clamp(3.1rem,5.6vw,6.45rem)}.hero h1 em{background:linear-gradient(transparent 58%,var(--acid) 58%);padding:0 .04em;font-style:normal;display:inline}.hero .intro{max-width:58ch;margin-block:28px 34px;font-size:1.05rem}.hero .signal{display:none}.system-map{border:1px solid var(--ink);background:var(--paper);margin:0;overflow:hidden}.system-map figcaption{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:16px;padding:12px 16px;font:.62rem DM Mono,monospace;display:flex}.system-map__body{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:24px 24px;grid-template-columns:1fr 1.18fr 1fr;gap:clamp(10px,2vw,28px);min-height:300px;padding:clamp(20px,3vw,34px);display:grid}.system-map__column,.system-map__core{flex-direction:column;align-self:center;gap:14px;display:flex;position:relative}.system-map__column:after{content:"";border-top:1px solid var(--ink);width:clamp(10px,2vw,28px);position:absolute;top:50%;right:calc(-1*clamp(10px,2vw,28px))}.system-map__column:last-child:after{left:calc(-1*clamp(10px,2vw,28px));right:auto}.system-map__column b,.system-map__core b{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font:.62rem DM Mono,monospace}.system-map__column span,.system-map__core span{border:1px solid color-mix(in srgb,var(--ink) 28%,transparent);background:var(--paper);padding:11px 12px;font-size:.82rem;line-height:1.2}.system-map__core{border:1px solid var(--ink);background:var(--paper);gap:0}.system-map__core b{background:var(--acid);color:var(--ink);padding:12px}.system-map__core span{border:0;border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}.system-map__core span:after{content:"•";float:right;color:#668b13}.system-map small{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;font:.62rem DM Mono,monospace;display:block}@media (width<=900px){.hero-grid{grid-template-columns:1fr}.system-map{max-width:720px}.hero .intro{max-width:64ch}}@media (width<=560px){body main .hero{padding-block:68px}.system-map{display:none}}:root{--ink:#17211d;--paper:#f4f2ec;--acid:#c8f169;--acid-soft:#e7f4c9;--line:#c7c6bc;--muted:#66706a;--gutter:clamp(24px,5vw,76px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}.nav{padding:24px var(--gutter);border-bottom:1px solid var(--line);z-index:2;justify-content:space-between;align-items:center;gap:24px;display:flex;position:relative}.brand{letter-spacing:-.08em;font-size:1.4rem;font-weight:800}.brand span{color:#76a80e}.nav nav{gap:26px;font-size:.84rem;display:flex}.nav-cta,.text-link{font-size:.82rem;font-weight:700}.nav-cta span,.text-link span,.button span{padding-left:6px;font-size:1.1em}.hero{min-height:680px;padding:120px var(--gutter) 55px;background:linear-gradient(110deg,#eeece5,#f7f6f1);position:relative;overflow:hidden}.eyebrow,.number{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 20px;font:.67rem DM Mono,monospace}.hero h1,.statement h2,.section-head h2,.about h2,.contact h2{letter-spacing:-.07em;max-width:900px;margin:0;font-size:clamp(3.2rem,7.5vw,7.6rem);line-height:.95}.hero h1 em{font-family:Playfair Display,serif;font-weight:600}.intro{max-width:570px;margin:36px 0;font-size:1.22rem;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.button{background:var(--ink);color:#fff;border-radius:2px;padding:15px 20px;font-size:.83rem;font-weight:700;display:inline-block}.signal{right:var(--gutter);align-items:center;gap:11px;font:.65rem DM Mono,monospace;display:flex;position:absolute;bottom:50px}.signal i{border-top:1px solid var(--ink);width:20px;display:block}.statement{padding:clamp(88px,10vw,145px) var(--gutter);background:var(--ink);color:#f7f6ef;grid-template-columns:minmax(260px,.82fr) minmax(500px,1.18fr);gap:clamp(44px,8vw,140px);display:grid}.statement .eyebrow{color:var(--acid)}.statement h2{max-width:760px;font-size:clamp(2.4rem,4.5vw,4.6rem)}.statement-copy>p:last-child,.about>p:last-child{color:#cbd1ca;max-width:580px;margin-top:28px;font-size:1.02rem;line-height:1.8}.enquiry-trace{background-image:linear-gradient(#25312a 1px,#0000 1px),linear-gradient(90deg,#25312a 1px,#0000 1px);background-size:24px 24px;border:1px solid #536059;align-self:center;overflow:hidden}.trace-flow{grid-template-columns:repeat(5,minmax(132px,1fr));gap:clamp(18px,3vw,42px);padding:clamp(22px,3vw,38px);display:grid;overflow-x:auto}.trace-flow article{background:var(--ink);border:1px solid #657068;min-width:132px;min-height:154px;padding:14px;position:relative}.trace-flow article:after{content:"";border-top:1px solid var(--acid);width:clamp(18px,3vw,42px);position:absolute;top:50%;left:100%}.trace-flow article:before{content:"";z-index:1;background:var(--acid);width:6px;height:6px;position:absolute;top:calc(50% - 3px);right:calc(clamp(18px,3vw,42px)/-2 - 3px)}.trace-flow article:last-child:after,.trace-flow article:last-child:before{display:none}.trace-flow b{color:var(--acid);letter-spacing:.08em;border-bottom:1px solid #657068;margin:-14px -14px 28px;padding:8px 14px;font:.62rem DM Mono,monospace;display:block}.trace-flow h3{letter-spacing:-.04em;margin:0 0 9px;font-size:1rem}.trace-flow p{color:#bac4ba;margin:0;font-size:.74rem;line-height:1.5}.trace-log{background:#17211dd9;border-top:1px solid #536059;flex-wrap:wrap;gap:0;display:flex}.trace-log span{color:#cbd1ca;letter-spacing:.04em;border-right:1px solid #536059;padding:11px 13px;font:.61rem DM Mono,monospace}.trace-log span:before{content:"●";color:var(--acid);margin-right:7px}.services,.examples,.process,.portfolio{padding:100px var(--gutter);border-top:1px solid var(--line)}.section-head{grid-template-columns:22% 1fr;margin-bottom:55px;display:grid}.section-head h2{font-size:clamp(2.3rem,4.5vw,4.5rem)}.cards{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.cards article{border-right:1px solid var(--line);padding:34px}.cards article:last-child{border:0}.cards h3,.example-grid h3,.process h3{letter-spacing:-.05em;margin:0 0 15px;font-size:1.45rem}.cards p:not(.number),.example-grid p,.process p{color:#4b5650;font-size:.92rem;line-height:1.7}.cards ul{border-top:1px solid var(--line);margin:25px 0 0;padding:18px 0 0;font-size:.79rem;line-height:2;list-style:none}.cards li:before{content:"↗";color:#6a960c;margin-right:8px}.portfolio{background:var(--acid-soft)}.portfolio .eyebrow,.work-meta span{color:#4f6c14}.work-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.work-card{background:var(--acid);border:1px solid #17211d59;min-height:270px;padding:30px}.work-meta{flex-direction:column;align-items:flex-start;gap:12px;height:100%;display:flex}.work-meta span{letter-spacing:.09em;text-transform:uppercase;font:.63rem DM Mono,monospace}.work-meta h3{letter-spacing:-.05em;margin:0;font-size:1.7rem}.work-meta p{color:#38433d;max-width:31ch;margin:0;font-size:.92rem;line-height:1.65}.work-meta .text-link{margin-top:auto}.examples{background:var(--ink);color:#f7f6ef}.examples .eyebrow{color:#bfc9be}.example-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.example-grid article{border-top:1px solid #536059;padding:30px 0}.example-grid span{color:var(--acid);text-transform:uppercase;font:.63rem DM Mono,monospace}.example-grid h3{margin-top:27px;font-size:1.8rem}.example-grid p{color:#ccd2ca}.process ol{grid-template-columns:repeat(4,1fr);gap:22px;margin:0;padding:0;list-style:none;display:grid}.process li{border-top:1px solid var(--ink);padding-top:18px}.process b{font:.68rem DM Mono,monospace}.process h3{margin-top:45px}.about{padding:130px var(--gutter);background:#dbddd2}.about h2{font-size:clamp(2.6rem,5vw,5.2rem)}.contact{padding:120px var(--gutter);background:var(--acid)}.contact h2{max-width:1020px;font-size:clamp(2.5rem,5vw,5.3rem)}.contact p:not(.eyebrow){max-width:570px;margin:28px 0;line-height:1.7}footer{padding:35px var(--gutter);grid-template-columns:1fr 2fr 1fr;align-items:center;font-size:.76rem;display:grid}footer p{text-align:center;color:var(--muted)}footer>a:last-child{text-align:right;text-decoration:underline}@media (width<=900px){.statement{grid-template-columns:1fr}.trace-flow{grid-template-columns:repeat(5,150px)}}@media (width<=760px){:root{--gutter:7vw}.nav nav{display:none}.nav-cta{font-size:.7rem}.hero{min-height:auto;padding-top:95px;padding-bottom:130px}.signal{right:auto;left:var(--gutter);gap:7px;font-size:.52rem;bottom:45px}.signal i{width:10px}.statement,.about,.contact{padding-block:90px}.services,.examples,.process,.portfolio{padding-block:75px}.trace-flow{padding:20px}.trace-log span{border-bottom:1px solid #536059;flex:50%}.section-head{display:block}.cards,.work-grid,.example-grid,.process ol{grid-template-columns:1fr}.cards article{border-right:0;border-bottom:1px solid var(--line)}.cards article:last-child{border-bottom:0}.work-grid{gap:18px}.work-card{min-height:230px}.example-grid{gap:0}.example-grid article{padding:28px 0}.process li{grid-template-columns:45px 1fr;display:grid}.process h3{margin-top:0}.process p{margin-bottom:0}footer{grid-template-columns:1fr;gap:14px}footer p,footer>a:last-child{text-align:left;margin:0}}@keyframes trace-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.about>p:last-child{color:#344039}@keyframes trace-pulse{0%{opacity:0;transform:scale(.4)}45%{opacity:1;transform:scale(1.7)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:no-preference){.trace-flow article{animation:.42s both trace-in}.trace-flow article:nth-child(2){animation-delay:80ms}.trace-flow article:nth-child(3){animation-delay:.16s}.trace-flow article:nth-child(4){animation-delay:.24s}.trace-flow article:nth-child(5){animation-delay:.32s}.trace-flow article:before{animation:.65s ease-out both trace-pulse}.trace-flow article:nth-child(2):before{animation-delay:80ms}.trace-flow article:nth-child(3):before{animation-delay:.16s}.trace-flow article:nth-child(4):before{animation-delay:.24s}}
