@font-face{font-family:Editorial;src:url('serif.woff2') format('woff2');font-display:swap}@font-face{font-family:Editorial;src:url('serif-italic.woff2') format('woff2');font-style:italic;font-display:swap}@font-face{font-family:Manrope;src:url('body.woff2') format('woff2');font-display:swap}
:root{--bg:#0b1215;--paper:#eee8da;--muted:#b0b6b1;--orange:#ec835c;--gold:#c5aa78;--line:#eee8da26;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--bg);color:var(--paper);font:14px/1.6 Manrope,sans-serif}body:after{content:'';pointer-events:none;position:fixed;inset:0;z-index:20;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Editorial,Georgia,serif;font-weight:400}h2{font-size:clamp(42px,4.7vw,70px);line-height:1.1;letter-spacing:-1.7px}h2 em,h1 em{color:var(--orange)}h3{font-size:30px;line-height:1.2}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--orange);outline-offset:5px}img{max-width:100%;display:block}.skip{position:fixed;top:-100px;opacity:0;z-index:100;padding:15px;background:var(--paper);color:var(--bg)}.skip:focus{top:0;opacity:1}.section{padding:115px max(6%,calc((100vw - 1280px)/2))}.eyebrow{font:9px/1.6 Manrope,sans-serif;letter-spacing:2.2px;color:#c5c8be;display:flex;align-items:center;gap:10px}.eyebrow i{width:5px;height:5px;border-radius:50%;background:var(--orange)}.small-label{font-size:8px;letter-spacing:1.5px;color:var(--gold)}
.masthead{height:108px;position:absolute;left:5%;right:5%;top:0;display:flex;align-items:center;justify-content:space-between;z-index:5;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.brand-name{font:32px/.92 Editorial,serif;letter-spacing:-1.2px;color:var(--paper)}.brand-name em{font-style:italic;color:var(--orange)}.brand small{display:block;font-size:6px;letter-spacing:2px;color:#c6cbc3}.edition{font-size:8px;letter-spacing:2px;color:#d0c9b9}#motion{font-size:10px;color:#d2cfc4;min-height:44px;padding:8px}#motion span{margin-left:10px}
.hero{position:relative;isolation:isolate;min-height:790px;height:100svh;max-height:1100px;padding:170px 6% 160px;display:flex;align-items:center;overflow:hidden}.hero-copy{width:55%;position:relative;z-index:2}.hero h1{font-size:clamp(95px,9.4vw,154px);line-height:1.03;letter-spacing:-5px;margin:25px 0 28px}.ink-line{display:block;width:max-content;max-width:100%;padding-right:.08em;animation:ink-reveal 1.7s ease-out both}.ink-line:nth-child(2){animation-delay:.35s}.hero .intro{font-size:16px;line-height:1.85}.subcopy{font-size:12px;line-height:1.9;color:#c2c4ba;margin-top:17px}.text-link{display:flex;align-items:center;width:max-content;gap:15px;font-size:12px;margin-top:30px;min-height:44px}.circle-arrow{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ec835c77;border-radius:50%;color:var(--orange);font-size:24px;transition:background .25s,color .25s}.text-link:hover .circle-arrow{background:var(--orange);color:var(--bg)}.hero-bottom{position:absolute;left:6%;right:6%;bottom:108px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.5px;color:#c8c6b9}.hero-bottom>a{font-size:10px;letter-spacing:0}.hero-bottom>a span{display:inline-block;margin-left:14px;color:var(--orange);font-size:20px;animation:nudge 3s ease-in-out infinite}.artwork{position:absolute;inset:0;z-index:-1;overflow:hidden}.scene{width:100%;height:100%;display:block}.artwork:after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#0b1215ad 0%,#0b12154d 35%,transparent 72%),linear-gradient(0deg,#0b1215 0%,#0b121520 32%,transparent 75%,#0b12153a)}.mist{position:absolute;z-index:1;left:40%;top:43%;width:60%;height:28%;background:radial-gradient(ellipse,#abc2cc25,transparent 65%);filter:blur(20px);animation:mist 20s ease-in-out infinite alternate}.neon-red{animation:red-light 9.7s linear infinite}.neon-lantern{animation:breath 6.3s ease-in-out infinite alternate}.neon-amber{animation:amber-light 13.1s linear infinite}.neon-distant{animation:breath 4.8s ease-in-out infinite alternate-reverse}
.proof{border-block:1px solid var(--line);padding:26px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}.proof>span{font-size:7px;letter-spacing:1.5px;color:var(--muted)}.proof p{font-size:14px}.proof i{font-style:normal;color:var(--orange);margin:0 25px}
.section-heading{text-align:center}.section-heading .eyebrow{justify-content:center}.section-heading h2{margin:24px 0}.section-heading>p:last-child{font-size:13px;color:var(--muted);line-height:1.9}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:65px}.principle{position:relative;padding:25px 25px 27px;border-top:1px solid var(--line)}.principle-number{position:absolute;right:10px;top:22px;font-size:10px;color:var(--gold)}.principle h3{margin:25px 0 17px}.principle p{font-size:12px;color:var(--muted);line-height:1.9;max-width:290px}.principle .small-label{display:block;margin-top:25px;font-size:7px}.ink-symbol{height:75px;width:80px;position:relative;margin:12px 0 30px;color:var(--orange)}.enso{width:68px;height:68px;border:5px solid #c57552;border-right-color:transparent;border-bottom-width:2px;border-radius:47% 53% 45% 50%;transform:rotate(-35deg)}.joinery i{position:absolute;top:25px;left:10px;width:65px;height:22px;border:1px solid #c5aa78;transform:rotate(-35deg)}.joinery i+i{transform:rotate(35deg);background:#c5aa7820}.ripples i{position:absolute;border:1px solid #9bb0a4;inset:5px;border-radius:50%;transform:rotate(-25deg) scaleY(.65)}.ripples i:nth-child(2){inset:14px}.ripples i:nth-child(3){inset:23px;background:#9bb0a422}.manifesto{display:flex;justify-content:center;align-items:center;gap:35px;padding:45px 5%;border-block:1px solid var(--line);overflow:hidden;background:#151c1b;font:clamp(28px,4vw,61px)/1.3 Editorial,serif;white-space:nowrap}.manifesto em{color:var(--orange)}.manifesto i{font-style:normal;color:var(--gold);font-size:43px;animation:turn 40s linear infinite}
.work-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:60px}.work-heading h2{margin-top:23px}.work-heading>p{font-size:12px;line-height:1.9;color:var(--muted);padding-bottom:6px}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 35px}.project{display:block;text-align:left;padding:0;min-width:0}.project-visual{display:block;position:relative;overflow:hidden;background:#111b1d;aspect-ratio:3/2;border:1px solid #eee8da18;border-radius:3px}.project-visual:after{position:absolute;content:'';inset:0;background:linear-gradient(#080f1240,transparent 20%,transparent 80%,#080f1240)}.project-visual img{width:100%;height:100%;object-fit:cover;transition:filter .5s;filter:saturate(.8)}.project:hover .project-visual img{filter:saturate(1.1)}.project-no{position:absolute;left:22px;top:18px;z-index:1;font-size:8px;letter-spacing:2px;color:#e0d7c6}.round-link{position:absolute;right:20px;bottom:20px;width:43px;height:43px;border:1px solid #eedbc76b;border-radius:50%;display:grid;place-items:center;font-size:24px;z-index:1;background:#0b12157a;transition:background .25s,color .25s}.project:hover .round-link{background:var(--orange);color:var(--bg)}.project-info{display:block;padding:22px 0 0}.project-info strong{font:38px/1.3 Editorial,serif;display:block;margin:8px 0}.project-info>span:last-child{font-size:12px;color:var(--muted);display:block}.work-note{font-size:10px;color:#969f98;margin-top:40px;text-align:center}
.experience{background:#151b1b;border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%}.experience-intro h2{margin:25px 0}.experience-intro>p:last-of-type{font-size:13px;line-height:1.95;color:var(--muted);max-width:360px}.experience-signature{font:42px/1.3 Editorial,serif;margin-top:50px;display:flex;flex-direction:column;color:#bfc5bc}.experience-signature em{color:var(--orange)}.timeline{border-left:1px solid #c5aa7866;padding-left:35px}.timeline article{position:relative;padding-bottom:48px}.timeline article:last-child{padding-bottom:0}.timeline article:before{content:'';position:absolute;left:-39px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 6px #151b1b}.timeline-date{font-size:8px;letter-spacing:2px;color:var(--gold)}.timeline h3{margin:10px 0;font-size:33px}.timeline-label{font-size:8px;letter-spacing:1px;color:#c9cec6}.timeline p{font-size:12px;line-height:1.9;color:var(--muted);margin:15px 0}.metric-inline{font:35px/1.2 Editorial,serif;color:var(--orange);display:block;margin-top:17px}.metric-inline small{font:9px/1.6 Manrope,sans-serif;color:var(--muted);display:block;margin-top:5px}
.story{display:grid;grid-template-columns:1.15fr 1fr;gap:6%;align-items:center;overflow:hidden}.story-art{position:relative}.story-art img{width:115%;max-width:none;margin-left:-9%;mix-blend-mode:lighten;mask-image:radial-gradient(ellipse,#000 38%,transparent 72%);animation:art-sway 15s ease-in-out infinite alternate}.story-art>span{display:block;text-align:center;font-size:7px;letter-spacing:2.5px;color:var(--gold)}.story-copy h2{margin:24px 0}.story-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted);margin:20px 0}.contact{text-align:center;position:relative;overflow:hidden;isolation:isolate;padding-top:105px;padding-bottom:100px;border-top:1px solid var(--line);background:#1b1716}.contact .eyebrow{justify-content:center}.contact h2{margin:25px 0;font-size:clamp(43px,6.3vw,95px)}.contact>p:not(.eyebrow){font-size:13px;color:#c7c1b4;line-height:1.9}.contact-email{font-size:clamp(15px,2vw,25px);display:inline-block;margin:35px 0 30px;border-bottom:1px solid #ec835c88;padding:12px 0}.contact-email span{color:var(--orange);margin-left:18px}.socials{display:flex;gap:30px;justify-content:center;font-size:11px}.socials a{padding:10px}.contact-halo{position:absolute;width:560px;height:560px;right:-370px;top:15%;border:24px solid #b0613c21;border-left-width:4px;border-radius:48% 52% 46% 54%;z-index:-1;transform:rotate(-25deg)}footer{padding:30px 6% 130px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);border-top:1px solid var(--line)}footer>span:nth-child(2){font-size:7px;letter-spacing:1.5px}footer>a{white-space:nowrap}
.dock-wrap{position:fixed;left:0;right:0;bottom:22px;z-index:25;display:flex;justify-content:center;padding:0 20px;pointer-events:none}.dock{pointer-events:auto;display:flex;align-items:center;gap:5px;background:#192022ed;border:1px solid #d9c9af30;box-shadow:0 12px 40px #0006;backdrop-filter:blur(18px);padding:9px;border-radius:10px}.dock-home{min-height:46px;display:flex;align-items:center;padding:0 20px 0 12px;font:22px/1 Editorial,serif;letter-spacing:-.6px;border-right:1px solid var(--line)}.dock-home span{color:var(--orange)}.dock>a:not(.dock-home){padding:15px 18px;font-size:11px;min-height:46px;border-radius:5px;transition:background .25s,color .25s}.dock>a[aria-current="location"]{background:#e684581c;color:#f4a17e}.dock>a:hover{color:var(--orange)}.dock .dock-contact{background:#87321f;color:#fff7ed;margin-left:10px}.dock .dock-contact:hover{background:#963a24;color:#fff7ed}.dock-contact span{margin-left:17px}
dialog{background:#162023;color:var(--paper);border:1px solid #c5aa7866;width:min(620px,calc(100% - 32px));padding:55px 45px;max-height:85svh}dialog::backdrop{background:#050a0ddc;backdrop-filter:blur(8px)}dialog h2{font-size:48px;margin:23px 0}dialog>p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted)}.close{position:absolute;right:12px;top:8px;width:44px;height:44px;font-size:30px}.demo-intent{border-block:1px solid var(--line);padding:24px 0;margin:25px 0}.demo-intent>span{font-size:8px;letter-spacing:1.5px;color:var(--orange)}.demo-intent p{font-size:14px;line-height:1.9;margin-top:10px}.dialog-note{font-size:10px!important}.back{margin-top:15px;color:var(--orange);min-height:44px;padding:0;font-size:12px}
.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s,transform .8s}.js-motion .reveal.visible{opacity:1;transform:none}.principles>.reveal:nth-child(2){transition-delay:.1s}.principles>.reveal:nth-child(3){transition-delay:.2s}.paused *, .paused *:before,.paused *:after{animation-play-state:paused!important}.paused .ink-line{animation:none}.paused .reveal{opacity:1;transform:none;transition:none}.ambient-sleep .neon,.ambient-sleep .mist{animation-play-state:paused}
@keyframes ink-reveal{from{clip-path:polygon(0 0,0 0,0 100%,0 100%);opacity:.2}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}}@keyframes red-light{0%,16%,24%,52%,65%,100%{opacity:.68}18%,21%{opacity:.08}19.5%,23%,55%{opacity:1}59%{opacity:.25}62%{opacity:.85}}@keyframes amber-light{0%,33%,43%,78%,100%{opacity:.8}36%,40%{opacity:.2}38%,45%,82%{opacity:1}85%{opacity:.45}}@keyframes breath{from{opacity:.22}to{opacity:.9}}@keyframes mist{from{transform:translate(-4%,10%);opacity:.2}to{transform:translate(8%,-8%);opacity:.7}}@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes turn{to{transform:rotate(360deg)}}@keyframes art-sway{from{transform:rotate(-1deg)}to{transform:rotate(1deg)}}
@media(max-width:1000px){.section{padding:85px 6%}.hero-copy{width:70%}.hero h1{font-size:110px}.edition{display:none}.proof>span:last-child{display:none}.principles{gap:15px}.principle{padding:23px 10px}.principle h3{font-size:26px}.manifesto{gap:20px;font-size:35px}.work-heading>p{max-width:260px}.experience{gap:6%}.story{gap:3%}.dock>a:not(.dock-home){padding-inline:14px}.story-copy h2{font-size:45px}footer>span:nth-child(2){display:none}}
@media(max-width:600px){
 html{scroll-padding-top:25px}.section{padding:65px 6%}.masthead{height:85px;left:6%;right:6%}.brand-name{font-size:27px}.brand small{font-size:5px;letter-spacing:1.4px}#motion{font-size:9px;padding-right:0}.hero{height:100svh;min-height:740px;max-height:950px;padding:140px 6% 185px;align-items:flex-start}.hero-copy{width:100%}.hero .eyebrow{font-size:6px;letter-spacing:1px;max-width:320px}.hero h1{font-size:clamp(69px,21vw,88px);letter-spacing:-3px;margin:27px 0 24px}.hero .intro{font-size:13px;line-height:1.9}.subcopy{font-size:11px}.text-link{font-size:11px;margin-top:25px}.circle-arrow{width:44px;height:44px}.hero-bottom{left:6%;right:6%;bottom:112px;font-size:6px;letter-spacing:.8px}.hero-bottom>span:first-child{display:none}.hero-bottom>a{font-size:9px}.artwork:after{background:linear-gradient(90deg,#0b1215d9,#0b121575 60%,#0b121538),linear-gradient(0deg,#0b1215,transparent 45%,#0b12154d)}.mist{filter:blur(12px)}.proof{display:block;text-align:center;padding:22px 6%}.proof p{font-size:13px;margin-top:12px}.proof i{margin:0 16px}.proof>span{font-size:7px}.eyebrow{font-size:7px;letter-spacing:1.5px}h2{font-size:39px;letter-spacing:-1px}.section-heading h2{margin:22px 0}.section-heading>p:last-child{font-size:11px}.principles{grid-template-columns:1fr;gap:20px;margin-top:40px}.principle{padding:24px 0 24px 90px;min-height:175px}.ink-symbol{position:absolute;left:0;top:30px;scale:.7;transform-origin:left center;margin:0}.enso{scale:.8}.principle h3{font-size:26px;margin:0 0 13px}.principle p{font-size:11px}.principle .small-label{font-size:6px;letter-spacing:.8px;margin-top:17px}.principle-number{font-size:8px;top:25px;right:0}.manifesto{justify-content:flex-start;gap:15px;padding:27px 6%;font-size:25px;flex-wrap:wrap;white-space:normal}.manifesto i{font-size:27px}.work-heading{display:block;margin-bottom:35px}.work-heading>p{margin-top:23px;font-size:11px}.projects{grid-template-columns:1fr;gap:38px}.project-visual{aspect-ratio:1.4}.project-info{padding-top:17px}.project-info strong{font-size:32px;margin:7px 0}.project-info .small-label{font-size:7px;letter-spacing:1px}.project-info>span:last-child{font-size:11px}.project-no{font-size:7px;left:17px;top:15px}.round-link{width:44px;height:44px;right:15px;bottom:15px}.work-note{font-size:9px;max-width:270px;margin:32px auto 0}.experience{grid-template-columns:1fr;gap:40px}.experience-intro>p:last-of-type{font-size:12px}.experience-signature{flex-direction:row;gap:15px;font-size:26px;margin-top:25px}.timeline{padding-left:26px}.timeline article:before{left:-30px}.timeline h3{font-size:31px}.timeline p{font-size:11px}.timeline article{padding-bottom:40px}.story{grid-template-columns:1fr;gap:35px}.story-art{max-width:390px;margin:auto}.story-art img{width:110%;margin-left:-5%}.story-copy h2{font-size:41px}.story-copy>p:not(.eyebrow){font-size:12px}.contact h2{font-size:clamp(34px,9.4vw,46px);margin:24px 0;letter-spacing:-1px}.contact>p:not(.eyebrow){font-size:11px}.contact-email{font-size:15px;margin:23px 0 18px}.contact-email span{margin-left:8px}.socials{gap:20px;font-size:10px}.contact-halo{right:-460px;opacity:.8}footer{padding:27px 6% 125px;font-size:8px;gap:15px}.dock-wrap{bottom:max(13px,env(safe-area-inset-bottom));padding:0 10px}.dock{padding:7px 5px;gap:1px;width:100%;max-width:430px;justify-content:space-between;border-radius:9px}.dock-home{font-size:18px;padding:0 8px;min-height:44px}.dock>a:not(.dock-home){padding:13px 9px;font-size:9px;min-height:44px}.dock .dock-about{display:none}.dock .dock-contact{margin-left:3px;padding-inline:11px}.dock-contact span{display:none}dialog{padding:48px 24px 25px}dialog h2{font-size:38px}
}
@media(max-width:360px){.dock>a:not(.dock-home){font-size:8px;padding-inline:7px}.hero .eyebrow{font-size:5.5px}.contact-email{font-size:14px}.principle{padding-left:75px}.manifesto{font-size:22px}}
@media(max-height:700px) and (max-width:600px){.hero{min-height:660px;padding-top:115px}.hero h1{font-size:69px;margin:20px 0}.hero .subcopy{display:none}}
@media(max-height:550px) and (min-width:601px){.masthead{height:65px}.hero{min-height:390px;height:100svh;padding:85px 6% 95px;align-items:flex-start}.hero-copy{width:75%}.hero h1{font-size:64px;letter-spacing:-2px;margin:10px 0 12px}.hero .ink-line{display:inline}.hero .ink-line+.ink-line:before{content:' '}.hero .intro{font-size:12px;line-height:1.7}.hero .subcopy,.hero-bottom{display:none}.hero .text-link{margin-top:12px}.hero .eyebrow{font-size:6px}.dock-wrap{bottom:10px}.dock{padding:5px}.dock>a:not(.dock-home){padding-block:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.mist{display:none}}
/* SVG controls keep the same shape in Safari, including iOS font fallback. */
.icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.circle-arrow .icon{display:block}
.close{display:grid;place-items:center}
