/* ============================================================
   PRAVEG CONSULTANCY SERVICES , Capability Site
   Brand system derived from the 2026 Capability deck.
   ============================================================ */

/* ---------- self-hosted fonts (no external dependencies) ---------- */
@font-face{font-family:"Sora";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/sora-400.woff2") format("woff2"),url("../fonts/sora-400.woff") format("woff")}
@font-face{font-family:"Sora";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/sora-500.woff2") format("woff2"),url("../fonts/sora-500.woff") format("woff")}
@font-face{font-family:"Sora";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/sora-600.woff2") format("woff2"),url("../fonts/sora-600.woff") format("woff")}
@font-face{font-family:"Sora";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/sora-700.woff2") format("woff2"),url("../fonts/sora-700.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-400.woff2") format("woff2"),url("../fonts/inter-400.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-500.woff2") format("woff2"),url("../fonts/inter-500.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-600.woff2") format("woff2"),url("../fonts/inter-600.woff") format("woff")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/jbmono-400.woff2") format("woff2"),url("../fonts/jbmono-400.woff") format("woff")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/jbmono-500.woff2") format("woff2"),url("../fonts/jbmono-500.woff") format("woff")}


:root{
  /* Core navy system (from deck hero) */
  --ink:      #0C1A2E;
  --ink-2:    #112740;
  --ink-3:    #081320;
  --ink-card: #14304e;

  /* Brand marks (sampled from logo) */
  --swoosh:   #00A2DF;   /* bright accelerating blue */
  --swoosh-d: #0488bb;
  --stem:     #3E454F;   /* charcoal */

  /* Practice identities */
  --pmo:      #2C72C9;   /* PM / PMO , royal blue */
  --pmo-d:    #1E4E8C;
  --bio:      #13A9BC;   /* Biometrics , teal */
  --bio-d:    #0B7E8d;
  --ai-a:     #00A2DF;   /* Life-Sciences AI , bridge gradient */
  --ai-b:     #13A9BC;

  /* Light surfaces */
  --cloud:    #EAF1F9;
  --paper:    #F5F8FC;
  --white:    #FFFFFF;

  /* Text */
  --mist:     #9DB1CC;   /* muted on dark */
  --mist-2:   #C7D5E8;
  --slate:    #51637D;   /* muted on light */
  --slate-2:  #33445C;

  /* Lines */
  --line-d:   rgba(255,255,255,.10);
  --line-l:   #DBE5F1;

  --maxw: 1180px;
  --pad: clamp(1.25rem, 5vw, 4rem);
  --r: 18px;

  --shadow-1: 0 1px 2px rgba(8,19,32,.06), 0 8px 24px rgba(8,19,32,.06);
  --shadow-2: 0 30px 60px -24px rgba(8,19,32,.45);
  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- reset ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--ink);
  color:var(--white);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
::selection{background:var(--swoosh);color:#03101c}

/* ---------- type ---------- */
h1,h2,h3,h4{font-family:"Sora",sans-serif;font-weight:600;line-height:1.06;letter-spacing:-.02em}
.eyebrow{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.74rem;font-weight:500;letter-spacing:.24em;
  text-transform:uppercase;color:var(--swoosh);
  display:inline-flex;align-items:center;gap:.7em;
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--swoosh);box-shadow:0 0 12px var(--swoosh)}
.eyebrow.on-light{color:var(--pmo-d)}
.eyebrow.on-light::before{background:var(--pmo-d);box-shadow:none}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
section{position:relative}
.band{padding-block:clamp(4.5rem,9vw,8rem)}
.band.light{background:var(--paper);color:var(--slate-2)}
.band.cloud{background:var(--cloud);color:var(--slate-2)}
.lead{font-size:clamp(1.15rem,2.1vw,1.55rem);line-height:1.5;font-family:"Sora",sans-serif;font-weight:400;letter-spacing:-.01em}

/* skip link */
.skip{position:absolute;left:-999px;top:0;background:var(--white);color:var(--ink);padding:.6rem 1rem;border-radius:8px;z-index:200}
.skip:focus{left:1rem;top:1rem}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem var(--pad);
  transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
}
.nav.scrolled{
  background:rgba(9,19,32,.82);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  padding-block:.7rem;box-shadow:0 1px 0 var(--line-d);
}
.brand{display:flex;align-items:center;gap:.7rem;z-index:2}
.brand img{width:38px;height:38px}
.brand .name{font-family:"Sora";font-weight:700;font-size:1.18rem;letter-spacing:.14em}
.brand .name b{color:var(--swoosh);font-weight:700}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-links a{
  font-size:.92rem;color:var(--mist-2);position:relative;padding:.2rem 0;
  transition:color .25s;
}
.nav-links a:hover{color:#fff}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:0;background:var(--swoosh);transition:width .3s var(--ease)}
.nav-links a:hover::after{width:100%}
.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:"Sora";font-weight:600;font-size:.92rem;letter-spacing:.01em;
  padding:.72rem 1.3rem;border-radius:999px;border:1px solid transparent;
  cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .25s,color .25s;
  white-space:nowrap;
}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-primary{background:var(--swoosh);color:#04121f;box-shadow:0 10px 30px -8px rgba(0,162,223,.55)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -8px rgba(0,162,223,.7)}
.btn-ghost{border-color:var(--line-d);color:#fff;background:rgba(255,255,255,.02)}
.btn-ghost:hover{border-color:var(--swoosh);color:var(--swoosh);transform:translateY(-2px)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;color:#fff;z-index:2}
.nav-toggle svg{width:26px;height:26px}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--ink)}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero::after{ /* readability + vignette */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(120% 90% at 18% 40%, rgba(9,19,32,.78) 0%, rgba(9,19,32,.35) 45%, rgba(9,19,32,0) 70%),
    linear-gradient(180deg, rgba(9,19,32,.55) 0%, rgba(9,19,32,0) 30%, rgba(9,19,32,.15) 70%, var(--ink) 100%);
}
.hero-inner{position:relative;z-index:3;width:100%;padding-block:7rem 3rem}
.hero h1{
  font-size:clamp(3rem,8.5vw,7rem);font-weight:600;letter-spacing:-.035em;margin:.9rem 0 0;
}
.hero h1 .accel{
  display:block;
  background:linear-gradient(95deg,#fff 30%,var(--swoosh));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p.sub{max-width:46ch;margin-top:1.5rem;color:var(--mist-2);font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.55}
.hero p.sub b{color:#fff;font-weight:600}
.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}
.hero-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2.2rem}
.tag{
  font-family:"JetBrains Mono",monospace;font-size:.72rem;letter-spacing:.06em;
  padding:.45rem .85rem;border:1px solid var(--line-d);border-radius:999px;color:var(--mist-2);
  background:rgba(255,255,255,.02);
}
.tag b{color:var(--swoosh)}

/* hero stat ticker */
.ticker{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  border-top:1px solid var(--line-d);
  background:linear-gradient(0deg,rgba(8,19,32,.6),transparent);
  backdrop-filter:blur(6px);
}
.ticker-row{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.ticker .it{padding:1.1rem 0;border-left:1px solid var(--line-d)}
.ticker .it:first-child{border-left:0}
.ticker .num{font-family:"Sora";font-weight:700;font-size:clamp(1.3rem,2.6vw,2rem);letter-spacing:-.02em}
.ticker .num span{color:var(--swoosh)}
.ticker .lab{font-size:.74rem;color:var(--mist);letter-spacing:.04em;margin-top:.1rem}
.scroll-cue{position:absolute;left:50%;bottom:6.5rem;transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--mist);font-family:"JetBrains Mono";font-size:.66rem;letter-spacing:.2em}
.scroll-cue .dot{width:1px;height:42px;background:linear-gradient(var(--swoosh),transparent);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}40%{transform:scaleY(1);transform-origin:top}60%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ============================================================
   POSITIONING (dark)
   ============================================================ */
.pos{background:var(--ink-2);position:relative;overflow:hidden}
.pos .glow{position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(120px);opacity:.25;pointer-events:none}
.pos .glow.a{background:var(--swoosh);top:-200px;right:-120px}
.pos .glow.b{background:var(--bio);bottom:-260px;left:-160px;opacity:.18}
.pos-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,5rem);align-items:start;position:relative;z-index:2}
.pos h2{font-size:clamp(1.9rem,4vw,3.1rem);color:#fff;max-width:18ch}
.pos h2 em{font-style:normal;color:var(--swoosh)}
.pos .body p{color:var(--mist-2);margin-top:1.2rem;font-size:1.05rem}
.pos .deva{font-family:"JetBrains Mono";color:var(--mist);font-size:.82rem;letter-spacing:.05em;margin-top:1.5rem}
.pos .deva b{color:var(--swoosh)}
.trait{display:flex;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line-d)}
.trait:first-child{border-top:0}
.trait .k{font-family:"Sora";font-weight:600;color:#fff;font-size:1.05rem;min-width:9.5rem}
.trait .v{color:var(--mist);font-size:.95rem}

/* ============================================================
   PRACTICES OVERVIEW (the three functions)
   ============================================================ */
.practices-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:3rem}
.practices-head h2{font-size:clamp(2rem,4.4vw,3.3rem);color:var(--ink);max-width:16ch}
.practices-head p{color:var(--slate);max-width:34ch;font-size:1.02rem}
.p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.tilt{perspective:1100px}
.pcard{
  position:relative;border-radius:var(--r);padding:2rem 1.8rem 1.7rem;
  background:var(--white);border:1px solid var(--line-l);
  box-shadow:var(--shadow-1);overflow:hidden;height:100%;
  transform-style:preserve-3d;transition:box-shadow .4s var(--ease),transform .4s var(--ease);
  display:flex;flex-direction:column;
}
.pcard:hover{box-shadow:0 40px 70px -30px rgba(8,19,32,.4)}
.pcard .layer{transform:translateZ(40px);transform-style:preserve-3d}
.pcard .pnum{font-family:"JetBrains Mono";font-size:.78rem;letter-spacing:.2em;color:var(--slate)}
.pcard .picon{
  width:54px;height:54px;border-radius:14px;display:grid;place-items:center;margin:1.1rem 0 1.2rem;
  color:#fff;transform:translateZ(55px);
}
.pcard .picon svg{width:28px;height:28px}
.pcard h3{font-size:1.4rem;color:var(--ink);letter-spacing:-.02em}
.pcard .scope{font-family:"JetBrains Mono";font-size:.72rem;letter-spacing:.08em;color:var(--slate);margin-top:.5rem;text-transform:uppercase}
.pcard p.desc{color:var(--slate-2);font-size:.96rem;margin-top:.9rem}
.pcard .chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.1rem}
.pcard .chip{font-size:.74rem;padding:.32rem .7rem;border-radius:999px;background:var(--cloud);color:var(--slate-2);border:1px solid var(--line-l)}
.pcard .go{margin-top:auto;padding-top:1.4rem;display:inline-flex;align-items:center;gap:.5rem;font-family:"Sora";font-weight:600;font-size:.92rem}
.pcard .go .arr{transition:transform .3s var(--ease)}
.pcard:hover .go .arr{transform:translateX(5px)}
.pcard .edge{position:absolute;inset:0;border-radius:var(--r);pointer-events:none;opacity:0;transition:opacity .4s}
.pcard:hover .edge{opacity:1}

/* identity colours */
.pcard.pmo .picon{background:linear-gradient(150deg,var(--pmo),var(--pmo-d))}
.pcard.pmo h3{color:var(--pmo-d)} .pcard.pmo .go{color:var(--pmo-d)}
.pcard.pmo .edge{box-shadow:inset 0 0 0 1.5px var(--pmo)}
.pcard.pmo .glowdot{background:var(--pmo)}
.pcard.bio .picon{background:linear-gradient(150deg,var(--bio),var(--bio-d))}
.pcard.bio h3{color:var(--bio-d)} .pcard.bio .go{color:var(--bio-d)}
.pcard.bio .edge{box-shadow:inset 0 0 0 1.5px var(--bio)}
.pcard.ai .picon{background:linear-gradient(150deg,var(--ai-a),var(--ai-b))}
.pcard.ai h3{color:#0c7c97} .pcard.ai .go{color:#0c7c97}
.pcard.ai .edge{box-shadow:inset 0 0 0 1.5px var(--bio)}
.glowdot{position:absolute;width:240px;height:240px;border-radius:50%;filter:blur(70px);opacity:.14;top:-90px;right:-70px;pointer-events:none}

/* ============================================================
   PRACTICE CHAPTER (generic)
   ============================================================ */
.chapter{padding-block:clamp(4.5rem,9vw,8rem);position:relative;overflow:hidden}
.chapter.dark{background:var(--ink);color:#fff}
.chapter.darker{background:radial-gradient(140% 100% at 80% 0%, #0f2b46 0%, var(--ink-3) 60%);color:#fff}
.chapter.lite{background:var(--paper);color:var(--slate-2)}
.ch-head{display:grid;grid-template-columns:auto 1fr;gap:1.4rem 2rem;align-items:center;margin-bottom:2.6rem}
.ch-badge{
  width:64px;height:64px;border-radius:16px;display:grid;place-items:center;color:#fff;flex:none;
}
.ch-badge svg{width:34px;height:34px}
.ch-head .meta .eyebrow{margin-bottom:.5rem}
.ch-head h2{font-size:clamp(1.9rem,4.2vw,3rem);letter-spacing:-.025em}
.ch-head .tagline{margin-top:.7rem;font-size:clamp(1.05rem,1.8vw,1.35rem);font-family:"Sora";font-weight:400;max-width:54ch}
.chapter.dark .tagline,.chapter.darker .tagline{color:var(--mist-2)}
.chapter.lite .tagline{color:var(--slate)}

.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.svc{
  border-radius:14px;padding:1.5rem 1.4rem;position:relative;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
}
.chapter.lite .svc{background:var(--white);border:1px solid var(--line-l);box-shadow:var(--shadow-1)}
.chapter.dark .svc,.chapter.darker .svc{background:rgba(255,255,255,.035);border:1px solid var(--line-d)}
.svc:hover{transform:translateY(-5px)}
.chapter.lite .svc:hover{box-shadow:var(--shadow-2)}
.chapter.dark .svc:hover,.chapter.darker .svc:hover{border-color:var(--accent,#fff);background:rgba(255,255,255,.06)}
.svc .si{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;margin-bottom:1rem;color:#fff}
.svc .si svg{width:22px;height:22px}
.svc h4{font-size:1.08rem;letter-spacing:-.01em}
.chapter.lite .svc h4{color:var(--ink)} .chapter.dark .svc h4,.chapter.darker .svc h4{color:#fff}
.svc p{font-size:.9rem;margin-top:.5rem;line-height:1.6}
.chapter.lite .svc p{color:var(--slate)} .chapter.dark .svc p,.chapter.darker .svc p{color:var(--mist)}

/* sub-row (training / extras) */
.subrow{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.subrow .lab{font-family:"JetBrains Mono";font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-right:.4rem}
.chapter.lite .subrow .lab{color:var(--pmo-d)} .chapter.dark .subrow .lab,.chapter.darker .subrow .lab{color:var(--swoosh)}
.pill{font-size:.78rem;padding:.4rem .85rem;border-radius:999px}
.chapter.lite .pill{background:var(--cloud);color:var(--slate-2);border:1px solid var(--line-l)}
.chapter.dark .pill,.chapter.darker .pill{background:rgba(255,255,255,.05);color:var(--mist-2);border:1px solid var(--line-d)}

/* process flow (biometrics CDM) */
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:.5rem}
.fstep{position:relative;padding:1.4rem 1.2rem;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line-d)}
.fstep .fn{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-family:"Sora";font-weight:700;background:linear-gradient(150deg,var(--bio),var(--bio-d));color:#fff;margin-bottom:.9rem}
.fstep h4{font-size:1rem;color:#fff;margin-bottom:.7rem}
.fstep ul{list-style:none;display:flex;flex-direction:column;gap:.4rem}
.fstep li{font-size:.82rem;color:var(--mist-2);padding-left:1rem;position:relative}
.fstep li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--bio)}

/* standards badges */
.badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}
.badge{
  font-family:"JetBrains Mono";font-size:.76rem;letter-spacing:.04em;
  padding:.55rem 1rem;border-radius:10px;border:1px solid var(--line-d);
  background:rgba(19,169,188,.08);color:var(--bio);
}

/* AI note */
.ai-note{
  margin-top:2.2rem;padding:1.4rem 1.6rem;border-radius:14px;
  border:1px solid rgba(0,162,223,.3);background:rgba(0,162,223,.06);
  display:flex;gap:1rem;align-items:flex-start;
}
.ai-note svg{width:24px;height:24px;color:var(--swoosh);flex:none;margin-top:.15rem}
.ai-note p{color:var(--mist-2);font-size:.96rem}
.ai-note b{color:#fff}

/* ============================================================
   WHY / TESTIMONIALS
   ============================================================ */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem}
.why-card{background:var(--white);border:1px solid var(--line-l);border-radius:var(--r);padding:1.8rem;box-shadow:var(--shadow-1);transition:transform .35s var(--ease)}
.why-card:hover{transform:translateY(-5px)}
.why-card .wi{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(150deg,var(--ink),var(--ink-2));color:var(--swoosh);margin-bottom:1.1rem}
.why-card .wi svg{width:24px;height:24px}
.why-card h4{font-size:1.15rem;color:var(--ink);margin-bottom:.6rem}
.why-card p{color:var(--slate);font-size:.95rem}
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1.2rem}
.quote{background:var(--white);border:1px solid var(--line-l);border-radius:14px;padding:1.6rem}
.quote p{font-size:.98rem;color:var(--slate-2);font-style:italic;line-height:1.6}
.quote .who{margin-top:1rem;font-family:"JetBrains Mono";font-size:.74rem;letter-spacing:.04em;color:var(--pmo-d)}
.quote .mk{font-family:"Sora";font-size:2.4rem;line-height:0;color:var(--swoosh);display:block;height:.7em}

/* ============================================================
   FOUNDER
   ============================================================ */
.founder{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.founder-card{
  background:linear-gradient(160deg,var(--ink-2),var(--ink-3));border:1px solid var(--line-d);
  border-radius:var(--r);padding:2.4rem;position:relative;overflow:hidden;
}
.founder-card .ring{position:absolute;width:320px;height:320px;border-radius:50%;border:1px solid var(--line-d);right:-120px;top:-120px}
.founder-card .ring2{position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(0,162,223,.25),transparent 70%);right:-40px;top:-40px}
.founder-card .fname{font-family:"Sora";font-weight:700;font-size:1.8rem;color:#fff;position:relative}
.founder-card .frole{color:var(--swoosh);font-family:"JetBrains Mono";font-size:.82rem;letter-spacing:.08em;margin-top:.4rem;position:relative}
.founder-card .fbio{color:var(--mist-2);font-size:.95rem;margin-top:1.3rem;position:relative}
.creds{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem;position:relative}
.cred{font-family:"JetBrains Mono";font-size:.72rem;padding:.4rem .75rem;border-radius:8px;border:1px solid var(--line-d);background:rgba(255,255,255,.04);color:var(--mist-2)}
.founder .meta h2{font-size:clamp(1.9rem,4vw,3rem);color:var(--ink)}
.founder .meta p{color:var(--slate);margin-top:1.1rem;font-size:1.02rem}
.fstats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem}
.fstat{border-top:2px solid var(--pmo);padding-top:.8rem}
.fstat .n{font-family:"Sora";font-weight:700;font-size:1.7rem;color:var(--ink)}
.fstat .l{font-size:.78rem;color:var(--slate)}

/* ============================================================
   CTA / CONTACT / FOOTER
   ============================================================ */
.cta{background:radial-gradient(120% 120% at 50% 0%, #0f2b46, var(--ink-3));text-align:center;padding-block:clamp(5rem,10vw,9rem);position:relative;overflow:hidden}
.cta-fx{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center;z-index:0}
.cta .orbit{position:absolute;border-radius:50%;border:1px solid var(--line-d);left:50%;top:50%;transform:translate(-50%,-50%)}
/* slow counter-rotating dashed rings */
.cta .orbit.spin{border-style:dashed;border-color:rgba(0,162,223,.22);animation:spin 46s linear infinite}
.cta .orbit.spin.rev{border-color:rgba(19,169,188,.20);animation-duration:64s;animation-direction:reverse}
.cta .orbit.dot::after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--swoosh);box-shadow:0 0 14px var(--swoosh);transform:translateX(-50%)}
/* pulse rings emanating outward, pulling the eye to the centre buttons */
.cta .pulse{position:absolute;left:50%;top:50%;width:240px;height:240px;border-radius:50%;border:1px solid var(--swoosh);transform:translate(-50%,-50%) scale(.3);opacity:0;animation:pulse 4.6s var(--ease) infinite}
.cta .pulse.p2{animation-delay:1.55s}
.cta .pulse.p3{animation-delay:3.1s}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}12%{opacity:.55}100%{transform:translate(-50%,-50%) scale(2.4);opacity:0}}
.cta h2{font-size:clamp(2.4rem,6vw,4.6rem);color:#fff;letter-spacing:-.03em;position:relative}
.cta h2 em{font-style:normal;background:linear-gradient(95deg,#fff,var(--swoosh));-webkit-background-clip:text;background-clip:text;color:transparent}
.cta p{color:var(--mist-2);max-width:46ch;margin:1.3rem auto 0;font-size:1.1rem;position:relative}
.cta .cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.9rem;margin-top:2.3rem;position:relative}
.contacts{display:flex;justify-content:center;flex-wrap:wrap;gap:1.6rem;margin-top:3rem;position:relative}
.contacts a{display:inline-flex;align-items:center;gap:.55rem;color:var(--mist-2);font-size:.95rem;transition:color .25s}
.contacts a:hover{color:var(--swoosh)}
.contacts svg{width:18px;height:18px}

footer{background:var(--ink-3);border-top:1px solid var(--line-d);padding-block:2.4rem}
.foot{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.foot .brand .name{font-size:1rem}
.foot .legal{color:var(--mist);font-size:.82rem}
.foot-meta{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.5rem}
.foot-meta a{color:var(--mist-2);transition:color .25s}
.foot-meta a:hover{color:var(--swoosh)}
.foot-meta .sep{color:var(--line-d)}
.iso{font-family:"JetBrains Mono";font-size:.68rem;letter-spacing:.06em;padding:.3rem .6rem;border-radius:7px;border:1px solid rgba(0,162,223,.35);background:rgba(0,162,223,.08);color:var(--swoosh)}
.foot .social{display:flex;gap:1rem}
.foot .social a{color:var(--mist);transition:color .25s}
.foot .social a:hover{color:var(--swoosh)}
.foot .social svg{width:20px;height:20px}

/* ============================================================
   LEGAL / POLICY PAGE
   ============================================================ */
.legal-page{background:var(--paper);color:var(--slate-2);padding-block:clamp(7rem,12vw,9rem) clamp(3.5rem,7vw,6rem)}
.legal-page .wrap{max-width:820px}
.legal-page .breadcrumb{color:var(--slate)}
.legal-page .breadcrumb a{color:var(--slate-2)}
.legal-page .breadcrumb a:hover{color:var(--pmo-d)}
.legal-page .breadcrumb .sep{color:var(--pmo)}
.legal-page h1{font-size:clamp(2rem,5vw,3rem);color:var(--ink);letter-spacing:-.02em}
.legal-page .eff{font-family:"JetBrains Mono";font-size:.78rem;letter-spacing:.06em;color:var(--slate);margin-top:.8rem}
.legal-page .intro{font-size:1.08rem;line-height:1.7;margin-top:1.6rem;color:var(--slate-2)}
.legal-page h2{font-size:1.15rem;color:var(--ink);margin-top:2.2rem;margin-bottom:.5rem;letter-spacing:-.01em}
.legal-page p{margin-top:.6rem;line-height:1.7}
.legal-page a{color:var(--pmo-d);text-decoration:underline;text-underline-offset:2px}
.legal-page a:hover{color:var(--swoosh)}
.legal-page .card-note{margin-top:2.6rem;padding:1.5rem 1.6rem;border-radius:14px;background:var(--white);border:1px solid var(--line-l);box-shadow:var(--shadow-1)}
.legal-page .card-note h2{margin-top:0}

.cta .wrap{position:relative;z-index:1}

/* ============================================================
   SCROLL PROGRESS BAR
   ============================================================ */
.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:120;
  background:linear-gradient(90deg,var(--swoosh),var(--bio));box-shadow:0 0 12px rgba(0,162,223,.6);
  transition:width .1s linear}

/* ============================================================
   PRACTICE PAGE HERO (sub-pages)
   ============================================================ */
.phero{position:relative;min-height:62vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);padding-bottom:clamp(2.5rem,5vw,4rem)}
#hero-canvas.compact{position:absolute;inset:0;width:100%;height:100%}
.phero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(110% 90% at 15% 30%,rgba(9,19,32,.82),rgba(9,19,32,.25) 55%,transparent 75%),
  linear-gradient(180deg,rgba(9,19,32,.6),rgba(9,19,32,0) 35%,rgba(9,19,32,.2) 75%,var(--ink) 100%)}
.phero-inner{position:relative;z-index:3;width:100%;padding-top:8rem}
.breadcrumb{display:flex;align-items:center;gap:.5rem;font-family:"JetBrains Mono";font-size:.72rem;letter-spacing:.1em;color:var(--mist);margin-bottom:1.2rem;flex-wrap:wrap}
.breadcrumb a{color:var(--mist-2)}.breadcrumb a:hover{color:var(--swoosh)}
.breadcrumb .sep{color:var(--swoosh)}
.phero .pbadge{width:60px;height:60px;border-radius:15px;display:grid;place-items:center;color:#fff;margin-bottom:1.3rem;box-shadow:var(--shadow-2)}
.phero .pbadge svg{width:32px;height:32px}
.phero h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:600;letter-spacing:-.03em;color:#fff;max-width:18ch}
.phero h1 .hl{background:linear-gradient(95deg,#fff 30%,var(--accent,#00A2DF));-webkit-background-clip:text;background-clip:text;color:transparent}
.phero p.psub{max-width:54ch;margin-top:1.3rem;color:var(--mist-2);font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.55}
.phero .scope-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem}

/* ============================================================
   TESTIMONIAL CAROUSEL
   ============================================================ */
.tsec{position:relative}
.tsec .thead{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
.tcar-wrap{position:relative;--accent:var(--swoosh)}
.tcar{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.tcar-track{display:flex;gap:1.2rem;will-change:transform}
.tcar-wrap.dragging .tcar-track{cursor:grabbing}
.tcard{flex:0 0 clamp(280px,80%,420px);scroll-snap-align:center;border-radius:16px;padding:1.8rem 1.7rem;display:flex;flex-direction:column;gap:1rem;position:relative}
.tcar-wrap.on-light .tcard{background:var(--white);border:1px solid var(--line-l);box-shadow:var(--shadow-1)}
.tcar-wrap.on-dark .tcard{background:rgba(255,255,255,.04);border:1px solid var(--line-d)}
.tcard .mk{font-family:"Sora";font-weight:700;font-size:2.6rem;line-height:.5;height:.6em;color:var(--accent,var(--swoosh))}
.tcard p{font-size:1rem;line-height:1.62;font-style:italic;flex:1}
.tcar-wrap.on-light .tcard p{color:var(--slate-2)}
.tcar-wrap.on-dark .tcard p{color:var(--mist-2)}
.tcard .who{font-family:"JetBrains Mono";font-size:.74rem;letter-spacing:.03em;line-height:1.5}
.tcard .who b{display:block;font-weight:500;color:var(--accent,var(--swoosh));font-size:.78rem;margin-bottom:.15rem}
.tcar-wrap.on-light .tcard .who{color:var(--slate)}
.tcar-wrap.on-dark .tcard .who{color:var(--mist)}
.tcar-ctrl{display:flex;align-items:center;gap:.8rem;margin-top:1.6rem}
.tcar-dots{display:flex;gap:.5rem;flex:1;flex-wrap:wrap}
.tcar-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;cursor:pointer;background:currentColor;opacity:.25;transition:opacity .25s,transform .25s}
.tcar-dots button.active{opacity:1;transform:scale(1.25)}
.tcar-wrap.on-light .tcar-dots{color:var(--pmo-d)}.tcar-wrap.on-dark .tcar-dots{color:var(--swoosh)}
.tcar-arrows{display:flex;gap:.5rem}
.tcar-arrows button{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:transparent;transition:background .25s,border-color .25s,transform .25s,color .25s}
.tcar-arrows button:hover{transform:translateY(-2px)}
.tcar-wrap.on-light .tcar-arrows button{border:1px solid var(--line-l);color:var(--pmo-d)}
.tcar-wrap.on-light .tcar-arrows button:hover{background:var(--white);border-color:var(--pmo)}
.tcar-wrap.on-dark .tcar-arrows button{border:1px solid var(--line-d);color:#fff}
.tcar-wrap.on-dark .tcar-arrows button:hover{background:rgba(255,255,255,.06);border-color:var(--swoosh)}
.tcar-arrows svg{width:18px;height:18px}

/* CTA mini band on practice pages */
.pcta{position:relative;overflow:hidden;text-align:center;padding-block:clamp(3.5rem,7vw,5.5rem);background:linear-gradient(180deg,var(--ink-2),var(--ink-3))}
.pcta h2{font-size:clamp(1.8rem,4vw,2.8rem);color:#fff}
.pcta p{color:var(--mist-2);max-width:48ch;margin:1rem auto 0}
.pcta .cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}

/* related-practice nav cards */
.related{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.4rem}
.rel-card{display:flex;align-items:center;gap:1rem;padding:1.3rem 1.4rem;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line-d);transition:transform .3s var(--ease),border-color .3s,background .3s}
.rel-card:hover{transform:translateY(-4px);border-color:var(--swoosh);background:rgba(255,255,255,.05)}
.rel-card .ri{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;color:#fff;flex:none}
.rel-card .ri svg{width:24px;height:24px}
.rel-card .rt{font-family:"JetBrains Mono";font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
.rel-card .rn{font-family:"Sora";font-weight:600;color:#fff;font-size:1.05rem;margin-top:.15rem}
.rel-card .rarr{margin-left:auto;color:var(--swoosh);transition:transform .3s var(--ease)}
.rel-card:hover .rarr{transform:translateX(4px)}


.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .scroll-cue,.cue{display:none}
  .cta .orbit.spin,.cta .pulse{animation:none}
  .cta .pulse{display:none}
}

/* ============================================================
   RESPONSIVE  ,  large desktop · laptop · tablet · phone
   ============================================================ */

/* Large screens: let the canvas breathe, widen container a touch */
@media (min-width:1500px){
  :root{--maxw:1280px}
  .hero h1{font-size:clamp(4rem,7vw,7.5rem)}
}

/* Laptop / small desktop */
@media (max-width:1180px){
  .related{grid-template-columns:1fr 1fr}
}

/* Tablet landscape */
@media (max-width:1024px){
  .p-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(3,1fr)}
  .flow{grid-template-columns:repeat(3,1fr)}
  .pos-grid{grid-template-columns:1fr;gap:2.5rem}
  .founder{grid-template-columns:1fr}
  .quotes{grid-template-columns:1fr 1fr}
}

/* Tablet portrait */
@media (max-width:860px){
  .nav-links{
    position:fixed;inset:0 0 0 auto;width:min(82vw,340px);
    flex-direction:column;align-items:flex-start;justify-content:center;gap:1.5rem;
    background:rgba(8,19,32,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:2rem;
    transform:translateX(100%);transition:transform .4s var(--ease);box-shadow:-20px 0 60px rgba(0,0,0,.4);
  }
  .nav-links.open{transform:none}
  .nav-links a{font-size:1.15rem}
  .nav-links .btn{margin-top:.5rem}
  .nav-toggle{display:block}
  .why-grid{grid-template-columns:1fr;gap:1rem}
  .flow{grid-template-columns:repeat(2,1fr)}
  .practices-head,.thead{flex-direction:column;align-items:flex-start}
  .ch-head{grid-template-columns:1fr;gap:1rem}
}

/* Phone */
@media (max-width:620px){
  .hero{display:block;min-height:auto}
  .hero-inner{padding-block:7rem 2.5rem}
  .ticker{position:static;background:linear-gradient(0deg,rgba(8,19,32,.6),transparent)}
  .ticker-row{grid-template-columns:1fr 1fr}
  .ticker .it:nth-child(3){border-left:0}
  .ticker .it{padding:.85rem 0}
  .p-grid,.svc-grid,.why-grid,.flow,.quotes,.related{grid-template-columns:1fr}
  .scroll-cue{display:none}
  .phero-inner{padding-top:6.5rem}
  .tcard{flex-basis:86%}
  .fstats{grid-template-columns:1fr 1fr}
  .foot{flex-direction:column;text-align:center}
  .cta .cta-actions .btn,.hero-cta .btn,.pcta .cta-actions .btn{width:100%;justify-content:center}
  .contacts{gap:1rem 1.2rem}
}

/* Very small phones */
@media (max-width:380px){
  .fstats{grid-template-columns:1fr}
  .brand .name{font-size:1.02rem}
}

/* Short viewports (laptops): keep the scroll cue from colliding with content */
@media (max-height:860px){
  .scroll-cue{display:none}
}

/* ============================================================
   CAREERS + RESOURCES (data-driven pages)
   ============================================================ */
.dsec{--dp-css:1;background:var(--paper);padding-block:clamp(3.5rem,7vw,5.5rem)}
.dsec .wrap{max-width:var(--maxw)}
.dhead{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.2rem}
.dhead h2{color:var(--ink);font-size:clamp(1.6rem,3.4vw,2.2rem);letter-spacing:-.02em}
.dcount{font-family:"JetBrains Mono";font-size:.78rem;letter-spacing:.06em;color:var(--slate);
  border:1px solid var(--line-l);background:var(--white);padding:.5rem .85rem;border-radius:999px;white-space:nowrap}

/* filter chips */
.dfilter{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}
.dfilter button{font-family:"JetBrains Mono";font-size:.76rem;letter-spacing:.04em;cursor:pointer;
  border:1px solid var(--line-l);background:var(--white);color:var(--slate);padding:.55rem 1rem;border-radius:999px;transition:.22s}
.dfilter button:hover{border-color:var(--pmo);color:var(--pmo-d)}
.dfilter button.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* group heading */
.dgroup{margin-top:2.6rem}
.dgroup:first-of-type{margin-top:0}
.dgroup > .glab{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem;
  font-family:"JetBrains Mono";font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.dgroup > .glab::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent,var(--swoosh))}
.dgroup > .glab::after{content:"";flex:1;height:1px;background:var(--line-l)}

/* ---------- vacancy cards ---------- */
.jgrid{display:grid;gap:1.1rem}
.jcard{background:var(--white);border:1px solid var(--line-l);border-radius:var(--r);padding:1.6rem 1.7rem;
  box-shadow:var(--shadow-1);position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.jcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent,var(--swoosh))}
.jcard:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(8,19,32,.06),0 18px 40px rgba(8,19,32,.10)}
.jtop{display:flex;justify-content:space-between;align-items:flex-start;gap:1.2rem;flex-wrap:wrap}
.jcard h3{color:var(--ink);font-size:1.28rem;letter-spacing:-.015em;line-height:1.25}
.jid{font-family:"JetBrains Mono";font-size:.72rem;letter-spacing:.06em;color:var(--accent,var(--swoosh));
  border:1px solid currentColor;padding:.3rem .6rem;border-radius:7px;white-space:nowrap;opacity:.9}
.jmeta{display:flex;flex-wrap:wrap;gap:1.15rem;margin-top:.85rem;color:var(--slate);font-size:.9rem}
.jmeta span{display:inline-flex;align-items:center;gap:.4rem}
.jmeta svg{width:16px;height:16px;color:var(--accent,var(--swoosh));flex:none}
.jcard p.jsum{color:var(--slate-2);margin-top:1rem;line-height:1.65;max-width:80ch}
.jskills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}
.jskills span{font-size:.78rem;color:var(--slate);background:var(--cloud);border:1px solid var(--line-l);
  padding:.35rem .7rem;border-radius:999px}
.jact{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;
  padding-top:1.2rem;border-top:1px solid var(--line-l)}
.jvia{font-size:.82rem;color:var(--slate);display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.jvia a{color:var(--pmo-d);text-decoration:underline;text-underline-offset:2px}
.jvia a:hover{color:var(--swoosh)}
.jvia .sep{color:var(--line-l)}

/* ---------- resource cards ---------- */
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1.1rem}
.rescard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line-l);
  border-radius:var(--r);padding:1.5rem 1.6rem;box-shadow:var(--shadow-1);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.rescard:hover{transform:translateY(-3px);border-color:var(--accent,var(--swoosh));
  box-shadow:0 1px 2px rgba(8,19,32,.06),0 18px 40px rgba(8,19,32,.10)}
.rtop{display:flex;align-items:center;gap:.75rem}
.fmt{font-family:"JetBrains Mono";font-size:.68rem;font-weight:500;letter-spacing:.08em;color:#fff;
  padding:.4rem .6rem;border-radius:7px;white-space:nowrap}
.fmt.pdf{background:#C0392B}
.fmt.doc{background:#2C72C9}
.fmt.xls{background:#12855B}
.fmt.ppt{background:#D35400}
.fmt.gen{background:var(--stem)}
.rsize{font-family:"JetBrains Mono";font-size:.72rem;color:var(--slate);margin-left:auto}
.rescard h3{color:var(--ink);font-size:1.08rem;line-height:1.35;letter-spacing:-.01em;margin-top:1rem}
.rescard p{color:var(--slate-2);font-size:.92rem;line-height:1.6;margin-top:.6rem;flex:1}
.rescard .dl{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;margin-top:1.3rem;
  font-weight:600;font-size:.92rem;color:#fff;background:var(--ink);border-radius:999px;padding:.7rem 1.2rem;
  transition:background .25s,transform .25s}
.rescard .dl svg{width:17px;height:17px}
.rescard .dl:hover{background:var(--accent,var(--swoosh));transform:translateY(-1px)}

/* ---------- loading / empty / default states ---------- */
.dstate{background:var(--white);border:1px dashed var(--line-l);border-radius:var(--r);
  padding:clamp(2.2rem,5vw,3.4rem);text-align:center;box-shadow:var(--shadow-1)}
.dstate .si{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;margin:0 auto 1.2rem;
  background:linear-gradient(150deg,var(--ink-card),var(--ink-2));color:var(--swoosh)}
.dstate .si svg{width:30px;height:30px}
.dstate h3{color:var(--ink);font-size:1.35rem;letter-spacing:-.015em}
.dstate p{color:var(--slate-2);margin-top:.8rem;line-height:1.65;max-width:62ch;margin-inline:auto}
.dstate .cta-actions{justify-content:center;margin-top:1.6rem}
.dstate.err{border-color:#E3B7B2}
.dnote{margin-top:1.4rem;font-size:.82rem;color:var(--slate);font-family:"JetBrains Mono";letter-spacing:.02em}

/* skeleton while the Excel loads */
.skel{background:var(--white);border:1px solid var(--line-l);border-radius:var(--r);padding:1.6rem 1.7rem;box-shadow:var(--shadow-1)}
.skel div{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--cloud),#fff,var(--cloud));
  background-size:200% 100%;animation:shim 1.3s linear infinite}
.skel div+div{margin-top:.85rem}
.skel .w1{width:38%;height:18px}.skel .w2{width:72%}.skel .w3{width:55%}
@keyframes shim{to{background-position:-200% 0}}
@media (prefers-reduced-motion: reduce){.skel div{animation:none}}

@media (max-width:620px){
  .rgrid{grid-template-columns:1fr}
  .jact{align-items:flex-start;flex-direction:column;gap:.8rem}
  .dhead{align-items:flex-start}
}
