/* Best Hair Growth Supplements — Version B (Figma 716:17 desktop / 716:676 mobile) */
:root{
  --ink:#241c18; --rust:#be5a32; --amber:#d88a2d; --grey:#888; --line:#d9d9d9; --sand:#ddd3c8;
  --green:#52794b; --green-l:#a2c59c; --red:#b83535; --red-btn:#b3261e;
  --tint:rgba(216,138,45,.1); --tint7:rgba(216,138,45,.07);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:22px;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol{margin:0}
.serif{font-family:var(--serif);font-weight:500;font-optical-sizing:auto;letter-spacing:-.01em}

/* header */
.site-header{height:100px;border-bottom:1px solid var(--sand);display:flex;align-items:center;justify-content:center;background:#fff}
.site-header img{width:220px;height:53px}

main{max-width:730px;margin:50px auto 0;padding:0 20px;display:flex;flex-direction:column;gap:35px}
section,[id]{scroll-margin-top:20px}

/* intro */
.intro{background:var(--tint7);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:15px}
.eyebrow{font-weight:700;font-size:10px;line-height:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--rust)}
.intro h1{font-size:35px;line-height:42px}
.intro .meta{display:flex;gap:15px;align-items:center}
.tag-updated{background:#fff;border:1px solid rgba(216,138,45,.1);border-radius:3px;padding:5px 7px;font-weight:700;font-size:9px;line-height:11px;letter-spacing:.45px;text-transform:uppercase;color:rgba(216,138,45,.7)}
.sponsored{font-size:12px;line-height:15px;color:#757575}

.hero-img{width:100%;height:385px;object-fit:cover;border-radius:10px}

/* top list */
.toplist{border-radius:10px}
.toplist-head{background:var(--ink);color:#fff;height:50px;display:flex;align-items:center;padding:0 15px;border-radius:10px 10px 0 0;font-weight:700;font-size:12px;letter-spacing:.6px;text-transform:uppercase}
.toplist ol{list-style:none;padding:0}
.toplist li a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px;border:1px solid var(--line);margin-top:-1px}
.toplist li:first-child a{background:var(--tint);margin-top:0}
.toplist li:last-child a{border-radius:0 0 10px 10px}
.tl-left{display:flex;gap:10px;align-items:flex-start;min-width:0;flex:1 1 auto}
.tl-num{flex:none;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:14.4px;display:flex;align-items:center;justify-content:center}
.toplist li:first-child .tl-num{background:var(--amber)}
.tl-name{display:flex;flex-direction:column;gap:10px}
.tl-name b{font-size:16px;line-height:22px}
.tl-name span{font-size:13px;line-height:16px;color:var(--grey)}
.tl-right{display:flex;align-items:center;gap:15px;font-weight:700;white-space:nowrap;flex:none}
.tl-score{font-size:18px;line-height:22px}
.tl-more{font-size:13px;line-height:16px}
.toplist li:first-child .tl-right{color:var(--amber)}
.toplist .mob-only{display:none}
@media (min-width:768px){}

/* #1 pick */
.pick-head{background:var(--ink);border:1px solid var(--ink);border-radius:10px 10px 0 0;padding:20px;display:flex;flex-direction:column;gap:15px}
.pick-top{display:flex;justify-content:space-between;align-items:center}
.badge-pick{background:var(--amber);color:#fff;border-radius:3px;padding:7px 10px;font-weight:700;font-size:9px;line-height:11px;letter-spacing:.45px;text-transform:uppercase}
.editors{color:var(--amber);font-weight:700;font-size:9px;line-height:11px;letter-spacing:.45px;text-transform:uppercase}
.pick-sub{color:var(--line);font-size:12px;line-height:15px}
.pick-name{color:#fff;font-family:var(--serif);font-weight:700;font-size:27px;line-height:32px}
.pick-desc{color:var(--line);font-size:14px;line-height:20px}
.pick-img{background:#f4f4f4;border:1px solid var(--line);border-top:0;display:flex;justify-content:center}
.pick-img img{width:293px;height:293px;object-fit:cover}
.stats{display:flex}
.stat{flex:1 1 0;min-width:0;border:1px solid var(--line);margin:-1px 0 0 -1px;padding:20px 15px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}
.stat:first-child{margin-left:0}
.stat strong{font-family:var(--serif);font-weight:700;font-size:28px;line-height:28px;color:var(--amber)}
.stat span{font-size:12px;line-height:15px;color:var(--grey);min-height:45px}
.pick-body{border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;padding:30px;display:flex;flex-direction:column;gap:20px}
.btn-row{display:flex;gap:15px}
.btn{display:flex;align-items:center;justify-content:center;height:55px;padding:0 25px;border-radius:10px;font-size:16px;white-space:nowrap;transition:filter .15s}
.btn:hover{filter:brightness(1.08)}
.btn-rust{background:var(--rust);color:#fff;font-weight:700}
.btn-outline{box-shadow:inset 0 0 0 2px var(--red-btn);color:var(--red-btn);font-weight:500}
.btn-row .btn{flex:1 1 0}

/* how we compared */
.compared{background:var(--tint);border-radius:10px;padding:30px;display:flex;flex-direction:column;gap:20px}
h2.serif{font-size:30px;line-height:36px}
.compared ul{padding-left:24px}
.compared li{margin-bottom:15px}
.compared li:last-child{margin-bottom:0}

/* table */
.sbs{display:flex;flex-direction:column;gap:15px}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cmp{border-collapse:separate;border-spacing:0;width:690px;border:1px solid var(--grey);border-radius:10px;overflow:hidden;table-layout:fixed}
.cmp th,.cmp td{height:65px;padding:0 10px;border-right:1px solid var(--grey);border-bottom:1px solid var(--grey);text-align:left;vertical-align:middle;font-size:16px;line-height:22px}
.cmp tr>*:last-child{border-right:0;text-align:center}
.cmp tbody tr:last-child>*{border-bottom:0}
.cmp thead th{background:var(--ink);color:#fff;font-size:12px;line-height:15px;font-weight:700;text-transform:uppercase}
.cmp tbody th{font-weight:700}
.cmp tbody td{font-weight:400}
.cmp tr.win th{background:var(--amber);color:#fff}
.cmp tr.win td{background:var(--tint)}
.footnote{font-size:15px;line-height:18px;color:var(--grey)}

.divider{display:flex;align-items:center;gap:20px;color:var(--grey);font-weight:700;font-size:12px;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;line-height:9px}
.divider::before,.divider::after{content:"";flex:1;border-top:1px solid var(--grey)}
.reviews-intro{display:flex;flex-direction:column;gap:20px}
.reviews-intro h2{line-height:30px}

/* review cards */
.card{position:relative;box-shadow:inset 0 0 0 1px var(--line);border-radius:7px;padding:30px;display:flex;flex-direction:column;gap:35px}
.card.top{box-shadow:inset 0 0 0 1px var(--rust)}
.card-badge{position:absolute;left:29px;top:-15px;background:var(--grey);color:#fff;border-radius:100px;padding:10px 20px;font-weight:700;font-size:10px;line-height:10px;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}
.card.top .card-badge{background:var(--rust)}
.card-head{display:flex;gap:20px;align-items:center}
.card-img{flex:none;width:128px;height:135px;object-fit:cover}
.card-img-link{display:block;flex:none}
.card-title{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:15px;align-items:flex-start}
.card-title h3{font-size:19px;line-height:23px;font-weight:700}
.card-title .sub{font-size:12px;line-height:15px;font-weight:500;color:var(--grey)}
.top-head{display:grid;grid-template-columns:128px 1fr 100px;grid-template-areas:"img title score" "img btn score";column-gap:20px;row-gap:15px;align-items:center}
.top-head .card-img-link{grid-area:img}
.top-head .card-title{grid-area:title;align-self:end}
.top-head .btn-shop{grid-area:btn;align-self:start;justify-self:start}
.top-head .score{grid-area:score}
.btn-shop{background:var(--ink);color:#fff;border-radius:5px;padding:10px 25px;font-weight:700;font-size:16px;line-height:19px}
.score{flex:none;width:75px;height:75px;background:var(--ink);color:#fff;border-radius:4.5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}
.score b{font-size:24px;line-height:24px}
.score small{font-size:9px;line-height:9px;text-transform:uppercase}
.card.top .score{width:100px;height:100px;background:var(--rust);border-radius:6px;gap:13px}
.card.top .score b{font-size:32px;line-height:30px}
.card.top .score small{font-size:12px;line-height:12px}
.pills{display:flex;flex-wrap:wrap;gap:15px}
.pill{border-radius:30px;padding:15px 20px;font-weight:600;font-size:13px;line-height:11px;white-space:nowrap}
.pill.grey{background:rgba(221,211,200,.5);box-shadow:inset 0 0 0 1px var(--sand);color:#1d1d1d}
.pill.green{background:rgba(162,197,156,.1);box-shadow:inset 0 0 0 1px var(--green-l);color:var(--green)}
a.pill:hover{filter:brightness(.97)}
.card-body p{line-height:25px}
.card-body p+p{margin-top:25px}
.card.top .card-body p{line-height:22px}
.card.top .card-body p+p{margin-top:22px}
.pc{display:flex;gap:20px;align-items:stretch}
.pc>div{flex:1 1 0;min-width:0;border-radius:7px;padding:30px 20px;display:flex;flex-direction:column;gap:30px}
.pc .pros{background:rgba(162,197,156,.2);box-shadow:inset 0 0 0 1px var(--green-l)}
.pc .cons{background:rgba(184,53,53,.15);box-shadow:inset 0 0 0 1px var(--red)}
.pc h4{margin:0;font-weight:700;font-size:18px;line-height:13px;text-transform:uppercase}
.pc .pros h4{color:var(--green)}
.pc .cons h4{color:var(--red)}
.pc ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:20px}
.pc li{display:flex;gap:10px;align-items:flex-start;line-height:19px}
.card.top .pc li{line-height:22px}
.pc li img{flex:none;margin-top:2px}
.verdict{background:var(--tint);border-radius:7px;padding:30px 20px}
.tagline{font-weight:700}

.mid-cta{display:flex;flex-direction:column;align-items:center;gap:15px;text-align:center}
.mid-cta p{font-size:24px;line-height:29px}

/* four actives */
.actives{background:rgba(221,211,200,.2);border-radius:10px;padding:50px 30px;display:flex;flex-direction:column;gap:30px;align-items:center;text-align:center}
.actives h2{width:100%}
.actives .lead{line-height:25px}
.actives .act-img{width:100%;height:247px;object-fit:contain;background:#fff;border-radius:5px}
.actives .inner{width:100%;padding:0 50px;display:flex;flex-direction:column;gap:30px;align-items:center}
.actives .inner h3{font-weight:700;font-size:30px;line-height:30px}
.actives .inner .by{font-weight:500;font-size:14px;line-height:20px;color:var(--grey);margin-top:-10px}
.act-list{list-style:none;padding:0;width:100%;text-align:left}
.act-list li{display:flex;gap:15px;align-items:flex-start;line-height:19px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--sand)}
.act-list li:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.act-list img{flex:none;margin-top:2px}
.btn-dark{background:var(--ink);color:#fff;border-radius:10px;padding:20px 25px;font-weight:700;font-size:14px;line-height:20px;letter-spacing:.7px;width:281px;text-align:center}
.guarantee{display:flex;gap:10px;align-items:center;color:var(--green);font-size:14px;line-height:20px}

.pricing{background:var(--tint);box-shadow:inset 0 0 0 1px var(--sand);border-radius:10px;padding:50px 20px;display:flex;flex-direction:column;gap:35px;align-items:center;text-align:center}
.pricing h2{line-height:30px}
.btn-small{background:var(--rust);color:#fff;border-radius:10px;width:175px;padding:15px 25px;font-weight:700;font-size:14px;line-height:20px;letter-spacing:.7px;text-align:center}

/* FAQ + disclosures */
.faq{display:flex;flex-direction:column;gap:35px}
.faq h2{line-height:30px}
.faq-list{border-top:1px solid var(--sand)}
.faq-item{border-bottom:1px solid var(--sand);padding:20px 0}
.faq-q{display:flex;gap:20px;align-items:center;font-weight:700;line-height:25px;padding:5px 0;list-style:none;cursor:pointer}
.faq-q::-webkit-details-marker{display:none}
.faq-q span{flex:1}
.faq-q .ico{flex:none;width:15px;height:15px;background:url(/best-hair-growth-supplements/img/plus.svg) center/15px 15px no-repeat}
details[open] .faq-q .ico{background-image:url(/best-hair-growth-supplements/img/minus.svg);background-size:15px 1.5px}
.faq-a{line-height:25px;padding-top:15px}
.faq-item.static .faq-q{cursor:default}
.legal{color:var(--grey)}
.legal h3{font-size:16px;line-height:22px;font-weight:700;margin-bottom:22px}
.legal ol{padding-left:24px}
.legal li{margin-bottom:10px}
.legal li:last-child{margin-bottom:0}

/* footer */
.site-footer{margin-top:100px;background:var(--ink)}
.footer-in{display:flex;gap:70px;align-items:center;justify-content:center;padding:25px 100px}
.footer-logo{text-align:center;white-space:nowrap;flex:none}
.footer-logo .l1{font-family:var(--serif);font-weight:500;font-size:30px;line-height:30px;color:var(--rust)}
.footer-logo .l2{font-family:var(--serif);font-weight:400;font-size:20.1px;line-height:28px;color:#fff}
.footer-text{flex:1;display:flex;flex-direction:column;gap:20px;color:var(--sand);font-weight:300;font-size:12px;line-height:15px}
.footer-text b{font-weight:300}

@media (max-width:767px){
  main{padding:0 20px;gap:35px}
  .intro .meta{flex-direction:column;align-items:flex-start}
  .sponsored{font-size:10px;line-height:12px}
  .toplist .mob-only{display:block}
  .toplist li a{padding:15px 12px}
  .tl-num{width:23px;height:23px;font-size:11px}
  .tl-name{gap:5px}
  .tl-name b{line-height:19px}
  .tl-name span{font-size:10px;line-height:12px}
  .tl-right{flex-direction:column;align-items:flex-end;gap:5px}
  .toplist li a{gap:0}
  .pick-body{padding:20px}
  .tl-more{font-size:10px;line-height:12px}
  .stat{padding:20px 10px}
  .pick-sub{font-size:12px}
  .btn-row{flex-direction:column}
  .btn-row .btn{flex:none;width:100%}
  .table-wrap{margin-right:-20px}
  .compared{padding:20px}
  .card{padding:30px 15px;gap:20px}
  .card-badge{left:50%;transform:translateX(-50%)}
  .card:not(.top) .card-badge{left:30px;transform:none}
  .card-head{flex-wrap:wrap;gap:20px}
  .card-img-link,.card-img{width:100%}
  .card-img{height:116px;object-fit:contain}
  .card-title{gap:15px}
  .card-title h3{font-size:16px;line-height:19px}
  .top-head{grid-template-columns:1fr 75px;grid-template-areas:"img img" "title score" "btn btn";row-gap:20px}
  .top-head .card-title{align-self:center}
  .card.top .score{width:75px;height:75px;border-radius:4.5px;gap:11px}
  .card.top .score b{font-size:24px;line-height:22px}
  .card.top .score small{font-size:9px;line-height:9px}
  .pc{flex-direction:column;gap:20px}
  .mid-cta .btn{width:351px;max-width:100%}
  .actives{padding:50px 15px}
  .actives .inner{padding:0 10px}
  .site-footer{margin-top:50px}
  .footer-in{flex-direction:column;gap:20px;padding:25px 15px}
  .footer-text b{font-weight:700}
  .vv-br{display:none}
}

/* Figma "text-box-trim: cap/alphabetic" equivalents (Chrome 133+/Safari 18.2+; others fall back to normal leading) */
.trim,.pc h4,.pc li span,.pill,.card-title .sub,.score b,.score small,.card-body,.verdict,.divider,.reviews-intro h2,
.act-list li span,.guarantee,.pricing h2,.pricing p,.btn-small,.btn-dark,.faq h2,.toplist-head,.card-badge,.footer-text p,.footer-logo div{
  text-box:trim-both cap alphabetic}
