:root{

--cream:#F8F5EF;
--sage:#7B9275;
--gold:#C8A96A;
--charcoal:#2E3133;
--white:#ffffff;

}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:'Inter',sans-serif;
background:var(--cream);
color:var(--charcoal);
line-height:1.6;

}

.container{

width:min(1120px,92%);
margin:auto;

}

.navbar{

background:white;
padding:20px 0;
position:sticky;
top:0;
box-shadow:0 3px 15px rgba(0,0,0,.05);

}

.nav-content{

display:flex;
justify-content:space-between;
align-items:center;

}

.logo{

font-family:'Playfair Display',serif;
font-size:28px;
font-weight:700;

}

.logo span{

color:var(--gold);

}

nav{

display:flex;
gap:28px;

}

nav a{

text-decoration:none;
color:var(--charcoal);
font-weight:600;

}

.hero{

padding:90px 0;

}

.hero-grid{

display:grid;
grid-template-columns:1.3fr 1fr;
gap:60px;
align-items:center;

}

.eyebrow{

color:var(--sage);
font-weight:700;
margin-bottom:16px;

}

h1{

font-family:'Playfair Display',serif;
font-size:60px;
line-height:1.1;
margin-bottom:24px;

}

.hero-text{

font-size:20px;
margin-bottom:36px;

}

.hero-buttons{

display:flex;
gap:16px;
flex-wrap:wrap;

}

.btn{

padding:15px 30px;
border-radius:40px;
text-decoration:none;
font-weight:600;
transition:.3s;

}

.btn-primary{

background:var(--sage);
color:white;

}

.btn-primary:hover{

background:#657d60;

}

.btn-secondary{

border:2px solid var(--gold);
color:var(--charcoal);

}

.hero-card{

background:white;
padding:40px;
border-radius:20px;
box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.section{

padding:80px 0;

}

.section h2{

font-size:38px;
margin-bottom:35px;
font-family:'Playfair Display',serif;

}

.categories{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
gap:20px;

}

.category{

background:white;
padding:28px;
border-radius:18px;
text-align:center;
font-weight:600;
box-shadow:0 10px 25px rgba(0,0,0,.05);

}

.teacher-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;

}

.teacher-card{

background:white;
padding:35px;
border-radius:20px;
text-align:center;
box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.avatar{

width:90px;
height:90px;
border-radius:50%;
background:var(--sage);
color:white;
display:flex;
align-items:center;
justify-content:center;
font-size:34px;
margin:auto auto 20px;

}

.teacher-card button{

margin-top:20px;
padding:12px 25px;
background:var(--gold);
border:none;
border-radius:30px;
cursor:pointer;

}

.newsletter{

text-align:center;

}

form{

margin-top:30px;
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:16px;

}

input{

padding:15px;
border-radius:30px;
border:1px solid #ddd;
width:320px;

}

form button{

padding:15px 30px;
background:var(--sage);
color:white;
border:none;
border-radius:30px;

}

footer{

background:#232323;
color:white;
padding:45px 0;
text-align:center;
margin-top:60px;

}

@media(max-width:850px){

.hero-grid{

grid-template-columns:1fr;

}

h1{

font-size:44px;

}

nav{

display:none;

}

}
