/* =====================================================
   Glyvon Health Blog — static SEO templates
   Inherits brand tokens from /styles.css
   ===================================================== */

:root{
  --bg:        #F6EFE0;
  --bg-2:      #FBF6EA;
  --bg-soft:   #EFE5D0;
  --bg-card:   #FFFCF5;
  --bg-tint:   #F3E7CD;
  --ink:       #1F1A12;
  --ink-2:     #3F362A;
  --muted:     #7B6E5C;
  --muted-2:   #A89A85;
  --line:      #E2D6BE;
  --line-2:    #EFE5CE;
  --orange:    #F2751F;
  --orange-600:#D85F12;
  --orange-soft:#FFE3CC;
  --orange-50: rgba(242,117,31,.10);
  --orange-glow:rgba(242,117,31,.32);
  --terra:     #B5410E;
  --cream-hi:  #FFF8E8;
  --green:     #5C8A4A;
  --warn:      #E0A23A;
  --red:       #C84D2E;
  --sans:'Inter Tight','Inter',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --serif:'Instrument Serif',ui-serif,Georgia,serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg)}
body{
  font-family:var(--sans);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  letter-spacing:-0.005em;
  background:
    radial-gradient(900px 500px at 95% -10%, rgba(242,117,31,.10), transparent 55%),
    radial-gradient(700px 400px at 5% 5%, rgba(255,228,180,.35), transparent 55%),
    var(--bg);
  background-attachment:fixed;
}
a{color:var(--terra);text-decoration:none}
a:hover{text-decoration:underline}
img,svg{display:block;max-width:100%}
::selection{background:var(--orange);color:#fff}

.wrap{max-width:1200px;margin:0 auto;padding:0 28px;position:relative}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 28px;position:relative}

/* ========= Nav ========= */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(246,239,224,.84);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--line-2);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:76px;max-width:1200px;margin:0 auto;padding:0 28px}
.nav-links{display:flex;gap:26px}
.nav-links a{font-size:14px;color:var(--ink-2);text-decoration:none}
.nav-links a:hover{color:var(--terra)}
.nav-links a.is-active{color:var(--terra);font-weight:600}
.brand{display:flex;align-items:center;gap:13px;font-weight:700;letter-spacing:-0.02em;font-size:19px;color:var(--ink);text-decoration:none}
.brand:hover{text-decoration:none}
.brand-logo{
  width:50px;height:50px;padding:5px;object-fit:contain;object-position:center;flex:0 0 50px;
  background:linear-gradient(180deg, #fffaf0, var(--cream-hi));
  border:1px solid rgba(242,117,31,.32);border-radius:16px;
  box-shadow:
    0 0 0 4px rgba(242,117,31,.10),
    0 10px 24px -12px rgba(181,65,14,.36),
    inset 0 0 0 1px rgba(255,255,255,.74);
}
.brand-mark{
  width:50px;height:50px;border-radius:16px;
  background:linear-gradient(135deg, var(--orange) 0%, var(--terra) 100%);
  display:grid;place-items:center;color:#fff;
  border:1px solid rgba(255,255,255,.45);
  outline:4px solid rgba(242,117,31,.13);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.30),
    0 12px 28px -10px var(--orange-glow),
    0 0 20px -4px var(--orange-glow);
}
.brand-mark svg{width:25px;height:25px;stroke-width:2.7}
.btn{
  display:inline-flex;align-items:center;gap:7px;
  height:40px;padding:0 18px;border-radius:999px;
  font-weight:600;font-size:14px;letter-spacing:-0.005em;
  text-decoration:none;
  transition:transform .15s ease, filter .15s ease;
}
.btn:hover{text-decoration:none}
.btn-primary{
  background:linear-gradient(135deg, var(--orange) 0%, var(--terra) 100%);
  color:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.18) inset, 0 10px 22px -10px var(--orange-glow);
}
.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-ghost{color:var(--ink);border:1px solid var(--line);background:rgba(255,255,255,.4)}
.btn-ghost:hover{border-color:var(--orange);color:var(--terra)}
.btn-sm{height:34px;padding:0 14px;font-size:13px}

.lang-switch{display:inline-flex;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}
.lang-switch a{
  padding:5px 11px;border-radius:999px;font-size:11px;font-weight:600;
  font-family:var(--mono);letter-spacing:.05em;color:var(--muted);text-decoration:none;
}
.lang-switch a.on{
  background:linear-gradient(135deg, var(--orange), var(--terra));
  color:#fff;
}

/* ========= Eyebrow / pills ========= */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:11px;letter-spacing:.10em;text-transform:uppercase;
  color:var(--terra);
}
.eyebrow .dot{
  width:7px;height:7px;border-radius:999px;background:var(--orange);
  box-shadow:0 0 0 3px rgba(242,117,31,.18);
}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px;color:var(--muted);background:rgba(255,255,255,.5);font-family:var(--mono);letter-spacing:.04em}

/* ========= Breadcrumbs ========= */
.breadcrumbs{
  font-family:var(--mono);font-size:12px;color:var(--muted);
  letter-spacing:.04em;padding:24px 0 0;
}
.breadcrumbs a{color:var(--muted);text-decoration:none}
.breadcrumbs a:hover{color:var(--terra)}
.breadcrumbs span.sep{margin:0 8px;opacity:.5}
.breadcrumbs span.cur{color:var(--ink-2)}

/* ============================================================
   BLOG INDEX
   ============================================================ */
.blog-hero{padding:48px 0 32px}
.blog-hero h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(40px, 5vw, 60px);line-height:1.02;letter-spacing:-0.022em;
  margin:14px 0 14px;color:var(--ink);
  text-wrap:pretty;
}
.blog-hero h1 em{
  font-style:italic;
  background:linear-gradient(135deg, var(--orange) 0%, var(--terra) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.blog-hero p.lede{color:var(--ink-2);font-size:17px;line-height:1.6;max-width:620px;margin:0}

.blog-tools{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  margin-top:32px;flex-wrap:wrap;
}
.blog-cats{display:flex;flex-wrap:wrap;gap:8px}
.blog-cats a{
  display:inline-flex;align-items:center;gap:7px;
  min-height:38px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);
  font-size:13px;color:var(--ink-2);background:rgba(255,255,255,.45);text-decoration:none;
  transition:all .15s ease;
}
.blog-cats a:hover{border-color:var(--orange);color:var(--terra);background:#fffaf0}
.blog-cats a.on{
  background:linear-gradient(135deg, var(--orange), var(--terra));
  color:#fff;border-color:transparent;
  box-shadow:0 10px 20px -12px var(--orange-glow);
}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.cat-icon{
  width:16px;height:16px;flex:0 0 16px;
  color:currentColor;stroke:currentColor;fill:none;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round;
}
.blog-cats a:not(.on) .cat-icon{color:var(--terra)}
.blog-cats a.on .cat-icon{color:#fff}
}
.blog-search{
  display:inline-flex;align-items:center;gap:8px;
  padding:0 14px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.6);height:40px;min-width:240px;
}
.blog-search input{flex:1;border:0;background:transparent;font:inherit;font-size:14px;color:var(--ink);outline:0}
.blog-search input{min-width:0}
.blog-search input::placeholder{color:var(--muted)}
.blog-search svg{color:var(--muted)}

/* Featured */
.blog-featured{margin:40px 0 48px}
.feat-card{
  display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:stretch;
  background:linear-gradient(160deg, var(--bg-card) 0%, rgba(255,228,180,.45) 100%);
  border:1px solid var(--line);border-radius:24px;overflow:hidden;
  text-decoration:none;color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.feat-card:hover{text-decoration:none;border-color:rgba(242,117,31,.45);box-shadow:0 26px 50px -22px rgba(120,60,20,.18)}
.feat-card-body{padding:36px 36px 32px;display:flex;flex-direction:column;justify-content:center}
.feat-card-body h2{
  font-family:var(--serif);font-weight:400;font-size:36px;
  letter-spacing:-.018em;line-height:1.05;margin:14px 0 12px;
  text-wrap:pretty;
}
.feat-card-body p{color:var(--muted);font-size:15px;line-height:1.55;margin:0 0 18px;max-width:480px}
.feat-card-meta{display:flex;gap:14px;font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:10px}
.feat-card-meta span{display:inline-flex;align-items:center;gap:6px}
.feat-card-art{
  position:relative;background:linear-gradient(135deg, var(--orange-soft), rgba(255,200,140,.5));
  display:grid;place-items:center;min-height:260px;
}
.feat-card-art-formula{
  font-family:var(--serif);font-size:40px;font-style:italic;color:var(--terra);
  text-align:center;padding:24px;
}
.feat-card-art-formula .num{font-family:var(--mono);font-style:normal;font-size:22px;color:var(--ink-2);letter-spacing:-.01em;display:block;margin-top:8px}

/* Article grid */
.blog-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;
  margin-bottom:64px;
}
.b-card{
  background:var(--bg-card);
  border:1px solid var(--line);border-radius:18px;overflow:hidden;
  text-decoration:none;color:var(--ink);
  display:flex;flex-direction:column;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.b-card:hover{
  text-decoration:none;
  transform:translateY(-2px);
  border-color:rgba(242,117,31,.35);
  box-shadow:0 18px 36px -20px rgba(120,60,20,.18);
}
.b-card-cover{
  height:160px;
  background:linear-gradient(135deg, var(--orange-soft), rgba(255,200,140,.4));
  display:grid;place-items:center;color:var(--terra);
  font-family:var(--serif);font-size:34px;font-style:italic;letter-spacing:-.01em;
  position:relative;overflow:hidden;
}
.b-card-cover.var-2{background:linear-gradient(135deg, rgba(92,138,74,.16), rgba(92,138,74,.06));color:var(--green)}
.b-card-cover.var-3{background:linear-gradient(135deg, rgba(224,162,58,.20), rgba(224,162,58,.05));color:#8A5A0E}
.b-card-cover.var-4{background:linear-gradient(135deg, rgba(181,65,14,.18), rgba(242,117,31,.10));color:var(--terra)}
.b-card-cover .glyph{font-family:var(--mono);font-style:normal;font-size:14px;letter-spacing:.06em;text-transform:uppercase;display:block;margin-top:6px;color:var(--muted)}
.b-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1;gap:10px}
.b-card-tag{font-family:var(--mono);font-size:11px;color:var(--terra);letter-spacing:.06em;text-transform:uppercase}
.b-card h3{font-size:18px;font-weight:600;letter-spacing:-.012em;line-height:1.3;margin:0;color:var(--ink);text-wrap:pretty}
.b-card p{color:var(--muted);font-size:14px;line-height:1.55;margin:0;flex:1}
.b-card-meta{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:8px;padding-top:12px;border-top:1px solid var(--line-2);
  font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;
}

/* CTA band on index */
.blog-cta-band{
  margin:24px 0 64px;
  padding:36px 40px;border-radius:22px;
  background:
    radial-gradient(ellipse at 0% 50%, rgba(242,117,31,.20), transparent 55%),
    linear-gradient(135deg, #FFE3CC 0%, #FFD0A0 60%, #F2751F 110%);
  border:1px solid rgba(242,117,31,.30);
  display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;
}
.blog-cta-band h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.05;letter-spacing:-.018em;margin:0 0 10px;color:#3A1B05}
.blog-cta-band p{color:#5A2E0E;margin:0;font-size:15px;line-height:1.55;max-width:440px}
.blog-cta-band .btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.blog-cta-band .btn-primary{background:linear-gradient(135deg, #3A1B05 0%, var(--terra) 100%)}

/* ============================================================
   ARTICLE PAGE
   ============================================================ */
.article{padding:24px 0 64px}
.article-head{padding:24px 0 32px;border-bottom:1px solid var(--line);margin-bottom:0}
.article-head h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(36px, 4.6vw, 56px);line-height:1.04;letter-spacing:-0.022em;
  margin:14px 0 18px;color:var(--ink);
  text-wrap:pretty;
}
.article-head h1 em{
  font-style:italic;
  background:linear-gradient(135deg, var(--orange) 0%, var(--terra) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.article-deck{color:var(--ink-2);font-size:18px;line-height:1.55;max-width:680px;margin:0 0 22px}

.article-meta{
  display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;
  font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;
  padding-top:6px;
}
.article-meta .author{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:13.5px}
.article-meta .author-avatar{
  width:28px;height:28px;border-radius:999px;
  background:linear-gradient(135deg, var(--orange), var(--terra));
  color:#fff;display:grid;place-items:center;font-size:12px;font-weight:600;font-family:var(--sans);
}
.article-meta .author small{color:var(--muted);font-size:11px;display:block;margin-top:1px;letter-spacing:.04em;text-transform:uppercase;font-family:var(--mono)}

/* Article layout */
.article-layout{
  display:grid;grid-template-columns:minmax(0, 700px) 240px;gap:clamp(36px, 6vw, 92px);
  justify-content:space-between;align-items:start;
  margin-top:32px;
}
.article-layout:has(.article-toc){
  grid-template-columns:170px minmax(0, 640px) 240px;
  gap:clamp(24px, 3vw, 32px);
}
.article-toc{position:sticky;top:88px;align-self:start;font-size:13.5px;max-height:calc(100vh - 100px);overflow-y:auto}
.article-toc h6{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-weight:500}
.article-toc ul{list-style:none;padding:0;margin:0;border-left:1px solid var(--line)}
.article-toc li{margin:0}
.article-toc a{
  display:block;padding:7px 14px;color:var(--muted);text-decoration:none;
  border-left:2px solid transparent;margin-left:-1px;
  line-height:1.4;
}
.article-toc a:hover{color:var(--terra);text-decoration:none}
.article-toc a.is-active{color:var(--terra);border-left-color:var(--orange);font-weight:600}

/* Sidebar (right) */
.article-side{position:sticky;top:88px;align-self:start;justify-self:end;width:240px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 100px);overflow-y:auto}
.article-side .cta-side{display:none}
.side-card{
  background:rgba(255,252,245,.78);border:1px solid var(--line);border-radius:12px;
  padding:14px;
}
.side-card h6{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-weight:500}
.side-card.cta-side{
  background:linear-gradient(160deg, var(--cream-hi), var(--orange-soft));
  border-color:rgba(242,117,31,.30);
}
.side-card.cta-side h4{font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:-.018em;line-height:1.1;margin:6px 0 10px;color:var(--ink)}
.side-card.cta-side p{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0 0 14px}
.side-card.cta-side .btn{width:100%;justify-content:center}
.side-card.cta-side .stores{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.side-card.cta-side .stores a{
  display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;
  background:#fff;border:1px solid var(--line);color:var(--ink);font-size:12px;text-decoration:none;
  transition:border-color .15s ease;
}
.side-card.cta-side .stores a:hover{border-color:var(--orange)}
.side-card.cta-side .stores a small{color:var(--muted);font-size:10px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase}
.side-card.cta-side .stores a b{font-size:13px;font-weight:600}

.side-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}
.side-list a{
  display:block;padding:8px 9px;border-radius:9px;
  font-size:12.5px;color:var(--ink-2);text-decoration:none;line-height:1.35;
  border:1px solid transparent;
  transition:all .15s ease;
}
.side-list a:hover{background:var(--bg-card);border-color:var(--line);color:var(--terra);text-decoration:none}
.side-list small{display:block;color:var(--muted);font-size:10px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;margin-top:2px}

/* Article body */
.article-body{font-size:17px;line-height:1.7;color:var(--ink-2);max-width:680px;min-width:0}
.article-body > *:first-child{margin-top:0}
.article-body h2{
  font-family:var(--serif);font-weight:400;
  font-size:34px;line-height:1.1;letter-spacing:-.018em;
  margin:56px 0 16px;color:var(--ink);scroll-margin-top:88px;
  text-wrap:pretty;
}
.article-body h3{
  font-size:22px;font-weight:600;letter-spacing:-.012em;line-height:1.25;
  margin:36px 0 12px;color:var(--ink);scroll-margin-top:88px;
}
.article-body h4{font-size:17px;font-weight:600;letter-spacing:-.005em;margin:24px 0 8px;color:var(--ink)}
.article-body p{margin:0 0 18px}
.article-body p strong, .article-body li strong{color:var(--ink);font-weight:600}
.article-body a{color:var(--terra);text-decoration:underline;text-decoration-color:rgba(181,65,14,.35);text-underline-offset:3px}
.article-body a:hover{text-decoration-color:var(--terra)}
.article-body ul, .article-body ol{padding-left:24px;margin:0 0 22px}
.article-body li{margin-bottom:8px}
.article-body code{font-family:var(--mono);font-size:.92em;background:rgba(242,117,31,.10);color:var(--terra);padding:2px 7px;border-radius:6px;border:1px solid rgba(242,117,31,.18)}
.article-body blockquote{
  margin:28px 0;padding:18px 22px;border-radius:14px;
  background:linear-gradient(135deg, rgba(242,117,31,.08), rgba(181,65,14,.04));
  border:1px solid rgba(242,117,31,.18);
  border-left:3px solid var(--orange);
  font-style:italic;color:var(--ink-2);
}
.article-body blockquote p:last-child{margin-bottom:0}
.article-body figure{margin:28px 0}
.article-body figure img{border-radius:14px;border:1px solid var(--line)}
.article-body figcaption{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em;text-align:center;margin-top:10px}
.article-body hr{border:0;border-top:1px solid var(--line);margin:40px 0}

/* Lead paragraph */
.article-body .lead{font-size:19px;color:var(--ink);line-height:1.6;margin:0 0 28px;font-weight:400}

/* Key callout */
.callout{
  margin:24px 0;padding:20px 24px;border-radius:14px;
  background:var(--bg-card);border:1px solid var(--line);
  display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;
}
.callout-icon{
  width:32px;height:32px;border-radius:8px;display:grid;place-items:center;
  background:linear-gradient(135deg, var(--orange-soft), rgba(255,200,140,.5));
  color:var(--terra);
  border:1px solid rgba(242,117,31,.22);flex-shrink:0;
}
.callout-body h5{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--ink)}
.callout-body p{margin:0;font-size:14.5px;color:var(--ink-2);line-height:1.55}
.callout.warn{background:rgba(224,162,58,.08);border-color:rgba(224,162,58,.30)}
.callout.warn .callout-icon{background:rgba(224,162,58,.18);color:#8A5A0E;border-color:rgba(224,162,58,.40)}
.callout.alert{background:rgba(200,77,46,.06);border-color:rgba(200,77,46,.30)}
.callout.alert .callout-icon{background:rgba(200,77,46,.14);color:var(--red);border-color:rgba(200,77,46,.30)}
.callout.tip{background:rgba(92,138,74,.08);border-color:rgba(92,138,74,.30)}
.callout.tip .callout-icon{background:rgba(92,138,74,.18);color:var(--green);border-color:rgba(92,138,74,.30)}

/* Tables */
.article-body table{
  width:100%;border-collapse:separate;border-spacing:0;
  margin:24px 0;font-size:14.5px;
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:var(--bg-card);
}
.article-body thead{background:var(--bg-soft)}
.article-body th{
  text-align:left;padding:14px 16px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-2);font-weight:600;
  border-bottom:1px solid var(--line);
}
.article-body td{padding:14px 16px;border-top:1px solid var(--line-2);color:var(--ink-2);vertical-align:top}
.article-body tr:first-child td{border-top:0}
.article-body td b{color:var(--ink)}
.article-body td .badge{
  display:inline-block;padding:3px 10px;border-radius:999px;
  font-family:var(--mono);font-size:11px;letter-spacing:.04em;
}
.badge.b-low{background:rgba(92,138,74,.15);color:var(--green)}
.badge.b-mid{background:rgba(224,162,58,.18);color:#8A5A0E}
.badge.b-hi{background:rgba(200,77,46,.14);color:var(--red)}
.badge.b-norm{background:rgba(120,90,40,.10);color:var(--ink-2)}

/* Embedded calculator widgets */
.widget{
  margin:36px 0;
  background:linear-gradient(180deg, var(--bg-card), rgba(255,252,245,.85));
  border:1px solid var(--line);border-radius:20px;overflow:hidden;
  box-shadow:0 18px 40px -22px rgba(120,60,20,.15);
}
.widget-head{
  padding:18px 22px;border-bottom:1px solid var(--line-2);
  background:rgba(255,252,245,.55);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
}
.widget-head h3{font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:-.01em;margin:0;color:var(--ink)}
.widget-head h3 em{font-style:italic;background:linear-gradient(135deg, var(--orange), var(--terra));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.widget-head .pill{font-size:11px;background:rgba(242,117,31,.10);color:var(--terra);border-color:rgba(242,117,31,.22)}

.widget-body{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.w-form{display:flex;flex-direction:column;gap:14px}
.w-field label{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--ink-2);margin-bottom:8px}
.w-field label b{font-family:var(--mono);color:var(--terra);font-weight:600}
.w-field input[type=range]{width:100%;-webkit-appearance:none;background:transparent;cursor:pointer}
.w-field input[type=range]::-webkit-slider-runnable-track{height:8px;background:var(--bg-soft);border-radius:999px;border:1px solid var(--line)}
.w-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:999px;background:linear-gradient(135deg, var(--orange), var(--terra));border:3px solid #fff;box-shadow:0 0 0 1px var(--orange);margin-top:-6px;cursor:pointer}
.w-field input[type=range]::-moz-range-track{height:8px;background:var(--bg-soft);border-radius:999px;border:1px solid var(--line)}
.w-field input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:999px;background:linear-gradient(135deg, var(--orange), var(--terra));border:3px solid #fff;cursor:pointer}

.w-seg{display:flex;background:var(--bg-soft);border-radius:10px;padding:3px;gap:3px;border:1px solid var(--line)}
.w-seg button{flex:1;height:32px;border-radius:8px;font:inherit;font-size:13px;color:var(--muted);background:none;border:0;cursor:pointer;font-weight:500;transition:all .15s ease}
.w-seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(60,30,10,.10), 0 0 0 1px var(--orange-soft)}

.w-toggles{display:flex;flex-wrap:wrap;gap:6px}
.w-toggles button{padding:7px 12px;border-radius:999px;border:1px solid var(--line);font:inherit;font-size:12.5px;color:var(--ink-2);background:var(--bg-card);cursor:pointer;transition:all .15s ease;font-weight:500}
.w-toggles button.on{border-color:var(--orange);color:#fff;background:linear-gradient(135deg, var(--orange), var(--terra))}

.w-result{
  background:linear-gradient(180deg, rgba(255,228,180,.30), rgba(255,252,245,.6));
  border:1px solid var(--line);border-radius:14px;padding:18px;
  display:flex;flex-direction:column;
}
.w-num{font-family:var(--serif);font-size:54px;line-height:1;letter-spacing:-.022em;display:flex;align-items:baseline;gap:8px;color:var(--ink)}
.w-num small{font-size:14px;color:var(--muted);font-family:var(--sans);font-weight:500}
.w-lbl{color:var(--muted);font-size:11px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.w-cat{font-size:14px;font-weight:600;margin-top:10px}
.w-cat-sub{font-size:12.5px;color:var(--muted);margin-top:2px}
.w-bar{height:10px;border-radius:999px;background:linear-gradient(90deg, var(--green) 0%, var(--green) 28%, var(--warn) 50%, var(--warn) 72%, var(--red) 100%);border:1px solid var(--line);position:relative;margin:14px 0 8px}
.w-bar-pin{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:999px;background:#fff;border:2px solid var(--ink);box-shadow:0 2px 6px rgba(0,0,0,.2);transition:left .35s cubic-bezier(.2,.7,.2,1)}
.w-marks{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);font-family:var(--mono);margin-top:4px;letter-spacing:.04em}
.w-disclaimer{margin-top:14px;padding-top:12px;font-size:11px;color:var(--muted);font-family:var(--mono);line-height:1.5;border-top:1px solid var(--line-2)}
.w-formula{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;background:linear-gradient(135deg, rgba(242,117,31,.08), rgba(181,65,14,.04));border:1px solid rgba(242,117,31,.16);margin-bottom:6px}
.w-formula-lbl{font-size:12px;color:var(--muted)}
.w-formula code{font-family:var(--mono);font-size:13px;color:var(--terra);background:rgba(255,252,245,.6);padding:3px 8px;border-radius:6px;border:1px solid rgba(242,117,31,.20);font-weight:500}

/* FAQ section */
.faq-block{margin:48px 0 24px}
.faq-block h2{
  font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.1;letter-spacing:-.018em;
  margin:0 0 22px;color:var(--ink);
}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line);padding:0}
.faq-item summary{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:20px 0;cursor:pointer;list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h4{font-size:17px;margin:0;letter-spacing:-.005em;font-weight:600;color:var(--ink)}
.faq-toggle{
  width:30px;height:30px;border-radius:999px;
  background:var(--bg-card);color:var(--ink);
  display:grid;place-items:center;flex-shrink:0;
  transition:all .25s ease;border:1px solid var(--line);
}
.faq-item[open] .faq-toggle{
  background:linear-gradient(135deg, var(--orange), var(--terra));color:#fff;
  transform:rotate(45deg);border-color:transparent;
}
.faq-item .faq-a{color:var(--ink-2);font-size:15px;line-height:1.65;padding:0 0 22px;max-width:760px}
.faq-item .faq-a p{margin:0 0 10px}
.faq-item .faq-a p:last-child{margin-bottom:0}

/* Author / share / related */
.article-foot{margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}
.share-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.share-row span{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-right:8px}
.share-btn{
  display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;
  border-radius:999px;border:1px solid var(--line);background:var(--bg-card);
  color:var(--ink-2);font-size:13px;text-decoration:none;cursor:pointer;
  transition:all .15s ease;
}
.share-btn:hover{border-color:var(--orange);color:var(--terra);text-decoration:none}

.related{margin:48px 0 24px}
.related h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1;letter-spacing:-.018em;margin:0 0 22px;color:var(--ink)}
.related-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:18px}

/* In-article download band */
.article-body .dl-strip{display:none}
.dl-strip{
  margin:48px 0;
  padding:28px 32px;border-radius:20px;
  background:linear-gradient(135deg, #1A1208 0%, #2A1A0A 50%, #3F2205 100%);
  color:#FFF6E8;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;
  position:relative;overflow:hidden;
}
.dl-strip::before{
  content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle, rgba(242,117,31,.45), transparent 70%);filter:blur(40px);pointer-events:none;
}
.dl-strip-copy{position:relative;z-index:1}
.dl-strip h4{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1;letter-spacing:-.018em;margin:6px 0 8px;color:#FFF6E8}
.dl-strip h4 em{font-style:italic;background:linear-gradient(135deg, #FFC180, var(--orange));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.dl-strip p{color:rgba(255,246,232,.74);font-size:14px;line-height:1.55;margin:0;max-width:380px}
.dl-strip-stores{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}
.dl-strip-stores a{
  display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;
  background:#FFF6E8;color:var(--ink);text-decoration:none;
  border:1px solid rgba(255,255,255,.10);
  transition:transform .15s ease;
}
.dl-strip-stores a:hover{transform:translateY(-1px);text-decoration:none}
.dl-strip-stores small{font-size:10px;font-family:var(--mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;display:block}
.dl-strip-stores b{font-size:14px;font-weight:600;letter-spacing:-.01em}

/* ============================================================
   Footer
   ============================================================ */
footer{padding:60px 0 32px;border-top:1px solid var(--line);margin-top:48px;background:rgba(239,229,206,.45)}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;max-width:1200px;margin:0 auto;padding:0 28px}
.foot h5{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 14px;font-weight:500}
.foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.foot a{color:var(--ink-2);font-size:13.5px;text-decoration:none;transition:color .15s ease}
.foot a:hover{color:var(--terra)}
.foot-tag{color:var(--muted);font-size:13px;line-height:1.55;margin-top:12px;max-width:340px}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:36px;padding:20px 28px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px;flex-wrap:wrap;gap:12px;max-width:1200px;margin-left:auto;margin-right:auto}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1100px){
  .article-layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .article-layout:has(.article-toc){grid-template-columns:180px minmax(0,1fr)}
  .article-side{display:none}
  .feat-card{grid-template-columns:1fr}
  .feat-card-art{min-height:180px}
  .blog-grid{grid-template-columns:repeat(2, 1fr)}
  .related-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 820px){
  .article-layout{grid-template-columns:1fr}
  .article-toc{display:none}
  .widget-body{grid-template-columns:1fr}
  .blog-cta-band{grid-template-columns:1fr;text-align:left}
  .blog-cta-band .btns{justify-content:flex-start}
  .nav-links{display:none}
  .blog-grid{grid-template-columns:1fr}
  .related-grid{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr}
  .dl-strip{grid-template-columns:1fr;padding:24px}
  .article-body{font-size:16.5px}
  .article-body h2{font-size:28px;margin:40px 0 12px}
  .article-body h3{font-size:19px;margin:28px 0 10px}
}
@media (max-width: 560px){
  .blog-search{min-width:0;width:100%}
  .blog-tools{flex-direction:column;align-items:stretch}
  .feat-card-body{padding:24px}
  .feat-card-body h2{font-size:26px}
  .article-head h1{font-size:32px}
  .blog-hero h1{font-size:32px}
}
