/* Afriboosta marketing site — one stylesheet, mobile first */
:root{
  --bg:#0E0E0F; --bg2:#15110F; --tile:#1C1916; --tile2:#2A2521; --line:#3A3632;
  --text:#F5F2EE; --muted:#B8B2AA; --dim:#7A716A;
  --orange:#F97316; --orange-ink:#1A0E05; --ember:#C2410C; --gold:#D4A017; --green:#6EE7A8;
  --r:12px; --r-lg:24px; --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:Geist,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.5;font-size:16px}
img,video{max-width:100%;display:block}
a{color:var(--orange);text-decoration:none}
a:hover{color:#FFB37A}
button{font-family:inherit}
h1,h2,h3{margin:0;letter-spacing:-.03em;line-height:1;font-weight:800}
p{margin:0}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* wordmark */
.mark{font-weight:800;letter-spacing:-.02em;color:var(--text);font-size:22px;white-space:nowrap}
.mark b{color:var(--orange);font-weight:800}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 24px;border-radius:999px;font-size:15px;font-weight:700;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.btn-primary{background:var(--orange);color:var(--orange-ink)}
.btn-primary:hover{background:#FB8A3A;color:var(--orange-ink)}
.btn-ghost{background:var(--tile);border-color:var(--line);color:var(--text)}
.btn-ghost:hover{background:var(--tile2);color:var(--text)}
.btn-light{background:var(--text);color:var(--bg)}
.btn-light:hover{background:#fff;color:var(--bg)}
.btn-sm{height:40px;padding:0 16px;font-size:14px}
.btn-block{width:100%}

/* nav */
.nav{position:sticky;top:0;z-index:50;padding:12px 0;background:linear-gradient(var(--bg) 70%,rgba(14,14,15,0))}
.nav-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;height:60px;padding:0 8px 0 18px;border-radius:999px;background:var(--tile);border:1px solid var(--line)}
.nav-links{display:none;gap:28px;font-size:14px;font-weight:500}
.nav-links a{color:#D8D2CA}
.nav-links a:hover{color:var(--text)}
.nav-actions{display:flex;align-items:center;gap:6px}
.nav-actions .signin{display:none}
.menu-btn{width:44px;height:44px;border-radius:999px;border:none;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer}
.menu{display:none;margin-top:8px;padding:8px;border-radius:20px;background:var(--tile);border:1px solid var(--line)}
.menu a{display:block;padding:14px 16px;border-radius:12px;color:var(--text);font-weight:600}
.menu a:hover{background:var(--tile2)}
.nav.open .menu{display:block}
@media(min-width:900px){
  .nav-links{display:flex}
  .nav-actions .signin{display:inline-flex}
  .menu-btn{display:none}
  .nav.open .menu{display:none}
}

/* eyebrow + headings */
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.22em;color:var(--muted);text-transform:uppercase}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--orange);flex:0 0 auto}
.h1{font-size:clamp(44px,9vw,84px);line-height:.98}
.h2{font-size:clamp(38px,6vw,60px)}
.accent{color:var(--orange)}
.lede{font-size:clamp(16px,2vw,20px);line-height:1.5;color:#D8D2CA;max-width:560px}

/* sections */
.section{padding:72px 0}
@media(min-width:900px){.section{padding:110px 0}}
.split{display:grid;gap:40px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:80px}.split.rev>*:first-child{order:2}}
.stack{display:flex;flex-direction:column;gap:18px}

/* photo cards */
.photo{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#231D19}
.photo>img{width:100%;height:100%;object-fit:cover}
.photo .scrim{position:absolute;inset:0;pointer-events:none}
.badge{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:999px;background:rgba(14,14,15,.72);font-size:12px;font-weight:700}
.badge i{width:8px;height:8px;border-radius:999px;background:var(--orange)}
.card{border-radius:18px;background:rgba(14,14,15,.92);border:1px solid var(--line);padding:16px}

/* hero */
.hero{padding:40px 0 0}
.hero .copy{display:flex;flex-direction:column;gap:22px;max-width:760px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px}
.hero .photo{margin-top:40px;aspect-ratio:4/5}
@media(min-width:700px){.hero .photo{aspect-ratio:16/9}}
@media(min-width:1100px){.hero .photo{aspect-ratio:1360/520}}
.hero .badge{position:absolute;top:16px;left:16px}
.hero .buddy-card{position:absolute;left:16px;right:16px;bottom:16px;display:flex;flex-direction:column;gap:12px}
@media(min-width:700px){.hero .buddy-card{right:auto;width:360px;left:32px;bottom:32px}}
.hero .sale-card{display:none}
@media(min-width:900px){
  .hero .sale-card{display:flex;position:absolute;right:32px;top:48px;width:300px;flex-direction:column;gap:14px;padding:18px;border-radius:20px;background:var(--text);color:var(--bg)}
}
.avatar{width:40px;height:40px;border-radius:999px;object-fit:cover;object-position:50% 30%}
.who{display:flex;align-items:center;gap:10px}
.who b{display:block;font-size:14px}
.who span{font-size:12px;color:var(--muted)}
.pill-btns{display:flex;gap:8px}
.pill{height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:14px;font-weight:600;cursor:pointer}
.pill.on{background:var(--orange);color:var(--orange-ink);border-color:var(--orange)}

/* pillars */
.pillars{background:var(--bg2)}
.pillar-list{margin-top:28px;border-top:1px solid var(--line)}
.pillar{display:grid;grid-template-columns:36px 1fr;gap:4px 12px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}
.pillar small{font-size:12px;color:var(--dim);font-weight:600}
.pillar b{font-size:28px;font-weight:800;letter-spacing:-.02em}
.pillar span{grid-column:2;font-size:15px;color:var(--muted)}
@media(min-width:700px){.pillar{grid-template-columns:44px 160px 1fr}.pillar span{grid-column:auto}}

/* phone */
.phone{width:min(320px,100%);margin:0 auto;padding:10px;border-radius:44px;background:var(--tile);border:3px solid var(--gold);box-shadow:0 0 0 1px #7A5A00,0 0 40px rgba(212,160,23,.35),0 30px 80px rgba(0,0,0,.55)}
.screen{border-radius:36px;background:var(--bg);overflow:hidden;display:flex;flex-direction:column;padding:18px 14px 12px;gap:14px;min-height:560px}
.screen-top{display:flex;justify-content:space-between;align-items:center;padding:0 2px}
.screen-top .mark{font-size:20px}
.screen-top span{font-size:12px;font-weight:700;color:var(--muted)}
.tile{padding:16px;border-radius:16px;background:var(--tile);display:flex;flex-direction:column;gap:12px}
.tile p{font-size:17px;line-height:1.35;font-weight:600}
.tile .btns{display:flex;gap:8px}
.tile .btns button{height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:14px;font-weight:600}
.tile .btns .go{background:var(--orange);color:var(--orange-ink);border-color:var(--orange);font-weight:700}
.arrow{display:flex;justify-content:center;color:var(--dim)}
.coupon{padding:16px;border-radius:16px;background:var(--ember);color:#fff;display:flex;flex-direction:column;gap:12px}
.coupon small{font-size:10px;font-weight:800;letter-spacing:.12em;color:#FFD9C7}
.coupon b{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1}
.coupon span{font-size:12px;color:#FFD9C7}
.coupon button{height:44px;border-radius:12px;border:none;background:#fff;color:var(--ember);font-size:14px;font-weight:700}
.askbar{margin-top:auto;display:flex;gap:6px;align-items:center}
.askbar i{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.askbar i.go{background:var(--orange);border-color:var(--orange)}
.askbar span{flex:1;height:44px;border-radius:12px;border:1px solid var(--line);display:flex;align-items:center;padding:0 12px;color:var(--dim);font-size:13px}
.bubble{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.4;max-width:85%}
.bubble.me{align-self:flex-end;background:var(--orange);color:var(--orange-ink);border-bottom-right-radius:4px}
.bubble.bud{align-self:flex-start;background:var(--tile2);border-bottom-left-radius:4px;font-size:15px}
.receipt{align-self:flex-end;width:140px;height:90px;border-radius:12px;background:var(--tile2);display:flex;align-items:center;justify-content:center;color:var(--dim);font-size:11px;font-weight:600}

/* promotions */
.promo-stage{position:relative;display:grid;gap:16px}
@media(min-width:900px){.promo-stage{grid-template-columns:1fr 400px;align-items:start}}
.promo-stage .photo{aspect-ratio:4/5}
@media(min-width:700px){.promo-stage .photo{aspect-ratio:16/9}}
.promo-stage .overlay{position:absolute;left:24px;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px}
.promo-stage .overlay small{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--orange)}
.promo-stage .overlay b{font-size:clamp(30px,5vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1}
.promo-stage .overlay span{font-size:13px;color:#D8D2CA}
.list-card{border-radius:22px;background:var(--tile);border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:10px}
.list-card header{display:flex;justify-content:space-between;align-items:center;padding:0 4px 6px}
.list-card header b{font-size:13px;letter-spacing:.1em;color:var(--orange)}
.list-card header span{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#123D2A;color:var(--green)}
.row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--bg)}
.row i{width:40px;height:40px;border-radius:12px;flex:0 0 auto}
.row div{flex:1}
.row b{display:block;font-size:14px}
.row span{font-size:12px;color:var(--muted)}
.row strong{font-size:14px;font-weight:800}

/* restock order card */
.order{width:100%;max-width:520px;margin:0 auto;border-radius:var(--r-lg);background:var(--tile);border:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:12px}
.order header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:0 4px}
.order header b{display:block;font-size:18px}
.order header small{font-size:13px;color:var(--muted)}
.order header em{font-style:normal;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:#3A1F08;color:#FFB37A;white-space:nowrap}
.line{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 14px;border-radius:14px;background:var(--bg);font-size:14px;align-items:center}
.line b{display:block}
.line small{font-size:12px;color:var(--muted)}
.line small.warn{color:#FF8A80}
.line strong{text-align:right;font-weight:700}
.line .qty{color:var(--muted);text-align:right;font-size:13px}
.order .total{display:flex;justify-content:space-between;align-items:center;padding:6px 4px 0;font-size:14px;color:var(--muted)}
.order .total b{font-size:20px;color:var(--text)}
.order .btns{display:grid;gap:10px}
@media(min-width:480px){.order .btns{grid-template-columns:repeat(2,minmax(0,1fr))}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:8px 14px;border-radius:999px;background:var(--tile);border:1px solid var(--line);font-size:13px;font-weight:600}
.chip.on{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:700}

/* orange band */
.band{background:var(--orange);color:var(--orange-ink)}
.band .eyebrow{color:#5C2E0A}
.band .eyebrow::before{background:var(--orange-ink)}
.band .accent{color:#FFE3CC}
.band .lede{color:#3A1F08}
.band .photo{aspect-ratio:4/5;background:#4A2408}
@media(min-width:700px){.band .photo{aspect-ratio:620/460}}
.band .jar{position:absolute;left:16px;right:16px;bottom:16px;padding:16px;border-radius:18px;background:var(--bg);color:var(--text);display:flex;align-items:center;gap:14px}
.ring{width:52px;height:52px;border-radius:999px;border:6px solid var(--orange);border-left-color:var(--line);transform:rotate(-30deg);flex:0 0 auto}
.jar small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--orange)}
.jar b{display:block;font-size:22px;letter-spacing:-.02em}
.jar span{font-size:13px;color:var(--muted)}
.band .note{display:flex;align-items:center;gap:14px;margin-top:6px}
.band .note i{width:48px;height:48px;border-radius:999px;background:var(--orange-ink);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.band .note b{display:block;font-size:16px}
.band .note span{font-size:13px;color:#5C2E0A}

/* pricing */
.plans{display:grid;gap:16px;margin-top:40px}
@media(min-width:900px){.plans{grid-template-columns:repeat(3,minmax(0,1fr))}}
.plan{border-radius:var(--r-lg);background:var(--tile);border:1px solid var(--line);padding:28px 24px;display:flex;flex-direction:column;gap:18px}
.plan.hot{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.plan small{font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--orange)}
.plan h3{font-size:28px}
.plan .price{font-size:40px;letter-spacing:-.03em;font-weight:800}
.plan .price span{font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0}
.plan ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:15px;color:#D8D2CA}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--orange);margin-top:8px;flex:0 0 auto}
.plan .btn{margin-top:auto}

/* closing */
.closing .photo{aspect-ratio:3/4}
@media(min-width:700px){.closing .photo{aspect-ratio:16/10}}
@media(min-width:900px){.closing .photo{aspect-ratio:1360/520}}
.closing .copy{position:absolute;left:24px;right:24px;bottom:24px;display:flex;flex-direction:column;gap:18px}
@media(min-width:900px){.closing .copy{left:72px;top:0;bottom:0;right:auto;width:520px;justify-content:center}}
.closing .eyebrow{color:#D8D2CA}

/* footer */
footer{padding:56px 0 32px}
.foot{display:grid;gap:36px}
@media(min-width:900px){.foot{grid-template-columns:1fr 180px 180px 180px;gap:40px}}
.foot p{font-size:14px;line-height:1.6;color:var(--muted)}
.foot .social{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;font-weight:600}
.foot .social a{color:#D8D2CA}
.foot nav{display:flex;flex-direction:column;gap:12px;font-size:14px}
.foot nav a{color:#D8D2CA}
.foot nav a:hover{color:var(--text)}
.foot nav small{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--dim)}
.legal{margin-top:40px;border-top:1px solid var(--tile2);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--dim)}

/* video modal */
dialog.vid{border:none;padding:0;background:transparent;max-width:none;width:100vw;height:100dvh;margin:0}
dialog.vid::backdrop{background:rgba(14,14,15,.92)}
dialog.vid .inner{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px}
dialog.vid video{height:min(80dvh,760px);aspect-ratio:9/16;border-radius:32px;border:3px solid var(--gold);background:#000}
dialog.vid .close{position:absolute;top:16px;right:16px}

/* inner pages */
.page{padding:48px 0 80px}
.page .wrap{max-width:760px}
.page h1{font-size:clamp(34px,6vw,52px);margin-bottom:12px}
.page h2{font-size:24px;margin:40px 0 12px;letter-spacing:-.02em}
.page p,.page li{color:#D8D2CA;font-size:16px;line-height:1.65}
.page p{margin:0 0 14px}
.page ul{padding-left:20px}
.page blockquote{margin:0 0 24px;padding:14px 18px;border-radius:12px;background:#3A1F08;color:#FFD9C7;border-left:4px solid var(--orange)}
.page blockquote p{color:#FFD9C7;margin:0}
.page table{width:100%;border-collapse:collapse;font-size:14px;margin:0 0 20px;display:block;overflow-x:auto}
.page th,.page td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:#D8D2CA}
.page th{color:var(--text);font-weight:700;background:var(--tile)}
.page .meta{color:var(--dim);font-size:14px;margin-bottom:28px}
.contact-grid{display:grid;gap:16px;margin:28px 0}
@media(min-width:700px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.contact-card{border-radius:var(--r-lg);background:var(--tile);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:10px}
.contact-card b{font-size:18px}
.contact-card span{color:var(--muted);font-size:14px}
