@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Geist+Mono:wght@400;500&family=Geist:wght@400;500;600&display=swap";:root{--font-geist:"Geist";--font-mono:"Geist Mono";--font-display:"Cormorant Garamond";--ink:#0b0b0b;--panel:#151515;--panel-raised:#1b1b1b;--paper:#f1eee5;--muted:#aaa69d;--line:#f1eee52b;--line-strong:#f1eee561;--nav-bg:#0b0b0bcc;--contact-bg:#f1eee5;--contact-fg:#0b0b0b;--contact-muted:#5f5d57}:root[data-theme=light]{--ink:#e8e4da;--panel:#f4f1e9;--panel-raised:#dedad0;--paper:#141414;--muted:#65635f;--line:#14141429;--line-strong:#14141461;--nav-bg:#e8e4dad1;--contact-bg:#141414;--contact-fg:#f1eee5;--contact-muted:#aaa69d}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{background:var(--ink);color:var(--paper);font-family:var(--font-geist), Arial, sans-serif;margin:0;transition:background .28s,color .28s}body:before{content:"";z-index:100;pointer-events:none;opacity:.08;background-image:repeating-radial-gradient(circle at 17% 31%,#0000 0 2px,currentColor 2.5px 3px,#0000 3.5px 7px);background-size:13px 17px;position:fixed;inset:0}::selection{background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}main{--cursor-x:50vw;--cursor-y:40vh;overflow:hidden}.cursor-glow{z-index:0;pointer-events:none;opacity:.42;background:radial-gradient(500px circle at var(--cursor-x) var(--cursor-y), #f1eee50e, transparent 58%);position:fixed;inset:0}:root[data-theme=light] .cursor-glow{opacity:.18;background:radial-gradient(500px circle at var(--cursor-x) var(--cursor-y), #0000001f, transparent 58%)}.site-nav{z-index:50;border-bottom:1px solid var(--line);background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:84px;padding:0 4vw;transition:background .28s,border-color .28s;display:grid;position:fixed;top:0;left:0}.wordmark{align-items:center;gap:16px;display:flex}.wordmark>span{font-family:var(--font-display), Georgia, serif;letter-spacing:-.07em;font-size:31px;font-weight:700}.wordmark small,.eyebrow,.art-label,.section-kicker,.contact-index{font-family:var(--font-mono), monospace;letter-spacing:.15em;text-transform:uppercase;font-size:10px}.wordmark small{color:var(--muted)}.nav-links{align-items:center;gap:clamp(20px,2.6vw,42px);font-size:12px;display:flex}.nav-links a{color:var(--muted);transition:color .18s;position:relative}.nav-links a:after{content:"";background:var(--paper);height:1px;transition:right .2s;position:absolute;bottom:-7px;left:0;right:100%}.nav-links a:hover{color:var(--paper)}.nav-links a:hover:after{right:0}.nav-actions{justify-self:end;align-items:center;gap:24px;display:flex}.theme-toggle,.menu-toggle{cursor:pointer;background:0 0;border:0}.theme-toggle{font:9px var(--font-mono), monospace;letter-spacing:.12em;align-items:center;gap:9px;padding:5px 0;display:flex}.theme-toggle i{border:1px solid var(--line-strong);border-radius:20px;width:22px;height:11px;position:relative}.theme-toggle i:after{content:"";background:var(--paper);border-radius:50%;width:5px;height:5px;transition:transform .22s;position:absolute;top:2px;left:3px}:root[data-theme=light] .theme-toggle i:after{transform:translate(9px)}.nav-cta{border-bottom:1px solid var(--paper);padding:8px 0;font-size:12px}.menu-toggle{width:29px;height:22px;display:none;position:relative}.menu-toggle span{background:var(--paper);width:100%;height:1px;position:absolute;left:0}.menu-toggle span:first-child{top:6px}.menu-toggle span:last-child{bottom:6px}.hero{z-index:1;grid-template-rows:1fr auto;grid-template-columns:58% 42%;min-height:100svh;padding:145px 4vw 34px;display:grid;position:relative}.hero:before{content:"";z-index:-1;pointer-events:none;opacity:.18;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:7vw 7vw;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 25%,#0000 88%);mask-image:linear-gradient(#0000,#000 25%,#0000 88%)}.hero-copy{z-index:2;align-self:center;padding-right:4vw;animation:.8s cubic-bezier(.22,1,.36,1) both heroIn;position:relative}.eyebrow{color:var(--muted);align-items:center;gap:10px;margin:0 0 28px;display:flex}.status-dot{background:var(--paper);width:7px;height:7px;box-shadow:0 0 0 6px color-mix(in srgb, var(--paper) 8%, transparent);border-radius:50%;animation:2.2s ease-in-out infinite pulse}.hero h1{max-width:900px;font-family:var(--font-display), Georgia, serif;letter-spacing:-.07em;margin:0;font-size:clamp(62px,8.2vw,142px);font-weight:600;line-height:.77}.hero h1 span{color:#0000;-webkit-text-stroke:1px var(--paper);margin-left:7vw;font-style:italic;display:block}.hero-intro{max-width:590px;color:var(--muted);margin:42px 0 0 7vw;font-size:clamp(16px,1.35vw,21px);line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;margin:34px 0 0 7vw;display:flex}.button{border:1px solid var(--line);justify-content:center;align-items:center;gap:30px;min-height:52px;padding:0 22px;font-size:12px;transition:transform .18s,background .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--paper);color:var(--ink)}.button-secondary:hover{background:var(--panel)}.hero-art{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;place-self:center;place-items:center;width:min(34vw,520px);animation:1.1s cubic-bezier(.22,1,.36,1) .1s both artIn;display:grid;position:relative}.hero-art:before,.hero-art:after{content:"";background:var(--line);position:absolute}.hero-art:before{width:130%;height:1px}.hero-art:after{width:1px;height:130%}.orbit{border:1px solid var(--line);border-radius:50%;animation:16s linear infinite orbit;position:absolute}.orbit-one{border-top-color:var(--paper);width:78%;height:78%}.orbit-two{border-right-color:var(--paper);width:112%;height:42%;animation-duration:22s;animation-direction:reverse;transform:rotate(-24deg)}.monogram{z-index:2;font-family:var(--font-display), Georgia, serif;letter-spacing:-.1em;font-size:clamp(74px,10vw,154px);font-weight:600}.art-label{background:var(--ink);color:var(--muted);padding:8px 10px;transition:background .28s;position:absolute}.art-label-top{top:13%;right:-4%}.art-label-bottom{bottom:13%;left:-3%}.art-caption{font:9px var(--font-mono), monospace;letter-spacing:.2em;color:var(--muted);gap:14px;display:flex;position:absolute;top:50%;right:-44px;transform:rotate(90deg)translateY(-50%)}.hero-footer{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(3,minmax(130px,190px)) 1fr;gap:26px;margin-top:55px;padding-top:24px;display:grid}.hero-footer div{align-items:baseline;gap:12px;display:flex}.hero-footer strong{font-family:var(--font-display), Georgia, serif;font-size:30px;font-weight:600}.hero-footer span,.hero-footer p{color:var(--muted);font-size:11px;line-height:1.4}.hero-footer p{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.14em;place-self:center end}.marquee{z-index:2;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);font:9px var(--font-mono), monospace;letter-spacing:.19em;white-space:nowrap;padding:17px 0;position:relative;overflow:hidden}.marquee div{width:max-content;animation:32s linear infinite marquee}.marquee i{background:var(--paper);border-radius:50%;width:4px;height:4px;margin:0 34px 2px;display:inline-block}.section-shell{z-index:1;max-width:1600px;margin:0 auto;padding:130px 4vw;position:relative}.section-kicker{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:90px 1fr;margin-bottom:82px;padding-top:18px;display:grid}.section-kicker p{margin:0}.section-heading,.skills-intro,.work-heading{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:end;gap:7vw;margin-bottom:75px;display:grid}.section-heading h2,.skills-intro h2,.work-heading h2,.journey-title h2,.contact-copy h2{font:600 clamp(55px, 6.4vw, 106px) / .88 var(--font-display), Georgia, serif;letter-spacing:-.055em;margin:0}.section-heading h2 em,.skills-intro h2 em,.work-heading h2 em,.journey-title h2 em,.contact-copy h2 em,.profile-statement h2 em{color:#0000;-webkit-text-stroke:1px var(--paper);font-weight:500}.section-heading>p,.skills-intro>p,.journey-title>p{max-width:520px;color:var(--muted);margin:0;font-size:16px;line-height:1.75}.reveal{opacity:0;transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transform:translateY(34px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.profile-section{padding-bottom:160px}.profile-grid{grid-template-columns:1.25fr .72fr .53fr;align-items:start;gap:5vw;display:grid}.profile-statement p{color:var(--muted);margin:0 0 12px;font-size:clamp(20px,2vw,31px)}.profile-statement h2{font:600 clamp(65px, 7.3vw, 122px) / .82 var(--font-display), Georgia, serif;letter-spacing:-.06em;margin:0}.profile-copy>p{color:var(--muted);margin:0 0 24px;font-size:15px;line-height:1.78}.profile-copy>p:first-child{color:var(--paper);font-size:18px}.text-link{border-bottom:1px solid var(--paper);gap:35px;width:max-content;margin-top:36px;padding-bottom:8px;font-size:12px;display:flex}.profile-aside{border:1px solid var(--line)}.profile-aside div{border-bottom:1px solid var(--line);padding:19px}.profile-aside div:last-child{border-bottom:0}.profile-aside span{color:var(--muted);font:9px var(--font-mono), monospace;letter-spacing:.13em;text-transform:uppercase;margin-bottom:9px;display:block}.profile-aside strong{font-size:12px;font-weight:500;line-height:1.5}.services-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services-grid{grid-template-columns:repeat(3,1fr);display:grid}.service-card{border:1px solid var(--line);border-right:0;flex-direction:column;min-height:440px;padding:40px;transition:background .25s,transform .25s;display:flex;position:relative;overflow:hidden}.service-card:last-child{border-right:1px solid var(--line)}.service-card:before{content:"";background:var(--paper);transform-origin:0;width:100%;height:3px;transition:transform .3s;position:absolute;top:0;left:0;transform:scaleX(0)}.service-card:hover{background:var(--panel);transform:translateY(-8px)}.service-card:hover:before{transform:scaleX(1)}.service-card>span{color:var(--muted);font:9px var(--font-mono), monospace;letter-spacing:.15em}.service-card h3{font:600 clamp(31px, 3vw, 50px) / .95 var(--font-display), Georgia, serif;letter-spacing:-.04em;margin:70px 0 22px}.service-card p{color:var(--muted);font-size:14px;line-height:1.7}.service-card ul{margin:auto 0 0;padding:0;list-style:none}.service-card li{border-top:1px solid var(--line);color:var(--muted);font:10px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.1em;padding:9px 0}.skills-intro{align-items:start}.skill-list{border-top:1px solid var(--line)}.skill-row{border-bottom:1px solid var(--line);grid-template-columns:80px .8fr 1.2fr;align-items:start;gap:30px;min-height:190px;padding:34px 0;transition:padding .25s,background .25s;display:grid}.skill-row:hover{background:var(--panel);padding-left:20px;padding-right:20px}.skill-row>span{color:var(--muted);font:10px var(--font-mono), monospace}.skill-row h3{font:600 38px var(--font-display), Georgia, serif;letter-spacing:-.035em;margin:0 0 12px}.skill-row p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.skill-row ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-row li{border:1px solid var(--line);font:9px var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;padding:10px 13px}.work-section{background:var(--panel);max-width:none}.work-section>*{max-width:1470px;margin-left:auto;margin-right:auto}.work-heading{align-items:end}.work-heading .text-link{justify-self:end}.project-filters{border-bottom:1px solid var(--line);scrollbar-width:none;gap:8px;margin-bottom:50px;display:flex;overflow-x:auto}.project-filters button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:14px 8px;font-size:11px}.project-filters button span{font:8px var(--font-mono), monospace;opacity:.55;margin-left:8px}.project-filters button.active{color:var(--paper);border-bottom-color:var(--paper)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.project-card{border:1px solid var(--line);background:var(--ink);min-width:0;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s}.project-card:hover{border-color:var(--line-strong);transform:translateY(-8px)}.project-meta{border-bottom:1px solid var(--line);height:50px;color:var(--muted);font:9px var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.project-scene{border-bottom:1px solid var(--line);color:#f1eee5;background:#111;height:390px;position:relative;overflow:hidden}.project-body{padding:30px}.project-body h3{font:600 clamp(32px, 3.5vw, 53px) / .95 var(--font-display), Georgia, serif;letter-spacing:-.045em;margin:0 0 18px}.project-body>p{min-height:72px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.project-impact{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:85px 1fr;gap:15px;margin:26px 0;padding:17px 0;display:grid}.project-impact span{color:var(--muted);font:8px var(--font-mono), monospace;letter-spacing:.13em}.project-impact strong{font-size:12px;font-weight:500}.project-body ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.project-body li{border:1px solid var(--line);color:var(--muted);font:8px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.06em;padding:7px 9px}.scene-topline,.scene-row{font:9px var(--font-mono), monospace;letter-spacing:.1em;justify-content:space-between;padding:13px 0;display:flex;position:absolute;left:5%;right:5%}.scene-topline{border-bottom:1px solid #f1eee526;top:0}.scene-topline span:last-child{color:#b9ffcd}.scene-row{border-top:1px solid #f1eee526;bottom:0}.scene-row b{color:#f1eee5;font-weight:500}.ai-scene{background:radial-gradient(circle at 70% 20%,#2c312d,#0000 45%),#0c0e0d}.ai-scene:before{content:"";opacity:.2;background-image:linear-gradient(#f1eee533 1px,#0000 1px),linear-gradient(90deg,#f1eee533 1px,#0000 1px);background-size:38px 38px;position:absolute;inset:0}.ai-score{position:absolute;top:26%;left:8%}.ai-score small{color:#888;font:8px var(--font-mono), monospace;letter-spacing:.14em;margin-bottom:8px;display:block}.ai-score strong{font:500 clamp(72px, 9vw, 128px) / 1 var(--font-display), Georgia, serif;letter-spacing:-.06em}.ai-score span{font:20px var(--font-mono), monospace;color:#aaa}.ai-bars{align-items:end;gap:6px;width:32%;display:flex;position:absolute;top:25%;bottom:20%;right:8%}.ai-bars i{background:#f1eee50d;border:1px solid #f1eee559;flex:1;height:32%}.ai-bars i:nth-child(2){height:57%}.ai-bars i:nth-child(3){height:42%}.ai-bars i:nth-child(4){height:78%}.ai-bars i:nth-child(5){height:64%}.ai-bars i:nth-child(6){height:91%}.ai-bars i:nth-child(7){height:72%}.app-scene{background:linear-gradient(135deg,#111 0 52%,#e8e3d8 52%)}.phone-shell{background:#181818;border:1px solid #f1eee580;border-radius:28px;width:190px;height:340px;padding:28px 19px 18px;position:absolute;top:25px;left:16%;box-shadow:0 24px 60px #00000059}.phone-bar{background:#5c5c5c;border-radius:9px;width:54px;height:4px;position:absolute;top:9px;left:50%;transform:translate(-50%)}.phone-shell>small{color:#8c8c8c;font:7px var(--font-mono), monospace;letter-spacing:.12em}.phone-shell>strong{font:600 25px / .95 var(--font-display), Georgia, serif;margin-top:10px;display:block}.service-wheel{border:1px solid #f1eee538;border-radius:50%;place-items:center;width:115px;height:115px;margin:26px auto 18px;display:grid;box-shadow:inset 0 0 0 13px #202020}.service-wheel span{width:65px;height:65px;font:600 38px var(--font-display), Georgia, serif;border:1px solid #f1eee559;border-radius:50%;place-items:center;display:grid}.booking-card{border:1px solid #f1eee521;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;padding:12px;display:grid}.booking-card i{background:#f1eee5;border-radius:50%;width:6px;height:6px}.booking-card span{color:#999;font-size:7px}.booking-card b{font:8px var(--font-mono), monospace}.app-scene>p{color:#111;font:8px var(--font-mono), monospace;letter-spacing:.15em;writing-mode:vertical-rl;position:absolute;bottom:10%;right:5%}.map-scene{background-color:#111513;background-image:linear-gradient(30deg,#0000 45%,#f1eee514 45% 46%,#0000 46%),linear-gradient(120deg,#0000 55%,#f1eee50f 55% 56%,#0000 56%);background-size:110px 90px}.map-route{border:2px dashed #f1eee566;border-radius:50%;position:absolute;transform:rotate(-18deg)}.route-a{width:74%;height:52%;top:20%;left:6%}.route-b{width:57%;height:78%;top:6%;right:-10%;transform:rotate(34deg)}.map-pin{color:#111;width:43px;height:43px;font:12px var(--font-mono), monospace;background:#f1eee5;border-radius:50% 50% 50% 8px;place-items:center;display:grid;position:absolute;transform:rotate(-45deg);box-shadow:0 8px 30px #0000004d}.map-pin:first-letter{transform:rotate(45deg)}.pin-a{top:31%;left:20%}.pin-b{top:19%;right:21%}.pin-c{color:#fff;background:#77746d;bottom:21%;right:35%}.map-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ac7;justify-content:space-between;align-items:center;padding:16px;display:flex;position:absolute;bottom:5%;left:5%;right:5%}.map-card small{font:8px var(--font-mono), monospace;color:#999;letter-spacing:.12em}.map-card strong{font-size:11px;font-weight:500}.network-scene{background:#e7e4dc}.network-scene img{object-fit:cover;filter:grayscale()contrast(1.08);width:100%;height:100%;transition:filter .3s,transform .6s}.project-card:hover .network-scene img{filter:grayscale(.2)contrast(1.05);transform:scale(1.035)}.network-caption{font:8px var(--font-mono), monospace;letter-spacing:.12em;background:#0a0a0ae0;justify-content:space-between;padding:14px 16px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.network-caption b{color:#b9ffcd;font-weight:500}.brick-scene{background:#0d0d0d}.brick-grid{grid-template-columns:repeat(8,1fr);gap:7px;width:78%;display:grid;position:absolute;top:18%;left:11%}.brick-grid i{background:#f1eee50a;border:1px solid #f1eee58c;height:25px}.brick-grid i:nth-child(3n){opacity:.45}.brick-grid i:nth-child(7n){visibility:hidden}.game-ball{background:#f1eee5;border-radius:50%;width:13px;height:13px;position:absolute;bottom:26%;left:56%;box-shadow:0 0 30px #f1eee566}.game-paddle{background:#f1eee5;width:105px;height:8px;position:absolute;bottom:13%;left:44%}.game-score{font:8px var(--font-mono), monospace;letter-spacing:.13em;color:#888;position:absolute;top:5%;left:5%}.terminal-scene{background:linear-gradient(145deg,#151515,#090909);padding:8%}.terminal-head{color:#888;font:8px var(--font-mono), monospace;border:1px solid #f1eee529;justify-content:space-between;padding:12px 15px;display:flex}.terminal-scene code{color:#aaa;font:12px / 2.15 var(--font-mono), monospace;border:1px solid #f1eee529;border-top:0;padding:30px 23px;display:block}.terminal-scene code span{color:#f1eee5}.terminal-scene code b{color:#111;background:#f1eee5;margin-top:18px;padding:3px 8px;font-weight:500;display:inline-block}.journey-section{padding-top:150px}.journey-grid{grid-template-columns:.9fr 1.1fr;gap:9vw;display:grid}.journey-title{align-self:start;position:sticky;top:140px}.journey-title p{margin-top:36px}.timeline{border-top:1px solid var(--line)}.timeline-item{border-bottom:1px solid var(--line);padding:36px 0 52px}.timeline-item>span{color:var(--muted);font:9px var(--font-mono), monospace;letter-spacing:.13em}.timeline-item h3{font:600 clamp(30px, 3.4vw, 53px) var(--font-display), Georgia, serif;letter-spacing:-.035em;margin:20px 0 3px}.timeline-item h4{color:var(--muted);margin:0;font-size:12px;font-weight:500}.timeline-item p{max-width:620px;color:var(--muted);margin:24px 0 0;font-size:13px;line-height:1.7}.recognition-grid{grid-template-columns:repeat(3,1fr);margin-top:100px;display:grid}.recognition-card{border:1px solid var(--line);border-right:0;flex-direction:column;min-height:330px;padding:30px;display:flex}.recognition-card:last-child{border-right:1px solid var(--line)}.recognition-card>span{color:var(--muted);font:8px var(--font-mono), monospace;letter-spacing:.13em}.recognition-card h3{font:600 38px / 1 var(--font-display), Georgia, serif;letter-spacing:-.04em;margin:52px 0 16px}.recognition-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.recognition-card>b{color:var(--muted);font:8px var(--font-mono), monospace;letter-spacing:.12em;margin-top:auto}.recognition-card.accent{background:var(--paper);color:var(--ink)}.recognition-card.accent>span,.recognition-card.accent p{color:color-mix(in srgb, var(--ink) 60%, transparent)}.recognition-card.accent a{border-top:1px solid color-mix(in srgb, var(--ink) 20%, transparent);justify-content:space-between;margin-top:auto;padding-top:15px;font-size:12px;display:flex}.contact-section{z-index:1;background:var(--contact-bg);color:var(--contact-fg);position:relative}.contact-shell{grid-template-columns:1fr 1fr;gap:9vw;max-width:1600px;margin:0 auto;padding:140px 4vw;display:grid}.contact-copy h2{margin-top:50px}.contact-copy h2 em{-webkit-text-stroke-color:var(--contact-fg)}.contact-copy>p{max-width:580px;color:var(--contact-muted);margin:40px 0 0;font-size:15px;line-height:1.75}.contact-index{color:var(--contact-muted)}.contact-links{border-top:1px solid color-mix(in srgb, var(--contact-fg) 20%, transparent);margin-top:60px}.contact-links a{border-bottom:1px solid color-mix(in srgb, var(--contact-fg) 20%, transparent);grid-template-columns:70px 1fr auto;align-items:center;gap:20px;padding:20px 0;display:grid}.contact-links span{color:var(--contact-muted);font:8px var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase}.contact-links strong{font-size:13px;font-weight:500}.contact-form{border-top:1px solid color-mix(in srgb, var(--contact-fg) 28%, transparent);align-self:end}.form-row{grid-template-columns:1fr 1fr;gap:28px;display:grid}.contact-form label{padding-top:27px;display:block}.contact-form label>span{color:var(--contact-muted);font:8px var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:11px;display:block}.contact-form input,.contact-form textarea,.contact-form select{border:0;border-bottom:1px solid color-mix(in srgb, var(--contact-fg) 25%, transparent);width:100%;color:var(--contact-fg);background:0 0;border-radius:0;outline:0;padding:4px 0 15px;font-size:14px}.contact-form textarea{resize:vertical}.contact-form select{cursor:pointer}.contact-form input::placeholder,.contact-form textarea::placeholder{color:color-mix(in srgb, var(--contact-muted) 70%, transparent)}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-bottom-color:var(--contact-fg)}.submit-button{border:1px solid var(--contact-fg);background:var(--contact-fg);width:100%;color:var(--contact-bg);cursor:pointer;justify-content:space-between;margin-top:32px;padding:19px 22px;transition:background .18s,color .18s;display:flex}.submit-button:hover{color:var(--contact-fg);background:0 0}.form-note{color:var(--contact-muted);margin:12px 0 0;font-size:10px;line-height:1.5}footer{z-index:1;border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;min-height:120px;padding:30px 4vw;display:grid;position:relative}footer>p{color:var(--muted);font:8px var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase}footer>div{color:var(--muted);justify-self:end;gap:28px;font-size:10px;display:flex}footer>div a{color:var(--paper)}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes pulse{50%{opacity:.42}}@keyframes heroIn{0%{opacity:0;transform:translateY(25px)}}@keyframes artIn{0%{opacity:0;transform:scale(.9)rotate(-8deg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}@media (width<=1100px){.site-nav{grid-template-columns:1fr auto}.nav-links{border-bottom:1px solid var(--line);background:var(--ink);opacity:0;pointer-events:none;gap:0;padding:35px 4vw 50px;transition:opacity .18s,transform .18s;display:grid;position:fixed;top:84px;left:0;right:0;transform:translateY(-10px)}.nav-links.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-links a{border-bottom:1px solid var(--line);font:600 28px var(--font-display), Georgia, serif;color:var(--paper);padding:17px 0}.menu-toggle{display:block}.hero{grid-template-columns:55% 45%}.profile-grid{grid-template-columns:1.15fr .85fr}.profile-aside{grid-column:1/-1;grid-template-columns:repeat(4,1fr);display:grid}.profile-aside div{border-bottom:0;border-right:1px solid var(--line)}.profile-aside div:last-child{border-right:0}.service-card{min-height:410px;padding:28px}.project-scene{height:330px}.contact-shell{gap:6vw}}@media (width<=800px){.site-nav{height:72px;padding-inline:22px}.nav-links{padding-inline:22px;top:72px}.nav-cta{display:none}.hero{grid-template-columns:1fr;padding:120px 22px 28px}.hero-copy{padding:0}.hero-art{width:min(76vw,440px);margin:100px 0 45px}.hero-footer{grid-template-columns:repeat(3,1fr)}.hero-footer p{display:none}.section-shell{padding:95px 22px}.section-kicker{grid-template-columns:55px 1fr;margin-bottom:55px}.section-heading,.skills-intro,.work-heading{grid-template-columns:1fr;gap:30px;margin-bottom:55px}.work-heading .text-link{justify-self:start}.profile-grid{grid-template-columns:1fr;gap:55px}.profile-aside{grid-column:auto;grid-template-columns:repeat(2,1fr)}.profile-aside div{border-bottom:1px solid var(--line)}.profile-aside div:nth-child(2){border-right:0}.services-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{border-right:1px solid var(--line);border-bottom:0;min-height:355px}.service-card:last-child{border-bottom:1px solid var(--line)}.service-card h3{margin-top:45px}.skill-row{grid-template-columns:45px 1fr}.skill-row ul{grid-column:2}.project-grid{grid-template-columns:1fr}.project-scene{height:390px}.journey-grid{grid-template-columns:1fr;gap:70px}.journey-title{position:static}.recognition-grid{grid-template-columns:1fr}.recognition-card,.recognition-card:last-child{border-right:1px solid var(--line);border-bottom:0;min-height:290px}.recognition-card:last-child{border-bottom:1px solid var(--line)}.contact-shell{grid-template-columns:1fr;gap:85px;padding:100px 22px}footer{grid-template-columns:1fr auto;padding:28px 22px}footer>p{display:none}}@media (width<=540px){.wordmark small,.theme-toggle>span{display:none}.nav-actions{gap:15px}.hero{padding-top:105px}.hero h1{font-size:clamp(54px,18vw,78px)}.hero h1 span,.hero-intro,.hero-actions{margin-left:0}.hero-intro{margin-top:30px}.hero-actions{display:grid}.button{justify-content:space-between}.hero-footer{grid-template-columns:1fr;gap:12px}.hero-footer div{border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:10px}.hero-art{margin-top:80px}.art-caption{display:none}.section-heading h2,.skills-intro h2,.work-heading h2,.journey-title h2,.contact-copy h2{font-size:clamp(49px,15vw,69px)}.profile-statement h2{font-size:clamp(58px,18vw,82px)}.profile-aside{grid-template-columns:1fr}.profile-aside div{border-right:0}.skill-row{grid-template-columns:1fr;gap:18px}.skill-row ul{grid-column:auto}.project-scene{height:300px}.phone-shell{transform-origin:0 0;left:9%;transform:scale(.82)}.project-body{padding:24px}.project-body>p{min-height:0}.project-impact{grid-template-columns:1fr}.recognition-grid{margin-top:70px}.form-row{grid-template-columns:1fr;gap:0}.contact-links a{grid-template-columns:55px 1fr auto;gap:10px}.contact-links strong{font-size:11px}footer>div span{display:none}}
