
:root{
  --navy:#061a31;--navy2:#0b2948;--navy3:#102f50;--gold:#d5a642;--gold2:#f0c45d;
  --ivory:#f8f4ec;--cream:#fffdf8;--ink:#0a2039;--muted:#657182;--line:#e3dccf;--white:#fff;
  --serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.6}
a{color:inherit}img{max-width:100%}.site-header{height:86px;background:rgba(4,24,45,.97);color:#fff;display:flex;align-items:center;padding:0 3.2vw;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(213,166,66,.25)}
.brand{display:flex;align-items:center;text-decoration:none;min-width:255px}.brand-mark{width:50px;height:58px;border:2px solid var(--gold);color:var(--gold);clip-path:polygon(50% 0,100% 13%,100% 70%,50% 100%,0 70%,0 13%);display:grid;place-items:center;font-size:24px;margin-right:13px}
.brand-text{display:flex;flex-direction:column;text-transform:uppercase;line-height:1.05}.brand-text strong{font:700 22px var(--serif);letter-spacing:.02em}.brand-text small{font-size:10px;letter-spacing:.48em;color:#e8d198;margin-top:7px}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600}.main-nav a{text-decoration:none;padding:31px 0 27px;position:relative;white-space:nowrap}.main-nav a.active:after,.main-nav a:not(.nav-cta):hover:after{content:"";position:absolute;left:0;right:0;bottom:19px;height:2px;background:var(--gold)}
.main-nav .nav-cta{background:var(--gold);color:#07182c;padding:12px 18px;border-radius:4px;margin-left:10px;font-weight:800}.menu-toggle{display:none}
.home-hero{min-height:620px;position:relative;background:var(--navy);overflow:hidden}.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center 32%;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,22,40,.98) 0%,rgba(4,22,40,.92) 27%,rgba(4,22,40,.58) 52%,rgba(4,22,40,.08) 80%),linear-gradient(0deg,rgba(4,22,40,.4),transparent 45%)}
.hero-inner{position:relative;z-index:2;max-width:610px;padding:92px 0 90px;margin-left:6vw;color:white}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800;color:var(--gold)}.hero-inner h1,.inner-hero h1{font:700 clamp(48px,5.3vw,82px)/.98 var(--serif);letter-spacing:-.035em;margin:18px 0 24px}.hero-inner h1 em,.inner-hero h1 em,.intro-grid h2 em{font-style:normal;color:var(--gold)}.hero-inner p{max-width:540px;font-size:17px;color:#edf3f8}.hero-actions{display:flex;gap:14px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;text-decoration:none;padding:13px 22px;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:800;border-radius:3px}.btn.gold{background:var(--gold);color:#07182c}.btn.outline{border:1px solid var(--gold);color:#fff}.btn.outline-gold{border:1px solid var(--gold);color:var(--gold)}.btn.light-outline{border:1px solid rgba(255,255,255,.7);color:#fff}.scroll-cue{position:absolute;z-index:4;bottom:-23px;left:50%;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);background:var(--navy);color:var(--gold);text-decoration:none}
.trust-ribbon{background:var(--navy);color:#fff;display:grid;grid-template-columns:repeat(5,1fr);padding:21px 4vw;border-top:1px solid rgba(213,166,66,.55)}.trust-ribbon>div{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;padding:7px 18px;border-right:1px solid rgba(213,166,66,.35)}.trust-ribbon>div:last-child{border-right:0}.trust-ribbon span{grid-row:1/3;color:var(--gold);font-size:26px;align-self:center}.trust-ribbon strong{font:600 17px var(--serif)}.trust-ribbon small{font-size:10px;color:#dce5ef}
.section{padding:92px 7vw}.intro-section{background:var(--ivory)}.section-kicker{display:block;margin-bottom:13px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.intro-grid h2,.section-heading h2,.feature-copy h2,.stage-copy h2,.split-copy h2,.navy-callout h2,.admissions-band h2,.empty-editorial h2,.contact-grid h2{font:700 clamp(36px,4vw,58px)/1.06 var(--serif);margin:0}.lead{font-size:20px;line-height:1.55}.text-link{display:inline-flex;margin-top:15px;text-decoration:none;font-weight:800;color:var(--navy)}.text-link span{color:var(--gold);margin-left:12px}
.schools-section{background:#fff}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:36px}.section-heading p{max-width:530px;margin:0}.school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.school-card{text-decoration:none;background:#fff;border:1px solid #ece6dc;box-shadow:0 12px 35px rgba(13,34,55,.07);overflow:hidden}.school-photo{height:260px;background-size:cover;background-position:center}.school-copy{padding:22px;position:relative}.school-copy>span{font-size:11px;color:var(--gold);font-weight:800}.school-copy h3{font:700 26px var(--serif);margin:3px 0 6px}.school-copy p{font-size:13px;color:var(--muted);min-height:42px}.school-copy b{font-size:11px;text-transform:uppercase}
.feature-story{display:grid;grid-template-columns:1.1fr .9fr;min-height:480px}.feature-photo{background-size:cover;background-position:center}.feature-copy{padding:80px 7vw;display:flex;flex-direction:column;justify-content:center}.navy{background:var(--navy);color:#fff}.feature-copy p{color:#d8e2ec}.gold-text{color:var(--gold)!important}.feature-copy .btn{align-self:flex-start;margin-top:18px}
.story-tiles{display:grid;grid-template-columns:repeat(3,1fr);min-height:380px}.story-tile{position:relative;background-size:cover;background-position:center}.story-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,22,40,.92),rgba(4,22,40,.1) 70%)}.story-tile>div{position:absolute;z-index:2;left:34px;bottom:28px;color:#fff}.story-tile span{color:var(--gold);font-size:24px}.story-tile h3{font:700 27px var(--serif);margin:5px 0 0}.story-tile p{margin:0;color:#dbe5ef}
.quote-section{padding:110px 15vw;text-align:center;background:var(--ivory)}.quote-mark{font:700 70px var(--serif);color:var(--gold);height:50px}.quote-section blockquote{font:600 clamp(31px,4vw,54px)/1.18 var(--serif);margin:20px auto;max-width:1000px}.anchor-divider{color:var(--gold);font-size:25px}
.admissions-band{background:var(--navy2);color:#fff;padding:70px 7vw;display:flex;justify-content:space-between;align-items:center;gap:40px}.admissions-band h2{max-width:780px}.admissions-actions{display:flex;gap:12px;flex-shrink:0}
.inner-hero{height:510px;position:relative;background-size:cover;background-position:center}.inner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,22,40,.95),rgba(4,22,40,.45) 62%,rgba(4,22,40,.05))}.inner-hero-copy{position:absolute;left:7vw;bottom:70px;color:#fff;max-width:740px}.inner-hero h1{margin:12px 0 18px}.inner-hero p{font-size:18px;max-width:650px}
.values-grid,.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.values-grid article,.steps-grid article{background:var(--ivory);padding:34px;border-top:3px solid var(--gold)}.values-grid span,.steps-grid span{font-weight:800;color:var(--gold)}.values-grid h3,.steps-grid h3{font:700 23px var(--serif)}.values-grid p,.steps-grid p{font-size:14px;color:var(--muted)}
.split-photo,.admission-photo-band{display:grid;grid-template-columns:1fr 1fr;min-height:480px}.split-copy,.admission-photo-band>div:last-child{padding:80px 7vw;display:flex;flex-direction:column;justify-content:center;background:var(--navy);color:#fff}.split-image,.admission-photo-band>div:first-child{background-size:cover;background-position:center}.admission-photo-band>div:last-child{background:var(--ivory);color:var(--ink)}.admission-photo-band .btn{align-self:flex-start;margin-top:20px}
.stage-list{display:flex;flex-direction:column;gap:80px}.stage-row{display:grid;grid-template-columns:1.2fr .8fr;min-height:450px;background:#fff}.stage-row.reverse{grid-template-columns:.8fr 1.2fr}.stage-row.reverse .stage-photo{order:2}.stage-photo{background-size:cover;background-position:center}.stage-copy{padding:55px;display:flex;flex-direction:column;justify-content:center;background:var(--ivory)}.stage-copy p{font-size:17px}.navy-callout{background:var(--navy);color:white;text-align:center;padding:90px 12vw}.navy-callout h2{max-width:950px;margin:10px auto 30px}
.mosaic{display:grid;grid-template-columns:1.3fr .7fr .8fr;grid-template-rows:260px 260px;gap:12px}.mosaic>div{background-size:cover;background-position:center}.mosaic-1{grid-row:1/3}.mosaic-2{grid-column:2/4}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.contact-details{margin-top:35px}.contact-card{background:var(--navy);color:#fff;padding:48px}.contact-card>span{font-size:40px;color:var(--gold)}.contact-card h3{font:700 35px var(--serif)}.empty-editorial{text-align:center;max-width:850px;margin:auto;padding:75px;border:1px solid var(--line);background:var(--ivory)}
.site-footer{background:#04162a;color:#dbe5ee;padding:65px 6vw 25px}.footer-grid{display:grid;grid-template-columns:1.6fr .8fr .8fr 1.2fr;gap:55px}.footer-brand{display:flex;gap:13px;align-items:center;color:#fff;font:700 23px var(--serif)}.footer-brand span{color:var(--gold)}.footer-grid h3{font:600 18px var(--serif);color:#fff}.footer-grid a{display:block;text-decoration:none;color:#cbd6e1;margin:7px 0}.footer-grid p{font-size:13px}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;font-size:11px;color:#8293a5}
.generated-photo-placeholder{background-color:#173a59!important;background-image:radial-gradient(circle at 70% 30%,rgba(213,166,66,.28),transparent 27%),linear-gradient(135deg,#0b2948,#173a59 60%,#0a223e)!important;position:relative}.generated-photo-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 48%,rgba(255,255,255,.045) 49%,transparent 50%);background-size:24px 24px}.generated-photo-placeholder span{position:absolute;right:24px;bottom:20px;color:rgba(255,255,255,.4);font:600 12px var(--serif)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1120px){.site-header{padding:0 2vw}.brand{min-width:210px}.brand-text strong{font-size:18px}.main-nav{gap:16px;font-size:11px}.main-nav .nav-cta{padding:10px}.hero-inner{margin-left:5vw}.trust-ribbon strong{font-size:14px}}
@media(max-width:900px){
  .site-header{height:72px;padding:0 20px}.brand{min-width:auto}.brand-mark{width:40px;height:46px;font-size:18px}.brand-text strong{font-size:16px}.brand-text small{font-size:7px}.menu-toggle{display:flex;margin-left:auto;width:42px;height:42px;background:none;border:0;flex-direction:column;justify-content:center;gap:5px}.menu-toggle span{display:block;height:2px;background:#fff;width:24px}.main-nav{position:fixed;inset:72px 0 auto 0;max-height:calc(100vh - 72px);overflow:auto;background:rgba(4,22,42,.99);padding:26px 24px 35px;display:none;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px}.main-nav a:after{display:none!important}.main-nav .nav-cta{text-align:center;margin:22px 0 0;padding:13px;border:0}
  .home-hero{min-height:660px}.hero-photo{background-position:61% center}.hero-shade{background:linear-gradient(0deg,rgba(4,22,40,.98) 0%,rgba(4,22,40,.82) 48%,rgba(4,22,40,.18) 100%)}.hero-inner{position:absolute;left:0;right:0;bottom:0;padding:140px 24px 60px;margin:0;max-width:none}.hero-inner h1{font-size:47px}.hero-inner p{font-size:14px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.scroll-cue{display:none}
  .trust-ribbon{display:flex;overflow-x:auto;padding:17px 16px;scroll-snap-type:x mandatory}.trust-ribbon>div{min-width:150px;scroll-snap-align:start;padding:5px 12px}.trust-ribbon strong{font-size:13px}.trust-ribbon small{font-size:9px}
  .section{padding:65px 22px}.intro-grid,.section-heading,.feature-story,.split-photo,.admission-photo-band,.contact-grid{grid-template-columns:1fr}.intro-grid{gap:30px}.intro-grid h2,.section-heading h2,.feature-copy h2,.stage-copy h2,.split-copy h2,.navy-callout h2,.admissions-band h2,.empty-editorial h2,.contact-grid h2{font-size:38px}.lead{font-size:18px}.section-heading{gap:18px}.school-grid{grid-template-columns:1fr}.school-photo{height:220px}.school-copy p{min-height:auto}
  .feature-photo{min-height:320px}.feature-copy{padding:60px 24px}.story-tiles{grid-template-columns:1fr;min-height:0}.story-tile{height:270px}.quote-section{padding:75px 24px}.quote-section blockquote{font-size:34px}
  .admissions-band{padding:55px 22px;flex-direction:column;align-items:flex-start}.admissions-actions{width:100%;flex-direction:column}.admissions-actions .btn{width:100%}
  .inner-hero{height:480px;background-position:center}.inner-overlay{background:linear-gradient(0deg,rgba(4,22,40,.96),rgba(4,22,40,.15) 80%)}.inner-hero-copy{left:22px;right:22px;bottom:48px}.inner-hero h1{font-size:46px}.inner-hero p{font-size:15px}
  .values-grid,.steps-grid{grid-template-columns:1fr 1fr}.split-image,.admission-photo-band>div:first-child{min-height:340px}.split-copy,.admission-photo-band>div:last-child{padding:60px 24px}.stage-list{gap:30px}.stage-row,.stage-row.reverse{grid-template-columns:1fr}.stage-row.reverse .stage-photo{order:0}.stage-photo{min-height:320px}.stage-copy{padding:38px 24px}
  .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}.mosaic-1{grid-row:1/3}.mosaic-2{grid-column:2;grid-row:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/3}.footer-bottom{flex-direction:column;gap:5px}
}
@media(max-width:560px){
  .hero-inner h1{font-size:42px}.values-grid,.steps-grid{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr;grid-template-rows:repeat(5,230px)}.mosaic-1,.mosaic-2{grid-row:auto;grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.empty-editorial{padding:45px 24px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Public Site V2 — approved real-student photographic homepage */
.approved-art-hero{background:#061a31;min-height:0!important;display:block!important;position:relative;overflow:hidden}
.approved-hero-frame{position:relative;width:100%;overflow:hidden;background:#061a31;line-height:0}
.approved-hero-art{display:block;width:100%;height:auto;object-fit:contain}
.hero-hotspot{position:absolute;z-index:4;display:block}
.hero-hotspot-visit{left:3.5%;top:76.2%;width:13.5%;height:7.2%}
.hero-hotspot-apply{left:18.1%;top:76.2%;width:14.2%;height:7.2%}
.mobile-hero-actions{display:none}
.home .trust-ribbon{border-top:1px solid rgba(211,164,62,.28)}
.home .school-photo,.home .feature-photo,.home .story-tile{background-position:center;background-size:cover}
.home .feature-photo{background-position:center 42%}
.home .story-tile:nth-child(1){background-position:center 35%}
.home .story-tile:nth-child(2){background-position:center 16%}
.home .story-tile:nth-child(3){background-position:center 32%}
@media(max-width:760px){
  .approved-hero-frame{overflow:hidden}
  .approved-hero-art{width:100%;height:auto;object-fit:contain}
  .hero-hotspot{display:none}
  .mobile-hero-actions{display:flex;gap:10px;padding:16px 18px 20px;background:#061a31}
  .mobile-hero-actions .btn{flex:1;justify-content:center;min-height:48px;padding:12px 10px;font-size:.78rem}
}

/* Great Anchor Public Site V2.1 — single-header homepage */
.home-art-nav .approved-hero-frame{position:relative}
.art-nav-hotspots{position:absolute;inset:0;z-index:6;pointer-events:none}
.art-nav-link{position:absolute;display:block;pointer-events:auto}
.art-home{left:27.4%;top:3.6%;width:4.3%;height:6.4%}
.art-about{left:32.8%;top:3.6%;width:6.2%;height:6.4%}
.art-schools{left:39.6%;top:3.6%;width:7.3%;height:6.4%}
.art-admissions{left:48.3%;top:3.6%;width:7.2%;height:6.4%}
.art-life{left:57.0%;top:3.6%;width:6.8%;height:6.4%}
.art-news{left:65.0%;top:3.6%;width:8.6%;height:6.4%}
.art-contact{left:74.0%;top:3.6%;width:5.9%;height:6.4%}
.art-portal{left:80.2%;top:3.6%;width:4.9%;height:6.4%}
.art-visit{left:86.3%;top:2.3%;width:12.1%;height:8.2%}

@media(max-width:760px){
  /* On phones keep the real accessible mobile header and crop the baked desktop header out of the artwork. */
  .home-art-nav>.site-header{display:flex}
  .home-art-nav .approved-hero-frame{aspect-ratio:1.55/1;overflow:hidden}
  .home-art-nav .approved-hero-art{width:100%;height:auto;transform:translateY(-10.8%);transform-origin:top center}
  .home-art-nav .art-nav-hotspots{display:none}
}
.home-mobile-nav{display:none}
@media(max-width:760px){
  .home-mobile-nav{display:block}
  .home-mobile-nav .site-header{display:flex;position:sticky;top:0}
}

/* Homepage Photography V2.2: intentional crops; source photos remain unaltered. */
.home .school-card:nth-child(1) .school-photo{background-position:center 45%}
.home .school-card:nth-child(2) .school-photo{background-position:center 38%}
.home .school-card:nth-child(3) .school-photo{background-position:center 43%}
@media(max-width:760px){.home .story-tile:nth-child(2){background-position:center 14%}.home .school-card:nth-child(3) .school-photo{background-position:center 42%}}

/* GAS-REVEAL-FAILSAFE-V2.4.2
   Public content must remain visible even when reveal JavaScript is absent,
   blocked, delayed, or fails. Animation is secondary to content access. */
.reveal,
.reveal.visible {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}
