@font-face{font-family:'Hanken Grotesk';src:url('assets/hanken.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:'Hanken Grotesk';src:url('assets/hanken-medium.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--bg:#1c1c1c;--surface:#262626;--surface-alt:#30312e;--ink:#f1f1ef;--muted:#c4c6bf;--accent:#a4b8a2;--dark:#1c1c1c;--concrete:#d8d7d0;--pale:#e7e9e1;--body:'Hanken Grotesk','Segoe UI',Arial,sans-serif;--small:14px;--text:18px;--lead:26px;--heading:clamp(38px,4.2vw,64px);--gap:8px;--pad:clamp(22px,3vw,48px);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:14px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:var(--text);line-height:1.5}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-underline-offset:5px}button,select{font:inherit;color:inherit}button{cursor:pointer}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}img{display:block;max-width:100%;width:100%;object-fit:cover}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.02;letter-spacing:-.05em;text-wrap:balance}h2{font-size:var(--heading)}h3{font-size:var(--lead);letter-spacing:-.035em}p{text-wrap:pretty}.board{width:calc(100% - 24px);max-width:1680px;margin-inline:auto}.tile{padding:var(--pad);background:var(--surface)}.small{font-size:var(--small);line-height:1.55}.skip-link{position:fixed;top:-100px;left:16px;background:var(--accent);color:var(--dark);padding:12px 20px;z-index:100}.skip-link:focus{top:12px}.demo-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 24px;background:var(--accent);color:var(--dark);font-size:13px}.demo-bar strong{font-weight:500}.demo-bar button{padding:4px 0;min-height:28px;background:none;border:0;font-size:13px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.header{display:flex;align-items:center;justify-content:space-between;gap:25px;height:82px;padding-inline:20px}.brand{display:flex;align-items:center;gap:12px;font-size:16px;text-decoration:none}.brand svg{color:var(--accent)}.header nav{display:flex;gap:34px}.header nav a{font-size:14px;text-decoration:none;padding:14px 0}.header nav a:hover{color:var(--accent)}.name-tile{background:var(--concrete);color:var(--dark);overflow:hidden;padding:0 24px 18px;display:grid;place-items:center}.name-tile h1{font-size:clamp(100px,18.8vw,300px);letter-spacing:-.07em;line-height:1.08;white-space:nowrap;animation:name-in .9s var(--ease) both}.hero-grid{display:grid;grid-template-columns:2fr 7fr 3fr;gap:var(--gap);margin-top:var(--gap);min-height:420px}.hero-side{display:grid;grid-template-rows:1fr auto;gap:var(--gap);min-width:0}.hero-side>img{height:215px;object-position:center}.fact-tile{background:var(--surface);padding:22px;font-size:16px;display:flex;flex-direction:column;gap:12px}.fact-tile>.small{font-size:13px;color:var(--muted);margin-top:8px}.hero-main{display:grid;grid-template-rows:1fr auto;min-width:0;overflow:hidden}.hero-main figure{overflow:hidden;min-height:260px}.hero-main figure img{height:100%;max-height:330px;object-position:center 65%;animation:photo-in 1.4s var(--ease) both}.hero-statement{background:var(--pale);color:var(--dark);padding:26px 30px}.hero-statement>p{font-size:var(--lead);line-height:1.3;letter-spacing:-.025em}.hero-statement>span{display:block;font-size:13px;margin-top:16px;color:#484d43}.hero-action{display:grid;grid-template-rows:1fr 1fr;gap:var(--gap);min-width:0}.hero-action>div{padding:30px;background:var(--surface-alt)}.hero-action>div>p{font-size:var(--lead);letter-spacing:-.035em;line-height:1.15;margin-bottom:22px}.hero-action>div>span{font-size:16px;color:var(--muted);display:block}.inquiry-tile,.contact-action{border:0;background:var(--accent);color:var(--dark);text-align:left;padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:15px;transition:background .2s ease,transform .2s var(--ease);font-size:var(--lead);font-weight:500;line-height:1.1;letter-spacing:-.035em}.large-arrow{display:block;align-self:flex-end;font-size:64px;line-height:.9;font-weight:400}.inquiry-tile:hover,.contact-action:hover{background:var(--pale)}.inquiry-tile:active,.contact-action:active{transform:scale(.99)}section+section{margin-top:80px}.services{display:grid;grid-template-columns:5fr 7fr;gap:var(--gap)}.services-intro{background:var(--concrete);color:var(--dark);display:flex;flex-direction:column;justify-content:space-between;gap:60px}.services-intro h2{font-size:clamp(45px,5.1vw,74px)}.services-intro p{max-width:31ch}.services-intro p.small{color:#45493f;margin-top:22px}.service-rows{display:flex;flex-direction:column;gap:var(--gap)}.service-row{background:var(--surface);padding:32px;display:grid;grid-template-columns:1.3fr 1fr;gap:22px 28px;flex:1}.service-row:nth-child(even){background:var(--surface-alt)}.service-row h3{font-size:var(--lead);margin-bottom:16px}.service-row p{font-size:16px;color:var(--muted);max-width:26ch}.service-row ul{list-style:none;padding:0;margin:0;font-size:16px;color:var(--muted);line-height:1.8}.service-row .text-button{grid-column:1/-1;justify-self:start;font-size:14px}.text-button{border:0;padding:8px 0;min-height:44px;background:none;font-size:16px;text-align:left;text-decoration:underline;text-underline-offset:5px;transition:opacity .2s ease}.text-button:hover{opacity:.65}.scope-note{grid-column:1/-1;display:flex;align-items:baseline;gap:60px;padding-block:25px}.scope-note p{font-size:var(--lead);white-space:nowrap}.scope-note span{font-size:14px;color:var(--muted);max-width:85ch}.process-intro{display:flex;justify-content:space-between;align-items:center;gap:36px;background:var(--surface)}.process-intro p{max-width:30ch;color:var(--muted)}.process-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:var(--gap);align-items:start}.process details{background:var(--concrete);color:var(--dark);padding:30px;min-height:155px}.process details:nth-child(2){background:var(--pale)}.process details:nth-child(3){background:var(--accent)}.process summary{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;font-size:var(--lead);letter-spacing:-.035em;line-height:1.2;font-weight:500;min-height:72px}.process summary::-webkit-details-marker{display:none}.process summary>span{font-size:30px;transition:transform .2s var(--ease)}.process details[open] summary>span{transform:rotate(45deg)}.process details>div{margin-top:22px}.process details p{font-size:16px;line-height:1.6}.process details div>span{display:block;font-size:13px;margin-top:22px;color:#42493d}.spaces-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px}.spaces-heading>p{font-size:16px;color:var(--muted)}.space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:var(--gap)}.space-grid figure{min-width:0}.photo-button{position:relative;display:block;width:100%;padding:0;border:0;background:var(--surface);overflow:hidden}.photo-button img{aspect-ratio:4/5;transition:transform .7s var(--ease)}.photo-button:hover img{transform:scale(1.04)}.photo-button>span{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:42px;height:42px;background:var(--pale);color:var(--dark);font-size:26px;transition:transform .2s var(--ease)}.photo-button:hover>span{transform:rotate(90deg)}.space-grid figcaption{padding:24px;background:var(--surface);display:flex;flex-direction:column;gap:8px;font-size:14px}.space-grid figcaption strong{font-size:18px;font-weight:500;letter-spacing:-.025em}.space-grid figcaption>span{color:var(--muted)}.image-note{margin-top:var(--gap);font-size:13px;color:var(--muted);padding-block:20px}.contact-heading{background:var(--pale);color:var(--dark)}.contact-heading h2{max-width:15ch}.contact-heading p{margin-top:26px;max-width:50ch}.contact-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:var(--gap)}.contact-cell{background:var(--surface);padding:32px;display:flex;flex-direction:column;align-items:flex-start}.contact-cell h3{margin-bottom:24px}.contact-cell p{font-size:18px;margin-bottom:20px}.contact-cell>span{font-size:13px;color:var(--muted);max-width:32ch}.contact-cell>a{font-size:14px;display:inline-block;margin-top:20px;padding-block:10px}.contact-cell dl{margin:0 0 22px;width:100%;font-size:14px}.contact-cell dl>div{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px}.contact-cell dd{margin:0;white-space:nowrap}.contact-action{min-height:300px}.contact-action .small{font-size:13px;letter-spacing:0;font-weight:400;align-self:flex-start}.footer{padding-block:80px 12px}.footer-grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--gap)}.footer-about>p{font-size:var(--lead);letter-spacing:-.035em;margin-bottom:16px}.footer-about>span{display:block;font-size:16px;color:var(--muted)}.footer-about .text-button{margin-top:18px}.footer-links{display:flex;flex-direction:column;gap:14px;font-size:16px}.footer-links>span{font-size:14px;color:var(--muted);margin-bottom:7px}.footer-links a{padding-block:4px}.footer-wordmark{background:var(--concrete);color:var(--dark);font-size:10.3vw;font-weight:500;letter-spacing:-.07em;line-height:1.2;display:flex;align-items:center;justify-content:center;overflow:hidden}.footer-legal{background:var(--surface-alt);display:flex;flex-direction:column;align-items:flex-start;gap:20px}.footer-legal p{font-size:var(--lead);letter-spacing:-.035em;line-height:1.2}.footer-legal>span{font-size:13px;color:var(--muted)}.dialog{border:0;background:var(--pale);color:var(--dark);padding:30px;width:min(610px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow:auto}.dialog::backdrop,.photo-dialog::backdrop{background:rgb(8 12 8/.82)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;margin-bottom:24px}.close-button{display:grid;place-items:center;border:0;background:none;flex-shrink:0;width:44px;height:44px;font-size:30px;line-height:1;transition:transform .2s var(--ease)}.close-button:hover{transform:rotate(90deg)}.dialog h2{font-size:38px;max-width:19ch;margin-bottom:24px}.dialog p{font-size:16px;margin-bottom:20px}.dialog p.small{font-size:13px;color:#454b40}.dialog ul{padding-left:22px;font-size:16px;margin:22px 0}.dialog li{margin-bottom:9px}.button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:15px 20px;background:var(--dark);color:var(--ink);border:0;border-radius:0;text-decoration:none;font-size:16px;transition:background .2s ease,transform .2s var(--ease)}.button:hover{background:#454d40}.button:active{transform:translateY(1px)}.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}.inquiry-fields>div:first-child{grid-column:1/-1}.inquiry-fields label{display:block;font-size:14px;margin-bottom:8px}.inquiry-fields select{width:100%;font-size:16px;background:var(--pale);color:var(--dark);border:1px solid #62685d;border-radius:0;padding:12px}.message-preview{background:#cdd6c7;padding:20px;margin:24px 0}.message-preview>span{font-size:13px}.message-preview p{margin:10px 0 0}.photo-dialog{border:0;padding:16px;background:var(--bg);color:var(--ink);width:min(1000px,calc(100% - 32px));max-height:calc(100svh - 32px)}.photo-dialog img{height:auto;max-height:calc(100svh - 120px);object-fit:contain}.photo-dialog .close-button{position:absolute;right:24px;top:24px;background:var(--bg)}.photo-dialog p{font-size:13px;margin-top:12px}.noscript{padding-block:30px}.reveal.in-view{animation:tile-in .8s var(--ease) both}.service-row.reveal.in-view{animation-name:row-in}.space-grid .reveal.in-view{animation-name:photo-reveal}dialog[open]{animation:tile-in .25s var(--ease) both}
@keyframes name-in{from{transform:translateY(70%)}to{transform:translateY(0)}}@keyframes photo-in{from{transform:scale(1.04)}to{transform:scale(1)}}@keyframes tile-in{from{opacity:.4;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes row-in{from{opacity:.3;transform:translateX(14px)}to{opacity:1;transform:none}}@keyframes photo-reveal{from{opacity:.5;clip-path:inset(6% 0 0)}to{opacity:1;clip-path:inset(0)}}
@media(min-width:1800px){.footer-wordmark{font-size:180px}}
@media(max-width:1050px){.header nav{gap:24px}.hero-grid{grid-template-columns:2fr 6fr 3fr}.hero-side>img{height:180px}.fact-tile{padding:20px;font-size:14px}.hero-action>div,.inquiry-tile{padding:22px}.hero-action>div>p,.inquiry-tile{font-size:22px}.hero-action>div>span{font-size:14px}.hero-statement{padding:22px}.hero-statement>p{font-size:22px}.services{grid-template-columns:4fr 6fr}.service-row{padding:26px;grid-template-columns:1fr;gap:16px}.service-row ul{display:flex;flex-wrap:wrap;gap:0 16px;font-size:14px}.service-row .text-button{grid-column:auto}.process details{padding:24px}.process summary{font-size:22px}.contact-cell{padding:26px}.contact-cell h3{font-size:22px}.contact-cell dl>div{flex-wrap:wrap;gap:4px}.scope-note{gap:30px}.space-grid figcaption{padding:20px}}
@media(max-width:700px){:root{--gap:6px;--pad:24px;--heading:38px;--lead:24px;--text:17px}.board{width:calc(100% - 16px)}.demo-bar{padding:8px 16px;font-size:13px;gap:10px}.demo-bar strong{display:block}.header{height:auto;padding:20px 12px;flex-wrap:wrap;gap:18px}.brand{font-size:16px}.brand svg{width:24px;height:24px}.header nav{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.header nav a{font-size:13px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 0;background:var(--surface);text-align:center}.name-tile{padding:3px 12px 14px}.name-tile h1{font-size:20vw}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:0}.hero-main{grid-column:1/-1;grid-row:1}.hero-main figure{min-height:0;height:230px}.hero-main figure img{height:100%;max-height:none;object-position:center 60%}.hero-statement{padding:22px}.hero-statement>p{font-size:22px;line-height:1.3}.hero-statement>span{font-size:13px;margin-top:13px}.hero-side{display:none}.hero-action{display:contents}.hero-action>div{grid-column:1;padding:24px 20px}.hero-action>div>p{font-size:22px;margin-bottom:16px}.hero-action>div>span{font-size:14px}.inquiry-tile{grid-column:2;padding:24px 20px;font-size:22px;gap:30px}.large-arrow{font-size:50px}section+section{margin-top:48px}.services{display:block}.services-intro{gap:30px;padding:30px 24px}.services-intro h2{font-size:46px}.services-intro p{max-width:100%;font-size:17px}.services-intro p.small{font-size:13px}.service-rows{margin-top:var(--gap)}.service-row{padding:28px 24px;gap:18px}.service-row h3{font-size:26px}.service-row p{font-size:16px;max-width:100%}.service-row ul{display:block;font-size:15px;line-height:1.8}.service-row .text-button{font-size:15px}.scope-note{display:block;padding:24px;margin-top:var(--gap)}.scope-note p{font-size:24px;margin-bottom:18px}.scope-note span{font-size:14px}.process-intro{display:block;padding:30px 24px}.process-intro h2{font-size:40px}.process-intro p{font-size:17px;margin-top:22px;max-width:100%}.process-panels{grid-template-columns:1fr}.process details{padding:24px;min-height:0}.process summary{min-height:44px;font-size:24px;align-items:center}.process details>div{margin-top:20px}.spaces-heading{display:block;padding:30px 24px}.spaces-heading h2{font-size:40px;max-width:12ch}.spaces-heading p{margin-top:20px}.space-grid{grid-template-columns:1fr}.photo-button img{aspect-ratio:5/4}.space-grid figcaption{padding:22px 24px}.image-note{padding:20px 24px}.contact-heading{padding:32px 24px}.contact-heading h2{font-size:40px;max-width:13ch}.contact-heading p{font-size:17px;margin-top:24px}.contact-bar{grid-template-columns:1fr}.contact-cell{padding:28px 24px}.contact-cell h3{font-size:26px;margin-bottom:22px}.contact-cell p{font-size:18px}.contact-cell dl>div{flex-wrap:nowrap;font-size:16px}.contact-cell>a{font-size:15px}.contact-action{min-height:210px;padding:28px 24px;font-size:30px}.footer{padding-top:48px;padding-bottom:8px}.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}.footer-about>p{font-size:26px}.footer-links{grid-column:1/-1;font-size:16px;padding:28px 24px}.footer-wordmark{grid-column:1/-1;min-height:130px;font-size:19vw;padding:15px}.footer-legal{grid-column:1/-1;padding:28px 24px}.footer-legal p{font-size:26px}.dialog{padding:22px;max-height:calc(100svh - 24px)}.dialog h2{font-size:32px}.dialog p,.dialog li{font-size:15px}.inquiry-fields{grid-template-columns:1fr}.inquiry-fields>div:first-child{grid-column:auto}.dialog-top{margin-bottom:18px}.photo-dialog{padding:12px}.photo-dialog .close-button{top:18px;right:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
:root{--muted:#d0d2ca}.hero-side{grid-template-rows:1fr auto}.hero-side>img{height:100%;min-height:160px;max-height:260px}.scope-note span{max-width:65ch}.scope-note span,.image-note,.process details div>span,.contact-cell>span,.footer-legal>span,.services-intro p.small,.hero-statement>span{font-size:16px}.process details div>span{color:#30372c}.image-note p{max-width:65ch}.services,.process-panels,.contact-bar,.footer-grid{min-width:0}.services>* ,.process-panels>*,.contact-bar>*,.footer-grid>*{min-width:0}
.service-rows{overflow:hidden}.footer-wordmark{position:relative;justify-content:flex-start;padding:0;min-height:260px}.wordmark-runner{display:flex;width:max-content;animation:brand-drift 24s linear infinite}.wordmark-runner>span{display:block;flex-shrink:0;padding:0 40px}.footer-wordmark:hover .wordmark-runner{animation-play-state:paused}#motion-toggle{position:absolute;bottom:16px;right:22px;font-size:13px;background:var(--concrete);padding:8px 12px}@keyframes brand-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(max-width:700px){.footer-wordmark{min-height:160px}.wordmark-runner>span{padding:0 24px}#motion-toggle{bottom:6px;right:12px}}@media(prefers-reduced-motion:reduce){.wordmark-runner{animation:none}#motion-toggle{display:none}}
dialog[open]{animation:dialog-in .2s ease both}@keyframes dialog-in{from{opacity:.3}to{opacity:1}}.services-intro p.small,.hero-statement>span,.process details div>span{color:var(--dark)}
.footer-wordmark{flex-direction:column;justify-content:center;align-items:stretch;padding:20px 0}.wordmark-runner{flex-shrink:0}#motion-toggle{position:static;align-self:flex-end;margin:10px 22px 0;flex-shrink:0}
.footer-wordmark{align-items:center;justify-content:center;padding:24px;text-align:center}
