.svcRoot{ position:relative;width:100%;overflow-x:clip;overflow-y:visible;background:#0C1631;font-family:'Inter',sans-serif; }
.svcRoot a{ color:#FF7A54;text-decoration:none; }
.svcRoot a:hover{ color:#FFC24A; }

#svcCanvas{ position:absolute;top:0;left:0;width:100%;height:100%;z-index:4;pointer-events:none; }

.svcContainer{ position:relative;max-width:1120px;margin:0 auto;padding:0 44px;box-sizing:border-box; }

.svcRev{ opacity:0;transform:translateY(32px);transition:opacity .85s ease, transform .85s cubic-bezier(.2,.8,.2,1); }
.svcRev.in{ opacity:1;transform:translateY(0); }

/* ---- Header (cream) ---- */
.svcHeader{ position:relative;width:100%;background:#FBF9F4;box-sizing:border-box;padding:72px 0 30px; }
.svcHeaderLogo{ height:60px;width:auto;display:block;margin-bottom:44px; }
.svcEyebrow{ font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#C85A34;margin-bottom:22px; }
.svcH1{ margin:0;max-width:940px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(38px,5.6vw,76px);line-height:1.03;letter-spacing:-.025em;color:#0F1B3D;transition-delay:.08s; }
.svcLede{ margin:30px 0 0;max-width:560px;font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:#45506B;transition-delay:.16s; }

/* ---- Foundational (cream) ---- */
.svcFound{ position:relative;width:100%;background:#FBF9F4;box-sizing:border-box;padding:70px 0 120px; }
.svcGroupLabel{ display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:14px; }
.svcGroupName{ font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:22px;letter-spacing:-.01em;color:#0F1B3D; }
.svcGroupRange{ font-family:ui-monospace,monospace;font-size:13px;letter-spacing:.08em;color:#C85A34; }
.svcGroupDesc{ font-size:16px;color:#7A8299; }
.svcGroupNameDark{ color:#F5F3EE; }
.svcGroupRangeDark{ color:#FFC24A; }
.svcGroupDescDark{ color:rgba(245,243,238,.55); }

.svcRowsWrap{ position:relative;margin-top:26px;border-bottom:1px solid rgba(15,27,61,.14); }
.svcRow{
  display:grid;grid-template-columns:110px 1fr;gap:clamp(16px,3vw,44px);align-items:baseline;
  padding:30px 20px 30px 24px;border-top:1px solid rgba(15,27,61,.14);
  transition:background .4s ease, opacity .85s ease, transform .85s cubic-bezier(.2,.8,.2,1);
}
.svcRow:hover{ background:rgba(200,90,52,.05); }
.svcRowNum{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(38px,4vw,54px);line-height:1;letter-spacing:-.03em;color:#C2572F; }
.svcRowTitle{ font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:clamp(21px,2vw,27px);line-height:1.2;letter-spacing:-.01em;color:#0F1B3D; }
.svcRowDesc{ margin-top:8px;font-size:clamp(15px,1.3vw,18px);line-height:1.5;color:#45506B; }

/* ---- Strategic (navy) ---- */
.svcStrat{ position:relative;width:100%;background:#0F1B3D;box-sizing:border-box;padding:110px 0 120px; }
.svcStrat .svcGroupLabel{ margin-bottom:34px; }
.stratStack{ position:relative;display:flex;flex-direction:column;gap:20px; }
@keyframes svcSheen{0%{transform:translateX(-140%) skewX(-16deg);}100%{transform:translateX(140%) skewX(-16deg);}}
.stratCard{
  position:relative;overflow:hidden;border-radius:22px;padding:clamp(28px,3vw,40px);
  transition:transform .5s cubic-bezier(.3,.8,.3,1), box-shadow .5s ease, opacity .85s ease, transform .85s cubic-bezier(.2,.8,.2,1);
}
.stratCard:hover{ transform:translateY(-4px); }
.stratSheen{ position:absolute;inset:0;pointer-events:none; }
.stratGrid{ position:relative;display:grid;grid-template-columns:110px 1fr;gap:clamp(16px,3vw,40px);align-items:baseline; }
.stratNum{ font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(40px,4.4vw,58px);line-height:1;letter-spacing:-.03em; }
.stratTitle{ font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(22px,2.2vw,30px);line-height:1.16;letter-spacing:-.015em;color:#F5F3EE; }
.stratDesc{ margin-top:10px;font-size:clamp(15px,1.35vw,18px);line-height:1.5;color:rgba(245,243,238,.62); }

.strat06{ background:linear-gradient(140deg,rgba(255,122,84,.12),rgba(15,27,61,.2) 60%);border:1px solid rgba(255,122,84,.28);box-shadow:0 24px 50px rgba(6,12,32,.4), 0 0 40px rgba(255,122,84,.08); }
.strat06 .stratSheen{ background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.10) 50%,transparent 58%);animation:svcSheen 9s linear infinite; }
.strat06 .stratNum{ color:#FF9A6E; }

.strat07{ background:linear-gradient(140deg,rgba(255,168,90,.14),rgba(15,27,61,.2) 60%);border:1px solid rgba(255,178,90,.32);box-shadow:0 24px 50px rgba(6,12,32,.42), 0 0 44px rgba(255,178,90,.10); }
.strat07 .stratSheen{ background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.12) 50%,transparent 58%);animation:svcSheen 10.5s linear infinite; }
.strat07 .stratNum{ color:#FFB765; }

.strat08{ background:linear-gradient(140deg,rgba(255,205,110,.18),rgba(28,22,10,.28) 62%);border:1px solid rgba(255,205,110,.42);box-shadow:0 26px 54px rgba(6,12,32,.46), 0 0 54px rgba(255,205,110,.16); }
.strat08 .stratSheen{ background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.16) 50%,transparent 58%);animation:svcSheen 12s linear infinite; }
.strat08 .stratNum{ color:#FFD98A; }
.strat08 .stratTitle{ color:#FFF3E0; }
.strat08 .stratDesc{ color:rgba(245,243,238,.66); }

/* ---- CTA (deep navy) ---- */
.ctaSection{ position:relative;width:100%;background:#0C1631;box-sizing:border-box;padding:230px 0;overflow:visible; }
.ctaRow{ position:relative;max-width:1120px;margin:0 auto;padding:0 44px;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:48px; }
.ctaTextBlock{ max-width:440px; }
.ctaKicker{ font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#FF9A78;margin-bottom:18px; }
.ctaHeadline{ font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(30px,3.4vw,46px);line-height:1.08;letter-spacing:-.02em;color:#F5F3EE; }
.ctaBtnCol{ display:flex;flex-direction:column;align-items:center;gap:24px; }

.ctaPill{
  position:relative;display:inline-flex;align-items:center;justify-content:center;padding:26px 54px;border-radius:44px;
  font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(20px,1.9vw,24px);letter-spacing:-.01em;
  color:#3A1E0E;text-decoration:none;opacity:0;box-shadow:0 0 10px rgba(255,138,84,0);
  background:radial-gradient(circle at 40% 32%,#FFD98A,#FF8A54 54%,#F0652E);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), background .35s ease;
  will-change:transform;
}
.ctaPill:hover{ background:radial-gradient(circle at 40% 32%,#FFE29E,#FF9560 54%,#F5713A);transform:translateY(-3px) scale(1.02); }
.ctaPill:active{ transform:translateY(1px) scale(.97);transition:transform .13s cubic-bezier(.3,.7,.3,1), background .13s ease; }
.ctaPill:focus-visible{ outline:2px solid rgba(255,194,74,.6);outline-offset:3px; }

.seePrice{ position:relative;display:inline-block;font-weight:600;font-size:16px;color:rgba(245,243,238,.72);opacity:0; }
.seePrice:hover{ color:#FFC24A; }
.seePrice span{ position:absolute;left:0;bottom:-6px;height:1.5px;width:100%;background:linear-gradient(90deg,transparent,#FF7A54,#FFC24A,transparent);opacity:.5;transition:opacity .3s ease; }
.seePrice:hover span{ opacity:1; }

@media(max-width:820px){
  .svcHeader{ padding:52px 0 22px; }
  .svcHeaderLogo{ height:50px;margin-bottom:34px; }
  .svcFound{ padding:34px 0 60px; }
  .svcRow{ grid-template-columns:52px 1fr;gap:16px;padding:16px 4px;align-items:start; }
  .svcRow > div:first-child{ font-size:28px; }
  .svcStrat{ padding:60px 0 68px; }
  .stratCard{ padding:24px 22px; }
  .stratGrid{ grid-template-columns:44px 1fr;gap:14px;align-items:start; }
  .stratNum{ font-size:30px; }
  .ctaSection{ padding:120px 0; }
  .ctaRow{ flex-direction:column;align-items:center;text-align:center;gap:0; }
  .ctaTextBlock{ max-width:none; }
  .ctaBtnCol{ margin-top:48px;gap:30px;width:100%; }
}

@media (prefers-reduced-motion: reduce){
  .stratSheen{ animation:none !important; }
}
