/* ─── Shared base + 3 directions: cinema, silent, grid ─────────────── */
:root{
  --accent:#e6a35a;
  --speed:1;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{margin:0;padding:0;background:#0a0a0a;color:#f2efe8;font-family:"Inter Tight",ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
button{font:inherit;color:inherit;background:none;border:0;cursor:default}
::selection{background:var(--accent);color:#0a0a0a}

/* GRAIN (toggleable) */
body[data-grain="true"]::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.07;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.9'/></svg>");
  mix-blend-mode:overlay;
}

/* CURSOR */
.cursor{position:fixed;width:12px;height:12px;border-radius:50%;background:var(--accent);pointer-events:none;z-index:9999;mix-blend-mode:difference;transition:width .2s,height .2s,opacity .2s;transform:translate(-50%,-50%)}

/* CURSOR — punto sólido con estela suave */
.ela-cur{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;will-change:transform;transition:opacity .2s;border-radius:50%}
.ela-cur.is-hidden{opacity:0}

.ela-cur-main{
  width:var(--cursor-size,10px);
  height:var(--cursor-size,10px);
  margin-left:calc(var(--cursor-size,10px) / -2);
  margin-top:calc(var(--cursor-size,10px) / -2);
  background:var(--cursor-color,#e6a35a);
  opacity:var(--cursor-opacity,1);
  box-shadow:0 0 var(--cursor-blur,12px) color-mix(in srgb, var(--cursor-color,#e6a35a) 55%, transparent);
  transition:width .25s cubic-bezier(.2,.7,.2,1),height .25s cubic-bezier(.2,.7,.2,1),margin .25s cubic-bezier(.2,.7,.2,1),background .2s,opacity .2s,box-shadow .2s;
}
.ela-cur-main.hover{
  width:calc(var(--cursor-size,10px) * 2);
  height:calc(var(--cursor-size,10px) * 2);
  margin-left:calc(var(--cursor-size,10px) * -1);
  margin-top:calc(var(--cursor-size,10px) * -1);
}

.ela-cur-echo{
  background:var(--cursor-color,#e6a35a);
  opacity:var(--cursor-opacity,1);
}
.ela-cur-echo[data-i="0"]{
  width:calc(var(--cursor-size,10px) * 0.75);
  height:calc(var(--cursor-size,10px) * 0.75);
  margin-left:calc(var(--cursor-size,10px) * -0.375);
  margin-top:calc(var(--cursor-size,10px) * -0.375);
  opacity:calc(var(--cursor-opacity,1) * 0.55);
}
.ela-cur-echo[data-i="1"]{
  width:calc(var(--cursor-size,10px) * 0.55);
  height:calc(var(--cursor-size,10px) * 0.55);
  margin-left:calc(var(--cursor-size,10px) * -0.275);
  margin-top:calc(var(--cursor-size,10px) * -0.275);
  opacity:calc(var(--cursor-opacity,1) * 0.32);
}
.ela-cur-echo[data-i="2"]{
  width:calc(var(--cursor-size,10px) * 0.4);
  height:calc(var(--cursor-size,10px) * 0.4);
  margin-left:calc(var(--cursor-size,10px) * -0.2);
  margin-top:calc(var(--cursor-size,10px) * -0.2);
  opacity:calc(var(--cursor-opacity,1) * 0.16);
}

/* hide system cursor only when a custom cursor is actually mounted */
body.has-ela-cur,
body.has-ela-cur a,
body.has-ela-cur button,
body.has-ela-cur input,
body.has-ela-cur textarea{cursor:none}

/* ─── DIRECTION 1: CINEMA ───────────────────────────────────────── */
.cinema{
  --bg:#0a0a0a;--bg-2:#121210;--ink:#f2efe8;--dim:#9a9690;--faint:#55524c;
  --line:rgba(242,239,232,.14);--line-strong:rgba(242,239,232,.3);
  --serif:"PP Editorial New","Instrument Serif",serif;
  --sans:"Inter Tight",ui-sans-serif,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  background:var(--bg);color:var(--ink);font-family:var(--sans);
}
.cinema *::selection{background:var(--accent);color:#0a0a0a}

.ci-hero{position:relative;height:100vh;min-height:760px;overflow:hidden;border-bottom:1px solid var(--line)}
.ci-slides{position:absolute;inset:0}
.ci-slide{position:absolute;inset:0;opacity:0;transition:opacity calc(1.4s / var(--speed)) ease}
.ci-slide.on{opacity:1;z-index:1}
.ci-img{position:absolute;inset:0;animation:ken calc(14s / var(--speed)) ease-in-out infinite alternate;will-change:transform}
.ci-img img{filter:brightness(.55) contrast(1.1) saturate(.8)}
@keyframes ken{0%{transform:scale(1.08) translate(0,0)}100%{transform:scale(1.22) translate(-2%,-1%)}}
.ci-veil{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.1) 35%,rgba(10,10,10,.2) 60%,rgba(10,10,10,.95) 100%)}

.ci-nav{position:absolute;top:0;left:0;right:0;z-index:10;padding:22px 110px 22px 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;mix-blend-mode:difference;color:#fff}
.ci-wm{font-family:var(--mono);font-size:12px;letter-spacing:.18em;line-height:1;text-transform:uppercase;font-weight:500;display:inline-flex;align-items:center;gap:0}
.ci-wm i{font-style:italic;color:var(--accent)}
.ci-wm .ci-slash{color:var(--accent);margin-left:.35em;font-weight:400}
.ci-wm .ci-hex{width:11px;height:12px;margin-left:.45em;color:var(--accent);display:inline-block;vertical-align:middle;flex:none}
.ci-menu{display:flex;gap:24px;justify-self:center;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.ci-menu a{transition:color .2s}.ci-menu a:hover{color:var(--accent)}
.ci-cta{justify-self:end;display:inline-flex;gap:8px;align-items:center;padding:7px 14px;border:1px solid rgba(255,255,255,.4);border-radius:999px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.ci-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

.ci-progress{position:absolute;top:88px;left:28px;right:28px;display:flex;gap:6px;z-index:8}
.ci-bar{flex:1;height:1.5px;background:rgba(255,255,255,.18);overflow:hidden}
.ci-bar i{display:block;height:100%;background:var(--accent);width:0}
.ci-bar.done i{width:100%}
.ci-bar.active i{animation:fill linear forwards;animation-duration:inherit}
@keyframes fill{from{width:0}to{width:100%}}

.ci-ui{position:absolute;inset:0;z-index:5;padding:120px 28px 30px;display:flex;flex-direction:column;justify-content:space-between}
.ci-kicker{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.78)}
.ci-pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:pulse 2s infinite}
.ci-sep{color:rgba(255,255,255,.4)}

.ci-title{margin-top:auto;margin-bottom:18px;font-family:var(--serif);font-weight:400;font-size:clamp(80px,13vw,220px);line-height:.86;letter-spacing:-.04em;color:#fff}
.ci-title .ci-row{display:block}
.ci-title em{font-style:italic;color:var(--accent)}
.ci-title sup{font-size:.32em;vertical-align:.7em;color:var(--accent);font-style:normal}
.ci-lede{font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.6vw,22px);line-height:1.4;color:rgba(255,255,255,.82);max-width:560px}

.ci-bot{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);margin-top:32px}
.ci-now{display:flex;gap:14px;align-items:center;color:#fff;min-width:0}
.ci-now-card{width:72px;aspect-ratio:3/4;background:#222;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}
.ci-now-k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px;display:flex;gap:8px;align-items:center}
.ci-tri{width:0;height:0;border-left:7px solid var(--accent);border-top:4px solid transparent;border-bottom:4px solid transparent}
.ci-now-t{font-family:var(--serif);font-size:28px;line-height:1;letter-spacing:-.01em;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}
.ci-now-d{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.65);margin-top:6px;display:flex;gap:14px;flex-wrap:wrap}

.ci-controls{display:flex;gap:8px;justify-self:center}
.ci-controls button{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:13px;transition:background .2s,color .2s}
.ci-controls button:hover{background:var(--accent);color:#0a0a0a;border-color:var(--accent)}
.ci-controls .ci-play{width:54px;height:54px;font-size:11px}

.ci-ix{justify-self:end}
.ci-scroll{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);writing-mode:vertical-rl;animation:bounce 2.4s ease infinite}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

.ci-ticker{overflow:hidden;border-bottom:1px solid var(--line);padding:18px 0;background:var(--bg-2)}
.ci-track{display:flex;gap:42px;white-space:nowrap;animation:slide calc(50s / var(--speed)) linear infinite;font-family:var(--serif);font-size:30px;letter-spacing:-.01em}
.ci-track em{font-style:italic;color:var(--ink)}
.ci-track .ci-d{color:var(--accent);margin:0 14px}
@keyframes slide{to{transform:translateX(-50%)}}

.ci-work{padding:0;border-bottom:1px solid var(--line)}
.ci-work-head{padding:60px 28px 28px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;border-bottom:1px solid var(--line)}
.ci-work-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(56px,8vw,140px);line-height:.88;letter-spacing:-.03em}
.ci-work-head em{font-style:italic;color:var(--accent)}
.ci-work-rt{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--dim);text-align:right;line-height:1.6}
.ci-work-rt b{display:block;color:var(--ink);font-family:var(--serif);font-size:48px;font-weight:400;letter-spacing:-.01em;margin-bottom:4px}

.ci-gallery{display:grid;grid-template-columns:repeat(3,1fr)}
.ci-card{position:relative;aspect-ratio:3/4;overflow:hidden;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.ci-card:nth-child(3n){border-right:0}
.ci-card-img{position:absolute;inset:0;transition:transform calc(.9s / var(--speed)) cubic-bezier(.2,.7,.2,1)}
.ci-card-img img{filter:grayscale(.4) contrast(1.05) brightness(.85);transition:filter .4s}
.ci-card:hover .ci-card-img{transform:scale(1.04)}
.ci-card:hover .ci-card-img img{filter:grayscale(0) contrast(1.1) brightness(1)}
.ci-card-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.92) 100%)}
.ci-card-cat{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:#fff;padding:4px 8px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.ci-card-num{position:absolute;top:14px;right:14px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:rgba(255,255,255,.7)}
.ci-card-meta{position:absolute;left:18px;right:18px;bottom:18px;color:#fff}
.ci-card-t{font-family:var(--serif);font-size:clamp(24px,2.2vw,34px);line-height:.95;letter-spacing:-.01em;font-style:italic}
.ci-card-d{display:flex;gap:14px;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.75);margin-top:10px;flex-wrap:wrap}
.ci-card-d b{color:var(--accent);font-weight:500}

.ci-view-all{padding:48px 28px;border-top:1px solid var(--line)}
.ci-view-l{font-family:var(--serif);font-size:clamp(28px,3.4vw,48px);line-height:1;letter-spacing:-.02em}
.ci-view-l em{font-style:italic;color:var(--accent)}

.ci-svc{padding:80px 28px;border-bottom:1px solid var(--line)}
.ci-svc-head{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;margin-bottom:48px}
.ci-svc-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(56px,8vw,140px);line-height:.88;letter-spacing:-.035em}
.ci-svc-head h2 em{font-style:italic;color:var(--accent)}
.ci-svc-head p{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.35;color:var(--dim);max-width:520px;justify-self:end}
.ci-svc-list{border-top:1px solid var(--line-strong)}
.ci-svc-row{display:grid;grid-template-columns:80px 1fr 1.2fr auto;gap:40px;padding:28px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding .3s,background .3s}
.ci-svc-row:hover{padding-left:18px;background:rgba(230,163,90,.05)}
.ci-svc-row:last-child{border-bottom:0}
.ci-svc-num{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.1em}
.ci-svc-t{font-family:var(--serif);font-size:clamp(32px,4vw,68px);line-height:.95;letter-spacing:-.02em}
.ci-svc-p{font-size:13.5px;line-height:1.55;color:var(--dim);max-width:420px}
.ci-svc-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.ci-svc-tags span{padding:4px 10px;border:1px solid var(--line-strong);border-radius:999px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}

.ci-pull{padding:90px 28px;border-bottom:1px solid var(--line);background:var(--bg-2)}
.ci-pull-k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:36px}
.ci-pull q{quotes:none;font-family:var(--serif);font-size:clamp(48px,6.4vw,120px);line-height:1.02;letter-spacing:-.025em;display:block}
.ci-pull em{font-style:italic;color:var(--accent)}
.ci-ul{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.16em;text-decoration-thickness:.04em}
.ci-pull-sig{margin-top:48px;display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap}
.ci-pull-a{font-family:var(--serif);font-style:italic;font-size:36px;color:var(--accent)}
.ci-pull-c{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);text-align:right;line-height:1.5}

.ci-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.ci-stat{padding:48px 28px;border-right:1px solid var(--line)}
.ci-stat:last-child{border-right:0}
.ci-stat-n{font-family:var(--serif);font-size:clamp(64px,7vw,108px);line-height:.9;letter-spacing:-.03em;font-weight:400}
.ci-stat-n em{font-style:italic;color:var(--accent)}
.ci-stat-l{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin-top:12px}

.ci-team{padding:80px 28px 0;border-bottom:1px solid var(--line)}
.ci-team-head{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;margin-bottom:40px}
.ci-team-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7vw,108px);line-height:.9;letter-spacing:-.03em}
.ci-team-head h2 em{font-style:italic;color:var(--accent)}
.ci-team-head p{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.35;color:var(--dim);justify-self:end;max-width:480px}
.ci-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-strong);padding-bottom:48px}
.ci-member{border-right:1px solid var(--line);padding:14px 16px 22px;display:flex;flex-direction:column;gap:14px}
.ci-member:last-child{border-right:0}
.ci-ph{aspect-ratio:3/4;overflow:hidden;background:#1a1815}
.ci-ph img{filter:grayscale(1) contrast(1.1);transition:filter .4s}
.ci-member:hover .ci-ph img{filter:grayscale(0) contrast(1.05)}
.ci-m-info h4{font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:-.01em;margin-bottom:4px}
.ci-m-r{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim)}

.ci-awards{padding:80px 28px 0;border-bottom:1px solid var(--line)}
.ci-awards-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.ci-awards-head h2{font-family:var(--serif);font-size:clamp(48px,7vw,108px);line-height:.9;letter-spacing:-.03em;font-weight:400}
.ci-awards-head em{font-style:italic;color:var(--accent)}
.ci-awards-head .ci-k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.ci-awards-list{border-top:1px solid var(--line-strong);padding-bottom:32px}
.ci-award{display:grid;grid-template-columns:80px 1.2fr 1.4fr 1fr 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}
.ci-award .ci-y{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.08em}
.ci-award .ci-t{font-family:var(--serif);font-size:24px;letter-spacing:-.01em;line-height:1.1}
.ci-award .ci-s{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--dim)}
.ci-award .ci-p,.ci-award .ci-pl{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}

.ci-testis{padding:80px 28px;border-bottom:1px solid var(--line)}
.ci-testis h3{font-family:var(--serif);font-size:clamp(40px,6vw,88px);font-weight:400;letter-spacing:-.02em;margin-bottom:40px}
.ci-testis h3 em{font-style:italic;color:var(--accent)}
.ci-testis-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line-strong)}
.ci-testi{padding:28px 28px 28px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.ci-testi:nth-child(2n){border-right:0;padding-left:28px;padding-right:0}
.ci-testi blockquote{font-family:var(--serif);font-size:22px;line-height:1.35;font-style:italic;margin-bottom:18px}
.ci-testi-src{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);display:flex;gap:10px;align-items:center}
.ci-testi-src .ci-a{width:22px;height:22px;border-radius:50%;background:var(--accent)}
.ci-testi-src .ci-r{color:var(--faint)}

.ci-clients-wrap{border-bottom:1px solid var(--line)}
.ci-clients-head{padding:40px 28px 20px;display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-bottom:1px solid var(--line)}
.ci-clients-head h3{font-family:var(--serif);font-size:36px;letter-spacing:-.01em;font-weight:400}
.ci-clients-head span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.ci-clients{display:grid;grid-template-columns:repeat(6,1fr)}
.ci-client{aspect-ratio:1.6/1;display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:22px;color:var(--dim);transition:background .3s,color .3s}
.ci-client:hover{background:var(--accent);color:#0a0a0a}
.ci-client:nth-child(6n){border-right:0}

.ci-outro{padding:60px 28px 28px;background:var(--bg-2)}
.ci-outro-row{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.ci-out-k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:24px}
.ci-outro h2{font-family:var(--serif);font-weight:400;font-size:clamp(56px,9vw,140px);line-height:.86;letter-spacing:-.035em}
.ci-outro h2 em{font-style:italic;color:var(--accent)}
.ci-mail{display:block;color:var(--accent);margin-top:14px;font-size:.5em;word-break:break-all}
.ci-mail u{text-decoration-thickness:1.5px;text-underline-offset:.1em}
.ci-addr{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:40px;font-family:var(--mono);font-size:11px;line-height:1.6;color:var(--dim)}
.ci-addr b{display:block;color:var(--ink);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.ci-news{background:var(--accent);color:#0a0a0a;padding:28px;display:flex;flex-direction:column;gap:14px;align-self:start}
.ci-news h3{font-family:var(--serif);font-size:36px;letter-spacing:-.02em;font-weight:400}
.ci-news p{font-size:12.5px;line-height:1.55;opacity:.85}
.ci-news-f{display:flex;border:1px solid #0a0a0a;margin-top:6px}
.ci-news-f input{flex:1;background:transparent;border:0;color:inherit;padding:12px;font:inherit;font-size:12px;outline:none}
.ci-news-f input::placeholder{color:rgba(10,10,10,.55)}
.ci-news-f button{background:#0a0a0a;color:var(--accent);padding:0 16px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.ci-bigmark{font-family:var(--mono);font-weight:500;line-height:.9;letter-spacing:.05em;padding:32px 0;color:var(--ink);text-align:center;overflow:hidden;text-transform:uppercase}
.ci-bigmark a{color:inherit;display:block}
.ci-bigmark em{font-style:normal;color:var(--accent)}
.ci-bigmark-line{display:block;font-size:clamp(18px,4.5vw,64px);letter-spacing:.04em;line-height:1;white-space:nowrap}
.ci-bigmark-line em{color:var(--accent);font-style:normal;margin-left:.05em}
.ci-bigmark-hex{display:inline-block;vertical-align:middle;width:.6em;height:.66em;margin-left:.18em;color:var(--accent);position:relative;top:-.04em}
.ci-foot{display:grid;grid-template-columns:1fr 1fr 1fr;padding:20px 0;gap:24px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);border-top:1px solid var(--line);align-items:center}lid var(--line)}
.ci-social{display:flex;gap:14px;justify-content:center}
.ci-social a:hover{color:var(--accent)}

/* ─── DIRECTION 2: SILENT ───────────────────────────────────────── */
.silent{
  --bg:#fafaf7;--ink:#0a0a0a;--dim:#74716c;--faint:#b3b0a8;
  --line:rgba(10,10,10,.12);--line-strong:rgba(10,10,10,.22);
  --serif:"Instrument Serif",serif;
  --sans:"Inter Tight",ui-sans-serif,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  background:var(--bg);color:var(--ink);font-family:var(--sans);font-feature-settings:"ss01" on;
}
.silent *::selection{background:var(--ink);color:var(--bg)}
.si-mono{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}

.si-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 32px;border-bottom:1px solid var(--line);gap:24px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.si-wm{font-family:var(--serif);font-style:italic;font-size:24px;letter-spacing:-.01em;color:var(--ink);text-transform:none}
.si-wm sup{font-size:.5em;vertical-align:super;color:var(--accent);font-style:normal;margin-left:2px}
.si-menu{display:flex;gap:32px;justify-self:center;color:var(--dim)}
.si-menu .si-mn{color:var(--faint);margin-right:6px}
.si-menu a:hover{color:var(--ink)}
.si-time{justify-self:end;color:var(--dim);display:flex;align-items:center;gap:8px}
.si-pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}

.si-hero{padding:80px 32px 48px;border-bottom:1px solid var(--line)}
.si-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:end}
.si-meta-line{display:flex;gap:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:48px}
.si-meta-line span:first-child{color:var(--faint)}
.si-h1{font-family:var(--serif);font-weight:400;font-size:clamp(64px,9.5vw,170px);line-height:.92;letter-spacing:-.035em;color:var(--ink)}
.si-h1 span{display:block}
.si-h1 .si-it{font-style:italic;color:var(--accent)}
.si-hero-bot{display:flex;justify-content:space-between;gap:32px;margin-top:48px;align-items:end;flex-wrap:wrap}
.si-lede{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.4;color:var(--ink);max-width:480px}
.si-hero-actions{display:flex;gap:8px;flex-shrink:0}
.si-btn{padding:12px 18px;border:1px solid var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;transition:background .2s,color .2s}
.si-btn:hover{background:var(--ink);color:var(--bg)}
.si-btn-ink{background:var(--ink);color:var(--bg)}
.si-btn-ink:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}

.si-hero-r{position:relative;aspect-ratio:4/5}
.si-hero-fr{position:relative;width:100%;height:100%;background:#eae6dd}
.si-fr{position:absolute;inset:0;opacity:0;transition:opacity calc(1s / var(--speed)) ease}
.si-fr.on{opacity:1}
.si-fr img{filter:contrast(1.05)}
.si-fr-meta{position:absolute;left:18px;bottom:18px;color:#fff;mix-blend-mode:difference}
.si-fr-id{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-bottom:8px}
.si-fr-t{font-family:var(--serif);font-style:italic;font-size:32px;line-height:1;letter-spacing:-.01em}
.si-fr-d{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-top:6px}
.si-fr-dots{position:absolute;right:18px;bottom:18px;display:flex;gap:6px}
.si-fr-dots button{width:24px;height:2px;background:rgba(255,255,255,.4);transition:background .2s}
.si-fr-dots button.on{background:var(--accent)}

.si-ticker{padding:14px 0;border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg)}
.si-ticker .si-track{display:flex;gap:36px;white-space:nowrap;animation:slide calc(60s / var(--speed)) linear infinite;font-family:var(--serif);font-style:italic;font-size:18px;color:var(--dim)}
.si-ticker .si-d{margin:0 12px;color:var(--accent);font-style:normal}

.si-work{padding:80px 32px 0;border-bottom:1px solid var(--line)}
.si-work-head{margin-bottom:48px;display:flex;flex-direction:column;gap:24px}
.si-work-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(56px,8vw,140px);line-height:.88;letter-spacing:-.03em}
.si-work-head em{font-style:italic;color:var(--accent)}

.si-list{position:relative;border-top:1px solid var(--line)}
.si-row{display:grid;grid-template-columns:50px 1.4fr 1fr 1fr 80px 30px;gap:32px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding .3s,color .3s;position:relative;z-index:2}
.si-row:hover{padding-left:18px}
.si-row-n{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.08em}
.si-row-t{font-family:var(--serif);font-size:clamp(28px,3.4vw,52px);line-height:1;letter-spacing:-.02em;transition:font-style .2s}
.si-row:hover .si-row-t{font-style:italic;color:var(--accent)}
.si-row-c,.si-row-cat,.si-row-y{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.si-row-y{text-align:right}
.si-row-arrow{font-family:var(--mono);font-size:14px;color:var(--faint);text-align:right;transition:transform .2s,color .2s}
.si-row:hover .si-row-arrow{color:var(--accent);transform:translate(4px,-4px)}

.si-preview{position:fixed;top:50%;right:48px;transform:translateY(-50%);width:280px;height:360px;pointer-events:none;z-index:1;display:none}
@media (min-width:1100px){.si-list:hover .si-preview{display:block}}
.si-pv{position:absolute;inset:0;opacity:0;transition:opacity .3s ease}
.si-pv.on{opacity:1}

.si-svc{padding:80px 32px;border-bottom:1px solid var(--line)}
.si-svc-head{display:flex;flex-direction:column;gap:18px;margin-bottom:48px}
.si-svc-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(56px,8vw,140px);line-height:.88;letter-spacing:-.035em}
.si-svc-head em{font-style:italic;color:var(--accent)}
.si-svc-head p{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.4;color:var(--dim);max-width:560px}
.si-svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-strong)}
.si-svc-col{padding:32px 24px 32px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:16px}
.si-svc-col:last-child{border-right:0}
.si-svc-n{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.1em}
.si-svc-col h3{font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:-.01em;line-height:1}
.si-svc-col p{font-size:13.5px;line-height:1.55;color:var(--dim);max-width:280px}
.si-svc-col ul{list-style:none;display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink);text-transform:uppercase}

.si-pull{padding:90px 32px;border-bottom:1px solid var(--line)}
.si-pull-k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:36px}
.si-pull q{quotes:none;font-family:var(--serif);font-size:clamp(40px,5.4vw,90px);line-height:1.05;letter-spacing:-.02em;display:block;max-width:1500px;color:var(--ink)}
.si-pull-sig{margin-top:36px;font-family:var(--serif);font-style:italic;font-size:24px;color:var(--accent)}

.si-team{padding:80px 32px 0;border-bottom:1px solid var(--line)}
.si-team-head{display:flex;flex-direction:column;gap:18px;margin-bottom:40px}
.si-team-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7vw,108px);line-height:.9;letter-spacing:-.03em}
.si-team-head em{font-style:italic;color:var(--accent)}
.si-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-strong);padding-bottom:48px}
.si-mb{padding:14px 16px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.si-mb:last-child{border-right:0}
.si-mb-ph{aspect-ratio:3/4;overflow:hidden;background:#eae6dd}
.si-mb-ph img{filter:grayscale(1) contrast(1.05);transition:filter .4s}
.si-mb:hover .si-mb-ph img{filter:grayscale(0) contrast(1.05)}
.si-mb-n{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:4px}
.si-mb-r{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--dim);line-height:1.2}

.si-awards{padding:80px 32px 0;border-bottom:1px solid var(--line)}
.si-awards-head{display:flex;flex-direction:column;gap:18px;margin-bottom:40px}
.si-awards-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7vw,108px);line-height:.9;letter-spacing:-.03em}
.si-awards-head em{font-style:italic;color:var(--accent)}
.si-awards-list{border-top:1px solid var(--line-strong);padding-bottom:32px}
.si-aw{display:grid;grid-template-columns:60px 1.1fr 1.4fr 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.si-aw-y{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.08em}
.si-aw-t{font-family:var(--serif);font-size:22px;letter-spacing:-.01em}
.si-aw-s{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--dim)}
.si-aw-p{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);text-align:right}

.si-clients{padding:48px 32px 60px;border-bottom:1px solid var(--line)}
.si-clients-head{margin-bottom:32px;display:flex;flex-direction:column;gap:14px}
.si-clients-head h3{font-family:var(--serif);font-size:36px;letter-spacing:-.02em;font-weight:400}
.si-clients-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid var(--line)}
.si-cl{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:20px;color:var(--dim);text-align:center;transition:color .2s}
.si-cl:hover{color:var(--accent)}
.si-cl:nth-child(6n){border-right:0}

.si-testis{padding:80px 32px;border-bottom:1px solid var(--line)}
.si-testis-grid{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--line);padding-top:40px}
.si-testi blockquote{font-family:var(--serif);font-size:28px;line-height:1.3;font-style:italic;letter-spacing:-.01em;margin-bottom:18px;text-wrap:balance}
.si-testi-src{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.si-testi-src span{color:var(--faint)}

.si-outro{padding:80px 32px 32px;background:var(--bg)}
.si-out-k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:32px}
.si-out-h{font-family:var(--serif);font-weight:400;font-size:clamp(64px,9.5vw,170px);line-height:.92;letter-spacing:-.035em;max-width:1500px}
.si-out-h em{font-style:italic;color:var(--accent)}
.si-out-mail{display:inline-block;margin-top:24px;font-family:var(--serif);font-style:italic;font-size:36px;color:var(--ink);text-decoration:underline;text-underline-offset:.1em;text-decoration-thickness:1.5px}
.si-out-mail:hover{color:var(--accent)}
.si-out-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:64px;padding-top:40px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--dim)}
.si-out-grid b{display:block;color:var(--ink);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-family:var(--mono)}
.si-news-col p{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--dim);margin-bottom:12px;text-transform:none;letter-spacing:0}
.si-news-f{display:flex;border:1px solid var(--ink)}
.si-news-f input{flex:1;background:transparent;border:0;color:inherit;padding:11px;font:inherit;font-size:11px;outline:none;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}
.si-news-f button{background:var(--ink);color:var(--bg);padding:0 14px;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em}
.si-foot{margin-top:48px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--dim)}
.si-foot span:nth-child(2){text-align:center}.si-foot span:last-child{text-align:right}

/* ─── DIRECTION 3: GRID ─────────────────────────────────────────── */
.grid-d{
  --bg:#0e0e0c;--bg-2:#15150f;--ink:#ebe7dc;--dim:#878578;--faint:#3a3933;
  --line:rgba(235,231,220,.16);--line-strong:rgba(235,231,220,.32);
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --serif:"Instrument Serif",serif;
  background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:13px;line-height:1.55;
}
.grid-d *::selection{background:var(--accent);color:var(--bg)}
.grid-d .gr-it{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none}
.gr-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}

.gr-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.gr-top-l{display:flex;gap:14px;align-items:center;color:var(--dim)}
.gr-pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}
.gr-top-c{justify-self:center;color:var(--ink);letter-spacing:.16em;font-weight:500}
.gr-top-c .gr-it{color:var(--accent);font-size:14px;margin-left:6px}
.gr-top-r{justify-self:end;display:flex;gap:14px;color:var(--dim)}
.gr-sep{color:var(--faint)}

.gr-hero{padding:0;border-bottom:1px solid var(--line)}
.gr-hero-grid{display:grid;grid-template-columns:1.1fr 1.6fr .8fr;grid-template-rows:auto auto;gap:0}
.gr-cell{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;min-height:200px}
.gr-cell:last-child{border-right:0}
.gr-cell-a{grid-column:1;grid-row:1 / span 2;border-bottom:0;display:flex;flex-direction:column;justify-content:space-between;min-height:580px}
.gr-cell-b{grid-column:2;grid-row:1 / span 2;border-bottom:0;padding:0;min-height:580px}
.gr-cell-c{grid-column:3;grid-row:1}
.gr-cell-d{grid-column:3;grid-row:2;display:flex;flex-direction:column;justify-content:space-between}
.gr-h1{font-family:var(--serif);font-weight:400;font-size:clamp(64px,7.5vw,128px);line-height:.92;letter-spacing:-.035em;color:var(--ink);margin:32px 0}
.gr-h1 div{display:block}
.gr-h1 .gr-it{color:var(--accent)}
.gr-h-meta{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);line-height:1.8}

.gr-now{position:relative;width:100%;height:100%;overflow:hidden;background:#1a1a14}
.gr-now-img{position:absolute;inset:0;opacity:0;transition:opacity calc(1s / var(--speed)) ease}
.gr-now-img.on{opacity:1}
.gr-now-img img{filter:contrast(1.1) brightness(.75) saturate(.85)}
.gr-now-overlay{position:absolute;left:24px;bottom:32px;right:24px;color:var(--ink);z-index:2}
.gr-now-id{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--accent);margin-bottom:10px}
.gr-now-t{font-family:var(--serif);font-style:italic;font-size:clamp(36px,4vw,64px);line-height:.95;letter-spacing:-.01em;text-transform:none;font-weight:400;color:#fff}
.gr-now-d{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.8);margin-top:10px}
.gr-now-r{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:rgba(255,255,255,.55);margin-top:6px}
.gr-now-progress{position:absolute;left:24px;right:24px;top:24px;display:flex;gap:4px;z-index:2}
.gr-pb{flex:1;height:1.5px;background:rgba(255,255,255,.2)}
.gr-pb.on{background:var(--accent)}

.gr-lede{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.4;color:var(--ink);text-transform:none;letter-spacing:0;margin:14px 0 24px}
.gr-tags{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--dim)}

.gr-count{font-family:var(--serif);font-size:140px;line-height:.9;color:var(--accent);letter-spacing:-.03em}
.gr-count-l{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--dim);margin-top:8px}

.gr-cell-e{grid-column:1;grid-row:3;display:flex;flex-direction:column;gap:6px}
.gr-cell-f{grid-column:2;grid-row:3;border-right:1px solid var(--line)}
.gr-action{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--ink);padding:8px 0;border-bottom:1px dashed var(--line);transition:color .2s,padding .2s;text-transform:uppercase}
.gr-action:hover{color:var(--accent);padding-left:8px}
.gr-sys{font-family:var(--mono);font-size:11px;color:var(--dim);width:100%;border-collapse:collapse}
.gr-sys td{padding:6px 0;border-bottom:1px dashed var(--line);text-transform:uppercase;letter-spacing:.08em}
.gr-sys td:first-child{color:var(--ink)}
.gr-sys td:last-child{text-align:right;color:var(--accent)}

/* the F cell shows full-row of additional info — make E+F flex sane */
.gr-hero-grid > .gr-cell-e,.gr-hero-grid > .gr-cell-f{min-height:auto}

.gr-ticker{padding:14px 0;border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg-2)}
.gr-track{display:flex;gap:36px;white-space:nowrap;animation:slide calc(50s / var(--speed)) linear infinite;font-family:var(--mono);font-size:14px;letter-spacing:.16em;color:var(--ink)}
.gr-track span{color:var(--dim)}.gr-track span::first-letter{color:var(--accent)}

.gr-sec-h{padding:48px 24px 24px;border-bottom:1px solid var(--line)}
.gr-h2{font-family:var(--mono);font-size:clamp(28px,3.4vw,44px);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}

.gr-table{display:flex;flex-direction:column}
.gr-tr{display:grid;grid-template-columns:60px 2.4fr 1fr 1fr 1.2fr 80px 30px;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);align-items:baseline;font-family:var(--mono);font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;position:relative;transition:background .2s,color .2s}
.gr-tr:hover{background:rgba(235,231,220,.03);color:var(--ink)}
.gr-th{background:var(--bg-2);color:var(--faint);font-size:10px;letter-spacing:.16em;padding:10px 24px}
.gr-tt{color:var(--ink);font-family:var(--serif);font-size:18px;font-style:italic;text-transform:none;letter-spacing:-.005em}
.gr-tr:hover .gr-tt{color:var(--accent)}
.gr-row-pv{position:absolute;right:80px;top:50%;transform:translateY(-50%);width:120px;aspect-ratio:3/2;opacity:0;transition:opacity .25s;pointer-events:none;z-index:5;border:1px solid var(--accent)}
.gr-tr:hover .gr-row-pv{opacity:1}
.gr-row-pv img{filter:contrast(1.05)}

.gr-aw-table .gr-tr,.gr-aw-table .gr-th{grid-template-columns:80px 1.4fr 1fr 1fr 1fr}

.gr-svc{border-bottom:1px solid var(--line)}
.gr-svc-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.gr-svc-c{padding:32px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px;min-height:340px}
.gr-svc-c:last-child{border-right:0}
.gr-svc-n{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.16em}
.gr-svc-c h3{font-family:var(--mono);font-size:22px;font-weight:500;letter-spacing:.06em;color:var(--ink)}
.gr-svc-c p{font-size:13px;line-height:1.55;color:var(--dim);text-transform:none;letter-spacing:0;font-family:"Inter Tight",sans-serif}
.gr-svc-c ul{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin-top:auto;padding-top:16px;border-top:1px dashed var(--line)}

.gr-pull{padding:80px 24px;border-bottom:1px solid var(--line);background:var(--bg-2)}
.gr-q{font-family:var(--serif);font-style:italic;font-size:clamp(36px,5vw,80px);line-height:1.05;letter-spacing:-.02em;color:var(--ink);text-transform:none;font-weight:400;margin:24px 0;max-width:1500px}
.gr-q-sig{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--accent);text-transform:uppercase}

.gr-team{border-bottom:1px solid var(--line)}
.gr-team-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.gr-mb{padding:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.gr-mb:nth-child(4n){border-right:0}
.gr-mb-ph{aspect-ratio:3/4;overflow:hidden;background:#1a1a14;position:relative}
.gr-mb-ph img{filter:grayscale(1) contrast(1.1);transition:filter .4s}
.gr-mb:hover .gr-mb-ph img{filter:grayscale(0) contrast(1.05)}
.gr-mb-id{font-family:var(--mono);font-size:10px;color:var(--accent);letter-spacing:.14em;margin-top:6px}
.gr-mb-n{font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--ink)}
.gr-mb-r{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--dim);text-transform:none;letter-spacing:0;line-height:1.2}

.gr-awards,.gr-clients,.gr-testis{border-bottom:1px solid var(--line)}
.gr-clients{padding:32px 24px}
.gr-cl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:16px}
.gr-cl{padding:14px;border:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink);text-transform:uppercase;transition:background .2s,color .2s}
.gr-cl:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}

.gr-testis{padding:32px 24px}
.gr-testis-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:16px;border-top:1px solid var(--line)}
.gr-testi{padding:24px 20px 24px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.gr-testi:nth-child(2n){border-right:0;padding:24px 0 24px 20px}
.gr-testi-q{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.35;color:var(--ink);text-transform:none;letter-spacing:0;margin-bottom:14px;text-wrap:balance}
.gr-testi-src{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--dim);text-transform:uppercase}

.gr-outro{padding:60px 24px 24px;background:var(--bg-2)}
.gr-out-h{font-family:var(--serif);font-weight:400;font-size:clamp(56px,8vw,128px);line-height:.92;letter-spacing:-.035em;color:var(--ink);text-transform:none;margin:24px 0;letter-spacing:-.025em}
.gr-out-h .gr-it{color:var(--accent)}
.gr-out-mail{font-family:var(--mono);font-size:18px;color:var(--accent);letter-spacing:.06em;display:inline-block;margin-bottom:48px;text-transform:uppercase}
.gr-out-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:32px;border-top:1px solid var(--line)}
.gr-out-grid > div{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--dim);line-height:1.7;text-transform:uppercase}
.gr-out-grid p{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink);text-transform:none;letter-spacing:0;margin:8px 0 12px}
.gr-news-f{display:flex;border:1px solid var(--ink);margin-top:8px}
.gr-news-f input{flex:1;background:transparent;border:0;color:inherit;padding:10px;font:inherit;font-size:11px;outline:none;letter-spacing:.06em}
.gr-news-f button{background:var(--ink);color:var(--bg);padding:0 12px;font-size:10px;letter-spacing:.1em}
.gr-foot{margin-top:48px;padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--dim);text-transform:uppercase}
.gr-foot span:nth-child(2){text-align:center}.gr-foot span:last-child{text-align:right}

/* ─── RESPONSIVE — keep simple, these are inside artboards ─────── */
@media (max-width:900px){
  .ci-gallery,.ci-team-grid,.ci-clients,.si-team-grid,.si-clients-grid,.si-svc-grid,.gr-team-grid,.gr-svc-grid{grid-template-columns:repeat(2,1fr) !important}
  .ci-bot,.ci-svc-head,.ci-team-head,.si-hero-grid,.si-out-grid,.gr-hero-grid,.gr-out-grid{grid-template-columns:1fr !important}
  .ci-stats{grid-template-columns:repeat(2,1fr)}
  .si-row{grid-template-columns:40px 1fr 80px}
  .si-row-c,.si-row-cat,.si-row-arrow{display:none}
  .gr-tr,.gr-th{grid-template-columns:40px 1.6fr 1fr}
  .gr-tr > span:nth-child(n+4){display:none}
}
