/* South Beach Collagen Filler Serum — official site styles */
:root{
  --cream:#fffaf7;
  --cream-2:#fdf3ee;
  --blush:#fce9e6;
  --blush-2:#fbe3dc;
  --rose:#c84d6e;
  --rose-dark:#b03d5e;
  --plum:#3a1f2e;
  --plum-2:#4a2939;
  --gold:#c4983c;
  --gold-dark:#a9812f;
  --ink:#3a2233;
  --body:#5d4651;
  --muted:#8a6b78;
  --line:#efe1da;
  --white:#ffffff;
  --shadow:0 18px 40px rgba(122,44,63,.12);
  --shadow-sm:0 8px 22px rgba(122,44,63,.08);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --wrap:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--sans);color:var(--body);background:var(--cream);
  font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);font-weight:600;line-height:1.12;margin:0 0 .5em}
h1{font-size:clamp(2.6rem,6vw,4.4rem);letter-spacing:-.5px}
h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.4px}
h3{font-size:1.5rem}
p{margin:0 0 1.1em}
a{color:var(--rose);text-decoration:none}
a:hover{text-decoration:underline}
em,.it{font-style:italic;color:var(--rose)}
strong{color:var(--ink);font-weight:600}
img{max-width:100%;display:block}
.eyebrow{font-family:var(--sans);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:.9rem;display:block}
.center{text-align:center}
.lead{font-size:1.12rem;color:var(--muted);max-width:680px}
.center .lead{margin-left:auto;margin-right:auto}

/* promo bar */
.promo{background:var(--plum);color:#f3e3e9;font-size:.82rem;text-align:center;padding:9px 14px;letter-spacing:.02em}
.promo strong{color:#ffd9c9}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,250,247,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;gap:26px;height:74px}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand img{width:34px;height:34px}
.brand b{font-family:var(--serif);font-size:1.34rem;color:var(--ink);font-weight:600;line-height:1}
.brand span{display:block;font-size:.58rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-top:3px}
.nav-links{display:flex;align-items:center;gap:21px;margin-left:auto}
.nav-links a{color:var(--ink);font-size:.92rem;font-weight:400;text-decoration:none}
.nav-links a:hover{color:var(--rose)}
.has-sub{position:relative}
.has-sub>span{cursor:default;color:var(--ink);font-size:.92rem;display:inline-flex;align-items:center;gap:5px}
.submenu{position:absolute;top:130%;left:50%;transform:translateX(-50%) translateY(8px);background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;min-width:262px;opacity:0;visibility:hidden;transition:.18s}
.has-sub:hover .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.submenu a{display:block;padding:9px 13px;border-radius:9px;font-size:.9rem}
.submenu a:hover{background:var(--blush);text-decoration:none}
.btn{display:inline-block;background:var(--rose);color:#fff;font-family:var(--sans);font-weight:500;font-size:.95rem;padding:13px 26px;border-radius:34px;box-shadow:0 8px 20px rgba(200,77,110,.32);transition:.16s;border:none;cursor:pointer;letter-spacing:.01em}
.btn:hover{background:var(--rose-dark);text-decoration:none;transform:translateY(-1px);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:none;border:1.5px solid var(--line)}
.btn-ghost:hover{background:var(--blush);color:var(--ink);transform:none}
.btn-gold{background:var(--gold);box-shadow:0 8px 20px rgba(196,152,60,.34)}
.btn-gold:hover{background:var(--gold-dark)}
.btn-lg{padding:16px 34px;font-size:1.02rem}
.nav .btn{flex-shrink:0}
.menu-toggle{display:none;background:none;border:none;font-size:1.7rem;color:var(--ink);cursor:pointer;margin-left:auto}

/* sections */
section{padding:78px 0}
.s-soft{background:var(--blush)}
.s-soft-2{background:var(--cream-2)}
.s-blush2{background:var(--blush-2)}
.s-dark{background:var(--plum);color:#e9d4dc}
.s-dark h1,.s-dark h2,.s-dark h3{color:#fff}
.s-dark .eyebrow{color:var(--gold)}
.s-dark .lead{color:#d9bcc7}

/* hero */
.hero{padding:64px 0 30px;background:linear-gradient(180deg,var(--cream) 0%,var(--blush-2) 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.pill{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:30px;padding:7px 15px;font-size:.78rem;color:var(--ink);font-weight:500}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rose)}
.hero h1{margin-bottom:.35em}
.hero-rating{display:flex;align-items:center;gap:9px;margin-top:24px;font-size:.92rem;color:var(--muted)}
.stars{color:var(--gold);letter-spacing:2px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.hero-img{position:relative}
.hero-img img{filter:drop-shadow(0 24px 36px rgba(122,44,63,.16));border-radius:26px}
.float-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);padding:11px 15px;font-size:.78rem;color:var(--ink);font-weight:500}
.float-card small{display:block;color:var(--muted);font-weight:400;font-size:.72rem}
.fc-1{top:14%;left:-12px}
.fc-2{bottom:16%;right:-10px}

/* feature strip */
.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);overflow:hidden;margin-top:6px}
.feature-strip .fs{padding:30px 22px;text-align:center;border-right:1px solid var(--line)}
.feature-strip .fs:last-child{border-right:none}
.fs .ic{font-size:1.5rem;margin-bottom:8px}
.fs b{display:block;font-family:var(--serif);font-size:1.18rem;color:var(--ink);margin-bottom:3px}
.fs span{font-size:.82rem;color:var(--muted)}

/* trust pills row */
.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}

/* cards / grids */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);padding:28px 26px}
.card h3{font-size:1.28rem;margin-bottom:.4em}
.card .ic{font-size:1.4rem;margin-bottom:12px;display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;background:var(--blush);border-radius:12px}

/* formula list */
.formula-list{list-style:none;padding:0;margin:0}
.formula-list li{position:relative;padding:0 0 16px 30px}
.formula-list li::before{content:"✦";position:absolute;left:0;top:1px;color:var(--gold);font-size:1rem}
.formula-list b{color:var(--ink)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center;margin-top:34px}
.stat .num{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.4rem);color:var(--gold);line-height:1}
.stat .lbl{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#c9aab5;margin-top:8px}

/* ritual / timeline */
.steps{max-width:760px;margin:34px auto 0}
.step{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px 24px;margin-bottom:14px}
.step .n{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--blush);color:var(--rose);font-weight:600;display:flex;align-items:center;justify-content:center;font-size:.95rem}
.step b{font-family:var(--serif);font-size:1.2rem;color:var(--ink);display:block;margin-bottom:2px}
.timeline{max-width:760px;margin:30px auto 0}
.tl{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px 24px;margin-bottom:14px}
.tl .dot{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--rose);margin-top:5px}
.tl .stage{font-family:var(--serif);font-style:italic;color:var(--rose);font-size:1.05rem}
.tl b{display:block;color:var(--ink);font-family:var(--sans);font-weight:600;margin:1px 0 3px}

/* reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.review{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);padding:26px 24px}
.review .stars{font-size:.95rem;margin-bottom:10px}
.review p{font-size:.96rem;color:var(--body);font-style:italic}
.reviewer{display:flex;align-items:center;gap:12px;margin-top:16px}
.reviewer .av{width:40px;height:40px;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem}
.reviewer b{color:var(--ink);font-size:.92rem;display:block;font-family:var(--sans)}
.reviewer span{font-size:.78rem;color:var(--muted)}
.verified{color:var(--rose);font-weight:600}

/* pricing */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px;align-items:start}
.price{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm)}
.price.best{border:2px solid var(--gold);box-shadow:var(--shadow);transform:translateY(-8px)}
.price .top{background:var(--plum);color:#fff;text-align:center;padding:18px}
.price.best .top{background:var(--gold)}
.price.pop .top{background:var(--plum-2)}
.price .top .ttl{font-family:var(--serif);font-size:1.6rem;color:#fff;line-height:1}
.price .top .sub{font-size:.76rem;color:#e9d4dc;letter-spacing:.04em}
.price.best .top .sub{color:#fff5e6}
.price .body{padding:26px 22px;text-align:center}
.price .bottle-ph{height:96px;display:flex;align-items:end;justify-content:center;gap:4px;margin-bottom:10px}
.price .bph{width:24px;border-radius:5px 5px 3px 3px;background:linear-gradient(#f6efc9,#e9dca0);position:relative}
.price .bph::before{content:"";position:absolute;top:-9px;left:6px;right:6px;height:9px;background:#3a3439;border-radius:3px}
.price .amt{font-family:var(--serif);color:var(--ink);line-height:1}
.price .amt .big{font-size:3rem}
.price .amt .cur{font-size:1.3rem;vertical-align:top}
.price .per{font-size:.82rem;color:var(--muted);margin-bottom:14px}
.price .save{display:inline-block;background:var(--blush);color:var(--rose);font-size:.78rem;font-weight:600;padding:5px 13px;border-radius:20px;margin-bottom:8px}
.price.best .save{background:#f7eccd;color:var(--gold-dark)}
.price .guarantee{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:10px 0}
.price .perks{font-size:.82rem;color:var(--rose);margin:10px 0 4px}
.price .total{font-size:.85rem;color:var(--muted);margin-top:14px}
.price .total s{color:#c9aab5}
.price .cards{display:flex;gap:5px;justify-content:center;margin-top:14px;flex-wrap:wrap}
.price .cards span{font-size:.6rem;border:1px solid var(--line);border-radius:4px;padding:2px 6px;color:var(--muted);letter-spacing:.05em}
.ship-note{font-size:.78rem;color:var(--muted);background:var(--blush);border-radius:0 0 18px 18px;padding:10px;margin:14px -22px -26px}

/* guides teaser */
.guides{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}

/* what-is prose block */
.prose-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);padding:40px 44px;max-width:760px;margin:34px auto 0}
.prose-card h3{color:var(--rose);font-size:1.35rem;margin-top:1.4em}
.prose-card h3:first-child{margin-top:0}

/* faq accordion */
.faq{max-width:780px;margin:34px auto 0}
details{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);margin-bottom:12px;overflow:hidden}
details summary{list-style:none;cursor:pointer;padding:20px 24px;font-family:var(--sans);font-weight:600;color:var(--ink);font-size:1.02rem;display:flex;justify-content:space-between;align-items:center;gap:16px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font-size:1.5rem;color:var(--rose);transition:.2s;line-height:1}
details[open] summary::after{content:"×"}
details .ans{padding:0 24px 22px;color:var(--body);font-size:.97rem}

/* final cta band */
.cta-band{background:linear-gradient(120deg,var(--rose) 0%,var(--plum) 88%);border-radius:26px;padding:54px 40px;text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;top:-40px;right:-20px;width:220px;height:220px;border-radius:50%;background:rgba(255,200,120,.25)}
.cta-band h2{color:#fff;position:relative}
.cta-band p{color:#f6dde4;max-width:560px;margin:0 auto 26px;position:relative}
.cta-band .btn{position:relative}

/* footer */
.footer{background:var(--plum);color:#c8a9b6;padding:60px 0 30px;font-size:.9rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
.footer h4{color:#fff;font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:16px}
.footer a{color:#c8a9b6;display:block;margin-bottom:9px;font-size:.9rem}
.footer a:hover{color:#fff;text-decoration:none}
.footer .brand b{color:#fff}
.footer .brand span{color:#9b7c89}
.footer-about p{font-size:.88rem;color:#b294a1;margin-top:14px;line-height:1.6}
.footer-about .sup{color:#fff;margin-top:14px;font-size:.86rem}
.fine{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:24px;font-size:.76rem;color:#9b7c89;line-height:1.7}
.fine strong{color:#c8a9b6}
.fine-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:18px;font-size:.76rem;color:#8e6f7c}

/* legal page */
.legal{max-width:820px;margin:0 auto;padding:54px 0}
.legal h1{font-size:clamp(2.2rem,4vw,3rem);margin-bottom:.2em}
.legal .updated{color:var(--muted);font-size:.88rem;margin-bottom:30px}
.legal h2{font-size:1.5rem;margin-top:1.8em}
.legal h3{font-size:1.18rem;margin-top:1.4em}
.legal ul{padding-left:20px}
.legal li{margin-bottom:8px}
.legal .box{background:var(--cream-2);border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin:24px 0}
.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:18px}
.breadcrumb a{color:var(--rose)}

/* content (inner) pages */
.page-head{padding:56px 0 12px;background:linear-gradient(180deg,var(--cream) 0%,var(--blush-2) 100%);text-align:center}
.page-head .breadcrumb{justify-content:center}
.page-head h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:.25em}
.page-head .lead{margin:0 auto}
.prose-wrap{max-width:820px;margin:0 auto}
.prose-wrap h2{font-size:1.8rem;margin-top:1.7em}
.prose-wrap h2:first-child{margin-top:0}
.prose-wrap h3{font-size:1.3rem;color:var(--rose);margin-top:1.5em}
.prose-wrap ul,.prose-wrap ol{padding-left:22px}
.prose-wrap li{margin-bottom:9px}
.keybox{background:var(--cream-2);border:1px solid var(--line);border-radius:16px;padding:24px 28px;margin:26px 0}
.keybox h3{margin-top:0}
.inci{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px;font-size:.9rem;color:var(--muted);line-height:1.7;margin:18px 0}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.pc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px}
.pc h4{font-family:var(--serif);font-size:1.2rem;margin:0 0 10px}
.pc.yes h4{color:#3f8f6b}.pc.no h4{color:var(--rose)}
.pc ul{list-style:none;padding:0;margin:0}
.pc li{padding-left:24px;position:relative}
.pc.yes li::before{content:"✓";position:absolute;left:0;color:#3f8f6b;font-weight:700}
.pc.no li::before{content:"–";position:absolute;left:0;color:var(--rose);font-weight:700}
.cmp-table{width:100%;border-collapse:separate;border-spacing:0;min-width:560px;text-align:left;font-size:.95rem;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cmp-table th{padding:15px 18px;font-family:var(--serif);font-weight:600;background:var(--plum);color:#fff}
.cmp-table th.hl{background:#fff6f1;color:var(--ink)}
.cmp-table td{padding:13px 18px;border-top:1px solid var(--line)}
.cmp-table td.hl{background:#fff6f1}
.cmp-table td:first-child{font-weight:600;color:var(--ink)}
.checklist{list-style:none;padding:0}
.checklist li{padding-left:30px;position:relative;margin-bottom:12px}
.checklist li::before{content:"✓";position:absolute;left:0;top:0;color:#fff;background:var(--rose);width:20px;height:20px;border-radius:50%;font-size:.72rem;display:flex;align-items:center;justify-content:center}
@media(max-width:600px){.pros-cons{grid-template-columns:1fr}}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);padding:30px}
.contact-card .ic{font-size:1.6rem;margin-bottom:10px}
.contact-card a{font-size:1.1rem;font-weight:600}

/* tracking */
.track-box{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);padding:34px;max-width:620px;margin:26px auto}

/* responsive */
@media(max-width:900px){
  .nav-links{display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--cream);border-bottom:1px solid var(--line);padding:14px 22px;gap:4px}
  .nav-links.open{display:flex}
  .nav-links a,.has-sub>span{padding:10px 4px}
  .submenu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;padding:0 0 0 14px;min-width:0;background:transparent}
  .has-sub:hover .submenu{transform:none}
  .menu-toggle{display:block}
  .nav .btn{margin-left:auto}
  .hero-grid,.grid-2,.guides,.contact-cards{grid-template-columns:1fr}
  .feature-strip{grid-template-columns:1fr 1fr}
  .feature-strip .fs:nth-child(2){border-right:none}
  .feature-strip .fs:nth-child(1),.feature-strip .fs:nth-child(2){border-bottom:1px solid var(--line)}
  .grid-3,.reviews,.pricing,.stats{grid-template-columns:1fr}
  .price.best{transform:none}
  .stats{grid-template-columns:1fr 1fr;gap:30px 18px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .fc-1,.fc-2{display:none}
}
@media(max-width:520px){
  .footer-grid{grid-template-columns:1fr}
  .prose-card,.cta-band{padding:30px 22px}
}
