@font-face{font-family:Manrope;src:url('../fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Mono;src:url('../fonts/jetbrains-mono.woff2') format('woff2');font-display:swap}
:root{--paper:#f4f1e8;--ink:#202820;--muted:#596052;--line:#c5c8ba;--orange:#ffad32;--dark:#17231e}
/* Arrows are drawn, not typed: iOS gives U+2197/2193/2191 an emoji
   presentation, which rendered the CTA decoration as a giant blue square. */
:root{--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5l7 7-7 7'/%3E%3C/svg%3E")}
.ico{display:inline-block;width:1em;height:1em;vertical-align:-.12em;background-color:currentColor;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat}
.ico-ne{transform:rotate(-45deg)}.ico-dn{transform:rotate(90deg)}.ico-up{transform:rotate(-90deg)}
@supports not ((-webkit-mask:none) or (mask:none)){.ico{display:none}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:6px}a:focus-visible{outline:3px solid #a6420c;outline-offset:7px}.skip{position:fixed;left:20px;top:-100px;padding:15px;background:var(--paper);z-index:30}.skip:focus{top:15px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.02;letter-spacing:-.055em}h1,h2{font-weight:600}em{font-style:normal;color:#65725b}header,footer{display:flex;align-items:center;justify-content:space-between;padding:15px 5vw;gap:25px}header{height:100px;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:block;flex-shrink:0;line-height:0}.brand img{width:208px;height:78px;object-fit:contain}nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:600}nav a{text-decoration:none}.nav-contact{border:1px solid var(--ink);border-radius:50px;padding:11px 20px}.nav-contact span{margin-left:20px}.hero{padding:65px 5vw 0;display:grid;grid-template-columns:1.1fr 1fr;position:relative;overflow:hidden;gap:0 2vw}.hero-copy{position:relative;z-index:2;padding-bottom:30px}.eyebrow,.number,.tags,.hero-foot,.specimen-top,.specimen-bottom,.capability-art>span,.flow li>span{font-family:Mono,monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase}.eyebrow{margin-bottom:30px;font-weight:500}h1{font-size:clamp(74px,8.3vw,136px);margin-bottom:30px;line-height:.94}h1 em{color:var(--ink)}.intro{max-width:460px;font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:28px}.button{display:inline-flex;align-items:center;gap:30px;padding:16px 24px;background:var(--ink);color:var(--paper);border-radius:50px;text-decoration:none;font-size:13px}.button span{font-size:20px}.text-link{display:inline-block;margin-left:24px;font-size:12px}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;padding:23px 0;border-top:1px solid var(--line);gap:20px;font-size:9px}.specimen{position:relative;min-height:560px;isolation:isolate}.specimen-top,.specimen-bottom{position:absolute;left:20px;right:0;display:flex;justify-content:space-between;z-index:2;font-size:8px}.specimen-top{top:0}.specimen-bottom{bottom:35px;letter-spacing:0}.coordinate{text-align:right}.sculpture{position:absolute;width:100%;aspect-ratio:1;top:47%;left:50%;transform:translate(-50%,-50%);perspective:900px}.ribbon{position:absolute;left:10%;top:22%;width:80%;height:55%;border:22px solid #f5a623;border-top-color:#ffce69;border-bottom-color:#a84e08;border-radius:50%;transform:rotate(calc(var(--i)*15deg)) rotateY(48deg);box-shadow:inset 3px 3px 7px #ffde91,4px 5px 9px #6f3d1624;opacity:.92}.core{position:absolute;width:20%;height:20%;left:40%;top:40%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffd791,#de870e 45%,#633706);box-shadow:12px 16px 24px #55331035}.sculpture-axis{position:absolute;inset:1%;border:1px solid #b6bbad;border-radius:50%;transform:rotateX(58deg) rotate(-22deg)}.signal{position:absolute;width:12px;height:12px;background:var(--ink);border:3px solid var(--paper);border-radius:50%}.signal-a{left:5%;top:39%}.signal-b{right:6%;bottom:37%}.wrap{padding:130px 7vw}h2{font-size:clamp(44px,5.5vw,88px);margin-bottom:40px}.manifesto{display:grid;grid-template-columns:1.2fr 1fr;gap:0 9vw}.manifesto>.eyebrow{grid-column:1/-1}.manifesto h2{margin:0}.manifesto>div{max-width:470px;padding-top:12px;color:var(--muted);font-size:15px}.capabilities{background:var(--dark);color:var(--paper);padding-bottom:100px}.capabilities em{color:#b2bea6}.section-heading{padding-bottom:50px;border-bottom:1px solid #4d5b50}.service-sequence{display:grid;grid-template-columns:1fr 1.1fr;column-gap:8vw;position:relative}.capability-art{grid-column:1;grid-row:1 / span 5;position:sticky;top:70px;height:540px;display:flex;flex-direction:column;justify-content:space-between;padding:40px 0}.capability-art>span{color:#b7c4b8;font-size:9px}.capability-orbits{position:relative;width:100%;aspect-ratio:1;max-width:390px;align-self:center;perspective:600px}.capability-orbits i{position:absolute;inset:9%;border:22px solid #ffaa35;border-radius:50%;transform:rotateY(55deg) rotateZ(25deg);box-shadow:inset 3px 3px 3px #ffdb96}.capability-orbits i:nth-child(2){transform:rotateY(-55deg) rotateZ(-25deg);border-color:#df8221}.capability-orbits i:nth-child(3){transform:rotateX(65deg);border-color:#ffc769}.capability-orbits b{position:absolute;inset:40%;border-radius:50%;background:#f6f0d5;box-shadow:0 0 45px #f4d19345}.capability-index{font-size:16px!important}.service{grid-column:2;min-height:440px;padding:55px 0;border-bottom:1px solid #4d5b50;display:flex;flex-direction:column;justify-content:center}.number{color:#f9b652;margin-bottom:24px}.service h3{font-size:clamp(32px,3.5vw,54px);font-weight:500;letter-spacing:-.05em;margin-bottom:25px}.service p{font-size:14px;color:#c9d1c4;max-width:480px}.tags{color:#f4bd70;font-size:9px;line-height:2;letter-spacing:0}.example{background:#dce1d2;position:relative;overflow:hidden}.example-layout{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.example h2 em{color:#57674f}.example-layout>div>p:last-child{max-width:390px;font-size:14px;color:#475443}.flow{list-style:none;margin:0;padding:0;position:relative}.flow:before{content:'';position:absolute;top:15px;bottom:80px;left:12px;width:1px;background:#899681}.flow li{position:relative;padding:0 0 42px 50px}.flow li:before{content:'';position:absolute;top:5px;left:4px;width:17px;height:17px;border-radius:50%;background:var(--ink);border:4px solid #dce1d2;outline:1px solid #74826c}.flow li>span{font-size:9px;color:#4b5a43}.flow strong{display:block;font-size:28px;letter-spacing:-1px;line-height:1.2;font-weight:500;margin:15px 0}.flow p{font-size:13px;max-width:300px;color:#475443}.approach{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.approach-intro{font-size:14px;color:var(--muted);margin-bottom:35px}.steps article{border-top:1px solid var(--line);padding:25px 0;display:flex;gap:20px}.steps article>span{font-family:Mono,monospace;font-size:10px}.steps h3{font-size:23px;letter-spacing:-1px;line-height:1.2;font-weight:500;margin-bottom:15px}.steps p{font-size:13px;color:var(--muted);margin:0}.contact{position:relative;overflow:hidden;background:var(--orange);padding-top:90px;padding-bottom:70px}.contact:after{content:'';width:420px;height:420px;position:absolute;right:-30px;top:-30px;background-color:#20282012;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;transform:rotate(-45deg);pointer-events:none}.contact>*{position:relative;z-index:1}.contact h2{font-size:clamp(55px,8.5vw,132px);max-width:1100px}.contact em{color:#694310}.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px}.contact-bottom p{font-size:14px;margin:0}.contact-bottom>a{font-size:clamp(18px,2.7vw,42px);letter-spacing:-1px;text-decoration:none;border-bottom:1px solid;padding-bottom:8px}footer{min-height:145px}footer p,footer>a:last-child{font-size:11px}footer p{margin:0}footer .brand img{width:180px;height:auto}a{transition:background-color .2s,color .2s}.button:hover{background:#465a3b}.nav-contact:hover{background:var(--ink);color:var(--paper)}.capabilities a:focus-visible{outline-color:#ffbd60}
@media(min-width:1800px){.hero,.wrap,header,footer{padding-left:max(7vw,calc((100vw - 1600px)/2));padding-right:max(7vw,calc((100vw - 1600px)/2))}}
@media(max-width:1100px){header{height:90px}.brand img{width:175px;height:auto}nav{gap:24px}.hero{padding-top:50px}h1{font-size:8.7vw}.specimen{min-height:510px}.ribbon{border-width:16px}.text-link{display:block;margin:20px 0 0}.wrap{padding:90px 6vw}.capability-art{height:480px}.service-sequence{column-gap:6vw}.service{min-height:400px}.manifesto,.approach,.example-layout{gap:5vw}}
@media(max-width:760px){html{scroll-padding-top:25px}header{padding:12px 5vw;height:82px}.brand img{width:145px}nav{gap:18px;font-size:11px}nav>a:nth-child(2){display:none}.nav-contact{padding:8px 14px}.nav-contact span{margin-left:9px}.hero{grid-template-columns:1fr;padding-top:40px}.hero-copy{padding-bottom:0}.eyebrow{font-size:9px;margin-bottom:25px}h1{font-size:clamp(60px,12.8vw,96px);max-width:660px}.desktop-break{display:none}.intro{max-width:500px}.text-link{display:inline-block;margin:0 0 0 22px}.specimen{min-height:400px;margin-top:35px}.sculpture{max-width:460px;width:90%}.specimen-top{left:0}.specimen-bottom{left:0;bottom:25px}.hero-foot{font-size:8px}.hero-foot>span:last-child{display:none}.wrap{padding:75px 6vw}.manifesto,.approach,.example-layout{display:block}.manifesto h2{margin-bottom:30px}.manifesto>div{max-width:100%}h2{font-size:clamp(43px,8vw,65px)}.section-heading{padding-bottom:20px}.service-sequence{display:block}.capability-art{position:relative;top:auto;height:280px;padding:25px 0}.capability-orbits{position:absolute;width:230px;top:30px;left:calc(50% - 115px)}.capability-index{align-self:end}.service{min-height:0;padding:40px 0}.service h3{font-size:36px}.service p{max-width:100%}.service .number{margin-bottom:18px}.example-layout>div{margin-bottom:45px}.flow li:last-child{padding-bottom:0}.approach h2{margin-bottom:35px}.contact h2{font-size:clamp(48px,9.5vw,76px)}.contact:after{width:250px;height:250px;top:10px;right:-55px}.contact-bottom{display:block}.contact-bottom p{margin-bottom:30px}.contact-bottom>a{font-size:clamp(20px,5.5vw,32px)}footer{padding:20px 6vw;flex-wrap:wrap;gap:15px}footer p{display:none}footer .brand img{width:145px}}
@media(max-width:380px){nav>a:first-child{display:none}h1{font-size:58px}.intro{font-size:14px}.text-link{display:block;margin:20px 0 0}.specimen{min-height:330px}.ribbon{border-width:12px}.hero-foot{font-size:7px}.specimen-top{font-size:7px}.service h3{font-size:32px}.contact h2{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}a{transition:none}}
.ribbon-0{--i:0}.ribbon-1{--i:1}.ribbon-2{--i:2}.ribbon-3{--i:3}.ribbon-4{--i:4}.ribbon-5{--i:5}.ribbon-6{--i:6}.ribbon-7{--i:7}.ribbon-8{--i:8}.ribbon-9{--i:9}.ribbon-10{--i:10}.ribbon-11{--i:11}
/* Mobile is a composed scroll sequence, not a scaled desktop column. */
.capability-progress{display:none}
@media(max-width:760px){
  .hero{padding-top:28px;grid-template-columns:1fr 1fr;column-gap:14px}
  .hero-copy{display:contents}
  .hero-copy>.eyebrow{grid-column:1/-1;grid-row:1;font-size:8px;letter-spacing:.8px;margin-bottom:20px}
  .hero h1{grid-column:1/-1;grid-row:2;font-size:clamp(56px,14.9vw,94px);margin:0;position:relative;z-index:2}
  .hero .specimen{grid-column:1/-1;grid-row:3;min-height:225px;margin:0 -5vw 12px;overflow:hidden;background:#e5e7dc}
  .hero .sculpture{width:430px;max-width:none;left:63%;top:48%;transform:translate(-50%,-50%) rotate(-24deg)}
  .hero .ribbon{border-width:16px;box-shadow:inset 2px 2px 4px #ffde91}
  .hero .specimen-top{top:18px;left:5vw;right:5vw;font-size:7px}
  .hero .specimen-bottom{left:5vw;right:5vw;bottom:15px;font-size:7px}
  .hero .specimen-bottom>span:first-child{max-width:80px}
  .hero .intro{grid-column:1/-1;grid-row:4;font-size:14px;line-height:1.7;margin:5px 0 20px}
  .hero .button{grid-column:1;grid-row:5;justify-content:space-between;padding:13px 17px;gap:10px;font-size:12px;white-space:nowrap}
  .hero .text-link{grid-column:2;grid-row:5;margin:0;align-self:center;justify-self:end;font-size:10px}
  .hero-foot{margin-top:24px;padding:17px 0}
  .manifesto{padding-top:65px;padding-bottom:65px}
  .capabilities{padding-bottom:55px}
  .capability-art{position:sticky;top:0;z-index:4;height:115px;margin:0 -6vw;padding:18px 6vw 16px;background:#17231e;border-bottom:1px solid #4d5b50;overflow:hidden}
  .capability-art>span:first-child{max-width:155px;font-size:8px;line-height:1.6}
  .capability-index{align-self:start;font-size:22px!important;color:#ffbd60!important}
  .capability-orbits{width:145px;top:-14px;left:auto;right:4vw}
  .capability-orbits i{border-width:10px}
  .capability-progress{display:flex;gap:5px;position:absolute;bottom:0;left:6vw;right:6vw;height:3px}
  .capability-progress i{display:block;flex:1;background:#ffad32;transform-origin:left}
  .service{position:relative;min-height:470px;min-height:65svh;padding:55px 0 45px;isolation:isolate}
  .service .number{font-size:12px;margin-bottom:25px}
  .service h3{font-size:clamp(36px,10.2vw,58px);max-width:540px;margin-bottom:28px}
  .service p{font-size:14px;line-height:1.8}
  .service .tags{display:block;margin-top:25px;border-left:2px solid #ffad32;padding-left:12px}
  .service:before{content:'';position:absolute;z-index:-1;right:-3vw;top:35px;width:95px;height:95px;border:1px solid #51604e;border-radius:50%;opacity:.7}
  .service:nth-of-type(even):before{border-radius:0;transform:rotate(45deg);right:10px;width:70px;height:70px}
  .example .flow{margin-top:50px}
  .flow li{padding-bottom:55px}
}
@media(max-width:380px){
  .hero h1{font-size:56px}.hero .specimen{min-height:205px}.hero .sculpture{width:390px;left:69%}
  .hero .button{font-size:11px;padding:12px}.hero .text-link{font-size:9px}.service h3{font-size:34px}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.capability-art{position:relative}.service{min-height:0}}
