@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f5f4ef;--ink:#1b1c1a;--blue:#2844ef;--line:#d5d4ce;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace;--serif:'Instrument Serif',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.4 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}::selection{background:var(--blue);color:white}:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;padding:12px;background:var(--ink);color:white}.skip-link:focus{top:10px}.topbar{height:100px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 3.4vw;border-bottom:1px solid var(--line)}.wordmark{font-size:46px;letter-spacing:-6px;line-height:1;font-weight:600;display:inline-block;width:65px}.header-note{font-size:12px;line-height:1.45;margin:0}.topbar nav{display:flex;gap:28px;justify-content:flex-end;align-items:center;font-size:13px}.topbar nav a{white-space:nowrap}.topbar nav a:hover{color:var(--blue)}sup{font:9px var(--mono);vertical-align:super}.contact-link{border:1px solid var(--ink);padding:10px 16px;border-radius:24px}.contact-link span{padding-left:15px}.hero{padding:30px 3.4vw 0;min-height:calc(100svh - 100px);display:flex;flex-direction:column}.hero-kicker{display:flex;justify-content:space-between;font:10px var(--mono);text-transform:uppercase;letter-spacing:.03em}.hero-title-wrap{position:relative;margin:32px 0 18px}.hero h1{font-family:Arial,Helvetica,sans-serif;font-size:21.1vw;line-height:.87;letter-spacing:-1.7vw;font-weight:700;margin:0;white-space:nowrap}.title-period{color:var(--blue)}.sculpture{position:absolute;width:23vw;max-width:340px;top:3%;left:49%;transform:translate(-50%,0) rotate(-9deg);filter:drop-shadow(0 28px 16px #162a7418);pointer-events:none;will-change:transform}.sculpture svg{width:100%;display:block}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:9vw;padding-top:35px;padding-bottom:32px;flex:1}.tiny-label{font:10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;margin:0}.hero-intro>p{font-size:clamp(28px,3.3vw,54px);line-height:1.02;letter-spacing:-.04em;margin:16px 0 24px}.hero-intro em{font:italic 1.18em var(--serif);letter-spacing:-.02em}.round-link{display:flex;align-items:center;gap:12px;font-size:12px;width:max-content}.round-arrow{border:1px solid var(--line);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:18px;transition:background .2s,color .2s,transform .2s}.round-link:hover .round-arrow{background:var(--blue);color:white;transform:translateY(3px);border-color:var(--blue)}.featured{display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:end;background:transparent;padding:0;text-align:left;justify-self:end;width:100%;max-width:420px}.featured-art{height:166px;position:relative;overflow:hidden;background:#bfcec0;border-radius:7px;color:#273b2e;box-shadow:0 12px 28px #00000008;transition:transform .4s}.featured:hover .featured-art{transform:rotate(-3deg) translateY(-5px)}.feature-orb{position:absolute;left:60px;top:-28px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f0ff9f,#a7b452 50%,#62753f 86%);box-shadow:-12px 20px 25px #52734860}.feature-name{position:absolute;bottom:40px;left:14px;font-size:41px;letter-spacing:-3px}.feature-name>span{font-size:32px;margin-left:6px}.feature-pill{position:absolute;bottom:13px;left:15px;font:8px var(--mono)}.featured-caption{display:flex;gap:16px;justify-content:space-between;align-items:end;font:10px/1.6 var(--mono);color:#777}.featured-caption strong{font:12px var(--sans);color:var(--ink)}.featured-arrow{font-size:24px;color:var(--ink)}.hero-baseline{border-top:1px solid var(--line);padding:16px 0 20px;display:flex;justify-content:space-between;font:10px var(--mono);color:#6a6b65}.down{margin-left:18px;color:var(--ink)}.work-section{padding:95px 3.4vw 60px;border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 2fr auto;align-items:start;margin-bottom:55px;gap:20px}.section-heading>.tiny-label{padding-top:8px}.section-heading h2{margin:0;font-size:clamp(40px,5vw,74px);font-weight:400;line-height:1.04;letter-spacing:-.05em}.blue-dot{color:var(--blue)}.view-switch{display:flex;background:#eae9e3;border-radius:22px;padding:4px;margin-top:10px}.view-switch button{font:10px var(--mono);background:transparent;border-radius:20px;padding:8px 15px;color:#777}.view-switch button.active{background:var(--ink);color:var(--paper)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px 28px}.project-tile{background:transparent;padding:0;text-align:left;min-width:0}.project-tile:nth-child(even){margin-top:95px}.tile-visual{display:block;height:34vw;max-height:540px;min-height:280px;overflow:hidden;position:relative;border-radius:5px;transition:border-radius .4s,transform .4s}.project-tile:nth-child(even) .tile-visual{height:28vw;min-height:250px}.project-tile:hover .tile-visual{border-radius:25px}.tile-visual>div{height:100%;width:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-tile:hover .tile-visual>div{transform:scale(1.035)}.tile-caption{display:flex;align-items:center;justify-content:space-between;padding-top:14px;gap:15px}.caption-main{display:flex;align-items:baseline;gap:18px}.tile-index{font:10px var(--mono);color:#777}.tile-caption strong{font-size:20px;letter-spacing:-.04em;font-weight:500}.tile-type{display:block;font:10px var(--mono);margin-top:3px;color:#73766e}.tile-arrow{font-size:24px;transition:transform .2s}.project-tile:hover .tile-arrow{transform:translate(3px,-3px);color:var(--blue)}.work-footnote{margin-top:55px;font:10px var(--mono);color:#73766e;border-top:1px solid var(--line);padding-top:15px}.art-nawa{background:#cbd6c6;display:flex;align-items:center;justify-content:center;gap:8%;position:relative}.nawa-word{position:absolute;left:7%;top:8%;font-size:clamp(25px,4vw,60px);letter-spacing:-.08em;color:#3c4b32}.nawa-orb{position:absolute;bottom:-17%;left:-14%;width:63%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 34% 27%,#f9ffc7,#b6ca69 48%,#647743 83%);box-shadow:20px -10px 45px #56654c22}.phone{position:relative;background:#f6f6e9;width:32%;height:78%;border:6px solid #3c4135;border-radius:25px;box-shadow:15px 22px 30px #3c4a3633;transform:rotate(8deg);padding:9% 5% 5%;color:#3e5134;display:flex;flex-direction:column;align-items:center;margin-left:27%}.phone::before{content:'';position:absolute;top:7px;width:30%;height:9px;background:#3c4135;border-radius:12px}.phone-time{font:7px var(--mono);position:absolute;left:13px;top:10px}.phone-greeting{font:clamp(14px,1.8vw,27px)/1.05 var(--serif);text-align:center}.phone-ball{width:68%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 25%,#effbb5,#a7bb70 60%,#6c8050);margin:14% 0;box-shadow:0 10px 16px #71934825}.phone-prompt{font-size:clamp(5px,.65vw,10px);text-align:center}.phone-button{font-size:clamp(5px,.6vw,9px);padding:9px;width:100%;background:#384832;color:white;border-radius:15px;text-align:center;margin-top:auto}.art-forest{background:#163e30;position:relative;overflow:hidden;color:#e7f1c4}.forest-lines{position:absolute;width:130%;height:130%;left:-15%;top:-15%;opacity:.5}.forest-title{position:absolute;top:11%;left:8%;font-size:clamp(24px,4.6vw,70px);line-height:.9;letter-spacing:-.055em}.forest-title em{font-family:var(--serif);font-weight:400}.forest-label{position:absolute;bottom:10%;left:8%;font:9px var(--mono);letter-spacing:.05em}.forest-disc{position:absolute;right:7%;bottom:8%;width:24%;aspect-ratio:1;border-radius:50%;background:#d1e79a;display:grid;place-items:center;color:#224735;font:italic clamp(28px,3.8vw,60px) var(--serif);box-shadow:0 0 50px #d1e79a22}.art-interludes{background:#ed542e;display:grid;place-items:center;position:relative;color:#fce8c2}.art-word{position:absolute;top:7%;left:7%;font-size:clamp(28px,4vw,64px);letter-spacing:-.06em}.instrument{width:70%;height:33%;border-radius:12px;background:linear-gradient(145deg,#e7e4d9,#a9aba1);transform:rotate(-12deg);box-shadow:5px 27px 35px #7a220f60,0 5px 0 #7d8179;display:flex;align-items:center;justify-content:space-around;padding:15px}.dial{width:24%;aspect-ratio:1;background:repeating-conic-gradient(#252b25 0deg 1deg,#333b34 1deg 9deg);border-radius:50%;box-shadow:5px 8px 8px #0004;position:relative}.dial::after{content:'';position:absolute;left:48%;top:5%;width:4%;height:24%;background:#eee9cb;border-radius:5px}.instrument-lines{width:20%;height:50%;background:repeating-linear-gradient(0deg,#404c41 0 2px,transparent 2px 10px)}.art-small-label{position:absolute;bottom:8%;left:7%;font:9px var(--mono);text-transform:uppercase}.art-rolling{background:#b9c4ec;position:relative;display:grid;place-items:center;color:#223781}.dice{position:relative;width:33%;aspect-ratio:1;background:#f9f5e9;border-radius:16%;transform:rotate(-18deg);box-shadow:10px 17px 0 #cbc6b7,23px 34px 25px #22378138;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;padding:19%;padding:6%}.dice i{width:42%;aspect-ratio:1;border-radius:50%;background:#2343e8}.rolling-orbit{position:absolute;inset:18% 6%;border:1px solid #7183bf;border-radius:50%;transform:rotate(-25deg)}.art-eden{background:#e1dfc3;position:relative;overflow:hidden;color:#586148}.eden-title{position:absolute;left:7%;top:7%;font:italic clamp(32px,6vw,92px)/.85 var(--serif)}.eden-shape{position:absolute;bottom:13%;width:31%;height:53%;border-radius:50% 50% 8% 8%;background:linear-gradient(100deg,#757e48,#b3ba79 42%,#4d5a32);box-shadow:15px 10px 25px #4b563e40;transform:rotate(-12deg);left:18%}.eden-shape.second{height:37%;left:51%;transform:rotate(15deg);background:linear-gradient(100deg,#ba7052,#dc9b76 40%,#885339)}.art-opticio{background:#22221f;color:#edead9;display:grid;place-items:center;position:relative}.opticio-circle{width:57%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,#e6e2ce 0px 2px,#22221f 3px 10px);transform:rotate(-20deg)}.opticio-word{position:absolute;top:40%;left:7%;font:italic clamp(38px,6vw,92px) var(--serif);mix-blend-mode:difference;color:white}.project-grid.index-view{display:block}.index-view .project-tile{width:100%;margin:0;padding:25px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:24px}.index-view .tile-visual{width:140px;height:95px!important;min-height:0;flex-shrink:0}.index-view .tile-caption{flex:1;padding:0}.index-view .caption-main{gap:30px}.index-view .tile-caption strong{font-size:32px}.index-view .tile-type{font-size:11px}.index-view .phone{border-width:2px;border-radius:9px}.index-view .phone-greeting{font-size:6px}.index-view .phone-prompt,.index-view .phone-button,.index-view .phone-time{display:none}.index-view .art-word,.index-view .nawa-word,.index-view .forest-title{font-size:18px}.index-view .art-small-label,.index-view .forest-label{display:none}.index-view .eden-title,.index-view .opticio-word{font-size:25px}.about{background:#eae9e2;padding:95px 3.4vw;display:grid;grid-template-columns:1fr 3fr;gap:20px}.about-content h2{font-size:clamp(38px,5.4vw,80px);font-weight:400;letter-spacing:-.05em;line-height:1.04;margin:0}.about-content em{font-family:var(--serif);font-size:1.13em;font-weight:400;color:var(--blue)}.about-lower{display:grid;grid-template-columns:1fr 2fr;gap:35px;margin-top:65px}.about-symbol{font-size:145px;line-height:1;color:var(--blue)}.about-lower>div>p{max-width:510px;font-size:19px;line-height:1.5;margin:0;letter-spacing:-.02em}.details{display:flex;gap:55px;border-top:1px solid #c9c8c1;margin-top:32px;padding-top:18px}.details p{font:10px var(--mono);margin:0;color:#6d6d67}.details span{display:block;font:13px var(--sans);margin-top:8px;color:var(--ink)}.contact-section{padding:75px 3.4vw 45px;background:var(--blue);color:var(--paper)}.contact-title{display:flex;justify-content:space-between;align-items:center;font-size:clamp(60px,12.5vw,200px);letter-spacing:-.065em;line-height:1.2;margin:30px 0 40px}.contact-title>span{font-size:.8em;transition:transform .25s}.contact-title:hover>span{transform:translate(8px,-8px)}.contact-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:20px;font-size:13px}.contact-bottom p{margin:0}.contact-bottom>a{border-bottom:1px solid #ffffff80;padding-bottom:4px}footer{padding:25px 3.4vw;display:flex;justify-content:space-between;font:10px var(--mono)}dialog{border:0;padding:0;width:100vw;max-width:none;height:100dvh;max-height:none;position:fixed;inset:0;margin:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#1b1c1a90;backdrop-filter:blur(10px)}dialog[open]{animation:dialog-in .4s cubic-bezier(.2,.7,.2,1)}@keyframes dialog-in{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}.detail-close{position:absolute;z-index:3;right:30px;top:25px;border:1px solid var(--line);border-radius:25px;padding:10px 20px;background:var(--paper);display:flex;align-items:center;gap:24px;font-size:12px}.detail-close span{font-size:24px;line-height:1}.detail-layout{min-height:100%;display:grid;grid-template-columns:40% 60%}.detail-copy{padding:13vh 4vw 5vh;display:flex;flex-direction:column}.detail-type{font:11px var(--mono);margin-top:40px;color:#73766e}.detail-copy h2{font-size:clamp(46px,6vw,90px);font-weight:400;line-height:.96;letter-spacing:-.055em;margin:20px 0 28px}.detail-description{font-size:20px;line-height:1.45;max-width:430px}.detail-note{font:10px/1.6 var(--mono);color:#777;margin-top:30px}.next-project{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:auto;padding:20px 0 0;text-align:left;background:transparent;font-size:13px}.next-project span{font-size:20px}.detail-art{padding:85px 30px 30px;display:flex;min-width:0}.detail-art>div{width:100%;min-height:70vh;border-radius:8px;position:relative;overflow:hidden}.detail-art .phone-greeting{font-size:30px}.detail-art .phone-prompt{font-size:11px}.detail-art .phone-button{font-size:10px}.detail-art .art-word{font-size:68px}.detail-art .forest-title{font-size:78px}.detail-art .nawa-word{font-size:70px}.detail-art .eden-title,.detail-art .opticio-word{font-size:100px}body.detail-open{overflow:hidden}
@media(min-width:1600px){.hero{min-height:900px}.hero-title-wrap{margin-top:55px}.hero-bottom{padding-bottom:50px}.featured{max-width:510px;grid-template-columns:210px 1fr}.featured-art{height:200px}.hero-intro>p{font-size:58px}}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto;height:82px}.header-note{display:none}.topbar nav{gap:22px}.hero{min-height:calc(100svh - 82px)}.hero-kicker{font-size:9px}.hero-title-wrap{margin-top:65px}.hero h1{font-size:21vw}.sculpture{width:26vw;top:-13%}.hero-bottom{gap:30px}.featured{grid-template-columns:135px 1fr;gap:13px}.featured-art{height:135px}.featured-caption{font-size:9px}.featured-caption strong{font-size:11px}.section-heading{grid-template-columns:1fr auto}.section-heading>.tiny-label{grid-column:1/-1}.section-heading h2{font-size:55px}.project-tile:nth-child(even){margin-top:65px}.tile-visual{min-height:280px}.tile-caption strong{font-size:18px}.caption-main{gap:10px}.about{grid-template-columns:1fr}.about-content{margin-top:30px}.about-lower{grid-template-columns:1fr 3fr}.about-content h2{font-size:60px}.detail-layout{grid-template-columns:1fr}.detail-copy{padding:85px 6vw 35px}.detail-type{margin-top:20px}.detail-copy h2{font-size:64px}.detail-description{max-width:600px}.next-project{margin-top:30px}.detail-art{padding:0 6vw 30px}.detail-art>div{min-height:70vh}.detail-close{position:fixed}}
@media(max-width:600px){html{scroll-padding-top:20px}.topbar{padding:0 20px;height:76px}.wordmark{font-size:38px}.topbar nav{gap:18px;font-size:12px}.contact-link{padding:8px 12px}.contact-link span{padding-left:5px}.hero{padding:24px 20px 0;min-height:calc(100svh - 76px)}.hero-kicker{font-size:8px;gap:20px}.hero-kicker span:last-child{text-align:right;max-width:140px}.hero-title-wrap{margin:65px 0 20px}.hero h1{font-size:20vw;letter-spacing:-1.5vw}.sculpture{width:31vw;top:-26%;left:53%}.hero-bottom{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding-top:16px;padding-bottom:28px}.hero-intro>p{font-size:39px;margin:12px 0 18px}.featured{width:100%;max-width:none;grid-template-columns:90px 1fr;gap:18px;align-items:center;justify-self:start}.featured-art{height:80px;border-radius:4px}.feature-name{font-size:25px;bottom:21px;left:8px;letter-spacing:-2px}.feature-name>span{font-size:21px}.feature-pill{font-size:5px;bottom:10px;left:8px}.feature-orb{width:90px;left:30px}.featured-caption{font-size:9px}.featured-caption strong{font-size:12px}.hero-baseline{font-size:8px;padding:14px 0}.hero-baseline span:last-child{font-size:8px}.work-section{padding:60px 20px 40px}.section-heading{gap:25px;margin-bottom:32px;align-items:end}.section-heading h2{font-size:36px}.view-switch button{font-size:9px;padding:7px 10px}.project-grid{grid-template-columns:1fr;gap:35px}.project-tile:nth-child(even){margin-top:0}.tile-visual,.project-tile:nth-child(even) .tile-visual{height:90vw;min-height:280px;max-height:480px}.project-tile:nth-child(even) .tile-visual{height:75vw}.tile-caption strong{font-size:22px}.tile-type{font-size:10px}.caption-main{gap:14px}.nawa-word,.art-word{font-size:48px}.phone-greeting{font-size:23px}.phone-prompt{font-size:8px}.phone-button{font-size:8px}.forest-title{font-size:50px}.forest-disc{font-size:40px}.eden-title,.opticio-word{font-size:72px}.work-footnote{font-size:9px;line-height:1.6}.about{padding:55px 20px}.about-content{margin-top:25px}.about-content h2{font-size:36px}.about-lower{grid-template-columns:1fr;margin-top:25px;gap:20px}.about-symbol{font-size:85px}.about-lower>div>p{font-size:17px}.details{gap:25px}.details span{font-size:12px}.contact-section{padding:50px 20px 30px}.contact-title{font-size:15vw;margin:25px 0 30px}.contact-bottom{flex-direction:column;gap:14px;font-size:12px}.contact-bottom a{align-self:flex-start}footer{padding:22px 20px;flex-wrap:wrap;gap:20px;font-size:9px}footer>span{display:none}.index-view .tile-visual{width:75px;height:65px!important}.index-view .project-tile{gap:12px;padding:18px 0}.index-view .caption-main{gap:10px}.index-view .tile-caption strong{font-size:19px}.index-view .tile-type{font-size:8px}.index-view .tile-arrow{font-size:18px}.detail-copy h2{font-size:50px}.detail-description{font-size:18px}.detail-close{top:15px;right:20px}.detail-art>div{min-height:100vw}.detail-art .phone-greeting{font-size:20px}.detail-art .phone-prompt{font-size:7px}.detail-art .phone-button{font-size:7px}.detail-art .art-word,.detail-art .nawa-word{font-size:45px}.detail-art .forest-title{font-size:47px}.detail-art .eden-title,.detail-art .opticio-word{font-size:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.sculpture{will-change:auto}}

/* Selected work: a quiet, scroll-driven vertical card stack. */
.work-section{height:420svh;position:relative;padding:0;background:#f6f6f4;border-top:1px solid var(--line)}
.work-browser{height:100svh;position:sticky;top:0;overflow:hidden;outline-offset:-6px}
.work-label{position:absolute;top:38px;left:3.4vw;color:#888a84}
.work-intro{position:absolute;left:17.8%;top:50%;transform:translateY(-50%);width:37%;z-index:15}
.work-intro h2{font:400 clamp(26px,2.4vw,38px)/1.08 var(--sans);letter-spacing:-.045em;margin:0}
.work-subtitle{font-size:clamp(21px,2.1vw,32px);line-height:1.12;letter-spacing:-.045em;color:#a1a29d;margin:3px 0 0;max-width:360px}
.work-current{margin-top:36px;display:flex;flex-direction:column;gap:4px}
#workCurrentTitle{font-size:14px;letter-spacing:-.02em}#workCurrentType{font:10px var(--mono);color:#969890}
.work-controls{display:flex;align-items:center;gap:6px;margin-top:24px}
.work-controls button{height:48px;width:48px;background:#fff;border-radius:15px;font-size:19px;transition:background .2s,color .2s}
.work-controls button:hover:enabled{background:var(--blue);color:white}.work-controls button:disabled{color:#c4c5c0;cursor:default}
#workCount{font:9px var(--mono);color:#9a9c94;margin-left:17px}
.project-stack{position:absolute;top:0;bottom:0;left:53%;width:35%;perspective:1000px;pointer-events:none}
.work-section .project-tile{position:absolute;left:50%;top:50%;width:var(--card-size,360px);height:var(--card-size,360px);margin:0;padding:0;background:#e9e9e6;border-radius:30px;overflow:hidden;pointer-events:none;will-change:transform,opacity;transition:none;text-align:left}
.work-section .project-tile.is-current{pointer-events:auto}
.work-section .tile-visual,.work-section .project-tile:nth-child(even) .tile-visual{position:absolute;inset:0;height:100%;width:100%;min-height:0;max-height:none;border-radius:0;transition:none}
.work-section .project-tile:hover .tile-visual{border-radius:0}
.work-section .tile-caption{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;display:flex;align-items:center;padding:0;color:white;text-shadow:0 1px 10px #0004}
.work-section .tile-caption strong{font:400 14px var(--sans);letter-spacing:-.02em}
.work-section .tile-arrow{font-size:20px;opacity:0;transform:translate(-4px,4px);transition:opacity .2s,transform .2s}
.work-section .project-tile:hover .tile-arrow,.work-section .project-tile:focus-visible .tile-arrow{opacity:1;transform:none;color:inherit}
.work-section .art-small-label,.work-section .forest-label{display:none}
.work-section .nawa-word,.work-section .art-word{font-size:36px}.work-section .forest-title{font-size:46px}.work-section .forest-disc{font-size:33px;bottom:18%}
.work-section .eden-title,.work-section .opticio-word{font-size:57px}
.work-section .phone{border-width:4px;border-radius:20px;height:72%;margin-top:-10px}
.work-section .phone-greeting{font-size:19px}.work-section .phone-prompt,.work-section .phone-button{font-size:7px}
.work-section .art-nawa+.tile-caption,.work-section .project-tile:nth-child(1) .tile-caption,.work-section .project-tile:nth-child(4) .tile-caption,.work-section .project-tile:nth-child(5) .tile-caption{color:#293129;text-shadow:none}
.work-dots{position:absolute;right:5.3%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;z-index:15}
.work-dots button{width:24px;height:22px;padding:0;display:grid;place-items:center;background:transparent}
.work-dots button::after{content:'';display:block;width:3px;height:3px;border-radius:50%;background:#cccdc7;transition:background .2s,transform .2s}
.work-dots button[aria-current]::after{background:var(--ink);transform:scale(1.35)}
.work-dots button:hover::after{background:var(--blue);transform:scale(1.8)}
.work-hint{position:absolute;bottom:30px;left:3.4vw;font:9px var(--mono);color:#979990;margin:0}.work-hint span{margin-left:15px}.work-year{position:absolute;bottom:30px;right:3.4vw;font:9px var(--mono);color:#979990}
@media(max-width:900px){.work-intro{left:8%;width:40%}.work-intro h2{font-size:28px}.work-subtitle{font-size:25px}.project-stack{left:51%;width:40%}.work-dots{right:2%}}
@media(max-width:600px){.work-section{height:400svh;padding:0}.work-label{top:26px;left:20px}.work-intro{left:25px;top:13%;width:calc(100% - 50px);transform:none}.work-intro h2{font-size:26px}.work-subtitle{font-size:23px;max-width:none}.work-current{margin-top:16px;gap:2px}#workCurrentTitle{font-size:12px}#workCurrentType{font-size:9px}.work-controls{position:absolute;right:0;bottom:0;margin:0}.work-controls button{width:34px;height:34px;border-radius:10px;font-size:16px}#workCount{display:none}.project-stack{left:6%;width:88%;top:22%;bottom:0}.work-section .project-tile{border-radius:25px}.work-dots{top:65%;right:4px}.work-dots button{height:22px;width:20px}.work-section .tile-caption{left:20px;right:20px;bottom:18px}.work-section .tile-caption strong{font-size:13px}.work-section .tile-arrow{opacity:1}.work-hint{left:20px;bottom:23px}.work-year{right:20px;bottom:23px}.work-section .nawa-word,.work-section .art-word{font-size:30px}.work-section .forest-title{font-size:39px}.work-section .forest-disc{font-size:28px}.work-section .eden-title,.work-section .opticio-word{font-size:47px}.work-section .phone-greeting{font-size:16px}.work-section .phone-prompt,.work-section .phone-button{font-size:6px}}
@media(prefers-reduced-motion:reduce){.work-section .project-tile{will-change:auto}}

/* A tactile hero object. */
.sculpture{padding:0;border:0;background:transparent;pointer-events:auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;z-index:3;border-radius:50%;filter:drop-shadow(var(--object-shadow-x,0px) 24px 16px #162a7425);transform:translate(-50%,0)}
.sculpture-object{display:block;transform-origin:50% 50%;will-change:transform;pointer-events:none}
.sculpture.is-grabbed{cursor:grabbing}
.sculpture-hint{position:absolute;left:50%;bottom:-16px;transform:translate(-50%,6px);padding:7px 11px;border:1px solid #d5d4ce;background:#f5f4efed;border-radius:20px;font:9px var(--mono);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;color:var(--ink)}
.sculpture:hover .sculpture-hint,.sculpture:focus-visible .sculpture-hint{opacity:1;transform:translate(-50%,0)}
.sculpture.is-grabbed .sculpture-hint{opacity:0}
.sculpture:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(hover:none){.sculpture-hint{bottom:-8px;font-size:8px}.sculpture:focus .sculpture-hint{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.sculpture-object{will-change:auto}}

/* Hero: oversized lettering and a tactile blue foil flower. */
.topbar{height:80px;padding:0 24px;border-bottom:0;background:#fff;grid-template-columns:1fr auto}.header-note{display:none}.wordmark{font-size:38px}.topbar nav{gap:25px}.contact-link{border:0;padding:8px 0}
.hero{position:relative;padding:0 24px;min-height:650px;height:calc(100svh - 80px);background:#fff;display:block}
.hero-kicker{display:none}
.hero-title-wrap{position:absolute;top:48%;left:20px;right:20px;margin:0;transform:translateY(-50%);cursor:default}
.hero h1{font-family:'Arial Black',Arial,Helvetica,sans-serif;font-weight:900;font-size:20.1vw;line-height:.92;letter-spacing:-1.58vw;color:#050505}
.title-period{color:var(--blue)}
.hero-bottom{display:block;padding:0}.hero-intro{position:absolute;top:15px;left:24px}.hero-intro>.tiny-label{display:none}
.hero-intro>p{font:400 23px/1.04 var(--sans);letter-spacing:-.04em;margin:0}.hero-intro>p em{font:inherit;letter-spacing:inherit}
.hero-intro .round-link{margin-top:23px;background:#050505;color:#fff;padding:13px 20px;border-radius:30px;gap:20px;flex-direction:row-reverse;font:10px var(--mono);text-transform:uppercase}
.hero-intro .round-arrow{border:0;width:auto;height:auto;font-size:19px;line-height:1}.hero-intro .round-link:hover .round-arrow{background:transparent;transform:translate(3px,-3px)}
.hero-baseline{position:absolute;bottom:0;left:24px;right:24px;border:0;padding:18px 0;align-items:center;font:9px var(--mono);color:#242420}
.sculpture{width:23vw;max-width:345px;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(var(--object-shadow-x,0px) 14px 10px #00000018)}
.hero-sculpture-img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.sculpture-hint{display:none}
.hero-flower-spin{display:flex;gap:16px;align-items:center;padding:10px 0;background:transparent;font:9px var(--mono);color:var(--ink);text-transform:uppercase}
.hero-flower-spin>span:first-child{font:20px var(--sans);transition:transform .3s}.hero-flower-spin:hover>span:first-child{transform:rotate(90deg)}

@media(min-width:1600px){.hero{min-height:750px}.hero-title-wrap{margin:0}.hero-intro>p{font-size:26px}}
@media(max-width:900px){.hero{min-height:620px}.topbar{height:80px}.hero-title-wrap{margin:0}.hero h1{font-size:19.8vw}.sculpture{width:27vw;top:50%;left:50%}}
@media(max-width:600px){.topbar{height:70px;padding:0 18px}.topbar nav{gap:20px}.hero{height:calc(100svh - 70px);min-height:580px;padding:0 18px}.hero-intro{left:18px;top:22px}.hero-intro>p{font-size:21px}.hero-title-wrap{left:12px;right:12px;top:49%;margin:0}.hero h1{font-size:19.3vw;letter-spacing:-1.5vw}.sculpture{width:37vw;top:50%;left:50%}.hero-intro .round-link{font-size:9px;margin-top:20px;padding:12px 17px}.hero-baseline{left:18px;right:18px;align-items:flex-end;padding:20px 0;font-size:8px}.hero-flower-spin{font-size:8px;gap:9px;text-align:right;flex-wrap:wrap;max-width:160px;justify-content:flex-end;padding:0}.hero-flower-spin>span:first-child{font-size:18px}}

/* The blue flower is the visual thread through the page. */
.wordmark{width:40px}
.sculpture{filter:drop-shadow(0 14px 10px #00000018);will-change:transform}.sculpture-object{backface-visibility:hidden}
.work-flower{display:block;position:absolute;width:72px;height:72px;top:-95px;left:-5px;object-fit:contain;transform:rotate(-12deg);pointer-events:none}
.about-symbol.flower-play{background:transparent;padding:0;display:block;width:180px;height:180px;border:0;cursor:pointer;align-self:start;border-radius:50%}
.flower-play img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 12px 12px #0a16451a);transform:rotate(-12deg)}
.contact-section{position:relative}
.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{width:28px;height:28px;object-fit:contain;transform:rotate(-15deg)}
footer{align-items:center}
@media(max-width:900px){.about-symbol.flower-play{width:140px;height:140px}.work-flower{width:60px;height:60px;top:-80px}}
@media(max-width:600px){.wordmark{width:40px}.work-flower{top:-52px;left:0;width:38px;height:38px}.about-symbol.flower-play{width:110px;height:110px}.footer-brand img{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.sculpture{will-change:auto}.work-flower{transform:rotate(-12deg)}}
.hero{overflow:clip}
dialog.pointer-focus .detail-close:focus{outline:none}
