/* roar-campaign.css — premium, architectural, monochrome (Porsche-Design vibe) */
:root{
  --black:#0f0c0d; --ink:#f2efe9; --graph:#b8b2ac; --mist:#8f8a85; --line:#332d2c;
  --paper:#1a1517; --white:#211c1d; --base:#1a1517; --panel:#211c1d; --gold:#F5D000; --maxw:1180px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--base);color:var(--ink);
  font-family:'Inter','Helvetica Neue',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.5}
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');
h1,h2,h3,.chero h1,.cgal .head h2,.appar .head h2,.story h2{font-family:'Oswald','Inter',sans-serif;text-transform:uppercase;letter-spacing:.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.cwrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.ey{font-size:11px;font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:var(--mist)}

/* top bar */
.ctop{position:sticky;top:0;z-index:30;background:var(--black);border-bottom:1px solid var(--line)}
.ctop .in{max-width:var(--maxw);margin:0 auto;padding:0 32px;height:74px;display:flex;align-items:center;justify-content:space-between}
.ctop img{height:24px}
.ctop nav{display:flex;gap:34px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.ctop nav a{color:var(--graph)}.ctop nav a:hover{color:var(--gold)}

/* hero */
.chero{background:var(--black);color:#fff;padding:100px 0 90px;position:relative;overflow:hidden}
.chero .cwrap{position:relative;z-index:2}
.chero .ey{color:var(--gold)}
.chero h1{font-size:clamp(46px,8vw,104px);font-weight:800;letter-spacing:-.03em;line-height:.95;margin:18px 0 18px;text-transform:uppercase}
.chero .lead{font-size:clamp(16px,2vw,20px);color:rgba(255,255,255,.62);max-width:600px;line-height:1.6;font-weight:300}
.chero .glow{position:absolute;right:-120px;top:50%;transform:translateY(-50%);width:560px;opacity:.16;z-index:1}
.chero.has-img{background-size:cover;background-position:center;min-height:640px;display:flex;align-items:flex-end;padding:0}
.chero.has-img::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(8,8,9,0) 34%,rgba(8,8,9,.5) 70%,rgba(8,8,9,.9) 100%)}
.chero.has-img .cwrap{padding-bottom:56px}
.chero.has-img h1{font-size:clamp(42px,7.5vw,96px)}
.chero.has-img .lead{color:rgba(255,255,255,.82)}
.herocta{display:inline-block;margin-top:28px;color:#000;background:var(--gold);font-weight:800;font-size:13px;
  letter-spacing:.08em;text-transform:uppercase;padding:15px 26px}
.herocta:hover{background:var(--gold2,#e6c400)}

/* Gallery — large, minimal, product-forward */
.cgal{padding:8px 0 84px}
.cgal .head{border-top:1px solid var(--line);padding-top:30px;margin-bottom:30px}
.cgal .head h2{font-size:26px;font-weight:800;letter-spacing:-.01em;margin:0;text-transform:uppercase}
.cgal .head .ey{margin-bottom:8px}
.cgal-grid{display:grid;grid-template-columns:1fr;gap:14px}
.cgal-grid img{width:100%;height:auto;display:block;background:var(--tile,#231e1f)}
@media(min-width:760px){.cgal-grid.two{grid-template-columns:1fr 1fr}}

/* progress / fund panel */
.fund{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fund .grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;padding:64px 0;align-items:center}
.meter{height:3px;background:#3a3230;position:relative;margin:14px 0 26px}
.meter i{position:absolute;left:0;top:0;height:2px;background:var(--gold);display:block}
.figs{display:flex;gap:48px;flex-wrap:wrap}
.fig .n{font-size:34px;font-weight:700;letter-spacing:.01em;font-family:'Oswald';color:var(--gold)}
.fig .l{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);margin-top:2px}
.back{background:var(--panel);border:1px solid var(--line);padding:30px}
.back h3{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px}
.amts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.amt{border:1px solid var(--line);background:var(--base);color:var(--ink);padding:14px 0;font-weight:700;font-size:15px;cursor:pointer;text-align:center;transition:all .12s}
.amt:hover,.amt.sel{background:var(--gold);color:#000}
.custom{display:flex;align-items:center;border:1px solid var(--line);margin-bottom:16px}
.custom span{padding:0 14px;color:var(--mist);font-weight:700}
.custom input{flex:1;border:none;height:50px;font-size:16px;font-family:inherit;outline:none;padding-right:14px;background:var(--base);color:#fff}
.cbtn{width:100%;background:var(--gold);color:#000;border:none;height:56px;font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.cbtn:hover{background:#e6c400}

/* story */
.story{padding:84px 0}
.story .grid{display:grid;grid-template-columns:200px 1fr;gap:48px}
.story h2{font-size:34px;font-weight:800;letter-spacing:-.02em;margin:0}
.story p{font-size:17px;line-height:1.85;color:var(--graph);max-width:64ch;white-space:pre-line;font-weight:400}

/* apparel */
.appar{padding:0 0 96px}
.appar .head{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--line);padding-top:30px;margin-bottom:34px}
.appar .head h2{font-size:26px;font-weight:800;letter-spacing:-.01em;margin:0;text-transform:uppercase}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1px;background:var(--line)}
.pc{background:var(--panel);padding:0 0 22px}
.pc .ph{aspect-ratio:4/5;background:var(--tile,#231e1f) center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#5a534f;font-weight:800;letter-spacing:.2em}
.pc .bd{padding:18px 18px 0}
.pc .ti{font-family:'Oswald';font-weight:600;font-size:16px;letter-spacing:.02em;text-transform:uppercase;color:#fff}
.pc .pr{margin-top:4px;color:var(--gold);font-weight:700;font-family:'Oswald'}

.cfoot{background:var(--black);color:rgba(255,255,255,.55);padding:46px 0;text-align:center;font-size:12px;letter-spacing:.04em}
.cfoot img{height:26px;margin:0 auto 14px;opacity:.9}
.flash{padding:14px 18px;margin:20px 0;font-size:14px;font-weight:600;background:var(--panel);color:#fff;border-left:3px solid var(--gold);letter-spacing:.02em}

@media(max-width:860px){
  .fund .grid,.story .grid{grid-template-columns:1fr;gap:34px}
  .ctop nav{display:none}
  .chero{padding:70px 0 60px}
}
