:root{--bg:#f5f4f0;--ink:#242628;--muted:#65686a;--line:#d5d5d0;--accent:#242628;--surface:#ecece7;--field:#fafaf7;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'IBM Plex Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--accent);color:var(--bg)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.shell{width:min(1440px,100%);padding-left:64px;padding-right:64px;margin:auto}.skip{position:absolute;top:-100px;z-index:10;padding:16px;background:var(--accent);color:var(--bg)}.skip:focus{top:10px}#art{position:absolute;top:40px;right:0;width:64%;height:820px;pointer-events:none;overflow:hidden;z-index:0}.fallback-art{width:100%;height:100%;opacity:.55}#art canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s}#art.ready canvas{opacity:1}#art.ready .fallback-art{opacity:0}header{height:110px;display:flex;align-items:center;gap:65px;position:relative;z-index:2}.brand{font-size:35px;font-weight:700;letter-spacing:-3px}.brand span{font-size:12px;vertical-align:top;line-height:2.4;letter-spacing:0;margin-left:4px}.nav-caption{font-size:10px;line-height:1.6;color:var(--muted)}nav{display:flex;align-items:center;gap:32px;margin-left:auto;font-size:12px}nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-7px;left:0;height:1px;width:0;background:var(--accent);transition:width .25s}nav a:hover:after{width:100%}nav span{font-size:8px;margin-left:3px;color:var(--muted)}nav .contact-nav{border:1px solid #b5b7b5;padding:12px 18px;border-radius:30px}.contact-nav span{font-size:12px;color:var(--accent);margin-left:20px}main{position:relative}.micro{font:12px/1.6 'IBM Plex Sans',sans-serif;letter-spacing:0;text-transform:none}.micro i{width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block;margin-right:8px;vertical-align:1px}.muted{color:var(--muted)}.hero{min-height:760px;display:flex;flex-direction:column;position:relative}.hero-top{display:flex;justify-content:space-between;margin-top:40px;color:#65686a}.hero-index{color:var(--muted)}h1{font-size:clamp(75px,8.6vw,130px);font-weight:500;letter-spacing:-.045em;line-height:.94;margin:40px 0 29px;pointer-events:none;position:relative;z-index:1}h1>span{display:block}.name-period{color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;flex:1;align-items:end;padding-bottom:36px}.hero-copy>p{font-size:27px;font-weight:400;line-height:1.2;letter-spacing:-.9px;margin:0 0 18px}.hero-description{font-size:12px;line-height:1.75;color:#65686a}.circle-link{display:inline-flex;align-items:center;gap:13px;font-size:11px;margin-top:25px}.circle{height:34px;width:34px;border:1px solid #b5b7b5;border-radius:50%;display:grid;place-items:center;font-size:17px;transition:.25s}.circle-link:hover .circle{background:var(--accent);color:var(--bg);border-color:var(--accent);transform:translateY(4px)}.art-caption{display:flex;gap:20px;align-items:center;color:#65686a;margin:0 26px 36px 0}.cross{font-size:35px;font-weight:200}.art-caption .micro{font-size:9px}.hero-footer{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line);color:var(--muted)}#motion-toggle{display:flex;gap:10px;color:#65686a;border:none;background:transparent;padding:5px 0;cursor:pointer;font:12px 'IBM Plex Sans',sans-serif;letter-spacing:0}#motion-toggle:disabled{opacity:.5;cursor:default}.motion-icon{color:var(--accent)}.work{padding-top:120px;background:var(--bg)}.section-header{display:grid;grid-template-columns:1fr 2.2fr 1fr;gap:30px;align-items:end;margin-bottom:54px}.section-header>.micro{align-self:start;color:var(--muted);padding-top:9px}h2{font-size:clamp(35px,4vw,58px);font-weight:400;letter-spacing:-2.5px;line-height:1.04;margin:0}.section-header>p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.project{display:grid;grid-template-columns:1fr 2.2fr 1fr;gap:30px;padding:42px 0 45px;border-top:1px solid var(--line);position:relative}.project:last-child{border-bottom:1px solid var(--line)}.project:before{content:'';height:1px;width:0;background:var(--accent);position:absolute;top:-1px;left:0;transition:width .5s}.project:hover:before,.project:focus-within:before{width:100%}.project-meta{display:flex;flex-direction:column;gap:22px;font-size:11px;line-height:1.7;color:var(--muted)}.project-meta .micro{color:#242628}.stack{font-size:9px;line-height:1.7;max-width:155px;margin-top:auto}.project h3{font-size:clamp(25px,2.8vw,40px);font-weight:400;letter-spacing:-1.4px;line-height:1.1;margin:0 0 21px;transition:color .25s}.project:hover h3{color:var(--accent)}.project-main>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:480px;margin:0 0 23px}.project-impact{display:flex;flex-direction:column;align-items:flex-end;gap:11px;padding-top:4px}.project-impact strong{font-size:clamp(30px,3.4vw,49px);font-weight:400;letter-spacing:-2px;color:var(--accent);white-space:nowrap}.project-impact>span{font-size:10px;line-height:1.7;color:var(--muted);text-align:right}details summary{list-style:none;cursor:pointer;display:inline-flex;gap:26px;align-items:center;font-size:11px;border-bottom:1px solid #a1a4a3;padding-bottom:8px}summary::-webkit-details-marker{display:none}summary>span{font-size:18px;font-weight:300;color:var(--accent);transition:transform .3s}details[open] summary>span{transform:rotate(45deg)}.case-content{border-left:1px solid #d5d5d0;margin-top:26px;padding:0 0 0 20px}.case-content h4{font-size:13px;text-transform:none;letter-spacing:0;font-weight:500;margin:22px 0 7px;color:var(--accent)}.case-content p{font-size:12px;line-height:1.8;color:#65686a;margin:0}.case-content small{font-size:9px;color:var(--muted)}.flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:10px;padding:23px 0 8px}.flow span:nth-child(odd){padding:9px;border:1px solid var(--line)}.about{padding-top:120px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:75px;background:var(--bg)}.about-intro>.micro{color:var(--muted)}.about h2{font-size:clamp(34px,3.3vw,47px);margin:30px 0}.about-intro>p{max-width:460px;font-size:14px;line-height:1.85;color:var(--muted)}.history{padding-top:45px}.history-row{border-top:1px solid var(--line);display:grid;grid-template-columns:83px 1fr;gap:20px;padding:24px 0}.history-row>.micro{font-size:9px;color:var(--muted);padding-top:5px}.history-row h3{font-size:19px;font-weight:400;margin:0 0 7px;letter-spacing:-.5px}.role{font-size:10px;color:#65686a}.history-row p{font-size:12px;line-height:1.8;color:var(--muted);margin:14px 0 0}.toolset{grid-column:1/-1;display:grid;grid-template-columns:1fr 3.2fr;gap:30px;padding-top:30px;border-top:1px solid var(--line)}.toolset>.micro{color:var(--muted);padding-top:7px}.toolset p{font-size:22px;line-height:1.7;letter-spacing:-.5px;margin:0}.toolset b{color:#a1a4a3;font-weight:400;margin:0 10px}.toolset .ai-tools{font-size:12px;letter-spacing:0;color:var(--muted);margin-top:15px;line-height:1.9}.contact{background:var(--surface);color:var(--ink);border-top:1px solid var(--line);padding-top:35px;padding-bottom:37px}.contact-top{display:flex;justify-content:space-between}.contact-top .micro i{background:var(--bg)}.contact-heading{display:block;font-size:clamp(64px,9.4vw,137px);line-height:.96;letter-spacing:-.045em;margin:52px 0}.contact-heading>span:first-child{float:right;font-size:.8em;transition:transform .4s}.contact-heading:hover>span:first-child{transform:translate(7px,-7px)}.contact .name-period{color:#242628}.contact-bottom{display:flex;justify-content:space-between;font-size:13px;border-top:1px solid #d5d5d0;padding-top:25px;gap:20px}.contact-bottom>div{display:flex;gap:35px}.contact-bottom a:hover{text-decoration:underline;text-underline-offset:5px}footer{display:flex;justify-content:space-between;padding-top:28px;padding-bottom:30px;font-size:10px;color:var(--muted)}footer a:hover{color:var(--accent)}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.js .reveal.visible{opacity:1;transform:none}
@media(min-width:1500px){#art{right:calc((100vw - 1440px)/2);width:850px;height:870px}.hero{min-height:810px}}@media(max-width:1100px){.shell{padding-left:38px;padding-right:38px}header{gap:35px}nav{gap:23px}.hero{min-height:740px}#art{height:780px;width:70%;right:-20px}.section-header,.project{grid-template-columns:.8fr 2fr .9fr;gap:23px}.art-caption{margin-right:0}.about{gap:40px}.section-header>p{font-size:11px}.project-impact strong{font-size:33px}.toolset b{margin:0 5px}}@media(max-width:760px){.shell{padding-left:24px;padding-right:24px}header{height:85px;gap:15px}.brand{font-size:30px}.nav-caption{display:none}nav{gap:20px;font-size:11px}.contact-nav{display:none!important}nav span{display:none}.hero{min-height:760px}.hero-top{margin-top:23px}.hero-top .micro{font-size:8px}.hero-index{display:none}h1{font-size:clamp(42px,11.3vw,86px);line-height:1.04;letter-spacing:-.045em;margin-top:34px}#art{top:110px;width:100%;right:0;height:510px;opacity:.78}.hero-bottom{align-items:end;padding-top:205px}.hero-copy>p{font-size:24px}.hero-description{font-size:11px}.art-caption{display:none}.hero-footer>.micro{font-size:8px;max-width:170px}.hero-footer{margin-top:16px}.work{padding-top:75px}.section-header{grid-template-columns:1fr;gap:22px;margin-bottom:35px}.section-header>p{font-size:12px}.section-header h2{font-size:43px}.project{grid-template-columns:1fr 100px;gap:25px 12px;padding:29px 0}.project-meta{grid-column:1/-1;flex-direction:row;justify-content:space-between;gap:12px}.project-meta>span:nth-child(2){display:none}.project-meta .stack{margin:0;max-width:none;font-size:8px;text-align:right}.project h3{font-size:26px;letter-spacing:-1px}.project-main>p{font-size:12px}.project-impact{padding-top:0}.project-impact strong{font-size:26px;letter-spacing:-1.2px}.project-impact>span{font-size:9px}.case-content{margin-left:0;padding-left:12px}.flow{gap:6px;font-size:9px}.flow span:nth-child(odd){padding:5px}.about{grid-template-columns:1fr;padding-top:75px;padding-bottom:65px;gap:30px}.about h2{font-size:36px;margin:24px 0}.about-intro>p{font-size:13px}.history{padding-top:0}.toolset{grid-template-columns:1fr;gap:17px;padding-top:25px}.toolset p{font-size:18px}.toolset .ai-tools{font-size:11px}.contact{padding-top:28px;padding-bottom:28px}.contact-top .micro{font-size:8px}.contact-heading{font-size:clamp(57px,12vw,91px);margin:39px 0}.contact-bottom{font-size:11px;flex-direction:column;gap:20px}.contact-bottom>div{gap:25px}footer{font-size:9px}#motion-toggle{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}

/* Editorial typography and responsive project layout. */
nav{font-size:14px}h1{font-weight:500}h2,.about h2{font-size:40px;letter-spacing:-1.1px;font-weight:400}.section-header{grid-template-columns:1fr 1fr;align-items:center}.section-header>p{font-size:14px;justify-self:end}.project h3{font-size:32px;letter-spacing:-.8px;line-height:1.17}.project-main>p{font-size:14px}.project-meta{font-size:12px}.project-meta .micro{font-size:13px}.stack{font-size:11px}.hero-description{font-size:14px}.circle-link,details summary{font-size:13px}.project-impact>span{font-size:12px}.case-content p,.history-row p{font-size:13px}.role{font-size:12px}.history-row>.micro{font-size:11px}.about-intro>p{font-size:15px}.about h2{margin-top:0}.history{padding-top:0}.contact-heading{font-size:clamp(55px,8vw,105px);letter-spacing:-.045em}
@media(max-width:1100px){.project h3{font-size:29px}}
@media(max-width:760px){nav{font-size:12px}.hero-bottom{display:block;padding-top:205px;padding-bottom:0}.hero-top .micro,.hero-footer>.micro,.contact-top .micro{font-size:11px}.hero-footer>.micro{max-width:180px}.hero-description{font-size:13px}#motion-toggle{font-size:11px}.section-header{grid-template-columns:1fr;gap:15px}.section-header h2,.about h2{font-size:34px}.section-header>p{justify-self:start;font-size:13px}.project h3{font-size:25px}.project-main>p{font-size:13px}.project-impact>span{font-size:10px}.project-meta .stack{font-size:10px}.about-intro>p{font-size:14px}.history-row{grid-template-columns:75px 1fr;gap:15px}.contact-heading{font-size:clamp(48px,10.5vw,80px)}}

.section-header>p{max-width:430px;line-height:1.7}



.hero-description{max-width:390px;line-height:1.75}.hero-copy>p{font-size:29px;line-height:1.2}.history-row{grid-template-columns:100px 1fr}.history-row>.micro{line-height:1.5;max-width:95px}.hero-copy{max-width:480px}
@media(max-width:760px){.hero-copy>p{font-size:26px}.hero-description{max-width:330px}.history-row{grid-template-columns:80px 1fr;gap:15px}.history-row>.micro{font-size:10px}.hero-footer{margin-top:28px}}

.contact-heading{margin-bottom:36px;font-weight:400}.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;padding-bottom:20px}.contact-intro p{font-size:20px;line-height:1.5;max-width:290px;margin:0 0 26px}.contact-intro>a{font-size:14px;text-decoration:underline;text-underline-offset:5px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:block;font-size:13px;line-height:1.6;margin-bottom:21px}.contact-form input,.contact-form textarea{display:block;width:100%;font:15px 'IBM Plex Sans',Arial,sans-serif;color:#242628;border:1px solid #a1a4a3;background:var(--field);border-radius:3px;padding:13px 14px;margin-top:7px;outline-offset:2px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#65686a}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #242628;border-color:#242628}.contact-form textarea{resize:vertical;min-height:140px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-submit{display:flex;gap:20px;align-items:center}.contact-submit button{padding:13px 20px;background:#242628;color:#f5f4f0;border:1px solid #242628;border-radius:3px;cursor:pointer;white-space:nowrap;font:14px 'IBM Plex Sans',Arial,sans-serif}.contact-submit button span{margin-left:20px}.contact-submit button:disabled{opacity:.65;cursor:wait}.contact-submit>span{font-size:11px;line-height:1.5;max-width:150px}#contact-status{font-size:13px;line-height:1.6;min-height:22px;margin:16px 0 0}#contact-status[data-error=true]{color:#7e2019}.contact a:focus-visible,.contact button:focus-visible{outline:2px solid #242628}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:30px}.contact-intro p{max-width:100%;font-size:17px;margin-bottom:15px}.contact-fields{grid-template-columns:1fr;gap:0}.contact-heading{margin-bottom:25px}.contact-submit{gap:15px}.contact-submit button{padding:12px 16px}.contact-submit>span{font-size:10px}}

/* Carrara: quiet surfaces, crisp edges, and a softly lit stone sculpture. */
#art{background:radial-gradient(ellipse at 58% 48%,rgba(115,120,126,.065),transparent 61%)}
.fallback-art{opacity:.82}
nav .contact-nav{border-radius:2px;transition:background .2s,color .2s}
nav .contact-nav:hover{background:var(--ink);color:var(--bg)}
nav .contact-nav:hover span{color:var(--bg)}
.contact-submit button:hover{background:#404346}
.contact-submit>span{color:var(--muted)}
@media(max-width:760px){#art{opacity:1}}
