
:root{
  --d-cream:#F7F5F1;
  --d-navy:#000038;
  --d-mag:#9B1F54;
  --d-mag-dk:#7a1840;
  --d-royal:#1B4BB8;
  --d-white:#fff;
  --ease:cubic-bezier(.22,.61,.36,1);
  --bounce:cubic-bezier(.34,1.56,.64,1);
}

.d-page{ font-family:'Poppins',sans-serif; background:var(--d-cream); color:var(--d-navy); overflow-x:hidden; margin:0; padding:0; }
.d-page *,.d-page *::before,.d-page *::after{ box-sizing:border-box; margin:0; padding:0; }
.d-page a{ text-decoration:none; color:inherit; }
@media(prefers-reduced-motion:reduce){ .d-page *{ animation:none !important; transition:none !important; } }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HERO — clean, professional, left-aligned
   Dark navy with a single animated accent
   line and a subtle grid. No blobs, no rings.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.d-hero{
  background:var(--d-navy);
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  padding:2vw 72px;
}

/* left magenta border */
.d-hero::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  background:linear-gradient(to bottom, transparent, var(--d-mag) 30%, var(--d-mag) 70%, transparent);
}

/* very subtle dot grid, fades to right */
.d-hero-grid{
  position:absolute;inset:0;
  background-image:radial-gradient(circle, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:32px 32px;
  -webkit-mask-image:linear-gradient(to right, transparent 10%, rgba(0,0,0,.4) 40%, transparent 90%);
  mask-image:linear-gradient(to right, transparent 10%, rgba(0,0,0,.4) 40%, transparent 90%);
  pointer-events:none;
}

/* single animated horizontal line sweep — one clean motion */
.d-hero-line-anim{
  position:absolute;
  left:0;right:0;
  height:1px;
  background:linear-gradient(to right, var(--d-mag), rgba(155,31,84,.15), transparent);
  top:50%;
  opacity:0;
  animation:lineSweep 1.4s var(--ease) .3s forwards;
}
@keyframes lineSweep{
  0%  { opacity:0; transform:scaleX(0); transform-origin:left; }
  40% { opacity:1; transform:scaleX(1); transform-origin:left; }
  80% { opacity:.3; }
  100%{ opacity:0; }
}

.d-hero-inner{
  position:relative;z-index:2;
  max-width:700px;
  width:100%;
  text-align:left;
}

/* eyebrow */
.d-hero-ey{
  display:inline-flex;align-items:center;gap:12px;
  font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:rgba(255,255,255,.45);
  margin-bottom:18px;
  opacity:0;animation:dFadeUp .6s var(--ease) .15s forwards;
}
.d-hero-ey::before{
  content:'';display:block;width:28px;height:1px;
  background:var(--d-mag);flex-shrink:0;
}

.d-hero h1{
  font-size:clamp(26px,4vw,42px);
  font-weight:800;
  line-height:1.1;
  color:var(--d-white);
  letter-spacing:-1px;
  margin-bottom:14px;
  opacity:0;animation:dFadeUp .7s var(--ease) .28s forwards;
}
.d-hero h1 .d-gold{ color:var(--d-mag); }

.d-hero-sub{
  font-size:13.5px;font-weight:300;
  color:rgba(247,245,241,.45);
  line-height:1.7;max-width:460px;
  margin-bottom:26px;
  opacity:0;animation:dFadeUp .7s var(--ease) .4s forwards;
  border-left:2px solid rgba(155,31,84,.4);
  padding-left:14px;
}

.d-hero-ctas{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin-bottom:28px;
  opacity:0;animation:dFadeUp .7s var(--ease) .52s forwards;
}
.d-btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;
  background:var(--d-mag);color:#fff !important;
  font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:700;
  border-radius:2px;text-decoration:none;
  transition:background .2s,transform .18s,box-shadow .2s;
  box-shadow:0 6px 22px rgba(155,31,84,.36);
}
.d-btn-primary:hover{ background:var(--d-mag-dk); transform:translateY(-2px); box-shadow:0 12px 30px rgba(155,31,84,.46); }
.d-btn-primary i{ font-size:11px; transition:transform .2s; }
.d-btn-primary:hover i{ transform:translateY(2px); }
.d-btn-ghost{
  display:inline-flex;align-items:center;gap:7px;
  padding:11px 18px;background:transparent;color:rgba(255,255,255,.65) !important;
  font-family:'Poppins',sans-serif;font-size:12px;font-weight:500;
  border:1px solid rgba(255,255,255,.18);border-radius:2px;text-decoration:none;
  transition:border-color .2s,background .2s;
}
.d-btn-ghost:hover{ border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.05); }

/* 3-stat inline row */
.d-hero-stats{
  display:flex;align-items:stretch;gap:0;
  opacity:0;animation:dFadeUp .7s var(--ease) .64s forwards;
  border:1px solid rgba(255,255,255,.08);
  border-radius:3px;
  overflow:hidden;
  width:fit-content;
}
.d-hstat{
  padding:10px 22px;
  display:flex;flex-direction:column;gap:2px;
  border-right:1px solid rgba(255,255,255,.08);
}
.d-hstat:last-child{ border-right:none; }
.d-hstat-val{ font-size:16px;font-weight:800;color:#fff;letter-spacing:-.5px;line-height:1; }
.d-hstat-val .d-mg{ color:var(--d-mag); }
.d-hstat-lbl{ font-size:9px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.35); }

@keyframes dFadeUp{ from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FACTS STRIP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.d-facts{
  background:var(--d-white);
  border-bottom:1px solid rgba(0,0,56,.08);
  padding:0 72px;
  display:flex;
  position:sticky;top:0;z-index:60;
}
.d-fact{
  flex:1;padding:15px 0;
  display:flex;align-items:center;gap:10px;
  justify-content:center;
  border-right:1px solid rgba(0,0,56,.07);
}
.d-fact:last-child{ border-right:none; }
.d-fact i{ font-size:14px;color:var(--d-mag); }
.d-fact-text{ display:flex;flex-direction:column; }
.d-fact-num{ font-size:14px;font-weight:800;color:var(--d-navy);line-height:1.1; }
.d-fact-lbl{ font-size:9.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(0,0,56,.4); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MAIN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.d-main{ padding:64px 72px 88px; max-width:1420px; margin:0 auto; }

.d-sec-head{ margin-bottom:40px; }
.d-sec-ey{
  font-size:10px;font-weight:700;letter-spacing:2.8px;text-transform:uppercase;
  color:var(--d-mag);margin-bottom:10px;display:flex;align-items:center;gap:10px;
}
.d-sec-ey::before{ content:''; display:block; width:22px; height:2px; background:var(--d-mag); }
.d-sec-title{ font-size:clamp(22px,2.8vw,34px);font-weight:800;letter-spacing:-.8px;line-height:1.15;margin-bottom:8px; }
.d-sec-desc{ font-size:13.5px;color:rgba(0,0,56,.48);line-height:1.7;max-width:560px; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   GROUP — two separate grids
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.d-group{ margin-bottom:64px; }
.d-group:last-child{ margin-bottom:0; }

.d-group-label{
  display:flex;align-items:center;gap:16px;
  margin-bottom:24px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(0,0,56,.08);
}
.d-group-badge{
  display:inline-flex;align-items:center;gap:7px;
  font-size:9.5px;font-weight:800;letter-spacing:2px;text-transform:uppercase;
  padding:6px 13px;border-radius:2px;
  flex-shrink:0;
}
.badge-dba{ background:var(--d-navy);color:#fff; }
.badge-phd{ background:var(--d-mag);color:#fff; }
.d-group-title{ font-size:18px;font-weight:700;letter-spacing:-.3px; }
.d-group-count{ margin-left:auto;font-size:12px;font-weight:600;color:rgba(0,0,56,.35); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CARD
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.d-grid{ display:grid;grid-template-columns:repeat(4,1fr);gap:18px; }

.d-card{
  background:var(--d-white);
  border:1.5px solid rgba(0,0,56,.07);
  border-radius:6px;
  overflow:hidden;
  display:flex;flex-direction:column;
  position:relative;
  transition:transform .35s var(--bounce),box-shadow .35s var(--ease),border-color .3s;
  opacity:0;transform:translateY(26px);
  cursor:pointer;
}
.d-card.visible{ opacity:1;transform:translateY(0); }
.d-card:hover{
  transform:translateY(-8px) scale(1.012);
  box-shadow:0 24px 56px rgba(0,0,56,.12);
  border-color:transparent;
  z-index:5;
}

.d-card-visual{
  height:140px;position:relative;overflow:hidden;
}
.d-card-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;
  transition:transform .55s var(--ease);
}
.d-card:hover .d-card-img{ transform:scale(1.1); }

/* overlay */
.d-card-visual::after{
  content:'';position:absolute;inset:0;
  pointer-events:none;
}
.dov-1::after{ background:linear-gradient(180deg,rgba(0,0,56,.18) 0%,rgba(0,0,56,.72) 100%); }
.dov-2::after{ background:linear-gradient(180deg,rgba(0,0,56,.18) 0%,rgba(122,24,64,.65) 100%); }
.dov-3::after{ background:linear-gradient(180deg,rgba(27,75,184,.15) 0%,rgba(0,0,56,.72) 100%); }
.dov-4::after{ background:linear-gradient(180deg,rgba(0,0,56,.18) 0%,rgba(155,31,84,.6) 100%); }
.dov-5::after{ background:linear-gradient(180deg,rgba(201,149,26,.15) 0%,rgba(0,0,56,.72) 100%); }
.dov-6::after{ background:linear-gradient(180deg,rgba(0,0,56,.2) 0%,rgba(27,75,184,.62) 100%); }
.dov-7::after{ background:linear-gradient(180deg,rgba(155,31,84,.15) 0%,rgba(0,0,56,.72) 100%); }
.dov-8::after{ background:linear-gradient(180deg,rgba(0,0,56,.2) 0%,rgba(201,149,26,.55) 100%); }

.d-card-type{
  position:absolute;top:10px;left:10px;z-index:2;
  font-size:9px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;
  padding:4px 10px;border-radius:12px;
  background:rgba(255,255,255,.2);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.3);color:#fff;
}
.d-card-chip{
  position:absolute;bottom:10px;right:10px;z-index:2;
  width:32px;height:32px;border-radius:7px;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;color:#fff;
  transition:transform .3s var(--bounce),background .22s;
}
.d-card:hover .d-card-chip{ transform:scale(1.1) rotate(-6deg);background:rgba(255,255,255,.24); }

.d-card-shine{
  position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);
  transform:translateX(-150%);pointer-events:none;opacity:0;
}
.d-card:hover .d-card-shine{ animation:shineSweep .85s ease forwards; }
@keyframes shineSweep{ 0%{transform:translateX(-150%);opacity:.35;} 100%{transform:translateX(150%);opacity:0;} }

.d-card-body{ padding:20px 20px 18px;display:flex;flex-direction:column;flex:1; }
.d-card h3{
  font-size:14.5px;font-weight:700;line-height:1.3;letter-spacing:-.2px;
  margin-bottom:8px;transition:color .2s;
}
.d-card:hover h3{ color:var(--d-mag); }
.d-card-line{
  font-size:12px;font-weight:400;color:rgba(0,0,56,.48);
  line-height:1.6;margin-bottom:16px;flex:1;
}
.d-card-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;border-top:1px solid rgba(0,0,56,.06);
  margin-top:auto;
}
.d-dur{
  display:flex;align-items:center;gap:5px;
  font-size:11px;font-weight:600;color:rgba(0,0,56,.4);
}
.d-dur i{ font-size:10px;color:var(--d-royal); }
.d-card-cta{
  display:inline-flex;align-items:center;gap:5px;
  font-size:11.5px;font-weight:700;color:var(--d-navy);
  padding:6px 13px;border:1.5px solid rgba(0,0,56,.14);
  border-radius:18px;white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.d-card-cta i{ font-size:10px;transition:transform .18s; }
.d-card:hover .d-card-cta{ background:var(--d-mag);color:#fff;border-color:var(--d-mag);transform:translateX(2px); }
.d-card:hover .d-card-cta i{ transform:translateX(3px); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CTA BAND
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.d-cta-band{
  background:var(--d-navy);
  padding:60px 72px;
  display:flex;align-items:center;justify-content:space-between;
  gap:32px;flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.d-cta-band::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 40% 120% at 0% 50%,rgba(155,31,84,.25) 0%,transparent 55%),
    radial-gradient(ellipse 35% 90% at 100% 50%,rgba(27,75,184,.16) 0%,transparent 55%);
  pointer-events:none;
}
/* left edge accent */
.d-cta-band::after{
  content:'';position:absolute;
  left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(to bottom,transparent,var(--d-mag),transparent);
}
.d-cta-left{ position:relative;z-index:1; }
.d-cta-ey{ font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--d-mag);display:block;margin-bottom:10px; }
.d-cta-h2{ font-size:clamp(22px,2.8vw,36px);font-weight:900;color:#fff;line-height:1.15;letter-spacing:-.8px; }
.d-cta-h2 span{ color:var(--d-mag); }
.d-cta-p{ font-size:13.5px;font-weight:300;color:rgba(247,245,241,.45);line-height:1.7;margin-top:10px;max-width:420px; }
.d-cta-btns{ display:flex;gap:11px;flex-wrap:wrap;position:relative;z-index:1; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:1200px){
  .d-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:1100px){
  .d-hero{ padding:0 40px; }
  .d-facts{ padding:0 40px; }
  .d-main{ padding:52px 40px 64px; }
  .d-cta-band{ padding:48px 40px; }
}
@media(max-width:760px){
  .d-hero{ padding:0 22px;min-height:auto;max-height:none; }
  .d-hero h1{ font-size:24px; }
  .d-hero-sub{ font-size:13px; }
  .d-hero-stats{ flex-wrap:wrap; }
  .d-hstat{ flex:1;min-width:100px; }
  .d-facts{ padding:0 22px;overflow-x:auto; }
  .d-fact{ min-width:130px; }
  .d-main{ padding:40px 22px 56px; }
  .d-grid{ grid-template-columns:1fr 1fr; }
  .d-cta-band{ padding:40px 22px;flex-direction:column;align-items:flex-start; }
  .d-cta-btns{ flex-direction:column;width:100%; }
}
@media(max-width:480px){
  .d-hero h1{ font-size:21px; }
  .d-hero-ctas{ flex-direction:column;align-items:flex-start;width:100%; }
  .d-btn-primary,.d-btn-ghost{ width:100%;justify-content:center; }
  .d-grid{ grid-template-columns:1fr; }
  .d-card-foot{ flex-direction:column;align-items:flex-start;gap:10px; }
  .d-card-cta{ width:100%;justify-content:center; }
}