/* Shared rhythm and readable controls. Brand color stays in small, deliberate accents. */
:root{--soft-purple:#f5eef8;--soft-orange:#fff5e8}
html{scroll-padding-top:100px}
.section{padding-block:80px}.section h2{font-size:clamp(32px,2.7vw,46px)}
.eyebrow{font-size:12px;letter-spacing:.12em}
.nav-wrap>.button{min-height:44px}.menu-toggle{min-width:44px;min-height:44px}
.opening-copy{gap:30px;padding-right:clamp(28px,3vw,70px)}
.opening-programs{gap:12px}
.opening-programs>a{border:1px solid #eee6f0;border-radius:14px;padding:18px 16px 15px 58px; padding-left:58px;background:#fcfafd;transition:box-shadow .25s,border-color .25s;min-width:0}
.opening-programs>a:nth-child(2),.opening-programs>a:nth-child(3){background:#fffcf7;border-color:#f3e8d8}
.opening-programs a:after{display:none}.opening-programs>a:hover{border-color:#c9acd0;box-shadow:0 8px 22px #48244e0a}
.program-icon{position:absolute;left:15px;top:17px!important;margin:0!important;background:#efe2f4;color:var(--purple);width:31px;height:31px;border-radius:10px;display:grid!important;place-items:center}
.program-icon svg{width:20px;height:20px}.opening-programs>a:nth-child(2) .program-icon,.opening-programs>a:nth-child(3) .program-icon{background:#fff0d6;color:#a65500}
.opening-programs h2{font-size:21px;font-weight:700}.opening-programs p{font-size:14px;line-height:1.5}.opening-programs a>span:not(.program-icon){font-size:12px;margin-top:10px}
.opening-intro>p:last-child{font-size:16px}.opening-media-bottom div>span{font-size:12px}.film-trigger{font-size:14px;min-height:44px}
.experience{padding-block:65px 70px}
.experience-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.experience-heading .eyebrow{margin-bottom:12px}.experience-heading h2{font-size:clamp(30px,2.7vw,46px);line-height:1.15;margin:0;font-weight:700;letter-spacing:-.04em}
.experience-heading h2 em{font-style:normal;color:var(--purple)}.little-spark{display:inline-block;color:var(--orange);font-size:32px;vertical-align:top;margin-left:14px;transform:rotate(-12deg)}
.experience-heading>p{font-size:15px;color:var(--muted);margin:0}
.experience-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:25px;align-items:stretch}
.experience-card{border:1px solid #ece6ee;background:#fff;border-radius:22px;overflow:hidden;text-align:left;padding:0;color:var(--ink);font:inherit;display:flex;flex-direction:column;min-width:0;position:relative;transition:box-shadow .3s,border-color .3s}
.experience-card:hover{border-color:#d6c5dc;box-shadow:0 18px 36px #341a3b10}
.experience-image{height:clamp(210px,17vw,320px);position:relative;overflow:hidden;flex-shrink:0}
.experience-image>img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s}
.experience-card:hover .experience-image>img{transform:scale(1.035)}
.experience-body{padding:27px 28px 23px;display:flex;flex-direction:column;flex:1}
.story-tag{font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--purple)}
.experience-body h3{font-size:clamp(25px,1.9vw,33px);line-height:1.16;margin:13px 0 14px;font-weight:750}
.experience-body p{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 23px;max-width:37ch}
.experience-action{font-size:14px;font-weight:800;color:var(--purple);display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:auto;padding-top:17px;border-top:1px solid #eee8f0}
.experience-action>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--soft-purple);font-size:22px;font-weight:500}
.image-sticker{position:absolute;bottom:17px;left:20px;background:#fff;color:var(--purple);padding:8px 14px;border-radius:8px;box-shadow:0 4px 15px #27132c14;font-size:14px;font-weight:800;transform:rotate(-4deg)}
.warm-sticker{color:#6e4809;background:#fff9ed;transform:rotate(3deg)}
.campus-story .experience-image{position:absolute;inset:0;height:100%}
.campus-story .campus-crop>img{width:250%;max-width:none;position:absolute;right:0;object-position:right center}
.campus-story:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#22142610 15%,#22142695 48%,#221426f2);pointer-events:none}
.campus-story .experience-body{position:relative;z-index:1;justify-content:flex-end;padding-top:185px;color:white}
.campus-story .story-tag{color:#ffe1b8}.campus-story h3{font-size:clamp(28px,2.2vw,38px)}
.campus-story p{color:#f0e8f2}.campus-story .experience-action{color:white;border-color:#ffffff40;flex:0;margin-top:0}
.campus-story .experience-action>span{background:#ffffff24}
.education{background:#faf8fc}
.education-tabs{display:flex;gap:10px;max-width:900px;margin-top:33px}
.education-tabs button{flex:1;border:1px solid #e6dce9;background:#fff;border-radius:14px 14px 0 0;text-align:left;padding:20px 25px;color:#56465b;font-size:22px;font-weight:750;line-height:1.3;position:relative;transition:background .2s,color .2s}
.education-tabs button>span{display:block;font-size:13px;font-weight:500;margin-top:5px}
.education-tabs button[aria-selected=true]{background:var(--purple);color:white;border-color:var(--purple)}
.education-panel{background:white;border:1px solid #e6dce9;border-radius:0 22px 22px 22px;display:grid;grid-template-columns:1.5fr 1fr;gap:50px;padding:45px clamp(30px,4vw,80px);align-items:center}
.panel-kicker{font-size:12px;color:var(--purple);font-weight:800;letter-spacing:.07em}
.education-panel h3{font-size:clamp(28px,2.4vw,40px);line-height:1.2;font-weight:700;margin:16px 0}
.education-panel-copy>p{font-size:17px;color:var(--muted);max-width:52ch}
.education-panel ul{list-style:none;padding:0;margin:24px 0;display:flex;flex-wrap:wrap;gap:10px}
.education-panel li{font-size:14px;background:#f7f3f9;border-radius:8px;padding:9px 12px}
.education-panel li:before{content:'✓';color:var(--purple);margin-right:8px}
.education-panel figure{max-width:360px;margin:0;justify-self:center;transform:rotate(2deg);background:#fff;padding:10px 10px 0;box-shadow:0 8px 28px #44205212;border:1px solid #eee5f1;border-radius:9px}
.education-panel figure img{width:100%;height:auto;aspect-ratio:360/250;object-fit:contain;border-radius:5px}
.education-panel figcaption{font-size:13px;color:var(--muted);padding:13px 5px}
.approach{padding-block:60px}.approach-copy>p:first-child{font-size:clamp(20px,1.7vw,25px)}
.language-list>div{border:1px solid #eee7f1;background:white}.language-list>div:nth-child(2){background:#fffcf7;border-color:#f4eadb}
.language-list span{background:var(--soft-purple);color:var(--purple);border-radius:50%;width:27px;height:27px;display:grid;place-items:center;left:17px;font-size:12px}
.language-list h3{font-weight:700}.language-title>p:not(.eyebrow){font-size:17px}
.news-card{border:1px solid #ece5ee;border-radius:18px;overflow:hidden;background:white;padding:0 0 24px;transition:box-shadow .2s}
.news-card:hover{box-shadow:0 10px 24px #3920400a}.news-card img{border-radius:0;height:clamp(220px,17vw,310px);object-position:center}
.news-card h3{font-size:22px;margin:0 24px;font-weight:700}.news-meta{margin:21px 24px 12px;font-size:12px}
.news-more{display:block;margin:30px auto 0;border:1px solid #dbcbdf;background:white;border-radius:9px;padding:13px 25px;color:var(--purple);font-size:14px;font-weight:750;min-height:46px}
.news-more:hover{background:var(--soft-purple)}.filter-group button{font-size:14px;min-height:44px}
.faq-list summary{font-size:17px;padding-block:25px}.faq-list details[open]{background:#fcf9fd;border-radius:10px}.faq-list details[open] summary,.faq-list details[open] p{padding-left:18px;padding-right:42px}
.visit-card{border-radius:23px}.visit-copy{padding:45px}.visit-copy h2{font-weight:700;font-size:clamp(31px,2.7vw,45px)}.visit-steps{font-size:14px}.visit-location div>span{font-size:14px}
.new-footer .footer-intro h2{font-size:clamp(42px,5vw,76px);font-weight:800}.footer-links a,.footer-links button,.footer-reach>a,.social-pills a{font-size:14px}.social-pills a{padding:9px 11px}.footer-reach .footer-phone{font-size:26px}.footer-reach address{font-size:14px}
.detail-layout{grid-template-columns:minmax(0,1fr) 280px;gap:65px}.detail-layout>div{max-width:900px}.detail-layout h1{font-size:clamp(34px,3.2vw,52px)}.detail-layout aside{position:sticky;top:110px;align-self:start}.detail-layout aside>a[aria-current=page]{color:var(--purple);font-weight:800;border-left:3px solid var(--orange);padding-left:14px}
.prose{max-width:72ch;line-height:1.85}.prose h2,.prose h3{margin-top:36px;scroll-margin-top:115px;line-height:1.4;letter-spacing:-.02em}.prose>p>strong:only-child{font-size:19px;color:var(--purple)}
.article-toc{position:static;top:auto;left:auto;right:auto;width:auto;box-shadow:none;display:flex;flex-wrap:wrap;gap:9px;background:#faf7fc;border:1px solid #e9dfee;border-radius:12px;padding:20px;margin:0 0 30px;font-size:14px;font-weight:600}.article-toc>strong{width:100%;font-size:12px;letter-spacing:.07em;color:var(--purple);margin-bottom:5px}.article-toc>a{max-width:100%;white-space:normal;overflow-wrap:anywhere;padding:6px 10px;background:white;border:1px solid #e8ddec;border-radius:6px}
@media(max-width:1150px){.opening-programs>a{padding:15px 13px 15px 48px}.program-icon{left:10px;width:28px;height:28px}.opening-programs h2{font-size:19px}.opening-programs p{font-size:13px}.opening-programs p br{display:none}.experience-grid{gap:18px}.experience-body{padding:23px}.experience-body h3{font-size:27px}.education-panel{gap:30px;padding:35px}.education-panel h3{font-size:32px}.education-panel-copy>p{font-size:16px}}
@media(max-width:950px){.opening{grid-template-columns:1fr 1fr}.opening-copy{padding:28px 22px}.opening-programs>a{padding:45px 13px 14px}.program-icon{top:10px!important;left:12px}.opening-programs h2{font-size:20px}.experience-grid{grid-template-columns:1fr 1fr}.campus-story{grid-column:1/-1;min-height:330px}.campus-story .experience-body{padding-top:80px;max-width:500px}.campus-story .experience-image img{width:250%;object-position:right 50%}.experience-heading{align-items:start}.experience-heading>p{max-width:230px}.education-panel{grid-template-columns:1.2fr 1fr;gap:22px}.education-tabs button{padding:16px 20px}.education-panel h3{font-size:28px}.education-panel li{font-size:13px}.detail-layout{gap:35px;grid-template-columns:minmax(0,1fr) 230px}.experience-image{height:240px}}
@media(max-width:650px){.opening{display:flex}.opening-copy{padding:28px 22px}.opening-programs>a{padding:15px 12px}.program-icon{position:static;display:grid!important;margin:0 0 12px!important;width:34px;height:34px}.opening-programs h2{font-size:21px}.opening-programs p{font-size:14px}.opening-programs a>span:not(.program-icon){font-size:12px}.opening-intro>p:last-child{font-size:15px}.opening-media{height:340px;min-height:340px}.opening-media-bottom{align-items:start;gap:10px}.opening-media-bottom p{font-size:20px}.opening-media-bottom div>span{font-size:10px}.film-trigger{font-size:12px;padding:8px 12px;min-height:42px}
.experience{padding-block:45px}.experience-heading{display:block;margin-bottom:24px}.experience-heading h2{font-size:33px;max-width:310px;line-height:1.17}.little-spark{font-size:25px;margin-left:9px}.experience-heading>p{max-width:none;font-size:15px;margin-top:17px}.experience-grid{grid-template-columns:1fr;gap:22px}.campus-story{grid-column:auto;min-height:410px}.campus-story .experience-image img{width:250%}.experience-body{padding:25px}.experience-body h3{font-size:29px}.experience-body p{font-size:16px}.experience-image{height:240px}.campus-story .experience-body{padding-top:145px;max-width:none}
.education-tabs{gap:6px;margin-top:24px}.education-tabs button{font-size:16px;padding:15px 8px;text-align:center;border-radius:10px 10px 0 0}.education-tabs button>span{display:none}.education-panel{grid-template-columns:1fr;padding:25px 22px;gap:27px;border-radius:0 0 16px 16px}.education-panel h3{font-size:29px}.education-panel ul{gap:8px}.education-panel figure{max-width:320px;transform:rotate(1deg)}.education-panel figcaption{font-size:12px}.panel-kicker{font-size:11px}
.section{padding-block:55px}.language-title>p:not(.eyebrow){font-size:16px}.section-head .filter-group{margin-top:22px}.news-card img{height:auto;aspect-ratio:1.5;object-fit:cover}.news-card h3{font-size:23px}.news-meta{font-size:12px;margin-inline:22px}.life-bottom{gap:17px}.faq-list summary{font-size:16px}.visit-copy{padding:32px 25px}.visit-steps{font-size:13px}.visit-location div>span{font-size:13px}.visit-photo{min-height:330px}
.detail-layout{grid-template-columns:1fr;gap:35px}.detail-layout aside{position:static}.article-toc{gap:8px;padding:15px}.article-toc a{font-size:13px}.detail-page{padding-bottom:55px}.footer-main{gap:30px 18px}.footer-links a,.footer-links button{font-size:14px}.footer-intro h2{line-height:1.2}.social-pills a{font-size:13px}.footer-reach .footer-phone{font-size:27px}}
@media(prefers-reduced-motion:reduce){.experience-card:hover img,.education-panel figure{transform:none}}



.opening-programs>a{display:flex;flex-direction:column;align-items:flex-start}.opening-programs a>span:not(.program-icon){margin-top:auto;padding-top:10px}
