:root{--bg: #0a0b16;--ink: #ece7dd;--muted: #a297b0;--faint: #6b6580;--line: rgba(236, 231, 221, .08);--accent: #f0b586;--accent-soft: rgba(240, 181, 134, .13);--serif: "Cormorant Garamond", Georgia, serif;--sans: "DM Sans", -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--ink)}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:22px 64px;background:linear-gradient(#0a0b16b8,#0a0b1600);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.site-logo{font-family:var(--serif);font-size:19px;letter-spacing:.02em;color:var(--ink)}.site-nav{display:flex;gap:34px}.nav-link{font-size:12.5px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:color .25s ease}.nav-link:hover{color:var(--accent)}.hero{position:relative;height:100svh;min-height:560px}.hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:manipulation}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-start;padding:15vh 64px 0;pointer-events:none}.hero-name{font-family:var(--serif);font-size:clamp(76px,11vw,148px);font-weight:300;line-height:.9;letter-spacing:-.02em;color:var(--ink);text-shadow:0 2px 40px rgba(5,6,15,.5)}.hero-name em{color:var(--accent)}.hero-sub{margin-top:30px;font-size:15px;font-weight:300;line-height:1.85;color:var(--muted);max-width:430px;text-shadow:0 1px 20px rgba(5,6,15,.6)}.hero-hint{position:absolute;bottom:34px;left:50%;transform:translate(-50%);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);animation:hint-drift 4s ease-in-out infinite;pointer-events:none}@keyframes hint-drift{0%,to{opacity:.45;transform:translate(-50%) translateY(0)}50%{opacity:.9;transform:translate(-50%) translateY(4px)}}.section{max-width:1040px;margin:0 auto;padding:90px 64px 30px}.label{font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-bottom:40px;display:flex;align-items:center;gap:18px}.label:after{content:"";flex:1;height:1px;background:var(--line)}.row{border-top:1px solid var(--line)}.row:last-child{border-bottom:1px solid var(--line)}.row-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;width:100%;padding:24px 4px;background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.row-head:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.row-title-wrap{display:flex;flex-direction:column;gap:4px;min-width:0}.row-title{font-family:var(--serif);font-size:clamp(21px,2.4vw,28px);font-weight:400;letter-spacing:-.01em;transition:color .25s ease}.row-head:hover .row-title,.row.open .row-title{color:var(--accent)}.row-role{font-size:13px;font-weight:300;color:var(--faint);letter-spacing:.02em}.row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.tag{font-size:10.5px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:#ece7dd0d;border:1px solid var(--line);padding:3px 9px;border-radius:2px;white-space:nowrap}.row-year{font-size:12.5px;color:var(--faint);margin-left:6px;white-space:nowrap}.row-plus{font-family:var(--serif);font-size:20px;font-weight:300;color:var(--faint);margin-left:10px;width:18px;text-align:center;transition:transform .35s cubic-bezier(.4,0,.2,1),color .25s ease}.row.open .row-plus{transform:rotate(45deg);color:var(--accent)}.row-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.4,0,.2,1)}.row.open .row-body{grid-template-rows:1fr}.row-body-inner{overflow:hidden}.row-points{list-style:none;padding:2px 4px 26px;max-width:720px}.row-points li{font-size:14px;font-weight:300;line-height:1.75;color:var(--muted);padding-left:22px;position:relative;margin-bottom:8px}.row-points li:before{content:"·";position:absolute;left:6px;color:var(--accent);font-size:20px;line-height:1.2}.skill-row{display:flex;gap:32px;padding:20px 4px;border-top:1px solid var(--line);align-items:baseline}.skill-row:last-child{border-bottom:1px solid var(--line)}.skill-label{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);width:130px;flex-shrink:0}.skill-items{font-family:var(--serif);font-size:19px;font-weight:300;font-style:italic;letter-spacing:.01em;color:var(--ink);line-height:1.6}.skill-items .dot{color:var(--accent);font-style:normal;padding:0 10px;font-size:14px}.about-body{max-width:700px;font-size:16.5px;font-weight:300;line-height:2;color:var(--muted)}.about-body em{font-family:var(--serif);font-size:1.12em;color:var(--ink)}.about-body+.about-body{margin-top:22px}.contact-links{display:flex;gap:44px;flex-wrap:wrap}.contact-link{font-family:var(--serif);font-size:26px;font-weight:300;font-style:italic;color:var(--ink);display:inline-flex;align-items:baseline;gap:8px;transition:color .25s ease}.contact-link .arrow{font-size:15px;color:var(--faint);transition:transform .3s cubic-bezier(.4,0,.2,1),color .25s ease}.contact-link:hover{color:var(--accent)}.contact-link:hover .arrow{transform:translate(3px,-3px);color:var(--accent)}.site-footer{max-width:1040px;margin:0 auto;padding:60px 64px 40px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.footer-left{font-size:12px;color:var(--faint)}.footer-right{font-family:var(--serif);font-size:13.5px;font-style:italic;color:var(--faint)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1)}.reveal.in{opacity:1;transform:translateY(0)}@media (max-width: 720px){.site-header{padding:18px 26px}.site-nav{gap:20px}.nav-link{font-size:11px}.hero-overlay{padding:13vh 26px 0}.section{padding:64px 26px 20px}.row-head{flex-direction:column;gap:10px}.row-right{width:100%;justify-content:space-between}.skill-row{flex-direction:column;gap:8px}.skill-label{width:auto}.site-footer{padding:44px 26px 32px;flex-direction:column;gap:8px}.contact-links{gap:26px}}@media (max-width: 720px){.row-right .tag{display:none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-hint{animation:none}.row-body,.row-plus,.row-title,.nav-link,.contact-link,.contact-link .arrow{transition:none}}
