:root{--green:#123c32;--green2:#1d5b48;--orange:#db7928;--cream:#f4eee3;--ink:#173027;--white:#fff;--line:rgba(255,255,255,.16)}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#102c25;color:#fff}body{overflow:hidden}.shell{position:relative;height:100dvh;min-height:640px;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:url("/assets/site-hero.webp");background-size:cover;background-position:center 38%;transform:scale(1.025)}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,34,28,.92) 0%,rgba(10,44,35,.7) 43%,rgba(12,32,27,.22) 72%,rgba(9,28,23,.45) 100%),linear-gradient(0deg,rgba(6,27,23,.78),transparent 42%)}.topbar{position:absolute;z-index:6;left:4vw;right:4vw;top:22px;display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:25px}.logo-wrap{display:flex;width:138px;height:122px;align-items:center;justify-content:center;padding:10px;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 16px 42px rgba(0,0,0,.14);backdrop-filter:blur(12px)}.logo-wrap img{display:block;max-width:100%;max-height:100%;object-fit:contain}.nav{justify-self:center;display:flex;gap:2px;padding:6px;border:1px solid var(--line);border-radius:999px;background:rgba(10,38,31,.34);backdrop-filter:blur(15px)}button,a{font:inherit}.nav button,.login-button{cursor:pointer;border:0;color:#fff;background:transparent;padding:10px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em}.nav button:hover{background:rgba(255,255,255,.13)}.login-button{display:inline-flex;align-items:center;text-decoration:none;background:#fff;color:var(--green);padding:12px 18px;box-shadow:0 10px 28px rgba(0,0,0,.12)}.hero-copy{position:absolute;z-index:3;left:6vw;top:50%;transform:translateY(-42%);width:min(700px,56vw)}.eyebrow,.panel-kicker,.experience-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:#efb06e}.hero-copy h1{margin:13px 0 18px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,5.3vw,82px);line-height:.95;font-weight:500;letter-spacing:-.045em}.hero-copy h1 em{font-style:italic;color:#f1c28c}.intro{max-width:620px;margin:0;color:rgba(255,255,255,.87);font-size:17px;line-height:1.6}.actions{display:flex;gap:12px;margin-top:28px}.primary,.secondary,.inline-cta,.map-button{border:0;border-radius:999px;padding:13px 19px;cursor:pointer;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary,.inline-cta,.map-button{background:var(--orange);color:#fff;box-shadow:0 12px 28px rgba(187,89,22,.28)}.secondary{border:1px solid rgba(255,255,255,.36);background:rgba(255,255,255,.09);color:#fff;backdrop-filter:blur(9px)}.proof-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.proof-row span{padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(8,36,30,.26);font-size:10px;font-weight:750;color:rgba(255,255,255,.8);backdrop-filter:blur(10px)}.student-experience{position:absolute;z-index:3;right:4vw;bottom:42px;width:min(390px,33vw);min-height:170px;padding:20px 22px;border:1px solid rgba(255,255,255,.17);border-radius:22px;background:rgba(8,36,30,.44);backdrop-filter:blur(18px);box-shadow:0 18px 45px rgba(0,0,0,.14)}.experience-kicker{margin:0 0 12px}.experience-slide{display:none}.experience-slide.active{display:block;animation:fadeIn .45s ease}.experience-slide p{margin:0;font-family:Georgia,serif;font-size:20px;line-height:1.25;color:#fff}.experience-slide span{display:block;margin-top:12px;color:#f4c494;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.experience-dots{display:flex;gap:6px;margin-top:16px}.experience-dots i{display:block;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.28)}.experience-dots i.active{width:20px;border-radius:999px;background:#efb06e}.location-chip{position:absolute;z-index:3;left:6vw;bottom:38px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(8,36,30,.35);color:#fff;padding:12px 14px;backdrop-filter:blur(14px);cursor:pointer}.location-chip b,.location-chip span{display:block}.location-chip b{font-size:13px}.location-chip span{font-size:10px;color:rgba(255,255,255,.68)}.panel{width:min(1050px,92vw);max-height:84vh;border:0;border-radius:28px;padding:0;background:rgba(249,246,240,.99);color:var(--ink);box-shadow:0 35px 90px rgba(0,0,0,.34);overflow:auto}.panel::backdrop{background:rgba(3,18,15,.68);backdrop-filter:blur(9px)}.close{position:sticky;z-index:5;float:right;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:0;background:#153c32;color:#fff;font-size:23px;cursor:pointer}.panel-section{padding:54px 58px 52px}.panel-kicker{color:var(--orange);margin:0 0 9px}.panel h2{margin:0 0 16px;font-family:Georgia,serif;font-size:clamp(34px,4vw,54px);font-weight:500;line-height:1.02;letter-spacing:-.035em}.panel p{line-height:1.65;color:#52625d;max-width:850px}.panel-lead{font-size:16px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.feature-grid article,.parent-grid article{padding:22px;border:1px solid #ded9cf;border-radius:18px;background:#fff}.feature-grid b,.feature-grid span,.parent-grid b,.parent-grid span{display:block}.feature-grid b,.parent-grid b{font-family:Georgia,serif;font-size:21px;color:#244b40}.feature-grid span,.parent-grid span{margin-top:7px;color:#66736f;font-size:13px;line-height:1.5}.signature-banner{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding:18px;border-radius:18px;background:#173f34;color:#fff}.signature-banner span,.signature-banner strong{padding:8px 10px}.signature-banner strong{color:#f2c38f}.included-strip{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.included-strip span{padding:9px 12px;border-radius:999px;background:#edf2ee;color:#305248;font-size:12px;font-weight:800}.facility-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.facility-groups article{padding:20px;border-radius:18px;background:#fff;border:1px solid #ded9cf}.facility-groups article>span{font-size:10px;font-weight:900;color:var(--orange);letter-spacing:.1em}.facility-groups b{display:block;margin-top:8px;font-family:Georgia,serif;font-size:20px;color:#244b40}.facility-groups p{font-size:13px;margin:7px 0 0}.study-callout{margin-top:22px;padding:22px;border-radius:18px;background:#173f34;color:#fff}.study-callout small,.study-callout strong{display:block}.study-callout small{text-transform:uppercase;letter-spacing:.12em;color:#efb06e;font-weight:800}.study-callout strong{margin-top:8px;font-family:Georgia,serif;font-size:24px;line-height:1.3}.security-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:25px}.security-flow article{padding:18px;border-radius:18px;background:#fff;border:1px solid #ded9cf}.security-flow em{font-style:normal;font-size:10px;font-weight:900;color:var(--orange)}.security-flow b,.security-flow span{display:block}.security-flow b{margin-top:8px;font-size:15px;color:#244b40}.security-flow span{margin-top:7px;font-size:12px;line-height:1.45;color:#66736f}.disclaimer{margin-top:18px;font-size:11px}.parent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.comparison{margin:24px 0;border:1px solid #d8ddd8;border-radius:18px;overflow:hidden;background:#fff}.comparison div{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;padding:13px 16px;border-bottom:1px solid #e8ece8}.comparison div:last-child{border-bottom:0}.comparison strong{color:#244b40}.comparison span{color:#65736f}.location-card,.visit-card{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:24px;border-radius:20px;background:#173f34;color:#fff}.location-card small,.location-card b,.visit-card small,.visit-card b{display:block}.location-card small,.visit-card small{color:#efb06e;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.location-card b,.visit-card b{margin-top:7px;font-family:Georgia,serif;font-size:25px}.location-card p,.visit-card p{margin:6px 0 0;color:rgba(255,255,255,.75)}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px}.contact-grid a{display:block;padding:16px 18px;text-decoration:none;border:1px solid #d9ded9;border-radius:16px;background:#fff;color:#244b40}.contact-grid small,.contact-grid b{display:block}.contact-grid small{text-transform:uppercase;letter-spacing:.1em;color:var(--orange);font-weight:800}.contact-grid b{margin-top:5px;font-size:14px}.gallery-stage{height:min(47vh,430px);border-radius:20px;overflow:hidden;background:#e6e1d8;margin-top:22px}.gallery-stage img{width:100%;height:100%;object-fit:cover}.gallery-thumbs{display:flex;gap:8px;margin-top:12px}.gallery-thumbs button{width:45px;height:34px;border-radius:999px;border:1px solid #c9cfc9;background:transparent;color:#315548;cursor:pointer;font-size:11px;font-weight:800}.gallery-thumbs button.active{background:var(--green);color:#fff;border-color:var(--green)}@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:1120px){.topbar{grid-template-columns:130px 1fr auto}.logo-wrap{width:118px;height:104px}.nav button{padding:9px 8px;font-size:10px}.hero-copy{width:58vw}.student-experience{width:min(340px,32vw)}}@media(max-width:840px){body{overflow:hidden}.shell{min-height:0}.topbar{left:18px;right:18px;top:14px;grid-template-columns:1fr auto}.logo-wrap{width:106px;height:94px}.nav{display:none}.hero-bg{background-position:62% center}.shade{background:linear-gradient(0deg,rgba(6,31,25,.96) 0%,rgba(7,34,28,.7) 58%,rgba(8,31,26,.3) 100%)}.hero-copy{left:22px;right:22px;top:44%;width:auto;transform:translateY(-38%)}.hero-copy h1{font-size:clamp(38px,11vw,62px)}.intro{font-size:14px;line-height:1.5;max-width:94%}.actions{margin-top:20px;gap:8px}.primary,.secondary{padding:11px 14px;font-size:12px}.proof-row{display:none}.student-experience{left:18px;right:18px;bottom:18px;width:auto;min-height:130px;padding:16px 18px}.experience-slide p{font-size:17px}.location-chip{display:none}.panel-section{padding:48px 22px 30px}.feature-grid,.facility-groups,.security-flow,.parent-grid,.contact-grid{grid-template-columns:1fr}.panel h2{font-size:36px}.comparison div{grid-template-columns:1fr}.location-card,.visit-card{align-items:flex-start;flex-direction:column}.gallery-stage{height:38vh}}@media(max-height:710px) and (min-width:841px){.topbar{top:12px}.logo-wrap{width:112px;height:98px}.hero-copy{top:46%}.hero-copy h1{font-size:52px}.intro{font-size:14px}.student-experience{bottom:20px}.location-chip{bottom:20px}}.panel-topbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:14px;padding:14px 18px;background:rgba(249,246,240,.97);border-bottom:1px solid #e3e1db;backdrop-filter:blur(14px)}.panel-nav{display:flex;gap:6px;flex:1;overflow-x:auto;scrollbar-width:none}.panel-nav::-webkit-scrollbar{display:none}.panel-nav button{flex:0 0 auto;border:1px solid #d8ddd8;background:#fff;color:#244b40;border-radius:999px;padding:9px 12px;font-size:11px;font-weight:800;cursor:pointer}.panel-nav button:hover,.panel-nav button.active{background:#173f34;color:#fff;border-color:#173f34}.panel-topbar .close{position:static;float:none;flex:0 0 auto;margin-left:auto;width:34px;height:34px;font-size:20px}.panel-section{padding-top:34px}@media(max-width:840px){.panel-topbar{padding:10px 12px}.panel-nav button{padding:8px 10px;font-size:10px}}.panel{width:min(1050px,92vw);height:min(720px,82vh);max-height:min(720px,82vh);display:flex;flex-direction:column;overflow:hidden}.panel-topbar{flex:0 0 auto}.panel #panelContent{flex:1 1 auto;min-height:0;overflow:auto}.panel-section{min-height:100%;padding-bottom:42px}.message-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.message-card{padding:24px;border:1px solid #ded9cf;border-radius:20px;background:#fff}.message-label{margin:0!important;color:var(--orange)!important;text-transform:uppercase;letter-spacing:.12em;font-size:10px!important;font-weight:900}.message-card blockquote{margin:14px 0 18px;font-family:Georgia,serif;font-size:20px;line-height:1.45;color:#244b40}.message-signoff b,.message-signoff span{display:block}.message-signoff b{color:#244b40}.message-signoff span{margin-top:5px;color:#6b7773;font-size:12px}.promise-note{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:start;margin-top:16px;padding:18px 20px;border-radius:18px;background:#173f34;color:#fff}.promise-note strong{color:#f2c38f}.promise-note span{line-height:1.5;color:rgba(255,255,255,.84)}@media(max-width:840px){.panel{width:92vw;height:84vh;max-height:84vh}.message-grid{grid-template-columns:1fr}.message-card blockquote{font-size:18px}.promise-note{grid-template-columns:1fr}}.message-card{display:flex;flex-direction:column}.message-signoff{margin-top:auto}
.gallery-stage{position:relative;background:#102c25;display:flex;align-items:center;justify-content:center}
.gallery-stage img{object-fit:contain;transition:opacity .22s ease,transform .22s ease}
.gallery-stage img.gallery-changing{opacity:.35;transform:scale(.995)}
.gallery-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(9,34,28,.72);color:#fff;font-family:Georgia,serif;font-size:34px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(0,0,0,.18);transition:background .18s,transform .18s,border-color .18s}
.gallery-arrow:hover{background:rgba(219,121,40,.94);border-color:rgba(255,255,255,.5);transform:translateY(-50%) scale(1.05)}
.gallery-prev{left:18px}.gallery-next{right:18px}
.gallery-status{position:absolute;z-index:3;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:7px 11px;border-radius:999px;background:rgba(8,30,25,.72);backdrop-filter:blur(10px);color:rgba(255,255,255,.9);font-size:10px;font-weight:800;letter-spacing:.08em}
.gallery-progress{display:block;width:72px;height:3px;border-radius:999px;background:rgba(255,255,255,.22);overflow:hidden}.gallery-progress i{display:block;height:100%;width:20%;border-radius:999px;background:#efb06e;transition:width .25s ease}
@media(max-width:840px){.gallery-arrow{width:42px;height:42px;font-size:29px}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-status{bottom:10px}}


/* Consistent viewport-fitted experience panels */
.panel{
  width:min(1120px,calc(100vw - 36px));
  height:min(780px,calc(100dvh - 36px));
  max-height:none;
  border-radius:26px;
}
.panel #panelContent{
  scrollbar-width:none;
  overscroll-behavior:contain;
}
.panel #panelContent::-webkit-scrollbar{display:none}
.panel-section{
  box-sizing:border-box;
  min-height:100%;
  padding:clamp(24px,3.6vh,38px) clamp(28px,4.2vw,52px) clamp(28px,4vh,42px);
}
.gallery-panel{
  height:100%;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.gallery-panel .panel-kicker{flex:0 0 auto}
.gallery-panel h2{flex:0 0 auto}
.gallery-stage{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  border-radius:20px;
}
.gallery-stage img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
@media (max-height:850px) and (min-width:841px){
  .panel{height:calc(100dvh - 28px)}
  .panel-topbar{padding:10px 16px}
  .panel-nav button{padding:7px 11px}
  .panel-section{padding:24px 42px 26px}
  .panel h2{font-size:clamp(32px,3.4vw,46px);margin-bottom:10px}
  .panel-lead{font-size:14px;margin-top:0}
  .feature-grid,.facility-groups,.parent-grid{margin-top:18px;gap:10px}
  .feature-grid article,.parent-grid article,.facility-groups article{padding:16px 18px}
  .feature-grid b,.parent-grid b,.facility-groups b{font-size:18px}
  .feature-grid span,.parent-grid span{font-size:12px}
}
@media (max-width:840px){
  .panel{
    width:calc(100vw - 20px);
    height:calc(100dvh - 20px);
    max-height:none;
    border-radius:22px;
  }
  .panel-section{padding:24px 18px 26px}
  .gallery-stage{height:auto;min-height:0}
}
