/* v7.18.1: consistency and accessibility layer; extends, never replaces, v7.16 tokens. */
:root{
  --lp-consistency-ink:var(--ink,#003a66);
  --lp-consistency-blue:var(--teal,#006599);
  --lp-consistency-accent:var(--teal-mid,#02aaf1);
  --lp-consistency-surface:var(--cream,#f0f8ff);
  --lp-consistency-soft:var(--cream-dark,#e0f5fd);
  --lp-consistency-deep:#001a2e;
  --lp-consistency-body:#476a84;
}
/* The original v7.16 sheet globally fixes every nav element to the viewport.
   This inner-page table of contents is a normal, accessible section navigator. */
.lp-v717-standalone-roadmap .lp-v718-overview nav.lp-v718-jump{
  position:static;inset:auto;top:auto;left:auto;right:auto;z-index:auto;
  width:auto;min-width:0;height:auto;max-height:none;display:flex;flex-wrap:wrap;
  padding:0;margin:0;align-items:center;justify-content:flex-start;
  background:transparent;border:0;box-shadow:none;backdrop-filter:none;
  -webkit-backdrop-filter:none;transform:none;transition:none;
}
.lp-v718-overview-inner{max-width:var(--lp-container,1200px);margin-inline:auto}
.lp-v718-overview .lp-v718-jump a{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.lp-v718-overview .lp-v718-jump a:focus-visible{outline:3px solid var(--lp-consistency-accent);outline-offset:3px}
/* Match color, typography, radius and spacing across long-form and home modules. */
.lp-v718-editorial{background:linear-gradient(180deg,var(--white,#f8fdff),var(--lp-consistency-surface) 60%,var(--white,#f8fdff));color:var(--lp-consistency-ink)}
.lp-v718-editorial-lead{max-width:70ch}
.lp-v718-editorial-lead h2,.lp-v718-end-cta h2{font-family:'Playfair Display',serif;font-weight:400;letter-spacing:-.02em;overflow-wrap:break-word}
.lp-v718-chapter{border-radius:20px;border-color:rgba(0,58,102,.12);box-shadow:0 8px 38px rgba(0,58,102,.035);scroll-margin-top:clamp(94px,12vw,130px)}
.lp-v718-chapter-marker,.lp-v718-overview-kicker{color:var(--lp-consistency-blue)}
.lp-v718-chapter-feature,.lp-v718-end-cta{background:var(--lp-consistency-deep);color:#fff}
.lp-v718-chapter-feature .lp-v718-chapter-marker,.lp-v718-end-cta .section-label{color:#b9e5ff}
.lp-v718-chapter-feature p,.lp-v718-chapter-feature li,.lp-v718-end-cta>p{color:#d9eafa}
.lp-v718-chapter p,.lp-v718-chapter li{overflow-wrap:break-word}
.lp-v718-chapter-feature .lp-v718-inline-cta a,.lp-v718-end-cta .lp-v718-text-link{color:#b9e5ff}
.lp-v718-end-cta{border-radius:22px}
.lp-v718-detail-list li{min-width:0}
.lp-v718-detail-list li::before{background:var(--lp-consistency-accent)}
ol.lp-v718-detail-list{counter-reset:lp-ordered-step}
ol.lp-v718-detail-list li{counter-increment:lp-ordered-step;padding-left:1.65rem}
ol.lp-v718-detail-list li::before{content:counter(lp-ordered-step) '.';background:none;border-radius:0;left:0;top:0;width:1.3rem;height:auto;color:var(--lp-consistency-blue);font-weight:700}
.lp-v718-chapter-feature ol.lp-v718-detail-list li::before{color:#b9e5ff}
/* Preserve room for long localized service titles and avoid hard minimum-height clipping. */
.lp-v717-hero-card{height:auto;min-height:470px}
.lp-v717-hero-card .hero-card-content{min-width:0}
.lp-v717-hero-card .hero-card-content h3{overflow-wrap:break-word}
.lp-v718-hero-photo img{object-position:center 38%}
.lp-v718-home-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lp-v718-home-figure figcaption{z-index:1}
.lp-v717-home-platform{background:var(--lp-consistency-surface)}
.lp-v717-home-platform h2,.lp-v717-home-platform-features strong{color:var(--lp-consistency-ink)}
.lp-v717-home-platform h2 em{color:var(--lp-consistency-blue)}
.lp-v717-home-platform-features>div{border-radius:18px}
.lp-v718-home-trust{background:var(--lp-consistency-deep)}
.lp-v718-home-trust-grid article{border-radius:18px}
.lp-v718-credentials-grid>div{border-radius:18px}
/* Brand-consistent navigation, keyboard focus and active button hit areas. */
.lp-skip-link{position:fixed;top:-120px;left:1rem;z-index:10001;padding:.8rem 1.2rem;border-radius:0 0 12px 12px;background:var(--lp-consistency-deep);color:white;font:600 .9rem/1.4 'DM Sans',sans-serif;text-decoration:none}
.lp-skip-link:focus{top:0;outline:3px solid var(--lp-consistency-accent);outline-offset:2px}
.lp-site-header .nav-logo,.lp-site-header .nav-links a,.lp-site-header .nav-cta{font-family:'DM Sans',sans-serif}
.lp-site-header .nav-logo{font-family:'Playfair Display',serif}
.lp-site-header a:focus-visible,.lp-site-header button:focus-visible,.mobile-drawer a:focus-visible,.lp-v718-editorial a:focus-visible{outline:3px solid var(--lp-consistency-accent);outline-offset:4px}
.lp-site-header .nav-hamburger{min-width:44px;min-height:44px;align-items:center;justify-content:center}
/* Long editorial pages: keep cards and navigation readable at every breakpoint. */
@media(max-width:900px){
  .lp-v717-standalone-roadmap .lp-v718-overview nav.lp-v718-jump{position:static;padding:0}
  .lp-v718-overview-inner{padding-block:1.25rem}
  .lp-v718-editorial{padding-block:clamp(3rem,6vw,5rem)}
  .lp-v718-editorial-grid{gap:1rem}
  .lp-v718-chapter-feature{display:block}
}
@media(max-width:700px){
  .lp-v718-editorial-grid{grid-template-columns:minmax(0,1fr)}
  .lp-v718-chapter-feature{grid-column:1}
  .lp-v718-chapter{padding:1.35rem}
  .lp-v718-overview-kicker{margin-bottom:.8rem}
  .lp-v718-overview .lp-v718-jump a{font-size:.8rem;padding:.6rem .85rem}
  .lp-v717-hero-card{min-height:390px}
  .lp-v718-hero-photo{inset:0 0 40%}
  .lp-v718-home-figure{min-height:280px}
  .lp-v718-credentials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:410px){
  .lp-v718-credentials-grid{grid-template-columns:1fr}
  .lp-v718-cta-actions{align-items:stretch;flex-direction:column}
  .lp-v718-end-cta .btn-primary-hero{width:100%;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){
  .lp-v718-overview *, .lp-v718-editorial *, .lp-v718-home-figure *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* Screenshot QA: header must be a legible independent surface, not a translucent overlay
   through which the hero eyebrow or other background text can be read. */
.site-header.lp-site-header,
.site-header.lp-site-header.scrolled{
  background:#f8fdff !important;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  border-bottom:1px solid rgba(0,58,102,.12);
  box-shadow:0 8px 24px rgba(0,58,102,.035);
  z-index:1000;
  width:100%;
  min-height:88px;
  top:0;left:0;right:0;
  padding:1rem clamp(1.25rem,2.8vw,3.5rem) !important;
  gap:clamp(.65rem,1.2vw,1.5rem);
  justify-content:space-between;
  flex-wrap:nowrap;
}
.lp-site-header .nav-logo{
  flex:0 0 auto;
  min-width:max-content;
  white-space:nowrap;
  color:var(--ink);
  font-size:clamp(1.05rem,1.3vw,1.25rem);
  line-height:1.2;
  position:relative;
  z-index:1;
}
.lp-site-header .nav-logo-dot{flex:0 0 8px}
.lp-site-header .lp-primary-nav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(.65rem,1.25vw,1.6rem);
  margin:0;
  padding:0;
}
.lp-site-header .lp-primary-nav > li{flex:0 0 auto;margin:0;padding:0}
.lp-site-header .lp-primary-nav > li > a{
  display:inline-flex;
  align-items:center;
  gap:.18rem;
  min-height:44px;
  color:#355776;
  white-space:nowrap;
  text-decoration:none;
  line-height:1.35;
}
/* The original nav underline also styled the submenu chevron and placed it
   under the menu item. Keep chevron and item on the SAME text baseline. */
.lp-site-header .lp-primary-nav .lp-nav-item.has-menu > a::after{
  content:'⌄';
  display:inline-block;
  position:static;
  margin-left:.2rem;
  width:auto !important;
  height:auto;
  background:none;
  border:0;
  transform:translateY(-.1em);
  color:var(--teal);
  font-size:.9rem;
  line-height:1;
}
.lp-site-header .lp-nav-actions{
  flex:0 0 auto;
  margin-left:auto;
  gap:clamp(.45rem,.8vw,1rem);
  white-space:nowrap;
  min-width:0;
}
.lp-site-header .nav-phone{white-space:nowrap;color:var(--teal);font-size:.86rem}
.lp-site-header .login-links{display:flex;gap:.55rem;white-space:nowrap}
.lp-site-header .nav-cta{white-space:nowrap;min-height:44px;padding:.7rem 1.05rem !important}
.lp-site-header .lp-dropdown{z-index:1100;background:#fff}
/* On narrower screens the entire full-sized header must collapse together,
   rather than squeezing text and actions into an overlapping single row. */
@media(max-width:1450px){
  .lp-site-header .lp-primary-nav,.lp-site-header .login-links,.lp-site-header .nav-cta{display:none !important}
  .lp-site-header .nav-hamburger{display:flex !important}
  .lp-site-header .lp-nav-actions{margin-left:auto;gap:.8rem}
}
@media(max-width:700px){
  .site-header.lp-site-header,.site-header.lp-site-header.scrolled{min-height:70px;padding:.7rem 1rem !important}
  .lp-site-header .nav-logo{font-size:1rem}
  .lp-site-header .nav-phone{font-size:.75rem}
  .lp-site-header .lp-nav-actions{gap:.5rem}
}
@media(max-width:395px){
  .lp-site-header .nav-phone{display:none !important}
}
/* Inner-page hero content should start below the fixed header, never behind it. */
.lp-v717-standalone-roadmap .lp-v6-hero{padding-top:clamp(8.5rem,10vw,10.5rem) !important}
/* Veda's long service names were wrapping one word per line. The serif remains
   identical to v7.16; only the responsive measure and scale are corrected. */
.lp-v717-standalone-roadmap .lp-v6-hero h1{
  font-size:clamp(3.1rem,4.35vw,5rem) !important;
  max-width:15ch !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
  text-wrap:balance;
  overflow-wrap:normal;
}
@media(max-width:760px){
  .lp-v717-standalone-roadmap .lp-v6-hero h1{font-size:clamp(2.65rem,9vw,4rem) !important;max-width:100% !important}
}
