/* NAV */
.site-header{background:#fff;border-bottom:1px solid #e8e4dd;position:sticky;top:0;z-index:100}
.nav-inner{max-width:1140px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-logo img{height:46px;width:auto}
.nav-links{display:flex;gap:4px;list-style:none;margin:0;padding:0;align-items:center}
.nav-links>li{position:relative}
.nav-links>li>a{display:block;padding:8px 14px;font-size:1.02rem;font-weight:600;color:#2B405A;border-radius:6px;transition:background .2s}
.nav-links>li>a:hover,.nav-links>li:hover>a{background:#f0ebe3;color:#00183D}
.nav-links li .dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid #e8e4dd;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.08);min-width:240px;padding:8px 0;z-index:200}
.nav-links li:hover>.dropdown{display:block}
.nav-links li .dropdown a{display:flex;align-items:center;gap:8px;padding:9px 20px;font-size:.95rem;color:#4a5a6e;transition:background .15s}
.nav-links li .dropdown a:hover{background:#f9f7f3;color:#00183D}
.nav-links li .dropdown .dd-label{display:block;padding:10px 20px 4px;font-size:.78rem;font-weight:700;color:#7A5E1A;letter-spacing:1px;text-transform:uppercase}
.nav-links li .dropdown .dd-divider{height:1px;background:#e8e4dd;margin:6px 16px}
.dd-icon{width:16px;height:16px;flex-shrink:0;fill:#D4B05F;opacity:.7}
.nav-links li .dropdown a:hover .dd-icon{fill:#00183D;opacity:1}
.nav-links li .mega-dropdown{min-width:500px;padding:16px 0;display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #e8e4dd;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.08);z-index:200}
.nav-links li:hover>.mega-dropdown{display:grid;grid-template-columns:1fr 1fr}
.mega-col{padding:0 8px}
.mega-col .dd-label{display:block;padding:10px 12px 4px;font-size:.78rem;font-weight:700;color:#7A5E1A;letter-spacing:1px;text-transform:uppercase}
.mega-col a{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:.95rem;color:#4a5a6e;transition:background .15s;border-radius:4px}
.mega-col a:hover{background:#f9f7f3;color:#00183D}
.mega-col a:hover .dd-icon{fill:#00183D;opacity:1}
.nav-cta{display:inline-block;padding:9px 22px;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%);color:#fff;font-weight:700;font-size:.9rem;border-radius:8px;transition:background .2s}
.nav-cta:hover{background:linear-gradient(135deg,#D4B05F 0%,#B89549 100%);color:#fff}
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.mobile-toggle span{display:block;width:24px;height:2px;background:#2B405A;margin:5px 0;border-radius:2px;transition:all .3s}
.mobile-nav{display:none;background:#fff;border-top:1px solid #e8e4dd;padding:16px 20px;max-height:80vh;overflow-y:auto}
.mobile-nav.active{display:block}
.mobile-nav a{display:flex;align-items:center;gap:8px;padding:14px 0;font-size:1rem;color:#2B405A;border-bottom:1px solid #f0ebe3;min-height:44px}
.mobile-nav .sub-toggle{font-weight:700;cursor:pointer;padding:14px 0;border-bottom:1px solid #f0ebe3;min-height:44px;display:flex;align-items:center;justify-content:space-between}
.mobile-nav .sub-menu{display:none;padding-left:16px}
.mobile-nav .sub-menu.open{display:block}
.mobile-nav .sub-label{display:block;padding:10px 0 2px;font-size:.75rem;font-weight:700;color:#7A5E1A;letter-spacing:1px;text-transform:uppercase;border:none}
.mobile-nav .dd-icon{width:16px;height:16px;flex-shrink:0;fill:#D4B05F;opacity:.7}
@media(max-width:991px){.nav-links,.nav-cta-wrap{display:none}.mobile-toggle{display:block}}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:Georgia,serif;color:#2B405A;background:#F9F7F3;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:#2B405A;text-decoration:none}
/* Body content links — underlined for WCAG AA link distinguishability */
.intro-text a,.value-card a,.content-block a,.lead-text a,.card a,.esa-text a,.section p a:not(.btn-primary):not(.btn-outline):not(.btn-esa):not(.nav-cta){text-decoration:underline;color:#7A5E1A}
.intro-text a:hover,.value-card a:hover,.content-block a:hover,.lead-text a:hover,.card a:hover,.esa-text a:hover{color:#D4B05F}

/* NAV */
.site-header{background:#fff;border-bottom:1px solid #e8e4dd;position:sticky;top:0;z-index:100}
.nav-inner{max-width:1140px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-logo img{height:46px;width:auto}
.nav-links{display:flex;gap:4px;list-style:none;margin:0;padding:0;align-items:center}
.nav-links>li{position:relative}
.nav-links>li>a{display:block;padding:8px 14px;font-size:1.02rem;font-weight:600;color:#2B405A;border-radius:6px;transition:background .2s}
.nav-links>li>a:hover,.nav-links>li:hover>a{background:#f0ebe3;color:#00183D}
.nav-links li .dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid #e8e4dd;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.08);min-width:220px;padding:12px 0;z-index:200}
.nav-links li:hover>.dropdown{display:block}
.nav-links li .dropdown a{display:block;padding:8px 20px;font-size:.95rem;color:#4a5a6e;transition:background .15s}
.nav-links li .dropdown a:hover{background:#f9f7f3;color:#00183D}
.nav-links li .dropdown .dd-label{display:block;padding:10px 20px 4px;font-size:.78rem;font-weight:700;color:#7A5E1A;letter-spacing:1px;text-transform:uppercase}
.nav-links li .dropdown .dd-divider{height:1px;background:#e8e4dd;margin:6px 16px}
/* Mega-menu for Academics */
.nav-links li .mega-dropdown{min-width:460px;padding:16px 0;display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #e8e4dd;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.08);z-index:200}
.nav-links li:hover>.mega-dropdown{display:grid;grid-template-columns:1fr 1fr}
.mega-col{padding:0 8px}
.mega-col .dd-label{display:block;padding:10px 12px 4px;font-size:.78rem;font-weight:700;color:#7A5E1A;letter-spacing:1px;text-transform:uppercase}
.mega-col a{display:block;padding:8px 12px;font-size:.95rem;color:#4a5a6e;transition:background .15s;border-radius:4px}
.mega-col a:hover{background:#f9f7f3;color:#00183D}
.nav-cta{display:inline-block;padding:9px 22px;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%);color:#fff;font-weight:700;font-size:.9rem;border-radius:8px;transition:background .2s}
.nav-cta:hover{background:linear-gradient(135deg,#D4B05F 0%,#B89549 100%);color:#fff}

/* Mobile nav */
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.mobile-toggle span{display:block;width:24px;height:2px;background:#2B405A;margin:5px 0;border-radius:2px;transition:all .3s}
.mobile-nav{display:none;background:#fff;border-top:1px solid #e8e4dd;padding:16px 20px;max-height:80vh;overflow-y:auto}
.mobile-nav.active{display:block}
.mobile-nav a{display:block;padding:14px 0;font-size:1rem;color:#2B405A;border-bottom:1px solid #f0ebe3;min-height:44px}
.mobile-nav .sub-toggle{font-weight:700;cursor:pointer;padding:14px 0;border-bottom:1px solid #f0ebe3;min-height:44px;display:flex;align-items:center;justify-content:space-between}
.mobile-nav .sub-menu{display:none;padding-left:16px}
.mobile-nav .sub-menu.open{display:block}
.mobile-nav .sub-label{display:block;padding:10px 0 2px;font-size:.75rem;font-weight:700;color:#7A5E1A;letter-spacing:1px;text-transform:uppercase;border:none}

@media(max-width:991px){
  .nav-links,.nav-cta-wrap{display:none}
  .mobile-toggle{display:block}
}

/* HERO */
.hero{position:relative;height:88vh;min-height:520px;max-height:820px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding-bottom:0}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.hero-bg .hero-img-active{opacity:1}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(249,247,243,.05) 0%,rgba(249,247,243,.72) 100%);z-index:1}
.hero-content{position:relative;z-index:2;text-align:center;padding:0 20px}
.hero h1{font-size:2.1rem;color:#00183D;font-weight:700;margin:0 0 .5rem;line-height:1.25}
.hero p{font-size:1.15rem;color:#2B405A;max-width:580px;margin:0 auto 1.5rem;line-height:1.6}
.hero .btn-enroll{display:inline-block;padding:14px 36px;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%);color:#fff;font-weight:700;font-size:1.05rem;border-radius:10px;box-shadow:0 4px 16px rgba(212,176,95,.3);transition:all .25s}
.hero .btn-enroll:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(212,176,95,.4)}
.hero-urgency{font-size:.88rem;color:#5a6a7a;margin:.8rem 0 0;font-style:italic;letter-spacing:.3px}

@media(max-width:768px){
  .hero{height:auto;min-height:0;max-height:none;padding-bottom:0;display:block;overflow:visible}
  .hero-bg{position:relative;height:50vh;min-height:280px}
  .hero-overlay{background:none}
  .hero-content{position:relative;z-index:2;text-align:center;padding:24px 20px 28px;background:#F9F7F3}
  .hero h1{font-size:1.5rem;margin-bottom:.4rem}
  .hero p{font-size:.9rem;max-width:400px;margin:0 auto .8rem;line-height:1.5}
  .hero .btn-enroll{padding:11px 24px;font-size:.9rem}
  .hero-urgency{font-size:.78rem;margin:.6rem 0 0}
}
@media(max-width:480px){
  .hero-bg{height:44vh;min-height:240px}
  .hero-content{padding:20px 16px 24px}
  .hero h1{font-size:1.3rem}
  .hero p{font-size:.85rem;max-width:320px}
}

/* SECTIONS */
.section{padding:64px 20px}
.section-alt{background:#fff}
.container{max-width:1080px;margin:0 auto}
.section-title{text-align:center;font-size:2rem;color:#00183D;font-weight:700;margin:0 0 .4rem}
.gold-rule{width:60px;height:3px;background:linear-gradient(90deg,#D4B05F,#FDC800);border:none;margin:0 auto 2rem;border-radius:2px}

/* 3-COL FEATURES */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:center}
.feature-card{background:#fff;border-radius:12px;padding:2.2rem 1.6rem 1.8rem;box-shadow:0 2px 16px rgba(43,64,90,.07);transition:transform .25s,box-shadow .25s;border-top:3px solid #D4B05F;position:relative}
.feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 28px rgba(43,64,90,.1)}
.feature-icon{margin:0 auto .9rem;line-height:1;display:flex;justify-content:center;align-items:center}
a.feature-card{cursor:pointer}
.feature-card h3{font-size:1.25rem;color:#00183D;margin:0 0 .6rem;font-weight:700}
.feature-card p{font-size:1.02rem;color:#4a5a6e;line-height:1.6;margin:0}
@media(max-width:768px){.section{padding:28px 16px}.section-title{font-size:1.6rem}.features{grid-template-columns:1fr;gap:16px}.video-section{padding:28px 16px}}

/* QUOTE */
.quote-section{padding-top:36px}
.quote-block{max-width:800px;margin:0 auto;text-align:center;background:#fff;border-radius:12px;padding:2.5rem 2rem;box-shadow:0 2px 12px rgba(43,64,90,.06);border-left:4px solid #D4B05F}
.quote-block blockquote{font-size:1.35rem;font-style:italic;line-height:1.7;color:#2B405A;margin:0 0 1rem}
.quote-block cite{font-size:1.05rem;color:#5a6a7a;font-style:normal}

/* TWO-COL CONTENT */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:768px){.float-left,}
.two-col>*:first-child{float:left;width:45%;margin:0 2rem 1.5rem 0;border-radius:12px;overflow:hidden}
.two-col.reverse>*:first-child{float:right;margin:0 0 1.5rem 2rem}
.two-col img{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 4px 20px rgba(43,64,90,.08)}
.two-col h2{font-size:1.85rem;color:#00183D;margin:0 0 1rem}
.two-col p{font-size:1.08rem;color:#4a5a6e;line-height:1.7}
/* Text-wrap layout (image floats, text wraps) */
.text-wrap{overflow:hidden}
.text-wrap .wrap-img{float:left;width:38%;margin:0 32px 16px 0;border-radius:12px;box-shadow:0 4px 20px rgba(43,64,90,.08)}
.text-wrap h2{font-size:1.85rem;color:#00183D;margin:0 0 1rem}
.text-wrap p{font-size:1.08rem;color:#4a5a6e;line-height:1.7}
.btn-primary-v{display:inline-block;padding:12px 30px;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%);color:#fff;font-weight:700;font-size:1rem;border-radius:8px;transition:background .2s}
.btn-primary-v:hover{background:linear-gradient(135deg,#D4B05F 0%,#B89549 100%);color:#fff}
.btn-outline-v{display:inline-block;padding:11px 28px;border:2px solid #D4B05F;color:#7A5E1A;font-weight:700;font-size:1rem;border-radius:8px;transition:all .2s}
.btn-outline-v:hover{background:#D4B05F;color:#fff}
@media(max-width:768px){
  .two-col>*:first-child{float:none;width:100%;margin:0 0 1.5rem 0}
  .two-col.reverse>*:first-child{float:none;width:100%;margin:0 0 1.5rem 0}
  .text-wrap .wrap-img{float:none;width:100%;margin:0 0 20px 0}
}

/* COURSES */
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.course-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(43,64,90,.06);transition:transform .2s;display:block;text-decoration:none;color:inherit}
.course-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px rgba(43,64,90,.12)}
.course-card img{width:100%;aspect-ratio:3/4;object-fit:cover}
.course-info{padding:1rem;text-align:center}
.course-info h3{font-size:1.2rem;color:#00183D;margin:0 0 .4rem}
.course-info span{display:block;font-size:.95rem;color:#5a6a7a;margin:.15rem 0}
@media(max-width:991px){.course-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:576px){.course-grid{grid-template-columns:1fr;max-width:320px;margin:0 auto}}

/* VIDEO */
.video-section{background:#2B405A;padding:64px 20px;text-align:center;color:#fff}
.video-section h2{color:#fff;font-size:2rem;margin:0 0 1.5rem}
.video-wrap{position:relative;max-width:960px;margin:0 auto;aspect-ratio:16/9;border-radius:12px;overflow:hidden;box-shadow:0 0 20px rgba(0,0,0,.2);cursor:pointer;background:#1a2f47}
.video-wrap img{width:100%;height:100%;object-fit:cover;transition:opacity .3s}
.play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.play-btn svg{width:64px;height:64px;fill:#fff;opacity:.85;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));transition:opacity .2s}
.video-wrap:hover .play-btn svg{opacity:1}

/* Vitae section layout */
.vitae-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.vitae-img img{width:100%;height:auto;border-radius:12px;box-shadow:0 4px 20px rgba(43,64,90,.08)}
.vitae-text h2{font-size:1.85rem;color:#00183D;margin:0 0 1rem}
.vitae-text p{font-size:1.08rem;color:#4a5a6e;line-height:1.7}
.vitae-highlight{margin-top:1rem;padding:1rem 1.4rem;background:linear-gradient(135deg,#2B405A,#3d5570);border-radius:10px;border-left:4px solid #D4B05F}
.vitae-highlight p{color:#e8edf2;font-size:1.05rem;line-height:1.6;margin:0}
.vitae-btns{margin-top:1.2rem;display:flex;align-items:center;gap:12px}
@media(max-width:768px){.vitae-grid{grid-template-columns:1fr;gap:20px}.vitae-img{order:-1}.vitae-btns{flex-direction:column;align-items:stretch;gap:16px}.vitae-btns a{text-align:center}}
/* FOOTER */
.site-footer{background:#2B405A;color:#c8d1da;padding:48px 20px 24px}
@media(max-width:768px){.site-footer{padding:32px 16px 20px}.quote-block{padding:1.5rem 1.2rem}.quote-block blockquote{font-size:1.15rem}}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:32px;max-width:1080px;margin:0 auto}
.site-footer h3{color:#fff;font-size:1.1rem;margin:0 0 1rem}
.footer-logo{height:44px;width:auto;margin-bottom:1rem;filter:brightness(0) invert(1);opacity:.9}
/* ============ FOOTER NEWSLETTER FORM — classical card matching site palette ============ */
/* ============ FOOTER NEWSLETTER FORM — classical card matching site palette ============ */
.footer-form-card{
  background:linear-gradient(180deg,#fdfcf9 0%,#faf3e0 100%);
  border:1px solid rgba(212,176,95,.35);
  border-top:3px solid #D4B05F;
  border-radius:6px;
  padding:18px 20px 20px;
  box-shadow:
    0 12px 32px -8px rgba(0,0,0,.30),
    0 0 0 1px rgba(212,176,95,.12),
    inset 0 1px 0 rgba(255,255,255,.6);
  position:relative
}
.footer-form-card::before{
  content:'º0';
  position:absolute;
  top:-12px;
  left:18px;
  background:#fdfcf9;
  color:#D4B05F;
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.95rem;
  border:1px solid rgba(212,176,95,.4);
  border-radius:50%;
  line-height:1
}
.footer-form-card-kicker{
  display:block;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.7rem;
  font-weight:700;
  color:#9b7a1f;
  letter-spacing:2.6px;
  margin:0 0 4px;
  padding-left:30px
}
.footer-form-card-intro{
  font-family:Georgia,serif;
  font-style:italic;
  font-size:.86rem;
  color:#3a4a5e;
  line-height:1.5;
  margin:0 0 12px
}
.footer-form-card .hbspt-form,.footer-form-card form{font-family:Georgia,'Times New Roman',serif !important}
.footer-form-card .hs-form-field{margin-bottom:10px}
.footer-form-card .hs-form-field>label{display:block;font-family:Georgia,serif !important;font-variant:small-caps;font-size:.72rem;font-weight:700;color:#9b7a1f;letter-spacing:2.2px;margin-bottom:5px}
.footer-form-card .hs-form-field>label .hs-form-required{color:#8b1a1a;margin-left:2px}
.footer-form-card .hs-input,.footer-form-card input[type=text],.footer-form-card input[type=email],.footer-form-card input[type=tel],.footer-form-card input[type=number],.footer-form-card input[type=url],.footer-form-card textarea,.footer-form-card select{width:100% !important;background:#fffdf7 !important;border:1px solid rgba(212,176,95,.35) !important;border-radius:4px !important;padding:10px 12px !important;font-family:Georgia,'Times New Roman',serif !important;font-size:.95rem !important;color:#00183D !important;letter-spacing:.1px !important;box-shadow:inset 0 1px 2px rgba(0,24,61,.06) !important;transition:border-color .2s,box-shadow .2s,background-color .2s !important;-webkit-appearance:none !important;appearance:none !important}
.footer-form-card .hs-input:focus,.footer-form-card input:focus,.footer-form-card textarea:focus,.footer-form-card select:focus{outline:none !important;border-color:#D4B05F !important;background:#fff !important;box-shadow:0 0 0 3px rgba(212,176,95,.18),inset 0 1px 2px rgba(0,24,61,.06) !important}
.footer-form-card .hs-input::placeholder,.footer-form-card input::placeholder,.footer-form-card textarea::placeholder{color:#9aa5b0 !important;font-style:italic !important;opacity:1}
.footer-form-card textarea{min-height:78px !important;resize:vertical}
.footer-form-card select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23C5961A' d='M0 0l5 6 5-6z'/></svg>") !important;background-repeat:no-repeat !important;background-position:right 12px center !important;padding-right:30px !important}
.footer-form-card .hs-form-checkbox-display,.footer-form-card .hs-form-radio-display{display:flex;align-items:flex-start;gap:8px;font-family:Georgia,serif;font-size:.85rem;color:#3a4a5e;line-height:1.45;margin-bottom:6px}
.footer-form-card input[type=checkbox],.footer-form-card input[type=radio]{width:auto !important;margin:3px 0 0 !important;accent-color:#D4B05F;flex-shrink:0}
.footer-form-card .hs-button,.footer-form-card input[type=submit]{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;width:100% !important;padding:13px 26px !important;margin-top:6px !important;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%) !important;color:#00183D !important;font-family:Georgia,serif !important;font-variant:small-caps !important;font-weight:800 !important;font-size:.98rem !important;letter-spacing:1.6px !important;border:1px solid rgba(212,176,95,.6) !important;border-radius:8px !important;box-shadow:0 8px 18px -4px rgba(0,24,61,.22),0 2px 4px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.4) !important;cursor:pointer !important;text-shadow:none !important;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,background .2s !important}
.footer-form-card .hs-button:hover,.footer-form-card input[type=submit]:hover{transform:translateY(-1px) !important;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%) !important;box-shadow:0 12px 24px -4px rgba(0,24,61,.28),0 4px 8px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.5) !important}
.footer-form-card .hs-error-msgs,.footer-form-card .hs-error-msg{list-style:none !important;padding:0 !important;margin:4px 0 0 !important;font-family:Georgia,serif !important;font-style:italic !important;font-size:.78rem !important;color:#8b1a1a !important}
.footer-form-card .hs-error-msgs li label{color:#8b1a1a !important;font-style:italic !important}
.footer-form-card .submitted-message,.footer-form-card .hs-form .hs-submit + .submitted-message{font-family:Georgia,serif !important;font-style:italic !important;color:#00183D !important;font-size:.95rem !important;padding:14px 0 !important;text-align:center}
.footer-form-card .hs-form fieldset{max-width:100% !important}
.footer-form-card .hs-form .hs-form-field+.hs-form-field{margin-top:8px}

/* HubSpot-injected form: classical typography, gold-accent fields, gold gradient submit */
.footer-form-card .hbspt-form,
.footer-form-card form{font-family:Georgia,'Times New Roman',serif !important}
.footer-form-card .hs-form-field{margin-bottom:10px}
.footer-form-card .hs-form-field>label{
  display:block;
  font-family:Georgia,serif !important;
  font-variant:small-caps;
  font-size:.72rem;
  font-weight:700;
  color:#9b7a1f;
  letter-spacing:2.2px;
  margin-bottom:5px
}
.footer-form-card .hs-form-field>label .hs-form-required{color:#8b1a1a;margin-left:2px}
.footer-form-card .hs-input,
.footer-form-card input[type=text],
.footer-form-card input[type=email],
.footer-form-card input[type=tel],
.footer-form-card input[type=number],
.footer-form-card input[type=url],
.footer-form-card textarea,
.footer-form-card select{
  width:100% !important;
  background:#fffdf7 !important;
  border:1px solid rgba(212,176,95,.35) !important;
  border-radius:4px !important;
  padding:10px 12px !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:.95rem !important;
  color:#00183D !important;
  letter-spacing:.1px !important;
  box-shadow:inset 0 1px 2px rgba(0,24,61,.06) !important;
  transition:border-color .2s,box-shadow .2s,background-color .2s !important;
  -webkit-appearance:none !important;
  appearance:none !important
}
.footer-form-card .hs-input:focus,
.footer-form-card input:focus,
.footer-form-card textarea:focus,
.footer-form-card select:focus{
  outline:none !important;
  border-color:#D4B05F !important;
  background:#fff !important;
  box-shadow:
    0 0 0 3px rgba(212,176,95,.18),
    inset 0 1px 2px rgba(0,24,61,.06) !important
}
.footer-form-card .hs-input::placeholder,
.footer-form-card input::placeholder,
.footer-form-card textarea::placeholder{
  color:#9aa5b0 !important;
  font-style:italic !important;
  opacity:1
}
.footer-form-card textarea{min-height:78px !important;resize:vertical}
.footer-form-card select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23C5961A' d='M0 0l5 6 5-6z'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-position:right 12px center !important;
  padding-right:30px !important
}

/* Checkbox/radio (consent fields) */
.footer-form-card .hs-form-checkbox-display,
.footer-form-card .hs-form-radio-display{display:flex;align-items:flex-start;gap:8px;font-family:Georgia,serif;font-size:.85rem;color:#3a4a5e;line-height:1.45;margin-bottom:6px}
.footer-form-card input[type=checkbox],
.footer-form-card input[type=radio]{width:auto !important;margin:3px 0 0 !important;accent-color:#D4B05F;flex-shrink:0}

/* Submit button — gold gradient matching Come and See */
.footer-form-card .hs-button,
.footer-form-card input[type=submit]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:100% !important;
  padding:13px 26px !important;
  margin-top:6px !important;
  background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%) !important;
  color:#00183D !important;
  font-family:Georgia,serif !important;
  font-variant:small-caps !important;
  font-weight:800 !important;
  font-size:.98rem !important;
  letter-spacing:1.6px !important;
  border:1px solid rgba(212,176,95,.6) !important;
  border-radius:8px !important;
  box-shadow:
    0 8px 18px -4px rgba(0,24,61,.22),
    0 2px 4px rgba(0,0,0,.15),
    inset 0 1px 0 rgba(255,255,255,.4) !important;
  cursor:pointer !important;
  text-shadow:none !important;
  transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,background .2s !important
}
.footer-form-card .hs-button:hover,
.footer-form-card input[type=submit]:hover{
  transform:translateY(-1px) !important;
  background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%) !important;
  box-shadow:
    0 12px 24px -4px rgba(0,24,61,.28),
    0 4px 8px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.5) !important
}

/* Validation errors */
.footer-form-card .hs-error-msgs,
.footer-form-card .hs-error-msg{
  list-style:none !important;
  padding:0 !important;
  margin:4px 0 0 !important;
  font-family:Georgia,serif !important;
  font-style:italic !important;
  font-size:.78rem !important;
  color:#8b1a1a !important
}
.footer-form-card .hs-error-msgs li label{color:#8b1a1a !important;font-style:italic !important}

/* Submitted (thank-you) state */
.footer-form-card .submitted-message,
.footer-form-card .hs-form .hs-submit + .submitted-message{
  font-family:Georgia,serif !important;
  font-style:italic !important;
  color:#00183D !important;
  font-size:.95rem !important;
  padding:14px 0 !important;
  text-align:center
}

/* Field rows on wider screens stack nicely */
.footer-form-card .hs-form fieldset{max-width:100% !important}
.footer-form-card .hs-form .hs-form-field+.hs-form-field{margin-top:8px}
.site-footer p{font-size:.95rem;line-height:1.6}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer ul li{margin:.4rem 0}
.site-footer ul li a{color:#c8d1da;font-size:.95rem;transition:color .2s}
.site-footer ul li a:hover{color:#f7d9b3}
.site-footer .icon-svg{margin-right:6px}
.footer-social{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}
.footer-social a{display:inline-block;margin:0 8px;font-size:1.2rem;color:#c8d1da;transition:color .2s}
.footer-social a:hover{color:#f7d9b3}
.footer-copy{text-align:center;font-size:.8rem;color:#a0b0c0;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* ===== MOBILE MASTER OVERRIDE ===== */
@media(max-width:768px){
  .section{padding:20px 16px!important}
  .section-title{font-size:1.5rem}
  .section-alt{padding:20px 16px!important}
  .quote-section{padding-top:16px!important}
  .video-section{padding:20px 16px!important}
  .site-footer{padding:24px 16px 16px}
  .quote-block{padding:1.2rem 1rem}
  .quote-block blockquote{font-size:1.05rem}
  .two-col h2,.text-wrap h2,.vitae-text h2{font-size:1.35rem}
  .two-col p,.text-wrap p,.vitae-text p{font-size:.95rem}
  .vitae-grid{gap:16px!important}
  .vitae-btns{flex-direction:column!important;align-items:stretch!important;gap:16px!important}
  .vitae-btns a{text-align:center!important;display:block!important}
  .btn-primary-v,.btn-outline-v{display:block!important;text-align:center!important;margin-left:0!important;margin-bottom:0!important}
  .text-wrap{margin-bottom:0}
  .gold-rule{margin-bottom:1.2rem}
}

/* LEAD MAGNET CTA */
.lead-magnet{background:linear-gradient(135deg,#00183D 0%,#2B405A 100%);padding:48px 20px;text-align:center;color:#fff;position:relative;overflow:hidden}
.lead-magnet::before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(212,176,95,.12) 0%,transparent 70%);border-radius:50%}
.lead-magnet::after{content:"";position:absolute;bottom:-40%;left:-10%;width:250px;height:250px;background:radial-gradient(circle,rgba(212,176,95,.08) 0%,transparent 70%);border-radius:50%}
.lead-magnet .container{position:relative;z-index:1}
.lead-magnet h2{font-size:1.8rem;color:#fff;margin:0 0 .5rem;font-weight:700}
.lead-magnet p{font-size:1.05rem;color:#c8d1da;max-width:560px;margin:0 auto 1.4rem;line-height:1.6}
.lead-magnet .btn-lead{display:inline-block;padding:14px 36px;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%);color:#fff;font-weight:700;font-size:1.05rem;border-radius:10px;box-shadow:0 4px 16px rgba(212,176,95,.35);transition:all .25s}
.lead-magnet .btn-lead:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(212,176,95,.45)}
.lead-magnet .lead-sub{font-size:.82rem;color:#8a9aaa;margin-top:.8rem;font-style:italic}
@media(max-width:768px){
  .lead-magnet{padding:32px 16px}
  .lead-magnet h2{font-size:1.4rem}
  .lead-magnet p{font-size:.92rem}
  .lead-magnet .btn-lead{padding:12px 28px;font-size:.95rem}
}

/* STICKY MOBILE CTA */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99;background:#fff;border-top:1px solid #e8e4dd;padding:10px 16px;box-shadow:0 -2px 12px rgba(0,0,0,.08)}
.sticky-cta-inner{display:flex;align-items:center;justify-content:space-between;max-width:600px;margin:0 auto;gap:12px}
.sticky-cta-text{font-size:.85rem;color:#2B405A;font-weight:600;line-height:1.3}
.sticky-cta-text small{display:block;font-size:.72rem;color:#5a6a7a;font-weight:400;font-style:italic}
.sticky-cta .btn-sticky{display:inline-block;padding:10px 22px;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%);color:#fff;font-weight:700;font-size:.88rem;border-radius:8px;white-space:nowrap;flex-shrink:0}
@media(max-width:768px){.sticky-cta{display:block}.site-footer{padding-bottom:70px!important}}

/* FAQ ACCORDION */
.faq-section{padding:56px 20px;background:#fff}
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border-bottom:1px solid #e8e4dd}
.faq-item:first-child{border-top:1px solid #e8e4dd}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:18px 0;cursor:pointer;font-size:1.08rem;font-weight:700;color:#00183D;gap:12px;background:none;border:none;width:100%;text-align:left;font-family:Georgia,serif}
.faq-q:hover{color:#D4B05F}
.faq-q svg{width:18px;height:18px;fill:#D4B05F;flex-shrink:0;transition:transform .25s}
.faq-item.open .faq-q svg{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 0}
.faq-item.open .faq-a{max-height:300px;padding:0 0 18px}
.faq-a p{font-size:1rem;color:#4a5a6e;line-height:1.7;margin:0}
.faq-more{text-align:center;margin-top:1.5rem}
.faq-more a{font-size:.95rem;color:#7A5E1A;font-weight:600}
.faq-more a:hover{text-decoration:underline}
@media(max-width:768px){
  .faq-section{padding:28px 16px}
  .faq-q{font-size:.98rem;padding:14px 0}
}

/* SCHEDULE SECTION */
.schedule-section{padding:56px 20px;background:#F9F7F3}
.schedule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1080px;margin:0 auto}
.schedule-block{background:#fff;border-radius:12px;padding:1.4rem 1.2rem;text-align:center;box-shadow:0 2px 12px rgba(43,64,90,.06);border-top:3px solid #D4B05F;transition:transform .2s}
.schedule-block:hover{transform:translateY(-3px)}
.schedule-block .sched-time{font-size:.82rem;color:#7A5E1A;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin:0 0 .4rem}
.schedule-block h3{font-size:1.05rem;color:#00183D;margin:0 0 .35rem;font-weight:700}
.schedule-block p{font-size:.9rem;color:#5a6a7a;line-height:1.5;margin:0}
.schedule-block svg{width:28px;height:28px;fill:#D4B05F;margin-bottom:.6rem}
.schedule-note{text-align:center;margin-top:1.2rem;font-size:.88rem;color:#5a6a7a;font-style:italic}
@media(max-width:768px){
  .schedule-section{padding:28px 16px}
  .schedule-grid{grid-template-columns:repeat(2,1fr);gap:14px}
}
@media(max-width:480px){
  .schedule-grid{grid-template-columns:1fr;max-width:320px;margin:0 auto}
}

/* PRE-FOOTER CTA */
.prefooter-cta{background:#00183D;padding:40px 20px;text-align:center}
.prefooter-cta h2{font-size:1.6rem;color:#fff;margin:0 0 .5rem;font-weight:700}
.prefooter-cta p{font-size:1rem;color:#c8d1da;margin:0 0 1.2rem;max-width:500px;margin-left:auto;margin-right:auto}
.prefooter-cta .btn-prefooter{display:inline-block;padding:13px 34px;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%);color:#fff;font-weight:700;font-size:1.02rem;border-radius:10px;box-shadow:0 4px 16px rgba(212,176,95,.3);transition:all .25s;margin:0 8px}
.prefooter-cta .btn-prefooter:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(212,176,95,.4)}
.prefooter-cta .btn-prefooter-outline{display:inline-block;padding:12px 32px;border:2px solid rgba(255,255,255,.3);color:#fff;font-weight:700;font-size:1.02rem;border-radius:10px;transition:all .25s;margin:0 8px}
.prefooter-cta .btn-prefooter-outline:hover{border-color:#D4B05F;background:rgba(212,176,95,.1)}
@media(max-width:768px){
  .prefooter-cta{padding:28px 16px}
  .prefooter-cta h2{font-size:1.3rem}
  .prefooter-cta .btn-prefooter,.prefooter-cta .btn-prefooter-outline{display:block;margin:8px auto;max-width:280px;text-align:center}
}

/* TRUST BAR */
.trust-bar{background:#fff;border-bottom:1px solid #e8e4dd;padding:18px 20px 14px;text-align:center}
.trust-bar .container{max-width:1080px;margin:0 auto}
.trust-bar-label{font-size:.78rem;font-weight:700;color:#7A5E1A;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 10px}
.trust-stats{display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap}
.trust-stat{display:flex;align-items:center;gap:8px;font-size:.95rem;color:#2B405A;font-weight:600}
.trust-stat svg{width:20px;height:20px;fill:#D4B05F;flex-shrink:0}
.trust-stat .stat-num{font-size:1.15rem;font-weight:700;color:#00183D}
.trust-attr{margin-top:8px;font-size:.82rem;color:#5a6a7a;font-style:italic}
.trust-attr a{color:#7A5E1A;font-weight:600;text-decoration:none}
.trust-attr a:hover{text-decoration:underline}
@media(max-width:768px){
  .trust-bar{padding:14px 16px 10px}
  .trust-stats{gap:16px 24px}
  .trust-stat{font-size:.85rem}
  .trust-stat svg{width:17px;height:17px}
  .trust-stat .stat-num{font-size:1rem}
}
@media(max-width:480px){
  .trust-stats{flex-direction:column;gap:10px;align-items:center}
}

/* TESTIMONIAL SECTION */
.testimonial-section{padding:56px 20px;background:#F9F7F3}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1080px;margin:0 auto}
.testimonial-card{background:#fff;border-radius:12px;padding:1.8rem 1.5rem 1.4rem;box-shadow:0 2px 16px rgba(43,64,90,.07);border-top:3px solid #D4B05F;position:relative}
.testimonial-card blockquote{font-size:1.02rem;font-style:italic;color:#2B405A;line-height:1.65;margin:0 0 1rem;padding-top:0}
.testimonial-card blockquote::before{content:none}
.testimonial-card cite{display:block;font-size:.88rem;color:#5a6a7a;font-style:normal;font-weight:600}
.testimonial-source{margin-top:1.2rem;padding-top:.8rem;border-top:1px solid #f0ebe3;display:flex;align-items:center;gap:8px;font-size:.78rem;color:#5a6a7a;font-style:italic}
.testimonial-source svg{width:14px;height:14px;fill:#D4B05F;flex-shrink:0}
.testimonial-header{text-align:center;margin-bottom:2rem}
.testimonial-stars{color:#D4B05F;font-size:1.2rem;letter-spacing:2px;margin-bottom:.3rem}
.testimonial-rating{font-size:.9rem;color:#5a6a7a}
.testimonial-rating a{color:#7A5E1A;font-weight:600;text-decoration:none}
.testimonial-rating a:hover{text-decoration:underline}
@media(max-width:768px){
  .testimonial-section{padding:28px 16px}
  .testimonial-grid{grid-template-columns:1fr;gap:16px}
  .testimonial-card{padding:1.4rem 1.2rem 1.1rem}
}

/* Inline SVG icons */
.icon-svg{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentColor}

/* Cookie consent — force full-width on mobile */
.cc-window{max-width:100%!important;width:100%!important;left:0!important;right:0!important;margin:0!important;border-radius:0!important;box-sizing:border-box!important}
@media(max-width:768px){.intro-lead,.section-subtitle,.intro-text p,.two-col p,.hl-highlight p,.trivium-card p,.scripture-block blockquote{text-align:justify !important}.float-left,.float-right,img[style*="float"]{float:none !important;display:block !important;width:100% !important;max-width:340px !important;margin:0 auto 1.5rem !important}}

/* ============================================================
   HOME FLAGSHIP-OF-FLAGSHIPS — sections below the hero
   Byzantine + Mediterranean + classical manuscript palette
   ============================================================ */
:root{
  --h-navy:#00183D;
  --h-navy-hi:#1a3a6d;
  --h-gold:#D4B05F;
  --h-gold-dark:#7A5E1A;
  --h-rubric:#6d1919;
  --h-parchment:#fdf8ea;
  --h-parchment-hi:#fffbe8;
  --h-parchment-lo:#f0e2b2;
  --h-ink:#1c1814;
  --h-body:#2B405A;
}

/* Body base flips to clean white (flagship hero untouched) */
body{background:#ffffff}

/* --- MOVEMENT HEADER — "Movement I / Movement II" small-caps --- */
.home-movement{
  display:block;
  text-align:center;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.86rem;
  letter-spacing:3px;
  color:var(--h-rubric);
  font-weight:800;
  margin:0 0 .4rem
}
.home-movement::before,.home-movement::after{
  content:'\2720';
  color:var(--h-gold);
  margin:0 12px;
  font-size:.9rem
}
.home-section-title{
  text-align:center;
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-weight:900;
  font-size:2.6rem;
  color:var(--h-navy);
  line-height:1.1;
  margin:0 0 .4rem;
  letter-spacing:-.3px
}
.home-section-title::first-letter{color:var(--h-rubric)}
.home-section-sub{
  text-align:center;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:1.12rem;
  color:var(--h-navy-hi);
  max-width:680px;
  margin:.6rem auto 1.8rem;
  line-height:1.7
}
.home-gold-rule{
  border:none;
  height:2px;
  background:linear-gradient(90deg,transparent 0%,var(--h-gold) 20%,var(--h-navy) 50%,var(--h-gold) 80%,transparent 100%);
  max-width:380px;
  margin:.5rem auto 2rem;
  position:relative
}
.home-gold-rule::after{
  content:'\2720';
  position:absolute;
  top:-13px;
  left:50%;
  transform:translateX(-50%);
  background:#ffffff;
  color:var(--h-gold);
  padding:0 10px;
  font-size:1.3rem
}
@media(max-width:768px){
  .home-section-title{font-size:1.9rem}
  .home-section-sub{font-size:1rem}
}

/* --- DIFFERENTIATOR STRIP (replaces old trust bar) --- */
.home-diff-strip{
  background:linear-gradient(180deg,var(--h-navy) 0%,#001530 100%);
  color:#e8d99a;
  padding:22px 20px;
  border-top:4px solid var(--h-gold);
  border-bottom:4px solid var(--h-gold);
  box-shadow:inset 0 2px 0 var(--h-gold-dark),inset 0 -2px 0 var(--h-gold-dark)
}
.home-diff-strip-inner{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.96rem;
  letter-spacing:2px;
  font-weight:800
}
.home-diff-strip-item{color:#fdf0c8;display:inline-flex;align-items:center;gap:8px}
.home-diff-strip-item::before{content:'\2720';color:var(--h-gold);font-size:1rem}
.home-diff-strip .sep{color:var(--h-gold);opacity:.4}
@media(max-width:768px){
  .home-diff-strip-inner{gap:12px;font-size:.82rem;letter-spacing:1.4px}
  .home-diff-strip-item::before{content:none}
  .home-diff-strip .sep{display:none}
}

/* --- SECTION CHROME --- */
.home-section{padding:70px 20px;position:relative}
.home-section .container{max-width:1180px;margin:0 auto}
.home-section.has-tint{
  background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(212,176,95,.06) 0%,rgba(212,176,95,0) 70%)
}

/* --- FRAMED IMAGE PLATE (reusable museum-frame) --- */
.home-plate{
  display:block;
  margin:0 auto;
  max-width:100%;
  background:#fdf8ea;
  padding:8px;
  border:2px solid var(--h-navy);
  box-shadow:
    0 0 0 1px var(--h-gold),
    0 4px 20px rgba(26,58,109,.2),
    inset 0 0 0 1px rgba(212,176,95,.5)
}
.home-plate img{display:block;width:100%;height:auto}
.home-plate-caption{
  display:block;
  text-align:center;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:.94rem;
  color:var(--h-navy-hi);
  margin:14px auto 0;
  max-width:640px;
  line-height:1.55
}
.home-plate-caption strong{color:var(--h-rubric);font-style:normal;font-weight:800}

/* --- FLOAT IMAGES --- */
.home-float-right{
  float:right;
  width:320px;
  max-width:45%;
  margin:.4rem 0 1.4rem 2rem;
  background:#fdf8ea;
  padding:6px;
  border:2px solid var(--h-navy);
  box-shadow:0 3px 0 var(--h-gold),0 5px 16px rgba(26,58,109,.22)
}
.home-float-left{
  float:left;
  width:320px;
  max-width:45%;
  margin:.4rem 2rem 1.4rem 0;
  background:#fdf8ea;
  padding:6px;
  border:2px solid var(--h-navy);
  box-shadow:0 3px 0 var(--h-gold),0 5px 16px rgba(26,58,109,.22)
}
.home-float-right img,.home-float-left img{display:block;width:100%;height:auto}
.home-float-caption{
  display:block;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:.86rem;
  color:var(--h-navy-hi);
  padding:10px 4px 4px;
  text-align:center;
  line-height:1.4
}
.home-float-caption strong{color:var(--h-rubric);font-style:normal;font-weight:800}
@media(max-width:720px){
  .home-float-right,.home-float-left{float:none;width:100%;max-width:420px;margin:1.4rem auto}
}

/* --- MISSION BANNER — School of Athens full-width --- */
.home-mission-banner{
  position:relative;
  padding:96px 20px 104px;
  text-align:center;
  background:
    linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(253,248,234,.9) 55%,rgba(255,255,255,.88) 100%),
    url('img/home/home-classical-raphael-school-of-athens.webp') center/cover no-repeat;
  border-top:6px solid var(--h-navy);
  border-bottom:6px solid var(--h-navy);
  box-shadow:inset 0 3px 0 var(--h-gold),inset 0 -3px 0 var(--h-gold)
}
.home-mission-banner::before,.home-mission-banner::after{
  content:'';
  position:absolute;
  left:0;right:0;
  height:2px;
  background:repeating-linear-gradient(90deg,var(--h-gold) 0 14px,var(--h-gold-dark) 14px 16px);
  opacity:.5
}
.home-mission-banner::before{top:12px}
.home-mission-banner::after{bottom:12px}
.home-mission-inner{max-width:780px;margin:0 auto;position:relative;z-index:2}
.home-mission-kicker{
  display:inline-block;
  padding:6px 18px;
  background:#fdf8ea;
  border:2px solid var(--h-navy);
  box-shadow:0 2px 0 var(--h-gold);
  color:var(--h-navy);
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.85rem;
  font-weight:900;
  letter-spacing:3px;
  margin-bottom:1.2rem
}
.home-mission-latin{
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:2.4rem;
  color:var(--h-navy);
  font-weight:900;
  margin:.3rem 0 .4rem;
  text-shadow:1px 1px 0 rgba(212,176,95,.3)
}
.home-mission-latin .en{display:block;font-size:1.1rem;color:var(--h-navy-hi);margin-top:.3rem;font-weight:600}
.home-mission-body{
  font-family:Georgia,serif;
  font-size:1.14rem;
  color:var(--h-ink);
  line-height:1.85;
  margin:1.2rem 0 0;
  max-width:680px;
  margin-left:auto;
  margin-right:auto
}
.home-mission-body strong{color:var(--h-navy);font-weight:800}
.home-mission-body em{color:var(--h-rubric);font-style:italic;font-weight:600}
.home-mission-meta{
  margin-top:1.4rem;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.82rem;
  letter-spacing:2.5px;
  color:var(--h-navy);
  font-weight:800
}
@media(max-width:768px){
  .home-mission-banner{padding:60px 14px 68px}
  .home-mission-latin{font-size:1.6rem}
  .home-mission-body{font-size:1rem}
}

/* --- Movement glossary: a subtle one-line explainer at the top --- */
.home-movement-key{
  background:#ffffff;
  padding:14px 20px;
  text-align:center;
  border-bottom:1px solid rgba(212,176,95,.22)
}
.home-movement-key p{
  max-width:780px;
  margin:0 auto;
  font-family:Georgia,serif;
  font-size:.92rem;
  color:var(--h-navy-hi);
  line-height:1.55
}
.home-movement-key p strong{color:var(--h-rubric);font-weight:700;font-style:normal}
@media(max-width:560px){.home-movement-key p{font-size:.84rem}}

/* --- MISSION SPLIT (image left + text right) --- */
.home-mission-split{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:48px;
  align-items:center;
  max-width:1120px;
  margin:0 auto 3rem
}
@media(max-width:900px){
  .home-mission-split{grid-template-columns:1fr;gap:28px}
}
.home-mission-plate{
  margin:0;
  padding:8px;
  background:#fdf8ea;
  border:2px solid var(--h-navy);
  box-shadow:
    0 0 0 1px var(--h-gold),
    0 5px 22px rgba(26,58,109,.22),
    inset 0 0 0 1px rgba(212,176,95,.55)
}
.home-mission-plate img{display:block;width:100%;height:auto}
.home-mission-plate figcaption{
  display:block;
  margin-top:12px;
  padding:0 6px 4px;
  text-align:center;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:.92rem;
  color:var(--h-navy-hi);
  line-height:1.5
}
.home-mission-plate figcaption strong{color:var(--h-rubric);font-style:normal;font-weight:800}
.home-mission-text p{
  font-family:Georgia,serif;
  font-size:1.08rem;
  color:var(--h-ink);
  line-height:1.85;
  margin:0 0 1.1rem;
  text-align:left
}
.home-mission-text p strong{color:var(--h-navy);font-weight:800}
.home-mission-text p em{color:var(--h-rubric);font-style:italic;font-weight:600}

/* --- FOUR CIVILIZATION CARDS --- */
.home-civ-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  max-width:1180px;
  margin:0 auto
}
@media(max-width:1000px){.home-civ-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.home-civ-grid{grid-template-columns:1fr}}
.home-civ-card{
  background:linear-gradient(180deg,var(--h-parchment-hi) 0%,var(--h-parchment-lo) 100%);
  border:2px solid var(--h-navy);
  border-top:5px solid var(--h-rubric);
  padding:26px 24px 24px;
  box-shadow:0 3px 0 var(--h-gold),0 5px 16px rgba(26,58,109,.12);
  position:relative;
  overflow:hidden
}
@media(max-width:1000px){
  .home-civ-grid{gap:28px !important}
}
@media(max-width:560px){
  .home-civ-grid{gap:32px !important;padding:0 4px !important}
}
.home-civ-card::before{
  content:'';
  position:absolute;
  top:8px;left:8px;right:8px;bottom:8px;
  border:1px solid rgba(212,176,95,.45);
  pointer-events:none
}
.home-civ-name{
  display:block;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:1.04rem;
  color:var(--h-rubric);
  margin-bottom:.1rem
}
.home-civ-card h4{
  font-family:Georgia,'Times New Roman',serif;
  font-variant:small-caps;
  font-size:1.7rem;
  font-weight:900;
  color:var(--h-navy);
  letter-spacing:.5px;
  line-height:1.05;
  margin:.1rem 0 .3rem
}
.home-civ-card h4::first-letter{color:var(--h-rubric)}
.home-civ-role{
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.84rem;
  letter-spacing:1.2px;
  color:var(--h-navy-hi);
  font-weight:700;
  margin:0 0 .7rem;
  padding-bottom:.5rem;
  border-bottom:1px solid rgba(212,176,95,.5)
}
.home-civ-body{
  font-family:Georgia,serif;
  font-size:.98rem;
  color:var(--h-ink);
  line-height:1.7;
  margin:0
}
.home-civ-body em{color:var(--h-rubric);font-style:italic;font-weight:600}

.home-civ-img{
  margin:-26px -24px 16px -24px;
  padding:0;
  background:#1c1814;
  border-bottom:3px solid var(--h-gold);
  overflow:hidden;
  aspect-ratio:4/3
}
.home-civ-img img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}
.home-civ-card{padding-top:0 !important}
.home-civ-name{display:block;padding-top:12px}

/* --- 4 DIFFERENTIATOR CARDS --- */
.home-diff-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
  margin:2rem 0
}
@media(max-width:720px){.home-diff-grid{grid-template-columns:1fr}}
.home-diff-card{
  background:linear-gradient(180deg,var(--h-parchment-hi) 0%,var(--h-parchment-lo) 100%);
  border:2px solid var(--h-navy);
  border-top:5px solid var(--h-rubric);
  padding:30px 32px 28px;
  box-shadow:0 3px 0 var(--h-gold),0 6px 18px rgba(26,58,109,.12);
  position:relative
}
.home-diff-card::before{
  content:'';
  position:absolute;
  top:8px;left:8px;right:8px;bottom:8px;
  border:1px solid rgba(212,176,95,.5);
  pointer-events:none
}
.home-diff-card-roman{
  display:block;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.82rem;
  letter-spacing:2px;
  color:var(--h-rubric);
  font-weight:800;
  margin-bottom:.3rem
}
.home-diff-card h3{
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:1.55rem;
  font-weight:900;
  color:var(--h-navy);
  margin:.2rem 0 .6rem;
  line-height:1.15;
  padding-bottom:.4rem;
  border-bottom:2px solid var(--h-gold)
}
.home-diff-card h3::first-letter{color:var(--h-rubric)}
.home-diff-card p{
  font-family:Georgia,serif;
  font-size:1.04rem;
  color:var(--h-ink);
  line-height:1.75;
  margin:0
}
.home-diff-card .soon{
  display:inline-block;
  margin-top:.8rem;
  padding:3px 10px;
  background:var(--h-navy);
  color:var(--h-gold);
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.76rem;
  letter-spacing:1.5px;
  font-weight:800
}

/* --- QUINTIVIUM FIVE-COLUMN --- */
.home-quint-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
  margin:1.8rem 0
}
@media(max-width:980px){.home-quint-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.home-quint-grid{grid-template-columns:1fr}}
.home-quint-card{
  background:linear-gradient(180deg,var(--h-parchment-hi) 0%,var(--h-parchment-lo) 100%);
  border:1.5px solid var(--h-gold);
  border-top:4px solid var(--h-navy);
  padding:22px 18px 20px;
  text-align:center;
  box-shadow:0 3px 0 var(--h-gold),0 4px 12px rgba(26,58,109,.1)
}
.home-quint-numeral{
  display:block;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.78rem;
  letter-spacing:2px;
  color:var(--h-rubric);
  font-weight:800;
  margin-bottom:.3rem
}
.home-quint-greek{
  display:block;
  font-family:Georgia,serif;
  font-size:1.02rem;
  color:var(--h-rubric);
  font-style:italic;
  margin-bottom:.1rem
}
.home-quint-card h4{
  font-family:Georgia,'Times New Roman',serif;
  font-variant:small-caps;
  font-size:1.25rem;
  font-weight:900;
  color:var(--h-navy);
  margin:.2rem 0 .5rem;
  padding-bottom:.4rem;
  border-bottom:1px solid var(--h-gold)
}
.home-quint-card h4::first-letter{color:var(--h-rubric)}
.home-quint-card p{
  font-family:Georgia,serif;
  font-size:.95rem;
  color:var(--h-ink);
  line-height:1.55;
  margin:0
}

.home-quint-card{padding-top:0 !important;overflow:hidden}
.home-quint-image{
  margin:0 -18px 14px -18px;
  width:calc(100% + 36px);
  aspect-ratio:4/3;
  overflow:hidden;
  background:#1c1814;
  border-bottom:2px solid var(--h-gold)
}
.home-quint-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home-quint-image img[src*="vesalius"]{object-position:center 8%}
.home-quint-card > .home-quint-numeral{display:block;padding:12px 0 0}

/* --- Quintivium Book 1 cover display --- */
.home-quint-cover{
  max-width:400px;
  margin:2.4rem auto 1.6rem;
  padding:14px 14px 16px;
  background:linear-gradient(180deg,var(--h-parchment-hi) 0%,var(--h-parchment-lo) 100%);
  border:2px solid var(--h-navy);
  box-shadow:0 3px 0 var(--h-gold),0 6px 22px rgba(26,58,109,.18),inset 0 0 0 1px rgba(212,176,95,.5);
  text-align:center
}
.home-quint-cover-link{display:block;border:none;text-decoration:none}
.home-quint-cover img{
  display:block;
  width:100%;
  height:auto;
  border:1px solid var(--h-gold);
  box-shadow:0 4px 18px rgba(0,0,0,.35);
  margin:0 auto 14px;
  transition:transform .25s
}
.home-quint-cover-link:hover img{transform:translateY(-3px)}
.home-quint-cover figcaption{
  font-family:Georgia,'Times New Roman',serif;
  font-size:.94rem;
  color:var(--h-navy-hi);
  line-height:1.55;
  font-style:italic
}
.home-quint-cover figcaption strong{
  color:var(--h-rubric);
  font-variant:small-caps;
  font-style:normal;
  font-weight:900;
  letter-spacing:.5px;
  font-size:1.04rem
}
.home-quint-cover-cta{
  display:inline-block;
  margin-top:8px;
  padding:6px 18px;
  background:var(--h-navy);
  color:var(--h-gold);
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:1.5px;
  border:2px solid var(--h-gold);
  box-shadow:0 2px 0 var(--h-gold-dark);
  font-style:normal;
  text-decoration:none;
  transition:all .2s
}
.home-quint-cover-cta:hover{background:var(--h-gold);color:var(--h-navy)}

/* --- VITAE FORMATION REVEAL (Ready for 2026–27) --- */
.home-reveal{
  background:
    linear-gradient(180deg,rgba(253,248,234,.92) 0%,rgba(240,226,178,.96) 100%),
    radial-gradient(ellipse 70% 60% at 50% 50%,rgba(109,25,25,.08) 0%,rgba(109,25,25,0) 70%);
  padding:72px 20px 80px;
  border-top:4px solid var(--h-gold);
  border-bottom:4px solid var(--h-gold);
  text-align:center
}
.home-reveal-inner{max-width:920px;margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:44px;align-items:center;text-align:left}
@media(max-width:820px){.home-reveal-inner{grid-template-columns:1fr;text-align:center}}
.home-reveal-img{background:#fdf8ea;padding:6px;border:2px solid var(--h-navy);box-shadow:0 3px 0 var(--h-gold),0 6px 20px rgba(26,58,109,.22)}
.home-reveal-img img{display:block;width:100%;height:auto;filter:sepia(.1) contrast(1.02)}
.home-reveal h3{
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:2.2rem;
  color:var(--h-navy);
  font-weight:900;
  margin:0 0 .6rem;
  line-height:1.1
}
.home-reveal h3::first-letter{color:var(--h-rubric)}
.home-reveal .badge{
  display:inline-block;
  padding:4px 14px;
  background:var(--h-rubric);
  color:var(--h-parchment);
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.8rem;
  letter-spacing:2px;
  font-weight:800;
  margin-bottom:.8rem
}
.home-reveal p{
  font-family:Georgia,serif;
  font-size:1.06rem;
  color:var(--h-ink);
  line-height:1.85;
  margin:0 0 1rem
}
.home-reveal p em{color:var(--h-rubric);font-weight:700;font-style:italic}

/* --- TELEMEDICINE SECTION --- */
.home-tele{background:#ffffff;padding:70px 20px;border-top:1px solid rgba(212,176,95,.18)}
.home-tele-inner{
  max-width:1080px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:56px;
  align-items:center
}
@media(max-width:820px){.home-tele-inner{grid-template-columns:1fr;gap:32px}}
.home-tele h3{
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:2.2rem;
  color:var(--h-navy);
  font-weight:900;
  margin:0 0 .6rem
}
.home-tele h3::first-letter{color:var(--h-rubric)}
.home-tele p{font-family:Georgia,serif;font-size:1.06rem;color:var(--h-ink);line-height:1.85;margin:0 0 1rem}

/* --- FIVE CLASSICAL DOMAINS GRID --- */
.home-domains-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  margin:2rem 0 1rem
}
@media(max-width:1100px){.home-domains-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.home-domains-grid{grid-template-columns:1fr}}
.home-domain-card{
  background:#fdf8ea;
  border:2px solid var(--h-navy);
  box-shadow:0 3px 0 var(--h-gold),0 5px 14px rgba(26,58,109,.12);
  overflow:hidden;
  display:flex;
  flex-direction:column
}
.home-domain-card .img-wrap{
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  border-bottom:1px solid var(--h-gold);
  background:#1c1814
}
.home-domain-card .img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.home-domain-card .body{padding:18px 20px 22px;text-align:center}
.home-domain-greek{
  display:block;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:.96rem;
  color:var(--h-rubric);
  margin-bottom:.15rem
}
.home-domain-name{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-variant:small-caps;
  font-size:1.25rem;
  font-weight:900;
  color:var(--h-navy);
  letter-spacing:.5px;
  margin-bottom:.4rem;
  padding-bottom:.35rem;
  border-bottom:1px solid var(--h-gold)
}
.home-domain-name::first-letter{color:var(--h-rubric)}
.home-domain-quote{
  font-family:Georgia,serif;
  font-style:italic;
  font-size:.9rem;
  color:var(--h-ink);
  line-height:1.55;
  margin:0
}
.home-domain-quote cite{
  display:block;
  margin-top:.3rem;
  font-size:.78rem;
  font-style:normal;
  font-variant:small-caps;
  letter-spacing:1px;
  color:var(--h-navy-hi);
  font-weight:700
}

/* --- Domain card body-text thickener --- */
.home-domain-body-text{
  font-family:Georgia,serif;
  font-size:.84rem;
  color:#4a2c6d;
  line-height:1.55;
  margin:.5rem 0 0;
  padding-top:.5rem;
  border-top:1px dotted rgba(26,58,109,.25);
  font-style:italic
}

/* --- Classical Inheritance responsive collapses for 3/4/5 sub-grids --- */
@media(max-width:980px){
  .home-section[aria-label="The classical inheritance"] .home-domains-grid{grid-template-columns:repeat(2,1fr) !important}
}
@media(max-width:560px){
  .home-section[aria-label="The classical inheritance"] .home-domains-grid{grid-template-columns:1fr !important}
}

/* --- VOICES QUOTE BLOCK --- */
.home-voices{
  background:#fdf8ea;
  padding:68px 20px;
  border-top:1px solid rgba(212,176,95,.3);
  border-bottom:1px solid rgba(212,176,95,.3);
  position:relative
}
.home-voices-grid{
  max-width:1080px;
  margin:0 auto;
  display:grid;
  grid-template-columns:280px 1fr;
  gap:48px;
  align-items:center
}
@media(max-width:820px){.home-voices-grid{grid-template-columns:1fr;gap:28px;text-align:center}}
.home-voices blockquote{
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:1.35rem;
  color:var(--h-navy);
  line-height:1.6;
  margin:0 0 1rem;
  padding-left:1.4rem;
  border-left:4px solid var(--h-gold)
}
.home-voices cite{
  display:block;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.92rem;
  color:var(--h-rubric);
  letter-spacing:2px;
  font-weight:800;
  font-style:normal
}
@media(max-width:820px){.home-voices blockquote{border-left:none;padding-left:0}}

/* --- SCRIPTURE + MAGI BANNER + CTA --- */
.home-scripture-banner{
  position:relative;
  padding:80px 20px 90px;
  text-align:center;
  background:
    linear-gradient(180deg,rgba(253,248,234,.90) 0%,rgba(240,226,178,.92) 100%),
    url('img/home/home-classical-gentile-adoration-of-magi.webp') center 35%/cover no-repeat;
  border-top:6px solid var(--h-navy);
  border-bottom:6px solid var(--h-navy);
  box-shadow:inset 0 3px 0 var(--h-gold),inset 0 -3px 0 var(--h-gold)
}
.home-scripture-banner::before,.home-scripture-banner::after{
  content:'';position:absolute;left:0;right:0;height:2px;
  background:repeating-linear-gradient(90deg,var(--h-gold) 0 14px,var(--h-gold-dark) 14px 16px);
  opacity:.5
}
.home-scripture-banner::before{top:12px}
.home-scripture-banner::after{bottom:12px}
.home-scripture-inner{max-width:760px;margin:0 auto;position:relative;z-index:2}
.home-scripture-inner blockquote{
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:1.5rem;
  color:var(--h-navy);
  line-height:1.7;
  margin:0 0 1rem
}
.home-scripture-inner cite{
  display:block;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:1rem;
  color:var(--h-rubric);
  letter-spacing:2.5px;
  font-weight:800;
  font-style:normal
}

/* --- HOME FAQ (Movement VIII) --- */
.home-faq-item{
  background:#fdf8ea;
  border:1px solid var(--h-gold);
  border-left:4px solid var(--h-navy);
  margin-bottom:14px;
  cursor:pointer;
  box-shadow:0 2px 10px rgba(26,58,109,.06)
}
.home-faq-q{
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.12rem;
  font-weight:900;
  color:var(--h-navy);
  padding:20px 26px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem
}
.home-faq-q::first-letter{color:var(--h-rubric)}
.home-faq-toggle{color:var(--h-rubric);font-size:1.4rem;transition:transform .25s;flex-shrink:0}
.home-faq-item.open .home-faq-toggle{transform:rotate(45deg)}
.home-faq-a{
  padding:0 26px;
  max-height:0;
  overflow:hidden;
  font-family:Georgia,serif;
  font-size:1.04rem;
  color:var(--h-ink);
  line-height:1.8;
  transition:max-height .3s,padding .3s
}
.home-faq-item.open .home-faq-a{max-height:600px;padding:0 26px 20px}
.home-faq-a a{color:var(--h-rubric);font-weight:700}

/* --- FINAL CTA BANNER --- */
.home-final-cta{
  background:linear-gradient(135deg,var(--h-navy) 0%,#1c2b45 100%);
  color:#fdf8ea;
  padding:72px 40px 68px;
  margin:0;
  text-align:center;
  border-top:6px solid var(--h-gold);
  position:relative
}
.home-final-cta::before{
  content:'\2720';
  position:absolute;
  top:-22px;
  left:50%;
  transform:translateX(-50%);
  background:#fdf8ea;
  color:var(--h-gold);
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  border:3px solid var(--h-navy)
}
.home-final-cta h2{
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:2.6rem;
  color:#fdf8ea;
  font-weight:900;
  margin:0 0 .6rem
}
.home-final-cta h2::first-letter{color:var(--h-gold)}
.home-final-cta p{
  font-family:Georgia,serif;
  font-size:1.14rem;
  color:#e8d99a;
  font-style:italic;
  max-width:640px;
  margin:0 auto 1.8rem;
  line-height:1.7
}
.home-final-cta-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:18px;
  margin-top:1.2rem
}
.home-final-cta .btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:16px 38px;
  background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%);
  color:var(--h-navy);
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-weight:800;
  font-size:1.04rem;
  letter-spacing:1.8px;
  margin:0;
  border-style:solid;
  border-width:1px;
  border-color:rgba(168,133,46,.55) rgba(168,133,46,.65) rgba(120,90,20,.85) rgba(168,133,46,.65);
  border-radius:10px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 14px 16px -10px rgba(255,255,255,.25),
    inset 0 -2px 0 rgba(0,0,0,.10),
    inset 0 -14px 16px -10px rgba(0,0,0,.12),
    0 18px 38px -10px rgba(0,24,61,.22),
    0 8px 16px -4px rgba(0,24,61,.22),
    0 2px 4px -1px rgba(0,0,0,.10);
  text-shadow:0 1px 0 rgba(255,255,255,.30);
  text-decoration:none;
  cursor:pointer;
  transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1),filter .2s
}
.home-final-cta .btn::after{
  content:'\2192';
  font-family:Georgia,serif;
  font-variant:normal;
  font-weight:400;
  font-size:1.1rem;
  letter-spacing:0;
  margin-left:2px;
  transition:transform .25s ease
}
.home-final-cta .btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.65),
    inset 0 14px 16px -10px rgba(255,255,255,.30),
    inset 0 -2px 0 rgba(0,0,0,.08),
    inset 0 -14px 16px -10px rgba(0,0,0,.10),
    0 24px 48px -10px rgba(0,24,61,.28),
    0 12px 22px -4px rgba(0,24,61,.25),
    0 2px 4px -1px rgba(0,0,0,.10)
}
.home-final-cta .btn:hover::after{transform:translateX(4px)}
.home-final-cta .btn:active{
  transform:translateY(0);
  filter:brightness(.95);
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,.18),
    0 4px 10px -2px rgba(0,24,61,.18),
    0 2px 4px -1px rgba(0,0,0,.15)
}
.home-final-cta .btn.ghost{
  background:linear-gradient(180deg,rgba(253,248,234,.10) 0%,rgba(253,248,234,.02) 100%);
  color:#fdf0c8;
  border:1px solid rgba(232,217,154,.45);
  border-bottom-color:rgba(232,217,154,.6);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(0,0,0,.15),
    0 6px 16px -4px rgba(0,0,0,.30);
  text-shadow:none;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px)
}
.home-final-cta .btn.ghost::after{color:#e8d99a}
.home-final-cta .btn.ghost:hover{
  background:linear-gradient(180deg,rgba(253,248,234,.20) 0%,rgba(253,248,234,.08) 100%);
  border-color:rgba(232,217,154,.75);
  color:#fff;
  filter:none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.12),
    0 14px 32px -8px rgba(0,0,0,.40)
}
.home-final-cta .btn.ghost:active{
  filter:brightness(.95);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.25),0 4px 10px -2px rgba(0,0,0,.30)
}

/* --- Preface progressive disclosure — one paragraph + click-to-expand --- */
.home-preface-more{
  margin:1.4rem 0 0;
  padding:0;
  border-top:1px dotted rgba(26,58,109,.35);
  padding-top:1.2rem
}
.home-preface-more summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 22px;
  background:#fdf8ea;
  border:2px solid #00183D;
  box-shadow:0 2px 0 #D4B05F;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.92rem;
  letter-spacing:1.6px;
  color:#00183D;
  font-weight:800;
  transition:background .2s,color .2s;
  user-select:none
}
.home-preface-more summary::-webkit-details-marker{display:none}
.home-preface-more summary::marker{display:none}
.home-preface-more summary:hover{background:#00183D;color:#D4B05F}
.home-preface-more summary:hover .home-preface-more-label em{color:#E5C374}
.home-preface-more-label{display:inline}
.home-preface-more-label em{color:#6d1919;font-weight:600}
.home-preface-more summary:hover .home-preface-more-label em{color:#E5C374}
.home-preface-more-arrow{
  display:inline-block;
  font-size:.9rem;
  transition:transform .2s
}
.home-preface-more[open] .home-preface-more-arrow{transform:rotate(90deg)}
.home-preface-more[open] summary{background:#00183D;color:#D4B05F;box-shadow:0 2px 0 #7A5E1A}
.home-preface-more[open] summary .home-preface-more-label em{color:#E5C374}
.home-preface-more-body{
  margin-top:1.4rem;
  animation:home-preface-more-fade .4s ease-out
}
@keyframes home-preface-more-fade{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:translateY(0)}
}

/* ============================================================
   CURATOR LIGHTBOX — clickable art popup with detailed remarks
   Vanilla JS + CSS, no dependencies.
   ============================================================ */

/* Make any image with data-curator-title clickable */
[data-curator-title]{cursor:zoom-in;transition:filter .2s,transform .2s}
[data-curator-title]:hover{filter:brightness(1.05)}
[data-curator-title]:focus{outline:3px solid #D4B05F;outline-offset:3px}

/* Body-card crop fix — show upper torso only, not the middle */
.home-domain-card img[src*="vesalius"]{object-position:center top !important}

/* Lightbox overlay */
.curator-lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(12,10,8,.88);
  overflow-y:auto;
  padding:30px 20px;
  animation:cls-fade-in .25s ease-out
}
.curator-lightbox.active{display:block}
@keyframes cls-fade-in{from{opacity:0}to{opacity:1}}
.curator-lightbox-inner{
  max-width:1100px;
  margin:0 auto;
  background:#fdf8ea;
  border:3px solid #D4B05F;
  box-shadow:0 0 0 1px #00183D,0 10px 50px rgba(0,0,0,.5);
  padding:0;
  position:relative;
  display:grid;
  grid-template-columns:1.4fr 1fr
}
@media(max-width:900px){
  .curator-lightbox-inner{grid-template-columns:1fr}
}
.curator-lightbox-img-wrap{
  background:#1c1814;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  min-height:320px
}
.curator-lightbox-img-wrap img{
  max-width:100%;
  max-height:80vh;
  width:auto;
  height:auto;
  display:block;
  background:#000
}
@media(max-width:900px){
  .curator-lightbox-img-wrap img{max-height:50vh}
}
.curator-lightbox-text{
  padding:36px 40px 36px;
  font-family:Georgia,'Times New Roman',serif;
  color:#1c1814;
  overflow-y:auto;
  max-height:90vh
}
.curator-lightbox-kicker{
  display:inline-block;
  padding:4px 12px;
  background:#00183D;
  color:#D4B05F;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.76rem;
  letter-spacing:2px;
  font-weight:800;
  margin-bottom:.6rem
}
.curator-lightbox-title{
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:1.8rem;
  font-weight:900;
  color:#00183D;
  line-height:1.15;
  margin:0 0 .3rem;
  letter-spacing:-.3px
}
.curator-lightbox-title::first-letter{color:#6d1919}
.curator-lightbox-artist{
  font-family:Georgia,serif;
  font-size:1.04rem;
  color:#1a3a6d;
  margin:0 0 .2rem;
  font-weight:700
}
.curator-lightbox-meta{
  font-family:Georgia,serif;
  font-style:italic;
  font-size:.88rem;
  color:#4a2c6d;
  letter-spacing:.3px;
  margin:0 0 1rem;
  padding-bottom:.8rem;
  border-bottom:2px solid #D4B05F
}
.curator-lightbox-section-label{
  display:block;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.82rem;
  letter-spacing:2px;
  color:#6d1919;
  font-weight:800;
  margin:1.1rem 0 .4rem
}
.curator-lightbox-description,
.curator-lightbox-why{
  font-family:Georgia,serif;
  font-size:1rem;
  color:#1c1814;
  line-height:1.7;
  margin:0 0 .6rem
}
.curator-lightbox-why em{color:#6d1919;font-style:italic}
.curator-lightbox-why strong{color:#00183D}
.curator-lightbox-close{
  position:absolute;
  top:10px;
  right:14px;
  width:38px;
  height:38px;
  background:#00183D;
  color:#D4B05F;
  border:2px solid #D4B05F;
  border-radius:50%;
  font-family:Georgia,serif;
  font-size:1.4rem;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .2s
}
.curator-lightbox-close:hover{background:#D4B05F;color:#00183D}
.curator-lightbox-close:focus{outline:3px solid #fdf8ea;outline-offset:2px}

/* ============================================================
   CURATOR PREFACE — opens the exhibition at the top of the home page
   ============================================================ */
.home-preface{
  background:
    linear-gradient(180deg,#fbf6e2 0%,#f3e5bd 100%);
  padding:72px 20px 80px;
  text-align:center;
  border-top:6px solid #00183D;
  border-bottom:6px solid #00183D;
  box-shadow:inset 0 3px 0 #D4B05F,inset 0 -3px 0 #D4B05F
}
.home-preface-inner{max-width:780px;margin:0 auto;text-align:left}
.home-preface-flourish{
  text-align:center;
  color:#D4B05F;
  font-size:1.4rem;
  letter-spacing:1.2rem;
  padding-left:1.2rem;
  margin:0 0 1rem
}
.home-preface-flourish:last-child{margin:2rem 0 0}
.home-preface-kicker{
  display:block;
  text-align:center;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.86rem;
  letter-spacing:3px;
  color:#6d1919;
  font-weight:800;
  margin:0 0 .4rem
}
.home-preface-title{
  text-align:center;
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:2.6rem;
  font-weight:900;
  color:#00183D;
  line-height:1.05;
  margin:.2rem 0 .4rem;
  letter-spacing:-.3px
}
.home-preface-title::first-letter{color:#6d1919}
.home-preface-rule{
  height:2px;
  width:320px;
  max-width:80%;
  margin:.6rem auto 1.4rem;
  background:linear-gradient(90deg,transparent 0%,#D4B05F 20%,#00183D 50%,#D4B05F 80%,transparent 100%);
  position:relative
}
.home-preface-rule::after{
  content:'\2720';
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  background:#fbf6e2;
  color:#D4B05F;
  padding:0 10px;
  font-size:1.3rem
}
.home-preface-dek{
  text-align:center;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:1.14rem;
  color:#1a3a6d;
  line-height:1.7;
  margin:.4rem auto 2rem;
  max-width:620px
}
.home-preface-body p{
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.04rem;
  color:#1c1814;
  line-height:1.85;
  margin:0 0 1.1rem;
  text-align:left
}
.home-preface-body p strong{color:#00183D;font-weight:800}
.home-preface-body p em{color:#6d1919;font-style:italic}
.home-pref-num{
  color:#6d1919;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-weight:900;
  letter-spacing:1px;
  margin-right:.4rem
}
.home-preface-close{
  font-style:italic;
  text-align:center !important;
  color:#4a2c6d !important;
  font-size:1.04rem !important;
  margin-top:1.6rem !important;
  padding-top:1rem;
  border-top:1px dotted rgba(26,58,109,.35)
}
.home-preface-signature{
  text-align:right !important;
  font-family:Georgia,serif !important;
  font-variant:small-caps !important;
  font-size:.88rem !important;
  letter-spacing:2px !important;
  color:#6d1919 !important;
  font-weight:800 !important;
  margin-top:1rem !important
}
@media(max-width:768px){
  .home-preface{padding:48px 16px 56px}
  .home-preface-title{font-size:1.9rem}
  .home-preface-dek{font-size:1rem}
  .home-preface-body p{font-size:.98rem}
}

/* ============================================================
   CLASSICAL SIDE FLOURISHES — marginal decorations
   Periodic vine ornaments in empty side margins on wide screens.
   Based on medieval manuscript marginalia + Italian grotesque.
   Only visible >1200px where there's real empty side space.
   ============================================================ */
/* Section-level positioning — must be OUTSIDE the media query so that
   absolute-positioned corner vines anchor correctly at all screen sizes */
.home-section,
.home-reveal,
.home-tele,
.home-voices,
.home-preface,
.home-mission-banner,
.home-scripture-banner,
.home-final-cta{position:relative}

@media(min-width:1200px){
  /* Vertical side vines reserved for future use */
  .home-flourish-left,
  .home-flourish-right{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:64px;
    height:auto;
    opacity:.55;
    pointer-events:none;
    z-index:1
  }
  .home-flourish-left{left:18px}
  .home-flourish-right{right:18px}
  .home-flourish-left svg,
  .home-flourish-right svg{display:block;width:100%;height:auto}
  .home-flourish-right svg{transform:scaleX(-1)}
}

/* Inline small flourishes — centered ornamental rows inside sections */
.home-vine-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;
  margin:2.2rem auto 2.4rem;
  max-width:520px;
  padding:0 20px;
  color:#D4B05F
}
.home-vine-row::before,
.home-vine-row::after{
  content:'';
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(212,176,95,.65),transparent)
}
.home-vine-row .hachette-ornament{
  display:block;
  width:200px;
  max-width:60vw;
  height:auto;
  flex:0 0 auto;
  opacity:.78
}
@media(max-width:768px){
  .home-vine-row{margin:1.6rem auto 1.8rem;max-width:360px;gap:12px}
  .home-vine-row .hachette-ornament{width:140px}
}

/* Corner flourishes on specific sections — gold vine SVG */
.home-section-vine-corner{
  position:absolute;
  width:110px;
  height:160px;
  opacity:.72;
  pointer-events:none;
  z-index:2
}
.home-section-vine-corner svg{width:100%;height:100%;display:block}
.home-section-vine-corner.top-left{top:20px;left:20px}
.home-section-vine-corner.top-right{top:20px;right:20px;transform:scaleX(-1)}
.home-section-vine-corner.bottom-left{bottom:20px;left:20px;transform:scaleY(-1)}
.home-section-vine-corner.bottom-right{bottom:20px;right:20px;transform:scale(-1,-1)}
@media(max-width:900px){
  .home-section-vine-corner{display:none}
}

/* ============================================================
   MOBILE FIXES — side padding on edge-to-edge sections,
   plus lightbox scroll fix on small screens
   ============================================================ */

/* Force a safe side gutter on containers inside zero-padding sections */
@media(max-width:900px){
  .home-section .container,
  .home-section > .container{
    padding-left:16px !important;
    padding-right:16px !important
  }
  /* Quintivium section — inner banner + body both need side gutters */
  .home-section[style*="padding:0"] > div{
    padding-left:max(16px,4vw) !important;
    padding-right:max(16px,4vw) !important
  }
  .home-section[style*="padding:0"] > div[style*="background"]{
    padding-left:16px !important;
    padding-right:16px !important
  }
  /* Every inline-styled section with custom padding also needs a minimum horizontal gutter */
  section[style*="padding:"][style*="20px"]{
    padding-left:16px !important;
    padding-right:16px !important
  }

  /* Home-civ grid cards — tighten gutters */
  .home-civ-grid,
  .home-quint-grid,
  .home-diff-grid{
    padding-left:4px;
    padding-right:4px
  }

  /* Mission split — image + text need equal gutters */
  .home-mission-split{padding-left:14px;padding-right:14px}

  /* Reveal, telemedicine, voices two-column grids */
  .home-reveal-inner,
  .home-tele-inner,
  .home-voices-grid{padding-left:14px;padding-right:14px}

  /* Preface — inner body text */
  .home-preface{padding-left:16px !important;padding-right:16px !important}
  .home-preface-inner{padding:0 !important}
  .home-preface-body p,
  .home-preface-body details{
    padding-left:0;
    padding-right:0
  }

  /* Any directly-placed <p> inside a section without wrapping container */
  .home-section > p,
  .home-section > .container > p{
    padding-left:12px !important;
    padding-right:12px !important
  }
}

@media(max-width:480px){
  .home-section .container,
  .home-section > .container{padding-left:14px !important;padding-right:14px !important}
  .home-preface{padding-left:14px !important;padding-right:14px !important}
}

/* ============================================================
   LIGHTBOX SCROLL FIX — mobile text column shouldn't cap at 90vh
   On mobile the layout stacks image-over-text; the outer overlay
   handles scrolling, so the text panel must be free-flowing.
   ============================================================ */
@media(max-width:900px){
  .curator-lightbox{
    padding:20px 14px;
    -webkit-overflow-scrolling:touch
  }
  .curator-lightbox-inner{
    grid-template-columns:1fr !important;
    max-width:100% !important
  }
  .curator-lightbox-text{
    max-height:none !important;
    overflow-y:visible !important;
    padding:24px 24px 28px !important
  }
  .curator-lightbox-img-wrap{
    min-height:auto !important;
    padding:12px !important
  }
  .curator-lightbox-img-wrap img{
    max-height:45vh !important
  }
  .curator-lightbox-close{
    top:8px !important;
    right:8px !important;
    width:42px !important;
    height:42px !important;
    font-size:1.6rem !important
  }
}

/* On very small phones, also shrink the title so it doesn't overflow */
@media(max-width:480px){
  .curator-lightbox-title{font-size:1.4rem !important}
  .curator-lightbox-text{padding:20px 18px 24px !important}
}

/* ============================================================
   MOVEMENT MAP — sticky vertical table of contents, desktop only
   Like a book's running header, shows where the reader is.
   Hidden on mobile; main menu handles that surface.
   ============================================================ */
.home-movement-map{display:none}
@media(min-width:1280px){
  .home-movement-map{
    display:flex;
    flex-direction:column;
    position:fixed;
    left:24px;
    top:50%;
    transform:translateY(-50%);
    z-index:500;
    padding:18px 14px;
    background:linear-gradient(180deg,#fdf8ea 0%,#f3e5bd 100%);
    border:2px solid var(--h-navy);
    border-left:5px solid var(--h-rubric);
    box-shadow:0 3px 0 var(--h-gold),0 6px 22px rgba(26,58,109,.22),inset 0 0 0 1px rgba(212,176,95,.5);
    pointer-events:auto;
    max-height:calc(100vh - 80px);
    overflow-y:auto
  }
  .home-movement-map-label{
    display:block;
    font-family:Georgia,serif;
    font-variant:small-caps;
    font-size:.72rem;
    letter-spacing:2px;
    color:var(--h-rubric);
    font-weight:800;
    text-align:center;
    margin:0 0 .5rem;
    padding-bottom:.4rem;
    border-bottom:1px dotted var(--h-navy)
  }
  .home-movement-map a{
    display:flex;
    align-items:baseline;
    gap:8px;
    font-family:Georgia,serif;
    font-variant:small-caps;
    font-size:.8rem;
    letter-spacing:1px;
    color:var(--h-navy);
    padding:6px 8px;
    border-radius:0;
    text-decoration:none;
    font-weight:700;
    transition:all .2s;
    border-left:3px solid transparent
  }
  .home-movement-map a .mm-num{
    color:var(--h-rubric);
    font-weight:900;
    min-width:24px;
    text-align:right;
    font-variant:normal
  }
  .home-movement-map a .mm-name{
    opacity:.8;
    font-size:.76rem
  }
  .home-movement-map a:hover{
    background:#fffbe8;
    border-left-color:var(--h-gold);
    color:var(--h-navy-hi)
  }
  .home-movement-map a.active{
    background:var(--h-navy);
    color:var(--h-gold);
    border-left-color:var(--h-rubric)
  }
  .home-movement-map a.active .mm-num{color:var(--h-gold)}
  .home-movement-map a.active .mm-name{color:#fdf8ea;opacity:.95}
}
@media(min-width:1600px){
  .home-movement-map{left:48px;padding:22px 18px}
  .home-movement-map a{font-size:.88rem}
}

/* Hide left side-vine on sections when movement map is present (desktop) */
@media(min-width:1280px){
  }
@media(min-width:1600px){
  }

/* ============================================================
   CONTINUATION LINKS — "Read more at ..." inside each section
   ============================================================ */
.home-continuation{
  display:block;
  text-align:center;
  margin:2.4rem auto 0;
  padding:18px 26px;
  max-width:680px;
  background:linear-gradient(180deg,#fdf8ea 0%,#faf0cf 100%);
  border-top:2px solid var(--h-gold);
  border-bottom:2px solid var(--h-gold);
  position:relative
}
.home-continuation::before{
  content:'\2720';
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  background:#fdf8ea;
  color:var(--h-gold);
  padding:0 10px;
  font-size:1.2rem
}
.home-continuation-label{
  display:block;
  font-family:Georgia,serif;
  font-variant:small-caps;
  font-size:.76rem;
  letter-spacing:2px;
  color:var(--h-rubric);
  font-weight:800;
  margin-bottom:.5rem
}
.home-continuation-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:22px;
  flex-wrap:wrap
}
.home-continuation a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:1.02rem;
  color:var(--h-navy);
  text-decoration:none;
  padding:4px 0;
  border-bottom:1px dotted var(--h-gold);
  transition:color .15s,border-color .15s
}
.home-continuation a::after{
  content:'\2192';
  color:var(--h-gold);
  margin-left:2px;
  transition:transform .2s
}
.home-continuation a:hover{
  color:var(--h-rubric);
  border-bottom-color:var(--h-rubric)
}
.home-continuation a:hover::after{transform:translateX(4px)}
@media(max-width:768px){
  .home-continuation{padding:16px 18px;margin:1.8rem auto 0}
  .home-continuation-links{gap:14px}
  .home-continuation a{font-size:.96rem}
}

/* ============================================================
   DESKTOP NAVIGATION INCENTIVES
   Make the continuation cards more prominent + hover-active
   ============================================================ */
@media(min-width:900px){
  .home-continuation{
    margin:3rem auto 1rem;
    padding:24px 34px 22px;
    border:2px solid var(--h-gold);
    box-shadow:0 4px 0 var(--h-gold-dark),0 8px 26px rgba(26,58,109,.16);
    transition:all .25s
  }
  .home-continuation:hover{
    transform:translateY(-3px);
    box-shadow:0 6px 0 var(--h-gold-dark),0 12px 32px rgba(26,58,109,.22),0 0 0 1px var(--h-rubric)
  }
  .home-continuation-label{font-size:.84rem;letter-spacing:3px}
  .home-continuation-links{gap:30px}
  .home-continuation a{
    font-size:1.08rem;
    padding:6px 2px;
    position:relative
  }
  .home-continuation a:hover{
    color:var(--h-rubric);
    border-bottom-color:var(--h-rubric)
  }
}

/* Highlighted inline deep-links inside body copy — "learn more" style */
.home-deeplink{
  color:var(--h-navy-hi) !important;
  font-weight:700;
  text-decoration:none;
  border-bottom:2px solid var(--h-gold);
  padding-bottom:1px;
  transition:color .2s,border-color .2s
}
.home-deeplink:hover{
  color:var(--h-rubric) !important;
  border-bottom-color:var(--h-rubric)
}

/* Movement map — add a call-to-action hint at the bottom */
.home-movement-map-hint{
  display:none
}
@media(min-width:1280px){
  .home-movement-map-hint{
    display:block;
    font-family:Georgia,serif;
    font-style:italic;
    font-size:.68rem;
    color:var(--h-navy-hi);
    text-align:center;
    margin-top:.6rem;
    padding-top:.5rem;
    border-top:1px dotted var(--h-navy);
    opacity:.75
  }
}

/* ============================================================
   MOBILE TITLE WRAP FIXES — prevent mid-title line breaks
   Titles and their labels should either fit on one line or
   break cleanly at the semantic separator, never mid-word.
   ============================================================ */
@media(max-width:768px){
  /* Movement labels — tighter spacing + clean break */
  .home-movement{
    letter-spacing:2px;
    display:block;
    white-space:normal;
    font-size:.82rem
  }
  /* Mission kicker - keep on one line or break cleanly */
  .home-mission-kicker{
    white-space:nowrap;
    letter-spacing:2px;
    font-size:.76rem;
    padding:5px 12px
  }

  /* Classical Inheritance subsection titles - Trivium / Quadrivium / Quintivium */
  .home-section[aria-label="The classical inheritance"] h3{
    padding:0 8px
  }
  .home-section[aria-label="The classical inheritance"] h3 span{
    display:inline-block;
    white-space:nowrap;
    letter-spacing:1.2px !important;
    font-size:.85rem !important
  }
}
@media(max-width:480px){
  .home-movement{font-size:.78rem;letter-spacing:1.4px}
  .home-mission-kicker{font-size:.72rem;letter-spacing:1.4px;padding:5px 10px}
  .home-section[aria-label="The classical inheritance"] h3 span{font-size:.76rem !important}
}


/* Dark background contrast — brighter text on navy/dark sections */
.cls-rhetoric-divider *{color:#fdf0c8 !important}
.cls-rhetoric-divider .cls-rhetoric-gloss{color:#e8dfc0 !important}
.cls-rhetoric-divider .cls-rhetoric-latin{color:#f0d060 !important}
.cls-rhetoric-divider .curator-hint{color:#e8dfc0 !important}
.home-final-cta,.home-final-cta *{color:#fdf0c8}
.home-final-cta h2{color:#fff !important}
.home-final-cta h2::first-letter{color:#f0d060 !important}
.home-final-cta p{color:#e8dfc0 !important}
.home-final-cta .btn{color:#00183D !important}
.home-final-cta .btn.ghost{color:#fdf0c8 !important}
.home-diff-strip,.home-diff-strip *{color:#fdf0c8}
.home-diff-strip-item{color:#fdf0c8 !important}


/* SPLASH INTRO — 1-second logo overlay */
#splash-intro{position:fixed;inset:0;z-index:99999;background:#fdf8ea;display:flex;align-items:center;justify-content:center;padding:40px;animation:splashIntroFade .8s ease-out forwards;pointer-events:none;box-shadow:inset 0 0 0 6px #D4B05F,inset 0 0 0 10px #00183D,inset 0 0 0 14px #D4B05F}
#splash-intro::before,#splash-intro::after{content:'';position:absolute;left:40px;right:40px;height:2px;background:repeating-linear-gradient(90deg,#D4B05F 0 14px,#7A5E1A 14px 18px);opacity:.55}
#splash-intro::before{top:48px}
#splash-intro::after{bottom:48px}
#splash-intro picture{display:block;margin:0 auto;max-width:min(480px, 80vw);width:100%}
#splash-intro img{display:block;margin:0 auto;width:100%;max-width:100%;height:auto;filter:drop-shadow(0 8px 30px rgba(0,24,61,.18));animation:splashIntroLogo .8s ease-out forwards}
@keyframes splashIntroFade{0%,20%{opacity:1}100%{opacity:0}}
@keyframes splashIntroLogo{0%{transform:scale(.93);opacity:0}28%{transform:scale(1);opacity:1}72%{transform:scale(1);opacity:1}100%{transform:scale(1.04);opacity:0}}
@media(prefers-reduced-motion:reduce){#splash-intro{animation:splashIntroFadeReduced .2s linear forwards}#splash-intro img{animation:none;opacity:1;transform:none}@keyframes splashIntroFadeReduced{0%{opacity:1}100%{opacity:0;visibility:hidden}}}
@media(max-width:600px){#splash-intro{padding:24px}#splash-intro::before{top:32px}#splash-intro::after{bottom:32px}#splash-intro::before,#splash-intro::after{left:24px;right:24px}#splash-intro picture{max-width:min(420px, 78vw)}}
/* === BODY TEXT FLOOR — 1.12rem standard === */
.home-section p,.home-mission-text p,.home-civ-body,.home-faq-a p,.home-faq-a,.home-diff-card p{font-size:1.12rem;line-height:1.85}
/* ============================================================ */
  /* CANONICAL HEADER LOCKDOWN — !important wins over page-level   */
  /* CSS so every page renders the SAME header at the SAME size.   */
  /* ============================================================ */
  /* Utility bar */
  .utility-bar{background:#00183D !important;color:#e8d99a !important;font-size:.78rem !important;letter-spacing:.5px !important}
  .utility-bar-inner{max-width:1180px !important;margin:0 auto !important;padding:6px 20px !important;display:flex !important;justify-content:space-between !important;align-items:center !important;gap:18px !important;flex-wrap:wrap}
  .utility-bar-left,.utility-bar-right{display:flex !important;align-items:center !important;gap:18px !important}
  .utility-bar-center{flex:1 !important;text-align:center !important;color:#fdf0c8 !important;font-size:.78rem !important;letter-spacing:.5px !important;font-weight:600 !important}
  .utility-bar a,.utility-bar span.util-label{color:#e8d99a !important;text-decoration:none !important;font-weight:600 !important;padding:4px 2px !important;transition:color .15s}
  .utility-bar a:hover{color:#fff !important}
  .utility-bar .util-esa{color:#fdf0c8 !important;font-variant:small-caps !important;letter-spacing:1.5px !important;display:inline-flex !important;align-items:center !important;gap:6px !important}
  .utility-bar .util-esa::before{content:'✓';color:#D4B05F !important;font-weight:800 !important;font-size:.95rem !important;margin-right:2px}
  .utility-bar .util-sep{opacity:.35 !important;font-weight:400 !important}
  .utility-bar .util-apply{color:#fdf0c8 !important;border-bottom:1px solid rgba(253,240,200,.35) !important;padding-bottom:2px !important}
  .utility-bar .util-apply:hover{border-color:#fff !important;color:#fff !important}
  .utility-bar .util-call{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:26px !important;height:26px !important;background:#D4B05F !important;color:#00183D !important;border-radius:50% !important;padding:0 !important;transition:background .15s}
  .utility-bar .util-call:hover{background:#fff !important;color:#00183D !important}
  .utility-bar .util-call svg{width:14px !important;height:14px !important;fill:currentColor !important}

  /* Site header + nav frame */
  .site-header{background:#fff !important;border-bottom:1px solid #e8e4dd !important;position:sticky !important;top:0 !important;z-index:100 !important}
  .site-header .nav-inner{max-width:1140px !important;margin:0 auto !important;padding:0 20px !important;display:flex !important;align-items:center !important;justify-content:space-between !important;height:72px !important}
  .site-header .nav-logo img{height:46px !important;width:auto !important}

  /* Top-level nav links — modern, soft hover fill */
  .site-header .nav-links{display:flex !important;gap:4px !important;list-style:none !important;margin:0 !important;padding:0 !important;align-items:center !important}
  .site-header .nav-links>li{position:relative !important}
  .site-header .nav-links>li>a{display:block !important;padding:9px 16px !important;font-size:1.02rem !important;font-weight:700 !important;color:#2B405A !important;letter-spacing:.2px !important;border-radius:8px !important;transition:all .22s cubic-bezier(.16,1,.3,1) !important;background:transparent !important}
  .site-header .nav-links>li>a:hover,.site-header .nav-links>li:hover>a,.site-header .nav-links>li:focus-within>a{background:rgba(212,176,95,.10) !important;color:#00183D !important}

  /* ====== MODERN DROPDOWN — clean white frosted glass, sans body, photography ====== */
  .site-header .nav-links li .dropdown{display:none;position:absolute !important;top:calc(100% + 10px) !important;left:-12px !important;background:rgba(255,255,255,.92) !important;-webkit-backdrop-filter:blur(28px) saturate(180%) !important;backdrop-filter:blur(28px) saturate(180%) !important;border:1px solid rgba(0,24,61,.06) !important;border-radius:16px !important;box-shadow:0 28px 64px -16px rgba(0,24,61,.22),0 12px 28px -8px rgba(0,24,61,.10),inset 0 0 0 1px rgba(255,255,255,.7) !important;min-width:320px !important;padding:8px !important;z-index:200 !important}
  /* Hover bridge — transparent strip fills the gap between nav link and dropdown so the mouse never leaves the hover area */
  .site-header .nav-links li .dropdown::before,.site-header .nav-links li .mega-dropdown::before{content:'' !important;position:absolute !important;top:-18px !important;left:0 !important;right:0 !important;height:18px !important;background:transparent !important;display:block !important}
  .site-header .nav-links li:hover>.dropdown,.site-header .nav-links li:focus-within>.dropdown{display:block !important;animation:vmn-dd-fade .24s cubic-bezier(.16,1,.3,1) !important}
  @keyframes vmn-dd-fade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

  /* Menu links — modern system sans (THE big change to feel less dated) */
  .site-header .nav-links li .dropdown a{display:flex !important;align-items:center !important;gap:11px !important;padding:10px 14px !important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;font-size:.94rem !important;font-weight:500 !important;color:#2B405A !important;letter-spacing:-.1px !important;border-radius:8px !important;border:none !important;background:transparent !important;text-decoration:none !important;transition:background .18s ease,color .18s ease !important}
  .site-header .nav-links li .dropdown a:hover,.site-header .nav-links li .dropdown a:focus{background:rgba(212,176,95,.10) !important;color:#00183D !important}

  /* Section labels — small-caps Georgia (only place serif appears in body) */
  .site-header .nav-links li .dropdown .dd-label{display:block !important;padding:10px 14px 4px !important;font-family:Georgia,serif !important;font-variant:small-caps !important;font-size:.7rem !important;font-weight:700 !important;color:#9b7a1f !important;letter-spacing:3px !important;text-transform:none !important;border:none !important}
  .site-header .nav-links li .dropdown .dd-divider{display:none !important}

  /* Icons — small refined gold */
  .site-header .dd-icon{width:16px !important;height:16px !important;flex-shrink:0 !important;fill:#D4B05F !important;opacity:.75 !important;transition:opacity .2s,fill .2s !important}
  .site-header .nav-links li .dropdown a:hover .dd-icon,.site-header .mega-col a:hover .dd-icon{fill:#00183D !important;opacity:1 !important}

  /* Dropdown header zone — refined inline icon (no tile), big title, italic sub */
  .site-header .nav-links li .dropdown .dd-header,.site-header .nav-links li .mega-dropdown .dd-header{display:flex !important;align-items:center !important;gap:12px !important;padding:12px 14px 10px !important;margin:0 0 6px !important;border-bottom:1px solid rgba(0,24,61,.06) !important;background:transparent !important}
  .site-header .nav-links li .mega-dropdown .dd-header{grid-column:1 / -1 !important;margin:0 4px 14px !important;padding:8px 12px 14px !important}
  .site-header .dd-header-icon{width:auto !important;height:auto !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;background:transparent !important;border:none !important;border-radius:0 !important;flex-shrink:0 !important;box-shadow:none !important;padding:0 !important}
  .site-header .dd-header-icon svg{width:26px !important;height:26px !important;fill:#D4B05F !important;opacity:.92 !important}
  .site-header .dd-header-text{display:flex !important;flex-direction:column !important;gap:1px !important}
  .site-header .dd-header-title{font-family:Georgia,serif !important;font-size:1.1rem !important;font-weight:700 !important;color:#00183D !important;letter-spacing:-.1px !important;line-height:1.15 !important}
  .site-header .dd-header-sub{font-family:Georgia,serif !important;font-style:italic !important;font-size:.78rem !important;font-weight:400 !important;color:#6a7a8e !important;letter-spacing:0 !important;line-height:1.35 !important;margin-top:2px !important}

  /* Featured editorial card — bottom of every regular dropdown */
  .site-header .nav-links li .dropdown .dd-feature{display:flex !important;align-items:center !important;gap:14px !important;margin:8px 6px 4px !important;padding:10px !important;background:linear-gradient(135deg,rgba(212,176,95,.10) 0%,rgba(0,24,61,.05) 100%) !important;border:1px solid rgba(212,176,95,.20) !important;border-radius:12px !important;text-decoration:none !important;transition:background .2s ease,transform .2s ease !important}
  .site-header .nav-links li .dropdown .dd-feature:hover{background:linear-gradient(135deg,rgba(212,176,95,.18) 0%,rgba(0,24,61,.08) 100%) !important;transform:translateX(2px) !important}
  .site-header .nav-links li .dropdown .dd-feature-img{width:84px !important;height:64px !important;object-fit:cover !important;border-radius:8px !important;flex-shrink:0 !important;display:block !important;border:1px solid rgba(0,24,61,.08) !important}
  .site-header .nav-links li .dropdown .dd-feature-text{flex:1 !important;min-width:0 !important}
  .site-header .nav-links li .dropdown .dd-feature-kicker{display:block !important;font-family:Georgia,serif !important;font-variant:small-caps !important;font-size:.66rem !important;font-weight:700 !important;color:#D4B05F !important;letter-spacing:2.4px !important;margin:0 0 2px !important;text-transform:none !important;background:transparent !important;padding:0 !important}
  .site-header .nav-links li .dropdown .dd-feature h4{font-family:Georgia,serif !important;font-size:.96rem !important;font-weight:700 !important;color:#00183D !important;margin:0 0 3px !important;line-height:1.2 !important;letter-spacing:-.1px !important;padding:0 !important}
  .site-header .nav-links li .dropdown .dd-feature p{font-family:Georgia,serif !important;font-style:italic !important;font-size:.78rem !important;color:#5a6a7a !important;line-height:1.4 !important;margin:0 !important;padding:0 !important}

  /* Mega-dropdown feature column — large classical artwork spotlight */
  .site-header .nav-links li:hover>.mega-dropdown,.site-header .nav-links li:focus-within>.mega-dropdown{grid-template-columns:.9fr .9fr .9fr 1.5fr !important}
  .site-header .mega-col-feature{background:linear-gradient(180deg,rgba(212,176,95,.08) 0%,rgba(0,24,61,.04) 100%) !important;border:1px solid rgba(0,24,61,.06) !important;border-radius:12px !important;padding:0 !important;overflow:hidden !important;display:flex !important;flex-direction:column !important}
  .site-header .mega-col-feature-img{width:100% !important;aspect-ratio:16/10 !important;object-fit:cover !important;display:block !important;border-radius:0 !important;border:none !important}
  .site-header .mega-col-feature-text{padding:14px 18px 16px !important}
  .site-header .mega-col-feature-kicker{display:block !important;font-family:Georgia,serif !important;font-variant:small-caps !important;font-size:.68rem !important;font-weight:700 !important;color:#D4B05F !important;letter-spacing:2.6px !important;margin:0 0 5px !important}
  .site-header .mega-col-feature h4{font-family:Georgia,serif !important;font-size:1.08rem !important;font-weight:700 !important;color:#00183D !important;margin:0 0 5px !important;line-height:1.2 !important;letter-spacing:-.1px !important}
  .site-header .mega-col-feature p{font-family:Georgia,serif !important;font-style:italic !important;font-size:.85rem !important;color:#3a4a5e !important;line-height:1.5 !important;margin:0 0 10px !important;padding:0 !important}
  .site-header .mega-col-feature-link{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif !important;font-size:.84rem !important;font-weight:600 !important;color:#7A5E1A !important;text-decoration:none !important;letter-spacing:.2px !important;display:inline-flex !important;align-items:center !important;gap:6px !important;padding:0 !important;background:transparent !important;border-radius:0 !important;border:none !important;transition:gap .22s ease,color .2s !important}
  .site-header .mega-col-feature-link:hover,.site-header .mega-col-feature-link:focus{background:transparent !important;color:#00183D !important;gap:10px !important}

  /* Mega-dropdown — same modern white frosted glass */
  .site-header .nav-links li .mega-dropdown{display:none;position:absolute !important;top:calc(100% + 10px) !important;left:50% !important;transform:translateX(-50%) !important;background:rgba(255,255,255,.92) !important;-webkit-backdrop-filter:blur(28px) saturate(180%) !important;backdrop-filter:blur(28px) saturate(180%) !important;border:1px solid rgba(0,24,61,.06) !important;border-radius:16px !important;box-shadow:0 28px 64px -16px rgba(0,24,61,.22),0 12px 28px -8px rgba(0,24,61,.10),inset 0 0 0 1px rgba(255,255,255,.7) !important;min-width:820px !important;padding:18px !important;z-index:200 !important}
  .site-header .nav-links li:hover>.mega-dropdown,.site-header .nav-links li:focus-within>.mega-dropdown{display:grid !important;grid-template-columns:.9fr .9fr .9fr 1.5fr !important;gap:10px !important;animation:vmn-dd-fade .24s cubic-bezier(.16,1,.3,1) !important}
  .site-header .mega-col{padding:0 4px !important;border:none !important}
  .site-header .mega-col .dd-label{display:block !important;padding:6px 12px 6px !important;font-family:Georgia,serif !important;font-variant:small-caps !important;font-size:.7rem !important;font-weight:700 !important;color:#9b7a1f !important;letter-spacing:3px !important;text-transform:none !important;margin:0 0 4px !important;border:none !important;background:transparent !important}
  .site-header .mega-col a{display:flex !important;align-items:center !important;gap:10px !important;padding:9px 12px !important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;font-size:.92rem !important;font-weight:500 !important;color:#2B405A !important;letter-spacing:-.1px !important;border-radius:8px !important;border:none !important;background:transparent !important;text-decoration:none !important;transition:background .18s ease,color .18s ease !important}
  .site-header .mega-col a:hover,.site-header .mega-col a:focus{background:rgba(212,176,95,.10) !important;color:#00183D !important}

  /* Header CTA */
  .site-header .nav-cta{display:inline-flex !important;align-items:center !important;gap:6px !important;padding:10px 22px !important;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%) !important;color:#00183D !important;font-family:Georgia,serif !important;font-variant:small-caps !important;font-weight:800 !important;font-size:.92rem !important;letter-spacing:1.4px !important;border-style:solid !important;border-width:1px !important;border-color:rgba(168,133,46,.55) rgba(168,133,46,.65) rgba(120,90,20,.85) rgba(168,133,46,.65) !important;border-radius:8px !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 10px 12px -8px rgba(255,255,255,.25),inset 0 -2px 0 rgba(0,0,0,.10),inset 0 -10px 12px -8px rgba(0,0,0,.10),0 10px 22px -6px rgba(0,24,61,.22),0 4px 8px -2px rgba(0,24,61,.20),0 1px 2px rgba(0,0,0,.08) !important;text-shadow:0 1px 0 rgba(255,255,255,.28) !important;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,filter .2s !important}
  .site-header .nav-cta:hover{color:#00183D !important;transform:translateY(-1px) !important;filter:brightness(1.05) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 10px 12px -8px rgba(255,255,255,.30),inset 0 -2px 0 rgba(0,0,0,.08),inset 0 -10px 12px -8px rgba(0,0,0,.08),0 14px 28px -6px rgba(0,24,61,.28),0 6px 12px -2px rgba(0,24,61,.22),0 1px 2px rgba(0,0,0,.08) !important}
  .site-header .nav-cta:active{transform:translateY(0) !important;filter:brightness(.96) !important;box-shadow:inset 0 2px 4px rgba(0,0,0,.18),0 4px 8px -2px rgba(0,24,61,.18) !important}

  /* ====== SITEWIDE BUTTON SYSTEM — embossed metallic gold, multi-stop depth ====== */
  /* Primary buttons — every gold button class on the site gets the same metallic treatment */
  .btn-primary,.btn-enroll,.btn-esa,.btn-lead,.btn-prefooter,.btn-sticky,.btn-primary-v,.btn-gold,.btn-blog,a.btn-primary,a.btn-enroll,a.btn-esa,a.btn-lead,a.btn-prefooter,a.btn-sticky,a.btn-primary-v,a.btn-gold,a.btn-blog,button.btn-primary,button.btn-enroll,button.btn-esa,.sidebar-cta>a,.home-final-cta .btn:not(.ghost),.cta-banner .btn-primary,a.cta-banner .btn-primary{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;padding:14px 34px !important;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%) !important;color:#00183D !important;font-family:Georgia,serif !important;font-variant:small-caps !important;font-weight:800 !important;font-size:1rem !important;letter-spacing:1.6px !important;border-style:solid !important;border-width:1px !important;border-color:rgba(168,133,46,.55) rgba(168,133,46,.65) rgba(120,90,20,.85) rgba(168,133,46,.65) !important;border-radius:10px !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 14px 16px -10px rgba(255,255,255,.25),inset 0 -2px 0 rgba(0,0,0,.10),inset 0 -14px 16px -10px rgba(0,0,0,.12),0 16px 36px -10px rgba(0,24,61,.22),0 8px 16px -4px rgba(0,24,61,.22),0 2px 4px -1px rgba(0,0,0,.10) !important;text-shadow:0 1px 0 rgba(255,255,255,.30) !important;text-decoration:none !important;cursor:pointer !important;text-transform:none !important;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,filter .2s !important}
  .btn-primary::after,.btn-enroll::after,.btn-esa::after,.btn-lead::after,.btn-prefooter::after,.btn-sticky::after,.btn-primary-v::after,.btn-gold::after,.btn-blog::after,.sidebar-cta>a::after,.home-final-cta .btn:not(.ghost)::after{content:'\2192' !important;font-family:Georgia,serif !important;font-variant:normal !important;font-weight:400 !important;font-size:1.05rem !important;letter-spacing:0 !important;margin-left:2px !important;transition:transform .25s ease !important;display:inline !important}
  .btn-primary:hover,.btn-enroll:hover,.btn-esa:hover,.btn-lead:hover,.btn-prefooter:hover,.btn-sticky:hover,.btn-primary-v:hover,.btn-gold:hover,.btn-blog:hover,a.btn-primary:hover,a.btn-enroll:hover,a.btn-esa:hover,a.btn-lead:hover,a.btn-prefooter:hover,a.btn-sticky:hover,.sidebar-cta>a:hover,.home-final-cta .btn:not(.ghost):hover{transform:translateY(-2px) !important;filter:brightness(1.05) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 14px 16px -10px rgba(255,255,255,.30),inset 0 -2px 0 rgba(0,0,0,.08),inset 0 -14px 16px -10px rgba(0,0,0,.10),0 22px 44px -10px rgba(0,24,61,.28),0 12px 22px -4px rgba(0,24,61,.25),0 2px 4px -1px rgba(0,0,0,.10) !important;color:#00183D !important}
  .btn-primary:hover::after,.btn-enroll:hover::after,.btn-esa:hover::after,.btn-lead:hover::after,.btn-prefooter:hover::after,.btn-sticky:hover::after,.btn-primary-v:hover::after,.btn-gold:hover::after,.btn-blog:hover::after,.sidebar-cta>a:hover::after,.home-final-cta .btn:not(.ghost):hover::after{transform:translateX(4px) !important}
  .btn-primary:active,.btn-enroll:active,.btn-esa:active,.btn-lead:active,.btn-prefooter:active,.btn-sticky:active,.btn-primary-v:active,.btn-gold:active,.btn-blog:active,.sidebar-cta>a:active,.home-final-cta .btn:not(.ghost):active{transform:translateY(0) !important;filter:brightness(.95) !important;box-shadow:inset 0 2px 4px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.20),0 4px 10px -2px rgba(0,24,61,.18),0 2px 4px -1px rgba(0,0,0,.15) !important}

  /* Sibling-button spacing (catch-all so buttons never touch even without explicit wrapper) */
  .home-final-cta .btn+.btn,.home-final-cta a.btn+a.btn,.cta-banner .btn+.btn,.cta-buttons .btn+.btn,.cta-actions .btn+.btn{margin-left:18px !important}
  @media(max-width:640px){
    .home-final-cta .btn+.btn,.home-final-cta a.btn+a.btn,.cta-banner .btn+.btn,.cta-buttons .btn+.btn,.cta-actions .btn+.btn{margin-left:0 !important;margin-top:14px !important;display:inline-flex}
  }
  .home-final-cta-actions{display:flex !important;align-items:center !important;justify-content:center !important;flex-wrap:wrap !important;gap:18px !important;margin-top:1.2rem !important}
  .home-final-cta-actions .btn+.btn{margin-left:0 !important;margin-top:0 !important}

  /* Outline / ghost variant — paired depth */
  .btn-outline,.btn-outline-v,.btn-ghost,.btn-blog-outline,.btn-prefooter-outline,.btn-policy,a.btn-outline,a.btn-outline-v,a.btn-ghost,a.btn-blog-outline,a.btn-prefooter-outline,a.btn-policy,button.btn-outline,button.btn-ghost{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;padding:14px 34px !important;background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.18) 100%) !important;color:#7A5E1A !important;font-family:Georgia,serif !important;font-variant:small-caps !important;font-weight:800 !important;font-size:1rem !important;letter-spacing:1.6px !important;border:1px solid rgba(212,176,95,.5) !important;border-radius:10px !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 16px -4px rgba(0,24,61,.12),0 2px 4px -1px rgba(0,0,0,.06) !important;text-decoration:none !important;cursor:pointer !important;text-transform:none !important;transition:transform .25s cubic-bezier(.16,1,.3,1),background .2s,color .2s,border-color .2s,box-shadow .25s !important}
  .btn-outline::after,.btn-outline-v::after,.btn-ghost::after,.btn-blog-outline::after,.btn-prefooter-outline::after,.btn-policy::after{content:'\2192' !important;font-family:Georgia,serif !important;font-variant:normal !important;font-weight:400 !important;font-size:1.05rem !important;letter-spacing:0 !important;margin-left:2px !important;transition:transform .25s ease !important;display:inline !important}
  .btn-outline:hover,.btn-outline-v:hover,.btn-ghost:hover,.btn-blog-outline:hover,.btn-prefooter-outline:hover,.btn-policy:hover,a.btn-outline:hover,a.btn-outline-v:hover,a.btn-ghost:hover{transform:translateY(-2px) !important;background:rgba(212,176,95,.10) !important;color:#00183D !important;border-color:#D4B05F !important;box-shadow:0 8px 18px -4px rgba(0,24,61,.15),inset 0 1px 0 rgba(255,255,255,.5) !important}
  .btn-outline:hover::after,.btn-outline-v:hover::after,.btn-ghost:hover::after,.btn-blog-outline:hover::after,.btn-prefooter-outline:hover::after,.btn-policy:hover::after{transform:translateX(4px) !important}
  .btn-outline:hover::after{transform:translateX(4px) !important}

  /* ====== MOBILE NAV — modern slide-in panel, classical aesthetic ====== */
  /* Hamburger button — animates spans into an X when open */
  .site-header .mobile-toggle{display:none;position:relative !important;width:44px !important;height:44px !important;background:none !important;border:none !important;cursor:pointer !important;padding:10px !important;z-index:201 !important;border-radius:6px !important;transition:background .2s !important}
  .site-header .mobile-toggle:hover,.site-header .mobile-toggle:focus{background:rgba(212,176,95,.10) !important}
  .site-header .mobile-toggle span{display:block !important;width:24px !important;height:2px !important;background:#2B405A !important;margin:5px 0 !important;border-radius:2px !important;transform-origin:center !important;transition:transform .3s ease,opacity .2s ease,background-color .2s !important}
  /* When panel is open, hide hamburger — the panel has its own close X */
  .site-header .mobile-toggle[aria-expanded="true"]{display:none !important}

  /* Backdrop — semi-transparent navy with blur */
  .site-header .mobile-nav-backdrop{position:fixed !important;inset:0 !important;background:rgba(0,24,61,.55) !important;-webkit-backdrop-filter:blur(2px) !important;backdrop-filter:blur(2px) !important;z-index:150 !important;opacity:0 !important;pointer-events:none !important;transition:opacity .3s ease !important}
  .site-header .mobile-nav-backdrop.show{opacity:1 !important;pointer-events:auto !important}

  /* Mobile panel — modern white frosted glass slide-in (no more cream parchment) */
  .site-header .mobile-nav{display:flex !important;flex-direction:column !important;position:fixed !important;top:0 !important;right:0 !important;width:min(380px,88vw) !important;height:100vh !important;height:100dvh !important;background:rgba(255,255,255,.96) !important;-webkit-backdrop-filter:blur(28px) saturate(180%) !important;backdrop-filter:blur(28px) saturate(180%) !important;border-left:1px solid rgba(0,24,61,.08) !important;box-shadow:-20px 0 48px -10px rgba(0,24,61,.30),-8px 0 16px -4px rgba(0,24,61,.10),inset 1px 0 0 rgba(255,255,255,.6) !important;padding:0 !important;max-height:none !important;overflow:hidden !important;transform:translateX(100%) !important;transition:transform .35s cubic-bezier(.4,0,.2,1) !important;z-index:200 !important;border-top:none !important}
  .site-header .mobile-nav.active{transform:translateX(0) !important}

  /* Mobile panel header — overlays image edge-to-edge so the picture is full-bleed from the top */
  .site-header .mobile-nav-header{display:flex !important;align-items:center !important;justify-content:space-between !important;padding:10px 14px !important;border-bottom:none !important;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 100%) !important;flex-shrink:0 !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;z-index:5 !important;pointer-events:none !important}
  .site-header .mobile-nav-header > *{pointer-events:auto !important}
  .site-header .mobile-nav-mark{font-size:1.3rem !important;color:#E5C374 !important;font-family:Georgia,serif !important;letter-spacing:6px !important;line-height:1 !important;text-shadow:0 1px 3px rgba(0,0,0,.5) !important}
  .site-header .mobile-nav-close{background:rgba(0,0,0,.35) !important;border:none !important;cursor:pointer !important;width:40px !important;height:40px !important;font-size:1.8rem !important;color:#fff !important;font-family:Georgia,serif !important;line-height:1 !important;padding:0 !important;border-radius:50% !important;-webkit-backdrop-filter:blur(6px) !important;backdrop-filter:blur(6px) !important;text-shadow:0 1px 3px rgba(0,0,0,.5) !important;transition:background .2s,color .2s,transform .2s !important}
  .site-header .mobile-nav-close:hover,.site-header .mobile-nav-close:focus{background:rgba(0,0,0,.55) !important;color:#fff !important;transform:rotate(90deg) !important}

  /* Mobile content — scrollable, picture edge-to-edge at top, sub-toggles padded */
  .site-header .mobile-nav-content{flex:1 !important;overflow-y:auto !important;padding:0 !important;-webkit-overflow-scrolling:touch !important}
  .site-header .mobile-nav-content > .sub-toggle,.site-header .mobile-nav-content > .sub-menu,.site-header .mobile-nav-content > .mobile-nav-cta{margin-left:8px !important;margin-right:8px !important}
  .site-header .mobile-nav-content::-webkit-scrollbar{width:6px}
  .site-header .mobile-nav-content::-webkit-scrollbar-track{background:transparent}
  .site-header .mobile-nav-content::-webkit-scrollbar-thumb{background:rgba(212,176,95,.35);border-radius:3px}

  /* Sub-toggle — Georgia for section header, soft rounded hover fill */
  .site-header .mobile-nav .sub-toggle{font-family:Georgia,serif !important;font-weight:700 !important;font-size:1.06rem !important;cursor:pointer !important;padding:13px 16px !important;margin:2px 0 !important;border:none !important;background:transparent !important;border-radius:10px !important;width:100% !important;text-align:left !important;color:#2B405A !important;display:flex !important;align-items:center !important;justify-content:space-between !important;letter-spacing:-.2px !important;min-height:auto !important;transition:background .18s,color .18s !important}
  .site-header .mobile-nav .sub-toggle:hover,.site-header .mobile-nav .sub-toggle:focus{background:rgba(212,176,95,.10) !important;color:#00183D !important}
  .site-header .mobile-nav .sub-toggle .icon-svg{transition:transform .25s ease !important;fill:#D4B05F !important;width:14px !important;height:14px !important;flex-shrink:0 !important;opacity:.85 !important}
  .site-header .mobile-nav .sub-toggle[aria-expanded="true"]{background:rgba(212,176,95,.08) !important}
  .site-header .mobile-nav .sub-toggle[aria-expanded="true"] .icon-svg{transform:rotate(180deg) !important;opacity:1 !important}

  /* Sub-menu: collapse/expand with fade animation */
  .site-header .mobile-nav .sub-menu{display:none;padding:4px 4px 8px 12px !important;background:transparent !important;border:none !important;margin:0 0 4px !important}
  .site-header .mobile-nav .sub-menu.open{display:block !important;animation:vmn-submenu-fade .25s ease-out !important}
  @keyframes vmn-submenu-fade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

  /* Sub-menu links — modern system sans (the key change for "less dated") */
  .site-header .mobile-nav .sub-menu a{display:flex !important;align-items:center !important;gap:10px !important;padding:10px 14px !important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;font-size:.95rem !important;font-weight:500 !important;color:#2B405A !important;letter-spacing:-.1px !important;border:none !important;border-radius:8px !important;min-height:auto !important;text-decoration:none !important;transition:background .18s ease,color .18s ease !important}
  .site-header .mobile-nav .sub-menu a:hover,.site-header .mobile-nav .sub-menu a:focus{background:rgba(212,176,95,.10) !important;color:#00183D !important}

  /* Section sub-label inside sub-menu — small-caps Georgia (classical accent) */
  .site-header .mobile-nav .sub-menu .sub-label{display:block !important;padding:10px 14px 4px !important;font-family:Georgia,serif !important;font-variant:small-caps !important;font-size:.7rem !important;font-weight:700 !important;color:#9b7a1f !important;letter-spacing:2.6px !important;text-transform:none !important;border:none !important;margin:0 !important;background:transparent !important}
  .site-header .mobile-nav .sub-menu .sub-label::before{display:none !important}

  .site-header .mobile-nav .dd-icon{width:15px !important;height:15px !important;flex-shrink:0 !important;fill:#D4B05F !important;opacity:.75 !important;transition:fill .18s,opacity .18s !important}
  .site-header .mobile-nav .sub-menu a:hover .dd-icon,.site-header .mobile-nav .sub-menu a:focus .dd-icon{fill:#00183D !important;opacity:1 !important}

  /* Mobile featured spotlight — clean image on top + caption strip below (no overlay covering image) */
  .site-header .mobile-nav-feature{display:flex !important;flex-direction:column !important;margin:0 0 14px !important;border-radius:0 0 14px 14px !important;overflow:hidden !important;box-shadow:0 14px 32px -10px rgba(0,24,61,.30) !important;text-decoration:none !important;border:none !important;background:#fff !important}
  .site-header .mobile-nav-feature picture{display:block !important;width:100% !important;aspect-ratio:1100/499 !important;overflow:hidden !important;background:#1a1410 !important}
  .site-header .mobile-nav-feature img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center center !important;display:block !important;transition:transform .4s ease !important}
  .site-header .mobile-nav-feature:hover img{transform:scale(1.04) !important}
  .site-header .mobile-nav-feature-overlay{display:flex !important;flex-direction:column !important;align-items:flex-start !important;padding:14px 18px 16px !important;background:linear-gradient(180deg,rgba(212,176,95,.08) 0%,#fff 100%) !important;border-top:1px solid rgba(0,24,61,.06) !important}
  .site-header .mobile-nav-feature-kicker{display:block !important;font-family:Georgia,serif !important;font-variant:small-caps !important;font-size:.7rem !important;font-weight:700 !important;color:#9b7a1f !important;letter-spacing:2.6px !important;margin:0 0 3px !important;text-transform:none !important}
  .site-header .mobile-nav-feature h4{font-family:Georgia,serif !important;font-size:1.2rem !important;font-weight:700 !important;color:#00183D !important;margin:0 !important;letter-spacing:-.3px !important;line-height:1.15 !important}
  .site-header .mobile-nav-feature-cta{display:inline-flex !important;align-items:center !important;gap:5px !important;font-family:-apple-system,BlinkMacSystemFont,sans-serif !important;font-size:.86rem !important;font-weight:600 !important;color:#7A5E1A !important;margin-top:8px !important;letter-spacing:.2px !important}

  /* Body scroll lock when mobile nav open (set by JS) */
  body.mobile-nav-open{overflow:hidden !important}

  /* Responsive */
  @media(max-width:900px){
    .utility-bar-inner{flex-wrap:nowrap !important;justify-content:space-between !important;gap:8px !important;padding:6px 14px !important}
    .utility-bar-left,.utility-bar-right{gap:10px !important;flex-shrink:0 !important}
    .utility-bar-center{flex:1 !important;min-width:0 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;font-size:.72rem !important;letter-spacing:.6px !important;padding:0 6px !important}
    .utility-bar .util-esa{font-size:.74rem !important;letter-spacing:1px !important}
    .utility-bar .util-apply{font-size:.74rem !important}
    .utility-bar .util-call{width:24px !important;height:24px !important}
    .utility-bar .util-call svg{width:12px !important;height:12px !important}
    .utility-bar .util-long{display:none !important}
  }
  @media(max-width:420px){
    .utility-bar-inner{gap:6px !important;padding:6px 10px !important}
    .utility-bar-center{font-size:.66rem !important;letter-spacing:.3px !important}
    .utility-bar .util-esa{font-size:.7rem !important;letter-spacing:.6px !important}
    .utility-bar .util-apply{font-size:.7rem !important}
  }
  @media(max-width:991px){
    .utility-bar{padding:0 !important}
    .site-header .nav-links,.site-header .nav-cta-wrap{display:none !important}
    .site-header .mobile-toggle{display:block !important}
  }
.site-header .mobile-nav-cta{display:block !important;margin:24px 22px 8px !important;padding:14px 24px !important;background:linear-gradient(180deg,#EAC783 0%,#DCBA6E 28%,#D4B05F 55%,#B8954A 85%,#9C7C2E 100%) !important;color:#fff !important;font-family:Georgia,serif !important;font-weight:700 !important;font-size:1rem !important;letter-spacing:1.5px !important;text-transform:uppercase !important;border-radius:6px !important;text-align:center !important;text-decoration:none !important;box-shadow:0 4px 12px rgba(212,176,95,.3) !important;border:none !important;border-left:none !important;transition:all .2s ease !important}
  .site-header .mobile-nav-cta:hover,.site-header .mobile-nav-cta:focus{background:linear-gradient(135deg,#D4B05F 0%,#B89549 100%) !important;color:#fff !important;transform:translateY(-1px) !important;box-shadow:0 6px 16px rgba(212,176,95,.4) !important;padding-left:24px !important;border-left-color:transparent !important}
.home-different{background:linear-gradient(180deg,#fdfcf9 0%,#faf3e0 100%);padding:72px 20px 64px;border-top:1px solid rgba(212,176,95,.30);border-bottom:1px solid rgba(212,176,95,.30);position:relative}
.home-different::before,.home-different::after{content:'';position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,#D4B05F 30%,#9C7C2E 50%,#D4B05F 70%,transparent 100%)}
.home-different::before{top:0}
.home-different::after{bottom:0}
.home-different-inner{max-width:1080px;margin:0 auto;text-align:center}
.home-different-kicker{display:block;font-family:Georgia,serif;font-variant:small-caps;font-size:.82rem;font-weight:700;color:#7A5E1A;letter-spacing:3.5px;margin:0 0 .8rem}
.home-different-title{font-family:Georgia,serif;font-style:italic;font-size:2.4rem;font-weight:900;color:#00183D;margin:0 0 1rem;line-height:1.15;letter-spacing:-.3px}
.home-different-title::first-letter{color:#6d1919}
.home-different-lede{font-family:Georgia,serif;font-size:1.16rem;color:#3a4a5e;line-height:1.7;max-width:780px;margin:0 auto 2.6rem}
.home-different-lede strong{color:#00183D;font-weight:700}
.home-different-cards{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1080px;margin:0 auto;text-align:left}
.home-different-card{background:#fff;border:1px solid rgba(212,176,95,.30);border-radius:14px;overflow:hidden;box-shadow:0 14px 36px -10px rgba(0,24,61,.18),0 4px 10px -2px rgba(0,24,61,.08);transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s}
.home-different-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px -12px rgba(0,24,61,.25),0 8px 16px -2px rgba(0,24,61,.12)}
.home-different-img-wrap{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#1a1410}
.home-different-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.home-different-card:hover .home-different-img-wrap img{transform:scale(1.04)}
.home-different-card-body{padding:24px 28px 26px}
.home-different-card-tag{display:inline-block;font-family:Georgia,serif;font-variant:small-caps;font-size:.72rem;font-weight:700;color:#7A5E1A;letter-spacing:2.6px;background:rgba(212,176,95,.14);padding:5px 12px;border-radius:14px;border:1px solid rgba(212,176,95,.35);margin-bottom:.7rem}
.home-different-card h3{font-family:Georgia,serif;font-size:1.42rem;font-weight:800;color:#00183D;margin:0 0 .7rem;line-height:1.2;letter-spacing:-.2px}
.home-different-card p{font-family:Georgia,serif;font-size:1.02rem;color:#2B405A;line-height:1.65;margin:0 0 1.1rem}
.home-different-card p strong{color:#00183D;font-weight:700}
.home-different-card-link{display:inline-flex;align-items:center;gap:6px;font-family:Georgia,serif;font-variant:small-caps;font-size:.86rem;font-weight:700;color:#7A5E1A;letter-spacing:1.4px;text-decoration:none;transition:gap .25s,color .2s}
.home-different-card-link:hover{color:#00183D;gap:10px}
@media(max-width:820px){
  .home-different{padding:52px 16px 48px}
  .home-different-title{font-size:1.8rem}
  .home-different-lede{font-size:1.04rem}
  .home-different-cards{grid-template-columns:1fr;gap:22px}
  .home-different-card-body{padding:20px 22px 22px}
  .home-different-card h3{font-size:1.28rem}
}

/* ============================================================
   v9.23 — FOOTER REDESIGN (2026-05-03)
   Locked navy + gold + cream. Gold top rule. Classical ornaments.
   Same HTML structure — pure CSS upgrade.
   ============================================================ */
.site-footer{
  background:linear-gradient(180deg,#00183D 0%,#001530 100%) !important;
  color:#e8d99a !important;
  padding:64px 20px 28px !important;
  border-top:4px solid #D4B05F !important;
  box-shadow:inset 0 6px 0 #00183D,inset 0 12px 0 #D4B05F,inset 0 14px 0 #00183D !important;
  position:relative
}
.site-footer::before{
  content:'\002720';
  position:absolute;top:-18px;left:50%;
  transform:translateX(-50%);
  background:#00183D;color:#D4B05F;
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;
  border:3px solid #D4B05F;
  box-shadow:0 2px 0 #7A5E1A,0 4px 12px rgba(0,0,0,.3)
}
.site-footer .footer-grid{
  display:grid !important;
  grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr !important;
  gap:36px !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:8px 0 32px !important;
  border-bottom:1px solid rgba(212,176,95,.25)
}
.site-footer h3{
  color:#fdf0c8 !important;
  font-family:Georgia,serif !important;
  font-variant:small-caps !important;
  font-style:italic !important;
  font-weight:900 !important;
  font-size:1.02rem !important;
  letter-spacing:2.4px !important;
  margin:0 0 1.1rem !important;
  padding-bottom:.5rem !important;
  border-bottom:1px solid rgba(212,176,95,.35) !important;
  position:relative
}
.site-footer h3::after{
  content:'\002720';
  position:absolute;
  right:0;bottom:.45rem;
  color:#D4B05F;
  font-size:.7rem;
  opacity:.65
}
.site-footer p,
.site-footer li,
.site-footer a{
  font-family:Georgia,serif !important;
  font-size:1rem !important;
  line-height:1.7 !important;
  color:#e8d99a !important
}
.site-footer ul{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important
}
.site-footer ul li{
  padding:5px 0 !important;
  border-bottom:1px solid rgba(212,176,95,.12);
  position:relative
}
.site-footer ul li:last-child{border-bottom:none}
.site-footer ul li a{
  color:#e8d99a !important;
  text-decoration:none !important;
  transition:color .18s ease,padding-left .18s ease;
  display:inline-block
}
.site-footer ul li a:hover,
.site-footer ul li a:focus{
  color:#fdf0c8 !important;
  padding-left:8px !important
}
.site-footer ul li a:hover::before,
.site-footer ul li a:focus::before{
  content:'\00203A';
  position:absolute;left:0;
  color:#D4B05F;
  font-weight:900
}
.footer-logo{
  height:48px !important;
  width:auto !important;
  margin-bottom:1.1rem !important;
  filter:brightness(0) invert(1) !important;
  opacity:.95 !important
}
.site-footer .footer-grid > div:first-child p{
  font-style:italic !important;
  color:#fdf0c8 !important;
  font-size:1.02rem !important;
  line-height:1.7 !important;
  margin:0 0 .6rem !important;
  padding-left:14px !important;
  border-left:3px solid #D4B05F !important
}
.site-footer .icon-svg{
  fill:#D4B05F !important;
  margin-right:8px !important;
  vertical-align:-2px !important
}
.site-footer .footer-form-card{
  background:linear-gradient(180deg,#fdfcf9 0%,#faf3e0 100%) !important;
  border:1px solid rgba(212,176,95,.45) !important;
  border-top:4px solid #D4B05F !important;
  border-radius:8px !important;
  padding:22px 22px 22px !important;
  box-shadow:0 12px 32px -8px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.6) !important
}
.site-footer .footer-form-card-kicker{
  color:#7A5E1A !important;
  font-variant:small-caps !important;
  letter-spacing:2.4px !important;
  font-weight:900 !important
}
.site-footer .footer-form-card-intro{
  color:#2B405A !important;
  font-style:italic !important;
  font-size:.98rem !important;
  line-height:1.55 !important;
  margin:.4rem 0 .9rem !important
}
.site-footer .footer-social{
  display:flex !important;
  justify-content:center !important;
  gap:18px !important;
  padding:24px 0 18px !important
}
.site-footer .footer-social a{
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  background:rgba(212,176,95,.08) !important;
  border:1px solid rgba(212,176,95,.45) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  transition:all .2s ease
}
.site-footer .footer-social a:hover{
  background:#D4B05F !important;
  border-color:#D4B05F !important;
  transform:translateY(-2px)
}
.site-footer .footer-social a .icon-svg{
  fill:#D4B05F !important;
  width:18px !important;
  height:18px !important;
  margin:0 !important;
  transition:fill .2s ease
}
.site-footer .footer-social a:hover .icon-svg{fill:#00183D !important}
.site-footer .footer-copy{
  text-align:center !important;
  font-family:Georgia,serif !important;
  font-style:italic !important;
  font-size:.92rem !important;
  color:#b8a87e !important;
  letter-spacing:.4px !important;
  margin:6px auto !important;
  max-width:840px !important
}
.site-footer .footer-copy:first-of-type{
  padding-top:14px !important;
  border-top:1px solid rgba(212,176,95,.18) !important
}
@media(max-width:980px){
  .site-footer .footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:28px !important
  }
}
@media(max-width:600px){
  .site-footer{padding:48px 18px 24px !important}
  .site-footer .footer-grid{
    grid-template-columns:1fr !important;
    gap:26px !important
  }
  .site-footer h3{font-size:.96rem !important;letter-spacing:2px !important}
  .site-footer p,.site-footer li,.site-footer a{font-size:.95rem !important}
}
.cookie-banner{position:fixed;bottom:0;left:0;width:100%;background:linear-gradient(180deg,#fdf0c8 0%,#f7c873 100%);color:#00183D;text-align:center;padding:14px 20px;font-family:Georgia,'Times New Roman',serif;font-size:1rem;line-height:1.5;z-index:9999;display:none;box-shadow:0 -2px 14px rgba(0,24,61,.22);border-top:3px solid #00183D}
.cookie-banner.show{display:block;animation:cookie-slide-up .45s ease-out}
@keyframes cookie-slide-up{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
.cookie-banner-inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.cookie-banner p{margin:0;font-weight:500}
.cookie-banner a{color:#00183D;text-decoration:underline;font-weight:700}
.cookie-banner a:hover{color:#7A5E1A}
.cookie-banner button{background:linear-gradient(135deg,#00183D,#2B405A);color:#fdf0c8;border:none;padding:10px 26px;border-radius:6px;cursor:pointer;font-family:Georgia,serif;font-weight:700;font-size:.92rem;letter-spacing:1.5px;text-transform:uppercase;transition:all .2s;flex-shrink:0;box-shadow:0 2px 6px rgba(0,24,61,.25)}
.cookie-banner button:hover{background:linear-gradient(135deg,#2B405A,#3a5170);color:#fff;transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,24,61,.3)}
@media(max-width:600px){.cookie-banner{padding:12px 16px}.cookie-banner-inner{flex-direction:column;gap:10px}.cookie-banner p{font-size:.92rem}.cookie-banner button{width:100%;max-width:280px}}