@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;1,400&display=swap');

:root { --blue:#007aff; --ink:#000; --graphite:#3e3e3e; --smoke:#636363; --canvas:#f7f7f7; --white:#fff; --ring:0 0 0 5px #f7f7f7; --display:'Playfair Display','Perfectly Nineties Regular',Georgia,serif; --body:'DM Sans','Inter',ui-sans-serif,system-ui,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--canvas); font-family:var(--body); font-size:16px; letter-spacing:-.02em; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
.page-width { width:min(1200px,calc(100% - 40px)); margin:0 auto; }
.site-header { position:absolute; top:20px; left:0; right:0; z-index:10; }
.nav-shell { width:min(1168px,calc(100% - 40px)); margin:auto; padding:8px 10px 8px 16px; display:flex; justify-content:space-between; align-items:center; background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:22px; box-shadow:var(--ring); }
.brand { display:flex; align-items:center; gap:8px; font-size:18px; font-weight:600; letter-spacing:-.04em; }
.brand-mark { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:#fff; font-size:18px; background:linear-gradient(135deg,#007aff,#7b7ed8); }
.brand-mark span { transform:translateY(-1px); }
.nav-links { display:flex; align-items:center; gap:24px; font-size:14px; font-weight:500; }
.nav-links a:not(.nav-cta) { transition:opacity .2s ease; }
.nav-links a:not(.nav-cta):hover { opacity:.55; }
.nav-cta { padding:10px 15px; color:#fff; background:var(--blue); border-radius:50px; transition:transform .2s ease,background .2s ease; }
.nav-cta:hover,.button-primary:hover { background:#006fe6; transform:translateY(-2px); }
.menu-toggle { display:none; border:0; background:transparent; padding:8px; }
.menu-toggle span:not(.sr-only) { display:block; width:20px; height:1.5px; margin:4px; background:#000; }
.hero { position:relative; min-height:930px; overflow:hidden; color:#fff; background:linear-gradient(180deg,#4a7ff2 0%,#747fd8 39%,#b986c4 70%,#e8a87c 100%); }
.hero:after { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 78% 19%,rgba(255,255,255,.18),transparent 22%),linear-gradient(180deg,transparent 60%,rgba(74,45,75,.18)); }
.hero-glow { position:absolute; border-radius:50%; filter:blur(2px); opacity:.25; }
.hero-glow-one { width:420px; height:420px; top:130px; right:8%; background:#f6d6cc; }
.hero-glow-two { width:260px; height:260px; top:320px; left:9%; background:#7ed0f4; opacity:.16; }
.hero-content { position:relative; z-index:3; padding-top:175px; }
.hero-copy { width:min(525px,100%); }
.eyebrow { margin:0 0 18px; color:rgba(255,255,255,.78); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow.dark { color:var(--smoke); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--display); font-weight:400; letter-spacing:-.055em; line-height:1; }
h1 { max-width:600px; margin-bottom:24px; font-size:clamp(46px,6vw,76px); }
h1 em,h2 em { font-style:italic; }
.hero-description { max-width:390px; margin-bottom:30px; color:rgba(255,255,255,.86); line-height:1.42; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:13px 22px; border-radius:50px; font-size:14px; font-weight:600; letter-spacing:-.02em; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.button-primary { color:#fff; background:var(--blue); box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(0,0,0,.15),0 3px 2px rgba(0,0,0,.06); }
.hero .button-primary { color:#000; background:#fff; }
.hero .button-primary:hover { background:#f6f6f6; }
.button-ghost { border:1.5px solid rgba(255,255,255,.85); color:#fff; }
.button-ghost:hover { border-color:#fff; background:rgba(255,255,255,.1); transform:translateY(-2px); }
.mockup-wrap { width:min(860px,84vw); margin:120px auto -250px; padding:5px; border-radius:30px; background:#fff; box-shadow:var(--ring); transform:translateX(60px); }
.mockup { overflow:hidden; border-radius:22px; background:#fff; color:#000; }
.mockup-topbar { height:39px; display:flex; align-items:center; justify-content:center; position:relative; border-bottom:1px solid #f0f0f0; color:#aaa; font-size:10px; }
.window-dots { position:absolute; left:14px; display:flex; gap:5px; }.window-dots i { width:6px; height:6px; border-radius:50%; background:#e9e9e9; }.window-dots i:first-child{background:#ffb1a1}.window-dots i:nth-child(2){background:#f1d48a}.window-dots i:nth-child(3){background:#9cddb1}
.mockup-avatar { position:absolute; right:14px; display:grid; place-items:center; width:22px;height:22px; border-radius:50%; background:#e7e2f4; color:#6f5a9f; font-size:8px; font-weight:600; }
.app-layout { display:flex; min-height:390px; background:#fbfbfc; }.app-sidebar { width:150px; flex:none; display:flex; flex-direction:column; padding:22px 12px; border-right:1px solid #efeff1; background:#fff; }.mini-brand{display:flex;align-items:center;gap:6px;margin:0 8px 34px;font-weight:600;font-size:14px}.mini-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;font-size:12px;background:linear-gradient(135deg,#007aff,#7b7ed8)}.sidebar-label{margin:0 10px 10px;color:#aaa;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.app-nav,.sidebar-bottom{display:flex;align-items:center;gap:9px;padding:9px 10px;margin:2px 0;color:#777;font-size:11px;border-radius:8px}.app-nav span,.sidebar-bottom span{font-size:14px}.app-nav.active{background:#f0f6ff;color:#007aff;font-weight:600}.sidebar-bottom{margin-top:auto}
.app-main { flex:1; padding:28px 32px; }.app-heading{display:flex;align-items:flex-start;justify-content:space-between}.app-kicker{display:block;color:#aaa;font-size:10px;margin-bottom:6px}.app-heading h2{font-family:var(--body);font-size:22px;font-weight:600;letter-spacing:-.04em;margin:0}.new-project{border:0;border-radius:50px;background:#007aff;color:#fff;padding:9px 13px;font-size:10px;font-weight:600}.app-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0 28px}.app-stats>div{padding:14px;border:1px solid #f0f0f2;border-radius:12px;background:#fff}.app-stats span,.app-stats small{display:block;color:#999;font-size:9px}.app-stats strong{display:inline-block;margin:9px 8px 4px 0;font-size:25px;font-weight:500;letter-spacing:-.06em}.app-stats small.up{color:#41ae74}.app-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.app-section-title h3{margin:0;font-size:12px;font-weight:600}.app-section-title a{color:#007aff;font-size:9px}.project-list{display:grid;gap:7px}.project-row{display:grid;grid-template-columns:30px 1fr auto 74px;gap:10px;align-items:center;padding:11px 12px;border:1px solid #f0f0f2;border-radius:12px;background:#fff}.project-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#fff;font-size:11px;font-weight:600}.violet{background:#9287d3}.blue{background:#71b6e6}.coral{background:#e5a083}.project-row strong,.project-row small{display:block}.project-row strong{font-size:10px;font-weight:600}.project-row small{margin-top:4px;color:#aaa;font-size:8px}.status{padding:5px 7px;border-radius:50px;font-size:8px}.in-progress{color:#007aff;background:#edf6ff}.review{color:#9b7b25;background:#fff8e1}.done{color:#49986d;background:#eef9f2}.progress{height:3px;overflow:hidden;border-radius:4px;background:#f0f0f0}.progress i{display:block;height:100%;border-radius:4px;background:#007aff}
.landscape { position:absolute; z-index:2; left:-5%; right:-5%; bottom:0; height:190px; background:linear-gradient(180deg,transparent,#735773 70%,#30354a); clip-path:polygon(0 67%,5% 55%,10% 68%,16% 48%,23% 66%,29% 57%,36% 69%,44% 44%,51% 66%,58% 53%,66% 67%,73% 45%,81% 62%,90% 51%,100% 64%,100% 100%,0 100%); opacity:.72; }.landscape:after{content:'';position:absolute;inset:65% 0 0;background:#202c38}.mountain{position:absolute;bottom:35px;width:260px;height:130px;background:#403c56;clip-path:polygon(0 100%,50% 0,100% 100%)}.mountain-one{left:9%}.mountain-two{right:12%;transform:scale(.8)}.trees{position:absolute;bottom:28px;width:220px;height:125px;background:#293745;clip-path:polygon(50% 0,58% 36%,80% 36%,64% 48%,82% 67%,59% 58%,70% 100%,30% 100%,41% 58%,18% 67%,36% 48%,20% 36%,42% 36%)}.trees-one{left:25%;transform:scale(.7)}.trees-two{right:27%;transform:scale(.9)}.horizon{position:absolute;bottom:0;left:0;right:0;height:42px;background:#1e2a35}
.section { padding:120px 20px; }.intro{padding-top:220px}.narrow{width:min(690px,100%);margin:auto;text-align:center}.editorial h2,.contact-inner h2{font-size:clamp(38px,5vw,58px);margin-bottom:22px}.editorial p:last-child,.contact-inner>p:not(.eyebrow){color:var(--graphite);line-height:1.5}.feature-grid{display:grid;grid-template-columns:1.14fr .86fr;gap:20px}.feature-card{display:flex;flex-direction:column;justify-content:space-between;min-height:520px;padding:30px;border-radius:30px;background:#fff;box-shadow:var(--ring)}.feature-card-small{min-height:430px;margin-top:70px}.feature-card h3{max-width:360px;margin-bottom:12px;font-family:var(--display);font-size:34px;font-weight:400;line-height:1;letter-spacing:-.05em}.feature-card p:not(.eyebrow){max-width:400px;margin:0;color:var(--graphite);font-size:14px;line-height:1.45}.feature-art{height:230px;position:relative;border-radius:22px;background:#f6f7fa;overflow:hidden}.calendar-art{padding:40px 48px;background:linear-gradient(135deg,#e8edfa,#fafafa)}.calendar-head{display:flex;justify-content:space-between;font-size:11px;color:#777}.calendar-head b{font-size:18px;color:#111}.calendar-days{margin-top:48px;color:#999;font-size:10px}.calendar-row{display:flex;justify-content:space-between;margin-top:24px;font-size:18px;font-weight:400}.calendar-row .selected{display:grid;place-items:center;width:42px;height:42px;margin-top:-12px;color:#fff;border-radius:50%;background:#007aff;font-weight:500}.avatars-art{display:flex;align-items:center;justify-content:center;padding-left:80px;background:linear-gradient(135deg,#f7ebe5,#f2eafa)}.avatars-art span{display:grid;place-items:center;width:76px;height:76px;margin-left:-18px;border:5px solid #fff;border-radius:50%;color:#fff;font-size:13px;font-weight:600;background:#e5a083}.avatars-art span:nth-child(2){background:#8277c4}.avatars-art span:nth-child(3){background:#63a7cc}.avatars-art .avatar-more{background:#292b3c}.quote{text-align:center}.quote-mark{font-family:Georgia,serif;color:#b2b5ce;font-size:84px;line-height:.65}.quote blockquote{width:min(740px,100%);margin:25px auto 26px;font-family:var(--display);font-size:clamp(28px,4vw,42px);line-height:1.08;letter-spacing:-.05em}.quote-author{display:flex;justify-content:center;align-items:center;gap:10px;text-align:left}.author-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e6a280;color:#fff;font-size:10px;font-weight:600}.quote-author strong,.quote-author small{display:block}.quote-author strong{font-size:12px}.quote-author small{margin-top:3px;color:#999;font-size:10px}.contact-section{padding-top:70px;padding-bottom:140px}.contact-inner{width:min(720px,100%);margin:auto;text-align:center}.contact-inner h2{margin-bottom:20px}.contact-inner>p:not(.eyebrow){margin-bottom:28px}.signup-form{display:flex;width:min(490px,100%);gap:8px;margin:auto}.signup-form input{flex:1;min-width:0;padding:14px 18px;border:1px solid #dedee4;border-radius:50px;background:#fff;outline:none;font-size:14px}.signup-form input:focus{border-color:#007aff;box-shadow:0 0 0 3px rgba(0,122,255,.12)}.form-note{min-height:18px;margin-top:12px!important;color:#007aff!important;font-size:12px}.footer{padding:26px 20px;border-top:1px solid #e8e8e8;background:#fff}.footer-inner{display:flex;align-items:center;justify-content:space-between;color:#888;font-size:12px}.footer .brand{color:#000}.footer-inner>div{display:flex;gap:18px;color:#444}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:800px){.site-header{top:14px}.nav-shell{width:calc(100% - 28px)}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px;border-radius:16px;background:#fff;box-shadow:var(--ring)}.nav-links.open{display:flex}.nav-links a{padding:12px}.nav-cta{text-align:center}.hero{min-height:920px}.hero-content{padding-top:150px}.hero-copy{margin:auto;text-align:center}.hero-description{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.mockup-wrap{width:760px;max-width:none;margin-top:90px;transform:translateX(calc((100vw - 760px)/2)) scale(.82);transform-origin:top center}.landscape{height:150px}.feature-grid{grid-template-columns:1fr}.feature-card-small{margin-top:0}.section{padding-top:90px;padding-bottom:90px}.intro{padding-top:170px}.footer-inner{flex-wrap:wrap;gap:16px}.footer-inner>span{order:3;width:100%}}
@media (max-width:520px){.page-width{width:calc(100% - 28px)}.hero{min-height:805px}.hero-content{padding-top:132px}.hero h1{font-size:48px}.hero-description{font-size:14px}.mockup-wrap{margin-top:70px;transform:translateX(calc((100vw - 760px)/2)) scale(.53)}.app-sidebar{width:120px}.app-main{padding:24px}.section{padding-left:14px;padding-right:14px}.intro{padding-top:150px}.feature-card{padding:22px;min-height:470px}.feature-art{height:190px}.calendar-art{padding:30px 25px}.calendar-days{margin-top:35px}.signup-form{flex-direction:column}.signup-form .button{width:100%}.footer-inner{font-size:11px}}

/* Admissions page refinements */
.admissions-hero { min-height: 900px; }
.hero-proof { display:flex; gap:24px; margin-top:42px; color:rgba(255,255,255,.72); font-size:11px; }
.hero-proof span { display:flex; flex-direction:column; gap:4px; }
.hero-proof strong { color:#fff; font-size:19px; font-weight:500; letter-spacing:-.05em; }
.school-preview { position:relative; width:min(500px,42vw); height:340px; margin:95px 0 0 auto; overflow:hidden; border:5px solid #fff; border-radius:30px; background:linear-gradient(180deg,#a9d4ec 0%,#f6c9b2 60%,#d99b7d 100%); box-shadow:var(--ring); }
.preview-sun { position:absolute; width:90px; height:90px; top:40px; right:70px; border-radius:50%; background:#ffe9be; box-shadow:0 0 35px rgba(255,238,187,.7); }
.preview-building { position:absolute; z-index:2; bottom:58px; left:100px; width:290px; }
.building-roof { width:320px; height:40px; margin-left:-15px; background:#3e5366; clip-path:polygon(5% 100%,50% 0,95% 100%); }
.building-body { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; height:128px; padding:25px 24px 0; background:#f7f3e9; border-bottom:10px solid #405666; }
.building-body span { height:30px; border:3px solid #405666; background:#9fc5d1; }.building-body i { height:45px; margin-top:12px; background:#df9a78; border-radius:3px 3px 0 0; }
.preview-tree { position:absolute; z-index:3; bottom:48px; width:110px; height:180px; background:#405557; clip-path:polygon(48% 0,58% 35%,80% 35%,65% 50%,85% 66%,61% 58%,72% 100%,27% 100%,39% 58%,15% 66%,35% 50%,20% 35%,42% 35%); }.tree-left{left:24px;transform:scale(.85)}.tree-right{right:22px;transform:scale(1.1)}
.preview-ground { position:absolute; left:-10%; right:-10%; bottom:-40px; height:110px; border-radius:50%; background:#627267; }.preview-note { position:absolute; z-index:5; left:18px; bottom:18px; display:flex; align-items:center; gap:10px; padding:10px 13px; border-radius:14px; color:#000; background:rgba(255,255,255,.9); box-shadow:0 0 0 1px rgba(255,255,255,.5); font-size:11px; }.preview-note strong,.preview-note small{display:block}.preview-note small{margin-top:3px;color:#777;font-size:9px}.preview-note b{margin-left:12px;color:#007aff;font-size:17px;font-weight:400}.note-dot{width:8px;height:8px;border-radius:50%;background:#41ae74}
.admission-stats { padding-top:84px; padding-bottom:70px; }.stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border-top:1px solid #dedee4; border-bottom:1px solid #dedee4; }.stat-grid article { padding:30px 30px 28px 0; }.stat-grid article+article { padding-left:30px; border-left:1px solid #dedee4; }.stat-icon { display:block; margin-bottom:35px; color:#007aff; font-size:12px; }.stat-grid strong { display:block; margin-bottom:10px; font-family:var(--display); font-size:28px; font-weight:400; letter-spacing:-.05em; }.stat-grid p { max-width:240px; margin:0; color:var(--smoke); font-size:13px; line-height:1.5; }
.programs-section { padding-top:95px; }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:45px; }.section-heading h2,.process-layout h2 { margin-bottom:0; font-size:clamp(38px,5vw,58px); }.section-heading>p { width:230px; margin:0 0 8px; color:var(--smoke); font-size:13px; line-height:1.5; }.program-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.program-card { min-height:300px; display:flex; flex-direction:column; padding:28px; border:1px solid #e9e9ee; border-radius:26px; background:#fff; box-shadow:var(--ring); }.program-card.featured { color:#fff; border-color:transparent; background:#272d42; }.program-top { display:flex; justify-content:space-between; margin-bottom:54px; }.program-top span { color:#007aff; font-size:12px; }.featured .program-top span { color:#a8c9ff; }.program-top small { color:#888; font-size:11px; }.featured .program-top small { color:rgba(255,255,255,.55); }.program-card h3 { margin:0 0 12px; font-family:var(--display); font-size:33px; font-weight:400; letter-spacing:-.05em; }.program-card p { max-width:360px; margin:0; color:var(--smoke); font-size:13px; line-height:1.5; }.featured p { color:rgba(255,255,255,.68); }.program-card a { margin-top:auto; color:#007aff; font-size:12px; font-weight:600; }.featured a { color:#fff; }
.process-section { padding-top:80px; }.process-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; }.process-intro { max-width:290px; margin-top:25px; color:var(--smoke); font-size:14px; line-height:1.5; }.process-list { border-top:1px solid #dedee4; }.process-list>div { display:grid; grid-template-columns:42px 1fr; gap:10px; padding:18px 0; border-bottom:1px solid #dedee4; }.process-list span { color:#007aff; font-size:11px; }.process-list strong { font-size:14px; font-weight:600; }.process-list p { grid-column:2; margin:3px 0 0; color:#888; font-size:12px; line-height:1.45; }
@media (max-width:800px){.admissions-hero{min-height:1030px}.school-preview{width:620px;max-width:none;margin:72px auto 0;transform:translateX(calc((100vw - 620px)/2)) scale(.78);transform-origin:top center}.hero-proof{justify-content:center;gap:18px}.stat-grid{grid-template-columns:1fr}.stat-grid article,.stat-grid article+article{padding:22px 0;border-left:0}.stat-grid article+article{border-top:1px solid #dedee4}.section-heading,.process-layout{display:block}.section-heading>p{width:auto;margin-top:20px}.program-grid{grid-template-columns:1fr}.process-list{margin-top:50px}}
@media (max-width:520px){.admissions-hero{min-height:930px}.school-preview{margin-top:65px;transform:translateX(calc((100vw - 620px)/2)) scale(.58)}.hero-proof{gap:12px;font-size:10px}.hero-proof strong{font-size:16px}.program-card{min-height:320px}.process-layout{padding:0 4px}}
.school-preview { background-image: linear-gradient(180deg, rgba(42,71,98,.1), rgba(37,39,53,.28)), url("assets/school/image7.jpeg"); background-size:cover; background-position:center; }
.school-preview:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(21,34,46,.28)); pointer-events:none; }
.preview-building,.preview-tree,.preview-ground { opacity:.22; }
.preview-note { z-index:6; }
.program-card { position:relative; overflow:hidden; }
.program-card:after { content:""; position:absolute; right:0; bottom:0; width:155px; height:110px; border-radius:100% 0 0 0; background-size:cover; background-position:center; opacity:.14; }
.program-card:first-child:after { background-image:url("assets/school/image26.jpeg"); }
.program-card:nth-child(2):after { background-image:url("assets/school/image32.jpeg"); }
.featured.program-card:after { opacity:.2; }
.contact-address { margin:-10px auto 24px; color:#777; font-size:12px; line-height:1.5; }
.campus-section { padding-top:35px; }
.campus-heading { align-items:flex-end; }
.campus-grid { display:grid; grid-template-columns:1.25fr .75fr .75fr; grid-template-rows:220px 180px; gap:14px; }
.campus-photo { position:relative; overflow:hidden; min-height:180px; margin:0; border-radius:22px; background:#ddd; box-shadow:var(--ring); }
.campus-photo-large { grid-row:span 2; }
.campus-photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .5s ease; }
.campus-photo:hover img { transform:scale(1.04); }
.campus-photo:after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.55)); pointer-events:none; }
.campus-photo figcaption { position:absolute; z-index:1; left:18px; bottom:16px; color:#fff; font-size:13px; font-weight:600; }
@media (max-width:800px){.campus-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 150px 150px}.campus-photo-large{grid-row:span 1;grid-column:span 2}}
@media (max-width:520px){.campus-grid{display:grid;grid-template-columns:1fr;grid-template-rows:220px 180px 180px 180px}.campus-photo-large{grid-column:auto}}

/* Preserve the original photo framing */
.campus-photo { background:#ece9e4; }
.campus-photo:before { content:""; position:absolute; inset:0; background:inherit; filter:blur(18px); transform:scale(1.08); opacity:.42; }
.campus-photo img { position:relative; z-index:1; object-fit:contain; object-position:center; background:rgba(255,255,255,.2); }
.campus-photo:after { z-index:2; }
.campus-photo figcaption { z-index:3; }
.school-preview { background-size:contain; background-repeat:no-repeat; background-color:#ded8d0; }
/* Preserve the original photo framing */
.campus-photo { background:#ece9e4; }
.campus-photo:before { content:""; position:absolute; inset:0; background:inherit; filter:blur(18px); transform:scale(1.08); opacity:.42; }
.campus-photo img { position:relative; z-index:1; object-fit:contain; object-position:center; background:rgba(255,255,255,.2); }
.campus-photo:after { z-index:2; }
.campus-photo figcaption { z-index:3; }
.school-preview { background-image:linear-gradient(180deg, rgba(42,71,98,.1), rgba(37,39,53,.28)), url("assets/school/image35.jpeg"); background-size:contain; background-repeat:no-repeat; background-position:center; background-color:#ded8d0; }
.specialties-section { padding-top:55px; }
.specialty-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.specialty-grid figure { position:relative; min-height:126px; display:flex; flex-direction:column; justify-content:center; align-items:center; overflow:hidden; margin:0; padding:16px; border:1px solid #e8e8ed; border-radius:18px; background:#fff; box-shadow:var(--ring); }
.specialty-grid img { width:100%; height:78px; object-fit:contain; object-position:center; }
.specialty-grid figcaption { margin-top:9px; color:#777; font-size:11px; }
@media (max-width:800px){.specialty-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.specialty-grid{grid-template-columns:repeat(2,1fr)}.specialty-grid figure{min-height:118px;padding:12px}.specialty-grid img{height:68px}}

/* Hero uses the real campus photo, not the recruitment poster */
.school-preview { background-image:linear-gradient(180deg, rgba(42,71,98,.04), rgba(37,39,53,.18)), url("assets/school/image7.jpeg"); background-size:contain; background-repeat:no-repeat; background-position:center; background-color:#ded8d0; }
.school-preview .preview-sun,
.school-preview .preview-building,
.school-preview .preview-tree,
.school-preview .preview-ground { display:none; }

/* Hero intentionally stays text-led; no media preview in this position */
.hero-content { display:block; }
.hero-copy { width:min(680px,100%); }
.specialty-grid { grid-template-columns:repeat(3,1fr); align-items:stretch; }
.specialty-card { display:flex; flex-direction:column; min-height:246px; overflow:hidden; border:1px solid #e8e8ed; border-radius:22px; background:#fff; box-shadow:var(--ring); }
.specialty-card img { width:100%; height:92px; padding:12px 18px; object-fit:contain; object-position:center; background:#fafafa; }
.specialty-card div { padding:15px 17px 17px; }
.specialty-card strong { display:block; margin-bottom:7px; font-size:15px; font-weight:600; letter-spacing:-.03em; }
.specialty-card p { margin:0; color:#777; font-size:12px; line-height:1.5; }
@media (max-width:800px){.specialty-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.specialty-grid{grid-template-columns:1fr}.specialty-card{min-height:0}.specialty-card img{height:84px}}
.specialty-card { min-height:0; }
.specialty-card div { padding:22px 22px 24px; }
.specialty-card div>span { display:block; margin-bottom:28px; color:#007aff; font-size:11px; }
.specialty-card strong { font-family:var(--display); font-size:25px; font-weight:400; line-height:1.05; }
.specialty-card p { margin-top:14px; font-size:13px; line-height:1.62; }
.plan-section { padding-top:45px; }
.plan-table-wrap { overflow-x:auto; border:1px solid #e6e6eb; border-radius:22px; background:#fff; box-shadow:var(--ring); }
.plan-table { width:100%; min-width:760px; border-collapse:collapse; color:#3e3e3e; font-size:12px; }
.plan-table th { padding:15px 16px; color:#000; background:#f6f6f8; font-size:11px; font-weight:600; text-align:left; white-space:nowrap; }
.plan-table td { padding:14px 16px; border-top:1px solid #ededf0; line-height:1.45; vertical-align:top; }
.plan-table tr:hover td { background:#fbfbff; }
.contact-methods { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; width:min(760px,100%); margin:30px auto 18px; text-align:left; }
.contact-method { display:flex; align-items:center; gap:10px; min-height:76px; padding:14px 13px; border:1px solid #e4e4e9; border-radius:16px; background:#fff; color:#000; box-shadow:var(--ring); transition:transform .2s ease,border-color .2s ease; }
.contact-method:hover { transform:translateY(-3px); border-color:#007aff; }
.contact-method-icon { display:grid; place-items:center; width:32px; height:32px; flex:none; border-radius:50%; color:#fff; background:#007aff; font-size:13px; font-weight:600; }
.contact-method small,.contact-method strong { display:block; }
.contact-method small { color:#888; font-size:10px; }
.contact-method strong { margin-top:5px; font-size:12px; font-weight:600; }
.contact-method b { margin-left:auto; color:#007aff; font-size:16px; font-weight:400; }
.contact-visit { margin-top:3px; }
@media (max-width:800px){.contact-methods{grid-template-columns:1fr}.contact-method{min-height:64px}}

/* Final layout pass */
section { scroll-margin-top:100px; }
.admissions-hero { min-height:760px; }
.admissions-hero .hero-content { padding-bottom:110px; }
.admissions-hero .landscape { height:135px; }
.nav-links { gap:16px; font-size:13px; white-space:nowrap; }
.campus-photo:nth-child(4) { grid-column:span 2; }
.specialty-card p { max-width:52ch; }
@media (max-width:1100px) and (min-width:801px){.brand{font-size:15px}.nav-links{gap:10px;font-size:12px}.nav-shell{width:calc(100% - 28px)}}
@media (max-width:800px){.admissions-hero{min-height:820px}.admissions-hero .hero-content{padding-bottom:80px}.campus-photo:nth-child(4){grid-column:auto}}

/* Automotive workshop hero background */
.admissions-hero { background-image:linear-gradient(90deg, rgba(8,14,22,.90) 0%, rgba(8,14,22,.73) 39%, rgba(8,14,22,.22) 76%, rgba(8,14,22,.34) 100%), linear-gradient(180deg, rgba(5,9,14,.08), rgba(5,9,14,.55)), url("assets/web-hero-workshop.jpg"); background-size:cover; background-position:center; }
.admissions-hero:after { background:linear-gradient(180deg, transparent 52%, rgba(8,14,22,.72) 100%); }
.admissions-hero .hero-glow,
.admissions-hero .landscape { display:none; }
.admissions-hero .eyebrow { color:rgba(222,235,249,.78); }
.admissions-hero .hero-description { color:rgba(255,255,255,.80); }
.admissions-hero .hero-proof { color:rgba(238,244,250,.66); }
.admissions-hero .button-ghost { border-color:rgba(255,255,255,.72); }
@media (max-width:800px){.admissions-hero{background-position:64% center}.admissions-hero:before{content:"";position:absolute;inset:0;background:rgba(8,14,22,.18)}}
.contact-topics { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:22px auto; }
.contact-topics span { padding:7px 11px; border:1px solid #e3e3e8; border-radius:12px; background:#fff; color:#555; font-size:11px; }
.contact-address { max-width:590px; margin:0 auto 22px; text-align:left; }
.contact-address strong { color:#000; font-weight:600; }
.contact-note { max-width:530px; margin:18px auto 0!important; color:#8a8a8a!important; font-size:11px; line-height:1.55; }
.contact-method em { display:block; margin-top:4px; color:#8a8a8a; font-size:10px; font-style:normal; }
.contact-method.contact-wechat { align-items:center; }
.contact-wechat img { width:50px; height:50px; margin-left:auto; border:1px solid #ececef; border-radius:8px; object-fit:cover; background:#fff; }
@media (max-width:800px){.contact-wechat img{width:48px;height:48px}}

/* Contact details are display-only; emphasize the WeChat QR code */
.contact-method { cursor:default; }
.contact-method:hover { transform:none; border-color:#e4e4e9; }
.contact-wechat img { width:112px; height:112px; padding:4px; border-radius:10px; }
.contact-wechat { min-height:136px; }
@media (max-width:800px){.contact-wechat img{width:104px;height:104px}.contact-wechat{min-height:124px}}

/* Large standalone WeChat QR block */
.contact-layout { display:grid; grid-template-columns:1fr 250px; gap:22px; align-items:stretch; width:min(760px,100%); margin:30px auto 18px; }
.contact-layout .contact-methods { width:auto; margin:0; grid-template-columns:1fr; }
.wechat-panel { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:18px; border:1px solid #dfe3e9; border-radius:20px; background:#fff; box-shadow:var(--ring); }
.wechat-panel p { margin:0 0 12px!important; color:#555!important; font-size:12px; font-weight:600; }
.wechat-panel img { width:190px; height:190px; padding:6px; border:1px solid #e6e6eb; border-radius:10px; background:#fff; object-fit:contain; }
.wechat-panel strong { margin-top:12px; font-size:12px; font-weight:600; }
.wechat-panel small { margin-top:5px; color:#888; font-size:10px; }
.contact-wechat { display:none; }
@media (max-width:800px){.contact-layout{grid-template-columns:1fr;max-width:420px}.wechat-panel img{width:230px;height:230px}.contact-layout .contact-methods{grid-template-columns:1fr}}

/* Make the QR code the primary consultation action */
.contact-layout { grid-template-columns:1fr; max-width:820px; }
.contact-layout .contact-methods { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.wechat-panel { width:100%; padding:30px; border-radius:22px; }
.wechat-panel p { margin-bottom:18px!important; font-size:14px; }
.wechat-panel img { width:320px; height:320px; padding:8px; border-radius:12px; }
.wechat-panel strong { margin-top:16px; font-size:14px; }
.wechat-panel small { margin-top:7px; font-size:12px; }
@media (max-width:800px){.contact-layout{max-width:100%}.contact-layout .contact-methods{grid-template-columns:1fr}.wechat-panel{padding:24px}.wechat-panel img{width:min(280px,76vw);height:min(280px,76vw)}}

/* Mobile-first refinement pass */
@media (max-width: 600px) {
  html,
  body { overflow-x: hidden; }

  section { scroll-margin-top: 82px; }
  .page-width { width: calc(100% - 32px); }
  .site-header { top: 12px; }
  .nav-shell { width: calc(100% - 24px); min-height: 52px; padding: 7px 9px 7px 12px; border-radius: 18px; }
  .brand { gap: 7px; font-size: 13px; }
  .brand-mark { width: 28px; height: 28px; font-size: 14px; }
  .menu-toggle { padding:7px; }
  .nav-links { top: 58px; left: 0; right: 0; gap: 2px; padding: 8px; border-radius: 16px; }
  .nav-links a { min-height: 42px; display:flex; align-items:center; padding: 11px 12px; }
  .nav-links .nav-cta { justify-content:center; margin-top: 4px; }

  .admissions-hero { min-height: 730px; background-position: 67% center; }
  .admissions-hero .hero-content { padding-top: 126px; padding-bottom: 72px; }
  .hero-copy { width: 100%; text-align: left; }
  .eyebrow { margin-bottom: 14px; font-size: 10px; letter-spacing: .1em; }
  .hero h1 { max-width: 10em; margin-bottom: 18px; font-size: clamp(40px, 12vw, 52px); line-height: 1.04; }
  .hero-description { max-width: 31ch; margin: 0 0 24px; font-size: 14px; line-height: 1.55; }
  .hero-actions { display:grid; grid-template-columns:1fr; gap:10px; width:100%; }
  .hero-actions .button { width:100%; min-height:50px; }
  .hero-proof { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; margin-top:30px; }
  .hero-proof span { min-width:0; padding-right:5px; font-size:9px; line-height:1.35; }
  .hero-proof strong { font-size:15px; }

  .section { padding: 72px 16px; }
  .intro { padding-top: 76px; }
  .narrow { text-align:left; }
  .editorial h2,
  .contact-inner h2,
  .section-heading h2,
  .process-layout h2 { font-size: clamp(34px, 10vw, 44px); line-height:1.08; }
  .editorial p:last-child,
  .editorial p { font-size:14px; line-height:1.65; }
  .editorial p + p { margin-top:16px; }

  .stat-grid { margin: 0; }
  .stat-grid article,
  .stat-grid article + article { padding: 24px 0; }
  .stat-icon { margin-bottom:20px; }
  .stat-grid strong { font-size:26px; }
  .stat-grid p { max-width:none; font-size:13px; }

  .section-heading { gap:16px; margin-bottom:28px; }
  .section-heading > p { margin: 0; font-size:13px; line-height:1.55; }
  .campus-section { padding-top: 22px; }
  .campus-grid { grid-template-columns:1fr; grid-template-rows:none; gap:12px; }
  .campus-photo,
  .campus-photo-large,
  .campus-photo:nth-child(4) { grid-column:auto; grid-row:auto; min-height:230px; }
  .campus-photo img { object-fit:contain; background:#eee; }
  .campus-photo:before { display:none; }

  .programs-section { padding-top:72px; }
  .program-grid { gap:12px; }
  .program-card { min-height:278px; padding:24px; border-radius:22px; }
  .program-top { margin-bottom:36px; }
  .program-card h3 { font-size:30px; }
  .program-card p { font-size:13px; line-height:1.55; }

  .specialties-section { padding-top:30px; }
  .specialty-grid { grid-template-columns:1fr; gap:12px; }
  .specialty-card { border-radius:18px; }
  .specialty-card div { padding:20px; }
  .specialty-card div > span { margin-bottom:18px; }
  .specialty-card strong { font-size:24px; }
  .specialty-card p { font-size:13px; line-height:1.68; }

  .plan-section { padding-top:40px; }
  .plan-table-wrap { margin:0 -2px; border-radius:16px; }
  .plan-table { min-width:700px; font-size:12px; }
  .plan-table th,
  .plan-table td { padding:12px 13px; }
  .plan-table-wrap:after { content:'左右滑动查看完整招生计划'; display:block; padding:9px 13px; color:#777; background:#f6f6f8; font-size:11px; }

  .process-section { padding-top:64px; }
  .process-list { margin-top:34px; }
  .process-list > div { grid-template-columns:32px 1fr; padding:16px 0; }
  .process-list p { font-size:12px; }

  .contact-section { padding-top:64px; padding-bottom:84px; }
  .contact-inner { text-align:left; }
  .contact-inner > p:not(.eyebrow) { margin-bottom:18px; font-size:14px; line-height:1.6; }
  .contact-topics { justify-content:flex-start; margin:18px 0; }
  .contact-address { margin:0 0 20px; font-size:13px; line-height:1.6; }
  .contact-layout { gap:14px; margin:22px 0 16px; }
  .contact-layout .contact-methods { gap:10px; }
  .contact-method { min-height:72px; padding:13px; }
  .wechat-panel { padding:22px 16px; }
  .wechat-panel p { text-align:center; }
  .wechat-panel img { width:min(320px, 82vw); height:min(320px, 82vw); }
  .wechat-panel strong,
  .wechat-panel small { text-align:center; }
  .contact-visit { width:100%; min-height:50px; }
  .contact-note { margin:16px 0 0!important; font-size:11px; }

  .footer { padding:28px 16px; }
  .footer-inner { align-items:flex-start; flex-direction:column; gap:14px; }
  .footer-inner > span { order:initial; width:auto; }
  .footer-inner > div { flex-wrap:wrap; gap:12px 16px; }
}
