:root{
  --bg:#EDE6DA;
  --bg-soft:#FBF8F4;
  --bg-card:#FFFFFF;
  --gold:#B8862B;
  --gold-bright:#9C4A3C;
  --terracotta:#9C4A3C;
  --cream:#2E2A27;
  --muted:#8a7f6f;
  --rule:#DCD2C1;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--cream);
  font-family:'Inter',sans-serif;
  line-height:1.6;
}
a{color:inherit;}
.container{max-width:1040px;margin:0 auto;padding:0 6vw;}

/* NAV */
nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.4rem 6vw;
  background:rgba(251,248,244,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--rule);
}
.brand{font-family:'Fraunces',serif; font-size:1.05rem; letter-spacing:.02em;}
.brand a{text-decoration:none;}
.navlinks{display:flex; gap:2rem; font-size:.82rem; letter-spacing:.04em;}
.navlinks a{text-decoration:none; color:var(--muted); transition:color .25s;}
.navlinks a:hover{color:var(--gold-bright);}
.langswitch{display:flex; gap:.5rem; font-size:.78rem; letter-spacing:.05em;}
.langswitch a{text-decoration:none; color:var(--muted); padding:.2rem .5rem; border:1px solid var(--rule); border-radius:2px;}
.langswitch a.active{color:var(--gold-bright); border-color:var(--gold);}

/* HERO */
.hero{padding:7rem 0 4rem; text-align:left;}
.eyebrow{font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); font-weight:500;}
h1.name{font-family:'Fraunces',serif; font-weight:300; font-size:clamp(2.4rem,7vw,4.6rem); line-height:1.05; margin:1rem 0 .3rem;}
h1.name em{font-style:italic; font-weight:500; color:var(--gold-bright);}
.hero-tagline{font-family:'Fraunces',serif; font-style:italic; font-size:clamp(1.1rem,2.4vw,1.5rem); color:var(--cream); max-width:36ch; margin:1rem 0 2.4rem; line-height:1.4;}
.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--terracotta); color:#FBF8F4;
  padding:.85rem 1.6rem; border-radius:2px; text-decoration:none;
  font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; font-weight:600;
  transition:background .3s ease, transform .3s ease;
}
.btn:hover{background:#7C3B30; transform:translateY(-2px);}

.stats{display:flex; gap:3.2rem; margin-top:3.4rem; flex-wrap:wrap;}
.stat .num{font-family:'Fraunces',serif; font-size:2.6rem; color:var(--gold-bright); line-height:1;}
.stat .label{font-size:.8rem; color:var(--muted); margin-top:.4rem; max-width:16ch;}

/* SECTION HEADERS */
section{padding:5rem 0; border-top:1px solid var(--rule);}
.section-eyebrow{font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:.8rem;}
h2{font-family:'Fraunces',serif; font-weight:400; font-size:clamp(1.8rem,4vw,2.6rem); max-width:22ch; margin-bottom:1.6rem;}
h2 em{font-style:italic; color:var(--gold-bright); font-weight:500;}

/* ABOUT */
.about-body{max-width:62ch; font-size:1.02rem; color:#d9d2c4;}
.about-body p{margin-bottom:1.1rem;}
.about-body strong{color:var(--cream);}

/* TALKS */
.talks{display:flex; flex-direction:column; gap:1px; background:var(--rule); border:1px solid var(--rule);}
.talk{background:var(--bg-soft); padding:2.2rem 2rem; display:grid; grid-template-columns:60px 1fr; gap:1.6rem;}
.talk .roman{font-family:'Fraunces',serif; font-style:italic; font-size:1.6rem; color:var(--muted);}
.talk h3{font-family:'Fraunces',serif; font-weight:500; font-size:1.4rem; margin-bottom:.5rem;}
.talk .sub{color:var(--terracotta); font-size:.85rem; margin-bottom:.9rem;}
.tags{display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem;}
.tag{font-size:.72rem; letter-spacing:.04em; color:var(--gold-bright); border:1px solid var(--rule); padding:.25rem .6rem; border-radius:20px;}
.talk p.desc{color:#c9c1b3; font-size:.94rem; margin-bottom:.9rem;}
.talk .ideal{font-size:.82rem; color:var(--muted);}
.talk .ideal b{color:var(--cream); font-weight:500;}
@media (max-width:640px){.talk{grid-template-columns:1fr;}}

/* FORMATS */
.formats-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1px; background:var(--rule); border:1px solid var(--rule);}
.format{background:var(--bg-soft); padding:1.8rem;}
.format .icon{font-size:1.4rem; color:var(--gold); margin-bottom:.8rem;}
.format h4{font-family:'Fraunces',serif; font-weight:500; font-size:1.15rem; margin-bottom:.3rem;}
.format .dur{font-size:.78rem; color:var(--terracotta); margin-bottom:.6rem;}
.format p{font-size:.85rem; color:var(--muted);}

.closing{padding:4rem 0; text-align:center;}
.closing p{font-family:'Fraunces',serif; font-style:italic; font-size:clamp(1.2rem,2.6vw,1.7rem); max-width:26ch; margin:0 auto 1rem;}
.closing .avail{font-size:.85rem; color:var(--muted); margin-bottom:2rem;}

/* CONTACT */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:3rem;}
.contact-info div{margin-bottom:1.4rem;}
.contact-info .k{font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:.3rem;}
.contact-info .v{font-size:.95rem;}
form{display:flex; flex-direction:column; gap:.9rem;}
input,textarea{
  background:var(--bg-card); border:1px solid var(--rule); color:var(--cream);
  padding:.85rem 1rem; font-family:'Inter',sans-serif; font-size:.9rem; border-radius:2px;
}
input:focus,textarea:focus{outline:none; border-color:var(--gold);}
textarea{resize:vertical; min-height:110px;}
button.submit{
  background:var(--terracotta); color:#FBF8F4; border:none; padding:.9rem 1.6rem;
  font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; font-weight:600;
  border-radius:2px; cursor:pointer; transition:background .3s ease; align-self:flex-start;
}
button.submit:hover{background:#7C3B30;}
@media (max-width:720px){.contact-grid{grid-template-columns:1fr;}}

footer.site-footer{padding:2.4rem 6vw; text-align:center; font-size:.78rem; color:var(--muted); border-top:1px solid var(--rule);}
