@layer reset, base, components, responsive, white-canvas, media, shaver-product, discovery, shaver-reference, purifier, fridge, portfolio-models, seo-reference-assets, demo-catalog, portfolio-catalog, portfolio-guides;

@layer reset, base, components, responsive;

.amazon-commission-note {
  display: block;
  margin: 8px 0 0;
  max-width: 58ch;
  color: var(--spm-muted, var(--pm-muted, var(--muted)));
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.spm-site .spm-answer-part .amazon-commission-note { margin-top: 0; }
.spm-system-nav > .amazon-commission-note { flex-basis: 100%; }
.spm-site .spm-search-purchase { flex: 1 1 280px; max-width: 340px; }
.spm-site .spm-search-purchase .spm-search-button { width: 100%; }
.pfm-mobile-buy, .ffm-mobile-buy { flex-wrap: wrap; }
.pfm-mobile-buy > .amazon-commission-note,
.ffm-mobile-buy > .amazon-commission-note {
  flex-basis: 100%;
  max-width: none;
  margin: 0;
}
.pfm-mobile-buy > .pm-commerce-search,
.ffm-mobile-buy > .pm-commerce-search {
  display: block;
  flex-basis: 100%;
}

@media (max-width: 680px) {
  .spm-site .spm-mobile-purchase > .amazon-commission-note {
    grid-column: 1 / -1;
    max-width: none;
    margin: 0;
  }
  .spm-site .spm-mobile-purchase > .spm-search-purchase {
    grid-column: 1 / -1;
    min-width: 0;
    max-width: none;
  }
  .spm-site.has-mobile-purchase:has(.spm-mobile-purchase > .spm-search-purchase) { padding-bottom: 260px; }
  .pfm-model, .ffm-product { padding-bottom: 170px; }
  .pfm-model:has(.pfm-mobile-buy .pm-commerce-search),
  .ffm-product:has(.ffm-mobile-buy .pm-commerce-search) { padding-bottom: 240px; }
}

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { text-size-adjust: 100%; scroll-behavior: smooth; }
  body, h1, h2, h3, p, figure, figcaption, blockquote, dl, dd { margin: 0; }
  ul, ol { margin: 0; padding: 0; }
  img, svg { display: block; max-width: 100%; }
  button, input, textarea, select { font: inherit; }
  button { color: inherit; }
  a { color: inherit; }
}

@layer base {
  :root {
    --paper: #f4f0e8;
    --paper-deep: #e9e3d7;
    --white: #fffdf8;
    --ink: #171714;
    --ink-soft: #3f3f39;
    --muted: #6e6c63;
    --line: #c9c3b8;
    --line-dark: #282824;
    --accent: #75d8b9;
    --accent-dark: #0e7056;
    --accent-ink: #0b3329;
    --alert: #9b341f;
    --warning-paper: #f8edda;
    --success: #156b52;
    --shell: 1240px;
    --sans: "Helvetica Neue", Helvetica, Arial, ui-sans-serif, system-ui, -apple-system, sans-serif;
    --serif: "Iowan Old Style", Baskerville, "Times New Roman", Times, ui-serif, Georgia, serif;
    --mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace;
  }

  [data-site="shaver"] { --accent:#75d8b9; --accent-dark:#0e7056; --accent-ink:#0b3329; --paper:#f3efe6; --paper-deep:#e9e3d7; }
  [data-site="sewing"] { --accent:#e38a70; --accent-dark:#a9472f; --accent-ink:#4b2118; --paper:#f4eee8; --paper-deep:#e8ded5; }
  [data-site="label"] { --accent:#bfdc57; --accent-dark:#617d12; --accent-ink:#2b370d; --paper:#f1f0e7; --paper-deep:#e5e4d8; }
  [data-site="cutter"] { --accent:#a89be8; --accent-dark:#6250b5; --accent-ink:#2e265c; --paper:#f2eee8; --paper-deep:#e6e0d8; }
  [data-site="coffee"] { --accent:#d99a63; --accent-dark:#89501f; --accent-ink:#40270f; --paper:#f1ebe1; --paper-deep:#e6ded1; }
  [data-site="purifier"] { --accent:#78cbd5; --accent-dark:#237482; --accent-ink:#153b42; --paper:#eef1ed; --paper-deep:#e0e5e0; }

  html { background: var(--paper); }
  body {
    min-width: 320px;
    min-height: 100vh;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
  }

  ::selection { background: var(--accent); color: var(--ink); }
  a { text-decoration-thickness: .08em; text-underline-offset: .18em; }
  :focus-visible { outline: 2px solid var(--accent-dark); outline-offset: 4px; }
  h1, h2, h3 { color: var(--ink); font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; text-wrap: balance; }
  h1 { font-size: clamp(4.1rem, 7.8vw, 7.7rem); line-height: .88; }
  h2 { font-size: clamp(2.55rem, 4.9vw, 5rem); line-height: .94; }
  h3 { font-size: 1.35rem; line-height: 1.1; }
  p { text-wrap: pretty; }
  code, kbd { font-family: var(--mono); }
  .shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
  .sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
  .muted { color: var(--muted); }
  .text-link { color: var(--accent-dark); font-weight: 700; }
  .skip-link { position:fixed; z-index:1000; top:12px; left:12px; transform:translateY(-180%); background:var(--ink); color:var(--white); padding:10px 14px; font:700 12px/1 var(--sans); text-decoration:none; }
  .skip-link:focus { transform: translateY(0); }
}

@layer components {
  .preview-bar { border-bottom:1px solid var(--line-dark); background:var(--accent); }
  .preview-bar__inner { display:flex; min-height:34px; align-items:center; justify-content:space-between; gap:24px; font:600 10px/1.25 var(--mono); letter-spacing:.045em; text-transform:uppercase; }
  .preview-bar__state { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
  .preview-bar svg { width:13px; height:13px; }

  .site-header { position:relative; z-index:50; border-bottom:1px solid var(--line-dark); background:var(--paper); }
  .masthead { display:grid; grid-template-columns:minmax(220px,.9fr) minmax(260px,1fr) auto; min-height:78px; align-items:center; }
  .brand { display:inline-flex; align-items:center; gap:12px; width:max-content; color:var(--ink); text-decoration:none; }
  .brand__mark { display:grid; width:34px; height:34px; place-items:center; border:1px solid var(--line-dark); background:var(--accent); }
  .brand__mark svg { width:22px; height:22px; }
  .brand__wordmark { font-size:14px; font-weight:750; letter-spacing:-.02em; }
  .masthead__edition { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px; color:var(--muted); font:500 10px/1.35 var(--mono); letter-spacing:.04em; text-transform:uppercase; }
  .masthead__edition span:first-child { color:var(--ink); font-weight:700; }
  .masthead__edition span + span { padding-left:14px; border-left:1px solid var(--line); }
  .site-nav { display:flex; align-items:center; gap:20px; }
  .site-nav a { color:var(--ink-soft); font-size:12px; font-weight:650; text-decoration:none; }
  .site-nav a:hover { color:var(--accent-dark); }
  .site-nav .nav-action { display:inline-flex; align-items:center; gap:9px; border-bottom:1px solid var(--ink); padding-block:4px; color:var(--ink); }
  .site-nav .nav-action svg { width:15px; height:15px; }
  .nav-toggle { display:none; width:38px; height:38px; place-items:center; border:1px solid var(--line-dark); background:transparent; cursor:pointer; }
  .nav-toggle svg { width:20px; height:20px; }

  .catalog-line { display:grid; grid-template-columns:1fr 2fr 1fr; gap:20px; padding-block:13px; border-bottom:1px solid var(--line-dark); color:var(--muted); font:600 10px/1.2 var(--mono); letter-spacing:.065em; text-transform:uppercase; }
  .catalog-line span:first-child { color:var(--ink); }
  .catalog-line span:last-child { text-align:right; }
  .eyebrow, .section-label { color:var(--accent-dark); font:700 10px/1.2 var(--mono); letter-spacing:.11em; text-transform:uppercase; }
  .hero-lead { max-width:640px; color:var(--ink-soft); font-size:clamp(1.05rem,1.45vw,1.28rem); line-height:1.62; }
  .text-action, .button { display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:720; text-decoration:none; }
  .text-action { border-bottom:1px solid currentColor; padding-block:4px; }
  .text-action svg, .button svg { width:16px; height:16px; }
  .button { border:1px solid var(--ink); background:var(--ink); color:var(--white); padding:14px 18px; }
  .button:hover { background:var(--accent); color:var(--ink); }

  .home-hero { border-bottom:1px solid var(--line-dark); }
  .hero-grid { display:grid; grid-template-columns:minmax(0,.98fr) minmax(420px,.72fr); min-height:710px; }
  .hero-copy { display:flex; flex-direction:column; justify-content:center; padding:80px 72px 72px 0; border-right:1px solid var(--line-dark); }
  .hero-copy h1 { max-width:8.8ch; margin-top:24px; }
  .hero-copy h1 span { display:block; }
  .hero-copy h1 span:nth-child(2) { margin-left:.55em; color:var(--accent-dark); font-style:italic; }
  .hero-copy .hero-lead { margin-top:30px; max-width:590px; }

  .lookup { position:relative; margin-top:46px; }
  .lookup__label { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:10px; font:650 10px/1.2 var(--mono); letter-spacing:.075em; text-transform:uppercase; }
  .lookup__label span:last-child { color:var(--muted); font-weight:500; }
  .finder { display:grid; grid-template-columns:minmax(0,1fr) auto; border:1px solid var(--line-dark); background:var(--white); }
  .finder:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
  .finder__field { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px; min-height:66px; padding-inline:20px; }
  .finder__icon { width:20px; height:20px; color:var(--muted); }
  .finder input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--ink); font-size:16px; font-weight:550; }
  .finder input::placeholder { color:#8d887e; font-weight:400; }
  .finder__button { display:inline-flex; min-width:132px; align-items:center; justify-content:center; gap:10px; border:0; border-left:1px solid var(--line-dark); background:var(--ink); color:var(--white); padding-inline:21px; font-size:12px; font-weight:750; cursor:pointer; }
  .finder__button:hover { background:var(--accent); color:var(--ink); }
  .finder__button svg { width:16px; height:16px; }
  .lookup__foot { display:grid; grid-template-columns:1fr auto; gap:18px; margin-top:12px; color:var(--muted); font-size:11px; }
  .popular { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px 13px; }
  .popular > span { color:var(--ink); font:650 10px/1.4 var(--mono); text-transform:uppercase; }
  .popular a { color:var(--muted); text-decoration:none; border-bottom:1px dotted var(--line-dark); }
  .popular a:hover { color:var(--accent-dark); }

  .search-results { position:absolute; z-index:20; top:100%; right:0; left:0; display:none; border:1px solid var(--line-dark); border-top:0; background:var(--white); box-shadow:8px 10px 0 rgb(23 23 20 / 12%); }
  .search-results[data-open="true"] { display:block; }
  .search-results__meta { display:flex; justify-content:space-between; gap:14px; padding:9px 14px; border-bottom:1px solid var(--line); color:var(--muted); font:550 9px/1.2 var(--mono); letter-spacing:.04em; text-transform:uppercase; }
  .search-results ul { list-style:none; }
  .search-result a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 15px; border-bottom:1px solid var(--line); text-decoration:none; }
  .search-result:last-child a { border-bottom:0; }
  .search-result a:hover, .search-result[data-active="true"] a { background:var(--accent); }
  .search-result__title { display:block; font-size:13px; font-weight:720; }
  .search-result__sub { display:block; margin-top:2px; color:var(--muted); font-size:10px; }
  .search-result__arrow { width:16px; height:16px; flex:0 0 auto; }
  .search-empty { padding:18px; }
  .search-empty strong { display:block; font-size:13px; }
  .search-empty p { margin-top:4px; color:var(--muted); font-size:11px; }

  .specimen { position:relative; min-width:0; background:var(--accent); overflow:hidden; }
  .specimen__head { position:absolute; z-index:3; top:23px; right:25px; left:25px; display:flex; justify-content:space-between; padding-bottom:10px; border-bottom:1px solid rgb(23 23 20 / 48%); font:650 9px/1.2 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
  .specimen__art { position:relative; display:grid; min-height:620px; place-items:center; padding:70px 34px 118px; }
  .object-portrait__svg { width:min(100%,500px); height:auto; }
  .portrait-fill { fill:var(--white); }
  .portrait-line { fill:none; stroke:var(--ink); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  .portrait-accent { fill:var(--ink); }
  .portrait-accent.portrait-line { stroke:var(--ink); }
  .portrait-detail { stroke-width:1.35; }
  .portrait-measure { fill:none; stroke:rgb(23 23 20 / 52%); stroke-width:1; stroke-dasharray:3 5; }
  .specimen__tag { position:absolute; z-index:2; display:grid; gap:4px; max-width:185px; border:1px solid var(--line-dark); background:var(--white); padding:10px 12px; font:750 11px/1.25 var(--mono); letter-spacing:.02em; }
  .specimen__tag small { color:var(--muted); font:650 8px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
  .specimen__tag--model { right:24px; bottom:148px; }
  .specimen__tag--part { bottom:96px; left:24px; }
  .specimen figcaption { position:absolute; right:0; bottom:0; left:0; display:grid; grid-template-columns:1fr auto; gap:20px; min-height:72px; align-items:center; border-top:1px solid var(--line-dark); background:var(--paper); padding:17px 24px; color:var(--ink-soft); font-size:11px; line-height:1.45; }
  .specimen figcaption span:last-child { font:600 9px/1.2 var(--mono); letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }

  .proof-strip { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-dark); }
  .proof-item { display:grid; grid-template-columns:36px 1fr; min-height:78px; align-items:center; gap:14px; padding:15px 20px; }
  .proof-item + .proof-item { border-left:1px solid var(--line-dark); }
  .proof-item span { color:var(--accent-dark); font:700 10px/1 var(--mono); }
  .proof-item strong { font-size:12px; font-weight:650; }

  .directory-section { padding-block:clamp(88px,10vw,148px); border-bottom:1px solid var(--line-dark); }
  .directory-grid { display:grid; grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr); gap:92px; align-items:start; }
  .directory-intro h2 { max-width:7.5ch; margin-top:18px; }
  .section-dek { max-width:470px; margin-top:24px; color:var(--ink-soft); font-size:16px; }
  .category-ledger { margin-top:48px; border-top:1px solid var(--line-dark); }
  .category-row { display:grid; grid-template-columns:34px 34px 1fr; gap:16px; align-items:start; padding-block:17px; border-bottom:1px solid var(--line); }
  .category-row__number { padding-top:3px; color:var(--muted); font:600 9px/1 var(--mono); }
  .category-row__icon { display:grid; width:27px; height:27px; place-items:center; border:1px solid var(--line-dark); background:var(--accent); }
  .category-row__icon svg { width:17px; height:17px; }
  .category-row h3 { font-family:var(--sans); font-size:13px; font-weight:750; letter-spacing:-.01em; }
  .category-row p { margin-top:4px; color:var(--muted); font-size:11px; }

  .record-register { border-top:1px solid var(--line-dark); }
  .register-head { display:flex; justify-content:space-between; gap:20px; padding-block:12px; border-bottom:1px solid var(--line-dark); font:650 9px/1.2 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
  .register-head span:last-child { color:var(--muted); }
  .record-list { min-height:306px; }
  .record-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto 18px; gap:17px; min-height:82px; align-items:center; border-bottom:1px solid var(--line); text-decoration:none; }
  .record-row:hover { background:var(--accent); }
  .record-row__number { padding-left:7px; color:var(--muted); font:600 10px/1 var(--mono); }
  .record-row__identity strong { display:block; font-family:var(--serif); font-size:21px; font-weight:400; letter-spacing:-.025em; }
  .record-row__identity span { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
  .record-row__state { border:1px solid var(--line); padding:5px 7px; color:var(--muted); font:650 8px/1 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
  .record-row__state.is-verified { border-color:var(--success); color:var(--success); }
  .record-row > svg { width:16px; height:16px; }
  .record-empty { padding:40px 0; border-bottom:1px solid var(--line); }
  .record-empty strong { display:block; font-family:var(--serif); font-size:24px; font-weight:400; }
  .record-empty p { max-width:420px; margin-top:9px; color:var(--muted); font-size:12px; }
  .record-register > .text-action { margin-top:24px; }

  .method-section { background:var(--ink); color:var(--white); }
  .method-grid { display:grid; grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr); gap:100px; padding-block:clamp(90px,10vw,142px); }
  .method-section h2 { max-width:8.2ch; margin-top:18px; color:var(--white); }
  .method-intro > p:last-child { max-width:420px; margin-top:26px; color:#b7b3aa; }
  .method-section .section-label { color:var(--accent); }
  .method-ledger { list-style:none; border-top:1px solid #55534d; }
  .method-ledger li { display:grid; grid-template-columns:60px minmax(0,1fr); gap:22px; padding-block:26px; border-bottom:1px solid #55534d; }
  .method-ledger > li > span { padding-top:2px; color:var(--accent); font:700 12px/1 var(--mono); }
  .method-ledger strong { color:var(--white); font-size:15px; }
  .method-ledger p { max-width:540px; margin-top:7px; color:#aba79f; font-size:13px; }

  .guides-section, .guide-index { padding-block:clamp(88px,9vw,132px); }
  .guides-section { border-bottom:1px solid var(--line-dark); }
  .guides-layout { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:92px; }
  .guides-heading h2 { max-width:8.7ch; margin-top:18px; }
  .guides-heading > p:last-child { max-width:390px; margin-top:22px; color:var(--ink-soft); }

  .closing-strip { border-bottom:1px solid var(--line-dark); }
  .closing-strip__inner { display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:28px; min-height:94px; align-items:center; }
  .closing-strip__inner > span { color:var(--accent-dark); font:700 10px/1 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
  .closing-strip__inner p { color:var(--ink-soft); font-size:13px; }
  .closing-strip__inner a { display:inline-flex; align-items:center; gap:8px; border-bottom:1px solid currentColor; padding-block:4px; font-size:12px; font-weight:720; text-decoration:none; }
  .closing-strip__inner svg { width:15px; height:15px; }

  .site-footer { background:var(--paper-deep); }
  .footer-grid { display:grid; grid-template-columns:minmax(300px,1.55fr) repeat(3,minmax(130px,.55fr)); gap:60px; padding-block:72px; }
  .footer-intro p { max-width:440px; margin-top:24px; color:var(--ink-soft); font-size:12px; }
  .footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
  .footer-column strong { margin-bottom:5px; font:700 9px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
  .footer-column a { color:var(--ink-soft); font-size:11px; text-decoration:none; }
  .footer-column a:hover { color:var(--accent-dark); text-decoration:underline; }
  .footer-legal { display:grid; grid-template-columns:1fr 1fr 2fr; gap:24px; padding-block:18px; border-top:1px solid var(--line-dark); color:var(--muted); font:550 9px/1.35 var(--mono); letter-spacing:.03em; }
  .footer-legal span:last-child { text-align:right; }

  .record-hero { border-bottom:1px solid var(--line-dark); }
  .record-hero .breadcrumb { margin-top:20px; }
  .record-heading { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:72px; align-items:end; padding:78px 0 70px; }
  .record-heading h1 { max-width:10ch; margin-top:18px; font-size:clamp(4rem,7vw,7rem); }
  .record-heading .hero-lead { margin-top:28px; }
  .record-state { border-top:1px solid var(--line-dark); padding-top:12px; }
  .record-state > span { color:var(--accent-dark); font:700 9px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
  .record-state strong { display:block; margin-top:17px; font-family:var(--serif); font-size:26px; font-weight:400; }
  .record-state p { margin-top:5px; color:var(--muted); font-size:11px; }
  .breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:7px; color:var(--muted); font-size:10px; }
  .breadcrumb a { text-decoration:none; }
  .breadcrumb a:hover { color:var(--accent-dark); }
  .breadcrumb svg { width:11px; height:11px; }

  .record-main { padding-block:clamp(70px,8vw,116px); }
  .record-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:90px; align-items:start; }
  .record-content { min-width:0; }
  .answer-sheet { border:1px solid var(--line-dark); background:var(--white); }
  .answer-sheet__label { display:flex; justify-content:space-between; gap:20px; padding:11px 14px; border-bottom:1px solid var(--line-dark); font:650 9px/1.2 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
  .answer-sheet__label span:last-child { color:var(--muted); }
  .answer-sheet__grid { display:grid; grid-template-columns:1fr 1fr; }
  .answer-sheet__grid > div { min-height:190px; padding:30px; }
  .answer-sheet__grid > div + div { border-left:1px solid var(--line-dark); }
  .answer-sheet__grid p, .reference-code > span { color:var(--muted); font:650 9px/1.2 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
  .answer-sheet__grid h2 { margin-top:14px; font-size:clamp(2.6rem,4.2vw,4.4rem); }
  .reference-code { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; }
  .reference-code code { display:block; margin-top:14px; word-break:break-word; font:650 clamp(1.2rem,2.1vw,1.9rem)/1.15 var(--mono); }
  .copy-button { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line-dark); background:transparent; padding:8px 10px; font-size:10px; font-weight:700; cursor:pointer; }
  .copy-button:hover { background:var(--accent); }
  .copy-button svg { width:14px; height:14px; }
  .answer-sheet__note { padding:13px 14px; border-top:1px solid var(--line-dark); color:var(--muted); font-size:10px; }

  .record-block { padding-block:58px; border-bottom:1px solid var(--line-dark); }
  .record-block:first-of-type { margin-top:28px; border-top:1px solid var(--line-dark); }
  .record-block__head { display:grid; grid-template-columns:44px minmax(0,1fr); gap:18px; align-items:baseline; }
  .record-block__head > span { color:var(--accent-dark); font:700 10px/1 var(--mono); }
  .record-block__head h2 { font-size:clamp(2rem,3.5vw,3.2rem); }
  .record-block > p { max-width:650px; margin:18px 0 0 62px; color:var(--ink-soft); font-size:13px; }
  .facts-grid { display:grid; grid-template-columns:repeat(2,1fr); margin:30px 0 0 62px; border-top:1px solid var(--line-dark); border-left:1px solid var(--line-dark); }
  .facts-grid > div { min-height:102px; padding:16px; border-right:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); }
  .facts-grid dt { color:var(--muted); font:650 9px/1.2 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
  .facts-grid dd { margin-top:12px; font-size:13px; font-weight:650; }
  .callout { display:grid; grid-template-columns:20px minmax(0,1fr); gap:13px; margin:18px 0 0 62px; border-left:3px solid var(--alert); background:var(--warning-paper); padding:15px 17px; color:#6b2b1c; }
  .callout svg { width:18px; height:18px; }
  .callout strong { display:block; font-size:11px; }
  .callout p { margin-top:3px; font-size:11px; }
  .compatibility-table-wrap { margin:28px 0 0 62px; overflow-x:auto; border:1px solid var(--line-dark); }
  .compatibility-table { width:100%; min-width:610px; border-collapse:collapse; background:var(--white); }
  .compatibility-table th, .compatibility-table td { padding:15px 17px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
  .compatibility-table th { color:var(--muted); font:650 9px/1.2 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
  .compatibility-table td { font-size:12px; }
  .compatibility-table tr:last-child td { border-bottom:0; }
  .step-list { margin:26px 0 0 62px; list-style:none; border-top:1px solid var(--line-dark); }
  .step-list li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; padding-block:17px; border-bottom:1px solid var(--line); }
  .step-list span { color:var(--accent-dark); font:700 9px/1 var(--mono); }
  .step-list p { color:var(--ink-soft); font-size:12px; }
  .source-list { margin:26px 0 0 62px; list-style:none; border-top:1px solid var(--line-dark); }
  .source-list li { display:grid; grid-template-columns:20px minmax(0,1fr) auto; gap:15px; align-items:center; padding-block:16px; border-bottom:1px solid var(--line); }
  .source-list svg { width:17px; height:17px; color:var(--accent-dark); }
  .source-list strong { display:block; font-size:12px; }
  .source-list span { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
  .source-list a { display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:700; text-decoration:none; }
  .source-list a svg { width:13px; height:13px; }
  .empty-state { margin:25px 0 0 62px; border:1px dashed var(--line-dark); padding:22px; color:var(--muted); }
  .empty-state strong { display:block; color:var(--ink); font-family:var(--serif); font-size:21px; font-weight:400; }
  .empty-state p { margin-top:6px; font-size:11px; }
  .merchant-list { margin:25px 0 0 62px; border-top:1px solid var(--line-dark); }
  .merchant-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 0; border-bottom:1px solid var(--line); text-decoration:none; }
  .merchant-row:hover { color:var(--accent-dark); }
  .merchant-row strong { display:block; font-size:12px; }
  .merchant-row span span { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
  .merchant-row svg { width:17px; height:17px; }

  .record-sidebar { position:sticky; top:28px; }
  .sidebar-specimen { border:1px solid var(--line-dark); background:var(--accent); }
  .sidebar-specimen__label { display:flex; justify-content:space-between; gap:18px; padding:10px 12px; border-bottom:1px solid var(--line-dark); font:650 8px/1.2 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
  .sidebar-specimen .device-study { padding:16px; }
  .device-study .portrait-fill { fill:var(--white); }
  .device-study .portrait-line { fill:none; stroke:var(--ink); stroke-width:2; }
  .device-study .portrait-accent { fill:var(--ink); }
  .device-study .portrait-measure { stroke:rgb(23 23 20 / 52%); }
  .sidebar-section { margin-top:34px; border-top:1px solid var(--line-dark); padding-top:12px; }
  .sidebar-section h3 { font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
  .sidebar-section ul { margin-top:10px; list-style:none; }
  .sidebar-section li { display:grid; grid-template-columns:17px minmax(0,1fr); gap:10px; padding-block:10px; border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:11px; }
  .sidebar-section li svg { width:15px; height:15px; color:var(--accent-dark); }
  .sidebar-section dl { margin-top:8px; }
  .sidebar-section dl > div { display:flex; justify-content:space-between; gap:16px; padding-block:9px; border-bottom:1px solid var(--line); font-size:11px; }
  .sidebar-section dt { color:var(--muted); }
  .sidebar-section dd { font-weight:650; }

  .guide-index { min-height:52vh; }
  .article-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:56px; align-items:end; padding:74px 0 70px; }
  .article-heading h1 { max-width:10ch; margin-top:18px; font-size:clamp(3.8rem,6.7vw,6.6rem); }
  .article-heading .hero-lead { margin-top:26px; }
  .record-pill { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line-dark); padding:8px 10px; font:650 9px/1 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
  .record-pill svg { width:13px; height:13px; }
  .article-section { padding-block:clamp(72px,8vw,112px); }
  .article-layout { display:grid; grid-template-columns:minmax(0,720px) 240px; gap:96px; align-items:start; }
  .article-body p { color:var(--ink-soft); font-family:var(--serif); font-size:21px; line-height:1.62; }
  .article-body p + p { margin-top:28px; }
  .article-body p:first-child { font-size:25px; color:var(--ink); }
  .article-aside { position:sticky; top:30px; border-top:1px solid var(--line-dark); padding-top:12px; }
  .article-aside > span { color:var(--accent-dark); font:700 9px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
  .article-aside strong { display:block; margin-top:20px; font-family:var(--serif); font-size:24px; font-weight:400; line-height:1.1; }
  .article-aside p { margin-top:12px; color:var(--muted); font-size:11px; }

  .legal-section { min-height:70vh; padding-bottom:110px; }
  .legal { max-width:980px; }
  .legal .breadcrumb { margin-top:20px; }
  .legal > h1 { max-width:8ch; margin-top:70px; font-size:clamp(4rem,7vw,7rem); }
  .legal__content { max-width:700px; margin-top:64px; }
  .legal__content p, .legal__content li { color:var(--ink-soft); font-family:var(--serif); font-size:19px; line-height:1.65; }
  .legal__content p + p { margin-top:18px; }
  .legal__content h2 { margin-top:55px; font-size:36px; }
  .legal__content ul { margin-top:18px; padding-left:22px; }
  .legal__content li + li { margin-top:8px; }
  .not-found { display:grid; min-height:68vh; place-items:center; padding-block:80px; }
  .not-found .catalog-line { margin-bottom:80px; }
  .not-found h1 { max-width:8ch; margin-top:20px; }
  .not-found > .shell > p:not(.eyebrow) { max-width:520px; margin-top:24px; color:var(--ink-soft); }
  .not-found .button { margin-top:32px; }
  .toast { position:fixed; z-index:100; right:18px; bottom:18px; transform:translateY(10px); border:1px solid var(--line-dark); background:var(--ink); color:var(--white); padding:10px 13px; font:650 10px/1.2 var(--mono); opacity:0; pointer-events:none; transition:opacity .16s ease, transform .16s ease; }
  .toast[data-open="true"] { transform:translateY(0); opacity:1; }
}

@layer responsive {
  @media (max-width:1080px) {
    .masthead { grid-template-columns:minmax(210px,1fr) auto; }
    .masthead__edition { display:none; }
    .hero-grid { grid-template-columns:minmax(0,1fr) 390px; }
    .hero-copy { padding-right:44px; }
    .directory-grid, .guides-layout { gap:55px; }
    .method-grid { gap:60px; }
    .record-layout { grid-template-columns:minmax(0,1fr) 280px; gap:55px; }
    .footer-grid { gap:34px; }
  }

  @media (max-width:860px) {
    .shell { width:min(calc(100% - 32px),var(--shell)); }
    .site-header { position:sticky; top:0; }
    .masthead { min-height:66px; }
    .nav-toggle { display:grid; justify-self:end; }
    .site-nav { position:absolute; top:calc(100% + 1px); right:16px; left:16px; display:none; flex-direction:column; align-items:stretch; gap:0; border:1px solid var(--line-dark); background:var(--paper); padding:8px 14px; }
    .site-nav[data-open="true"] { display:flex; }
    .site-nav a { padding:12px 2px; border-bottom:1px solid var(--line); }
    .site-nav .nav-action { border-bottom:0; }
    .catalog-line { grid-template-columns:1fr auto; }
    .catalog-line span:nth-child(2) { display:none; }
    .hero-grid { grid-template-columns:1fr; min-height:auto; }
    .hero-copy { padding:70px 0 58px; border-right:0; }
    .hero-copy h1 { max-width:9ch; }
    .specimen { border-top:1px solid var(--line-dark); }
    .specimen__art { min-height:560px; }
    .proof-strip { grid-template-columns:1fr; }
    .proof-item + .proof-item { border-top:1px solid var(--line-dark); border-left:0; }
    .directory-grid, .method-grid, .guides-layout { grid-template-columns:1fr; gap:60px; }
    .directory-intro h2, .method-section h2, .guides-heading h2 { max-width:10ch; }
    .record-register { margin-top:8px; }
    .record-layout { grid-template-columns:1fr; }
    .record-sidebar { position:static; display:grid; grid-template-columns:1fr 1fr; gap:28px; }
    .sidebar-specimen { grid-row:span 2; }
    .record-heading { grid-template-columns:1fr; gap:50px; }
    .record-state { max-width:340px; }
    .article-layout { grid-template-columns:1fr; gap:58px; }
    .article-aside { position:static; max-width:420px; }
    .footer-grid { grid-template-columns:1fr 1fr 1fr; }
    .footer-intro { grid-column:1 / -1; }
  }

  @media (max-width:620px) {
    .shell { width:min(calc(100% - 24px),var(--shell)); }
    h1 { font-size:clamp(3.4rem,17vw,5.15rem); }
    h2 { font-size:clamp(2.35rem,12vw,3.5rem); }
    .preview-bar__inner { justify-content:center; min-height:39px; text-align:center; }
    .preview-bar__inner > span:last-child { display:none; }
    .brand__wordmark { font-size:13px; }
    .catalog-line { padding-block:10px; }
    .hero-copy { padding-block:56px 48px; }
    .hero-copy h1 { margin-top:17px; }
    .hero-copy h1 span:nth-child(2) { margin-left:.22em; }
    .hero-copy .hero-lead { margin-top:23px; font-size:16px; }
    .lookup { margin-top:34px; }
    .lookup__label span:last-child { display:none; }
    .finder { grid-template-columns:1fr; }
    .finder__field { min-height:58px; padding-inline:15px; }
    .finder__button { min-height:50px; border-top:1px solid var(--line-dark); border-left:0; }
    .lookup__foot { grid-template-columns:1fr; }
    .popular { justify-content:flex-start; }
    .specimen__art { min-height:450px; padding:62px 16px 100px; }
    .specimen__head { right:16px; left:16px; }
    .specimen__tag { max-width:165px; padding:8px 9px; font-size:9px; }
    .specimen__tag--model { right:13px; bottom:126px; }
    .specimen__tag--part { bottom:82px; left:13px; }
    .specimen figcaption { grid-template-columns:1fr; min-height:74px; gap:4px; padding:13px 15px; }
    .specimen figcaption span:last-child { display:none; }
    .proof-item { min-height:60px; }
    .directory-section, .guides-section, .guide-index { padding-block:76px; }
    .directory-grid, .guides-layout { gap:48px; }
    .category-row { grid-template-columns:27px 30px 1fr; gap:12px; }
    .record-row { grid-template-columns:32px minmax(0,1fr) 15px; gap:10px; min-height:74px; }
    .record-row__state { display:none; }
    .record-row__identity strong { font-size:19px; }
    .method-grid { padding-block:74px; gap:48px; }
    .method-ledger li { grid-template-columns:40px 1fr; }
    .closing-strip__inner { grid-template-columns:1fr auto; min-height:84px; }
    .closing-strip__inner > span { display:none; }
    .footer-grid { grid-template-columns:1fr 1fr; gap:38px 24px; padding-block:58px; }
    .footer-intro { grid-column:1 / -1; }
    .footer-legal { grid-template-columns:1fr; gap:7px; }
    .footer-legal span:last-child { text-align:left; }
    .record-heading { padding-block:56px 52px; }
    .record-heading h1, .article-heading h1, .legal > h1 { font-size:clamp(3.3rem,15vw,5rem); }
    .answer-sheet__grid { grid-template-columns:1fr; }
    .answer-sheet__grid > div { min-height:150px; padding:22px; }
    .answer-sheet__grid > div + div { border-top:1px solid var(--line-dark); border-left:0; }
    .record-block { padding-block:46px; }
    .record-block__head { grid-template-columns:32px 1fr; gap:11px; }
    .record-block > p, .facts-grid, .callout, .compatibility-table-wrap, .step-list, .source-list, .empty-state, .merchant-list { margin-left:43px; }
    .facts-grid { grid-template-columns:1fr; }
    .record-sidebar { grid-template-columns:1fr; }
    .article-heading { grid-template-columns:1fr; padding-block:56px 52px; }
    .record-pill { justify-self:start; }
    .article-body p { font-size:19px; }
    .article-body p:first-child { font-size:22px; }
    .legal > h1 { margin-top:50px; }
    .legal__content { margin-top:45px; }
  }

  @media print {
    .preview-bar, .site-header, .site-footer, .lookup, .copy-button, .toast { display:none!important; }
    body { background:white; color:black; }
    .shell { width:100%; }
    .record-layout { grid-template-columns:1fr; }
    .record-sidebar { position:static; margin-top:40px; }
  }
}

.analytics-preference-notice{margin:0;padding:16px 24px;background:#edf2e9;color:#244837;border-bottom:1px solid #cfd8ce;font-size:14px;line-height:1.6}


/*
 * White-first visual reset.
 *
 * The shared UI remains editorial, but the page canvas must stay neutral.
 * Vertical colours are signals for identifiers, focus, status and tiny accents —
 * never full-page backgrounds or large decorative panels.
 */

@layer white-canvas {
  :root,
  html[data-site] {
    --paper: #ffffff;
    --paper-deep: #f7f7f5;
    --white: #ffffff;
    --surface: #ffffff;
    --tint: #f7f8f6;
    --line: #e3e4e0;
    --line-dark: #20211f;
  }

  html,
  body,
  .site-header,
  .home-hero,
  .directory-section,
  .guides-section,
  .guide-index,
  .record-hero,
  .record-main,
  .article-section,
  .legal-section,
  .not-found {
    background: #ffffff;
  }

  .preview-bar {
    border-bottom-color: var(--line);
    background: #ffffff;
  }

  .preview-bar__state,
  .eyebrow,
  .section-label,
  .proof-item span,
  .record-block__head > span,
  .step-list span,
  .record-state > span {
    color: var(--accent-dark);
  }

  .brand__mark {
    background: #ffffff;
    color: var(--ink);
  }

  .brand__mark::after {
    position: absolute;
    width: 6px;
    height: 6px;
    right: -1px;
    bottom: -1px;
    background: var(--accent);
    content: "";
  }

  .brand__mark {
    position: relative;
  }

  .specimen {
    border-left: 1px solid var(--line-dark);
    background: #ffffff;
  }

  .specimen__head {
    border-bottom-color: var(--line);
  }

  .portrait-fill {
    fill: #ffffff;
  }

  .portrait-accent {
    fill: var(--accent);
  }

  .portrait-accent.portrait-line {
    stroke: var(--ink);
  }

  .specimen__tag,
  .specimen figcaption {
    background: #ffffff;
  }

  .specimen__tag {
    border-color: var(--line-dark);
  }

  .proof-strip,
  .answer-sheet,
  .compatibility-table,
  .search-results {
    background: #ffffff;
  }

  .category-row__icon {
    border-color: var(--line-dark);
    background: #ffffff;
    color: var(--accent-dark);
  }

  .record-row:hover,
  .merchant-row:hover,
  .merchant-ledger a:hover,
  .search-result a:hover,
  .search-result[data-active="true"] a {
    background: #f7f7f5;
    box-shadow: inset 3px 0 0 var(--accent);
  }

  .finder:focus-within {
    outline-color: var(--accent-dark);
  }

  .finder__button:hover,
  .button:hover {
    background: var(--ink);
    color: #ffffff;
  }

  .method-section {
    border-top: 1px solid var(--line-dark);
    border-bottom: 1px solid var(--line-dark);
    background: #ffffff;
    color: var(--ink);
  }

  .method-section h2,
  .method-ledger strong {
    color: var(--ink);
  }

  .method-section .section-label,
  .method-ledger > li > span {
    color: var(--accent-dark);
  }

  .method-intro > p:last-child,
  .method-ledger p {
    color: var(--muted);
  }

  .method-ledger {
    border-top-color: var(--line-dark);
  }

  .method-ledger li {
    border-bottom-color: var(--line);
  }

  .site-footer {
    background: #f7f7f5;
  }

  .sidebar-specimen {
    background: #ffffff;
  }

  .closing-strip {
    background: #ffffff;
  }

  @media (max-width: 860px) {
    .site-nav {
      background: #ffffff;
    }
  }
}

@layer media {
  .product-media {
    margin-top: 28px;
    border-top: 1px solid var(--line-dark);
    padding-top: 42px;
  }

  .product-media__head {
    display: grid;
    grid-template-columns: 9rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
  }

  .product-media__head > span {
    color: var(--accent-dark);
    font: 700 .62rem/1.2 var(--mono);
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .product-media__head h2 {
    font: 400 clamp(2rem, 3.5vw, 3.2rem)/1 var(--serif);
    letter-spacing: -.035em;
  }

  .product-media__head p {
    grid-column: 2;
    max-width: 38rem;
    color: var(--muted);
    font-size: .76rem;
  }

  .product-media__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
  }

  .product-media-card {
    display: grid;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line-dark);
    background: #ffffff;
    color: var(--ink);
    text-decoration: none;
  }

  .product-media-card__image {
    display: grid;
    min-height: 19rem;
    place-items: center;
    overflow: hidden;
    background: #f7f7f5;
    padding: 1rem;
  }

  .product-media-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 25rem;
    object-fit: contain;
  }

  .product-media-card__caption {
    display: grid;
    gap: .35rem;
    border-top: 1px solid var(--line);
    padding: .9rem 1rem;
  }

  .product-media-card__caption strong {
    font-family: var(--serif);
    font-size: 1.1rem;
    font-weight: 400;
  }

  .product-media-card__caption small {
    color: var(--muted);
    font: 600 .58rem/1.35 var(--mono);
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .product-media-card__caption a,
  .product-media-card__caption > span:last-child {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .4rem;
    color: var(--accent-dark);
    font-size: .7rem;
    font-weight: 700;
  }

  .product-media-card__caption svg {
    width: .8rem;
    height: .8rem;
  }

  .product-media-card--amazon:hover {
    box-shadow: inset 4px 0 0 var(--accent);
  }

  .product-media-card--amazon .product-media-card__action {
    color: var(--ink);
  }

  .amazon-disclosure {
    margin-top: .75rem;
    color: var(--muted);
    font-size: .65rem;
  }

  @media (max-width: 620px) {
    .product-media__head {
      grid-template-columns: 1fr;
    }

    .product-media__head p {
      grid-column: 1;
    }

    .product-media__grid {
      grid-template-columns: 1fr;
    }

    .product-media-card__image {
      min-height: 15rem;
    }
  }
}


/* Shopping stays separate from model-fit approval and the source registry. */
.spm-site .spm-system-intro { padding-top: 28px; max-width: 850px; }
.spm-site .spm-system-intro h1 { margin: 10px 0 16px; }
.spm-site .spm-system-intro > p:last-of-type { color: var(--spm-muted); font-size: 15px; }
.spm-site .spm-system-nav { display: flex; gap: 8px 28px; flex-wrap: wrap; margin-top: 20px; }
.spm-site .spm-system-nav a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 13px; font-weight: 650; text-decoration: none; }
.spm-site .spm-system-nav a:not(.spm-button) { color: var(--spm-blue); }
.spm-site .spm-system-nav svg { width: 17px; height: 17px; }
.spm-site .spm-system-nav a:first-child { border-bottom: 2px solid var(--spm-blue); }
.spm-site .spm-shop { padding: 42px 0; border-bottom: 1px solid var(--spm-border); background: #fff; }
.spm-site .spm-shop__heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 26px; }
.spm-site .spm-shop__heading h2 { margin: 9px 0 12px; font-size: clamp(1.65rem, 2.6vw, 2.15rem); }
.spm-site .spm-shop__heading p { max-width: 65ch; color: var(--spm-muted); font-size: 14px; line-height: 1.6; }
.spm-site .spm-shop__fit-link { display: inline-flex; align-items: center; gap: 9px; flex-shrink: 0; min-height: 44px; color: var(--spm-blue); font-size: 13px; text-underline-offset: 4px; }
.spm-site .spm-shop__fit-link svg { width: 16px; height: 16px; }
.spm-site .spm-shop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.spm-site .spm-shop-grid--single { grid-template-columns: minmax(0, 700px); }
.spm-site .spm-shop-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--spm-border); border-radius: 9px; background: #fff; }
.spm-site .spm-shop-card__body { display: flex; flex: 1; flex-direction: column; align-items: start; padding: 24px; }
.spm-site .spm-shop-card__brand { color: var(--spm-muted); font-size: 11px; font-weight: 650; letter-spacing: .09em; text-transform: uppercase; }
.spm-site .spm-shop-card h3 { margin-top: 10px; font-size: 20px; line-height: 1.25; text-wrap: initial; }
.spm-site .spm-shop-card__reference { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 17px; color: var(--spm-muted); font-size: 12px; }
.spm-site .spm-shop-card__reference strong { color: var(--spm-ink); background: var(--spm-surface); padding: 4px 9px; border-radius: 3px; font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.spm-site .spm-shop-card__contents { margin-top: 16px; font-size: 14px; line-height: 1.6; color: var(--spm-ink-soft); }
.spm-site .spm-shop-card__purchase { width: 100%; margin-top: auto; padding-top: 26px; }
.spm-site .spm-buy-button { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 50px; padding: 13px 18px; border: 1px solid var(--spm-blue); border-radius: 5px; background: var(--spm-blue); color: #fff; font-size: 14px; font-weight: 650; text-decoration: none; }
.spm-site .spm-buy-button:hover { background: var(--spm-blue-dark); border-color: var(--spm-blue-dark); color: #fff; }
.spm-site .spm-buy-button svg { flex: 0 0 18px; width: 18px; height: 18px; }
.spm-site .spm-shop-card__purchase small { display: block; margin-top: 9px; font-size: 11px; line-height: 1.6; color: var(--spm-muted); }
.spm-site .spm-shop__fit-note { margin-top: 24px; color: var(--spm-ink-soft); font-size: 13px; line-height: 1.6; }
.spm-site .spm-shop__disclosure { margin-top: 8px; color: var(--spm-muted); font-size: 11px; line-height: 1.6; }
.spm-site .spm-shop-search { margin-top: 26px; max-width: 850px; }
.spm-site .spm-shop-search h3 { font-size: 18px; }
.spm-site .spm-shop-search > p { margin-top: 10px; color: var(--spm-muted); font-size: 13px; line-height: 1.7; max-width: 75ch; }
.spm-site .spm-shop-search ul { list-style: none; padding: 0; margin: 16px 0 20px; }
.spm-site .spm-shop-search li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 14px 0; border-bottom: 1px solid var(--spm-border); font-size: 14px; }
.spm-site .spm-shop-search li > span { overflow-wrap: anywhere; flex: 1 1 280px; }
.spm-site .spm-reference-note { display: block; margin-top: 6px; max-width: 65ch; color: var(--spm-muted); font-size: 12px; line-height: 1.6; }
.spm-site .spm-search-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 44px; padding: 10px 16px; border: 1px solid var(--spm-blue); border-radius: 5px; background: var(--spm-blue); color: #fff; font-size: 13px; font-weight: 600; text-decoration: none; }
.spm-site .spm-search-button:hover { background: var(--spm-blue-dark); border-color: var(--spm-blue-dark); color: #fff; }
.spm-site .spm-search-button svg { width: 16px; height: 16px; flex-shrink: 0; }
.spm-site .spm-offer-photo { display: grid; place-items: center; padding: 24px; border-bottom: 1px solid var(--spm-border); }
.spm-site .spm-offer-photo img { display: block; width: 100%; height: 220px; object-fit: contain; }
.spm-site .spm-shop-grid--single .spm-shop-card:has(.spm-offer-photo:not([hidden])) { flex-direction: row; }
.spm-site .spm-shop-grid--single .spm-offer-photo { flex: 0 0 40%; border-bottom: 0; border-right: 1px solid var(--spm-border); }
.spm-site [data-amazon-disclosure] { padding-block: 1rem; font-size: .75rem; line-height: 1.6; }
.spm-site [data-amazon-disclosure] a { text-decoration: underline; text-underline-offset: .2em; }
[data-amazon-media][hidden] { display: none !important; }
@media (max-width: 900px) {
  .spm-site .spm-shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .spm-site .spm-shop-grid--single { grid-template-columns: minmax(0, 1fr); }
  .spm-site .spm-shop__heading { align-items: start; flex-direction: column; gap: 8px; }
}
@media (max-width: 600px) {
  .spm-site .spm-system-intro { padding-top: 20px; }
  .spm-site .spm-system-nav { gap: 18px; }
  .spm-site .spm-system-nav a { font-size: 12px; }
  .spm-site .spm-shop { padding-block: 28px; }
  .spm-site .spm-shop-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .spm-site .spm-shop-card__body { padding: 20px; }
  .spm-site .spm-shop-grid--single .spm-shop-card:has(.spm-offer-photo:not([hidden])) { flex-direction: column; }
  .spm-site .spm-shop-grid--single .spm-offer-photo { border-right: 0; border-bottom: 1px solid var(--spm-border); }
}

.spm-site .spm-reference-source { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 12px; color: var(--spm-muted); text-underline-offset: 3px; }
.spm-site .spm-reference-source svg { width: 14px; height: 14px; }

.spm-site .spm-answer-parts { display:grid; gap:14px; }
.spm-site .spm-system-hero .spm-answer-parts { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); margin-top:20px; }
.spm-site .spm-answer-part { display:grid; min-width:0; gap:10px; padding:16px; border:1px solid var(--spm-border); border-radius:6px; background:var(--spm-surface); }
.spm-site .spm-answer-part h3 { margin:0; color:var(--spm-muted); font-size:14px; font-weight:550; line-height:1.45; }
.spm-site .spm-answer-part__reference { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.spm-site .spm-answer-part__reference strong { min-width:0; color:var(--spm-ink); font-size:clamp(1.5rem,3vw,2rem); letter-spacing:-.025em; overflow-wrap:anywhere; }
.spm-site .spm-answer-part__reference button { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border:1px solid var(--spm-border-strong); border-radius:5px; background:#fff; color:var(--spm-blue-dark); cursor:pointer; }
.spm-site .spm-answer-part__reference button svg { width:16px; height:16px; }
.spm-site .spm-answer-part .spm-buy-button { margin-top:4px; }
.spm-site .spm-answer-part small { color:var(--spm-muted); font-size:11px; line-height:1.6; }
.spm-site .spm-component-note { padding:14px 16px; border-left:3px solid var(--spm-blue); background:var(--spm-blue-faint); color:var(--spm-ink-soft); }
.spm-site .spm-reference-visual { display:flex; min-width:0; min-height:250px; flex-direction:column; align-items:start; justify-content:center; gap:12px; padding:30px; border-radius:7px; background:var(--spm-surface); overflow-wrap:anywhere; }
.spm-site .spm-reference-visual__icon svg { width:32px; height:32px; color:var(--spm-blue); }
.spm-site .spm-reference-visual > span:not(.spm-reference-visual__icon) { font-size:11px; font-weight:650; text-transform:uppercase; letter-spacing:.08em; color:var(--spm-muted); }
.spm-site .spm-reference-visual strong { font-size:clamp(1.35rem,2.5vw,2rem); letter-spacing:-.025em; line-height:1.35; }
.spm-site .spm-reference-visual small { color:var(--spm-muted); font-size:12px; line-height:1.55; }
.spm-site .spm-reference-visual--compact { min-height:160px; padding:24px; border-radius:0; }
.spm-site .spm-reference-visual--compact strong { font-size:1.35rem; }
.spm-site .ux-research-link { margin-top:24px; color:var(--spm-muted); font-size:13px; line-height:1.7; }
.spm-site .ux-research-link a { color:var(--spm-blue); text-underline-offset:3px; }
.spm-site .spm-mobile-purchase { display:none; }
.spm-site.spm-model .spm-record-hero__grid { align-items:start; }
.spm-site.spm-model .spm-device-summary { grid-column:1; grid-row:1; }
.spm-site.spm-model .spm-result-card { grid-column:2; grid-row:1 / span 2; }
.spm-site .spm-device-photo { grid-column:1; grid-row:2; min-width:0; }
.spm-site .spm-device-photo img { width:100%; max-height:300px; object-fit:contain; }
.spm-site.spm-model .spm-record-hero__grid--multiple-parts .spm-result-card { grid-column:1 / -1; grid-row:2; }
.spm-site .spm-record-hero__grid--multiple-parts .spm-answer-parts { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.spm-site .spm-record-hero__grid--multiple-parts .spm-device-photo { grid-row:3; }
.spm-site .spm-reviewed-guidance { margin-top:28px; padding:24px; border:1px solid var(--spm-border); border-radius:8px; background:var(--spm-blue-faint); }
.spm-site .spm-reviewed-guidance h2 { font-size:1.3rem; }
.spm-site .spm-reviewed-guidance p { margin-block:14px; font-size:14px; line-height:1.6; }
@media (max-width:860px) {
  .spm-site.spm-model .spm-result-card { grid-column:1; grid-row:2; }
  .spm-site .spm-device-photo { grid-column:1; grid-row:3; }
}
@media (max-width:680px) {
  .spm-site .spm-record-hero__grid--multiple-parts .spm-answer-parts { grid-template-columns:1fr; }
  .spm-site .spm-reference-visual { min-height:180px; }
  .spm-site .spm-mobile-purchase:not([hidden]) { position:fixed; inset:auto 0 0; z-index:30; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--spm-border); background:#fff; box-shadow:0 -4px 24px #1332620a; }
  .spm-site .spm-mobile-purchase strong { display:block; font-size:16px; }
  .spm-site .spm-mobile-purchase small { display:block; margin-top:4px; font-size:10px; color:var(--spm-muted); }
  .spm-site .spm-mobile-purchase .spm-buy-button { min-height:44px; padding:10px 12px; font-size:12px; }
  .spm-site.has-mobile-purchase { padding-bottom:150px; }
}


/* Shared customer experience. Loaded last so every vertical uses the same tokens. */
@layer discovery {
  :root, html[data-site] {
    --pm-paper: #fafaf7;
    --pm-surface: #f0f1eb;
    --pm-ink: #202a25;
    --pm-green: #285847;
    --pm-muted: #626a63;
    --pm-line: #dadfd7;
    --pm-shell: 1180px;
    --pm-accent-dark: #1d4335;
    --pm-accent-soft: #edf2e9;
    --pm-result-surface: #edf1e7;
    --pm-hover-surface: #f0f4ec;
    --pm-accent-faint: #f7f8f3;
    --pm-border-strong: #b7c0b2;
    --pm-card-border: #d8dfd0;
    --pm-heading-weight: 500;
    --pm-subheading-weight: 550;
    --paper: var(--pm-paper); --paper-deep: var(--pm-surface); --ink: var(--pm-ink);
    --ink-soft: #465149; --muted: var(--pm-muted); --line: var(--pm-line);
    --line-dark: var(--pm-line); --accent: #d4e1ca; --accent-dark: var(--pm-green);
    --accent-ink: var(--pm-ink); --white: #fff;
    --spm-blue: var(--pm-green); --spm-blue-dark: #1d4335;
    --spm-blue-soft: #edf2e9; --spm-blue-faint: #f7f8f3;
    --spm-ink: var(--pm-ink); --spm-ink-soft: #465149; --spm-muted: var(--pm-muted);
    --spm-surface: var(--pm-surface); --spm-border: var(--pm-line);
    --spm-border-strong: #b4bdb1; --spm-radius: 8px; --spm-radius-lg: 10px;
    background: var(--pm-paper); color-scheme: light;
  }
  html[data-site]:not([data-site="shaver"]) {
    --pm-paper: #fff; --pm-surface: #f5f7fa; --pm-ink: #080f32;
    --pm-muted: #526184; --pm-line: #e1e8f3; --pm-shell: 1160px;
    --pm-border-strong: #c3d3ec; --pm-card-border: var(--pm-line);
    --pm-result-surface: var(--pm-accent-soft); --pm-hover-surface: var(--pm-accent-soft);
    --pm-heading-weight: 720; --pm-subheading-weight: 650;
    --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --accent: var(--pm-green); --accent-dark: var(--pm-accent-dark); --accent-ink: #fff;
    --ink-soft: #36476e; --spm-blue: var(--pm-green); --spm-blue-dark: var(--pm-accent-dark);
    --spm-blue-soft: var(--pm-accent-soft); --spm-blue-faint: var(--pm-accent-faint);
    --spm-ink-soft: #36476e; --spm-border-strong: var(--pm-border-strong);
    background: var(--pm-paper);
  }
  html[data-site]:not([data-site="shaver"]) h1 { font-size: clamp(2.125rem, 4.8vw, 4rem); line-height: 1.07; }
  html[data-site]:not([data-site="shaver"]) h2 { font-size: clamp(1.75rem, 2.7vw, 2.25rem); line-height: 1.15; }
  html[data-site]:not([data-site="shaver"]) h3 { line-height: 1.35; }
  html[data-site]:not([data-site="shaver"]) .pm-hero h1 { font-size: clamp(2.125rem, 4.8vw, 4rem); }
  html[data-site]:not([data-site="shaver"]) .pm-hero h1 em { color: var(--pm-green); }
  html[data-site]:not([data-site="shaver"]) .preview-bar { background: var(--pm-accent-faint); }
  html[data-site]:not([data-site="shaver"]) .preview-bar__inner { color: var(--pm-muted); }
  html[data-site]:not([data-site="shaver"]) .site-header { background: #fff; }
  html[data-site]:not([data-site="shaver"]) .masthead { min-height: 78px; }
  .masthead > .site-nav { margin-inline-start: auto; }
  .masthead > .nav-toggle { order: 3; }
  .brand { min-width: 0; max-width: 100%; flex: 0 1 auto; }
  .brand__mark { flex: 0 0 36px; }
  .brand__mark::after { content: none; }
  .brand__wordmark { overflow-wrap: anywhere; }
  html[data-site]:not([data-site="shaver"]) .brand__mark,
  html[data-site]:not([data-site="shaver"]) .brand__mark svg { width: 36px; height: 36px; color: var(--pm-green); }
  html[data-site]:not([data-site="shaver"]) .brand__wordmark { font-size: 19px; font-weight: 750; letter-spacing: -.045em; }
  html[data-site]:not([data-site="shaver"]) .site-nav { flex: none; gap: 28px; }
  html[data-site]:not([data-site="shaver"]) .site-nav > a { font-size: 14px; }
  html[data-site]:not([data-site="shaver"]) .pm-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 58px; gap: 0; padding: 0; border-color: var(--pm-border-strong); border-radius: 5px; }
  html[data-site]:not([data-site="shaver"]) .pm-search-field { min-height: 56px; padding: 0 15px; color: var(--pm-muted); }
  html[data-site]:not([data-site="shaver"]) .pm-search button { min-height: 56px; padding-inline: 17px; border-radius: 0 4px 4px 0; font-size: 13px; }
  html[data-site]:not([data-site="shaver"]) .pm-examples a { color: var(--pm-muted); }
  html[data-site]:not([data-site="shaver"]) .pm-brand-links { flex-wrap: wrap; justify-content: flex-start; gap: 12px; }
  html[data-site]:not([data-site="shaver"]) .pm-brand-links a { min-height: 58px; padding: 12px 20px; border: 1px solid var(--pm-line); border-radius: 5px; color: var(--pm-ink); font-size: 17px; font-weight: 650; }
  html[data-site]:not([data-site="shaver"]) .pm-brand-links a:hover { color: var(--pm-green); border-color: var(--pm-green); background: var(--pm-accent-faint); }
  html[data-site]:not([data-site="shaver"]) .pm-answer { border-radius: 6px; }
  html[data-site]:not([data-site="shaver"]) .pm-method { border-block: 1px solid var(--pm-line); background: var(--pm-accent-faint); }
  html[data-site]:not([data-site="shaver"]) .pm-method li { border-color: var(--pm-line); }
  html[data-site]:not([data-site="shaver"]) .site-footer { padding-top: 0; border-top: 1px solid var(--pm-line); background: #fff; }
  html[data-site]:not([data-site="shaver"]) .footer-grid { padding-block: 48px; gap: 40px; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); }
  .footer-legal { font: 400 11px/1.65 var(--sans); letter-spacing: 0; border-color: var(--pm-line); }
  html[data-site] body { background: var(--pm-paper); color: var(--pm-ink); font-family: var(--sans); line-height: 1.55; }
  html[data-site] h1, html[data-site] h2, html[data-site] h3 { color: var(--pm-ink); font-family: var(--sans); font-weight: var(--pm-heading-weight); letter-spacing: -.045em; line-height: 1.08; text-wrap: balance; }
  html[data-site] h1 { font-size: clamp(2.5rem, 4.7vw, 4.5rem); }
  html[data-site] h2 { font-size: clamp(2rem, 3vw, 2.65rem); }
  html[data-site] h3 { font-size: 1.15rem; font-weight: var(--pm-subheading-weight); letter-spacing: -.02em; }
  a, button, input, select, summary { touch-action: manipulation; -webkit-tap-highlight-color: #dce9d7; }
  html[data-site] :focus-visible { outline: 3px solid var(--pm-green); outline-offset: 4px; }
  button, a { transition: background-color .18s, color .18s, border-color .18s, transform .18s; }
  button:active, .pm-button:active { transform: translateY(1px); }
  button, input, select { font-family: inherit; }
  [id] { scroll-margin-top: 100px; }
  .pm-shell, html[data-site] .shell, html[data-site] .spm-shell { width: min(calc(100% - 64px), var(--pm-shell)); margin-inline: auto; }
  .pm-eyebrow, html[data-site] .spm-eyebrow, .section-label, .eyebrow { color: var(--pm-green); font: 600 11px/1.4 var(--sans); letter-spacing: .13em; text-transform: uppercase; }
  html[data-site] .spm-preview, .preview-bar { background: var(--pm-result-surface); border-bottom: 1px solid var(--pm-line); }
  html[data-site] .spm-preview__inner, .preview-bar__inner { min-height: 29px; color: #515e50; font: 400 11px/1.4 var(--sans); text-transform: none; letter-spacing: 0; }
  html[data-site] .spm-preview__inner > span:first-child { color: #515e50; font-weight: 600; }
  html[data-site] .spm-header, .site-header { position: sticky; top: 0; z-index: 60; border-bottom: 1px solid var(--pm-line); background: var(--pm-paper); backdrop-filter: none; }
  html[data-site] .spm-header__inner, .masthead { display: flex; min-height: 80px; justify-content: space-between; align-items: center; gap: 24px; }
  html[data-site] .spm-brand, .brand { gap: 10px; color: var(--pm-green); }
  html[data-site] .spm-brand__mark, .brand__mark { display: grid; width: 34px; height: 38px; padding: 0; place-items: center; border: 0; border-radius: 0; background: transparent; color: var(--pm-green); }
  html[data-site] .spm-brand__mark svg, .brand__mark svg { width: 28px; height: 28px; }
  html[data-site] .spm-brand__wordmark, .brand__wordmark { color: var(--pm-ink); font: 650 17px/1.1 var(--sans); letter-spacing: -.045em; }
  html[data-site] .spm-nav, .site-nav { gap: 28px; }
  html[data-site] .spm-nav > a:not(.spm-button), .site-nav > a { color: var(--pm-ink); font: 500 13px/1.3 var(--sans); text-transform: none; letter-spacing: 0; }
  html[data-site] .spm-nav > a[aria-current], .site-nav > a[aria-current] { text-decoration: underline; text-underline-offset: 6px; }
  .pm-button, html[data-site] .spm-button, .site-nav .nav-action { display: inline-flex; min-height: 46px; justify-content: center; align-items: center; gap: 12px; padding: 12px 20px; border: 1px solid var(--pm-green); border-radius: 5px; background: var(--pm-green); color: #fff; box-shadow: none; font: 550 13px/1.35 var(--sans); text-decoration: none; }
  .pm-button:hover, html[data-site] .spm-button:hover, .site-nav .nav-action:hover { background: var(--pm-accent-dark); border-color: var(--pm-accent-dark); color: #fff; box-shadow: none; }
  html[data-site] .spm-button--secondary { background: transparent; color: var(--pm-green); }
  .pm-button svg, .pm-text-link svg, .pm-search svg, .pm-brand-links svg, .pm-device-action svg, .pm-hero-visual svg, .pm-guide-links svg { width: 17px; height: 17px; flex: 0 0 17px; }
  .pm-text-link { display: inline-flex; min-height: 44px; align-items: center; gap: 12px; color: var(--pm-green); font-size: 13px; font-weight: 550; text-decoration: none; }
  .pm-text-link:hover { text-decoration: underline; text-underline-offset: 5px; }

  .pm-hero { border-bottom: 1px solid var(--pm-line); }
  .pm-hero-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: center; gap: 56px; padding-block: 54px 42px; }
  .pm-hero-copy { min-width: 0; }
  html[data-site] .pm-hero h1 { margin-top: 22px; font: var(--pm-heading-weight) clamp(2.6rem, 4.5vw, 4.1rem)/1.06 var(--sans); letter-spacing: -.055em; text-wrap: initial; }
  .pm-hero h1 em { color: #6d7d65; font: inherit; }
  .pm-lead { max-width: 390px; margin-top: 23px; color: var(--pm-muted); font-size: 16px; line-height: 1.6; }
  .pm-hero-visual { align-self: stretch; position: relative; display: flex; flex-direction: column; min-width: 0; justify-content: center; }
  .pm-hero-visual > img { width: 100%; height: 405px; object-fit: contain; mix-blend-mode: multiply; }
  .pm-hero-visual figcaption { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0 0; color: var(--pm-muted); font-size: 10px; }
  .pm-hero-visual figcaption > a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--pm-green); text-decoration: none; }
  .pm-hero-visual figcaption > a:hover { text-decoration: underline; }
  .pm-hero-bottom { display: flex; align-items: center; justify-content: space-between; padding-block: 22px; border-top: 1px solid var(--pm-line); gap: 20px; }
  .pm-hero-bottom > p { color: var(--pm-muted); font-size: 11px; }
  .pm-journey { display: flex; align-items: center; gap: 28px; padding: 0; margin: 0; list-style: none; }
  .pm-journey li { display: flex; align-items: center; gap: 9px; color: var(--pm-muted); font-size: 11px; white-space: nowrap; }
  .pm-journey li > span { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid #c3cbbd; border-radius: 50%; font-size: 10px; }
  .pm-journey li[aria-current] { color: var(--pm-green); font-weight: 600; }
  .pm-journey li[aria-current] > span { background: var(--pm-green); border-color: var(--pm-green); color: white; }

  .pm-finder { position: relative; max-width: 580px; margin-top: 30px; }
  .pm-input-label { display: block; margin-bottom: 9px; color: var(--pm-ink); font-size: 12px; font-weight: 600; }
  .pm-search { display: flex; min-height: 59px; border: 1px solid var(--pm-border-strong); border-radius: 6px; background: #fff; padding: 5px; gap: 5px; }
  .pm-search:focus-within { outline: 2px solid var(--pm-green); outline-offset: 3px; }
  .pm-search-field { display: flex; align-items: center; flex: 1; gap: 10px; min-width: 0; padding-left: 11px; color: #6d7869; }
  .pm-search input { width: 100%; min-width: 0; min-height: 45px; border: 0; outline: none; background: transparent; color: var(--pm-ink); font-size: 15px; }
  .pm-search input:focus-visible { outline: none; }
  .pm-search input::placeholder { color: #727a70; }
  .pm-search button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; padding: 12px 16px; border: 0; border-radius: 3px; background: var(--pm-green); color: #fff; cursor: pointer; white-space: nowrap; font-size: 12px; font-weight: 600; }
  .pm-search button:hover { background: var(--pm-accent-dark); }
  .pm-finder-help { margin-top: 7px; }
  .pm-finder-help summary { width: fit-content; min-height: 44px; padding-block: 9px; color: var(--pm-green); font-size: 12px; cursor: pointer; }
  .pm-finder-help p { padding-top: 7px; color: var(--pm-muted); font-size: 12px; }
  .pm-finder-help a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--pm-green); font-size: 12px; text-decoration: none; }
  .pm-finder-help a:hover { text-decoration: underline; }
  .pm-finder-help svg { width: 13px; height: 13px; }
  .pm-examples { display: flex; align-items: center; flex-wrap: wrap; gap: 0 12px; margin-top: 2px; color: var(--pm-muted); font-size: 11px; }
  .pm-examples a { display: inline-flex; min-height: 44px; align-items: center; color: #5c6759; text-decoration-color: #b4bdad; text-underline-offset: 4px; }
  .pm-examples a:hover { color: var(--pm-green); text-decoration-color: var(--pm-green); }
  .pm-search-fallback { display: none; }
  .no-js .pm-search, .no-js .pm-examples, .no-js .pm-input-label, html.no-js[data-site]:not([data-site="shaver"]) .pm-search { display: none; }
  .no-js .pm-search-fallback { display: block; margin-top: 12px; font-size: 14px; }
  .pm-search-results { position: relative; top: auto; right: auto; left: auto; width: 100%; max-height: none; margin-top: 10px; border: 1px solid var(--pm-line); border-radius: 6px; background: #fff; box-shadow: 0 12px 24px #263a2910; z-index: 20; }
  .pm-search-results .search-results__meta { background: var(--pm-accent-soft); padding: 11px 14px; border-bottom: 1px solid var(--pm-line); font: 400 10px/1.4 var(--sans); text-transform: none; letter-spacing: 0; }
  .pm-search-results .search-result a { gap: 12px; padding: 14px; border-bottom: 1px solid var(--pm-line); }
  .pm-search-results .search-result__title { font: 600 14px/1.35 var(--sans); letter-spacing: -.01em; }
  .pm-search-results .search-result__sub { margin-top: 5px; color: var(--pm-muted); font: 400 11px/1.5 var(--sans); text-transform: none; }
  .pm-search-results .search-result a:hover, .pm-search-results .search-result[data-active="true"] a { background: var(--pm-hover-surface); box-shadow: inset 3px 0 var(--pm-green); }
  .search-empty a { color: var(--pm-green); }
  .search-empty button { min-height: 44px; border: 1px solid var(--pm-line); border-radius: 4px; background: white; padding: 8px 16px; cursor: pointer; }

  .pm-brand-section { border-bottom: 1px solid var(--pm-line); }
  .pm-brand-row { display: flex; position: relative; align-items: center; justify-content: space-between; gap: 28px; padding-block: 27px; }
  html[data-site] .pm-brand-row h2 { font: 400 11px/1.5 var(--sans); letter-spacing: 0; color: var(--pm-muted); }
  .pm-brand-links { display: flex; flex: 1; align-items: center; justify-content: space-evenly; gap: 18px; }
  .pm-brand-links a { display: flex; gap: 8px; align-items: center; min-height: 44px; color: #454e41; font-size: 16px; font-weight: 550; letter-spacing: -.04em; text-decoration: none; }
  .pm-brand-links a svg { width: 13px; height: 13px; opacity: 0; transform: translateX(-4px); transition: opacity .18s, transform .18s; }
  .pm-brand-links a:hover { color: var(--pm-green); }
  .pm-brand-links a:hover svg { opacity: 1; transform: none; }
  .pm-more-brands { position: relative; font-size: 11px; }
  .pm-more-brands summary { padding-block: 14px; cursor: pointer; }
  .pm-more-brands nav { position: absolute; z-index: 25; right: 0; width: 210px; margin-top: 10px; padding: 12px; border: 1px solid var(--pm-line); background: var(--pm-paper); box-shadow: 0 12px 24px #263a2910; }
  .pm-more-brands nav a { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding-inline: 8px; text-decoration: none; }
  .pm-more-brands nav svg { width: 14px; height: 14px; }
  .pm-more-brands nav a:hover { background: var(--pm-surface); }

  .pm-section { padding-block: 72px; }
  .pm-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 32px; }
  .pm-section-heading h2, .pm-method h2, .pm-help-grid h2 { margin-top: 17px; }
  .pm-section-heading > p { max-width: 295px; color: var(--pm-muted); font-size: 13px; line-height: 1.65; }
  .pm-devices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .pm-device { display: flex; min-width: 0; flex-direction: column; color: inherit; text-decoration: none; }
  .pm-device-image { overflow: hidden; background: var(--pm-surface); border-radius: 6px; }
  .pm-device-image img { width: 100%; height: 265px; object-fit: contain; padding: 20px; mix-blend-mode: multiply; transition: transform .3s; }
  .pm-device:hover .pm-device-image img { transform: scale(1.035); }
  .pm-device-copy { flex: 1; display: flex; flex-direction: column; align-items: start; padding: 21px 0; border-bottom: 1px solid var(--pm-line); }
  .pm-device:not(.pm-device--photo) .pm-device-copy { padding-top: 25px; border-top: 1px solid var(--pm-line); }
  .pm-device-copy > span:first-child { color: var(--pm-muted); font-size: 11px; }
  .pm-device-copy h3 { margin-top: 8px; }
  .pm-device-copy p { color: var(--pm-muted); margin-block: 12px 18px; font-size: 11px; }
  .pm-record-state { display: block; margin-top: 6px; font-size: 10px; color: #776443; }
  .pm-device-action { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; color: var(--pm-green); font-size: 12px; font-weight: 550; }
  .pm-browse-all { margin-top: 22px; }
  .pm-method { background: var(--pm-surface); padding-block: 66px; }
  .pm-method-grid, .pm-help-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 90px; }
  .pm-method .pm-text-link, .pm-help-grid .pm-text-link { margin-top: 22px; }
  .pm-method ol { list-style: none; }
  .pm-method li { display: flex; gap: 28px; padding-block: 21px; border-bottom: 1px solid #d4dacd; }
  .pm-method li:first-child { padding-top: 0; }
  .pm-method li:last-child { border: 0; padding-bottom: 0; }
  .pm-method li > span { color: #788470; font-size: 12px; font-variant-numeric: tabular-nums; }
  .pm-method li p { max-width: 375px; margin-top: 9px; color: var(--pm-muted); font-size: 13px; }
  .pm-guide-links > a { display: flex; justify-content: space-between; align-items: center; gap: 22px; padding-block: 23px; border-bottom: 1px solid var(--pm-line); text-decoration: none; }
  .pm-guide-links > a:first-child { padding-top: 0; }
  .pm-guide-links > a:hover { color: var(--pm-green); }
  .pm-guide-links small { color: var(--pm-muted); font-size: 10px; }
  .pm-guide-links > a > span > small { display: block; margin-top: 8px; }
  .pm-guide-links h3 { margin-top: 9px; }
  .pm-request { padding-block: 30px; border-block: 1px solid var(--pm-line); }
  .pm-request .pm-shell { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
  html[data-site] .pm-request h2 { font-size: 24px; }
  .pm-request p { margin-top: 7px; color: var(--pm-muted); font-size: 12px; }

  html[data-site] .spm-footer, .site-footer { border-top: 0; background: var(--pm-paper); padding-top: 54px; }
  html[data-site] .spm-footer__intro > p, .footer-intro > p { max-width: 260px; color: var(--pm-muted); font-size: 12px; line-height: 1.7; text-transform: none; }
  html[data-site] .spm-footer__column > strong, .footer-column > strong { font: 550 12px/1.5 var(--sans); letter-spacing: 0; text-transform: none; }
  html[data-site] .spm-footer__column > a, .footer-column > a { font: 400 12px/1.5 var(--sans); letter-spacing: 0; text-transform: none; }
  html[data-site] .spm-footer__legal, .footer-legal { padding-block: 24px; border-color: var(--pm-line); font: 400 10px/1.5 var(--sans); letter-spacing: 0; text-transform: none; }

  /* Keep the same calm hierarchy on every destination, not just the home page. */
  html[data-site] .spm-page-hero, html[data-site] .spm-catalog-hero, html[data-site] .spm-system-hero, html[data-site] .spm-registry-record-hero, html[data-site] .spm-record-hero, .record-hero { padding-block: 28px 42px; background: var(--pm-paper); }
  html[data-site] .spm-catalog-hero__grid { grid-template-columns: minmax(0, 1fr); margin-top: 22px; gap: 24px; }
  html[data-site] .spm-catalog-hero h1 { max-width: 850px; font-size: clamp(2.2rem, 4.5vw, 4rem); }
  html[data-site] .spm-catalog-hero__grid > div > p:last-child { max-width: 530px; margin-top: 18px; font-size: 14px; }
  html[data-site] .spm-catalog-section { padding-block: 36px 64px; background: var(--pm-paper); }
  html[data-site] .spm-catalog-section-heading h2 { font-size: 24px; }
  html[data-site] .spm-catalog-section-heading > p { font-size: 12px; }
  html[data-site] .spm-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
  html[data-site] .spm-system-card { padding: 24px; border: 1px solid var(--pm-line); border-radius: 5px; background: transparent; box-shadow: none; }
  html[data-site] .spm-system-card h3 { font-size: 22px; }
  html[data-site] .spm-system-card:hover { border-color: #8b9c82; box-shadow: none; transform: none; }
  html[data-site] .spm-system-card__ref { background: var(--pm-surface); border: 0; border-radius: 3px; }
  html[data-site] .spm-system-card__families small { background: transparent; border: 0; padding-inline: 0; }
  html[data-site] .spm-catalog-brand-section, html[data-site] .spm-catalog-disclosure { padding-block: 36px; background: var(--pm-surface); }
  html[data-site] .spm-catalog-controls { border: 0; padding: 0; background: transparent; }
  html[data-site] .spm-catalog-controls label > span { font-size: 12px; font-weight: 550; text-transform: none; letter-spacing: 0; }
  html[data-site] .spm-catalog-controls input, html[data-site] .spm-catalog-controls select { border: 1px solid var(--pm-border-strong); background: #fff; color: var(--pm-ink); border-radius: 4px; font-size: 14px; }
  html[data-site] .spm-system-card__ref strong, html[data-site] .spm-result-card__reference strong, html[data-site] .spm-registry-record-hero aside strong { overflow-wrap: anywhere; }
  html[data-site] .spm-status, html[data-site] .spm-evidence, html[data-site] .spm-priority { border-radius: 3px; background: #f0f1e9; color: #606b57; border-color: #d5dcca; font-size: 10px; box-shadow: none; }
  html[data-site] .spm-record-hero__grid { gap: 70px; align-items: start; margin-top: 22px; }
  html[data-site] .spm-record-hero h1 { font-size: clamp(2rem, 3.5vw, 3.1rem); }
  .spm-device-summary .pm-journey { margin-bottom: 28px; gap: 14px; }
  html[data-site] .spm-model .spm-record-hero__lead { max-width: 430px; font-size: 14px; }
  html[data-site] .spm-device-summary .spm-card-photo { margin-top: 20px; background: transparent; grid-template-rows: auto auto; min-height: 0; }
  html[data-site] .spm-device-summary .spm-card-photo > img { height: 270px; padding: 0; background: transparent; mix-blend-mode: multiply; }
  html[data-site] .spm-device-summary .spm-card-photo > span { display: none; }
  html[data-site] .spm-device-summary .spm-card-photo figcaption { border: 0; justify-content: center; color: var(--pm-muted); }
  html[data-site] .spm-result-card { background: var(--pm-result-surface); border: 1px solid var(--pm-card-border); border-radius: 8px; padding: 30px; box-shadow: none; }
  html[data-site] .spm-result-card h2 { font-size: 27px; }
  html[data-site] .spm-result-card__reference { background: #fafbf7; border: 1px solid var(--pm-card-border); border-radius: 5px; }
  html[data-site] .spm-result-card__reference strong { color: var(--pm-green); font-size: clamp(1.4rem, 2.3vw, 2.2rem); }
  .pm-market { color: var(--pm-muted); margin-top: 16px; font-size: 12px; }
  html[data-site] .spm-fit-summary { color: #725d35; font-size: 12px; }
  html[data-site] .spm-record-main, html[data-site] .spm-section, .record-main { background: var(--pm-paper); }
  html[data-site] .spm-customer-record { max-width: 940px; }
  html[data-site] .spm-customer-record > .spm-record-section { margin-top: 0; padding-block: 26px; border-color: var(--pm-line); }
  html[data-site] .spm-customer-record h2 { font-size: 25px; }
  html[data-site] .spm-record-section details > summary { min-height: 44px; cursor: pointer; font-size: 16px; font-weight: 500; }
  html[data-site] .spm-verification-steps { gap: 25px; }
  html[data-site] .spm-verification-steps h3 { font-size: 15px; }
  html[data-site] .spm-verification-steps p { font-size: 12px; }
  html[data-site] .spm-guide-card { border: 0; border-bottom: 1px solid var(--pm-line); border-radius: 0; box-shadow: none; background: transparent; }
  html[data-site] .spm-guide-card:hover { box-shadow: none; transform: none; }
  html[data-site] .spm-guide-article h2, html[data-site] .spm-guide-section h2 { font-size: 28px; }
  html[data-site] .spm-record-section, html[data-site] .spm-system-content > section, .record-block { min-width: 0; }
  html[data-site] .spm-registry-record-card, html[data-site] .spm-registry-record-sidebar > section { border-radius: 5px; box-shadow: none; background: transparent; }
  html[data-site] .spm-system-section-heading h2 { font-size: 26px; }
  .pm-detail { margin-top: 22px; border-top: 1px solid var(--pm-line); padding-top: 20px; }
  .pm-detail > summary { cursor: pointer; font-size: 16px; padding-block: 12px; }
  .pm-detail > p { color: var(--pm-muted); font-size: 14px; }
  .pm-model-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 65px; margin-top: 30px; }
  .pm-model-layout h1 { margin-top: 22px; }
  .pm-model-layout .pm-lead { max-width: 460px; font-size: 14px; }
  .pm-answer { padding: 28px; border: 1px solid var(--pm-card-border); border-radius: 7px; background: var(--pm-result-surface); }
  .pm-answer h2 { margin-top: 15px; font-size: 24px; }
  .pm-answer code { display: block; margin-block: 20px; font: 600 24px/1.4 var(--sans); overflow-wrap: anywhere; color: var(--pm-green); }
  .pm-answer .pm-button { margin-top: 20px; }
  .pm-answer > p { font-size: 12px; color: var(--pm-muted); }
  .pm-model-details { max-width: 940px; padding-block: 35px 60px; }
  .pm-model-details h2 { font-size: 25px; margin-bottom: 16px; }
  .pm-model-details .callout { margin-block: 15px; background: #f3efe5; border-color: #dfd6c3; border-radius: 4px; }
  .pm-model-details .facts-grid, .pm-model-details .source-list { margin-top: 20px; }
  .pm-model-details details > :not(summary) { margin-top: 18px; }
  .pm-model-details .step-list p { font-size: 14px; }
  .pm-model-filter { display: block; width: 100%; margin-top: 10px; min-height: 48px; padding: 10px 14px; border: 1px solid var(--pm-border-strong); border-radius: 4px; background: #fff; color: var(--pm-ink); font-size: 16px; }
  .pm-simple-model, .pm-related-parts a { display: flex; justify-content: space-between; align-items: center; gap: 15px; min-height: 54px; border-bottom: 1px solid var(--pm-line); font-size: 14px; text-decoration: none; }
  .pm-simple-model svg, .pm-related-parts svg, .pm-fit-notes svg { width: 16px; height: 16px; flex: 0 0 16px; }
  .pm-fit-notes { list-style: none; }
  .pm-fit-notes li { display: flex; align-items: start; gap: 12px; margin-top: 12px; font-size: 14px; }
  html[data-site] .spm-system-hero aside .spm-button { margin-top: 22px; }
  html[data-site] .spm-system-hero aside { border-radius: 7px; background: var(--pm-result-surface); border-color: var(--pm-card-border); }
  html[data-site] .spm-system-hero h1 { font-size: clamp(2.2rem, 4vw, 3.5rem); }
  html[data-site] .spm-registry-model-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) auto; gap: 20px; border-radius: 4px; background: #fff; }
  html[data-site] .spm-registry-model-row > div { min-width: 0; }
  html[data-site] .spm-registry-model-row > div > small { display: block; max-width: 100%; margin-top: 7px; color: var(--pm-muted); font-size: 11px; overflow-wrap: anywhere; }

  /* Shaver editorial discovery stays independent of the other verticals. */
  html[data-site="shaver"] .spm-home-hero .pm-hero-visual { padding: 18px 24px; border-radius: 8px; background: #edf0e7; }
  html[data-site="shaver"] .spm-home-hero .pm-hero-visual > img { height: 360px; }
  html[data-site="shaver"] .spm-home-hero .pm-hero-visual figcaption { padding-top: 8px; }
  html[data-site="shaver"] .spm-home-paths { border-bottom: 1px solid var(--pm-line); }
  html[data-site="shaver"] .spm-home-paths nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding-block: 22px; }
  html[data-site="shaver"] .spm-home-paths a { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 76px; padding: 12px 18px; color: var(--pm-ink); border-left: 1px solid var(--pm-line); text-decoration: none; }
  html[data-site="shaver"] .spm-home-paths a:first-child { padding-left: 0; border-left: 0; }
  html[data-site="shaver"] .spm-home-paths a:last-child { padding-right: 0; }
  html[data-site="shaver"] .spm-home-paths a:hover { color: var(--pm-green); }
  html[data-site="shaver"] .spm-home-paths strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.35; letter-spacing: -.02em; }
  html[data-site="shaver"] .spm-home-paths small { display: block; margin-top: 6px; color: var(--pm-muted); font-size: 11px; line-height: 1.5; }
  html[data-site="shaver"] .spm-home-paths svg { width: 19px; height: 19px; flex: 0 0 19px; }
  html[data-site="shaver"] .spm-home-paths a > svg { width: 15px; height: 15px; flex-basis: 15px; margin-left: auto; }
  html[data-site="shaver"] .spm-home-path-icon { display: grid; place-items: center; width: 36px; height: 40px; flex: 0 0 36px; color: var(--pm-green); }
  html[data-site="shaver"] .spm-home-buying { background: #edf0e7; border-block: 1px solid var(--pm-line); }
  html[data-site="shaver"] .spm-home-buying-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 66px; }
  html[data-site="shaver"] .spm-home-compare-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; }
  html[data-site="shaver"] .spm-home-compare-photos .spm-home-photo:nth-child(2) { margin-top: 46px; }
  html[data-site="shaver"] .spm-home-photo { min-width: 0; margin: 0; }
  html[data-site="shaver"] .spm-home-photo > img { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: contain; border-radius: 5px; background: #e3e6dc; }
  html[data-site="shaver"] .spm-home-photo figcaption { padding-top: 6px; color: var(--pm-muted); font-size: 10px; line-height: 1.5; }
  html[data-site="shaver"] .spm-home-photo figcaption > span { display: block; margin-top: 4px; }
  html[data-site="shaver"] .spm-home-photo-credit summary { display: flex; align-items: center; min-height: 36px; width: fit-content; cursor: pointer; color: var(--pm-muted); text-decoration: underline; text-decoration-color: #aeb7a5; text-underline-offset: 3px; }
  html[data-site="shaver"] .spm-home-photo-credit summary::after { content: '+'; margin-left: 7px; text-decoration: none; }
  html[data-site="shaver"] .spm-home-photo-credit[open] summary::after { content: '−'; }
  html[data-site="shaver"] .spm-home-photo-credit summary::-webkit-details-marker { display: none; }
  html[data-site="shaver"] .spm-home-photo-credit p { padding-bottom: 7px; overflow-wrap: anywhere; }
  html[data-site="shaver"] .spm-home-photo-credit a { color: var(--pm-green); text-underline-offset: 2px; }
  html[data-site="shaver"] .spm-home-buying-copy h2 { margin-top: 16px; }
  html[data-site="shaver"] .spm-home-buying-copy > p:not(.pm-eyebrow) { max-width: 410px; margin-top: 22px; color: var(--pm-muted); font-size: 14px; }
  html[data-site="shaver"] .spm-home-buying-copy ul { display: grid; gap: 9px; padding-left: 18px; margin-block: 24px; color: var(--pm-ink); font-size: 12px; }
  html[data-site="shaver"] .spm-home-buying-copy li::marker { color: var(--pm-green); }
  html[data-site="shaver"] .spm-home-buying-copy .pm-text-link { margin-left: 18px; }
  html[data-site="shaver"] .spm-home-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 26px; }
  html[data-site="shaver"] .spm-home-guide-card { min-width: 0; padding-bottom: 23px; border-bottom: 1px solid var(--pm-line); }
  html[data-site="shaver"] .spm-home-guide-copy { padding-top: 6px; }
  html[data-site="shaver"] .spm-home-guide-meta { color: var(--pm-green); font-size: 10px; }
  html[data-site="shaver"] .spm-home-guide-copy h3 { margin-top: 12px; font-size: 21px; line-height: 1.18; }
  html[data-site="shaver"] .spm-home-guide-copy h3 > a { display: flex; align-items: start; justify-content: space-between; gap: 18px; min-height: 44px; color: inherit; text-decoration: none; }
  html[data-site="shaver"] .spm-home-guide-copy h3 > a:hover { color: var(--pm-green); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
  html[data-site="shaver"] .spm-home-guide-copy h3 svg { width: 17px; height: 17px; flex: 0 0 17px; margin-top: 4px; }
  html[data-site="shaver"] .spm-home-guide-copy > p:last-child { margin-top: 13px; color: var(--pm-muted); font-size: 12px; line-height: 1.65; }
  html[data-site="shaver"] .spm-home-news { padding-block: 36px; border-top: 1px solid var(--pm-line); }
  html[data-site="shaver"] .spm-home-news > .pm-shell { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 32px; }
  html[data-site="shaver"] .spm-home-news-date { display: flex; align-items: center; gap: 18px; padding-right: 30px; border-right: 1px solid var(--pm-line); color: var(--pm-green); font-size: 13px; line-height: 1.4; }
  html[data-site="shaver"] .spm-home-news-date > svg { width: 32px; height: 32px; }
  html[data-site="shaver"] .spm-home-news-date strong { font-size: 27px; font-weight: 500; letter-spacing: -.035em; }
  html[data-site="shaver"] .spm-home-news h2 { max-width: 670px; margin-top: 10px; font-size: 25px; }
  html[data-site="shaver"] .spm-home-news p:not(.pm-eyebrow) { max-width: 600px; margin-top: 12px; color: var(--pm-muted); font-size: 12px; }

  @media (max-width: 1050px) {
    html[data-site="shaver"] .spm-home-paths a { padding-inline: 12px; gap: 8px; }
    html[data-site="shaver"] .spm-home-path-icon { display: none; }
    html[data-site="shaver"] .spm-home-buying-grid { gap: 36px; }
    html[data-site="shaver"] .spm-home-buying-copy .pm-text-link { margin-left: 0; margin-top: 7px; display: flex; }
    html[data-site="shaver"] .spm-home-news > .pm-shell { gap: 24px; }
  }
  @media (max-width: 760px) {
    html[data-site="shaver"] .spm-home-hero .pm-hero-visual { max-width: none; padding: 15px 20px; }
    html[data-site="shaver"] .spm-home-hero .pm-hero-visual > img { height: 230px; }
    html[data-site="shaver"] .spm-home-paths nav { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: 12px; }
    html[data-site="shaver"] .spm-home-paths a { min-height: 86px; padding: 14px 0 14px 18px; }
    html[data-site="shaver"] .spm-home-paths a:nth-child(odd) { padding-left: 0; padding-right: 18px; border-left: 0; }
    html[data-site="shaver"] .spm-home-paths a:nth-child(n + 3) { border-top: 1px solid var(--pm-line); }
    html[data-site="shaver"] .spm-home-paths strong { font-size: 14px; }
    html[data-site="shaver"] .spm-home-paths small { font-size: 10px; }
    html[data-site="shaver"] .spm-home-buying-grid { grid-template-columns: 1fr; gap: 24px; }
    html[data-site="shaver"] .spm-home-buying-copy { grid-row: 1; }
    html[data-site="shaver"] .spm-home-buying-copy > p:not(.pm-eyebrow) { max-width: none; }
    html[data-site="shaver"] .spm-home-buying-copy .pm-text-link { display: inline-flex; margin-left: 16px; }
    html[data-site="shaver"] .spm-home-compare-photos .spm-home-photo:nth-child(2) { margin-top: 24px; }
    html[data-site="shaver"] .spm-home-photo-credit summary { min-height: 44px; }
    html[data-site="shaver"] .spm-home-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
    html[data-site="shaver"] .spm-home-guide-copy h3 { font-size: 20px; }
    html[data-site="shaver"] .spm-home-guides .pm-section-heading > a { margin-top: 12px; }
    html[data-site="shaver"] .spm-home-news > .pm-shell { grid-template-columns: 1fr; gap: 20px; }
    html[data-site="shaver"] .spm-home-news-date { padding: 0; border: 0; gap: 12px; }
    html[data-site="shaver"] .spm-home-news-date br { display: none; }
    html[data-site="shaver"] .spm-home-news-date strong { margin-left: 5px; font-size: inherit; }
    html[data-site="shaver"] .spm-home-news-date > svg { width: 19px; height: 19px; }
    html[data-site="shaver"] .spm-home-news .pm-button { justify-self: start; }
  }
  @media (max-width: 480px) {
    html[data-site="shaver"] .spm-home-paths a { gap: 7px; }
    html[data-site="shaver"] .spm-home-paths a > svg { display: none; }
    html[data-site="shaver"] .spm-home-buying-copy .pm-text-link { display: flex; margin-left: 0; }
    html[data-site="shaver"] .spm-home-guide-grid { grid-template-columns: 1fr; gap: 28px; }
    html[data-site="shaver"] .spm-home-guide-copy h3 { font-size: 23px; }
    html[data-site="shaver"] .spm-home-guide-copy > p:last-child { font-size: 13px; }
    html[data-site="shaver"] .spm-home-compare-photos { gap: 12px; }
    html[data-site="shaver"] .spm-home-photo figcaption { font-size: 9px; }
  }

  @media (min-width: 901px) { .pm-device:not(.pm-device--photo) h3 { max-width: 260px; } }
  @media (max-width: 1050px) {
    .pm-hero-grid { gap: 25px; }
    html[data-site] .pm-hero h1 { font-size: 3.2rem; }
    .pm-brand-row { gap: 18px; }
    .pm-brand-links { gap: 14px; }
    .pm-brand-links a { font-size: 14px; }
    .pm-brand-links a svg { display: none; }
    .pm-method-grid, .pm-help-grid { gap: 45px; }
    html[data-site] .spm-record-hero__grid { gap: 32px; }
    html[data-site] .spm-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  /* Generic site navigation changes at the factory's 860px breakpoint.
     Shaver keeps its independent 760px navigation rules below. */
  @media (max-width: 860px) {
    .masthead > .brand { min-width: 0; margin-inline-end: auto; }
    html[data-site]:not([data-site="shaver"]) .masthead { min-height: 68px; }
    html[data-site]:not([data-site="shaver"]) .nav-toggle { display: grid; width: 44px; height: 44px; border: 1px solid var(--pm-line); background: #fff; border-radius: 4px; }
    html[data-site]:not([data-site="shaver"]) .site-nav { display: none; position: absolute; inset: 100% 0 auto; width: 100%; padding: 18px 20px; flex-direction: column; align-items: stretch; gap: 8px; border: 0; border-bottom: 1px solid var(--pm-line); background: #fff; }
    html[data-site]:not([data-site="shaver"]) .site-nav[data-open="true"] { display: flex; }
    html[data-site]:not([data-site="shaver"]) .site-nav > a { display: flex; min-height: 44px; align-items: center; }
    html.no-js[data-site]:not([data-site="shaver"]) .nav-toggle { display: none; }
    html.no-js[data-site]:not([data-site="shaver"]) .masthead { flex-wrap: wrap; padding-block: 14px; }
    html.no-js[data-site]:not([data-site="shaver"]) .site-nav { position: static; display: flex; flex: 1 0 100%; padding: 0; border: 0; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
    html.no-js[data-site]:not([data-site="shaver"]) .site-nav .nav-action { display: none; }
  }
  @media (max-width: 760px) {
    html[data-site]:not([data-site="shaver"]) .brand__wordmark { font-size: 17px; }
    html[data-site]:not([data-site="shaver"]) .pm-hero h1 { font-size: clamp(2.125rem, 7.4vw, 3.5rem); }
    html[data-site]:not([data-site="shaver"]) .pm-brand-links { gap: 8px; }
    html[data-site]:not([data-site="shaver"]) .pm-brand-links a { min-height: 48px; padding: 10px 16px; font-size: 15px; }
    html[data-site]:not([data-site="shaver"]) .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; padding-block: 36px; }
    .footer-legal { grid-template-columns: 1fr; gap: 10px; }
    .footer-legal span:last-child { text-align: left; }
    html[data-site] .spm-registry-model-row { grid-template-columns: 1fr; gap: 12px; }
    .pm-shell, html[data-site] .shell, html[data-site] .spm-shell { width: calc(100% - 40px); }
    html[data-site] .spm-header__inner, .masthead { min-height: 66px; gap: 12px; }
    html[data-site] .spm-brand__wordmark, .brand__wordmark { font-size: 15px; }
    html[data-site] .spm-preview__inner, .preview-bar__inner { min-height: 30px; padding-block: 5px; gap: 12px; font-size: 9px; flex-direction: row; align-items: center; text-align: left; }
    html[data-site] .spm-preview__inner > span:last-child, .preview-bar__inner > span:last-child { display: inline; }
    html[data-site] .spm-nav-toggle { display: grid; border: 1px solid var(--pm-line); background: var(--pm-paper); border-radius: 4px; }
    html[data-site] .spm-nav { display: none; position: absolute; left: 0; top: 100%; width: 100%; padding: 18px 20px; flex-direction: column; align-items: stretch; gap: 8px; border-bottom: 1px solid var(--pm-line); background: var(--pm-paper); }
    html[data-site] .spm-nav[data-open="true"] { display: flex; }
    html[data-site] .spm-nav > a { display: flex; min-height: 44px; align-items: center; }
    .no-js .spm-nav-toggle { display: none; }
    .no-js .spm-header__inner { flex-wrap: wrap; padding-block: 14px; }
    html.no-js[data-site] .spm-nav { position: static; display: flex; padding: 0; border: 0; flex-direction: row; flex-wrap: wrap; gap: 8px 20px; }
    .pm-hero-grid { grid-template-columns: 1fr; gap: 22px; padding-block: 35px 22px; }
    html[data-site] .pm-hero h1 { margin-top: 17px; font-size: clamp(2.25rem, 7.4vw, 3.5rem); }
    .pm-lead { max-width: 440px; margin-top: 18px; font-size: 14px; }
    .pm-finder { max-width: none; margin-top: 23px; }
    .pm-search input { font-size: 16px; }
    .pm-hero-visual { max-width: 470px; width: 100%; margin-inline: auto; }
    .pm-hero-visual > img { height: 260px; }
    .pm-hero-visual figcaption { padding-top: 4px; font-size: 9px; }
    .pm-hero-bottom { flex-direction: column; align-items: start; gap: 13px; padding-block: 20px; }
    .pm-journey { width: 100%; justify-content: space-between; gap: 7px; }
    .pm-journey li { font-size: 10px; gap: 5px; }
    .pm-brand-row { flex-wrap: wrap; gap: 8px 20px; padding-block: 21px; }
    html[data-site] .pm-brand-row h2 { width: 100%; }
    .pm-brand-links { flex-wrap: wrap; flex: auto; justify-content: start; gap: 3px 24px; }
    .pm-brand-links a { font-size: 15px; }
    .pm-more-brands nav { left: 0; right: auto; }
    .pm-section { padding-block: 45px; }
    .pm-section-heading { display: block; margin-bottom: 25px; }
    .pm-section-heading > p { margin-top: 15px; max-width: 400px; }
    .pm-devices { gap: 18px; }
    .pm-device-image img { height: 180px; padding: 12px; }
    .pm-device-copy h3 { font-size: 16px; }
    .pm-method { padding-block: 42px; }
    .pm-method-grid, .pm-help-grid { grid-template-columns: 1fr; gap: 27px; }
    .pm-method h2, .pm-help-grid h2 { font-size: 29px; }
    .pm-method li p { max-width: none; }
    .pm-request .pm-shell { align-items: start; flex-direction: column; gap: 20px; }
    .pm-request p { max-width: 400px; }
    html[data-site] .spm-footer__grid, .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; }
    html[data-site] .spm-footer__intro, .footer-intro { grid-column: 1 / -1; }
    html[data-site] .spm-footer__legal { align-items: start; flex-direction: column; gap: 8px; }
    html[data-site] .spm-record-hero__grid, .pm-model-layout { grid-template-columns: 1fr; gap: 25px; }
    html[data-site] .spm-device-summary .spm-card-photo { display: none; }
    html[data-site] .spm-catalog-section-heading { display: block; }
    html[data-site] .spm-catalog-section-heading > p { margin-top: 12px; }
    html[data-site] .spm-catalog-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html[data-site] .spm-catalog-controls > label:first-child { grid-column: 1 / -1; }
    html[data-site] .spm-catalog-controls > button { grid-column: 1 / -1; }
    html[data-site] .spm-catalog-grid { gap: 16px; }
  }
  @media (max-width: 480px) {
    html[data-site]:not([data-site="shaver"]) .brand { gap: 8px; }
    html[data-site]:not([data-site="shaver"]) .brand__wordmark { font-size: 16px; }
    html[data-site]:not([data-site="shaver"]) .brand__mark,
    html[data-site]:not([data-site="shaver"]) .brand__mark svg { width: 32px; height: 32px; flex-basis: 32px; }
    html[data-site]:not([data-site="shaver"]) .pm-search-field { padding-inline: 11px; }
    html[data-site]:not([data-site="shaver"]) .pm-search button { padding-inline: 12px; font-size: 12px; gap: 7px; }
    .pm-devices { grid-template-columns: 1fr; gap: 16px; }
    .pm-device--photo { display: grid; grid-template-columns: 115px minmax(0, 1fr); align-items: stretch; gap: 17px; padding-block: 12px; border-bottom: 1px solid var(--pm-line); }
    .pm-device-image { display: grid; align-items: center; }
    .pm-device-image img { height: 140px; padding: 9px; }
    .pm-device-copy { padding: 8px 0; border: 0; }
    .pm-device-copy p { margin-block: 9px 13px; }
    .pm-device-copy h3 { font-size: 18px; }
    .pm-search button { padding-inline: 11px; font-size: 11px; gap: 7px; }
    .pm-search button svg { width: 14px; flex-basis: 14px; }
    .pm-search-field { gap: 7px; padding-left: 8px; }
    .pm-search-field > svg { display: none; }
    .pm-hero-visual > img { height: 240px; }
    .pm-hero-visual figcaption { flex-wrap: wrap; gap: 0 12px; }
    html[data-site] .spm-catalog-grid { grid-template-columns: 1fr; }
    html[data-site] .spm-result-card { padding: 23px; }
    html[data-site] .spm-result-card h2 { font-size: 24px; }
    .pm-journey li { font-size: 9px; }
    .pm-journey li > span { width: 20px; height: 20px; }
    .pm-model-layout { gap: 25px; }
    .pm-answer { padding: 22px; }
  }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none; transition: none; }
  }
  @media print {
    html[data-site] .spm-header, .site-header, .pm-request, .pm-search, .pm-journey { display: none; }
    html[data-site] body { background: #fff; color: #111; }
    .pm-model-layout { display: block; }
    .pm-answer, html[data-site] .spm-result-card { background: #fff; border: 1px solid #999; break-inside: avoid; }
  }
}

@layer discovery {
  .brand-hub-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:24px; }
  .brand-hub-filter { min-width:0; padding:24px 0; border-top:1px solid var(--pm-line); }
  .brand-hub-filter h3 a { display:flex; align-items:center; gap:12px; min-height:44px; color:var(--pm-green); }
  .brand-hub-filter h3 svg { width:18px; height:18px; flex:0 0 18px; }
  .brand-hub-filter p, .brand-hub-filter ul { margin-block:12px; }
  .brand-hub-filter .pm-button { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
  .brand-hub-filter details { margin-top:16px; font-size:13px; }
  .brand-hub-filter summary { display:flex; align-items:center; min-height:44px; cursor:pointer; }
  .brand-hub-filter details a { overflow-wrap:anywhere; }
  .pm-commerce-notice { margin-top:10px; font-size:12px; line-height:1.6; color:var(--pm-muted); overflow-wrap:anywhere; }
  @media(max-width:760px) { .brand-hub-filters { grid-template-columns:minmax(0,1fr); gap:12px; } }
}

@layer discovery {
  html:is([data-site="purifier"],[data-site="fridge"]) .spm-table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--pm-line); border-radius:6px; margin-block:24px; }
  html:is([data-site="purifier"],[data-site="fridge"]) .spm-table { width:100%; min-width:520px; border-collapse:collapse; }
  html:is([data-site="purifier"],[data-site="fridge"]) .spm-table caption { padding:14px; text-align:left; font-size:13px; line-height:1.5; color:var(--pm-muted); }
  html:is([data-site="purifier"],[data-site="fridge"]) .spm-table th, html:is([data-site="purifier"],[data-site="fridge"]) .spm-table td { padding:14px; border-top:1px solid var(--pm-line); text-align:left; vertical-align:top; font-size:13px; line-height:1.6; }
  html:is([data-site="purifier"],[data-site="fridge"]) .spm-table th { background:var(--pm-surface); font-weight:600; }
}


@layer discovery {
html[data-site="coffee"] { --pm-green:#89501f; --pm-accent-dark:#6e3e17; --pm-accent-soft:#fbf2e9; --pm-accent-faint:color-mix(in srgb,#fbf2e9 35%,#fff); }
}

/* Reference-led Shaver experience. Shared factory sites keep their own theme. */
@layer shaver-reference {
  html[data-site="shaver"] {
    --pm-paper:#fff; --pm-surface:#f3f7fc; --pm-ink:#080f32;
    --pm-green:#005bff; --pm-muted:#526184; --pm-line:#e1e8f3;
    --spm-blue:#005bff; --spm-blue-dark:#0044c7; --spm-blue-soft:#edf4ff;
    --spm-blue-faint:#f7faff; --spm-ink:#080f32; --spm-ink-soft:#36476e;
    --spm-muted:#526184; --spm-surface:#f3f7fc; --spm-border:#e1e8f3;
    --spm-border-strong:#c3d3ec; --ink-soft:#36476e; --accent:#005bff;
    --accent-dark:#0044c7; --pm-shell:1160px;
    --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  }
  html[data-site="shaver"] body { color:var(--spm-ink); background:#fff; }
  html[data-site="shaver"] h1, html[data-site="shaver"] h2, html[data-site="shaver"] h3 { font-weight:720; letter-spacing:-.045em; }
  html[data-site="shaver"] h1 { font-size:clamp(2rem,4vw,3.3rem); line-height:1.1; }
  html[data-site="shaver"] h2 { font-size:clamp(1.65rem,2.7vw,2.25rem); line-height:1.15; }
  html[data-site="shaver"] h3 { font-size:1.08rem; line-height:1.35; letter-spacing:-.025em; }
  html[data-site="shaver"] svg { flex-shrink:0; }
  html[data-site="shaver"] :focus-visible { outline:3px solid #005bff; outline-offset:4px; }
  html[data-site="shaver"] .spm-shell { width:min(calc(100% - 64px),var(--pm-shell)); }
  html[data-site="shaver"] .spm-header { background:#fff; border-bottom:1px solid var(--spm-border); }
  html[data-site="shaver"] .spm-header__inner { min-height:78px; }
  html[data-site="shaver"] .spm-brand__mark { color:var(--spm-blue); }
  html[data-site="shaver"] .spm-brand__wordmark { color:var(--spm-ink); font-size:19px; font-weight:750; }
  html[data-site="shaver"] .spm-nav { gap:30px; }
  html[data-site="shaver"] .spm-nav>a:not(.spm-button) { font-size:14px; }
  .ux-language { padding:7px 11px; border:1px solid var(--spm-border); border-radius:4px; color:var(--spm-muted); font-size:12px; }
  html[data-site="shaver"] .spm-preview { background:var(--spm-surface); border-color:var(--spm-border); }
  html[data-site="shaver"] .spm-preview__inner, html[data-site="shaver"] .spm-preview__inner>span:first-child { color:var(--spm-muted); }
  html[data-site="shaver"] .spm-button { border-radius:5px; border-color:var(--spm-blue); background:var(--spm-blue); color:#fff; font-weight:600; }
  html[data-site="shaver"] .spm-button:hover { background:var(--spm-blue-dark); border-color:var(--spm-blue-dark); }
  html[data-site="shaver"] .spm-button--secondary { background:#fff; color:var(--spm-blue); }
  html[data-site="shaver"] .spm-button--secondary:hover { background:var(--spm-blue-soft); color:var(--spm-blue-dark); }
  html[data-site="shaver"] .spm-text-link, html[data-site="shaver"] .pm-text-link { color:var(--spm-blue); }
  .spm-brand-controls { grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; }
  .no-js .spm-brand-controls { display:none; }
  .spm-brand-reading { border-top:1px solid var(--spm-border); }
  .spm-brand-reading-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:56px; }
  .spm-brand-reading h2 { margin-bottom:22px; }
  .spm-brand-reading p { margin-block:18px; color:var(--spm-muted); line-height:1.75; }
  .spm-brand-reading a, .spm-article-body p>a, .spm-part-article p>a { color:var(--spm-blue); text-decoration:underline; text-underline-offset:3px; }
  .spm-replacement-planner { margin-block:30px; padding:28px; border:1px solid var(--spm-border-strong); border-radius:6px; background:var(--spm-blue-faint); }
  .spm-replacement-planner>h2 { margin-block:10px 14px; }
  .spm-replacement-planner fieldset { margin-top:24px; padding:0; border:0; min-width:0; }
  .spm-replacement-planner legend { margin-bottom:10px; font-weight:650; line-height:1.5; }
  .spm-replacement-planner fieldset label { display:flex; align-items:start; gap:12px; min-height:44px; padding:10px 12px; margin-block:7px; border:1px solid var(--spm-border); border-radius:4px; background:#fff; cursor:pointer; line-height:1.5; }
  .spm-replacement-planner input { flex:none; width:18px; height:18px; margin-top:3px; accent-color:var(--spm-blue); }
  .spm-replacement-planner label:has(input:checked) { border-color:var(--spm-blue); background:var(--spm-blue-soft); }
  .spm-planner-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
  .spm-planner-result { margin-top:24px; padding:22px; border-left:3px solid var(--spm-blue); background:#fff; }
  .spm-planner-result h3 { margin:0 0 12px; }
  .spm-replacement-planner [hidden] { display:none; }
  .spm-replacement-planner details { margin-top:20px; }
  .spm-replacement-planner details h3 { margin-top:22px; }
  @media (max-width:760px) {
    .spm-brand-reading-grid { grid-template-columns:1fr; gap:28px; }
    .spm-brand-controls { grid-template-columns:1fr; }
    .spm-replacement-planner { padding:20px; }
    .spm-replacement-planner .spm-button { width:100%; }
  }
  html[data-site="shaver"] .spm-eyebrow { color:#203865; font-size:11px; letter-spacing:.14em; font-weight:600; }
  .ux-hero { padding:64px 0 32px; border-bottom:1px solid var(--spm-border); }
  .ux-hero-grid { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:48px; }
  .ux-hero-grid--text { grid-template-columns:minmax(0,1fr); }
  .ux-hero-copy { min-width:0; }
  .ux-hero-grid--text .ux-hero-copy { width:100%; max-width:640px; margin-inline:auto; }
  html[data-site="shaver"] .ux-hero h1 { margin:20px 0; font-size:clamp(2.7rem,4.4vw,4rem); line-height:1.06; letter-spacing:-.055em; }
  .ux-lead { max-width:440px; color:var(--spm-muted); line-height:1.7; font-size:16px; }
  .ux-hero .ux-hero-grid--text .ux-lead { max-width:560px; }
  .ux-hero-photo { min-width:0; margin:0; align-self:center; }
  .ux-photo-orbit { position:relative; height:430px; isolation:isolate; }
  .ux-photo-orbit::before { content:""; position:absolute; width:90%; aspect-ratio:1; max-height:100%; border-radius:50%; background:#e0ecff; inset:0 0 auto auto; z-index:-1; }
  .ux-photo-orbit img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transform:rotate(7deg); }
  .ux-handwritten { position:absolute; top:15%; right:3%; font:italic 27px/1.08 Georgia,serif; transform:rotate(-10deg); color:#172747; }
  .ux-hero-photo figcaption { display:flex; justify-content:space-between; gap:12px; margin-top:24px; color:var(--spm-muted); font-size:10px; }
  .ux-hero-photo figcaption a { display:inline-flex; align-items:center; gap:5px; color:var(--spm-blue); }
  .ux-hero-photo figcaption svg { width:14px; height:14px; }
  html[data-site="shaver"] .pm-finder { max-width:560px; margin-top:30px; }
  html[data-site="shaver"] .pm-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0; border:1px solid var(--spm-blue); border-radius:5px; background:#fff; }
  html[data-site="shaver"] .pm-search-field { border:0; background:transparent; padding:0 15px; min-height:56px; }
  html[data-site="shaver"] .pm-search input { background:transparent; font-size:16px; min-width:0; }
  html[data-site="shaver"] .pm-search button { background:var(--spm-blue); color:#fff; border:0; border-radius:0 3px 3px 0; padding:0 18px; min-height:56px; font-size:13px; }
  html[data-site="shaver"] .pm-search button:hover { background:var(--spm-blue-dark); }
  html[data-site="shaver"] .pm-search:focus-within { box-shadow:0 0 0 4px #005bff18; }
  html[data-site="shaver"] .pm-input-label { color:var(--spm-ink); font-size:12px; font-weight:500; }
  html[data-site="shaver"] .pm-examples { align-items:center; gap:8px; margin-top:15px; flex-wrap:wrap; }
  html[data-site="shaver"] .pm-examples a { border:1px solid var(--spm-border); padding:7px 9px; border-radius:4px; color:var(--spm-ink-soft); font-size:11px; text-decoration:none; }
  html[data-site="shaver"] .pm-examples a:hover { border-color:var(--spm-blue); background:var(--spm-blue-soft); }
  html[data-site="shaver"] .pm-finder-help { margin-top:12px; }
  html[data-site="shaver"] .pm-finder-help>summary { color:var(--spm-blue); font-size:13px; }
  html[data-site="shaver"] .pm-finder-help[open] { background:var(--spm-surface); padding:16px; border-radius:6px; }
  html[data-site="shaver"] .pm-finder-help .spm-home-photo { max-width:330px; margin-top:16px; }
  html[data-site="shaver"] .pm-finder-help .spm-home-photo img { max-height:260px; object-fit:contain; }
  html[data-site="shaver"] .pm-search-results { width:100%; top:85px; max-height:360px; overflow-y:auto; overscroll-behavior:contain; border-color:var(--spm-border); border-radius:6px; box-shadow:0 14px 36px #0d2c5720; background:#fff; z-index:20; }
  html[data-site="shaver"] .search-result a { padding:17px 18px; }
  html[data-site="shaver"] .search-result__title { font-weight:650; color:var(--spm-ink); }
  html[data-site="shaver"] .search-result__sub { color:var(--spm-muted); line-height:1.5; margin-top:5px; }
  html[data-site="shaver"] .search-result[data-active="true"] { background:var(--spm-blue-soft); }
  .ux-trust { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; list-style:none; padding:38px 0 0; }
  .ux-trust li { display:flex; align-items:center; justify-content:center; gap:10px; color:var(--spm-ink-soft); font-size:12px; }
  .ux-trust li>span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--spm-blue-soft); color:var(--spm-blue); }
  .ux-trust svg { width:21px; height:21px; }
  .ux-section { padding:64px 0; }
  .ux-section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:28px; }
  .ux-section-heading h2 { margin:8px 0 10px; }
  .ux-section-heading p:not(.spm-eyebrow), .ux-help-grid>div>p:not(.spm-eyebrow) { color:var(--spm-muted); font-size:15px; }
  .ux-brand-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
  .ux-brand-grid>a { display:flex; align-items:center; justify-content:center; min-height:86px; padding:18px; border:1px solid var(--spm-border); border-radius:5px; text-decoration:none; color:var(--spm-ink); }
  .ux-brand-grid>a:hover { border-color:var(--spm-blue); background:var(--spm-blue-faint); transform:translateY(-2px); }
  .ux-brand-name { font-size:23px; font-weight:750; letter-spacing:-.06em; }
  .ux-brand-grid .ux-brand-philips { text-transform:uppercase; color:var(--spm-blue); letter-spacing:-.02em; }
  .ux-brand-grid .ux-brand-braun { text-transform:uppercase; font-stretch:condensed; letter-spacing:-.06em; }
  .ux-brand-grid .ux-brand-remington { font-size:17px; font-weight:500; letter-spacing:-.035em; text-transform:uppercase; }
  .ux-brand-grid .ux-brand-wahl { font-family:Georgia,serif; text-transform:uppercase; }
  .ux-brand-name svg { display:none; }
  .ux-all-brands { gap:18px; font-size:13px; }
  .ux-all-brands small { display:block; color:var(--spm-muted); }
  .ux-all-brands svg { width:18px; height:18px; color:var(--spm-blue); }
  .ux-more-brands { margin-top:18px; color:var(--spm-muted); font-size:12px; }
  .ux-more-brands summary { cursor:pointer; }
  .ux-more-brands nav { display:flex; flex-wrap:wrap; gap:18px; padding-top:14px; }
  .ux-models { background:var(--spm-blue-faint); }
  .ux-model-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .ux-model-row { display:grid; grid-template-columns:40px minmax(0,1fr) 16px; gap:12px; align-items:center; min-height:108px; padding:18px; border:1px solid var(--spm-border); background:#fff; border-radius:6px; text-decoration:none; color:var(--spm-ink); }
  .ux-model-row:hover { border-color:var(--spm-blue); }
  .ux-model-row strong, .ux-model-row small, .ux-model-row>span>span { display:block; }
  .ux-model-row strong { font-size:15px; margin:2px 0 6px; }
  .ux-model-row small, .ux-model-row>span>span { font-size:11px; color:var(--spm-muted); line-height:1.5; }
  .ux-model-icon { color:var(--spm-blue); }
  .ux-model-icon svg { width:30px; height:30px; }
  .ux-model-row>svg { width:16px; height:16px; color:var(--spm-blue); }
  .ux-guide-rows { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .ux-guide-row { display:grid; grid-template-columns:115px minmax(0,1fr); gap:20px; align-items:center; padding:12px; border:1px solid var(--spm-border); border-radius:6px; }
  .ux-guide-row img { width:115px; height:115px; object-fit:cover; border-radius:3px; }
  .ux-guide-row small { color:var(--spm-muted); font-size:11px; }
  .ux-guide-row h3 { margin:5px 0 8px; }
  .ux-guide-row h3 a { color:var(--spm-ink); text-decoration:none; }
  .ux-guide-row h3 a:hover { color:var(--spm-blue); }
  .ux-guide-row h3 svg { display:inline; vertical-align:middle; width:17px; height:17px; color:var(--spm-blue); }
  .ux-photo-credit { color:var(--spm-muted); font-size:9px; }
  .ux-values { padding:64px 0; background:var(--spm-surface); }
  .ux-values-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
  .ux-values h2 { margin:12px 0 20px; max-width:340px; }
  .ux-values p { color:var(--spm-muted); max-width:370px; font-size:15px; }
  .ux-values .spm-text-link { margin-top:22px; }
  .ux-values ul { display:grid; gap:23px; list-style:none; padding:0; }
  .ux-values li { display:flex; gap:20px; align-items:start; }
  .ux-values li>svg { width:30px; height:30px; color:var(--spm-blue); }
  .ux-values li p { font-size:13px; margin-top:4px; }
  .ux-help-grid { display:grid; grid-template-columns:1fr 1.25fr; gap:80px; }
  .ux-help h2 { margin:10px 0; }
  .ux-contact { display:flex; gap:14px; margin-top:30px; padding:22px; background:var(--spm-surface); border-radius:6px; }
  .ux-contact>svg { width:24px; height:24px; color:var(--spm-blue); }
  .ux-contact p { font-size:13px; color:var(--spm-muted); margin:5px 0 18px; }
  .ux-contact .spm-button { width:auto; }
  .ux-faq { border:1px solid var(--spm-border); border-radius:6px; align-self:start; }
  .ux-faq details+details { border-top:1px solid var(--spm-border); }
  .ux-faq summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:20px; list-style:none; font-size:14px; cursor:pointer; }
  .ux-faq summary::-webkit-details-marker { display:none; }
  .ux-faq summary svg { width:15px; height:15px; transform:rotate(90deg); }
  .ux-faq details[open] summary svg { transform:rotate(-90deg); }
  .ux-faq details>p, .ux-faq details>a { padding:0 20px 20px; font-size:13px; color:var(--spm-muted); }
  .ux-faq details>a { display:block; color:var(--spm-blue); }
  html[data-site="shaver"] .spm-page-hero, html[data-site="shaver"] .spm-record-hero, html[data-site="shaver"] .spm-system-hero, html[data-site="shaver"] .spm-catalog-hero { background:#fff; padding-bottom:36px; }
  html[data-site="shaver"] .spm-breadcrumb { color:var(--spm-muted); }
  html[data-site="shaver"] .spm-result-card { border:1px solid var(--spm-border); background:#fff; border-radius:8px; padding:30px; box-shadow:0 12px 40px #13326208; }
  html[data-site="shaver"] .spm-result-card__reference { background:var(--spm-surface); border-color:var(--spm-border); }
  html[data-site="shaver"] .spm-result-card__reference strong { color:var(--spm-ink); }
  html[data-site="shaver"] .spm-card-photo { border:1px solid var(--spm-border); background:#fff; }
  html[data-site="shaver"] .spm-system-card { border:1px solid var(--spm-border); border-radius:6px; background:#fff; overflow:hidden; }
  html[data-site="shaver"] .spm-system-card:hover { border-color:var(--spm-blue); }
  html[data-site="shaver"] .spm-system-card h3 { font-size:20px; line-height:1.35; overflow-wrap:anywhere; }
  html[data-site="shaver"] .spm-system-reference { background:var(--spm-surface); }
  html[data-site="shaver"] .spm-shop { background:var(--spm-blue-faint); }
  html[data-site="shaver"] .spm-shop-card { border:1px solid var(--spm-border); border-radius:6px; background:#fff; box-shadow:none; }
  html[data-site="shaver"] .spm-shop-card__purchase { margin-top:auto; }
  html[data-site="shaver"] .spm-shop-card__body { display:flex; flex-direction:column; height:100%; }
  html[data-site="shaver"] .spm-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  html[data-site="shaver"] .spm-guide-card { display:grid; grid-template-columns:110px minmax(0,1fr); column-gap:18px; border:1px solid var(--spm-border); border-radius:6px; padding:18px; background:#fff; }
  html[data-site="shaver"] .spm-guide-thumbnail { border-radius:4px; grid-column:1; grid-row:1 / 5; margin:0; }
  html[data-site="shaver"] .spm-guide-card__meta { grid-column:2; grid-row:1; }
  html[data-site="shaver"] .spm-guide-card h3 { grid-column:2; grid-row:2; margin:6px 0; }
  html[data-site="shaver"] .spm-guide-card>p { grid-column:2; grid-row:3; margin:0; font-size:12px; }
  html[data-site="shaver"] .spm-guide-card__action { grid-column:2; grid-row:4; margin-top:8px; }
  html[data-site="shaver"] .spm-guide-credit { grid-column:1 / -1; grid-row:5; margin:10px 0 0; font-size:9px; }
  html[data-site="shaver"] .spm-guide-thumbnail img { height:120px; object-fit:cover; }
  .ux-guide-filters { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:28px; }
  .ux-guide-filters button { border:1px solid var(--spm-border); border-radius:5px; background:#fff; padding:10px 14px; color:var(--spm-muted); cursor:pointer; font-size:13px; }
  .ux-guide-filters button[aria-pressed="true"] { border-color:var(--spm-blue); color:var(--spm-blue); background:var(--spm-blue-soft); }
  .no-js .ux-guide-filters { display:none; }
  html[data-site="shaver"] .spm-guide-topics { display:none; }
  html.no-js[data-site="shaver"] .spm-guide-topics { display:flex; }
  html[data-site="shaver"] .spm-footer { border-top:1px solid var(--spm-border); background:#fff; }
  html[data-site="shaver"] .spm-footer__intro p { color:var(--spm-muted); }
  @media(min-width:761px) { html[data-site="shaver"] .spm-nav-toggle { display:none; } html[data-site="shaver"] .spm-nav { display:flex; } }
  @media(max-width:1000px) {
    .ux-hero-grid { gap:20px; }
    .ux-photo-orbit { height:350px; }
    .ux-brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .ux-model-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ux-values-grid, .ux-help-grid { gap:40px; }
    html[data-site="shaver"] .spm-nav { gap:20px; }
  }
  @media(max-width:760px) {
    html[data-site="shaver"] .spm-shell { width:calc(100% - 40px); }
    html[data-site="shaver"] .spm-header__inner { min-height:66px; }
    html[data-site="shaver"] .spm-brand__wordmark { font-size:17px; }
    html[data-site="shaver"] .spm-nav { background:#fff; gap:6px; }
    .ux-language { align-self:start; }
    .ux-hero { padding:35px 0 26px; }
    .ux-hero-grid { grid-template-columns:minmax(0,1fr); gap:10px; }
    html[data-site="shaver"] .ux-hero h1 { font-size:clamp(2.35rem,7.8vw,3.5rem); }
    .ux-lead { font-size:14px; max-width:400px; }
    .ux-hero-photo { width:100%; max-width:400px; justify-self:center; margin-top:15px; }
    .ux-photo-orbit { height:250px; }
    .ux-photo-orbit::before { width:250px; right:calc(50% - 130px); }
    .ux-handwritten { right:10%; font-size:22px; }
    .ux-hero-photo figcaption { margin-top:10px; font-size:9px; }
    .ux-trust { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding-top:25px; }
    .ux-trust li { flex-direction:column; text-align:center; font-size:10px; line-height:1.5; }
    html[data-site="shaver"] .pm-finder { margin-top:24px; }
    html[data-site="shaver"] .pm-search button span { display:none; }
    html[data-site="shaver"] .pm-search button { width:54px; padding:0; justify-content:center; }
    .ux-section, .ux-values { padding:40px 0; }
    .ux-section-heading { align-items:start; flex-direction:column; gap:12px; margin-bottom:22px; }
    .ux-brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ux-brand-grid>a { min-height:75px; }
    .ux-model-grid, .ux-guide-rows, .ux-values-grid, .ux-help-grid { grid-template-columns:1fr; }
    .ux-model-row { min-height:88px; padding:15px; }
    .ux-guide-row { grid-template-columns:84px minmax(0,1fr); gap:14px; }
    .ux-guide-row img { width:84px; height:100px; }
    .ux-guide-row h3 { font-size:14px; }
    .ux-help-grid { gap:26px; }
    html[data-site="shaver"] .spm-guide-grid { grid-template-columns:1fr; }
    html[data-site="shaver"] .spm-guide-card { grid-template-columns:80px minmax(0,1fr); column-gap:13px; padding:12px; }
    html[data-site="shaver"] .spm-result-card { padding:22px; }
    html[data-site="shaver"] .spm-device-summary .spm-card-photo { display:block; max-width:250px; }
    html[data-site="shaver"] .spm-device-summary .spm-card-photo img { height:180px; object-fit:contain; }
  }
  @media(max-width:480px) {
    .ux-hero-grid { position:relative; }
    html[data-site="shaver"] .ux-hero h1 { font-size:32px; max-width:290px; position:relative; z-index:1; }
    .ux-hero .ux-lead { max-width:220px; font-size:13px; }
    .ux-hero-photo { position:absolute; top:92px; right:-8px; width:136px; margin:0; overflow:clip; }
    .ux-photo-orbit { height:170px; }
    .ux-photo-orbit::before { width:136px; max-height:none; top:20px; right:0; }
    .ux-photo-orbit img { transform:rotate(8deg); }
    .ux-handwritten { top:0; right:8px; font-size:18px; }
    .ux-hero-photo figcaption { display:block; font-size:9px; text-align:center; margin-top:0; }
    .ux-hero-photo figcaption>span { display:none; }
    .ux-hero-photo figcaption svg { display:none; }
    html[data-site="shaver"] .pm-examples { gap:6px; }
    html[data-site="shaver"] .pm-examples a { font-size:10px; padding:6px; }
    html[data-site="shaver"] .pm-search-field>svg { display:block; width:18px; height:18px; }
    .ux-trust { padding-top:28px; }
  }
  @media(max-width:360px) {
    html[data-site="shaver"] .ux-hero h1 { font-size:29px; }
    .ux-hero .ux-lead { max-width:175px; font-size:12px; }
    .ux-hero-photo { width:100px; top:115px; right:-8px; }
    .ux-photo-orbit { height:146px; }
    .ux-photo-orbit::before { width:100px; }
    .ux-handwritten { font-size:15px; }
  }
}

@layer shaver-reference {
  .spm-guide-finder { margin:28px 0; padding:24px; border:1px solid var(--spm-border); border-radius:8px; background:var(--spm-surface); }
  html[data-site="shaver"] .spm-guide-buying { margin-block:32px; padding-block:24px; border-block:1px solid var(--spm-border); scroll-margin-top:100px; }
  html[data-site="shaver"] .spm-guide-buying-jump { margin-top:20px; }
  html[data-site="shaver"] .spm-article-aside>.spm-guide-buying-jump { margin:0 0 24px; padding-bottom:20px; border-bottom:1px solid var(--spm-border); }
  html[data-site="shaver"] .spm-guide-buying>h2 { margin-top:0; }
  html[data-site="shaver"] .spm-guide-product-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
  html[data-site="shaver"] .spm-guide-product { min-width:0; padding-top:20px; border-top:1px solid var(--spm-border); }
  html[data-site="shaver"] .spm-guide-product h3 { margin-top:0; }
  html[data-site="shaver"] .spm-guide-product>p { margin-block:12px 18px; font-size:14px; line-height:1.7; }
  html[data-site="shaver"] .spm-guide-product .amazon-commission-note { margin:8px 0 0; font-size:12px; line-height:1.6; }
  html[data-site="shaver"] .spm-guide-product .spm-guide-product-detail { margin-top:14px; font-size:13px; }
  @media(max-width:640px) { html[data-site="shaver"] .spm-guide-product-list { grid-template-columns:minmax(0,1fr); gap:20px; } }
  .spm-guide-finder h2 { margin:0 0 12px; font-size:1.4rem; }
  .spm-guide-finder>p { color:var(--spm-muted); font-size:15px; line-height:1.65; }
  html[data-site="shaver"] .spm-guide-finder .pm-finder { margin:20px 0 0; max-width:none; }
  @media(max-width:600px) { .spm-guide-finder { padding:18px; } }
}


@layer portfolio-models {
  .product-selector { scroll-margin-top: 96px; }
  .product-selector > p, .coffee-task-map > p { max-width: 65ch; color: var(--pm-muted); line-height: 1.75; }
  .product-selector-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 24px; margin-block: 24px; background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; }
  .product-selector-controls label, .coffee-task-machine { display: grid; gap: 9px; min-width: 0; color: var(--pm-ink); font-size: 13px; font-weight: 650; }
  .product-selector-controls :is(input, select), .coffee-task-machine select { width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px; border: 1px solid var(--pm-line); border-radius: 4px; background: #fff; color: var(--pm-ink); font: 400 14px/1.4 var(--sans); }
  .product-selector-controls :is(input, select):focus-visible, .coffee-task-machine select:focus-visible, .product-selector :is(button, summary, a):focus-visible { outline: 3px solid var(--pm-green); outline-offset: 3px; }
  .product-selector-reset, .product-selector-alternatives { justify-self: start; min-height: 44px; padding: 10px 0; border: 0; background: transparent; color: var(--pm-green); cursor: pointer; font: 650 13px/1.5 var(--sans); text-align: left; text-decoration: underline; text-underline-offset: 4px; }
  .product-selector-reset:hover, .product-selector-alternatives:hover { color: var(--pm-ink); }
  .product-selector-status { font-size: 14px; }
  .product-selector-empty { padding: 20px; border-left: 3px solid var(--pm-green); background: #fff; }
  .product-selector-material-guidance { padding-left: 16px; border-left: 2px solid var(--pm-green); }
  .product-selector-path { color: var(--pm-ink) !important; font-weight: 600; }
  .product-housing-decision { margin-block: 24px; padding-block: 22px; border-block: 1px solid var(--pm-line); }
  .product-housing-decision h3 { margin: 0 0 12px; font-size: 18px; line-height: 1.4; }
  .product-housing-decision > p, .product-housing-options p { max-width: 65ch; color: var(--pm-muted); font-size: 14px; line-height: 1.7; }
  .product-housing-decision fieldset { border: 0; padding: 0; margin-block: 20px; }
  .product-housing-decision legend { font-weight: 600; font-size: 13px; margin-bottom: 10px; }
  .product-housing-decision fieldset label { display: flex; align-items: center; gap: 12px; min-height: 48px; font-size: 14px; cursor: pointer; }
  .product-housing-decision input { accent-color: var(--pm-green); width: 18px; height: 18px; }
  .product-housing-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .product-housing-options strong, .product-housing-options span { display: block; }
  .product-housing-options a { color: var(--pm-green); text-underline-offset: 3px; }
  .part-answer-proof { display: grid; gap: 7px; padding-top: 18px; margin-top: 18px; border-top: 1px solid var(--pm-line); font-size: 11px; line-height: 1.6; color: var(--pm-muted); }
  .part-answer-proof strong { color: var(--pm-green); font-size: 12px; }
  .part-answer-conclusion { max-width: 52ch; font-size: 14px; line-height: 1.75; color: var(--pm-muted); }
  .part-fit-restrictions ul { padding-left: 20px; color: var(--pm-muted); font-size: 14px; line-height: 1.8; max-width: 70ch; }
  .part-fit-restrictions li + li { margin-top: 9px; }
  .part-decision-visual { display: grid; gap: 20px; }
  .part-decision-visual figure { margin: 0; min-width: 0; }
  .part-decision-visual figcaption { color: var(--pm-muted); font-size: 11px; line-height: 1.7; max-width: 65ch; }
  .part-decision-visual p { color: var(--pm-muted); line-height: 1.8; font-size: 14px; max-width: 65ch; }
  .part-decision-visual .pm-text-link { display: block; margin-top: 12px; }
  .part-decision-diagram { width: 100%; height: auto; margin-block: 12px; color: var(--pm-ink); fill: none; stroke: currentColor; stroke-width: 2; }
  .part-decision-diagram text { stroke: none; fill: currentColor; font: 16px var(--sans); }
  .part-decision-diagram .part-diagram-mark { font-size: 22px; font-weight: 700; }
  .part-diagram-fill { fill: #f5f5ef; }
  .part-diagram-alternative { stroke: var(--pm-muted); fill: #f5f5ef; }
  .part-diagram-seal { stroke: var(--pm-green); stroke-width: 15; }
  .part-decision-comparison { margin-top: 24px; }
  .part-decision-comparison summary { cursor: pointer; min-height: 44px; font-size: 14px; font-weight: 600; }
  .part-decision-comparison p { color: var(--pm-muted); font-size: 13px; line-height: 1.7; }
  .product-selector [data-selector-pack-hidden] { display: none !important; }
  .product-selector-results { display: grid; gap: 18px; margin-top: 24px; }
  .product-selector-result { padding: 24px; border: 1px solid var(--pm-line); border-radius: 6px; background: #fff; min-width: 0; }
  .product-selector-result--primary { border-color: var(--pm-green); border-width: 2px; }
  .product-selector-result-label { margin-block: 0 18px; color: var(--pm-green); font-size: 12px; font-weight: 700; }
  .product-selector-identity .pm-eyebrow { margin-bottom: 12px; font-size: 10px; line-height: 1.6; }
  .product-selector-identity h3 { margin-block: 0 12px; font-size: 21px; overflow-wrap: anywhere; }
  .product-selector-identity h3 a { color: var(--pm-ink); text-decoration: underline; text-underline-offset: 5px; }
  .product-selector-identity > p:last-child { color: var(--pm-muted); line-height: 1.7; font-size: 14px; }
  .product-selector-facts { color: var(--pm-muted); font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
  .product-selector-preview { margin: 20px 0; }
  .product-selector-swatch { display: inline-flex; justify-content: center; align-items: center; min-width: 8rem; min-height: 2.5rem; padding-inline: 20px; border: 1px solid #c1c4c1; font: 650 17px/1.4 var(--sans); }
  .product-selector-preview figcaption { margin-top: 8px; color: var(--pm-muted); font-size: 11px; line-height: 1.6; }
  .product-selector-paper-black { background: #222; } .product-selector-paper-white { background: #fff; } .product-selector-paper-red { background: #b83338; } .product-selector-paper-blue { background: #2356ad; } .product-selector-paper-gold { background: #c3a753; } .product-selector-paper-green { background: #347847; } .product-selector-paper-yellow { background: #f1d653; } .product-selector-paper-clear { background: repeating-conic-gradient(#f2f2ef 0% 25%, #fff 0% 50%) 0 0 / 12px 12px; }
  .product-selector-ink-black { color: #222; } .product-selector-ink-white { color: #fff; } .product-selector-ink-red { color: #b83338; } .product-selector-ink-blue { color: #2356ad; } .product-selector-ink-gold { color: #b49b41; } .product-selector-ink-green { color: #347847; } .product-selector-ink-yellow { color: #e5c230; }
  .product-selector-evidence { border-top: 1px solid var(--pm-line); padding-top: 14px; margin-block: 18px; }
  .product-selector-evidence :is(p, li) { color: var(--pm-muted); font-size: 13px; line-height: 1.75; overflow-wrap: anywhere; }
  .product-selector-evidence ul { padding-left: 20px; }
  .product-selector-source { font-size: 13px; margin-block: 16px; overflow-wrap: anywhere; }
  .product-selector-buying { border-top: 1px solid var(--pm-line); padding-top: 18px; }
  .product-selector-buying .pm-text-link { margin-top: 12px; }
  .coffee-task-machine { max-width: 35rem; margin-block: 24px; }
  .coffee-task-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .coffee-task-status { font-size: 13px !important; }
  .coffee-task-list { margin-top: 24px; }
  .coffee-task { border-top: 1px solid var(--pm-line); padding-block: 20px; }
  .coffee-task h3 { margin: 0 0 12px; color: var(--pm-ink); font-size: 17px; line-height: 1.4; }
  .coffee-task ul { padding: 0; margin: 0; list-style: none; }
  .coffee-task li + li { margin-top: 16px; }
  .coffee-task li a { display: inline-block; min-height: 30px; color: var(--pm-green); font-size: 14px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; }
  .coffee-task li span { display: block; color: var(--pm-muted); font-size: 12px; line-height: 1.7; }
  .coffee-task li .coffee-task-source { min-height: 24px; margin-top: 7px; font-size: 12px; }
  .coffee-task-timing { padding-block: 8px; }
  .coffee-task p { margin: 0; max-width: 65ch; color: var(--pm-muted); font-size: 13px; line-height: 1.75; }
  .product-selector [hidden], .coffee-task-map [hidden] { display: none !important; }
  @media (max-width: 560px) { .product-selector-controls, .product-housing-options, .coffee-task-controls { grid-template-columns: minmax(0, 1fr); } .product-selector-controls, .product-selector-result { padding: 18px; } .coffee-task-machine { margin-block: 8px; } }
}


/* Source-linked tables remain readable, searchable and printable without scripts. */
@layer seo-reference-assets {
  .seo-ref { --ref-ink:var(--spm-ink,var(--pm-ink,#182235)); --ref-muted:var(--spm-muted,var(--pm-muted,#586273)); --ref-line:var(--spm-border,var(--pm-line,#dbe1e9)); color:var(--ref-ink); width:min(calc(100% - 48px),1180px); margin:40px auto; padding-block:28px; border-block:1px solid var(--ref-line); min-width:0; }
  .seo-ref h2 { margin-top:0; font-size:clamp(1.4rem,2.6vw,1.9rem); line-height:1.25; }
  .seo-ref p { max-width:90ch; line-height:1.7; }
  .seo-ref-eyebrow { margin:0 0 10px; color:var(--ref-muted); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
  .seo-ref-downloads { display:flex; flex-wrap:wrap; gap:8px 24px; margin-block:22px; }
  .seo-ref-downloads a { padding-block:10px; font-size:14px; font-weight:600; text-underline-offset:4px; }
  .seo-ref-help,.seo-ref-note { color:var(--ref-muted); font-size:13px; }
  .seo-ref-preview { margin-block:20px; border-block:1px solid var(--ref-line); padding-block:14px; }
  .seo-ref-preview summary { padding-block:8px; cursor:pointer; font-weight:600; }
  .seo-ref-preview figure { margin:18px 0; }
  .seo-ref-image-scroll,.seo-ref-table-scroll { max-width:100%; overflow:auto; overscroll-behavior-inline:contain; }
  .seo-ref-image-scroll img { display:block; width:1120px; max-width:none; height:auto; }
  .seo-ref-preview figcaption { color:var(--ref-muted); font-size:12px; margin-top:12px; }
  .seo-ref table { border-collapse:collapse; width:100%; min-width:950px; margin:0; text-align:left; font-size:13px; line-height:1.6; }
  .seo-ref caption { text-align:left; color:var(--ref-muted); padding-block:14px; font-size:12px; }
  .seo-ref th,.seo-ref td { padding:16px 14px; border-bottom:1px solid var(--ref-line); vertical-align:top; }
  .seo-ref thead th { font-size:12px; background:#f4f6f8; }
  .seo-ref tbody th { min-width:165px; font-weight:600; }
  .seo-ref td { min-width:155px; }
  .seo-ref td:last-child { min-width:80px; }
  .seo-ref code { font-size:inherit; overflow-wrap:anywhere; white-space:normal; }
  .seo-ref tbody td a { display:inline-block; padding:4px; }
  .seo-ref-sources { padding-top:14px; }
  .seo-ref-sources p,.seo-ref-sources li { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
  .seo-ref-sources li { margin-bottom:10px; padding-left:3px; }
  .seo-ref a:focus-visible,.seo-ref [tabindex]:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
  @media print {
    .seo-ref { break-before:page; border:0; margin:0; padding:0; color:#000; width:100%; }
    .seo-ref-downloads,.seo-ref-help,.seo-ref-preview { display:none; }
    .seo-ref-table-scroll { overflow:visible; }
    .seo-ref table { min-width:0; font-size:8pt; width:100%; }
    .seo-ref th,.seo-ref td { min-width:0!important; padding:6px; }
    .seo-ref tbody tr { break-inside:avoid; }
    .seo-ref thead { display:table-header-group; }
    .seo-ref-sources a::after { content:' (' attr(href) ')'; font-size:8pt; }
    .seo-ref h2,.seo-ref h3,.seo-ref caption { break-after:avoid; }
  }
}


/* Exact-reference context stays visible before any merchant action. */
@layer portfolio-models {
 .reference-answer-summary { max-width: 65ch; color: var(--pm-ink); font-size: 16px; line-height: 1.7; }
 .reference-fit-scope { font-size: 14px; line-height: 1.6; }
 .reference-critical-warning { padding-left: 14px; border-left: 3px solid var(--pm-green); font-size: 14px; line-height: 1.7; }
 .reference-proof { display: grid; gap: 10px; margin-block: 22px; font-size: 12px; line-height: 1.6; }
 .reference-proof div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 12px; }
 .reference-proof dt { color: var(--pm-muted); }
 .reference-proof dd { margin: 0; overflow-wrap: anywhere; }
 @media (max-width: 600px) { .reference-proof div { grid-template-columns: 1fr; gap: 2px; } }
}

.reference-matrix-jump { width: min(calc(100% - 48px), 1180px); margin: 20px auto; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.reference-matrix-jump a { display: inline-block; padding-block: 10px; text-underline-offset: 4px; }
.seo-related-decisions { display: flex; flex-wrap: wrap; gap: 4px 24px; }


/* Catalogue and source-documentation components use the shared white-canvas UI. */
@layer demo-catalog {
  .demo-page-heading { padding-block: 44px 52px; }
  .demo-page-heading h1 { margin-top: 18px; max-width: 900px; }
  .demo-page-heading .pm-lead { max-width: 720px; }
  .demo-catalog [hidden] { display: none !important; }
  .demo-catalog-controls { display: grid; grid-template-columns: minmax(200px, 1.6fr) 1fr 1fr auto; gap: 18px; align-items: end; padding-block: 0 22px; border-bottom: 1px solid var(--pm-line); }
  .demo-catalog-controls label { display: flex; flex-direction: column; gap: 8px; color: var(--pm-ink); font-size: 12px; font-weight: 550; }
  .demo-catalog-controls input, .demo-catalog-controls select, .demo-catalog-controls button { min-width: 0; min-height: 46px; width: 100%; padding: 10px 12px; border: 1px solid var(--pm-border-strong); border-radius: 5px; background: #fff; color: var(--pm-ink); font: 400 14px/1.4 var(--sans); }
  .demo-catalog-controls button { width: auto; cursor: pointer; }
  .demo-catalog-controls button:hover { background: var(--pm-surface); }
  .demo-catalog-count { margin-top: 22px; color: var(--pm-green); font-size: 13px; font-weight: 600; }
  .demo-catalog-note { max-width: 850px; margin-top: 10px; color: var(--pm-muted); font-size: 13px; line-height: 1.7; }
  .demo-category-index { display: flex; flex-wrap: wrap; gap: 0 22px; margin-block: 16px 34px; }
  .demo-category-index a { display: inline-flex; min-height: 44px; align-items: center; color: var(--pm-green); font-size: 13px; }
  .demo-catalog-section { padding-block: 24px 42px; }
  .demo-catalog-section > h2 { padding-bottom: 24px; border-bottom: 1px solid var(--pm-line); }
  .demo-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
  .demo-product { min-width: 0; padding-block: 28px 30px; border-bottom: 1px solid var(--pm-line); }
  .demo-product:target { outline: 2px solid var(--pm-green); outline-offset: 10px; }
  .demo-product__heading { display: flex; align-items: start; justify-content: space-between; gap: 22px; }
  .demo-product__heading h3 { margin-top: 10px; line-height: 1.3; }
  .demo-product code { overflow-wrap: anywhere; }
  .demo-product__heading > code { flex: 0 1 auto; max-width: 45%; color: var(--pm-green); font-size: 13px; }
  .demo-product > p { margin-top: 16px; color: var(--pm-muted); font-size: 13px; line-height: 1.7; }
  .demo-product > .demo-product__market { font-size: 11px; }
  .demo-product .demo-fit-notes { padding-left: 18px; margin-top: 16px; color: var(--pm-ink); font-size: 12px; line-height: 1.7; }
  .demo-fit-notes li + li { margin-top: 8px; }
  .demo-product > .demo-product__warning { color: #6e4a22; font-size: 12px; }
  .demo-product__coverage { font-size: 12px !important; }
  .demo-product__action { display: flex; flex-wrap: wrap; gap: 0 22px; margin-top: 12px; }
  .demo-product__action .pm-text-link { font-size: 12px; }
  .demo-product__action a:last-child { color: var(--pm-muted); }
  .demo-product__commerce { margin-top: 20px; }
  .demo-product-offers { display: grid; gap: 18px; min-width: 0; }
  .demo-amazon-offer, .demo-reference-search { min-width: 0; padding-top: 14px; border-top: 1px solid var(--pm-line); }
  .demo-product-offers > :first-child { border-top: 0; padding-top: 0; }
  .demo-amazon-offer__identity { color: var(--pm-ink); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
  .demo-amazon-offer__identity strong { font-weight: 550; }
  .demo-amazon-offer__identity span { display: block; margin-top: 5px; color: var(--pm-muted); font-size: 12px; }
  .demo-amazon-offer .pm-text-link, .demo-reference-search .pm-text-link { min-height: 44px; max-width: 100%; font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
  .demo-amazon-offer__review { margin-top: 5px; color: var(--pm-muted); font-size: 11px; line-height: 1.6; }
  .demo-product__sources summary { min-height: 44px; padding-block: 10px; color: var(--pm-green); cursor: pointer; font-size: 12px; }
  .demo-product__sources p { margin-top: 12px; color: var(--pm-muted); font-size: 11px; line-height: 1.7; }
  .demo-source-list { padding-left: 18px; font-size: 12px; line-height: 1.7; }
  .demo-source-list li + li { margin-top: 8px; }
  .demo-source-list a { color: var(--pm-green); overflow-wrap: anywhere; }
  .demo-source-list svg { display: inline; vertical-align: middle; width: 13px; height: 13px; }
  .demo-machine-links { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 18px; color: var(--pm-green); font-size: 12px; }
  .demo-machine-links > strong { flex-basis: 100%; color: var(--pm-ink); font-size: 11px; }
  .demo-machine-links a { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; }
  .demo-machine-links svg { width: 13px; height: 13px; }
  .demo-catalog-next { padding-top: 38px; border-top: 1px solid var(--pm-line); }
  .demo-catalog-next > p { margin-block: 18px 12px; color: var(--pm-muted); }
  .demo-catalog-next > a + a { margin-left: 24px; }
  .demo-category-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .demo-category-links > a { display: flex; min-width: 0; min-height: 150px; flex-direction: column; padding: 24px; border: 1px solid var(--pm-line); border-radius: 6px; background: #fff; text-decoration: none; }
  .demo-category-links > a:hover { border-color: var(--pm-green); background: var(--pm-accent-faint); }
  .demo-category-links strong { font-size: 18px; font-weight: 650; line-height: 1.35; letter-spacing: -.025em; overflow-wrap: anywhere; }
  .demo-category-links span { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 22px; color: var(--pm-green); font-size: 12px; }
  .demo-category-links svg { width: 16px; height: 16px; flex: none; }
  .demo-model-section { border-top: 1px solid var(--pm-line); }
  .demo-model-section .pm-guide-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .demo-model-section .pm-guide-links > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; align-items: start; gap: 20px; padding: 24px; border: 1px solid var(--pm-line); border-radius: 6px; background: #fff; }
  .demo-model-section .pm-guide-links > a:hover { border-color: var(--pm-green); background: var(--pm-accent-faint); }
  .demo-model-section .pm-guide-links > a > span { min-width: 0; }
  .demo-model-section .pm-guide-links h3 { margin-block: 10px; font-size: 20px; overflow-wrap: anywhere; }
  .demo-model-section .pm-guide-links small { margin-top: 0; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
  .demo-model-section .pm-guide-links svg { margin-top: 4px; color: var(--pm-green); }
  .demo-brand-content > section + section { margin-top: 70px; }
  .demo-brand-category { margin-top: 35px; }
  .demo-brand-category > h3 { padding-bottom: 18px; border-bottom: 1px solid var(--pm-line); font-size: 23px; }
  .demo-brand-references { list-style: none; }
  .demo-brand-references a { position: relative; display: flex; flex-direction: column; min-height: 70px; gap: 9px; padding: 22px 32px 22px 0; border-bottom: 1px solid var(--pm-line); text-decoration: none; }
  .demo-brand-references strong { font-size: 15px; font-weight: 550; }
  .demo-brand-references span { max-width: 800px; color: var(--pm-muted); font-size: 13px; }
  .demo-brand-references small { color: var(--pm-green); font-size: 11px; }
  .demo-brand-references svg { position: absolute; right: 0; top: 24px; width: 17px; height: 17px; }
  .demo-product-links { margin-top: 18px; }
  .demo-product-link-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 10px 24px; padding-block: 17px; border-bottom: 1px solid var(--pm-line); }
  .demo-product-link { position: relative; display: block; min-width: 0; padding-right: 30px; text-decoration: none; }
  .demo-product-link strong { display: block; font-size: 14px; font-weight: 550; overflow-wrap: anywhere; }
  .demo-product-link span { display: block; margin-top: 7px; color: var(--pm-muted); font-size: 12px; }
  .demo-product-link > svg { position: absolute; right: 0; top: 3px; width: 17px; height: 17px; }
  .demo-product-link-actions { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: 8px; }
  .demo-product-link-actions .pm-text-link { min-height: 44px; font-size: 12px; overflow-wrap: anywhere; }
  .demo-answer-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 20px; }
  .pm-answer .demo-answer-actions .pm-button { margin-top: 0; }
  .demo-answer-actions .pm-text-link { font-size: 12px; overflow-wrap: anywhere; }
  .demo-answer-actions .pm-button { max-width: 100%; white-space: normal; text-align: left; }
  .demo-guide-review { margin-top: 20px; color: var(--pm-muted); font-size: 12px; line-height: 1.6; }
  .demo-category-group { min-width: 0; padding: 24px; border: 1px solid var(--pm-line); border-radius: 6px; }
  .demo-category-group h3 { font-size: 18px; line-height: 1.4; }
  .demo-category-group > p { margin-top: 10px; color: var(--pm-muted); font-size: 12px; }
  .demo-family-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; margin-top: 22px; }
  .demo-family-links > a { display: flex; min-width: 0; min-height: 70px; flex-direction: column; gap: 10px; padding-block: 18px; border-bottom: 1px solid var(--pm-line); text-decoration: none; }
  .demo-family-links strong { color: var(--pm-ink); font-size: 13px; font-weight: 550; line-height: 1.5; overflow-wrap: anywhere; }
  .demo-family-links span { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--pm-green); font-size: 12px; }
  .demo-family-links svg { flex: none; width: 16px; height: 16px; }
  .demo-category-group .demo-family-links { grid-template-columns: minmax(0, 1fr); margin-top: 14px; }
  .demo-category-group .demo-family-links > a { min-height: 60px; padding-block: 14px; }
  .demo-catalog-families { padding-block: 12px 42px; border-bottom: 1px solid var(--pm-line); }
  .demo-catalog-families > p { max-width: 780px; margin-top: 15px; color: var(--pm-muted); font-size: 14px; line-height: 1.7; }
  .demo-reference-page h1 { overflow-wrap: anywhere; }
  .demo-reference-name { margin-top: 18px; font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.4; }
  .demo-reference-page .pm-answer > code { max-width: 100%; overflow-wrap: anywhere; }
  .demo-reference-page .pm-answer .demo-product-offers { margin-top: 24px; }
  .demo-reference-page .pm-answer .demo-catalog-note { font-size: 11px; }
  .demo-reference-content { max-width: 980px; }
  .demo-reference-section + .demo-reference-section { margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--pm-line); }
  .demo-reference-section h2 { margin-block: 10px 24px; font-size: clamp(1.5rem, 3vw, 2.25rem); }
  .demo-reference-section > p:not(.pm-eyebrow):not(.demo-guide-review), .demo-documented-machine p { margin-top: 18px; color: var(--pm-muted); font-size: 14px; line-height: 1.8; }
  .demo-reference-section .demo-fit-notes { margin-top: 18px; padding-left: 20px; font-size: 14px; line-height: 1.8; }
  .demo-reference-section .demo-source-list { font-size: 14px; }
  .demo-reference-warnings { margin-top: 22px; padding: 18px 22px; border-left: 2px solid #9b784a; background: #fbf8f2; color: #6e4a22; font-size: 13px; line-height: 1.7; }
  .demo-reference-warnings h3 { font-size: 15px; }
  .demo-reference-warnings .demo-fit-notes { margin-top: 10px; }
  .demo-documented-machine { padding-block: 25px; border-bottom: 1px solid var(--pm-line); }
  .demo-documented-machine h3 { margin-top: 12px; font-size: 21px; }
  .demo-documented-machine h3 svg { display: inline; width: 17px; height: 17px; }
  .demo-documented-machine code { overflow-wrap: anywhere; }
  .demo-documented-machine > .pm-text-link { margin-top: 16px; }
  .demo-reference-next { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--pm-line); }
  .demo-reference-next .pm-text-link { white-space: normal; font-size: 13px; }
  .demo-family-page .demo-reference-section { margin-top: 48px; }
  .demo-family-table-wrap { overflow-x: auto; max-width: 100%; border-block: 1px solid var(--pm-line); }
  .demo-family-table { width: 100%; min-width: 1050px; border-collapse: collapse; table-layout: fixed; }
  .demo-family-table caption { padding: 18px 16px; text-align: left; color: var(--pm-muted); font-size: 12px; line-height: 1.7; }
  .demo-family-table th, .demo-family-table td { padding: 22px 16px; border-top: 1px solid var(--pm-line); vertical-align: top; text-align: left; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
  .demo-family-table thead th { background: var(--pm-surface); font-size: 12px; font-weight: 600; }
  .demo-family-table th:nth-child(1) { width: 19%; }
  .demo-family-table th:nth-child(2) { width: 23%; }
  .demo-family-table th:nth-child(3) { width: 16%; }
  .demo-family-table th:nth-child(4) { width: 28%; }
  .demo-family-table th:nth-child(5) { width: 14%; }
  .demo-family-buying .pm-text-link { white-space:normal; }
  .demo-family-buying .amazon-commission-note { margin-top:8px; }
  .demo-family-table th[scope="row"] { font-weight: 500; }
  .demo-family-table th[scope="row"] a { display: flex; min-height: 44px; flex-direction: column; gap: 12px; text-decoration: none; }
  .demo-family-table th[scope="row"] code { color: var(--pm-green); font-size: 14px; }
  .demo-family-table th[scope="row"] svg { width: 16px; height: 16px; color: var(--pm-green); }
  .demo-family-table td > p + p { margin-top: 12px; }
  .demo-family-table .demo-fit-notes { margin-top: 14px; padding-left: 16px; }
  .demo-family-table .demo-source-list { padding-left: 14px; font-size: 11px; }
  .demo-family-table .demo-guide-review { margin-top: 14px; font-size: 11px; }
  .demo-family-table .demo-reference-warnings { margin-top: 16px; padding: 12px; font-size: 11px; }
  .demo-family-table .demo-reference-warnings .demo-fit-notes { margin-top: 8px; }
  .demo-family-machine-links { display: grid; margin-top: 12px; }
  .demo-family-machine-links a { display: flex; min-height: 44px; align-items: center; color: var(--pm-green); font-size: 12px; }
  .demo-brand-category > p { margin-block: 16px; color: var(--pm-muted); font-size: 13px; line-height: 1.8; }
  .demo-brand-category > h3 svg { display: inline; width: 18px; height: 18px; }
  @media (max-width: 900px) {
    .demo-catalog-controls { grid-template-columns: 1fr 1fr; }
    .demo-category-links { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .demo-family-links { grid-template-columns: repeat(2, minmax(0,1fr)); }
  }
  @media (max-width: 640px) {
    .demo-family-table, .demo-family-table tbody { display:block; min-width:0; }
    .demo-family-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    .demo-family-table tr { display:grid; grid-template-columns:minmax(0,1fr); padding-block:12px 24px; border-top:1px solid var(--pm-line); }
    .demo-family-table th, .demo-family-table td { display:block; width:100%; border:0; }
    .demo-family-table th[scope="row"] { width:100%; }
    .demo-family-table caption { display:block; }
    .demo-catalog-controls, .demo-product-grid, .demo-category-links, .demo-model-section .pm-guide-links { grid-template-columns: 1fr; }
    .demo-catalog-controls { gap: 14px; }
    .demo-category-links > a, .demo-model-section .pm-guide-links > a { padding: 20px; }
    .demo-category-links > a { min-height: 130px; }
    .demo-catalog-controls button { justify-self: start; }
    .demo-product__heading { flex-direction: column; gap: 12px; }
    .demo-product__heading > code { max-width: 100%; }
    .demo-product-link-row { grid-template-columns: minmax(0, 1fr); }
    .demo-product-link { min-height: 44px; }
    .demo-catalog-next > a + a { margin-left: 0; }
    .demo-catalog-next > a { display: flex; }
    .demo-page-heading { padding-block: 34px 40px; }
    .demo-brand-content > section + section { margin-top: 48px; }
    .demo-family-links { grid-template-columns: minmax(0,1fr); }
    .demo-category-group { padding: 20px; }
    .demo-reference-warnings { padding: 16px; }
    .demo-reference-section + .demo-reference-section { margin-top: 35px; padding-top: 28px; }
  }
}
@layer demo-catalog {
  .demo-selected-model { margin-top: 20px; padding: 14px 0; border-block: 1px solid var(--pm-line); color: var(--pm-green); font-size: 14px; }
  .demo-selected-model[hidden] { display: none; }
}


/* Six-site catalogue and reference layouts. Shaver retains its own components. */
@layer portfolio-catalog {
  .portfolio-catalog-page [hidden] { display: none !important; }
  .portfolio-catalog-hero { padding-block: 28px 38px; border-bottom: 1px solid var(--pm-line); background: #fff; }
  .portfolio-catalog-hero .breadcrumb { margin-bottom: 28px; }
  .portfolio-catalog-hero .demo-page-heading { padding-block: 0; }
  .portfolio-catalog-hero h1 { max-width: 830px; margin-top: 14px; font: 720 clamp(2.1rem, 4.2vw, 3.35rem)/1.08 var(--sans); letter-spacing: -.045em; }
  .portfolio-catalog-hero .pm-lead,
  .portfolio-catalog-hero > .shell > p:last-of-type { max-width: 730px; margin-top: 20px; color: var(--pm-muted); font-size: 16px; line-height: 1.7; }
  .portfolio-catalog-help { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin-top: 24px; }
  .portfolio-catalog-finder { max-width: 730px; margin-top: 18px; }
  .portfolio-catalog-finder > summary { display: flex; min-height: 44px; align-items: center; gap: 14px; width: fit-content; color: var(--pm-green); font-size: 13px; cursor: pointer; }
  .portfolio-catalog-finder > summary svg { width: 16px; height: 16px; }
  .portfolio-catalog-finder .pm-finder { max-width: none; margin-top: 16px; }
  .portfolio-catalog-hero .ffm-catalog-counts { gap: 24px 40px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--pm-line); }
  .portfolio-catalog-hero .ffm-catalog-counts dd { font-size: 24px; }
  .portfolio-catalog-hero .ffm-catalog-counts dt { font-size: 11px; }
  .portfolio-catalog-results { padding-block: 38px 64px; background: #fff; }
  .portfolio-catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
  .portfolio-catalog-heading h2 { margin-top: 10px; font-size: 28px; line-height: 1.2; }
  .portfolio-catalog-heading > p { flex: none; max-width: 340px; color: var(--pm-muted); font-size: 13px; line-height: 1.6; }
  .portfolio-catalog-heading .portfolio-catalog-count { margin-top: 0; }
  .portfolio-catalog-controls { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; align-items: end; gap: 16px; margin: 0; padding: 20px; border: 1px solid var(--pm-line); border-radius: 6px; background: var(--pm-accent-faint); }
  .demo-catalog-controls.portfolio-catalog-controls { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) minmax(0, 1fr) auto; }
  .portfolio-catalog-controls label { display: grid; min-width: 0; gap: 8px; color: var(--pm-ink); font-size: 12px; font-weight: 600; }
  .portfolio-catalog-controls input,
  .portfolio-catalog-controls select,
  .portfolio-catalog-controls button { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid var(--pm-border-strong); border-radius: 5px; background: #fff; color: var(--pm-ink); font: 400 14px/1.4 var(--sans); }
  .portfolio-catalog-controls button { width: auto; cursor: pointer; }
  .portfolio-catalog-controls button:hover { border-color: var(--pm-green); color: var(--pm-green); }
  .no-js .portfolio-catalog-controls { display: none; }
  .portfolio-catalog-index,
  .portfolio-catalog-page .demo-category-index { display: flex; flex-wrap: wrap; gap: 0 22px; margin-block: 12px 26px; }
  .portfolio-catalog-index a,
  .portfolio-catalog-page .demo-category-index a { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; margin: 0; color: var(--pm-green); font-size: 13px; font-weight: 550; }
  .portfolio-catalog-index svg { width: 14px; height: 14px; }
  .portfolio-catalog-index span { color: var(--pm-muted); font-size: 11px; font-weight: 400; }
  .portfolio-catalog-note { max-width: 800px; margin-block: 16px 24px; color: var(--pm-muted); font-size: 13px; line-height: 1.7; }
  .portfolio-catalog-disclosure { max-width: 900px; margin-bottom: 24px; font-size: 11px; }
  .portfolio-catalog-group { margin-block: 32px 42px; }
  .portfolio-catalog-group-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
  .portfolio-catalog-group-heading h2 { font-size: 24px; }
  .portfolio-catalog-group-heading p { color: var(--pm-muted); font-size: 12px; }
  .portfolio-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .portfolio-catalog-card { display: flex; min-width: 0; flex-direction: column; gap: 0; padding: 24px; border: 1px solid var(--pm-line); border-radius: 6px; background: #fff; }
  .portfolio-catalog-card:target { outline: 2px solid var(--pm-green); outline-offset: 5px; box-shadow: none; }
  .portfolio-catalog-card > p { margin: 0; }
  .portfolio-card-meta { color: var(--pm-muted); font-size: 11px; line-height: 1.6; }
  .portfolio-card-reference { margin-top: 16px; font: 650 25px/1.2 var(--sans); letter-spacing: -.035em; overflow-wrap: anywhere; }
  .portfolio-card-reference a { color: var(--pm-ink); text-decoration: none; }
  .portfolio-card-reference a:hover { color: var(--pm-green); }
  .portfolio-card-reference code { font: inherit; }
  .portfolio-catalog-card > .portfolio-card-name { margin-top: 12px; color: var(--pm-ink); font-size: 15px; font-weight: 600; line-height: 1.5; }
  .portfolio-catalog-card > .portfolio-card-summary { margin-top: 12px; color: var(--pm-muted); font-size: 13px; line-height: 1.7; }
  .portfolio-catalog-card > .portfolio-card-market,
  .portfolio-catalog-card > .portfolio-card-scope { margin-top: 14px; color: var(--pm-muted); font-size: 11px; line-height: 1.6; }
  .portfolio-catalog-card > .portfolio-card-scope { color: var(--pm-ink); }
  .portfolio-card-details { min-width: 0; margin-top: 16px; padding-top: 4px; border-top: 1px solid var(--pm-line); }
  .portfolio-card-details + .portfolio-card-details { margin-top: 0; }
  .portfolio-card-details > summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 12px; color: var(--pm-green); font-size: 12px; font-weight: 600; line-height: 1.5; cursor: pointer; }
  .portfolio-card-details > summary::-webkit-details-marker { display: none; }
  .portfolio-card-details > summary svg { width: 15px; height: 15px; flex: none; }
  .portfolio-card-details[open] > summary svg { transform: rotate(180deg); }
  .portfolio-card-details[open] > summary { margin-bottom: 12px; }
  .portfolio-card-details p,
  .portfolio-card-details ul { margin-block: 12px; color: var(--pm-muted); font-size: 12px; line-height: 1.75; overflow-wrap: anywhere; }
  .portfolio-card-details ul { padding-left: 18px; }
  .portfolio-card-details li + li { margin-top: 8px; }
  .portfolio-card-details a { overflow-wrap: anywhere; }
  .portfolio-card-details a > svg { display: inline-block; width: 13px; height: 13px; vertical-align: middle; }
  .portfolio-card-details .pm-text-link { display: flex; min-height: 44px; font-size: 12px; }
  .portfolio-card-models { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; gap: 8px; padding: 0 !important; }
  .portfolio-card-models li + li { margin-top: 0; }
  .portfolio-card-models code { font-size: 11px; }
  .portfolio-catalog-card .portfolio-card-action { width: 100%; margin-top: auto; transform: translateY(0); }
  .portfolio-catalog-card .portfolio-card-action::before { content: none; }
  .portfolio-catalog-card > .portfolio-card-details:last-of-type { margin-bottom: 20px; }
  .portfolio-card-offers .demo-product-offers { gap: 12px; }
  .portfolio-card-offers .demo-amazon-offer:first-child,
  .portfolio-card-offers .demo-reference-search:first-child { border-top: 0; padding-top: 0; }
  .portfolio-catalog-empty { margin-block: 24px; padding: 28px; border: 1px solid var(--pm-line); border-radius: 6px; background: var(--pm-accent-faint); }
  .portfolio-catalog-empty h2 { font-size: 22px; }
  .portfolio-catalog-empty p { margin-top: 12px; color: var(--pm-muted); font-size: 14px; line-height: 1.7; }
  .portfolio-catalog-empty a { margin-top: 12px; }
  .portfolio-catalog-page .demo-catalog-section { padding-block: 12px 36px; }
  .portfolio-catalog-page .demo-catalog-section > h2 { padding-bottom: 18px; border: 0; font-size: 24px; }
  .portfolio-catalog-list { border-top: 1px solid var(--pm-line); }
  .portfolio-catalog-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 27%); align-items: center; gap: 12px 32px; padding-block: 14px; border-bottom: 1px solid var(--pm-line); scroll-margin-top: 24px; }
  .portfolio-catalog-row:target { outline: 2px solid var(--pm-green); outline-offset: 4px; }
  .portfolio-catalog-row h3 { min-width: 0; margin: 0; font-size: 14px; line-height: 1.6; }
  .portfolio-catalog-row h3 a { display: grid; grid-template-columns: minmax(100px, 26%) minmax(0, 1fr); align-items: center; gap: 12px 24px; min-height: 44px; color: var(--pm-ink); text-decoration: none; }
  .portfolio-catalog-row h3 a:hover { color: var(--pm-green); text-decoration: underline; }
  .portfolio-catalog-row code { font-size: 15px; overflow-wrap: anywhere; }
  .portfolio-catalog-row h3 span { font-weight: 500; overflow-wrap: anywhere; }
  .portfolio-catalog-row p { display: grid; gap: 3px; margin: 0; color: var(--pm-muted); font-size: 11px; line-height: 1.6; }
  .portfolio-catalog-row p a { display: inline-flex; align-items: center; min-height: 32px; color: var(--pm-green); font-size: 12px; }
  .portfolio-catalog-browse { margin-block: 20px 36px; padding: 20px 0; border-block: 1px solid var(--pm-line); }
  .portfolio-catalog-browse > summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 20px; color: var(--pm-ink); font-size: 20px; font-weight: 650; cursor: pointer; }
  .portfolio-catalog-browse > summary svg { width: 18px; height: 18px; }
  .portfolio-catalog-browse .demo-family-links { margin-top: 20px; }
  .portfolio-family-content { padding-block: 38px 64px; }
  .portfolio-family-content .demo-family-table-wrap { border: 1px solid var(--pm-line); border-radius: 6px; }
  .portfolio-family-content .demo-family-table td,
  .portfolio-family-content .demo-family-table th { padding: 20px; }
  .portfolio-family-content .demo-family-table .portfolio-card-details { margin-top: 14px; }
  .portfolio-family-content .demo-family-table td:last-child .portfolio-card-details { margin-top: 0; border-top: 0; }
  .portfolio-reference-hero { padding-block: 28px 38px; border-bottom: 1px solid var(--pm-line); background: #fff; }
  .portfolio-reference-hero .breadcrumb { margin-bottom: 24px; }
  .portfolio-reference-layout { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 24px 64px; margin-top: 28px; align-items: start; }
  .portfolio-reference-hero h1 { margin-top: 16px; max-width: 740px; font: 720 clamp(2rem, 3.6vw, 3rem)/1.12 var(--sans); letter-spacing: -.04em; overflow-wrap: anywhere; }
  .portfolio-reference-hero .demo-reference-name { margin-top: 18px; font-size: 22px; font-weight: 600; line-height: 1.4; }
  .portfolio-reference-hero .pm-lead,
  .portfolio-reference-hero .ffm-lead { max-width: 660px; font-size: 16px; line-height: 1.75; }
  .portfolio-reference-answer { min-width: 0; padding: 28px; border: 1px solid var(--pm-line); border-radius: 6px; background: var(--pm-accent-faint); }
  .portfolio-reference-answer > code { font: 650 clamp(1.5rem, 2.4vw, 2rem)/1.3 var(--sans); }
  .portfolio-reference-answer .demo-product-offers { margin-top: 22px; }
  .portfolio-reference-answer > .pm-button { width: 100%; }
  .portfolio-reference-answer > .pm-text-link { display: flex; margin-top: 16px; font-size: 12px; }
  .portfolio-reference-nav { display: flex; flex-wrap: wrap; gap: 0 24px; margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--pm-line); }
  .portfolio-reference-nav a { display: inline-flex; min-height: 44px; align-items: center; color: var(--pm-green); font-size: 13px; }
  .portfolio-reference-body { padding-block: 44px 64px; }
  .portfolio-reference-body .demo-reference-content { max-width: 980px; }
  .portfolio-reference-body .demo-reference-section h2 { margin-top: 12px; font-size: 28px; line-height: 1.25; }
  .portfolio-reference-body .ffm-detail-layout h2 { font-size: 28px; line-height: 1.25; }
  .portfolio-reference-body .ffm-detail-layout h3 { margin-top: 24px; }
  .portfolio-reference-body .ffm-detail-layout .ffm-detail { padding: 24px; margin-block: 18px; border: 1px solid var(--pm-line); border-radius: 6px; }
  .portfolio-reference-body .ffm-detail > h3 { margin-top: 0; }
  @media (max-width: 1000px) {
    .portfolio-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .portfolio-catalog-card { padding: 22px; }
    .portfolio-reference-layout { gap: 24px 36px; }
  }
  @media (max-width: 767px) {
    .portfolio-catalog-hero,
    .portfolio-reference-hero { padding-block: 24px 30px; }
    .portfolio-catalog-hero h1 { font-size: clamp(2rem, 7.4vw, 2.6rem); }
    .portfolio-catalog-results,
    .portfolio-family-content,
    .portfolio-reference-body { padding-block: 30px 44px; }
    .portfolio-catalog-heading { display: block; }
    .portfolio-catalog-heading > p { margin-top: 14px; }
    .portfolio-catalog-controls,
    .demo-catalog-controls.portfolio-catalog-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .portfolio-catalog-controls > label:first-child { grid-column: 1 / -1; }
    .portfolio-catalog-controls button { justify-self: start; }
    .portfolio-catalog-row { grid-template-columns: minmax(0, 1fr); gap: 4px; padding-block: 16px; }
    .portfolio-catalog-row h3 a { grid-template-columns: minmax(90px, 25%) minmax(0, 1fr); gap: 16px; }
    .portfolio-catalog-row p { padding-left: calc(25% + 12px); }
    .portfolio-reference-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .portfolio-reference-hero h1 { font-size: clamp(1.9rem, 7vw, 2.5rem); }
    .portfolio-reference-answer { padding: 24px; }
    .portfolio-reference-nav { gap: 0 20px; }
    .portfolio-reference-nav a { font-size: 12px; }
  }
  @media (max-width: 600px) {
    .portfolio-catalog-grid,
    .portfolio-catalog-controls,
    .demo-catalog-controls.portfolio-catalog-controls { grid-template-columns: minmax(0, 1fr); }
    .portfolio-catalog-controls { padding: 18px; }
    .portfolio-catalog-controls input,
    .portfolio-catalog-controls select { font-size: 16px; }
    .portfolio-catalog-row h3 a { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    .portfolio-catalog-row p { padding-left: 0; }
    .portfolio-catalog-row p a { min-height: 44px; }
    .portfolio-catalog-group-heading { display: block; }
    .portfolio-catalog-group-heading p { margin-top: 10px; }
    .portfolio-card-reference { font-size: 24px; }
    .portfolio-reference-body .ffm-detail-layout .ffm-detail { padding: 20px; }
    .portfolio-catalog-empty { padding: 22px; }
  }
}


/* Model pages share a presentation layer; their references, review and commerce
   rules stay in each vertical's renderer. Shaver keeps its existing classes. */
@layer portfolio-models {
  .portfolio-model .portfolio-model-hero {
    padding-block: 32px 56px;
    border-bottom: 1px solid var(--pm-line);
    background: #fff;
  }
  .portfolio-model .portfolio-model-hero .breadcrumb {
    margin-bottom: 28px;
    overflow-wrap: anywhere;
  }
  .portfolio-model .portfolio-model-hero > .shell > .pm-journey {
    margin-bottom: 28px;
  }
  .portfolio-model .portfolio-model-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    grid-template-areas: "intro answer" "summary answer" "compatibility answer";
    align-items: start;
    gap: 22px 64px;
    margin-top: 0;
  }
  .portfolio-model .portfolio-model-grid--simple { grid-template-areas: "intro answer"; }
  .portfolio-model .portfolio-model-intro { grid-area: intro; min-width: 0; }
  .portfolio-model .portfolio-model-summary { grid-area: summary; min-width: 0; }
  .portfolio-model .portfolio-model-compatibility { grid-area: compatibility; min-width: 0; }
  .portfolio-model .portfolio-model-intro .pm-journey { margin-bottom: 28px; }
  .portfolio-model .portfolio-model-intro h1 {
    max-width: 22ch;
    margin-block: 16px 20px;
    font-size: clamp(2rem, 4vw, 3.3rem);
    font-weight: 720;
    line-height: 1.1;
    letter-spacing: -.045em;
    overflow-wrap: anywhere;
  }
  .portfolio-model .portfolio-model-grid :is(.pm-lead, .pfm-lead, .ffm-lead) {
    max-width: 58ch;
    margin-top: 0;
    color: var(--pm-muted);
    font-size: 16px;
    line-height: 1.75;
  }
  .portfolio-model .portfolio-model-intro .demo-guide-review { font-size: 12px; line-height: 1.7; }
  .portfolio-model .portfolio-model-intro .pfm-brand-index { gap: 4px 20px; margin-top: 16px; font-size: 13px; }
  .portfolio-model .portfolio-model-compatibility h2 { margin-block: 4px 14px; font-size: 16px; line-height: 1.5; letter-spacing: -.015em; }
  .portfolio-model .portfolio-model-compatibility :is(.pfm-model-list, .ffm-model-list) { padding: 0; }
  .portfolio-model .portfolio-model-answer {
    grid-area: answer;
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--pm-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 40px #13326208;
  }
  .portfolio-model .portfolio-model-answer h2 {
    margin-block: 14px 18px;
    font-size: 24px;
    font-weight: 720;
    line-height: 1.25;
    letter-spacing: -.03em;
  }
  .portfolio-model .portfolio-model-answer > code {
    display: block;
    margin-block: 18px;
    color: var(--pm-green);
    font: 650 clamp(1.4rem, 2.7vw, 2rem)/1.35 var(--mono);
    overflow-wrap: anywhere;
  }
  .portfolio-model .portfolio-model-answer > p { color: var(--pm-muted); font-size: 13px; line-height: 1.7; }
  .portfolio-model .portfolio-model-answer > p + p { margin-top: 12px; }
  .portfolio-model .portfolio-model-answer > .pm-eyebrow { color: var(--pm-green); font-size: 11px; line-height: 1.4; }
  .portfolio-model .portfolio-model-answer .copy-button {
    min-height: 44px;
    border: 1px solid var(--pm-line);
    border-radius: 5px;
    background: #fff;
    color: var(--pm-ink);
    font: 550 12px/1.4 var(--sans);
    letter-spacing: 0;
    text-transform: none;
  }
  .portfolio-model .portfolio-model-answer .pm-button { max-width: 100%; white-space: normal; }
  .portfolio-model .pm-fit-state a { display: inline-flex; align-items: center; gap: 8px; }
  .portfolio-model .pm-fit-state svg { flex: 0 0 16px; width: 16px; height: 16px; }
  .portfolio-model .portfolio-model-answer :is(.pm-market, .amazon-disclosure, .amazon-commission-note, .demo-amazon-offer__review) { font-size: 12px; line-height: 1.7; }
  .portfolio-model .portfolio-model-main { padding-block: 48px 72px; background: var(--pm-surface); }
  .portfolio-model .portfolio-model-details {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 64px;
    align-items: start;
  }
  .portfolio-model .portfolio-model-content { min-width: 0; max-width: none; padding: 0; }
  .portfolio-model .portfolio-model-content > h2 { margin-bottom: 22px; font-size: 25px; line-height: 1.2; }
  .portfolio-model .portfolio-model-content :is(.pm-detail, .pfm-detail, .ffm-detail) {
    margin-top: 22px;
    padding-block: 18px 0;
    border-top: 1px solid var(--pm-line);
    border-bottom: 0;
  }
  .portfolio-model .portfolio-model-content details > summary,
  .portfolio-model .portfolio-model-answer details > summary {
    min-height: 44px;
    cursor: pointer;
    font: 650 16px/1.5 var(--sans);
    color: var(--pm-ink);
  }
  .portfolio-model .portfolio-model-content :is(.pm-detail, .pfm-sources, .ffm-sources, .pfm-related-guides, .ffm-related-guides) h2 { font-size: 22px; line-height: 1.3; }
  .portfolio-model .portfolio-model-content :is(.callout, .facts-grid, .compatibility-table-wrap, .step-list, .source-list, .empty-state, .merchant-list) { margin-inline: 0; }
  .portfolio-model .portfolio-model-content .callout { padding: 16px 18px; }
  .portfolio-model .portfolio-model-content .callout strong { font-size: 13px; }
  .portfolio-model .portfolio-model-content .callout p { font-size: 14px; line-height: 1.7; }
  .portfolio-model .portfolio-model-content .facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio-model .portfolio-model-content .facts-grid > div { min-height: 0; padding: 16px; }
  .portfolio-model .portfolio-model-content .facts-grid dd { margin-top: 8px; overflow-wrap: anywhere; }
  .portfolio-model .portfolio-model-content .step-list { padding: 0; }
  .portfolio-model .portfolio-model-content .step-list li { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; }
  .portfolio-model .portfolio-model-content .step-list span { padding-top: 5px; font-size: 11px; }
  .portfolio-model .portfolio-model-content .source-list { padding: 0; }
  .portfolio-model .portfolio-model-content .source-list li { min-width: 0; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 12px; }
  .portfolio-model .portfolio-model-content .source-list :is(strong, a) { font-size: 13px; }
  .portfolio-model .portfolio-model-content .source-list span { font-size: 12px; overflow-wrap: anywhere; }
  .portfolio-model .portfolio-model-content .compatibility-table { min-width: 560px; }
  .portfolio-model .portfolio-model-content :is(.pfm-detail, .ffm-detail) > :is(ul, ol) { padding-left: 20px; }
  .portfolio-model .portfolio-model-content .product-media__head { grid-template-columns: 1fr; }
  .portfolio-model .portfolio-model-content .product-media__head p { grid-column: 1; }
  .portfolio-model .portfolio-model-content .product-media__head h2 { font: 720 22px/1.3 var(--sans); }
  .portfolio-model .portfolio-model-sidebar {
    position: static;
    min-width: 0;
    padding: 24px;
    border: 1px solid var(--pm-line);
    border-radius: 8px;
    background: #fff;
  }
  .portfolio-model .portfolio-model-sidebar h2 { margin-bottom: 16px; font-size: 19px; line-height: 1.35; letter-spacing: -.025em; }
  .portfolio-model .portfolio-model-sidebar p { margin-block: 0 16px; color: var(--pm-muted); font-size: 14px; line-height: 1.75; }
  .portfolio-model .portfolio-model-sidebar a { color: var(--pm-green); overflow-wrap: anywhere; }
  @media (max-width: 1000px) {
    .portfolio-model .portfolio-model-grid { gap: 22px 32px; }
    .portfolio-model .portfolio-model-details { grid-template-columns: minmax(0, 1fr) 250px; gap: 32px; }
  }
  @media (max-width: 760px) {
    .portfolio-model .portfolio-model-hero { padding-block: 26px 36px; }
    .portfolio-model .portfolio-model-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "answer" "summary" "compatibility"; gap: 24px; }
    .portfolio-model .portfolio-model-grid--simple { grid-template-areas: "intro" "answer"; }
    .portfolio-model .portfolio-model-intro h1 { font-size: clamp(2rem, 7.4vw, 3rem); }
    .portfolio-model .portfolio-model-grid :is(.pm-lead, .pfm-lead, .ffm-lead) { font-size: 15px; }
    .portfolio-model .portfolio-model-answer { padding: 24px; }
    .portfolio-model .portfolio-model-main { padding-block: 36px 48px; }
    .portfolio-model .portfolio-model-details { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .portfolio-model .portfolio-model-content .facts-grid { grid-template-columns: minmax(0, 1fr); }
    .portfolio-model .portfolio-model-content .source-list li { grid-template-columns: 20px minmax(0, 1fr); }
    .portfolio-model .portfolio-model-content .source-list li > a { grid-column: 2; min-height: 44px; }
    .portfolio-model .portfolio-model-content .product-media__grid { grid-template-columns: minmax(0, 1fr); }
  }
  @media print {
    .portfolio-model .portfolio-model-grid,
    .portfolio-model .portfolio-model-details { display: block; }
    .portfolio-model .portfolio-model-main { background: #fff; }
    .portfolio-model .portfolio-model-answer { box-shadow: none; }
    .portfolio-model .portfolio-model-sidebar { margin-top: 24px; }
  }
}

@layer portfolio-models {
  .model-guide-answer { margin-bottom: 32px; }
  .model-guide-answer > p { max-width: 70ch; line-height: 1.75; }
  .model-guide-answer .compatibility-table-wrap { max-width: 100%; overflow-x: auto; margin-block: 24px; }
  .model-guide-answer .compatibility-table { min-width: 480px; }
  .model-guide-answer th[scope="row"] { text-align: left; font: 600 13px/1.6 var(--sans); letter-spacing: normal; text-transform: none; }
  .model-guide-answer-sources { font-size: 13px; }
  .model-guide-answer a { text-underline-offset: 3px; }
}


/* The six portfolio guide libraries share Shaver's compact reference layout. */
@layer portfolio-guides {
  .pm-guide-hero { padding:28px 0 40px; border-bottom:1px solid var(--pm-line); background:#fff; }
  .pm-guide-hero .breadcrumb { margin-bottom:32px; }
  .pm-guide-hero .pm-eyebrow { margin-bottom:16px; }
  html[data-site] .pm-guide-hero h1 { max-width:900px; font:720 clamp(2rem,4vw,3.3rem)/1.1 var(--sans); letter-spacing:-.045em; }
  .pm-guide-dek { max-width:700px; margin-top:20px; color:var(--pm-muted); font-size:16px; line-height:1.7; }
  .pm-guide-byline { margin-top:20px; color:var(--pm-muted); font-size:12px; line-height:1.7; }
  .pm-guide-byline a { color:var(--pm-green); }
  .pm-guide-heading { margin-top:28px; }
  .pm-guide-heading--image { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; gap:48px; }
  .pm-guide-heading .guide-image { margin:0; }
  .pm-guide-heading .pm-text-link { margin-top:12px; }
  .pm-guide-library { padding:40px 0 72px; }
  .pm-library-controls[hidden], .pm-guide-library [hidden] { display:none!important; }
  .pm-library-search { display:flex; align-items:end; gap:24px; padding-bottom:28px; border-bottom:1px solid var(--pm-line); }
  .pm-library-search label { display:grid; flex:1; max-width:620px; gap:10px; font-size:14px; font-weight:650; }
  .pm-library-search input { width:100%; min-height:52px; padding:12px 16px; border:1px solid var(--pm-border-strong); border-radius:4px; background:#fff; color:var(--pm-ink); font:400 16px/1.5 var(--sans); }
  .pm-library-search>p { padding-bottom:12px; color:var(--pm-muted); font-size:13px; font-variant-numeric:tabular-nums; }
  .pm-library-filters { display:flex; flex-wrap:wrap; gap:9px; padding-top:24px; }
  .pm-library-filters button { min-height:44px; padding:10px 14px; border:1px solid var(--pm-line); border-radius:5px; background:#fff; color:var(--pm-muted); font-size:13px; cursor:pointer; }
  .pm-library-filters button:hover, .pm-library-filters button[aria-pressed="true"] { border-color:var(--pm-green); background:var(--pm-accent-soft); color:var(--pm-green); }
  .pm-library-topic { padding-top:42px; }
  html[data-site] .pm-library-topic>h2 { margin-bottom:24px; font-size:clamp(1.65rem,2.7vw,2.25rem); }
  .pm-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .pm-library-card { min-width:0; padding:22px; border:1px solid var(--pm-line); border-radius:6px; background:#fff; }
  .pm-library-card:hover { border-color:var(--pm-border-strong); }
  .pm-library-card--image { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:start; gap:18px; }
  .pm-library-image { display:block; overflow:hidden; border-radius:4px; background:var(--pm-surface); }
  .pm-library-image img { display:block; width:100%; height:120px; object-fit:cover; }
  .pm-library-card-copy { min-width:0; }
  .pm-library-meta { margin:0; color:var(--pm-muted); font-size:11px; line-height:1.6; }
  html[data-site] .pm-library-card h3 { margin:8px 0 10px; font:650 19px/1.3 var(--sans); letter-spacing:-.025em; }
  .pm-library-card h3 a { display:flex; justify-content:space-between; align-items:start; gap:14px; min-height:44px; color:var(--pm-ink); text-decoration:none; }
  .pm-library-card h3 a:hover { color:var(--pm-green); }
  .pm-library-card h3 svg { flex:none; width:17px; height:17px; margin-top:3px; color:var(--pm-green); }
  .pm-library-card-copy>p:last-of-type { color:var(--pm-muted); font-size:13px; line-height:1.7; }
  .pm-library-draft { display:block; margin-top:14px; color:#725d35; font-size:12px; }
  .pm-library-empty { padding:48px 0; }
  .pm-library-empty p { margin:18px 0; color:var(--pm-muted); }
  .pm-guide-section { padding:48px 0 80px; background:var(--pm-surface); }
  .pm-guide-layout { display:grid; grid-template-columns:minmax(0,760px) minmax(220px,300px); grid-template-areas:"article aside"; gap:50px; align-items:start; justify-content:space-between; }
  .pm-guide-body, .pm-guide-aside { min-width:0; border:1px solid var(--pm-line); border-radius:8px; background:#fff; }
  .pm-guide-body { grid-area:article; padding:clamp(24px,3.5vw,42px); }
  .pm-guide-body p { color:var(--ink-soft); font:400 16px/1.82 var(--sans); }
  .pm-guide-body p+p { margin-top:20px; }
  .pm-guide-body a { color:var(--pm-green); overflow-wrap:anywhere; }
  .pm-guide-body .pm-button { color:#fff; }
  html[data-site] .pm-guide-body h2 { margin:32px 0 18px; font-size:26px; line-height:1.25; }
  html[data-site] .pm-guide-body h3 { margin:24px 0 12px; font-size:18px; }
  .pm-guide-body>section, .pm-guide-body>.spm-guide-section { margin-top:36px; }
  .pm-guide-body>section:first-child { margin-top:0; }
  .pm-guide-body ul, .pm-guide-body ol { padding-left:20px; font-size:14px; line-height:1.8; }
  .pm-guide-body li+li { margin-top:10px; }
  .pm-guide-body .spm-guide-sources { margin-top:40px; padding-top:24px; border-top:1px solid var(--pm-line); }
  .pm-guide-body .spm-guide-sources h2 { margin-top:0; }
  .pm-guide-body .spm-guide-sources li { margin-top:16px; overflow-wrap:anywhere; }
  .pm-guide-body .spm-guide-sources small { display:block; color:var(--pm-muted); font-size:11px; }
  .pm-guide-body .spm-table-wrap { max-width:100%; margin-block:26px; overflow-x:auto; border:1px solid var(--pm-line); border-radius:5px; }
  .pm-guide-body .spm-table { width:100%; min-width:500px; border-collapse:collapse; }
  .pm-guide-body .spm-table caption { padding:14px; color:var(--pm-muted); text-align:left; font-size:13px; line-height:1.6; }
  .pm-guide-body .spm-table th, .pm-guide-body .spm-table td { padding:14px; border-top:1px solid var(--pm-line); text-align:left; vertical-align:top; font-size:13px; line-height:1.7; }
  .pm-guide-body .spm-table th { background:var(--pm-surface); font-weight:600; }
  .pm-guide-aside { grid-area:aside; position:sticky; top:104px; padding:24px; }
  html[data-site] .pm-guide-aside h2 { margin:0 0 16px; font-size:18px; letter-spacing:-.025em; }
  .pm-guide-aside p { margin-top:14px; color:var(--pm-muted); font-size:13px; line-height:1.75; }
  .pm-guide-aside strong { display:block; margin-top:14px; font-size:16px; }
  .pm-guide-aside .spm-guide-contents { margin-bottom:26px; padding-bottom:24px; border-bottom:1px solid var(--pm-line); }
  .pm-guide-aside .spm-guide-contents:last-child { margin:0; padding:0; border:0; }
  .pm-guide-aside .spm-guide-contents ol { padding-left:20px; color:var(--pm-green); font-size:13px; line-height:1.6; }
  .pm-guide-aside .spm-guide-contents li+li { margin-top:12px; }
  .pm-guide-aside a { color:var(--pm-green); }
  .pm-guide-body .demo-guide-related { margin-top:36px; padding-top:24px; border-top:1px solid var(--pm-line); }
  .pm-guide-body .pfm-related-filters, .pm-guide-body .ffm-guide-filters>div, .pm-guide-body .ffm-model-grid { grid-template-columns:minmax(0,1fr); }
  .pm-guide-body .pfm-related-filter h3, .pm-guide-body .ffm-guide-filter h3 { margin-top:0; }
  .pm-guide-body .pfm-related-filter p, .pm-guide-body .ffm-guide-filter p { font-size:13px; line-height:1.7; }
  .pm-guide-body .pfm-next, .pm-guide-body .ffm-next { padding-top:26px; border-top:1px solid var(--pm-line); }
  .guide-buying-options { scroll-margin-top:100px; padding-block:24px; border-block:1px solid var(--pm-line); }
  html[data-site] .pm-guide-body .guide-buying-options>h2 { margin-top:0; }
  .guide-buying-products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
  .guide-buying-product { min-width:0; padding-top:20px; border-top:1px solid var(--pm-line); }
  html[data-site] .pm-guide-body .guide-buying-product h3 { margin-top:0; }
  .guide-buying-product code { overflow-wrap:anywhere; }
  .pm-guide-body .guide-buying-note { margin-block:12px 18px; font-size:14px; line-height:1.7; }
  .pm-guide-body .guide-buying-product .amazon-commission-note { margin:8px 0 0; font-size:12px; line-height:1.6; }
  .pm-guide-body .guide-buying-product .demo-amazon-offer__review { font-size:13px; line-height:1.7; }
  .guide-buying-product .pm-text-link { white-space:normal; }
  .guide-buying-product .portfolio-card-details { margin-top:0; }
  .guide-source-details { margin-top:28px; }
  @media(max-width:960px) {
    .pm-guide-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"aside" "article"; gap:28px; }
    .pm-guide-aside { position:static; }
    .pm-guide-aside:has(.spm-guide-contents)>.pm-guide-next { display:none; }
    .pm-guide-aside .spm-guide-contents { margin:0; padding:0; border:0; }
  }
  @media(max-width:760px) {
    .guide-buying-products { grid-template-columns:minmax(0,1fr); gap:20px; }
    .pm-guide-hero { padding:25px 0 32px; }
    .pm-guide-hero .breadcrumb { margin-bottom:26px; }
    html[data-site] .pm-guide-hero h1 { font-size:clamp(2rem,7.5vw,3rem); }
    .pm-guide-dek { font-size:15px; }
    .pm-guide-heading { margin-top:22px; }
    .pm-guide-heading--image { grid-template-columns:minmax(0,1fr); gap:28px; }
    .pm-guide-library { padding:30px 0 48px; }
    .pm-library-search { display:block; }
    .pm-library-search>p { margin-top:14px; padding:0; }
    .pm-library-grid { grid-template-columns:minmax(0,1fr); }
    .pm-library-topic { padding-top:34px; }
    .pm-library-card { padding:18px; }
    .pm-library-card--image { grid-template-columns:80px minmax(0,1fr); gap:14px; }
    .pm-library-image img { height:100px; }
    html[data-site] .pm-library-card h3 { font-size:18px; }
    .pm-guide-section { padding:30px 0 48px; }
    .pm-guide-body, .pm-guide-aside { padding:20px; }
    .pm-guide-body p { font-size:15px; }
    html[data-site] .pm-guide-body h2 { font-size:23px; }
    .pm-guide-body .spm-table { min-width:460px; }
  }
}

/* Article photography and procedures have one renderer across the guide templates. */
@layer portfolio-guides {
  .guide-image { margin:0; min-width:0; }
  .guide-image img { display:block; width:100%; height:auto; max-height:520px; object-fit:contain; background:#f4f3ef; border-radius:6px; }
  .guide-image figcaption { display:grid; gap:8px; padding:16px 0; color:var(--pm-muted); font:400 13px/1.6 var(--sans); }
  .guide-image figcaption small, .guide-image details { font-size:11px; }
  .guide-image figcaption small { display:block; }
  .guide-image a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
  .guide-image summary { cursor:pointer; }
  .guide-image details[open]>a { display:inline-block; margin-block:8px; }
  .spm-guide-section>.guide-image { margin:24px 0; }
  .guide-steps { list-style:none; counter-reset:guide-step; padding:0; margin:24px 0; }
  .guide-steps li { position:relative; counter-increment:guide-step; padding:20px 0 20px 52px; border-top:1px solid var(--pm-line); line-height:1.8; }
  .guide-steps li::before { content:counter(guide-step,decimal-leading-zero); position:absolute; left:0; top:20px; color:var(--pm-green); font-size:14px; font-weight:700; font-variant-numeric:tabular-nums; }

  html[data-site="shaver"] .spm-article .spm-page-hero { background:#f7f6f2; padding-bottom:40px; }
  html[data-site="shaver"] .spm-article-heading { grid-template-columns:minmax(0,1fr); margin-top:32px; }
  html[data-site="shaver"] .spm-article-heading--image { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:52px; align-items:center; }
  html[data-site="shaver"] .spm-article-heading h1 { max-width:18ch; font:500 clamp(2.3rem,4.2vw,3.7rem)/1.08 Georgia,serif; letter-spacing:-.045em; text-wrap:balance; }
  html[data-site="shaver"] .spm-article-heading .spm-eyebrow { margin-bottom:20px; }
  html[data-site="shaver"] .spm-article-heading>div>p:not([class]) { margin-top:22px; max-width:52ch; font-size:17px; line-height:1.65; color:var(--spm-ink-soft); }
  html[data-site="shaver"] .spm-article-heading .pm-market { margin-top:22px; font-size:12px; line-height:1.7; }
  html[data-site="shaver"] .spm-article-heading .spm-guide-buying-jump { background:transparent; border:0; padding:8px 0; color:var(--spm-blue); text-decoration:underline; box-shadow:none; }
  html[data-site="shaver"] .spm-article-heading .guide-image img { max-height:410px; }
  html[data-site="shaver"] .spm-article-heading .guide-image figcaption { padding-bottom:0; }
  html[data-site="shaver"] .spm-article-section { background:#fff; padding:48px 0 80px; }
  html[data-site="shaver"] .spm-article-layout { grid-template-columns:minmax(0,740px) 260px; gap:64px; }
  html[data-site="shaver"] .spm-article-body { min-width:0; padding:0; border:0; border-radius:0; }
  html[data-site="shaver"] .spm-article-body p { font-size:17px; line-height:1.85; max-width:67ch; }
  html[data-site="shaver"] .guide-introduction { padding:0 0 30px; border-bottom:1px solid var(--spm-border); }
  html[data-site="shaver"] .guide-introduction>p:first-child { font-size:21px; line-height:1.65; color:var(--spm-ink); }
  html[data-site="shaver"] .spm-article-body>.spm-guide-section { margin-top:46px; }
  html[data-site="shaver"] .spm-article-body>.spm-guide-section>h2 { font:500 clamp(1.7rem,2.6vw,2.1rem)/1.2 Georgia,serif; letter-spacing:-.025em; margin-bottom:22px; text-wrap:balance; }
  html[data-site="shaver"] .spm-article-body .guide-steps { padding-left:0; }
  html[data-site="shaver"] .guide-steps li { font-size:17px; color:var(--spm-ink-soft); }
  html[data-site="shaver"] .spm-article-aside { padding:0 0 0 24px; border:0; border-left:1px solid var(--spm-border); border-radius:0; }
  html[data-site="shaver"] .spm-article-aside h2 { margin-top:0; }
  html[data-site="shaver"] .spm-guide-buying { margin-top:48px; }
  html[data-site="shaver"] .spm-guides .spm-guide-grid { gap:36px; }
  html[data-site="shaver"] .spm-guides .spm-guide-card { display:flex; flex-direction:column; align-items:stretch; padding:0 0 24px; border:0; border-bottom:1px solid var(--spm-border); border-radius:0; }
  html[data-site="shaver"] .spm-guides .spm-guide-thumbnail { order:0; margin:0 0 20px; background:#f4f3ef; }
  html[data-site="shaver"] .spm-guides .spm-guide-thumbnail img { height:260px; object-fit:contain; }
  html[data-site="shaver"] .spm-guides .spm-guide-card__meta { order:1; }
  html[data-site="shaver"] .spm-guides .spm-guide-card h3 { order:2; margin:12px 0; font:500 27px/1.2 Georgia,serif; }
  html[data-site="shaver"] .spm-guides .spm-guide-card>p { order:3; font-size:15px; line-height:1.7; }
  html[data-site="shaver"] .spm-guides .spm-guide-card__action { order:4; padding-top:16px; }
  html[data-site="shaver"] .spm-guides .spm-guide-credit { order:5; font-size:10px; }
  @media(max-width:960px) {
    html[data-site="shaver"] .spm-article-heading--image { gap:28px; }
    html[data-site="shaver"] .spm-article-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
    html[data-site="shaver"] .spm-article-aside { position:static; padding:0 0 24px; border:0; border-bottom:1px solid var(--spm-border); }
    html[data-site="shaver"] .spm-article-aside .spm-guide-contents ol { display:flex; flex-wrap:wrap; gap:10px 22px; padding-left:20px; }
    html[data-site="shaver"] .spm-article-aside .spm-guide-contents li { margin:0; }
  }
  @media(max-width:680px) {
    html[data-site="shaver"] .spm-article-heading--image { grid-template-columns:minmax(0,1fr); }
    html[data-site="shaver"] .spm-article-heading h1 { max-width:22ch; font-size:2.5rem; }
    html[data-site="shaver"] .spm-article-heading .guide-image img { max-height:340px; }
    html[data-site="shaver"] .spm-article-section { padding-top:28px; }
    html[data-site="shaver"] .spm-article-body p, html[data-site="shaver"] .guide-steps li { font-size:16px; }
    html[data-site="shaver"] .guide-introduction>p:first-child { font-size:19px; }
    html[data-site="shaver"] .spm-guides .spm-guide-grid { grid-template-columns:minmax(0,1fr); }
    html[data-site="shaver"] .spm-guides .spm-guide-thumbnail img { height:230px; }
  }
}

@layer portfolio-guides {
  html[data-site="shaver"] .spm-brand-hero--photo { grid-template-columns:minmax(0,1fr) minmax(240px,360px); align-items:center; gap:40px; }
  html[data-site="shaver"] .spm-brand-hero--photo .guide-image { margin:0; }
  html[data-site="shaver"] .spm-brand-hero--photo .guide-image img { width:100%; height:280px; object-fit:contain; background:var(--spm-surface); }
  html[data-site="shaver"] .spm-brand-hero--photo .spm-button { margin-top:20px; }
  @media(max-width:760px) { html[data-site="shaver"] .spm-brand-hero--photo { grid-template-columns:1fr; gap:24px; } }
}
