/* dhrudha base.css — variables, reset, typography, theme */

:root{
  --saffron:#F46036; --saffron-h:#D85025;
  --saffron-glow:rgba(244,96,54,.3);
  --navy:#0F2942; --charcoal:#1F1F1F; --soft-white:#F8F7F9;
  --t:.22s;
}
[data-theme="light"]{
  --bg:#F8F7F9; --surface:#FFFFFF; --surface2:#F2F1F4;
  --nav-bg:rgba(248,247,249,.97); --footer-bg:#0A1F33;
  --text:#1F1F1F; --text2:#3A3A42; --text3:#6B6B73;
  --border:rgba(31,31,31,.08); --border2:rgba(31,31,31,.05);
  --shadow:0 1px 2px rgba(31,31,31,.04),0 8px 24px rgba(31,31,31,.06);
  --shadow-lg:0 2px 8px rgba(31,31,31,.06),0 12px 40px rgba(31,31,31,.08);
  --nav-link:#52525B; --nav-hover:rgba(31,31,31,.05);
  --logo-bg:var(--navy); --logo-text:#FFFFFF;
  --ham:rgba(31,31,31,.65); --mob-bg:#FFFFFF; --mob-link:#52525B;
  --stat-border:rgba(31,31,31,.10); --stat-sep:rgba(31,31,31,.12);
  --tag-bg:rgba(31,31,31,.04); --tag-border:rgba(31,31,31,.10); --tag-text:rgba(31,31,31,.45);
  --hero-glow:rgba(244,96,54,.055);
  --card-top:var(--saffron);
  --vm1-bg:rgba(244,96,54,.05); --vm1-text:#1F1F1F; --vm1-sub:#3A3A42; --vm1-rule:rgba(244,96,54,.15);
  --vm2-bg:rgba(244,96,54,.05); --vm2-border:rgba(244,96,54,.15); --vm2-text:#1F1F1F; --vm2-sub:#52525B; --vm2-rule:rgba(244,96,54,.15);
  --svc-bg:#FFFFFF; --svc-border:rgba(31,31,31,.07);
  --pill-bg:rgba(244,96,54,.07); --pill-text:var(--saffron);
  --pc-bg:#FFFFFF; --pc-border:rgba(31,31,31,.07);
  --pgc-bg:rgba(244,96,54,.05); --pgc-border:rgba(244,96,54,.15);
  --tint:#EDF2FA;
  --cd-bg:rgba(244,96,54,.07); --cd-border:rgba(244,96,54,.14);
  --form-bg:#F8F7F9; --form-border:rgba(31,31,31,.08);
  --inp-bg:#FFFFFF; --inp-border:rgba(31,31,31,.12);
  --form-label:#666; --form-note:#aaa; --form-ph:rgba(31,31,31,.28);
  --quote-bg:#FFFFFF; --quote-shadow:0 2px 12px rgba(31,31,31,.06);
  --step-track:linear-gradient(90deg,var(--saffron),rgba(244,96,54,.15));
}
[data-theme="dark"]{
  --bg:#0F2942; --surface:rgba(255,255,255,.05); --surface2:rgba(255,255,255,.03);
  --nav-bg:rgba(15,41,66,.97); --footer-bg:#071525;
  --text:#FFFFFF; --text2:rgba(255,255,255,.68); --text3:rgba(255,255,255,.42);
  --border:rgba(255,255,255,.10); --border2:rgba(255,255,255,.06);
  --shadow:none; --shadow-lg:none;
  --nav-link:rgba(255,255,255,.62); --nav-hover:rgba(255,255,255,.06);
  --logo-bg:#FFFFFF; --logo-text:var(--navy);
  --ham:rgba(255,255,255,.70); --mob-bg:#0F2942; --mob-link:rgba(255,255,255,.65);
  --stat-border:rgba(255,255,255,.10); --stat-sep:rgba(255,255,255,.12);
  --tag-bg:rgba(255,255,255,.04); --tag-border:rgba(255,255,255,.10); --tag-text:rgba(255,255,255,.48);
  --hero-glow:rgba(244,96,54,.09);
  --card-top:var(--saffron);
  --vm1-bg:rgba(244,96,54,.08); --vm1-text:#FFFFFF; --vm1-sub:rgba(255,255,255,.60); --vm1-rule:rgba(244,96,54,.20);
  --vm2-bg:rgba(244,96,54,.08); --vm2-border:rgba(244,96,54,.20); --vm2-text:#FFFFFF; --vm2-sub:rgba(255,255,255,.60); --vm2-rule:rgba(244,96,54,.20);
  --svc-bg:rgba(255,255,255,.05); --svc-border:rgba(255,255,255,.08);
  --pill-bg:rgba(244,96,54,.12); --pill-text:var(--saffron);
  --pc-bg:rgba(255,255,255,.05); --pc-border:rgba(255,255,255,.08);
  --pgc-bg:rgba(244,96,54,.08); --pgc-border:rgba(244,96,54,.20);
  --tint:rgba(244,96,54,.10);
  --cd-bg:rgba(244,96,54,.10); --cd-border:rgba(244,96,54,.20);
  --form-bg:rgba(255,255,255,.04); --form-border:rgba(255,255,255,.08);
  --inp-bg:rgba(255,255,255,.07); --inp-border:rgba(255,255,255,.10);
  --form-label:rgba(255,255,255,.48); --form-note:rgba(255,255,255,.28); --form-ph:rgba(255,255,255,.26);
  --quote-bg:rgba(255,255,255,.06); --quote-shadow:none;
  --step-track:linear-gradient(90deg,var(--saffron),rgba(244,96,54,.18));
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background var(--t),color var(--t);}
img,svg,video{max-width:100%;}
.wrap{max-width:1440px;margin:0 auto;padding:0 clamp(24px,4vw,64px);}
/* .sec already pads the section; a nested .wrap must not pad a second time */
.sec .wrap{padding-left:0;padding-right:0;}

/* Keyboard focus — visible ring on links and buttons (form fields keep their own focus style) */
:focus-visible{outline:2px solid var(--saffron);outline-offset:3px;}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}

.tt{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;transition:background var(--t),border-color var(--t),transform .15s;}
.tt:hover{transform:scale(1.08);}
.tt svg{width:18px;height:18px;stroke-width:2;color:var(--text2);}
[data-theme="light"] .tt .ic-sun{display:none;}
[data-theme="light"] .tt .ic-moon{display:block;}
[data-theme="dark"] .tt .ic-sun{display:block;}
[data-theme="dark"] .tt .ic-moon{display:none;}


/* ── TEXT JUSTIFICATION — DESKTOP ONLY (narrow columns get ragged-right in responsive.css) ── */
@media(min-width:1025px){
.sec p,
.sec-lead,
.hero-sub,
.val-tx,
.svc-d,
.tf,
.pill-tx,
.vm-sub,
.v1 .vm-sub,
.v2 .vm-sub,
.contact-intro,
.apply-intro,
.role-tx,
.mentor-tx,
.pd-desc,
.feat-tx,
.cgs-pt-x,
.cgs-caption,
.story-body,
.why-tx,
.prog-tx,
.cgp-tx,
.fnote,
.svc-pts li,
.pd-list li,
.step-tx,
.legal-p,
.sec .wrap p,
.hero .hi p {
  text-align: justify !important;
  text-justify: inter-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}
}
