@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@0,500;0,600;0,700;1,500;1,600;1,700&family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=IBM+Plex+Mono:wght@400;500&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&display=swap');
:root{--bg:#121411;--panel:#1a1d19;--ink:#f2eee3;--muted:#b0b0a3;--line:#363a31;--orange:#e8a17b;--font:'Instrument Sans',sans-serif;--display:'Bricolage Grotesque',sans-serif;--serif:'Bodoni Moda',Georgia,serif;--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--font)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:6px}::selection{background:var(--orange);color:var(--bg)}em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--orange);letter-spacing:-.04em}strong{font-weight:700}.site-header{height:104px;margin:0 5%;display:flex;align-items:center;border-bottom:1px solid var(--line);justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:16px;font:700 12px/1.3 var(--display);letter-spacing:1px}.brand-icon{font:italic 700 58px/.9 var(--serif);letter-spacing:-7px;padding-right:8px}.brand-icon span{color:var(--orange)}nav{display:flex;gap:36px;font-size:14px;font-weight:500}nav a:hover,.text-link:hover,footer a:hover{color:var(--orange)}nav a span{font:12px var(--mono);color:var(--muted);margin-left:7px}.header-github{font-size:14px;padding:8px 0;border-bottom:1px solid var(--orange)}.external{display:none}
.hero{padding:0 5%;display:grid;grid-template-columns:1.05fr 1fr;position:relative}.hero-copy{padding:75px 0 45px;z-index:2;position:relative;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font:400 12px/1.65 var(--mono);letter-spacing:1.1px;margin:0 0 25px}.hero-eyebrow{color:var(--orange)}.hero-eyebrow>span{display:block;color:var(--muted);margin-top:3px}.hero h1{font:800 clamp(65px,7.3vw,120px)/.96 var(--display);letter-spacing:-.025em;margin:38px 0 30px;position:relative;width:max-content;max-width:115%}.hero h1 em{display:inline-block;font-size:1.08em;line-height:1.15;font-weight:600;letter-spacing:-.025em;margin-left:12px}.intro{font-size:19px;line-height:1.6;color:#d3d1c5;max-width:440px;margin:25px 0 15px}.intro strong{color:var(--ink)}.intro em{font-size:1.25em}.hero-description{font-size:16px;color:var(--muted);margin:0 0 32px}.hero-actions{display:flex;align-items:center;gap:26px}.primary{background:var(--ink);color:var(--bg);padding:13px 24px;display:inline-flex;align-items:center;border-radius:0;font-weight:600;font-size:14px;transition:background .2s}.primary:hover{background:var(--orange)}.hero-scroll{font-size:14px;border-bottom:1px solid var(--line);padding:10px 0}.hero-scroll span{display:none}.hero-signature{display:flex;align-items:center;gap:22px;margin-top:40px}.signature{font:italic 600 37px/1.2 var(--serif);letter-spacing:-2px}.hero-signature>span:last-child{font:400 10px/1.8 var(--mono);letter-spacing:.8px;color:var(--muted);border-left:1px solid var(--line);padding-left:22px}.iris-stage{position:relative;min-height:700px;isolation:isolate}.scene-top,.scene-bottom{position:absolute;left:5%;right:0;display:flex;justify-content:space-between;gap:15px;font:400 10px/1.5 var(--mono);letter-spacing:.7px;color:var(--muted);z-index:2}.scene-top{top:44px}.scene-bottom{bottom:38px;align-items:center}.scene-controls{display:flex;align-items:center;gap:4px}.scene-controls button{border:0;background:transparent;padding:5px 9px;font-size:12px;border-bottom:1px solid var(--line);min-height:44px;min-width:38px}.scene-controls button:hover{border-color:var(--orange)}.scene-controls button:disabled{opacity:.4;cursor:default}#iris{position:absolute;inset:57px -30px 105px;cursor:grab;touch-action:pan-y}#iris:active{cursor:grabbing}#iris canvas,#iris svg,#story-robot canvas,#story-robot svg{display:block;width:100%;height:100%}.iris-caption{position:absolute;left:7%;bottom:108px;display:flex;align-items:center;gap:15px;pointer-events:none}.caption-number{font:italic 500 42px var(--serif);color:var(--muted);border-right:1px solid var(--line);padding-right:15px}.iris-caption em{color:var(--ink);font-size:27px;font-weight:500;line-height:1}.iris-caption small{display:block;font:400 9px/1.6 var(--mono);letter-spacing:1px;color:var(--muted);margin-top:6px}.fallback{height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.fallback>span{font:700 42px/1.2 var(--display)}.fallback[hidden]{display:none}
.editorial-bridge{grid-column:1/-1;display:grid;grid-template-columns:1fr 2.4fr .7fr;align-items:center;gap:30px;border-top:1px solid var(--line);padding:35px 0 40px}.bridge-label{font:400 10px/1.8 var(--mono);letter-spacing:1px;color:var(--muted)}.editorial-bridge p{font:500 clamp(21px,2.2vw,34px)/1.35 var(--display);letter-spacing:-1px;margin:0}.editorial-bridge p em{font-size:1.1em;font-weight:600}.bridge-link{justify-self:end;display:flex;align-items:center;gap:16px;font:400 10px/1.4 var(--mono);letter-spacing:1px;max-width:170px}.scroll-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;font-size:22px;flex-shrink:0}.bridge-link:hover .scroll-mark{border-color:var(--orange)}
.section{padding:110px 5%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.section h2{font:700 clamp(36px,4.3vw,67px)/1.12 var(--display);letter-spacing:-.025em;margin:0}.section h2 em{font-size:1.12em;font-weight:600}.section-heading>p{font:italic 500 23px/1.5 var(--serif);max-width:320px;color:var(--muted);margin-bottom:0}.section .eyebrow{color:var(--muted);margin-bottom:28px}.filters{display:flex;gap:26px;margin:43px 0 30px;border-bottom:1px solid var(--line);flex-wrap:wrap}.filters button{border:0;border-bottom:2px solid transparent;background:none;padding:12px 0;font-size:14px;color:var(--muted)}.filters button.selected{border-color:var(--orange);color:var(--ink);font-weight:600}.filters span{margin-left:9px;font:12px var(--mono)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 25px}.project-card{border-top:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s}.project-card:hover{transform:translateY(-5px)}.project-card[hidden]{display:none}.project-art{height:210px;background:#1d211b;position:relative;overflow:hidden;border-bottom:1px solid var(--line);padding:20px}.art-meta{display:flex;justify-content:space-between;font:400 10px/1.5 var(--mono);letter-spacing:.5px;color:#c4c6b8;gap:12px}.art-meta span:last-child{white-space:nowrap}.art-code{font:400 12px/2 var(--mono);margin-top:26px;color:#d9ddc9}.art-code .dim{color:#a1a596}.art-code .accent{color:var(--orange)}.project-copy{padding:25px 0 15px;display:flex;flex-direction:column;flex:1}.project-category{color:var(--orange);font:400 11px/1.5 var(--mono);letter-spacing:1px}.project-copy h3{font:700 28px/1.2 var(--display);letter-spacing:-1px;margin:14px 0}.project-card:nth-child(even) h3{font:italic 600 32px/1.15 var(--serif);letter-spacing:-1px}.project-copy>p{font-size:16px;color:var(--muted);margin:0 0 20px;line-height:1.7}.project-stack{font:400 11px/1.7 var(--mono);color:#babdb2;margin-top:auto;margin-bottom:22px}.project-actions{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;align-items:center;gap:8px}.project-actions button,.project-actions a{font:600 14px var(--font);background:none;border:0;padding:6px 0;text-decoration:underline;text-underline-offset:6px;min-height:40px}.project-actions .unavailable{font-size:12px;color:var(--muted)}.evidence-note{font:italic 400 14px/1.6 var(--font);color:var(--muted);margin-top:25px;max-width:750px}.signal-svg{width:100%;height:150px;display:block}
.about-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%}.about-title>p:not(.eyebrow){max-width:430px;color:var(--muted);font-size:17px;margin-top:30px}.text-link{display:inline-block;border-bottom:1px solid var(--orange);padding:8px 0;font-size:14px}.human-note{margin-top:50px;border-left:1px solid var(--orange);padding-left:22px}.human-note>span{font:12px var(--mono);letter-spacing:1px;color:var(--orange)}.human-note p{font:italic 500 23px/1.4 var(--serif);color:var(--ink);margin:14px 0}.timeline article{padding:0 0 30px;margin-bottom:28px;border-bottom:1px solid var(--line)}.timeline article:last-child{margin-bottom:0}.timeline-date{font:12px var(--mono);letter-spacing:.4px;color:var(--orange)}.timeline h3{font:650 23px/1.3 var(--display);letter-spacing:-.7px;margin:15px 0 7px}.timeline p{color:var(--muted);font-size:16px;margin:10px 0}.timeline .role{color:#d7d9d0;font-style:italic}.status-label{font:11px var(--mono);letter-spacing:.4px;display:inline-block;margin-top:8px;color:var(--orange)}.toolkit{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line);padding-top:80px}.skill-list>div{padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line)}.skill-list span{color:var(--orange);font:12px var(--mono);letter-spacing:1px}.skill-list p{margin:14px 0 0;font-size:17px}.contact-section{background:#e5ac8f;color:var(--bg);padding-top:65px;padding-bottom:65px}.contact-top{display:flex;justify-content:space-between;gap:20px}.contact-top .eyebrow{color:#343a2d}.contact-top>span{font:11px var(--mono);letter-spacing:.5px}.contact-section h2{margin:25px 0 38px;font-size:clamp(38px,5.5vw,84px);max-width:1160px}.contact-section em{color:#623f31}.contact-mail{font:italic 600 clamp(25px,3vw,43px)/1.4 var(--serif);letter-spacing:-1px;border-bottom:1px solid #12141170;padding-bottom:6px}.contact-links{display:flex;gap:30px;font-size:14px;font-weight:500;margin-top:50px}.contact-links a:hover{text-decoration:underline}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 5%;font:11px/1.6 var(--mono);letter-spacing:.3px;color:var(--muted)}footer a{font:14px var(--font)}.skip{position:fixed;top:-100px;background:var(--orange);color:var(--bg);padding:12px;z-index:50}.skip:focus{top:10px}dialog{background:var(--panel);color:var(--ink);border:1px solid #59614f;border-radius:0;padding:45px;width:min(650px,calc(100% - 32px));max-height:85vh}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}.close-dialog{position:absolute;top:12px;right:16px;background:none;border:0;font-size:30px;line-height:1;width:40px;height:40px}dialog h2{font:italic 700 42px/1.15 var(--serif);letter-spacing:-1.5px;margin:15px 0 25px}dialog h3{font:700 16px var(--display);color:var(--orange);margin:24px 0 8px}dialog p{color:#c3c8bb;font-size:16px}dialog a{display:inline-block;margin-top:15px;color:var(--orange);text-decoration:underline}dialog .eyebrow{margin-top:10px;font-size:11px}.body-locked{overflow:hidden}
.scroll-story{height:280svh;position:relative;border-top:1px solid var(--line);background:#1b2019}.story-sticky{height:100svh;position:sticky;top:0;overflow:hidden;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;padding:70px 7%}.story-top{position:absolute;top:35px;left:7%;right:7%;display:flex;justify-content:space-between;color:var(--muted);font:11px var(--mono);letter-spacing:1px}.story-copy{z-index:2;pointer-events:none}.story-copy .eyebrow{color:var(--orange)}.story-copy h2{font:700 clamp(42px,4.7vw,73px)/1.06 var(--display);letter-spacing:-.025em;margin:0 0 28px}.story-copy h2 em{font-size:1.12em;font-weight:600}.story-copy>p:not(.eyebrow){max-width:350px;color:#bec1b1;font-size:17px}.story-copy>span{display:block;font:11px/1.7 var(--mono);color:var(--muted);letter-spacing:.6px;max-width:350px;margin-top:30px}.story-index{display:flex;gap:30px;font:italic 500 24px var(--serif);margin-top:35px;color:#859078}.story-index .current{color:var(--orange)}#story-robot{position:absolute;right:2%;width:56%;top:7%;height:85%}.story-track{position:absolute;height:1px;bottom:38px;left:7%;right:22%;background:#515444}.story-track span{display:block;background:var(--orange);height:2px;width:0}.story-skip{position:absolute;right:7%;bottom:29px;font-size:12px;color:var(--muted)}
@media(min-width:1700px){body{max-width:1900px;margin:auto}.hero h1{font-size:128px}.iris-stage{min-height:760px}}
@media(max-width:1100px){.hero{grid-template-columns:1.05fr 1fr}.hero h1{font-size:7.3vw}.hero-copy{padding-top:65px}.hero-eyebrow{font-size:10px}.iris-stage{min-height:690px}#iris{inset:100px -22px 140px}.scene-top span:last-child{display:none}.scene-bottom{flex-wrap:wrap;gap:8px;bottom:30px}.iris-caption{bottom:145px}.intro{font-size:17px}.hero-description{font-size:15px}.hero-actions{gap:17px}.hero-scroll,.primary{font-size:13px}.primary{padding:12px 18px}.editorial-bridge{grid-template-columns:.9fr 2.1fr .7fr;gap:20px}.bridge-label,.bridge-link{font-size:9px}.projects{gap:25px 20px}.project-copy h3{font-size:24px}.project-card:nth-child(even) h3{font-size:29px}.art-code{font-size:11px}.art-meta{font-size:9px}.project-art{padding:15px}.project-actions{flex-wrap:wrap}.about-section,.toolkit{gap:7%}.scene-top,.scene-bottom{font-size:10px}}
@media(max-width:760px){.site-header{height:82px;margin:0 6%}.brand{font-size:10px;gap:12px}.brand-icon{font-size:46px}nav{gap:22px;font-size:13px}nav a:nth-child(2),nav a span,.header-github{display:none}.hero{padding:0 6%;grid-template-columns:1fr}.hero-copy{padding:38px 0 0}.hero-eyebrow{font-size:10px;margin:0}.hero h1{font-size:clamp(49px,12.8vw,93px);margin:30px 0 20px;letter-spacing:-.025em;max-width:100%;width:auto}.hero h1 em{font-size:1.1em;margin-left:3px}.intro{font-size:17px;margin:15px 0 12px}.hero-description{font-size:15px;margin-bottom:25px}.hero-actions{gap:23px}.primary{padding:12px 18px;font-size:13px}.hero-scroll{font-size:13px}.hero-signature{display:none}.iris-stage{min-height:450px;margin-top:25px}#iris{inset:20px -15px 77px}.scene-top{left:0;top:0;font-size:10px}.scene-top span:last-child{display:block;font-size:9px}.scene-bottom{left:0;bottom:10px;flex-wrap:nowrap}.scene-bottom>span{font-size:9px;max-width:110px}.scene-controls{gap:1px}.scene-controls button{padding:5px 6px;font-size:11px}.iris-caption{left:0;bottom:73px;gap:10px}.iris-caption small{display:none}.iris-caption em{font-size:23px}.caption-number{font-size:29px;padding-right:10px}.editorial-bridge{grid-template-columns:1fr auto;gap:20px;padding:27px 0 35px}.bridge-label{grid-column:1/-1;font-size:10px}.bridge-label br{display:none}.editorial-bridge p{font-size:22px;line-height:1.35;letter-spacing:-.8px}.editorial-bridge p br{display:none}.bridge-link>span:first-child{display:none}.scroll-mark{width:40px;height:40px}.section{padding:75px 6%}.section-heading{display:block}.section h2{font-size:40px;letter-spacing:-1.8px}.section-heading>p{font-size:22px;max-width:none;margin-top:22px}.section-heading>p br{display:none}.section .eyebrow{font-size:11px}.filters{gap:20px;margin:28px 0 22px}.filters button{font-size:13px;padding:8px 0}.projects{grid-template-columns:1fr;gap:32px}.project-art{height:210px;padding:20px}.art-meta{font-size:10px}.art-code{font-size:12px}.project-copy{padding:24px 0 8px}.project-copy h3{font-size:29px}.project-card:nth-child(even) h3{font-size:34px}.project-copy>p{font-size:16px}.project-actions button,.project-actions a{font-size:14px;min-height:40px}.project-stack{font-size:11px}.about-section,.toolkit{grid-template-columns:1fr;gap:50px}.human-note{margin-top:35px}.timeline h3{font-size:23px}.contact-top>span{display:none}.contact-section h2{font-size:42px}.contact-mail{font-size:27px}.contact-links{gap:24px;font-size:13px;flex-wrap:wrap}footer{padding:25px 6%;flex-wrap:wrap;font-size:9px}footer span:nth-child(2){display:none}dialog{padding:36px 24px}dialog h2{font-size:36px}.scroll-story{height:260svh}.story-sticky{padding:67px 6% 35px;display:block}.story-top{left:6%;right:6%;top:25px;font-size:9px;letter-spacing:.5px}.story-top span:last-child{display:none}.story-copy h2{font-size:39px;letter-spacing:-1.7px;margin-bottom:15px}.story-copy .eyebrow{font-size:11px;margin-bottom:14px}.story-copy>p:not(.eyebrow){font-size:15px;max-width:340px;margin:12px 0}.story-copy>span{display:none}.story-index{margin-top:15px;font-size:20px}#story-robot{height:55%;width:100%;top:auto;bottom:5%;right:0}.story-track{left:6%;bottom:28px;right:43%}.story-skip{bottom:19px;right:6%}}
@media(max-width:380px){nav{gap:16px}.hero-eyebrow{font-size:9px}.hero h1{font-size:12.5vw}.hero-actions{gap:15px}.primary{padding:12px 15px}.hero-scroll{font-size:12px}.contact-section h2{font-size:36px}.contact-mail{font-size:24px}.scene-top span:last-child{display:none}.story-copy h2{font-size:35px}.story-copy>p:not(.eyebrow){font-size:14px}}
@media(max-width:760px) and (max-height:720px){.story-copy h2{font-size:32px}.story-copy .eyebrow{margin-bottom:8px}.story-copy>p:not(.eyebrow){font-size:14px;line-height:1.45}.story-index{display:none}.story-sticky{padding-top:57px}#story-robot{height:52%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.story-top span:last-child{display:none}}

/* Fine type remains readable at phone sizes. */
.hero-signature>span:last-child,.scene-top,.scene-bottom,.iris-caption small,.bridge-label,.bridge-link,.project-category,.project-stack,.art-meta,.timeline-date,.status-label,.contact-top>span,footer,.story-top,.story-copy>span{font-size:12px}
.editorial-bridge p{letter-spacing:-.025em}.editorial-bridge p em{letter-spacing:-.025em}.hero h1 em{letter-spacing:-.035em}
@media(max-width:1100px){.hero-eyebrow,.bridge-label,.bridge-link,.art-meta,.scene-top,.scene-bottom{font-size:11px}}
@media(max-width:760px){.hero-eyebrow,.hero .eyebrow{font-size:11px}.scene-top span:last-child{font-size:10px}.scene-bottom>span{font-size:10px}.iris-caption small{display:none}.bridge-label{font-size:11px}.art-meta,.project-stack,.project-category{font-size:11px}.story-top{font-size:10px}.hero h1{font-size:clamp(46px,12.1vw,90px)}}
/* Minimal visual direction: texture, one planet, and room to breathe. */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.065;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px}
.site-header{position:absolute;left:0;right:0;top:0;z-index:5;border:0;height:105px;margin:0 5%;font-weight:400}.site-header nav{gap:35px}.site-header nav a{font-weight:400}.nav-contact{font-size:14px;border-bottom:1px solid #a6a799;padding:5px 0}.planet-hero{height:100svh;min-height:720px;max-height:1250px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 75% 55%,#33291d4a,transparent 55%)}#planet{position:absolute;inset:0;z-index:-1;touch-action:pan-y}#planet canvas{width:100%;height:100%;image-rendering:pixelated;display:block}#planet-fallback{width:100%;height:100%;object-fit:cover;opacity:.8;filter:sepia(.65);mix-blend-mode:screen}#planet-fallback[hidden]{display:none}.planet-hero h1{position:absolute;left:5%;top:29%;font:600 clamp(78px,9.2vw,155px)/.93 var(--display);letter-spacing:-.05em;margin:0;pointer-events:none}.planet-hero h1 em{font:italic 500 1.13em/1.12 var(--serif);letter-spacing:-.055em;color:var(--orange);display:inline-block;margin-left:5px}.hero-enter{position:absolute;left:5%;top:65%;font-size:15px;border-bottom:1px solid var(--muted);padding-bottom:6px}.scroll-cue{position:absolute;bottom:43px;left:5%;font-size:13px;color:var(--muted)}.motion-control{position:absolute;bottom:34px;right:5%;border:0;background:none;color:var(--muted);font-size:12px;padding:10px;min-height:44px}.motion-control:hover{color:var(--ink)}.scroll-story{height:230svh;border-top:0;background:#1b2019}.story-sticky{display:block;padding:0}.sculpture-word{position:absolute;left:5%;top:29%;z-index:2;pointer-events:none}.sculpture-word>span{display:block;font:600 clamp(60px,8vw,120px)/.9 var(--display);letter-spacing:-.06em}.sculpture-word em{display:block;font:italic 500 clamp(62px,8.5vw,128px)/1.1 var(--serif);letter-spacing:-.05em}#story-robot{right:0;width:62%;top:5%;height:90%}.story-skip{left:5%;right:auto;bottom:45px;font-size:14px}.section{padding-top:100px;padding-bottom:100px}.section-heading{align-items:center}.section-heading>div{width:100%}.section h2{font-weight:600}.about-title>p:not(.eyebrow){margin-top:35px}.project-art{height:210px}.art-meta{display:none}.art-code{margin-top:30px}.project-art .signal-svg{height:170px}.project-category{font-family:var(--font);letter-spacing:0;text-transform:none;font-size:13px;color:var(--muted)}.project-copy h3{margin-top:10px}.filters{margin-top:35px}.contact-section{padding-top:110px;padding-bottom:85px;background:#20241c;color:var(--ink)}.contact-section h2{font-size:clamp(70px,11vw,160px);margin:0 0 30px}.contact-section em{color:var(--orange)}.contact-mail{font-family:var(--font);font-style:normal;font-weight:400;font-size:clamp(18px,2vw,27px);letter-spacing:0;border-color:var(--muted)}.contact-links{margin-top:55px}.evidence-note{max-width:740px;color:var(--muted)}footer{border-top:1px solid var(--line);font-family:var(--font);font-size:13px}
@media(max-width:1050px){.planet-hero h1{font-size:10.5vw;top:34%}.hero-enter{top:69%}.sculpture-word>span{font-size:9vw}.sculpture-word em{font-size:9vw}.site-header nav{gap:27px}.planet-hero{min-height:700px}}
@media(max-width:760px){.site-header{height:80px;margin:0 6%}.site-header nav{gap:20px;font-size:13px}.site-header nav a:nth-child(2){display:block}.nav-contact{font-size:13px}.planet-hero{height:100svh;min-height:740px;max-height:1000px}.planet-hero h1{top:15%;left:6%;font-size:clamp(58px,17vw,106px)}#planet{top:27%;bottom:2%;left:-5%;right:-5%}.hero-enter{left:6%;top:auto;bottom:77px;font-size:14px}.scroll-cue{left:6%;bottom:30px;font-size:12px}.motion-control{right:6%;bottom:19px}.scroll-story{height:220svh}.sculpture-word{top:8%;left:6%}.sculpture-word>span{font-size:clamp(47px,13vw,72px)}.sculpture-word em{font-size:clamp(50px,14vw,80px)}#story-robot{height:72%;width:100%;top:auto;bottom:4%;right:0}.story-skip{bottom:23px;left:6%;font-size:13px}.section{padding-top:70px;padding-bottom:70px}.contact-section h2{font-size:72px}.contact-mail{font-size:19px}.contact-links{gap:23px}.filters{gap:18px}.filters button{font-size:12px}}
@media(max-width:370px){.site-header nav{gap:13px;font-size:12px}.nav-contact{font-size:12px}.planet-hero h1{font-size:17vw}.planet-hero{min-height:690px}.contact-section h2{font-size:64px}.contact-mail{font-size:17px}}
@media(prefers-reduced-motion:reduce){#planet{transform:none}}

@media(max-width:760px){.planet-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:155px;background:linear-gradient(transparent,var(--bg));pointer-events:none;z-index:0}.planet-hero h1,.hero-enter,.scroll-cue,.motion-control{z-index:1}}
/* Hero review: compact copy and a single left-aligned navigation family. */
.site-header{justify-content:flex-start}.site-header nav{gap:13px;align-items:center}
.site-header nav .hero-nav-link,.scroll-cue.hero-nav-link{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;font:600 14px/1.2 var(--display);letter-spacing:.015em;color:var(--ink);background:#12141170;border:0;transition:color .2s,background .2s}
.hero-nav-link::before,.hero-nav-link::after{content:"";position:absolute;width:6px;height:6px;border-color:#e8a17b80;transition:width .2s,height .2s,border-color .2s;pointer-events:none}
.hero-nav-link::before{top:3px;left:0;border-left:1px solid;border-top:1px solid}.hero-nav-link::after{bottom:3px;right:0;border-bottom:1px solid;border-right:1px solid}
.site-header nav .hero-nav-link:hover,.scroll-cue.hero-nav-link:hover{color:var(--orange);background:#e8a17b0a}
.hero-nav-link:hover::before,.hero-nav-link:hover::after{width:10px;height:10px;border-color:var(--orange)}
.hero-introduction{position:absolute;left:5%;top:19%;width:490px;max-width:40%;z-index:2;pointer-events:none}
.hero-greeting{margin:0 0 18px;font:500 18px/1.5 var(--font);letter-spacing:.01em;color:var(--muted)}.hero-greeting strong{color:var(--ink);font-weight:600}
.planet-hero .hero-introduction h1{position:static;max-width:none;font:600 clamp(29px,2.9vw,46px)/1.2 var(--display);letter-spacing:-.025em;margin:0}
.hero-introduction h1 span{color:var(--orange);font:inherit;display:inline}.hero-intent{font:400 17px/1.6 var(--font);color:var(--muted);margin:22px 0 0}
.scroll-cue.hero-nav-link{position:absolute;left:5%;bottom:34px;min-width:80px}
@media(max-width:1050px){.hero-introduction{top:19%;max-width:46%;width:390px}.planet-hero .hero-introduction h1{font-size:clamp(29px,3.55vw,38px)}.hero-greeting{font-size:17px}.hero-intent{font-size:16px;margin-top:18px}}
@media(max-width:760px){.site-header nav{gap:8px;flex-wrap:nowrap}.site-header nav .hero-nav-link,.scroll-cue.hero-nav-link{font-size:13px;padding:10px 12px}.hero-introduction{left:6%;top:14%;width:88%;max-width:430px}.planet-hero .hero-introduction h1{font-size:clamp(28px,7.1vw,39px);line-height:1.19}.hero-greeting{margin-bottom:12px;font-size:16px}.hero-intent{font-size:15px;margin-top:15px;line-height:1.5}.hero-intent br{display:none}#planet{top:35%;bottom:2%}.scroll-cue.hero-nav-link{left:6%;bottom:23px;min-width:75px}}
@media(max-width:370px){.site-header nav{gap:7px}.site-header nav .hero-nav-link{font-size:12px;padding:10px 9px}.hero-introduction{top:15%}.planet-hero .hero-introduction h1{font-size:27px}.hero-intent{font-size:15px;max-width:265px}#planet{top:42%}}

.site-header nav a.hero-nav-link{display:inline-flex}
@media(min-width:761px) and (max-width:1050px) and (orientation:portrait){.hero-introduction{top:14%}#planet{top:33%}}

/* Quiet observatory atmosphere: depth, fine grid, and precise orbital marks. */
.planet-hero{background:radial-gradient(ellipse at 12% 35%,#30303080,transparent 58%),radial-gradient(ellipse at 77% 42%,#24242466,transparent 65%),#101010}
.planet-hero::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(#c0c0c00a 1px,transparent 1px),linear-gradient(90deg,#c0c0c00a 1px,transparent 1px),radial-gradient(circle,#c7c7c740 .7px,transparent 1px);background-size:64px 64px,64px 64px,64px 64px;background-position:0 0,0 0,32px 32px;mask-image:linear-gradient(110deg,#000,transparent 77%)}
#planet canvas.planet-guides{position:absolute;inset:0;image-rendering:auto;pointer-events:none}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-greeting{min-height:1.5em}
.typing-greeting{white-space:pre}
.typing-greeting::after{content:"";display:inline-block;width:2px;height:.9em;margin-left:5px;vertical-align:-.05em;background:var(--orange);opacity:0}
.typing-greeting.is-typing::after{opacity:1;animation:typing-caret .7s steps(1) infinite}
@keyframes typing-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.typing-greeting::after{display:none}}

/* Final hero scale and a continuous charcoal transition into the sculpture. */
.hero-introduction{width:580px;max-width:44%;top:18%}
.hero-greeting{font-size:22px;margin-bottom:20px;color:#bababa}
.planet-hero .hero-introduction h1{font-size:clamp(34px,3.65vw,60px);line-height:1.1}
.hero-intent{font-size:20px;line-height:1.5;margin-top:24px;color:#bababa}
.site-header nav .hero-nav-link,.scroll-cue.hero-nav-link{background:#11111170}
.planet-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(150px,26vh,300px);background:linear-gradient(180deg,#11111100,#111111 96%);pointer-events:none;z-index:0}
.scroll-cue.hero-nav-link{z-index:2}
.scroll-story{background:#111111;border-top:0}
@media(min-width:761px) and (max-width:1050px){
 .hero-introduction{width:46%;max-width:46%}
 .planet-hero .hero-introduction h1{font-size:4.1vw}
 .hero-greeting{font-size:20px}
 .hero-intent{font-size:18px}
}
@media(min-width:761px) and (max-width:1050px) and (orientation:portrait){
 .hero-introduction{top:14%;width:85%;max-width:680px}
 .planet-hero .hero-introduction h1{font-size:clamp(44px,6.5vw,60px)}
 .hero-intent br{display:none}
 #planet{top:40%}
}
@media(max-width:760px){
 .hero-introduction{top:14%;width:88%;max-width:640px}
 .planet-hero .hero-introduction h1{font-size:clamp(29px,8.9vw,48px);line-height:1.1}
 .hero-greeting{font-size:18px;margin-bottom:16px}
 .hero-intent{font-size:17px;line-height:1.5;margin-top:20px}
 #planet{top:42%;bottom:0}
 .planet-hero::after{height:150px}
}
@media(max-width:370px){
 .hero-introduction{top:14%}
 .hero-intent{font-size:16px;max-width:100%}
 #planet{top:44%}
}

/* Three scroll scenes share one stage and one fixed text position. */
.scroll-story{height:auto;background:#111111}
.story-sticky{height:auto;min-height:100svh;position:relative;display:block;padding:120px 5%;isolation:isolate;overflow:hidden}
.story-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 76% 53%,#30303388,transparent 57%);mask-image:linear-gradient(transparent,#000 20%,#000 86%,transparent)}
.story-atmosphere::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#b9bdc32d .75px,transparent .9px);background-size:13px 13px;mask-image:radial-gradient(ellipse at 74% 52%,#000,transparent 72%)}
.story-atmosphere::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 119px,#c4c4c408 119px 120px);mask-image:linear-gradient(transparent,#000 35%,transparent)}
.story-heading{position:absolute;left:5%;top:45px;font:500 12px/1.4 var(--font);letter-spacing:.13em;text-transform:uppercase;color:#818185}
.story-scenes{position:relative;width:43%;z-index:2}
.robot-scene{margin-bottom:70px}
.scene-kicker{font:500 13px/1.4 var(--mono);letter-spacing:.04em;color:#a6a6aa;margin:0 0 24px;display:flex;align-items:center;gap:12px}
.scene-kicker::before{content:"";width:22px;height:1px;background:var(--orange)}
.robot-scene h3{font:600 clamp(45px,5.1vw,80px)/1.04 var(--display);letter-spacing:-.045em;margin:0}
.robot-scene h3 span{color:var(--orange)}
.scene-description{font:400 clamp(16px,1.25vw,19px)/1.65 var(--font);color:#aeafb3;margin:27px 0 0;max-width:420px}
#story-robot{width:59%;height:86%;top:7%;right:-1%;pointer-events:none}
.story-navigation{display:none}
.story-skip{bottom:40px;left:auto;right:5%;font-size:13px;color:#b7b7bb;z-index:3}
.story-skip span{margin-left:12px;color:var(--orange)}
.scroll-story.is-enhanced{height:380svh}
.is-enhanced .story-sticky{height:100svh;min-height:0;position:sticky;top:0;padding:0}
.is-enhanced .story-scenes{position:absolute;top:29%;left:5%;min-height:350px}
.is-enhanced .robot-scene{position:absolute;inset:0;margin:0;will-change:opacity,transform}
.is-enhanced .robot-scene[hidden]{display:none}
.is-enhanced .story-navigation{position:absolute;left:5%;bottom:40px;display:flex;gap:24px;z-index:3}
.story-navigation button{background:none;border:0;padding:14px 0 12px;color:#76767c;font:500 12px/1.4 var(--font);position:relative;min-height:44px}
.story-navigation button::before{content:"";position:absolute;left:0;right:0;top:3px;height:1px;background:#454549}
.story-navigation button[aria-current="step"]{color:var(--ink)}
.story-navigation button[aria-current="step"]::before{background:var(--orange)}
.story-navigation button:hover{color:var(--orange)}
@media(max-width:1050px) and (min-width:761px){.robot-scene h3{font-size:5.6vw}.scene-description{max-width:330px}.scene-description br{display:none}#story-robot{right:-4%;width:63%}}
@media(max-width:760px){
 .scroll-story.is-enhanced{height:370svh}
 .story-heading{left:6%;top:24px;font-size:10px}
 .story-scenes{width:88%}
 .is-enhanced .story-scenes{top:10%;left:6%;min-height:230px;width:88%}
 .robot-scene h3{font-size:clamp(38px,10vw,54px);line-height:1.04}
 .scene-kicker{font-size:11px;margin-bottom:12px}
 .scene-description{font-size:14px;line-height:1.6;max-width:350px;margin-top:16px}
 .scene-description br{display:none}
 #story-robot{top:37%;bottom:auto;right:0;width:100%;height:55%}
 .is-enhanced .story-navigation{left:6%;bottom:18px;gap:22px}
 .story-navigation button{font-size:11px}
 .story-skip{right:6%;bottom:30px;font-size:11px}
 .story-skip span{margin-left:3px}
 .story-sticky{padding:95px 6%}
 .scroll-story:not(.is-enhanced) #story-robot{display:none}
}
@media(max-width:370px){.robot-scene h3{font-size:35px}.scene-description{font-size:13px}.is-enhanced .story-navigation{gap:18px}.story-skip{bottom:77px}.scene-kicker{margin-bottom:10px}#story-robot{top:39%;height:50%}}
@media(min-width:761px) and (orientation:portrait){.is-enhanced .story-scenes{top:15%;width:70%}.robot-scene h3{font-size:60px}.scene-description{max-width:460px}#story-robot{top:38%;height:55%;width:78%;right:0}}
@media(max-height:620px) and (orientation:landscape){.story-heading{top:18px}.is-enhanced .story-scenes{top:19%;left:5%;width:45%}.robot-scene h3{font-size:clamp(28px,4.5vw,44px)}.scene-kicker{margin-bottom:12px}.scene-description{font-size:13px;margin-top:14px}.scene-description br{display:none}#story-robot{top:4%;height:86%;width:53%;right:0}.is-enhanced .story-navigation{bottom:12px}.story-skip{bottom:24px}}
@media(prefers-reduced-motion:reduce){.robot-scene{will-change:auto!important}}
/* SVGRenderer otherwise paints an opaque rectangle over the shared atmosphere. */
#story-robot svg{background:transparent!important}

/* More expressive scale, with separate space for the scene title and body. */
.story-heading{font:600 clamp(30px,3vw,46px)/1.1 var(--display);letter-spacing:-.045em;text-transform:none;color:var(--ink);top:38px}
.story-heading em{font-size:1.13em;font-weight:500;letter-spacing:-.045em;color:#c5c4c2}
.is-enhanced .story-scenes{top:28%;width:46%}
.robot-scene h3{font-size:clamp(58px,6.4vw,104px);line-height:1.01}
.robot-scene h3 span{font:italic 500 1.09em/1.06 var(--serif);letter-spacing:-.035em}
.scene-kicker{font-size:13px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:25px}
.scene-description{font-size:clamp(18px,1.5vw,22px);line-height:1.6;max-width:490px;margin-top:29px}
#planet{left:5%;right:-5%}
@media(max-width:1050px) and (min-width:761px){.robot-scene h3{font-size:6.6vw}.scene-description{font-size:18px;max-width:365px}.story-heading{font-size:36px}}
@media(max-width:760px){
 #planet{left:-2%;right:-8%}
 .story-heading{font-size:29px;top:22px}
 .is-enhanced .story-scenes{top:15%;width:88%;min-height:255px}
 .robot-scene h3{font-size:clamp(40px,12.3vw,61px)}
 .scene-kicker{font-size:10px;margin-bottom:15px}
 .scene-description{font-size:16px;line-height:1.5;margin-top:19px;max-width:360px}
 #story-robot{top:43%;height:49%}
}
@media(max-width:370px){.story-heading{font-size:26px;top:18px}.robot-scene h3{font-size:39px}.scene-kicker{margin-bottom:12px}.scene-description{font-size:14px;margin-top:16px}#story-robot{top:44%;height:46%}}
@media(min-width:761px) and (orientation:portrait){.is-enhanced .story-scenes{top:18%;width:85%}.robot-scene h3{font-size:clamp(65px,8vw,82px)}.scene-description{max-width:560px;font-size:20px}#story-robot{top:46%;height:47%}}
@media(max-height:620px) and (orientation:landscape){.story-heading{top:15px;font-size:25px}.is-enhanced .story-scenes{top:24%;width:47%}.robot-scene h3{font-size:clamp(29px,4.8vw,46px)}.scene-kicker{font-size:10px;margin-bottom:9px}.scene-description{font-size:13px;margin-top:12px}#story-robot{top:5%;height:84%}}

.story-heading em{margin-left:.1em}

.scene-description span{display:block}
@media(max-width:1050px){.scene-description span{display:inline}}

/* Wider introduction, with the upper centre reserved for the next hero concept. */
.planet-hero{--hero-inset:5%}
#planet{left:0;right:0;top:0;bottom:0}
#planet-fallback{transform:translateX(32%)}
.hero-introduction{left:var(--hero-inset);top:17%;width:46%;max-width:700px}
.hero-greeting{font-size:24px;margin:0 0 24px}
.planet-hero .hero-introduction h1{font-size:clamp(60px,6.6vw,106px);line-height:.98;letter-spacing:-.045em}
.hero-introduction h1 .hero-thought{display:block;color:var(--ink)}
.hero-introduction h1 .hero-thought+ .hero-thought{margin-top:.16em}
.hero-introduction h1 .hero-thought-accent{color:var(--orange)}
.hero-introduction h1 .hero-thought span{display:block;color:inherit;font:inherit;letter-spacing:inherit}
.hero-intent{font-size:22px;line-height:1.5;margin-top:30px;max-width:410px}




@media(min-width:761px) and (max-width:1050px){
 .hero-introduction{top:18%;width:46%;max-width:490px}
 .hero-greeting{font-size:21px;margin-bottom:21px}
 .planet-hero .hero-introduction h1{font-size:6.6vw}
 .hero-intent{font-size:18px;max-width:320px;margin-top:25px}
 
}
@media(min-width:761px) and (max-width:1050px) and (orientation:portrait){
 .hero-introduction{top:14%;width:88%;max-width:800px}
 .planet-hero .hero-introduction h1{font-size:6.6vw;line-height:1.1}
 .hero-introduction h1 .hero-thought span{display:inline}
 .hero-introduction h1 .hero-thought+ .hero-thought{margin-top:.03em}
 .hero-intent{max-width:580px;font-size:20px;margin-top:24px}
 .hero-intent br{display:none}
 
 #planet{top:59%}
}
@media(max-width:760px){
 .planet-hero{--hero-inset:6%;min-height:780px}
 .hero-introduction{top:12%;width:88%;max-width:none}
 .hero-greeting{font-size:18px;margin-bottom:18px}
 .planet-hero .hero-introduction h1{font-size:clamp(36px,11.2vw,60px);line-height:.98}
 .hero-intent{font-size:17px;line-height:1.5;margin-top:22px;max-width:360px}
 .hero-intent br{display:none}
 
 #planet{left:0;right:0;top:61%;bottom:0}
 #planet-fallback{transform:translateX(48%)}
}
@media(max-width:370px){.hero-greeting{font-size:17px}.hero-intent{font-size:16px;margin-top:18px}}
@media(max-height:800px) and (min-width:1051px){.hero-introduction{top:16%}.hero-greeting{font-size:21px;margin-bottom:19px}.planet-hero .hero-introduction h1{font-size:clamp(60px,6vw,88px)}.hero-intent{font-size:19px;margin-top:24px}}



/* Compact armoured optical scout; the model stays above the planet's rings. */
#hero-scout{position:absolute;left:41.5%;top:12%;width:34%;height:43%;z-index:3;display:block;padding:0;border:0;background:none;box-shadow:none;cursor:crosshair;touch-action:pan-y;outline-offset:-8px}
#hero-scout canvas,#hero-scout svg{display:block;width:100%;height:100%}
#hero-scout svg{background:transparent!important}
#hero-scout:focus-visible{outline:1px solid #e8a17b80;border-radius:12px}
#hero-scout[hidden]{display:none}
@media(min-width:761px) and (max-width:1050px) and (orientation:portrait){#hero-scout{left:28%;top:40%;width:44%;height:26%}}
@media(max-width:760px){#hero-scout{left:19%;top:46%;width:62%;height:27%}}
@media(max-width:370px){#hero-scout{top:45%;height:26%}}

/* Two supporting instruments occupy the owner's marked gaps. */
.scout-companion{position:absolute;z-index:3;display:block;padding:0;border:0;background:none;box-shadow:none;cursor:crosshair;touch-action:pan-y;outline-offset:-5px}
.scout-companion canvas,.scout-companion svg{display:block;width:100%;height:100%}
.scout-companion svg{background:transparent!important}
.scout-companion:focus-visible{outline:1px solid #e8a17b80;border-radius:10px}
.scout-companion[hidden]{display:none}
#hero-sensor{left:30%;top:9%;width:15%;height:27%}
#hero-probe{left:31%;top:48%;width:20%;height:35%}
@media(min-width:761px) and (max-width:1050px) and (orientation:portrait){
 #hero-sensor{left:8%;top:40%;width:21%;height:18%}
 #hero-probe{left:14%;top:63%;width:25%;height:20%}
}
@media(max-width:760px){
 #hero-sensor{left:2%;top:48%;width:20%;height:13%}
 #hero-probe{left:12%;top:65%;width:27%;height:16%}
}

/* A restrained graphite survey field brings the formation into one composition. */
.hero-field{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;mask-image:linear-gradient(#000 85%,transparent)}
.hero-field>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.field-light{position:absolute;background:radial-gradient(ellipse at 65% 30%,#a9afb31c,transparent 61%),radial-gradient(ellipse at 27% 80%,#adb5be0d,transparent 55%);filter:blur(16px)}
.field-link{stroke:#9ea9b5;stroke-opacity:.19;stroke-dasharray:2 5}
.field-pulse{stroke:#d29a75;stroke-opacity:.42;stroke-dasharray:12 220;animation:field-signal 18s linear infinite}
.field-contours{opacity:.8}
.field-register,.field-platform{transition:opacity .5s;opacity:.7}
.planet-hero:has(#hero-scout.is-active) .field-register-1,.planet-hero:has(#hero-sensor.is-active) .field-register-0,.planet-hero:has(#hero-probe.is-active) .field-register-2{opacity:1}
@keyframes field-signal{to{stroke-dashoffset:-464}}
@media(max-width:760px){.field-contours{opacity:.5}.field-register{opacity:.45}.field-link{stroke-opacity:.15}.field-platform{opacity:.6}.field-pulse{stroke-opacity:.28}}
@media(prefers-reduced-motion:reduce){.field-pulse{animation:none}.field-register,.field-platform{transition:none}}

.hero-field:not(.is-visible) .field-pulse{animation-play-state:paused}

/* More depth in the hero's local graphite field; the text remains quiet. */
.field-light{background:radial-gradient(ellipse at 65% 30%,#aab4bf38,transparent 64%),radial-gradient(ellipse at 27% 80%,#adb5be20,transparent 57%);filter:none;border-radius:42%;mask-image:radial-gradient(ellipse,#000 28%,transparent 73%)}
.field-light::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(127deg,transparent 0 4px,#b8c0c40c 4px 5px),radial-gradient(#c5c9ce36 .6px,transparent .9px);background-size:auto,7px 7px;opacity:.58}
.field-light::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 39px,#b1b8c90d 39px 40px);mask-image:linear-gradient(transparent,#000,transparent)}

/* A shared alignment grid and a complete workshop setting for How I work. */
.story-sticky{--story-inset:5%}
.story-heading{left:var(--story-inset);top:clamp(26px,4.2vh,46px);margin:0;font-size:clamp(34px,3.3vw,52px);z-index:2}
.story-heading em{color:#c6c5c3}
.is-enhanced .story-scenes{left:var(--story-inset);top:27%;width:43%;min-height:370px}
.robot-scene h3{font-size:clamp(55px,5.9vw,92px);line-height:1.05;min-height:2.25em}
.robot-scene h3 span{line-height:1.06}
.scene-kicker{margin:0 0 22px;font-size:12px;letter-spacing:.14em}
.scene-description{max-width:510px;margin:25px 0 0;font-size:clamp(17px,1.42vw,21px);line-height:1.65}
.scene-description span{display:block}
.is-enhanced .story-navigation{left:var(--story-inset);bottom:38px;width:350px;display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.story-navigation button{text-align:left;font:500 12px/1.4 var(--font);padding:15px 0 10px}
.story-navigation button::before{background:#888b8e44;transition:background .3s}
.story-skip{bottom:46px;right:5%;font-size:13px}
.story-atmosphere{background:radial-gradient(ellipse at 76% 45%,#727b853b,transparent 56%),radial-gradient(ellipse at 68% 82%,#93725412,transparent 48%),#111;mask-image:linear-gradient(transparent,#000 16%,#000 88%,transparent)}
.story-atmosphere::before{background-image:radial-gradient(circle,#b9c0c33b .65px,transparent .85px),repeating-linear-gradient(135deg,transparent 0 6px,#c3cad00a 6px 7px);background-size:9px 9px,auto;mask-image:linear-gradient(90deg,transparent 25%,#000 70%,transparent)}
.story-atmosphere::after{background:repeating-linear-gradient(90deg,transparent 0 89px,#b9c0c312 89px 90px),repeating-linear-gradient(0deg,transparent 0 89px,#b9c0c30c 89px 90px);mask-image:radial-gradient(ellipse at 75% 50%,#000,transparent 65%)}
#anatomy[data-scene="build"] .story-atmosphere{background:radial-gradient(ellipse at 76% 48%,#78818b45,transparent 58%),radial-gradient(ellipse at 75% 68%,#b9805420,transparent 47%),#111}
#anatomy[data-scene="release"] .story-atmosphere{background:radial-gradient(ellipse at 76% 40%,#727b8540,transparent 58%),radial-gradient(ellipse at 75% 80%,#b9805424,transparent 47%),#111}
.story-atmosphere{transition:background .8s}
.story-field{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden;mask-image:linear-gradient(transparent,#000 12%,#000 89%,transparent)}
.story-field svg{display:block;width:100%;height:100%}
.bay-assembly,.bay-release{opacity:0;transition:opacity .65s}
#anatomy[data-scene="build"] .bay-assembly,#anatomy[data-scene="release"] .bay-release{opacity:1}
#anatomy[data-scene="build"] .bay-understand,#anatomy[data-scene="release"] .bay-understand{opacity:0}
.bay-understand{transition:opacity .65s}
@media(min-width:761px) and (max-width:1050px) and (orientation:landscape){.robot-scene h3{font-size:5.6vw}.scene-description{font-size:17px}.is-enhanced .story-scenes{width:43%}.is-enhanced .story-navigation{width:310px}.story-heading{font-size:36px}}
@media(min-width:761px) and (orientation:portrait){
 .is-enhanced .story-scenes{top:17%;width:88%;min-height:280px}
 .robot-scene h3{font-size:clamp(57px,7.4vw,78px)}
 .scene-kicker{margin-bottom:18px}
 .scene-description{font-size:19px;margin-top:20px;max-width:620px}
 #story-robot{top:46%;height:45%;width:100%;right:0}
}
@media(max-width:760px){
 .story-sticky{--story-inset:6%}
 .story-heading{top:23px;font-size:32px}
 .is-enhanced .story-scenes{top:13%;width:88%;min-height:265px}
 .robot-scene h3{font-size:clamp(38px,10.8vw,53px);line-height:1.05;min-height:2.25em}
 .scene-kicker{font-size:10px;margin-bottom:14px}
 .scene-description{font-size:15px;line-height:1.6;margin-top:16px;max-width:360px}
 .scene-description span{display:inline}
 #story-robot{top:43%;height:44%;width:100%;right:0}
 .is-enhanced .story-navigation{bottom:52px;width:88%;gap:16px}
 .story-navigation button{font-size:12px;padding:14px 0 10px}
 .story-skip{bottom:17px;left:6%;right:auto;font-size:12px}
 .story-atmosphere::before{mask-image:radial-gradient(ellipse at 50% 65%,#000,transparent 75%)}
}
@media(max-width:370px){.story-heading{font-size:28px}.robot-scene h3{font-size:36px}.scene-description{font-size:14px}.is-enhanced .story-scenes{top:14%}#story-robot{top:44%;height:42%}}
@media(max-height:620px) and (orientation:landscape){
 .story-heading{top:17px;font-size:27px}
 .is-enhanced .story-scenes{top:25%;width:44%;min-height:200px}
 .scene-kicker{font-size:9px;margin-bottom:10px}
 .robot-scene h3{font-size:clamp(28px,4.3vw,39px)}
 .scene-description{font-size:13px;line-height:1.5;margin-top:11px;max-width:330px}
 #story-robot{top:5%;height:81%;width:54%;right:0}
 .is-enhanced .story-navigation{bottom:12px;width:310px;gap:14px}
 .story-navigation button{font-size:11px}
 .story-skip{bottom:24px;left:auto;right:5%;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.story-atmosphere,.bay-assembly,.bay-release,.bay-understand{transition:none}}

/* Selected work: charcoal exhibition, copper circuitry and original project plates. */
#work{position:relative;isolation:isolate;background:#111;--line:#34383b;--muted:#aeb1b5;padding-top:80px;padding-bottom:100px}
#work::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 65% 26% at 86% 8%,#74819127,transparent 75%),radial-gradient(ellipse 90% 36% at 5% 56%,#59606b16,transparent 75%),repeating-linear-gradient(133deg,transparent 0 6px,#a2adb207 6px 7px);mask-image:linear-gradient(transparent,#000 7%,#000 91%,transparent)}
#work::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(#aebbc026 .6px,transparent .9px);background-size:11px 11px;mask-image:radial-gradient(ellipse at 80% 20%,#000,transparent 72%)}
#work .work-heading{position:relative;min-height:245px;display:flex;align-items:center;justify-content:space-between;gap:25px}
#work .work-heading>div{width:auto;position:relative;z-index:1}
#work .work-heading h2{font-size:clamp(56px,6.7vw,100px);letter-spacing:-.055em;line-height:1.07}
#work .work-heading h2 em{font-size:1.08em;font-weight:500}
#work .work-heading::after{content:"";position:absolute;left:56%;right:0;top:52%;height:1px;background:linear-gradient(90deg,transparent,#a9aeb532,transparent);z-index:-1}
#work-vault{position:relative;width:34%;height:260px;flex:0 0 34%;padding:0;border:0;background:radial-gradient(ellipse,#99a4b01a,transparent 68%);cursor:crosshair;touch-action:pan-y}
#work-vault canvas,#work-vault svg{width:100%;height:100%;display:block}
#work-vault svg{background:transparent!important}
#work-vault:focus-visible{outline:1px solid #d9a68180;outline-offset:0;border-radius:12px}
#work-vault[hidden]{display:none}
#work .filters{margin:23px 0 35px;gap:32px;border-bottom:1px solid #777f8730}
#work .filters button{font:500 13px/1.4 var(--font);min-height:48px;padding:12px 0;color:#a1a9b1;transition:color .2s,border-color .2s}
#work .filters button:hover,#work .filters button.selected{color:var(--ink)}
#work .projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 30px;align-items:stretch}
#work .project-card{border:1px solid #67748038;background:linear-gradient(140deg,#1c222899,#141719dd);transition:transform .3s,border-color .3s,box-shadow .3s;min-width:0}
#work .project-card:hover,#work .project-card:focus-within{transform:translateY(-3px);border-color:#b995785d;box-shadow:0 15px 35px #0002}
#work .project-art{height:auto;aspect-ratio:640/340;padding:0;background:#141a20;border-bottom:1px solid #63717c38;overflow:hidden}
.project-visual{display:block;width:100%;height:100%}
.project-artwork{transform-origin:50% 50%;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.project-card:hover .project-artwork,.project-card:focus-within .project-artwork{transform:translateY(-3px) scale(1.025)}
#work .project-copy{padding:28px 29px 22px}
#work .project-category{font:500 10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:#c69473}
#work .project-copy h3,#work .project-card:nth-child(even) h3{font:600 clamp(27px,2.4vw,36px)/1.12 var(--display);letter-spacing:-.045em;margin:12px 0 15px;color:#efede7}
#work .project-copy>p{font-size:16px;line-height:1.65;max-width:520px;color:#afb4ba;margin-bottom:22px}
#work .project-stack{font:400 11px/1.7 var(--mono);color:#919da8;margin-bottom:23px}
#work .project-actions{border-top:1px solid #79848e26;padding-top:13px;gap:20px}
#work .project-actions button,#work .project-actions a{font:500 13px/1.4 var(--font);text-decoration:none;min-height:44px;color:#ece9e1;transition:color .2s}
#work .project-actions button::after{content:' ↗';margin-left:7px;color:#d19c79}
#work .project-actions a{color:#cda78b;border-bottom:1px solid #b9957840}
#work .project-actions button:hover,#work .project-actions a:hover{color:var(--orange)}
#work .project-actions .unavailable{font-size:11px;color:#8f989f}
#work .evidence-note{margin-top:30px;font-size:12px;color:#8b959e;font-style:normal;max-width:800px}
@media(max-width:1050px){#work .work-heading h2{font-size:7.2vw}#work .work-heading{min-height:210px}#work-vault{height:215px}#work .project-copy{padding:23px 22px 18px}#work .project-copy>p{font-size:15px}}
@media(max-width:760px){
 #work{padding-top:52px;padding-bottom:70px}
 #work .work-heading{min-height:150px;gap:8px;align-items:center}
 #work .work-heading h2{font-size:clamp(38px,8.7vw,60px);max-width:220px;line-height:1.04;letter-spacing:-.045em}
 #work .work-heading h2 em{display:block;margin-top:3px}
 #work-vault{height:174px;width:46%;flex-basis:46%}
 #work .filters{gap:8px 21px;margin-top:18px;margin-bottom:25px;flex-wrap:wrap}
 #work .filters button{font-size:12px;min-height:44px}
 #work .projects{grid-template-columns:1fr;gap:27px}
 #work .project-copy{padding:23px 22px 18px}
 #work .project-copy h3,#work .project-card:nth-child(even) h3{font-size:29px}
 #work .project-copy>p{font-size:15px}
 #work .project-actions{gap:12px;flex-wrap:wrap}
 #work .project-stack{font-size:10px}
 #work .evidence-note{font-size:11px;line-height:1.7}
}
@media(max-width:370px){#work .work-heading h2{font-size:36px}#work-vault{height:155px;flex-basis:45%}#work .filters{gap:5px 15px}#work .project-copy{padding:21px 18px 16px}#work .project-copy h3,#work .project-card:nth-child(even) h3{font-size:26px}#work .project-actions button,#work .project-actions a{font-size:12px}}
@media(prefers-reduced-motion:reduce){#work .project-card,.project-artwork{transition:none}#work .project-card:hover,#work .project-card:focus-within{transform:none}.project-card:hover .project-artwork,.project-card:focus-within .project-artwork{transform:none}}
#project-dialog{background:#171b20;border-color:#65717e;--muted:#aeb5bb}
#project-dialog p{color:#bac0c7}
#project-dialog h2{font:600 38px/1.13 var(--display);letter-spacing:-.045em}
@media(max-width:760px){#work .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;border:0}#work .filters button{text-align:left;border-bottom:1px solid #79848e35}#work .filters button.selected{border-bottom-color:var(--orange)}#project-dialog h2{font-size:31px}}

/* Engraved docking field around the selected-work core. */
#work .work-heading{isolation:isolate}
#work .work-heading::after{display:none}
.vault-field{position:absolute;right:-1%;top:50%;width:55%;height:320px;transform:translateY(-50%);z-index:-1;pointer-events:none;overflow:visible;transition:filter .4s}
.work-heading:has(#work-vault:hover) .vault-field,.work-heading:has(#work-vault:focus-visible) .vault-field{filter:brightness(1.3)}
#work-vault{background:none}

/* A personal introduction beside an illustrated, copper-framed portrait. */
#about{position:relative;isolation:isolate;grid-template-columns:1.05fr 1fr;gap:60px 6%;align-items:center;background:#111;--muted:#adb1b5;--line:#363a3d;border-top-color:#363a3d}
#about::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 25%,#69768324,transparent 44%),repeating-linear-gradient(135deg,transparent 0 8px,#b2bac105 8px 9px);mask-image:linear-gradient(transparent,#000 12%,#000 86%,transparent)}
#about .about-title h2{font-size:clamp(48px,5.4vw,78px);line-height:1.07;letter-spacing:-.045em}
#about .about-title>p{max-width:580px;font-size:18px;line-height:1.75;margin:24px 0 0}
#about .about-title .about-intro{margin-top:34px;color:#cccdd0;font-size:clamp(19px,1.65vw,23px);line-height:1.6}
#about .about-intro strong{color:#efede7;font-weight:500}
#about .about-title .study-note{display:flex;align-items:center;gap:10px;margin-top:30px;font:400 11px/1.6 var(--mono);color:#c3a18a;letter-spacing:.025em}
.study-note>span{width:6px;height:6px;border-radius:50%;background:#d7a180;box-shadow:0 0 0 4px #d7a18012;flex:none}
.portrait-stage{position:relative;isolation:isolate;margin:0;width:100%;max-width:570px;justify-self:end;aspect-ratio:1/1.08;display:flex;align-items:flex-end;justify-content:center;padding-bottom:38px}
.portrait-panel{position:absolute;inset:16% 6% 12% 10%;z-index:-2;background:linear-gradient(142deg,#a76e51,#715340 60%,#302b28);clip-path:polygon(0 19%,69% 0,100% 20%,100% 82%,31% 100%,0 80%)}
.portrait-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(#f3d6bc55 .8px,transparent 1px);background-size:6px 6px;mask-image:linear-gradient(130deg,#000,transparent 75%)}
.portrait-panel::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(145deg,transparent 0 30px,#f4d2b819 30px 31px)}
.portrait-lines{position:absolute;width:100%;height:100%;inset:0;z-index:-1;pointer-events:none}
.portrait-stage img{display:block;width:94%;height:auto;object-fit:contain;mask-image:linear-gradient(#000 85%,transparent 100%);filter:drop-shadow(0 15px 20px #0003)}
.portrait-stage figcaption{position:absolute;bottom:0;left:0;right:0;text-align:center;font:500 12px/1.6 var(--font);letter-spacing:.1em;color:#b0b5ba}
#about .timeline{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 7%;margin-top:10px}
#about .timeline article{margin:0;padding:25px 0 30px;border-top:1px solid #64717a55;border-bottom:0;position:relative}
#about .timeline article::before{content:"";position:absolute;top:-1px;left:0;width:36px;height:1px;background:#cc9472}
#about .timeline h3{font-size:26px;margin-top:18px;letter-spacing:-.04em}
#about .timeline p{max-width:550px;font-size:16px;line-height:1.7}
#about .timeline .role{font-style:normal;color:#c5c8cb;font-size:14px}
#about .timeline-date,#about .status-label{font-size:10px;line-height:1.6;letter-spacing:.06em;color:#c99c7e}
@media(max-width:1050px){#about{gap:40px 4%}#about .about-title>p{font-size:16px}#about .about-title .about-intro{font-size:18px}#about .about-title h2{font-size:5.6vw}.portrait-stage{aspect-ratio:1/1.17}.vault-field{width:56%;height:270px}}
@media(max-width:760px){
 .vault-field{width:60%;right:-5%;height:200px;opacity:.8}
 #about{grid-template-columns:1fr;gap:36px;padding-top:65px;padding-bottom:65px}
 #about .about-title h2{font-size:clamp(42px,10vw,60px)}
 #about .about-title .about-intro{font-size:19px;margin-top:27px}
 #about .about-title>p{font-size:16px;margin-top:20px}
 #about .about-title .study-note{font-size:10px;gap:9px;margin-top:25px}
 .portrait-stage{width:100%;max-width:450px;justify-self:center;aspect-ratio:1/1.07;padding-bottom:28px}
 .portrait-stage figcaption{font-size:11px;letter-spacing:.06em}
 #about .timeline{grid-template-columns:1fr;gap:12px;margin-top:10px}
 #about .timeline h3{font-size:25px}
 #about .timeline p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.vault-field{transition:none}}

/* An articulated processor gives the toolkit a mechanical focal point. */
#skills{position:relative;isolation:isolate;background:#111;--muted:#aeb4bb;--line:#343b41;grid-template-columns:1fr 1fr;gap:8%;align-items:center;border-top:1px solid #373d42}
#skills::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 25% 57%,#7e8fa529,transparent 49%),repeating-linear-gradient(0deg,transparent 0 5px,#a2b4bf06 5px 6px);mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}
#skills h2{font-size:clamp(51px,5.6vw,81px);letter-spacing:-.05em;line-height:1.1}
.toolkit-visual{min-width:0}
.toolkit-instrument{position:relative;isolation:isolate;margin-top:20px;max-width:560px}
.toolkit-grid{position:absolute;inset:6% 1% 6%;z-index:-1;background:radial-gradient(#a4b1bc45 .65px,transparent .9px);background-size:10px 10px;mask-image:radial-gradient(ellipse,#000 20%,transparent 72%)}
.toolkit-grid::before{content:"";position:absolute;inset:5% 14%;border:1px solid #aab3be26;border-radius:50%;transform:rotate(-25deg) scaleY(.83)}
.toolkit-grid::after{content:"";position:absolute;inset:20% 1%;border-top:1px solid #aab3be26;border-bottom:1px solid #aab3be26;transform:rotate(-25deg)}
#toolkit-core{display:block;position:relative;width:100%;height:360px;padding:0;border:0;background:none;cursor:crosshair;touch-action:pan-y}
#toolkit-core canvas,#toolkit-core svg{display:block;width:100%;height:100%}
#toolkit-core svg{background:transparent!important}
#toolkit-core[hidden]{display:none}
#toolkit-core:focus-visible{outline:1px solid #dca58170;outline-offset:2px;border-radius:12px}
.instrument-rule{position:absolute;left:22%;right:22%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#b084674f,transparent)}
#skills .skill-list>div{position:relative;padding:24px 0 28px;margin:0;border-bottom:1px solid #727e8933}
#skills .skill-list>div:first-child{border-top:1px solid #727e8933}
#skills .skill-list>div::before{content:"";position:absolute;top:-1px;left:0;width:25px;height:1px;background:#c79b7b}
#skills .skill-list span{font:500 10px/1.5 var(--mono);letter-spacing:.13em;color:#c79879}
#skills .skill-list p{font-size:clamp(17px,1.5vw,21px);line-height:1.8;letter-spacing:-.018em;margin:14px 0 0;color:#d8d9d9}
@media(max-width:1050px){#skills{gap:5%}#skills h2{font-size:6vw}#toolkit-core{height:310px}#skills .skill-list p{font-size:17px}}
@media(max-width:760px){#skills{grid-template-columns:1fr;gap:26px;padding-top:60px;padding-bottom:65px}#skills h2{font-size:clamp(44px,11vw,66px)}.toolkit-instrument{margin:13px auto 0;max-width:420px}#toolkit-core{height:300px}#skills .skill-list>div{padding:22px 0 25px}#skills .skill-list p{font-size:17px;line-height:1.8}#skills .skill-list span{font-size:10px}}
@media(max-width:370px){#toolkit-core{height:265px}#skills .skill-list p{font-size:15px}}

/* A tighter project gallery keeps the portfolio easy to scan. */
#work{padding-top:58px;padding-bottom:65px}
#work .work-heading{min-height:175px}
#work .work-heading h2{font-size:clamp(48px,5.3vw,77px)}
#work-vault{height:185px}
#work .vault-field{height:230px;width:48%}
#work .filters{margin:14px 0 24px}
#work .projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px}
#work .project-art{aspect-ratio:640/310}
#work .project-copy{padding:21px 20px 16px}
#work .project-copy h3,#work .project-card:nth-child(even) h3{font-size:clamp(24px,2vw,30px);margin:9px 0 12px}
#work .project-copy>p{font-size:14px;line-height:1.6;margin-bottom:16px}
#work .project-stack{font-size:10px;margin-bottom:16px}
#work .project-category{font-size:9px;letter-spacing:.09em}
#work .project-actions{gap:8px;padding-top:8px;flex-wrap:wrap}
#work .project-actions button,#work .project-actions a{font-size:12px}
#work .evidence-note{margin-top:22px;font-size:11px}

/* Fabrication bench: stronger structure around the arm, quieter behind the skills. */
#skills{gap:6%;padding-top:75px;padding-bottom:75px}
#skills::before{background:radial-gradient(ellipse at 24% 60%,#8294a33a,transparent 50%),repeating-linear-gradient(135deg,transparent 0 7px,#a2b4bf09 7px 8px),#111}
.toolkit-instrument{margin-top:28px;border:1px solid #96a7b52b;background:linear-gradient(135deg,#8093a410,#11111130);clip-path:polygon(0 0,94% 0,100% 8%,100% 100%,6% 100%,0 92%)}
.toolkit-instrument::before,.toolkit-instrument::after{content:"";position:absolute;width:28px;height:28px;border-color:#ce9777;pointer-events:none;z-index:1}
.toolkit-instrument::before{left:14px;top:14px;border-left:1px solid;border-top:1px solid}
.toolkit-instrument::after{right:14px;bottom:14px;border-right:1px solid;border-bottom:1px solid}
.toolkit-grid{inset:0;mask-image:linear-gradient(transparent,#000 35%,#000 80%,transparent);background:repeating-linear-gradient(90deg,transparent 0 39px,#b5c3cf13 39px 40px),repeating-linear-gradient(0deg,transparent 0 39px,#b5c3cf13 39px 40px)}
.toolkit-grid::before{inset:12% 11%;border-radius:0;border:1px solid #b6c2cd18;transform:skewY(-12deg)}
.toolkit-grid::after{inset:28% 6%;border-color:#b6c2cd21;transform:skewY(-12deg)}
#toolkit-core{height:345px}
.instrument-rule{left:12%;right:12%;bottom:20px}
#skills .skill-list>div{padding-left:20px;border-left:1px solid #8c9ba72e}
#skills .skill-list>div::before{left:-3px;top:30px;width:5px;height:5px;background:#bd8e6e}
#skills .skill-list p{font-size:clamp(16px,1.38vw,20px)}

/* The closing section becomes a dark signal field, with a copper transmission motif. */
#contact{position:relative;isolation:isolate;overflow:hidden;background:#111;border-top:1px solid #8796a52b;padding-top:85px;padding-bottom:78px;min-height:500px}
#contact::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 78% 65%,#5d626d32,transparent 65%),repeating-linear-gradient(0deg,transparent 0 5px,#c1ccd106 5px 6px)}
#contact::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(#c1ccd126 .6px,transparent .9px);background-size:9px 9px;mask-image:linear-gradient(90deg,transparent 30%,#000)}
.contact-field{position:absolute;right:-6%;top:50%;transform:translateY(-50%);height:115%;width:72%;z-index:-1;pointer-events:none}
#contact h2{font-size:clamp(76px,10vw,145px);line-height:1.13;margin:0 0 24px}
#contact .contact-mail{display:inline-flex;align-items:center;gap:24px;font-size:clamp(18px,1.8vw,25px);padding-bottom:13px;border-bottom:1px solid #b78e7466}
#contact .contact-mail::after{content:'↗';font-size:24px;color:#dcaa88;transition:transform .25s}
#contact .contact-mail:hover::after{transform:translate(3px,-3px)}
#contact .contact-links{margin-top:42px;gap:12px}
#contact .contact-links a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:10px 19px;background:#151719c9;font:500 13px/1.4 var(--font);border:1px solid #94a2af33;transition:background .25s,border-color .25s}
#contact .contact-links a:hover{background:#302822;border-color:#b78968;text-decoration:none}
footer{background:#111;border-color:#8796a52b}
@media(max-width:1100px){#work .projects{grid-template-columns:repeat(2,minmax(0,1fr))}#work .work-heading h2{font-size:6vw}#skills .skill-list p{font-size:16px}.contact-field{right:-15%;width:85%;opacity:.75}}
@media(max-width:760px){
 #work{padding-top:44px;padding-bottom:50px}#work .work-heading{min-height:135px}#work .work-heading h2{font-size:clamp(36px,8.7vw,56px)}#work-vault{height:145px}#work .vault-field{height:180px;width:59%}
 #work .projects{grid-template-columns:1fr;gap:22px}#work .project-art{aspect-ratio:640/265}#work .project-copy{padding:18px 19px 13px}#work .project-copy h3,#work .project-card:nth-child(even) h3{font-size:26px}#work .project-copy>p{font-size:14px}#work .filters{margin:12px 0 22px}#work .project-stack{margin-bottom:12px}
 #skills{padding-top:55px;padding-bottom:55px;gap:27px}#toolkit-core{height:285px}.toolkit-instrument{margin-top:23px}#skills .skill-list>div{padding-left:17px}#skills .skill-list p{font-size:16px}
 #contact{padding-top:60px;padding-bottom:50px;min-height:430px}#contact h2{font-size:clamp(67px,16vw,100px)}#contact .contact-mail{font-size:17px;gap:12px}#contact .contact-links{gap:10px;margin-top:33px}#contact .contact-links a{font-size:12px;padding:10px 13px}.contact-field{top:64%;right:-39%;width:110%;height:100%;opacity:.4}
}
@media(max-width:370px){#toolkit-core{height:260px}#skills .skill-list p{font-size:14px}#contact .contact-mail{font-size:15px}#contact .contact-links{gap:8px}#contact .contact-links a{font-size:11px;padding:9px 11px}}
@media(prefers-reduced-motion:reduce){#contact .contact-mail::after,#contact .contact-links a{transition:none}}

/* A restrained, editorial close: contact details lead, decoration stays in the background. */
#contact{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;min-height:340px;padding-top:80px;padding-bottom:80px;background:#111;border-top:1px solid #8e989f40}
#contact::before{background:radial-gradient(ellipse at 95% 110%,#a2785620,transparent 65%),repeating-linear-gradient(90deg,transparent 0 11px,#b9c2c405 11px 12px);mask-image:linear-gradient(90deg,transparent,#000)}
#contact::after{display:none}
#contact h2{font-size:clamp(58px,6.8vw,98px);line-height:1.1;margin:0 0 20px;letter-spacing:-.05em}
#contact h2 em{color:#d2a487;font-weight:500}
.contact-heading>p{font-size:16px;line-height:1.6;color:#a6abb1;margin:0;max-width:370px}
.contact-details{min-width:0}
#contact .contact-mail{display:flex;justify-content:space-between;gap:16px;font-size:clamp(18px,1.8vw,26px);line-height:1.5;padding:14px 0 24px;border-bottom:1px solid #77838e55;color:#e8e6e0;letter-spacing:-.02em}
#contact .contact-mail::after{display:none}
#contact .contact-mail span{color:#bd957a;font-size:26px}
#contact .contact-links{display:flex;justify-content:space-between;gap:20px;margin-top:19px;flex-wrap:wrap}
#contact .contact-links a{padding:8px 0;min-height:44px;background:none;border:0;font-size:13px;color:#b4b9be;gap:12px}
#contact .contact-links a span{color:#9e8371}
#contact .contact-links a:hover{color:#e4b493;background:none;text-decoration:underline;text-underline-offset:5px}
footer{padding-top:24px;padding-bottom:24px;font-size:12px;color:#8e969e;letter-spacing:0}footer>a{font-size:12px}
@media(max-width:760px){#contact{grid-template-columns:1fr;gap:27px;padding-top:55px;padding-bottom:48px;min-height:0}#contact h2{font-size:64px;margin-bottom:17px}.contact-heading>p{font-size:14px;max-width:280px}#contact .contact-mail{font-size:clamp(17px,4.6vw,24px);padding:10px 0 18px}#contact .contact-links{gap:16px;margin-top:12px}#contact .contact-links a{font-size:12px;padding:8px 0}footer{font-size:10px}footer>a{font-size:11px}}
