/* ============================================================
   KISSAGO STUDIOS — modern editorial system, 4 swappable themes
   Theme = palette + type, set via [data-theme] on <html>.
   Language = [data-lang] toggles .en / .hi spans.
   Clean, minimal, rooted. No cards/shadows/gradients.
   ============================================================ */

/* A · Atelier (default) */
:root {
  --bg:#F4F1E8; --surface:#FBF9F2; --ink:#181610; --ink-2:#4c4537; --muted:#857c66;
  --accent:#E0871C; --accent-ink:#2a1900; --line:rgba(24,22,16,.14); --line-2:rgba(24,22,16,.07);
  --f-disp:'Hanken Grotesk',sans-serif; --f-deva:'Anek Devanagari',sans-serif; --f-body:'Hanken Grotesk',sans-serif;
  --disp-wght:700; --disp-tracking:-.02em; --maxw:1160px;
}
[data-theme="press"] {
  --bg:#FAF6EE; --surface:#FFFDF8; --ink:#1A1712; --ink-2:#4a4234; --muted:#7c705c;
  --accent:#93291B; --accent-ink:#fff; --line:rgba(26,23,18,.15); --line-2:rgba(26,23,18,.07);
  --f-disp:'Instrument Serif',serif; --f-deva:'Tiro Devanagari Hindi',serif; --f-body:'Hanken Grotesk',sans-serif;
  --disp-wght:400; --disp-tracking:0;
}
[data-theme="indigo"] {
  --bg:#ECE5D4; --surface:#F5EFE1; --ink:#1b2238; --ink-2:#3c4566; --muted:#6a7193;
  --accent:#E0A52E; --accent-ink:#372700; --line:rgba(27,34,56,.14); --line-2:rgba(27,34,56,.07);
  --f-disp:'Space Grotesk',sans-serif; --f-deva:'Mukta',sans-serif; --f-body:'Mukta',sans-serif;
  --disp-wght:600; --disp-tracking:-.01em;
}
[data-theme="nocturne"] {
  --bg:#16150F; --surface:#211E16; --ink:#EFE7D6; --ink-2:#c3b9a1; --muted:#9b917a;
  --accent:#CC6B3D; --accent-ink:#1a0f08; --line:rgba(239,231,214,.16); --line-2:rgba(239,231,214,.07);
  --f-disp:'Bricolage Grotesque',sans-serif; --f-deva:'Anek Devanagari',sans-serif; --f-body:'Hanken Grotesk',sans-serif;
  --disp-wght:600; --disp-tracking:-.015em;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);font-family:var(--f-body);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
  transition:background .5s ease,color .5s ease;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--accent);color:var(--accent-ink)}

/* Language visibility */
[data-lang="en"] .hi{display:none}
[data-lang="hi"] .en{display:none}

/* Type */
.deva{font-family:var(--f-deva)}
.disp{font-family:var(--f-disp);font-weight:var(--disp-wght);letter-spacing:var(--disp-tracking);line-height:1.02}
.eyebrow{font-family:var(--f-body);font-weight:600;font-size:12.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}
.h1{font-family:var(--f-disp);font-weight:var(--disp-wght);letter-spacing:var(--disp-tracking);font-size:clamp(42px,7vw,86px);line-height:1.0}
.h2{font-family:var(--f-disp);font-weight:var(--disp-wght);letter-spacing:var(--disp-tracking);font-size:clamp(28px,3.8vw,46px);line-height:1.05}
.h3{font-family:var(--f-disp);font-weight:var(--disp-wght);font-size:clamp(20px,2.2vw,26px)}
.lead{font-size:clamp(18px,2.1vw,22px);line-height:1.55;color:var(--ink-2)}
.muted{color:var(--muted)}

/* Layout */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}
.section{padding:clamp(56px,9vw,128px) 0}
.rule{height:0;border-top:1px solid var(--line)}

/* Header */
.hdr{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(9px);border-bottom:1px solid var(--line-2)}
.hdr .wrap{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-family:var(--f-deva);font-size:25px;line-height:1;color:var(--ink)}
.nav{display:flex;gap:28px;align-items:center}
.nav a{font-size:15.5px;color:var(--ink-2);position:relative;transition:color .2s}
.nav a:hover{color:var(--ink)}
.nav a::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--accent);transition:width .25s}
.nav a:hover::after{width:100%}
.hdr-right{display:flex;align-items:center;gap:14px}
.langtog{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-family:var(--f-body);font-size:12px;letter-spacing:.08em}
.langtog button{background:transparent;border:0;color:var(--muted);padding:6px 12px;cursor:pointer;font:inherit;transition:all .2s}
.langtog button.on{background:var(--ink);color:var(--bg)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-body);font-weight:600;font-size:14px;letter-spacing:.02em;padding:11px 20px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:opacity .2s,background .2s,color .2s,border-color .2s}
.btn-fill{background:var(--accent);color:var(--accent-ink)}
.btn-fill:hover{opacity:.88}
.btn-line{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-line:hover{border-color:var(--accent);color:var(--accent)}
.menu-btn{display:none;background:none;border:0;color:var(--ink);cursor:pointer}

/* Mobile nav */
.mnav{position:fixed;inset:0;z-index:60;background:var(--bg);padding:24px 32px;display:none;flex-direction:column}
.mnav.open{display:flex}
.mnav .mtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}
.mnav a{font-family:var(--f-disp);font-weight:var(--disp-wght);font-size:32px;padding:12px 0;border-bottom:1px solid var(--line-2);color:var(--ink)}
.mnav a .hi{font-family:var(--f-deva);color:var(--accent);margin-left:10px;font-size:.8em}

/* Hero */
.hero{padding:clamp(40px,7vw,90px) 0 clamp(34px,5vw,64px)}
.hero .eyebrow{margin-bottom:20px}
.hero .brandline{font-family:var(--f-deva);font-size:clamp(28px,4.4vw,52px);line-height:1;color:var(--ink);margin-bottom:10px}
.hero .head{max-width:14ch}
.hero .sub{margin-top:24px;max-width:46ch;font-size:clamp(17px,2vw,21px);line-height:1.5;color:var(--ink-2)}
.hero .sub b{font-family:var(--f-deva);color:var(--ink);font-weight:500}
.hero-cta{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}
.hero-meta{margin-top:clamp(40px,6vw,72px);padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 26px;font-size:14.5px;color:var(--muted)}
.hero-meta span{display:inline-flex;align-items:center;gap:26px}
.hero-meta span::after{content:"·";color:var(--accent)}
.hero-meta span:last-child::after{content:""}

/* Two-column editorial */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.pull{font-family:var(--f-disp);font-weight:var(--disp-wght);font-size:clamp(24px,3vw,38px);line-height:1.25;letter-spacing:var(--disp-tracking)}
.pull .hi{font-family:var(--f-deva)}
.pull cite{display:block;font-family:var(--f-body);font-weight:400;font-style:normal;font-size:15px;letter-spacing:.04em;color:var(--muted);margin-top:18px}
.drop::first-letter{font-family:var(--f-deva);float:left;font-size:3.1em;line-height:.8;padding:6px 12px 0 0;color:var(--accent)}

/* Section head */
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.shead .eyebrow{margin-bottom:12px}

/* Index list (services, slate, journal) */
.idx{border-top:1px solid var(--ink)}
.row{display:grid;gap:22px;padding:24px 0;border-bottom:1px solid var(--line);transition:padding-left .25s ease}
.row:hover{padding-left:10px}
.row .no{font-family:var(--f-disp);font-size:16px;color:var(--muted)}
.row .ttl{font-family:var(--f-deva);font-size:clamp(24px,3vw,34px);line-height:1.04}
.row .en-ttl{font-family:var(--f-disp);font-weight:var(--disp-wght);font-size:clamp(22px,2.6vw,30px);line-height:1.06;letter-spacing:var(--disp-tracking)}
.row .sub{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.row .desc{color:var(--ink-2);max-width:54ch}
.row .meta{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:right;white-space:nowrap}
.row .meta .tick{color:var(--accent);display:block;margin-top:6px}
.svc{grid-template-columns:48px 1.1fr 1.5fr}
.slt{grid-template-columns:44px 1fr auto;align-items:baseline}
.slt .ttl{font-size:clamp(28px,4vw,46px)}
.slt .en-ttl-i{font-family:var(--f-disp);font-style:italic;font-size:18px;color:var(--ink-2);margin-top:4px}
.slt .log{color:var(--ink-2);margin-top:8px;max-width:52ch;font-size:15.5px;line-height:1.5}
.jr{grid-template-columns:1fr auto;align-items:baseline}
.jr .jt{font-family:var(--f-disp);font-weight:var(--disp-wght);font-size:clamp(22px,2.6vw,30px);letter-spacing:var(--disp-tracking)}
.jr .jx{color:var(--muted);max-width:66ch;margin-top:6px}

/* Process — minimal stepper */
.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:0;border-top:1px solid var(--line);margin-top:8px}
.stp{padding:20px 14px 0 0;border-right:1px solid var(--line-2)}
.stp:last-child{border-right:0}
.stp .sn{font-family:var(--f-disp);font-size:14px;color:var(--accent)}
.stp .sh{font-family:var(--f-deva);font-size:17px;margin-top:10px;line-height:1.15}
.stp .se{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px}

/* Quote band */
.quote{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quote .wrap{padding:clamp(56px,9vw,110px) 32px;text-align:center}
.quote .verse{font-family:var(--f-deva);font-size:clamp(24px,3.6vw,40px);line-height:1.55;color:var(--ink)}
.quote .gloss{font-size:clamp(16px,2vw,19px);color:var(--muted);margin-top:20px;font-style:italic}
.quote .attr{margin-top:18px}

/* CTA */
.cta{text-align:center}
.cta .h2{margin:14px 0 12px}
.cta .lead{max-width:48ch;margin:0 auto}

/* Footer */
.ftr{border-top:1px solid var(--line);padding:clamp(48px,6vw,72px) 0 30px}
.ftr-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:32px}
.ftr h4{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.ftr .fn a{display:block;padding:5px 0;color:var(--ink-2)}
.ftr .fn a:hover{color:var(--accent)}
.ftr .fbrand .deva{font-size:30px}
.ftr .fbrand p{color:var(--muted);margin-top:8px;max-width:34ch}
.ftr-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:42px;padding-top:20px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--muted)}

/* Theme lab (temporary) */
.lab{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px;box-shadow:0 6px 24px rgba(0,0,0,.12)}
.lab .labx{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:0 10px 0 8px}
.lab button{font-family:var(--f-body);font-size:12.5px;font-weight:500;letter-spacing:.04em;color:var(--ink-2);background:transparent;border:0;border-radius:999px;padding:7px 13px;cursor:pointer;transition:all .2s;white-space:nowrap}
.lab button.on{background:var(--accent);color:var(--accent-ink)}

/* Reveal */
.rv{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease}
.rv.in{opacity:1;transform:none}
[data-rd="1"]{transition-delay:.07s}[data-rd="2"]{transition-delay:.14s}[data-rd="3"]{transition-delay:.21s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}body{transition:none}}

/* Responsive */
@media (max-width:880px){
  .ftr-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .stp{border-bottom:1px solid var(--line-2)}
}
@media (max-width:680px){
  .nav,.hdr-right .btn{display:none}
  .menu-btn{display:inline-flex}
  .split{grid-template-columns:1fr}
  .svc,.slt,.jr{grid-template-columns:1fr;gap:6px}
  .row .meta{text-align:left}
  .steps{grid-template-columns:1fr}
  .ftr-grid{grid-template-columns:1fr}
  .lab{flex-wrap:wrap;max-width:calc(100vw - 24px);justify-content:center}
}
