:root{--olive:#8a9475;--olive-ink:#5f6650;--butter:#ffeea6;--offwhite:#fbf8f3;--charcoal:#2f2f2f;--line:#e4e0d6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;color:var(--charcoal);background:var(--offwhite);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 48px}
.cap{font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:0}
.lead{font-size:20px;line-height:1.55;margin:0}
.it{font-style:italic}
.h2{font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:44px;line-height:1.1;margin:0;padding-left:20px;border-left:8px solid var(--butter)}
.h2.dark{border-left-color:var(--charcoal)}
.mark{background:var(--butter);padding:0 6px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hl{color:var(--butter)}
.btn{display:inline-flex;align-items:center;gap:14px;min-height:56px;padding:0 10px 0 28px;border-radius:9999px;font-weight:700;font-size:17px;text-decoration:none;text-transform:uppercase;letter-spacing:.03em;border:1.5px solid transparent}
.btn.plain{padding-right:28px}
.btn-dark{background:var(--charcoal);color:var(--offwhite)}
.btn-butter{background:var(--butter);color:var(--charcoal)}
.btn-line{border-color:currentColor}
.dot{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9999px;flex-shrink:0}
.btn-dark .dot{background:var(--butter);color:var(--charcoal)}
.btn-butter .dot{background:var(--charcoal);color:var(--butter)}
.grid2{display:grid;grid-template-columns:var(--cols,1fr 1fr);gap:var(--gap,64px);align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stack{display:flex;flex-direction:column;gap:24px}
.list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.photo{width:100%;object-fit:cover;border-radius:32px}
section{padding:96px 0}
.bg-olive{background-color:var(--olive);color:var(--offwhite);background-image:linear-gradient(rgba(251,248,243,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(251,248,243,.12) 1px,transparent 1px);background-size:40px 40px}
.bg-paper{background-image:linear-gradient(rgba(138,148,117,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(138,148,117,.18) 1px,transparent 1px);background-size:40px 40px}
.bg-dark{background-color:var(--charcoal);color:var(--offwhite);background-image:radial-gradient(rgba(251,248,243,.08) 1.5px,transparent 1.5px);background-size:28px 28px}
.bg-butter{background:var(--butter)}
.card{background:#fff;border:1.5px solid var(--line);border-radius:32px;padding:32px;display:flex;flex-direction:column;gap:14px}
.card-line{border:1.5px solid var(--charcoal);border-radius:32px;padding:32px;display:flex;flex-direction:column;gap:14px}
.card-dark{border:1.5px solid #6d6d6d;border-radius:32px;padding:32px;display:flex;flex-direction:column;gap:12px}
.ctitle{margin:0;font-weight:700;font-size:20px;text-transform:uppercase}
.pill{font-size:13px;font-weight:700;background:var(--olive);color:var(--offwhite);border-radius:9999px;padding:6px 12px;align-self:flex-start}
.price{margin:0;font-weight:700;font-size:48px;line-height:1}
.num{font-weight:700;font-size:64px;line-height:1;color:var(--butter)}
.stat{background:var(--offwhite);border-radius:32px;padding:28px}
.stat b{display:block;font-size:44px}
.stat span{display:block;margin-top:8px;font-size:15px;line-height:1.4}
/* header */
header{border-bottom:1px solid var(--line);background:var(--offwhite)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:24px;flex-wrap:wrap}
.logo{font-weight:700;font-size:18px;text-decoration:none;letter-spacing:.04em}
.menu{display:flex;gap:28px;font-size:15px;flex-wrap:wrap}
.menu a{text-decoration:none}
.menu a:hover{text-decoration:underline}
.lang{display:flex;border:1.5px solid var(--charcoal);border-radius:9999px;overflow:hidden}
.lang a{min-height:44px;min-width:56px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;text-decoration:none}
.lang a[aria-current]{background:var(--charcoal);color:var(--offwhite)}
/* hero */
.hero{padding:80px 0 96px}
.hero h1{margin:0;font-size:60px;line-height:1.05;font-weight:700;text-transform:uppercase;letter-spacing:.01em}
.hero-photo{position:relative}
.badge{position:absolute;top:24px;right:24px;background:var(--offwhite);color:var(--charcoal);border-radius:9999px;padding:10px 18px;font-weight:700;font-size:14px}
.btns{display:flex;gap:16px;flex-wrap:wrap}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media (max-width:900px){
 .wrap{padding:0 20px}
 section{padding:56px 0}
 .hero{padding:24px 0 48px}
 .grid2,.grid3{grid-template-columns:1fr;gap:28px}
 .grid4{grid-template-columns:1fr 1fr;gap:10px}
 .hero h1{font-size:34px}
 .h2{font-size:28px;padding-left:14px;border-left-width:6px}
 .lead{font-size:17px}
 .menu{display:none}
 .nav{flex-wrap:nowrap;gap:12px;min-height:64px}
 .logo{font-size:14px}
 .lang a{min-width:42px;min-height:40px;font-size:13px}
 .hero .grid2>.hero-photo{order:-1}
 .hero-photo img{height:400px !important}
 .btns .btn{width:100%;justify-content:space-between}
 .photo{border-radius:24px}
 .stat{padding:18px;border-radius:22px}.stat b{font-size:28px}
 .price{font-size:40px}
 .schools-head{flex-direction:column;align-items:flex-start !important}
 .schools-head img{width:100% !important;height:260px !important}
}
