/* ======================================================================
   ANGREZI GURU — LOCKED FACADE DESIGN SYSTEM
   Visual-only override. No forms, payment, data, lead, API, JS or PHP logic.
   No gradients / no fades. Solid block colours only.
   ====================================================================== */
:root{
  --ag-teal:#00B4A3;
  --ag-teal-hover:#008F83;
  --ag-teal-dark:#007F75;
  --ag-teal-deep:#006B63;
  --navy:#12233F;
  --navy-2:#162A46;
  --navy-3:#203653;
  --navy-4:#29435D;
  --text:#425B70;
  --text-secondary:#536B80;
  --caption:#687B8D;
  --muted:#8494A3;
  --white:#FFFFFF;
  --off-white:#FFFDF8;
  --neutral:#F7F9FA;
  --mint:#EAF8F4;
  --mint-strong:#DDF4EE;
  --sky:#EDF6FC;
  --sky-strong:#E2F0FB;
  --lavender:#F3EFFB;
  --lavender-strong:#EAE2F8;
  --butter:#FFF7DE;
  --butter-strong:#FFF3C9;
  --peach:#FFF0E7;
  --peach-strong:#FFE6D8;
  --rose:#FCEFF3;
  --rose-strong:#F9E3EB;
  --cream:#FFF9EC;
  --border:#DDE7EC;
  --divider:#E8EEF1;
  --dark-body:#E4EDF3;
  --dark-secondary:#C5D4DF;
  --dark-muted:#AAC0D1;
  --dark-accent:#7DE0D5;
}

/* HARD RULE: no colour gradients, no fades anywhere in the public facade. */
html body *{background-image:none!important;}

html{background:var(--white)!important;}
body{
  background:var(--neutral)!important;
  color:var(--text)!important;
  font-family:Inter,Roboto,"Open Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  font-size:17px!important;
  line-height:1.60!important;
}
body,button,input,select,textarea{font-family:Inter,Roboto,"Open Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;}
h1,h2,h3,h4,h5,h6,.btn,.nav,.eyebrow,.badge,.brand strong{font-family:Poppins,Inter,Roboto,"Open Sans",sans-serif!important;}

/* LOCKED TYPOGRAPHY — DESKTOP */
h1{font-size:46px!important;line-height:1.12!important;color:var(--navy)!important;letter-spacing:-.025em!important;}
h2{font-size:34px!important;line-height:1.20!important;color:var(--navy-2)!important;letter-spacing:-.015em!important;}
h3{font-size:26px!important;line-height:1.25!important;color:var(--navy-3)!important;}
h4,h5{font-size:19px!important;line-height:1.35!important;color:var(--navy-4)!important;}
p,li{font-size:17px!important;line-height:1.60!important;color:var(--text)!important;}
small,figcaption,.caption,.hint,.meta,.secondary-text{font-size:14px!important;line-height:1.5!important;color:var(--caption)!important;}
.eyebrow{font-size:14px!important;line-height:1.3!important;letter-spacing:.10em!important;text-transform:uppercase!important;font-weight:800!important;color:var(--ag-teal-dark)!important;}
.nav>a,.nav button,.main-navigation a,.primary-menu a,.wp-block-navigation a{font-size:16px!important;}
.btn,button,input[type="submit"],.wp-block-button__link{font-size:17px!important;line-height:1.2!important;min-height:50px;}
.tbl th,.tbl td,.timetable th,.timetable td,table th,table td{font-size:15px!important;line-height:1.45!important;}

/* HEADER / NAV */
.header{background:var(--white)!important;border-bottom:1px solid var(--divider)!important;box-shadow:0 4px 18px rgba(18,35,63,.05)!important;backdrop-filter:none!important;}
.brand strong{color:var(--navy)!important;}
.brand small{color:var(--caption)!important;font-size:14px!important;}
.nav>a,.nav button{color:var(--navy)!important;background:transparent!important;}
.nav>a:hover,.nav>a.active,.nav button:hover{background:var(--mint)!important;color:var(--ag-teal-dark)!important;}
.currency{background:var(--white)!important;border-color:var(--border)!important;}
.currency button{color:var(--text-secondary)!important;}
.currency button.active{background:var(--mint-strong)!important;color:var(--ag-teal-dark)!important;}
.mega{background:var(--white)!important;border-color:var(--border)!important;}
.mega .feature{background:var(--navy)!important;color:var(--white)!important;}
.mega .feature h3,.mega .feature h4{color:var(--white)!important;}
.mega .feature p{color:var(--dark-secondary)!important;}

/* BUTTONS */
.primary,.btn-primary,.submit{background:var(--ag-teal)!important;color:var(--white)!important;border-color:var(--ag-teal)!important;}
.primary:hover,.btn-primary:hover,.submit:hover{background:var(--ag-teal-hover)!important;color:var(--white)!important;}
.secondary,.btn-secondary{background:var(--white)!important;color:var(--ag-teal-dark)!important;border:1px solid var(--ag-teal)!important;}
.secondary:hover,.btn-secondary:hover{background:var(--mint)!important;color:var(--ag-teal-deep)!important;}
.darkbtn{background:var(--navy)!important;color:var(--white)!important;}

/* PAGE FRAME + CLEAR BLOCK RHYTHM */
main{background:var(--neutral)!important;padding-top:28px!important;}
.wrap{max-width:1240px!important;}
main>.wrap{padding-bottom:16px;}

/* Hero is a strong solid navy block — never a gradient. */
.hero,.meet-david-v2-content .hero,.demo-register .demo-hero,.payment-confirmation-hero{
  background:var(--navy)!important;
  color:var(--white)!important;
  border:1px solid var(--navy)!important;
  box-shadow:none!important;
}
.hero:after{display:none!important;}
.hero h1,.hero h2,.hero h3,.hero h4,.hero h5,
.meet-david-v2-content .hero h1,.demo-register .demo-hero h1,.payment-confirmation-hero h1,.payment-confirmation-hero h2{color:var(--white)!important;}
.hero p,.hero li,.meet-david-v2-content .hero p,.demo-register .demo-hero p,.payment-confirmation-hero p{color:var(--dark-body)!important;}
.hero .eyebrow,.hero-side .eyebrow{color:var(--dark-accent)!important;}
.hero-side,.hero-journey,.demo-register .demo-hero .note{
  background:var(--navy-3)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
}
.hero-side h2,.hero-journey h2,.hero-side h3,.hero-journey h3{color:var(--white)!important;}
.hero-side p,.hero-journey p{color:var(--dark-secondary)!important;}
.hero-fact,.fee-chip{background:var(--navy-4)!important;border-color:rgba(255,255,255,.18)!important;}
.hero-fact strong,.fee-chip strong{color:var(--white)!important;}
.hero-fact span,.fee-chip span{color:var(--dark-secondary)!important;}

/* Every major .section is a distinct solid block with visible separation. */
main .section{
  padding:84px 42px!important;
  margin-top:28px!important;
  border-radius:24px!important;
  border:1px solid var(--border)!important;
  background:var(--white)!important;
}
main .section:nth-of-type(2){background:var(--mint)!important;}
main .section:nth-of-type(3){background:var(--white)!important;}
main .section:nth-of-type(4){background:var(--sky)!important;}
main .section:nth-of-type(5){background:var(--cream)!important;}
main .section:nth-of-type(6){background:var(--lavender)!important;}
main .section:nth-of-type(7){background:var(--butter)!important;}
main .section:nth-of-type(8){background:var(--white)!important;}
main .section:nth-of-type(9){background:var(--peach)!important;}
main .section:nth-of-type(10){background:var(--mint)!important;}
main .section:nth-of-type(11){background:var(--rose)!important;}
main .section:nth-of-type(12){background:var(--neutral)!important;}
main .section:nth-of-type(n+13){background:var(--white)!important;}
.section-head{margin-bottom:38px!important;gap:44px!important;}
.section-head p,.section>p,.lede{color:var(--text-secondary)!important;}

/* CARDS / PANELS — crisp, solid surfaces */
.card,.stat,.panel,.notice-tile,.logo-card,.level-section,.syllabus-block,.doc-shell,.upcoming-card,.batch-ann,.demo-register .demo-form,.david-story>article,.david-story>aside{
  background:var(--white)!important;
  border:1px solid var(--border)!important;
  box-shadow:none!important;
}
.card.dark,.panel.dark,.notice-tile.leader,.level-head,.david-color-band,.meet-david-v2-content .card.dark,.meet-david-v2-content .color-panel,.meet-david-v2-content .cta,.cta-panel,.quote,.payment-callout,.summary{
  background:var(--navy)!important;
  color:var(--white)!important;
  border-color:var(--navy)!important;
  box-shadow:none!important;
}
.card.dark h2,.card.dark h3,.card.dark h4,.panel.dark h2,.panel.dark h3,.notice-tile.leader h3,.level-head h2,.david-color-band h2,.david-color-band h3,.quote h3,.payment-callout h2,.summary h2,.summary h3{color:var(--white)!important;}
.card.dark p,.card.dark li,.panel.dark p,.notice-tile.leader p,.level-head p,.david-color-band p,.david-color-band li,.quote p,.payment-callout p,.summary p,.summary li{color:var(--dark-body)!important;}
.card h3,.notice-tile h3,.logo-card h3,.syllabus-block h3{color:var(--navy-3)!important;}
.card p,.card li,.notice-tile p,.logo-card p,.syllabus-block p,.syllabus-block li{color:var(--text-secondary)!important;}
.badge{background:var(--mint-strong)!important;color:var(--ag-teal-dark)!important;}
.dark .badge{background:var(--navy-4)!important;color:var(--dark-accent)!important;}
.mini{background:var(--mint)!important;border-color:var(--border)!important;}
.david-achievement{background:var(--mint)!important;}

/* Individual block accent variants */
.g4>.card:nth-child(4n+1),.g3>.card:nth-child(3n+1){border-top:5px solid var(--ag-teal)!important;}
.g4>.card:nth-child(4n+2),.g3>.card:nth-child(3n+2){border-top:5px solid #7EA8D6!important;}
.g4>.card:nth-child(4n+3),.g3>.card:nth-child(3n+3){border-top:5px solid #A995D6!important;}
.g4>.card:nth-child(4n+4){border-top:5px solid #E6C86F!important;}

/* TABLES */
.tbl,.timetable,.table-shell{background:var(--white)!important;border-color:var(--border)!important;box-shadow:none!important;}
.tbl th,.timetable th,.timetable-main table.timetable thead th{background:var(--navy)!important;color:var(--white)!important;}
.tbl td,.timetable td{color:var(--text)!important;background:var(--white)!important;}
.tbl tbody tr:nth-child(even) td,.timetable tbody tr:nth-child(even) td{background:var(--neutral)!important;}
.session-divider td{background:var(--mint-strong)!important;color:var(--ag-teal-dark)!important;}
.price-emphasis{color:var(--ag-teal-dark)!important;}

/* FORMS — visual only */
.field label,.demo-register label,.demo-register legend{color:var(--navy-4)!important;}
.field input,.field select,.field textarea,.demo-register input,.demo-register select{
  background:var(--white)!important;color:var(--navy)!important;border-color:#CCD9E1!important;font-size:16px!important;
}
.field input:focus,.field select:focus,.field textarea:focus,.demo-register input:focus,.demo-register select:focus{
  outline:3px solid var(--mint-strong)!important;border-color:var(--ag-teal)!important;
}
.demo-register .touch-choice span{background:var(--white)!important;border-color:#CCD9E1!important;font-size:16px!important;}
.demo-register .touch-choice input:checked+span{background:var(--mint)!important;border-color:var(--ag-teal)!important;color:var(--ag-teal-deep)!important;}
.demo-register .declare{background:var(--neutral)!important;}

/* Payment success action blocks — solid, clearly distinct */
.payment-action.primary{background:var(--ag-teal-dark)!important;color:var(--white)!important;}
.payment-action.invoice{background:var(--navy)!important;color:var(--white)!important;}

/* Footer — one strong solid closing block */
.footer{background:var(--navy)!important;color:var(--white)!important;box-shadow:none!important;}
.footer h4,.footer .brand strong{color:var(--white)!important;}
.footer a,.footer p{color:var(--dark-secondary)!important;font-size:14px!important;}
.footer a:hover{color:var(--dark-accent)!important;}
.footer .brand small,.footbar{color:var(--dark-muted)!important;font-size:13px!important;}
.footer-legal,.footbar{border-color:rgba(255,255,255,.14)!important;}

/* Floating controls */
.sticky-pay{background:var(--navy)!important;color:var(--white)!important;}
.sticky-pay span{color:var(--dark-accent)!important;}
.mobile-bottom{background:var(--white)!important;backdrop-filter:none!important;}
.mobile-bottom a{color:var(--text-secondary)!important;font-size:13px!important;}

/* MOBILE TYPOGRAPHY + SPACING */
@media(max-width:767px){
  body{font-size:16px!important;line-height:1.60!important;}
  h1{font-size:32px!important;line-height:1.15!important;}
  h2{font-size:25px!important;line-height:1.22!important;}
  h3{font-size:21px!important;line-height:1.28!important;}
  h4,h5{font-size:18px!important;line-height:1.35!important;}
  p,li{font-size:16px!important;line-height:1.60!important;}
  small,figcaption,.caption,.hint,.meta,.secondary-text{font-size:13px!important;}
  .eyebrow{font-size:13px!important;}
  .nav>a,.nav button,.main-navigation a,.primary-menu a,.wp-block-navigation a{font-size:15px!important;}
  .btn,button,input[type="submit"],.wp-block-button__link{font-size:16px!important;}
  .tbl th,.tbl td,.timetable th,.timetable td,table th,table td{font-size:14px!important;}
  main .section{padding:58px 22px!important;margin-top:20px!important;border-radius:18px!important;}
  .section-head{margin-bottom:30px!important;gap:14px!important;}
  .hero,.meet-david-v2-content .hero,.demo-register .demo-hero{padding:42px 24px!important;border-radius:20px!important;}
  .footer a,.footer p{font-size:13px!important;}
}

/* 2026-09-10 MASTER CLARITY PASS — visual facade only. */
h1,h2,h3,h4,h5,h6,.btn,.nav,.eyebrow,.badge,.brand strong{
  font-family:Inter,Roboto,"Open Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
/* Stronger chapter separation: full solid blocks, never fades. */
main .section{overflow:hidden!important;}
main .section + .section{margin-top:32px!important;}
main .section:nth-of-type(4n+1){background:var(--white)!important;}
main .section:nth-of-type(4n+2){background:var(--mint)!important;}
main .section:nth-of-type(4n+3){background:var(--sky)!important;}
main .section:nth-of-type(4n+4){background:var(--lavender)!important;}
main .section.section-butter{background:var(--butter)!important;}
main .section.section-peach{background:var(--peach)!important;}
main .section.section-rose{background:var(--rose)!important;}
main .section.section-cream{background:var(--cream)!important;}
/* Compact 5W1H orientation strip. This is a scan aid, not six large sections. */
.ag-clarity-strip{margin:28px 0 0;padding:24px;border:1px solid var(--border);border-radius:20px;background:var(--white);}
.ag-clarity-strip__title{margin:0 0 16px;font-size:19px!important;color:var(--navy-3)!important;}
.ag-clarity-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.ag-clarity-item{padding:15px 16px;border-radius:14px;background:var(--neutral);border:1px solid var(--border);}
.ag-clarity-item:nth-child(2){background:var(--mint);}.ag-clarity-item:nth-child(3){background:var(--sky);}.ag-clarity-item:nth-child(4){background:var(--butter);}.ag-clarity-item:nth-child(5){background:var(--lavender);}
.ag-clarity-item strong{display:block;margin-bottom:5px;font-size:14px;line-height:1.25;color:var(--navy-3);}
.ag-clarity-item span{display:block;font-size:14px;line-height:1.5;color:var(--text-secondary);}
@media(max-width:1023px){.ag-clarity-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){
 body{font-size:16px!important;line-height:1.60!important;}
 h1{font-size:32px!important;line-height:1.15!important;} h2{font-size:25px!important;line-height:1.22!important;} h3{font-size:21px!important;line-height:1.28!important;} h4,h5{font-size:18px!important;}
 p,li{font-size:16px!important;line-height:1.60!important;} small,figcaption,.caption,.hint,.meta,.secondary-text{font-size:13px!important;}
 .nav>a,.nav button,.main-navigation a,.primary-menu a,.wp-block-navigation a{font-size:15px!important;}.btn,button,input[type="submit"],.wp-block-button__link{font-size:16px!important;}.tbl th,.tbl td,.timetable th,.timetable td,table th,table td{font-size:14px!important;}
 main{padding-top:14px!important;} main .section{padding:58px 20px!important;margin-top:18px!important;border-radius:18px!important;} main .section + .section{margin-top:20px!important;}
 .ag-clarity-strip{padding:18px;margin-top:18px}.ag-clarity-grid{grid-template-columns:1fr}.ag-clarity-item span{font-size:14px;}
}

/* ==============================================================
   2026-09-10 BALANCED SYMMETRY PASS v2
   Visual-only correction. Purpose: proportion, alignment, readable
   hierarchy and clearly separated solid-colour chapters.
   No business logic, forms, payments, data or runtime code changed.
   ============================================================== */

/* A balanced type scale: smaller than the earlier oversized facade,
   but intentionally NOT miniature. Contextual card type is smaller. */
body{font-size:16px!important;line-height:1.58!important;}
h1{font-size:42px!important;line-height:1.12!important;letter-spacing:-.025em!important;}
h2{font-size:31px!important;line-height:1.20!important;letter-spacing:-.015em!important;}
h3{font-size:23px!important;line-height:1.26!important;}
h4,h5{font-size:18px!important;line-height:1.36!important;}
p,li{font-size:16px!important;line-height:1.58!important;}
small,figcaption,.caption,.hint,.meta,.secondary-text{font-size:13px!important;line-height:1.5!important;}
.eyebrow{font-size:12px!important;line-height:1.3!important;letter-spacing:.105em!important;}
.nav>a,.nav button,.main-navigation a,.primary-menu a,.wp-block-navigation a{font-size:15px!important;}
.btn,button,input[type="submit"],.wp-block-button__link{font-size:16px!important;min-height:48px!important;}
.tbl th,.tbl td,.timetable th,.timetable td,table th,table td{font-size:14px!important;}

/* Frame: generous, but not oversized. */
.wrap{max-width:1180px!important;}
main{padding-top:24px!important;}
main>.wrap{padding-bottom:18px!important;}

/* HERO — 60/40 balance, no stretched/tower card, no dead space. */
.hero,.meet-david-v2-content .hero,.demo-register .demo-hero{
  min-height:0!important;
  padding:50px 54px!important;
  grid-template-columns:minmax(0,1.48fr) minmax(300px,.82fr)!important;
  gap:52px!important;
  align-items:center!important;
  border-radius:26px!important;
}
.hero-copy{align-self:center!important;max-width:720px!important;}
.hero h1{max-width:720px!important;margin:10px 0 15px!important;}
.hero p{max-width:720px!important;font-size:16px!important;line-height:1.60!important;}
.hero-actions{gap:10px!important;margin-top:20px!important;}

/* Hero information cards should hug their content, never stretch to hero height. */
.hero-side,.hero-journey,
.demo-register .demo-hero .note{
  align-self:center!important;
  justify-self:end!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:360px!important;
  min-height:0!important;
  height:auto!important;
  padding:24px!important;
  border-radius:20px!important;
}
.hero-side h2,.hero-journey h2{font-size:21px!important;line-height:1.20!important;margin:0 0 16px!important;}
.hero-side p,.hero-journey p{font-size:14px!important;line-height:1.50!important;}
.journey-list{gap:11px!important;}
.journey-item{grid-template-columns:34px minmax(0,1fr)!important;gap:11px!important;align-items:start!important;}
.journey-number{width:34px!important;height:34px!important;border-radius:10px!important;font-size:14px!important;}
.journey-item h3{font-size:16px!important;line-height:1.26!important;margin:1px 0 3px!important;letter-spacing:0!important;}
.journey-item p{font-size:13px!important;line-height:1.42!important;margin:0!important;}
.hero-facts{gap:9px!important;margin-top:12px!important;}
.hero-fact{padding:11px 12px!important;border-radius:12px!important;}
.hero-fact strong{font-size:14px!important;line-height:1.3!important;}
.hero-fact span{font-size:12px!important;line-height:1.45!important;}

/* HOME quick facts form one clean, symmetrical bridge block. */
.home-summary-retained.trust{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:12px!important;
  margin:18px 0 0!important;
  padding:14px!important;
  background:var(--offwhite)!important;
  border:1px solid var(--border)!important;
  border-radius:20px!important;
}
.home-summary-retained .stat{
  min-width:0!important;
  height:100%!important;
  padding:16px!important;
  border-radius:14px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.stat small{font-size:11px!important;line-height:1.35!important;margin-bottom:5px!important;}
.stat strong{font-size:15px!important;line-height:1.30!important;}

/* SECTION CHAPTERS — distinctly coloured blocks with disciplined dimensions. */
main .section{
  padding:66px 36px!important;
  margin-top:24px!important;
  border-radius:22px!important;
  border:1px solid var(--border)!important;
}
main .section + .section{margin-top:24px!important;}
.section-head{
  grid-template-columns:minmax(0,1fr) minmax(300px,.82fr)!important;
  align-items:end!important;
  gap:42px!important;
  margin-bottom:30px!important;
}
.section-head h2,.section h2{font-size:31px!important;line-height:1.20!important;}
.section-head p,.section>p,.lede{font-size:16px!important;line-height:1.58!important;max-width:720px!important;}

/* Clear, repeating solid-block rhythm. The sequence is deliberate and
   sufficiently different from one chapter to the next. */
main .section:nth-of-type(4n+1){background:var(--white)!important;}
main .section:nth-of-type(4n+2){background:var(--mint)!important;}
main .section:nth-of-type(4n+3){background:var(--sky)!important;}
main .section:nth-of-type(4n+4){background:var(--lavender)!important;}
main .section.section-butter{background:var(--butter)!important;}
main .section.section-peach{background:var(--peach)!important;}
main .section.section-rose{background:var(--rose)!important;}
main .section.section-cream{background:var(--cream)!important;}

/* SITE-WIDE GRID SYMMETRY. Equal cards within a row, but no arbitrary
   giant minimum heights. */
.g4,.g3,.g2,.trust,.notice-board,.logo-network,.batch-grid,.mini-grid,.form-grid,.level-grid{
  align-items:stretch!important;
}
.g4,.g3,.g2{gap:16px!important;}
.g4>.card,.g3>.card,.g2>.card,
.g4>.panel,.g3>.panel,.g2>.panel,
.notice-board>.notice-tile,.logo-network>.logo-card,.batch-grid>*{
  height:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
}
.card,.panel,.notice-tile,.logo-card,.stat,.syllabus-block,.batch-ann{
  padding:20px!important;
  border-radius:18px!important;
}
.card,.panel,.notice-tile,.logo-card{
  display:flex!important;
  flex-direction:column!important;
}
.card h3,.panel h3,.notice-tile h3,.logo-card h3,.syllabus-block h3{
  font-size:18px!important;
  line-height:1.30!important;
  margin:7px 0 7px!important;
  letter-spacing:0!important;
}
.card h4,.panel h4{font-size:17px!important;line-height:1.32!important;}
.card p,.card li,.panel p,.panel li,.notice-tile p,.logo-card p,.syllabus-block p,.syllabus-block li{
  font-size:14.5px!important;
  line-height:1.55!important;
}
.badge{font-size:11px!important;line-height:1.2!important;padding:6px 9px!important;}
.detail-list li{font-size:14.5px!important;line-height:1.55!important;}
.mini{padding:12px!important;border-radius:12px!important;}
.mini small{font-size:11px!important;}
.mini strong{font-size:14px!important;line-height:1.35!important;}

/* Important standalone dark callouts should be broad and calm, not oversized. */
.quote,.payment-callout,.cta-panel,.summary{
  padding:28px 30px!important;
  border-radius:20px!important;
}
.quote h3,.payment-callout h2,.cta-panel h2,.summary h2{font-size:27px!important;line-height:1.22!important;}
.quote p,.payment-callout p,.cta-panel p,.summary p{font-size:15px!important;line-height:1.58!important;}

/* Logo cards: identical visual stage and balanced content area. */
.logo-network{gap:16px!important;}
.logo-card{display:grid!important;grid-template-rows:118px auto!important;align-items:start!important;text-align:center!important;}
.logo-stage,.connected-brand-logo-stage{height:118px!important;display:grid!important;place-items:center!important;}
.logo-stage img,.connected-brand-logo-stage img{max-width:96px!important;max-height:96px!important;width:auto!important;height:auto!important;object-fit:contain!important;}
.logo-card>div:last-child{align-self:start!important;}

/* Tables/forms stay readable without dominating a page. */
.tbl th,.tbl td,.timetable th,.timetable td{padding:12px 13px!important;}
.field input,.field select,.field textarea,.demo-register input,.demo-register select{font-size:16px!important;}

/* Tablet: preserve balance, then stack intentionally. */
@media(max-width:1120px){
  .hero,.meet-david-v2-content .hero,.demo-register .demo-hero{
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr)!important;
    gap:34px!important;
    padding:44px 42px!important;
  }
  .hero-side,.hero-journey{max-width:330px!important;}
  .section-head{grid-template-columns:1fr .8fr!important;gap:28px!important;}
  .home-summary-retained.trust{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

@media(max-width:900px){
  .hero,.meet-david-v2-content .hero,.demo-register .demo-hero{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .hero-side,.hero-journey,.demo-register .demo-hero .note{
    justify-self:stretch!important;
    max-width:none!important;
  }
  .section-head{grid-template-columns:1fr!important;gap:12px!important;align-items:start!important;}
  .home-summary-retained.trust{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* Mobile remains fully readable: body stays 16px. */
@media(max-width:767px){
  body{font-size:16px!important;line-height:1.58!important;}
  h1{font-size:30px!important;line-height:1.15!important;}
  h2{font-size:24px!important;line-height:1.22!important;}
  h3{font-size:20px!important;line-height:1.28!important;}
  h4,h5{font-size:17px!important;}
  p,li{font-size:16px!important;line-height:1.58!important;}
  .eyebrow{font-size:11px!important;}
  .nav>a,.nav button,.main-navigation a,.primary-menu a,.wp-block-navigation a{font-size:14px!important;}
  .btn,button,input[type="submit"],.wp-block-button__link{font-size:15px!important;min-height:46px!important;}
  .hero,.meet-david-v2-content .hero,.demo-register .demo-hero{
    padding:36px 22px!important;
    border-radius:18px!important;
    gap:24px!important;
  }
  .hero h1{font-size:30px!important;}
  .hero p{font-size:16px!important;}
  .hero-side,.hero-journey,.demo-register .demo-hero .note{padding:20px!important;border-radius:16px!important;}
  .hero-side h2,.hero-journey h2{font-size:20px!important;margin-bottom:14px!important;}
  .journey-item h3{font-size:16px!important;}.journey-item p{font-size:13.5px!important;}
  .home-summary-retained.trust{grid-template-columns:1fr!important;padding:12px!important;border-radius:16px!important;gap:10px!important;}
  .home-summary-retained .stat{padding:14px 16px!important;}
  main .section{padding:48px 20px!important;margin-top:18px!important;border-radius:16px!important;}
  main .section + .section{margin-top:18px!important;}
  .section-head{margin-bottom:24px!important;}
  .section-head h2,.section h2{font-size:24px!important;}
  .section-head p,.section>p,.lede{font-size:16px!important;}
  .card,.panel,.notice-tile,.logo-card,.stat,.syllabus-block,.batch-ann{padding:18px!important;border-radius:16px!important;}
  .card h3,.panel h3,.notice-tile h3,.logo-card h3,.syllabus-block h3{font-size:18px!important;}
  .card p,.card li,.panel p,.panel li,.notice-tile p,.logo-card p,.syllabus-block p,.syllabus-block li{font-size:15px!important;}
  .quote,.payment-callout,.cta-panel,.summary{padding:24px 20px!important;border-radius:16px!important;}
  .quote h3,.payment-callout h2,.cta-panel h2,.summary h2{font-size:23px!important;}
  .logo-card{grid-template-rows:100px auto!important;}.logo-stage,.connected-brand-logo-stage{height:100px!important;}
}

/* ==============================================================
   2026-09-10 UNIFORM PWA SYSTEM v3
   Site-wide visual normalization: primary menu, footer, typography,
   cards, block colours, hero proportions and narrative hierarchy.
   Solid colours only. No functional/backend logic touched.
   ============================================================== */

/* ---- Global type system: one scale everywhere ---- */
:root{
  --ag-type-h1:40px;
  --ag-type-h2:30px;
  --ag-type-h3:22px;
  --ag-type-h4:17px;
  --ag-type-body:15.5px;
  --ag-type-support:14px;
  --ag-type-caption:12.5px;
  --ag-type-nav:13.5px;
  --ag-type-button:15px;
  --ag-type-table:13.5px;
  --ag-radius-section:22px;
  --ag-radius-card:16px;
  --ag-section-pad-y:62px;
  --ag-section-pad-x:34px;
}
body{font-size:var(--ag-type-body)!important;line-height:1.58!important;}
h1{font-size:var(--ag-type-h1)!important;line-height:1.10!important;font-weight:800!important;letter-spacing:-.025em!important;}
h2{font-size:var(--ag-type-h2)!important;line-height:1.18!important;font-weight:750!important;letter-spacing:-.016em!important;}
h3{font-size:var(--ag-type-h3)!important;line-height:1.24!important;font-weight:750!important;letter-spacing:-.008em!important;}
h4,h5{font-size:var(--ag-type-h4)!important;line-height:1.34!important;font-weight:700!important;}
p,li{font-size:var(--ag-type-body)!important;line-height:1.58!important;}
small,figcaption,.caption,.hint,.meta,.secondary-text{font-size:var(--ag-type-caption)!important;line-height:1.48!important;}
.eyebrow,.hero-kicker{font-size:11.5px!important;line-height:1.3!important;letter-spacing:.105em!important;font-weight:800!important;text-transform:uppercase!important;}
.btn,button,input[type="submit"],.wp-block-button__link{font-size:var(--ag-type-button)!important;line-height:1.2!important;min-height:46px!important;}
.tbl th,.tbl td,.timetable th,.timetable td,table th,table td{font-size:var(--ag-type-table)!important;line-height:1.45!important;}

/* ---- Primary menu: compact, orderly and visually quiet ---- */
.header-row{min-height:72px!important;gap:16px!important;}
.nav{gap:1px!important;}
.nav>a,.nav button,.main-navigation a,.primary-menu a,.wp-block-navigation a{
  font-size:var(--ag-type-nav)!important;
  line-height:1.2!important;
  font-weight:700!important;
  padding:9px 7px!important;
  border-radius:9px!important;
  white-space:nowrap!important;
}
.brand{gap:10px!important;}
.brand strong{font-size:16px!important;line-height:1.2!important;}
.brand small{font-size:12px!important;line-height:1.35!important;}
.actions{gap:8px!important;}
.actions .btn,.actions button{min-height:44px!important;font-size:14px!important;padding-top:9px!important;padding-bottom:9px!important;}
.currency button{font-size:13px!important;}

/* ---- One hero language across all public pages ---- */
.hero,.meet-david-v2-content .hero,.demo-register .demo-hero,.payment-confirmation-hero,.vg-hero{
  min-height:0!important;
  padding:48px 50px!important;
  border-radius:24px!important;
  background:var(--navy)!important;
  border:1px solid var(--navy)!important;
  box-shadow:none!important;
}
.hero{
  grid-template-columns:minmax(0,1.5fr) minmax(300px,.82fr)!important;
  gap:46px!important;
  align-items:center!important;
}
.hero-copy,.payment-hero-left{max-width:720px!important;align-self:center!important;}
.hero h1,.vg-hero h1,.payment-confirmation-hero h1{font-size:40px!important;line-height:1.10!important;max-width:720px!important;margin:10px 0 15px!important;}
.hero p,.vg-hero p,.payment-confirmation-hero p{font-size:15.5px!important;line-height:1.58!important;max-width:760px!important;}
.hero-actions,.hero-buttons{gap:10px!important;margin-top:20px!important;}
.hero-side,.hero-journey,.hero-card,.payment-hero-summary,.demo-register .demo-hero .note{
  width:100%!important;
  max-width:370px!important;
  min-height:0!important;
  height:auto!important;
  align-self:center!important;
  justify-self:end!important;
  padding:22px!important;
  border-radius:18px!important;
  background:var(--navy-3)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
}
.hero-side h2,.hero-journey h2,.hero-card h2,.payment-hero-summary h2{font-size:20px!important;line-height:1.22!important;margin:0 0 14px!important;}
.hero-side h3,.hero-journey h3,.hero-card h3,.payment-hero-summary h3{font-size:16px!important;line-height:1.28!important;}
.hero-side p,.hero-journey p,.hero-card p,.payment-hero-summary p{font-size:13.5px!important;line-height:1.48!important;}
.hero-facts{gap:9px!important;}
.hero-fact{padding:11px 12px!important;border-radius:12px!important;}
.hero-fact strong{font-size:13.5px!important;line-height:1.3!important;}
.hero-fact span{font-size:12px!important;line-height:1.45!important;}

/* ---- Section narration: same rhythm on every page ---- */
main{padding-top:24px!important;background:var(--neutral)!important;}
.wrap{max-width:1180px!important;}
main .section{
  padding:var(--ag-section-pad-y) var(--ag-section-pad-x)!important;
  margin-top:24px!important;
  border-radius:var(--ag-radius-section)!important;
  border:1px solid var(--border)!important;
  box-shadow:none!important;
}
main .section + .section{margin-top:24px!important;}
.section-head{
  grid-template-columns:minmax(0,1fr) minmax(280px,.76fr)!important;
  gap:38px!important;
  align-items:end!important;
  margin-bottom:28px!important;
}
.section-head h2,.section>h2{font-size:30px!important;line-height:1.18!important;margin-top:4px!important;}
.section-head p,.section>p,.lede{font-size:15.5px!important;line-height:1.58!important;max-width:720px!important;}

/* Canonical solid-colour chapter rhythm. Explicit semantic classes win. */
main .section:nth-of-type(6n+1){background:var(--white)!important;}
main .section:nth-of-type(6n+2){background:var(--mint)!important;}
main .section:nth-of-type(6n+3){background:var(--sky)!important;}
main .section:nth-of-type(6n+4){background:var(--butter)!important;}
main .section:nth-of-type(6n+5){background:var(--lavender)!important;}
main .section:nth-of-type(6n+6){background:var(--peach)!important;}
main .section.section-white{background:var(--white)!important;}
main .section.section-mint{background:var(--mint)!important;}
main .section.section-sky{background:var(--sky)!important;}
main .section.section-butter{background:var(--butter)!important;}
main .section.section-lavender{background:var(--lavender)!important;}
main .section.section-peach{background:var(--peach)!important;}
main .section.section-rose{background:var(--rose)!important;}
main .section.section-cream{background:var(--cream)!important;}

/* ---- Card system: same geometry, typography and surface treatment ---- */
.g4,.g3,.g2,.trust,.notice-board,.logo-network,.batch-grid,.mini-grid,.level-grid,.program-grid,.pricing-grid{
  gap:16px!important;
  align-items:stretch!important;
}
.card,.panel,.notice-tile,.logo-card,.stat,.syllabus-block,.batch-ann,.upcoming-card,.level-section,.hero-fact,.mini{
  border-radius:var(--ag-radius-card)!important;
  border:1px solid var(--border)!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
.card,.panel,.notice-tile,.logo-card,.stat,.syllabus-block,.batch-ann,.upcoming-card,.level-section{
  padding:19px!important;
}
.card,.panel,.notice-tile,.logo-card,.upcoming-card,.level-section{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  height:100%!important;
}
.card:not(.dark),.panel:not(.dark),.notice-tile:not(.leader),.logo-card,.stat,.syllabus-block,.batch-ann,.upcoming-card,.level-section{
  background:var(--white)!important;
}
.card.dark,.panel.dark,.notice-tile.leader,.summary,.quote,.payment-callout,.cta-panel{
  background:var(--navy)!important;
  border-color:var(--navy)!important;
}
.card h3,.panel h3,.notice-tile h3,.logo-card h3,.syllabus-block h3,.upcoming-card h3,.level-section h3{
  font-size:17.5px!important;
  line-height:1.28!important;
  margin:6px 0 7px!important;
}
.card h4,.panel h4{font-size:16px!important;line-height:1.32!important;}
.card p,.card li,.panel p,.panel li,.notice-tile p,.logo-card p,.syllabus-block p,.syllabus-block li,.upcoming-card p,.level-section p{
  font-size:14px!important;
  line-height:1.52!important;
}
.badge{font-size:10.5px!important;padding:5px 8px!important;}

/* Standard pastel variants only when intentionally classed; no arbitrary card rainbow. */
.card.mint,.panel.mint{background:var(--mint-strong)!important;}
.card.sky,.panel.sky{background:var(--sky-strong)!important;}
.card.lavender,.panel.lavender{background:var(--lavender-strong)!important;}
.card.butter,.panel.butter{background:var(--butter-strong)!important;}
.card.peach,.panel.peach{background:var(--peach-strong)!important;}
.card.rose,.panel.rose{background:var(--rose-strong)!important;}

/* Remove inconsistent decorative top stripes from generic grids. */
.g4>.card,.g3>.card,.g2>.card{border-top:1px solid var(--border)!important;}

/* ---- Footer: tidier and one scale smaller ---- */
.footer{
  margin-top:54px!important;
  padding:38px max(24px,calc((100vw - 1180px)/2 + 24px)) 24px!important;
  background:var(--navy)!important;
}
.footer-grid{
  grid-template-columns:1.25fr repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:start!important;
}
.footer .brand strong{font-size:15px!important;line-height:1.25!important;}
.footer .brand small{font-size:11.5px!important;line-height:1.45!important;}
.footer h4{font-size:11.5px!important;line-height:1.35!important;margin:0 0 9px!important;letter-spacing:.02em!important;}
.footer a,.footer p{font-size:12.5px!important;line-height:1.62!important;margin:0!important;}
.footer-legal,.footbar{margin-top:18px!important;padding-top:14px!important;}
.footbar{font-size:11px!important;line-height:1.55!important;}
.footer .btn,.footer button,.footer .footer-demo-btn{font-size:13px!important;min-height:42px!important;}

/* ---- Tablet / mobile parity ---- */
@media(max-width:1120px){
  .nav{display:none!important;}
  .header-row{min-height:68px!important;}
  .hero,.meet-david-v2-content .hero,.demo-register .demo-hero{
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr)!important;
    gap:30px!important;
    padding:42px 38px!important;
  }
  .section-head{grid-template-columns:1fr .75fr!important;gap:26px!important;}
  .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:900px){
  .hero,.meet-david-v2-content .hero,.demo-register .demo-hero{grid-template-columns:1fr!important;gap:24px!important;}
  .hero-side,.hero-journey,.hero-card,.payment-hero-summary,.demo-register .demo-hero .note{max-width:none!important;justify-self:stretch!important;}
  .section-head{grid-template-columns:1fr!important;gap:10px!important;align-items:start!important;}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:767px){
  :root{
    --ag-type-h1:29px;
    --ag-type-h2:23px;
    --ag-type-h3:19px;
    --ag-type-h4:16.5px;
    --ag-type-body:15px;
    --ag-type-support:14px;
    --ag-type-caption:12px;
    --ag-type-nav:14px;
    --ag-type-button:15px;
    --ag-type-table:13px;
  }
  body{font-size:var(--ag-type-body)!important;line-height:1.56!important;}
  h1{font-size:var(--ag-type-h1)!important;line-height:1.14!important;}
  h2{font-size:var(--ag-type-h2)!important;line-height:1.20!important;}
  h3{font-size:var(--ag-type-h3)!important;line-height:1.26!important;}
  h4,h5{font-size:var(--ag-type-h4)!important;}
  p,li{font-size:var(--ag-type-body)!important;line-height:1.56!important;}
  .header-row{min-height:64px!important;gap:10px!important;}
  .brand strong{font-size:15px!important;}.brand small{display:none!important;}
  .actions .btn,.actions button{font-size:13px!important;min-height:42px!important;}
  .hero,.meet-david-v2-content .hero,.demo-register .demo-hero,.payment-confirmation-hero,.vg-hero{
    padding:34px 20px!important;border-radius:18px!important;gap:22px!important;
  }
  .hero h1,.vg-hero h1,.payment-confirmation-hero h1{font-size:29px!important;line-height:1.14!important;}
  .hero p,.vg-hero p,.payment-confirmation-hero p{font-size:15px!important;line-height:1.56!important;}
  .hero-side,.hero-journey,.hero-card,.payment-hero-summary,.demo-register .demo-hero .note{padding:18px!important;border-radius:15px!important;}
  .hero-side h2,.hero-journey h2,.hero-card h2,.payment-hero-summary h2{font-size:18px!important;}
  main{padding-top:16px!important;}
  main .section{padding:44px 18px!important;margin-top:18px!important;border-radius:16px!important;}
  main .section + .section{margin-top:18px!important;}
  .section-head{margin-bottom:22px!important;}
  .section-head h2,.section>h2{font-size:23px!important;}
  .section-head p,.section>p,.lede{font-size:15px!important;line-height:1.56!important;}
  .card,.panel,.notice-tile,.logo-card,.stat,.syllabus-block,.batch-ann,.upcoming-card,.level-section{padding:17px!important;border-radius:15px!important;}
  .card h3,.panel h3,.notice-tile h3,.logo-card h3,.syllabus-block h3,.upcoming-card h3,.level-section h3{font-size:17px!important;}
  .card p,.card li,.panel p,.panel li,.notice-tile p,.logo-card p,.syllabus-block p,.syllabus-block li,.upcoming-card p,.level-section p{font-size:14px!important;}
  .footer{margin-top:40px!important;padding:30px 18px 22px!important;}
  .footer-grid{grid-template-columns:1fr!important;gap:20px!important;}
  .footer h4{font-size:11.5px!important;}.footer a,.footer p{font-size:12.5px!important;}.footbar{font-size:10.5px!important;}
}

/* ==============================================================
   2026-09-10 STAGING UNIFORM SYMMETRY SYSTEM v4
   One visual grammar across the entire public PWA.
   Focus: symmetry, cadence, consistent hero geometry, card geometry,
   typography and clearly separated solid-colour chapters.
   ============================================================== */
:root{
  --ag-v4-h1:38px;
  --ag-v4-h2:28px;
  --ag-v4-h3:20px;
  --ag-v4-h4:16.5px;
  --ag-v4-body:15px;
  --ag-v4-caption:12px;
  --ag-v4-nav:13px;
  --ag-v4-button:14.5px;
  --ag-v4-card-radius:16px;
  --ag-v4-section-radius:20px;
  --ag-v4-gap:16px;
}

/* Global type rhythm */
body{font-size:var(--ag-v4-body)!important;line-height:1.56!important;}
h1{font-size:var(--ag-v4-h1)!important;line-height:1.10!important;letter-spacing:-.022em!important;}
h2{font-size:var(--ag-v4-h2)!important;line-height:1.18!important;letter-spacing:-.014em!important;}
h3{font-size:var(--ag-v4-h3)!important;line-height:1.24!important;letter-spacing:-.006em!important;}
h4,h5{font-size:var(--ag-v4-h4)!important;line-height:1.34!important;}
p,li{font-size:var(--ag-v4-body)!important;line-height:1.56!important;}
small,figcaption,.caption,.hint,.meta,.secondary-text{font-size:var(--ag-v4-caption)!important;line-height:1.46!important;}
.eyebrow,.hero-kicker{font-size:11px!important;line-height:1.28!important;letter-spacing:.10em!important;}
.btn,button,input[type="submit"],.wp-block-button__link{font-size:var(--ag-v4-button)!important;min-height:44px!important;}
.tbl th,.tbl td,.timetable th,.timetable td,table th,table td{font-size:13px!important;line-height:1.42!important;}

/* Header/menu: compact and symmetric */
.header-row{min-height:68px!important;gap:12px!important;}
.brand{min-width:220px!important;gap:9px!important;}
.brand strong{font-size:15.5px!important;}
.brand small{font-size:11.5px!important;}
.nav{gap:0!important;justify-content:center!important;}
.nav>a,.nav button,.main-navigation a,.primary-menu a,.wp-block-navigation a{
  font-size:var(--ag-v4-nav)!important;
  padding:8px 6px!important;
  border-radius:8px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
.actions{gap:6px!important;}
.actions .btn,.actions button{font-size:13px!important;min-height:42px!important;padding:8px 12px!important;}
.currency button{font-size:12px!important;}

/* Canonical frame */
.wrap{max-width:1180px!important;}
main{padding-top:22px!important;}
main>.wrap{padding-bottom:18px!important;}

/* HERO: same proportions on every public page. No giant dead space. */
.hero,.meet-david-v2-content .hero,.demo-register .demo-hero,.payment-confirmation-hero,.vg-hero{
  min-height:0!important;
  height:auto!important;
  padding:42px 46px!important;
  border-radius:22px!important;
  box-sizing:border-box!important;
}
.hero{
  grid-template-columns:minmax(0,1.45fr) minmax(360px,.92fr)!important;
  gap:40px!important;
  align-items:center!important;
}
.hero-copy,.payment-hero-left{max-width:700px!important;align-self:center!important;}
.hero h1,.vg-hero h1,.payment-confirmation-hero h1{
  font-size:38px!important;
  line-height:1.10!important;
  max-width:680px!important;
  margin:9px 0 14px!important;
}
.hero p,.vg-hero p,.payment-confirmation-hero p{font-size:15px!important;line-height:1.56!important;max-width:700px!important;}
.hero-actions,.hero-buttons{gap:9px!important;margin-top:18px!important;}
.hero-actions .btn,.hero-buttons .btn{min-height:44px!important;padding:10px 16px!important;}

/* Hero-side card: wide enough to avoid tower-like wrapping, compact enough to remain secondary. */
.hero-side,.hero-journey,.hero-card,.payment-hero-summary,.demo-register .demo-hero .note{
  width:100%!important;
  max-width:400px!important;
  min-height:0!important;
  height:auto!important;
  align-self:center!important;
  justify-self:end!important;
  padding:20px!important;
  border-radius:17px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.hero-side h2,.hero-journey h2,.hero-card h2,.payment-hero-summary h2{
  font-size:18px!important;
  line-height:1.20!important;
  margin:0 0 12px!important;
  letter-spacing:-.006em!important;
}
.hero-side h3,.hero-journey h3,.hero-card h3,.payment-hero-summary h3{font-size:15px!important;line-height:1.25!important;}
.hero-side p,.hero-journey p,.hero-card p,.payment-hero-summary p{font-size:13px!important;line-height:1.44!important;}
.hero-facts{display:grid!important;gap:8px!important;margin-top:10px!important;}
.hero-fact{padding:10px 11px!important;border-radius:11px!important;min-height:0!important;}
.hero-fact strong{font-size:12.5px!important;line-height:1.25!important;margin-bottom:2px!important;}
.hero-fact span{font-size:11.5px!important;line-height:1.40!important;}
.journey-list{gap:9px!important;}
.journey-item{grid-template-columns:30px minmax(0,1fr)!important;gap:10px!important;}
.journey-number{width:30px!important;height:30px!important;border-radius:9px!important;font-size:12px!important;}
.journey-item h3{font-size:14.5px!important;line-height:1.24!important;margin:0 0 2px!important;}
.journey-item p{font-size:12px!important;line-height:1.38!important;}

/* Every section is one clean chapter with identical outer geometry. */
main .section{
  padding:56px 32px!important;
  margin-top:22px!important;
  border-radius:var(--ag-v4-section-radius)!important;
  border:1px solid var(--border)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
main .section + .section{margin-top:22px!important;}
.section-head{
  grid-template-columns:minmax(0,1fr) minmax(300px,.82fr)!important;
  gap:34px!important;
  align-items:end!important;
  margin-bottom:26px!important;
}
.section-head h2,.section>h2{font-size:28px!important;line-height:1.18!important;margin:4px 0 0!important;}
.section-head p,.section>p,.lede{font-size:15px!important;line-height:1.56!important;max-width:700px!important;}

/* Deliberately separated SOLID chapter colours. */
main .section:nth-of-type(6n+1){background:var(--white)!important;}
main .section:nth-of-type(6n+2){background:var(--mint)!important;}
main .section:nth-of-type(6n+3){background:var(--sky)!important;}
main .section:nth-of-type(6n+4){background:var(--butter)!important;}
main .section:nth-of-type(6n+5){background:var(--lavender)!important;}
main .section:nth-of-type(6n+6){background:var(--peach)!important;}
main .section.section-white{background:var(--white)!important;}
main .section.section-mint{background:var(--mint)!important;}
main .section.section-sky{background:var(--sky)!important;}
main .section.section-butter{background:var(--butter)!important;}
main .section.section-lavender{background:var(--lavender)!important;}
main .section.section-peach{background:var(--peach)!important;}
main .section.section-rose{background:var(--rose)!important;}
main .section.section-cream{background:var(--cream)!important;}

/* Universal card geometry. Equal siblings, disciplined padding, no oversized minimum heights. */
.g4,.g3,.g2,.grid,.grid2,.grid3,.trust,.notice-board,.logo-network,.batch-grid,.mini-grid,.level-grid,.program-grid,.pricing-grid,.format-summary-grid,.method-grid,.choice-grid,.demo-timing-grid,.payment-lower-grid,.student-payment-grid{
  gap:var(--ag-v4-gap)!important;
  align-items:stretch!important;
}
.card,.panel,.notice-tile,.logo-card,.stat,.syllabus-block,.batch-ann,.upcoming-card,.level-section,
.schedule-card,.connected-brand-card,.demo-timing-card,.description-card,.vg-card,.format-summary-card,
.payment-info-card,.method-card,.feedback-card,.dates-next-card,.story-panel,.color-panel,.enrolment-form-card{
  border-radius:var(--ag-v4-card-radius)!important;
  box-sizing:border-box!important;
  min-height:0!important;
  height:100%!important;
  padding:18px!important;
  box-shadow:none!important;
}
.card,.panel,.notice-tile,.logo-card,.upcoming-card,.level-section,.schedule-card,.connected-brand-card,
.demo-timing-card,.description-card,.vg-card,.format-summary-card,.payment-info-card,.method-card,.feedback-card,
.dates-next-card,.story-panel,.color-panel,.enrolment-form-card{
  display:flex!important;
  flex-direction:column!important;
}
.card h3,.panel h3,.notice-tile h3,.logo-card h3,.syllabus-block h3,.upcoming-card h3,.level-section h3,
.schedule-card h3,.connected-brand-card h3,.demo-timing-card h3,.description-card h3,.vg-card h3,.format-summary-card h3,
.payment-info-card h3,.method-card h3,.feedback-card h3,.dates-next-card h3,.story-panel h3,.color-panel h3{
  font-size:16.5px!important;
  line-height:1.26!important;
  margin:5px 0 6px!important;
}
.card h4,.panel h4,.schedule-card h4{font-size:15.5px!important;line-height:1.30!important;}
.card p,.card li,.panel p,.panel li,.notice-tile p,.logo-card p,.syllabus-block p,.syllabus-block li,
.upcoming-card p,.level-section p,.schedule-card p,.connected-brand-card p,.demo-timing-card p,.description-card p,.vg-card p,
.format-summary-card p,.payment-info-card p,.method-card p,.feedback-card p,.dates-next-card p,.story-panel p,.color-panel p{
  font-size:13.5px!important;
  line-height:1.50!important;
}
.badge{font-size:10px!important;padding:5px 8px!important;}

/* Keep generic cards white; allow only explicit semantic pastel classes. */
.card:not(.dark):not(.mint):not(.sky):not(.lavender):not(.butter):not(.peach):not(.rose),
.panel:not(.dark):not(.mint):not(.sky):not(.lavender):not(.butter):not(.peach):not(.rose),
.schedule-card,.connected-brand-card,.demo-timing-card,.description-card,.vg-card,.format-summary-card,.payment-info-card,
.method-card,.feedback-card,.dates-next-card,.story-panel,.enrolment-form-card{background:var(--white)!important;border:1px solid var(--border)!important;}
.card.dark,.panel.dark,.color-panel,.cta-panel,.summary,.quote,.payment-callout{background:var(--navy)!important;border-color:var(--navy)!important;}

/* Summary / quick-fact rows: equal cards and equal baselines. */
.home-summary-retained.trust{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;padding:12px!important;}
.home-summary-retained .stat{padding:14px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
.stat small{font-size:10.5px!important;margin-bottom:4px!important;}
.stat strong{font-size:14px!important;line-height:1.28!important;}

/* Tables: unified density and visual scale. */
.table-shell,.tbl,.timetable{border-radius:14px!important;overflow:auto!important;}
.tbl th,.tbl td,.timetable th,.timetable td{padding:10px 11px!important;vertical-align:top!important;}

/* Footer: one compact closing system on every page. */
.footer{margin-top:44px!important;padding:34px max(22px,calc((100vw - 1180px)/2 + 22px)) 22px!important;}
.footer-grid{grid-template-columns:1.3fr repeat(4,minmax(0,1fr))!important;gap:20px!important;align-items:start!important;}
.footer .brand strong{font-size:14px!important;}
.footer .brand small{font-size:10.5px!important;}
.footer h4{font-size:11px!important;line-height:1.3!important;margin:0 0 8px!important;}
.footer a,.footer p{font-size:11.5px!important;line-height:1.55!important;}
.footer-legal,.footbar{margin-top:16px!important;padding-top:12px!important;}
.footbar{font-size:10.5px!important;line-height:1.5!important;}
.footer .btn,.footer button,.footer .footer-demo-btn{font-size:12px!important;min-height:40px!important;}

@media(max-width:1120px){
  .hero{grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr)!important;gap:28px!important;padding:38px 34px!important;}
  .hero-side,.hero-journey,.hero-card,.payment-hero-summary{max-width:380px!important;}
  .section-head{grid-template-columns:1fr .78fr!important;gap:24px!important;}
  .home-summary-retained.trust{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:900px){
  .hero,.meet-david-v2-content .hero,.demo-register .demo-hero{grid-template-columns:1fr!important;gap:22px!important;}
  .hero-side,.hero-journey,.hero-card,.payment-hero-summary,.demo-register .demo-hero .note{max-width:none!important;justify-self:stretch!important;}
  .section-head{grid-template-columns:1fr!important;gap:9px!important;align-items:start!important;}
  .home-summary-retained.trust{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:767px){
  body{font-size:15px!important;line-height:1.55!important;}
  h1{font-size:28px!important;line-height:1.13!important;}
  h2{font-size:22px!important;line-height:1.20!important;}
  h3{font-size:18px!important;line-height:1.25!important;}
  h4,h5{font-size:16px!important;}
  p,li{font-size:15px!important;line-height:1.55!important;}
  .eyebrow,.hero-kicker{font-size:10.5px!important;}
  .header-row{min-height:62px!important;}
  .brand{min-width:0!important;}.brand strong{font-size:14.5px!important;}.brand small{display:none!important;}
  .actions .btn,.actions button{font-size:12.5px!important;min-height:40px!important;}
  .hero,.meet-david-v2-content .hero,.demo-register .demo-hero,.payment-confirmation-hero,.vg-hero{padding:30px 18px!important;border-radius:17px!important;gap:20px!important;}
  .hero h1,.vg-hero h1,.payment-confirmation-hero h1{font-size:28px!important;}
  .hero p,.vg-hero p,.payment-confirmation-hero p{font-size:15px!important;}
  .hero-side,.hero-journey,.hero-card,.payment-hero-summary,.demo-register .demo-hero .note{padding:16px!important;border-radius:14px!important;}
  .hero-side h2,.hero-journey h2,.hero-card h2,.payment-hero-summary h2{font-size:17px!important;}
  main .section{padding:40px 16px!important;margin-top:16px!important;border-radius:15px!important;}
  main .section + .section{margin-top:16px!important;}
  .section-head{margin-bottom:20px!important;}
  .section-head h2,.section>h2{font-size:22px!important;}
  .section-head p,.section>p,.lede{font-size:15px!important;}
  .card,.panel,.notice-tile,.logo-card,.stat,.syllabus-block,.batch-ann,.upcoming-card,.level-section,
  .schedule-card,.connected-brand-card,.demo-timing-card,.description-card,.vg-card,.format-summary-card,
  .payment-info-card,.method-card,.feedback-card,.dates-next-card,.story-panel,.color-panel,.enrolment-form-card{padding:16px!important;border-radius:14px!important;}
  .card h3,.panel h3,.notice-tile h3,.logo-card h3,.syllabus-block h3,.upcoming-card h3,.level-section h3,
  .schedule-card h3,.connected-brand-card h3,.demo-timing-card h3,.description-card h3,.vg-card h3,.format-summary-card h3,
  .payment-info-card h3,.method-card h3,.feedback-card h3,.dates-next-card h3,.story-panel h3,.color-panel h3{font-size:16px!important;}
  .card p,.card li,.panel p,.panel li,.notice-tile p,.logo-card p,.syllabus-block p,.syllabus-block li,.upcoming-card p,
  .level-section p,.schedule-card p,.connected-brand-card p,.demo-timing-card p,.description-card p,.vg-card p,.format-summary-card p,
  .payment-info-card p,.method-card p,.feedback-card p,.dates-next-card p,.story-panel p,.color-panel p{font-size:13.5px!important;}
  .home-summary-retained.trust{grid-template-columns:1fr!important;padding:10px!important;gap:9px!important;}
  .footer{margin-top:34px!important;padding:28px 16px 20px!important;}
  .footer-grid{grid-template-columns:1fr!important;gap:18px!important;}
  .footer h4{font-size:11px!important;}.footer a,.footer p{font-size:11.5px!important;}.footbar{font-size:10px!important;}
}

/* =========================================================
   BASE 01 — HOMEPAGE LEARNING NETWORK SURGICAL REFINEMENT
   Compact cards + smaller logos. Homepage only.
   ========================================================= */
body.home-page .logo-network,
.home .logo-network{max-width:1000px!important;margin:0 auto!important;gap:16px!important;}
body.home-page .connected-brand-card,
.home .connected-brand-card,
body.home-page .logo-card,
.home .logo-card{
  padding:14px 16px!important;
  min-height:0!important;
  height:auto!important;
  border-radius:14px!important;
  display:grid!important;
  grid-template-rows:76px auto!important;
  align-items:start!important;
}
body.home-page .connected-brand-logo-stage,
.home .connected-brand-logo-stage,
body.home-page .logo-stage,
.home .logo-stage{height:76px!important;min-height:76px!important;}
body.home-page .connected-brand-logo-stage img,
.home .connected-brand-logo-stage img,
body.home-page .logo-stage img,
.home .logo-stage img{
  width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important;
}
body.home-page .connected-brand-card h3,
.home .connected-brand-card h3,
body.home-page .logo-card h3,
.home .logo-card h3{font-size:15.5px!important;margin:4px 0 5px!important;}
body.home-page .connected-brand-card p,
.home .connected-brand-card p,
body.home-page .logo-card p,
.home .logo-card p{font-size:13px!important;line-height:1.42!important;margin:0!important;}
body.home-page .connected-brand-logo-link,
.home .connected-brand-logo-link{display:inline-grid!important;place-items:center!important;line-height:0!important;text-decoration:none!important;border-radius:16px!important;}
body.home-page .connected-brand-logo-link:focus-visible,
.home .connected-brand-logo-link:focus-visible{outline:3px solid var(--brand)!important;outline-offset:4px!important;}
@media(max-width:767px){
  body.home-page .logo-network,.home .logo-network{max-width:520px!important;gap:12px!important;}
  body.home-page .connected-brand-card,.home .connected-brand-card,body.home-page .logo-card,.home .logo-card{padding:13px 14px!important;grid-template-rows:68px auto!important;}
  body.home-page .connected-brand-logo-stage,.home .connected-brand-logo-stage,body.home-page .logo-stage,.home .logo-stage{height:68px!important;min-height:68px!important;}
  body.home-page .connected-brand-logo-stage img,.home .connected-brand-logo-stage img,body.home-page .logo-stage img,.home .logo-stage img{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;}
}

/* ==========================================================
   DATES PAGE — SURGICAL ENVIRONMENT COLOUR CODING
   Online = Sky | Immersion = Mint | Residential = Lavender
   ========================================================== */
.dates-page .dates-table tbody tr.row-online td{background:#EDF6FC!important;}
.dates-page .dates-table tbody tr.row-immersion td{background:#EAF8F4!important;}
.dates-page .dates-table tbody tr.row-residential td{background:#F3EFFB!important;}
.dates-page .dates-table tbody tr.row-online:hover td{background:#E2F0FB!important;}
.dates-page .dates-table tbody tr.row-immersion:hover td{background:#DDF4EE!important;}
.dates-page .dates-table tbody tr.row-residential:hover td{background:#EAE2F8!important;}
.dates-page .date-tag.online{background:#E2F0FB!important;color:#203653!important;}
.dates-page .date-tag.immersion{background:#DDF4EE!important;color:#006B63!important;}
.dates-page .date-tag.residential{background:#EAE2F8!important;color:#4C3F78!important;}
.dates-page .date-legend{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px;}
.dates-page .date-legend-item{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #DDE7EC;border-radius:10px;background:#fff;font-size:13px;font-weight:700;color:#29435D;}
.dates-page .date-legend-swatch{width:14px;height:14px;border-radius:4px;border:1px solid rgba(18,35,63,.10);}
.dates-page .date-legend-swatch.online{background:#EDF6FC;}
.dates-page .date-legend-swatch.immersion{background:#EAF8F4;}
.dates-page .date-legend-swatch.residential{background:#F3EFFB;}
.dates-page .environment-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px;align-items:stretch;}
.dates-page .environment-date-card{border:1px solid #DDE7EC;border-radius:16px;padding:20px;height:100%;}
.dates-page .environment-date-card.online{background:#EDF6FC;}
.dates-page .environment-date-card.immersion{background:#EAF8F4;}
.dates-page .environment-date-card.residential{background:#F3EFFB;}
.dates-page .environment-date-card h3{margin:0 0 6px;font-size:20px!important;color:#203653!important;}
.dates-page .environment-date-card>p{margin:0 0 15px;color:#536B80;font-size:14px!important;}
.dates-page .environment-date-list{display:grid;gap:9px;}
.dates-page .environment-date-item{padding:11px 12px;background:#fff;border:1px solid rgba(18,35,63,.10);border-radius:10px;}
.dates-page .environment-date-item strong{display:block;color:#12233F;font-size:13.5px;line-height:1.35;}
.dates-page .environment-date-item span{display:block;margin-top:3px;color:#536B80;font-size:12.5px;line-height:1.45;}
.dates-page .schedule-change-note{margin:18px 0 0;padding:16px 18px;border:1px solid #B7DDD7;border-radius:14px;background:#EAF8F4;color:#29435D;font-size:14px;line-height:1.55;}
.dates-page .schedule-change-note strong{color:#006B63;}
@media(max-width:900px){.dates-page .environment-dates{grid-template-columns:1fr;}}


/* =========================================================
   STAGING — CONNECTED BRAND NETWORK STANDARD v1
   Identical geometry on Home, About and Connect.
   Entire card is the link; compact logos and balanced cards.
   ========================================================= */
.brand-network-section .logo-network{
  width:min(100%,1000px)!important;
  max-width:1000px!important;
  margin:0 auto!important;
  gap:16px!important;
  align-items:stretch!important;
}
.brand-network-section .connected-brand-card-link{
  box-sizing:border-box!important;
  padding:14px 16px!important;
  min-height:0!important;
  height:auto!important;
  border-radius:14px!important;
  display:grid!important;
  grid-template-rows:76px auto!important;
  align-items:start!important;
  text-align:center!important;
  color:inherit!important;
  text-decoration:none!important;
  background:#FFFFFF!important;
  border:1px solid #DDE7EC!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:border-color .16s ease, transform .16s ease, box-shadow .16s ease!important;
}
.brand-network-section .connected-brand-card-link:hover{
  border-color:#00B4A3!important;
  transform:translateY(-2px)!important;
  box-shadow:0 8px 20px rgba(18,35,63,.07)!important;
  text-decoration:none!important;
}
.brand-network-section .connected-brand-card-link:focus-visible{
  outline:3px solid #00B4A3!important;
  outline-offset:3px!important;
}
.brand-network-section .connected-brand-logo-stage{
  height:76px!important;
  min-height:76px!important;
  display:grid!important;
  place-items:center!important;
}
.brand-network-section .connected-brand-logo-stage img{
  width:58px!important;
  height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  object-fit:contain!important;
}
.brand-network-section .connected-brand-card-copy h3{
  font-size:15.5px!important;
  line-height:1.3!important;
  margin:4px 0 5px!important;
  color:#12233F!important;
}
.brand-network-section .connected-brand-card-copy p{
  font-size:13px!important;
  line-height:1.42!important;
  margin:0!important;
  color:#536B80!important;
}
@media(max-width:767px){
  .brand-network-section .logo-network{max-width:520px!important;gap:12px!important;}
  .brand-network-section .connected-brand-card-link{padding:13px 14px!important;grid-template-rows:68px auto!important;}
  .brand-network-section .connected-brand-logo-stage{height:68px!important;min-height:68px!important;}
  .brand-network-section .connected-brand-logo-stage img{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;}
  .brand-network-section .connected-brand-card-copy h3{font-size:15px!important;}
  .brand-network-section .connected-brand-card-copy p{font-size:13px!important;}
}
