
:root{--ink:#071c33;--ink2:#0a2947;--paper:#f4f1e8;--white:#fff;--lime:#b6dc00;--lime-deep:#80a000;--muted:#56677a;--line:#d7d8d2;--shadow:0 16px 45px rgba(7,28,51,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}img{max-width:100%;display:block}.shell{width:min(1460px,94%);margin-inline:auto}
.top-strip{height:34px;background:var(--lime);color:#061522;font-size:12px;font-weight:800}.top-strip__inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.site-header{height:116px;background:#faf9f5;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;transition:.3s ease}.site-header.is-scrolled{box-shadow:0 10px 28px rgba(7,28,51,.08);background:rgba(250,249,245,.96);backdrop-filter:blur(14px)}
.nav{height:100%;display:grid;grid-template-columns:330px minmax(0,1fr) auto;align-items:center;gap:28px}.brand{min-width:0;width:330px;display:grid;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:18px;color:var(--ink);text-decoration:none}.brand img{width:108px;height:108px;object-fit:contain;border-radius:50%;background:#fff}.brand__wordmark{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;white-space:nowrap;line-height:1}.brand__wordmark>span{display:block;font-size:30px;line-height:.88;font-weight:900;letter-spacing:.015em}.brand__wordmark>small{display:block;margin-top:10px;font-size:13px;line-height:1;font-weight:900;letter-spacing:.28em}
.nav-links{min-width:0;display:flex;align-items:center;justify-content:center;gap:24px;white-space:nowrap}.nav-links a{position:relative;flex:0 0 auto;color:var(--ink);text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:900;padding:45px 0 39px}.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:27px;height:2px;background:var(--lime-deep);transform:scaleX(0);transition:.25s}.nav-links a:hover,.nav-links a.active{color:var(--lime-deep)}.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}.header-cta{justify-self:end;background:var(--lime);color:var(--ink);text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:900;padding:18px 22px;white-space:nowrap;transition:.25s}.header-cta:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(128,160,0,.18)}.menu-button{display:none;border:0;background:none;font-size:25px;color:var(--ink)}
.hero{position:relative;min-height:540px;background:#06192e;overflow:hidden}.hero__bg{position:absolute;inset:0;background-position:center;background-size:cover;transform:scale(1.01)}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,39,.93) 0%,rgba(5,22,39,.76) 34%,rgba(5,22,39,.28) 66%,rgba(5,22,39,.04) 100%)}.hero__inner{position:relative;z-index:2;min-height:540px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:70px 0}.kicker{color:var(--lime);font-size:13px;font-weight:900;letter-spacing:.06em;margin:0 0 12px}.hero h1{max-width:760px;margin:0 0 18px;color:#fff;font-size:58px;line-height:1.02;letter-spacing:-.02em}.hero h1 span{color:var(--lime)}.hero p{max-width:650px;margin:0;color:rgba(255,255,255,.92);font-size:16px;line-height:1.65}
.section{padding:48px 0}.section.alt{background:#ebe8df}.section.dark{background:var(--ink);color:#fff}.section-head{text-align:center;margin-bottom:28px}.section-head .kicker{color:var(--lime-deep);margin-bottom:5px}.section-head h2{font-size:36px;line-height:1.15;margin:0 0 10px}.section-head p{max-width:760px;margin:0 auto;color:var(--muted);line-height:1.6}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 8px 22px rgba(7,28,51,.04);transition:.35s ease}.card:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(7,28,51,.11);border-color:rgba(128,160,0,.35)}.icon{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;background:rgba(182,220,0,.12);color:var(--lime-deep);font-size:25px;margin-bottom:16px}.card h3{font-size:20px;margin:0 0 8px}.card p{color:var(--muted);line-height:1.55;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.visual{overflow:hidden;border-radius:16px;box-shadow:var(--shadow)}.visual img{width:100%;aspect-ratio:16/10;object-fit:cover}.checklist{display:grid;gap:12px;margin:20px 0}.checklist div{display:flex;align-items:flex-start;gap:12px}.checklist i{color:var(--lime-deep);margin-top:3px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.contact-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid input,.form-grid textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:8px;font:inherit}.form-grid textarea{grid-column:1/-1;min-height:150px}.form-grid button{grid-column:1/-1;border:0;background:var(--lime);padding:14px;font-weight:900;text-transform:uppercase}
.footer{background:linear-gradient(90deg,#06192e,#082641);color:#fff}.footer__grid{display:grid;grid-template-columns:1.6fr .8fr .95fr .95fr 1fr;gap:42px;padding:36px 0 28px;align-items:start}.footer__brand-row{display:flex;align-items:center;gap:14px}.footer__brand img{width:88px;height:88px;border-radius:50%;object-fit:contain;background:#fff}.footer__wordmark{font-size:24px;font-weight:900;line-height:.86}.footer__wordmark small{display:block;font-size:9px;letter-spacing:.3em;margin-top:6px}.footer__brand p{max-width:320px;color:#d7dfe7;font-size:13px;line-height:1.55}.footer h4{color:var(--lime);text-transform:uppercase;font-size:12px;margin:0 0 12px}.footer a{display:block;color:#fff;text-decoration:none;font-size:13px;margin:8px 0}.footer__social{display:flex;gap:9px;margin-top:12px}.footer__social a{width:34px;height:34px;border:1px solid rgba(182,220,0,.55);border-radius:50%;display:grid;place-items:center;margin:0}.footer__cta{display:inline-flex!important;align-items:center;gap:8px;border:1px solid var(--lime);color:var(--lime)!important;padding:13px 15px!important;text-transform:uppercase;font-weight:900}.footer__bottom{border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;padding:14px 0 16px;color:#d7dfe7;font-size:11.5px}.footer__bottom strong{color:var(--lime);font-size:15px}.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1450px){.nav{grid-template-columns:285px minmax(0,1fr) auto;gap:18px}.brand{width:285px;grid-template-columns:88px minmax(0,1fr);gap:14px}.brand img{width:88px;height:88px}.brand__wordmark>span{font-size:25px}.brand__wordmark>small{font-size:11px;margin-top:8px}.nav-links{gap:15px}.nav-links a{font-size:10px}.header-cta{padding:17px;font-size:10px}}
@media(max-width:1120px){.site-header,.nav{height:94px}.nav{display:flex}.brand{width:auto;grid-template-columns:76px auto}.brand img{width:76px;height:76px}.brand__wordmark>span{font-size:22px}.brand__wordmark>small{font-size:10px}.nav-links{display:none;position:absolute;top:94px;left:0;right:0;background:#faf9f5;flex-direction:column;padding:18px;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.nav-links a{padding:9px}.menu-button{display:block;margin-left:auto}.grid{grid-template-columns:repeat(2,1fr)}.split,.contact-grid{grid-template-columns:1fr}.footer__grid{grid-template-columns:1.5fr repeat(3,1fr)}.footer__cta-wrap{grid-column:1/-1}}
@media(max-width:700px){.top-strip__inner span:last-child,.header-cta{display:none}.site-header,.nav{height:82px}.brand{grid-template-columns:62px auto;gap:10px}.brand img{width:62px;height:62px}.brand__wordmark>span{font-size:18px}.brand__wordmark>small{font-size:8px;margin-top:6px}.nav-links{top:82px}.hero,.hero__inner{min-height:500px}.hero h1{font-size:42px}.hero p{font-size:14px}.grid,.gallery,.form-grid{grid-template-columns:1fr}.form-grid textarea,.form-grid button{grid-column:1}.footer__grid{grid-template-columns:1fr 1fr}.footer__bottom{flex-direction:column;gap:6px}}
@media(max-width:460px){.footer__grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}

/* SHARP IMAGE PASS */
.hero__bg{
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  transform:none !important;
  filter:none !important;
  image-rendering:auto;
}
.visual img,
.gallery img{
  filter:none !important;
  transform:none !important;
  image-rendering:auto;
}
.visual img{
  object-fit:cover !important;
  object-position:center !important;
}
.gallery img{
  object-fit:cover !important;
  object-position:center !important;
}

/* Programs hero photographic framing */
body:has(.nav-links a.active[href="programs.html"]) .hero__bg{background-position:center right!important;}

/* Generated-visual integration: keep approved layout unchanged */
.hero__bg{background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;filter:none!important;transform:none!important;}
.visual img,.gallery img{filter:none!important;transform:none!important;image-rendering:auto;}
