@font-face{font-family:Fraunces;src:url(../assets/fonts/fraunces.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url(../assets/fonts/fraunces-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:Manrope;src:url(../assets/fonts/manrope.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{--ink:#0b0a10;--line:rgba(255,255,255,.1);--tx:#ece9f2;--mu:#a9a4b8;--rose:#ff7b8f;--vio:#8d7cff;--mx:50vw;--my:30vh;--pad:clamp(1.25rem,4vw,4rem);--serif:Fraunces,Georgia,serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--ink)}
body{color:var(--tx);font:400 1.0625rem/1.65 Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}ul{list-style:none}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip{position:fixed;left:1rem;top:-4rem;z-index:20;background:var(--rose);color:var(--ink);padding:.6rem 1rem;border-radius:8px}
.skip:focus{top:1rem}
.light{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(520px circle at var(--mx) var(--my),rgba(141,124,255,.17),transparent 70%),radial-gradient(900px circle at 88% -10%,rgba(255,123,143,.13),transparent 60%)}
.light::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;-webkit-mask:radial-gradient(360px circle at var(--mx) var(--my),#000,transparent 75%);mask:radial-gradient(360px circle at var(--mx) var(--my),#000,transparent 75%)}
main,.foot{position:relative;z-index:1;padding-inline:var(--pad)}
.glass{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:22px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.bar{position:fixed;inset:0 0 auto;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:1rem var(--pad);font-size:.92rem}
.bar nav{display:flex;gap:clamp(.9rem,3vw,2rem)}
.bar a{text-decoration:none;color:var(--mu);transition:color .2s}.bar a:hover,.bar .logo{color:var(--tx)}
.logo{font-family:var(--serif);font-style:italic;font-size:1.1rem}
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(2rem,6vw,4.5rem);padding-block:7rem 3.5rem}
h1{font:600 clamp(3.1rem,12.5vw,11rem)/.92 var(--serif);letter-spacing:-.035em}
.ln{display:block;overflow:hidden;padding-bottom:.1em}.ln>span{display:block}
.ln:last-child{font-style:italic;font-weight:300;padding-left:clamp(0rem,8vw,7rem)}
.hero-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem}
.lede{max-width:36ch;font-size:1.2rem;color:var(--mu)}
.btns{display:flex;flex-wrap:wrap;gap:.8rem}
.btn{display:inline-block;padding:.9rem 1.5rem;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-decoration:none;font-weight:600;transition:background .25s,border-color .25s}
.btn:hover{border-color:var(--rose)}.btn.pri{background:var(--rose);color:var(--ink);border-color:var(--rose)}
.sec{padding-block:clamp(4.5rem,11vw,9rem)}
h2{font:500 clamp(2.2rem,6vw,4.5rem)/1 var(--serif);letter-spacing:-.025em;margin-bottom:clamp(2rem,5vw,3.5rem)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem 1.5rem}
.stmt{grid-column:1/8;font:400 clamp(1.8rem,4vw,3.3rem)/1.18 var(--serif);letter-spacing:-.015em}
.txt{grid-column:9/13;display:grid;gap:1.1rem;color:var(--mu);align-content:start;padding-top:.5rem}
.av{width:96px;height:96px;border-radius:50%;object-fit:cover;border:1px solid var(--line);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.av:hover{transform:rotate(-8deg) scale(1.06)}
.plist{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem}
.card{grid-column:span 6;display:flex;flex-direction:column;overflow:hidden}
.card.big{grid-column:span 8}.card.sm{grid-column:span 4}
.pv{position:relative;aspect-ratio:16/9;overflow:hidden;display:grid;place-items:center;border-bottom:1px solid var(--line);background:radial-gradient(120% 120% at 20% 0%,rgba(141,124,255,.22),transparent 60%),radial-gradient(100% 100% at 100% 100%,rgba(255,123,143,.2),transparent 55%)}
.mark{font:300 italic clamp(4rem,11vw,8.5rem)/1 var(--serif);letter-spacing:-.04em;color:rgba(236,233,242,.92)}
.pages{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;flex-wrap:wrap;gap:.4rem}
.pages li{font-size:.78rem;padding:.2rem .65rem;border-radius:999px;border:1px solid var(--line);background:rgba(11,10,16,.55);color:var(--mu)}
.cb{display:grid;gap:.8rem;padding:1.5rem 1.6rem 1.7rem;align-content:start;flex:1}
.cb h3{font:500 clamp(1.4rem,2.4vw,1.9rem)/1.15 var(--serif)}
.cb p{color:var(--mu)}.cb .role{color:var(--rose);font-size:.92rem;font-weight:600}
.tags{display:flex;flex-wrap:wrap;gap:.4rem}.tags li{font-size:.82rem;padding:.2rem .7rem;border-radius:8px;background:rgba(255,255,255,.06)}
.links{display:flex;gap:1.4rem;margin-top:.4rem}
.lk{font-weight:600;text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:.35em;text-decoration-thickness:2px}
.soon{color:var(--mu);font-size:.92rem}
.stack{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.stack article{padding:1.8rem}
.stack h3{font:500 1.5rem/1.2 var(--serif);margin-bottom:1rem}
.stack li{padding:.55rem 0;border-top:1px solid var(--line);color:var(--mu)}
.contacts{border-top:1px solid var(--line)}
.cl{all:unset;box-sizing:border-box;cursor:pointer;display:flex;width:100%;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--line);font:400 clamp(2.2rem,7vw,5.5rem)/1 var(--serif);letter-spacing:-.025em;transition:padding .35s cubic-bezier(.2,.8,.2,1),color .25s}
.cl small{font:400 1rem/1.4 Manrope,sans-serif;color:var(--mu);letter-spacing:0}
.cl:hover{padding-left:1.2rem;color:var(--rose)}.cl:focus-visible{outline:2px solid var(--rose);outline-offset:4px}
.foot{padding-block:2rem 3rem;color:var(--mu);font-size:.9rem}
.toast{position:fixed;left:50%;bottom:1.5rem;z-index:30;transform:translate(-50%,2rem);opacity:0;pointer-events:none;padding:.7rem 1.2rem;border-radius:999px;background:var(--tx);color:var(--ink);font-weight:600;font-size:.92rem;transition:opacity .3s,transform .3s}
.toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:860px){
  .stmt,.txt{grid-column:1/-1}
  .card,.card.big,.card.sm{grid-column:1/-1}
  .stack{grid-template-columns:1fr}
  .cl{flex-direction:column;gap:.4rem}
  .bar nav a:nth-child(3){display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.pv.has-shot{background:var(--ink)}
.pv.tall{aspect-ratio:4/5}
