
:root{
  --bg: #f8f4ee;
  --text: #2e2a27;
  --accent: #c7a76c;
  --muted: #8b8f95;
  --maxw: 1100px;
}
*{box-sizing:border-box}
body{font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial; margin:0; background:var(--bg); color:var(--text); -webkit-font-smoothing:antialiased;}
header{display:flex; align-items:center; justify-content:center; flex-direction:column; padding:80px 20px;}
.logo-wrap{background:rgba(199,167,108,0.06); padding:28px; border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,0.06); display:inline-block; opacity:0; transform:translateY(8px); animation:fadeIn 1s forwards;}
h1{font-family:'Cormorant Garamond', serif; margin:14px 0 6px; font-size:28px; letter-spacing:0.4px;}
.hero-sub{color:var(--muted); max-width:720px; text-align:center; margin:6px 0 16px; font-size:18px;}
.btn{display:inline-block; padding:10px 16px; border-radius:10px; border:2px solid var(--accent); background:white; color:var(--text); text-decoration:none; font-weight:600;}
main{max-width:var(--maxw); margin:30px auto; padding:0 20px;}
.section-title{font-family:'Cormorant Garamond', serif; font-size:24px; margin:34px 0 12px;}
.grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.card{background:white; border-radius:12px; overflow:hidden; box-shadow:0 12px 28px rgba(0,0,0,0.06); transition:transform .28s ease;}
.card img{width:100%; height:260px; object-fit:cover; display:block;}
.awards{display:flex; gap:12px; flex-wrap:wrap;}
.award{background:linear-gradient(180deg, rgba(199,167,108,0.08), rgba(199,167,108,0.03)); padding:12px 14px; border-radius:10px; border:1px solid rgba(199,167,108,0.12);}
.about{display:grid; grid-template-columns:280px 1fr; gap:24px; align-items:start; margin-top:8px;}
.portrait img{width:100%; border-radius:10px;}
.contact{background:white; padding:18px; border-radius:12px; box-shadow:0 12px 30px rgba(0,0,0,0.06); margin-top:8px;}
footer{margin:40px 0; text-align:center; color:var(--muted); font-size:14px;}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)} .about{grid-template-columns:1fr} h1{font-size:22px}}
@media(max-width:520px){.grid{grid-template-columns:1fr} header{padding:48px 16px}}
@keyframes fadeIn{to{opacity:1; transform:none}}
