:root{
  --bg:#0a0a0c;--panel:#131317;--ink:#f5f0e8;--muted:#aaa39a;
  --line:rgba(255,255,255,.12);--accent:#d8a36b;--max:1240px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
.grain{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}
header{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:20px 4vw;background:rgba(10,10,12,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{font-size:.8rem;letter-spacing:.18em;font-weight:600}
nav{display:flex;gap:24px;font-size:.86rem}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;color:var(--accent);font-weight:600}
h1,h2{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.04em}
.counter-hero{
max-width:none;
margin:0;
padding:140px 4vw 120px;
position:relative;
min-height:100vh;
display:flex;
flex-direction:column;
justify-content:center;
background:
linear-gradient(rgba(8,8,10,.68),rgba(8,8,10,.82)),
url('assets/photo-4.jpg') center 35%/cover no-repeat;
}
.counter-hero-heading{text-align:center;margin-bottom:70px;position:relative;z-index:2}
.counter-hero-heading h1{font-size:clamp(4rem,8vw,8rem);line-height:.9;margin:.18em 0}
.target-time{color:var(--muted);font-size:1.05rem}
.counter-block{margin-top:56px;position:relative;z-index:2;max-width:1200px;margin-left:auto;margin-right:auto}
.counter-block.second{margin-top:80px}
.counter-block>.eyebrow{text-align:center}
.counter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.counter-card{background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 20px;text-align:center}
.counter-card strong{display:block;font-family:"Playfair Display",serif;font-size:clamp(4.6rem,9vw,9rem);font-weight:500;line-height:.85;letter-spacing:-.055em}
.counter-card span{display:block;margin-top:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}
.progress-wrap{margin-top:70px;max-width:1200px;margin-left:auto;margin-right:auto}
.progress-meta{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.76rem}
.progress-track{height:10px;background:rgba(255,255,255,.1);border-radius:99px;overflow:hidden;margin-top:12px}
.progress-bar{height:100%;width:0;background:var(--accent);transition:width .6s ease}
.photo-band{height:86vh;min-height:650px}
.photo-band img{height:100%;object-fit:cover;object-position:center 42%}
.statement{max-width:900px;margin:auto;padding:120px 4vw;text-align:center}
.statement p{font-family:"Playfair Display",serif;font-size:clamp(2.2rem,4vw,4rem);line-height:1.15;margin:0}
.minutes-waited{text-align:center;padding:130px 4vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.minutes-waited strong{display:block;font-family:"Playfair Display",serif;font-size:clamp(4.5rem,10vw,10rem);line-height:.9;font-weight:500;letter-spacing:-.05em}
.gallery{max-width:var(--max);margin:auto;padding:120px 4vw;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery figure{margin:0;height:620px;overflow:hidden}
.gallery img{height:100%;object-fit:cover}
.closing{text-align:center;padding:150px 5vw;border-top:1px solid var(--line);background:radial-gradient(circle at center,rgba(100,66,120,.22),transparent 60%)}
.closing h2{font-size:clamp(3.5rem,8vw,8rem);line-height:1;margin:0}
footer{max-width:var(--max);margin:auto;padding:28px 4vw 45px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}
@media(max-width:800px){
  nav{gap:14px;flex-wrap:wrap;justify-content:flex-end}
  .counter-grid,.gallery{grid-template-columns:1fr}
  .progress-meta{flex-direction:column;align-items:center}
  .photo-band{height:65vh;min-height:480px}
  .gallery figure{height:520px}
}
@media(max-width:560px){
  header{padding:18px 5vw}
  .counter-hero{padding-top:70px}
  .counter-card strong{font-size:4.8rem}
  footer{flex-direction:column;gap:8px}
}


/* v4 hero refinements */
.pa-sub{color:#cda36a;letter-spacing:.18em;text-transform:uppercase;font-size:.9rem;text-align:center;margin-bottom:12px}
.counter-hero{padding-top:90px!important;padding-bottom:70px!important}
.counter-hero-heading{margin-bottom:28px!important}
.counter-hero-heading h1{margin:8px 0!important}
.counter-grid,.counter-block{margin-top:22px!important}
.hero-date{margin-bottom:6px!important}
