/* v1.2.5 IMPORTANT: PREVIEW ONLY. ALL WIDTH/MAX-WIDTH/CONTAINER RULES IN THIS FILE ARE FOR LOCAL PREVIEW AND MUST NEVER BE IMPORTED INTO WORDPRESS. THE ACTIVE THEME OWNS REAL SITE WIDTH. */
/* Preview/reference stylesheet only. Future WordPress importer must scope editorial classes. */
#bp-source-root{--ink:#102433;--navy:#0b2538;--navy2:#143a50;--warm:#c99338;--warm2:#ead4ad;--cream:#f7f3ec;--paper:#fff;--soft:#edf1f2;--line:#d8e0e3;--muted:#61727f;--max:1220px;--shadow:0 18px 46px rgba(16,36,51,.10)}
#bp-source-root, #bp-source-root *{box-sizing:border-box}#bp-source-root{scroll-behavior:smooth}#bp-source-root{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.68;-webkit-font-smoothing:antialiased}#bp-source-root img{max-width:100%;display:block}#bp-source-root a{color:inherit;text-decoration:none}#bp-source-root button{font:inherit}#bp-source-root .container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
#bp-source-root .site-top{background:var(--navy);color:#e9f0f3;font-size:.78rem;letter-spacing:.02em}#bp-source-root .site-top .container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}#bp-source-root .top-note{opacity:.92}#bp-source-root .top-trust{display:flex;gap:24px;color:#cbd8de}
#bp-source-root .site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}#bp-source-root .header-row{height:80px;display:flex;align-items:center;gap:36px}#bp-source-root .brand{display:flex;align-items:center;flex:0 0 auto}#bp-source-root .brand img{width:250px;height:auto}#bp-source-root .main-nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:.86rem;font-weight:720;letter-spacing:.02em}#bp-source-root .main-nav>a, #bp-source-root .nav-group>button{padding:28px 0 26px;border:0;background:none;color:var(--ink);cursor:pointer}#bp-source-root .main-nav>a:hover, #bp-source-root .nav-group>button:hover{color:var(--warm)}#bp-source-root .nav-group{position:relative}#bp-source-root .nav-group>button:after{content:"⌄";margin-left:6px}#bp-source-root .nav-menu{display:none;position:absolute;top:68px;right:0;width:250px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:10px}#bp-source-root .nav-group:hover .nav-menu, #bp-source-root .nav-group:focus-within .nav-menu{display:block}#bp-source-root .nav-menu a{display:block;padding:10px 12px;border-bottom:1px solid #edf0f1}#bp-source-root .nav-menu a:last-child{border:0}#bp-source-root .nav-menu a:hover{background:var(--cream)}#bp-source-root .menu-toggle{display:none;margin-left:auto;background:var(--navy);color:#fff;border:0;padding:10px 14px;border-radius:3px;font-weight:700}
#bp-source-root .home-hero{background:var(--cream);border-bottom:1px solid var(--line)}#bp-source-root .home-hero-grid{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(340px,.62fr);min-height:590px}#bp-source-root .hero-photo{position:relative;min-height:590px;overflow:hidden}#bp-source-root .hero-photo img{width:100%;height:100%;object-fit:cover}#bp-source-root .hero-copy{padding:68px 52px;display:flex;flex-direction:column;justify-content:center}#bp-source-root .eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#826020;margin:0 0 20px}#bp-source-root .home-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.55rem,4.4vw,4.75rem);line-height:1.01;letter-spacing:-.045em;margin:0 0 22px;max-width:11ch}#bp-source-root .hero-copy>p:not(.eyebrow){font-size:1.08rem;color:#465d69;max-width:46ch}#bp-source-root .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}#bp-source-root .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;background:var(--navy);color:#fff;font-weight:800;font-size:.88rem;border:1px solid var(--navy);border-radius:2px}#bp-source-root .btn.secondary{background:transparent;color:var(--navy)}#bp-source-root .btn:hover{background:var(--navy2);color:#fff}
#bp-source-root .proof-band{border-bottom:1px solid var(--line)}#bp-source-root .proof-grid{display:grid;grid-template-columns:repeat(3,1fr)}#bp-source-root .proof{padding:24px 30px;border-right:1px solid var(--line)}#bp-source-root .proof:last-child{border:0}#bp-source-root .proof b{display:block;font-family:Georgia,serif;font-size:1.2rem;margin-bottom:2px}#bp-source-root .proof span{font-size:.86rem;color:var(--muted)}
#bp-source-root .section{padding:82px 0}#bp-source-root .section.soft{background:#f4f6f6}#bp-source-root .section-head{display:grid;grid-template-columns:.72fr 1.28fr;gap:50px;align-items:end;margin-bottom:40px}#bp-source-root .section-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.08;letter-spacing:-.035em;margin:0}#bp-source-root .section-head p{margin:0;color:var(--muted);max-width:64ch}#bp-source-root .feature-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}#bp-source-root .feature-card{background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease}#bp-source-root .feature-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(16,36,51,.08)}#bp-source-root .feature-card img{aspect-ratio:4/3;object-fit:cover}#bp-source-root .feature-card .card-copy{padding:22px}#bp-source-root .card-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#96702d}#bp-source-root .feature-card h3{font-family:Georgia,serif;font-size:1.35rem;line-height:1.16;margin:7px 0 8px}#bp-source-root .feature-card p{font-size:.9rem;color:var(--muted);margin:0}#bp-source-root .link-arrow{display:inline-block;margin-top:16px;color:var(--navy);font-weight:800;font-size:.82rem}
#bp-source-root .decision-band{background:var(--navy);color:#fff;padding:68px 0}#bp-source-root .decision-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}#bp-source-root .decision-head h2{font-family:Georgia,serif;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.05;max-width:12ch;margin:0}#bp-source-root .decision-head p{max-width:58ch;color:#bed0d9;margin:0}#bp-source-root .decision-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #38566a}#bp-source-root .step{padding:28px 32px 0 0;margin-right:30px;border-right:1px solid #38566a}#bp-source-root .step:last-child{border:0}#bp-source-root .step-number{font-size:.76rem;color:var(--warm2);letter-spacing:.15em;font-weight:800}#bp-source-root .step h3{font-family:Georgia,serif;font-size:1.55rem;margin:6px 0 8px}#bp-source-root .step p{color:#c7d5dc;font-size:.93rem}
#bp-source-root .editorial-products{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}#bp-source-root .editorial-products article{border:1px solid var(--line);padding:26px;background:#fff}#bp-source-root .editorial-products h3{font-family:Georgia,serif;margin:0 0 10px;font-size:1.35rem}#bp-source-root .editorial-products p{color:var(--muted);font-size:.92rem}#bp-source-root .brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line)}#bp-source-root .brand-card{padding:30px;border-right:1px solid var(--line);background:#fff}#bp-source-root .brand-card:last-child{border:0}#bp-source-root .brand-card h3{font-family:Georgia,serif;font-size:1.45rem;margin:0 0 8px}#bp-source-root .brand-card p{font-size:.9rem;color:var(--muted)}
#bp-source-root .category-main{padding:64px 0 92px}#bp-source-root .category-top{max-width:850px;margin-bottom:38px}#bp-source-root .category-kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;color:#8c6826;font-weight:850;margin-bottom:16px}#bp-source-root .category-top h1, #bp-source-root .post-header h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.01;letter-spacing:-.045em;margin:0 0 26px}#bp-source-root .category-intro{font-size:1.08rem;color:#3c5562}#bp-source-root .category-intro p:first-child{font-size:1.2rem;color:var(--ink)}#bp-source-root .commerce-insertion-point{min-height:0;padding:0;margin:0;border:0;visibility:hidden;height:0;overflow:hidden}#bp-source-root .cat-body{margin-top:0;padding-top:70px;border-top:1px solid var(--line)}#bp-source-root .cat-copy{max-width:920px;margin:0 auto}#bp-source-root .editorial-inline-media{margin:10px 0 50px}#bp-source-root .editorial-inline-media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;box-shadow:var(--shadow)}#bp-source-root .cat-copy section{padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--line)}#bp-source-root .cat-copy section:last-child{border:0}#bp-source-root .cat-copy h2{font-family:Georgia,serif;font-size:clamp(1.75rem,3vw,2.65rem);line-height:1.1;letter-spacing:-.025em;margin:0 0 18px}#bp-source-root .cat-copy p{margin:0 0 16px;color:#334e5c}#bp-source-root .cat-copy p:last-child{margin-bottom:0}
#bp-source-root .post-main{padding:64px 0 90px}#bp-source-root .post-header{max-width:930px}#bp-source-root .post-deck{font-size:1.18rem;color:#48606d;max-width:760px}#bp-source-root .post-hero{margin:40px 0 62px}#bp-source-root .post-hero img{width:100%;max-height:620px;object-fit:cover}#bp-source-root .post-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:76px}#bp-source-root .post-content{max-width:790px}#bp-source-root .post-content section{margin-bottom:48px}#bp-source-root .post-content h2{font-family:Georgia,serif;font-size:clamp(1.65rem,2.8vw,2.45rem);line-height:1.12;margin:0 0 16px}#bp-source-root .post-content p{color:#334e5c}#bp-source-root .aside-card{position:sticky;top:118px;border-top:4px solid var(--warm);background:var(--cream);padding:25px}#bp-source-root .aside-card b{font-family:Georgia,serif;font-size:1.25rem}#bp-source-root .aside-card p{font-size:.9rem;color:var(--muted)}
#bp-source-root .site-footer{background:#071c2b;color:#dbe5e9;padding:58px 0 28px}#bp-source-root .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}#bp-source-root .footer-brand img{width:270px;filter:brightness(0) invert(1);opacity:.94}#bp-source-root .footer-brand p{max-width:48ch;color:#9eb2bd}#bp-source-root .footer-col h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#d8a44b;margin:0 0 15px}#bp-source-root .footer-col a{display:block;color:#becdd4;font-size:.9rem;margin:8px 0}#bp-source-root .footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid #244153;color:#829aa6;font-size:.78rem;display:flex;justify-content:space-between;gap:20px}
@media (max-width:980px){#bp-source-root .container{width:min(100% - 32px,var(--max))}#bp-source-root .site-top{display:none}#bp-source-root .header-row{height:70px}#bp-source-root .brand img{width:210px}#bp-source-root .menu-toggle{display:block}#bp-source-root .main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px 24px;box-shadow:var(--shadow)}#bp-source-root .main-nav.open{display:block}#bp-source-root .main-nav>a, #bp-source-root .nav-group>button{display:block;width:100%;text-align:left;padding:11px 0}#bp-source-root .nav-group:hover .nav-menu, #bp-source-root .nav-group:focus-within .nav-menu{display:block;position:static;width:100%;box-shadow:none;border:0;padding-left:15px}#bp-source-root .home-hero-grid{grid-template-columns:1fr}#bp-source-root .hero-photo{min-height:420px;order:2}#bp-source-root .hero-copy{padding:48px 28px}#bp-source-root .proof-grid, #bp-source-root .decision-steps, #bp-source-root .editorial-products{grid-template-columns:1fr}#bp-source-root .feature-grid{grid-template-columns:repeat(2,1fr)}#bp-source-root .brand-grid{grid-template-columns:repeat(2,1fr)}#bp-source-root .section-head{grid-template-columns:1fr;gap:14px}#bp-source-root .post-layout{grid-template-columns:1fr;gap:42px}#bp-source-root .aside-card{position:static}#bp-source-root .editorial-inline-media{margin:6px 0 42px}#bp-source-root .footer-grid{grid-template-columns:1fr 1fr}#bp-source-root .footer-brand{grid-column:1/-1}}
@media (max-width:640px){#bp-source-root .container{width:min(100% - 24px,var(--max))}#bp-source-root .brand img{width:182px}#bp-source-root .home-hero h1{font-size:2.7rem}#bp-source-root .hero-photo{min-height:320px}#bp-source-root .hero-copy{padding:40px 20px}#bp-source-root .proof-grid{display:block}#bp-source-root .proof{border-right:0;border-bottom:1px solid var(--line);padding:18px 4px}#bp-source-root .section{padding:58px 0}#bp-source-root .feature-grid, #bp-source-root .brand-grid{grid-template-columns:1fr}#bp-source-root .decision-head{display:block}#bp-source-root .decision-head p{margin-top:18px}#bp-source-root .step{border-right:0;border-bottom:1px solid #38566a;padding-bottom:24px;margin:0}#bp-source-root .category-main, #bp-source-root .post-main{padding-top:44px}#bp-source-root .category-top h1, #bp-source-root .post-header h1{font-size:2.65rem}#bp-source-root .cat-body{padding-top:50px}#bp-source-root .editorial-inline-media{margin:4px 0 34px}#bp-source-root .cat-copy h2{font-size:2rem}#bp-source-root .footer-grid{grid-template-columns:1fr}#bp-source-root .footer-brand{grid-column:auto}#bp-source-root .footer-bottom{display:block}}


/* Legal/trust pages — preview-only, keep scoped during WordPress import */
#bp-source-root .footer-grid-legal{grid-template-columns:1.35fr .72fr .72fr 1.05fr;gap:46px}#bp-source-root .footer-legal a{line-height:1.35}#bp-source-root .affiliate-disclosure{margin-top:34px;padding:20px 22px;border:1px solid #27495d;background:#0b2538;color:#c6d5dc;font-size:.86rem;line-height:1.6}#bp-source-root .affiliate-disclosure strong{color:#fff}#bp-source-root .legal-main{padding:70px 0 96px;background:#fff}#bp-source-root .legal-shell{max-width:1040px}#bp-source-root .legal-header{max-width:860px;padding-bottom:38px;border-bottom:1px solid var(--line);margin-bottom:48px}#bp-source-root .legal-kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;color:#8c6826;font-weight:850;margin:0 0 13px}#bp-source-root .legal-header h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,5vw,4.7rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 18px}#bp-source-root .legal-header>p:last-child{font-size:1.08rem;color:var(--muted);max-width:68ch}#bp-source-root .legal-content{max-width:880px}#bp-source-root .legal-content h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,2.6vw,2.25rem);line-height:1.13;letter-spacing:-.025em;margin:50px 0 16px}#bp-source-root .legal-content h3{font-size:1.12rem;margin:30px 0 10px}#bp-source-root .legal-content p, #bp-source-root .legal-content li{color:#334e5c}#bp-source-root .legal-content p{margin:0 0 16px}#bp-source-root .legal-content ul{padding-left:23px}#bp-source-root .legal-content li{margin:7px 0}#bp-source-root .legal-lead{font-family:Georgia,serif;font-size:1.25rem!important;color:var(--ink)!important;line-height:1.6}#bp-source-root .legal-alert{border-left:4px solid var(--warm);background:var(--cream);padding:20px 24px;margin:28px 0;color:#344e5b}#bp-source-root .legal-alert strong{color:var(--ink)}#bp-source-root .legal-facts{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;border-top:1px solid var(--line);border-left:1px solid var(--line);margin:22px 0 28px}#bp-source-root .legal-facts dt, #bp-source-root .legal-facts dd{margin:0;padding:13px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}#bp-source-root .legal-facts dt{font-weight:800;background:#f6f7f7}#bp-source-root .legal-facts dd{color:#526874}#bp-source-root .legal-table{border-collapse:collapse;width:100%;margin:22px 0 30px;font-size:.9rem}#bp-source-root .legal-table th, #bp-source-root .legal-table td{border:1px solid var(--line);padding:13px 14px;text-align:left;vertical-align:top}#bp-source-root .legal-table th{background:#f3f5f5;color:var(--ink)}#bp-source-root .legal-quote{font-family:Georgia,serif;font-size:1.22rem;border-left:4px solid var(--warm);padding:16px 22px;margin:24px 0;background:var(--cream);color:var(--ink)}#bp-source-root .legal-sources{margin-top:56px;padding-top:30px;border-top:2px solid var(--navy)}#bp-source-root .legal-sources h2{margin-top:0}#bp-source-root .legal-update{font-size:.82rem;color:var(--muted)!important;margin-top:30px!important}#bp-source-root .contact-form{border:1px solid var(--line);padding:28px;background:#fbfcfc;margin:22px 0 36px}#bp-source-root .contact-form label{display:block;font-weight:760;font-size:.9rem;margin-bottom:18px}#bp-source-root .contact-form input[type=text], #bp-source-root .contact-form input[type=email], #bp-source-root .contact-form select, #bp-source-root .contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #c9d3d8;background:#fff;padding:12px 13px;font:inherit;color:var(--ink);border-radius:2px}#bp-source-root .contact-form textarea{resize:vertical}#bp-source-root .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}#bp-source-root .consent-line{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important}#bp-source-root .consent-line input{margin-top:5px}#bp-source-root .form-note{font-size:.82rem;color:var(--muted)!important;margin-top:14px!important}#bp-source-root .legal-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
@media (max-width:980px){#bp-source-root .footer-grid-legal{grid-template-columns:1fr 1fr}#bp-source-root .footer-grid-legal .footer-brand{grid-column:1/-1}}
@media (max-width:640px){#bp-source-root .footer-grid-legal{grid-template-columns:1fr}#bp-source-root .footer-grid-legal .footer-brand{grid-column:auto}#bp-source-root .legal-main{padding:46px 0 70px}#bp-source-root .legal-header h1{font-size:2.7rem}#bp-source-root .legal-facts{grid-template-columns:1fr}#bp-source-root .legal-facts dt{border-bottom:0}#bp-source-root .legal-table{display:block;width:100%;border:0}#bp-source-root .legal-table thead{display:none}#bp-source-root .legal-table tbody{display:block}#bp-source-root .legal-table tr{display:block;border:1px solid var(--line);margin:0 0 14px;background:#fff}#bp-source-root .legal-table td{display:grid;grid-template-columns:minmax(105px,.42fr) minmax(0,1fr);gap:10px;border:0;border-bottom:1px solid var(--line);padding:10px 12px;font-size:.84rem}#bp-source-root .legal-table td:last-child{border-bottom:0}#bp-source-root .legal-table td:before{content:attr(data-label);font-weight:800;color:var(--ink)}#bp-source-root .form-row{grid-template-columns:1fr}#bp-source-root .contact-form{padding:20px}}

#bp-source-root .guide-feature-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){#bp-source-root .guide-feature-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){#bp-source-root .guide-feature-grid{grid-template-columns:1fr}}

/* =========================================================
   v1.2.3 — editorial rhythm & typography refinement
   Preview/reference only. These rules MUST remain scoped when
   translated to WordPress and MUST NOT target WooCommerce.
   ========================================================= */
#bp-source-root{
  --reading: 840px;
  --reading-narrow: 760px;
}

/* Global editorial scale: calmer, more publication-like */
#bp-source-root{font-size:16px;line-height:1.72}
#bp-source-root .home-hero h1{font-size:clamp(2.55rem,4vw,4.25rem);line-height:1.035;letter-spacing:-.04em}
#bp-source-root .section-head h2{font-size:clamp(2rem,3vw,3rem);line-height:1.1;letter-spacing:-.03em}
#bp-source-root .decision-head h2{font-size:clamp(2rem,3vw,3rem);line-height:1.08}

/* Product categories: one continuous editorial grid */
#bp-source-root .category-main{padding:54px 0 96px}
#bp-source-root .category-top{max-width:var(--reading);margin:0 0 48px}
#bp-source-root .category-top h1{
  max-width:18ch;
  font-size:clamp(2.45rem,4vw,3.5rem);
  line-height:1.055;
  letter-spacing:-.035em;
  margin:0 0 24px;
}
#bp-source-root .category-intro{max-width:var(--reading-narrow);font-size:1.03rem;line-height:1.78;color:#3c5562}
#bp-source-root .category-intro p{margin:0 0 19px}
#bp-source-root .category-intro p:first-child{font-size:1.09rem;line-height:1.76;color:var(--ink)}
#bp-source-root .category-intro p:last-child{margin-bottom:0}

/* The future catalog marker stays deliberately neutral and zero-sized. */
#bp-source-root .commerce-insertion-point{
  display:block;
  width:auto;
  max-width:none;
  min-width:0;
  min-height:0;
  height:0;
  padding:0;
  margin:0;
  border:0;
  overflow:hidden;
  visibility:hidden;
}

/* No artificial separator between catalog and editorial content. */
#bp-source-root .cat-body{margin:0;padding:76px 0 0;border:0;background:transparent}
#bp-source-root .cat-copy{max-width:var(--reading);margin:0}
#bp-source-root .cat-copy section{padding:0;margin:0 0 54px;border:0}
#bp-source-root .cat-copy section:last-child{margin-bottom:0}
#bp-source-root .cat-copy h2{
  max-width:27ch;
  font-size:clamp(1.85rem,2.55vw,2.35rem);
  line-height:1.16;
  letter-spacing:-.022em;
  margin:0 0 19px;
}
#bp-source-root .cat-copy h3{font-family:Georgia,"Times New Roman",serif;font-size:1.38rem;line-height:1.25;margin:32px 0 12px}
#bp-source-root .cat-copy p{max-width:var(--reading-narrow);margin:0 0 17px;color:#334e5c}
#bp-source-root .cat-copy p:last-child{margin-bottom:0}
#bp-source-root .editorial-inline-media{max-width:var(--reading);margin:8px 0 58px}
#bp-source-root .editorial-inline-media img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:cover;
  box-shadow:0 14px 34px rgba(16,36,51,.08);
  border-radius:2px;
}

/* Guides: same restrained hierarchy, without competing with the H1 */
#bp-source-root .post-main{padding:54px 0 96px}
#bp-source-root .post-header{max-width:var(--reading)}
#bp-source-root .post-header h1{
  max-width:19ch;
  font-size:clamp(2.45rem,4vw,3.5rem);
  line-height:1.06;
  letter-spacing:-.035em;
  margin-bottom:22px;
}
#bp-source-root .post-deck{max-width:var(--reading-narrow);font-size:1.08rem;line-height:1.72}
#bp-source-root .post-hero{margin:38px 0 58px}
#bp-source-root .post-layout{grid-template-columns:minmax(0,var(--reading)) 260px;gap:64px;align-items:start}
#bp-source-root .post-content{max-width:var(--reading)}
#bp-source-root .post-content section{margin-bottom:54px}
#bp-source-root .post-content h2{max-width:28ch;font-size:clamp(1.8rem,2.45vw,2.25rem);line-height:1.17;letter-spacing:-.02em;margin:0 0 18px}
#bp-source-root .post-content p{max-width:var(--reading-narrow);line-height:1.76}
#bp-source-root .aside-card{top:104px;border-top:3px solid var(--warm);padding:22px;background:#f8f4ec}

/* Legal/trust pages: professional reading scale instead of oversized landing-page titles */
#bp-source-root .legal-main{padding:58px 0 96px}
#bp-source-root .legal-shell{max-width:1040px}
#bp-source-root .legal-header{max-width:var(--reading);padding-bottom:0;border:0;margin-bottom:46px}
#bp-source-root .legal-header h1{max-width:20ch;font-size:clamp(2.4rem,4vw,3.45rem);line-height:1.07;letter-spacing:-.035em;margin:0 0 18px}
#bp-source-root .legal-header>p:last-child{max-width:var(--reading-narrow);font-size:1.04rem;line-height:1.72}
#bp-source-root .legal-content{max-width:var(--reading)}
#bp-source-root .legal-content h2{max-width:30ch;font-size:clamp(1.7rem,2.35vw,2.15rem);line-height:1.18;letter-spacing:-.018em;margin:48px 0 16px}
#bp-source-root .legal-content p, #bp-source-root .legal-content li{line-height:1.72}

/* Responsive typography keeps the same hierarchy instead of scaling abruptly. */
@media (max-width:980px){
  #bp-source-root .category-top, #bp-source-root .cat-copy, #bp-source-root .post-header, #bp-source-root .post-content, #bp-source-root .legal-header, #bp-source-root .legal-content{max-width:820px}
  #bp-source-root .post-layout{grid-template-columns:1fr;gap:44px}
  #bp-source-root .cat-body{padding-top:62px}
}
@media (max-width:640px){
  #bp-source-root{font-size:15.5px}
  #bp-source-root .category-main, #bp-source-root .post-main{padding-top:38px;padding-bottom:72px}
  #bp-source-root .category-top{margin-bottom:38px}
  #bp-source-root .category-top h1, #bp-source-root .post-header h1{font-size:clamp(2.15rem,11vw,2.75rem);line-height:1.08;margin-bottom:20px}
  #bp-source-root .category-intro, #bp-source-root .category-intro p:first-child, #bp-source-root .post-deck{font-size:1rem;line-height:1.7}
  #bp-source-root .cat-body{padding-top:48px}
  #bp-source-root .cat-copy section{margin-bottom:44px}
  #bp-source-root .cat-copy h2, #bp-source-root .post-content h2{font-size:clamp(1.7rem,8.5vw,2.05rem);line-height:1.17;margin-bottom:16px}
  #bp-source-root .editorial-inline-media{margin:4px 0 46px}
  #bp-source-root .legal-main{padding-top:42px;padding-bottom:72px}
  #bp-source-root .legal-header h1{font-size:clamp(2.1rem,10vw,2.7rem);line-height:1.08}
  #bp-source-root .legal-content h2{font-size:clamp(1.65rem,8vw,2rem)}
}
/* v1.2.3 catalog marker hardening: the marker carries no layout dimensions at all. */
#bp-source-root .commerce-insertion-point{width:0;max-width:0;min-width:0}

/* WordPress standalone shell integration. No product-card/grid dimensions are declared here. */
body.bp-source-active{margin:0!important;padding:0!important;background:#fff!important;}
body.bp-source-active #bp-source-root{display:block;min-height:100vh;}
body.admin-bar.bp-source-active #bp-source-root .site-header{top:32px;}
#bp-source-root .bp-source-catalog{display:flow-root;margin:0 0 0;padding:0;}
#bp-source-root .bp-source-home-products{display:flow-root;margin:0 0 42px;padding:0;}
#bp-source-root .bp-source-catalog .woocommerce-notices-wrapper,#bp-source-root .bp-source-home-products .woocommerce-notices-wrapper{margin-bottom:18px;}
#bp-source-root .bp-source-empty-catalog{padding:22px 0;color:#61727f;}
@media(max-width:782px){body.admin-bar.bp-source-active #bp-source-root .site-header{top:46px;}}

/* =========================================================
   v2.0.3 — natural editorial width + permanently visible links
   The content areas no longer define a reading-column width.
   Their parent/container owns the available width.
   WooCommerce product layout, navigation, buttons and footer are untouched.
   ========================================================= */
#bp-source-root{
  --bp-editorial-link:#0b5fc6;
  --bp-editorial-link-hover:#084a9a;
}

/*
 * Categories: no editorial max-width, no character-based title width.
 * The text simply fills the available parent container.
 */
#bp-source-root .category-top,
#bp-source-root .category-intro,
#bp-source-root .cat-copy,
#bp-source-root .editorial-inline-media,
#bp-source-root .category-top h1,
#bp-source-root .category-intro p,
#bp-source-root .cat-copy h2,
#bp-source-root .cat-copy h3,
#bp-source-root .cat-copy p,
#bp-source-root .cat-copy ul,
#bp-source-root .cat-copy ol{
  max-width:none !important;
}
#bp-source-root .category-top,
#bp-source-root .category-intro,
#bp-source-root .cat-copy,
#bp-source-root .editorial-inline-media{
  width:100% !important;
  margin-left:0;
  margin-right:0;
}

/*
 * Guides/articles: headings and prose use the width made available by the
 * source page container/layout. The aside can remain because it is a real
 * layout component, but the main prose itself has no artificial reading cap.
 */
#bp-source-root .post-header,
#bp-source-root .post-deck,
#bp-source-root .post-content,
#bp-source-root .post-header h1,
#bp-source-root .post-content h2,
#bp-source-root .post-content h3,
#bp-source-root .post-content p,
#bp-source-root .post-content ul,
#bp-source-root .post-content ol{
  max-width:none !important;
}
#bp-source-root .post-header,
#bp-source-root .post-deck,
#bp-source-root .post-content{
  width:100% !important;
}
#bp-source-root .post-layout{
  grid-template-columns:minmax(0,1fr) 260px;
  gap:48px;
}

/* Legal/trust content follows the same rule: parent width, no reading cap. */
#bp-source-root .legal-shell,
#bp-source-root .legal-header,
#bp-source-root .legal-content,
#bp-source-root .legal-header h1,
#bp-source-root .legal-header>p:last-child,
#bp-source-root .legal-content h2,
#bp-source-root .legal-content h3,
#bp-source-root .legal-content p,
#bp-source-root .legal-content ul,
#bp-source-root .legal-content ol{
  max-width:none !important;
}
#bp-source-root .legal-shell,
#bp-source-root .legal-header,
#bp-source-root .legal-content{
  width:100% !important;
}

/*
 * Editorial/internal links are visibly links in their NORMAL state.
 * !important is intentional: the source reset and third-party/internal-link
 * plugins must not be able to turn these anchors back to black/white/inherit.
 */
#bp-source-root .category-intro a:not(.btn):not(.button),
#bp-source-root .cat-copy a:not(.btn):not(.button),
#bp-source-root .post-deck a:not(.btn):not(.button),
#bp-source-root .post-content a:not(.btn):not(.button),
#bp-source-root .legal-content a:not(.btn):not(.button){
  color:var(--bp-editorial-link) !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:3px !important;
  text-decoration-skip-ink:auto;
}
#bp-source-root .category-intro a:not(.btn):not(.button):visited,
#bp-source-root .cat-copy a:not(.btn):not(.button):visited,
#bp-source-root .post-deck a:not(.btn):not(.button):visited,
#bp-source-root .post-content a:not(.btn):not(.button):visited,
#bp-source-root .legal-content a:not(.btn):not(.button):visited{
  color:var(--bp-editorial-link) !important;
}
#bp-source-root .category-intro a:not(.btn):not(.button):hover,
#bp-source-root .cat-copy a:not(.btn):not(.button):hover,
#bp-source-root .post-deck a:not(.btn):not(.button):hover,
#bp-source-root .post-content a:not(.btn):not(.button):hover,
#bp-source-root .legal-content a:not(.btn):not(.button):hover{
  color:var(--bp-editorial-link-hover) !important;
}
#bp-source-root .category-intro a:not(.btn):not(.button):focus-visible,
#bp-source-root .cat-copy a:not(.btn):not(.button):focus-visible,
#bp-source-root .post-deck a:not(.btn):not(.button):focus-visible,
#bp-source-root .post-content a:not(.btn):not(.button):focus-visible,
#bp-source-root .legal-content a:not(.btn):not(.button):focus-visible{
  color:var(--bp-editorial-link-hover) !important;
  outline:2px solid var(--bp-editorial-link) !important;
  outline-offset:3px;
}

/* On tablet/mobile the page container alone decides the usable width. */
@media (max-width:980px){
  #bp-source-root .post-layout{
    grid-template-columns:1fr;
    gap:44px;
  }
}
