:root{
  --navy:#172033;
  --ink:#17191f;
  --muted:#5b6170;
  --soft:#f7f7f2;
  --paper:#ffffff;
  --mist:#eef1eb;
  --line:#d9dbd2;
  --line-soft:#ebede6;
  --orange:#d95f00;
  --orange-soft:#fff1e7;
  --teal:#006b5f;
  --teal-soft:#e8f6f3;
  --display:"Newsreader", Georgia, serif;
  --body:"Hanken Grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fs:var(--display);
  --ss:var(--body);
  --cream:#f7f7f2;
  --shadow:0 18px 48px rgba(23,32,51,.08);
  --radius:8px;
  --max:1180px;
}

*,
*::before,
*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0!important;
  background:var(--soft)!important;
  color:var(--ink)!important;
  font-family:var(--body)!important;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

body::before{display:none!important}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
main{background:var(--soft)}

h1,h2,h3,
.brand-main,
.hero-headline,
.home-hero h1,
.page-hero h1,
.article-hero h1,
.section h2,
.cat-header h2,
.product h3,
.product-card-body h3,
.guide h3,
.guide-card h2,
.gf-headline,
.cta-box h2,
.cta-band-headline{
  font-family:var(--display)!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

p{margin:0}

.skip-link{
  position:absolute;
  top:-100px;
  left:16px;
  z-index:1000;
  background:var(--navy);
  color:#fff;
  padding:10px 14px;
  border-radius:0 0 var(--radius) var(--radius);
  font-size:.875rem;
  font-weight:700;
}
.skip-link:focus{top:0}

/* Shared navigation */
.nav,
nav[aria-label="Primary navigation"]{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  min-height:68px!important;
  height:auto!important;
  padding:12px 32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  background:rgba(247,247,242,.96)!important;
  color:var(--ink)!important;
  border-bottom:1px solid var(--line-soft)!important;
  box-shadow:0 1px 0 rgba(23,32,51,.04)!important;
  backdrop-filter:blur(14px)!important;
}

.brand,
nav[aria-label="Primary navigation"] > a:first-child,
footer > a:first-child{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:max-content;
}

.icon,
.brand svg,
nav[aria-label="Primary navigation"] svg,
footer svg{
  width:34px!important;
  height:34px!important;
  flex:0 0 auto;
  border-radius:8px;
}

.brand-word,
.brand > span,
nav[aria-label="Primary navigation"] > a:first-child > span,
footer > a:first-child > span{
  line-height:1!important;
}

.brand-main,
.nav .brand-main,
nav[aria-label="Primary navigation"] > a:first-child span span,
footer > a:first-child span span{
  display:flex!important;
  align-items:baseline!important;
  gap:4px!important;
  color:var(--ink)!important;
  font-size:1rem!important;
  font-weight:600!important;
}

.brand-main em,
nav[aria-label="Primary navigation"] em,
footer em{
  color:var(--orange)!important;
  font-style:normal!important;
}

.brand-sub,
nav[aria-label="Primary navigation"] > a:first-child span span + span,
footer > a:first-child span span + span{
  display:block!important;
  margin-top:2px!important;
  color:var(--muted)!important;
  font-size:.66rem!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

.nav-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}

.nav-links a,
.nav-guides{
  display:inline-flex!important;
  align-items:center!important;
  min-height:40px!important;
  padding:8px 10px!important;
  border-radius:var(--radius)!important;
  color:var(--muted)!important;
  background:transparent!important;
  font-size:.875rem!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.nav-links a:hover,
.nav-links a.active,
.nav-links a[aria-current="page"],
.nav-guides:hover{
  color:var(--teal)!important;
  background:var(--teal-soft)!important;
}

.nav-shop,
.btn.orange,
.btn-cta,
.cta-btn,
.sidebar-btn,
.btn-sm,
.email-form button,
.email-submit,
.cookie-accept{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  border-radius:var(--radius)!important;
  background:var(--teal)!important;
  border:1px solid var(--teal)!important;
  color:#fff!important;
  font-family:var(--body)!important;
  font-size:.92rem!important;
  font-weight:800!important;
  line-height:1!important;
  padding:12px 18px!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer;
}

.nav-shop:hover,
.btn:hover,
.btn-cta:hover,
.cta-btn:hover,
.sidebar-btn:hover,
.email-submit:hover,
.cookie-accept:hover{
  transform:translateY(-1px);
  opacity:.92;
}

.btn,
.btn.secondary,
.btn.ghost{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  border-radius:var(--radius)!important;
  border:1px solid var(--line)!important;
  background:var(--paper)!important;
  color:var(--ink)!important;
  font-size:.92rem!important;
  font-weight:800!important;
  line-height:1!important;
  padding:12px 18px!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

.btn.sm{min-height:38px!important;padding:10px 14px!important;font-size:.85rem!important}
.btn.secondary:hover,.btn.ghost:hover{border-color:var(--teal)!important;color:var(--teal)!important}

.eyebrow,
.hero-tag,
.panel-label,
.product-kicker,
.product-card-kicker,
.start-kicker,
.faq-cat-label,
.sidebar-label,
.sidebar-shop-label,
.cta-band-eyebrow,
.email-capture-eyebrow{
  color:var(--orange)!important;
  font-family:var(--body)!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}

/* Homepage */
.home-hero{
  background:linear-gradient(180deg,#fbfbf7 0%,var(--soft) 100%)!important;
  border-bottom:1px solid var(--line-soft);
  padding:64px 32px 44px!important;
}

.home-hero-inner,
.section-inner,
.products-section,
.guides,
.cta-band-inner{
  width:min(100%,var(--max));
  margin:0 auto;
}

.home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:48px;
  align-items:center;
}

.home-hero h1{
  max-width:740px;
  margin:16px 0 18px;
  color:var(--navy);
  font-size:4.7rem;
  line-height:.98;
}

.home-hero h1 em,
.section h2 em,
.page-hero h1 em,
.article-hero h1 em,
.cat-header h2 em,
.cta-box h2 em,
.about-cta h2 em{
  color:var(--orange)!important;
  font-style:normal!important;
}

.hero-text,
.hero-sub,
.lead,
.page-hero p,
.contact-main p,
.content p,
.product p,
.product-card-body p,
.guide p,
.guide-card p,
.gf-desc,
.trust-copy p,
.step p,
.faq-a,
.article-body p,
.article-body li,
.content-wrap p,
.content-wrap li{
  color:var(--muted)!important;
}

.hero-text{
  max-width:610px;
  margin-bottom:24px;
  font-size:1.15rem;
  line-height:1.65;
}

.hero-actions,
.cta-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.hero-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  max-width:640px;
  margin-top:28px;
  overflow:hidden;
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:var(--line-soft);
}

.proof-item{
  background:var(--paper);
  padding:14px 16px;
}

.proof-item strong{
  display:block;
  color:var(--navy);
  font-size:.92rem;
  font-weight:800;
}

.proof-item span{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.35;
}

.hero-panel{
  background:var(--paper)!important;
  border:1px solid var(--line-soft)!important;
  border-radius:var(--radius)!important;
  box-shadow:var(--shadow)!important;
  color:var(--ink)!important;
  padding:18px!important;
}

.library-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:4px 4px 14px;
}

.library-panel-head h2{
  margin:4px 0 0;
  color:var(--navy);
  font-family:var(--display);
  font-size:1.55rem;
  line-height:1.08;
}

.library-panel-price{
  color:var(--teal);
  font-weight:800;
  white-space:nowrap;
}

.hero-product-stack{
  display:grid;
  gap:10px;
}

.hero-product-row{
  display:grid;
  grid-template-columns:92px 1fr auto;
  gap:14px;
  align-items:center;
  min-height:98px;
  padding:10px;
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:var(--soft);
}

.hero-product-row img{
  width:92px;
  aspect-ratio:4/3;
  object-fit:contain;
  border-radius:6px;
  background:var(--navy);
}

.hero-product-row strong{
  display:block;
  color:var(--ink);
  font-size:.96rem;
  line-height:1.2;
}

.hero-product-row span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.35;
}

.row-price{
  color:var(--teal)!important;
  font-weight:800;
}

.section{
  padding:64px 32px!important;
  border-bottom:1px solid var(--line-soft)!important;
  background:var(--soft)!important;
}

.section.light,
.section.paper,
.products-section,
.filter-bar{
  background:var(--soft)!important;
}

.section.dark{
  background:var(--navy)!important;
  color:#fff!important;
}

.section.dark .lead,
.section.dark p,
.section.dark .product p{
  color:rgba(255,255,255,.7)!important;
}

.section-head{
  margin-bottom:28px!important;
}

.section-head.split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,420px);
  gap:32px;
  align-items:end;
}

.section h2{
  margin:10px 0 0;
  color:var(--navy);
  font-size:3.1rem;
  line-height:1.04;
}

.section.dark h2,
.section.dark .product h3{color:#fff!important}

.lead{
  max-width:620px;
  font-size:1.02rem;
  line-height:1.65;
}

.start-grid,
.products-grid,
.guides,
.values-grid{
  display:grid;
  gap:14px!important;
}

.start-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

.start-card,
.product,
.product-card,
.guide,
.guide-card,
.faq-item,
.aside-card,
.aside-block,
.sidebar-card,
.value-card,
.topic-item,
.not-item,
.step-block,
.callout,
.highlight-box,
.q-highlight,
.email-capture{
  background:var(--paper)!important;
  border:1px solid var(--line-soft)!important;
  border-radius:var(--radius)!important;
  box-shadow:none!important;
}

.start-card{
  min-height:0!important;
  padding:22px!important;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.start-card h3{
  margin:0;
  color:var(--navy);
  font-size:1.35rem;
  line-height:1.12;
}

.start-card p{
  margin:0;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.55;
}

.start-link,
.read-link,
.gf-read,
.gc-read,
.aside-card a,
.aside-block a.link,
.contact-main a,
.content a,
.faq-a a,
.article-body a,
.content-wrap a{
  color:var(--teal)!important;
  font-weight:800!important;
  border-bottom:1px solid rgba(0,107,95,.28)!important;
}

.start-link:hover,
.read-link:hover,
.gf-read:hover,
.gc-read:hover,
.article-body a:hover,
.content-wrap a:hover{
  border-color:var(--teal)!important;
}

.products-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

.product,
.product-card{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}

.product:hover,
.product-card:hover,
.start-card:hover,
.guide:hover,
.guide-card:hover{
  transform:translateY(-2px)!important;
  border-color:#c8cbc1!important;
  box-shadow:0 16px 38px rgba(23,32,51,.07)!important;
}

.product-img,
.product-card-img{
  background:#f1f3ed!important;
  border-bottom:1px solid var(--line-soft)!important;
}

.product-img img,
.product-card-img img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:contain;
  padding:12px!important;
  background:#f1f3ed!important;
}

.product-body,
.product-card-body{
  padding:18px!important;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.product h3,
.product-card-body h3{
  margin:0;
  color:var(--ink)!important;
  font-size:1.35rem!important;
  line-height:1.1!important;
}

.product p,
.product-card-body p{
  font-size:.94rem!important;
  line-height:1.55!important;
}

.product-card-includes{
  margin-top:2px;
  padding:12px!important;
  background:var(--soft)!important;
  border-radius:var(--radius)!important;
}

.product-card-includes strong{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.product-card-includes ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  display:grid;
  gap:5px;
}

.product-card-includes li{
  color:var(--ink);
  font-size:.86rem;
  line-height:1.35;
}

.product-card-includes li::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:8px;
  border-radius:999px;
  background:var(--orange);
  vertical-align:middle;
}

.product-foot,
.product-card-foot{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-top:auto!important;
  padding-top:12px!important;
  border-top:1px solid var(--line-soft)!important;
}

.product-price,
.product-card-price,
.panel-price{
  color:var(--teal)!important;
  font-family:var(--body)!important;
  font-size:1.2rem!important;
  font-weight:800!important;
}

.trust-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:var(--line-soft);
}

.trust-item{
  background:var(--paper);
  padding:18px;
}

.trust-item strong{
  display:block;
  color:var(--navy);
  font-size:.98rem;
  font-weight:800;
}

.trust-item span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.45;
}

.guides{
  grid-template-columns:1.25fr 1fr 1fr!important;
}

.guide{
  min-height:0!important;
  padding:22px!important;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.guide.featured{
  grid-row:span 2;
  background:var(--navy)!important;
  color:#fff!important;
}

.guide h3{
  margin:0!important;
  color:var(--navy);
  font-size:1.35rem!important;
  line-height:1.12!important;
}

.guide.featured h3,
.guide.featured p{color:#fff!important}
.guide p{font-size:.94rem!important;line-height:1.55!important}
.guide .read-link{margin-top:auto;padding-top:10px}

.faq-list{display:grid!important;gap:8px!important}
.faq-q{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  width:100%;
  padding:16px 18px!important;
  cursor:pointer;
  color:var(--ink)!important;
  font-size:1rem!important;
  font-weight:800!important;
  line-height:1.35!important;
  list-style:none!important;
}
.faq-q::-webkit-details-marker{display:none}
.faq-toggle{
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  height:22px!important;
  border-radius:999px!important;
  background:var(--mist)!important;
  color:var(--teal)!important;
  flex:0 0 auto!important;
}
details[open] .faq-toggle{transform:rotate(45deg)}
.faq-a{
  padding:0 18px 18px!important;
  border-top:1px solid var(--line-soft)!important;
  font-size:.95rem!important;
  line-height:1.65!important;
}

.cta-box,
.email-box,
.cta-band{
  background:var(--navy)!important;
  color:#fff!important;
  border-radius:var(--radius)!important;
}

.cta-box{
  padding:34px!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:24px!important;
  align-items:center!important;
}

.cta-box h2{
  margin:8px 0 0;
  color:#fff;
  font-size:2.3rem!important;
  line-height:1.05!important;
}

/* Product page */
.page-hero{
  padding:70px 32px 46px!important;
  background:var(--navy)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

.page-hero-inner{
  width:min(100%,860px);
  margin:0 auto;
}

.page-hero h1{
  margin:12px 0 14px!important;
  color:#fff!important;
  font-size:3.5rem!important;
  line-height:1.02!important;
}

.page-hero-note,
.page-hero-meta{
  margin-top:12px!important;
  color:rgba(255,255,255,.58)!important;
  font-size:.92rem!important;
}

.filter-bar{
  position:sticky!important;
  top:68px!important;
  z-index:40!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:12px 32px!important;
  border-bottom:1px solid var(--line-soft)!important;
}

.filter-bar span{
  color:var(--muted)!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.filter-btn{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:8px 12px!important;
  border:1px solid var(--line)!important;
  border-radius:var(--radius)!important;
  background:var(--paper)!important;
  color:var(--muted)!important;
  font-size:.84rem!important;
  font-weight:800!important;
  cursor:pointer;
}

.filter-btn:hover,
.filter-btn.active{
  background:var(--teal)!important;
  color:#fff!important;
  border-color:var(--teal)!important;
}

.products-section{
  padding:46px 32px 64px!important;
}

.cat-section{margin-bottom:48px!important}
.cat-section:last-child{margin-bottom:0!important}
.cat-header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid var(--line-soft)!important;
}
.cat-header h2{
  margin:0;
  color:var(--navy);
  font-size:2rem!important;
  line-height:1.08!important;
}
.cat-count{
  color:var(--muted)!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.reassurance{
  padding:0 32px 64px!important;
  background:var(--soft)!important;
  color:var(--ink)!important;
}
.reassurance-inner{
  width:min(100%,var(--max));
  margin:0 auto;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:1px!important;
  overflow:hidden;
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:var(--line-soft);
}
.reassurance-item{
  padding:18px!important;
  background:var(--paper)!important;
  text-align:left!important;
}
.reassurance-icon{display:none!important}
.reassurance-item h3{
  margin:0 0 5px;
  color:var(--navy);
  font-size:.98rem!important;
  font-family:var(--body)!important;
  font-weight:800!important;
}
.reassurance-item p{
  color:var(--muted)!important;
  font-size:.88rem!important;
  line-height:1.45!important;
}

/* Blog and article pages */
.hero:not(.home-hero){
  padding:70px 32px 52px!important;
  background:var(--navy)!important;
}
.hero-inner{
  width:min(100%,var(--max));
  margin:0 auto;
}
.hero-headline{
  max-width:760px!important;
  margin:12px 0 16px!important;
  color:#fff!important;
  font-size:3.8rem!important;
  line-height:1.02!important;
}
.hero-headline em{color:var(--orange)!important;font-style:normal!important}
.hero-sub{max-width:560px!important;color:rgba(255,255,255,.72)!important;font-size:1.08rem!important}

.guide-library{
  width:min(100%,var(--max));
  margin:0 auto;
  padding:56px 32px 64px!important;
}

.guides-label{
  display:flex!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:16px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid var(--line-soft)!important;
  color:var(--muted)!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.guide-featured,
.guides-secondary{
  display:grid!important;
  gap:1px!important;
  overflow:hidden;
  border:1px solid var(--line-soft)!important;
  border-radius:var(--radius)!important;
  background:var(--line-soft)!important;
  margin-bottom:1px!important;
}
.guide-featured{grid-template-columns:1fr 1fr!important}
.guide-featured-left,
.guide-featured-right,
.guide-card{
  background:var(--paper)!important;
  padding:28px!important;
}
.guide-featured-left{background:var(--navy)!important}
.gf-headline{
  color:#fff!important;
  margin:14px 0 28px!important;
  font-size:1.7rem!important;
  line-height:1.1!important;
}
.gf-meta,
.gc-date{color:var(--muted)!important;font-size:.86rem!important}
.gf-desc{font-size:1rem!important;line-height:1.65!important}
.guides-secondary{grid-template-columns:1fr 1fr!important}
.guide-card{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.gc-headline{
  margin:0!important;
  color:var(--navy)!important;
  font-size:1.3rem!important;
  line-height:1.14!important;
}
.gc-desc{font-size:.94rem!important;line-height:1.55!important}
.gc-tag,.gf-tag{
  display:inline-flex!important;
  width:max-content!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:var(--teal-soft)!important;
  color:var(--teal)!important;
  font-size:.7rem!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.cta-band{
  padding:46px 32px!important;
  border-radius:0!important;
}
.cta-band-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
}
.cta-band-headline{
  margin:8px 0!important;
  color:#fff!important;
  font-size:2.1rem!important;
  line-height:1.08!important;
}
.cta-band-sub{color:rgba(255,255,255,.68)!important;max-width:520px}

.article-hero{
  padding:58px 32px 42px!important;
  background:var(--navy)!important;
  color:#fff!important;
}
.article-hero-inner{
  width:min(100%,820px);
  margin:0 auto;
}
.back-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-bottom:18px!important;
  color:rgba(255,255,255,.68)!important;
  font-size:.9rem!important;
  font-weight:800!important;
}
.back-link svg{width:16px!important;height:16px!important;stroke:currentColor!important}
.article-tag{
  display:inline-flex!important;
  width:max-content!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.1)!important;
  color:#fff!important;
}
.article-hero h1{
  max-width:820px;
  margin:12px 0 14px!important;
  color:#fff!important;
  font-size:3rem!important;
  line-height:1.06!important;
}
.article-meta{color:rgba(255,255,255,.58)!important;font-size:.92rem!important}
.article-wrap{
  width:min(100%,1080px);
  margin:0 auto;
  padding:52px 32px 72px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 286px!important;
  gap:48px!important;
  align-items:start!important;
}
.article-body{
  max-width:720px;
}
.article-body h2,
.content-wrap h2{
  margin:42px 0 12px!important;
  color:var(--navy)!important;
  font-family:var(--display)!important;
  font-size:1.65rem!important;
  line-height:1.14!important;
  font-weight:600!important;
}
.article-body h2:first-child,
.content-wrap h2:first-of-type{margin-top:0!important}
.article-body p,
.article-body ul,
.article-body ol,
.content-wrap p,
.content-wrap ul{
  font-size:1.03rem!important;
  line-height:1.78!important;
}
.article-body ul,
.article-body ol,
.content-wrap ul{padding-left:1.3rem!important;margin:0 0 18px!important}
.article-body li,
.content-wrap li{margin-bottom:8px!important}
.article-body strong,
.content-wrap strong{color:var(--ink)!important;font-weight:800!important}
.callout,
.highlight-box{
  margin:24px 0!important;
  padding:18px 20px!important;
  border-left:3px solid var(--orange)!important;
}
.callout.purple,
.callout.teal{border-left-color:var(--teal)!important}
.step-block{
  display:flex!important;
  gap:16px!important;
  align-items:flex-start!important;
  margin:12px 0!important;
  padding:18px!important;
}
.step-num-circle{
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  border-radius:999px!important;
  background:var(--navy)!important;
  color:#fff!important;
  font-weight:800!important;
  font-size:.82rem!important;
}
.step-content h3{
  margin:0 0 4px!important;
  color:var(--navy)!important;
  font-family:var(--body)!important;
  font-size:1rem!important;
  font-weight:800!important;
}
.step-content p{font-size:.94rem!important;line-height:1.6!important}
.example-block{
  margin:18px 0!important;
  padding:18px!important;
  background:var(--paper)!important;
  border:1px solid var(--line-soft)!important;
  border-radius:var(--radius)!important;
}
.example-label{color:var(--muted)!important;font-size:.78rem!important;font-weight:800!important;text-transform:uppercase}
.example-tag{
  display:inline-flex;
  margin-right:8px;
  padding:3px 7px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
}
.tag-weak{background:var(--orange-soft);color:var(--orange)}
.tag-strong{background:var(--teal-soft);color:var(--teal)}
.cta-block,
.sidebar-shop{
  background:var(--navy)!important;
  color:#fff!important;
  border-radius:var(--radius)!important;
  padding:24px!important;
}
.cta-block h3,
.sidebar-shop-title{
  margin:0 0 8px!important;
  color:#fff!important;
  font-family:var(--display)!important;
  font-size:1.35rem!important;
  line-height:1.12!important;
}
.cta-block p,
.sidebar-shop p{color:rgba(255,255,255,.7)!important}
.article-sidebar{
  position:sticky!important;
  top:92px!important;
  display:grid!important;
  gap:14px!important;
}
.sidebar-card,
.sidebar-shop,
.sidebar-deadline{
  padding:18px!important;
  border-radius:var(--radius)!important;
  border:1px solid var(--line-soft)!important;
}
.sidebar-deadline{
  background:var(--orange-soft)!important;
}
.sidebar-deadline-label,
.sidebar-shop-label{
  color:var(--orange)!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.sidebar-deadline-date{
  color:var(--navy)!important;
  font-family:var(--display)!important;
  font-size:1.5rem!important;
  font-weight:600!important;
}
.sidebar-links{display:grid!important;gap:4px!important}
.sidebar-link{
  display:block!important;
  padding:8px 10px!important;
  border-radius:var(--radius)!important;
  color:var(--muted)!important;
  font-size:.9rem!important;
  font-weight:800!important;
}
.sidebar-link:hover,
.sidebar-link.active{
  background:var(--teal-soft)!important;
  color:var(--teal)!important;
}
.q-highlight{padding:20px!important;margin:26px 0!important}
.q-pills{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:12px 0!important}
.q-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--mist);
  color:var(--muted);
  font-weight:800;
}
.q-pill.priority{background:var(--orange-soft);color:var(--orange)}
.email-capture{
  padding:24px!important;
  margin:32px 0!important;
  background:var(--navy)!important;
  color:#fff!important;
}
.email-capture h2{color:#fff!important;margin:8px 0!important}
.email-capture-sub,
.email-note{display:block;color:rgba(255,255,255,.7)!important}
.email-what{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}
.email-what-item{padding:10px;background:rgba(255,255,255,.08);border-radius:var(--radius);font-size:.9rem}
.email-form-row,
.email-form{
  display:flex;
  gap:8px;
  margin-top:16px;
}
.email-input,
.email-form input{
  width:100%;
  min-height:44px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius);
  background:#fff;
  color:var(--ink);
  font:inherit;
  padding:10px 12px;
}

/* About, FAQ, contact, privacy */
.content,
.content-wrap{
  width:min(100%,760px)!important;
  margin:0 auto!important;
  padding:52px 32px 72px!important;
}
.content h2{
  margin:10px 0 16px!important;
  color:var(--navy)!important;
  font-size:2.15rem!important;
  line-height:1.1!important;
}
.values-section,
.not-section,
.about-cta{
  padding:52px 32px!important;
  background:var(--soft)!important;
  border-top:1px solid var(--line-soft)!important;
}
.values-inner,
.not-inner,
.about-cta-inner,
.faq-wrap,
.contact-wrap{
  width:min(100%,var(--max));
  margin:0 auto!important;
}
.values-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.values-inner > h2,
.not-inner > h2{
  margin:10px 0 24px!important;
  color:var(--navy)!important;
  font-size:2.25rem!important;
  line-height:1.08!important;
}
.value-card,
.not-item,
.topic-item{padding:20px!important}
.value-icon,
.topic-icon{display:none!important}
.value-card h3,
.not-item h3,
.topic-item h3,
.aside-card h3,
.aside-block h3{
  margin:0 0 6px!important;
  color:var(--navy)!important;
  font-family:var(--body)!important;
  font-size:1rem!important;
  font-weight:800!important;
}
.value-card p,
.not-item p,
.topic-item p,
.aside-card p,
.aside-block p{
  color:var(--muted)!important;
  font-size:.94rem!important;
  line-height:1.58!important;
}
.not-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.not-item.yes,
.aside-card.dark,
.aside-block.dark{
  background:var(--navy)!important;
  color:#fff!important;
}
.not-item.yes h3,
.aside-card.dark h3,
.aside-block.dark h3{color:#fff!important}
.not-item.yes p,
.aside-card.dark p,
.aside-block.dark p{color:rgba(255,255,255,.72)!important}
.about-cta{
  background:var(--navy)!important;
  color:#fff!important;
  text-align:center;
}
.about-cta h2{color:#fff!important;margin:8px 0 10px!important;font-size:2.5rem!important}
.about-cta p{color:rgba(255,255,255,.72)!important}
.about-cta .cta-actions{justify-content:center}
.contact-wrap,
.faq-wrap{
  padding:52px 32px 72px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:42px!important;
  align-items:start!important;
}
.contact-main h2{
  margin:0 0 14px!important;
  color:var(--navy)!important;
  font-size:2rem!important;
  line-height:1.1!important;
}
.email-link-box{
  margin:24px 0!important;
  padding:20px!important;
  border-radius:var(--radius)!important;
  background:var(--navy)!important;
  color:#fff!important;
}
.email-link-box p{color:rgba(255,255,255,.7)!important}
.email-link-box a{color:#fff!important;font-weight:800!important;word-break:break-word}
.topic-list,
.faq-main{display:grid!important;gap:12px!important}
.faq-cat{margin-bottom:28px!important}
.faq-cat:last-child{margin-bottom:0!important}
.faq-cat-label{
  margin-bottom:10px!important;
  padding-bottom:8px!important;
  border-bottom:1px solid var(--line-soft)!important;
}
.contact-aside,
.faq-aside{display:grid!important;gap:14px!important}

table{
  width:100%;
  border-collapse:collapse;
  margin:22px 0;
  background:var(--paper);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  overflow:hidden;
  font-size:.92rem;
}
th,td{padding:12px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top}
th{background:var(--mist);color:var(--navy);font-weight:800}
.tier-tag{
  display:inline-flex;
  padding:3px 8px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
}
.tier-tag.legal{background:var(--teal-soft);color:var(--teal)}
.tier-tag.no-legal{background:var(--orange-soft);color:var(--orange)}

/* Footer and cookie */
footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  flex-wrap:wrap!important;
  padding:28px 32px!important;
  background:#f0f1eb!important;
  color:var(--muted)!important;
  border-top:1px solid var(--line-soft)!important;
}
.footer-links,
footer nav,
footer div[role="navigation"]{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  flex-wrap:wrap!important;
}
.footer-links a,
footer nav a,
footer div[role="navigation"] a{
  color:var(--muted)!important;
  font-size:.85rem!important;
  font-weight:700!important;
}
.footer-links a:hover,
footer nav a:hover,
footer div[role="navigation"] a:hover{color:var(--teal)!important}
.footer-copy,
footer p{color:var(--muted)!important;font-size:.85rem!important}
.cookie-banner{
  position:fixed!important;
  right:16px!important;
  bottom:16px!important;
  left:16px!important;
  z-index:200!important;
  max-width:720px!important;
  margin:0 auto!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px!important;
  background:var(--navy)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:var(--radius)!important;
  box-shadow:var(--shadow)!important;
}
.cookie-banner p{color:rgba(255,255,255,.74)!important;font-size:.9rem!important}
.cookie-banner a{color:#fff!important;border-bottom:1px solid rgba(255,255,255,.36)!important}
.cookie-btns{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.cookie-decline{
  min-height:40px!important;
  padding:10px 14px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:var(--radius)!important;
  background:transparent!important;
  color:#fff!important;
  font:inherit!important;
  font-weight:800!important;
  cursor:pointer;
}

.reveal{opacity:1!important;transform:none!important}

:focus-visible{
  outline:3px solid rgba(0,107,95,.45)!important;
  outline-offset:3px!important;
  border-radius:6px!important;
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}

@media(max-width:980px){
  .home-hero-grid,
  .section-head.split,
  .contact-wrap,
  .faq-wrap,
  .article-wrap{
    grid-template-columns:1fr!important;
  }
  .home-hero h1{font-size:3.6rem}
  .article-sidebar{position:static!important}
  .products-grid,
  .start-grid,
  .guides,
  .values-grid,
  .reassurance-inner,
  .trust-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .guide.featured{grid-row:auto;grid-column:1/-1}
}

@media(max-width:720px){
  .nav,
  nav[aria-label="Primary navigation"]{
    align-items:flex-start!important;
    padding:10px 16px!important;
    gap:10px!important;
  }
  .nav-links{
    gap:4px!important;
    justify-content:flex-end!important;
  }
  .nav-links a,
  .nav-guides{
    min-height:34px!important;
    padding:7px 8px!important;
    font-size:.78rem!important;
  }
  .nav-links a[href="/about"],
  .nav-guides[href="/about"]{display:none!important}
  .nav-shop{min-height:36px!important;padding:9px 10px!important;font-size:.78rem!important}
  .home-hero,
  .section,
  .products-section,
  .page-hero,
  .article-hero,
  .guides,
  .guide-library,
  .cta-band,
  .content,
  .content-wrap,
  .values-section,
  .not-section,
  .about-cta,
  .contact-wrap,
  .faq-wrap,
  .article-wrap,
  footer{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .home-hero{padding-top:42px!important;padding-bottom:34px!important}
  .home-hero h1{font-size:2.75rem;line-height:1.02}
  .hero-text{font-size:1.02rem}
  .hero-proof,
  .products-grid,
  .start-grid,
  .guides,
  .values-grid,
  .not-grid,
  .reassurance-inner,
  .trust-row,
  .guides-secondary,
  .guide-featured,
  .email-what{
    grid-template-columns:1fr!important;
  }
  .hero-product-row{
    grid-template-columns:78px 1fr;
  }
  .hero-product-row .row-price{grid-column:2}
  .section{padding-top:44px!important;padding-bottom:44px!important}
  .section h2,
  .page-hero h1,
  .hero-headline,
  .article-hero h1{font-size:2.25rem!important}
  .cta-box,
  .cta-band-inner{
    grid-template-columns:1fr!important;
    align-items:flex-start!important;
  }
  .cta-actions,
  .hero-actions,
  .email-form-row,
  .email-form{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .filter-bar{
    position:static!important;
    padding:10px 20px!important;
  }
  .product-foot,
  .product-card-foot{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .reassurance{padding-left:20px!important;padding-right:20px!important}
  .cookie-banner{align-items:flex-start!important;flex-direction:column!important}
}

@media(max-width:430px){
  .brand-main,
  .nav .brand-main,
  nav[aria-label="Primary navigation"] > a:first-child span span{
    font-size:.92rem!important;
  }
  .brand-sub,
  nav[aria-label="Primary navigation"] > a:first-child span span + span{
    font-size:.6rem!important;
  }
  .nav-links a[href="/products"]:not(.nav-shop),
  .nav-guides[href="/products"]{display:none!important}
  .home-hero h1{font-size:2.45rem}
}
