:root{--sc-canvas:#eeeae4;--sc-surface:#e4ded6;--sc-ink:#252522;--sc-ink-soft:#5c5851;--sc-accent:#be3024;--sc-accent-ink:#fff9f2;--sc-font-display:'Archivo',Arial,sans-serif;--sc-font-text:'Archivo',Arial,sans-serif;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--sc-canvas);color:var(--sc-ink);font-family:var(--sc-font-text);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #be3024;outline-offset:6px}a:active,button:active{transform:translateY(1px)}::selection{background:#be3024;color:#fff}p{max-width:62ch;text-wrap:pretty}h1,h2,p{margin:0}h1,h2{font-weight:600;letter-spacing:-.065em;line-height:1.02;text-wrap:balance}.skip{position:absolute;left:20px;top:-80px;background:#fff;z-index:20;padding:10px}.skip:focus{top:12px}.masthead{margin:0 var(--gutter);height:118px;display:flex;align-items:center;border-bottom:1px solid #b8b2aa;gap:24px}.wordmark{font-size:67px;font-weight:900;letter-spacing:-.09em;line-height:1}.wordmark span{display:inline-block;font-size:12px;letter-spacing:0;vertical-align:top;margin:10px 0 0 7px}.brand-name{font-size:12px;line-height:1.25;font-weight:500}.masthead nav{margin-left:auto;display:flex;align-items:center;gap:38px;font-size:13px;font-weight:500}.nav-cta{border-bottom:1px solid;padding:8px 0}.nav-cta span{margin-left:22px}.hero{position:relative;min-height:760px;height:calc(100svh - 118px);max-height:1000px;padding:31px var(--gutter) 0;overflow:hidden}.hero-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.07em;text-transform:uppercase;position:relative;z-index:2}.hero h1{position:relative;z-index:2;font-size:clamp(72px,8.8vw,145px);margin-top:82px;max-width:70%;pointer-events:none}.hero h1 span{color:var(--sc-accent)}.hero-bottom{margin-top:38px;position:relative;z-index:2;max-width:400px}.hero-bottom p{font-size:17px;line-height:1.6}.text-link{display:inline-flex;justify-content:space-between;min-width:182px;align-items:center;border-bottom:1px solid #45433f;font-size:13px;padding:12px 0;margin-top:20px}.text-link span{font-size:23px}.hero-art{position:absolute;right:0;top:20%;width:49%;aspect-ratio:1;max-height:650px}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#bfb7ac44 1px,transparent 1px),linear-gradient(90deg,#bfb7ac44 1px,transparent 1px);background-size:58px 58px;mask-image:radial-gradient(ellipse,#000 10%,transparent 70%)}.orbit,.ribbon{position:absolute;width:100%;height:100%;inset:0}.orbit{fill:none;stroke:#b9afa3;stroke-width:1}.ribbon{filter:drop-shadow(0 28px 18px #5f3a2924);transform:translateY(var(--hero-y,0px)) rotate(var(--hero-r,-10deg));transform-origin:50% 50%}.orbit{transform:translateY(var(--orbit-y,0px)) rotate(-15deg)}.art-caption{position:absolute;bottom:10%;left:36%;font-size:9px;letter-spacing:.1em}.art-index{position:absolute;right:4%;top:40%;font-size:8px;writing-mode:vertical-rl;letter-spacing:.08em}.cross{position:absolute;font-size:28px;font-weight:400;color:#7d7366;transform:translateY(var(--cross-y,0px))}.cross-one{left:13%;top:24%}.cross-two{right:16%;bottom:22%}.hero-foot{position:absolute;bottom:27px;left:var(--gutter);right:var(--gutter);border-top:1px solid #b8b2aa;padding-top:17px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.015em}.expertise{padding:120px var(--gutter) 130px;background:#faf8f4;display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.kicker{font-size:10px;font-weight:600;letter-spacing:.11em;display:block;margin-bottom:26px}.section-heading h2{font-size:clamp(35px,3.4vw,54px)}.section-heading p{margin-top:28px;font-size:15px;color:#5c5851;max-width:40ch}.service-ledger{padding-top:39px}details{border-top:1px solid #b8b2aa;padding:24px 0}details:last-child{border-bottom:1px solid #b8b2aa}summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:23px;font-weight:500;letter-spacing:-.04em;gap:15px}summary::-webkit-details-marker{display:none}.toggle{font-size:26px;font-weight:400;transition:transform .2s ease-out}details[open] .toggle{transform:rotate(45deg)}details p{margin-top:20px;font-size:14px;color:#5c5851;max-width:45ch}.service-tags{margin-top:20px;font-size:10px;letter-spacing:.03em;color:#66584e}.assembly{background:#bf3327;color:#fff7ee}.assembly-stage{height:100svh;min-height:650px;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:4%;padding:80px var(--gutter);overflow:hidden}.assembly-heading{position:relative;z-index:2}.assembly h2{font-size:clamp(35px,4.2vw,66px);line-height:1.08}.assembly h2 span{color:#fff7ee}.assembly p{font-size:14px;margin-top:30px;max-width:34ch;color:#fff7ee}.assembly-art svg{width:100%;overflow:visible}.assembly-grid{stroke:#ffffff16;fill:none;stroke-width:1}.connections{stroke:#fff2d5;fill:none;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:var(--draw,0)}.node circle{fill:#bf3327;stroke:#f8b6a1;stroke-width:1}.node text{fill:#fff7ee;text-anchor:middle;font-size:13px;letter-spacing:.03em}.node{transform-box:fill-box;transform-origin:center;transform:translate(var(--nx,0px),var(--ny,0px))}.core rect{fill:#fff3e4}.core text{font-size:72px;font-weight:900;letter-spacing:-7px;text-anchor:middle;fill:#bf3327}.outer-ring{stroke:#ef9a85;fill:none;stroke-dasharray:2 6;transform-origin:350px 270px;transform:rotate(var(--ring-r,0deg))}.assembly-caption{font-size:11px;text-align:center;margin-top:24px;letter-spacing:.03em}.project{padding:120px var(--gutter);display:grid;grid-template-columns:.9fr 1.1fr;gap:12%;background:#eeeae4}.project h2{font-size:clamp(42px,4.6vw,70px)}.project-intro>p{margin-top:28px;color:#5c5851;font-size:15px;max-width:34ch}.project-intro .small{font-size:11px;margin-top:24px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.choices button{text-align:left;padding:20px 0;background:transparent;border:0;border-bottom:1px solid #b8b2aa;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;font-size:13px;color:#5c5851}.choices button span{font-size:20px}.choices button[aria-pressed=true]{color:#ae2b20;border-color:#ae2b20;font-weight:600}.brief-result{margin-top:42px;border-top:1px solid #b8b2aa;padding-top:20px}.brief-top{font-size:10px;display:flex;justify-content:space-between;color:#5c5851}.brief-result>p:first-of-type{font-size:25px;line-height:1.25;letter-spacing:-.045em;margin-top:22px;min-height:64px;max-width:30ch}.brief-dots{display:flex;align-items:center;margin:28px 0}.brief-dots span{width:14px;height:14px;border:1px solid #85786c;border-radius:50%;flex-shrink:0}.brief-dots span.active{background:#be3024;border-color:#be3024}.brief-dots i{height:1px;background:#b8b2aa;width:48px}.project-cta{display:flex;align-items:center;justify-content:space-between;background:#252522;color:#fff7ee;padding:17px 22px;font-size:13px;transition:background .16s ease-out}.project-cta span{font-size:24px}.email-note{font-size:10px;color:#5c5851;margin-top:12px}footer{padding:80px var(--gutter) 24px;background:#272725;color:#f3eee6}.footer-top{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:60px;gap:40px}.footer-top h2{font-size:clamp(36px,4.6vw,70px)}.footer-top>a{font-size:20px;letter-spacing:-.03em;border-bottom:1px solid #999187;padding-bottom:8px}.footer-details{padding:38px 0 48px;border-top:1px solid #625f58;display:grid;grid-template-columns:1fr 1.3fr 1.7fr 1fr;align-items:start;gap:24px}.footer-details p,.footer-details address{font-size:12px;line-height:1.8;font-style:normal;color:#d0c8bd}.footer-details>a:last-child{font-size:11px;justify-self:end}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #625f58;padding-top:22px;font-size:10px;color:#c0b8ad}footer a:focus-visible{outline-color:#f4a08c}
@media(hover:hover) and (pointer:fine){nav a:hover,.text-link:hover,footer a:hover{color:#be3024}footer a:hover{color:#f4a08c}.choices button:hover{color:#ae2b20}.project-cta:hover{background:#be3024}summary:hover{color:#ae2b20}}
@media(min-width:850px){.assembly[data-sc-act=pin]{height:230svh}.assembly-stage{position:sticky;top:0}}
@media(max-width:849px){.masthead{height:90px;gap:17px}.wordmark{font-size:52px}.brand-name{font-size:10px}.masthead nav{gap:22px}.masthead nav>a:not(.nav-cta){display:none}.hero{height:auto;min-height:970px;padding-top:24px}.hero-top{font-size:9px}.availability{display:none}.hero h1{font-size:clamp(64px,11vw,94px);margin-top:55px;max-width:100%}.hero-bottom{margin-top:26px}.hero-bottom p{font-size:15px}.hero-art{width:65%;top:390px;right:3%;max-width:480px}.hero-foot{font-size:9px}.hero-foot span:last-child{display:none}.expertise{padding-top:72px;padding-bottom:76px;grid-template-columns:1fr;gap:40px}.service-ledger{padding-top:0}.section-heading h2{font-size:42px}.section-heading p{max-width:48ch}.assembly-stage{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch;padding-top:70px;padding-bottom:55px;gap:30px}.assembly h2{font-size:44px}.assembly-heading p{max-width:44ch}.assembly-art{max-width:580px;align-self:center}.project{grid-template-columns:1fr;gap:40px;padding-top:76px;padding-bottom:76px}.project h2{font-size:48px}.project-intro>p{max-width:44ch}.footer-top{display:block}.footer-top>a{display:inline-block;margin-top:36px}.footer-details{grid-template-columns:1fr 1.5fr;row-gap:28px}.footer-details>a:last-child{justify-self:start}.footer-bottom{gap:20px}.footer-bottom span:last-child{display:none}}
@media(max-width:480px){.hero{min-height:850px}.hero h1{font-size:clamp(54px,13vw,64px);margin-top:48px}.hero-art{top:390px;width:100%;right:-3%}.hero-bottom{margin-top:25px}.hero-bottom p{font-size:14px}.hero-foot{bottom:22px}.hero .text-link{margin-top:12px}.art-caption{font-size:7px}.art-index{font-size:6px}.section-heading h2{font-size:35px}summary{font-size:20px}.assembly h2{font-size:36px}.assembly-stage{padding-top:64px}.assembly-caption{font-size:9px}.choices{gap:0 18px}.choices button{font-size:12px}.brief-result>p:first-of-type{font-size:25px}.footer-details{grid-template-columns:1fr 1.4fr}.footer-details address{font-size:10px}.footer-top h2{font-size:39px}.masthead nav{font-size:11px}.nav-cta span{margin-left:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ribbon,.orbit,.cross,.node,.outer-ring{transform:none!important}.connections{stroke-dashoffset:0!important}.assembly[data-sc-act=pin]{height:auto!important}.assembly-stage{position:relative!important;height:auto!important;min-height:650px}*{transition:none!important}}
