/* ===== layout ===== */
.container{max-width:1200px;margin:0 auto;padding:0 24px;}
.container-narrow{max-width:880px;margin:0 auto;padding:0 24px;}
body{padding-bottom:0;background:var(--bg-page);}
section{padding:80px 0;}
section.tight{padding:48px 0;}
.section-head{margin-bottom:32px;}
.section-head.center{text-align:center;}
.section-head.center .section-sub{margin-left:auto;margin-right:auto;}
h2{font-family:var(--font-display);font-weight:700;font-size:40px;line-height:1.1;letter-spacing:-0.005em;margin:0 0 10px;}
h2 .accent{color:var(--brand-blue);}
h3{font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1.25;margin:0 0 10px;}
.section-sub{font-size:17px;color:var(--fg-secondary);max-width:640px;line-height:1.5;}
p{line-height:1.55;}
.accent{color:var(--brand-blue);}

/* ===== top bar ===== */
.top-bar{background:#0F1115;color:#fff;padding:10px 0;font-size:13px;position:sticky;top:0;z-index:50;}
.top-bar .container{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.top-bar .pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:99px;background:rgba(255,255,255,0.1);font-size:12px;white-space:nowrap;}
.top-bar .pill.acc{background:var(--brand-blue);}
.top-bar .meta{font-size:12px;color:rgba(255,255,255,0.6);white-space:nowrap;}
.top-bar .grow{flex:1;}
.top-bar .cta{padding:6px 16px;border-radius:99px;background:#fff;color:#0F1115;font-weight:600;font-size:12px;border:0;cursor:pointer;}
.dot-cyan{width:6px;height:6px;border-radius:99px;background:var(--brand-blue);}
/* marquee */
.top-bar-marquee{display:none;overflow:hidden;}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.top-bar-track{display:flex;gap:12px;width:max-content;animation:marquee 18s linear infinite;padding:0 6px;}

/* ===== header ===== */
header.site{background:rgba(244,245,247,0.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:36px;z-index:40;}
header.site .container{display:flex;align-items:center;gap:32px;padding-top:14px;padding-bottom:14px;}
.logo{font-family:var(--font-display);font-weight:800;font-size:26px;color:var(--brand-blue);letter-spacing:-0.02em;}
nav.main{display:flex;gap:24px;flex:1;}
nav.main a{color:var(--fg-primary);font-size:14px;font-weight:500;text-decoration:none;}
nav.main a:hover{color:var(--brand-blue);}
.login{display:inline-flex;align-items:center;gap:6px;color:var(--fg-secondary);font-size:14px;text-decoration:none;}
.login svg{width:16px;height:16px;}
.btn-primary{padding:11px 22px;border-radius:99px;background:var(--brand-blue);color:#fff;font-weight:600;font-size:14px;border:0;cursor:pointer;box-shadow:var(--shadow-cta);transition:all 160ms var(--ease-out);}
.btn-primary:hover{background:var(--brand-blue-press);}
.btn-secondary{padding:11px 22px;border-radius:99px;background:#fff;color:var(--fg-primary);font-weight:600;font-size:14px;border:1px solid var(--border-strong);cursor:pointer;}
.btn-secondary:hover{border-color:var(--brand-blue);background:var(--brand-blue-tint);}

/* ===== hero ===== */
section.hero{padding:56px 0 64px;background:linear-gradient(180deg,#F4F5F7 0%,#E9F3FB 100%);}
.hero-updated{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--fg-secondary);background:#fff;border:1px solid var(--border);border-radius:99px;padding:5px 12px;margin:0 0 16px;letter-spacing:0.01em;}
.hero-updated svg{width:12px;height:12px;color:var(--brand-blue);flex-shrink:0;}
.hero .container{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;}
h1.hero-title{font-family:var(--font-display);font-weight:700;font-size:52px;line-height:1.05;letter-spacing:-0.01em;margin:0 0 18px;}
.hero-lead{font-size:18px;color:var(--fg-secondary);margin:0 0 24px;max-width:520px;}
.hero-summary{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 22px;margin-bottom:24px;max-width:520px;}
.hero-summary .row{display:flex;flex-direction:column;gap:2px;padding:8px 0;}
.hero-summary .lbl{font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:0.05em;}
.hero-summary .val{font-size:14px;font-weight:600;}
.hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;}
.hero-micro{font-size:12px;color:var(--fg-muted);margin-top:14px;}

.hero-visual{position:relative;}
.hero-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-3);}
.hero-card .h-row{display:flex;align-items:center;gap:8px;margin:8px 0;}
.h-pct{font-family:var(--font-display);font-weight:800;font-size:64px;line-height:1;color:var(--brand-blue);letter-spacing:-0.02em;}
.h-of{display:flex;flex-direction:column;}
.h-of-up{font-size:13px;color:var(--fg-muted);}
.h-of-dn{font-size:14px;font-weight:600;}
.code-row{display:flex;align-items:stretch;border:1.5px dashed var(--border-strong);border-radius:14px;overflow:hidden;background:#FAFBFC;margin-top:14px;}
.code-val{font-family:var(--font-mono);font-weight:600;font-size:18px;flex:1;display:flex;align-items:center;justify-content:center;letter-spacing:0.04em;padding:14px;}
.code-btn{padding:14px 18px;background:var(--brand-blue);color:#fff;font-weight:600;font-size:13px;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.code-btn:hover{background:var(--brand-blue-press);}
.code-btn svg{width:14px;height:14px;}
.code-btn.copied{background:var(--success);}
.hero-script{position:absolute;font-family:var(--font-script);color:var(--brand-blue-ink);font-size:22px;line-height:1.1;left:-150px;bottom:30px;width:160px;text-align:right;transform:rotate(-4deg);}

/* ===== generic photo placeholder ===== */
.photo{background:linear-gradient(135deg,#E6F4FD,#C7E3F4);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#5C6470;font-size:13px;border:1px solid var(--border);overflow:hidden;position:relative;background-size:cover;background-position:center;}
.photo::after{content:attr(data-label);}
.photo[style*="background-image"]::after{display:none;}

/* ===== badges ===== */
.b{font-size:12px;font-weight:600;padding:5px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
.b-best{background:#0F1115;color:#fff;}
.b-checked{background:#E6F4FD;color:#1F95DC;}
.b-active{background:#E5F6ED;color:#1B8E55;}
.b-warn{background:#FBF1DD;color:#A77419;}
.b-expired{background:#FCE7E7;color:#B72D2D;}
.b-new{background:#fff;color:#0F1115;border:1px solid var(--border);}

/* ===== stat strip ===== */
.stat-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:24px;}
.stat-strip .item{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;}
.stat-strip .item .v{font-weight:700;font-size:16px;line-height:1.2;}
.stat-strip .item .l{font-size:11px;color:var(--fg-muted);margin-top:2px;line-height:1.3;}

/* ===== filters ===== */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.chip{padding:9px 16px;border-radius:99px;background:#fff;border:1px solid var(--border);font-size:13px;font-weight:500;color:var(--fg-primary);cursor:pointer;transition:all 160ms var(--ease-out);}
.chip.active{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue);}
.chip:hover:not(.active){border-color:var(--brand-blue);}
.chip .count{opacity:0.65;margin-left:6px;font-size:11px;}
.chip.active .count{opacity:0.85;}
.filter-sub{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:13px;color:var(--fg-secondary);}
.filter-sub .toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;}
.filter-sub input{accent-color:var(--brand-blue);}

/* ===== main coupon card ===== */
.coupon-main{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:28px;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:32px;margin-bottom:28px;align-items:center;}
.coupon-main .badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
.coupon-main h3{font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1.2;margin:0 0 8px;}
.coupon-main .desc{font-size:14px;color:var(--fg-secondary);margin:0 0 14px;}
.coupon-main .meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:13px;}
.coupon-main .meta-grid .k{color:var(--fg-muted);}
.coupon-main .meta-grid .v{font-weight:500;}
.coupon-main .right{display:flex;flex-direction:column;gap:10px;justify-content:center;}
.coupon-main .micro{font-size:12px;color:var(--fg-muted);text-align:center;line-height:1.4;}
.coupon-main .photo{height:200px;border-radius:var(--radius-md);}

/* ===== offers grid ===== */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px;}
.offer{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:18px;display:flex;flex-direction:column;gap:10px;transition:all 240ms var(--ease-out);}
.offer.type-code  {background:rgba(60,173,239,0.04);border-color:rgba(60,173,239,0.25);}
.offer.type-action{background:rgba(27,142,85,0.04); border-color:rgba(27,142,85,0.22);}
.offer.type-cert  {background:rgba(124,58,237,0.04);border-color:rgba(124,58,237,0.22);}
.offer.type-link  {background:rgba(245,158,11,0.04);border-color:rgba(245,158,11,0.22);}
.offer.type-test  {background:rgba(16,185,129,0.04);border-color:rgba(16,185,129,0.22);}
.offer.expired    {background:#FAFAFA;border-color:var(--border);}
/* type chip */
.offer-type-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:99px;font-size:11px;font-weight:600;white-space:nowrap;}
.offer-type-chip svg{width:11px;height:11px;}
.type-code   .offer-type-chip{background:rgba(60,173,239,0.12); color:var(--brand-blue);}
.type-action .offer-type-chip{background:rgba(27,142,85,0.12);  color:#1B8E55;}
.type-cert   .offer-type-chip{background:rgba(124,58,237,0.12); color:#7C3AED;}
.type-link   .offer-type-chip{background:rgba(245,158,11,0.12); color:#D97706;}
.type-test   .offer-type-chip{background:rgba(16,185,129,0.12); color:#10B981;}
.expired     .offer-type-chip{background:rgba(0,0,0,0.05);      color:var(--fg-muted);}
/* cta color per type */
.offer.type-action .cta{background:#1B8E55;}
.offer.type-cert   .cta{background:#7C3AED;}
.offer.type-link   .cta{background:#D97706;}
.offer.type-test   .cta{background:#10B981;}
.offer:hover{box-shadow:var(--shadow-3);transform:translateY(-2px);}
.offer.hidden{display:none;}
.offer .top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.offer .pct{font-family:var(--font-display);font-weight:700;font-size:28px;line-height:1;}
.offer .pct.discount{color:var(--brand-blue);}
.offer h4{margin:0;font-size:15px;font-weight:600;line-height:1.3;}
.offer .desc{font-size:13px;color:var(--fg-secondary);margin:0;flex:1;}
.offer .meta{font-size:12px;color:var(--fg-muted);}
.offer .code-mini{font-family:var(--font-mono);font-weight:600;font-size:13px;background:#FAFBFC;border:1px dashed var(--border-strong);border-radius:8px;padding:8px 10px;text-align:center;letter-spacing:0.04em;}
.offer .code-wrap{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-weight:600;font-size:13px;background:#FAFBFC;border:1px dashed var(--border-strong);border-radius:8px;padding:8px 12px;letter-spacing:0.04em;cursor:pointer;}
.offer .code-text{flex:1;text-align:center;transition:filter 200ms var(--ease-out),color 160ms;}
.offer .code-wrap.blurred .code-text{filter:blur(5px);user-select:none;}
.offer .code-wrap.copied .code-text{color:var(--success);}
.offer .code-copy-btn{background:none;border:none;cursor:pointer;padding:0;color:var(--fg-muted);display:flex;align-items:center;flex-shrink:0;transition:color 160ms;}
.offer .code-copy-btn:hover{color:var(--brand-blue);}
.offer .code-copy-btn svg{width:14px;height:14px;}
.offer .code-wrap.blurred .code-copy-btn{visibility:hidden;pointer-events:none;}
.offer .cta{padding:9px;border:0;background:var(--brand-blue);color:#fff;border-radius:99px;font-weight:600;font-size:13px;cursor:pointer;transition:all 160ms var(--ease-out);text-align:center;}
.offer .cta:hover{background:var(--brand-blue-press);}
.offer .cta.copied{background:var(--success);}
.offer a.cta-link{display:block;padding:9px;background:var(--brand-blue);color:#fff;border-radius:99px;font-weight:600;font-size:13px;text-align:center;text-decoration:none;transition:all 160ms var(--ease-out);}
.offer a.cta-link:hover{background:var(--brand-blue-press);}
.offer.expired{opacity:0.65;}
.offer.expired .cta{background:#fff;color:var(--fg-secondary);border:1px solid var(--border);}

.empty-state{padding:48px;text-align:center;color:var(--fg-muted);background:#fff;border:1px dashed var(--border);border-radius:var(--radius-md);margin-bottom:28px;}

/* ===== table ===== */
.table-wrap{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);overflow:auto;margin-bottom:28px;}
.table-reveal{position:relative;margin-bottom:28px;}
.table-reveal .table-wrap{margin-bottom:0;}
.table-reveal-clip{max-height:360px;overflow:hidden;transition:max-height 320ms cubic-bezier(0.22, 1, 0.36, 1);}
.table-reveal.is-open .table-reveal-clip{max-height:2200px;overflow:auto;}
.table-reveal:not(.is-open)::after{content:"";position:absolute;left:1px;right:1px;bottom:48px;height:96px;border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(180deg,rgba(255,255,255,0),#fff 78%);pointer-events:none;}
.table-reveal-btn{display:flex;align-items:center;justify-content:center;margin:12px auto 0;padding:10px 22px;border:1px solid var(--border-strong);border-radius:999px;background:#fff;color:var(--fg-primary);font:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(15,17,21,.06);transition:background 160ms var(--ease-out),border-color 160ms var(--ease-out),transform 160ms var(--ease-out);}
.table-reveal-btn:hover{background:var(--brand-blue-tint);border-color:#B7DCF4;transform:translateY(-1px);}
table.coupons-table{width:100%;border-collapse:collapse;font-size:14px;min-width:780px;}
table.coupons-table th{background:#FAFBFC;text-align:left;padding:12px 16px;font-weight:600;color:var(--fg-secondary);font-size:13px;border-bottom:1px solid var(--border);position:sticky;top:0;}
table.coupons-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle;}
table.coupons-table tr:last-child td{border-bottom:0;}
table.coupons-table tr:hover{background:#FAFBFC;}
table.coupons-table .num{text-align:right;font-weight:600;}
table.coupons-table .code-mini{display:inline-block;font-family:var(--font-mono);font-weight:600;background:#FAFBFC;border:1px dashed var(--border-strong);border-radius:6px;padding:3px 8px;font-size:12px;letter-spacing:0.04em;}

@media (prefers-reduced-motion: reduce){
  .table-reveal-clip,.table-reveal-btn{transition:none;}
  .table-reveal-btn:hover{transform:none;}
}

/* ===== status / verification panel ===== */
.verify{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;display:grid;grid-template-columns:1fr 1.5fr;gap:32px;margin-bottom:28px;}
.verify .meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;font-size:14px;}
.verify .meta-grid .k{color:var(--fg-muted);}
.verify .verified-badge{display:inline-flex;align-items:center;gap:6px;background:var(--brand-blue-tint);color:var(--brand-blue-press);font-weight:600;padding:6px 12px;border-radius:99px;font-size:13px;margin-bottom:12px;}

/* ===== expired archive ===== */
.archive-toggle{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 20px;cursor:pointer;font-weight:600;font-size:15px;}
.archive-toggle .meta{font-size:13px;color:var(--fg-muted);font-weight:400;}
.archive-content{display:none;margin-top:14px;}
.archive-content.open{display:block;}

/* ===== mini FAQ inside coupons ===== */
.mini-faq{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 24px;margin-bottom:28px;}
.mini-faq details{padding:14px 0;border-bottom:1px solid var(--border);}
.mini-faq details:last-child{border-bottom:0;}
.mini-faq summary{cursor:pointer;list-style:none;font-weight:600;font-size:15px;display:flex;justify-content:space-between;align-items:center;}
.mini-faq summary::-webkit-details-marker{display:none;}
.mini-faq details[open] summary{color:var(--brand-blue);margin-bottom:8px;}
.mini-faq .answer{font-size:14px;color:var(--fg-secondary);}
.mini-faq .ic{transition:transform 200ms;color:var(--fg-muted);font-size:13px;}
.mini-faq details[open] .ic{transform:rotate(180deg);color:var(--brand-blue);}

/* ===== conditions list ===== */
.conds{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;}
.conds li{font-size:14px;color:var(--fg-primary);display:flex;gap:8px;align-items:flex-start;list-style:none;padding-left:0;line-height:1.45;}
.conds li::before{content:"";width:6px;height:6px;border-radius:99px;background:var(--brand-blue);margin-top:8px;flex-shrink:0;}
.conds-block{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:24px 28px;}
.conds-block ul{margin:0;padding:0;}

/* ===== how-to steps ===== */
/* ===== how-to steps ===== */
.howto-steps{display:flex;flex-direction:column;gap:12px;}
.howto-step{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:24px 28px;box-shadow:var(--shadow-2);}
.howto-step-left{display:flex;}
.howto-body{flex:1;}
.howto-step-label{display:block;font-family:var(--font-script);font-size:21px;color:var(--brand-blue);line-height:1;margin-bottom:2px;letter-spacing:0.01em;}
.howto-body h4{margin:0 0 6px;font-size:15px;font-weight:700;line-height:1.3;}
.howto-body p{margin:0;font-size:13px;color:var(--fg-secondary);line-height:1.6;}
.howto-btn{display:inline-flex;margin-top:12px;padding:8px 18px;border-radius:99px;font-size:13px;font-weight:600;background:#fff;color:var(--fg-primary);border:1px solid var(--border-strong);text-decoration:none;transition:all 160ms var(--ease-out);}
.howto-btn:hover{border-color:var(--brand-blue);background:var(--brand-blue-tint);}
.howto-screen{height:200px;border-radius:var(--radius-md);flex-shrink:0;background-position:top center;}
/* step 1 code visual */
.howto-code-visual{background:linear-gradient(135deg,#F0F8FE,#E3F2FC);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;flex-shrink:0;/* width: 260px; */}
.hcv-top{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.hcv-pct{font-family:var(--font-display);font-weight:800;font-size:46px;line-height:1;color:var(--brand-blue);letter-spacing:-0.02em;}
.hcv-of{display:flex;flex-direction:column;font-size:12px;color:var(--fg-secondary);line-height:1.4;}
.hcv-of span:last-child{font-weight:700;font-size:13px;color:var(--fg-primary);}
.hcv-hint{font-size:11px;color:var(--fg-muted);margin:0 0 10px;line-height:1.4;}

/* ===== troubleshoot ===== */
.troubles{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;}
.troubles table{width:100%;border-collapse:collapse;font-size:14px;}
.troubles th{background:#FAFBFC;padding:12px 18px;text-align:left;font-size:13px;font-weight:600;color:var(--fg-secondary);border-bottom:1px solid var(--border);}
.troubles td{padding:12px 18px;border-bottom:1px solid var(--border);}
.troubles tr:last-child td{border-bottom:0;}
.troubles td:first-child{font-weight:500;width:38%;}

/* ===== price calculator ===== */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.price-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;}
.price-card h4{margin:0 0 16px;font-size:16px;font-weight:600;}
.price-card .price-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;}
.price-card .price-row+.price-row{border-top:1px solid var(--border);}
.price-card .price-row .lbl{color:var(--fg-secondary);}
.price-card .price-row .val{font-weight:600;}
.price-card .price-row.final{font-size:18px;padding:14px 0 4px;border-top:2px solid var(--brand-blue)!important;color:var(--brand-blue);}

.calc{background:linear-gradient(180deg,#fff,#FAFBFC);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;}
.calc-head{font-size:16px;font-weight:600;margin-bottom:14px;}
.calc .field{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);}
.calc .field:last-of-type{border-bottom:0;}
.calc .field label{font-size:14px;color:var(--fg-secondary);flex:1;}
.calc .field input[type=number]{width:120px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:10px;font-family:var(--font-mono);font-size:14px;text-align:right;}
.calc .field input[type=number]:focus{outline:none;border-color:var(--brand-blue);box-shadow:var(--shadow-focus);}
.calc .field input[type=range]{flex:0 0 140px;accent-color:var(--brand-blue);}
.calc .results{margin-top:14px;padding:16px;background:var(--brand-blue-tint);border-radius:12px;display:flex;justify-content:space-between;align-items:center;}
.calc .results .big{font-family:var(--font-display);font-weight:700;font-size:28px;color:var(--brand-blue);}
.calc .results .saving{font-size:13px;color:var(--brand-blue-press);}

/* ===== formats / use cases ===== */
.formats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.format{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;}
.format h4{font-size:15px;margin:0 0 6px;}
.format p{margin:0 0 10px;font-size:13px;color:var(--fg-secondary);}
.format .price{font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--brand-blue);}
.format .photo{height:120px;border-radius:10px;margin-bottom:12px;}

.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.audience-grid .item{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;font-size:14px;display:flex;gap:12px;align-items:flex-start;}
.audience-grid .item .ic{width:36px;height:36px;border-radius:99px;background:var(--brand-blue-tint);color:var(--brand-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* ===== about / preparation ===== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.split-photo{height:380px;}
.split p{font-size:16px;color:var(--fg-secondary);}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0;padding:0;list-style:none;}
.selection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.selection-check{grid-template-columns:repeat(3,1fr);}
.check-list li{font-size:14px;display:flex;gap:8px;align-items:flex-start;line-height:1.5;}
.check-list li svg{width:18px;height:18px;color:var(--brand-blue);flex-shrink:0;margin-top:2px;}

.topics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;}
.topics .topic{display:grid;grid-template-columns:130px 1fr;gap:18px;font-size:14px;padding:8px 0;border-bottom:1px solid var(--border);}
.topics .topic:nth-last-child(-n+2){border-bottom:0;}
.topics .topic .name{font-weight:600;}
.topics .topic .quote{color:var(--fg-secondary);font-style:italic;}

/* ===== safety alert ===== */
.alert{background:#FFF7E5;border:1px solid #F2D592;border-radius:var(--radius-md);padding:22px 26px;display:grid;grid-template-columns:48px 1fr;gap:18px;align-items:center;}
.alert .ic{width:48px;height:48px;border-radius:99px;background:#fff;color:#A77419;display:flex;align-items:center;justify-content:center;}
.alert h4{margin:0 0 4px;font-size:15px;color:#A77419;}
.alert p{margin:0;font-size:14px;color:#7A5410;}

/* ===== big FAQ ===== */
.faq-list{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;}
.faq-list details{padding:18px 22px;border-bottom:1px solid var(--border);}
.faq-list details:last-child{border-bottom:0;}
.faq-list summary{cursor:pointer;list-style:none;font-weight:600;font-size:16px;display:flex;justify-content:space-between;align-items:center;gap:18px;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list details[open] summary{margin-bottom:10px;color:var(--brand-blue);}
.faq-list .answer{font-size:14px;color:var(--fg-secondary);line-height:1.6;}
.faq-list .ic{transition:transform 200ms;color:var(--fg-muted);font-size:14px;}
.faq-list details[open] .ic{transform:rotate(180deg);color:var(--brand-blue);}

/* ===== footer cta ===== */
section.footer-cta{background:#0F1115;color:#fff;padding:64px 0;}
.footer-cta .container{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;}
.footer-cta h2{color:#fff;}
.footer-cta p{color:rgba(255,255,255,0.7);font-size:16px;}
.footer-cta .photo{height:240px;background:linear-gradient(135deg,#1F95DC,#3CADEF);border:0;color:rgba(255,255,255,0.6);background-size:contain;background-repeat:no-repeat;background-position:center right;}

/* ===== meta footer ===== */
footer.meta{background:#0A0B0F;color:rgba(255,255,255,0.6);padding:40px 0 30px;font-size:13px;}
footer.meta .container{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;}
footer.meta h5{color:#fff;margin:0 0 12px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;}
footer.meta a{color:rgba(255,255,255,0.7);text-decoration:none;}
footer.meta a:hover{color:#fff;}
footer.meta ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;}
footer.meta .disclaimer{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.1);font-size:12px;color:rgba(255,255,255,0.45);}

/* ===== hero discount accent ===== */
.hero-discount{color:var(--brand-blue);font-weight:800;font-size:1.15em;letter-spacing:-0.02em;line-height:1;}

/* ===== script accent (Caveat) — переиспользуемый ===== */
.script-accent{font-family:var(--font-script);color:var(--brand-blue-ink);font-size:1.1em;line-height:1.3;display:inline-block;}

/* ===== lightbox ===== */
.lightbox{position:fixed;inset:0;background:rgba(15,17,21,0.88);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 200ms var(--ease-out);}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox-img{max-width:92vw;max-height:88vh;border-radius:var(--radius-md);box-shadow:0 24px 80px rgba(0,0,0,0.5);object-fit:contain;}
.lightbox-close{position:absolute;top:20px;right:24px;background:rgba(255,255,255,0.15);border:none;color:#fff;font-size:20px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 160ms;}
.lightbox-close:hover{background:rgba(255,255,255,0.3);}
.howto-screen[style*="background-image"]{cursor:zoom-in;}

/* ===== utilities ===== */
.row-spread{display:flex;justify-content:space-between;align-items:center;}

/* ===== sticky code bar ===== */
.sticky-code-bar{position:fixed;bottom:0;left:0;right:0;background:transparent;border-top:none;box-shadow:none;z-index:200;padding:10px 20px;display:flex;align-items:center;justify-content:center;gap:14px;transform:translateY(110%);transition:transform 280ms cubic-bezier(0.2,0.7,0.2,1);}
.sticky-code-bar.visible{transform:translateY(0);}
.sticky-label{font-size:13px;font-weight:600;white-space:nowrap;color:var(--fg-secondary);flex-shrink:0;}
.sticky-annotation{position:fixed;bottom: 25px;left: 51%;transform:translateX(-220px) rotate(-4deg);display:flex;flex-direction:column;align-items:flex-end;gap:0;pointer-events:none;z-index:199;opacity:0;transition:opacity 280ms cubic-bezier(0.2,0.7,0.2,1);}
.sticky-annotation.visible{opacity:1;}
.sticky-annotation-text{font-family:var(--font-script);font-size:19px;line-height:1.15;color:var(--brand-blue-ink);white-space:nowrap;text-shadow:0 1px 10px rgba(255,255,255,0.95);}
.sticky-annotation-arrow{color:var(--brand-blue-ink);flex-shrink:0;align-self:flex-end;}
.sticky-pill{display:flex;align-items:stretch;border-radius:99px;overflow:hidden;flex-shrink:0;background:var(--brand-blue);box-shadow:0 2px 14px rgba(15,17,21,0.15);}
.sticky-pill-code{padding:9px 18px;font-family:var(--font-mono);font-weight:700;font-size:14px;letter-spacing:0.08em;color:#fff;background:#1a1d23;white-space:nowrap;display:flex;align-items:center;}
.sticky-pill-sep{width:0;}
.sticky-pill-btn{display:flex;align-items:center;gap:7px;padding:9px 18px;background:transparent;color:#fff;border:none;outline:none;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;transition:background 200ms var(--ease-out);margin:0;}
.sticky-pill-btn:hover{background:rgba(0,0,0,0.12);}
.sticky-pill-btn svg{width:14px;height:14px;}
.sticky-pill-btn.copied{background:var(--success);}
.sticky-pill-go{display:flex;align-items:center;gap:7px;padding:9px 18px;background:var(--success);color:#fff;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap;transition:background 160ms var(--ease-out);}
.sticky-pill-go:hover{background:#1a7a4a;color:#fff;}
.sticky-go{padding:8px 18px;font-size:13px;white-space:nowrap;flex-shrink:0;text-decoration:none;}

/* ===== responsive ===== */
@media (max-width:980px){
  .hero .container,.coupon-main,.split,.price-grid,.footer-cta .container,footer.meta .container{grid-template-columns:1fr;}
  .howto-step{grid-template-columns:1fr;}
  .howto-code-visual{width:100%;}
  .stat-strip{grid-template-columns:repeat(3,1fr);}
  .selection-grid{grid-template-columns:repeat(2,1fr);}
  .selection-check{grid-template-columns:repeat(2,1fr);}
  .offers,.formats,.audience-grid{grid-template-columns:repeat(2,1fr);}
  .topics{grid-template-columns:1fr;}
  h1.hero-title{font-size:36px;}
  h2{font-size:28px;}
  .hero-script{display:none;}
  nav.main{display:none;}
}
@media (max-width:560px){
  .stat-strip{grid-template-columns:repeat(2,1fr);gap:6px;}
  .stat-strip .item{padding:8px 10px;}
  .stat-strip .item .v{font-size:14px;}
  .stat-strip .item .l{font-size:10px;}
  .offers,.formats,.audience-grid,.conds{grid-template-columns:1fr;}
  section{padding:48px 0;}
  .sticky-label{display:none;}
  .sticky-annotation{display:none;}
  .sticky-go{display:none;}
  .howto-screen:not([style*="background-image"]){display:none;}
  .howto-step{padding:16px;}
  .selection-grid{grid-template-columns:repeat(2,1fr);}
  .selection-check{grid-template-columns:1fr;}
  /* top-bar: бегущая строка */
  .top-bar{padding:0;}
  .top-bar .container{display:none;}
  .top-bar-marquee{display:block;padding:8px 0;}
  header.site{top:36px;}
}
