/* venkateshgardas.com · design system v2 "glass"
   Tokens and rules live in design/DESIGN.md. Read it before editing.
   v1 (2px ink grid on paper) is in git history before 2026-08-08. */

:root{
  --deep:#F4F3F0;
  --deep2:#ECEBE7;
  --text:#15120A;
  --muted:#6E6C64;
  --coral:#6E7B45;
  --coral-soft:#5C6839;
  --gold:#A68B74;
  --sand:#EDE6DA;
  --ink:#15120A;
  --steel:#375A74;
  --glass-bg:#FFFFFF;
  --glass-line:#E3E1DC;
  --radius:2px;
  --pad-x:1.5rem;
  --gutter:5.5rem;
  --measure-prose:68ch;
  --measure-card:46ch;
  --font-display:var(--font-body);
  --font-serif:"Instrument Serif",Georgia,serif;
  --font-body:"Inter Tight",system-ui,sans-serif;
  --font-mono:"Space Mono",ui-monospace,monospace;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--deep);color:var(--text);
  font-family:var(--font-body);font-size:1rem;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{text-wrap:balance;}
p,li,figcaption,dd{text-wrap:pretty;}
a{color:inherit;text-decoration:none;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--steel);outline-offset:3px;border-radius:14px;}
.contact a:focus-visible{outline-color:var(--steel);}
.pillnav a.cta:focus-visible{outline-color:var(--steel);}
img{max-width:100%;height:auto;}

.skip{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--ink);color:#fff;padding:.8rem 1.3rem;border-radius:999px;
  font-family:var(--font-mono);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
}
.skip:focus{left:1rem;top:1rem;}

.frame [id]{scroll-margin-top:6.2rem;}

.mono{
  font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;
}

/* ---- the floating canvas ---- */
.frame{--pw:1240px;width:100%;background:var(--deep);}
.frame.reading{--pw:1040px;--gutter:5.4rem;}

/* rows become spaced sections */
.row{display:grid;padding:0 2rem;width:min(var(--pw),100%);margin-inline:auto;margin-block:.55rem;}
.row:last-child{padding-bottom:0;}
.cell{min-width:0;padding:1.6rem 0;}
.cell.flush{padding:0;}

/* ---- pill nav ---- */
.pillnav{
  position:sticky;top:14px;z-index:50;
  display:flex;justify-content:center;padding:1.1rem 1rem .4rem;
  pointer-events:none;
}
.pillnav nav{
  pointer-events:auto;display:flex;gap:.2rem;align-items:center;
  width:min(1040px,calc(100% - 1rem));
  background:#FFFFFF;
  border:1px solid var(--glass-line);border-radius:999px;padding:.4rem .5rem .4rem .55rem;
  box-shadow:0 10px 34px rgba(21,18,10,.12);
}
.pillnav .who{
  display:flex;align-items:center;gap:.65rem;margin-right:auto;
  font-weight:600;font-size:.95rem;color:var(--ink);padding:.3rem .4rem;
}
.pillnav .who img{
  width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;display:block;
}
@media (max-width:880px){.pillnav .who b{display:none;}}
.pillnav a{
  color:var(--ink);font-size:.92rem;font-weight:500;
  padding:.5rem 1rem;border-radius:999px;white-space:nowrap;
}
.pillnav a:hover{color:var(--coral);}
.pillnav a[aria-current="page"]{color:var(--coral);font-weight:600;background:transparent;}
.pillnav a.cta{background:var(--coral);color:#fff;padding:.6rem 1.3rem;margin-left:.4rem;}
.pillnav a.cta:hover{background:var(--coral-soft);color:#fff;}

.crumb{padding:1.2rem 2rem 0;width:min(var(--pw),100%);margin-inline:auto;}
.crumb a{
  display:inline-block;color:var(--muted);font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;padding:.6rem .4rem;margin:-.6rem -.4rem;
}
.crumb a:hover{color:var(--text);}

/* ---- glass card primitive ---- */
.glass,.plate,.vent,.job,.note,.bignum,.set,.wall,.mockwin,.shotframe,.phero .lead{
  background:var(--glass-bg);
  border:1px solid var(--glass-line);
  border-radius:var(--radius);
  background-image:
    radial-gradient(circle 2.2px at 0px 0px, var(--ink) 1.8px, transparent 2.2px),
    radial-gradient(circle 2.2px at 100% 0px, var(--ink) 1.8px, transparent 2.2px),
    radial-gradient(circle 2.2px at 0px 100%, var(--ink) 1.8px, transparent 2.2px),
    radial-gradient(circle 2.2px at 100% 100%, var(--ink) 1.8px, transparent 2.2px);
  background-repeat:no-repeat;
}

/* ---- animated hero (homepage) ---- */
.vhero{position:relative;}
.vhero .scenewrap{overflow:clip;animation:none;}

@keyframes kenburns{from{transform:scale(1);}to{transform:scale(1.06);}}
.vhero svg.scene{width:100%;height:auto;display:block;}
.scene .spot-ring.r2{animation-delay:.8s;}
.scene .spot-ring.r3{animation-delay:1.4s;}
@keyframes ring{0%{transform:scale(.5);opacity:1;}85%,100%{transform:scale(1.7);opacity:0;}}
@keyframes cardcycle{0%{opacity:0;transform:translateY(10px);}2%,31%{opacity:1;transform:none;}34%,100%{opacity:0;transform:translateY(10px);}}
.vhead{max-width:880px;margin:0 auto;text-align:center;padding:7rem 2rem 1.6rem;}
.vhead .eyebrow{
  display:inline-block;background:#FFFFFF;border:1px solid var(--glass-line);
  padding:.5rem 1rem;border-radius:999px;font-size:.78rem;color:var(--ink);margin-bottom:1.4rem;
}
.vhead .eyebrow::before{content:"\2726  ";}
.vhead h1{
  margin:0 0 .7rem;font-family:var(--font-body);font-weight:700;
  font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:1;letter-spacing:-.02em;color:var(--ink);
}
.vhead .sub{
  margin:0 auto 1.8rem;max-width:44ch;
  font-family:var(--font-serif);font-style:italic;
  font-size:clamp(1.2rem,2.1vw,1.7rem);line-height:1.35;color:var(--ink);
}
.vhead .ctas{display:flex;gap:.7rem;justify-content:center;}
.vhero .herocard{
  position:absolute;right:3%;bottom:6%;width:min(360px,86vw);padding:1.4rem 1.5rem;z-index:4;
  background:#FFFFFF;
  border:1px solid var(--glass-line);border-radius:var(--radius);
  font-size:1rem;line-height:1.5;color:#fff;
}
@keyframes driftY{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.lift-group{animation:liftup 9s ease-in-out infinite;}
@keyframes liftup{0%,20%{transform:translateY(0);}45%,75%{transform:translateY(-110px);}95%,100%{transform:translateY(0);}}
.drive-group{animation:heroDrive 14s linear infinite;}
@keyframes heroDrive{0%{transform:translateX(-320px);}100%{transform:translateX(1700px);}}

/* buttons */
.btn{
  display:inline-flex;gap:.6rem;align-items:center;
  background:#fff;color:var(--ink);border-radius:999px;
  padding:.75rem 1.4rem;font-size:.92rem;font-weight:600;border:0;cursor:pointer;
}
.btn b{width:22px;height:22px;border-radius:50%;background:var(--coral);display:inline-block;flex:none;}
.btn:hover{background:#2A2519;}
.btn.ghost{background:#FFFFFF;color:var(--ink);border:1px solid var(--glass-line);}
.btn.ghost:hover{border-color:var(--ink);}


/* ---- detail-page hero ---- */
.phero{grid-template-columns:1.05fr 1fr;gap:1.2rem;padding:1.2rem 2rem 0;}
.phero .lead{padding:2.6rem 1.8rem 2.2rem;border-radius:var(--radius);}
.phero .lead .mono{opacity:.85;display:block;margin-bottom:1.4rem;}
.phero h1{
  font-family:var(--font-body);font-weight:700;
  font-size:clamp(2rem,4vw,2.9rem);line-height:1.05;letter-spacing:-.02em;margin:0 0 1rem;
}
.phero .say{font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.4;max-width:30ch;margin:0;}

/* coloured panels: product accents */
.on-blue{background:var(--glass-bg);color:var(--ink);border:1px solid var(--glass-line);}
.on-yellow{background:var(--glass-bg);color:var(--ink);border:1px solid var(--glass-line);}
.on-green{background:var(--glass-bg);color:var(--ink);border:1px solid var(--glass-line);}
.on-pink{background:var(--glass-bg);color:var(--ink);border:1px solid var(--glass-line);}
.on-blue .mono,.on-green .mono{color:var(--muted);}
.on-yellow .mono,.on-pink .mono{color:var(--muted);}

/* ---- spec plate ---- */
.plate{padding:0;display:flex;flex-direction:column;overflow:clip;}
.plate .phead{
  border-bottom:1px solid var(--glass-line);
  padding:.7rem var(--pad-x);color:var(--muted);
}
.plate dl{margin:0;flex:1;display:flex;flex-direction:column;}
.plate .prow{
  display:grid;grid-template-columns:7.6rem 1fr;
  gap:.9rem;align-items:center;
  padding:.85rem var(--pad-x);
  border-bottom:1px solid rgba(21,18,10,.12);
  flex:1 1 auto;min-height:3.4rem;
}
.plate .prow:last-child{border-bottom:0;}
.plate dt{color:var(--muted);}
.plate dd{margin:0;font-size:.95rem;font-weight:500;overflow-wrap:anywhere;}
.plate dd a{border-bottom:1px solid var(--coral-soft);padding:.5rem .15rem;margin:-.5rem -.15rem;}
.on{display:inline-flex;align-items:flex-start;gap:.45rem;color:var(--coral-soft);font-weight:500;}
.on::before{content:"";width:8px;height:8px;flex:none;margin-top:.42em;border-radius:50%;background:currentColor;animation:blink 2.6s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}

/* ---- action strip ---- */
.strip{grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:1.6rem 2rem .4rem;}
.strip .lbl{color:var(--muted);padding:0;}
.strip .acts{display:flex;gap:.6rem;flex-wrap:wrap;padding:0;}
.strip .acts .btn{font-size:.82rem;padding:.6rem 1.1rem;}

/* now line */
.now{grid-template-columns:auto 1fr;align-items:baseline;gap:1rem;padding:1.2rem 2rem 0;}
.now .lbl{color:var(--coral-soft);font-weight:700;padding:0;}
.now p{margin:0;padding:0;font-size:.95rem;color:var(--muted);max-width:70ch;}

/* ---- section headers ---- */
.shead{display:block;text-align:center;margin-block:0;padding:4rem 2rem .6rem;width:min(var(--pw),100%);margin-inline:auto;}
.shead .cell{padding:0;}
.shead .n{display:block;color:var(--muted);font-family:var(--font-mono);letter-spacing:.2em;margin-bottom:.9rem;padding:0;}
.shead h2{
  font-family:var(--font-body);font-weight:700;font-style:normal;
  font-size:clamp(1.9rem,3.4vw,2.6rem);letter-spacing:-.02em;line-height:1.1;
  margin:0;padding:0;color:var(--text);
}
.shead .pairline{
  display:block;font-family:var(--font-serif);font-style:italic;font-weight:400;
  font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.2;color:var(--ink);margin-top:.15rem;
}

/* ---- card grids ---- */
.grid2{grid-template-columns:1fr 1fr;}
.grid3{grid-template-columns:repeat(3,1fr);}
.grid4{grid-template-columns:repeat(4,1fr);}
.row.grid2,.row.grid3,.row.grid4,.row.screens{
  gap:1px;background:var(--glass-line);background-clip:content-box;
  margin-top:.55rem;margin-bottom:0;padding-top:0;padding-bottom:0;
}
.row:is(.grid2,.grid3,.grid4,.screens) + .row:is(.grid2,.grid3,.grid4,.screens){margin-top:1px;}
.row.grid2 > .cell,.row.grid3 > .cell,.row.grid4 > .cell,.row.screens > .cell{border:0;outline:1px solid var(--glass-line);border-radius:0;background-image:
    radial-gradient(circle 2.2px at 0px 0px, var(--ink) 1.8px, transparent 2.2px),
    radial-gradient(circle 2.2px at 100% 0px, var(--ink) 1.8px, transparent 2.2px),
    radial-gradient(circle 2.2px at 0px 100%, var(--ink) 1.8px, transparent 2.2px),
    radial-gradient(circle 2.2px at 100% 100%, var(--ink) 1.8px, transparent 2.2px);background-repeat:no-repeat;background-color:var(--glass-bg);}
.row.stories{margin-top:1.4rem;}

.vent{display:flex;flex-direction:column;gap:.55rem;padding:1.7rem var(--pad-x);min-height:230px;}
.vent .glyph{margin-bottom:.6rem;}
.vent .glyph svg{display:block;}
.vent .top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.vent h3{font-family:var(--font-body);font-weight:600;font-size:1.4rem;letter-spacing:-.01em;margin:0;}
.vent p{margin:0;font-size:.92rem;line-height:1.5;max-width:var(--measure-card);flex:1;}
.vent .go{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-top:.8rem;font-weight:700;}
a.vent{transition:transform .15s cubic-bezier(.2,.6,.2,1);}
a.vent:hover{transform:translateY(-3px);}
a.vent:hover .go{text-decoration:underline;}
.tag{
  font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;
  border:1px solid currentColor;border-radius:999px;padding:.24rem .6rem;white-space:nowrap;
}

.job{padding:1.7rem var(--pad-x);}
.job .mono{color:var(--muted);display:block;margin-bottom:.9rem;}
.job h3{font-family:var(--font-body);font-weight:600;font-size:1.25rem;margin:0 0 .2rem;}
.job .role{display:block;font-size:.92rem;font-weight:500;color:var(--muted);margin-bottom:.7rem;}
.job p{margin:0;font-size:.92rem;max-width:var(--measure-card);}
.row > a.job,.row > .cell.job{display:block;}
.row > a.job,.row > .cell.job,.row > a.note,.row > .cell.flush{margin-top:.55rem;margin-bottom:.55rem;}
.row.grid2 > .cell,.row.grid3 > .cell,.row.grid4 > .cell,.row.screens > .cell{margin:0;}
.row > a.job p,.row > .cell.job p{max-width:none;}
a.job{display:block;transition:transform .15s cubic-bezier(.2,.6,.2,1);}
a.job:hover{transform:translateY(-3px);}
a.job .go{display:block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-top:1rem;color:var(--coral-soft);}
a.job:hover .go{text-decoration:underline;}

.note{padding:1.6rem var(--pad-x);}
.note .mono{color:var(--muted);}
.note h3{font-family:var(--font-body);font-weight:600;font-size:1.1rem;margin:.6rem 0 .45rem;}
.note p{margin:0;font-size:.92rem;color:var(--muted);max-width:var(--measure-card);}
.row > a.note p,.row > .cell.note p{max-width:72ch;}
a.note{display:block;text-decoration:none;transition:transform .15s cubic-bezier(.2,.6,.2,1);}
a.note:hover{transform:translateY(-3px);}
a.note .go{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;display:inline-block;margin-top:.8rem;color:var(--coral-soft);
}
a.note:hover .go{text-decoration:underline;}

/* ---- career graph ---- */
.cgraph{padding:1.8rem var(--pad-x) 1rem;}
.cgraph svg{width:100%;height:auto;display:block;}
.cg-mobile{display:none;}
@media (max-width:880px){
  .cgraph .cg-desktop{display:none;}
  .cg-mobile{display:block;}
  .cg-mobile .trow{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:baseline;padding:.75rem 0;border-bottom:1px solid rgba(21,18,10,.12);}
  .cg-mobile .trow:last-child{border-bottom:0;}
  .cg-mobile .trow i{width:12px;height:12px;border-radius:4px;background:var(--coral);display:block;position:relative;top:1px;}
  .cg-mobile .trow b{font-weight:600;font-size:1rem;display:block;}
  .cg-mobile .trow span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
}

.cgraph .why{margin:.6rem 0 0;font-size:.92rem;color:var(--muted);max-width:70ch;}

/* ---- wide feature card ---- */
.row > a.job.fieldnote{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:2.5rem;}
.fieldnote .go{white-space:nowrap;font-size:.82rem;}
@media (max-width:880px){.row > a.job.fieldnote{grid-template-columns:1fr;}}

/* ---- tinted card variants ---- */
.tint-coral{background:var(--glass-bg);border-color:var(--glass-line);}
.tint-gold{background:var(--glass-bg);border-color:var(--glass-line);}
.tint-green{background:var(--glass-bg);border-color:var(--glass-line);}
.tint-sand{background:var(--glass-bg);border-color:var(--glass-line);}
.tint-gold .mono{color:var(--muted);}
.tint-green .mono{color:var(--muted);}
.tint-sand .mono{color:var(--muted);}

/* ---- numbered features ---- */
.feat{grid-template-columns:var(--gutter) 1fr;align-items:start;padding:1.2rem 2rem;border-bottom:1px solid rgba(21,18,10,.12);margin-block:0;}
.feat.auto{grid-template-columns:auto 1fr;gap:1rem;}
.feat .n{padding:0;color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;}
.feat .body{padding:0;}
.feat h3{font-family:var(--font-body);font-weight:600;font-size:1.05rem;margin:0 0 .35rem;}
.feat p{margin:0;font-size:.95rem;color:var(--muted);max-width:none;}
.row.gutter{grid-template-columns:var(--gutter) 1fr;padding:0 2rem;}
.gcell{border-right:1px solid rgba(21,18,10,.12);}
.gcell .glabel{
  display:block;padding:2.2rem 0 0 0;
  font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
}

.prose{padding:1.6rem 0;max-width:none;}
.prose p{margin:0 0 1rem;font-size:.95rem;line-height:1.65;}
.prose p:last-child{margin-bottom:0;}
.prose strong{color:var(--coral-soft);font-weight:600;}

/* ---- product mock windows (PitStop screens) ---- */
.screens{grid-template-columns:repeat(3,1fr);}
.screens.two{grid-template-columns:repeat(2,1fr);}
.shot{padding:0;display:flex;flex-direction:column;gap:.9rem;margin:0;}
.shot .cap{color:var(--muted);margin-top:auto;padding:0 .2rem .4rem;}
.mockwin{overflow:clip;background:#FBFAF8;color:var(--ink);border:1px solid var(--glass-line);}
.mockwin .bar{display:flex;gap:.35rem;padding:.55rem .8rem;border-bottom:1px solid #DBD9D2;}
.mockwin .bar i{width:9px;height:9px;border-radius:50%;background:#DBD9D2;display:block;}
.mockwin .pad{padding:.9rem;}
.mockwin .big{font-weight:700;font-size:1.3rem;font-family:var(--font-body);}
.mockwin .lab{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim-ink,#5B666D);}
.mockwin .line{display:flex;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid #ECEBE7;font-size:.82rem;}
.mockwin .line:last-child{border-bottom:0;}
.mockwin .pill{font-size:.72rem;padding:.15rem .5rem;border-radius:999px;font-weight:600;}
.mockwin.narrow{max-width:210px;margin:0 auto;}
.mbars{display:flex;gap:6px;align-items:flex-end;height:70px;margin-top:.6rem;}
.mbars i{flex:1;background:var(--coral);display:block;border-radius:4px 4px 0 0;}
.shotframe{overflow:clip;max-width:1000px;margin:0 auto;padding:.9rem;background:var(--sand);}
.shotframe img{border-radius:14px;display:block;}
.cap.center{text-align:center;margin-top:1rem;}

/* phone screenshots (Saathi) */
.shot .phone{border-radius:18px;overflow:clip;border:1px solid var(--glass-line);}
.shot .phone img{display:block;}

.mock-pad{padding:.9rem 1rem 1.1rem;}
.mock-h{font-weight:600;font-size:.95rem;margin:0 0 .7rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem;}
.mstats{display:flex;gap:1px;background:var(--glass-line);border:1px solid var(--glass-line);margin-bottom:.8rem;}
.mstat{flex:1;background:#fff;padding:.5rem .6rem;}
.mstat b{display:block;font-size:1rem;font-weight:600;}
.mstat span{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.mrow{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid rgba(21,18,10,.1);font-size:.85rem;}
.mrow:last-child{border-bottom:0;}
.mrow .money{font-family:var(--font-mono);font-size:.78rem;}
.chip{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--glass-line);border-radius:999px;padding:.14rem .5rem;white-space:nowrap;}
.chip.y{color:var(--coral-soft);border-color:var(--coral-soft);}
.chip.b{color:var(--steel);border-color:var(--steel);}
.mbtn{display:block;text-align:center;background:var(--coral);color:#fff;border-radius:999px;padding:.55rem 1rem;font-weight:600;font-size:.85rem;margin:.8rem 0;}
.mqr{display:grid;grid-template-columns:repeat(7,10px);gap:2px;justify-content:center;margin:.6rem auto .2rem;}
.mqr i{width:10px;height:10px;background:var(--ink);display:block;}
.mqr i.o{background:transparent;border:1px solid var(--glass-line);}

/* ---- stats ---- */
.bignum{padding:1.4rem var(--pad-x);display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:center;}
.bignum b{
  font-family:var(--font-body);font-weight:700;
  font-size:clamp(2.3rem,3.8vw,3.1rem);letter-spacing:-.02em;
  line-height:1;color:var(--ink);
}
.bignum span{
  font-size:.92rem;line-height:1.35;color:var(--text);
}

/* ---- chips ---- */
.tools{padding-top:.6rem;}
.set{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding:1.3rem var(--pad-x);}
.set > .lbl{color:var(--muted);padding-top:.5rem;}
.chips{display:flex;gap:.55rem;flex-wrap:wrap;}
.wall .chips{gap:.7rem;align-items:center;}
.tchip{
  font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--glass-line);border-radius:999px;
  padding:.45rem .85rem;background:#FFFFFF;
}
.wall{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding:1.4rem var(--pad-x);}
.wall > .lbl{color:var(--muted);padding-top:.55rem;}
.wm{
  font-family:var(--font-body);font-weight:600;
  font-size:1rem;letter-spacing:-.01em;color:var(--text);
  padding:.55rem 1.05rem;border-radius:999px;white-space:nowrap;
  background:#FFFFFF;border:1px solid var(--glass-line);
  display:inline-flex;align-items:center;gap:.55rem;
}
.wm::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--muted);flex:none;}
.wm.kpmg::before{background:#4D7FE0;}
.wm.bajaj::before{background:#3E9BE0;}
.wm.akasa::before{background:#FF6300;}
.wm.hira::before{background:#C9973B;}

/* ---- contact ---- */
.contact{background:var(--glass-bg);border:1px solid var(--glass-line);border-radius:var(--radius);padding:4.2rem 2rem;text-align:center;color:var(--ink);margin:1.2rem 0 0;}
.contact .mono{color:var(--muted);}
.contact h2,.contact h1{
  font-family:var(--font-serif);font-style:italic;font-weight:400;
  font-size:clamp(2.4rem,6.4vw,3.9rem);letter-spacing:0;
  margin:.7rem 0 .9rem;line-height:1;
}
.contact p{margin:0 auto 1.8rem;max-width:46ch;font-size:1.05rem;}
.contact .mail{
  font-family:var(--font-mono);
  font-size:clamp(1rem,3vw,1.5rem);
  border-bottom:2px solid var(--ink);padding-bottom:3px;word-break:break-word;color:var(--ink);
}
.socials{display:flex;gap:.7rem;justify-content:center;margin-top:1.6rem;flex-wrap:wrap;}
.socials a{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--glass-line);border-radius:999px;padding:.55rem 1rem;color:var(--ink);
}
.socials a:hover{border-color:var(--ink);}
.socials a.fill{background:var(--coral);color:#fff;border-color:var(--coral);}
.socials a.fill:hover{background:var(--coral-soft);}

/* ---- footer ---- */
.foot{grid-template-columns:1fr auto;background:transparent;padding:1.8rem 2rem 1.6rem;margin-top:1.6rem;border-top:1px solid rgba(21,18,10,.12);}
.foot .who{padding:0;color:var(--muted);}
.foot .links{display:flex;gap:1.2rem;padding:0;flex-wrap:wrap;}
.foot .links a{color:var(--muted);padding:.6rem .3rem;margin:-.6rem -.3rem;}
.foot .links a:hover{color:var(--text);}

/* ---- photo gallery ---- */
.gallery{padding:1.4rem 0;}
.gallery .cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-auto-rows:8px;gap:14px;}
.gallery figure{margin:0;overflow:clip;border-radius:14px;background:#FFFFFF;border:1px solid var(--glass-line);}
.gallery img{width:100%;height:auto;display:block;transition:transform .5s cubic-bezier(.2,.6,.2,1);}
.gallery figure:hover img{transform:scale(1.03);}
@media (max-width:640px){
  .gallery .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
}

/* ---- scroll fade ---- */
.fx{opacity:0;transform:translateY(16px);transition:opacity .5s cubic-bezier(.2,.6,.2,1),transform .5s cubic-bezier(.2,.6,.2,1);}
.fx.in{opacity:1;transform:none;}

@media (min-width:881px){
  .prose p,.feat p,.row > a.job p,.row > .cell.job p{text-align:justify;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:7 4 4;text-wrap:pretty;}
}

.row:is(.grid2,.grid3) a.job p,.row:is(.grid2,.grid3) .cell.job p{max-width:var(--measure-card);text-align:left;hyphens:none;}

/* ---- product mini animations ---- */
.minianim{margin-top:1.6rem;}
.minianim svg{display:block;}
.spin{transform-origin:center;transform-box:fill-box;animation:spin 9s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}
.wob{transform-origin:center;transform-box:fill-box;animation:wob 3.2s ease-in-out infinite;}
@keyframes wob{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(10deg)}}
.wave1{animation:wavefade 2.4s ease-in-out infinite;}
.wave2{animation:wavefade 2.4s ease-in-out .4s infinite;}
.wave3{animation:wavefade 2.4s ease-in-out .8s infinite;}
@keyframes wavefade{0%,100%{opacity:.15}30%{opacity:1}}
.ringpulse{transform-origin:center;transform-box:fill-box;animation:ringpulse 2.6s ease-out infinite;}
.ringpulse.r2{animation-delay:.9s;}
@keyframes ringpulse{0%{transform:scale(.55);opacity:1}80%,100%{transform:scale(1.5);opacity:0}}
.blinkdot{animation:blink 2.6s ease-in-out infinite;}

/* ---- feature icons ---- */
.feat .n{display:flex;flex-direction:column;gap:.55rem;align-items:flex-start;}
.feat .n svg{display:block;}

/* ---- motion discipline ---- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;}
  .fx{opacity:1;transform:none;}
    .spotcard.sc1{opacity:1;transform:none;}
}

/* ---- mobile ---- */
@media (max-width:880px){
  body{padding:8px;}
  .frame{border-radius:18px;}
  .row,.shead,.strip,.now,.crumb,.feat,.row.gutter{padding-left:1.1rem;padding-right:1.1rem;}
  .phero{grid-template-columns:1fr;padding-left:1.1rem;padding-right:1.1rem;}
  .grid2,.grid3,.grid4,.screens,.screens.two{grid-template-columns:1fr;}
  .feat{grid-template-columns:auto 1fr;gap:1rem;}
  .row.gutter{grid-template-columns:1fr;}
  .gcell{display:none;}
  .pillnav nav{flex-wrap:wrap;justify-content:center;}
  .vhero{height:auto;min-height:640px;margin-top:-4.6rem;}
  .vhero h1{max-width:92%;bottom:26%;}
  .vhero .sub{bottom:15%;max-width:92%;}
  .vhero .herocard{display:none;}
  .vhero .eyebrow{bottom:36%;}
      .hotspot{display:none;}
  .gallery .cols{columns:1;}
  .strip{grid-template-columns:1fr;}
  .now{grid-template-columns:1fr;gap:.2rem;}
  .contact{margin-left:0;margin-right:0;}
}
@media (min-width:881px) and (max-width:1100px){
  .gallery .cols{columns:2;}
}

/* mobile overrides: MUST stay last in file to win the cascade */
@media (max-width:640px){
  .contact .mail{font-size:.82rem;display:inline-block;max-width:100%;}
  .foot .links{justify-content:flex-start;}
  .m-hide{display:none;}
  .foot{grid-template-columns:1fr;gap:.7rem;}
  .foot .who{white-space:nowrap;}
  .set{grid-template-columns:1fr;gap:.6rem;}
  .plate .prow{grid-template-columns:5.4rem 1fr;}
  .contact .mail{font-size:.85rem;white-space:nowrap;}
}
