:root{
  --cream:#F8F6F4;
  --ink:#171412;
  --ink-soft:#413935;
  --grey:#7A716C;
  --line:#E8E0DC;
  --line-dark:rgba(255,255,255,.08);
  --accent:#D4342A;
  --accent-dark:#A3271F;
  --accent-soft:#FDECEB;
  --white:#FFFFFF;
  --console:#171412;
  --console-card:#241F1C;
  --shadow:0 18px 45px rgba(23,20,18,.08);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{color-scheme:light;}
body{
  background:
    linear-gradient(90deg,rgba(212,52,42,.05) 1px,transparent 1px),
    linear-gradient(180deg,rgba(212,52,42,.04) 1px,transparent 1px),
    var(--cream);
  background-size:42px 42px;
  color:var(--ink); font-family:'Inter',sans-serif;
}
h1,h2,h3{font-family:'Archivo',sans-serif; letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
img{display:block; max-width:100%;}

/* ---------- nav ---------- */
nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 44px; background:rgba(248,246,244,.9); backdrop-filter:blur(8px);
  position:sticky; top:0; z-index:50; border-bottom:1px solid var(--line);
}
.logo{font-family:'Archivo',sans-serif; font-weight:800; font-size:19px; line-height:1;}
.logo .sub{display:block; font-size:9px; font-weight:700; letter-spacing:.14em; color:var(--grey); margin-top:2px;}
.navlinks{display:flex; gap:26px; font-size:13px; font-weight:600; color:var(--ink-soft);}
.navlinks a{padding-bottom:4px; border-bottom:2px solid transparent; transition:color .2s, border-color .2s;}
.navlinks a.active, .navlinks a:hover{color:var(--accent); border-color:var(--accent);}
.nav-right{display:flex; align-items:center; gap:14px;}
.partner-btn{border:1px solid var(--line); background:var(--white); border-radius:10px; padding:9px 18px; font-size:12.5px; font-weight:700; box-shadow:var(--shadow); transition:border-color .2s, color .2s;}
.partner-btn:hover{border-color:var(--accent); color:var(--accent);}
.burger{display:flex; flex-direction:column; gap:4px; padding:6px;}
.burger span{width:18px; height:1.6px; background:var(--ink);}

/* ---------- hero ---------- */
.hero{display:grid; grid-template-columns:1.15fr 1fr; gap:20px; align-items:stretch; padding:24px 44px 40px;}
.hero-copy{
  display:flex; flex-direction:column; justify-content:center;
  background:var(--white); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow);
  padding:48px;
}
h1.headline{font-size:clamp(34px,4.4vw,56px); font-weight:900; line-height:.99; letter-spacing:-0.03em;}
.hero-sub{font-size:19px; font-weight:600; margin-top:20px; max-width:420px; line-height:1.4; color:var(--ink-soft);}
.hero-desc{font-size:14.5px; color:var(--grey); max-width:420px; line-height:1.7; margin-top:18px;}
.hero-actions{display:flex; gap:12px; margin-top:30px; flex-wrap:wrap;}
.btn-dark{background:var(--accent); color:#fff; border-radius:10px; padding:14px 24px; font-size:13px; font-weight:800; display:inline-flex; align-items:center; gap:8px; box-shadow:0 12px 24px rgba(212,52,42,.22); transition:background .2s;}
.btn-dark:hover{background:var(--accent-dark);}
.btn-light{border:1px solid var(--line); background:var(--accent-soft); color:var(--accent-dark); border-radius:10px; padding:13px 24px; font-size:13px; font-weight:800; display:inline-flex; align-items:center; gap:8px; transition:background .2s;}
.btn-light:hover{background:#f9d9d6;}

.hero-visual{position:relative; overflow:hidden; background:var(--console); border-radius:16px; box-shadow:var(--shadow);}
.hero-visual img{width:100%; height:100%; object-fit:cover; opacity:.55;}

/* ---------- process strip (console band) ---------- */
.process{background:var(--console); color:#fff; border-radius:18px; margin:0 44px 56px; padding:44px; display:grid; grid-template-columns:1.1fr repeat(8,1fr); gap:0;}
.process-intro{padding-right:30px; border-right:1px solid var(--line-dark);}
.process-kicker{font-size:11px; letter-spacing:.14em; color:#ff8f85; text-transform:uppercase; font-weight:900; margin-bottom:10px;}
.process-intro h2{font-size:26px; line-height:1.05; margin-bottom:12px; letter-spacing:-.02em;}
.process-intro p{font-size:13px; color:#c9c0bc; line-height:1.55;}
.process-step{padding:0 16px; border-right:1px solid var(--line-dark); display:flex; flex-direction:column; gap:12px;}
.process-step:last-child{border-right:none;}
.step-num{font-family:'Archivo',sans-serif; font-size:11px; color:#8a8078; font-weight:800;}
.step-icon{width:26px; height:26px; display:flex; align-items:center; justify-content:center; font-size:16px; background:var(--console-card); border-radius:8px;}
.step-title{font-family:'Archivo',sans-serif; font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.02em;}
.step-desc{font-size:11.5px; color:#a89e9a; line-height:1.4;}

@media(max-width:1100px){
  .process{grid-template-columns:1fr; gap:24px; margin:0 20px 40px; padding:32px 24px;}
  .process-intro{border-right:none; padding-right:0;}
  .process-step{border-right:none; border-top:1px solid var(--line-dark); padding-top:20px;}
}

/* ---------- section shell ---------- */
section.block{padding:20px 44px 56px;}
.kicker{font-size:11px; letter-spacing:.14em; color:var(--accent); text-transform:uppercase; font-weight:900; margin-bottom:12px;}
.block-head{max-width:560px; margin-bottom:36px;}
.block-head h2{font-size:clamp(24px,3vw,36px); line-height:1.08; letter-spacing:-.02em;}
.block-head p{font-size:14.5px; color:var(--grey); margin-top:14px; line-height:1.6;}
.row-between{display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px;}

/* ---------- brands split ---------- */
.brands-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px;}
.brand-card{
  background:var(--white); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow);
  position:relative; aspect-ratio:16/11; padding:30px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden;
}
.brand-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.5; z-index:0;}
.brand-card::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%, rgba(23,20,18,.75)); z-index:0;}
.brand-card .content{position:relative; z-index:1; color:#fff;}
.brand-card h3{font-size:19px; font-weight:800;}
.brand-card .tagline{font-size:13px; color:#e8e0dc; margin:8px 0 16px; max-width:230px; line-height:1.5;}
.brand-link{font-size:12px; font-weight:800; display:inline-flex; align-items:center; gap:6px; color:#ff8f85; width:fit-content;}
@media(max-width:800px){.brands-grid{grid-template-columns:1fr;}}

/* ---------- launches ---------- */
.launch-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:26px;}
.launch-card{position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--console); border-radius:16px; box-shadow:var(--shadow);}
.launch-card img{width:100%; height:100%; object-fit:cover; opacity:.75;}
.launch-badge{position:absolute; top:14px; left:14px; font-size:10.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:6px 13px; border-radius:999px;}
.badge-new{background:var(--accent); color:#fff;}
.badge-soon{background:var(--white); color:var(--ink);}
@media(max-width:800px){.launch-grid{grid-template-columns:1fr 1fr;}}

/* ---------- featured campaign (console band) ---------- */
.campaign{background:var(--console); border-radius:18px; position:relative; overflow:hidden; min-height:320px; display:flex; align-items:flex-end; margin:0 44px 56px;}
.campaign img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.4; z-index:0;}
.campaign-overlay{position:relative; z-index:1; padding:36px; display:flex; justify-content:space-between; align-items:flex-end; width:100%; flex-wrap:wrap; gap:20px;}
.campaign-copy h2{color:#fff; font-size:clamp(24px,3vw,34px); line-height:1.05; max-width:320px; letter-spacing:-.02em;}
.campaign-copy .kicker{color:#ff8f85;}
.campaign-cta{background:var(--accent); color:#fff; font-size:11.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:9px 18px; border-radius:999px;}
.campaign-arrows{display:flex; gap:8px;}
.campaign-arrows span{width:36px; height:36px; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px;}

/* ---------- partner network ---------- */
.partner-split{display:grid; grid-template-columns:0.9fr 1.1fr; gap:36px; align-items:center;}
.partner-copy ul{list-style:none; margin:18px 0 26px; display:flex; flex-direction:column; gap:9px;}
.partner-copy li{font-size:13.5px; color:var(--ink-soft); display:flex; align-items:center; gap:8px;}
.partner-copy li::before{content:'✓'; color:var(--accent); font-weight:800;}
.partner-actions{display:flex; gap:12px; flex-wrap:wrap;}
.partner-photos{display:grid; grid-template-columns:1.2fr 1fr; grid-template-rows:1fr 1fr; gap:12px; aspect-ratio:5/4;}
.partner-photos img{width:100%; height:100%; object-fit:cover; border-radius:14px; box-shadow:var(--shadow);}
.partner-photos .p1{grid-row:1/3;}
@media(max-width:900px){.partner-split{grid-template-columns:1fr;}}

/* ---------- journal ---------- */
.journal-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:26px;}
.journal-card{background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:16px; overflow:hidden;}
.journal-card img{width:100%; aspect-ratio:4/3; object-fit:cover; margin-bottom:14px; border-radius:10px;}
.journal-tag{font-size:10.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); margin-bottom:8px;}
.journal-card h4{font-size:15px; font-weight:700; line-height:1.35;}
.journal-date{font-size:12px; color:var(--grey); margin-top:8px;}
@media(max-width:800px){.journal-grid{grid-template-columns:1fr;}}

/* ---------- social (console band) ---------- */
.social-block{background:var(--console); color:#fff; border-radius:18px; margin:0 44px 56px; padding:44px;}
.social-head{display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px; margin-bottom:26px;}
.social-head h2{color:#fff; font-size:clamp(24px,3vw,32px); letter-spacing:-.02em;}
.social-head .kicker{color:#ff8f85;}
.social-handle{font-size:13.5px; color:#c9c0bc; margin-top:8px;}
.social-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:12px;}
.social-grid img{width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px;}
@media(max-width:900px){.social-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.social-grid{grid-template-columns:repeat(2,1fr);}}

footer{
  background:var(--console); color:#fff; padding:50px 44px 34px; margin-top:20px;
  display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:30px;
}
footer .f-brand{font-family:'Archivo',sans-serif; font-weight:800; font-size:18px;}
footer .f-brand .sub{display:block; font-size:9px; font-weight:700; letter-spacing:.14em; color:#8a8078; margin-top:2px;}
footer .f-desc{font-size:12.5px; color:#a89e9a; margin-top:16px; max-width:220px; line-height:1.6;}
footer .f-social{display:flex; gap:12px; margin-top:20px;}
footer .f-social span{width:26px; height:26px; border:1px solid var(--line-dark); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px;}
footer h4{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#8a8078; margin-bottom:14px;}
footer ul{list-style:none; display:flex; flex-direction:column; gap:9px;}
footer ul a{font-size:13px; color:#d8d0cc; transition:color .2s;}
footer ul a:hover{color:#ff8f85;}
.f-labs-tag{font-size:12.5px; color:#ff8f85; font-weight:700; display:flex; align-items:center; gap:5px;}
.f-bottom{grid-column:1/-1; border-top:1px solid var(--line-dark); margin-top:20px; padding-top:20px; font-size:11.5px; color:#8a8078;}
@media(max-width:900px){footer{grid-template-columns:1fr 1fr;}}

@media(max-width:900px){
  nav{padding:16px 20px; position:relative;}
  .navlinks{display:none;}
  .navlinks.mobile-open{
    display:flex; flex-direction:column; gap:0;
    position:absolute; top:100%; left:0; right:0;
    background:var(--cream); border-bottom:1px solid var(--line);
    padding:8px 20px 16px; z-index:70;
  }
  .navlinks.mobile-open a{padding:12px 0; border-bottom:1px solid var(--line);}
  .navlinks.mobile-open a:last-child{border-bottom:none;}
  .burger{cursor:pointer;}
  .burger.open span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
  .burger.open span:nth-child(2){opacity:0;}
  .burger.open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}
  .burger span{transition:transform .2s, opacity .2s;}
  section.block{padding:16px 20px 40px;}
  .hero{grid-template-columns:1fr; padding:16px 20px 30px;}
  .hero-copy{padding:32px 24px;}
  .process{margin:0 20px 40px;}
  .campaign, .social-block{margin:0 20px 40px;}
  .brands-grid, .launch-grid{gap:12px;}
}

/* ---------- shared subpage header ---------- */
.page-hero{padding:44px 44px 30px;}
.page-hero .kicker{margin-bottom:14px;}
.page-hero h1{font-size:clamp(30px,4vw,48px); font-weight:900; line-height:1; letter-spacing:-0.03em;}
.page-hero p{font-size:15.5px; color:var(--grey); max-width:540px; margin-top:16px; line-height:1.65;}

/* ---------- brands directory ---------- */
.brand-full-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:10px;}
.brand-full-card{
  background:var(--white); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow);
  position:relative; aspect-ratio:16/12; padding:32px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden;
}
.brand-full-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.45; z-index:0;}
.brand-full-card::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%, rgba(23,20,18,.78)); z-index:0;}
.brand-full-card .content{position:relative; z-index:1; color:#fff;}
.brand-full-card .status{position:absolute; top:20px; left:20px; z-index:2; font-size:10.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:6px 13px; border-radius:999px; background:var(--accent); color:#fff;}
.brand-full-card h3{font-size:21px; font-weight:800;}
.brand-full-card .cat{font-size:11px; color:#d8d0cc; letter-spacing:.08em; text-transform:uppercase; margin-top:4px;}
.brand-full-card .tagline{font-size:13.5px; color:#e8e0dc; margin:10px 0 16px; max-width:280px; line-height:1.5;}
@media(max-width:800px){.brand-full-grid{grid-template-columns:1fr;}}

/* ---------- campaigns list ---------- */
.campaign-list{display:flex; flex-direction:column; gap:10px; margin-top:20px;}
.campaign-row{
  background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow);
  display:grid; grid-template-columns:110px 1fr auto; align-items:center; gap:20px; padding:18px 22px;
}
.campaign-row img{width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:10px;}
.campaign-row h4{font-size:16px; font-weight:700;}
.campaign-row .meta{font-size:12px; color:var(--grey); margin-top:6px;}
.campaign-status{font-size:10.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:7px 14px; border-radius:999px; white-space:nowrap;}
.status-live{background:var(--accent-soft); color:var(--accent-dark);}
.status-ended{background:#f0ece9; color:var(--grey);}
@media(max-width:700px){.campaign-row{grid-template-columns:64px 1fr;}.campaign-status{grid-column:1/-1; width:fit-content;}}

/* ---------- partner tiers ---------- */
.tier-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:26px;}
.tier-card{background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:24px; display:flex; flex-direction:column; gap:10px;}
.tier-card h3{font-size:16px; font-weight:800;}
.tier-card p{font-size:13px; color:var(--grey); line-height:1.5;}
@media(max-width:900px){.tier-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.tier-grid{grid-template-columns:1fr;}}

/* ---------- journal full ---------- */
.journal-filter{display:flex; gap:8px; margin:24px 0 10px; flex-wrap:wrap;}
.jf-pill{padding:9px 16px; border:1px solid var(--line); background:var(--white); border-radius:999px; font-size:12px; font-weight:700;}
.jf-pill.active{background:var(--accent); color:#fff; border-color:var(--accent);}

/* ---------- social platform cards ---------- */
.platform-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:20px;}
.platform-card{background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:24px; display:flex; flex-direction:column; gap:8px;}
.platform-card .p-icon{font-size:22px;}
.platform-card h4{font-size:16px; font-weight:700;}
.platform-card .p-handle{font-size:12.5px; color:var(--grey);}
.platform-card .p-count{font-size:12px; color:var(--accent); font-weight:800; margin-top:6px;}
@media(max-width:900px){.platform-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.platform-grid{grid-template-columns:1fr;}}

/* ---------- login form ---------- */
.login-wrap{max-width:440px; margin:0 auto; padding:70px 24px 100px;}
.login-wrap h1{font-size:28px; font-weight:900; text-align:center; letter-spacing:-.02em;}
.login-wrap p{font-size:13.5px; color:var(--grey); text-align:center; margin-top:10px;}
.login-form{margin-top:30px; display:flex; flex-direction:column; gap:14px; background:var(--white); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); padding:30px;}
.login-form label{font-size:11.5px; font-weight:800; letter-spacing:.04em; color:var(--ink-soft); display:block; text-transform:uppercase;}
.login-form input{display:block; border:1px solid var(--line); background:#faf8f7; border-radius:10px; padding:13px 15px; font-size:14px; font-family:'Inter',sans-serif; margin-top:6px; width:100%; box-sizing:border-box;}
.login-form input:focus{outline:2px solid var(--accent); outline-offset:1px;}
.login-submit{margin-top:8px; background:var(--accent); color:#fff; border-radius:10px; padding:14px; border:none; font-size:13.5px; font-weight:800; box-shadow:0 12px 24px rgba(212,52,42,.2); transition:background .2s;}
.login-submit:hover{background:var(--accent-dark);}
.login-foot{text-align:center; font-size:12.5px; color:var(--grey); margin-top:20px;}
.login-foot a{color:var(--accent); font-weight:700;}

/* ---------- mobile bottom tab bar ---------- */
.mobile-tabbar{
  display:none;
  position:fixed; top:auto; left:16px; right:16px; bottom:16px; height:64px; z-index:80;
  background:var(--console); border-radius:999px; box-shadow:0 18px 40px rgba(23,20,18,.35);
  padding:8px; align-items:center; justify-content:space-between;
  box-sizing:border-box;
}
.mtb-pill{
  position:absolute; top:8px; left:0; height:48px;
  background:var(--accent); border-radius:999px;
  transition:transform .18s cubic-bezier(.4,0,.2,1), width .18s cubic-bezier(.4,0,.2,1);
  z-index:0; opacity:0;
}
.mtb-item{
  position:relative; z-index:1; flex:1;
  display:flex; flex-direction:column; align-items:center; gap:2px;
  padding:9px 4px; border-radius:999px; color:#a89e9a;
  transition:color .18s;
}
.mtb-item.active{color:#fff;}
.mtb-icon{width:20px; height:20px; display:block;}
.mtb-icon svg{width:100%; height:100%;}
.mtb-label{font-size:9.5px; font-weight:700; letter-spacing:.02em;}

@media(max-width:900px){
  .mobile-tabbar{display:flex;}
  body{padding-bottom:78px;} /* keep footer content clear of the fixed bar */
}

/* ---------- password vault meter ---------- */
.pw-vault{margin-top:10px; margin-bottom:4px;}
.pw-vault-bar{display:flex; gap:4px; height:6px; margin-bottom:12px;}
.pw-seg{flex:1; background:var(--line); border-radius:999px; transition:background .3s;}
.pw-vault-readout{display:flex; align-items:center; gap:12px; background:#faf8f7; border:1px solid var(--line); border-radius:12px; padding:12px 14px;}
.pw-vault-icon{font-size:26px; line-height:1;}
.pw-vault-label{font-size:13px; font-weight:800; color:var(--ink);}
.pw-vault-crack{font-size:11.5px; color:var(--grey); margin-top:2px;}

/* Unified media */
video[data-ck-img], .mh-cover-media { width:100%; height:100%; object-fit:cover; display:block; }
@media (prefers-reduced-motion: reduce) {
  video[data-ck-img], video.mh-decorative-media { animation:none !important; }
}

/* Responsive unified media: portrait (TikTok/Reels), square and landscape. */
.mh-media { display:block; max-width:100%; }
.mh-media-cover { width:100%; height:100%; object-fit:cover; }
.mh-media-contain { width:100%; height:100%; object-fit:contain; background:#0b0b0b; }
.mh-media-natural { width:100%; height:auto; object-fit:contain; background:#0b0b0b; }

/* Watchable portrait media should not become a giant full-width tower on desktop. */
video.mh-media-natural {
  width:auto;
  max-width:100%;
  max-height:min(78vh, 760px);
  margin-inline:auto;
}

/* On narrow screens a 9:16 source can use the available width naturally. */
@media (max-width: 700px) {
  video.mh-media-natural { width:100%; max-height:82vh; }
}

/* Decorative autoplay is suppressed for users who request reduced motion. */
@media (prefers-reduced-motion: reduce) {
  video[data-ck-img], video.mh-decorative-media, video[autoplay].mh-media {
    animation:none !important;
  }
}


/* ---------- V4.3.1 homepage campaign bubbles ---------- */
.home-campaigns{padding-top:8px;}
.home-campaigns-head{align-items:flex-end;}
.home-campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px;}
.home-campaign-card{position:relative;display:block;width:100%;aspect-ratio:16/9;min-height:0;border-radius:28px;overflow:hidden;background:var(--console);box-shadow:var(--shadow);isolation:isolate;color:#fff;text-decoration:none;}
.home-campaign-card>.mh-media,.home-campaign-card>.home-campaign-media{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:cover!important;z-index:0;}
.home-campaign-placeholder{background:linear-gradient(145deg,#272321,#0f0e0d);}
.home-campaign-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,7,7,.04) 28%,rgba(8,7,7,.88) 100%);pointer-events:none;}
.home-campaign-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px;color:#fff;pointer-events:none;}
.home-campaign-label{display:inline-flex;align-items:center;background:var(--accent);border-radius:999px;padding:7px 13px;margin-bottom:11px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.home-campaign-copy h3{font-size:clamp(23px,2.5vw,36px);line-height:1.02;letter-spacing:-.035em;max-width:620px;margin:0;}
.home-campaign-copy p{margin:10px 0 0;max-width:680px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.9);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.home-campaign-cta{display:inline-flex;align-items:center;margin-top:13px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.94);color:#151312;font-size:11px;font-weight:800;letter-spacing:.02em;}
@media(max-width:800px){
  .home-campaign-grid{grid-template-columns:1fr;gap:14px;}
  .home-campaign-card{aspect-ratio:4/3;border-radius:22px;}
  .home-campaign-copy{padding:22px;}
  .home-campaigns-head{align-items:flex-start;}
}
@media(max-width:480px){
  .home-campaign-card{aspect-ratio:1/1;}
  .home-campaign-copy p{-webkit-line-clamp:2;}
}

/* ---------- V4.3 clickable campaign destinations ---------- */
.home-campaign-link{display:block;color:inherit;text-decoration:none;cursor:pointer;}
.home-campaign-link .home-campaign-media,.home-campaign-link>.mh-media{transition:transform .35s ease;}
.home-campaign-link:hover .home-campaign-media,.home-campaign-link:hover>.mh-media{transform:scale(1.025);}
.home-campaign-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.home-campaign-link .home-campaign-media,.home-campaign-link>.mh-media{transition:none;}.home-campaign-link:hover .home-campaign-media,.home-campaign-link:hover>.mh-media{transform:none;}}
