/*
Theme Name: A-FITS Academy Website
Theme URI: https://www.afitsacademy.com/
Author: Autism F.I.T.S. Academy
Description: Custom WordPress theme for Autism F.I.T.S. Academy.
Version: 0.1.55
Text Domain: afits
*/

:root{
  --afits-green:#1d6b4f;
  --afits-green-dark:#144d3a;
  --afits-green-soft:#e8f3ee;
  --afits-mint:#f4faf7;
  --afits-ink:#17332a;
  --afits-text:#385047;
  --afits-cream:#fbfaf6;
  --afits-white:#ffffff;
  --afits-border:#dbe8e1;
  --afits-shadow:0 16px 42px rgba(17,70,51,.10);
  --radius-lg:30px;
  --radius-md:20px;
  --radius-sm:12px;
  --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--afits-text);
  background:#fff;
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}

.site-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(29,107,79,.10);
}
.header-inner{
  min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px;
}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-mark{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--afits-green-soft);color:var(--afits-green);
  font-size:26px;font-weight:800;
}
.brand-copy strong{display:block;color:var(--afits-ink);font-size:18px;line-height:1.05}
.brand-copy span{display:block;color:var(--afits-green);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-top:5px}
.custom-logo-link img{max-height:58px;width:auto}
.primary-nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700;color:var(--afits-ink)}
.primary-nav a:hover{color:var(--afits-green)}
.menu-toggle{display:none;border:0;background:transparent;font-size:28px;color:var(--afits-ink)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:50px;padding:0 22px;border-radius:999px;
  font-weight:800;font-size:14px;border:1px solid transparent;transition:.2s ease;
}
.btn-primary{background:var(--afits-green);color:#fff;box-shadow:0 8px 20px rgba(29,107,79,.18)}
.btn-primary:hover{background:var(--afits-green-dark);transform:translateY(-1px)}
.btn-secondary{background:#fff;color:var(--afits-green);border-color:rgba(29,107,79,.35)}
.btn-secondary:hover{background:var(--afits-green-soft)}
.btn-small{min-height:44px;padding:0 18px}

.hero{
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 18%, rgba(84,166,128,.22), transparent 28%),
    linear-gradient(135deg,#fbfdfc 0%,#f0f8f4 100%);
  padding:80px 0 62px;
}
.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:60px}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  color:var(--afits-green);font-weight:900;font-size:12px;letter-spacing:.12em;text-transform:uppercase
}
.eyebrow:before{content:"";width:30px;height:2px;background:var(--afits-green)}
.hero h1{
  color:var(--afits-ink);font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(46px,5.7vw,76px);line-height:1.01;letter-spacing:-.045em;
  margin:18px 0 22px;
}
.hero h1 em{font-style:normal;color:var(--afits-green)}
.hero .lead{font-size:19px;max-width:660px;color:#466158}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-note{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;font-size:13px;font-weight:750;color:#526c63}
.hero-note span:before{content:"✓";color:var(--afits-green);font-weight:1000;margin-right:8px}

.hero-visual{position:relative;min-height:535px}
.photo-frame{
  position:absolute;inset:0 0 0 34px;border-radius:40px;
  background:
    linear-gradient(160deg,rgba(29,107,79,.08),rgba(29,107,79,.34)),
    linear-gradient(145deg,#cfe5da,#edf6f1);
  box-shadow:var(--afits-shadow);overflow:hidden;
}
.photo-frame:before{
  content:"";
  position:absolute;width:430px;height:430px;border-radius:50%;
  background:rgba(255,255,255,.48);right:-100px;bottom:-105px
}
.photo-placeholder{
  position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:50px;
  color:var(--afits-green-dark);font-weight:900;font-size:22px;
}
.photo-placeholder small{display:block;font-weight:650;font-size:13px;opacity:.72;margin-top:8px}
.floating-card{
  position:absolute;left:0;bottom:42px;width:255px;
  background:#fff;padding:20px;border-radius:18px;box-shadow:var(--afits-shadow);
}
.floating-card strong{display:block;color:var(--afits-ink);font-size:19px}
.floating-card span{font-size:13px;color:#668076}
.handwritten{
  position:absolute;right:-2px;top:34px;transform:rotate(2deg);
  font-family:"Segoe Print","Bradley Hand",cursive;
  font-weight:800;font-size:21px;color:var(--afits-green-dark);
  background:rgba(255,255,255,.87);padding:10px 16px;border-radius:16px;
  box-shadow:0 10px 22px rgba(17,70,51,.08)
}

.trust-strip{background:var(--afits-green-dark);color:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);min-height:108px}
.trust-item{display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;border-right:1px solid rgba(255,255,255,.15)}
.trust-item:last-child{border-right:0}
.trust-item strong{display:block;font-size:19px}
.trust-item span{font-size:12px;opacity:.75;text-transform:uppercase;letter-spacing:.08em;font-weight:800}

.section{padding:92px 0}
.section-soft{background:var(--afits-mint)}
.section-cream{background:var(--afits-cream)}
.section-heading{text-align:center;max-width:760px;margin:0 auto 52px}
.section-heading h2{
  color:var(--afits-ink);font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(36px,4.5vw,56px);line-height:1.08;letter-spacing:-.035em;margin:12px 0 16px
}
.section-heading p{font-size:18px;color:#5b746b;margin:0}

.pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.pillar{
  background:#fff;border:1px solid var(--afits-border);border-radius:22px;padding:26px 21px;
  box-shadow:0 8px 28px rgba(17,70,51,.04);transition:.2s ease
}
.pillar:hover{transform:translateY(-4px);box-shadow:var(--afits-shadow)}
.pillar-num{
  width:38px;height:38px;border-radius:12px;background:var(--afits-green-soft);
  color:var(--afits-green);display:grid;place-items:center;font-weight:1000;margin-bottom:18px
}
.pillar h3{color:var(--afits-ink);font-size:17px;margin:0 0 9px}
.pillar p{font-size:13px;line-height:1.6;margin:0;color:#61786f}

.program-carousel{
  position:relative;border-radius:34px;overflow:hidden;background:#fff;
  box-shadow:var(--afits-shadow);border:1px solid var(--afits-border)
}
.program-slide{display:none;grid-template-columns:1fr 1.05fr;min-height:510px}
.program-slide.active{display:grid}
.program-image{
  position:relative;min-height:510px;
  background:linear-gradient(145deg,#d5e8df,#eef7f3);
}
.program-image .photo-placeholder{font-size:20px}
.program-tag{
  position:absolute;top:28px;left:28px;background:#fff;color:var(--afits-green);
  padding:9px 14px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase
}
.program-copy{padding:58px 60px;background:#f0f8f4;display:flex;flex-direction:column;justify-content:center}
.program-copy h3{
  font-family:Georgia,"Times New Roman",serif;color:var(--afits-ink);
  font-size:46px;line-height:1.04;letter-spacing:-.035em;margin:8px 0 14px
}
.program-copy .sub{font-weight:900;color:var(--afits-green);font-size:15px;text-transform:uppercase;letter-spacing:.08em}
.program-copy p{font-size:17px;color:#557068}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:18px 0 28px;padding:0;list-style:none}
.checklist li{font-size:14px;font-weight:750;color:#365348}
.checklist li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#dcefe6;color:var(--afits-green);margin-right:8px;font-weight:1000}
.carousel-controls{
  display:flex;align-items:center;justify-content:center;gap:13px;margin-top:22px
}
.carousel-arrow{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--afits-border);
  background:#fff;color:var(--afits-green);font-size:21px;cursor:pointer
}
.carousel-dots{display:flex;gap:8px}
.carousel-dot{width:9px;height:9px;border:0;padding:0;border-radius:50%;background:#bdd3c8;cursor:pointer}
.carousel-dot.active{width:26px;border-radius:10px;background:var(--afits-green)}

.campus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.campus-card{border-radius:24px;background:#fff;border:1px solid var(--afits-border);overflow:hidden;box-shadow:0 10px 28px rgba(17,70,51,.05)}
.campus-top{height:185px;background:linear-gradient(145deg,#dbece4,#f4faf7);position:relative}
.campus-top .photo-placeholder{font-size:15px}
.campus-body{padding:25px}
.campus-body h3{font-size:25px;color:var(--afits-ink);margin:0 0 5px}
.campus-body .address{font-size:13px;color:#6b8179;margin-bottom:16px}
.campus-meta{display:flex;gap:8px;flex-wrap:wrap}
.badge{font-size:11px;font-weight:900;padding:7px 10px;border-radius:999px;background:var(--afits-green-soft);color:var(--afits-green-dark)}

.family-support{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.support-card{padding:30px;border-radius:24px;background:#fff;border:1px solid var(--afits-border)}
.support-icon{font-size:28px;margin-bottom:14px}
.support-card h3{margin:0 0 8px;color:var(--afits-ink);font-size:22px}
.support-card p{margin:0;font-size:14px;color:#61786f}

.cta{
  padding:78px 0;background:var(--afits-green-dark);color:#fff;position:relative;overflow:hidden
}
.cta:after{
  content:"";position:absolute;width:520px;height:520px;border-radius:50%;
  right:-140px;top:-250px;background:rgba(255,255,255,.05)
}
.cta-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:35px}
.cta h2{font-family:Georgia,"Times New Roman",serif;font-size:46px;line-height:1.05;margin:0 0 10px;max-width:700px}
.cta p{margin:0;opacity:.8;font-size:17px}
.cta .btn-secondary{border-color:#fff;color:#fff;background:transparent}
.cta .btn-secondary:hover{background:#fff;color:var(--afits-green-dark)}

.site-footer{background:#0f382c;color:#d5e5de;padding:54px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}
.footer-brand h3{color:#fff;margin:0 0 10px;font-size:22px}
.footer-brand p{font-size:13px;max-width:360px;color:#a9c1b7}
.footer-col h4{color:#fff;margin:0 0 12px;font-size:14px}
.footer-col a{display:block;font-size:13px;margin:7px 0;color:#b6cec4}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:22px;font-size:12px;color:#91ada2}

@media(max-width:1050px){
  .primary-nav{gap:13px;font-size:12px}
  .pillars{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .menu-toggle{display:block}
  .primary-nav{
    display:none;position:absolute;left:20px;right:20px;top:78px;background:#fff;
    padding:20px;border-radius:18px;box-shadow:var(--afits-shadow);flex-direction:column;align-items:flex-start
  }
  .primary-nav.open{display:flex}
  .header-cta{display:none}
  .hero{padding-top:55px}
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-visual{min-height:430px}
  .photo-frame{left:0}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-item:nth-child(2){border-right:0}
  .trust-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}
  .pillars{grid-template-columns:1fr 1fr}
  .program-slide.active{grid-template-columns:1fr}
  .program-image{min-height:330px}
  .program-copy{padding:38px 30px}
  .campus-grid,.family-support{grid-template-columns:1fr}
  .cta-inner{align-items:flex-start;flex-direction:column}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .container{width:min(100% - 28px,var(--container))}
  .brand-copy span{display:none}
  .hero h1{font-size:48px}
  .hero .lead{font-size:17px}
  .hero-visual{min-height:380px}
  .floating-card{width:220px;bottom:18px}
  .handwritten{font-size:16px}
  .pillars{grid-template-columns:1fr}
  .checklist{grid-template-columns:1fr}
  .program-copy h3{font-size:38px}
  .section{padding:70px 0}
  .footer-grid{grid-template-columns:1fr}
}


/* ============================================================
   v0.1.1 VISUAL REFINEMENT PASS
   ============================================================ */

body{background:#fff}
section[id]{scroll-margin-top:104px}

.site-header{
  box-shadow:0 8px 28px rgba(13,55,43,.055);
}
.header-inner{min-height:92px}
.brand-mark{
  background:linear-gradient(145deg,#edf7f2,#dff0e8);
  box-shadow:inset 0 0 0 1px rgba(29,107,79,.08);
}
.brand-copy strong{font-size:19px;letter-spacing:-.015em}
.primary-nav{gap:26px}
.primary-nav a{position:relative;padding:34px 0 31px}
.primary-nav a:after{
  content:"";position:absolute;left:0;right:100%;bottom:23px;height:2px;
  background:var(--afits-green);transition:right .2s ease;border-radius:2px
}
.primary-nav a:hover:after{right:0}

.hero{
  position:relative;
  padding:96px 0 82px;
  min-height:690px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 76% 10%, rgba(107,183,145,.22), transparent 27%),
    radial-gradient(circle at 12% 86%, rgba(214,236,225,.56), transparent 32%),
    linear-gradient(125deg,#fdfefc 0%,#f5fbf8 48%,#edf7f2 100%);
}
.hero:before{
  content:"";position:absolute;right:7%;top:42px;width:210px;height:210px;border-radius:50%;
  border:1px solid rgba(29,107,79,.11)
}
.hero:after{
  content:"";position:absolute;right:12%;top:94px;width:108px;height:108px;border-radius:50%;
  border:1px solid rgba(29,107,79,.10)
}
.hero-grid{gap:76px;position:relative;z-index:2}
.hero h1{
  font-size:clamp(50px,5.25vw,72px);
  max-width:720px;
  margin:20px 0 24px;
  text-wrap:balance;
}
.hero .lead{font-size:18px;line-height:1.78;max-width:670px}
.hero-actions{margin-top:32px}
.hero-note{
  margin-top:31px;padding-top:22px;border-top:1px solid rgba(29,107,79,.12);
  max-width:660px
}

.hero-visual{min-height:560px}
.photo-frame{
  inset:14px 0 0 30px;
  border-radius:38px 38px 90px 38px;
  border:1px solid rgba(29,107,79,.10);
  background:
    radial-gradient(circle at 70% 32%,rgba(255,255,255,.62),transparent 34%),
    linear-gradient(145deg,#c8e1d5,#e9f4ef);
}
.photo-frame:after{
  content:"";position:absolute;left:34px;bottom:28px;width:145px;height:145px;
  border:1px solid rgba(255,255,255,.65);border-radius:50%
}
.photo-placeholder{
  max-width:440px;margin:auto;
  letter-spacing:.01em;
}
.floating-card{
  left:-14px;bottom:42px;width:285px;padding:24px 24px 22px;
  border:1px solid rgba(29,107,79,.08)
}
.floating-card strong{font-family:Georgia,"Times New Roman",serif;font-size:22px}
.handwritten{
  right:-8px;top:37px;padding:11px 17px;
  font-size:20px;line-height:1.35
}

.trust-strip{box-shadow:0 18px 35px rgba(15,56,44,.12)}
.trust-grid{min-height:116px}
.trust-item strong{font-family:Georgia,"Times New Roman",serif;font-size:21px}
.trust-item span{margin-top:4px;display:block}

.section{padding:104px 0}
.section-heading{margin-bottom:60px}
.section-heading h2{font-size:clamp(40px,4.3vw,58px);text-wrap:balance}
.section-heading p{max-width:680px;margin-inline:auto;line-height:1.75}

.pillars{
  gap:18px;
  align-items:stretch;
}
.pillar{
  position:relative;overflow:hidden;
  min-height:258px;
  padding:30px 24px 28px;
  border-radius:26px;
}
.pillar:after{
  content:"";position:absolute;right:-42px;bottom:-45px;width:110px;height:110px;
  background:var(--afits-green-soft);border-radius:50%;opacity:.65
}
.pillar-num{
  width:44px;height:44px;border-radius:50%;font-size:14px;margin-bottom:24px;
  box-shadow:inset 0 0 0 1px rgba(29,107,79,.08)
}
.pillar h3{
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;line-height:1.15;margin-bottom:12px;position:relative;z-index:1
}
.pillar p{font-size:13.5px;position:relative;z-index:1}

.program-carousel{
  border-radius:38px;
  box-shadow:0 24px 55px rgba(17,70,51,.13);
}
.program-slide{min-height:560px}
.program-image{min-height:560px}
.program-image:after{
  content:"Different Learners. Brighter Tomorrows.";
  position:absolute;left:34px;bottom:34px;
  max-width:260px;
  font-family:"Segoe Print","Bradley Hand",cursive;
  font-size:21px;font-weight:800;line-height:1.3;color:var(--afits-green-dark);
  background:rgba(255,255,255,.88);padding:13px 17px;border-radius:17px;
  box-shadow:0 10px 28px rgba(17,70,51,.10)
}
.program-tag{
  top:32px;left:32px;padding:10px 15px;
  box-shadow:0 8px 20px rgba(17,70,51,.08)
}
.program-copy{
  padding:66px 66px;
  background:
    radial-gradient(circle at 90% 15%,rgba(255,255,255,.65),transparent 28%),
    linear-gradient(145deg,#f2f9f5,#eaf5ef);
}
.program-copy h3{font-size:52px;margin:9px 0 15px}
.program-copy p{line-height:1.75;max-width:560px}
.checklist{gap:13px 24px;margin:23px 0 31px}
.carousel-controls{margin-top:28px}

.campus-grid{gap:26px}
.campus-card{
  border-radius:28px;
  box-shadow:0 14px 34px rgba(17,70,51,.07);
  transition:.22s ease
}
.campus-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(17,70,51,.12)}
.campus-top{height:220px}
.campus-body{padding:28px}
.campus-body h3{font-family:Georgia,"Times New Roman",serif;font-size:28px}

.family-support{gap:26px}
.support-card{
  min-height:230px;padding:34px;border-radius:28px;
  box-shadow:0 10px 28px rgba(17,70,51,.045)
}
.support-icon{
  width:54px;height:54px;border-radius:17px;background:var(--afits-green-soft);
  display:grid;place-items:center;font-size:25px
}
.support-card h3{font-family:Georgia,"Times New Roman",serif;font-size:24px;margin-top:20px}

.cta{padding:92px 0}
.cta h2{font-size:50px;max-width:760px}
.site-footer{padding-top:64px}

@media(max-width:1050px){
  .primary-nav{gap:15px}
  .hero-grid{gap:42px}
}
@media(max-width:820px){
  .primary-nav a{padding:8px 0}
  .primary-nav a:after{display:none}
  .hero{padding:70px 0 62px}
  .hero-grid{gap:46px}
  .hero-visual{min-height:455px}
  .program-slide{min-height:0}
  .program-image{min-height:360px}
  .program-copy{padding:46px 34px}
}
@media(max-width:560px){
  .header-inner{min-height:78px}
  .hero{padding-top:58px;min-height:0}
  .hero h1{font-size:44px;line-height:1.04}
  .hero .lead{font-size:16.5px}
  .hero-note{gap:10px 18px}
  .hero-visual{min-height:390px}
  .photo-frame{inset:0}
  .handwritten{right:8px;top:16px}
  .floating-card{left:12px;bottom:15px;width:238px}
  .section{padding:76px 0}
  .program-copy h3{font-size:40px}
  .program-image:after{left:20px;bottom:20px;font-size:17px;max-width:230px}
}


/* ==========================================================
   v0.1.2 — OFFICIAL BRAND + REPRESENTATIVE IMAGERY
   ========================================================== */
.brand{min-width:170px}
.bundled-logo-link{display:flex;align-items:center;flex:0 0 auto}
.bundled-logo-horizontal{display:block;width:auto;max-width:205px;max-height:72px;object-fit:contain}
.custom-logo-link img{max-width:205px;max-height:72px;object-fit:contain}
.header-inner{gap:18px}
.primary-nav{gap:18px;font-size:13px}
.primary-nav a{white-space:nowrap}
.header-cta{white-space:nowrap}

.hero-grid{grid-template-columns:.94fr 1.06fr;gap:54px}
.hero h1{font-size:clamp(43px,4.8vw,67px);line-height:1.025;max-width:690px}
.hero-visual{min-height:575px}
.section-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.photo-frame .section-photo{z-index:0}
.photo-frame:before,.photo-frame:after{pointer-events:none;z-index:1}
.hero-photo{object-position:48% 45%}
.handwritten,.floating-card{z-index:3}

.program-image{overflow:hidden}
.program-image .section-photo{object-position:center center;transition:transform .45s ease}
.program-slide.active .program-image .section-photo{transform:scale(1.012)}
.program-slide:nth-child(1) .section-photo{object-position:52% center}
.program-slide:nth-child(2) .section-photo{object-position:50% 45%}
.program-slide:nth-child(3) .section-photo{object-position:50% 42%}
.program-tag,.program-image:after{z-index:2}

.campus-top{overflow:hidden}
.campus-top .section-photo{object-position:center center;transition:transform .35s ease}
.campus-card:hover .campus-top .section-photo{transform:scale(1.035)}
.representative-label{
  position:absolute;right:14px;bottom:14px;z-index:2;
  background:rgba(255,255,255,.9);color:var(--afits-green-dark);
  border:1px solid rgba(29,107,79,.10);border-radius:999px;
  padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.04em;
  text-transform:uppercase;box-shadow:0 6px 16px rgba(17,70,51,.08)
}

.support-icon-text{
  font-size:11px;font-weight:1000;letter-spacing:.08em;color:var(--afits-green-dark)
}
.footer-logo{
  display:block;max-width:175px;max-height:105px;width:auto;height:auto;
  object-fit:contain;object-position:left center;margin-bottom:18px;
  filter:brightness(0) invert(1);opacity:.96
}
.footer-col span{display:block;color:#a9c1b7;font-size:13px;margin:7px 0}

@media(max-width:1180px){
  .bundled-logo-horizontal,.custom-logo-link img{max-width:170px}
  .primary-nav{gap:12px;font-size:12px}
  .header-cta{padding-inline:17px}
}
@media(max-width:820px){
  .bundled-logo-horizontal,.custom-logo-link img{max-width:180px;max-height:62px}
  .hero-grid{grid-template-columns:1fr}
  .hero h1{font-size:clamp(43px,10vw,61px)}
}
@media(max-width:560px){
  .bundled-logo-horizontal,.custom-logo-link img{max-width:155px;max-height:56px}
  .representative-label{font-size:9px;right:10px;bottom:10px}
}

/* v0.1.3 focused update */
.trust-grid-expanded{grid-template-columns:repeat(7,minmax(0,1fr));}
.trust-grid-expanded .trust-item{padding:18px 10px;min-width:0;}
.trust-grid-expanded .trust-item strong{font-size:clamp(13px,1.2vw,17px);line-height:1.15;}
.trust-grid-expanded .trust-item span{font-size:10px;line-height:1.3;}
@media(max-width:1050px){.trust-grid-expanded{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:700px){.trust-grid-expanded{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* v0.1.4 homepage feature language */
.hero-note{flex-wrap:wrap;gap:10px 24px;}
.trust-grid-expanded{grid-template-columns:repeat(8,minmax(0,1fr));}
.trust-grid-expanded .trust-item{padding:18px 8px;min-width:0;}
.trust-grid-expanded .trust-item strong{font-size:clamp(12px,1.02vw,16px);line-height:1.1;}
.trust-grid-expanded .trust-item span{font-size:9.5px;line-height:1.3;}
@media(max-width:1180px){.trust-grid-expanded{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:700px){.trust-grid-expanded{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* ==========================================================
   v0.1.5 — RETURN TO ORIGINAL PREMIUM MOCKUP DIRECTION
   ========================================================== */
.hero-wide-photo{
  position:relative;
  min-height:520px;
  padding:0;
  overflow:hidden;
  background:#173f32;
}
.hero-photo-bg{
  position:absolute;inset:0;
  background-image:url('assets/images/hero-headphones.jpg');
  background-size:cover;
  background-position:68% 43%;
  transform:scale(1.01);
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(7,29,23,.88) 0%,rgba(7,29,23,.76) 33%,rgba(7,29,23,.34) 58%,rgba(7,29,23,.08) 78%,rgba(7,29,23,.02) 100%),
    linear-gradient(0deg,rgba(7,29,23,.22),transparent 50%);
}
.hero-wide-inner{
  position:relative;z-index:2;
  min-height:520px;
  display:flex;align-items:center;
  padding-top:58px;padding-bottom:48px;
}
.hero-wide-copy{max-width:660px;color:#fff}
.hero-wide-copy .eyebrow{
  color:#d8eee4;font-size:10px;font-weight:900;letter-spacing:.17em;margin-bottom:16px
}
.hero-wide-copy h1{
  color:#fff;
  font-size:clamp(36px,4.25vw,60px);
  line-height:1.01;
  letter-spacing:-.035em;
  margin:0 0 18px;
  max-width:650px;
}
.hero-wide-copy h1 em{
  display:inline;
  font-style:italic;
  font-weight:650;
}
.hero-wide-copy h1 span{color:#72c47d}
.hero-wide-copy .hero-lead{
  color:rgba(255,255,255,.90);
  max-width:565px;
  font-size:15px;
  line-height:1.6;
  margin:0 0 22px;
}
.hero-wide-copy .hero-actions{display:flex;gap:11px;align-items:center;margin-bottom:24px}
.btn-outline-light{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:0 19px;border:1px solid rgba(255,255,255,.62);
  border-radius:999px;color:#fff;font-weight:800;font-size:12px;
}
.btn-outline-light:hover{background:#fff;color:var(--afits-green-dark)}
.hero-note-overlay{
  border-top:1px solid rgba(255,255,255,.26);
  padding-top:15px;
  display:flex;gap:12px 24px;flex-wrap:wrap;
}
.hero-note-overlay span{
  color:rgba(255,255,255,.94);
  font-size:11px;font-weight:800;
}
.hero-note-overlay span:before{content:"✓";color:#82d391;margin-right:7px}

/* F.I.T.S. Difference — based on approved original mockup */
.fits-difference{
  background:#fff;
  padding:56px 0 50px;
  border-bottom:1px solid #e7efe9;
}
.fits-difference .section-kicker{
  text-align:center;color:var(--afits-green);font-size:10px;font-weight:900;letter-spacing:.16em;margin-bottom:7px
}
.fits-difference h2{
  text-align:center;color:#173f32;font-size:clamp(27px,3vw,38px);
  letter-spacing:-.025em;margin:0 0 8px
}
.difference-intro{
  text-align:center;max-width:680px;margin:0 auto 34px;
  color:#62736c;font-size:13px;line-height:1.55
}
.difference-grid{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:20px;
  align-items:start;
}
.difference-item{text-align:center;min-width:0}
.difference-icon{
  width:58px;height:58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 12px;color:#fff;
  font-size:14px;font-weight:950;letter-spacing:-.02em;
  box-shadow:0 8px 18px rgba(22,76,57,.10);
}
.difference-item h3{
  color:#183f33;font-size:13px;line-height:1.18;margin:0 0 5px;font-weight:900
}
.difference-item p{
  color:#6a7a74;font-size:10px;line-height:1.35;margin:0
}
.accent-green .difference-icon{background:#38a55d}
.accent-blue .difference-icon{background:#32a7b8}
.accent-gold .difference-icon{background:#efb63f}
.accent-purple .difference-icon{background:#8d5aa7}
.accent-teal .difference-icon{background:#4d9c82}
.accent-orange .difference-icon{background:#e58c47}
.accent-violet .difference-icon{background:#7565a8}
.accent-deepgreen .difference-icon{background:#27784d}

/* Reduce upper-page visual bulk */
.section{padding-top:68px;padding-bottom:68px}
.section-head{margin-bottom:34px}
.section-head h2{font-size:clamp(29px,3.4vw,43px)}
.program-carousel{margin-top:24px}

@media(max-width:1180px){
  .difference-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 24px}
}
@media(max-width:820px){
  .hero-wide-photo,.hero-wide-inner{min-height:550px}
  .hero-photo-bg{background-position:62% center}
  .hero-overlay{
    background:linear-gradient(90deg,rgba(7,29,23,.90) 0%,rgba(7,29,23,.76) 58%,rgba(7,29,23,.34) 100%)
  }
  .hero-wide-copy{max-width:590px}
  .difference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .hero-wide-photo,.hero-wide-inner{min-height:610px}
  .hero-wide-inner{align-items:flex-end;padding-top:100px;padding-bottom:38px}
  .hero-photo-bg{background-position:60% center}
  .hero-overlay{
    background:linear-gradient(0deg,rgba(7,29,23,.96) 0%,rgba(7,29,23,.80) 48%,rgba(7,29,23,.22) 100%)
  }
  .hero-wide-copy h1{font-size:39px}
  .hero-wide-copy .hero-lead{font-size:14px}
  .hero-note-overlay{gap:9px 15px}
  .difference-grid{gap:28px 18px}
  .fits-difference{padding:45px 0}
}

/* v0.1.6 accreditation + clickable A-FITS Difference */
.accreditation-band{background:#f7fbf8;border-bottom:1px solid #dce9e1}
.accreditation-inner{min-height:74px;display:flex;align-items:center;gap:14px}
.accreditation-seal{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #2b7854;color:#2b7854;font-weight:950;font-size:21px}
.accreditation-inner strong{display:block;color:#173f32;font-size:14px}
.accreditation-inner span{display:block;color:#61756c;font-size:12px}
.cognia-asset-note{margin-left:auto;color:#809087;font-size:9px}
.difference-intro{max-width:610px;text-wrap:balance}
.difference-item{display:block;border-radius:18px;padding:10px 5px 14px;transition:.18s ease}
.difference-item:hover,.difference-item:focus-visible{transform:translateY(-4px);background:#f8fbf9;box-shadow:0 10px 25px rgba(18,68,50,.08);outline:none}
.program-detail{background:#fff}
.detail-hero{background:linear-gradient(135deg,#eef8f3,#fbfdfc);padding:76px 0 66px;border-bottom:1px solid #dce9e1}
.detail-hero-inner{max-width:880px}.detail-hero h1{color:#173f32;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.04em;margin:10px 0 18px}
.detail-hero p{max-width:760px;font-size:18px;line-height:1.72;color:#506b60}.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.detail-content{padding:72px 0}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.detail-card{border:1px solid #dce9e1;border-radius:24px;padding:30px;background:#fff;box-shadow:0 10px 28px rgba(18,68,50,.045)}
.detail-card h2{color:#173f32;font-size:22px;margin:0 0 12px}.detail-card p{font-size:14px;line-height:1.72;color:#60756c;margin:0}
.detail-cta{text-align:center;padding:66px 0;background:#f4faf7}.detail-cta h2{color:#173f32;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,4vw,46px);margin:0 0 10px}
.detail-cta p{max-width:680px;margin:0 auto 24px;color:#60756c}
@media(max-width:820px){.cognia-asset-note{display:none}.detail-grid{grid-template-columns:1fr}}

/* v0.1.7 clickable FITS framework + school levels + campus paths */
.pillar-link{display:flex;flex-direction:column;color:inherit;cursor:pointer}
.pillar-link .card-explore{margin-top:auto;padding-top:18px;color:var(--afits-green);font-size:11px;font-weight:900;letter-spacing:.03em}
.pillar-link:hover,.pillar-link:focus-visible{transform:translateY(-5px);box-shadow:var(--afits-shadow);outline:none}
.pillar-link:hover .card-explore,.pillar-link:focus-visible .card-explore{text-decoration:underline}
.campus-card-link{display:flex;flex-direction:column;color:inherit;cursor:pointer;position:relative}
.campus-card-link .campus-body{flex:1}
.campus-explore{display:block;padding:0 28px 24px;color:var(--afits-green);font-size:12px;font-weight:900}
.campus-card-link:hover .campus-explore,.campus-card-link:focus-visible .campus-explore{text-decoration:underline}
.campus-card-link:focus-visible{outline:3px solid rgba(29,107,79,.22);outline-offset:3px}
.program-copy .btn-primary:after{content:"  →"}

/* v0.1.8 parent-focused primary navigation */
.afits-main-nav{display:flex;align-items:center;gap:18px}
.nav-group{position:relative}
.nav-parent{border:0;background:transparent;color:var(--afits-ink);font:inherit;font-size:13px;font-weight:700;padding:34px 0 31px;cursor:pointer;white-space:nowrap}
.nav-parent span{font-size:11px;margin-left:3px}
.nav-dropdown{display:none;position:absolute;top:76px;left:-18px;z-index:1200;min-width:225px;background:#fff;border:1px solid var(--afits-border);border-radius:15px;padding:10px;box-shadow:0 18px 42px rgba(17,70,51,.14)}
.nav-group.open .nav-dropdown{display:block}
.nav-dropdown a{display:block;padding:10px 12px!important;border-radius:9px;font-size:12px;line-height:1.25;white-space:nowrap}
.nav-dropdown a:after{display:none!important}
.nav-dropdown a:hover{background:var(--afits-green-soft)}
.nav-dropdown-wide{min-width:285px;max-height:440px;overflow:auto}
@media (hover:hover) and (pointer:fine){
  .nav-group:hover .nav-dropdown{display:block}
}
@media(max-width:1050px){
  .afits-main-nav{gap:11px}.nav-parent{font-size:12px}
}
@media(max-width:820px){
  .afits-main-nav{align-items:stretch}
  .nav-group{width:100%}
  .nav-parent{width:100%;text-align:left;padding:9px 0;font-size:13px}
  .nav-dropdown,.nav-dropdown-wide{position:static;min-width:0;max-height:none;box-shadow:none;border:0;border-left:2px solid var(--afits-green-soft);border-radius:0;padding:2px 0 4px 12px;margin:3px 0 6px;overflow:visible}
  .nav-group:hover .nav-dropdown{display:none}
  .nav-group.open .nav-dropdown{display:block}
}

/* v0.1.9 substantive content pages */
.rich-content{padding:64px 0;background:#fff}
.rich-content-inner{max-width:960px}
.content-section{padding:30px 0;border-bottom:1px solid var(--afits-border)}
.content-section:first-child{padding-top:0}
.content-section h2{font-family:Georgia,"Times New Roman",serif;color:var(--afits-ink);font-size:30px;margin:0 0 10px}
.content-section p{font-size:16px;line-height:1.78;color:#526b62;margin:0}
.content-note{background:var(--afits-green-soft);border-left:4px solid var(--afits-green);padding:18px 20px;border-radius:12px;margin-bottom:28px;color:#365348;font-size:14px;line-height:1.6}

/* v0.1.10 editable WordPress page content */
.afits-editor-content{max-width:960px}
.afits-page-lead{font-size:20px;line-height:1.7;color:#405d52;margin:0 0 34px}
.afits-page-note{background:var(--afits-green-soft);border-left:4px solid var(--afits-green);padding:18px 20px;border-radius:12px;margin:0 0 30px;color:#365348;line-height:1.6}
.afits-page-section{padding:28px 0;border-bottom:1px solid var(--afits-border)}
.afits-page-section:last-child{border-bottom:0}
.afits-page-section h2{font-family:Georgia,"Times New Roman",serif;color:var(--afits-ink);font-size:30px;line-height:1.15;margin:0 0 10px}
.afits-page-section p{font-size:16px;line-height:1.78;color:#526b62;margin:0}


/* ==========================================================
   v0.1.15 — A-FITS DIFFERENCE HUB + SHARED DETAIL NAVIGATION
   ========================================================== */
.difference-page-nav-section{
  background:#fff;
  border-bottom:1px solid var(--afits-border);
  padding:34px 0 30px;
}
.difference-subnav .difference-grid{
  margin:0;
}
.difference-subnav .difference-item{
  min-height:148px;
  padding:8px 4px 12px;
}
.difference-subnav .difference-item.is-active{
  background:#f3f9f6;
  box-shadow:0 9px 24px rgba(18,68,50,.09);
}
.difference-subnav .difference-item.is-active .difference-icon{
  transform:scale(1.08);
  outline:4px solid rgba(29,107,79,.10);
  outline-offset:4px;
}
.difference-subnav .difference-item.is-active h3{
  color:var(--afits-green);
}
.difference-hub-hero{
  padding-bottom:54px;
}
.difference-hub-copy{
  max-width:1120px;
}
.difference-overview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  padding-top:34px;
}
.difference-overview-grid article{
  border:1px solid var(--afits-border);
  border-radius:18px;
  padding:22px;
  background:#fff;
}
.difference-overview-grid h3{
  color:var(--afits-ink);
  font-size:18px;
  margin:0 0 8px;
}
.difference-overview-grid p{
  color:#60756c;
  font-size:13px;
  line-height:1.65;
  margin:0;
}
@media(max-width:1000px){
  .difference-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .difference-page-nav-section{padding:28px 0}
  .difference-subnav .difference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .difference-overview-grid{grid-template-columns:1fr}
}

/* ==========================================================
   v0.1.16 — VISUAL INTERIOR PAGES
   ========================================================== */
.script-tagline{
  font-family:"Segoe Print","Bradley Hand",cursive;
  color:#2c8a57;
  font-size:clamp(23px,3vw,40px);
  line-height:1.15;
  margin:8px 0 18px;
}
.difference-visual-hero{
  position:relative;min-height:390px;display:flex;align-items:center;overflow:hidden;
}
.difference-visual-hero>img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;
}
.difference-visual-shade{
  position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 37%,rgba(255,255,255,.15) 70%,rgba(255,255,255,0) 100%);
}
.difference-visual-copy{position:relative;z-index:2;max-width:680px;margin-left:max(0px,calc((100% - 1240px)/2));padding:66px 24px}
.difference-visual-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,5vw,72px);line-height:.98;color:var(--afits-ink);margin:6px 0 4px}
.difference-visual-copy p{font-size:17px;line-height:1.6;max-width:600px;color:#415f54}
.difference-quote-band{background:#eef8f3;padding:22px 0}
.quote-band-inner{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.quote-mark{font-size:64px;color:var(--afits-green);line-height:.8}
.quote-band-inner>strong{font-size:20px;color:var(--afits-ink);line-height:1.3}
.quote-values{margin-left:auto;display:flex;gap:28px;flex-wrap:wrap;color:#245e45;font-weight:800}
.difference-feature-grid-section{padding:54px 0 72px;background:#fff}
.difference-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.visual-feature-card{position:relative;border-radius:22px;overflow:hidden;min-height:470px;background:#f7fbf8;border:1px solid var(--afits-border)}
.visual-feature-card>img{width:100%;height:240px;object-fit:cover;display:block}
.visual-feature-copy{padding:24px}
.visual-feature-copy h2{font-size:23px;color:var(--afits-ink);margin:0 0 4px}
.visual-feature-copy .script-tagline{font-size:24px;margin:3px 0 12px}
.visual-feature-copy p{font-size:14px;line-height:1.65;color:#587066}
.visual-detail-hero{position:relative;min-height:360px;overflow:hidden;display:flex;align-items:center;background:#173f32}
.visual-detail-image{position:absolute;inset:0}
.visual-detail-image img{width:100%;height:100%;object-fit:cover;object-position:68% center}
.visual-detail-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,39,29,.92),rgba(8,39,29,.65) 42%,rgba(8,39,29,.08) 78%)}
.visual-detail-copy{position:relative;z-index:2;color:#fff;padding-top:65px;padding-bottom:58px;max-width:760px}
.visual-detail-copy .section-kicker{color:#cfe7dc}
.visual-detail-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5vw,66px);line-height:1;color:#fff;margin:8px 0}
.visual-detail-copy .script-tagline{color:#83d191}
.visual-detail-copy p{font-size:17px;line-height:1.6;max-width:620px;color:rgba(255,255,255,.92)}
.two-column-story{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:46px;align-items:start}
.story-side-card{border-radius:20px;overflow:hidden;border:1px solid var(--afits-border);background:#f7fbf8;position:sticky;top:110px}
.story-side-card img{width:100%;height:220px;object-fit:cover}
.story-side-copy{padding:22px}
.story-side-copy span{font-size:10px;letter-spacing:.14em;color:var(--afits-green);font-weight:900}
.story-side-copy strong{display:block;font-family:"Segoe Print","Bradley Hand",cursive;color:#2c8a57;font-size:24px;line-height:1.2;margin:8px 0 10px}
.story-side-copy p{font-size:13px;line-height:1.6;color:#5e746b}
.split-photo-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:430px;background:#fff;border-bottom:1px solid var(--afits-border)}
.split-photo-media{position:relative;min-height:430px;overflow:hidden}
.split-photo-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split-photo-copy{display:flex;flex-direction:column;justify-content:center;padding:65px clamp(34px,6vw,90px)}
.split-photo-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5vw,66px);line-height:1.02;color:var(--afits-ink);margin:8px 0}
.split-photo-copy p{font-size:16px;line-height:1.7;color:#516a60;max-width:620px}
.story-values-band,.mission-pillars{background:#fff;border-bottom:1px solid var(--afits-border);padding:28px 0}
.story-values-grid,.mission-pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.story-values-grid>div,.mission-pillars-grid article{text-align:center;padding:16px 28px;border-right:1px solid var(--afits-border)}
.story-values-grid>div:last-child,.mission-pillars-grid article:last-child{border-right:0}
.story-values-grid span,.mission-icon{font-size:32px;color:var(--afits-green);display:block;margin-bottom:8px}
.story-values-grid strong,.mission-pillars-grid h3{display:block;color:var(--afits-ink);font-size:17px;margin-bottom:5px}
.story-values-grid p,.mission-pillars-grid p{color:#6d8078;font-size:12px;margin:0}
.editorial-story .afits-page-section{padding:38px 0}
.editorial-story .afits-page-section:nth-child(even){background:linear-gradient(90deg,#fff,#fbfdfc)}
.brand-quote{padding:44px 20px;text-align:center;background:#fff}
.brand-quote .script-tagline{max-width:920px;margin:0 auto;font-size:clamp(25px,3vw,38px)}
.soft-green{background:#eff8f3}
.soft-gold{background:#fbf7e9}
.accreditation-badge-placeholder{position:absolute;right:28px;bottom:28px;width:145px;height:145px;border-radius:50%;background:rgba(255,255,255,.94);border:5px double #4b4b4b;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-8deg);box-shadow:0 10px 30px rgba(0,0,0,.14)}
.accreditation-badge-placeholder strong{font-size:21px;color:#202020}
.accreditation-badge-placeholder span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#555}
@media(max-width:900px){
  .difference-feature-grid{grid-template-columns:1fr}
  .visual-feature-card{min-height:0}
  .two-column-story{grid-template-columns:1fr}
  .story-side-card{position:static}
  .split-photo-hero{grid-template-columns:1fr}
  .split-photo-media{min-height:320px;order:1}
  .split-photo-copy{order:2}
  .story-values-grid,.mission-pillars-grid{grid-template-columns:1fr}
  .story-values-grid>div,.mission-pillars-grid article{border-right:0;border-bottom:1px solid var(--afits-border)}
  .quote-values{margin-left:0}
}

/* ==========================================================
   v0.1.17 — WIDE MOCKUP LITERAL DESIGN IMPLEMENTATION
   ========================================================== */
.mockup-page{background:#fff;color:var(--afits-ink)}
.mockup-split-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:430px;
  background:#fff;
  overflow:hidden;
  border-bottom:1px solid var(--afits-border);
}
.mockup-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:56px clamp(34px,5.6vw,86px);
  min-width:0;
}
.mockup-hero-copy h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(42px,4.6vw,68px);
  line-height:1.02;
  letter-spacing:-.035em;
  margin:8px 0 5px;
  color:var(--afits-ink);
}
.mockup-hero-copy>p{
  max-width:610px;
  font-size:16px;
  line-height:1.65;
  color:#4d675c;
  margin:8px 0 20px;
}
.mockup-hero-photo{
  position:relative;
  min-height:430px;
  overflow:hidden;
}
.mockup-hero-photo>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.mockup-photo-note,
.story-photo-overlay,
.mission-photo-note{
  position:absolute;
  right:28px;
  bottom:30px;
  font-family:"Segoe Print","Bradley Hand",cursive;
  color:#fff;
  font-size:clamp(24px,2.8vw,40px);
  line-height:1.15;
  background:rgba(31,137,77,.88);
  padding:18px 22px;
  transform:rotate(-2deg);
}
.story-photo-overlay{
  left:32px;
  right:auto;
  bottom:34px;
  background:rgba(16,69,50,.80);
  font-size:30px;
}
.mission-photo-note{
  right:32px;
  top:46px;
  bottom:auto;
  background:rgba(255,255,255,.82);
  color:#27784d;
  font-size:27px;
  padding:16px 18px;
}
.mockup-difference-nav{
  padding:24px 0 20px;
  background:#fff;
  border-bottom:1px solid #e9efeb;
}
.mockup-difference-nav .difference-grid{margin:0}
.mockup-difference-nav .difference-item{padding:4px 4px 8px}
.mockup-difference-nav .difference-icon{width:50px;height:50px;font-size:12px;margin-bottom:8px}
.mockup-difference-nav .difference-item h3{font-size:11px}
.mockup-difference-nav .difference-item p{font-size:8.5px}
.compact-difference-nav{padding-top:18px;padding-bottom:16px}
.mockup-quote-strip{
  padding:36px 0;
  background:#fff;
  text-align:center;
}
.mockup-quote-strip>.container{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.mockup-quote-strip .quote-mark{font-size:44px;line-height:1;color:var(--afits-green)}
.mockup-quote-strip .quote-text{
  color:#244f3d;
  font-size:17px;
  font-weight:750;
}
.mockup-quote-strip .quote-line{
  width:175px;
  height:3px;
  background:var(--afits-green);
  transform:rotate(-2deg);
}
.mockup-lower-intro{background:#f2f9f5;padding:30px 0}
.four-mini-values{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  text-align:center;
}
.four-mini-values span{display:block;font-size:30px;color:var(--afits-green);margin-bottom:7px}
.four-mini-values strong{font-size:13px;color:var(--afits-ink)}
.mockup-detail-lower{padding:46px 0 36px;background:#fff}
.mockup-detail-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:0;
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--afits-border);
  box-shadow:0 12px 32px rgba(18,68,50,.07);
}
.mockup-lower-photo{position:relative;min-height:380px}
.mockup-lower-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mockup-lower-script{
  position:absolute;
  left:24px;
  bottom:24px;
  max-width:320px;
  color:#fff;
  font-family:"Segoe Print","Bradley Hand",cursive;
  font-size:32px;
  line-height:1.15;
  text-shadow:0 3px 16px rgba(0,0,0,.35);
}
.mockup-benefit-panel{
  background:#edf7f1;
  padding:42px 44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.mockup-benefit-panel h2{
  color:var(--afits-ink);
  font-size:24px;
  margin:0 0 20px;
}
.mockup-benefit-panel ul{
  list-style:none;
  padding:0;
  margin:0 0 24px;
}
.mockup-benefit-panel li{
  position:relative;
  padding:9px 0 9px 31px;
  color:#456358;
  font-size:14px;
}
.mockup-benefit-panel li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:8px;
  width:20px;
  height:20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--afits-green);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.mockup-small-quote{
  margin-top:8px;
  color:#276e4e;
  font-family:"Segoe Print","Bradley Hand",cursive;
  font-size:19px;
}
.mockup-body-copy{
  padding:20px 0 70px;
  background:#fff;
}
.mockup-body-copy>.container{
  max-width:980px;
}
.mockup-body-copy .afits-page-lead{font-size:18px}
.mockup-body-copy .afits-page-section{
  padding:30px 0;
}
.mockup-three-cards{
  background:#fff;
  padding:0 0 32px;
}
.three-value-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--afits-border);
  border-top:0;
  background:#fff;
}
.three-value-cards article{
  padding:28px 30px;
  text-align:center;
  border-right:1px solid var(--afits-border);
}
.three-value-cards article:last-child{border-right:0}
.value-icon{
  width:52px;height:52px;border-radius:50%;
  margin:0 auto 12px;
  display:grid;place-items:center;
  color:#208452;
  border:2px solid #208452;
  font-size:23px;
}
.three-value-cards h3{
  color:var(--afits-ink);
  font-size:17px;
  margin:0 0 7px;
}
.three-value-cards p{
  color:#61776e;
  font-size:12px;
  line-height:1.55;
  margin:0;
}
.mockup-long-copy{
  padding:52px 0 65px;
  background:#fff;
}
.mockup-long-copy .editorial-story{max-width:960px}
.story-final-quote{background:#f0f8f4}
.story-final-quote .script-tagline,
.accreditation-final-quote .script-tagline{
  max-width:980px;
  margin:0 auto;
  font-size:clamp(24px,2.8vw,36px);
}
.accreditation-value-strip{
  background:#fff;
  padding:0 0 32px;
}
.four-accred-values{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--afits-border);
  border-top:0;
}
.four-accred-values article{
  text-align:center;
  padding:26px 22px;
  border-right:1px solid var(--afits-border);
}
.four-accred-values article:last-child{border-right:0}
.four-accred-values h3{
  color:var(--afits-ink);
  font-size:15px;
  margin:8px 0 6px;
}
.four-accred-values p{
  color:#677b73;
  font-size:11px;
  line-height:1.5;
  margin:0;
}
.text-accreditation-seal{
  position:absolute;
  right:28px;
  top:28px;
  width:148px;
  height:148px;
  border:4px double #333;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  transform:rotate(-7deg);
  box-shadow:0 12px 30px rgba(0,0,0,.15);
  text-align:center;
}
.text-accreditation-seal span{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#555;
}
.text-accreditation-seal strong{
  font-size:26px;
  color:#222;
  line-height:1.1;
  margin:3px 0;
}
.text-accreditation-seal small{
  color:#777;
  font-size:8px;
}
@media(max-width:900px){
  .mockup-split-hero{grid-template-columns:1fr}
  .mockup-hero-photo{min-height:330px}
  .mockup-detail-grid{grid-template-columns:1fr}
  .mockup-lower-photo{min-height:330px}
  .three-value-cards{grid-template-columns:1fr}
  .three-value-cards article{border-right:0;border-bottom:1px solid var(--afits-border)}
  .four-accred-values{grid-template-columns:repeat(2,1fr)}
  .four-mini-values{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .mockup-hero-copy{padding:42px 24px}
  .mockup-hero-copy h1{font-size:42px}
  .mockup-difference-nav .difference-grid{grid-template-columns:repeat(2,1fr)}
  .four-accred-values{grid-template-columns:1fr}
  .four-mini-values{grid-template-columns:1fr}
  .mockup-benefit-panel{padding:32px 25px}
  .text-accreditation-seal{width:112px;height:112px}
  .text-accreditation-seal strong{font-size:20px}
}

/* ==========================================================
   v0.1.18 — OUR STORY ANCHOR + COGNIA SEAL POLISH
   ========================================================== */
#why-afits{
  scroll-margin-top:110px;
}

/* Replace the earlier placeholder accreditation badge with a cleaner
   mockup-style Cognia accreditation seal. This is a designed treatment,
   not a reproduction of an official Cognia badge asset. */
.cognia-seal{
  position:absolute;
  right:28px;
  top:28px;
  width:162px;
  height:162px;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 34px rgba(0,0,0,.16);
  display:grid;
  place-items:center;
  transform:rotate(-5deg);
  border:1px solid rgba(26,54,43,.24);
}
.cognia-seal:before,
.cognia-seal:after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.cognia-seal:before{
  inset:7px;
  border:2px solid #2d3c36;
}
.cognia-seal:after{
  inset:13px;
  border:1px solid rgba(45,60,54,.45);
}
.cognia-seal-ring{
  position:relative;
  z-index:2;
  width:120px;
  text-align:center;
  color:#1f2e28;
  line-height:1.05;
}
.cognia-seal-top,
.cognia-seal-bottom{
  display:block;
  font-size:9px;
  letter-spacing:.18em;
  font-weight:900;
}
.cognia-seal-top{
  margin-bottom:8px;
}
.cognia-seal-bottom{
  margin-top:8px;
  color:#4f5f58;
}
.cognia-wordmark{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:28px;
  font-weight:800;
  letter-spacing:-.055em;
  color:#1c1f1e;
}
@media(max-width:560px){
  .cognia-seal{
    width:118px;
    height:118px;
    right:16px;
    top:16px;
  }
  .cognia-seal-ring{width:90px}
  .cognia-wordmark{font-size:22px}
  .cognia-seal-top,.cognia-seal-bottom{font-size:7px}
}

/* ==========================================================
   v0.1.19 — A-FITS DIFFERENCE QUOTE STRIP FIX
   ========================================================== */
.difference-quote-fixed>.container{
  display:block;
}
.quote-composition{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:14px;
  max-width:860px;
  margin:0 auto;
}
.quote-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
}
.quote-composition .quote-text{
  color:#244f3d;
  font-size:18px;
  font-weight:800;
  line-height:1.4;
  text-align:center;
}
.quote-composition .quote-mark{
  color:var(--afits-green);
  font-family:Georgia,"Times New Roman",serif;
  font-size:52px;
  font-weight:700;
  line-height:.75;
  flex:0 0 auto;
}
.quote-composition .quote-close{
  align-self:flex-end;
  margin-bottom:8px;
}
.quote-composition .quote-line{
  width:220px;
  height:3px;
  margin-top:12px;
  background:var(--afits-green);
  transform:rotate(-2deg);
  border-radius:999px;
}
@media(max-width:620px){
  .quote-composition{gap:8px}
  .quote-composition .quote-text{font-size:16px}
  .quote-composition .quote-mark{font-size:40px}
  .quote-composition .quote-line{width:160px}
}

/* ==========================================================
   v0.1.22 — A-FITS PROGRAMMING + FIRST 30 + WHO WE SERVE
   ========================================================== */
.programming-intro{
  padding:58px 0 28px;
  text-align:center;
}
.programming-intro h2,
.first30-timeline h2,
.day30-plus h2,
.first30-team h2,
.who-cta h2{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--afits-ink);
  font-size:clamp(30px,3.5vw,46px);
  margin:8px 0 14px;
}
.programming-lead{
  max-width:850px;
  margin:0 auto;
  color:#566f65;
  font-size:16px;
  line-height:1.75;
}
.programming-pillars{padding:28px 0 70px}
.programming-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.programming-card{
  display:flex;
  flex-direction:column;
  min-height:290px;
  padding:28px;
  border:1px solid var(--afits-border);
  border-radius:22px;
  background:#fff;
  color:inherit;
  transition:.2s ease;
}
.programming-card:hover,
.programming-card:focus-visible{
  transform:translateY(-5px);
  box-shadow:0 14px 34px rgba(18,68,50,.09);
  outline:none;
}
.programming-icon{
  width:50px;height:50px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--afits-green-soft);
  color:var(--afits-green);
  font-weight:950;
  font-size:20px;
  margin-bottom:18px;
}
.programming-card h3{
  color:var(--afits-ink);
  font-size:20px;
  margin:0 0 10px;
}
.programming-card p{
  color:#62766e;
  font-size:13px;
  line-height:1.65;
  margin:0 0 18px;
}
.programming-card span{
  margin-top:auto;
  color:var(--afits-green);
  font-size:12px;
  font-weight:900;
}
.programming-callout{
  padding:60px 0;
  background:#eff8f3;
}
.programming-callout-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:center;
}
.programming-callout-grid h2{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--afits-ink);
  font-size:clamp(32px,4vw,50px);
  margin:8px 0 14px;
}
.programming-callout-grid p{
  color:#557066;
  line-height:1.75;
}
.programming-callout-action{
  background:#fff;
  border-radius:22px;
  padding:30px;
  border:1px solid var(--afits-border);
}
.programming-callout-action .script-tagline{
  font-size:30px;
}
.first30-intro{
  padding:52px 0 28px;
}
.first30-intro>.container{
  max-width:920px;
}
.first30-intro p{
  color:#526c61;
  font-size:16px;
  line-height:1.8;
}
.first30-timeline{
  padding:42px 0 70px;
}
.timeline-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:32px;
}
.timeline-card{
  position:relative;
  padding:28px;
  border:1px solid var(--afits-border);
  border-radius:22px;
  background:#fff;
}
.timeline-day{
  color:var(--afits-green);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}
.timeline-icon{
  width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;
  margin:15px 0;
  background:#eff8f3;
  color:var(--afits-green);
  font-size:18px;
  font-weight:950;
}
.timeline-card h3{
  color:var(--afits-ink);
  font-size:24px;
  margin:0 0 9px;
}
.timeline-card p,
.timeline-card li{
  color:#60756c;
  font-size:13px;
  line-height:1.6;
}
.timeline-card ul{
  padding-left:18px;
  margin-bottom:0;
}
.day30-plus{
  background:#f4faf7;
  padding:58px 0;
}
.day30-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}
.day30-grid p{color:#587066;line-height:1.75}
.day30-note{
  background:#fff;
  border:1px solid var(--afits-border);
  border-radius:22px;
  padding:30px;
}
.day30-note .script-tagline{font-size:28px}
.first30-team{
  padding:58px 0 70px;
  text-align:center;
}
.team-pill-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:28px;
}
.team-pill-grid div{
  padding:12px 18px;
  border-radius:999px;
  background:#eff8f3;
  color:#295f47;
  font-size:12px;
  font-weight:850;
}
.who-content{padding:64px 0}
.who-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.who-grid article{
  padding:28px;
  border:1px solid var(--afits-border);
  border-radius:20px;
  background:#fff;
}
.who-grid h2{
  color:var(--afits-ink);
  font-size:23px;
  margin:0 0 11px;
}
.who-grid p{
  color:#5c7369;
  line-height:1.7;
  font-size:14px;
}
.who-cta{
  padding:60px 0;
  text-align:center;
  background:#eff8f3;
}
.who-cta p{
  max-width:760px;
  margin:0 auto 22px;
  color:#5a7167;
  line-height:1.7;
}
.admissions-pathway-links{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:22px;
}
.admissions-pathway-links a{
  display:block;
  padding:20px;
  border:1px solid var(--afits-border);
  border-radius:16px;
  color:inherit;
  background:#fff;
}
.admissions-pathway-links strong{
  display:block;
  color:var(--afits-green);
  margin-bottom:7px;
}
.admissions-pathway-links span{
  color:#62776e;
  font-size:12px;
  line-height:1.5;
}
@media(max-width:900px){
  .programming-grid{grid-template-columns:repeat(2,1fr)}
  .programming-callout-grid,
  .day30-grid{grid-template-columns:1fr}
  .timeline-grid{grid-template-columns:1fr}
  .who-grid{grid-template-columns:1fr}
  .admissions-pathway-links{grid-template-columns:1fr}
}
@media(max-width:600px){
  .programming-grid{grid-template-columns:1fr}
}


/* ============================================================
   v0.1.27 — FITS Elementary / Middle / High School
   Uses the newly approved non-uniform representative image set.
   Existing site image placements are intentionally untouched.
   ============================================================ */
.school-level-page .school-level-hero{
  margin-bottom:0;
}
.school-level-page .school-level-hero .mockup-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.school-level-page .school-level-hero .mockup-hero-photo{
  min-height:440px;
  position:relative;
  overflow:hidden;
}
.school-level-page .school-level-hero .mockup-hero-photo img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  object-position:center;
}
.school-level-page .representative-label{
  position:absolute;
  left:16px;
  bottom:14px;
  background:rgba(255,255,255,.92);
  color:#315642;
  border-radius:999px;
  padding:6px 10px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.school-level-content{
  padding-top:64px;
}
.school-level-page .afits-editor-content{
  max-width:980px;
}
.school-level-page .afits-page-lead{
  font-size:1.28rem;
  line-height:1.75;
}
.school-level-page .afits-page-section{
  margin:0 0 48px;
}
.school-level-page .afits-page-section h2{
  margin-bottom:16px;
}
.school-level-page .academic-pathway-card{
  background:#f2f7f2;
  border-left:4px solid #5d8f6a;
  border-radius:0 18px 18px 0;
  padding:28px 32px;
}
.school-inline-photo{
  margin:10px 0 52px;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(32,60,45,.12);
}
.school-inline-photo img{
  display:block;
  width:100%;
  height:430px;
  object-fit:cover;
  object-position:center;
}
.school-inline-photo-wide img{
  height:470px;
}
@media (max-width:800px){
  .school-level-page .school-level-hero .mockup-hero-photo,
  .school-level-page .school-level-hero .mockup-hero-photo img{
    min-height:330px;
  }
  .school-level-content{padding-top:44px}
  .school-inline-photo img,
  .school-inline-photo-wide img{height:320px}
  .school-level-page .academic-pathway-card{padding:24px}
}


/* ============================================================
   v0.1.28 — imagery across A-FITS Programming + FITS framework
   Uses approved representative students in everyday clothing.
   ============================================================ */
.framework-split-hero{
  position:relative;
  overflow:hidden;
}
.framework-split-hero .mockup-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.framework-split-hero .mockup-hero-photo{
  min-height:440px;
  position:relative;
  overflow:hidden;
}
.framework-split-hero .mockup-hero-photo img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  object-position:center;
}
.framework-split-hero .representative-label{
  position:absolute;
  left:16px;
  bottom:14px;
  background:rgba(255,255,255,.92);
  color:#315642;
  border-radius:999px;
  padding:6px 10px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.framework-inline-photo{
  margin:18px 0 54px;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 36px rgba(32,60,45,.12);
}
.framework-inline-photo img{
  display:block;
  width:100%;
  height:430px;
  object-fit:cover;
  object-position:center;
}
.framework-inline-photo-wide img{
  height:470px;
}
.framework-inline-photo figcaption{
  padding:9px 14px 11px;
  color:#64766b;
  font-size:.74rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:#fff;
}

.programming-photo-band{
  padding:6px 0 58px;
}
.programming-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.programming-photo-grid figure{
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(32,60,45,.11);
}
.programming-photo-grid img{
  display:block;
  width:100%;
  height:285px;
  object-fit:cover;
  object-position:center;
}
.programming-photo-grid figcaption{
  padding:12px 15px 14px;
  color:#315642;
  font-size:.86rem;
  font-weight:700;
}

@media (max-width:800px){
  .framework-split-hero .mockup-hero-photo,
  .framework-split-hero .mockup-hero-photo img{
    min-height:330px;
  }
  .framework-inline-photo img,
  .framework-inline-photo-wide img{
    height:320px;
  }
  .programming-photo-grid{
    grid-template-columns:1fr;
  }
  .programming-photo-grid img{
    height:320px;
  }
}


/* ============================================================
   v0.1.32 — Utility bar + admissions/parent resource refinements
   ============================================================ */
.site-utility-bar{
  background:#274b38;
  color:#fff;
  font-size:.78rem;
  letter-spacing:.035em;
}
.utility-bar-inner{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
}
.utility-label{
  margin-right:auto;
  opacity:.78;
  font-weight:700;
  font-size:.7rem;
  letter-spacing:.08em;
}
.utility-links{
  display:flex;
  align-items:center;
  gap:20px;
}
.utility-links a{
  color:#fff;
  text-decoration:none;
  font-weight:700;
  white-space:nowrap;
}
.utility-links a:hover,
.utility-links a:focus{
  text-decoration:underline;
  text-underline-offset:3px;
}

.afits-page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:34px 0 42px;
}
.afits-page-actions .btn-secondary{
  background:#fff;
  color:#315642;
  border:1px solid #789887;
}
.afits-page-actions .btn-secondary:hover,
.afits-page-actions .btn-secondary:focus{
  background:#edf4ee;
}

.calendar-campus-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:36px 0 52px;
}
.calendar-campus-card{
  background:#f4f8f4;
  border:1px solid rgba(49,86,66,.13);
  border-radius:18px;
  padding:28px;
}
.calendar-campus-card h2{
  margin-top:0;
}
.calendar-campus-card .btn{
  margin-top:10px;
}
.transportation-status{
  background:#f4f8f4;
  border-left:4px solid #5d8f6a;
  border-radius:0 16px 16px 0;
  padding:28px 30px;
}

@media (max-width:800px){
  .utility-bar-inner{
    min-height:38px;
    justify-content:center;
  }
  .utility-label{
    display:none;
  }
  .utility-links{
    width:100%;
    justify-content:center;
    gap:15px;
  }
  .utility-links a{
    font-size:.72rem;
  }
  .calendar-campus-grid{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   v0.1.33 — Schedule A Tour modal
   Styled to match the current A-FITS tour form shown in the
   supplied reference video.
   ============================================================ */
body.tour-modal-open{
  overflow:hidden;
}

.tour-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.tour-modal.is-open{
  display:flex;
}
.tour-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,12,20,.72);
  backdrop-filter:blur(2px);
}
.tour-modal-dialog{
  position:relative;
  width:min(760px, 96vw);
  max-height:92vh;
  background:#191832;
  color:#fff;
  box-shadow:0 24px 80px rgba(0,0,0,.36);
  border-radius:4px;
  overflow:hidden;
}
.tour-modal-scroll{
  max-height:92vh;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.tour-modal-inner{
  padding:34px 46px 42px;
}
.tour-modal-inner h2{
  color:#14cc98;
  font-family:inherit;
  font-size:clamp(2.2rem,5vw,3.2rem);
  line-height:1;
  text-align:center;
  font-weight:400;
  margin:0 0 28px;
}
.tour-modal-close{
  position:absolute;
  z-index:3;
  top:12px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  opacity:.9;
}
.tour-modal-close:hover,
.tour-modal-close:focus{
  opacity:1;
  color:#14cc98;
}
.tour-request-form{
  display:block;
}
.tour-form-grid{
  display:grid;
  gap:22px;
  margin-bottom:20px;
}
.tour-grid-two{
  grid-template-columns:1fr 1fr;
}
.tour-grid-child{
  grid-template-columns:2fr 1fr 1fr;
}
.tour-request-form label{
  display:block;
}
.tour-request-form label > span,
.tour-full-field > span,
.tour-check-section legend{
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-size:1rem;
  line-height:1.2;
  font-weight:400;
}
.tour-request-form b{
  color:#8476ff;
  font-weight:400;
}
.tour-request-form input[type="text"],
.tour-request-form input[type="email"],
.tour-request-form input[type="tel"],
.tour-request-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.9);
  border-radius:0;
  background:transparent;
  color:#fff;
  font:inherit;
  padding:11px 12px;
  outline:none;
}
.tour-request-form input[type="text"],
.tour-request-form input[type="email"],
.tour-request-form input[type="tel"]{
  min-height:43px;
}
.tour-request-form textarea{
  resize:vertical;
  min-height:100px;
}
.tour-request-form input:focus,
.tour-request-form textarea:focus{
  border-color:#14cc98;
  box-shadow:0 0 0 1px #14cc98;
}
.tour-full-field{
  display:block;
  margin-bottom:22px;
}
.tour-check-section{
  border:0;
  padding:0;
  margin:0;
}
.tour-check-section legend{
  width:100%;
  margin:0 0 13px;
}
.tour-checkbox{
  display:flex !important;
  align-items:flex-start;
  gap:12px;
  margin:0 0 12px;
  cursor:pointer;
}
.tour-checkbox input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 24px;
  width:24px;
  height:24px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:0;
  background:transparent;
  margin:0;
  position:relative;
  cursor:pointer;
}
.tour-checkbox input[type="checkbox"]:checked{
  border-color:#14cc98;
  background:#14cc98;
}
.tour-checkbox input[type="checkbox"]:checked::after{
  content:"✓";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#191832;
  font-size:.95rem;
  font-weight:800;
}
.tour-checkbox > span{
  margin:2px 0 0 !important;
  font-size:.98rem !important;
}
.tour-form-divider{
  height:1px;
  background:#14cc98;
  opacity:.85;
  margin:34px 10px;
}
.tour-submit{
  width:100%;
  min-height:60px;
  border:0;
  border-radius:0;
  background:#14cc98;
  color:#fff;
  font:inherit;
  font-size:1.8rem;
  font-weight:500;
  cursor:pointer;
  margin-top:8px;
}
.tour-submit:hover,
.tour-submit:focus{
  background:#10b988;
}
.tour-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.tour-form-message{
  padding:14px 16px;
  margin:0 0 24px;
  border:1px solid;
  line-height:1.45;
}
.tour-form-success{
  color:#dffff5;
  border-color:#14cc98;
  background:rgba(20,204,152,.12);
}
.tour-form-error{
  color:#ffe5e5;
  border-color:#ff7d7d;
  background:rgba(255,80,80,.12);
}

@media (max-width:700px){
  .tour-modal{
    padding:12px;
    align-items:flex-start;
  }
  .tour-modal-dialog{
    width:100%;
    max-height:96vh;
    margin-top:8px;
  }
  .tour-modal-scroll{
    max-height:96vh;
  }
  .tour-modal-inner{
    padding:30px 20px 30px;
  }
  .tour-grid-two,
  .tour-grid-child{
    grid-template-columns:1fr;
    gap:16px;
  }
  .tour-modal-inner h2{
    font-size:2.35rem;
    padding-right:22px;
  }
  .tour-submit{
    font-size:1.4rem;
  }
}

.tour-recaptcha{
  margin:28px 0 24px;
  min-height:78px;
}
@media (max-width:420px){
  .tour-recaptcha{
    transform:scale(.88);
    transform-origin:left top;
    width:113%;
    margin-bottom:10px;
  }
}


/* ============================================================
   v0.1.34 — Tour modal visual redesign
   Matches current A-FITS editorial/private-school aesthetic.
   ============================================================ */
.tour-modal-dialog{
  width:min(920px,96vw);
  max-height:94vh;
  background:#f8f8f4;
  color:#173c2c;
  border-radius:24px;
  box-shadow:0 28px 90px rgba(18,48,35,.28);
}
.tour-modal-scroll{
  max-height:94vh;
}
.tour-modal-inner{
  padding:42px 48px 48px;
}
.tour-modal-close{
  top:16px;
  right:18px;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#eaf2ec;
  color:#173c2c;
  font-size:1.75rem;
}
.tour-modal-close:hover,
.tour-modal-close:focus{
  background:#dcebdd;
  color:#173c2c;
}
.tour-modal-heading{
  text-align:center;
  max-width:680px;
  margin:0 auto 32px;
}
.tour-modal-heading .section-kicker{
  margin-bottom:8px;
  color:#2c7254;
}
.tour-modal-inner h2{
  color:#173c2c;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(2.7rem,5vw,4rem);
  line-height:.98;
  text-align:center;
  font-weight:700;
  margin:0 0 10px;
}
.tour-modal-heading .script-tagline{
  color:#2d8a5d;
  margin-bottom:12px;
}
.tour-modal-heading p{
  margin:0;
  color:#53665c;
  line-height:1.65;
}
.tour-request-form{
  display:grid;
  gap:18px;
}
.tour-form-section{
  background:#fff;
  border:1px solid #dbe6de;
  border-radius:18px;
  padding:24px;
  box-shadow:0 8px 24px rgba(31,72,51,.06);
}
.tour-section-heading{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-bottom:20px;
}
.tour-step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#2d8a5d;
  color:#fff;
  font-weight:800;
}
.tour-section-heading h3{
  margin:0 0 3px;
  color:#173c2c;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:1.38rem;
}
.tour-section-heading p{
  margin:0;
  color:#6a7c72;
  font-size:.93rem;
}
.tour-grid-three-contact{
  grid-template-columns:1.5fr 1fr 1.3fr;
}
.tour-grid-child{
  grid-template-columns:2fr .65fr .85fr;
}
.tour-request-form label > span,
.tour-full-field > span,
.tour-check-section legend{
  color:#274c3a;
  font-size:.9rem;
  font-weight:700;
}
.tour-request-form b{
  color:#2d8a5d;
}
.tour-request-form input[type="text"],
.tour-request-form input[type="email"],
.tour-request-form input[type="tel"],
.tour-request-form textarea{
  border:1px solid #cad9cf;
  border-radius:10px;
  background:#fbfcfa;
  color:#173c2c;
  padding:12px 13px;
}
.tour-request-form input::placeholder,
.tour-request-form textarea::placeholder{
  color:#8a9991;
}
.tour-request-form input:focus,
.tour-request-form textarea:focus{
  border-color:#2d8a5d;
  box-shadow:0 0 0 3px rgba(45,138,93,.12);
}
.tour-student-list{
  display:grid;
  gap:14px;
}
.tour-student-card{
  background:#f1f7f2;
  border:1px solid #d5e5d9;
  border-radius:14px;
  padding:18px;
}
.tour-student-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
  color:#173c2c;
}
.tour-student-card-head strong{
  font-size:1rem;
}
.tour-remove-student{
  border:0;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#fff;
  color:#74514d;
  font-size:1.25rem;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.tour-add-student{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:14px auto 0;
  padding:10px 16px;
  border:1px solid #2d8a5d;
  border-radius:999px;
  background:#fff;
  color:#246f4c;
  font-weight:800;
  cursor:pointer;
}
.tour-add-student:hover,
.tour-add-student:focus{
  background:#edf6ef;
}
.tour-add-student > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#2d8a5d;
  color:#fff;
  line-height:1;
  font-size:1.05rem;
}
.tour-option-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.tour-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
}
.tour-checkbox{
  min-height:48px;
  padding:11px 12px;
  border:1px solid #d7e2da;
  border-radius:10px;
  background:#fbfcfa;
  align-items:center;
}
.tour-checkbox:hover{
  background:#f3f8f4;
}
.tour-checkbox input[type="checkbox"]{
  flex:0 0 21px;
  width:21px;
  height:21px;
  border:1px solid #88a393;
  border-radius:5px;
}
.tour-checkbox input[type="checkbox"]:checked{
  border-color:#2d8a5d;
  background:#2d8a5d;
}
.tour-checkbox input[type="checkbox"]:checked::after{
  color:#fff;
  font-size:.8rem;
}
.tour-checkbox > span{
  color:#355546 !important;
  font-size:.9rem !important;
  margin:0 !important;
}
.tour-comments-field{
  margin:18px 0 0;
}
.tour-submit{
  min-height:58px;
  border-radius:999px;
  background:#24774f;
  color:#fff;
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:.01em;
  margin-top:4px;
}
.tour-submit:hover,
.tour-submit:focus{
  background:#1c643f;
}
.tour-recaptcha{
  display:flex;
  justify-content:center;
  margin:8px 0;
}
.tour-form-message{
  border-radius:12px;
}
.tour-form-success{
  color:#1d6544;
  border-color:#8dc6a5;
  background:#edf8f1;
}
.tour-form-error{
  color:#8b3f3f;
  border-color:#e4aaaa;
  background:#fff3f3;
}

@media (max-width:800px){
  .tour-modal-inner{
    padding:34px 20px 30px;
  }
  .tour-grid-three-contact,
  .tour-grid-child,
  .tour-option-grid,
  .tour-info-grid{
    grid-template-columns:1fr;
  }
  .tour-form-section{
    padding:20px 16px;
  }
  .tour-modal-inner h2{
    font-size:2.55rem;
  }
}


/* ============================================================
   v0.1.34 — Admissions, Checklist, Locations
   ============================================================ */
.admissions-hero .mockup-hero-photo{
  min-height:470px;
  overflow:hidden;
}
.admissions-hero .mockup-hero-photo img{
  width:100%;
  height:100%;
  min-height:470px;
  object-fit:cover;
  object-position:center;
}
.admissions-hero .mockup-hero-copy p{
  max-width:620px;
  color:#53665c;
  line-height:1.7;
}

.afits-checklist-card{
  background:#fff;
  border:1px solid #dce7df;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 14px 38px rgba(31,72,51,.08);
  margin:12px 0 48px;
}
.afits-checklist-header{
  background:#1f6f50;
  color:#fff;
  padding:24px 30px;
}
.afits-checklist-header .section-kicker{
  color:#cdebd8;
  margin-bottom:5px;
}
.afits-checklist-header h2{
  color:#fff !important;
  margin:0 !important;
}
.afits-checklist-intro{
  padding:24px 30px 8px;
  margin:0;
  color:#274b38;
}
.admissions-checklist-list{
  list-style:none;
  padding:8px 30px 30px !important;
  margin:0 !important;
  display:grid;
  gap:13px;
}
.admissions-checklist-list li{
  position:relative;
  padding:13px 16px 13px 46px;
  border:1px solid #e0e9e3;
  border-radius:12px;
  background:#f9fbf8;
  line-height:1.55;
}
.admissions-checklist-list li::before{
  content:"";
  position:absolute;
  left:16px;
  top:17px;
  width:16px;
  height:16px;
  border:2px solid #2d8a5d;
  border-radius:3px;
  background:#fff;
}

.locations-campus-grid{
  margin-top:42px;
}
.locations-campus-card{
  display:flex;
  flex-direction:column;
}
.locations-campus-card .section-kicker{
  color:#2d8a5d;
  margin-bottom:4px;
}
.locations-campus-card h2{
  color:#173c2c;
}
.locations-campus-phone{
  margin-top:auto;
  font-weight:800;
  color:#315642;
  padding-top:8px;
}
.locations-campus-card .btn{
  align-self:flex-start;
}

.screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media (max-width:800px){
  .admissions-hero .mockup-hero-photo,
  .admissions-hero .mockup-hero-photo img{
    min-height:340px;
  }
}


/* ============================================================
   v0.1.35 — Campus detail pages + interactive maps
   ============================================================ */
.campus-detail-hero .campus-hero-address{
  margin:12px 0 0;
  color:#5f7267;
  font-size:1rem;
  font-weight:700;
}

.campus-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:36px;
  align-items:start;
  margin-bottom:18px;
}
.campus-contact-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  align-items:center;
  margin-top:24px;
  padding:16px 18px;
  border-left:4px solid #2d8a5d;
  background:#f3f7f3;
  border-radius:0 12px 12px 0;
  color:#274b38;
}
.campus-contact-strip span{
  font-weight:800;
}
.campus-quick-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.campus-quick-facts > div{
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px;
  background:#f4f8f4;
  border:1px solid #dce7df;
  border-radius:16px;
}
.campus-quick-facts strong{
  display:block;
  color:#1f6f50;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.7rem;
  line-height:1;
  margin-bottom:8px;
}
.campus-quick-facts span{
  color:#52665b;
  font-size:.86rem;
  line-height:1.35;
  font-weight:700;
}
.campus-fact-note{
  color:#738178;
  font-size:.8rem;
  margin:0 0 48px;
}

.campus-schedule-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin:12px 0 48px;
}
.campus-schedule-card{
  padding:28px;
  background:#f5f8f4;
  border:1px solid #dce7df;
  border-radius:18px;
}
.campus-schedule-card h2{
  margin-top:6px;
}
.campus-schedule-card p{
  margin:12px 0;
}
.campus-small-note{
  color:#76847b;
  font-size:.86rem;
}
.campus-alert-section{
  background:#f2f7f2;
  border-left:4px solid #2d8a5d;
  border-radius:0 16px 16px 0;
  padding:28px 30px;
}

.campus-map-section{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:24px;
  align-items:stretch;
  margin:58px 0 16px;
  background:#f4f8f4;
  border:1px solid #dce7df;
  border-radius:20px;
  overflow:hidden;
}
.campus-map-copy{
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.campus-map-copy h2{
  margin:6px 0 14px;
}
.campus-map-copy .afits-page-actions{
  margin:20px 0 0;
}
.campus-map-frame{
  min-height:420px;
  background:#e9eeea;
}
.campus-map-frame iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:420px;
  border:0;
}

@media (max-width:850px){
  .campus-intro-grid,
  .campus-map-section{
    grid-template-columns:1fr;
  }
  .campus-schedule-grid{
    grid-template-columns:1fr;
  }
  .campus-map-frame,
  .campus-map-frame iframe{
    min-height:360px;
  }
}
@media (max-width:540px){
  .campus-quick-facts{
    grid-template-columns:1fr 1fr;
  }
  .campus-map-copy{
    padding:26px 20px;
  }
}


/* v0.1.36 Parent Resources */
.parent-resource-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin:34px 0 54px;
}
.parent-resource-card{
  display:block;
  padding:26px;
  border:1px solid #dce7df;
  border-radius:18px;
  background:#f6f9f5;
  text-decoration:none;
  color:inherit;
}
a.parent-resource-card:hover,
a.parent-resource-card:focus{
  background:#eef5ef;
  transform:translateY(-1px);
}
.parent-resource-card h2{
  margin:6px 0 10px;
}
.parent-resource-card span{
  display:inline-block;
  margin-top:10px;
  color:#2d8a5d;
  font-weight:800;
}
.family-community-section{
  background:#f4f8f4;
  border-left:4px solid #2d8a5d;
  border-radius:0 16px 16px 0;
  padding:30px;
}
@media (max-width:760px){
  .parent-resource-grid{grid-template-columns:1fr}
}


/* ============================================================
   v0.1.37 — Contact page
   ============================================================ */
.contact-campus-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:26px 0 54px;
}
.contact-campus-card{
  display:flex;
  flex-direction:column;
  padding:26px;
  background:#f6f9f5;
  border:1px solid #dce7df;
  border-radius:18px;
}
.contact-campus-card h2{
  margin:6px 0 12px;
}
.contact-campus-card a{
  color:#246f4c;
  font-weight:800;
}
.contact-campus-note{
  margin-top:auto;
  padding-top:12px;
  color:#66786d;
  font-size:.9rem;
}
.contact-campus-card .afits-page-actions{
  margin:18px 0 0;
}
.contact-general,
.contact-help{
  background:#f4f8f4;
  border-left:4px solid #2d8a5d;
  border-radius:0 16px 16px 0;
  padding:30px;
}
.contact-email a{
  font-size:1.18rem;
  font-weight:800;
  color:#246f4c;
}
.contact-resource-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.contact-resource-card{
  display:block;
  padding:22px;
  border:1px solid #dce7df;
  border-radius:16px;
  background:#fff;
  text-decoration:none;
  color:inherit;
}
a.contact-resource-card:hover,
a.contact-resource-card:focus{
  background:#f2f7f2;
}
.contact-resource-card h3{
  margin:0 0 8px;
  color:#173c2c;
}
.contact-resource-card span{
  display:inline-block;
  margin-top:8px;
  color:#2d8a5d;
  font-weight:800;
}
.contact-quick-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
  margin-top:22px;
}
.contact-quick-list > div{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px;
  background:#fff;
  border:1px solid #dce7df;
  border-radius:12px;
}
.contact-quick-list a{
  color:#246f4c;
  font-weight:800;
}
.contact-final-action{
  justify-content:center;
  margin-top:24px;
}
@media (max-width:850px){
  .contact-campus-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:700px){
  .contact-resource-grid,
  .contact-quick-list{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   v0.1.38 — Homepage campus cards
   ============================================================ */
.campus-region-label{
  position:absolute;
  left:18px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#24543c;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  box-shadow:0 4px 14px rgba(19,59,39,.10);
}
.campus-summary-line{
  margin-top:16px;
  color:#52665b;
  font-size:.9rem;
  line-height:1.55;
  font-weight:600;
}
.campus-summary-line span{
  padding:0 5px;
  color:#8aa194;
}


/* ============================================================
   v0.1.41 — Arizona authority / search positioning
   ============================================================ */
.arizona-authority-band{
  padding:50px 0;
  background:#f5f8f4;
  border-bottom:1px solid #dde7df;
}
.arizona-authority-inner{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);
  gap:44px;
  align-items:center;
}
.arizona-authority-inner h2{
  margin:8px 0 12px;
  color:#173c2c;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2rem,3.4vw,3.15rem);
  line-height:1.05;
}
.arizona-authority-inner p{
  max-width:850px;
  margin:0;
  color:#56695e;
  line-height:1.75;
}
.arizona-authority-links{
  display:flex;
  flex-direction:column;
  gap:11px;
  padding-left:30px;
  border-left:1px solid #c9d9ce;
}
.arizona-authority-links a{
  color:#246f4c;
  font-weight:800;
  text-decoration:none;
}
.arizona-authority-links a:hover,
.arizona-authority-links a:focus{
  text-decoration:underline;
  text-underline-offset:4px;
}
@media (max-width:800px){
  .arizona-authority-inner{
    grid-template-columns:1fr;
    gap:24px;
  }
  .arizona-authority-links{
    padding-left:0;
    padding-top:20px;
    border-left:0;
    border-top:1px solid #c9d9ce;
  }
}


/* ============================================================
   v0.1.42 — FAQ + classroom monitoring
   ============================================================ */
.faq-hero p{
  max-width:780px;
  margin:14px 0 0;
  color:#5e7065;
  font-size:1.05rem;
  line-height:1.7;
}
.faq-jump-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:30px 0 54px;
}
.faq-jump-nav a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:9px 15px;
  border:1px solid #cfded3;
  border-radius:999px;
  background:#f7faf7;
  color:#24543c;
  font-size:.86rem;
  font-weight:800;
  text-decoration:none;
}
.faq-jump-nav a:hover,
.faq-jump-nav a:focus{
  background:#edf5ef;
  border-color:#aac6b3;
}
.faq-section{
  scroll-margin-top:140px;
  margin:0 0 58px;
}
.faq-section > h2{
  margin:6px 0 22px;
}
.faq-list{
  display:grid;
  gap:12px;
}
.faq-item{
  overflow:hidden;
  border:1px solid #dce7df;
  border-radius:15px;
  background:#fff;
}
.faq-item summary{
  position:relative;
  cursor:pointer;
  list-style:none;
  padding:20px 54px 20px 22px;
  color:#173c2c;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.08rem;
  font-weight:700;
  line-height:1.35;
}
.faq-item summary::-webkit-details-marker{
  display:none;
}
.faq-item summary::after{
  content:"+";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  color:#2d8a5d;
  font-family:Arial,sans-serif;
  font-size:1.55rem;
  font-weight:500;
}
.faq-item[open] summary::after{
  content:"–";
}
.faq-item[open] summary{
  background:#f5f9f5;
}
.faq-answer{
  padding:0 22px 21px;
  color:#53665b;
  line-height:1.75;
}
.faq-answer p{
  margin:17px 0 0;
}
.faq-final-cta{
  margin-top:66px;
  padding:32px;
  border-radius:18px;
  background:#f4f8f4;
}
.safety-monitoring-section{
  padding:30px;
  border-left:4px solid #2d8a5d;
  border-radius:0 16px 16px 0;
  background:#f4f8f4;
}
.monitored-classrooms-page .afits-page-lead{
  font-size:1.2rem;
}
@media (max-width:680px){
  .faq-jump-nav{
    gap:8px;
    margin-bottom:40px;
  }
  .faq-item summary{
    padding:18px 48px 18px 18px;
  }
  .faq-answer{
    padding:0 18px 18px;
  }
}


/* ============================================================
   v0.1.43 — Difference badge layout + FAQ navigation
   ============================================================ */

/*
 * Nine A-FITS Difference items should never leave one badge stranded on a
 * second row. Desktop uses a centered 5 + 4 composition.
 */
.fits-difference .difference-grid,
.mockup-difference-nav .difference-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:flex-start;
  gap:34px 28px;
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
}
.fits-difference .difference-item,
.mockup-difference-nav .difference-item{
  flex:0 0 178px;
  width:178px;
  max-width:178px;
}

@media (max-width:900px){
  .fits-difference .difference-grid,
  .mockup-difference-nav .difference-grid{
    gap:30px 20px;
  }
  .fits-difference .difference-item,
  .mockup-difference-nav .difference-item{
    flex:0 0 calc(33.333% - 20px);
    width:calc(33.333% - 20px);
    max-width:none;
  }
}

@media (max-width:650px){
  .fits-difference .difference-item,
  .mockup-difference-nav .difference-item{
    flex:0 0 calc(50% - 12px);
    width:calc(50% - 12px);
  }
}

@media (max-width:380px){
  .fits-difference .difference-item,
  .mockup-difference-nav .difference-item{
    flex:0 0 100%;
    width:100%;
  }
}


/* ============================================================
   v0.1.47 — Schedule a Tour success confirmation
   ============================================================ */
.tour-form-success.is-confirmation-view{
  max-width:640px;
  margin:22px auto 8px;
  padding:34px 28px;
  text-align:center;
  border:1px solid #8dc6a5;
  border-radius:18px;
  background:#edf8f1;
  box-shadow:0 12px 32px rgba(31,111,80,.10);
}
.tour-success-check{
  width:58px;
  height:58px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#1f6f50;
  color:#fff;
  font-size:2rem;
  font-weight:800;
  line-height:1;
}
.tour-form-success h3{
  margin:0 0 10px;
  color:#173c2c;
  font-size:1.7rem;
}
.tour-form-success p{
  margin:0 auto 10px;
  max-width:520px;
  color:#405e4e;
  line-height:1.65;
}
.tour-success-autoclose{
  font-size:.84rem;
  color:#6b7f73;
}
.tour-success-close{
  margin-top:14px;
  padding:11px 24px;
  border:0;
  border-radius:999px;
  background:#1f6f50;
  color:#fff;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.tour-success-close:hover,
.tour-success-close:focus{
  background:#18593f;
}


/* ============================================================
   v0.1.48 — MOBILE NAVIGATION COLLAPSE FIX
   A later .afits-main-nav display:flex rule previously overrode
   the original mobile .primary-nav display:none declaration.
   ============================================================ */
@media (max-width:820px){
  .primary-nav.afits-main-nav{
    display:none;
  }

  .primary-nav.afits-main-nav.open{
    display:flex;
  }

  .primary-nav.afits-main-nav{
    max-height:calc(100vh - 118px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}




/* ============================================================
   v0.1.51 — MOBILE INDIVIDUAL SERVICE PAGE CLEANUP
   Keep the Difference grid on the homepage.
   Hide only the repeated compact service navigation on detail pages.
   ============================================================ */
@media (max-width: 767px){
  .difference-detail-page .compact-difference-nav{
    display:none !important;
  }
}


/* ============================================================
   v0.1.52 — GLOBAL MOBILE NAVIGATION STATE HARDENING
   Applies to every public page, including all campus pages.
   ============================================================ */
@media (max-width: 820px){
  .site-header .primary-nav.afits-main-nav{
    display:none !important;
  }

  .site-header .primary-nav.afits-main-nav.open{
    display:flex !important;
  }
}
