:root{--bg:#0f0e0d;--text:#ece6dc;--muted:#8f887d;--line:#ece6dc24;--accent:#e8643c;--serif:"Cormorant Garamond", "Times New Roman", serif;--sans:"Onest", system-ui, sans-serif;--ease:cubic-bezier(.16, 1, .3, 1);--pad:clamp(20px, 5vw, 64px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font:300 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body:after{content:"";pointer-events:none;z-index:50;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.top,main,footer{padding-left:var(--pad);padding-right:var(--pad);max-width:1280px;margin:0 auto}.top{justify-content:space-between;align-items:baseline;padding-top:32px;font-size:14px;display:flex}.logo{font-family:var(--serif);letter-spacing:.01em;font-size:22px;font-weight:500}.top nav{color:var(--muted);gap:clamp(16px,3vw,36px);display:flex}.top nav a{transition:color .4s var(--ease)}.top nav a:hover{color:var(--text)}.top .lang{color:var(--accent)}.hero{flex-direction:column;justify-content:center;min-height:86vh;padding:14vh 0 10vh;display:flex}.eyebrow{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:32px;font-size:13px}h1{font-family:var(--serif);letter-spacing:-.02em;text-wrap:balance;max-width:13em;font-size:clamp(46px,9vw,124px);font-weight:400;line-height:.98}h1 em,.big em{color:var(--accent);font-style:italic}.hero-foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:64px;display:flex}.lead{color:var(--muted);max-width:30em;font-size:18px}.cta{align-items:center;gap:28px;display:flex}.btn{background:var(--text);color:var(--bg);transition:background .5s var(--ease), transform .5s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:14px 26px;font-size:15px;font-weight:500;display:inline-flex}.btn:hover{background:var(--accent);transform:translateY(-2px)}.btn.ghost{color:var(--text);border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:14px 0}.btn.ghost:hover{border-color:var(--accent);color:var(--accent);background:0 0}.row{border-top:1px solid var(--line);grid-template-columns:minmax(140px,1fr) 3fr;gap:40px;padding:clamp(72px,14vh,150px) 0;display:grid}.label{font:400 14px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.label span{color:var(--accent);margin-bottom:6px;display:block}.about-text{font-family:var(--serif);max-width:26em;font-size:clamp(24px,2.8vw,36px);line-height:1.3}.projects{list-style:none}.project{border-top:1px solid var(--line);transition:padding-left .6s var(--ease);grid-template-columns:48px 1fr auto;align-items:baseline;gap:20px;padding:36px 0;display:grid}.project:first-child{border-top:0;padding-top:0}.project:hover{padding-left:14px}.p-num{color:var(--muted);font-size:14px}.p-body h3{font:400 clamp(32px, 5vw, 60px)/1.05 var(--serif);transition:color .5s var(--ease)}.project:hover h3,.project:hover h3 a{color:var(--accent)}.p-body p{color:var(--muted);max-width:32em;margin-top:12px}.p-body h3 a{transition:color .5s var(--ease)}.p-body h3 a span{color:var(--accent);font-size:.5em}.p-links{flex-wrap:wrap;gap:8px 24px;margin-top:20px;font-size:14px;list-style:none;display:flex}.p-links a{color:var(--muted);border-bottom:1px solid var(--line);transition:color .4s var(--ease), border-color .4s var(--ease)}.p-links a:hover{color:var(--accent);border-color:var(--accent)}.p-tag{color:var(--muted);letter-spacing:.06em;text-align:right;font-size:13px}.big{font-family:var(--serif);letter-spacing:-.02em;text-wrap:balance;max-width:12em;font-size:clamp(40px,7vw,96px);line-height:1.02}.contact-text{color:var(--muted);margin-top:28px}.mail{font-family:var(--serif);border-bottom:1px solid var(--line);transition:color .5s var(--ease), border-color .5s var(--ease);margin-top:36px;padding-bottom:4px;font-size:clamp(24px,3.4vw,40px);display:inline-block}.mail:hover{color:var(--accent);border-color:var(--accent)}.links{flex-wrap:wrap;gap:32px;margin-top:36px;list-style:none;display:flex}.links a{color:var(--muted);transition:color .4s var(--ease)}.links a:hover{color:var(--accent)}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-top:28px;padding-bottom:40px;font-size:14px;display:flex}.js [data-reveal]{opacity:0;transition:opacity 1.1s var(--ease), transform 1.1s var(--ease);transform:translateY(28px)}.js [data-reveal].in{opacity:1;transform:none}@media (width<=760px){.row{grid-template-columns:1fr;gap:24px}.project{grid-template-columns:32px 1fr}.p-tag{text-align:left;grid-column:2}.top nav a:not(.lang){display:none}.hero-foot{margin-top:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
