:root{--ink:#173032;--ink-soft:#566d6e;--brand:#0e6e68;--brand-dark:#084f4b;--brand-pale:#e7f4f2;--accent:#d39e3f;--cream:#fbfaf6;--white:#fff;--line:#dce7e5;--shadow:0 20px 60px #1030321f;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--white);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}main{min-height:60vh}.container{width:min(1160px,100% - 40px);margin:0 auto}.narrow{width:min(850px,100% - 40px)}.utilityBar{background:var(--brand-dark);color:#d9eeeb;font-size:.78rem}.utilityBarInner{justify-content:space-between;gap:20px;padding:8px 0;display:flex}.siteHeader{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-bottom:1px solid #dce7e5e6;position:sticky;top:0}.navShell{justify-content:space-between;align-items:center;gap:24px;min-height:82px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:inline-flex}.brandMark{background:var(--brand);color:#fff;border-radius:14px;place-items:center;width:46px;height:46px;font-weight:900;display:grid}.brandText{flex-direction:column;min-width:0;line-height:1.12;display:flex}.brandText strong{font-size:.98rem}.brandText small{color:var(--ink-soft);letter-spacing:.04em;margin-top:4px;font-size:.72rem}.desktopNav{align-items:center;gap:18px;font-size:.87rem;font-weight:700;display:flex}.desktopNav a:hover{color:var(--brand)}.mobileNav{display:none}.announcement{color:#5b441e;background:#f5ead6;border-bottom:1px solid #ead6af}.announcementInner{text-align:center;justify-content:center;align-items:center;gap:18px;min-height:44px;font-size:.88rem;display:flex}.announcementInner strong{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.hero{background:radial-gradient(circle at 90% 10%,#d5efeb 0,#0000 34%),linear-gradient(135deg,#fbfaf6 0%,#f0f8f7 100%);padding:72px 0 76px;overflow:hidden}.heroGrid{grid-template-columns:1.02fr .98fr;align-items:center;gap:58px;display:grid}.eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.13em;margin-bottom:14px;font-size:.72rem;font-weight:850;display:inline-block}.hero h1,.pageHero h1,.splitSection h2,.sectionHeading h2,.proseGrid h2,.ctaGrid h2,.contactCard h2{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;line-height:1.07}.hero h1{font-size:clamp(3rem,5.7vw,5.3rem)}.heroCopy>p{max-width:680px;color:var(--ink-soft);margin:24px 0 0;font-size:1.1rem}.heroActions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{background:var(--brand);color:#fff;border:1px solid var(--brand);border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-weight:800;transition:all .18s;display:inline-flex}.button:hover{background:var(--brand-dark);transform:translateY(-1px)}.buttonSecondary{color:var(--brand-dark);background:0 0;border-color:#9ec9c4}.buttonSecondary:hover{background:var(--brand-pale);color:var(--brand-dark)}.buttonLight{color:var(--brand-dark);background:#fff;border-color:#fff}.heroPhoto{min-height:500px;box-shadow:var(--shadow);background:#d7e7e5;border-radius:28px;position:relative;overflow:hidden}.heroPhoto img,.photoFrame img,.galleryImage img{object-fit:cover}.heroPhotoOverlay{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#083432db;border-radius:18px;padding:22px;position:absolute;bottom:24px;left:24px;right:24px}.heroPhotoOverlay small{text-transform:uppercase;letter-spacing:.12em;color:#e3bd73;font-weight:800;display:block}.heroPhotoOverlay strong{margin-top:5px;font-size:1.15rem;display:block}.statsBand{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.statGrid{grid-template-columns:repeat(4,1fr);display:grid}.stat{text-align:center;border-right:1px solid var(--line);padding:25px 20px}.stat:first-child{border-left:1px solid var(--line)}.stat strong{color:var(--brand-dark);font-size:1.38rem;display:block}.stat span{color:var(--ink-soft);font-size:.82rem}.section{padding:84px 0}.sectionTint{background:var(--cream)}.sectionDark{color:#fff;background:linear-gradient(140deg,#0a504c,#17383a)}.splitSection,.proseGrid{grid-template-columns:.78fr 1.22fr;gap:74px;display:grid}.splitSection h2,.sectionHeading h2,.proseGrid h2,.ctaGrid h2{font-size:clamp(2.05rem,4vw,3.25rem)}.bodyLarge,.prose{color:var(--ink-soft);font-size:1.06rem}.bodyLarge p,.prose p:first-child{margin-top:0}.textLink{color:var(--brand);font-weight:800}.sectionHeading{max-width:760px;margin-bottom:34px}.sectionHeading.compact{max-width:680px}.sectionHeading p{color:var(--ink-soft)}.courseGrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;display:grid}.courseCard{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:32px;box-shadow:0 12px 36px #0f413e12}.courseCode{background:var(--brand-pale);width:62px;height:62px;color:var(--brand-dark);border-radius:18px;place-items:center;font-weight:900;display:inline-grid}.courseCard h3,.courseCard h2{margin:20px 0 18px;font-size:1.55rem;line-height:1.2}.courseMeta{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 22px;display:grid}.courseMeta span{background:var(--cream);border-radius:14px;padding:14px}.courseMeta small{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;display:block}.courseMeta strong{color:var(--brand-dark);margin-top:4px;font-size:1.1rem;display:block}.academicCard p{color:var(--ink-soft)}.photoStrip{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.facilitiesGrid{grid-template-columns:repeat(3,1fr)}.photoCard,.galleryPhoto{margin:0}.photoFrame{background:#e8efee;border-radius:18px;height:220px;position:relative;overflow:hidden}.photoCard figcaption,.galleryPhoto figcaption{margin-top:10px;font-size:.9rem;font-weight:750}.centerAction{justify-content:center;margin-top:28px;display:flex}.cardGrid3{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.featureCard{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:30px}.featureNumber{color:var(--accent);letter-spacing:.08em;font-weight:900}.featureCard h3{margin:22px 0 8px}.featureCard p{color:var(--ink-soft);margin:0}.ctaGrid{grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;display:grid}.ctaGrid p{color:#c9dfdc;max-width:700px}.eyebrowLight{color:#e2bc74}.ctaActions{justify-content:flex-end;display:flex}.pageHero{border-bottom:1px solid var(--line);background:linear-gradient(145deg,#edf7f5,#fbfaf6);padding:72px 0}.pageHero h1{font-size:clamp(2.7rem,6vw,4.7rem)}.pageHero p{max-width:720px;color:var(--ink-soft);font-size:1.06rem}.infoCallout{background:var(--brand-pale);border-left:4px solid var(--brand);border-radius:12px;margin-top:28px;padding:18px 20px}.noticeBox{border-radius:var(--radius);background:#fff8e9;border:1px solid #dfc998;padding:28px 30px}.noticeBox p{color:#66542d;margin-bottom:0}.topGap{margin-top:40px}.galleryPhotoGrid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.galleryImage{background:#e8efee;border-radius:20px;height:280px;position:relative;overflow:hidden}.emptyState{text-align:center;background:var(--cream);border:1px dashed #aec8c4;border-radius:24px;padding:70px 32px}.emptyState span{color:var(--brand);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:850}.emptyState h2{margin-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:2.2rem}.emptyState p{color:var(--ink-soft)}.contactGrid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.contactCard{border:1px solid var(--line);border-radius:var(--radius);padding:34px}.contactCard h2{font-size:2.05rem}.contactCard p{color:var(--ink-soft)}.mutedCard{background:var(--cream)}.siteFooter{color:#fff;background:#0b2c2f;padding-top:58px}.footerGrid{grid-template-columns:1.5fr .8fr .8fr 1.1fr;gap:40px;display:grid}.footerBrand{font-family:Georgia,Times New Roman,serif;font-size:1.55rem}.footerGrid h3{color:#c8e2de;text-transform:uppercase;letter-spacing:.09em;font-size:.8rem}.footerGrid p{color:#d5e3e1;font-size:.9rem}.mutedLight{color:#91b4b0!important}.footerLinks{color:#d5e3e1;flex-direction:column;gap:8px;font-size:.9rem;display:flex}.footerBottom{color:#8eb1ad;border-top:1px solid #ffffff1a;justify-content:space-between;gap:20px;margin-top:44px;padding:20px 0 25px;font-size:.78rem;display:flex}@media (max-width:980px){.utilityBarInner span:last-child,.desktopNav{display:none}.utilityBarInner{justify-content:center}.mobileNav{display:block;position:relative}.mobileNav summary{cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-weight:800;list-style:none}.mobileNav summary::-webkit-details-marker{display:none}.mobileNavPanel{border:1px solid var(--line);min-width:245px;box-shadow:var(--shadow);background:#fff;border-radius:16px;flex-direction:column;gap:3px;padding:14px;display:flex;position:absolute;top:50px;right:0}.mobileNavPanel a{padding:9px 10px}.heroGrid,.splitSection,.proseGrid,.ctaGrid{grid-template-columns:1fr}.heroPhoto{min-height:440px}.statGrid{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:1px solid var(--line);border-top:1px solid var(--line)}.stat:nth-child(4){border-top:1px solid var(--line)}.photoStrip,.facilitiesGrid,.galleryPhotoGrid,.cardGrid3{grid-template-columns:1fr 1fr}.ctaActions{justify-content:flex-start}.footerGrid{grid-template-columns:1.4fr 1fr 1fr}.footerGrid>div:last-child{grid-column:1/-1}}@media (max-width:640px){.container{width:min(100% - 28px,1160px)}.brandText strong{font-size:.86rem}.brandText small{font-size:.62rem}.brandMark{width:42px;height:42px}.navShell{min-height:70px}.announcementInner{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 0}.hero{padding:44px 0 54px}.hero h1{font-size:clamp(2.65rem,13vw,4rem)}.heroActions{flex-direction:column;align-items:stretch}.heroPhoto{border-radius:22px;min-height:360px}.statGrid,.photoStrip,.facilitiesGrid,.galleryPhotoGrid,.cardGrid3,.contactGrid,.footerGrid{grid-template-columns:1fr}.stat,.stat:first-child,.stat:nth-child(3){border-left:0;border-right:0;border-top:1px solid var(--line)}.stat:first-child{border-top:0}.section{padding:62px 0}.splitSection,.proseGrid{gap:24px}.courseMeta{grid-template-columns:1fr}.pageHero{padding:52px 0}.photoFrame{height:240px}.galleryImage{height:260px}.footerGrid>div:last-child{grid-column:auto}.footerBottom{flex-direction:column}}
