/* DRSTY Grounds — clean edition. Flat black, one accent, real work, no glow/3D lighting. */
.gr{--r:#FF1212;--line:rgba(255,255,255,.1);--dim:rgba(255,255,255,.6);--e:cubic-bezier(.16,1,.3,1);background:#000}
.gr .mono{letter-spacing:.14em}
/* hero */
.gc-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center;
  padding:clamp(130px,16vh,180px) 7vw clamp(60px,9vh,100px);min-height:min(100vh,900px);box-sizing:border-box}
.gc-hero .mono{color:var(--r);font-size:11px}
.gc-hero h1{font:400 clamp(60px,8.4vw,140px)/.88 'Anton',sans-serif;text-transform:uppercase;margin:18px 0 22px;letter-spacing:-.005em}
.gc-hero h1 em{font-style:normal;color:var(--r)}
.gc-hero p{color:var(--dim);font-size:clamp(16px,1.25vw,19px);line-height:1.6;max-width:520px;margin:0 0 30px}
.gc-cta{display:flex;flex-wrap:wrap;gap:12px}
.gc-meta{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:38px;padding-top:22px;border-top:1px solid var(--line);color:rgba(255,255,255,.45);font-size:10.5px}
.gc-meta b{color:#fff;font-weight:500}
.gc-pic{position:relative;margin:0;border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:#0b0b0b;border:1px solid var(--line)}
.gc-pic img{width:100%;height:100%;object-fit:cover;display:block}
.gc-pic figcaption{position:absolute;left:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.72);font-size:10px;color:#fff;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* buttons */
.gr .gr-btn{box-shadow:none}
/* intro + facts */
.gr .gr-intro{border-top:1px solid var(--line)}
.gr .gr-facts div{background:none}
/* sectors: flat cards */
.gr .gsec div{background:#0a0a0a;border-color:var(--line);border-radius:16px}
.gr .gsec div:hover{border-color:rgba(255,255,255,.28);transform:none}
/* process: no glowing dots */
.gr .gpr::before{background:var(--line)}
.gr .gpr div::before{box-shadow:0 0 0 6px #000;background:#000;border-color:rgba(255,255,255,.35)}
.gr .gpr div:first-child::before{border-color:var(--r);background:var(--r)}
/* recent work */
.gc-work{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gc-work a{display:block;text-decoration:none;color:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#0a0a0a;transition:border-color .3s}
.gc-work a:hover{border-color:rgba(255,255,255,.3)}
.gc-work img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform .8s var(--e)}
.gc-work a:hover img{transform:scale(1.03)}
.gc-work div{padding:16px 18px 18px}
.gc-work b{display:block;font-weight:600;font-size:16px}
.gc-work span{color:var(--dim);font-size:13.5px}
/* CTA: flat */
.gr .gcta{background:#0c0c0c;border:1px solid var(--line)}
.gr .gcta::before{display:none}
.gr .gcta .gr-btn{background:var(--r);color:#fff}.gr .gcta .gr-btn:hover{background:#fff;color:#000}
.gr .gcta h2 {font-size:clamp(40px,5.6vw,96px)}
/* gentle reveal (works without the old 3D script) */
.gr .gr-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--e),transform .7s var(--e)}
.gr .gr-reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.gr .gr-reveal{opacity:1;transform:none;transition:none}}
@media (max-width:860px){
  .gc-hero{grid-template-columns:minmax(0,1fr);padding:118px 20px 56px;min-height:0;gap:34px}
  .gc-hero h1{font-size:clamp(58px,17vw,96px)}
  .gc-work{grid-template-columns:1fr}
  .gr .gcta{padding:44px 24px}
}

/* ── Vijayawada 3D hero (scroll-driven, /vja-hero-3d.js) ── */
.v3{position:relative;height:460vh;background:#07080b}
.v3-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.v3 canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.2s}
.v3.v3-live canvas{opacity:1}
.v3-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,8,11,.55) 0%,rgba(7,8,11,0) 22%,rgba(7,8,11,0) 55%,rgba(7,8,11,.82) 100%);
  opacity:calc(.35 + var(--v3p,0)*.65)}
.v3-lab{position:absolute;left:0;top:0;opacity:0;visibility:hidden;pointer-events:none;will-change:transform,opacity}
.v3-lab i{display:block;transform:translate(-50%,-140%);font:500 11px/1 'Fragment Mono',ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;font-style:normal;white-space:nowrap;
  color:#fff;padding:9px 13px;border-radius:999px;background:rgba(10,11,14,.66);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.v3-lab.red i{border-color:rgba(255,26,18,.6);box-shadow:0 0 0 4px rgba(255,26,18,.08)}
.v3-lab.gold i{border-color:rgba(216,168,69,.6);color:#f6e2b4}
.v3-intro{position:absolute;left:7vw;top:clamp(110px,16vh,150px);max-width:420px;transition:opacity .5s;opacity:calc(1 - var(--v3p,0)*9)}
.v3-intro .mono{color:var(--r);font-size:11px}
.v3-intro p{margin:14px 0 0;font-size:clamp(22px,2.4vw,34px);line-height:1.15;letter-spacing:-.02em;color:#fff}
.v3-copy{position:absolute;left:7vw;bottom:clamp(54px,9vh,90px);max-width:620px;opacity:0;transform:translateY(24px);transition:opacity .7s var(--e),transform .8s var(--e);pointer-events:none}
.v3.v3-end .v3-copy{opacity:1;transform:none;pointer-events:auto}
.v3-shade::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,11,.9) 0%,rgba(7,8,11,.55) 34%,rgba(7,8,11,0) 60%);opacity:0;transition:opacity .8s}
.v3.v3-end .v3-shade::after{opacity:1}
@media (max-width:760px){.v3-shade::after{background:linear-gradient(0deg,rgba(7,8,11,.94) 0%,rgba(7,8,11,.7) 38%,rgba(7,8,11,0) 62%)}}
.v3-copy .mono{color:var(--r);font-size:11px}
.v3-copy h1{font:400 clamp(60px,9vw,150px)/.88 'Anton',sans-serif;text-transform:uppercase;margin:14px 0 18px}
.v3-copy h1 em{font-style:normal;color:var(--r)}
.v3-copy p{color:rgba(255,255,255,.72);font-size:clamp(15px,1.15vw,18px);line-height:1.6;max-width:520px;margin:0 0 26px}
.v3-hint{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(255,255,255,.55);font-size:10px;
  opacity:calc(1 - var(--v3p,0)*12)}
.v3-hint span{width:1px;height:38px;background:linear-gradient(180deg,transparent,#fff);animation:v3h 1.8s ease-in-out infinite}
@keyframes v3h{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.v3-bar{position:absolute;right:22px;top:50%;width:2px;height:120px;margin-top:-60px;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden}
.v3-bar i{position:absolute;left:0;top:0;width:100%;height:100%;background:var(--r);transform-origin:top;transform:scaleY(var(--v3p,0))}
/* no WebGL / reduced motion: a calm static hero with the same words */
.v3.v3-static{height:auto}
.v3.v3-static .v3-stage{position:relative;height:auto;min-height:88vh;display:flex;align-items:flex-end;
  background:radial-gradient(70% 60% at 70% 30%,rgba(255,26,18,.12),transparent 70%),#07080b}
.v3.v3-static canvas,.v3.v3-static .v3-lab,.v3.v3-static .v3-hint,.v3.v3-static .v3-bar,.v3.v3-static .v3-intro{display:none}
.v3.v3-static .v3-copy{position:relative;left:auto;bottom:auto;opacity:1;transform:none;pointer-events:auto;padding:140px 7vw 70px}
@media (max-width:760px){
  .v3{height:400vh}
  .v3-intro{left:20px;right:20px;top:104px}
  .v3-copy{left:20px;right:20px;bottom:44px}
  .v3-copy h1{font-size:clamp(50px,14.5vw,86px)}
  .v3-bar{right:10px;height:90px;margin-top:-45px}
  .v3-lab i{font-size:9.5px;padding:7px 10px;letter-spacing:.14em}
  .v3.v3-static .v3-copy{padding:120px 20px 56px}
}

/* ── Founded in Vijayawada / impact ── */
.im{padding:clamp(80px,11vw,160px) 7vw;border-top:1px solid var(--line)}
.im-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.im h2{font:400 clamp(40px,4.8vw,80px)/.95 'Anton',sans-serif;text-transform:uppercase;margin:16px 0 22px}
.im h2 .ser{color:var(--r)}
.im-lede{color:var(--dim);font-size:clamp(15.5px,1.2vw,18px);line-height:1.7;margin:0 0 30px;max-width:600px}
.im-pts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.im-pts div{background:#000;padding:22px 22px 24px}
.im-pts b{display:block;font-weight:600;font-size:16px;margin-bottom:8px}
.im-pts span{color:var(--dim);font-size:14px;line-height:1.55}
.im-fig{margin:0;position:relative;border:1px solid var(--line);border-radius:24px;background:radial-gradient(80% 70% at 55% 45%,rgba(255,26,18,.07),transparent 70%),#050506;padding:clamp(14px,2vw,28px)}
.im-fig figcaption{text-align:center;color:rgba(255,255,255,.45);font-size:10px;margin-top:8px}
.im-map{width:100%;height:auto;display:block;overflow:visible}
.im-ap{fill:#14161b;stroke:rgba(255,255,255,.38);stroke-width:1.2;stroke-linejoin:round}
.im-ln{fill:none;stroke:var(--r);stroke-width:1.1;stroke-opacity:.75;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1.6s var(--e);transition-delay:calc(var(--i)*.08s)}
.im-c circle{fill:#fff}.im-c text,.im-hub text{fill:rgba(255,255,255,.78);font:500 9.5px 'Inter',sans-serif}
.im-c{opacity:0;transition:opacity .6s;transition-delay:calc(.6s + var(--i)*.08s)}
.im-hub circle{fill:var(--r)}.im-hub text{fill:#fff;font-weight:700;font-size:11px}
.im-pulse{fill:none!important;stroke:var(--r);stroke-width:1.5;transform-origin:center;transform-box:fill-box;animation:imp 2.2s ease-out infinite}
@keyframes imp{0%{transform:scale(1);opacity:.9}100%{transform:scale(4);opacity:0}}
.im-run{fill:#fff;opacity:0;transition:opacity .6s 1.8s}
.im-fig.in .im-ln{stroke-dashoffset:0}.im-fig.in .im-c{opacity:1}.im-fig.in .im-run{opacity:.9}
.im-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(50px,6vw,90px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.im-stats div{padding:28px 22px 30px;border-left:1px solid var(--line)}.im-stats div:first-child{border-left:0;padding-left:0}
.im-stats b{display:block;font:400 clamp(38px,4vw,64px)/1 'Anton',sans-serif;color:#fff}
.im-stats span{display:block;margin-top:10px;color:var(--dim);font-size:13.5px}
.im-reg{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:28px}
.im-reg div{border:1px solid var(--line);border-radius:14px;padding:16px 16px 18px;background:#0a0a0a}
.im-reg .mono{color:var(--r);font-size:10px}.im-reg p{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.8)}
@media (max-width:980px){.im-grid{grid-template-columns:minmax(0,1fr)}.im-reg{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.im{padding:80px 20px}.im-pts{grid-template-columns:1fr}.im-stats{grid-template-columns:1fr 1fr}.im-stats div:nth-child(3){border-left:0;padding-left:0}.im-stats div{padding:22px 14px 24px}.im-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}.im-reg{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.im-ln{stroke-dashoffset:0;transition:none}.im-c,.im-run{opacity:1;transition:none}.im-pulse{animation:none}}

/* ── City poster (red sun + landmark, after the travel-poster style) ── */
.cp{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,96px);align-items:center;padding:clamp(80px,10vw,150px) 7vw;border-top:1px solid var(--line)}
.cp-poster{position:relative;margin:0;aspect-ratio:4/4.6;max-height:640px;border-radius:26px;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#5d8f9b 0%,#6f9ea7 46%,#a9b9b0 82%,#cbbfa6 100%);box-shadow:0 40px 90px -40px rgba(0,0,0,.9)}
.cp-poster::after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(120% 80% at 50% 0%,transparent 55%,rgba(0,0,0,.18));mix-blend-mode:multiply}
.cp-sun{position:absolute;z-index:0;left:50%;top:9%;width:72%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#a5171a 0%,#8a0f12 60%,#760b0e 100%);box-shadow:0 30px 80px -30px rgba(118,11,14,.8)}
.cp-name{position:absolute;z-index:1;left:6%;right:6%;top:18%;text-align:center;color:#fff6ee;font:700 clamp(40px,6vw,92px)/1 'Noto Serif Telugu','Noto Serif Oriya',serif;letter-spacing:-.01em;text-shadow:0 2px 0 rgba(0,0,0,.08)}
.cp-q{position:absolute;z-index:1;top:47%;font:500 clamp(15px,1.6vw,22px)/1.05 'Instrument Serif',Georgia,serif;color:#f2c14e;quotes:'\201D' '';}
.cp-q::before{content:'\201D';display:block;font-size:.9em;line-height:.6;color:#f2c14e}
.cp-q.l{left:20%}.cp-q.r{right:18%;text-align:left}
.cp-poster img{position:absolute;z-index:2;left:50%;bottom:-2%;width:86%;max-height:68%;object-fit:contain;object-position:bottom;transform:translateX(-50%);filter:drop-shadow(0 30px 30px rgba(20,10,0,.35)) contrast(1.06) saturate(.9) sepia(.12)}
.cp-poster::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.22;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.cp-tag{position:absolute;z-index:5;left:50%;bottom:14px;transform:translateX(-50%);font-size:9.5px;color:rgba(255,255,255,.8);background:rgba(0,0,0,.28);padding:6px 10px;border-radius:999px}
.cp-txt h2{font:400 clamp(40px,4.6vw,78px)/.95 'Anton',sans-serif;text-transform:uppercase;margin:16px 0 22px}
.cp-txt h2 .ser{color:var(--r)}
.cp-txt p{color:var(--dim);font-size:clamp(15.5px,1.15vw,18px);line-height:1.7;margin:0 0 16px;max-width:620px}
.cp-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:28px 0 0;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;max-width:620px}
.cp-facts div{background:#000;padding:16px 18px}.cp-facts dt{color:var(--r);font-size:10px}.cp-facts dd{margin:6px 0 0;font-size:14.5px;color:#fff}
@media (max-width:900px){.cp{grid-template-columns:minmax(0,1fr);padding:80px 20px}.cp-poster{max-width:460px;width:100%;margin:0 auto}}

/* ── Sectors bento: text tiles + work images, staggered columns ── */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bt-t{min-height:0}
.bt-col{display:grid;grid-template-rows:repeat(4,minmax(118px,auto));gap:12px}
.bt-col:nth-child(even){transform:translateY(0)}
.bt-t{background:#0b0b0c;border:1px solid var(--line);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;transition:border-color .3s}
.bt-t:hover{border-color:rgba(255,255,255,.26)}
.bt-t .mono{color:var(--r);font-size:10.5px}
.bt-t b{display:block;margin:auto 0 6px;padding-top:14px;font-weight:600;font-size:16.5px;line-height:1.2}
.bt-t span:not(.mono){color:var(--dim);font-size:13.5px;line-height:1.5}
.bt-i{position:relative;margin:0;grid-row:span 2;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#0b0b0c;min-height:248px}
.bt-i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--e)}
.bt-i:hover img{transform:scale(1.04)}
.bt-i::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.65))}
.bt-i figcaption{position:absolute;z-index:1;left:14px;bottom:14px;font-size:10px;color:#fff;background:rgba(0,0,0,.45);padding:6px 10px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media (max-width:980px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.bento{grid-template-columns:minmax(0,1fr);gap:10px}.bt-col{grid-template-rows:none;gap:10px}.bt-i{min-height:220px}.bt-t{padding:16px 18px}}
