/* Warm amber palette to match the artwork */
:root{
  --amber-50:#fef3c7; --amber-100:#fde68a; --amber-200:#fcd34d;
  --amber-600:#d97706; --amber-700:#b45309; --text:#78350f;
}
*{box-sizing:border-box}
body{margin:0;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial;line-height:1.6;
  background:linear-gradient(to bottom,var(--amber-50),var(--amber-100));color:var(--text)}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.site-header{position:sticky;top:0;background:rgba(254,243,199,.85);backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid rgba(252,211,77,.6);z-index:10}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}
.brand{font-weight:600;color:#92400e}
.site-header nav a{margin-left:16px;color:#92400e;text-decoration:none}
.site-header nav a:hover{color:#6b370b}




.hero h1{font-size:clamp(2rem,6vw,3.5rem);line-height:1.1;margin:0;color:#78350f}
.hero p{max-width:650px;margin-top:12px;color:#8b5a2b}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.badges{margin-top:10px;font-size:.9rem;color:#8b5a2b}

.btn{display:inline-block;padding:10px 16px;border-radius:10px;border:1px solid rgba(252,211,77,.9);
  background:rgba(254,243,199,.7);color:#8b5a2b;text-decoration:none}
.btn:hover{background:rgba(254,243,199,.95)}
.btn.primary{background:var(--amber-600);color:white;border:none}
.btn.primary:hover{background:var(--amber-700)}

main .lead{color:#8b5a2b}
.cards h2,.sessions h2{font-size:2rem;margin-bottom:4px}
.cards .grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:16px;margin-top:18px}
.card{background:rgba(254,243,199,.7);border:1px solid rgba(252,211,77,.9);border-radius:14px;padding:16px}
.card h3{margin:0 0 6px 0;color:#6b370b}
.center{text-align:center;margin-top:16px}

.sessions{background:linear-gradient(to bottom,var(--amber-100),var(--amber-50));padding:32px;border-radius:18px;margin-top:28px}
.grid.three{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:16px;margin-top:18px}
.step{position:relative;background:rgba(254,243,199,.7);border:1px solid rgba(252,211,77,.9);border-radius:14px;padding:16px}
.bubble{position:absolute;top:-12px;left:-12px;background:#fde68a;border:1px solid #fcd34d;border-radius:10px;width:40px;height:40px;display:grid;place-items:center;color:#6b370b;font-weight:600}

.site-footer{border-top:1px solid rgba(252,211,77,.9);background:rgba(254,243,199,.6);margin-top:40px}
.site-footer .wrap{display:flex;align-items:center;justify-content:space-between;padding:16px}
.site-footer nav a{margin-left:16px;color:#8b5a2b;text-decoration:none}
.site-footer nav a:hover{color:#6b370b}

@media(min-width:720px){
  .cards .grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* --- Mobile-first hero fix --- */
.hero{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 16px;
  text-align:center;
  min-height:auto; /* shrink-to-fit on small screens */
}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 40%;
  opacity:.35;
  filter:saturate(110%);
}
.hero-inner{
  position:relative;
  max-width:700px;
  z-index:1;
}
@media(min-width:720px){
  .hero{ min-height:60vh; text-align:left; }
}

/* --- Compact hero for mobile: text first, short image banner --- */
.hero--compact{
  display:grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 180px; /* short banner on mobile */
  gap: 12px;
  padding: 24px 16px 8px;
}
.hero--compact .hero-inner{
  text-align:center;
  max-width: 720px;
  margin: 0 auto;
}
.hero-figure{
  margin:0;
  border-radius: 14px;
  overflow:hidden;
  border:1px solid rgba(252,211,77,.9);
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
}
.hero-figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 45%;
  display:block;
}
@media(min-width:900px){
  .hero--compact{
    grid-template-columns: 1.1fr 1fr;
    grid-template-rows: auto;
    align-items: center;
    min-height: 60vh;
    padding: 56px 16px;
  }
  .hero--compact .hero-inner{ text-align:left; padding-right: 32px; }
  .hero-figure{ height: 100%; }
}
