/*
Theme Name: Man With Many Caps
Theme URI: https://manwithmanycaps.com
Author: Man With Many Caps
Author URI: https://manwithmanycaps.com
Description: The official Man With Many Caps theme — a personal entrepreneur brand for Dave King. Navy base with a full rainbow of "cap" accent colours, Sora display + Mulish body. Includes the full editorial component library (TOC, pros/cons, for/against, key-takeaway, numbered & bullet pop-out boxes, FAQ accordions, comparison tables, verdict boxes, Amazon/AAWP bestseller lists), portfolio & company templates, services, products, reviews, YouTube, communities, charities, contact with enquiry routing, and a "My Amazon Choices" page.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: man-with-many-caps
Tags: blog, portfolio, reviews, two-columns, custom-menu, featured-images, block-patterns, full-width-template, editor-style
*/

/* ============================================================
   MAN WITH MANY CAPS — design system
   Personal entrepreneur brand · portfolio of companies, guides,
   services, products & video. Navy base + a full rainbow of "cap"
   accent colours. Balanced: professional foundation, playful pops.
   Space Grotesk display / Mulish body / Space Mono detail.
   NOTE: legacy token names kept (teal, gold, money) with values
   remapped to the navy palette so all component rules keep working.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Mulish:wght@400;500;600;700;800;900&display=swap');

/* tokens */
:root{
  --teal-900:#0B1531;   /* deepest navy */
  --teal-800:#111f47;
  --teal-700:#1B2F63;   /* brand navy */
  --teal-600:#294394;
  --teal-500:#5573c4;
  --gold:#FF5C72;       /* signature coral-pink accent */
  --gold-600:#E63E58;
  --gold-soft:#FFCFD6;
  --gold-wash:#FFF0F2;
  --cream:#EAF0FB;
  --paper:#F5F7FC;
  --paper-2:#E7EDF8;
  --ink:#141F3A;
  --ink-soft:#586687;
  --line:#DCE4F1;
  --pos:#1F9D6B;
  --pos-soft:#D6F0E4;
  --money:#1FAE82;
  --money-wash:#DCF3EA;
  --teal-wash:#E4ECFB;
  --neg:#E23D57;
  --white:#FFFFFF;
  --brand:var(--teal-700);
  --brand-dark:var(--teal-900);
  --accent:var(--gold);
  --accent-soft:var(--gold-soft);
  --surface:var(--paper);
  --surface-2:var(--cream);
  /* the "caps" — a rainbow used for categories, portfolio & tiles */
  --cap-pink:#FF5C8A;   --cap-pink-wash:#FFE4EC;
  --cap-purple:#7C5CFF; --cap-purple-wash:#EBE5FF;
  --cap-blue:#2B7FFF;   --cap-blue-wash:#DEEBFF;
  --cap-teal:#12B5A5;   --cap-teal-wash:#D6F4F0;
  --cap-amber:#FFAE1A;  --cap-amber-wash:#FFEFCF;
  --cap-green:#2FB46B;  --cap-green-wash:#DCF3E4;
  --cap-coral:#FF6B4A;  --cap-coral-wash:#FFE3DB;
  --serif:'Sora',system-ui,sans-serif;
  --sans:'Mulish',system-ui,sans-serif;
  --mono:'Sora',system-ui,sans-serif;
  --wrap:1280px;
  --r:10px;
  --r-lg:18px;
  --shadow-sm:0 1px 2px rgba(15,25,55,.06),0 2px 8px rgba(15,25,55,.06);
  --shadow:0 16px 34px -14px rgba(15,25,55,.24),0 5px 12px -7px rgba(15,25,55,.16);
  --shadow-lg:0 34px 66px -24px rgba(15,25,55,.36);
}

/* Direction B — Teal-forward (calmer, techy) */
body[data-dir="b"]{
  --brand:#0F5E6E;--brand-dark:#08313A;--accent:#FFB020;--accent-soft:#FFE3A6;
  --gold-wash:#FFF4DD;--cream:#E1EFF0;--paper:#F3F9F9;--paper-2:#DCEDEE;
  --line:#CFE4E5;--ink:#0F2A2E;--ink-soft:#4C6C70;
  --money:#1F9D6B;--money-wash:#D6F0E4;--teal-wash:#DEF0F0;
  --surface:var(--paper);--surface-2:var(--cream);
}
/* Direction C — Purple-forward (bolder, creative) */
body[data-dir="c"]{
  --brand:#4A2D8F;--brand-dark:#2A1758;--accent:#FF5C8A;--accent-soft:#FFD0DE;
  --gold-wash:#FFEDF3;--cream:#EEE9FA;--paper:#F7F5FD;--paper-2:#E7E0F8;
  --line:#E0D8F2;--ink:#231A3D;--ink-soft:#5E5478;
  --money:#7C5CFF;--money-wash:#EBE5FF;--teal-wash:#EBE5FF;
  --surface:var(--paper);--surface-2:var(--cream);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--brand);color:#fff;padding:.7em 1.2em;font-weight:700;border-radius:0 0 var(--r) 0}
.skip-link:focus{left:0}
body{
  overflow-x:hidden;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--surface);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}

h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:-.01em;color:var(--ink);font-style:normal;text-wrap:balance}
h1{font-size:clamp(2.6rem,5.4vw,4.4rem);font-weight:700}
h2{font-size:clamp(1.9rem,3.4vw,2.9rem)}
h3{font-size:1.35rem}
p{text-wrap:pretty}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--sans);font-weight:600;font-size:.95rem;
  padding:.85em 1.5em;border-radius:var(--r);border:1.5px solid transparent;
  cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s,color .2s;
  letter-spacing:.01em;line-height:1;white-space:nowrap;
}
.btn svg{width:1.05em;height:1.05em}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark);transform:translateY(-2px);box-shadow:var(--shadow)}
@media (max-width:640px){.hdr .btn-primary{background:var(--accent);color:var(--brand-dark)}.hdr .btn-primary:hover{background:var(--gold-600);color:#fff}}
@media (max-width:480px){.hdr-actions .btn-primary{display:none}.hdr .wrap{gap:12px}.brand small{display:none}}
.btn-gold{background:var(--accent);color:var(--brand-dark)}
.btn-gold:hover{background:var(--gold-600);transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-dark{background:var(--brand-dark);color:#fff}
.btn-dark:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-ghost{background:transparent;color:var(--brand);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--brand);background:var(--white)}
.btn-yt{background:#fff;color:var(--brand);border-color:var(--line)}
.btn-yt svg{color:#FF0033;width:1.35em;height:1.35em}
.btn-yt:hover{border-color:#FF0033;transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-lg{padding:1.05em 1.9em;font-size:1.02rem}
.btn-sm{padding:.6em 1.1em;font-size:.85rem}

/* ---------- kicker / eyebrow ---------- */
.kicker{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--mono);font-size:.72rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent);
}
.kicker::before{content:"";width:22px;height:2px;background:var(--accent)}
.kicker.plain::before{display:none}

/* ---------- utility bar ---------- */
.utility{background:var(--brand-dark);color:#dfeae7;font-size:.78rem}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;gap:16px}
.u-tags{display:flex;gap:20px;font-family:var(--mono);letter-spacing:.04em}
.u-social{display:flex;align-items:center;gap:8px}
.u-social a{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:#cfe0dc;transition:background .2s,color .2s}
.u-social svg{width:15px;height:15px}
.u-social a.us-yt:hover{background:#FF0000;color:#fff}
.u-social a.us-li:hover{background:#0A66C2;color:#fff}
.u-social a.us-ig:hover{background:#E1306C;color:#fff}
.u-social a.us-x:hover{background:#000;color:#fff}
.u-partner{font-family:var(--mono);letter-spacing:.03em;font-weight:700;color:var(--accent-soft);transition:color .2s}
.u-partner:hover{color:#fff}
.u-tags a{opacity:.82;transition:opacity .2s}
.u-tags a:hover{opacity:1;color:var(--accent-soft)}
.u-right{opacity:.7;font-family:var(--mono);letter-spacing:.03em}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:rgba(251,249,242,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:92px}
.brand{display:flex;align-items:center;gap:12px}
.brand--logo{display:flex;align-items:center;flex:none}
.brand--logo .custom-logo-link{display:block}
.brand--logo img.custom-logo{display:block;height:64px;width:auto;max-width:220px;object-fit:contain}
/* real logo replaces the cap mark + wordmark across the site */
.brand .mark{
  width:168px;height:66px;flex:none;border-radius:0;
  background:url(assets/mwmc-logo-opt.png) left center/contain no-repeat;
}
.brand .mark svg{display:none}
.brand span:not(.mark),.brand>b,.brand small{display:none}
.brand b{font-family:var(--serif);font-weight:700;font-size:1.28rem;letter-spacing:-.02em;display:block;line-height:1.05;color:var(--ink);white-space:nowrap}
.brand small{font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;display:block;margin-top:3px}
.nav{display:flex;gap:3px;margin-left:6px}
.nav .menu{display:flex;align-items:center;gap:3px;list-style:none;margin:0;padding:0}
.nav .menu li{list-style:none;margin:0}
.nav a{font-weight:700;font-size:.88rem;padding:.5em .6em;border-radius:var(--r);color:var(--ink);transition:color .2s,background .2s;white-space:nowrap}
.nav a:hover,.nav a.active{color:var(--brand);background:var(--gold-wash)}
.mobile-nav .menu{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}
.mobile-nav .menu li{list-style:none;margin:0}
.mobile-nav .menu a{display:block;font-weight:700;font-size:1.02rem;padding:.7em .2em;color:var(--ink);border-bottom:1px solid var(--line)}
.nav a.amazon-choices{display:inline-flex;align-items:center;gap:6px;background:#E8891C;color:#fff;font-weight:700}
.nav a.amazon-choices svg{width:16px;height:16px}
.nav a.amazon-choices:hover,.nav a.amazon-choices.active{background:#d67c10;color:#fff}
.hdr-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.icon-btn{width:40px;height:40px;border:1.5px solid var(--line);background:var(--white);border-radius:var(--r);display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:border .2s,color .2s}
.icon-btn svg{width:19px;height:19px}
.icon-btn:hover{border-color:var(--brand);color:var(--brand)}
.burger{display:none}
@media (max-width:1024px){.nav,.u-tags,.u-social{display:none}.burger{display:grid}}

/* mobile nav */
.mn-backdrop{position:fixed;inset:0;background:rgba(11,21,49,.55);backdrop-filter:blur(2px);z-index:99;opacity:0;pointer-events:none;transition:opacity .3s}
.mn-backdrop.open{opacity:1;pointer-events:auto}
.mobile-nav{position:fixed;inset:0 0 0 auto;width:min(320px,84vw);max-width:100vw;box-sizing:border-box;background:var(--paper);z-index:100;transform:translateX(100%);transition:transform .3s;padding:20px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-lg)}
.mobile-nav.open{transform:translateX(0)}
.mn-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.mn-head .brand .mark{width:132px;height:52px}
.mobile-nav a{padding:.8em .6em;font-weight:600;border-radius:var(--r);color:var(--ink)}
.mobile-nav a:hover{background:var(--gold-wash);color:var(--brand)}

/* ---------- sections ---------- */
.sec{padding:88px 0}
.sec-sm{padding:52px 0}
.bg-paper{background:var(--surface)}
.bg-2{background:var(--surface-2)}
.bg-wash{background:linear-gradient(180deg,var(--gold-wash),var(--surface))}
.bg-teal{background:var(--brand-dark);color:#eaf2f0}
.bg-teal h1,.bg-teal h2,.bg-teal h3{color:#fff}

.sec-head{margin-bottom:44px;max-width:640px}
.sec-head h2{margin:.3em 0 .35em}
.sec-head p{color:var(--ink-soft);font-size:1.08rem}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head.center .kicker::before{display:none}
.sec-head.split{display:flex;justify-content:space-between;align-items:flex-end;max-width:none;gap:24px}
.see-all{display:inline-flex;align-items:center;gap:.5em;font-weight:600;color:var(--brand);font-size:.95rem;white-space:nowrap;flex:none}
.see-all svg{width:1.05em;height:1.05em;transition:transform .2s}
.see-all:hover svg{transform:translateX(4px)}

/* ---------- HERO (editorial split) ---------- */
.hero{background:linear-gradient(165deg,var(--gold-wash) 0%,var(--surface) 46%,var(--teal-wash) 130%);padding:70px 0 78px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--accent) 1px,transparent 1px);background-size:30px 30px;opacity:.05;-webkit-mask:linear-gradient(#000,transparent 70%);mask:linear-gradient(#000,transparent 70%)}
.hero::after{content:"";position:absolute;top:-30%;right:-14%;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft),transparent 66%);opacity:.5;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;position:relative}
.hero-copy h1{margin:.28em 0 .3em}
.hero-copy h1 .em{color:var(--brand);-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(transparent 74%,var(--accent-soft) 0);padding:0 .04em}
.lede{font-size:1.22rem;color:var(--ink-soft);max-width:34ch;margin-bottom:1.6em}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:2em}
.hero-trust{display:flex;align-items:center;gap:14px;font-size:.9rem;color:var(--ink-soft)}
.avs{display:flex}
.avs span{width:34px;height:34px;border-radius:50%;background-size:cover;background-position:center;border:2px solid var(--paper);margin-left:-10px;box-shadow:var(--shadow-sm)}
.avs span:first-child{margin-left:0}

/* featured guide card (hero right) */
.hero-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:block;transition:transform .25s,box-shadow .25s}
.hero-card:hover{transform:translateY(-4px);box-shadow:0 40px 70px -24px rgba(7,43,40,.4)}
.hc-media{position:relative;aspect-ratio:16/10;overflow:hidden}
.hc-media img{width:100%;height:100%;object-fit:cover}
.hc-ribbon{position:absolute;top:14px;left:14px;background:var(--accent);color:var(--brand-dark);font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.4em .8em;border-radius:3px}
.hc-body{padding:22px 24px 24px}
.hc-cat{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);font-weight:600}
.hc-body h3{font-size:1.5rem;margin:.35em 0 .5em;line-height:1.14}
.hc-body p{color:var(--ink-soft);font-size:.96rem;margin-bottom:1em}
.hc-meta{display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:.78rem;color:var(--ink-soft);border-top:1px dashed var(--line);padding-top:14px}
.hc-meta b{color:var(--ink)}

/* ---------- ledger dotted divider ---------- */
.ledger-row{display:flex;align-items:baseline;gap:10px;font-family:var(--mono);font-size:.85rem}
.ledger-row .dots{flex:1;border-bottom:1.5px dotted var(--line);transform:translateY(-3px)}

/* ---------- topic tiles ---------- */
.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.topic{
  position:relative;display:flex;flex-direction:column;gap:10px;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:26px 24px;transition:transform .22s,box-shadow .22s,border-color .22s;overflow:hidden;
}
.topic::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);transform:scaleY(0);transform-origin:bottom;transition:transform .25s}
.topic:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.topic:hover::before{transform:scaleY(1)}
.tp-ic{width:48px;height:48px;border-radius:var(--r);background:var(--cap-blue-wash);color:var(--cap-blue);display:grid;place-items:center}
.tp-ic svg{width:25px;height:25px}
.topic:nth-child(1) .tp-ic{background:var(--cap-blue-wash);color:var(--cap-blue)}
.topic:nth-child(2) .tp-ic{background:var(--cap-pink-wash);color:var(--cap-pink)}
.topic:nth-child(3) .tp-ic{background:var(--cap-amber-wash);color:#C77F00}
.topic:nth-child(4) .tp-ic{background:var(--cap-teal-wash);color:var(--cap-teal)}
.topic:nth-child(5) .tp-ic{background:var(--cap-purple-wash);color:var(--cap-purple)}
.topic:nth-child(6) .tp-ic{background:var(--cap-green-wash);color:var(--cap-green)}
.topic:nth-child(1)::before{background:var(--cap-blue)}
.topic:nth-child(2)::before{background:var(--cap-pink)}
.topic:nth-child(3)::before{background:var(--cap-amber)}
.topic:nth-child(4)::before{background:var(--cap-teal)}
.topic:nth-child(5)::before{background:var(--cap-purple)}
.topic:nth-child(6)::before{background:var(--cap-green)}
.topic h3{font-size:1.22rem}
.topic p{font-size:.92rem;color:var(--ink-soft)}
.tp-count{margin-top:auto;font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;color:var(--brand);font-weight:600;text-transform:uppercase}

/* ---------- learning path (start here) ---------- */
.path{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:38px 40px;box-shadow:var(--shadow-sm)}
.path-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.path-progress{min-width:220px}
.pp-track{height:8px;border-radius:20px;background:var(--paper-2);overflow:hidden;margin-top:8px}
.pp-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--accent));border-radius:20px}
.pp-label{font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:var(--ink-soft);display:flex;justify-content:space-between}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:step}
.step{position:relative;padding:22px 20px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);transition:transform .2s,box-shadow .2s;display:block}
.step:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.step .snum{font-family:var(--mono);font-size:.78rem;font-weight:600;color:var(--accent);letter-spacing:.1em}
.step h4{font-family:var(--serif);font-size:1.12rem;font-weight:600;margin:.5em 0 .3em}
.step p{font-size:.86rem;color:var(--ink-soft);margin:0}
.step .done{position:absolute;top:16px;right:16px;width:22px;height:22px;border-radius:50%;background:var(--pos);color:#fff;display:grid;place-items:center}
.step .done svg{width:13px;height:13px}

/* ---------- guides grid ---------- */
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.gcard{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.gcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.gc-media{position:relative;aspect-ratio:3/2;overflow:hidden}
.gc-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gcard:hover .gc-media img{transform:scale(1.05)}
.gc-cat{position:absolute;top:12px;left:12px;background:var(--brand);color:#fff;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.4em .7em;border-radius:3px}
.gcard:nth-child(3n+2) .gc-cat{background:var(--money)}
.gcard:nth-child(3n) .gc-cat{background:var(--gold-600)}
.gc-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.gc-body h3{font-size:1.28rem;line-height:1.34;margin-bottom:.5em}
.gcard:hover .gc-body h3{color:var(--brand)}
.gc-body p{font-size:.93rem;color:var(--ink-soft);margin-bottom:1em}
.gc-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}
.gc-foot .rt{display:inline-flex;align-items:center;gap:.4em;font-family:var(--mono);font-size:.76rem;font-weight:600;color:var(--ink-soft)}
.gc-foot .rt svg{width:14px;height:14px;color:var(--accent)}
.gc-foot .read{display:inline-flex;align-items:center;gap:.4em;color:#fff;font-weight:700;font-size:.82rem;background:var(--brand);border-radius:100px;padding:.5em 1em;transition:background .2s,transform .2s}
.gc-foot .read svg{width:.95em;height:.95em;transition:transform .2s}
.gcard:hover .gc-foot .read{background:var(--brand-dark)}
.gcard:hover .gc-foot .read svg{transform:translateX(3px)}

/* ---------- stat badges / data strip ---------- */
.data-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid transparent;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(120deg,var(--brand-dark),var(--brand));box-shadow:var(--shadow)}
.dstat{padding:32px 26px;border-right:1px solid rgba(255,255,255,.12);position:relative}
.dstat:last-child{border-right:none}
.dstat .dnum{font-family:var(--serif);font-weight:700;font-size:2.7rem;line-height:1;color:#fff;letter-spacing:-.02em}
.dstat .dnum small{font-size:1.2rem;color:var(--accent-soft)}
.dstat .dlabel{font-size:.9rem;color:#a9c4bf;margin-top:.5em}
.dstat .dtrend{position:absolute;top:28px;right:24px;font-family:var(--mono);font-size:.74rem;font-weight:600;color:#7ad6a6;display:flex;align-items:center;gap:.3em;background:rgba(122,214,166,.14);padding:.25em .5em;border-radius:3px}
.dstat .dtrend svg{width:.95em;height:.95em}

/* ---------- startup investor lane (dark band) ---------- */
.startup{background:var(--brand-dark);color:#dbeae7;position:relative;overflow:hidden}
.startup::before{content:"";position:absolute;top:-40%;right:-10%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 68%);opacity:.16}
.startup .kicker{color:var(--accent-soft)}
.startup .sec-head p{color:#a9c4bf}
.su-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;position:relative}
.su-list{display:flex;flex-direction:column;gap:2px}
.su-item{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:18px 4px;border-bottom:1px solid rgba(255,255,255,.1)}
.su-item:last-child{border-bottom:none}
.su-rank{font-family:var(--mono);font-size:.82rem;color:var(--accent);font-weight:600}
.su-item h4{font-family:var(--serif);color:#fff;font-size:1.24rem;font-weight:600;margin-bottom:.15em}
.su-item p{font-size:.9rem;color:#a9c4bf;margin:0}
.su-item .arrow{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,.22);display:grid;place-items:center;color:#fff;transition:background .2s,border-color .2s}
.su-item:hover .arrow{background:var(--accent);border-color:var(--accent);color:var(--brand-dark)}
.su-item .arrow svg{width:16px;height:16px}
.su-panel{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:28px 30px}
.su-panel .kicker{margin-bottom:14px}
.su-metric{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px dashed rgba(255,255,255,.16);font-family:var(--mono);font-size:.86rem;color:#bcd3cf}
.su-metric:last-of-type{border-bottom:none}
.su-metric b{font-family:var(--serif);font-size:1.5rem;color:#fff;font-weight:700}
.su-metric .up{color:#7ad6a6}

/* ---------- money-tip card ---------- */
.tip{background:var(--gold-wash);border:1px solid var(--gold-soft);border-left:4px solid var(--accent);border-radius:var(--r);padding:20px 24px;display:flex;gap:16px;align-items:flex-start}
.tip .tip-ic{width:40px;height:40px;flex:none;border-radius:var(--r);background:var(--accent);color:var(--brand-dark);display:grid;place-items:center}
.tip .tip-ic svg{width:22px;height:22px}
.tip h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-600);margin-bottom:.3em;font-weight:600}
.tip p{font-size:.95rem;color:var(--ink);margin:0}

/* ---------- tools we recommend (affiliate) ---------- */
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tool{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,box-shadow .2s}
.tool:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.tool-top{display:flex;align-items:center;gap:14px}
.tool-logo{width:48px;height:48px;border-radius:var(--r);background:var(--brand);color:var(--accent);display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:1.3rem;flex:none}
.tool-name b{display:block;font-family:var(--serif);font-size:1.16rem;font-weight:600}
.tool-name span{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.tool .stars{display:flex;gap:2px;color:var(--accent)}
.tool .stars svg{width:15px;height:15px}
.tool p{font-size:.9rem;color:var(--ink-soft);margin:0;flex:1}
.tool-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--line);padding-top:14px}
.tool-foot .price{font-family:var(--mono);font-size:.82rem;color:var(--ink);font-weight:600}
.tool-foot .price small{color:var(--ink-soft);font-weight:400}

/* ---------- ezoic ad slot ---------- */
.ad-slot{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.ad-inner{border:1px dashed var(--line);border-radius:var(--r);background:var(--paper-2);min-height:110px;display:grid;place-items:center;color:var(--ink-soft);font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}

/* ---------- featured / editor's pick ---------- */
.feat{display:grid;grid-template-columns:1fr 1fr;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.feat .f-media{position:relative;min-height:360px}
.feat .f-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.f-tag{position:absolute;top:18px;left:18px;background:var(--accent);color:var(--brand-dark);font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.45em .85em;border-radius:3px}
.feat .f-body{padding:44px 48px;display:flex;flex-direction:column;justify-content:center}
.feat .f-body .kicker{margin-bottom:12px}
.feat .f-body h2{margin-bottom:.35em}
.feat .f-body p{color:var(--ink-soft);margin-bottom:1.4em}
.f-byline{display:flex;align-items:center;gap:12px;margin-bottom:1.6em;font-size:.88rem;color:var(--ink-soft)}
.f-byline .av{width:36px;height:36px;border-radius:50%;background-size:cover}
.f-byline b{color:var(--ink)}

/* ---------- newsletter ---------- */
.nl{background:var(--brand);color:#eaf2f0;border-radius:var(--r-lg);padding:56px 60px;display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;position:relative;overflow:hidden}
.nl::before{content:"";position:absolute;bottom:-50%;left:-6%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 70%);opacity:.2}
.nl h2{color:#fff;margin-bottom:.3em}
.nl p{color:#bcd3cf;margin-bottom:1.4em}
.nl .kicker{color:var(--accent-soft)}
.nl-form{display:flex;gap:10px;position:relative}
.nl-form input{flex:1;padding:.95em 1.1em;border-radius:var(--r);border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-family:var(--sans);font-size:.98rem}
.nl-form input::placeholder{color:#9fbab5}
.nl-fine{font-family:var(--mono);font-size:.74rem;color:#9fbab5;margin-top:1em;letter-spacing:.03em}
.nl-visual{position:relative}
.nl-stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:20px 22px;margin-bottom:14px}
.nl-stat:last-child{margin-bottom:0}
.nl-stat b{font-family:var(--serif);font-size:2rem;font-weight:700;color:#fff;display:block;line-height:1}
.nl-stat span{font-family:var(--mono);font-size:.76rem;color:#9fbab5;letter-spacing:.04em}

/* ---------- footer ---------- */
.footer{background:var(--brand-dark);color:#a9c4bf;padding:70px 0 34px;font-size:.92rem}
.f-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer .brand b{color:#fff}
.footer .brand small{color:#7f9c97}
.footer .brand .mark{background:#fff url(assets/mwmc-logo-opt.png) center/78% no-repeat;border-radius:10px;padding:6px}
.f-about{margin:18px 0;max-width:38ch;line-height:1.7}
.f-social{display:flex;gap:10px}
.f-social a{width:38px;height:38px;border-radius:var(--r);border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;color:#cfe0dc;transition:background .2s,color .2s,border-color .2s}
.f-social a:hover{background:var(--accent);color:var(--brand-dark);border-color:var(--accent)}
.f-social a[aria-label="YouTube"]{color:#FF0000;border-color:rgba(255,0,0,.4)}
.f-social a[aria-label="YouTube"]:hover{background:#FF0000;color:#fff;border-color:#FF0000}
.f-social a[aria-label="LinkedIn"]{color:#4a9fe6;border-color:rgba(10,102,194,.5)}
.f-social a[aria-label="LinkedIn"]:hover{background:#0A66C2;color:#fff;border-color:#0A66C2}
.f-social a[aria-label="X"]{color:#fff;border-color:rgba(255,255,255,.35)}
.f-social a[aria-label="X"]:hover{background:#000;color:#fff;border-color:#000}
.f-social svg{width:17px;height:17px}
.footer h5{color:#fff;font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;font-weight:600}
.footer ul{list-style:none}
.footer li{margin-bottom:10px}
.footer li a{transition:color .2s}
.footer li a:hover{color:var(--accent-soft)}
.f-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-family:var(--mono);font-size:.78rem;color:#7f9c97;flex-wrap:wrap;gap:10px}
.f-bottom a:hover{color:var(--accent-soft)}
.f-disclaimer{font-family:var(--mono);font-size:.74rem;color:#6b8783;margin-top:14px;letter-spacing:.02em}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ============================================================
   SUBPAGE / ARTICLE COMPONENTS
   ============================================================ */

/* breadcrumb */
.crumb{font-family:var(--mono);font-size:.76rem;letter-spacing:.04em;color:var(--ink-soft);display:flex;gap:.5em;align-items:center;flex-wrap:wrap}
.crumb a{color:var(--brand);font-weight:600}
.crumb a:hover{text-decoration:underline}
.crumb .sep{opacity:.5}

/* ---------- post hero ---------- */
.post-hero{position:relative;min-height:400px;display:flex;align-items:center;padding:40px 0}
.post-hero .wrap{max-width:var(--wrap);width:100%;padding:0 28px}
.ph-media{position:absolute;top:0;left:0;right:0;bottom:0;height:auto;overflow:hidden}
.ph-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.12),rgba(15,23,42,.4))}
.ph-media img{width:100%;height:100%;object-fit:cover}
.ph-card{position:relative;max-width:620px;margin:0 auto 0 0;padding:44px 40px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 24px 60px -18px rgba(15,23,42,.4),0 4px 14px -6px rgba(15,23,42,.2);padding:34px 48px 30px;text-align:center}
.ph-cat{display:inline-block;background:var(--brand);color:#fff;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.45em .9em;border-radius:3px;margin-bottom:16px}
.post-hero h1{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.32;margin-bottom:.4em}
.ph-dek{font-size:1.1rem;line-height:1.6;color:var(--ink-soft);max-width:58ch;margin:0 auto 22px}
.ph-meta{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--mono);font-size:.82rem;color:var(--ink-soft);flex-wrap:wrap}
.ph-meta .au{display:flex;align-items:center;gap:9px}
.ph-meta .au .av{width:34px;height:34px;border-radius:50%;background-size:cover}
.ph-meta b{color:var(--ink)}
.ph-meta .dot{opacity:.45}

/* ---------- article layout ---------- */
.article-wrap{max-width:1120px;margin:0 auto;padding:44px 28px 40px;display:grid;grid-template-columns:1fr 250px;gap:56px;align-items:start}
.article{max-width:none;min-width:0}
.article-body,.prose{font-size:1.02rem;line-height:1.7;color:var(--ink)}
.article-body>p,.prose>p{margin-bottom:1.3em}
.article-body h2,.prose h2{font-size:1.5rem;margin:1.5em 0 .7em;scroll-margin-top:90px}
.article-body h2:first-child,.prose h2:first-child{margin-top:0}
.article-body h3,.prose h3{font-size:1.18rem;margin:1.5em 0 .6em}
.article-body a:not(.btn),.prose a:not(.btn){color:var(--brand);font-weight:600;text-decoration:underline;text-decoration-color:var(--accent-soft);text-underline-offset:2px}
.article-body strong,.prose strong{color:var(--ink);font-weight:700}
.article-body img,.prose img{width:100%;border-radius:var(--r-lg);border:1px solid var(--line);margin:1.5em 0}
.article-body>ul,.article-body>ol,.prose>ul,.prose>ol{margin:0 0 1.4em}
.article-body figure,.prose figure{margin:1.6em 0}
.article-body figure img,.prose figure img{margin:0 0 10px}
.article-body figcaption,.prose figcaption{font-size:.85rem;color:var(--ink-soft);text-align:center;line-height:1.5}
.article-body blockquote,.prose blockquote{margin:1.7em 0;padding:18px 24px;border-left:4px solid var(--accent);background:var(--gold-wash);border-radius:0 var(--r) var(--r) 0;font-style:italic;color:var(--ink)}
.article-body blockquote p,.prose blockquote p{margin:0}
.article-body pre,.prose pre{background:var(--brand-dark);color:#dceae7;border-radius:var(--r);padding:18px 22px;overflow-x:auto;margin:1.6em 0;font-family:var(--mono);font-size:.82rem;line-height:1.6}
.article-body pre code,.prose pre code{background:none;padding:0;color:inherit}
.article-body code,.prose code{background:var(--surface-2,#f4f5fb);border-radius:4px;padding:.15em .4em;font-family:var(--mono);font-size:.88em;color:var(--brand)}
.article-body table,.prose table{width:100%;border-collapse:collapse;margin:1.7em 0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line)}
.mwmc-spectable table td:first-child,.mwmc-spectable table th:first-child{padding-left:44px;position:relative}
.mwmc-spectable table td:first-child::before{content:"";position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;background:var(--brand);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.mwmc-spectable table th:first-child::before{display:none}
.article-body th,.article-body td,.prose th,.prose td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;font-size:.92rem}
.article-body th,.prose th{background:var(--brand);color:#fff;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.article-body tr:last-child td{border-bottom:none}
.article-body tr:nth-child(even) td{background:var(--surface,#faf9f5)}
.lead-para{font-size:1.28rem;line-height:1.7;color:var(--ink);font-weight:500;margin-bottom:1.5em}

/* signature popout numbered list */
.numlist{list-style:none;counter-reset:nl;display:flex;flex-direction:column;gap:16px;padding:0}
.numlist>li{counter-increment:nl;position:relative;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r);padding:18px 22px 18px 66px;box-shadow:var(--shadow-sm)}
.numlist>li::before{content:counter(nl,decimal-leading-zero);position:absolute;left:16px;top:16px;width:36px;height:36px;border-radius:9px;background:var(--brand);color:#fff;font-family:var(--mono);font-weight:600;font-size:.95rem;display:grid;place-items:center}
.numlist>li:nth-child(3n+2){border-left-color:var(--money)}
.numlist>li:nth-child(3n+2)::before{background:var(--money)}
.numlist>li:nth-child(3n){border-left-color:var(--gold-600)}
.numlist>li:nth-child(3n)::before{background:var(--gold-600)}
.numlist>li strong{display:block;margin-bottom:.15em}

/* signature popout bullet list */
.poplist{list-style:none;display:flex;flex-direction:column;gap:12px;padding:0}
.poplist>li{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:14px 20px 14px 52px;box-shadow:var(--shadow-sm)}
.poplist>li::before{content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:var(--accent-soft);border:4px solid var(--accent)}

/* ---------- callouts ---------- */
.callout{border-radius:var(--r);padding:20px 24px 20px 22px;margin:1.6em 0;display:flex;gap:16px;align-items:flex-start;border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--gold-wash)}
.callout .co-ic{width:38px;height:38px;flex:none;border-radius:var(--r);background:var(--accent);color:var(--brand-dark);display:grid;place-items:center}
.callout .co-ic svg{width:20px;height:20px}
.callout h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35em;color:var(--gold-600)}
.callout p{margin:0;font-size:1rem;line-height:1.65}
.callout.tip,.callout.tip-green{background:var(--money-wash);border-left-color:var(--money)}
.callout.tip .co-ic,.callout.tip-green .co-ic{background:var(--money);color:#fff}
.callout.tip h4,.callout.tip-green h4{color:var(--money)}
.callout.note{background:var(--teal-wash,#e4ecfb);border-left-color:#2B7FFF}
.callout.note .co-ic{background:#2B7FFF;color:#fff}
.callout.note h4{color:#1a5fd6}
.callout.warn{background:#f7e4e0;border-left-color:var(--neg)}
.callout.warn .co-ic{background:var(--neg);color:#fff}
.callout.warn h4{color:var(--neg)}

/* ---------- quick verdict pop-out ---------- */
.quick-verdict{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);margin:0 0 1.8em;box-shadow:var(--shadow-sm)}
.qv-head{background:var(--brand-dark);color:#fff;padding:16px 22px;display:flex;align-items:center;gap:12px}
.qv-head svg{width:20px;height:20px;color:var(--accent);flex:none}
.qv-head h4{font-family:var(--serif);font-weight:700;font-size:1.08rem;margin:0;flex:1;color:#fff}
.qv-score{font-family:var(--mono);font-weight:800;background:var(--accent);color:var(--brand-dark);border-radius:100px;padding:.35em .9em;font-size:.86rem;flex:none}
.qv-body{padding:22px 24px;background:var(--white)}
.qv-body p{margin:0 0 .8em;line-height:1.7;color:var(--ink)}
.qv-body p:last-child{margin-bottom:0}
.qv-foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:.94rem;line-height:1.6;color:var(--ink)}
.qv-foot b{color:var(--brand)}

/* ---------- affiliate disclaimer ---------- */
.disclaimer{display:flex;gap:14px;align-items:flex-start;background:var(--gold-wash);border:1px dashed var(--gold-600);border-radius:var(--r);padding:16px 20px;margin:0 0 1.8em;font-size:.94rem;line-height:1.6;color:var(--ink-soft)}
.disclaimer .dis-ic{width:30px;height:30px;flex:none;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center}
.disclaimer .dis-ic svg{width:17px;height:17px}
.disclaimer p{margin:0}
.disclaimer b{color:var(--ink)}

/* ---------- in-article "what's in this guide" TOC card (distinct from the sticky sidebar .toc) ---------- */
.toc-card{background:var(--paper-2,#f4f5fb);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 28px;margin:0 0 1.8em}
.toc-card h4{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.05rem;font-weight:700;color:var(--ink);margin:0 0 .7em}
.toc-card h4 svg{width:20px;height:20px;color:var(--brand);flex:none}
.toc-card ol{list-style:none;counter-reset:tocc;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.toc-card ol>li{counter-increment:tocc}
.toc-card ol>li>a{display:flex;align-items:baseline;gap:10px;color:var(--ink-soft);font-size:.94rem;text-decoration:none;transition:color .15s}
.toc-card ol>li>a::before{content:counter(tocc,decimal-leading-zero);font-family:var(--mono);font-size:.78rem;color:var(--brand);font-weight:600;flex:none}
.toc-card ol>li>a:hover{color:var(--brand)}

/* ---------- pagination (blog list, search, paged content) ---------- */
.mwmc-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:44px 0 12px;flex-wrap:wrap}
.mwmc-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:999px;background:var(--white);border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:.92rem;text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .15s}
.mwmc-pagination .page-numbers:hover{border-color:#F97316;color:#F97316;transform:translateY(-2px)}
.mwmc-pagination .page-numbers.current{background:#F97316;border-color:#F97316;color:#fff}
.mwmc-pagination .page-numbers.dots{background:transparent;border:none;color:var(--ink-soft)}
.mwmc-pagination .prev,.mwmc-pagination .next{font-size:1.1rem}

/* ---------- comment form (uses WP core .comment-form classes) ---------- */
.comments-area{margin:2.5em 0 0;padding-top:2em;border-top:1px solid var(--line)}
.comments-area .comment-reply-title{font-family:var(--serif);font-size:1.3rem;margin:0 0 1em;color:var(--ink)}
.comments-area .comment-reply-title small a{font-size:.7rem;font-weight:600;color:var(--ink-soft);margin-left:10px;text-decoration:underline}
.comment-form p{margin:0 0 18px}
.comment-form label{display:block;font-weight:700;font-size:.9rem;color:var(--ink);margin-bottom:6px}
.comment-form .required{color:var(--neg,#c0392b)}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);font-family:var(--sans);font-size:.95rem;color:var(--ink);background:var(--white)}
.comment-form textarea{min-height:140px;resize:vertical}
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--brand)}
.comment-form .comment-form-cookies-consent{display:flex;align-items:flex-start;gap:8px;font-size:.86rem;color:var(--ink-soft)}
.comment-form .comment-form-cookies-consent input{width:auto;margin-top:3px}
.comment-form .comment-notes,.comment-form .logged-in-as{font-size:.88rem;color:var(--ink-soft);margin-bottom:1.2em}
.comment-form .logged-in-as a{color:var(--brand);text-decoration:underline}
.comment-form .form-submit{margin-top:6px}
.comment-form .form-submit input[type="submit"]{border:none;cursor:pointer;font-family:inherit}

/* ---------- shortcode library — content blocks (used by [keytakeaway] [proscons] [foragainst] [steps] [list] [faq] [verdict/chooseif/skipif] [pillarcards] [amazonbox] etc) ---------- */
.key-takeaways{background:var(--brand-dark);color:#dceae7;border-radius:var(--r-lg);padding:26px 30px;margin:1.8em 0}
.key-takeaways .kt-label{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:10px;margin-bottom:.6em}
.key-takeaways .kt-label svg{width:22px;height:22px;color:var(--accent);flex:none}
.key-takeaways p{margin:0 0 .6em;line-height:1.7;color:#dceae7 !important}
.key-takeaways p:last-child{margin-bottom:0}
.key-takeaways ul{list-style:none;margin:.4em 0 0;padding:0;display:block;column-count:1;columns:1}
.key-takeaways ul li{position:relative;float:none;display:list-item;list-style:none;margin:0 0 10px;padding-left:22px;line-height:1.65;column-span:none}
.key-takeaways ul li:last-child{margin-bottom:0}
.key-takeaways strong,.key-takeaways b{color:#fff;font-weight:700}
.key-takeaways a{color:var(--accent);text-decoration:underline}
.key-takeaways a:hover{color:#fff}
.key-takeaways ul li::before{content:"";position:absolute;margin-left:-22px;margin-top:.55em;width:7px;height:7px;border-radius:50%;background:var(--accent)}

.pc-col{border-radius:var(--r-lg);padding:22px 24px;border:1px solid var(--line)}
.pc-col.pros{background:var(--money-wash,#eaf6ef);border-color:#bcdcc9}
.pc-col.cons{background:#f7e4e0;border-color:#eccbc4}
.pc-col .pc-head{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin-bottom:14px}
.pc-col.pros .pc-head{color:var(--money,#1f8a5b)}
.pc-col.cons .pc-head{color:#c0392b}
.pc-col .pc-head svg{width:18px;height:18px;flex:none}
.pc-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pc-col li{position:relative;padding-left:30px;font-size:.94rem;line-height:1.55;color:var(--ink)}
.pc-col li::before{position:absolute;left:0;top:.1em;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-size:.7rem}
.pc-col.pros li::before{content:"";background:var(--money,#1f8a5b) url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 11v9H4a1 1 0 0 1-1-1v-7a1 1 0 0 1 1-1h3zm0 0 4.5-8a2 2 0 0 1 3.6 1.2L14 9h4.3a2 2 0 0 1 1.9 2.6l-2 7A2 2 0 0 1 16.3 20H7'/%3E%3C/svg%3E") center/12px no-repeat}
.pc-col.cons li::before{content:"";background:#c0392b url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 13V4h3a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-3zm0 0-4.5 8a2 2 0 0 1-3.6-1.2L10 15H5.7a2 2 0 0 1-1.9-2.6l2-7A2 2 0 0 1 7.7 4H17'/%3E%3C/svg%3E") center/12px no-repeat}

.versus{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin:1.7em 0;box-shadow:var(--shadow-sm)}
.versus-head{display:grid;grid-template-columns:1fr 1fr}
.vh-for,.vh-against{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:12px 20px}
.vh-for{background:var(--money-wash,#eaf6ef);color:var(--money,#1f8a5b)}
.vh-against{background:#f7e4e0;color:#c0392b}
.versus-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.versus-row .for,.versus-row .against{padding:12px 20px;font-size:.92rem;line-height:1.55;display:flex;gap:10px;align-items:flex-start}
.versus-row .vd{width:8px;height:8px;border-radius:50%;flex:none;margin-top:7px}
.versus-row .for .vd{background:var(--money,#1f8a5b)}
.versus-row .against .vd{background:#c0392b}
.versus-row .against{border-left:1px solid var(--line)}

.num-box{margin:1.7em 0}
.num-box ol{list-style:none;counter-reset:nb;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.num-box ol>li{counter-increment:nb;position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:14px 20px 14px 58px;line-height:1.6;box-shadow:var(--shadow-sm)}
.num-box ol>li::before{content:counter(nb);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--mono);font-weight:700;font-size:.82rem;display:grid;place-items:center}

.bullet-box{margin:1.7em 0}
.bullet-box ul.bullet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.bullet-box ul.bullet-list>li{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:14px 20px 14px 50px;line-height:1.6;box-shadow:var(--shadow-sm)}
.bullet-box ul.bullet-list>li::before{content:"";position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--accent);background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-size:12px 12px;background-repeat:no-repeat;background-position:center}

.faq-block{display:flex;flex-direction:column;gap:14px;margin:1.6em 0}
.faq-block details{background:var(--white);border:2px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.faq-block details[open]{border-color:var(--accent);box-shadow:var(--shadow-sm)}
.faq-block summary{padding:18px 22px;font-family:var(--serif);font-weight:700;font-size:1.08rem;cursor:pointer;display:flex;align-items:center;gap:14px;list-style:none;color:var(--ink)}
.faq-block summary::-webkit-details-marker{display:none}
.faq-block summary .q-ic{flex:none;width:32px;height:32px;border-radius:50%;background:var(--gold-wash);color:var(--accent);display:grid;place-items:center;font-family:var(--mono);font-weight:800;font-size:.95rem}
.faq-block summary .q-text{flex:1}
.faq-block .chev{flex:none;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;transition:transform .2s,background .2s}
.faq-block .chev svg{width:16px;height:16px}
.faq-block details[open] .chev{transform:rotate(45deg);background:var(--accent)}
.faq-block .faq-a{padding:0 22px 22px 66px;color:var(--ink-soft);line-height:1.7}
.faq-block .faq-a p{margin:0 0 .6em}
.faq-block .faq-a p:last-child{margin-bottom:0}

.vbox{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);margin:1.4em 0;display:flex;flex-wrap:wrap;box-shadow:var(--shadow-sm)}
.vbox-head{font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#fff;padding:14px 20px;display:flex;align-items:center;gap:9px;min-width:150px;flex:none}
.vbox-head svg{width:18px;height:18px}
.vbox-body{padding:16px 20px;flex:1;font-size:.94rem;line-height:1.65;color:var(--ink)}
.vbox-body p{margin:0}
.vbox-verdict .vbox-head{background:var(--brand)}
.vbox-choose .vbox-head{background:var(--money,#1f8a5b)}
.vbox-skip .vbox-head{background:#c0392b}
@media (max-width:560px){.vbox-head{min-width:0}}

.pillar-cards{margin:2em 0;padding:26px;background:var(--surface-2,#f4f5fb);border-radius:var(--r-lg)}
.pillar-title{font-family:var(--serif);font-size:1.15rem;margin:0 0 16px;color:var(--ink)}
.pillar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pillar-card{display:flex;align-items:flex-start;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.pillar-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.pillar-card .pc-num{font-family:var(--mono);font-weight:800;color:#fff;background:var(--accent);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.92rem;flex:none;line-height:1}
.pillar-card .pc-tx{display:flex;flex-direction:column;gap:2px;flex:1}
.pillar-card .pc-tx b{color:var(--ink);font-size:.96rem}
.pillar-card .pc-tx span{color:var(--ink-soft);font-size:.84rem}
.pillar-card svg{width:18px;height:18px;color:var(--ink-soft);flex:none}
@media (max-width:600px){.pillar-grid{grid-template-columns:1fr}}

.bestseller{margin:1.7em 0}
.bestseller .bs-item{display:flex;align-items:center;gap:20px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 22px;box-shadow:var(--shadow-sm)}
.bestseller .bs-item.top{border-color:var(--accent)}
.bestseller .bs-item.top .bs-body h4{font-size:1.15rem}
.bestseller .bs-rank{font-family:var(--serif);font-weight:700;font-size:1.6rem;color:var(--accent);flex:none;width:36px;text-align:center}
.bestseller .bs-img{border-radius:var(--r);flex:none;background:var(--surface-2,#f4f5fb)}
.bestseller .bs-body{flex:1}
.bestseller .bs-body h4{font-size:1.05rem;margin:0 0 6px;color:var(--ink)}
.bestseller .bs-feat-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.bestseller .bs-feat-list li{position:relative;padding-left:18px;font-size:.86rem;color:var(--ink-soft);line-height:1.5}
.bestseller .bs-feat-list li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--money,#1fae82)}
.bestseller .price{font-weight:800;color:var(--ink);margin-right:12px;font-size:1.15rem}
.bestseller .bs-cta{display:flex;align-items:center;gap:10px;flex:none}
.btn-amazon{display:inline-flex;align-items:center;gap:8px;background:#FF9900;color:#111;font-weight:700;padding:.7em 1.2em;border-radius:var(--r);white-space:nowrap;transition:filter .15s}
.btn-amazon:hover{filter:brightness(.95)}
.btn-amazon svg{width:18px;height:18px}
.ab-feat span{background:var(--surface-2,#f4f5fb);color:var(--ink);font-size:.82rem;font-weight:600;padding:.35em .8em;border-radius:999px}
@media (max-width:640px){.bestseller .bs-item{flex-wrap:wrap}.bestseller .bs-cta{width:100%;justify-content:space-between}}

/* ---------- key takeaways box ---------- */
.keybox{background:var(--brand-dark);color:#dceae7;border-radius:var(--r-lg);padding:28px 32px;margin:1.8em 0}
.keybox h4{color:#fff;font-family:var(--serif);font-size:1.3rem;margin-bottom:.6em;display:flex;align-items:center;gap:10px}
.keybox h4 svg{width:22px;height:22px;color:var(--accent)}
.keybox ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.keybox li{position:relative;padding-left:28px;font-size:1rem;line-height:1.55}
.keybox li::before{content:"";position:absolute;left:0;top:8px;width:12px;height:12px;border-radius:3px;background:var(--accent);transform:rotate(45deg)}

/* ---------- data table ---------- */
.tbl-wrap{margin:1.7em 0;border-radius:var(--r-lg);border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow-sm)}
.tbl-cap{background:var(--brand);color:#fff;padding:14px 22px;font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:9px}
.tbl-cap svg{width:16px;height:16px;color:var(--accent)}
table.cw-tbl{width:100%;border-collapse:collapse;font-size:.98rem;background:var(--white)}
table.cw-tbl thead th{background:var(--paper-2);text-align:left;padding:14px 20px;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line)}
table.cw-tbl td{padding:14px 20px;border-bottom:1px solid var(--line);vertical-align:top}
table.cw-tbl tbody tr:last-child td{border-bottom:none}
table.cw-tbl tbody tr:nth-child(even){background:var(--paper)}
table.cw-tbl td:first-child{font-weight:600;color:var(--ink)}
table.cw-tbl .pos{color:var(--money);font-family:var(--mono);font-weight:600}
table.cw-tbl .neg{color:var(--neg);font-family:var(--mono);font-weight:600}

/* ---------- pros / cons ---------- */
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:1.7em 0}
.pc{border-radius:var(--r-lg);padding:22px 24px;border:1px solid var(--line)}
.pc.pros{background:var(--money-wash);border-color:#bcdcc9}
.pc.cons{background:#f7e4e0;border-color:#eccbc4}
.pc h4{font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.pc.pros h4{color:var(--money)}
.pc.cons h4{color:var(--neg)}
.pc h4 svg{width:18px;height:18px}
.pc ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.pc li{position:relative;padding-left:26px;font-size:.96rem;line-height:1.5}
.pc li::before{position:absolute;left:0;top:1px;font-weight:700}
.pc.pros li::before{content:"✓";color:var(--money)}
.pc.cons li::before{content:"✕";color:var(--neg)}

/* ---------- inline affiliate box ---------- */
.aff-box{display:grid;grid-template-columns:130px 1fr auto;gap:22px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;margin:1.7em 0;box-shadow:var(--shadow-sm);position:relative}
.aff-box::after{content:"Affiliate";position:absolute;top:10px;right:14px;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);opacity:.7}
.aff-box img{width:130px;height:110px;object-fit:contain;background:var(--paper);border-radius:var(--r);border:none;margin:0}
.aff-info h4{font-family:var(--serif);font-size:1.24rem;margin-bottom:.2em}
.aff-info .stars{display:flex;gap:2px;color:var(--gold-600);margin-bottom:.4em}
.aff-info .stars svg{width:14px;height:14px}
.aff-info p{font-size:.92rem;color:var(--ink-soft);margin:0}
.aff-cta{display:flex;flex-direction:column;gap:8px;align-items:stretch;text-align:center}
.aff-cta .price{font-family:var(--mono);font-weight:600;color:var(--ink)}

/* ---------- FAQ accordion ---------- */
.faq{display:flex;flex-direction:column;gap:12px;margin:1.4em 0}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .2s}
.faq details[open]{box-shadow:var(--shadow-sm);border-color:var(--accent-soft)}
.faq summary{padding:18px 22px;font-family:var(--serif);font-weight:600;font-size:1.12rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:12px;height:12px;flex:none;border-right:2.5px solid var(--brand);border-bottom:2.5px solid var(--brand);transform:rotate(45deg);transition:transform .2s;margin-top:-4px}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.faq .faq-a{padding:0 22px 20px;color:var(--ink-soft);line-height:1.7}

/* ---------- TOC sidebar ---------- */
.side{position:sticky;top:90px;display:flex;flex-direction:column;gap:24px}
.toc{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--shadow-sm)}
.toc h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}
.toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:2px}
.toc li{counter-increment:toc}
.toc a{display:flex;gap:10px;padding:8px 10px;border-radius:8px;font-size:.92rem;color:var(--ink-soft);transition:background .15s,color .15s;line-height:1.35}
.toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--mono);font-size:.76rem;color:var(--brand);font-weight:600;flex:none}
.toc a:hover,.toc a.active{background:var(--gold-wash);color:var(--ink)}
.side-cta{background:var(--brand-dark);color:#dceae7;border-radius:var(--r-lg);padding:24px}
.side-cta h4{color:#fff;font-family:var(--serif);font-size:1.24rem;margin-bottom:.4em}
.side-cta p{font-size:.9rem;color:#a9c4bf;margin-bottom:1em}
.side-cta .btn{width:100%;justify-content:center}

/* ---------- author box ---------- */
.author{display:flex;gap:20px;align-items:center;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 26px;margin:2.4em 0 0}
.author .av{width:70px;height:70px;border-radius:50%;background-size:cover;flex:none;border:3px solid var(--white);box-shadow:var(--shadow-sm)}
.author h4{font-family:var(--serif);font-size:1.24rem;margin-bottom:.15em}
.author .role{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin-bottom:.5em}
.author p{font-size:.92rem;color:var(--ink-soft);margin:0}

/* ---------- share row ---------- */
.share{display:flex;align-items:center;gap:12px;padding:20px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin:2em 0;font-family:var(--mono);font-size:.78rem;color:var(--ink-soft)}
.share .sh-btns{display:flex;gap:8px;margin-left:auto}
.share a{width:38px;height:38px;border-radius:var(--r);border:1px solid var(--line);display:grid;place-items:center;color:var(--brand);transition:background .2s,color .2s}
.share a:hover{background:var(--brand);color:#fff}
.share svg{width:16px;height:16px}

/* ---------- related / next reads ---------- */
.related{background:var(--surface-2);padding:64px 0}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}

/* ---------- blog listing ---------- */
.page-head{background:linear-gradient(165deg,var(--gold-wash),var(--surface) 60%,var(--teal-wash));padding:56px 0;position:relative;overflow:hidden}
.page-head::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--accent) 1px,transparent 1px);background-size:30px 30px;opacity:.05}
.page-head .wrap{position:relative}
.page-head .ph-inner{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:clamp(30px,3.4vw,46px) clamp(28px,3.6vw,52px);max-width:820px}
.page-head h1{font-size:clamp(2.1rem,4vw,3.1rem);margin:.25em 0 .3em}
.page-head p{font-size:1.16rem;color:var(--ink-soft);max-width:56ch}
.page-head .ph-inner .filters,.page-head .ph-inner>div:last-child{margin-bottom:0}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.filters button{font-family:var(--mono);font-size:.8rem;letter-spacing:.03em;padding:.6em 1.1em;border-radius:100px;border:1.5px solid var(--line);background:var(--white);color:var(--ink-soft);cursor:pointer;transition:all .18s}
.filters button{transition:transform .18s ease,box-shadow .18s ease,border-color .2s,color .2s,background .2s}
.filters button:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.filters button.active{background:linear-gradient(135deg,var(--brand),var(--brand-dark));border-color:transparent;color:#fff;box-shadow:0 9px 22px -8px var(--brand)}
.filters button.active::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:.55em;vertical-align:middle;box-shadow:0 0 0 3px var(--accent-soft)}
.filters button:nth-child(2){border-color:var(--cap-teal);color:var(--cap-teal)}
.filters button:nth-child(3){border-color:var(--cap-purple);color:var(--cap-purple)}
.filters button:nth-child(4){border-color:var(--cap-amber);color:#C77F00}
.filters button.flash{transform:translateY(-2px) scale(1.04);box-shadow:var(--shadow)}
.filters button:nth-child(1).flash{background:linear-gradient(135deg,var(--brand),var(--brand-dark));border-color:transparent;color:#fff}
.filters button:nth-child(2).flash{background:var(--cap-teal);border-color:transparent;color:#fff}
.filters button:nth-child(3).flash{background:var(--cap-purple);border-color:transparent;color:#fff}
.filters button:nth-child(4).flash{background:var(--cap-amber);border-color:transparent;color:var(--brand-dark)}

/* CTA arrow — draws attention to a hero button on load */
.cta-arrow-wrap{position:relative;display:inline-block}
.cta-arrow{position:absolute;left:100%;top:10%;margin-left:2px;width:64px;height:78px;color:#FF0033;pointer-events:none;animation:ctaArrowNudge 1.6s ease-in-out infinite}
.cta-arrow svg{width:100%;height:100%}
@keyframes ctaArrowNudge{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(3px,-3px) rotate(-3deg)}}
@media (max-width:700px){.cta-arrow{display:none}}
@media (prefers-reduced-motion:reduce){.cta-arrow{animation:none}}

.feature-row{display:grid;grid-template-columns:1.15fr .85fr;gap:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:36px}
.feature-row .fr-media{position:relative;min-height:340px}
.feature-row .fr-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature-row .fr-body{padding:40px 44px;display:flex;flex-direction:column;justify-content:center}
.feature-row .fr-body .kicker{margin-bottom:12px}
.feature-row .fr-body h2{font-size:2rem;margin-bottom:.35em}
.feature-row .fr-body p{color:var(--ink-soft);margin-bottom:1.3em}

/* ---------- topic landing ---------- */
.topic-hero{background:var(--brand-dark);color:#dceae7;padding:60px 0;position:relative;overflow:hidden}
.topic-hero::before{content:"";position:absolute;top:-40%;right:-8%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 68%);opacity:.18}
.topic-hero .wrap{position:relative;display:grid;grid-template-columns:1.3fr .7fr;gap:44px;align-items:center}
.topic-hero .th-ic{width:64px;height:64px;border-radius:var(--r-lg);background:var(--accent);color:var(--brand-dark);display:grid;place-items:center;margin-bottom:20px}
.topic-hero .th-ic svg{width:34px;height:34px}
.topic-hero h1{color:#fff;font-size:clamp(2.2rem,4.5vw,3.4rem);margin-bottom:.3em}
.topic-hero p{color:#a9c4bf;font-size:1.18rem;max-width:52ch}
.th-stats{display:flex;flex-direction:column;gap:14px}
.th-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:18px 22px}
.th-stat b{font-family:var(--serif);font-size:2rem;color:#fff;display:block;line-height:1}
.th-stat span{font-family:var(--mono);font-size:.74rem;color:#9fbab5;letter-spacing:.04em}

/* ---------- about ---------- */
.about-hero{padding:60px 0 68px;background:linear-gradient(160deg,var(--gold-wash),var(--surface) 55%,var(--teal-wash));position:relative;overflow:hidden}
.about-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--accent) 1px,transparent 1px);background-size:32px 32px;opacity:.05}
.about-hero .wrap{position:relative}
.ah-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center}
.ah-copy .kicker{justify-content:flex-start;margin-bottom:6px}
.about-hero h1{font-size:clamp(2.4rem,4.7vw,3.8rem);line-height:1.02;letter-spacing:-.02em;max-width:14ch;margin:.2em 0 .42em}
.about-hero h1 em{font-style:normal;color:var(--accent)}
.about-hero .lead{font-size:1.2rem;color:var(--ink-soft);max-width:44ch;margin:0 0 30px;line-height:1.55}
.ah-sign{display:flex;align-items:center;gap:16px;margin-top:30px}
.ah-sign .sig{font-family:var(--serif);font-weight:800;font-style:italic;font-size:1.2rem;color:var(--ink)}
.ah-sign .sig-sub{font-family:var(--mono);font-size:.76rem;color:var(--ink-soft);border-left:1px solid var(--line);padding-left:16px;line-height:1.5}
/* portrait */
.ah-photo{position:relative}
.ah-photo .frame{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5}
.ah-photo .frame img{width:100%;height:100%;object-fit:cover;display:block}
.ah-tag{position:absolute;left:-20px;bottom:30px;background:var(--white);border:1px solid var(--line);border-radius:15px;padding:12px 18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:13px}
.ah-tag .dot{width:10px;height:10px;border-radius:50%;background:var(--pos);box-shadow:0 0 0 4px var(--pos-soft);flex:none}
.ah-tag b{display:block;font-family:var(--serif);font-size:.96rem;line-height:1.2}
.ah-tag span{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft)}
.ah-badge{position:absolute;right:-16px;top:26px;background:var(--brand);color:#fff;border-radius:100px;padding:9px 17px;font-family:var(--mono);font-size:.78rem;font-weight:600;box-shadow:var(--shadow);transform:rotate(3deg)}
/* story pull quote */
.about-quote{margin:8px 0 4px;padding:26px 30px;border-left:4px solid var(--accent);background:var(--gold-wash);border-radius:0 var(--r) var(--r) 0}
.about-quote p{font-family:var(--serif);font-weight:600;font-size:1.35rem;line-height:1.4;color:var(--ink)}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.value{position:relative;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 28px 30px;transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s,border-color .28s}
.value::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.value:nth-child(2)::before{background:var(--money)}
.value:nth-child(3)::before{background:var(--brand)}
.value:hover{transform:translateY(-6px);box-shadow:0 18px 40px -18px rgba(20,20,60,.35);border-color:transparent}
.value:hover::before{transform:scaleX(1)}
.value .v-num{position:absolute;top:22px;right:26px;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;color:var(--ink-soft);opacity:.5}
.value .v-ic{width:60px;height:60px;border-radius:16px;background:linear-gradient(145deg,var(--gold-wash),color-mix(in srgb,var(--accent) 22%,#fff));color:var(--accent);display:grid;place-items:center;margin-bottom:20px;box-shadow:0 6px 18px -8px color-mix(in srgb,var(--accent) 55%,transparent);transition:transform .28s cubic-bezier(.2,.7,.3,1)}
.value:nth-child(2) .v-ic{background:linear-gradient(145deg,var(--money-wash),color-mix(in srgb,var(--money) 22%,#fff));color:var(--money);box-shadow:0 6px 18px -8px color-mix(in srgb,var(--money) 55%,transparent)}
.value:nth-child(3) .v-ic{background:linear-gradient(145deg,var(--teal-wash),color-mix(in srgb,var(--brand) 22%,#fff));color:var(--brand);box-shadow:0 6px 18px -8px color-mix(in srgb,var(--brand) 55%,transparent)}
.value:hover .v-ic{transform:scale(1.08) rotate(-4deg)}
.value .v-ic svg{width:28px;height:28px}
.value h3{font-size:1.32rem;margin-bottom:.4em}
.value p{color:var(--ink-soft);font-size:.98rem}

/* about: social row under hero */
.about-social{display:flex;flex-wrap:wrap;gap:11px;justify-content:flex-start;margin:0}
@media (max-width:860px){.ah-grid{grid-template-columns:1fr;gap:40px}.about-hero h1,.about-hero .lead{max-width:none}.ah-photo{max-width:420px}}
.soc-btn{display:inline-flex;align-items:center;gap:9px;padding:.62em 1.15em;border-radius:100px;border:1.5px solid var(--line);background:var(--white);color:var(--ink);font-weight:600;font-size:.95rem;text-decoration:none;transition:all .18s;box-shadow:var(--shadow-sm)}
.soc-btn svg{width:18px;height:18px}
.soc-btn:hover{transform:translateY(-2px);border-color:var(--brand);color:var(--brand)}
.soc-btn .sb-h{color:var(--ink-soft);font-weight:500;font-family:var(--mono);font-size:.82rem}
.soc-btn.yt svg{color:#ff0033}.soc-btn.li svg{color:#0a66c2}.soc-btn.x svg{color:#111}.soc-btn.fb svg{color:#1877f2}.soc-btn.ig svg{color:#e1306c}.soc-btn.am svg{color:#ff9900}
.soc-btn.am:hover{border-color:#ff9900;color:#c96f00}

/* about: story split + blog sidebar */
.about-split{display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:start}
.about-main .article-body{max-width:none}
.blog-side{position:sticky;top:100px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm)}
.bs-search{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:10px 15px;margin-bottom:20px}
.bs-search svg{width:16px;height:16px;color:var(--ink-soft);flex:none}
.bs-search input{border:none;background:none;outline:none;font:inherit;font-size:.92rem;width:100%;color:var(--ink)}
.bs-head{font-family:var(--mono);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;padding-left:2px}
.bs-cats{display:flex;flex-direction:column}
.bs-cat{border-top:1px solid var(--line)}
.bs-cat:last-of-type{border-bottom:1px solid var(--line)}
.bs-cat-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:none;border:none;cursor:pointer;padding:14px 2px;font:inherit;color:var(--ink);text-align:left}
.bs-cat-btn .bc-name{font-family:var(--serif);font-weight:700;font-size:1rem}
.bs-cat-btn .bc-count{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);margin-left:9px}
.bs-cat-btn .chev{width:17px;height:17px;color:var(--ink-soft);transition:transform .22s;flex:none}
.bs-cat.open .bs-cat-btn .chev{transform:rotate(180deg)}
.bs-cat.open .bs-cat-btn{color:var(--brand)}
.bs-cat-body{overflow:hidden;max-height:0;transition:max-height .28s ease}
.bs-cat.open .bs-cat-body{max-height:360px}
.bs-cat-body a{display:block;padding:7px 2px 7px 14px;font-size:.92rem;color:var(--ink-soft);text-decoration:none;border-left:2px solid var(--line);margin-left:2px;transition:color .15s,border-color .15s}
.bs-cat-body a:first-child{padding-top:2px}
.bs-cat-body a:last-child{padding-bottom:14px}
.bs-cat-body a:hover{color:var(--brand);border-left-color:var(--accent)}
.bs-all{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--brand);text-decoration:none}
.bs-all:hover{text-decoration:underline}
@media (max-width:900px){.about-split{grid-template-columns:1fr;gap:36px}.blog-side{position:static}}

/* about: what I write about (blog picks) */
.about-reads{margin-top:40px;padding-top:34px;border-top:1px solid var(--line)}
.ar-head{margin-bottom:20px}
.ar-head h3{font-family:var(--serif);font-weight:700;font-size:1.5rem;color:var(--ink);margin-top:4px}
.ar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ar-card{display:flex;flex-direction:column;gap:11px;text-decoration:none}
.ar-media{position:relative;display:block;aspect-ratio:16/11;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.ar-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.ar-card:hover .ar-media img{transform:scale(1.05)}
.ar-cat{position:absolute;top:9px;left:9px;background:rgba(255,255,255,.94);color:var(--brand);font-family:var(--mono);font-size:.68rem;font-weight:600;padding:4px 9px;border-radius:100px}
.ar-title{font-family:var(--serif);font-weight:600;font-size:1.02rem;line-height:1.32;color:var(--ink);transition:color .2s}
.ar-card:hover .ar-title{color:var(--brand)}
.ar-all{display:inline-block;margin-top:22px;font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--brand);text-decoration:none}
.ar-all:hover{text-decoration:underline}
@media (max-width:640px){.ar-grid{grid-template-columns:1fr 1fr}}

/* about: quick personal facts */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.fact{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;text-align:center}
.fact.c1{background:var(--cap-purple-wash);border-color:transparent}
.fact.c2{background:var(--cap-coral-wash);border-color:transparent}
.fact.c3{background:var(--cap-teal-wash);border-color:transparent}
.fact.c4{background:var(--cap-pink-wash);border-color:transparent}
.fact.c1 .f-ic{background:var(--cap-purple);color:#fff}
.fact.c2 .f-ic{background:var(--cap-coral);color:#fff}
.fact.c3 .f-ic{background:var(--cap-teal);color:#fff}
.fact.c4 .f-ic{background:var(--cap-pink);color:#fff}
.fact .f-ic{width:44px;height:44px;border-radius:12px;background:var(--gold-wash);color:var(--brand);display:grid;place-items:center;margin:0 auto 12px}
.fact .f-ic svg{width:22px;height:22px}
.fact b{display:block;font-family:var(--serif);font-size:1.05rem;margin-bottom:.15em}
.fact span{font-size:.86rem;color:var(--ink-soft)}

/* about: social feed */
.social-feed{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.feed-col{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.feed-head{display:flex;align-items:center;gap:11px;padding:18px 22px;background:var(--brand-dark);border-top:3px solid var(--line)}
.feed-head .fh-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff;flex:none;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.feed-head .fh-ic svg{width:19px;height:19px}
.feed-head b{font-size:.98rem;display:block;line-height:1.2;color:#fff}
.feed-head span{font-size:.8rem;color:rgba(255,255,255,.68);font-family:var(--mono)}
.feed-col.fb{border-top-color:#1877f2}.feed-col.fb .fh-ic{color:#1877f2}
.feed-col.x{border-top-color:#111}.feed-col.x .fh-ic{color:#111}
.feed-col.li{border-top-color:#0a66c2}.feed-col.li .fh-ic{color:#0a66c2}
.feed-body{padding:8px 22px 20px;display:flex;flex-direction:column;gap:2px;flex:1}
.post{padding:16px 0;border-bottom:1px dashed var(--line)}
.post:last-child{border-bottom:none}
.post .p-time{font-family:var(--mono);font-size:.74rem;color:var(--ink-soft);margin-bottom:6px}
.post p{font-size:.92rem;line-height:1.5;color:var(--ink)}
.post p a{color:var(--brand);font-weight:600}
.post .p-meta{display:flex;gap:16px;margin-top:10px;font-family:var(--mono);font-size:.76rem;color:var(--ink-soft)}
.post .p-meta span{display:inline-flex;align-items:center;gap:4px}
.post .p-meta svg{width:13px;height:13px}
.feed-foot{padding:16px 22px 20px;border-top:1px solid var(--line);margin-top:auto}
.feed-foot a{font-family:var(--mono);font-size:.8rem;font-weight:700;letter-spacing:.01em;color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;background:var(--brand-dark);box-shadow:0 2px 8px rgba(20,31,58,.18);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.feed-foot a .arr{transition:transform .18s ease}
.feed-foot a:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(20,31,58,.26);filter:brightness(1.06)}
.feed-foot a:hover .arr{transform:translateX(3px)}
.feed-col.fb .feed-foot a{background:#1877f2;box-shadow:0 2px 8px rgba(24,119,242,.28)}
.feed-col.x .feed-foot a{background:#111;box-shadow:0 2px 8px rgba(0,0,0,.28)}
.feed-col.li .feed-foot a{background:#0a66c2;box-shadow:0 2px 8px rgba(10,102,194,.28)}
.feed-note{text-align:center;font-family:var(--mono);font-size:.8rem;color:var(--ink-soft);margin-top:22px}
@media (max-width:900px){.social-feed{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,1fr)}}

.team{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:36px}
.member{text-align:center}
.member .av{width:100%;aspect-ratio:1;border-radius:var(--r-lg);background-size:cover;background-position:center;margin-bottom:14px;border:1px solid var(--line)}
.member h4{font-size:1.16rem;margin-bottom:.1em}
.member .role{font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:var(--brand)}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .article-wrap{grid-template-columns:1fr;gap:0}
  .side{position:static;flex-direction:row;flex-wrap:wrap;margin-top:40px}
  .toc{flex:1;min-width:260px}
  .side-cta{flex:1;min-width:260px}
  .topic-hero .wrap{grid-template-columns:1fr}
  .th-stats{flex-direction:row}
  .th-stat{flex:1}
  .values,.team{grid-template-columns:repeat(2,1fr)}
  .feature-row{grid-template-columns:1fr}
  .feature-row .fr-media{min-height:240px}
  .rel-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .proscons,.aff-box{grid-template-columns:1fr}
  .aff-box{text-align:center;justify-items:center}
  .aff-box img{margin:0 auto}
  .values,.team,.rel-grid,.th-stats{grid-template-columns:1fr}
  .th-stats{flex-direction:column}
  .article-wrap{padding:48px 18px 30px}
  .article-body{font-size:1.05rem}
}
@media (max-width:1024px) and (min-width:681px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .topics,.tools{grid-template-columns:repeat(2,1fr)}
  .ggrid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .su-grid,.feat,.nl{grid-template-columns:1fr}
  .feat .f-media{min-height:280px}
  .data-strip{grid-template-columns:repeat(2,1fr)}
  .dstat:nth-child(2){border-right:none}
  .dstat:nth-child(1),.dstat:nth-child(2){border-bottom:1px solid var(--line)}
}
@media (max-width:680px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  .nav,.u-tags,.u-social{display:none}
  .burger{display:grid}
  .sec{padding:60px 0}
  .sec-head.split{flex-direction:column;align-items:flex-start}
  .topics,.tools,.ggrid,.steps{grid-template-columns:1fr}
  .data-strip{grid-template-columns:1fr;gap:0}
  .dstat{border-right:none;border-bottom:1px solid var(--line)}
  .dstat:last-child{border-bottom:none}
  .path{padding:26px 22px}
  .nl,.feat .f-body{padding:34px 26px}
  .u-right{margin:0 auto}
}

/* ============================================================
   CAYH ADDITIONS \u2014 full-bleed photo hero + search + salon bits
   ============================================================ */

/* full-bleed photo hero */
.hero-full{position:relative;min-height:640px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero-full .hf-bg{position:absolute;inset:0;z-index:-2}
.hero-full .hf-bg img{width:100%;height:100%;object-fit:cover;object-position:center 32%}
.hero-full::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,21,49,.34) 0%,rgba(11,21,49,.18) 38%,rgba(11,21,49,.86) 100%)}
.hero-full .wrap{width:100%;padding-top:120px;padding-bottom:64px}
.hf-inner{max-width:640px}
.hf-card{background:var(--white);border-radius:var(--r-lg);padding:38px 40px 34px;box-shadow:0 30px 60px -18px rgba(11,21,49,.55),0 8px 22px -10px rgba(11,21,49,.4);border:1px solid rgba(255,255,255,.7)}
.hf-kicker{display:inline-flex;align-items:center;gap:.6em;font-family:var(--mono);font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--brand);background:var(--gold-wash);border:1px solid var(--line);padding:.5em 1em;border-radius:100px}
.hero-full h1{color:var(--ink);font-size:clamp(2.4rem,4.8vw,3.9rem);font-weight:600;line-height:1.12;margin:.42em 0 .5em;letter-spacing:-.01em;text-shadow:none}
.hero-full h1 .em{color:var(--brand);-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(transparent 72%,var(--accent-soft) 0);padding:0 .04em}
.hf-dek{color:var(--ink-soft);font-size:1.14rem;line-height:1.62;max-width:46ch;margin:0;text-shadow:none}

/* search bar */
.searchbar{display:flex;align-items:center;gap:10px;background:var(--white);border-radius:100px;padding:8px 8px 8px 22px;box-shadow:var(--shadow-lg);max-width:560px;margin-top:22px}
.searchbar svg.si{width:20px;height:20px;color:var(--ink-soft);flex:none}
.searchbar input{flex:1;border:none;outline:none;background:transparent;font-family:var(--sans);font-size:1rem;color:var(--ink);min-width:0}
.searchbar input::placeholder{color:var(--ink-soft)}
.searchbar .btn{flex:none}
.hf-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center}
.hf-tags .lbl{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.hf-tags a{font-size:.86rem;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);padding:.4em .9em;border-radius:100px;transition:background .2s,color .2s}
.hf-tags a:hover{background:#fff;color:var(--brand-dark)}

/* concern quick-strip (under hero) */
.concerns{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.concern{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:22px 12px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);transition:transform .2s,box-shadow .2s,border-color .2s}
.concern:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.concern .ci{width:52px;height:52px;border-radius:50%;background:var(--gold-wash);color:var(--brand);display:grid;place-items:center}
.concern:nth-child(2n) .ci{background:var(--money-wash);color:var(--money)}
.concern:nth-child(3n) .ci{background:var(--teal-wash);color:var(--brand)}
.concern .ci svg{width:26px;height:26px}
.concern span{font-size:.92rem;font-weight:600;color:var(--ink);line-height:1.25}

/* routine / regimen steps reuse .steps but softer number */
.regimen .step .snum{color:var(--accent)}

/* amazon picks — category band + product cards */
.pick-band{display:flex;align-items:center;gap:14px;margin:0 0 24px}
.pick-band .pb-ic{width:46px;height:46px;border-radius:var(--r);background:var(--brand);color:var(--accent);display:grid;place-items:center;flex:none}
.pick-band .pb-ic svg{width:24px;height:24px}
.pick-band h2{font-size:1.7rem;margin:0}
.pick-band .pb-count{margin-left:auto;font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.picks{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:56px}
.pick{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;position:relative}
.pick:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pick .pk-media{aspect-ratio:1;background:var(--paper-2);position:relative;overflow:hidden}
.pick .pk-media img{width:100%;height:100%;object-fit:cover}
.pick .pk-rank{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:.35em .7em;border-radius:100px}
.pick .pk-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.pick .pk-cat{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);font-weight:600;margin-bottom:.4em}
.pick .pk-body h3{font-size:1.16rem;line-height:1.2;margin-bottom:.4em}
.pick .stars{display:flex;gap:2px;color:var(--gold-600);margin-bottom:.5em}
.pick .stars svg{width:14px;height:14px}
.pick .pk-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px dashed var(--line)}
.pick .pk-foot .price{font-family:var(--mono);font-weight:600;color:var(--ink)}
.pick .pk-foot{flex-wrap:wrap}
.pick .pk-foot .price{flex:1 1 100%;margin-bottom:2px}
.pick .pk-foot .pk-details{flex:1;justify-content:center;padding-left:.5em;padding-right:.5em}
.pick .pk-foot .btn-primary{flex:1;justify-content:center;padding-left:.5em;padding-right:.5em}

@media (max-width:1024px){
  .concerns{grid-template-columns:repeat(3,1fr)}
  .picks{grid-template-columns:repeat(2,1fr)}
  .hero-full{min-height:560px}
}
@media (max-width:680px){
  .concerns{grid-template-columns:repeat(2,1fr)}
  .picks{grid-template-columns:1fr}
  .hero-full{min-height:520px}
  .hero-full .wrap{padding-top:96px}
  .searchbar{flex-wrap:wrap;border-radius:16px;padding:14px}
  .searchbar .btn{width:100%;justify-content:center}
}

/* ============================================================
   MAN WITH MANY CAPS — bespoke components
   ============================================================ */

/* ---------- home hero: portrait + intro ---------- */
.hero-intro{background:var(--brand-dark);color:#e6edfb;position:relative;overflow:hidden;padding:76px 0 84px}
.hero-intro::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.5) 1px,transparent 1px);background-size:30px 30px;opacity:.05;-webkit-mask:linear-gradient(120deg,#000,transparent 72%);mask:linear-gradient(120deg,#000,transparent 72%)}
/* floating rainbow "caps" confetti */
.hero-intro .blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;pointer-events:none}
.hi-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.hi-copy .eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-dark);background:var(--accent);padding:.55em 1.05em;border-radius:100px}
.hi-copy h1{color:#fff;font-size:clamp(2.5rem,5vw,4rem);line-height:1.04;margin:.5em 0 .34em;letter-spacing:-.02em}
.hi-copy h1 .em{color:var(--accent);background:none;padding:0}
.hi-copy .lede{font-size:1.22rem;color:#b9c6e4;max-width:44ch;margin-bottom:1.7em;line-height:1.6}
.hi-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:2em}
.hi-hats{display:flex;flex-wrap:wrap;gap:8px}
.hi-hats .cap{font-family:var(--mono);font-size:.76rem;font-weight:700;letter-spacing:.04em;color:#fff;padding:.42em .9em;border-radius:100px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.06)}
.hi-hats .cap.c1{border-color:var(--cap-blue);color:#bcd6ff}
.hi-hats .cap.c2{border-color:var(--cap-pink);color:#ffc4d6}
.hi-hats .cap.c3{border-color:var(--cap-amber);color:#ffe0a6}
.hi-hats .cap.c4{border-color:var(--cap-teal);color:#a8ede5}
.hi-hats .cap.c5{border-color:var(--cap-purple);color:#d3c6ff}
.hi-hats .cap.c6{border-color:var(--cap-green);color:#b3e8c6}
/* portrait stack */
.hi-visual{position:relative;justify-self:center}
.hi-portrait{position:relative;width:min(420px,80vw);aspect-ratio:4/5;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);border:5px solid #fff;z-index:2}
.hi-portrait img{width:100%;height:100%;object-fit:cover}
.hi-ring{position:absolute;inset:-22px;border-radius:40px;border:2px dashed rgba(255,255,255,.22);z-index:1}
.hi-badge{position:absolute;background:#fff;color:var(--ink);border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);z-index:3;display:flex;align-items:center;gap:12px}
.hi-badge .bi{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;flex:none}
.hi-badge b{font-family:var(--serif);font-size:1.32rem;font-weight:700;display:block;line-height:1}
.hi-badge span{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.hi-badge.b1{top:22px;left:-38px}
.hi-badge.b1 .bi{background:var(--cap-amber)}
.hi-badge.b2{bottom:34px;right:-42px}
.hi-badge.b2 .bi{background:var(--cap-teal)}

/* ---------- compact latest posts (numbered row) ---------- */
.latest{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.lpost{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .22s,box-shadow .22s}
.lpost:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.lp-media{position:relative;aspect-ratio:16/11;overflow:hidden}
.lp-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.lpost:hover .lp-media img{transform:scale(1.05)}
.lp-num{position:absolute;top:10px;left:10px;width:34px;height:34px;border-radius:9px;background:rgba(11,21,49,.82);color:#fff;font-family:var(--mono);font-weight:700;font-size:.82rem;display:grid;place-items:center;backdrop-filter:blur(4px)}
.lpost:nth-child(1) .lp-num{background:var(--cap-blue)}
.lpost:nth-child(2) .lp-num{background:var(--cap-pink)}
.lpost:nth-child(3) .lp-num{background:var(--cap-amber);color:var(--brand-dark)}
.lpost:nth-child(4) .lp-num{background:var(--cap-teal)}
.lp-cat{position:absolute;bottom:10px;left:10px;background:#fff;color:var(--ink);font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.36em .7em;border-radius:100px}
.lp-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.lp-body h3{font-size:1.1rem;line-height:1.22;margin-bottom:.5em}
.lpost:hover .lp-body h3{color:var(--brand)}
.lp-foot{margin-top:auto;font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);display:flex;gap:10px;align-items:center}

/* ---------- big "wear many hats" tiles (portfolio/services/products/youtube) ---------- */
.hats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.hat{position:relative;display:flex;flex-direction:column;gap:14px;padding:30px 26px 26px;border-radius:var(--r-lg);color:#fff;overflow:hidden;min-height:220px;transition:transform .22s,box-shadow .22s}
.hat:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.hat::after{content:"";position:absolute;bottom:-40px;right:-30px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.14)}
.hat .hat-ic{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.22);display:grid;place-items:center;position:relative;z-index:1}
.hat .hat-ic svg{width:28px;height:28px}
.hat h3{color:#fff;font-size:1.4rem;position:relative;z-index:1}
.hat p{font-size:.94rem;color:rgba(255,255,255,.86);position:relative;z-index:1;flex:1}
.hat .hat-go{font-family:var(--mono);font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.5em;position:relative;z-index:1}
.hat .hat-go svg{width:1em;height:1em;transition:transform .2s}
.hat:hover .hat-go svg{transform:translateX(4px)}
.hat.h1{background:linear-gradient(150deg,var(--cap-blue),#1857c9)}
.hat.h2{background:linear-gradient(150deg,var(--cap-purple),#5a3ce0)}
.hat.h3{background:linear-gradient(150deg,var(--cap-coral),#e6452a)}
.hat.h4{background:linear-gradient(150deg,var(--cap-teal),#0a8f82)}

/* ---------- portfolio company cards ---------- */
.co-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.co-card{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.co-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.co-top{height:8px;background:var(--brand)}
.co-card:nth-child(6n+1) .co-top{background:var(--cap-blue)}
.co-card:nth-child(6n+2) .co-top{background:var(--cap-pink)}
.co-card:nth-child(6n+3) .co-top{background:var(--cap-amber)}
.co-card:nth-child(6n+4) .co-top{background:var(--cap-teal)}
.co-card:nth-child(6n+5) .co-top{background:var(--cap-purple)}
.co-card:nth-child(6n) .co-top{background:var(--cap-green)}
.co-body{padding:26px 26px 24px;display:flex;flex-direction:column;flex:1}
.co-logo{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:1.5rem;color:#fff;margin-bottom:16px}
.co-logo.has-img{background:#fff!important;border:4px solid #fff!important;padding:6px}
.co-logo img{width:100%;height:100%;object-fit:contain;display:block}
.co-card:nth-child(6n+1) .co-logo{background:var(--cap-blue)}
.co-card:nth-child(6n+2) .co-logo{background:var(--cap-pink)}
.co-card:nth-child(6n+3) .co-logo{background:var(--cap-amber);color:var(--brand-dark)}
.co-card:nth-child(6n+4) .co-logo{background:var(--cap-teal)}
.co-card:nth-child(6n+5) .co-logo{background:var(--cap-purple)}
.co-card:nth-child(6n) .co-logo{background:var(--cap-green)}
.co-body h3{font-size:1.34rem;margin-bottom:.15em}
.co-sector{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.7em}
.co-body p{font-size:.95rem;color:var(--ink-soft);margin-bottom:1.2em}
.co-meta{margin-top:auto;display:flex;align-items:center;gap:16px;border-top:1px dashed var(--line);padding-top:14px;font-family:var(--mono);font-size:.76rem;color:var(--ink-soft)}
.co-meta b{color:var(--ink)}
.co-meta .go{margin-left:auto;display:inline-flex;align-items:center;gap:.4em;color:var(--brand);font-weight:700}
.co-meta .go svg{width:1em;height:1em;transition:transform .2s}
.co-card:hover .co-meta .go svg{transform:translateX(3px)}

/* ---------- numbered pillar cluster (under FAQ / topic clusters) ---------- */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;counter-reset:pil;margin:1.6em 0}
.pillar{counter-increment:pil;position:relative;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}
.pillar:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.pillar::before{content:counter(pil,decimal-leading-zero);font-family:var(--mono);font-weight:700;font-size:1.15rem;width:48px;height:48px;border-radius:13px;display:grid;place-items:center;color:#fff;flex:none}
.pillar:nth-child(6n+1)::before{background:var(--cap-blue)}
.pillar:nth-child(6n+2)::before{background:var(--cap-pink)}
.pillar:nth-child(6n+3)::before{background:var(--cap-amber);color:var(--brand-dark)}
.pillar:nth-child(6n+4)::before{background:var(--cap-teal)}
.pillar:nth-child(6n+5)::before{background:var(--cap-purple)}
.pillar:nth-child(6n)::before{background:var(--cap-green)}
.pillar h4{font-family:var(--serif);font-size:1.16rem;margin-bottom:.25em;line-height:1.2}
.pillar p{font-size:.92rem;color:var(--ink-soft);margin:0}
.pillar .pl-go{display:inline-flex;align-items:center;gap:.4em;margin-top:.6em;font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand)}
.pillar .pl-go svg{width:1em;height:1em;transition:transform .2s}
.pillar:hover .pl-go svg{transform:translateX(3px)}

/* ---------- YouTube video grid ---------- */
.yt-hero{background:var(--brand-dark);color:#e6edfb;position:relative;overflow:hidden;padding:0 0 30px}
.yt-banner{height:200px;position:relative;overflow:hidden}
.yt-banner img{width:100%;height:100%;object-fit:cover;opacity:.5}
.yt-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,var(--brand-dark))}
.yt-head{position:relative;display:flex;align-items:flex-end;gap:22px;margin-top:-54px;z-index:2}
.yt-ava{width:110px;height:110px;border-radius:50%;border:5px solid var(--brand-dark);background:var(--cap-coral);display:grid;place-items:center;color:#fff;flex:none;box-shadow:var(--shadow)}
.yt-ava svg{width:52px;height:52px}
.yt-meta{padding-bottom:8px}
.yt-meta h1{color:#fff;font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:.15em}
.yt-meta .yt-sub{font-family:var(--mono);font-size:.84rem;color:#9fb2da;display:flex;gap:14px;flex-wrap:wrap}
.yt-meta .yt-sub b{color:#fff}
.yt-subscribe{margin-left:auto;align-self:center}
.yt-subscribe .btn{background:#ff0033;color:#fff;border:none}
.yt-subscribe .btn:hover{background:#d60029}
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.vid{display:flex;flex-direction:column;transition:transform .2s}
.vid:hover{transform:translateY(-4px)}
.vid-thumb{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:var(--paper-2);box-shadow:var(--shadow-sm)}
.vid-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.vid:hover .vid-thumb img{transform:scale(1.05)}
.vid-thumb .play{position:absolute;inset:0;display:grid;place-items:center}
.vid-thumb .play span{width:60px;height:60px;border-radius:50%;background:rgba(255,0,51,.92);display:grid;place-items:center;box-shadow:var(--shadow);transition:transform .2s}
.vid:hover .vid-thumb .play span{transform:scale(1.1)}
.vid-thumb .play svg{width:26px;height:26px;color:#fff;margin-left:3px}
.vid-thumb .dur{position:absolute;bottom:8px;right:8px;background:rgba(11,21,49,.9);color:#fff;font-family:var(--mono);font-size:.72rem;padding:.2em .5em;border-radius:5px}
.vid-body{padding:14px 2px 0}
.vid-body h3{font-size:1.06rem;line-height:1.28;margin-bottom:.35em}
.vid:hover .vid-body h3{color:var(--brand)}
.vid-body .vmeta{font-family:var(--mono);font-size:.74rem;color:var(--ink-soft);display:flex;gap:10px}

/* ---------- services: cards + how it works + booking ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px 26px;display:flex;flex-direction:column;gap:14px;overflow:hidden;transition:transform .22s,box-shadow .22s}
.svc:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.svc .svc-ic{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;color:#fff}
.svc .svc-ic svg{width:28px;height:28px}
.svc:nth-child(3n+1) .svc-ic{background:var(--cap-blue)}
.svc:nth-child(3n+2) .svc-ic{background:var(--cap-purple)}
.svc:nth-child(3n) .svc-ic{background:var(--cap-teal)}
.svc h3{font-size:1.28rem}
.svc p{font-size:.94rem;color:var(--ink-soft);flex:1;margin:0}
.svc .svc-feat{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0}
.svc .svc-feat li{position:relative;padding-left:24px;font-size:.9rem;color:var(--ink)}
.svc .svc-feat li::before{content:"✓";position:absolute;left:0;color:var(--money);font-weight:700}
.svc .svc-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--line);padding-top:16px;margin-top:4px}
.svc .svc-price{font-family:var(--mono);font-size:.86rem;color:var(--ink);font-weight:700}
.svc .svc-price small{color:var(--ink-soft);font-weight:400}

/* how it works — timeline */
.how{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:how;position:relative}
.how-step{counter-increment:how;position:relative;padding-top:16px}
.how-step::before{content:counter(how);position:absolute;top:-4px;left:0;width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--serif);font-weight:700;font-size:1.15rem;display:grid;place-items:center;z-index:2}
.how-step::after{content:"";position:absolute;top:18px;left:44px;right:-20px;height:2px;background:var(--line)}
.how-step:last-child::after{display:none}
.how-step .hs-in{padding-top:58px}
.how-step h4{font-family:var(--serif);font-size:1.18rem;margin-bottom:.35em}
.how-step p{font-size:.92rem;color:var(--ink-soft);margin:0}
.how-step:nth-child(2)::before{background:var(--cap-pink)}
.how-step:nth-child(3)::before{background:var(--cap-amber);color:var(--brand-dark)}
.how-step:nth-child(4)::before{background:var(--cap-teal)}

/* booking CTA band */
.booking{background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#e6edfb;border-radius:var(--r-lg);padding:52px 56px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.booking::before{content:"";position:absolute;top:-40%;right:-8%;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 70%);opacity:.24}
.booking h2{color:#fff;margin-bottom:.3em}
.booking p{color:#b9c6e4;margin-bottom:0}
.booking .bk-cta{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.booking .bk-cta .btn{justify-content:center}
.booking .bk-note{font-family:var(--mono);font-size:.76rem;color:#9fb2da;text-align:center}

/* review cards — external affiliate (products) */
.pk-ext{position:absolute;top:12px;right:12px;background:#fff;color:var(--ink-soft);font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;padding:.3em .6em;border-radius:100px;border:1px solid var(--line);display:flex;align-items:center;gap:.35em}
.pk-ext svg{width:11px;height:11px}
.pick .pk-foot .btn{flex:none}

@media (max-width:1024px){
  .hi-grid{grid-template-columns:1fr;gap:44px}
  .hi-visual{order:-1}
  .hats-grid{grid-template-columns:repeat(2,1fr)}
  .latest{grid-template-columns:repeat(2,1fr)}
  .co-grid,.svc-grid,.videos{grid-template-columns:repeat(2,1fr)}
  .how{grid-template-columns:repeat(2,1fr);gap:36px 20px}
  .how-step:nth-child(2)::after{display:none}
  .booking{grid-template-columns:1fr;gap:26px}
}
@media (max-width:680px){
  .hats-grid,.latest,.co-grid,.svc-grid,.videos,.pillars{grid-template-columns:1fr}
  .how{grid-template-columns:1fr;gap:8px}
  .how-step::after{display:none}
  .how-step{padding-left:60px;padding-top:0;min-height:56px}
  .how-step::before{top:0}
  .how-step .hs-in{padding-top:0;padding-bottom:20px}
  .hi-badge.b1{left:0}
  .hi-badge.b2{right:0}
  .booking{padding:34px 26px}
  .yt-head{flex-direction:column;align-items:flex-start;gap:14px}
  .yt-subscribe{margin-left:0}
}

/* ============================================================
   REVISION 2 — photographic hero, bolder cards, imagery
   (later rules intentionally override the base above)
   ============================================================ */

/* ---------- HOME HERO: photographic + collage ---------- */
.hero-intro{padding:0;min-height:660px;display:flex;align-items:center}
.hero-intro .hi-bg{position:absolute;inset:0;z-index:0}
.hero-intro .hi-bg img{width:100%;height:100%;object-fit:cover;opacity:.26}
.hero-intro::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(102deg,var(--brand-dark) 30%,rgba(11,21,49,.86) 55%,rgba(11,21,49,.42) 100%)}
.hi-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center;padding:80px 0}
.hi-copy h1{font-weight:800}
/* collage */
.hi-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;height:480px;position:relative}
.hi-ph{border-radius:22px;overflow:hidden;border:5px solid #fff;box-shadow:var(--shadow-lg);position:relative}
.hi-ph img{width:100%;height:100%;object-fit:cover}
.hi-ph.tall{grid-row:span 2}
.hi-ph.tall{box-shadow:0 0 0 4px var(--cap-blue),var(--shadow-lg)}
.hi-ph.small{box-shadow:0 0 0 4px var(--cap-pink),var(--shadow-lg)}
.hi-chip{border-radius:22px;display:flex;flex-direction:column;justify-content:center;gap:.15em;padding:22px 24px;color:#fff;background:linear-gradient(150deg,var(--cap-amber),#f08c00);box-shadow:var(--shadow)}
.hi-chip b{font-family:var(--serif);font-weight:800;font-size:2.6rem;line-height:1}
.hi-chip span{font-size:.92rem;font-weight:600;line-height:1.25;opacity:.95}
.hi-collage .float-badge{position:absolute;bottom:-18px;left:-26px;z-index:3;background:#fff;color:var(--ink);border-radius:16px;padding:12px 16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:11px}
.hi-collage .float-badge .bi{width:38px;height:38px;border-radius:11px;background:var(--cap-teal);color:#fff;display:grid;place-items:center;flex:none}
.hi-collage .float-badge .bi svg{width:20px;height:20px}
.hi-collage .float-badge b{font-family:var(--serif);font-weight:800;font-size:1.2rem;display:block;line-height:1}
.hi-collage .float-badge span{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}

/* ---------- COMPANY CARDS: cover band + logo + colour button ---------- */
.co-top{height:90px;position:relative;overflow:hidden}
.co-top::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.4) 1.5px,transparent 1.5px);background-size:18px 18px;opacity:.5}
.co-card:nth-child(6n+1) .co-top{background:linear-gradient(135deg,var(--cap-blue),#1857c9)}
.co-card:nth-child(6n+2) .co-top{background:linear-gradient(135deg,var(--cap-pink),#e6357a)}
.co-card:nth-child(6n+3) .co-top{background:linear-gradient(135deg,var(--cap-amber),#f08c00)}
.co-card:nth-child(6n+4) .co-top{background:linear-gradient(135deg,var(--cap-teal),#0a8f82)}
.co-card:nth-child(6n+5) .co-top{background:linear-gradient(135deg,var(--cap-purple),#5a3ce0)}
.co-card:nth-child(6n) .co-top{background:linear-gradient(135deg,var(--cap-green),#1f9d55)}
.co-body{margin-top:-44px;padding:0 26px 24px;position:relative;z-index:2}
.co-logo{width:60px;height:60px;border-radius:16px;border:4px solid #fff;box-shadow:var(--shadow);font-size:1.5rem;margin-bottom:14px}
.co-sector{font-family:var(--sans);font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--brand)}
.co-meta .go{margin-left:auto;padding:.62em 1.2em;border-radius:100px;color:#fff!important;font-weight:700;font-family:var(--sans);letter-spacing:0;text-transform:none;transition:transform .2s,box-shadow .25s;box-shadow:var(--shadow-sm)}
.co-card:nth-child(6n+1) .co-meta .go{background:var(--cap-blue)}
.co-card:nth-child(6n+2) .co-meta .go{background:var(--cap-pink)}
.co-card:nth-child(6n+3) .co-meta .go{background:#e08600}
.co-card:nth-child(6n+4) .co-meta .go{background:var(--cap-teal)}
.co-card:nth-child(6n+5) .co-meta .go{background:var(--cap-purple)}
.co-card:nth-child(6n) .co-meta .go{background:var(--cap-green)}
/* brand-matched Visit buttons per Carden company */
.co-grid .co-card:nth-child(1) .co-meta .go{background:#e08600}
.co-grid .co-card:nth-child(2) .co-meta .go{background:#1f7fc0}
.co-grid .co-card:nth-child(3) .co-meta .go{background:#1550a8}
.co-grid .co-card:nth-child(4) .co-meta .go{background:#3d9420}
.co-grid .co-card:nth-child(5) .co-meta .go{background:#c99414}
.co-grid .co-card:nth-child(6) .co-meta .go{background:#b71c28}
.co-grid .co-card:nth-child(7) .co-meta .go{background:#2f9d33}
/* two-button card footer: About (ghost) + Visit website (solid) */
.co-actions{display:flex;gap:10px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.co-actions .co-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35em;padding:.66em 1em;border-radius:100px;font-family:var(--sans);font-weight:700;font-size:.86rem;line-height:1;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s,color .18s}
.co-actions .co-btn svg{width:.95em;height:.95em}
.co-btn.ghost{background:transparent;border:1.5px solid var(--line);color:var(--ink)}
.co-btn.ghost:hover{border-color:var(--brand);color:var(--brand);background:var(--paper,#f6f7fb)}
.co-btn.solid{background:var(--brand);color:#fff!important;border:1.5px solid transparent}
.co-btn.solid:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.co-card:has(.co-actions) .co-meta{border-top:0;padding-top:0}
/* brand-matched solid Visit buttons per Carden company */
.co-grid .co-card:nth-child(1) .co-btn.solid{background:#e08600}
.co-grid .co-card:nth-child(2) .co-btn.solid{background:#1f7fc0}
.co-grid .co-card:nth-child(3) .co-btn.solid{background:#1550a8}
.co-grid .co-card:nth-child(4) .co-btn.solid{background:#3d9420}
.co-grid .co-card:nth-child(5) .co-btn.solid{background:#c99414}
.co-grid .co-card:nth-child(6) .co-btn.solid{background:#b71c28}
.co-grid .co-card:nth-child(7) .co-btn.solid{background:#2f9d33}
.co-card:hover .co-meta .go{transform:translateY(-1px);box-shadow:var(--shadow)}
.co-card:hover .co-meta .go svg{transform:translateX(3px)}
/* full company logo in a white circle on a GREEN band; small icon stays below */
.co-card:has(.co-full) .co-top{border-bottom:1px solid var(--line)}
/* brand-matched bands per Carden company (tints of each logo's own colour) */
.co-grid .co-card:nth-child(1) .co-top{background:linear-gradient(135deg,#f6a623,#e08600)}   /* IT Group — orange */
.co-grid .co-card:nth-child(2) .co-top{background:linear-gradient(135deg,#3aa8e0,#1f7fc0)}   /* IT Services UK — sky blue */
.co-grid .co-card:nth-child(3) .co-top{background:linear-gradient(135deg,#2f6fd0,#1550a8)}   /* IT Services USA — deep blue */
.co-grid .co-card:nth-child(4) .co-top{background:linear-gradient(135deg,#5fb641,#3d9420)}   /* Telecoms — green */
.co-grid .co-card:nth-child(5) .co-top{background:linear-gradient(135deg,#eab134,#d29a1c)}   /* Digital Marketing — gold */
.co-grid .co-card:nth-child(6) .co-top{background:linear-gradient(135deg,#c62633,#a71a26)}   /* Managed Print — red */
.co-grid .co-card:nth-child(7) .co-top{background:linear-gradient(135deg,#57b93f,#2f9d33)}   /* Hotspots — green */
.co-top .co-full{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:0;padding:12px 18px;border-radius:20px;background:#fff;box-shadow:var(--shadow);display:grid;place-items:center;max-width:78%;box-sizing:border-box}
.co-top .co-full img{display:block;max-width:100%;max-height:46px;width:auto;object-fit:contain}
.co-top.nt{background:linear-gradient(135deg,#3f8ff0,#1f56d6)!important}
.co-top.c2c{background:linear-gradient(135deg,#2ba7cf,#1f5aa0)!important}
/* NextTier & C2C wordmarks have whitespace baked into the PNG, so lift their cap to read as large as Hotspots */
.co-top.nt .co-full,.co-top.c2c .co-full{padding:8px 20px}
.co-top.nt .co-full img{max-height:62px}
.co-top.c2c .co-full img{max-height:66px}

/* ---------- SERVICES: colour accents ---------- */
.svc{position:relative;overflow:hidden;padding-top:34px;box-shadow:0 4px 18px rgba(11,21,49,.08)}
.svc:hover{box-shadow:0 10px 30px rgba(11,21,49,.14)}
.svc:nth-child(3n+1){border-color:var(--cap-blue-wash)}
.svc:nth-child(3n+2){border-color:var(--cap-purple-wash)}
.svc:nth-child(3n){border-color:var(--cap-teal-wash)}
.svc::before{content:"";position:absolute;top:0;left:0;right:0;height:6px}
.svc:nth-child(3n+1)::before{background:linear-gradient(90deg,var(--cap-blue),#4a9bff)}
.svc:nth-child(3n+2)::before{background:linear-gradient(90deg,var(--cap-purple),#9a7dff)}
.svc:nth-child(3n)::before{background:linear-gradient(90deg,var(--cap-teal),#2ad4c2)}
.svc .svc-ic{width:60px;height:60px;border-radius:17px;box-shadow:var(--shadow-sm)}
.svc:nth-child(3n+1) .svc-price{color:var(--cap-blue)}
.svc:nth-child(3n+2) .svc-price{color:var(--cap-purple)}
.svc:nth-child(3n) .svc-price{color:var(--cap-teal)}
.svc .svc-foot .btn{border:none;color:#fff}
.svc:nth-child(3n+1) .svc-foot .btn{background:var(--cap-blue)}
.svc:nth-child(3n+2) .svc-foot .btn{background:var(--cap-purple)}
.svc:nth-child(3n) .svc-foot .btn{background:var(--cap-teal)}
.svc:hover{box-shadow:0 26px 54px -22px rgba(15,25,55,.4)}
.svc{box-shadow:0 14px 34px -14px rgba(15,25,55,.22)}
.svc:nth-child(3n+1){background:linear-gradient(180deg,var(--cap-blue-wash) 0%,#fff 90px)}
.svc:nth-child(3n+2){background:linear-gradient(180deg,var(--cap-purple-wash) 0%,#fff 90px)}
.svc:nth-child(3n){background:linear-gradient(180deg,var(--cap-teal-wash) 0%,#fff 90px)}
.svc:nth-child(3n+1){border-width:2px}
.svc:nth-child(3n+2){border-width:2px}
.svc:nth-child(3n){border-width:2px}

/* ---------- PRODUCTS: square image tiles (YouTube energy) ---------- */
.pick{position:relative;aspect-ratio:1;border-radius:var(--r-lg);overflow:hidden;border:none;box-shadow:var(--shadow-sm)}
.pick:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.pick .pk-media{position:absolute;inset:0;aspect-ratio:auto;background:none}
.pick .pk-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pick:hover .pk-media img{transform:scale(1.06)}
.pick::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 42%,rgba(8,15,36,.34));z-index:2}
/* content sits on a floating white plate so it never blends into the photo */
.pick .pk-body{position:absolute;left:14px;right:14px;bottom:14px;z-index:3;padding:15px 16px 14px;color:var(--ink);background:#fff;border-radius:15px;box-shadow:0 8px 26px rgba(8,15,36,.30)}
.pick .pk-cat{display:inline-block;color:#fff;padding:.32em .8em;border-radius:100px;font-family:var(--sans);font-weight:700;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.55em}
.picks .pick:nth-child(4n+1) .pk-cat{background:var(--cap-blue)}
.picks .pick:nth-child(4n+2) .pk-cat{background:var(--cap-pink)}
.picks .pick:nth-child(4n+3) .pk-cat{background:#e08600}
.picks .pick:nth-child(4n) .pk-cat{background:var(--cap-teal)}
.pick .pk-body h3{color:var(--ink);font-size:1.16rem;line-height:1.16;margin-bottom:.34em}
.pick .stars{color:var(--accent);margin-bottom:.5em}
.pick .stars svg{width:15px;height:15px}
.pick .pk-foot{margin-top:0;border-top:1px dashed var(--line);padding-top:12px}
.pick .pk-foot .price,.pick .pk-foot .read{color:var(--ink-soft);font-family:var(--sans);font-weight:700;font-size:.82rem}
.pick .pk-foot .btn{background:var(--accent);color:#fff;border:none}
.pick .pk-rank{z-index:4}
.pick .pk-ext{z-index:4;background:rgba(255,255,255,.94)}

/* ---------- SUB-PAGE HERO: imagery ---------- */
.page-head.has-media .wrap{display:grid;grid-template-columns:1.12fr .88fr;gap:48px;align-items:center}
.page-head.has-media .ph-text{max-width:none}
.page-head .ph-photo{position:relative}
.page-head .ph-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:5px solid #fff;position:relative;z-index:1}
.page-head .ph-photo::before{content:"";position:absolute;right:-16px;bottom:-16px;width:62%;height:70%;border-radius:var(--r-lg);background:var(--accent);opacity:.85;z-index:0}
.page-head .ph-photo::after{content:"";position:absolute;left:-14px;top:-14px;width:70px;height:70px;border-radius:16px;background:var(--cap-teal);z-index:0}

@media (max-width:900px){
  .hi-collage{height:360px}
  .hi-chip b{font-size:2rem}
  .page-head.has-media .wrap{grid-template-columns:1fr;gap:28px}
  .page-head .ph-photo{max-width:460px}
}
@media (max-width:680px){
  .hero-intro{min-height:auto}
  .hi-collage{grid-template-columns:1fr 1fr;height:300px}
  .hi-collage .float-badge{left:0}
  .pick{aspect-ratio:4/5}
  .page-head .ph-photo{display:none}
}

/* ---------- SUB-PAGE HERO: wide card + video slot ---------- */
.page-head.has-video .ph-inner{max-width:1120px}
.ph-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,3.6vw,54px);align-items:center}
.ph-text{max-width:none}
.ph-text p{max-width:46ch}
.ph-stats{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px;font-family:var(--mono);font-size:.82rem;color:var(--ink-soft)}
.ph-stats b{color:var(--ink)}
.ph-video{position:relative}
.pv-frame{position:relative;aspect-ratio:4/3.2;border-radius:var(--r-lg);overflow:hidden;background:radial-gradient(120% 120% at 30% 18%,#1c2c58,#0a1330);display:grid;place-items:center;align-content:center;gap:14px;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.06)}
.pv-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pv-play{width:74px;height:74px;border-radius:50%;background:rgba(255,0,51,.95);display:grid;place-items:center;box-shadow:0 14px 34px rgba(0,0,0,.4);transition:transform .18s ease}
.pv-play svg{width:30px;height:30px;margin-left:3px}
.pv-frame:hover .pv-play{transform:scale(1.06)}
.pv-hint{font-family:var(--mono);font-size:.74rem;letter-spacing:.03em;color:rgba(255,255,255,.55);text-align:center;max-width:80%}
.pv-chip{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:rgba(10,19,48,.6);border:1px solid rgba(255,255,255,.14);padding:.35em .7em;border-radius:100px;display:inline-flex;align-items:center;gap:7px}
.pv-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:#ff0033;box-shadow:0 0 0 3px rgba(255,0,51,.25)}
.pv-yt{display:inline-flex;align-items:center;gap:11px;margin-top:28px;font-weight:800;color:var(--ink);text-decoration:none;font-size:1rem}
.pv-yt .pv-ytlogo{color:#ff0033;display:grid;place-items:center}
.pv-yt .pv-ytlogo svg{width:32px;height:32px}
.pv-yt .pv-arrow{width:16px;height:16px;color:var(--ink-soft);transition:transform .18s ease}
.pv-yt:hover{color:var(--brand)}
.pv-yt:hover .pv-arrow{transform:translate(2px,-2px);color:var(--brand)}
@media (max-width:900px){.ph-grid{grid-template-columns:1fr;gap:30px}}

/* ============================================================
   REVISION 3 — home hero: compact help-led split
   ============================================================ */
.hero-help{position:relative;overflow:hidden;padding:44px 0 48px;
  background:
    radial-gradient(120% 130% at 82% 8%, rgba(124,92,255,.55), transparent 56%),
    radial-gradient(90% 120% at 8% 100%, rgba(43,127,255,.42), transparent 60%),
    linear-gradient(140deg, #17274f 0%, #221f56 48%, #3a2a78 100%);}
.hero-help::before{content:"";position:absolute;top:-160px;right:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,92,114,.20),transparent 66%);pointer-events:none}
.hh-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;position:relative;z-index:1}
.hh-copy{position:relative;z-index:2}
.hh-eyebrow{display:inline-block;font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#FFC2CC;margin-bottom:.7em}
.hh-copy h1{font-size:clamp(1.85rem,3vw,2.75rem);line-height:1.28;letter-spacing:-.015em;font-weight:800;margin:0 0 .6em;color:#fff}
.hl-accent{color:#FF8DA0}
.hh-hl{color:var(--accent)}
.hh-lede{font-size:1.1rem;color:rgba(255,255,255,.82);max-width:56ch;line-height:1.7;margin-bottom:1.5em}
/* right-side circular portrait */
.hh-photo{position:relative;z-index:1;display:flex;justify-content:center}
.hh-circle{position:relative;width:min(100%,460px);aspect-ratio:1;border-radius:50%;overflow:hidden;
  border:6px solid rgba(255,255,255,.12);box-shadow:0 30px 60px rgba(0,0,0,.32)}
.hh-circle img{width:100%;height:100%;object-fit:cover;display:block}
.hh-checks{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0 0 1.7em;padding:0}
.hh-checks li{position:relative;padding-left:34px;font-size:1rem;font-weight:700;color:#fff}
.hh-checks li::before{content:"\2713";position:absolute;left:0;top:-1px;width:22px;height:22px;border-radius:7px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(255,92,114,.4)}
.hh-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:0}
.hero-help .btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 10px 26px rgba(255,92,114,.4)}
.hero-help .btn-primary:hover{background:var(--gold-600);border-color:var(--gold-600)}
@media (max-width:900px){
  .hh-grid{grid-template-columns:1fr;gap:30px}
  .hh-photo{order:-1;justify-content:flex-start}
  .hh-circle{width:min(58%,300px)}
}
@media (max-width:680px){
  .hero-help{padding:30px 0 34px}
  .hh-copy h1{line-height:1.34}
}

/* ============================================================
   SERVICE DETAIL + REVIEW DETAIL PAGES
   ============================================================ */

/* --- sticky pricing / booking card (service detail) --- */
.buy-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.buy-card .bc-top{background:var(--brand-dark);color:#fff;padding:22px 24px 20px}
.buy-card .bc-top .bc-ic{width:46px;height:46px;border-radius:14px;background:var(--brand);display:grid;place-items:center;margin-bottom:14px}
.buy-card .bc-top .bc-ic svg{width:24px;height:24px;color:#fff}
.buy-card .bc-price{font-family:var(--serif);font-size:2.4rem;font-weight:600;line-height:1;letter-spacing:-.02em}
.buy-card .bc-price small{font-family:var(--sans);font-size:1rem;font-weight:500;color:#aebbdb;letter-spacing:0}
.buy-card .bc-sub{color:#aebbdb;font-size:.9rem;margin-top:6px}
.buy-card .bc-body{padding:22px 24px 24px}
.buy-card .bc-feat{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:20px}
.buy-card .bc-feat li{position:relative;padding-left:28px;font-size:.96rem;line-height:1.45}
.buy-card .bc-feat li svg{position:absolute;left:0;top:1px;width:19px;height:19px;color:var(--money)}
.buy-card .btn{width:100%;justify-content:center}
.buy-card .bc-note{display:block;text-align:center;font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);margin-top:12px}

/* --- who it's for grid --- */
.who{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:1.6em 0}
.who .who-cell{border:1px solid var(--line);border-radius:var(--r);padding:20px;background:var(--white)}
.who .who-cell .wc-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;margin-bottom:12px}
.who .who-cell .wc-ic svg{width:21px;height:21px;color:#fff}
.who .who-cell h4{font-size:1.06rem;margin-bottom:.35em}
.who .who-cell p{font-size:.92rem;color:var(--ink-soft);line-height:1.55;margin:0}

/* ---------- advertising banner (home, below hero) ---------- */
.ad-banner{background:linear-gradient(140deg,#17274f 0%,#221f56 48%,#3a2a78 100%);padding:26px 0;margin:20px auto 0;border-radius:var(--r-lg);max-width:1180px}
.ad-banner + .sec{padding-top:40px}
.ab-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.ab-copy{display:flex;flex-direction:column;gap:14px}
.ab-tag{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#C9D3F7;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:.35em .8em;border-radius:100px}
.ab-tag svg{width:13px;height:13px}
.ab-copy h3{color:#fff;font-family:var(--serif);font-size:1.56rem;margin:0;line-height:1.3}
.ab-copy p{color:#C9D3F7;margin:0;font-size:1.02rem}
.ab-copy p b{color:#fff}
.ab-links{display:flex;align-items:center;gap:12px;margin-top:6px;flex-wrap:wrap}
.ab-links a,.ab-cta{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;font-weight:700;color:#fff;padding:.65em 1.1em;border-radius:100px;transition:filter .15s,transform .15s}
.ab-links a:hover,.ab-cta:hover{filter:brightness(1.1);transform:translateY(-2px)}
.ab-links a svg,.ab-cta svg{width:14px;height:14px}
.ab-links a:nth-child(1){background:linear-gradient(135deg,#FF5C72,#E63E58)}
.ab-links a:nth-child(2){background:linear-gradient(135deg,#2B7FFF,#1A56DB)}
.ab-cta{background:linear-gradient(135deg,#FF5C72,#E63E58) !important;border:none}
.ab-cta{flex:none;white-space:nowrap}
@media (max-width:680px){.ab-inner{flex-direction:column;align-items:flex-start}.ab-cta{width:100%;justify-content:center}}
@media (max-width:600px){.ad-banner{margin-left:12px;margin-right:12px;max-width:calc(100% - 24px)}}

/* --- topic chips (what we cover) --- */
.topics{display:flex;flex-wrap:wrap;gap:10px;margin:1.4em 0}
.topics .tp{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;background:var(--gold-wash);border:1px solid var(--line);font-size:.9rem;font-weight:500}
.topics .tp svg{width:15px;height:15px;color:var(--brand)}

/* --- session cadence steps --- */
.cadence{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:1.6em 0;counter-reset:cad}
.cadence .cad{position:relative;border:1px solid var(--line);border-radius:var(--r);padding:22px 20px 20px;background:var(--white)}
.cadence .cad::before{counter-increment:cad;content:counter(cad,decimal-leading-zero);font-family:var(--mono);font-size:.8rem;font-weight:700;color:var(--brand)}
.cadence .cad h4{font-size:1.06rem;margin:.5em 0 .35em}
.cadence .cad p{font-size:.92rem;color:var(--ink-soft);line-height:1.55;margin:0}

/* ===== REVIEW DETAIL ===== */
.rev-hero{background:linear-gradient(180deg,var(--gold-wash),var(--surface) 62%);color:var(--ink);padding:34px 0 50px;position:relative;overflow:hidden}
.rev-hero::after{content:"";position:absolute;top:-26%;right:-12%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft),transparent 66%);opacity:.5;pointer-events:none}
.rev-hero .wrap{position:relative;z-index:2}
.rev-crumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:20px;display:flex;gap:8px;align-items:center}
.rev-crumb svg{width:13px;height:13px;flex:none}
.rev-crumb a{color:var(--brand);font-weight:600}
.rev-crumb a:hover{color:var(--brand-dark)}
.rev-lede{display:block}
.rev-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 26px 60px -24px rgba(15,23,42,.4),0 4px 14px -8px rgba(15,23,42,.18);padding:28px 32px;display:grid;grid-template-columns:1fr 0.72fr;gap:34px;align-items:center}
.rev-card-copy{display:flex;flex-direction:column}
.rev-card .rev-badge{position:static;display:inline-flex;align-self:flex-start;align-items:center;gap:.4em;background:var(--accent);color:#fff;font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:6px 12px;border-radius:100px;margin-bottom:14px}
.rev-cat{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;background:var(--brand);color:#fff;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 13px;border-radius:999px;font-weight:600;margin-bottom:14px}
.rev-cat svg{width:14px;height:14px}
.rev-card h1{font-size:clamp(1.9rem,3.2vw,2.6rem);margin:0 0 .28em;line-height:1.08}
.rev-verdict-line{font-size:1.04rem;color:var(--ink-soft);line-height:1.6;margin-bottom:22px}
.rev-scoreline{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:22px}
.rev-scoreline .rs-num{font-family:var(--serif);font-size:2rem;font-weight:600;line-height:1;letter-spacing:-.02em}
.rev-scoreline .rs-num small{font-size:.8rem;color:var(--ink-soft)}
.rev-scoreline .rs-stars{display:flex;gap:3px;margin-bottom:3px}
.rev-scoreline .rs-stars svg{width:16px;height:16px;color:var(--gold-600)}
.rev-scoreline .rs-label{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);line-height:1.4}
.rev-card .btn{align-self:flex-start}
.rev-media{display:flex;flex-direction:column;gap:16px;max-width:300px;width:100%;justify-self:end}
.rev-card .rev-video{margin:0}
.rev-shot{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line);background:var(--brand-dark)}
.rev-shot img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}
.rev-video{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);aspect-ratio:1/1;background:var(--brand-dark)}
.rev-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;transition:transform .4s,opacity .3s}
.rev-video:hover img{transform:scale(1.04);opacity:.82}
.rev-video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,19,48,.12),rgba(10,19,48,.58))}
.rev-video .rv-play{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff}
.rev-video .rv-btn{width:66px;height:66px;border-radius:50%;background:rgba(255,0,51,.95);display:grid;place-items:center;box-shadow:0 14px 34px rgba(0,0,0,.4);transition:transform .2s ease}
.rev-video:hover .rv-btn{transform:scale(1.08)}
.rev-video .rv-btn svg{width:26px;height:26px;margin-left:3px}
.rev-video .rv-label{font-family:var(--mono);font-size:.76rem;letter-spacing:.05em;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.45)}
.rev-video .rv-chip{position:absolute;top:12px;left:12px;z-index:2;font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:rgba(10,19,48,.6);border:1px solid rgba(255,255,255,.25);padding:.32em .7em;border-radius:100px;display:inline-flex;align-items:center;gap:.5em}
.rev-video .rv-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:#ff0033}

/* at-a-glance box */
.glance{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.glance h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);padding:18px 22px 0}
.glance dl{padding:14px 22px 20px}
.glance .gr{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line-soft,#eee)}
.glance .gr:last-child{border-bottom:none}
.glance dt{font-size:.9rem;color:var(--ink-soft)}
.glance dd{font-size:.94rem;font-weight:600;text-align:right}

/* rating breakdown bars */
.rbars{display:flex;flex-direction:column;gap:16px;margin:1.8em 0}
.rbars .rbar{display:flex !important;flex-direction:row !important;align-items:center;gap:16px;width:100%;margin:0}
.rbars .rbar .rb-label{flex:0 0 140px;max-width:140px;font-size:.94rem;font-weight:600;color:var(--ink)}
.rbars .rbar .rb-track{flex:1 1 auto;max-width:220px;position:relative;height:10px;border-radius:999px;background:var(--line);overflow:hidden}
.rbars .rbar .rb-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--brand))}
.rbars .rbar .rb-num{flex:0 0 40px;text-align:right;font-family:var(--mono);font-weight:700;font-size:.9rem;color:var(--brand)}
@media (max-width:520px){.rbars .rbar .rb-label{flex-basis:96px;max-width:96px;font-size:.86rem}}

/* verdict card */
.verdict{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:var(--brand-dark);color:#e6edfb;border-radius:var(--r-lg);padding:28px 30px;margin:1.8em 0}
.verdict .vd-score{text-align:center}
.verdict .vd-score .vd-n{font-family:var(--serif);font-size:3.4rem;font-weight:600;line-height:1;color:#fff}
.verdict .vd-score .vd-of{font-family:var(--mono);font-size:.72rem;color:#93a4cc;letter-spacing:.06em}
.verdict .vd-body h3{color:#fff;font-size:1.4rem;margin-bottom:.35em}
.verdict .vd-body p{margin:0;color:#c6d3ee;line-height:1.6}

@media (max-width:900px){
  .rev-lede{grid-template-columns:1fr;gap:26px}
  .rev-card{grid-template-columns:1fr;gap:26px;padding:28px 24px}
  .who,.cadence{grid-template-columns:1fr}
}
@media (max-width:680px){
  .verdict{grid-template-columns:1fr;text-align:center;gap:16px}
}

/* ============================================================
   CONTACT PAGE — form + aside
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1.55fr .9fr;gap:44px;align-items:start}
.cform{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 34px 30px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.cf-stripe{display:none}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cf-field{display:flex;flex-direction:column;margin-bottom:20px}
.cf-field label{font-family:var(--sans);font-weight:700;font-size:.86rem;color:var(--ink);margin-bottom:.5em}
.cf-help{font-family:var(--sans);font-size:.86rem;color:var(--ink-soft);margin:-.2em 0 .6em;line-height:1.4}
.cf-opt{font-weight:500;color:var(--ink-soft)}
.cf-field input,.cf-field textarea,.cf-select select{
  font-family:var(--sans);font-size:.98rem;color:var(--ink);
  padding:.82em 1em;border:1.5px solid var(--line);border-radius:var(--r);
  background:var(--paper);outline:none;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}
.cf-field textarea{resize:vertical;min-height:120px;line-height:1.55}
.cf-field input::placeholder,.cf-field textarea::placeholder{color:var(--ink-soft);opacity:.75}
.cf-field input:focus,.cf-field textarea:focus,.cf-select select:focus{
  border-color:var(--accent);background:var(--white);box-shadow:0 0 0 3px var(--gold-wash)}
.cf-field input.cf-invalid,.cf-field textarea.cf-invalid,.cf-select.cf-invalid select{
  border-color:var(--neg);box-shadow:0 0 0 3px rgba(226,61,87,.12)}
.cf-select{position:relative}
.cf-select select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:2.6em}
.cf-select select:invalid{color:var(--ink-soft)}
.cf-select svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--ink-soft);pointer-events:none}
.cf-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.cf-note{font-family:var(--mono);font-size:.74rem;color:var(--ink-soft);letter-spacing:.02em}
.cf-success{display:flex;gap:16px;align-items:center;background:var(--money-wash);border:1px solid var(--money);border-radius:var(--r-lg);padding:22px 24px;margin-top:22px}
.cf-success .cf-tick{flex:none;width:44px;height:44px;border-radius:50%;background:var(--money);display:grid;place-items:center}
.cf-success .cf-tick svg{width:24px;height:24px;color:#fff}
.cf-success h3{font-size:1.15rem;color:var(--ink);margin-bottom:.15em}
.cf-success p{margin:0;color:var(--ink-soft);font-size:.94rem}
/* aside */
.bg-contact{background:linear-gradient(180deg,var(--gold-wash),var(--paper) 42%)}
.cf-aside{display:flex;flex-direction:column;gap:16px}
.cf-card{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--shadow-sm)}
.cf-badge{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;margin-bottom:12px}
.cf-badge svg{width:20px;height:20px}
.cf-card.c-blue{background:var(--cap-blue-wash);border-color:color-mix(in srgb,var(--cap-blue) 28%,var(--line))}
.cf-card.c-blue .cf-badge{background:#fff;color:var(--cap-blue)}
.cf-card.c-amber{background:var(--cap-amber-wash);border-color:color-mix(in srgb,var(--cap-amber) 30%,var(--line))}
.cf-card.c-amber .cf-badge{background:#fff;color:#C77E00}
.cf-card.c-purple{background:var(--cap-purple-wash);border-color:color-mix(in srgb,var(--cap-purple) 28%,var(--line))}
.cf-card.c-purple .cf-badge{background:#fff;color:var(--cap-purple)}
.cf-card h4{font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--ink);margin-bottom:.4em}
.cf-card p{margin:0 0 .5em;color:var(--ink-soft);font-size:.94rem;line-height:1.55}
.cf-card p:last-child{margin-bottom:0}
.cf-link{font-family:var(--sans);font-weight:700;font-size:.94rem;color:var(--accent);text-decoration:none}
.cf-link:hover{text-decoration:underline}
.cf-card.c-blue .cf-link{color:var(--cap-blue)}
.cf-card.c-amber .cf-link{color:#C77E00}
.cf-card.c-purple .cf-link{color:var(--cap-purple)}
.cf-social{display:flex;gap:12px;padding-left:2px}
.cf-social a{width:42px;height:42px;border-radius:12px;background:var(--white);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-soft);transition:.15s}
.cf-social a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}
.cf-social svg{width:19px;height:19px}
.cf-social a.s-yt{color:#FF0000;border-color:color-mix(in srgb,#FF0000 30%,var(--line))}
.cf-social a.s-yt:hover{background:#FF0000;color:#fff;border-color:#FF0000}
.cf-social a.s-li{color:#0A66C2;border-color:color-mix(in srgb,#0A66C2 30%,var(--line))}
.cf-social a.s-li:hover{background:#0A66C2;color:#fff;border-color:#0A66C2}
.cf-social a.s-x{color:#000;border-color:color-mix(in srgb,#000 24%,var(--line))}
.cf-social a.s-x:hover{background:#000;color:#fff;border-color:#000}
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr;gap:28px}
}
@media (max-width:560px){
  .cf-row{grid-template-columns:1fr;gap:0}
  .cform{padding:24px 22px}
}

/* ============================================================
   SITE SEARCH — overlay
   ============================================================ */
.search-overlay{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;
  padding:11vh 20px 20px;background:rgba(11,21,49,.55);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:opacity .2s}
.search-overlay.open{opacity:1;visibility:visible}
.search-panel{width:100%;max-width:640px;height:max-content;background:var(--white);border-radius:var(--r-lg);
  box-shadow:0 30px 80px rgba(11,21,49,.4);overflow:hidden;transform:translateY(-12px);transition:transform .22s}
.search-overlay.open .search-panel{transform:translateY(0)}
.search-in{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.search-in svg{width:22px;height:22px;color:var(--ink-soft);flex:none}
.search-in input{flex:1;border:none;outline:none;background:none;font-family:var(--sans);font-size:1.15rem;color:var(--ink);min-width:0}
.search-in input::placeholder{color:var(--ink-soft)}
.search-in kbd{font-family:var(--mono);font-size:.68rem;color:var(--ink-soft);border:1px solid var(--line);border-radius:6px;padding:3px 7px;background:var(--paper);flex:none}
.search-results{max-height:52vh;overflow-y:auto;padding:8px}
.sr-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r);text-decoration:none;color:inherit;cursor:pointer}
.sr-item:hover,.sr-item.active{background:var(--paper)}
.sr-ic{flex:none;width:38px;height:38px;border-radius:10px;background:var(--teal-wash);display:grid;place-items:center;color:var(--brand)}
.sr-ic svg{width:18px;height:18px}
.sr-text{min-width:0}
.sr-title{display:block;font-family:var(--sans);font-weight:700;font-size:.98rem;color:var(--ink);line-height:1.2}
.sr-title mark{background:var(--gold-wash);color:var(--gold-600);padding:0 1px;border-radius:3px}
.sr-desc{display:block;font-size:.85rem;color:var(--ink-soft);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-kind{margin-left:auto;flex:none;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);border-radius:100px;padding:3px 10px}
.sr-empty{padding:34px 20px;text-align:center;color:var(--ink-soft);font-size:.95rem}
.sr-empty b{color:var(--ink)}
.search-foot{display:flex;gap:18px;padding:12px 20px;border-top:1px solid var(--line);background:var(--paper);
  font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);flex-wrap:wrap}
.search-foot span{display:inline-flex;align-items:center;gap:6px}
.search-foot kbd{font-family:var(--mono);border:1px solid var(--line);border-radius:5px;padding:2px 6px;background:var(--white)}
@media (max-width:560px){
  .search-overlay{padding:6vh 12px 12px}
  .sr-desc,.sr-kind{display:none}
}

/* ============================================================
   COMMUNITIES — hub banners + tier pricing
   ============================================================ */
.comm-intro{max-width:60ch;color:var(--ink-soft);font-size:1.08rem;line-height:1.7;margin-top:14px}
.kajabi-note{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--white);border:1px solid var(--line);border-radius:100px;padding:6px 14px;margin-top:18px}
.kajabi-note b{color:var(--brand);font-weight:700}

/* Hub: big community banners */
.comm-grid{display:grid;gap:30px;margin-top:8px}
.comm-banner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.comm-banner:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.cb-media{position:relative;min-height:290px;overflow:hidden}
.cb-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.cb-media::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(11,21,49,.15))}
.cb-badge{position:absolute;top:18px;left:18px;z-index:2;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#fff;background:rgba(11,21,49,.72);backdrop-filter:blur(4px);border-radius:100px;padding:6px 13px}
.cb-body{padding:38px 40px;display:flex;flex-direction:column;align-items:flex-start}
.cb-logo{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;color:#fff;font-family:var(--mono);font-weight:700;font-size:1.05rem;letter-spacing:-.02em;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.cb-logo.nt{background:linear-gradient(150deg,var(--teal-600),var(--teal-800,#16224a))}
.cb-logo.pip{background:linear-gradient(150deg,#1F8A5B,#0E5E3C)}
.cb-logo.has-img{background:#fff;border:1px solid var(--line);padding:7px;box-shadow:0 2px 8px rgba(20,30,55,.08)}
.cb-logo.has-img img{width:100%;height:100%;object-fit:contain;display:block}
.cb-media.logo-panel{display:grid;place-items:center;padding:40px;background:#fff;border-right:1px solid var(--line)}
.cb-media.logo-panel::after{display:none}
.cb-media.logo-panel img{position:static;width:auto;max-width:86%;height:auto;max-height:150px;object-fit:contain}
.cb-body h3{font-size:1.62rem;letter-spacing:-.02em;color:var(--ink);margin-bottom:10px;line-height:1.1}
.cb-body p{color:var(--ink-soft);line-height:1.65;margin-bottom:18px}
.cb-tiers{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.cb-tiers span{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);background:var(--paper-2);border-radius:100px;padding:5px 12px}
.cb-cta{margin-top:auto}
.cb-tiers span:nth-child(1){background:#E7EDF8;color:#2A4A8F}
.cb-tiers span:nth-child(2){background:#DDF0E8;color:#1F7A50}
.cb-tiers span:nth-child(3){background:#FFEFD6;color:#9A6400}


/* Detail page hero avatar tints */
.yt-ava.nt{background:linear-gradient(150deg,var(--teal-500),var(--teal-800,#16224a))}
.yt-ava.pip{background:linear-gradient(150deg,#28A56E,#0E5E3C)}
.yt-ava b{font-family:var(--mono);font-weight:700;font-size:1.5rem;color:#fff}
.yt-ava.has-img{background:#fff;padding:12px}
.yt-ava.has-img img{width:100%;height:100%;object-fit:contain;display:block}

/* Mission / who-it-helps split */
.comm-split{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:14px}
.comm-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 34px}
.comm-card .kicker{margin-bottom:10px}
.comm-card h2{font-size:1.5rem;letter-spacing:-.02em;color:var(--ink);margin-bottom:12px}
.comm-card p{color:var(--ink-soft);line-height:1.72;margin-bottom:14px}
.who-list{list-style:none;display:flex;flex-direction:column;gap:12px}
.who-list li{display:flex;gap:12px;align-items:flex-start;color:var(--ink);line-height:1.55}
.who-list li svg{width:20px;height:20px;color:var(--brand);flex:none;margin-top:2px}

/* Tier pricing */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.tier{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:var(--r-lg);padding:32px 28px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 10px rgba(11,21,49,.06)}
.tier:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.tier.featured{border-color:var(--brand);box-shadow:0 14px 40px rgba(11,21,49,.12)}
.tier-flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:#fff;background:var(--brand);border-radius:100px;padding:5px 14px;white-space:nowrap}
.tier-name{font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--brand);margin-bottom:6px}
.tier-tag{font-size:.92rem;color:var(--ink-soft);line-height:1.5;margin-bottom:20px;min-height:2.7em}
.tier-price{display:flex;align-items:baseline;gap:4px;margin-bottom:4px}
.tier-price b{font-size:2.4rem;letter-spacing:-.03em;color:var(--ink);line-height:1}
.tier-price small{font-family:var(--mono);font-size:.8rem;color:var(--ink-soft)}
.tier-bill{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);margin-bottom:22px}
.tier-feat{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:26px}
.tier-feat li{display:flex;gap:10px;align-items:flex-start;font-size:.94rem;color:var(--ink);line-height:1.5}
.tier-feat li svg{width:17px;height:17px;color:var(--brand);flex:none;margin-top:3px}
.tier .btn{margin-top:auto;width:100%;justify-content:center}
@media (max-width:900px){
  .comm-banner{grid-template-columns:1fr}
  .cb-media{min-height:200px}
  .comm-split{grid-template-columns:1fr}
  .tiers{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}
}


/* ---------- Blog sidebar (About) — livelier ---------- */
.blog-side{background:linear-gradient(180deg,#fff,var(--surface));border-radius:20px;box-shadow:0 22px 50px -28px rgba(11,21,49,.4);overflow:hidden}
.blog-side::before{content:"";display:block;height:5px;margin:-20px -20px 18px;background:linear-gradient(90deg,var(--cap-blue),var(--accent),var(--cap-amber),var(--cap-teal))}
.bs-head{color:var(--brand)}
.bs-search:focus-within{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px var(--teal-wash)}
.bs-cat{--cc:var(--brand);border-top:none;position:relative}
.bs-cat + .bs-cat{border-top:1px solid var(--line)}
.bs-cat:last-of-type{border-bottom:none}
.bs-cat:nth-of-type(1){--cc:var(--cap-blue)}
.bs-cat:nth-of-type(2){--cc:var(--accent)}
.bs-cat:nth-of-type(3){--cc:var(--cap-amber)}
.bs-cat:nth-of-type(4){--cc:var(--cap-teal)}
.bs-cat-btn{padding:13px 12px;border-radius:12px;transition:background .18s,color .18s}
.bs-cat-btn .bc-name{display:flex;align-items:center;gap:11px}
.bs-cat-btn .bc-name::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--cc);flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--cc) 20%,transparent)}
.bs-cat-btn .bc-count{background:color-mix(in srgb,var(--cc) 14%,transparent);color:var(--cc);padding:.16em .62em;border-radius:100px;font-weight:700;margin-left:9px}
.bs-cat-btn .chev{color:var(--cc)}
.bs-cat:hover .bs-cat-btn{background:color-mix(in srgb,var(--cc) 8%,transparent)}
.bs-cat.open{background:color-mix(in srgb,var(--cc) 7%,transparent);border-radius:12px}
.bs-cat.open .bs-cat-btn{color:var(--cc)}
.bs-cat-body a{border-left-color:color-mix(in srgb,var(--cc) 35%,transparent);transition:color .15s,border-color .15s,transform .15s}
.bs-cat-body a:hover{color:var(--cc);border-left-color:var(--cc);transform:translateX(3px)}
.bs-all{display:inline-flex;align-items:center;gap:7px;margin-top:18px;padding:11px 18px;border-radius:100px;background:var(--brand);color:#fff;transition:background .18s,transform .18s}
.bs-all:hover{background:var(--brand-dark);color:#fff;text-decoration:none;transform:translateY(-1px)}

/* blog sidebar: keep name+count left, chevron right */
.bs-cat-btn{justify-content:flex-start;gap:0}
.bs-cat-btn .bc-name{white-space:nowrap;flex:none}
.bs-cat-btn .chev{margin-left:auto}

/* blog sidebar: name + count inline on one row */
.bs-cat-btn>span{display:flex;align-items:center;gap:10px;min-width:0}
.bs-cat-btn .bc-name{display:inline-flex;align-items:center;gap:11px;white-space:nowrap}

/* ---- Company page rich template ---- */
.co-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
@media(max-width:900px){.co-layout{grid-template-columns:1fr;gap:36px}}
.co-main>*+*{margin-top:34px}
.co-block{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 32px}
.co-block>h3{font-family:var(--serif);font-size:1.4rem;margin:0 0 18px;color:var(--ink)}
.co-block .bk-kick{display:block;font:600 .72rem/1 var(--mono,'Space Mono',monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin-bottom:12px}
/* mission */
.co-mission{background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#fff;border:0}
.co-mission .bk-kick{color:rgba(255,255,255,.7)}
.co-mission h3{color:#fff}
.co-mission p{font-size:1.18rem;line-height:1.55;font-family:var(--serif);margin:.2em 0 0}
/* fact strip */
.co-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:560px){.co-facts{grid-template-columns:repeat(2,1fr)}}
.co-fact{background:var(--paper,#f6f7fb);border:1px solid var(--line);border-radius:var(--r-md,12px);padding:16px 18px;text-align:center}
.co-fact b{display:block;font-family:var(--serif);font-size:1.7rem;color:var(--brand-dark);line-height:1}
.co-fact span{display:block;margin-top:6px;font-size:.78rem;color:var(--ink-soft);letter-spacing:.02em}
/* growth chart */
.chart{display:flex;align-items:flex-end;gap:14px;height:200px;margin-top:22px;padding-top:10px;border-bottom:2px solid var(--line)}
.chart .bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:8px}
.chart .bar i{width:100%;max-width:46px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,var(--brand),var(--brand-dark));display:block;position:relative}
.chart .bar i::after{content:attr(data-v);position:absolute;top:-22px;left:50%;transform:translateX(-50%);font:700 .72rem var(--mono,monospace);color:var(--brand-dark);white-space:nowrap}
.chart .bar span{font:600 .74rem var(--mono,monospace);color:var(--ink-soft)}
.chart-legend{margin-top:12px;font-size:.82rem;color:var(--ink-soft)}
.chart-legend b{color:var(--good,#16a34a)}
/* google reviews */
.gr-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.gr-score{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--ink)}
.stars{color:#f5a623;letter-spacing:2px;font-size:1.1rem}
.gr-meta{font-size:.82rem;color:var(--ink-soft)}
.gr-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.gr-grid{grid-template-columns:1fr}}
.gr-card{border:1px solid var(--line);border-radius:var(--r-md,12px);padding:18px}
.gr-card .stars{font-size:.95rem;margin-bottom:8px}
.gr-card p{margin:0 0 12px;font-size:.92rem;line-height:1.5;color:var(--ink)}
.gr-who{display:flex;align-items:center;gap:10px}
.gr-av{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font:700 .8rem var(--sans);flex:none}
.gr-who b{font-size:.82rem;display:block}
.gr-who span{font-size:.72rem;color:var(--ink-soft)}
/* case studies */
.cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
@media(max-width:560px){.cs-grid{grid-template-columns:1fr}}
.cs-card{display:block;border:1px solid var(--line);border-radius:var(--r-md,12px);overflow:hidden;text-decoration:none;color:inherit;background:#fff;transition:transform .18s,box-shadow .18s}
.cs-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(20,31,58,.12)}
.cs-card .cs-img{aspect-ratio:16/9;overflow:hidden}
.cs-card .cs-img img{width:100%;height:100%;object-fit:cover}
.cs-body{padding:16px 18px}
.cs-body .cs-tag{font:600 .68rem var(--mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}
.cs-body h4{margin:6px 0 6px;font-size:1rem;line-height:1.3}
.cs-body p{margin:0;font-size:.85rem;color:var(--ink-soft);line-height:1.45}
.cs-src{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font-size:.76rem;color:var(--ink-soft)}
.cs-feed-note{display:flex;gap:10px;align-items:flex-start;background:var(--paper,#f6f7fb);border:1px dashed var(--line);border-radius:10px;padding:12px 14px;margin-top:18px;font-size:.8rem;color:var(--ink-soft);line-height:1.5}
.cs-feed-note svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--brand)}
/* sidebar */
.co-side>*+*{margin-top:24px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px}
.side-card h4{font-family:var(--serif);font-size:1.05rem;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.side-visit{background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#fff;border:0;text-align:center}
.side-visit .sv-logo{width:66px;height:66px;border-radius:16px;background:#fff;margin:0 auto 14px;display:grid;place-items:center;font-family:var(--serif);font-weight:700;color:var(--brand-dark);font-size:1.3rem}
.side-visit h4{border:0;color:#fff;margin-bottom:4px;padding:0}
.side-visit p{font-size:.85rem;color:rgba(255,255,255,.8);margin:0 0 16px;line-height:1.5}
.side-visit .btn{width:100%;justify-content:center}
.cat-list{list-style:none;margin:0;padding:0}
.cat-list li+li{margin-top:2px}
.cat-list a{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:9px;text-decoration:none;color:var(--ink);font-size:.9rem;transition:background .15s}
.cat-list a:hover{background:var(--paper,#f6f7fb)}
.cat-list .n{font:600 .74rem var(--mono,monospace);color:var(--ink-soft);background:var(--paper,#f1f3f9);border-radius:20px;padding:2px 9px}
.rp{display:flex;gap:12px;text-decoration:none;color:inherit;padding:8px 0}
.rp+.rp{border-top:1px solid var(--line)}
.rp img{width:60px;height:60px;border-radius:10px;object-fit:cover;flex:none}
.rp b{display:block;font-size:.86rem;line-height:1.35;color:var(--ink)}
.rp span{font-size:.72rem;color:var(--ink-soft)}

/* ---- Company page: liveliness pass ---- */
.co-block{position:relative;overflow:hidden}
.co-block::before{content:'';position:absolute;top:0;left:0;right:0;height:4px}
.co-block--chart::before{background:linear-gradient(90deg,var(--cap-teal),var(--cap-blue))}
.co-block--services::before{background:linear-gradient(90deg,var(--cap-coral,var(--accent)),var(--accent))}
.co-block--reviews::before{background:linear-gradient(90deg,var(--cap-amber,#f5a623),var(--accent))}
.co-block--proof::before{background:linear-gradient(90deg,var(--cap-purple,#9b5de5),var(--cap-blue))}
.co-mission::before{display:none}
.co-block--brand::before{background:linear-gradient(90deg,var(--cap-blue),var(--cap-teal))}
/* branding assets block */
.brand-assets{display:flex;flex-wrap:wrap;gap:20px;margin-top:6px}
.brand-asset{flex:1 1 180px;background:var(--paper,#f7f8fb);border:1px solid var(--line);border-radius:14px;padding:22px 20px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.brand-asset img{max-width:100%}
.ba-icon{width:88px;height:88px;object-fit:contain}
.ba-logo-box{width:100%;height:88px;display:flex;align-items:center;justify-content:center}
.ba-logo{max-width:100%;max-height:88px;object-fit:contain}
.brand-asset--logo{flex:1 1 100%}
.brand-asset--logo .ba-logo-box{height:140px}
.brand-asset--logo .ba-logo{max-height:140px}
.ba-fav-mock{width:180px;max-width:100%;background:#e8eaf0;border-radius:10px 10px 0 0;padding:8px 8px 0;box-shadow:0 1px 0 rgba(0,0,0,.06) inset}
.ba-fav-tab{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:8px 8px 0 0;padding:6px 14px;font:500 .74rem/1 var(--sans);color:var(--ink-soft);max-width:100%}
.ba-fav-tab img{width:16px;height:16px;flex:none}
.ba-fav-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand-asset span.ba-label{font:600 .78rem/1 var(--mono,'Space Mono',monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.brand-guide{margin-top:20px;display:flex;align-items:center;gap:16px;border:1.5px dashed var(--line);border-radius:14px;padding:18px 22px;background:#fbfbfd}
.brand-guide svg{flex:none;width:34px;height:34px;color:var(--brand);opacity:.7}
.brand-guide b{display:block;font-size:.98rem;color:var(--ink)}
.brand-guide span{display:block;font-size:.85rem;color:var(--ink-soft);margin-top:2px}
.brand-guide .bg-pill{margin-left:auto;flex:none;font:600 .68rem/1 var(--mono,'Space Mono',monospace);letter-spacing:.08em;text-transform:uppercase;background:var(--surface,#eef0f6);color:var(--ink-soft);padding:6px 12px;border-radius:999px}
/* branding hero/sidebar images */
.topic-hero .th-ic.has-img{width:64px;height:64px;background:#fff;padding:10px;display:grid;place-items:center}
.topic-hero .th-ic.has-img img{width:100%;height:100%;object-fit:contain;display:block}
.side-visit .sv-logo.has-img{padding:10px}
.side-visit .sv-logo.has-img img{width:100%;height:100%;object-fit:contain;display:block}
/* brand guideline placeholders (colour / type / doc) */
.brand-placeholders{margin-top:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bp-card{border:1.5px dashed var(--line);border-radius:14px;padding:18px 18px;background:#fbfbfd;display:flex;flex-direction:column;gap:10px}
.bp-card b{font-size:.82rem;color:var(--ink)}
.bp-card .bp-hint{font-size:.78rem;color:var(--ink-soft);line-height:1.4}
.bp-swatches{display:flex;gap:8px}
.bp-swatch{width:28px;height:28px;border-radius:50%;border:1.5px dashed var(--line);background:#fff}
.bp-type-row{display:flex;flex-direction:column;gap:6px}
.bp-type-line{height:10px;border-radius:5px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px);width:70%}
.bp-type-line.short{width:45%}
.bp-doc{display:flex;align-items:center;gap:10px}
.bp-doc svg{width:24px;height:24px;color:var(--ink-soft);flex:none}
/* chart bars: brighter, on-brand gradient */
.chart .bar i{background:linear-gradient(180deg,var(--accent),#c23f52)}
.chart .bar i::after{color:var(--ink)}
/* services checklist */
.svc-check{list-style:none;margin:0;padding:0;display:grid;gap:16px 24px}
@media(min-width:640px){.svc-check{grid-template-columns:1fr 1fr}}
.svc-check li{display:flex;align-items:center;gap:12px;font-size:.95rem;line-height:1.5;color:var(--ink);padding:4px 0}
.svc-check li::before{content:'';flex:none;width:22px;height:22px;border-radius:50%;background:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:13px}

/* Subscribe button — YouTube red, glossy shine sweep */
.btn-subscribe{background:#FF0033;color:#fff;border:none;display:inline-flex;align-items:center;gap:10px;font-weight:700;padding:.9em 1.7em;border-radius:var(--r);position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}
.btn-subscribe:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,0,51,.35);color:#fff}
.btn-subscribe::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.4),transparent);animation:subShine 2.6s ease-in-out infinite}
.sub-ic{display:grid;place-items:center;width:20px;height:20px;flex:none;position:relative}
.sub-ic svg{width:16px;height:16px}
@keyframes subShine{0%{left:-60%}55%{left:130%}100%{left:130%}}
@media (prefers-reduced-motion:reduce){.btn-subscribe::after{animation:none;display:none}}

/* Watch now — shine sweep on brand-navy button */
.btn-watch{position:relative;overflow:hidden}
.btn-watch::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.35),transparent);animation:subShine 2.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.btn-watch::after{animation:none;display:none}}



/* ---------- podcast page (merged in) ---------- */
.platform-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.platform-btn{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 14px;text-align:center;font-weight:700;font-size:.92rem;color:var(--ink);transition:transform .15s,box-shadow .15s,border-color .15s}
.platform-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--brand)}
.pf-badge{width:52px;height:52px;border-radius:50%;overflow:hidden;color:#fff;display:grid;place-items:center}
.pf-badge svg{width:26px;height:26px}
.btn-tune{background:linear-gradient(135deg,#7C3AED,#DB2777);color:#fff;border:none;display:inline-flex;align-items:center;gap:10px;font-weight:700;padding:.9em 1.6em;border-radius:var(--r);transition:transform .15s,box-shadow .15s}
.btn-tune:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(124,58,237,.35)}
.tune-ic{display:inline-flex;align-items:flex-end;gap:2px}
.tune-ic svg{width:20px;height:20px}
.tune-ic svg rect{animation:tuneBounce 1.1s ease-in-out infinite}
.tune-ic svg rect:nth-child(1){animation-delay:0s}
.tune-ic svg rect:nth-child(2){animation-delay:.15s}
.tune-ic svg rect:nth-child(3){animation-delay:.3s}
.tune-ic svg rect:nth-child(4){animation-delay:.45s}
@keyframes tuneBounce{0%,100%{transform:scaleY(.55);transform-origin:center}50%{transform:scaleY(1);transform-origin:center}}
@media (prefers-reduced-motion:reduce){.tune-ic svg rect{animation:none}}
.platform-btn.spotify .pf-badge{background:#1DB954}
.platform-btn.apple .pf-badge{background:linear-gradient(135deg,#F452FF,#832BC1)}
.platform-btn.youtube .pf-badge{background:#FF0033}
.platform-btn.amazon .pf-badge{background:#00A8E1}
.platform-btn.rss .pf-badge{background:#EE802F}
@media (max-width:900px){.platform-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.platform-grid{grid-template-columns:repeat(2,1fr)}}
.topic-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.tf-chip{padding:9px 18px;border-radius:999px;background:var(--white);border:1px solid var(--line);font-size:.88rem;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.tf-chip:hover{border-color:var(--brand)}
.tf-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}
.ep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ep-card{display:block;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .18s,box-shadow .18s}
.ep-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.ep-thumb{position:relative;aspect-ratio:16/9;background:var(--paper-2);overflow:hidden}
.ep-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ep-thumb .play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(11,21,49,.18);opacity:0;transition:opacity .15s}
.ep-card:hover .ep-thumb .play{opacity:1}
.ep-thumb .play span{width:52px;height:52px;border-radius:50%;background:rgba(255,0,51,.92);display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.35)}
.ep-thumb .play svg{width:22px;height:22px;color:#fff}
.ep-num{position:absolute;top:10px;left:10px;background:rgba(11,21,49,.85);color:#fff;font-family:var(--mono);font-size:.72rem;font-weight:700;padding:.3em .65em;border-radius:6px}
.ep-thumb .dur{position:absolute;bottom:10px;right:10px;background:rgba(11,21,49,.85);color:#fff;font-family:var(--mono);font-size:.72rem;padding:.3em .6em;border-radius:6px}
.ep-body{padding:18px 20px 20px}
.ep-body h3{font-size:1.05rem;line-height:1.4;margin-bottom:10px;color:var(--ink)}
.ep-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ep-chip{font-size:.74rem;font-weight:600;padding:.28em .7em;border-radius:999px;background:var(--gold-wash);color:var(--brand)}
.ep-guest{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--ink-soft)}
.ep-guest img,.ep-guest-fallback{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none}
.ep-guest-fallback{background:var(--brand);color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:700}
.ep-empty{color:var(--ink-soft);font-family:var(--mono);font-size:.85rem}
@media (max-width:900px){.ep-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.ep-grid{grid-template-columns:1fr}}
.guest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.guest-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 16px;transition:transform .18s,box-shadow .18s}
.guest-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.guest-photo{width:84px;height:84px;border-radius:50%;overflow:hidden;background:var(--gold-wash)}
.guest-photo img{width:100%;height:100%;object-fit:cover;display:block}
.guest-fallback{width:100%;height:100%;display:grid;place-items:center;color:var(--brand);font-weight:700;font-size:1.6rem}
.guest-card h4{font-size:1rem;color:var(--ink)}
.guest-sub{font-size:.82rem;color:var(--ink-soft)}
@media (max-width:900px){.guest-grid{grid-template-columns:repeat(2,1fr)}}
.ep-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--ink-soft);background:var(--paper-2)}
.ep-noimg svg{width:34px;height:34px}
