:root{
  --t4h-red:#c1272d;
  --t4h-dark:#1a1a1a;
  --t4h-sand:#efe8dc;
  --t4h-cream:#faf7f2;
  --t4h-grey:#5a5a56;
  --t4h-border:#e2dbcc;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Segoe UI',Helvetica,Arial,sans-serif;
  color:var(--t4h-dark);
  background:var(--t4h-cream);
  line-height:1.6;
}
img{max-width:100%;display:block;}
a{color:var(--t4h-red);text-decoration:none;}
a:hover{text-decoration:underline;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* header */
header.site-header{
  background:#fff;
  border-bottom:1px solid var(--t4h-border);
  position:sticky;top:0;z-index:50;
}
.header-inner{
  max-width:var(--maxw);margin:0 auto;padding:10px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:4px;}
.brand-name{font-weight:700;font-size:1.3rem;letter-spacing:.02em;white-space:nowrap;}
.brand-name span{color:var(--t4h-red);}
.brand img{height:150px;width:auto;}
nav.main-nav ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;flex-wrap:nowrap;}
nav.main-nav a{color:var(--t4h-dark);font-weight:600;font-size:.95rem;white-space:nowrap;}
nav.main-nav a.active,nav.main-nav a:hover{color:var(--t4h-red);}
.nav-toggle{display:none;background:none;border:1px solid var(--t4h-border);border-radius:6px;padding:8px 10px;font-size:1.1rem;cursor:pointer;}
@media(max-width:860px){
  .header-inner{flex-wrap:wrap;}
  nav.main-nav{display:none;width:100%;order:3;}
  nav.main-nav.open{display:block;}
  nav.main-nav ul{flex-direction:column;gap:4px;padding:10px 0;flex-wrap:wrap;}
  .nav-toggle{display:block;}
}

/* hero */
.hero{
  position:relative;color:#fff;background:#111 center/cover no-repeat;
  min-height:64vh;display:flex;align-items:flex-end;
}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.40));}
.hero-content{position:relative;z-index:1;padding:60px 0;max-width:var(--maxw);margin:0 auto;width:100%;padding-left:24px;padding-right:24px;}
.hero h1{font-size:2.6rem;margin:0 0 10px;}
.hero p{font-size:1.15rem;max-width:640px;color:#f1ede4;}
.hero .eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--t4h-sand);margin-bottom:10px;}

/* generic sections */
section{padding:56px 0;}
section.alt{background:#fff;border-top:1px solid var(--t4h-border);border-bottom:1px solid var(--t4h-border);}
h2.section-title{font-size:1.8rem;margin:0 0 8px;}
p.section-lead{color:var(--t4h-grey);max-width:760px;margin:0 0 32px;}

/* cards grid */
.grid{display:grid;gap:22px;}
.grid.cols-4{grid-template-columns:repeat(4,1fr);}
.grid.cols-3{grid-template-columns:repeat(3,1fr);}
.grid.cols-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:960px){.grid.cols-4{grid-template-columns:repeat(2,1fr);}.grid.cols-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr;}}

.card{background:#fff;border:1px solid var(--t4h-border);border-radius:10px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.08);text-decoration:none;}
.card .thumb{aspect-ratio:4/3;overflow:hidden;background:#ddd;}
.card .thumb img{width:100%;height:100%;object-fit:cover;}
.card .body{padding:16px;}
.card .body h3{margin:0 0 4px;font-size:1.05rem;color:var(--t4h-dark);}
.card .body p{margin:0;color:var(--t4h-grey);font-size:.9rem;}

.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.photo-grid figure{margin:0;border-radius:8px;overflow:hidden;background:#ddd;}
.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.photo-grid figcaption{font-size:.8rem;color:var(--t4h-grey);padding:6px 2px;}
@media(max-width:760px){.photo-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.photo-grid{grid-template-columns:1fr;}}

.model-embed iframe{width:100%;aspect-ratio:4/3;border:0;border-radius:8px;}

.partner-strip{display:flex;flex-wrap:wrap;align-items:center;gap:40px;justify-content:center;}
.partner-strip img{max-height:100px;width:auto;filter:grayscale(20%);}
.partner-strip img.big{max-height:190px;}

.stats{display:flex;flex-wrap:wrap;gap:36px;margin-top:8px;}
.stats .stat{min-width:120px;}
.stats .stat b{display:block;font-size:2rem;color:var(--t4h-red);}
.stats .stat span{color:var(--t4h-grey);font-size:.85rem;}

.btn{display:inline-block;background:var(--t4h-red);color:#fff;padding:11px 22px;border-radius:6px;font-weight:600;}
.btn:hover{background:#9e1f24;text-decoration:none;color:#fff;}
.btn.outline{background:transparent;border:1.5px solid var(--t4h-red);color:var(--t4h-red);}

footer.site-footer{background:var(--t4h-dark);color:#cfcac0;padding:36px 0;margin-top:40px;font-size:.9rem;}
footer.site-footer a{color:#fff;}
footer .foot-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;}

.workshop-hero{background:var(--t4h-dark);color:#fff;padding:44px 0;}
.workshop-hero h1{margin:0 0 6px;}
.workshop-hero .meta{color:var(--t4h-sand);font-size:.95rem;}

.video-embed{position:relative;padding-top:56.25%;background:#000;border-radius:8px;overflow:hidden;}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

.admin-note{background:#f6f1e6;border:1px solid #e3d8bd;padding:14px 18px;border-radius:8px;font-size:.9rem;color:#6b5a2e;margin-bottom:24px;}
