:root{--moss:#1f3a2a;--moss2:#2d5239;--cream:#f6f1e4;--stone:#e4dcc8;--gold:#e8a91c;--ink:#1b2620;--muted:#5b6a60}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Karla',sans-serif;color:var(--ink);background:var(--cream);font-size:1.06rem;line-height:1.6}
h1,h2,h3,h4,.brand{font-family:'Zilla Slab',serif;font-weight:700;letter-spacing:-.01em}
.topbar{background:var(--moss);color:#f6f1e4;font-size:.92rem;padding:.4rem 0}
.topbar a{color:#fff;text-decoration:none;font-weight:700}
.topbar .pay{background:var(--gold);color:var(--ink);padding:.15rem .8rem;border-radius:2rem}
.navbar{background:var(--cream);border-bottom:3px solid var(--moss);padding:.55rem 0}
.brand{font-size:1.35rem;color:var(--moss);text-decoration:none;line-height:1.1}
.brand small{display:block;font-family:'Karla',sans-serif;font-weight:400;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav-link{font-weight:700;color:var(--ink)!important}
.nav-link:hover{color:var(--moss2)!important}
.btn-gold{background:var(--gold);color:var(--ink);font-weight:700;border:0;border-radius:.3rem;padding:.7rem 1.4rem}
.btn-gold:hover{background:#f3bb3a;color:var(--ink)}
.btn-line{border:2px solid #fff;color:#fff;font-weight:700;border-radius:.3rem;padding:.65rem 1.4rem}
.btn-line:hover{background:#fff;color:var(--moss)}
.hero{position:relative;min-height:82vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;
 background:linear-gradient(to bottom,rgba(0,0,0,.30),rgba(0,0,0,.10) 45%,rgba(0,0,0,.45)),radial-gradient(ellipse 75% 65% at 50% 48%,rgba(0,0,0,.35),rgba(0,0,0,.04)),url('img/hero.webp') center/cover no-repeat}
.hero-content{background:rgba(0,0,0,.20);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:2.2rem 1.6rem;border-radius:.5rem;max-width:760px}
.hero-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:var(--gold);text-shadow:0 0 3px #000,0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.8)}
.hero-title{font-size:clamp(2.3rem,6vw,4.3rem);line-height:1.05;text-shadow:0 0 4px #000,0 2px 20px rgba(0,0,0,.95),0 0 60px rgba(0,0,0,.8)}
.hero-subtitle{font-size:1.2rem;text-shadow:0 0 3px #000,0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.85)}
.course{height:22px;background:
 linear-gradient(90deg,transparent 0 0),
 repeating-linear-gradient(90deg,var(--stone) 0 70px,var(--cream) 70px 74px) 0 0/100% 11px no-repeat,
 repeating-linear-gradient(90deg,var(--stone) 0 46px,var(--cream) 46px 50px) 18px 11px/100% 11px no-repeat;background-color:var(--cream)}
.course.dark{background-color:var(--moss);background-image:
 repeating-linear-gradient(90deg,var(--moss2) 0 70px,var(--moss) 70px 74px),
 repeating-linear-gradient(90deg,var(--moss2) 0 46px,var(--moss) 46px 50px);background-size:100% 11px,100% 11px;background-position:0 0,18px 11px;background-repeat:no-repeat}
section{padding:4.5rem 0}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:700;color:var(--moss2)}
h2{font-size:clamp(1.9rem,4vw,2.8rem);color:var(--moss)}
.svc{background:#fff;border-left:6px solid var(--gold);padding:1.6rem;height:100%;box-shadow:6px 6px 0 var(--stone)}
.svc ul{padding-left:1.1rem;margin:0;columns:2;column-gap:1.5rem}
.svc li{margin-bottom:.25rem;break-inside:avoid}
.photo{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:.25rem}
.photo.tall{aspect-ratio:3/4}
.stage{background:var(--moss);color:#f6f1e4}
.stage h2{color:#fff}
.stage .eyebrow{color:var(--gold)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}
.gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;border-radius:.25rem;display:block}
.gallery .wide{grid-column:span 2;aspect-ratio:2/1}
.gallery .wide img{aspect-ratio:2/1}
.chips span{display:inline-block;background:var(--stone);color:var(--moss);padding:.3rem .8rem;margin:.2rem;border-radius:2rem;font-weight:700;font-size:.95rem}
.hire{background:var(--gold);color:var(--ink)}
.hire h2{color:var(--ink)}
.contact-card{background:#fff;padding:2rem;box-shadow:6px 6px 0 var(--stone)}
.contact-card a{color:var(--moss2);font-weight:700}
.map{border:0;width:100%;height:100%;min-height:340px}
footer{background:var(--moss);color:#d8e0d6;padding:2.5rem 0;font-size:.95rem}
footer a{color:#fff}
@media(max-width:767px){.gallery{grid-template-columns:repeat(2,1fr)}.svc ul{columns:1}section{padding:3.2rem 0}}
