[hidden]{display:none !important;}
  /* Adonaviv brand system: single committed light look (brand sheet, Nov 2026)
     Navy #1A2D52 primary · Soft White #F6F7F9 page · Gold #D4A93C accent (sparingly, never as text on light)
     Silver #AEB6C2 structure · Ice Blue #AFC3DD logo only · White #FFFFFF cards */
  :root{
    --navy:#1A2D52; --navy-2:#22396A; --soft:#F6F7F9; --white:#FFFFFF;
    --gold:#D4A93C; --silver:#AEB6C2;
    --ink:#1A2D52; --body:#3A4A6B; --on-navy:#E9EDF4; --on-navy-muted:#B9C3D4;
    --line-dark:rgba(255,255,255,0.14);
    --serif:Arial, Helvetica, sans-serif;
    --head-weight:700;
    --accent:#6B778F;       /* darker silver: buttons, bars, selected menu item on light backgrounds */
    --accent-hover:#5A6579;
    --accent-on-navy:#AEB6C2; /* brand silver: accents on navy */
  }
  *{box-sizing:border-box;}
  html,body{margin:0;}
  body{background:var(--soft); color:var(--ink); font-family:var(--serif); font-weight:400; font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;}
  a{color:inherit;}
  h1,h2,h3,h4{line-height:1.2; font-family:var(--serif); font-weight:var(--head-weight); margin:0; text-wrap:balance; letter-spacing:-0.01em;}
  p{margin:0;}
  img{max-width:100%;}
  .wrap{max-width:1160px; margin:0 auto; padding-inline:28px;}
  .label{font-size:11px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--navy); margin:0 0 14px; display:flex; align-items:center; gap:12px;}
  
  .on-navy .label{color:var(--accent-on-navy);}

  .btn{display:inline-flex; align-items:center; gap:10px; padding:13px 26px; font-family:var(--serif); font-size:14px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; text-decoration:none; border:1.5px solid var(--accent); background:var(--accent); color:var(--white); border-radius:2px; cursor:pointer; transition:filter .15s;}
  .btn:hover{background:var(--accent-hover); border-color:var(--accent-hover);}
  .btn.outline{background:transparent; color:var(--navy); border-color:var(--navy);}
  .btn.outline:hover{background:var(--navy); color:var(--white); filter:none;}
  .on-navy .btn.outline{color:var(--white); border-color:rgba(255,255,255,0.55);}
  .on-navy .btn.outline:hover{background:var(--white); color:var(--navy);}
  a:focus-visible, button:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}

  /* NAV */
  header.nav{position:sticky; top:env(safe-area-inset-top,0px); z-index:30; background:var(--white); border-bottom:1px solid var(--silver);}
  .nav-inner{max-width:1160px; margin:0 auto; padding:14px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
  .nav-logo img{height:38px; width:auto; display:block;}
  nav.links{display:flex; gap:30px; flex-wrap:wrap;}
  nav.links a{font-size:17px; font-weight:600; text-decoration:none; color:var(--navy); padding:6px 0; border-bottom:2px solid transparent;}
  nav.links a:hover{border-bottom-color:var(--silver);}
  nav.links a.current{border-bottom-color:var(--accent);}
  .menu-toggle{display:none; font:700 13px/1 Arial, sans-serif; letter-spacing:0.06em; text-transform:uppercase; color:var(--navy); background:transparent; border:1.5px solid var(--navy); border-radius:2px; padding:10px 14px; cursor:pointer;}
  @media (max-width:900px){
    .nav-inner{position:relative;}
    .menu-toggle{display:inline-flex;}
    nav.links{display:none; position:absolute; left:0; right:0; top:100%; background:var(--white); border-bottom:1px solid var(--silver); flex-direction:column; gap:0; padding:8px 20px 16px; box-shadow:0 12px 24px rgba(26,45,82,0.08);}
    header.nav.open nav.links{display:flex;}
    nav.links a{padding:12px 0; border-bottom:1px solid #E6E9EE;}
    nav.links a:last-child{border-bottom:none;}
    nav.links a.current{border-bottom-color:#E6E9EE; box-shadow:inset 3px 0 0 var(--accent); padding-left:12px;}
  }

  /* HERO */
  .hero{background:var(--navy); color:var(--white); overflow:hidden;}
  .hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; padding-block:clamp(64px,9vw,104px);}
  .hero h1{font-size:clamp(35px,5.6vw,58px); line-height:1.05; color:var(--white);}
  .hero .lede{margin-top:24px; font-size:18px; color:var(--on-navy); max-width:44ch;}
  .hero-cta{margin-top:34px; display:flex; gap:14px; flex-wrap:wrap;}
  .hero-proof{position:relative;}
  .hero-proof figure{margin:0; background:var(--white); border-radius:4px; padding:10px; box-shadow:0 30px 60px rgba(4,12,30,0.45);}
  .hero-proof img{display:block; width:100%; border-radius:2px;}
  .hero-proof figcaption{margin-top:14px; font-size:13px; color:var(--on-navy-muted); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;}
  .hero-proof figcaption strong{color:var(--white); font-weight:600;}
  @media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }

  .section{padding-block:clamp(64px,9vw,100px);}
  .section.white{background:var(--white); border-top:1px solid var(--silver); border-bottom:1px solid var(--silver);}
  .section-head{max-width:680px; margin-bottom:48px;}
  .section-head h2{font-size:clamp(28px,4.2vw,40px); line-height:1.1;}
  .section-head p{margin-top:16px; font-size:18px; color:var(--body);}

  /* CAPABILITIES */
  .caps{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .cap{background:var(--white); border:1px solid var(--silver); border-top:3px solid var(--accent); border-radius:4px; padding:26px 28px 30px;}
  
  
  .cap h3{font-size:22px; margin:0 0 10px;}
  .cap p{font-size:15px; color:var(--body);}
  @media (max-width:900px){ .caps{grid-template-columns:1fr 1fr;} }
  @media (max-width:600px){ .caps{grid-template-columns:1fr;} }

  /* WORK */
  .work a{text-decoration:none; color:inherit;}
  .shot{border:1px solid var(--silver); background:var(--white); overflow:hidden; border-radius:4px;}
  .shot img{display:block; width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .4s ease;}
  
  .tag{display:block; font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:#6B778F; margin:18px 0 6px;}
  .work h3{font-size:23px; margin:0 0 8px;}
  .work p{font-size:15px; color:var(--body);}
  .feature{display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:center; background:var(--white); border:1px solid var(--silver); border-radius:4px; padding:28px; margin-bottom:28px;}
  .feature .shot{aspect-ratio:800/575;}
  .feature .tag{margin-top:0;}
  .feature h3{font-size:clamp(25px,3vw,32px);}
  .feature dl{margin:22px 0 0; border-top:1px solid var(--silver); padding-top:16px; display:flex; flex-direction:column; gap:10px;}
  .feature dl div{display:grid; grid-template-columns:110px 1fr; gap:14px; font-size:17px;}
  .feature dt{font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#6B778F; padding-top:4px;}
  .feature dd{margin:0;}
  .note{display:inline-block; margin-top:18px; font-size:12px; border:1px solid var(--silver); padding:3px 12px; border-radius:999px; color:var(--body);}
  .pair{display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:60px;}
  .pair .shot{aspect-ratio:16/10;}
  .sites-head{display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; border-top:1px solid var(--silver); padding-top:26px; margin-bottom:22px;}
  .sites-head h3{font-size:25px; margin:0;}
  .sites-head span{font-size:17px; color:var(--body);}
  .sites{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .sites .shot{aspect-ratio:800/575;}
  .sites h3{font-size:19px;}
  .pair .shot.doc-panel{overflow:visible;} .doc-panel{ background:var(--navy); border-color:var(--navy); display:flex; align-items:center; padding:28px 32px;}
  .doc-panel ul{list-style:none; margin:0; padding:0; width:100%;}
  .doc-panel li{display:flex; gap:14px; align-items:center; color:var(--white); font-size:17px; padding:9px 0; border-bottom:1px solid var(--line-dark);}
  .doc-panel li::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--accent-on-navy); flex:none;}
  .doc-panel li:last-child{border-bottom:none;}
  .site-card{background:var(--soft); border:1px solid var(--silver); border-top:3px solid var(--accent); border-radius:4px; padding:24px 24px 26px;}
  .site-card .tag{margin-top:0;}
  .site-card h3{margin-bottom:8px;}
  .on-request{margin-top:22px; font-size:17px; color:var(--body); font-style:italic;}
  .stats{margin-top:64px; display:grid; grid-template-columns:repeat(3,1fr); background:var(--navy); border-radius:4px; overflow:hidden;}
  .stats div{padding:30px 28px; border-left:1px solid var(--line-dark);}
  .stats div:first-child{border-left:none;}
  .stats strong{display:block; font-size:35px; font-weight:var(--head-weight); color:var(--white); line-height:1.1; margin-bottom:8px;}
  .stats span{font-size:17px; color:var(--on-navy);}
  @media (max-width:900px){
    .feature, .pair{grid-template-columns:1fr;}
    .sites, .stats{grid-template-columns:1fr;}
    .stats div{border-left:none; border-top:1px solid var(--line-dark);}
    .stats div:first-child{border-top:none;}
  }

  /* EDUCATION */
  .edu-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:start;}
  .edu-intro h2{font-size:clamp(30px,4.4vw,44px); line-height:1.08;}
  .edu-intro p{margin-top:18px; font-size:18px; color:var(--body); max-width:40ch;}
  .edu-intro .btn{margin-top:28px;}
  .steps{border-top:1px solid var(--silver);}
  .step{padding-block:24px; padding-left:22px; border-bottom:1px solid var(--silver); position:relative;}
  .step::before{content:""; position:absolute; left:0; top:29px; width:3px; height:22px; background:var(--accent);}
  .step h3{font-size:22px; margin-bottom:6px;}
  .step p{font-size:15px; color:var(--body);}
  .formats{margin-top:48px; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .formats div{background:var(--soft); border:1px solid var(--silver); border-radius:4px; padding:20px 22px;}
  .formats strong{display:block; font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:6px;}
  .formats span{font-size:16px; color:var(--body);}
  @media (max-width:900px){ .edu-grid, .formats{grid-template-columns:1fr; gap:28px;} }

  /* BUILDING (navy) */
  .building{background:var(--navy); color:var(--white);}
  .building .section-head h2{color:var(--white);}
  .building .section-head p{color:var(--on-navy);}
  .ventures{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
  .venture{border:1px solid var(--line-dark); border-radius:4px; padding:32px; background:var(--navy-2);}
  .venture .status{display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--accent-on-navy); border:1px solid rgba(174,182,194,0.5); padding:4px 12px; border-radius:999px;}
  .venture h3{font-size:25px; margin:18px 0 10px; color:var(--white);}
  .venture p{font-size:16px; color:var(--on-navy);}
  .venture .area{margin-top:18px; font-size:13px; color:var(--on-navy-muted);}
  @media (max-width:800px){ .ventures{grid-template-columns:1fr;} }

  /* PHILOSOPHY */
  .philosophy{text-align:center;}
  .philosophy h2{font-size:clamp(26px,4.4vw,42px); line-height:1.15; max-width:22ch; margin:0 auto;}
  .philosophy p{margin:24px auto 0; max-width:60ch; font-size:18px; color:var(--body);}
  .philosophy .credit{margin-top:26px; font-size:14px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#6B778F;}

  /* CONTACT */
  .contact{text-align:center;}
  .contact h2{font-size:clamp(28px,4.4vw,42px);}
  .contact p{margin:16px auto 0; max-width:52ch; font-size:18px; color:var(--body);}
  .contact p.based{margin-top:10px; font-size:15px; color:#6B778F;}

  /* FOOTER */
  footer.site{background:var(--navy); color:var(--on-navy-muted);}
  footer.site .top{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding-block:36px; border-bottom:1px solid var(--line-dark);}
  footer.site .top img{height:34px; width:auto; display:block;}
  footer.site nav{display:flex; gap:26px; flex-wrap:wrap;}
  footer.site nav a{font-size:14px; text-decoration:none; color:var(--on-navy);}
  footer.site nav a:hover{color:var(--white);}
  footer.site .bottom{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-block:18px; font-size:13px;}

  .contact-form{max-width:720px; margin:36px auto 0; text-align:left; background:var(--white); border:1px solid var(--silver); border-radius:4px; padding:30px;}
  .contact-form .row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .contact-form .field{display:flex; flex-direction:column; gap:7px; margin-bottom:18px;}
  .contact-form label{font-size:14px; font-weight:700; color:var(--navy);}
  .contact-form .opt{font-weight:400; color:#6B778F;}
  .contact-form input, .contact-form select, .contact-form textarea{font:inherit; font-size:16px; color:var(--navy); background:var(--soft); border:1px solid var(--silver); border-radius:3px; padding:12px 14px; width:100%;}
  .contact-form textarea{resize:vertical; min-height:120px;}
  .contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus{outline:2px solid var(--accent); outline-offset:1px; background:var(--white);}
  .contact-form .btn{margin-top:4px;}
  .contact-form .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
  .form-note{margin-top:14px; font-size:15px; color:var(--body);}
  .alt-contact{margin-top:22px; font-size:16px; color:var(--body);}
  .alt-contact a{color:var(--navy); font-weight:700;}
  @media (max-width:600px){ .contact-form{padding:20px;} .contact-form .row{grid-template-columns:1fr; gap:0;} .contact-form .btn{width:100%; justify-content:center;} }
  @media (max-width:600px){
    .nav-cta{display:none;}
    .nav-logo img{height:32px;}
    .wrap, .nav-inner{padding-inline:20px;}
    .hero-cta .btn{width:100%; justify-content:center;}
    .feature{padding:18px; gap:22px;}
    .feature dl div{grid-template-columns:1fr; gap:2px;}
    .venture{padding:24px;}
    .pair .shot.doc-panel{padding:22px;}
    .stats div{padding:24px 20px;}
    .section-head{margin-bottom:32px;}
    footer.site .top, footer.site .bottom{flex-direction:column; align-items:flex-start;}
  }
  /* ===== Inner pages ===== */
  .page-hero{background:var(--navy); color:var(--white);}
  .page-hero .wrap{padding-block:clamp(56px,8vw,96px);}
  .page-hero h1{font-size:clamp(34px,4.8vw,56px); line-height:1.08; color:var(--white); max-width:20ch;}
  .page-hero .lede{margin-top:20px; font-size:19px; color:var(--on-navy); max-width:60ch;}
  .page-hero .hero-cta{margin-top:30px;}
  .crumbs{font-size:14px; color:var(--on-navy-muted); margin-bottom:18px;}
  .crumbs a{color:var(--on-navy-muted); text-decoration:none;}
  .crumbs a:hover{color:var(--white);}

  .learn-more{display:inline-block; margin-top:14px; font-size:14px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--navy); text-decoration:none; border-bottom:2px solid var(--accent); padding-bottom:2px;}
  .learn-more:hover{color:var(--accent);}
  .section-links{margin-top:28px; display:flex; gap:26px; flex-wrap:wrap;}

  /* three part approach row */
  .trio{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .trio > div{background:var(--white); border:1px solid var(--silver); border-top:3px solid var(--accent); border-radius:4px; padding:26px;}
  .trio h3{font-size:21px; margin-bottom:8px;}
  .trio p{font-size:16px; color:var(--body);}
  @media (max-width:900px){ .trio{grid-template-columns:1fr;} }

  /* program cards */
  .programs{display:flex; flex-direction:column; gap:24px;}
  .program{background:var(--white); border:1px solid var(--silver); border-radius:4px; overflow:hidden;}
  .program-head{padding:28px 30px 22px; border-bottom:1px solid var(--silver); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:flex-start;}
  .program-head h3{font-size:26px; margin:0 0 6px;}
  .program-head p{font-size:17px; color:var(--body); max-width:60ch;}
  .program-head .btn{flex:none;}
  .program-body{display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:0;}
  .program-body > div{padding:24px 30px; border-left:1px solid var(--silver);}
  .program-body > div:first-child{border-left:none;}
  .program-body h4{font-size:13px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:#6B778F; margin-bottom:12px;}
  .program-body ul{margin:0; padding-left:18px;}
  .program-body li{font-size:15.5px; color:var(--body); margin-bottom:7px;}
  .program-body dl{margin:0;}
  .program-body dt{font-size:13px; font-weight:700; color:var(--navy); margin-top:10px;}
  .program-body dt:first-child{margin-top:0;}
  .program-body dd{margin:2px 0 0; font-size:15.5px; color:var(--body);}
  .agenda{list-style:none; padding-left:0 !important;}
  .agenda li{position:relative; padding-left:18px;}
  .agenda li::before{content:""; position:absolute; left:0; top:9px; width:7px; height:7px; border-radius:50%; background:var(--accent);}
  @media (max-width:900px){
    .program-body{grid-template-columns:1fr;}
    .program-body > div{border-left:none; border-top:1px solid var(--silver);}
    .program-body > div:first-child{border-top:none;}
  }

  /* service list */
  .services{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
  .service{background:var(--white); border:1px solid var(--silver); border-top:3px solid var(--accent); border-radius:4px; padding:26px 28px;}
  .service h3{font-size:22px; margin-bottom:8px;}
  .service p{font-size:16px; color:var(--body);}
  .service ul{margin:12px 0 0; padding-left:18px;}
  .service li{font-size:15.5px; color:var(--body); margin-bottom:5px;}
  @media (max-width:800px){ .services{grid-template-columns:1fr;} }

  /* process (no numbers) */
  .process{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--silver); border-radius:4px; background:var(--white);}
  .process > div{padding:24px 24px 26px; border-left:1px solid var(--silver); border-top:3px solid var(--accent); position:relative;}
  .process > div:first-child{border-left:none;}
  .process{border-top:none;}
  .process h3{font-size:19px; margin-bottom:8px;}
  .process p{font-size:15.5px; color:var(--body);}
  .process.five{grid-template-columns:repeat(5,1fr);}
  @media (max-width:900px){
    .process, .process.five{grid-template-columns:1fr;}
    .process > div{border-left:none; border-top:1px solid var(--silver);}
    .process > div:first-child{border-top:none;}
  }

  /* principles / fit lists */
  .principles{display:grid; grid-template-columns:repeat(2,1fr); gap:18px 40px;}
  .principles div{padding-left:20px; border-left:3px solid var(--accent);}
  .principles h3{font-size:19px; margin-bottom:4px;}
  .principles p{font-size:16px; color:var(--body);}
  @media (max-width:800px){ .principles{grid-template-columns:1fr;} }

  .audience{display:flex; flex-wrap:wrap; gap:12px;}
  .audience span{background:var(--white); border:1px solid var(--silver); border-radius:999px; padding:9px 18px; font-size:16px; color:var(--navy); font-weight:600;}

  /* FAQ */
  .faq{max-width:820px;}
  .faq details{border-bottom:1px solid var(--silver);}
  .faq details:first-child{border-top:1px solid var(--silver);}
  .faq summary{cursor:pointer; list-style:none; padding:20px 40px 20px 0; position:relative; font-size:19px; font-weight:700; color:var(--navy);}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:""; position:absolute; right:10px; top:26px; width:10px; height:10px; border-right:2px solid #6B778F; border-bottom:2px solid #6B778F; transform:rotate(45deg); transition:transform .2s;}
  .faq details[open] summary::after{transform:rotate(225deg); top:31px;}
  .faq details p{padding:0 0 20px; font-size:17px; color:var(--body); max-width:70ch;}

  /* curriculum version switch (preview only) */
  .version-switch{display:inline-flex; gap:6px; background:var(--white); border:1px solid var(--silver); border-radius:999px; padding:5px; margin-bottom:28px;}
  .version-switch button{font:700 14px/1 Arial, sans-serif; border:none; background:transparent; color:var(--navy); padding:10px 16px; border-radius:999px; cursor:pointer;}
  .version-switch button[aria-pressed="true"]{background:var(--navy); color:var(--white);}

  /* who we train: image cards */
  .aud-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .aud-card{background:var(--white); border:1px solid var(--silver); border-radius:4px; overflow:hidden;}
  .aud-img{aspect-ratio:4/3; background:linear-gradient(135deg, #22396A 0%, #1A2D52 100%); display:flex; align-items:flex-end; padding:14px;}
  .aud-img span{font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--on-navy-muted);}
  .aud-img img{width:100%; height:100%; object-fit:cover; display:block;}
  .aud-img.has-photo{padding:0;}
  .aud-body{padding:18px 20px 22px;}
  .aud-body h3{font-size:19px; margin-bottom:6px;}
  .aud-body p{font-size:15.5px; color:var(--body);}
  @media (max-width:1000px){ .aud-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .aud-grid{grid-template-columns:1fr;} }
