@charset "utf-8";
/* =========================================================================
   PEPTIVO — Landing (glp-female/v1) faithful rebuild
   Brand: blue #26618b / cyan #2abee9 / green CTA #14c44a
   Fonts: Urbanist (display) + DM Sans (body) — loaded from local /css woff2
   ========================================================================= */

/* ---- Fonts (reuse files already in /css) ---- */
@font-face{ font-family:'DM Sans'; src:url('DMSans-Regular.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face{ font-family:'DM Sans'; src:url('DMSans-Medium.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face{ font-family:'DM Sans'; src:url('DMSans-SemiBold.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face{ font-family:'DM Sans'; src:url('DMSans-Bold.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face{ font-family:'Urbanist'; src:url('Urbanist-Bold.woff2') format('woff2'); font-weight:700; font-display:swap; }

:root{
	--blue:#26618b; --blue-d:#1f5275; --blue-deep:#14476b; --navy:#0f3a5a;
	--cyan:#2abee9; --cyan-d:#00a1d2;
	--green:#15c64b; --green-d:#10ad40;
	--ink:#16202a; --ink-2:#4a5963; --muted:#7d8a94;
	--bg:#ffffff; --sky:#eaf4fd; --sky-2:#e2f0fb; --soft:#f2f8fd; --line:#e0e8ef;
	--head:'Urbanist', system-ui, sans-serif;
	--body:'DM Sans', system-ui, sans-serif;
	--maxw:1200px;
	--shadow:0 14px 40px -18px rgba(38,97,139,.28);
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; overflow-x:hidden; max-width:100%; }
body{ font-family:var(--body); color:var(--ink); background:var(--bg); font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:hidden; max-width:100%; }
img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
h1,h2,h3,h4{ font-family:var(--head); font-weight:700; line-height:1.05; letter-spacing:-0.02em; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.center{ text-align:center; }

/* ---- Buttons ---- */
.btn-green{
	display:inline-flex; align-items:center; justify-content:center; gap:10px;
	background:var(--green); color:#fff; font-family:var(--head); font-weight:700; font-size:19px;
	padding:18px 40px; border-radius:100px; border:none; cursor:pointer;
	box-shadow:0 10px 24px -8px rgba(21,198,75,.6); transition:transform .15s, background .2s, box-shadow .2s;
	width:100%; max-width:430px;
}
.btn-green:hover{ background:var(--green-d); transform:translateY(-2px); box-shadow:0 14px 30px -8px rgba(21,198,75,.6); }
.btn-green.sm{ font-size:16px; padding:13px 26px; box-shadow:none; }
.guarantee-line{ display:flex; align-items:center; justify-content:center; gap:7px; font-size:14px; color:var(--ink-2); margin-top:12px; }
.guarantee-line img{ width:17px; }
.cta-flags{ display:flex; gap:22px; justify-content:center; margin-bottom:14px; }
.cta-flags span{ display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:600; color:var(--ink-2); }
.cta-flags span::before{ content:"✓"; color:var(--green); font-weight:800; }
.cta-block{ display:flex; flex-direction:column; align-items:center; }

/* ---- Promo strip ---- */
.promo{ background:var(--blue-deep); color:#fff; text-align:center; font-size:14px; padding:9px 16px; font-weight:500; }
.promo b{ font-family:var(--head); font-weight:700; }

/* ---- Nav ---- */
.nav{ position:sticky; top:0; z-index:80; background:#fff; border-bottom:1px solid var(--line); }
.nav-in{ max-width:1280px; margin:0 auto; padding:0 24px; height:74px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.nav-logo{ height:34px; flex-shrink:0; }
.nav-links{ display:flex; gap:30px; }
.nav-links a{ font-family:var(--head); font-weight:600; font-size:15px; color:#2a3b47; }
.nav-links a:hover{ color:var(--blue); }
.nav-order{ background:var(--green); color:#fff; font-family:var(--head); font-weight:700; font-size:15px; padding:11px 26px; border-radius:100px; flex-shrink:0; box-shadow:0 6px 16px -6px rgba(21,198,75,.6); }
.nav-order:hover{ background:var(--green-d); }
.nav-burger{ display:none; background:none; border:none; cursor:pointer; }
@media(max-width:1000px){ .nav-links{ display:none; } .nav-burger{ display:block; } }

/* ---- Check strip (marquee) ---- */
.checkstrip{ background:#f5f7f9; border-bottom:1px solid var(--line); overflow:hidden; }
.checkstrip-track{ display:inline-flex; gap:46px; white-space:nowrap; padding:11px 0; animation:marq 34s linear infinite; }
.checkstrip-track span{ display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:#33424d; }
.checkstrip-track span::before{ content:"✓"; color:var(--blue); font-weight:800; }
@keyframes marq{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ---- HERO ---- */
.hero{ background:linear-gradient(180deg,var(--sky) 0%, #f3f9fe 100%); padding:46px 0 30px; }
.hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; }
.tp-row{ display:flex; align-items:center; gap:8px; font-size:15px; color:var(--ink-2); font-weight:500; margin-bottom:18px; }
.tp-row .gstars{ height:20px; }
.tp-row .tp-logo{ height:19px; }
.hero h1{ font-size:54px; line-height:1.02; color:#11212e; }
.hero h1 .accent{ color:var(--cyan-d); }
.hero-sub{ font-size:18px; color:var(--ink-2); margin:18px 0 24px; max-width:520px; }
.hero-bullets{ display:flex; gap:26px; margin-bottom:28px; flex-wrap:wrap; }
.hero-bullets li{ list-style:none; display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; font-family:var(--head); font-weight:600; font-size:15px; color:#22323e; max-width:120px; }
.hero-bullets li img{ height:30px; }
.hero-visual{ position:relative; min-height:430px; }
.hero-model{ position:absolute; right:0; bottom:0; max-height:560px; width:auto; z-index:1; }
.hero-product{ position:absolute; left:2%; bottom:6%; width:46%; max-width:260px; z-index:2; filter:drop-shadow(0 24px 30px rgba(20,71,107,.22)); }
.hero-burst{ position:absolute; left:34%; top:18%; width:96px; height:96px; background:#ffd21e; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; z-index:3; font-family:var(--head); font-weight:700; color:#1a1a1a; box-shadow:0 8px 18px rgba(0,0,0,.12); transform:rotate(-8deg); }
.hero-burst .s{ font-size:9px; letter-spacing:.04em; } .hero-burst .b{ font-size:24px; line-height:1; }
.hero-drop{ position:absolute; right:6%; top:20%; background:#fff; border-radius:100px; padding:7px 15px; font-family:var(--head); font-weight:700; font-size:18px; z-index:3; box-shadow:0 8px 20px rgba(20,71,107,.16); display:flex; align-items:center; gap:5px; }
.hero-drop img{ height:16px; } .hero-drop small{ font-size:12px; color:var(--muted); font-weight:600; }
@media(max-width:900px){
	.hero-grid{ grid-template-columns:1fr; }
	.hero{ text-align:center; }
	.hero h1{ font-size:38px; }
	.hero-bullets{ justify-content:center; }
	.cta-block{ align-items:center; }
	.hero-visual{ min-height:480px; margin-top:10px; }
	.hero-model{ left:50%; transform:translateX(-15%); right:auto; }
}

/* ---- Press ---- */
.press{ padding:26px 0; border-bottom:1px solid var(--line); }
.press-in{ display:flex; align-items:center; gap:34px; flex-wrap:wrap; justify-content:center; }
.press-label{ font-family:var(--head); font-weight:700; font-size:15px; color:#33424d; padding-right:14px; border-right:1px solid var(--line); }
.press-in img{ height:22px; opacity:.78; }
@media(max-width:700px){ .press-label{ border:none; width:100%; text-align:center; } .press-in img{ height:18px; } }

/* ---- Calculator + before/after ---- */
.calc-sec{ padding:60px 0; }
.calc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; }
.ba{ position:relative; border-radius:18px; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; box-shadow:var(--shadow); }
.ba img{ width:100%; height:100%; object-fit:cover; }
.ba .tag{ position:absolute; bottom:16px; background:#fff; font-family:var(--head); font-weight:700; font-size:13px; padding:6px 16px; border-radius:100px; box-shadow:0 4px 10px rgba(0,0,0,.12); }
.ba .tag.b{ left:16px; } .ba .tag.a{ right:16px; }
.ba .handle{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:48px; height:48px; border-radius:50%; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.2); display:flex; align-items:center; justify-content:center; color:var(--cyan-d); font-size:18px; }
.ba .divider{ position:absolute; left:50%; top:0; bottom:0; width:3px; background:#fff; transform:translateX(-50%); }
.calc-card{ border:2px solid #cfe6f6; border-radius:20px; padding:38px 34px; box-shadow:0 20px 50px -26px rgba(38,97,139,.3); }
.calc-card h3{ font-size:30px; text-align:center; color:#11212e; margin-bottom:24px; }
.calc-ruler{ height:22px; background:repeating-linear-gradient(90deg,#cfd9e1 0 1px,transparent 1px 11px); margin-bottom:26px; opacity:.7; }
.calc-row{ display:flex; justify-content:space-between; align-items:baseline; font-size:19px; color:var(--ink-2); margin-bottom:12px; }
.calc-row .v{ font-family:var(--head); font-weight:700; font-size:22px; color:var(--ink); }
.calc-slider{ -webkit-appearance:none; width:100%; height:8px; border-radius:100px; background:linear-gradient(90deg,var(--cyan) 0 45%, #dce5ec 45%); outline:none; margin:6px 0 26px; }
.calc-slider::-webkit-slider-thumb{ -webkit-appearance:none; width:26px; height:26px; border-radius:50%; background:#fff; border:3px solid var(--cyan); cursor:pointer; box-shadow:0 2px 6px rgba(0,0,0,.2); }
.calc-slider::-moz-range-thumb{ width:26px; height:26px; border-radius:50%; background:#fff; border:3px solid var(--cyan); cursor:pointer; }
.calc-result{ position:relative; background:var(--blue); color:#fff; border-radius:14px; padding:20px 26px; display:flex; align-items:center; justify-content:space-between; }
.calc-result::before{ content:""; position:absolute; top:-9px; left:60px; border-left:10px solid transparent; border-right:10px solid transparent; border-bottom:10px solid var(--blue); }
.calc-result .l{ font-family:var(--head); font-weight:600; font-size:18px; }
.calc-result .n{ font-family:var(--head); font-weight:700; font-size:40px; line-height:1; }
@media(max-width:900px){ .calc-grid{ grid-template-columns:1fr; } .calc-card h3{ font-size:24px; } }

/* ---- Stories (video) ---- */
.stories{ background:var(--sky); padding:64px 0; }
.stories h2{ font-size:44px; text-align:center; color:#11212e; }
.stories-rates{ display:flex; gap:40px; justify-content:center; align-items:center; margin:26px 0 36px; flex-wrap:wrap; }
.rate{ display:flex; align-items:center; gap:10px; }
.rate img.logo{ height:26px; } .rate img.stars{ height:18px; } .rate span{ font-size:14px; color:var(--ink-2); font-weight:600; }
.video-row{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-bottom:40px; }
.vcard{ position:relative; aspect-ratio:9/16; border-radius:16px; overflow:hidden; background:#1d1d1d; cursor:pointer; box-shadow:0 10px 26px -12px rgba(0,0,0,.4); }
.vcard video{ width:100%; height:100%; object-fit:cover; }
.vcard .play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.vcard .play img{ width:46px; transition:transform .2s; }
.vcard:hover .play img{ transform:scale(1.12); }
.vcard.playing .play{ display:none; }
@media(max-width:1000px){ .video-row{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:560px){ .video-row{ grid-template-columns:repeat(2,1fr); } .stories h2{ font-size:30px; } }

/* generic section heading */
.sec{ padding:70px 0; }
.sec-h{ font-size:44px; text-align:center; color:#11212e; }
.sec-sub{ text-align:center; color:var(--ink-2); font-size:18px; max-width:680px; margin:14px auto 0; }
@media(max-width:700px){ .sec-h{ font-size:30px; } .sec{ padding:50px 0; } }

/* ---- Science stats ---- */
.science-grid{ display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; margin-bottom:36px; }
.science-grid h2{ font-size:46px; color:#11212e; }
.science-grid p{ color:var(--ink-2); font-size:17px; margin-top:14px; max-width:430px; }
.science-img{ display:flex; justify-content:center; }
.science-img img{ max-width:360px; }
.stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:36px; }
.stat{ background:linear-gradient(160deg,#2f87b8,#1f5378); color:#fff; border-radius:16px; padding:26px 22px; position:relative; min-height:150px; }
.stat .n{ font-family:var(--head); font-weight:700; font-size:40px; }
.stat .t{ font-size:15px; margin-top:10px; line-height:1.4; opacity:.95; }
.stat .ic{ position:absolute; top:22px; right:20px; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; }
.stat .ic img{ width:20px; }
@media(max-width:900px){ .science-grid{ grid-template-columns:1fr; text-align:center; } .science-grid p{ margin:14px auto 0; } .stat-grid{ grid-template-columns:1fr 1fr; } }

/* ---- How it works ---- */
.works-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.works-left h2{ font-size:46px; color:#11212e; }
.works-left p{ color:var(--ink-2); margin:14px 0 26px; }
.works-phone{ margin-top:30px; }
.works-steps{ display:flex; flex-direction:column; gap:30px; position:relative; }
.wstep{ display:grid; grid-template-columns:auto 1fr; gap:20px; }
.wstep .num{ width:38px; height:38px; border-radius:50%; background:var(--blue); color:#fff; font-family:var(--head); font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.wstep h3{ font-size:23px; color:var(--blue); margin-bottom:8px; }
.wstep p{ color:var(--ink-2); font-size:15px; }
.wstep img{ border-radius:14px; margin-top:14px; }
@media(max-width:900px){ .works-grid{ grid-template-columns:1fr; } .works-left h2{ font-size:34px; } }

/* ---- Choose medication ---- */
.med-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:46px; }
.med-card{ border:1px solid var(--line); border-radius:18px; padding:30px; display:grid; grid-template-columns:1.4fr 1fr; gap:16px; align-items:center; box-shadow:0 10px 30px -20px rgba(38,97,139,.3); }
.med-stock{ display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:var(--cyan-d); border:1px solid #bfe6f5; border-radius:100px; padding:5px 13px; margin-bottom:14px; }
.med-stock::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--green); }
.med-card h3{ font-size:26px; color:#11212e; }
.med-card .desc{ font-size:14px; color:var(--ink-2); margin:10px 0 18px; }
.med-card .from{ font-size:15px; color:var(--muted); }
.med-card .from b{ font-family:var(--head); font-weight:700; font-size:26px; color:var(--ink); }
.med-card .btn-green{ margin-top:16px; max-width:220px; }
.med-card .prod{ display:flex; justify-content:center; }
.med-card .prod img{ max-height:230px; width:auto; }
@media(max-width:900px){ .med-grid{ grid-template-columns:1fr; } }

/* ---- Blue strip ---- */
.bluestrip{ background:var(--sky); overflow:hidden; padding:4px 0; }
.bluestrip-track{ display:inline-flex; gap:42px; white-space:nowrap; padding:16px 0; animation:marq 40s linear infinite; }
.bluestrip-track span{ display:inline-flex; align-items:center; gap:9px; font-family:var(--head); font-weight:600; font-size:15px; color:#1c3a52; }
.bluestrip-track span img{ height:22px; }

/* ---- Completely online ---- */
.online-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:46px; }
.online-card{ border:1px solid var(--line); border-radius:20px; padding:38px; text-align:center; box-shadow:0 10px 30px -22px rgba(38,97,139,.3); }
.online-card h3{ font-size:26px; color:var(--blue); margin-bottom:10px; }
.online-card p{ color:var(--ink-2); font-size:16px; max-width:380px; margin:0 auto; }
.online-card img{ margin:22px auto 0; border-radius:14px; }
@media(max-width:760px){ .online-grid{ grid-template-columns:1fr; } }

/* ---- Doctors ---- */
.doctors{ background:var(--sky); border-radius:26px; padding:50px 30px; margin-top:40px; }
.doctors h2{ font-size:38px; text-align:center; color:#11212e; }
.doctors .sec-sub{ margin-bottom:34px; }
.doc-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.doc{ background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 8px 22px -14px rgba(0,0,0,.25); }
.doc .ph{ aspect-ratio:1/1; overflow:hidden; }
.doc .ph img{ width:100%; height:100%; object-fit:cover; }
.doc .b{ padding:18px 16px; text-align:center; }
.doc .b h4{ font-size:18px; color:#11212e; }
.doc .b p{ font-size:13px; color:var(--muted); margin-top:5px; }
@media(max-width:980px){ .doc-row{ grid-template-columns:1fr 1fr; } }

/* ---- Testimonials ---- */
.tst{ padding:70px 0; }
.tst-stars{ height:26px; margin:18px auto 8px; }
.tst-rate{ text-align:center; font-size:15px; color:var(--ink-2); font-weight:600; margin-bottom:36px; }
.tst-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.tcard{ border:1px solid var(--line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 8px 24px -18px rgba(0,0,0,.25); }
.tcard-top{ display:flex; align-items:center; gap:8px; padding:14px 16px; }
.tcard-top .av{ width:30px; height:30px; border-radius:50%; object-fit:cover; }
.tcard-top .nm{ font-family:var(--head); font-weight:700; font-size:14px; }
.tcard-top .vf{ display:inline-flex; align-items:center; gap:4px; font-size:11px; color:var(--green-d); font-weight:600; }
.tcard-top .vf img{ width:13px; }
.tcard .ba2{ display:grid; grid-template-columns:1fr 1fr; }
.tcard .ba2 img{ width:100%; aspect-ratio:1/1; object-fit:cover; }
.tcard .tb{ padding:16px; }
.tcard .tb h4{ font-size:16px; color:var(--blue); margin-bottom:8px; }
.tcard .tb .st{ height:14px; margin-bottom:10px; }
.tcard .tb p{ font-size:13px; color:var(--ink-2); line-height:1.5; }
@media(max-width:1050px){ .tst-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .tst-grid{ grid-template-columns:1fr; } }

/* ---- Switch / guarantee ---- */
.switch{ background:var(--sky); padding:60px 0; }
.switch-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.switch-left{ position:relative; text-align:center; }
.switch-left .circle{ background:#bfeafb; border-radius:50%; width:min(440px,92%); aspect-ratio:1/1; margin:0 auto; display:flex; align-items:flex-end; justify-content:center; }
.switch-left h2{ position:absolute; top:14%; left:0; right:0; font-size:42px; color:#11212e; }
.switch-left .sub{ position:absolute; top:46%; left:0; right:0; color:var(--ink-2); font-size:16px; }
.switch-left .circle img{ width:62%; margin-bottom:0; }
.switch-right h3{ font-size:30px; color:#11212e; margin-bottom:10px; }
.switch-right>p{ color:var(--ink-2); margin-bottom:22px; }
.glist{ display:flex; flex-direction:column; gap:14px; margin-bottom:26px; }
.gitem{ border:1px solid var(--line); border-radius:14px; padding:18px 20px; display:grid; grid-template-columns:auto 1fr; gap:14px; background:#fff; }
.gitem img{ width:24px; }
.gitem h4{ font-size:18px; color:#11212e; }
.gitem p{ font-size:14px; color:var(--ink-2); margin-top:3px; }
@media(max-width:900px){ .switch-grid{ grid-template-columns:1fr; } .switch-left{ margin-bottom:20px; } }

/* ---- Benefits ---- */
.benefits-grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:46px; align-items:center; }
.benefits-img img{ max-width:480px; margin:0 auto; }
.benefits-img .mob{ display:none; }
.blist{ display:flex; flex-direction:column; }
.bitem{ display:grid; grid-template-columns:auto 1fr; gap:18px; padding:18px 0; border-bottom:1px solid var(--line); }
.bitem:last-child{ border-bottom:none; }
.bitem .ic{ width:48px; height:48px; border-radius:50%; background:var(--sky); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.bitem .ic img{ width:24px; }
.bitem h4{ font-size:19px; color:var(--blue); }
.bitem p{ font-size:15px; color:var(--ink-2); margin-top:4px; }
@media(max-width:860px){ .benefits-grid{ grid-template-columns:1fr; } .benefits-img .desk{ display:none; } .benefits-img .mob{ display:block; } }

/* ---- Satisfaction seal panel ---- */
.seal-panel{ background:var(--sky); border:1px solid #cfe6f6; border-radius:20px; padding:38px; display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:center; margin-top:46px; max-width:880px; margin-left:auto; margin-right:auto; }
.seal-panel img{ width:96px; }
.seal-panel h3{ font-size:26px; color:#11212e; margin-bottom:12px; }
.seal-panel .badge{ display:inline-block; background:#fff; border-radius:8px; padding:7px 16px; font-family:var(--head); font-weight:700; font-size:15px; color:var(--blue); margin-bottom:12px; }
.seal-panel p{ color:var(--ink-2); font-size:15px; }
@media(max-width:680px){ .seal-panel{ grid-template-columns:1fr; text-align:center; } .seal-panel img{ margin:0 auto; } }

/* ---- Mini quiz (entry to intake) ---- */
.miniquiz{ max-width:680px; margin:50px auto 0; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:0 24px 60px -34px rgba(38,97,139,.4); padding:46px 40px; }
.miniquiz h2{ font-size:34px; text-align:center; color:#11212e; margin-bottom:30px; }
.mq-opts{ display:flex; flex-direction:column; gap:13px; }
.mq-opt{ border:1.5px solid #d2dde6; border-radius:14px; padding:18px 22px; font-family:var(--body); font-size:17px; color:var(--ink); cursor:pointer; text-align:left; background:#fff; transition:all .15s; }
.mq-opt:hover{ border-color:var(--blue); background:var(--soft); }
.mq-opt.sel{ border-color:var(--blue); background:var(--sky); box-shadow:0 0 0 1px var(--blue); }
.miniquiz .btn-green{ margin:26px auto 0; display:flex; }
@media(max-width:560px){ .miniquiz{ padding:32px 22px; } .miniquiz h2{ font-size:26px; } }

/* ---- FAQ ---- */
.faq-sec{ display:grid; grid-template-columns:1fr 1fr; }
.faq-left{ background:var(--sky); padding:70px 5% 70px 0; }
.faq-left-in{ max-width:600px; margin-left:auto; padding:0 24px; }
.faq-left h2{ font-size:44px; color:#11212e; margin-bottom:30px; }
.faq-item{ border-bottom:1px solid #c9dcea; }
.faq-q{ width:100%; background:none; border:none; text-align:left; font-family:var(--head); font-weight:700; font-size:19px; color:#11212e; padding:22px 0; cursor:pointer; display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.faq-q .pm{ font-size:24px; color:var(--blue); flex-shrink:0; line-height:1; }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-a-in{ padding-bottom:22px; color:var(--ink-2); font-size:15px; line-height:1.6; }
.faq-a-in .note{ font-size:12px; color:var(--muted); margin-top:10px; }
.faq-item.open .faq-a{ max-height:600px; }
.faq-item.open .faq-q .pm{ color:var(--blue); }
.faq-right{ background:#f6d9b8; min-height:100%; }
.faq-right img{ width:100%; height:100%; object-fit:cover; }
.faq-cta{ margin-top:30px; }
@media(max-width:900px){ .faq-sec{ grid-template-columns:1fr; } .faq-right{ min-height:320px; } .faq-left{ padding:50px 0; } .faq-left h2{ font-size:32px; } }

/* ---- Footer ---- */
.foot{ padding:54px 0 40px; text-align:center; }
.foot-logo{ height:34px; margin:0 auto 24px; }
.foot-links{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; font-size:14px; color:#33424d; margin-bottom:24px; }
.foot-links a:hover{ color:var(--blue); }
.foot-dis{ font-size:11px; color:var(--muted); line-height:1.6; max-width:980px; margin:0 auto 16px; }
.foot-cert{ height:60px; margin:18px auto 14px; }
.foot-cp{ font-size:13px; color:var(--muted); }

/* reveal */
.rv{ opacity:0; transform:translateY(20px); transition:opacity .6s, transform .6s; }
.rv.in{ opacity:1; transform:none; }

/* =========================================================================
   HOMEPAGE HARMONIZATION OVERRIDE LAYER  (append-only — nothing above edited)
   Source of truth: public/design/masterpiece/masterpiece.css
   Direction: modern medical luxury (primary) + premium clinical commerce (accent)
   Scope: public/design/landing.html + public/design/intake.html
   Notes: intake.html carries an inline <style> block that loads AFTER this
          file, so intake-specific rules below are prefixed with `body` to win
          on specificity rather than on source order. Geometry, DOM, imagery,
          media, animation timing and breakpoints are intentionally untouched.
   ========================================================================= */

/* ---- 1. Display + UI typefaces (homepage: Fraunces italic 400 / Inter) ----
   Google-hosted static subsets. The Fraunces face is declared for BOTH
   font-style values and across the full weight range so that legacy
   `font-weight:700` / `font-style:normal` declarations still resolve to
   Fraunces italic 400 with no synthetic bolding. */
@font-face{ font-family:'Fraunces'; font-style:italic; font-weight:100 900; font-display:swap;
  src:url(https://fonts.gstatic.com/s/fraunces/v38/6NUs8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9hFwpX9W37ll9_mv0iQg.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Fraunces'; font-style:italic; font-weight:100 900; font-display:swap;
  src:url(https://fonts.gstatic.com/s/fraunces/v38/6NUs8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9hFwpX9W37ll9_mvMiQvTm.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Fraunces'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url(https://fonts.gstatic.com/s/fraunces/v38/6NUs8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9hFwpX9W37ll9_mv0iQg.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Fraunces'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url(https://fonts.gstatic.com/s/fraunces/v38/6NUs8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9hFwpX9W37ll9_mvMiQvTm.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ---- 2. Token remap: legacy blue/cyan/green tokens -> homepage palette ----
   Re-pointing the original custom properties propagates the new palette into
   every existing rule (including intake's inline <style>) without touching
   any markup. */
:root{
	/* homepage source-of-truth tokens */
	--forest:#1e2a30; --forest-2:#0d1418;
	--cream:#f1ebe1; --paper:#faf5ed;
	--sage:#b8c4ca; --mineral:#dde5e9; --clay:#cfd8dc;
	--teal:#0d7d78; --teal-d:#0a5f5b;

	/* legacy aliases, re-pointed */
	--blue:#0d7d78; --blue-d:#0a5f5b; --blue-deep:#0d1418; --navy:#0d1418;
	--cyan:#0d7d78; --cyan-d:#0d7d78;
	--green:#0d7d78; --green-d:#0a5f5b;
	--ink:#0d1418; --ink-2:#4e5a62; --muted:#6a7680;
	--bg:#faf5ed; --sky:#dfe6ea; --sky-2:#d6dfe4; --soft:#f1ebe1;
	--line:#dbd2c6;

	--head:'Fraunces','Times New Roman',serif;
	--body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	--font-display:'Fraunces','Times New Roman',serif;
	--font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	--shadow:0 20px 60px rgba(13,20,24,.11);
}

/* ---- 3. Base surfaces + type ---- */
html{ background:var(--paper); }
body{ background:var(--paper); color:var(--ink); }
body,button,input,select,textarea{ font-family:var(--body); }
::selection{ background:rgba(13,125,120,.22); color:var(--ink); }
:focus-visible{ outline:2px solid var(--teal); outline-offset:2px; }

h1,h2,h3,h4{
	font-family:var(--font-display);
	font-style:italic;
	font-weight:400;
	letter-spacing:-.02em;
	color:var(--ink);
}
.hero h1,.sec-h,.stories h2,.doctors h2,.faq-left h2,.calc-card h3,
.science-grid h2,.works-left h2,.switch-left h2,.switch-right h3,
.miniquiz h2,.seal-panel h3,.med-card h3,.online-card h3,.gitem h4,
.bitem h4,.wstep h3,.doc .b h4,.tcard .tb h4{ color:var(--ink); }
.hero h1 .accent{ color:var(--teal); }
.sec-sub,.hero-sub,.stories-rates .rate span,.tst-rate{ color:var(--ink-2); }

/* micro-UI labels stay on Inter (homepage keeps the serif for display only) */
.nav-links a,.nav-order,.btn-green,.press-label,.ba .tag,.calc-result .l,
.cta-flags span,.hero-bullets li,.bluestrip-track span,.checkstrip-track span,
.tcard-top .nm,.tcard-top .vf,.seal-panel .badge,.faq-q,.promo b,
.med-stock,.foot-links,.foot-cp,.mq-opt{
	font-family:var(--body);
	font-style:normal;
}
.nav-links a,.nav-order,.press-label,.seal-panel .badge,.tcard-top .nm,
.hero-bullets li,.bluestrip-track span,.promo b{ font-weight:600; }
.faq-q{ font-weight:600; letter-spacing:0; }
/* editorial numerals keep the display face */
.calc-result .n,.stat .n,.calc-row .v,.med-card .from b{
	font-family:var(--font-display); font-style:italic; font-weight:400;
}

/* ---- 4. Buttons: homepage pill / teal / white label / darker hover ---- */
.btn-green{
	background:var(--teal); color:#fff;
	font-family:var(--body); font-style:normal; font-weight:600;
	font-size:15px; letter-spacing:.06em; text-transform:uppercase;
	border-radius:999px;
	box-shadow:0 10px 26px -12px rgba(13,20,24,.28);
	transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.btn-green:hover{
	background:var(--teal-d); color:#fff;
	box-shadow:0 14px 32px -12px rgba(13,20,24,.32);
}
.btn-green.sm{ font-size:13px; letter-spacing:.06em; box-shadow:none; }
.nav-order{
	background:var(--teal); color:#fff; font-size:12px; letter-spacing:.06em;
	text-transform:uppercase; border-radius:999px;
	box-shadow:0 8px 20px -12px rgba(13,20,24,.3);
}
.nav-order:hover{ background:var(--teal-d); }
.guarantee-line{ color:var(--muted); }
.cta-flags span{ color:var(--ink-2); font-weight:600; letter-spacing:.02em; }
.cta-flags span::before{ color:var(--teal); }

/* ---- 5. Rails, nav, trust bands ---- */
.promo{ background:var(--forest-2); color:#fff; letter-spacing:.06em; }
.nav{ background:rgba(241,235,225,.94); backdrop-filter:blur(16px); border-bottom:1px solid rgba(13,20,24,.08); }
.nav-links a{ color:var(--ink); text-transform:uppercase; font-size:12px; letter-spacing:.06em; }
.nav-links a:hover{ color:var(--teal); }
.nav-burger svg,.nav-burger path{ stroke:var(--ink); }
.checkstrip{ background:var(--cream); border-bottom:1px solid var(--line); }
.checkstrip-track span{ color:var(--ink); font-weight:600; }
.checkstrip-track span::before{ color:var(--teal); }
.bluestrip{ background:var(--mineral); }
.bluestrip-track span{ color:var(--ink); }
.press{ border-bottom:1px solid var(--line); }
.press-label{ color:var(--ink); border-right:1px solid var(--line); text-transform:uppercase; font-size:12px; letter-spacing:.08em; }
.press-in img{ opacity:.62; filter:grayscale(1); }

/* ---- 6. Hero ---- */
.hero{
	background:
		radial-gradient(circle at 82% 12%,rgba(13,125,120,.10),transparent 29%),
		radial-gradient(circle at 8% 78%,rgba(166,137,96,.14),transparent 28%),
		linear-gradient(180deg,#f7f1e7 0%,#e5dccf 100%);
}
.tp-row{ color:var(--ink-2); }
.hero-bullets li{ color:var(--ink); text-transform:uppercase; font-size:11px; letter-spacing:.06em; }
.hero-product{ filter:drop-shadow(0 24px 30px rgba(13,20,24,.18)); }
.hero-burst{
	background:var(--forest-2); color:#fff;
	font-family:var(--body); font-style:normal; font-weight:600;
	box-shadow:0 10px 24px rgba(13,20,24,.22);
}
.hero-burst .s{ letter-spacing:.1em; text-transform:uppercase; }
.hero-burst .b{ font-family:var(--font-display); font-style:italic; font-weight:400; }
.hero-drop{
	background:var(--paper); border:1px solid var(--line);
	font-family:var(--body); font-style:normal; font-weight:600;
	box-shadow:0 10px 24px rgba(13,20,24,.12);
}
.hero-drop small{ color:var(--muted); }

/* ---- 7. Calculator + before/after ---- */
.ba{ box-shadow:var(--shadow); }
.ba .tag{ background:var(--paper); color:var(--ink); border:1px solid var(--line); box-shadow:0 4px 12px rgba(13,20,24,.1); }
.ba .handle{ background:var(--paper); color:var(--teal); box-shadow:0 4px 14px rgba(13,20,24,.2); }
.ba .divider{ background:var(--paper); }
.calc-card{ background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); }
.calc-ruler{ background:repeating-linear-gradient(90deg,rgba(13,20,24,.16) 0 1px,transparent 1px 11px); }
.calc-row{ color:var(--ink-2); }
.calc-slider{ background:linear-gradient(90deg,var(--teal) 0 45%,#d9d0c4 45%); }
.calc-slider::-webkit-slider-thumb{ background:var(--paper); border-color:var(--teal); box-shadow:0 2px 6px rgba(13,20,24,.2); }
.calc-slider::-moz-range-thumb{ background:var(--paper); border-color:var(--teal); }
.calc-result{ background:var(--forest-2); color:#fff; }
.calc-result::before{ border-bottom-color:var(--forest-2); }
.calc-result .l{ font-weight:600; text-transform:uppercase; font-size:12px; letter-spacing:.08em; color:#c6d0d4; }

/* ---- 8. Stories / video / doctors ---- */
.stories{ background:var(--cream); }
.vcard{ background:var(--forest-2); box-shadow:0 14px 34px -18px rgba(13,20,24,.4); }
.doctors{ background:var(--mineral); }
.doc{ background:var(--paper); border:1px solid var(--line); box-shadow:0 10px 26px -18px rgba(13,20,24,.22); }
.doc .b p{ color:var(--muted); }

/* ---- 9. Science stats ---- */
.science-grid p{ color:var(--ink-2); }
.stat{ background:linear-gradient(160deg,#26343b 0%,var(--forest-2) 100%); color:#fff; }
.stat .t{ color:#c6d0d4; opacity:1; }
.stat .ic{ background:rgba(255,255,255,.12); }

/* ---- 10. How it works / medications / online ---- */
.works-left p,.wstep p{ color:var(--ink-2); }
.wstep .num{ background:var(--forest-2); color:#fff; font-family:var(--body); font-style:normal; font-weight:600; }
.med-card{ background:var(--paper); border:1px solid var(--line); box-shadow:0 14px 34px -24px rgba(13,20,24,.28); }
.med-stock{ color:var(--teal); border:1px solid var(--line); text-transform:uppercase; font-size:11px; letter-spacing:.06em; }
.med-stock::before{ background:var(--teal); }
.med-card .desc{ color:var(--ink-2); }
.med-card .from{ color:var(--muted); }
.online-card{ background:var(--paper); border:1px solid var(--line); box-shadow:0 14px 34px -26px rgba(13,20,24,.26); }
.online-card p{ color:var(--ink-2); }

/* ---- 11. Testimonials / switch / benefits / seal ---- */
.tcard{ background:var(--paper); border:1px solid var(--line); box-shadow:0 10px 28px -20px rgba(13,20,24,.24); }
.tcard-top .vf{ color:var(--teal); font-weight:600; }
.tcard .tb p{ color:var(--ink-2); }
.switch{ background:var(--cream); }
.switch-left .circle{ background:var(--mineral); }
.switch-left .sub,.switch-right>p{ color:var(--ink-2); }
.gitem{ background:var(--paper); border:1px solid var(--line); }
.gitem p{ color:var(--ink-2); }
.bitem{ border-bottom:1px solid var(--line); }
.bitem .ic{ background:var(--mineral); }
.bitem p{ color:var(--ink-2); }
.seal-panel{ background:var(--mineral); border:1px solid var(--line); }
.seal-panel .badge{ background:var(--paper); color:var(--teal); text-transform:uppercase; font-size:12px; letter-spacing:.08em; }
.seal-panel p{ color:var(--ink-2); }

/* ---- 12. Mini quiz (landing -> intake entry) ---- */
.miniquiz{ background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); }
.mq-opt{ background:var(--paper); border:1.5px solid var(--line); color:var(--ink); }
.mq-opt:hover{ border-color:var(--teal); background:#f5efe6; }
.mq-opt.sel{ border-color:var(--teal); background:rgba(13,125,120,.08); box-shadow:0 0 0 1px var(--teal); }

/* ---- 13. FAQ ---- */
.faq-left{ background:var(--mineral); }
.faq-item{ border-bottom:1px solid rgba(13,20,24,.14); }
.faq-q{ color:var(--ink); }
.faq-q .pm,.faq-item.open .faq-q .pm{ color:var(--teal); }
.faq-a-in{ color:var(--ink-2); }
.faq-a-in .note{ color:var(--muted); }
.faq-right{ background:var(--clay); }

/* ---- 14. Footer (warm band, homepage borders/typography) ---- */
.foot{ background:var(--cream); border-top:1px solid var(--line); }
.foot-links{ color:var(--ink); text-transform:uppercase; font-size:11px; font-weight:600; letter-spacing:.06em; }
.foot-links a:hover{ color:var(--teal); }
.foot-dis,.foot-cp{ color:var(--muted); }

/* =========================================================================
   15. INTAKE (public/design/intake.html)
   `body` prefix is required: intake's inline <style> block is parsed after
   this stylesheet, so these rules win on specificity instead of order.
   ========================================================================= */
body .intk-promo{ background:var(--forest-2); color:#fff; letter-spacing:.06em; }
body .intk-promo b{ font-family:var(--body); font-style:normal; font-weight:600; }
body .intk-head{ background:var(--paper); border-bottom:1px solid var(--line); }
body .intk-secure{ color:var(--muted); text-transform:uppercase; font-size:11px; letter-spacing:.06em; }
body .intk-secure svg{ stroke:var(--teal); }

body .prog{ background:var(--soft); }
body .prog-bar{ background:rgba(13,20,24,.10); }
body .prog-fill{ background:var(--teal); }
body .prog-back{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--teal); text-transform:uppercase; font-size:12px; letter-spacing:.06em; }
body .prog-back svg{ stroke:var(--teal); }
body .prog-count{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--muted); text-transform:uppercase; font-size:11px; letter-spacing:.08em; }

body .step .kick{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--teal); letter-spacing:.1em; }
body .step h2,body .stop h2,body .loader h2,body .appr h2,body .info h2{
	font-family:var(--font-display); font-style:italic; font-weight:400; color:var(--ink); letter-spacing:-.02em;
}
body .step .sub,body .stop p,body .loader p,body .appr p,body .info-line{ color:var(--ink-2); }

body .opt{ background:var(--paper); border:1.5px solid var(--line); color:var(--ink); }
body .opt:hover{ border-color:var(--teal); box-shadow:0 8px 20px -14px rgba(13,20,24,.3); }
body .opt.sel{ border-color:var(--teal); background:rgba(13,125,120,.08); box-shadow:0 0 0 1px var(--teal); }
body .opt .mn h3{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--ink); }
body .opt .mn p{ color:var(--muted); }
body .opt .rd,body .opt .ck{ border-color:rgba(13,20,24,.22); }
body .opt.sel .rd{ border-color:var(--teal); }
body .opt.sel .ck{ border-color:var(--teal); background:var(--teal); }

body .grp-q-t,body .pq-label{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--ink); letter-spacing:0; }
body .fld label{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--muted); letter-spacing:.08em; }
body .fld .unitwrap .u{ color:var(--muted); }
body .inp{ background:#fffdf8; border:1.5px solid var(--line); color:var(--ink); font-family:var(--body); }
body .inp::placeholder{ color:#9aa3a8; }
body .inp:focus{ border-color:var(--teal); box-shadow:0 0 0 1px var(--teal); }
body select.inp{ background:#fffdf8; }

body .drop{ background:var(--paper); border:2px dashed var(--line); }
body .drop:hover{ border-color:var(--teal); background:#f5efe6; }
body .drop.has{ border-color:var(--teal); background:rgba(13,125,120,.07); }
body .drop svg{ stroke:var(--teal); }
body .drop.has svg{ stroke:var(--teal); }
body .drop h3{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--ink); }
body .drop p{ color:var(--muted); }
body .skip{ color:var(--muted); font-weight:600; }
body .skip:hover{ color:var(--teal); }

body .tcard{ background:var(--paper); border:1.5px solid var(--line); box-shadow:0 18px 40px -26px rgba(13,20,24,.35); }
body .tcard .tphoto{ background:var(--mineral); }
body .tba .tcol span{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--muted); letter-spacing:.08em; }
body .tba .tcol b{ font-family:var(--font-display); font-style:italic; font-weight:400; color:var(--ink); }
body .tba .tcol.after b{ color:var(--teal); }
body .tba .tarrow svg{ stroke:var(--teal); }
body .tname{ color:var(--muted); }
body .iquote{ font-family:var(--font-display); font-style:italic; font-weight:400; color:var(--ink); }
body .iperson img{ background:var(--mineral); }
body .iperson b{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--ink); }
body .iperson span{ color:var(--muted); }
body .dcard{ background:var(--mineral); }
body .dcard img{ background:var(--paper); }
body .dcard b{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--ink); }
body .dcard span{ color:var(--muted); }
body .proof{ background:var(--mineral); }
body .proof p{ color:var(--ink); }
body .proof .by{ color:var(--muted); }

body .cont.dis .btn-green{ background:#e3ddd1; color:rgba(13,20,24,.34); box-shadow:none; }
body .reassure{ color:var(--muted); }
body .reassure svg{ stroke:var(--teal); }

/* semantic states, harmonized (error stays warm-red, success stays teal) */
body .stop.crit .ic{ background:#f4e2dc; }
body .stop.crit .ic svg{ stroke:#a8483c; }
body .stop.soft .ic{ background:var(--mineral); }
body .stop.soft .ic svg{ stroke:var(--teal); }
body .btn-outline{
	background:var(--paper); color:var(--teal); border:1.6px solid var(--teal);
	font-family:var(--body); font-style:normal; font-weight:600;
	font-size:13px; letter-spacing:.06em; text-transform:uppercase; border-radius:999px;
}
body .btn-outline:hover{ background:var(--teal); color:#fff; border-color:var(--teal); }

body .spin{ border-color:rgba(13,20,24,.12); border-top-color:var(--teal); }
body .lsteps li{ color:var(--ink); }
body .lsteps li .c{ background:rgba(13,20,24,.12); }
body .lsteps li.done .c{ background:var(--teal); }

body .appr .badge{ background:rgba(13,125,120,.10); }
body .appr .badge svg{ stroke:var(--teal); }
body .appr .kk{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--teal); letter-spacing:.1em; }
body .appr-sum .chip{ background:var(--paper); border:1px solid var(--line); border-radius:12px; }
body .appr-sum .chip h4{ font-family:var(--body); font-style:normal; font-weight:600; color:var(--teal); letter-spacing:.08em; }
body .appr-sum .chip p{ color:var(--ink); }
