:root{
    --cream:#F3F1EC;
    --ink:#111110;
    --ink-soft:#3A3936;
    --grey:#6E6C66;
    --line:rgba(17,17,16,0.12);
    --line-dark:rgba(243,241,236,0.12);
    --accent:#D4342A;
    --white:#FFFFFF;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{color-scheme:light;}
  body{background:var(--cream); 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:20px 44px; 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:10px; font-weight:600; letter-spacing:.14em; color:var(--grey); margin-top:2px;}
  .navlinks{display:flex; gap:26px; font-size:12.5px; font-weight:500; letter-spacing:.03em; text-transform:uppercase;}
  .navlinks a{padding-bottom:4px; border-bottom:2px solid transparent; transition:border-color .2s;}
  .navlinks a.active, .navlinks a:hover{border-color:var(--ink);}
  .nav-right{display:flex; align-items:center; gap:14px;}
  .partner-btn{border:1px solid var(--ink); padding:9px 16px; font-size:12px; font-weight:600; letter-spacing:.03em; text-transform:uppercase;}
  .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:1fr 1fr; align-items:stretch; min-height:520px;}
  .hero-copy{display:flex; flex-direction:column; justify-content:center; padding:60px 60px 60px 44px;}
  h1.headline{font-size:clamp(38px,4.6vw,58px); font-weight:900; line-height:0.95; letter-spacing:-0.02em; text-transform:uppercase;}
  .hero-sub{font-size:22px; font-weight:500; margin-top:22px; max-width:400px; line-height:1.3;}
  .hero-desc{font-size:14.5px; color:var(--grey); max-width:400px; line-height:1.65; margin-top:20px; padding-top:20px; border-top:2px solid var(--accent); display:inline-block;}
  .hero-actions{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
  .btn-dark{background:var(--ink); color:var(--cream); padding:14px 22px; font-size:12.5px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; display:inline-flex; align-items:center; gap:8px; transition:background .2s;}
  .btn-dark:hover{background:var(--accent);}
  .btn-light{border:1px solid var(--ink); padding:13px 22px; font-size:12.5px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; display:inline-flex; align-items:center; gap:8px; transition:background .2s;}
  .btn-light:hover{background:var(--ink); color:var(--cream);}

  .hero-visual{position:relative; overflow:hidden; background:#0C0C0B;}
  .hero-visual img{width:100%; height:100%; object-fit:cover; opacity:.92;}

  /* ---------- process strip ---------- */
  .process{background:var(--ink); color:var(--cream); padding:50px 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:var(--accent); text-transform:uppercase; font-weight:700; margin-bottom:10px;}
  .process-intro h2{font-size:26px; line-height:1.05; margin-bottom:12px;}
  .process-intro p{font-size:13px; color:#B8B6AE; line-height:1.55;}
  .process-step{padding:0 16px; border-right:1px solid var(--line-dark); display:flex; flex-direction:column; gap:14px;}
  .process-step:last-child{border-right:none;}
  .step-num{font-family:'Archivo',sans-serif; font-size:11px; color:var(--grey); font-weight:700;}
  .step-icon{width:26px; height:26px; display:flex; align-items:center; justify-content:center; font-size:16px;}
  .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:#9A988F; line-height:1.4;}

  @media(max-width:1100px){
    .process{grid-template-columns:1fr; gap: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:70px 44px;}
  .kicker{font-size:11px; letter-spacing:.14em; color:var(--accent); text-transform:uppercase; font-weight:700; margin-bottom:12px;}
  .block-head{max-width:520px; margin-bottom:40px;}
  .block-head h2{font-size:clamp(26px,3vw,36px); line-height:1.08;}
  .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:24px; margin-top:20px;}
  .brand-card{background:var(--ink); color:var(--cream); position:relative; aspect-ratio:16/11; padding:34px; 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:.55; z-index:0;}
  .brand-card .content{position:relative; z-index:1;}
  .brand-card h3{font-size:20px; font-weight:800; text-transform:uppercase;}
  .brand-card .tagline{font-size:13.5px; color:#C9C7BE; margin:10px 0 18px; max-width:230px; line-height:1.5;}
  .brand-link{font-size:12px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; display:inline-flex; align-items:center; gap:6px; border-bottom:1px solid var(--cream); padding-bottom:3px; 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:20px; margin-top:30px;}
  .launch-card{position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--ink);}
  .launch-card img{width:100%; height:100%; object-fit:cover; opacity:.85;}
  .launch-badge{position:absolute; top:14px; left:14px; font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:5px 11px;}
  .badge-new{background:var(--accent); color:#fff;}
  .badge-soon{background:var(--cream); color:var(--ink);}
  @media(max-width:800px){.launch-grid{grid-template-columns:1fr 1fr;}}

  /* ---------- featured campaign ---------- */
  .campaign{background:var(--ink); border-radius:0; position:relative; overflow:hidden; min-height:340px; display:flex; align-items:flex-end; margin:0 44px;}
  .campaign img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.65; z-index:0;}
  .campaign-overlay{position:relative; z-index:1; padding:34px; display:flex; justify-content:space-between; align-items:flex-end; width:100%;}
  .campaign-copy h2{color:var(--cream); font-size:clamp(24px,3vw,34px); line-height:1.05; max-width:280px;}
  .campaign-copy .kicker{color:#E8C84A;}
  .campaign-cta{background:#E8C84A; color:var(--ink); font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:8px 16px;}
  .campaign-arrows{display:flex; gap:8px;}
  .campaign-arrows span{width:34px; height:34px; border:1px solid rgba(243,241,236,0.3); border-radius:50%; color:var(--cream); 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:40px; 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:700;}
  .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:14px; aspect-ratio:5/4;}
  .partner-photos img{width:100%; height:100%; object-fit:cover;}
  .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:22px; margin-top:30px;}
  .journal-card img{width:100%; aspect-ratio:4/3; object-fit:cover; margin-bottom:14px;}
  .journal-tag{font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); margin-bottom:8px;}
  .journal-card h4{font-size:15.5px; font-weight:600; font-family:'Inter',sans-serif; 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 ---------- */
  .social-block{background:var(--ink); color:var(--cream); padding:60px 44px;}
  .social-head{display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px; margin-bottom:30px;}
  .social-head h2{color:var(--cream); font-size:clamp(24px,3vw,32px);}
  .social-head .kicker{color:#E8C84A;}
  .social-handle{font-size:13.5px; color:#B8B6AE; margin-top:8px;}
  .social-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
  .social-grid img{width:100%; aspect-ratio:1/1; object-fit:cover;}
  @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(--ink); color:var(--cream); padding:50px 44px 34px;
    display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:30px; border-top:1px solid var(--line-dark);
  }
  footer .f-brand{font-family:'Archivo',sans-serif; font-weight:800; font-size:18px;}
  footer .f-brand .sub{display:block; font-size:10px; font-weight:600; letter-spacing:.14em; color:var(--grey); margin-top:2px;}
  footer .f-desc{font-size:12.5px; color:#9A988F; 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:var(--grey); margin-bottom:14px;}
  footer ul{list-style:none; display:flex; flex-direction:column; gap:9px;}
  footer ul a{font-size:13px; color:#D8D6CE; transition:color .2s;}
  footer ul a:hover{color:var(--accent);}
  .f-labs-tag{font-size:12.5px; color:var(--accent); font-weight:600; 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:var(--grey);}
  @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:50px 20px;}
    .hero{grid-template-columns:1fr;}
    .hero-copy{padding:40px 20px;}
    .process{padding:40px 20px;}
    .brands-grid, .launch-grid{gap:14px;}
  }
/* ---------- shared subpage header ---------- */
.page-hero{padding:70px 44px 50px; border-bottom:1px solid var(--line);}
.page-hero .kicker{margin-bottom:14px;}
.page-hero h1{font-size:clamp(34px,4.4vw,52px); font-weight:900; text-transform:uppercase; line-height:0.98; letter-spacing:-0.02em;}
.page-hero p{font-size:15.5px; color:var(--grey); max-width:520px; margin-top:18px; line-height:1.65;}

/* ---------- brands directory ---------- */
.brand-full-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:10px;}
.brand-full-card{background:var(--ink); color:var(--cream); position:relative; aspect-ratio:16/12; padding:36px; 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:.5; z-index:0;}
.brand-full-card .content{position:relative; z-index:1;}
.brand-full-card .status{position:absolute; top:22px; left:22px; z-index:1; font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:5px 11px; background:var(--accent); color:#fff;}
.brand-full-card h3{font-size:22px; font-weight:800; text-transform:uppercase;}
.brand-full-card .cat{font-size:11px; color:#B8B6AE; letter-spacing:.08em; text-transform:uppercase; margin-top:4px;}
.brand-full-card .tagline{font-size:13.5px; color:#C9C7BE; margin:12px 0 18px; 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:1px; background:var(--line); border:1px solid var(--line); margin-top:20px;}
.campaign-row{background:var(--cream); display:grid; grid-template-columns:120px 1fr auto; align-items:center; gap:24px; padding:22px 26px;}
.campaign-row img{width:100%; aspect-ratio:1/1; object-fit:cover;}
.campaign-row h4{font-size:16.5px; font-weight:700;}
.campaign-row .meta{font-size:12px; color:var(--grey); margin-top:6px;}
.campaign-status{font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:6px 13px; white-space:nowrap;}
.status-live{background:#E8C84A; color:var(--ink);}
.status-ended{background:var(--line); color:var(--grey);}
@media(max-width:700px){.campaign-row{grid-template-columns:70px 1fr; }.campaign-status{grid-column:1/-1; width:fit-content;}}

/* ---------- partner tiers ---------- */
.tier-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:30px;}
.tier-card{background:var(--cream); padding:30px 24px; display:flex; flex-direction:column; gap:12px;}
.tier-card h3{font-size:17px; font-weight:800; text-transform:uppercase;}
.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:10px; margin:24px 0 10px; flex-wrap:wrap;}
.jf-pill{padding:8px 16px; border:1px solid var(--line); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.02em;}
.jf-pill.active{background:var(--ink); color:var(--cream); border-color:var(--ink);}

/* ---------- social platform cards ---------- */
.platform-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:20px;}
.platform-card{border:1px solid var(--line); padding:26px; display:flex; flex-direction:column; gap:10px;}
.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:700; 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:420px; margin:0 auto; padding:90px 24px 100px;}
.login-wrap h1{font-size:30px; font-weight:800; text-align:center; text-transform:uppercase;}
.login-wrap p{font-size:13.5px; color:var(--grey); text-align:center; margin-top:10px;}
.login-form{margin-top:34px; display:flex; flex-direction:column; gap:14px;}
.login-form label{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft);}
.login-form input{border:1px solid var(--line); background:var(--white); padding:13px 15px; font-size:14px; font-family:'Inter',sans-serif; margin-top:6px;}
.login-form input:focus{outline:1.5px solid var(--ink);}
.login-submit{margin-top:8px; background:var(--ink); color:var(--cream); padding:14px; border:none; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; transition:background .2s;}
.login-submit:hover{background:var(--accent);}
.login-foot{text-align:center; font-size:12.5px; color:var(--grey); margin-top:20px;}
.login-foot a{color:var(--accent); font-weight:600;}
