/* WEGA Studio — studio pages (index, privacy). Tech / corporate. */
:root{
  --navy-deep:#0b1530; --navy:#13214a; --red:#e0262e; --white:#f4f4f2; --grey:#9aa3b8;
  --ink:#0b1530; --ink-2:#3b4560;
  --line-d:rgba(244,244,242,.14); --line-l:rgba(11,21,48,.16);
  --red-hover:oklch(0.51 0.2 25.5);
  --f-display:"Space Grotesk",system-ui,sans-serif;
  --f-body:"Inter Tight",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,monospace;
  --wrap:1320px; --pad:40px; --gap:24px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font:400 17px/1.55 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:500;letter-spacing:-.02em;margin:0}
p{margin:0}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--white);color:var(--ink);padding:10px 14px;z-index:100}
.skip:focus{left:8px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.dark{background:var(--navy-deep);color:var(--white)}
.mid{background:var(--navy);color:var(--white)}

/* ---------- Header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:var(--navy-deep);color:var(--white);border-bottom:1px solid var(--line-d)}
.hdr .wrap{display:flex;align-items:center;height:64px;gap:32px}
.logo{display:block;flex:none}
.logo img{height:26px;width:auto}
.hdr-menu{display:flex;align-items:center;gap:32px;margin-left:auto}
.nav{display:flex;gap:28px}
.nav a{text-decoration:none;font-size:14px;font-weight:500;color:var(--white);padding:8px 0;border-bottom:1px solid transparent;transition:border-color .2s}
.nav a:hover{border-color:var(--white)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 20px;font:500 14px/1 var(--f-body);text-decoration:none;border:1px solid transparent;transition:background-color .2s,border-color .2s,color .2s}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-hover)}
.btn-line{border-color:currentColor}
.dark .btn-line:hover,.mid .btn-line:hover{background:var(--white);color:var(--navy-deep);border-color:var(--white)}
.btn .arr{font-family:var(--f-mono)}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line-d);color:var(--white);width:44px;height:44px;cursor:pointer}
.menu-btn span{display:block;width:18px;height:1px;background:currentColor;margin:5px auto}

/* ---------- Hero ---------- */
.hero{padding:88px 0 0}
.hero-meta{grid-column:1/-1;display:flex;gap:0;color:var(--grey);border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d);margin-bottom:64px}
.hero-meta span{padding:14px 24px 14px 0;margin-right:24px;border-right:1px solid var(--line-d)}
.hero-meta span:last-child{border-right:0}
.hero h1{grid-column:1/8;font-size:clamp(38px,4.7vw,74px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.hero h1 .past{color:var(--grey);display:block}
.hero h1 .now{display:block;margin-top:.3em}
.hero-fig{grid-column:9/13;align-self:end;margin:0}
.hero-fig .frame{border:1px solid var(--line-d);padding:8px;background:var(--navy)}
.hero-fig img{width:100%;aspect-ratio:1280/720}
.hero-fig figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:12px;color:var(--grey)}
.hero-foot{grid-column:1/-1;display:flex;align-items:center;gap:16px;margin-top:80px;padding:18px 0;border-top:1px solid var(--line-d);color:var(--grey)}
.hero-foot .rule{width:48px;height:2px;background:var(--red)}

/* ---------- Section frame ---------- */
.sec{padding:120px 0}
.sec-head{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:end;padding-bottom:20px;border-bottom:1px solid var(--line-l);margin-bottom:56px}
.dark .sec-head,.mid .sec-head{border-color:var(--line-d)}
.sec-head .idx{grid-column:1/3;color:var(--ink-2)}
.dark .sec-head .idx,.mid .sec-head .idx{color:var(--grey)}
.sec-head h2{grid-column:3/10;font-size:clamp(30px,3.4vw,52px);line-height:1.05}
.sec-head .note{grid-column:10/13;color:var(--ink-2);font-size:15px;text-align:right}
.dark .sec-head .note,.mid .sec-head .note{color:var(--grey)}

/* ---------- 2021 -> 2026 report ---------- */
.cmp{grid-column:1/-1;display:grid;grid-template-columns:subgrid}
.cmp-col{grid-column:span 6;display:flex;flex-direction:column}
.cmp-col + .cmp-col{border-left:1px solid var(--line-l);padding-left:var(--gap)}
.cmp-col:first-child{padding-right:var(--gap)}
.cmp-year{font:500 clamp(64px,8vw,128px)/.9 var(--f-display);letter-spacing:-.05em;margin-bottom:28px}
.cmp-col:first-child .cmp-year{color:oklch(0.58 0.03 265)}
.cmp-year .dot{color:var(--red)}
.cmp-col img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(.15)}
.cmp-col figure{margin:0 0 8px}
.cmp-col figcaption{padding-top:10px;color:var(--ink-2)}
.rows{list-style:none;margin:24px 0 0;padding:0;border-top:2px solid var(--ink)}
.rows li{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-l);align-items:baseline}
.rows li .k{color:var(--ink-2)}
.rows li .v{font:500 20px/1.3 var(--f-display)}
.cmp-sum{margin-top:24px;font-size:17px;color:var(--ink-2);max-width:44ch}

/* ---------- Now making ---------- */
.now-fig{grid-column:1/9;margin:0}
.now-fig img{width:100%;aspect-ratio:1280/720}
.now-fig figcaption{padding-top:12px;color:var(--grey)}
.now-body{grid-column:9/13;display:flex;flex-direction:column}
.now-body h3{font-size:clamp(28px,2.6vw,40px);line-height:1.05;margin-bottom:20px}
.now-body .pitch{color:var(--white);font-size:18px;line-height:1.55;margin-bottom:28px}
.spec{list-style:none;margin:0 0 32px;padding:0;border-top:1px solid var(--line-d)}
.spec li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line-d);font-size:15px}
.spec li .k{color:var(--grey)}
.spec li .v{text-align:right}
.now-body .btn{align-self:flex-start;margin-top:auto}

/* ---------- How we work ---------- */
.steps{grid-column:1/-1;display:grid;grid-template-columns:subgrid;list-style:none;margin:0;padding:0}
.step{grid-column:span 4;border-top:2px solid var(--ink);padding:24px var(--gap) 0 0}
.step .n{display:block;font:500 15px/1 var(--f-mono);color:var(--ink);margin-bottom:56px}
.step h3{font-size:clamp(24px,2.1vw,32px);line-height:1.12;margin-bottom:16px;max-width:16ch}
.step p{color:var(--ink-2);max-width:34ch}

/* ---------- Selected work ---------- */
.work{grid-column:1/-1;display:flex;flex-direction:column;gap:var(--gap)}
.work-row{display:flex;gap:var(--gap);align-items:flex-start}
.tile{flex:var(--r) 1 0;min-width:0;margin:0}
.tile button{display:block;width:100%;padding:0;border:0;background:var(--navy);cursor:zoom-in;position:relative}
.tile img{width:100%;aspect-ratio:var(--r);object-fit:cover;transition:opacity .25s}
.tile button:hover img{opacity:.86}
.tile figcaption{display:flex;gap:12px;padding-top:10px;font-size:14px;color:var(--ink-2)}
.tile figcaption .mono{color:var(--ink);flex:none;padding-top:2px}

/* ---------- Contact ---------- */
.contact-l{grid-column:1/8}
.contact-l .mono{color:var(--grey);display:block;margin-bottom:20px}
.mail{font:500 clamp(30px,4.6vw,72px)/1.05 var(--f-display);letter-spacing:-.03em;text-decoration:none;border-bottom:2px solid var(--red);overflow-wrap:anywhere;transition:color .2s}
.mail:hover{color:#fff;border-color:#fff}
.contact-r{grid-column:9/13;align-self:end}
.social{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-d)}
.social a{display:flex;justify-content:space-between;align-items:center;min-height:52px;text-decoration:none;border-bottom:1px solid var(--line-d);font-weight:500;transition:padding .2s,background-color .2s}
.social a:hover{background:var(--navy);padding:0 12px}
.social .arr{font-family:var(--f-mono);color:var(--grey)}

/* ---------- Footer ---------- */
.ftr{background:var(--navy-deep);color:var(--grey);border-top:1px solid var(--line-d);padding:48px 0 32px;font-size:14px}
.ftr .grid{row-gap:28px;align-items:start}
.ftr-brand{grid-column:1/5;display:flex;align-items:center;gap:16px;color:var(--white)}
.ftr-brand img{height:20px;width:auto}
.ftr-links{grid-column:5/10;display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;margin:0;padding:0}
.ftr a{text-decoration:none;color:var(--white)}
.ftr a:hover{text-decoration:underline;text-underline-offset:4px}
.ftr-mail{grid-column:10/13;text-align:right}
.ftr-base{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid var(--line-d)}
.ftr-base ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}

/* ---------- Lightbox ---------- */
.lb{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100vw;height:100vh;background:rgba(11,21,48,.96);color:var(--white)}
.lb::backdrop{background:rgba(11,21,48,.6)}
.lb-in{height:100%;display:grid;grid-template-rows:56px 1fr auto;padding:0 var(--pad)}
.lb-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-d)}
.lb-stage{display:flex;align-items:center;justify-content:center;min-height:0;padding:24px 0}
.lb-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.lb-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0 24px;border-top:1px solid var(--line-d)}
.lb-nav{display:flex;gap:8px}
.lb button{background:none;color:var(--white);border:1px solid var(--line-d);min-width:44px;height:44px;padding:0 14px;font:500 13px var(--f-mono);cursor:pointer;transition:background-color .2s,color .2s}
.lb button:hover{background:var(--white);color:var(--navy-deep)}

/* ---------- Reveal ---------- */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}*{transition:none!important}}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  :root{--pad:32px;--gap:20px}
  .hero h1{grid-column:1/-1}
  .hero-fig{grid-column:1/-1;margin-top:48px;max-width:640px}
  .now-fig{grid-column:1/-1}
  .now-body{grid-column:1/-1;margin-top:40px;max-width:640px}
  .sec-head h2{grid-column:3/-1}
  .sec-head .note{grid-column:3/-1;text-align:left;margin-top:12px}
  .contact-l,.contact-r{grid-column:1/-1}
  .contact-r{margin-top:48px}
  .ftr-brand{grid-column:1/-1}
  .ftr-links{grid-column:1/9}
  .ftr-mail{grid-column:9/13}
}
@media (max-width:820px){
  .hdr-menu{display:none}
  .menu-btn{display:block}
  .hdr.open .hdr-menu{display:flex;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:24px;background:var(--navy-deep);border-bottom:1px solid var(--line-d);padding:8px var(--pad) 28px}
  .hdr.open .nav{flex-direction:column;gap:0}
  .hdr.open .nav a{padding:14px 0;border-bottom:1px solid var(--line-d);font-size:16px}
  .cmp-col{grid-column:1/-1}
  .cmp-col + .cmp-col{border-left:0;padding-left:0;margin-top:64px;padding-top:40px;border-top:1px solid var(--line-l)}
  .cmp-col:first-child{padding-right:0}
  .step{grid-column:1/-1;padding-right:0;margin-bottom:48px}
  .step .n{margin-bottom:24px}
  .step h3,.step p{max-width:none}
  .work-row{flex-direction:column}
  .tile{flex:none;width:100%}
}
@media (max-width:560px){
  :root{--pad:20px;--gap:16px}
  body{font-size:16px}
  .hero{padding-top:40px}
  .hero-meta{flex-wrap:wrap;margin-bottom:40px}
  .hero-meta span{padding:10px 14px 10px 0;margin-right:14px}
  .hero h1{font-size:clamp(34px,9.4vw,44px)}
  .hero-foot{margin-top:48px}
  .sec{padding:80px 0}
  .sec-head{margin-bottom:40px}
  .sec-head .idx{grid-column:1/-1;margin-bottom:12px}
  .sec-head h2,.sec-head .note{grid-column:1/-1}
  .rows li{grid-template-columns:110px 1fr}
  .rows li .v{font-size:18px}
  .ftr-links,.ftr-mail{grid-column:1/-1;text-align:left}
  .lb-foot{flex-direction:column;align-items:flex-start}
}
