@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#edf1f8;--ink:#163ec7;--muted:#52628b;--line:#bcc8e0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:500 17px/1.6 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{opacity:.65}button{font:inherit;color:inherit;cursor:pointer}[hidden]{display:none!important}header,main,footer{max-width:1600px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:28px 5%;gap:24px}.brand{font:800 40px/1 Manrope,Arial,sans-serif;letter-spacing:-4px}nav{display:flex;gap:30px;font-size:14px}header button,footer button{border:0;background:none;font-size:12px;padding:8px 0;color:var(--muted)}.hero{position:relative;padding:65px 5% 25px;min-height:720px}.hero-copy{position:relative;z-index:1}.hero h1{font:800 clamp(76px,11.5vw,178px)/.92 Manrope,Arial,sans-serif;letter-spacing:-.085em;margin:0 0 50px;max-width:1100px}.hero h1 em{display:inline-block;font-style:normal;color:var(--bg);background:var(--ink);padding:12px 32px 25px;margin:20px 0 0 8%;transform:rotate(-3deg)}.hero-copy>p{margin:0 0 22px 9%;font-size:18px}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:14px}.hero-copy>.text-link{margin-left:9%}.sculpture{position:absolute;right:4%;bottom:110px;width:220px;height:220px}canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y}canvas:active{cursor:grabbing}.hero-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:95px;font-size:12px}.section{padding:110px 7%}.section h2{font:800 clamp(44px,6vw,88px)/1.04 Manrope,Arial,sans-serif;letter-spacing:-.075em;margin:0}.about{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;border-top:1px solid var(--line);padding-bottom:155px}.about h2{transform:rotate(-4deg)}.about-copy{padding-top:45px;max-width:360px}.about-copy p{margin:0;font-size:23px;line-height:1.5}.mini-scene{position:absolute;width:130px;height:130px;right:9%;bottom:15px}.practice{background:#163ec7;color:#edf1f8;display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.practice h2{font-size:clamp(46px,5.4vw,80px);max-width:250px}.work-list{border-top:1px solid #7189dd}details{border-bottom:1px solid #7189dd;padding:26px 0}summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary h3{font-size:32px;font-weight:500;letter-spacing:-.045em;margin:0}summary span{font-size:28px}details[open] summary span{transform:rotate(45deg)}details p{margin:15px 0 0;font-size:15px;color:#cbd7ff}.work-list>.text-link{margin-top:32px}.note{position:relative;padding-top:130px;padding-bottom:130px}.offline-copy h2{font-size:clamp(55px,8vw,115px)}.offline-copy h2 em{font-style:normal;display:inline-block;margin-left:15%;border-bottom:6px solid var(--ink);padding-bottom:12px}.offline-copy p{margin:35px 0 0 15%;font-size:18px}.note-orbit{position:absolute;right:9%;top:70px;width:170px;height:170px}.contact{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;border-top:1px solid var(--line);background:#d7e3fc}.contact h2{transform:rotate(-4deg)}.contact-body>p{margin:0 0 30px}.direct-links{display:flex;flex-direction:column;align-items:flex-start;gap:15px;font-size:clamp(19px,2.1vw,30px);letter-spacing:-.04em}.direct-links a{border-bottom:1px solid var(--line);overflow-wrap:anywhere}.social-links{display:flex;flex-wrap:wrap;gap:18px 25px;margin-top:40px;font-size:13px}footer{display:flex;justify-content:space-between;align-items:center;padding:30px 5%;gap:20px}footer>span{font-size:12px;color:var(--muted)}.eco-mark{display:none}body.eco .sculpture,body.eco .mini-scene,body.eco .note-orbit{display:none}body.eco [data-parallax]{transform:none!important}body.eco *{scroll-behavior:auto!important;animation:none!important}a:focus-visible,button:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid currentColor;outline-offset:6px}noscript{font-size:13px;padding:20px 5%}
@media(max-width:950px){.hero{min-height:610px}.sculpture{width:160px;height:160px}.about,.practice,.contact{gap:40px}.about-copy p{font-size:20px}.note-orbit{width:130px;height:130px;right:5%}}
@media(max-width:600px){header{display:grid;grid-template-columns:auto 1fr;padding:25px 6%;gap:10px 20px}nav{justify-self:end;gap:18px;font-size:12px}header button{grid-column:2;justify-self:end;padding:0}.brand{font-size:34px}.hero{padding:45px 6% 25px;min-height:0}.hero h1{font-size:clamp(49px,14vw,84px);margin-bottom:35px}.hero h1 em{margin:14px 0 0 0;padding:8px 15px 15px}.hero-copy>p,.hero-copy>.text-link{margin-left:0}.hero-copy>p{font-size:15px}.sculpture{position:relative;right:auto;bottom:auto;width:125px;height:125px;margin:24px 0 0 auto}.hero-foot{margin-top:25px;font-size:10px}.section{padding:65px 6%}.section h2{font-size:48px}.about,.practice,.contact{display:block}.about{padding-bottom:65px}.about-copy{padding-top:28px;max-width:290px}.about-copy p{font-size:18px}.mini-scene{position:relative;right:auto;bottom:auto;width:100px;height:100px;margin:25px 0 0 auto}.practice h2{max-width:none;margin-bottom:38px}summary h3{font-size:26px}details{padding:23px 0}.note{padding-top:80px;padding-bottom:65px}.offline-copy h2{font-size:clamp(38px,10.4vw,60px)}.offline-copy h2 em{margin-left:4%;border-width:3px;padding-bottom:8px}.offline-copy p{margin:28px 0 0 4%;font-size:16px}.note-orbit{position:relative;right:auto;top:auto;width:120px;height:120px;margin:30px 0 0 auto}.contact h2{margin-bottom:38px}.direct-links{font-size:20px}.social-links{gap:16px 20px}footer .brand{font-size:28px}footer>span,footer button{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-parallax]{transform:none!important}}
@media(pointer:fine){html,body{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M4 3L4 23L10 17L15 26L19 24L14 15L23 15Z' fill='%23163ec7' stroke='%23edf1f8' stroke-width='1.5'/%3E%3C/svg%3E") 4 3,auto}a,button,summary{cursor:pointer}}
/* Quiet depth behind the page; the pointer only moves the decorative layer. */
body{isolation:isolate}.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;--px:0px;--py:0px;--sy:0px}.ambient-grid{position:absolute;inset:-160px;background-image:linear-gradient(#163ec70a 1px,transparent 1px),linear-gradient(90deg,#163ec70a 1px,transparent 1px);background-size:90px 90px;transform:translate3d(calc(var(--px) * -.35),calc(var(--py) * -.35 + var(--sy)),0);mask-image:linear-gradient(120deg,transparent,#000 65%)}.ambient-ring{position:absolute;width:46vw;height:46vw;min-width:320px;min-height:320px;border:1px solid #163ec726;border-radius:50%;right:-16vw;top:18%;transform:translate3d(var(--px),var(--py),0)}.ambient-cross{position:absolute;left:4%;top:74%;font:300 130px/1 Arial;color:#163ec714;font-style:normal;transform:translate3d(calc(var(--px) * -1),calc(var(--py) * -1),0)}header nav{gap:22px}.section-intro{max-width:280px;font-size:17px;margin-top:30px}.work-list details p{max-width:570px;line-height:1.85}.blog,.teaching{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;border-top:1px solid var(--line)}.blog{padding-top:95px;padding-bottom:95px}.blog-body>p{max-width:440px;font-size:22px;margin:10px 0 25px}.blog-body .blog-pending{font-size:14px;color:var(--muted)}.teaching{background:#d7e3fc}.teaching-body p{margin:0 0 25px;max-width:510px;font-size:18px}.teaching-body .text-link{margin-top:10px}body.eco .ambient{display:none}@media(max-width:600px){header{grid-template-columns:auto 1fr}header nav{gap:10px;font-size:11px;flex-wrap:wrap;max-width:260px}.blog,.teaching{display:block}.blog h2,.teaching h2{margin-bottom:30px}.blog-body>p{font-size:18px}.teaching-body p{font-size:16px}.section-intro{font-size:15px;margin-top:22px;max-width:300px}.practice .section-name{margin-bottom:35px}.practice h2{margin-bottom:0}.ambient-grid{background-size:60px 60px}}@media(prefers-reduced-motion:reduce){.ambient{display:none}}
.blog-link{font-size:clamp(25px,3vw,42px);letter-spacing:-.05em;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);padding:18px 0;max-width:560px}.blog-link span{font-size:40px}
/* One shared column system for a quieter personal index. */
:root{--bg:#eef3fc;--ink:#193db6;--line:#c6d2e8}header,main,footer{max-width:1280px}header{padding:30px 5%;border-bottom:1px solid var(--line)}.brand{font-size:36px;letter-spacing:-3px}.hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;min-height:610px;padding:75px 5% 30px}.hero-copy{grid-column:1/9}.hero h1{font-size:clamp(70px,8.6vw,120px);letter-spacing:-.07em;line-height:1.03;margin-bottom:30px}.hero h1 em{background:none;color:var(--ink);transform:none;margin:0;padding:0}.hero-copy>p,.hero-copy>.text-link{margin-left:0}.sculpture{position:relative;grid-column:10/13;right:auto;bottom:auto;align-self:center;width:100%;height:220px}.hero-foot{grid-column:1/-1;margin-top:45px}.section{padding:85px 5%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;position:relative;border-top:1px solid var(--line)}.section h2{font-size:clamp(42px,4.9vw,65px);letter-spacing:-.065em;line-height:1.08;transform:none}.section-name,.teaching>div:first-child,.contact>h2,.blog>h2{grid-column:1/5}.about-copy,.work-list,.blog-body,.teaching-body,.contact-body{grid-column:6/13}.about-copy{padding:0;max-width:470px}.about-copy p{font-size:21px;line-height:1.7}.about{padding-bottom:140px}.mini-scene{width:100px;height:100px;bottom:20px;right:6%}.practice{background:#193db6;border-color:#193db6}.practice h2{max-width:none;font-size:clamp(42px,4.9vw,65px)}.section-intro{font-size:16px;line-height:1.7;margin-top:24px}.work-list summary h3{font-size:25px;line-height:1.35}.work-list details p{font-size:15px}.blog-body>p{font-size:20px;margin-top:0}.blog-link{font-size:30px}.teaching{background:#e0e9fc}.teaching-body p{font-size:17px;line-height:1.8}.note{background:transparent;padding-bottom:100px}.offline-copy{grid-column:1/10}.offline-copy h2{font-size:clamp(42px,4.9vw,65px)}.offline-copy h2 br{display:none}.offline-copy h2 em{display:inline;margin:0;border:0;padding:0}.offline-copy>p{margin:25px 0 0;max-width:450px;font-size:18px}.note-orbit{position:relative;grid-column:11/13;right:auto;top:auto;width:100%;height:150px;align-self:center}.life-links{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px;max-width:620px}.life-links a{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:7px}.life-links strong{font-size:20px;font-weight:600}.life-links span{font-size:13px;color:var(--muted)}.contact{background:#e0e9fc}.ambient-grid{opacity:.45;background-size:100px 100px}.ambient-ring{opacity:.55}.ambient-cross{display:none}footer{border-top:1px solid var(--line)}
@media(max-width:600px){header{padding:25px 6%}.hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:50px 6% 25px;min-height:0}.hero-copy{grid-column:1/-1}.hero h1{font-size:clamp(62px,16vw,90px);margin-bottom:25px}.sculpture{grid-column:4;width:100px;height:100px;justify-self:end;margin:8px 0 0}.hero-foot{margin-top:15px}.section{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding:60px 6%}.section h2,.practice h2{font-size:43px;margin:0}.section-name,.about-copy,.work-list,.blog>h2,.blog-body,.teaching>div:first-child,.teaching-body,.offline-copy,.contact>h2,.contact-body{grid-column:1/-1}.about-copy p{font-size:18px}.mini-scene{position:relative;grid-column:4;right:auto;bottom:auto;width:80px;height:80px;margin:0;justify-self:end}.practice .section-name{margin:0}.section-intro{margin:20px 0 0}.work-list summary h3{font-size:23px}.blog-body>p{font-size:18px}.teaching-body p{font-size:16px}.note-orbit{grid-column:4;width:90px;height:90px;margin:0;justify-self:end}.offline-copy h2{font-size:43px}.offline-copy h2 br{display:block}.offline-copy p{font-size:17px;margin:25px 0 0}.life-links{gap:18px}.life-links strong{font-size:17px}.life-links span{font-size:12px}.contact h2{margin:0}.social-links{margin-top:28px}.blog-link{font-size:27px}}
