
:root{--bg:#000;--ink:#fff;--mute:#8c88a6;--line:#1f1d2b;--hot:#9483f4;--lime:#fff;
--d:'Archivo',Impact,sans-serif;--b:'Inter',system-ui,sans-serif;--m:'Space Mono',monospace;--pad:clamp(20px,4vw,56px)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--b);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
::selection{background:var(--hot);color:#000}
nav{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);mix-blend-mode:difference;color:#fff;font:500 14px var(--m);text-transform:uppercase;letter-spacing:.04em}
nav .logo{font:900 18px var(--d);letter-spacing:-.02em;text-transform:none}
nav ul{display:flex;gap:clamp(14px,2.4vw,32px);list-style:none}
@media(hover:hover){nav a:hover{opacity:.55}}
.intro{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:110px var(--pad) 70px}
.intro h1{font:700 clamp(34px,7.2vw,112px)/1.12 'Syne',var(--d);letter-spacing:-.02em;color:var(--hot)}
.intro h1 .w{color:#fff;display:inline-block;transition:transform .28s cubic-bezier(.6,0,.2,1),opacity .28s}
.intro h1 .w.out{transform:translateY(55%);opacity:0}.intro h1 .w.pre{transform:translateY(-55%);opacity:0;transition:none}
.intro p{margin-top:34px;max-width:480px;color:var(--mute);font-size:16px}
.intro a.dn{margin-top:40px;font:12px var(--m);text-transform:uppercase;letter-spacing:.1em;color:var(--hot)}
.label{font:12px var(--m);text-transform:uppercase;letter-spacing:.1em;color:var(--mute);padding:0 var(--pad) 14px}
/* work list */
.list{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:70px 1fr auto;align-items:baseline;gap:16px;padding:clamp(18px,2.6vw,34px) var(--pad);border-bottom:1px solid var(--line);cursor:pointer;transition:background .2s,color .2s;width:100%;background:none;color:inherit;border-left:0;border-right:0;border-top:0;text-align:left;font:inherit}
.row .n{font:13px var(--m);color:var(--mute)}
.row h3{font:900 clamp(30px,6vw,92px)/1 var(--d);letter-spacing:-.035em;text-transform:uppercase}
.row .t{font:12px var(--m);text-transform:uppercase;color:var(--mute);text-align:right}
.row img{display:none}
@media(hover:hover){.row:hover{background:var(--hot);color:#000}.row:hover .n,.row:hover .t{color:#000}}
#peek{position:fixed;z-index:15;width:340px;aspect-ratio:16/9;object-fit:cover;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.9) rotate(-2deg);transition:opacity .15s,transform .2s;border:2px solid #000}
#peek.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-2deg)}
@media(hover:none),(max-width:760px){#peek{display:none}.row{grid-template-columns:1fr 110px}.row .n{display:none}.row .t{grid-column:1}.row .t{text-align:left}.row img{display:block;grid-column:2;grid-row:1/3;width:110px;aspect-ratio:16/9;object-fit:cover}}
/* sections */
section{padding:clamp(70px,10vw,140px) var(--pad)}
h2{font:900 clamp(34px,6vw,84px)/.95 var(--d);letter-spacing:-.04em;text-transform:uppercase;margin-bottom:40px}
.about{display:grid;grid-template-columns:minmax(220px,.8fr) 1.4fr;gap:clamp(28px,6vw,90px);align-items:start}
.about img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.1)}
.about p{margin-bottom:18px;max-width:560px}.about p b{font-weight:500;color:var(--lime)}
.tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.tools span{font:12px var(--m);text-transform:uppercase;border:1px solid var(--line);padding:7px 12px}
@media(max-width:760px){.about{grid-template-columns:1fr}.about img{max-width:320px}}
details{border-top:1px solid var(--line);padding:22px 0}details:last-of-type{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;font:800 clamp(18px,2.2vw,26px)/1.2 var(--d);display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}summary::after{content:"+";font:400 26px var(--m);color:var(--hot)}details[open] summary::after{content:"–"}
details p{margin-top:14px;max-width:680px;color:var(--mute)}
.faq{max-width:1000px}
.contact{text-align:left;background:var(--hot);color:#000}
.contact h2{margin-bottom:24px}
.contact a.mail{display:inline-block;font:900 clamp(22px,4.6vw,64px)/1.1 var(--d);letter-spacing:-.03em;border-bottom:4px solid #000;word-break:break-all}
.contact a.mail:hover{background:#000;color:var(--hot)}
.contact p{margin-top:22px;font:13px var(--m);text-transform:uppercase}
footer{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;padding:26px var(--pad);font:12px var(--m);text-transform:uppercase;color:var(--mute)}
footer a:hover{color:var(--ink)}footer div{display:flex;gap:22px;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.page{padding:130px var(--pad) 60px;animation:in .5s both}.intro{animation:in .6s both}
@keyframes in{from{opacity:0;transform:translateY(14px)}}
nav a.on{border-bottom:2px solid currentColor}
.proj h1{font:900 clamp(38px,8vw,120px)/.95 var(--d);letter-spacing:-.04em;text-transform:uppercase;margin-bottom:14px}
.proj .t{font:13px var(--m);text-transform:uppercase;color:var(--hot);margin-bottom:40px}
.vid{aspect-ratio:16/9;width:100%;max-width:1300px;background:#0a0a12}.vid iframe{width:100%;height:100%;border:0}
.pn{display:flex;justify-content:space-between;gap:20px;margin-top:70px;padding-top:24px;border-top:1px solid var(--line);font:900 clamp(18px,3vw,40px)/1.1 var(--d);text-transform:uppercase;letter-spacing:-.03em}
.pn a:hover{color:var(--hot)}.pn small{display:block;font:12px var(--m);color:var(--mute);letter-spacing:0;margin-bottom:6px}
.contact{min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.contact .soc{display:flex;gap:24px;flex-wrap:wrap;margin-top:40px;font:14px var(--m);text-transform:uppercase}.contact .soc a:hover{text-decoration:underline}
.about{padding-top:130px;animation:in .5s both}

.row{grid-template-columns:1fr!important;gap:6px!important}.row .n{display:none}
.row .t{text-align:left!important;font:13px var(--m)}
@media(max-width:760px){.row{grid-template-columns:1fr 110px!important}.row h3{grid-column:1}.row .t{grid-column:1}.row img{grid-row:1/3!important;grid-column:2}}
.meta{display:grid;grid-template-columns:auto 1fr;gap:6px 24px;margin:0 0 36px;font:13px var(--m);text-transform:uppercase}.meta dt{color:var(--mute)}.meta dd{color:#fff}
.vid video{width:100%;height:100%;background:#000;display:block}
.vid.wide{max-width:none}
.soon{display:grid;place-items:center;height:100%;font:13px var(--m);text-transform:uppercase;color:var(--mute)}
.ac{padding-top:130px;animation:in .5s both}.ac .about{padding:0 var(--pad) 40px}
.ac .mail{display:inline-block;font:900 clamp(20px,4vw,54px)/1.1 var(--d);letter-spacing:-.03em;color:var(--hot);border-bottom:3px solid var(--hot);word-break:break-all;margin:10px 0 24px}
.ac .mail:hover{background:var(--hot);color:#000}
.ac .soc{display:flex;gap:22px;flex-wrap:wrap;font:13px var(--m);text-transform:uppercase;margin-bottom:8px}.ac .soc a:hover{color:var(--hot)}
.ac .faq{padding-top:20px}

/* ===== RESPONSIVE ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
img,video,iframe{max-width:100%}
nav{padding-top:max(18px,env(safe-area-inset-top));padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}
footer{padding-bottom:max(26px,env(safe-area-inset-bottom))}
.intro{min-height:100vh;min-height:100svh}
.intro h1{text-wrap:balance}
.row h3,.proj h1,h2{overflow-wrap:break-word;min-width:0}
nav ul a{display:inline-block;padding:8px 0}
summary{padding:4px 0}
.burger{display:none}
@media(min-width:1800px){body{font-size:19px}.list,.ac,.proj,.faq{max-width:1900px;margin-inline:auto}}
@media(max-width:1024px){.about{gap:40px}.pn{margin-top:50px}}
@media(max-width:760px){
  nav{mix-blend-mode:normal;background:rgba(0,0,0,.96);padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px}
  .burger{display:block;position:relative;width:44px;height:44px;background:none;border:0;cursor:pointer;z-index:31}
  .burger span{position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:transform .25s,top .25s}
  .burger span:first-child{top:17px}.burger span:last-child{top:25px}
  .burger[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}
  .burger[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}
  nav ul{position:fixed;inset:0;z-index:30;background:#000;flex-direction:column;justify-content:center;gap:6px;padding:0 var(--pad);visibility:hidden;opacity:0;transition:opacity .25s,visibility .25s}
  nav ul.open{visibility:visible;opacity:1}
  nav ul a{font:900 clamp(36px,12vw,64px)/1.15 var(--d);text-transform:uppercase;letter-spacing:-.03em;padding:6px 0}
  nav a.on{border-bottom:0;color:var(--hot)}
  nav .logo{position:relative;z-index:31}
  body.menu{overflow:hidden}
  .intro{padding-top:96px}.intro p{margin-top:24px}
  .page,.ac{padding-top:96px}.about{padding-top:96px}.ac .about{padding-top:0}
  .about img{max-width:100%;aspect-ratio:1/1}
  .meta{margin-bottom:24px}
  .pn{flex-direction:column}.pn a:last-child{text-align:left!important}
  section{padding-block:56px}
  h2{margin-bottom:28px}
}
@media(max-width:380px){body{font-size:16px}.row{grid-template-columns:1fr 84px!important}.row img{width:84px!important}.row h3{font-size:26px}.tools span{font-size:11px;padding:6px 9px}}
@media(max-height:480px) and (orientation:landscape){.intro{min-height:0;padding-block:90px 50px}.vid{max-height:calc(100vh - 110px);width:auto;aspect-ratio:16/9;margin-inline:auto 0}}


/* ── QUICK BRIEF (contact section) ── */
.reach{padding:70px var(--pad) clamp(70px,10vw,120px);max-width:1900px;margin-inline:auto}
.reach h2{font:800 clamp(34px,6vw,84px)/1 var(--d);text-transform:uppercase;margin-bottom:22px}
.reach>p{color:var(--mute);max-width:560px;margin-bottom:30px}
.reach>p a{color:var(--ink);border-bottom:1px solid var(--hot)}
#qb-panel{width:100%;max-width:520px;background:#0d0c14;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.qb-h{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px 16px;border-bottom:1px solid var(--line)}
.qb-t{font:800 21px/1.1 var(--d);letter-spacing:-.02em;color:var(--ink)}
.qb-s{font:10px var(--m);letter-spacing:.12em;text-transform:uppercase;color:var(--hot);margin-top:5px}
.qb-x{background:#1f1d2b;border:0;color:var(--mute);width:30px;height:30px;border-radius:50%;font-size:15px;cursor:pointer;flex-shrink:0}
.qb-x:hover{color:#fff}
.qb-b{padding:20px;display:flex;flex-direction:column;gap:14px}
.qb-b label{display:block;font:10px var(--m);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.qb-b input,.qb-b textarea{width:100%;background:#000;border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;font:16px var(--b);color:var(--ink);outline:0;resize:none;transition:border-color .2s}
.qb-b input:focus,.qb-b textarea:focus{border-color:var(--hot)}
.qb-b textarea{height:80px}
.qb-c{display:flex;flex-wrap:wrap;gap:6px}
.qb-c span{border:1.5px solid var(--line);border-radius:100px;padding:6px 13px;font:10px var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);cursor:pointer;transition:.18s}
.qb-c span.on{border-color:var(--hot);color:var(--hot);background:rgba(148,131,244,.1)}
.qb-go{width:100%;padding:14px;background:var(--hot);color:#000;border:0;border-radius:12px;font:700 14px var(--b);cursor:pointer}
.qb-go:hover{background:#fff}.qb-go:disabled{opacity:.6}
.qb-ok{display:none;padding:34px 20px;text-align:center}
.qb-ok.show{display:block}
.qb-ok b{display:block;font:800 22px var(--d);color:var(--ink);margin:8px 0}
.qb-ok p{color:var(--mute);font-size:14px;line-height:1.6}
.qb-ok .st{font-size:34px;color:var(--hot)}

.toolbar{padding:70px var(--pad) 30px;max-width:1900px;margin-inline:auto}.toolbar .label{padding:0 0 14px}.toolbar .tools{margin-top:0}

/* ── MINIMAL CREATIVE TOUCHES ── */
.mq{overflow:hidden;border-block:1px solid var(--line);padding:16px 0;margin:0 0 56px;white-space:nowrap}
.mq div{display:inline-flex;gap:36px;padding-right:36px;animation:mq 32s linear infinite;font:800 clamp(20px,3.4vw,38px)/1 var(--d);text-transform:uppercase;color:#3b3852}
.mq span:nth-child(even){color:var(--hot)}
@keyframes mq{to{transform:translateX(-50%)}}
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media(hover:hover){.row h3{transition:transform .3s ease,color .3s}.row:hover h3{transform:translateX(14px)}}
#cur{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:1.5px solid var(--hot);border-radius:50%;pointer-events:none;z-index:999;opacity:0;transition:width .25s,height .25s,margin .25s,background .25s,opacity .3s}
#cur.on{opacity:1}
#cur.big{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(148,131,244,.18)}
@media(prefers-reduced-motion:reduce){.mq div{animation:none}.rv{opacity:1;transform:none;transition:none}#cur{display:none}}

/* ── LIGHT / DARK THEME ── */
:root[data-theme=light]{--bg:#f7f6f2;--ink:#0d0c14;--mute:#6f6c84;--line:#dedbe9;--hot:#6a54e6;--lime:#0d0c14;color-scheme:light}
[data-theme=light] ::selection{color:#fff}
[data-theme=light] .intro h1 .w{color:var(--ink)}
[data-theme=light] .meta dd{color:var(--ink)}
@media(hover:hover){[data-theme=light] .row:hover,[data-theme=light] .row:hover .n,[data-theme=light] .row:hover .t{color:#fff}}
[data-theme=light] .ac .mail:hover{color:#fff}
[data-theme=light] #qb-panel{background:#fff}
[data-theme=light] .qb-b input,[data-theme=light] .qb-b textarea{background:var(--bg)}
[data-theme=light] .qb-go{color:#fff}[data-theme=light] .qb-go:hover{background:var(--ink)}
[data-theme=light] .qb-x{background:var(--line)}[data-theme=light] .qb-x:hover{color:var(--ink)}
[data-theme=light] .qb-c span.on{background:rgba(106,84,230,.1)}
[data-theme=light] .mq div{color:#cbc7dc}
[data-theme=light] .mq span:nth-child(even){color:var(--hot)}
nav ul{margin-left:auto}
.theme{margin-left:clamp(14px,2.4vw,32px);width:40px;height:40px;border:1px solid currentColor;border-radius:50%;background:none;color:inherit;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:transform .3s}
.theme:hover{transform:rotate(20deg)}
.theme svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
@media(max-width:760px){
.theme{order:2;margin-left:auto;margin-right:4px;z-index:31}.burger{order:3}
[data-theme=light] nav{background:rgba(247,246,242,.96);color:var(--ink)}
[data-theme=light] nav ul{background:var(--bg)}
[data-theme=light] .burger span{background:var(--ink)}
}
