/* VA20Four7 v10.5 — site-wide UI/UX QA + consistency polish
   Visual-only contract: no copy, heading or content-structure changes. */
:root{
  --v105-ink:#12243d;
  --v105-copy:#5d7088;
  --v105-muted:#8090a4;
  --v105-line:rgba(34,72,116,.11);
  --v105-line-strong:rgba(34,72,116,.17);
  --v105-blue:#4b7df3;
  --v105-mint:#34ad82;
  --v105-violet:#7b70f2;
  --v105-bg:#f7faff;
  --v105-card:#ffffff;
  --v105-radius-sm:12px;
  --v105-radius:18px;
  --v105-radius-lg:24px;
  --v105-shadow:0 18px 48px rgba(28,55,90,.065);
  --v105-shadow-soft:0 9px 24px rgba(28,55,90,.045);
  --v105-section:76px;
}

html{scroll-padding-top:88px}
body,button,input,select,textarea{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body{color:var(--v105-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body :is(h1,h2,h3,h4,h5,h6,.brand-word){font-family:"Inter Tight",Inter,system-ui,sans-serif!important;text-wrap:balance}
body :is(p,li){text-wrap:pretty}
.wrap{width:min(calc(100% - 48px),1180px)!important;margin-inline:auto}

/* Consistent typography scale */
body :is(.va102-service-page,.va102-audience-page,.va103-audit-page,.va104-page) h1{font-weight:585!important;letter-spacing:-.055em!important}
body :is(.va102-service-page,.va102-audience-page,.va103-audit-page,.va104-page) h2{font-weight:585!important;letter-spacing:-.047em!important}
body :is(.va102-service-page,.va102-audience-page,.va103-audit-page,.va104-page) h3{font-weight:620!important;letter-spacing:-.022em!important}

/* Global focus + controls */
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid rgba(75,125,243,.28)!important;outline-offset:3px!important}
:where(input,select,textarea){font-family:Inter,system-ui,sans-serif}
:where(.btn,.nav930-cta,.footer-contact-cta){transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease!important}
:where(.btn,.nav930-cta,.footer-contact-cta):hover{transform:translateY(-1px)}

/* --------------------------------------------------------------------------
   Header / navigation
   -------------------------------------------------------------------------- */
.nav930-header{height:70px!important}
.nav930-shell{min-height:70px!important}
.nav930-logo .brand-logo-current{max-width:142px!important}
.nav930-trigger,.nav930-link{min-height:38px!important;padding-inline:11px!important;font-size:13px!important}
.nav930-cta{min-height:40px!important;padding:0 15px!important;border-radius:11px!important;font-size:12.5px!important}
.nav930-panel{border-radius:18px!important;box-shadow:0 20px 58px rgba(18,40,68,.13)!important}

/* --------------------------------------------------------------------------
   Homepage rhythm
   -------------------------------------------------------------------------- */
body.home .va247-home-v840 .section{padding:var(--v105-section) 0!important}
.home890-layout{padding-top:66px!important;padding-bottom:54px!important;gap:54px!important}
.home890-copy h1{line-height:.98!important;letter-spacing:-.06em!important}
.home900-proofdock{padding-block:16px!important}
.home940-problem-top{gap:42px!important}
.home970-owner-head,.home100-proof-head{margin-bottom:28px!important}
.home970-owner-title h2{font-size:clamp(39px,4.2vw,56px)!important}
.home990-shell-body{min-height:480px!important}
.home840-chapter-head{margin-bottom:30px!important}
.home840-diff-grid article{min-height:0!important;padding:24px 22px!important}
.home840-start-steps article{padding-block:18px!important}
.home1010-stack{padding:72px 0 54px!important}
.home1010-stack-grid{gap:42px!important}
.home1010-stack-visual{min-height:520px!important}
.home1010-stack-foot{margin-top:22px!important}
.home840-final-shell{gap:34px!important;padding:30px!important;border-radius:22px!important}
.home840-form-card{padding:22px!important;border-radius:18px!important}

/* --------------------------------------------------------------------------
   Shared service + audience pages
   -------------------------------------------------------------------------- */
.va102-service-page .section,.va102-audience-page .section{padding:72px 0!important}
.va102-service-hero-grid,.va102-audience-hero-grid{padding:64px 0 58px!important;gap:48px!important}
.va102-service-hero h1,.va102-audience-hero h1{font-size:clamp(44px,4.7vw,64px)!important;line-height:.99!important}
.va102-service-hero-copy>p,.va102-audience-hero-copy>p{margin-top:17px!important;font-size:16px!important;line-height:1.66!important}
.va102-hero-actions{margin-top:22px!important;gap:14px!important}
.va102-hero-note{margin-top:16px!important}
.va102-service-console,.va102-audience-hero-visual{border-radius:22px!important;box-shadow:var(--v105-shadow)!important}
.va102-section-head{gap:34px!important;margin-bottom:28px!important}
.va102-section-head h2{font-size:clamp(34px,3.35vw,48px)!important;line-height:1.035!important}
.va102-section-head>p{font-size:15px!important;line-height:1.66!important}
.va102-task-grid article{min-height:170px!important;padding:20px!important}
.va102-orchestration-board{padding:18px!important;gap:10px!important;border-radius:20px!important;box-shadow:var(--v105-shadow)!important}
.va102-orchestration-board article{min-height:185px!important;padding:17px!important;border-radius:15px!important}
.va102-outcome-grid article,.va102-audience-card-grid article,.va102-control-grid article{min-height:0!important}
.va102-audience-card-grid article,.va102-control-grid article{padding:20px!important}
.va102-audience-card-grid h3,.va102-control-grid h3{margin-top:27px!important}
.va102-audience-model-grid{gap:48px!important}
.va102-audience-model-steps article{padding:16px!important;border-radius:15px!important}
.va102-capability-cloud>span{min-height:58px!important}
.va102-scale-track{gap:9px!important}
.va102-audience-contact-grid{gap:44px!important}
.va102-contact-card{padding:21px!important;border-radius:19px!important}
.va102-service-page .faq-layout{gap:42px!important}
.va102-service-page .faq-list summary{min-height:60px!important}
.va102-service-page .cta-band{padding-bottom:72px!important}
.va102-service-page .cta-card{border-radius:20px!important;box-shadow:var(--v105-shadow)!important}

/* --------------------------------------------------------------------------
   Audit page
   -------------------------------------------------------------------------- */
.va103-audit-page .section{padding:72px 0!important}
.va103-audit-hero-inner{padding:64px 0 58px!important;gap:48px!important}
.va103-audit-hero h1{font-size:clamp(44px,4.8vw,66px)!important;line-height:.99!important}
.va103-audit-hero-copy>p{font-size:16px!important;line-height:1.66!important}
.va103-section-head{margin-bottom:28px!important;gap:34px!important}
.va103-audit-form-grid{gap:42px!important}

/* --------------------------------------------------------------------------
   About / Resources / Careers
   -------------------------------------------------------------------------- */
.va104-hero{padding:66px 0 58px!important}
.va104-hero-grid{gap:48px!important}
.va104-hero h1{font-size:clamp(46px,5.1vw,70px)!important;line-height:.985!important}
.va104-hero-copy>p{margin-top:18px!important;font-size:16px!important;line-height:1.66!important}
.va104-hero-actions{margin-top:24px!important;gap:14px!important}
.va104-page .section{padding:72px 0!important}
.va104-section-head{gap:34px!important;margin-bottom:28px!important}
.va104-section-head h2{font-size:clamp(35px,3.55vw,50px)!important;line-height:1.025!important}
.va104-section-head>p{font-size:15px!important;line-height:1.66!important}
.va104-friction-grid article{min-height:0!important;padding:23px!important}
.va104-friction-grid h3{margin-top:30px!important}
.va104-model-shell{padding:28px!important;border-radius:22px!important;box-shadow:var(--v105-shadow)!important}
.va104-model-flow{margin-top:26px!important}
.va104-model-flow>article{min-height:112px!important}
.va104-principle-grid article{min-height:0!important;padding:21px!important}
.va104-principle-grid h3{margin-top:27px!important}
.va104-platform-grid{gap:48px!important}
.va104-mini-dashboard{border-radius:20px!important;box-shadow:0 20px 56px rgba(0,0,0,.17)!important}
.va104-career-value-grid article,.va104-benefit-grid article,.va104-playbook-grid article{min-height:0!important}
.va104-resource-feature-shell{border-radius:22px!important}

/* --------------------------------------------------------------------------
   Generic inner pages + forms
   -------------------------------------------------------------------------- */
.va247-inner-page .section{padding-top:72px!important;padding-bottom:72px!important}
.va247-inner-page .inner-hero{padding-top:60px!important;padding-bottom:58px!important;min-height:0!important}
.va247-inner-page :is(.home-contact-card,.contact-form-wrap,.career-application-card,.partner-application-card){border-radius:20px!important;box-shadow:var(--v105-shadow)!important}
:is(.contact-form,.career-application-form,.partner-application-card,.va102-contact-card,.va103-audit-form-card) :where(input,select,textarea){min-height:46px;border-radius:10px!important;border-color:rgba(34,72,116,.15)!important;box-shadow:none!important}
:is(.contact-form,.career-application-form,.partner-application-card,.va102-contact-card,.va103-audit-form-card) textarea{min-height:118px!important}

/* --------------------------------------------------------------------------
   Footer — preserve content, reduce visual bulk
   -------------------------------------------------------------------------- */
#va247-theme-footer{padding-top:0!important}
#va247-theme-footer .footer-premium-shell{padding-top:48px!important;padding-bottom:22px!important}
#va247-theme-footer .footer-premium-top{padding:30px!important;border-radius:22px!important;gap:32px!important}
#va247-theme-footer .footer-premium-brand h2{font-size:clamp(30px,3.2vw,44px)!important;line-height:1.02!important;max-width:12ch!important}
#va247-theme-footer .footer-premium-brand p{max-width:62ch!important;font-size:13.5px!important;line-height:1.66!important}
#va247-theme-footer .footer-premium-nav{padding-top:26px!important;padding-bottom:22px!important}
#va247-theme-footer .footer-links-premium{gap:48px!important}
#va247-theme-footer .footer-bottom-premium{padding-top:18px!important;padding-bottom:0!important}

/* --------------------------------------------------------------------------
   Motion restraint + micro polish
   -------------------------------------------------------------------------- */
:where(.va102-task-grid article,.va102-audience-card-grid article,.va102-control-grid article,.va104-principle-grid article,.home840-diff-grid article){transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
:where(.va102-task-grid article,.va102-audience-card-grid article,.va102-control-grid article,.va104-principle-grid article,.home840-diff-grid article):hover{transform:translateY(-2px)!important;box-shadow:var(--v105-shadow-soft)!important}

@media(max-width:1120px){
  :root{--v105-section:70px}
  .home1010-stack-visual{min-height:500px!important}
  .va102-service-hero-grid,.va102-audience-hero-grid,.va103-audit-hero-inner,.va104-hero-grid{gap:34px!important}
}

@media(max-width:780px){
  :root{--v105-section:60px}
  .wrap{width:min(calc(100% - 32px),1180px)!important}
  .nav930-header,.nav930-shell{height:66px!important;min-height:66px!important}
  body.home .va247-home-v840 .section,.va102-service-page .section,.va102-audience-page .section,.va103-audit-page .section,.va104-page .section,.va247-inner-page .section{padding:60px 0!important}
  .home890-layout,.va102-service-hero-grid,.va102-audience-hero-grid,.va103-audit-hero-inner{padding-top:52px!important;padding-bottom:44px!important}
  .va104-hero{padding:52px 0 46px!important}
  .home990-shell-body{min-height:0!important}
  .home1010-stack{padding:60px 0 46px!important}
  .home1010-stack-visual{min-height:0!important}
  .home840-final-shell{padding:22px!important}
  .va102-section-head,.va103-section-head,.va104-section-head{margin-bottom:24px!important;gap:14px!important}
  .va102-task-grid article,.va102-orchestration-board article{min-height:0!important}
  .va104-model-shell{padding:22px!important}
  #va247-theme-footer .footer-premium-shell{padding-top:36px!important}
  #va247-theme-footer .footer-premium-top{padding:24px!important}
}

@media(max-width:520px){
  .wrap{width:min(calc(100% - 24px),1180px)!important}
  body.home .va247-home-v840 .section,.va102-service-page .section,.va102-audience-page .section,.va103-audit-page .section,.va104-page .section,.va247-inner-page .section{padding:52px 0!important}
  .home890-layout,.va102-service-hero-grid,.va102-audience-hero-grid,.va103-audit-hero-inner{padding-top:44px!important;padding-bottom:40px!important}
  .va104-hero{padding:44px 0 40px!important}
  .home840-final-shell,.va102-contact-card,.va104-model-shell{padding:18px!important}
  #va247-theme-footer .footer-premium-top{padding:20px!important;border-radius:18px!important}
  #va247-theme-footer .footer-links-premium{gap:28px!important}
}

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