:root{
  --ink:#1f2326;
  --ink-deep:#15181a;
  --muted:#686b6d;
  --taupe:#b7a493;
  --taupe-dark:#927d6b;
  --taupe-soft:#f5f1ed;
  --soft:#f7f7f6;
  --line:#e7e4e1;
  --white:#fff;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font:16px/1.55 Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}

.top{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  max-width:1240px;
  margin:auto;
  padding:10px 28px;
  border-bottom:1px solid var(--line);
  background:#fff;
}

.brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  text-decoration:none;
}

.brand picture{
  display:block;
  line-height:0;
}

.brand img{
  display:block;
  width:235px;
  height:auto;
}

nav{
  display:flex;
  align-items:center;
  gap:34px;
}

nav a{
  margin:0;
  color:var(--ink-deep);
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  letter-spacing:.015em;
  transition:color .18s ease;
}

nav a:hover{color:var(--taupe-dark)}

main{min-height:70vh}

.hero{
  max-width:1240px;
  margin:0 auto;
  padding:92px 28px 72px;
  display:grid;
  grid-template-columns:1.22fr .78fr;
  gap:68px;
  align-items:center;
}

.eyebrow{
  font-weight:700;
  color:var(--taupe-dark);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:11px;
}

h1{
  font-size:clamp(42px,5.7vw,74px);
  line-height:1.02;
  margin:14px 0 24px;
  letter-spacing:-.045em;
  font-weight:700;
  color:var(--ink-deep);
}

h2{
  font-size:30px;
  line-height:1.15;
  letter-spacing:-.025em;
  color:var(--ink-deep);
}

.lead{
  font-size:20px;
  line-height:1.65;
  color:var(--muted);
  max-width:700px;
}

.panel,.card{
  border:1px solid var(--line);
  border-radius:4px;
  padding:28px;
  background:#fff;
  box-shadow:0 8px 28px rgba(24,25,26,.045);
}

.panel{
  background:var(--taupe-soft);
  border-color:#e9e2dc;
}

label{
  display:block;
  font-weight:700;
  margin:14px 0 7px;
  color:var(--ink-deep);
}

select,input{
  width:100%;
  padding:13px 14px;
  border:1px solid #d8d3cf;
  border-radius:2px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  outline:none;
}

select:focus,input:focus{
  border-color:var(--taupe-dark);
  box-shadow:0 0 0 2px rgba(146,125,107,.10);
}

.btn,button{
  display:inline-block;
  border:1px solid var(--ink-deep);
  border-radius:2px;
  padding:13px 21px;
  background:var(--ink-deep);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}

.btn:hover,button:hover{
  background:#33383b;
  border-color:#33383b;
}

.btn.accent{
  background:var(--taupe-dark);
  border-color:var(--taupe-dark);
}

.btn.accent:hover{
  background:#7e6a5a;
  border-color:#7e6a5a;
}

.section{
  max-width:1240px;
  margin:auto;
  padding:42px 28px 78px;
}

.grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.card h3{
  margin:7px 0;
  color:var(--ink-deep);
}

.score{
  font-size:30px;
  font-weight:700;
  color:var(--taupe-dark);
}

.price{
  font-weight:700;
  font-size:22px;
  color:var(--ink-deep);
}

.muted{color:var(--muted)}

.offers{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

.offers a{
  border:1px solid var(--line);
  padding:10px 13px;
  border-radius:2px;
  text-decoration:none;
  color:var(--ink-deep);
  font-weight:700;
  background:#fff;
}

.offers a:hover{
  border-color:var(--taupe);
  background:var(--taupe-soft);
}

footer{
  border-top:1px solid var(--line);
  max-width:1240px;
  margin:54px auto 0;
  padding:34px 28px 45px;
  color:var(--muted);
  font-size:14px;
}

footer strong{color:var(--ink-deep)}
footer a{color:inherit}
footer a:hover{color:var(--taupe-dark)}

@media(max-width:760px){
  .top{
    min-height:76px;
    padding:8px 18px;
    gap:15px;
  }

  .brand img{width:170px}

  nav{gap:0}

  nav a{
    font-size:13px;
    white-space:nowrap;
  }

  nav a:not(:first-child){display:none}

  .hero{
    grid-template-columns:1fr;
    padding:54px 20px 48px;
    gap:36px;
  }

  .section{padding:34px 20px 60px}

  .grid{grid-template-columns:1fr}

  h1{font-size:44px}

  .lead{font-size:18px}

  .panel,.card{padding:22px}
}


/* =========================================================
   PIVAROA HEADER POLISH — 2026-10-08
   Header only. Does not modify homepage layout.
   ========================================================= */

.top{
    min-height:92px;
    height:auto;
    max-width:1240px;
    padding:10px 24px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:36px;
    border-bottom:1px solid #ece8e4;
    background:#fff;
}

.brand{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    text-decoration:none;
    line-height:0;
}

.brand picture{
    display:block;
    line-height:0;
}

.brand img{
    display:block;
    width:250px;
    height:auto;
    max-width:100%;
}

.top nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:32px;
    margin-left:auto;
}

.top nav a{
    margin:0;
    position:relative;
    color:#1d1d1f;
    text-decoration:none;
    font-size:15px;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
    transition:color .18s ease;
}

.top nav a::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-9px;
    height:2px;
    background:#a99a8d;
    transition:right .18s ease;
}

.top nav a:hover{
    color:#7f7064;
}

.top nav a:hover::after{
    right:0;
}

@media(max-width:760px){
    .top{
        min-height:72px;
        padding:8px 18px;
        gap:18px;
    }

    .brand img{
        width:172px;
    }

    .top nav{
        gap:0;
    }

    .top nav a{
        font-size:14px;
    }

    .top nav a:not(:first-child){
        display:none;
    }

    .top nav a::after{
        display:none;
    }
}

@media(max-width:420px){
    .top{
        padding-left:14px;
        padding-right:14px;
    }

    .brand img{
        width:150px;
    }

    .top nav a{
        font-size:13px;
    }
}


/* ============================================================
   PIVAROA GENERIC CATALOG UI — 2026-10-08
   ============================================================ */

.page-title{
    font-size:52px;
    line-height:1.05;
    letter-spacing:-.045em;
    max-width:900px;
    margin:12px 0 20px;
}

.text-link{
    color:var(--ink-deep);
    font-weight:700;
    text-decoration:none;
}

.text-link:hover{
    color:var(--taupe-dark);
}

.decision-panel h2{
    margin:8px 0 12px;
    font-size:34px;
}

.decision-points{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:22px 0;
}

.decision-points span,
.match-chip{
    display:inline-flex;
    align-items:center;
    border:1px solid #ddd4cc;
    background:#fff;
    border-radius:100px;
    padding:7px 11px;
    font-size:13px;
    font-weight:700;
    color:#65584e;
}

.intro-section{
    padding-top:70px;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:34px;
}

.feature-card{
    border-top:1px solid var(--line);
    padding:25px 4px 10px;
}

.feature-number{
    display:block;
    color:var(--taupe-dark);
    font-size:13px;
    font-weight:700;
    letter-spacing:.12em;
    margin-bottom:24px;
}

.feature-card h3{
    font-size:22px;
    margin:0 0 10px;
}

.feature-card p{
    color:var(--muted);
    line-height:1.7;
}

.section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:28px;
}

.section-heading h2{
    margin:7px 0 0;
}

.product-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.product-card{
    border:1px solid var(--line);
    background:#fff;
    border-radius:4px;
    overflow:hidden;
    box-shadow:0 8px 28px rgba(24,25,26,.04);
}

.product-image-placeholder{
    min-height:210px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f4f1ee;
    color:#9b8c80;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:12px;
    font-weight:700;
}

.product-card-body{
    padding:23px;
}

.product-meta{
    color:var(--taupe-dark);
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.product-card h3{
    font-size:22px;
    margin:9px 0;
}

.product-card h3 a,
.ranked-product h3 a{
    color:var(--ink-deep);
    text-decoration:none;
}

.product-card p{
    color:var(--muted);
    line-height:1.6;
}

.product-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    border-top:1px solid var(--line);
    margin-top:20px;
    padding-top:17px;
}

.product-card-footer a{
    color:var(--ink-deep);
    text-decoration:none;
    font-weight:700;
    font-size:14px;
}

.score-small{
    color:var(--taupe-dark);
}

.catalog-coming{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding:32px;
    border:1px solid var(--line);
    background:#faf9f7;
}

.catalog-coming h3{
    font-size:25px;
    margin:9px 0;
}

.catalog-coming p{
    color:var(--muted);
    max-width:650px;
}

.catalog-status{
    color:var(--taupe-dark);
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
}

.finder-panel{
    margin:36px 0 50px;
    padding:26px;
    background:var(--taupe-soft);
    border:1px solid #e9e2dc;
}

.finder-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:center;
}

.finder-row button{
    min-height:50px;
}

.use-case-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-top:36px;
}

.use-case-card{
    min-height:155px;
    border:1px solid var(--line);
    padding:22px;
    text-decoration:none;
    color:var(--ink-deep);
    background:#fff;
    transition:transform .15s ease,border-color .15s ease;
}

.use-case-card:hover{
    transform:translateY(-2px);
    border-color:var(--taupe);
}

.use-case-card span{
    display:block;
    color:var(--taupe-dark);
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
    font-weight:700;
    margin-bottom:8px;
}

.use-case-card strong{
    display:block;
    font-size:20px;
}

.use-case-card p{
    color:var(--muted);
}

.use-case-card em{
    display:block;
    margin-top:18px;
    font-style:normal;
    font-weight:700;
    font-size:13px;
}

.results-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    margin:40px 0 22px;
}

.result-count{
    color:var(--muted);
}

.ranked-list{
    display:grid;
    gap:12px;
}

.ranked-product{
    display:grid;
    grid-template-columns:54px 1fr 100px;
    gap:22px;
    align-items:center;
    border:1px solid var(--line);
    padding:22px;
    background:#fff;
}

.rank-number{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--taupe-soft);
    color:var(--taupe-dark);
    font-weight:800;
}

.ranked-product h3{
    font-size:22px;
    margin:6px 0;
}

.ranked-product p{
    color:var(--muted);
    margin:7px 0;
}

.match-reason{
    font-size:14px;
}

.rank-score{
    text-align:center;
}

.rank-score strong{
    display:block;
    font-size:32px;
    color:var(--taupe-dark);
}

.rank-score span{
    font-size:12px;
    color:var(--muted);
}

.compare-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:36px;
}

.compare-card{
    border:1px solid var(--line);
    padding:24px;
    background:#fff;
}

.compare-card h2{
    font-size:23px;
    margin:8px 0 18px;
}

.compare-score{
    display:flex;
    align-items:baseline;
    gap:7px;
    margin-bottom:18px;
}

.compare-score strong{
    font-size:40px;
    color:var(--taupe-dark);
}

.compare-score span{
    color:var(--muted);
    font-size:13px;
}

.best-for-box{
    padding:14px;
    background:var(--taupe-soft);
    margin-bottom:18px;
}

.best-for-box span{
    display:block;
    font-size:11px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.08em;
}

.best-for-box strong{
    display:block;
    margin:5px 0;
}

.best-for-box em{
    color:var(--taupe-dark);
    font-style:normal;
    font-weight:700;
}

.mini-specs,
.spec-table{
    margin:0;
}

.mini-specs div,
.spec-table div{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    border-top:1px solid var(--line);
    padding:11px 0;
}

.mini-specs dt,
.spec-table dt{
    color:var(--muted);
}

.mini-specs dd,
.spec-table dd{
    margin:0;
    text-align:right;
    font-weight:700;
    color:var(--ink-deep);
}

.compare-button{
    margin-top:20px;
}

.product-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    color:var(--muted);
    font-size:13px;
    margin-bottom:30px;
}

.product-breadcrumb a{
    color:inherit;
    text-decoration:none;
}

.product-hero{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:54px;
    align-items:center;
    margin-bottom:55px;
}

.product-visual{
    min-height:430px;
}

.product-visual img{
    display:block;
    width:100%;
    height:auto;
    max-height:500px;
    object-fit:contain;
}

.large-image-placeholder{
    min-height:430px;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:#f4f1ee;
    color:#8d7f74;
}

.large-image-placeholder span{
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:12px;
    font-weight:700;
}

.large-image-placeholder strong{
    color:#62574e;
}

.product-summary h1{
    font-size:50px;
    line-height:1.05;
    letter-spacing:-.045em;
    margin:10px 0 20px;
}

.score-row{
    display:flex;
    gap:35px;
    margin:28px 0;
}

.primary-score,
.value-score{
    display:flex;
    flex-direction:column;
}

.primary-score strong{
    font-size:46px;
    color:var(--taupe-dark);
}

.value-score strong{
    font-size:25px;
    color:var(--ink-deep);
    margin-top:10px;
}

.primary-score span,
.value-score span{
    color:var(--muted);
    font-size:12px;
}

.best-match-summary{
    border-left:3px solid var(--taupe);
    padding:10px 0 10px 16px;
}

.best-match-summary span{
    display:block;
    color:var(--muted);
    font-size:12px;
}

.best-match-summary strong{
    display:block;
    margin-top:3px;
}

.source-note{
    color:var(--muted);
    font-size:12px;
    margin-top:20px;
}

.product-content-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}

.content-card{
    border:1px solid var(--line);
    padding:28px;
}

.content-card h2{
    margin:7px 0 20px;
}

.use-case-scores{
    display:grid;
}

.use-case-score{
    display:grid;
    grid-template-columns:1fr 60px;
    gap:18px;
    padding:15px 0;
    border-top:1px solid var(--line);
}

.use-case-score p{
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
    margin:5px 0 0;
}

.use-case-score > span{
    font-weight:800;
    color:var(--taupe-dark);
    text-align:right;
}

.buying-options{
    margin-top:24px;
    padding:30px;
    border:1px solid var(--line);
    background:#faf9f7;
}

.no-offers{
    margin:18px 0;
}

.no-offers p{
    color:var(--muted);
}

.notice{
    padding:18px;
    border:1px solid #e4d9cf;
    background:var(--taupe-soft);
}

@media(max-width:900px){

    .product-grid,
    .compare-grid,
    .feature-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .use-case-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .product-hero{
        gap:30px;
    }
}

@media(max-width:760px){

    .page-title{
        font-size:40px;
    }

    .feature-grid,
    .product-grid,
    .compare-grid,
    .use-case-grid,
    .product-content-grid,
    .product-hero{
        grid-template-columns:1fr;
    }

    .section-heading,
    .catalog-coming,
    .results-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .finder-row{
        grid-template-columns:1fr;
    }

    .ranked-product{
        grid-template-columns:42px 1fr;
    }

    .rank-score{
        grid-column:2;
        text-align:left;
        display:flex;
        align-items:baseline;
        gap:5px;
    }

    .rank-score strong{
        font-size:26px;
    }

    .product-visual,
    .large-image-placeholder{
        min-height:280px;
    }

    .product-summary h1{
        font-size:40px;
    }

    .score-row{
        gap:25px;
    }
}


/* ==========================================================
   PIVAROA PRODUCTION LAUNCH
   ========================================================== */

.product-identity{
    flex-direction:column;
    gap:8px;
    text-align:center;
    padding:28px;
    background:
        radial-gradient(circle at 50% 35%,#fff 0,#f7f4f1 48%,#eee8e3 100%);
}

.product-identity span{
    font-size:12px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#8f7d6f;
    font-weight:800;
}

.product-identity strong{
    font-size:25px;
    line-height:1.15;
    letter-spacing:-.02em;
    color:#262626;
    text-transform:none;
}

.product-identity small{
    font-size:11px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#8a8a8a;
}

.site-footer{
    max-width:none;
    margin-top:70px;
    padding:58px max(28px,calc((100% - 1184px)/2)) 25px;
    background:#191b1c;
    border-top:0;
    color:#bfc0c0;
}

.site-footer a{
    display:block;
    margin:9px 0;
    color:#d7d7d7;
    text-decoration:none;
}

.site-footer a:hover{
    color:#fff;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:55px;
}

.footer-grid strong{
    display:block;
    margin-bottom:16px;
    color:#fff;
}

.footer-brand p{
    max-width:460px;
    line-height:1.7;
}

.footer-disclosure{
    font-size:12px;
    color:#999;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:25px;
    margin-top:45px;
    padding-top:22px;
    border-top:1px solid #343637;
    font-size:12px;
    color:#8e9091;
}

.legal-page{
    max-width:1000px;
}

.legal-card{
    line-height:1.75;
}

.legal-card h2{
    margin-top:32px;
    font-size:24px;
}

@media(max-width:900px){
    .footer-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:760px){

    .top nav a:nth-child(n+2){
        display:none;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:28px;
    }

    .footer-bottom{
        flex-direction:column;
    }

    .product-identity strong{
        font-size:21px;
    }
}


/* ==========================================================
   PIVAROA BRAND TYPOGRAPHY
   Matches the thin geometric character of the Pivaroa logo.
   ========================================================== */

:root {
    --pivaroa-font: "Montserrat", "Helvetica Neue", Arial, sans-serif;
}

html,
body {
    font-family: var(--pivaroa-font);
}

/* Logo-style display typography */
h1,
h2,
h3,
h4,
h5,
h6,
.hero h1,
.section-title,
.product-title,
.product-card h3,
.product-identity strong {
    font-family: var(--pivaroa-font);
    font-weight: 400;
    letter-spacing: -0.025em;
}

/* Main hero should carry the strongest brand character */
.hero h1 {
    font-weight: 300;
    letter-spacing: -0.035em;
}

/* Navigation echoes the spaced lettering in the logo */
.site-nav,
.site-nav a,
nav a {
    font-family: var(--pivaroa-font);
    font-weight: 500;
    letter-spacing: 0.035em;
}

/* Eyebrows and small labels */
.eyebrow,
.kicker,
.badge,
.product-identity .brand,
.product-brand {
    font-family: var(--pivaroa-font);
    font-weight: 500;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

/* Body text remains highly readable */
p,
li,
select,
input,
textarea {
    font-family: var(--pivaroa-font);
    font-weight: 400;
}

/* Buttons */
button,
.button,
.btn,
a.button,
a.btn {
    font-family: var(--pivaroa-font);
    font-weight: 500;
    letter-spacing: 0.025em;
}

/* Product names should feel refined rather than heavy */
.product-card h3,
.product-identity strong {
    font-weight: 400;
}

/* Footer */
.site-footer,
.site-footer a {
    font-family: var(--pivaroa-font);
}

.site-footer h3,
.site-footer h4 {
    font-weight: 500;
    letter-spacing: 0.06em;
}

@media (max-width: 760px) {
    .hero h1 {
        letter-spacing: -0.025em;
    }
}



/* ==========================================================
   COFFEE & ESPRESSO CATEGORY
   ========================================================== */

.category-hero {
    padding: 78px 0 72px;
    border-bottom: 1px solid #e9e4dd;
}

.category-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr);
    gap: 72px;
    align-items: center;
}

.category-hero h1 {
    max-width: 900px;
    margin: 14px 0 22px;
    font-size: clamp(2.5rem, 5vw, 4.8rem);
    line-height: 1.03;
    font-weight: 300;
    letter-spacing: -.045em;
}

.category-lead {
    max-width: 790px;
    font-size: 1.08rem;
    line-height: 1.8;
    color: #595653;
}

.category-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 30px;
}

.category-summary-card {
    padding: 34px;
    background: #f5f1eb;
    border: 1px solid #e4ddd3;
}

.category-summary-label {
    display: block;
    margin-bottom: 10px;
    font-size: .72rem;
    letter-spacing: .13em;
    font-weight: 600;
}

.category-summary-card > strong {
    display: block;
    font-size: 4rem;
    line-height: 1;
    font-weight: 300;
}

.category-summary-card > span:not(.category-summary-label) {
    display: block;
    margin-top: 7px;
    color: #625e59;
}

.category-summary-rule {
    height: 1px;
    margin: 25px 0;
    background: #d9d0c5;
}

.category-summary-card p {
    margin: 0;
    line-height: 1.7;
}

.category-section {
    padding: 78px 0;
}

.category-section-soft {
    background: #faf8f5;
}

.category-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr);
    gap: 50px;
    align-items: end;
    margin-bottom: 36px;
}

.category-section-heading h2,
.buying-guide > h2,
.category-methodology h2 {
    margin: 9px 0 0;
    font-size: clamp(2rem, 3vw, 3.1rem);
    line-height: 1.12;
    font-weight: 300;
    letter-spacing: -.035em;
}

.category-section-heading > p {
    margin: 0;
    color: #65615d;
    line-height: 1.7;
}

.recommendation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.recommendation-card {
    padding: 28px;
    border: 1px solid #e4ded6;
    background: #fff;
}

.recommendation-type {
    margin-bottom: 17px;
    font-size: .7rem;
    letter-spacing: .12em;
    font-weight: 600;
}

.recommendation-card h3 {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.25;
}

.recommendation-card h3 a {
    color: inherit;
    text-decoration: none;
}

.recommendation-model {
    margin-top: 5px;
    color: #817b74;
    font-size: .82rem;
    letter-spacing: .05em;
}

.recommendation-card p {
    color: #625e59;
    line-height: 1.65;
}

.recommendation-score {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 20px 0 12px;
}

.recommendation-score strong {
    font-size: 2rem;
    font-weight: 400;
}

.recommendation-score span {
    color: #77716b;
    font-size: .8rem;
}

.recommendation-reason {
    font-size: .9rem;
}

.catalog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.catalog-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #fff;
    border: 1px solid #e5dfd7;
}

.catalog-identity {
    min-height: 205px;
    padding: 29px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background:
        radial-gradient(circle at 78% 22%, rgba(168,150,128,.17), transparent 30%),
        linear-gradient(145deg, #f4f0ea, #ebe5dc);
    color: #1f1e1c;
    text-decoration: none;
}

.catalog-brand {
    margin-bottom: 10px;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.catalog-identity strong {
    font-size: 1.35rem;
    line-height: 1.25;
    font-weight: 400;
}

.catalog-model {
    margin-top: 7px;
    color: #777068;
    font-size: .78rem;
    letter-spacing: .05em;
}

.catalog-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px;
}

.catalog-score-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid #eee9e3;
}

.catalog-score-row div {
    display: flex;
    flex-direction: column;
}

.catalog-score-row strong {
    font-size: 1.55rem;
    font-weight: 400;
}

.catalog-score-row span {
    color: #7b756f;
    font-size: .72rem;
}

.catalog-best {
    margin-top: 18px;
    font-size: .9rem;
}

.catalog-best span {
    display: block;
    margin-bottom: 4px;
    color: #887a68;
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .11em;
}

.catalog-card-body p {
    color: #625e59;
    line-height: 1.65;
    font-size: .92rem;
}

.catalog-card-body .text-link {
    margin-top: auto;
    padding-top: 8px;
}

.buying-guide > h2 {
    max-width: 760px;
    margin-bottom: 38px;
}

.buying-guide-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid #ded8d0;
    border-left: 1px solid #ded8d0;
}

.buying-guide-grid article {
    padding: 30px;
    border-right: 1px solid #ded8d0;
    border-bottom: 1px solid #ded8d0;
}

.buying-guide-grid article > span {
    color: #9b8d7a;
    font-size: .72rem;
    letter-spacing: .1em;
}

.buying-guide-grid h3 {
    margin: 12px 0 11px;
    font-size: 1.18rem;
}

.buying-guide-grid p {
    margin: 0;
    color: #625e59;
    line-height: 1.7;
    font-size: .92rem;
}

.category-methodology {
    padding: 74px 0;
    background: #262421;
    color: #fff;
}

.category-methodology-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(240px, .6fr);
    gap: 70px;
    align-items: center;
}

.category-methodology p {
    max-width: 760px;
    color: #d2ccc5;
    line-height: 1.75;
}

.methodology-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
}

.category-methodology .text-link {
    color: #fff;
}

@media (max-width: 900px) {

    .category-hero-grid,
    .category-section-heading,
    .category-methodology-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .recommendation-grid,
    .catalog-grid,
    .buying-guide-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {

    .category-hero,
    .category-section {
        padding: 52px 0;
    }

    .category-hero h1 {
        font-size: 2.55rem;
    }

    .recommendation-grid,
    .catalog-grid,
    .buying-guide-grid {
        grid-template-columns: 1fr;
    }

    .category-summary-card {
        padding: 25px;
    }

    .catalog-identity {
        min-height: 170px;
    }
}



/* ==========================================================
   PRODUCT EDITORIAL PAGES
   ========================================================== */

.product-breadcrumb {
    padding: 19px 0;
    border-bottom: 1px solid #ebe6df;
    font-size: .78rem;
}

.product-breadcrumb .container {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
}

.product-breadcrumb a {
    color: #6c665f;
    text-decoration: none;
}

.product-editorial-hero {
    padding: 68px 0 78px;
}

.product-editorial-grid {
    display: grid;
    grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr);
    gap: 70px;
    align-items: center;
}

.product-visual-panel {
    min-height: 480px;
    padding: 45px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 75% 20%,
            rgba(164,143,117,.24),
            transparent 28%
        ),
        radial-gradient(
            circle at 18% 75%,
            rgba(255,255,255,.8),
            transparent 28%
        ),
        linear-gradient(145deg,#f2eee8,#e5ded4);
}

.product-visual-panel::before {
    content: "";
    position: absolute;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(112,98,80,.18);
    border-radius: 50%;
    right: -55px;
    top: -45px;
}

.product-visual-panel::after {
    content: "";
    position: absolute;
    width: 130px;
    height: 130px;
    border: 1px solid rgba(112,98,80,.14);
    border-radius: 50%;
    right: 40px;
    top: 55px;
}

.product-visual-brand,
.product-visual-category {
    position: relative;
    z-index: 1;
    font-size: .69rem;
    letter-spacing: .15em;
    font-weight: 600;
}

.product-visual-name {
    position: relative;
    z-index: 1;
    max-width: 430px;
    margin: 13px 0 8px;
    font-size: clamp(2rem,4vw,3.5rem);
    line-height: 1.02;
    font-weight: 300;
    letter-spacing: -.04em;
}

.product-visual-model {
    position: relative;
    z-index: 1;
    margin-bottom: 29px;
    color: #746c63;
    font-size: .9rem;
    letter-spacing: .06em;
}

.product-editorial-intro h1 {
    margin: 12px 0 8px;
    font-size: clamp(2.5rem,5vw,4.6rem);
    line-height: 1.02;
    font-weight: 300;
    letter-spacing: -.045em;
}

.product-model-line {
    color: #817970;
    font-size: .85rem;
    letter-spacing: .05em;
}

.product-editorial-summary {
    max-width: 760px;
    margin: 24px 0;
    color: #57534f;
    font-size: 1.06rem;
    line-height: 1.8;
}

.product-score-panel {
    display: flex;
    gap: 40px;
    align-items: center;
    margin: 28px 0;
    padding: 22px 0;
    border-top: 1px solid #e3ddd5;
    border-bottom: 1px solid #e3ddd5;
}

.primary-score {
    display: flex;
    align-items: center;
    gap: 13px;
}

.primary-score > strong {
    font-size: 3.2rem;
    line-height: 1;
    font-weight: 300;
}

.primary-score > span {
    display: flex;
    flex-direction: column;
    color: #706a64;
    font-size: .72rem;
}

.primary-score b {
    color: #252320;
    font-size: .8rem;
    font-weight: 500;
}

.secondary-score {
    padding-left: 38px;
    border-left: 1px solid #ddd6ce;
}

.secondary-score strong,
.secondary-score span {
    display: block;
}

.secondary-score strong {
    font-size: 1.35rem;
    font-weight: 400;
}

.secondary-score span {
    margin-top: 4px;
    color: #77716b;
    font-size: .72rem;
}

.best-match-panel {
    padding: 20px 22px;
    background: #f5f1eb;
    border-left: 3px solid #a49480;
}

.best-match-panel > span {
    display: block;
    margin-bottom: 6px;
    font-size: .65rem;
    letter-spacing: .13em;
    font-weight: 600;
}

.best-match-panel > strong {
    font-size: 1.05rem;
    font-weight: 500;
}

.best-match-panel p {
    margin: 8px 0 0;
    color: #625d57;
    line-height: 1.6;
    font-size: .88rem;
}

.product-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 27px;
}

.product-editorial-section {
    padding: 76px 0;
}

.product-editorial-soft {
    background: #faf8f5;
}

.product-section-heading {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(260px,.65fr);
    gap: 50px;
    align-items: end;
    margin-bottom: 34px;
}

.product-section-heading h2,
.buyer-fit-card h2,
.product-next-step h2 {
    margin: 8px 0 0;
    font-size: clamp(1.9rem,3vw,3rem);
    line-height: 1.12;
    font-weight: 300;
    letter-spacing: -.035em;
}

.product-section-heading > p {
    margin: 0;
    color: #66605a;
    line-height: 1.7;
}

.editorial-overview-grid {
    display: grid;
    grid-template-columns: minmax(0,1.4fr) minmax(260px,.6fr);
    gap: 60px;
}

.editorial-overview-main {
    max-width: 830px;
    font-size: 1.04rem;
    line-height: 1.85;
}

.editorial-disclosure {
    padding: 25px;
    border: 1px solid #ded7ce;
    background: #fff;
}

.editorial-disclosure > span {
    font-size: .65rem;
    letter-spacing: .13em;
    font-weight: 600;
}

.editorial-disclosure p {
    color: #625d57;
    line-height: 1.65;
    font-size: .88rem;
}

.editorial-disclosure a {
    color: inherit;
    font-size: .83rem;
    font-weight: 500;
}

.product-strength-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

.product-strength-grid article {
    padding: 28px;
    border: 1px solid #e3ddd5;
}

.strength-score {
    margin-bottom: 26px;
    font-size: 2.6rem;
    line-height: 1;
    font-weight: 300;
}

.product-strength-grid h3 {
    margin: 0 0 10px;
    font-size: 1.2rem;
}

.product-strength-grid p {
    margin: 0;
    color: #625d57;
    line-height: 1.7;
    font-size: .9rem;
}

.product-spec-table {
    border-top: 1px solid #ded8d0;
}

.product-spec-row {
    display: grid;
    grid-template-columns: minmax(180px,.6fr) minmax(0,1.4fr);
    gap: 30px;
    padding: 18px 4px;
    border-bottom: 1px solid #ded8d0;
}

.product-spec-row span {
    color: #6f6962;
    font-size: .87rem;
}

.product-spec-row strong {
    font-weight: 500;
}

.suitability-list {
    max-width: 950px;
}

.suitability-row {
    padding: 22px 0;
    border-bottom: 1px solid #e6e0d8;
}

.suitability-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.suitability-heading strong {
    font-weight: 500;
}

.suitability-heading span {
    font-size: .82rem;
}

.suitability-meter {
    height: 5px;
    margin: 10px 0 9px;
    background: #ece7e0;
    overflow: hidden;
}

.suitability-fill {
    height: 100%;
    background: #938572;
}

.suitability-fill.excellent {
    background: #665d52;
}

.suitability-fill.strong {
    background: #8a7c69;
}

.suitability-fill.moderate {
    background: #afa394;
}

.suitability-row p {
    margin: 0;
    color: #68625c;
    font-size: .87rem;
    line-height: 1.6;
}

.buyer-fit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.buyer-fit-card {
    padding: 34px;
    border: 1px solid #e0d9d1;
    background: #fff;
}

.buyer-fit-positive {
    background: #f2eee8;
}

.buyer-fit-card ul {
    margin: 25px 0 0;
    padding-left: 20px;
}

.buyer-fit-card li {
    margin-bottom: 15px;
    color: #5f5a55;
    line-height: 1.65;
}

.buying-options-pending {
    max-width: 780px;
    padding: 30px;
    border: 1px solid #e0dad2;
    background: #faf8f5;
}

.buying-options-pending > strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1.15rem;
    font-weight: 500;
}

.buying-options-pending p {
    color: #625d57;
    line-height: 1.7;
}

.buying-options-list {
    display: grid;
    gap: 10px;
    max-width: 900px;
}

.buying-option {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 25px;
    padding: 20px;
    border: 1px solid #ded8d0;
    color: inherit;
    text-decoration: none;
}

.affiliate-inline-disclosure {
    max-width: 900px;
    color: #746e68;
    font-size: .78rem;
    line-height: 1.6;
}

.product-next-step {
    padding: 70px 0;
    background: #262421;
    color: #fff;
}

.product-next-step-inner {
    display: grid;
    grid-template-columns: minmax(0,1.3fr) minmax(250px,.7fr);
    gap: 60px;
    align-items: center;
}

.product-next-step p {
    max-width: 680px;
    color: #d3cdc6;
    line-height: 1.7;
}

.product-next-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 17px;
}

.product-next-step .text-link {
    color: #fff;
}

@media (max-width: 850px) {

    .product-editorial-grid,
    .product-section-heading,
    .editorial-overview-grid,
    .product-next-step-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

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

    .product-visual-panel {
        min-height: 350px;
    }
}

@media (max-width: 620px) {

    .product-editorial-hero,
    .product-editorial-section {
        padding: 48px 0;
    }

    .product-editorial-intro h1 {
        font-size: 2.55rem;
    }

    .product-visual-panel {
        min-height: 300px;
        padding: 28px;
    }

    .product-score-panel {
        gap: 20px;
    }

    .secondary-score {
        padding-left: 20px;
    }

    .buyer-fit-grid {
        grid-template-columns: 1fr;
    }

    .product-spec-row {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .buying-option {
        grid-template-columns: 1fr;
        gap: 7px;
    }
}



/* ==========================================================
   PIVAROA GLOBAL LAYOUT NORMALIZATION
   2026-10-08
   ========================================================== */

/*
 * One predictable content width throughout the site.
 * This intentionally comes late in the stylesheet so older
 * page-specific container rules cannot push new sections
 * against the viewport edges.
 */

:root {
    --pivaroa-content-width: 1220px;
    --pivaroa-gutter: 32px;
}

.container {
    width: 100%;
    max-width: var(--pivaroa-content-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--pivaroa-gutter);
    padding-right: var(--pivaroa-gutter);
    box-sizing: border-box;
}


/* ---------- Homepage buying-guide card ---------- */

.home-category-title {
    display: inline-block;
    color: #24211f !important;
    text-decoration: none !important;
    font-size: clamp(1.55rem, 2vw, 2rem);
    line-height: 1.15;
    font-weight: 400;
    letter-spacing: -.025em;
    border-bottom: 1px solid #a59078;
    transition:
        color .18s ease,
        border-color .18s ease;
}

.home-category-title:hover,
.home-category-title:focus-visible {
    color: #806b56 !important;
    border-bottom-color: #806b56;
}

.home-priority-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 14px;
    margin: 0;
    border: 1px solid #ded5ca;
    border-radius: 999px;
    background: #fff;
    color: #35312d !important;
    text-decoration: none !important;
    font-size: .76rem;
    line-height: 1;
    font-weight: 500;
    white-space: nowrap;
    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.home-priority-chip:hover,
.home-priority-chip:focus-visible {
    background: #eee7df;
    border-color: #b9a995;
    color: #24211f !important;
    transform: translateY(-1px);
}


/*
 * Support the existing chip wrapper regardless of its older
 * class name. These selectors only affect the hero guide card.
 */

.hero .home-priority-chip,
.hero-card .home-priority-chip,
.home-category-card .home-priority-chip,
.category-card .home-priority-chip {
    margin: 3px 3px 3px 0;
}


/* ---------- Product editorial spacing ---------- */

.editorial-product-page {
    width: 100%;
    overflow-x: hidden;
}

.product-breadcrumb {
    width: 100%;
}

.product-editorial-hero,
.product-editorial-section,
.product-next-step {
    width: 100%;
}

.product-editorial-hero > .container,
.product-editorial-section > .container,
.product-next-step > .container,
.product-breadcrumb > .container {
    max-width: var(--pivaroa-content-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--pivaroa-gutter);
    padding-right: var(--pivaroa-gutter);
}


/*
 * Keep readable editorial copy from becoming an extremely
 * long line even on wide monitors.
 */

.editorial-overview-main {
    max-width: 760px;
}

.editorial-overview-main p {
    max-width: 760px;
}


/* ---------- General text-link normalization ---------- */

.text-link {
    color: #292623;
    text-decoration: none;
    border-bottom: 1px solid #b7aa9a;
    padding-bottom: 2px;
}

.text-link:hover,
.text-link:focus-visible {
    color: #806b56;
    border-bottom-color: #806b56;
}


/* ---------- Responsive gutters ---------- */

@media (max-width: 900px) {

    :root {
        --pivaroa-gutter: 24px;
    }

}

@media (max-width: 600px) {

    :root {
        --pivaroa-gutter: 18px;
    }

    .product-editorial-hero > .container,
    .product-editorial-section > .container,
    .product-next-step > .container,
    .product-breadcrumb > .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .home-priority-chip {
        min-height: 34px;
        padding: 7px 11px;
        font-size: .72rem;
    }

}


/* ---------- Prevent default blue/underlined category links ---------- */

a.home-category-title:link,
a.home-category-title:visited,
a.home-category-title:hover,
a.home-category-title:active {
    text-decoration: none !important;
}



/* ==========================================================
   PIVAROA INTERACTIVE COMPARE — 2026-10-08
   ========================================================== */

.compare-tool-page {
    overflow-x: hidden;
}

.compare-tool-hero {
    padding: 74px 0 48px;
}

.compare-tool-hero h1 {
    max-width: 900px;
    margin: 10px 0 18px;
    font-size: clamp(2.8rem, 5vw, 5rem);
    line-height: 1.02;
    font-weight: 300;
    letter-spacing: -.045em;
}

.compare-tool-lead {
    max-width: 760px;
    margin: 0;
    color: #68615b;
    font-size: 1.05rem;
    line-height: 1.75;
}


.compare-selector-section {
    padding: 36px 0 78px;
}

.compare-selector-heading,
.compare-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 28px;
}

.compare-selector-heading > div:first-child,
.compare-section-heading > div:first-child {
    display: flex;
    align-items: center;
    gap: 14px;
}

.compare-selector-heading h2,
.compare-section-heading h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.7rem);
    line-height: 1.1;
    font-weight: 300;
    letter-spacing: -.035em;
}

.compare-step {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfc4b8;
    border-radius: 50%;
    color: #806f5e;
    font-size: .72rem;
    letter-spacing: .05em;
}

.compare-count {
    color: #706a64;
    font-size: .82rem;
}

.compare-count strong {
    color: #262320;
    font-size: 1.2rem;
    font-weight: 500;
}


.compare-selector-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
}

.compare-select-card {
    position: relative;
    display: flex;
    min-height: 205px;
    flex-direction: column;
    padding: 22px;
    border: 1px solid #e2dcd4;
    background: #fff;
    cursor: pointer;
    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.compare-select-card:hover {
    border-color: #b8aa9a;
    transform: translateY(-2px);
}

.compare-select-card.is-selected {
    border-color: #94816d;
    background: #f7f3ee;
}

.compare-select-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.compare-select-check {
    position: absolute;
    top: 17px;
    right: 17px;
    display: flex;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    border: 1px solid #d6cec4;
    border-radius: 50%;
    background: #fff;
}

.compare-select-check span {
    opacity: 0;
    font-size: .75rem;
}

.compare-select-card.is-selected
.compare-select-check {
    border-color: #8f7b66;
    background: #8f7b66;
    color: #fff;
}

.compare-select-card.is-selected
.compare-select-check span {
    opacity: 1;
}

.compare-select-brand {
    padding-right: 34px;
    color: #8a7b6b;
    font-size: .66rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.compare-select-card > strong {
    margin: 12px 0 5px;
    padding-right: 20px;
    font-size: 1.05rem;
    line-height: 1.35;
    font-weight: 500;
}

.compare-select-model {
    color: #77716b;
    font-size: .73rem;
}

.compare-select-score {
    margin-top: auto;
    padding-top: 18px;
    color: #746c64;
    font-size: .75rem;
}

.compare-select-score b {
    color: #292622;
    font-size: 1.25rem;
    font-weight: 400;
}

.compare-select-best {
    margin-top: 8px;
    color: #625c56;
    font-size: .72rem;
    line-height: 1.4;
}

.compare-selector-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    padding-top: 14px;
}

.compare-clear {
    padding: 10px 0;
    border: 0;
    background: transparent;
    color: #5f5953;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

#compare-message {
    color: #8a6458;
    font-size: .78rem;
}


.comparison-section {
    padding: 76px 0;
    background: #faf8f5;
}

.compare-section-heading > p {
    max-width: 430px;
    margin: 0;
    color: #6a645e;
    line-height: 1.65;
    font-size: .88rem;
}

.comparison-scroll {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 8px;
}

.comparison-table {
    min-width: 850px;
    border-top: 1px solid #ddd6ce;
    border-left: 1px solid #ddd6ce;
}

.comparison-row {
    display: grid;
    grid-template-columns:
        190px
        repeat(
            var(--compare-products),
            minmax(210px,1fr)
        );
}

.comparison-row > * {
    min-width: 0;
    padding: 20px;
    border-right: 1px solid #ddd6ce;
    border-bottom: 1px solid #ddd6ce;
    background: #fff;
}

.comparison-row.has-difference
> .comparison-value {
    background: #f7f3ed;
}

.comparison-label {
    display: flex;
    align-items: center;
    color: #625c56;
    font-size: .78rem;
    font-weight: 500;
}

.comparison-products-row > * {
    padding-top: 27px;
    padding-bottom: 27px;
}

.comparison-product-head {
    display: flex;
    flex-direction: column;
}

.comparison-brand {
    color: #8a7b6b;
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.comparison-product-head h3 {
    margin: 9px 0 4px;
    font-size: 1.25rem;
    line-height: 1.25;
    font-weight: 400;
}

.comparison-model {
    color: #7a746e;
    font-size: .73rem;
}

.comparison-main-score {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
}

.comparison-main-score strong {
    font-size: 2.6rem;
    line-height: 1;
    font-weight: 300;
}

.comparison-main-score span {
    color: #777069;
    font-size: .66rem;
    line-height: 1.35;
}

.comparison-best {
    margin-top: 18px;
    padding: 12px;
    background: #f2eee8;
}

.comparison-best span,
.comparison-best strong,
.comparison-best em {
    display: block;
}

.comparison-best span {
    margin-bottom: 5px;
    font-size: .58rem;
    font-weight: 600;
    letter-spacing: .1em;
}

.comparison-best strong {
    font-size: .78rem;
    font-weight: 500;
}

.comparison-best em {
    margin-top: 3px;
    color: #746c64;
    font-size: .68rem;
    font-style: normal;
}

.comparison-product-link {
    margin-top: auto;
    padding-top: 18px;
    color: #2d2925;
    text-decoration: none;
    font-size: .76rem;
    font-weight: 500;
}

.comparison-product-link:hover {
    color: #806b56;
}

.comparison-value {
    color: #302d29;
    font-size: .84rem;
    line-height: 1.55;
}

.comparison-score-value {
    font-size: 1rem;
    font-weight: 500;
}

.comparison-group-title {
    padding: 28px 18px 11px;
    border-bottom: 1px solid #ddd6ce;
    border-right: 1px solid #ddd6ce;
    background: #ece6de;
}

.comparison-group-title span {
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.comparison-use-score strong {
    display: block;
    font-weight: 500;
}

.comparison-use-score.is-best strong {
    color: #695847;
}

.comparison-meter {
    height: 4px;
    margin: 8px 0 9px;
    background: #e7e1da;
    overflow: hidden;
}

.comparison-meter span {
    display: block;
    height: 100%;
    background: #8f7d69;
}

.comparison-use-score.is-best
.comparison-meter span {
    background: #665544;
}

.comparison-use-score small {
    display: block;
    color: #777069;
    font-size: .68rem;
    line-height: 1.45;
}


.comparison-note {
    max-width: 750px;
    margin-top: 28px;
    padding: 23px 25px;
    border-left: 3px solid #a3917d;
    background: #fff;
}

.comparison-note strong {
    font-weight: 500;
}

.comparison-note p {
    margin: 8px 0;
    color: #69635d;
    line-height: 1.65;
    font-size: .84rem;
}

.comparison-note a {
    color: #2e2a26;
    font-size: .78rem;
}


.compare-next-step {
    padding: 70px 0;
    background: #282522;
    color: #fff;
}

.compare-next-step > .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.compare-next-step h2 {
    margin: 8px 0;
    font-size: clamp(2rem,3vw,3.1rem);
    line-height: 1.1;
    font-weight: 300;
    letter-spacing: -.035em;
}

.compare-next-step p {
    max-width: 650px;
    margin-bottom: 0;
    color: #d3ccc4;
    line-height: 1.65;
}

.comparison-empty {
    padding: 50px 0 80px;
}

.comparison-empty h2 {
    font-weight: 400;
}


@media (max-width: 1050px) {

    .compare-selector-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}


@media (max-width: 760px) {

    .compare-tool-hero {
        padding-top: 48px;
    }

    .compare-selector-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .compare-selector-heading,
    .compare-section-heading,
    .compare-next-step > .container {
        align-items: flex-start;
        flex-direction: column;
    }

    .comparison-table {
        min-width: 760px;
    }

}


@media (max-width: 480px) {

    .compare-selector-grid {
        grid-template-columns: 1fr;
    }

    .compare-select-card {
        min-height: 175px;
    }

}



/* ==========================================================
   PIVAROA COMPARE VISUAL POLISH — 2026-10-08
   ========================================================== */

/*
 * Compare needs additional horizontal room because it is a
 * data-dense decision tool. Other Pivaroa pages retain the
 * standard site width.
 */

@media (min-width: 1100px) {

    .compare-tool-page > section > .container {
        max-width: 1380px;
    }

}


/* ---------- Selector cards ---------- */

.compare-selector-grid {
    gap: 16px;
}

.compare-select-card {
    min-height: 220px;
    padding: 24px;
}

.compare-select-card.is-selected {
    border-color: #89745f;
    box-shadow: inset 0 0 0 1px #89745f;
    background: #f5f0e9;
}

.compare-select-brand {
    font-size: .7rem;
    line-height: 1.4;
}

.compare-select-card > strong {
    margin-top: 14px;
    font-size: 1.12rem;
    line-height: 1.38;
}

.compare-select-model {
    margin-top: 2px;
    font-size: .77rem;
}

.compare-select-score {
    font-size: .8rem;
}

.compare-select-score b {
    font-size: 1.45rem;
}

.compare-select-best {
    font-size: .76rem;
    line-height: 1.5;
}

.compare-select-check {
    width: 28px;
    height: 28px;
}


/* ---------- Comparison table ---------- */

.comparison-scroll {
    margin-top: 4px;
}

.comparison-table {
    min-width: 940px;
}

.comparison-row {
    grid-template-columns:
        205px
        repeat(
            var(--compare-products),
            minmax(235px, 1fr)
        );
}

.comparison-row > * {
    padding: 22px;
}

.comparison-label {
    font-size: .84rem;
    line-height: 1.45;
}

.comparison-value {
    font-size: .9rem;
    line-height: 1.6;
}

.comparison-score-value {
    font-size: 1.08rem;
}


/* ---------- Product headers ---------- */

.comparison-product-head {
    min-height: 315px;
}

.comparison-brand {
    font-size: .7rem;
}

.comparison-product-head h3 {
    margin-top: 11px;
    font-size: 1.35rem;
    line-height: 1.3;
}

.comparison-model {
    font-size: .77rem;
}

.comparison-main-score {
    margin-top: 25px;
}

.comparison-main-score strong {
    font-size: 3rem;
}

.comparison-main-score span {
    font-size: .7rem;
}

.comparison-best {
    padding: 14px;
}

.comparison-best span {
    font-size: .62rem;
}

.comparison-best strong {
    font-size: .84rem;
    line-height: 1.4;
}

.comparison-best em {
    font-size: .73rem;
}


/* ---------- Full evaluation CTA ---------- */

.comparison-product-link {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    margin-top: auto;
    padding: 9px 0 3px;
    border-bottom: 1px solid #ad9b88;
    color: #26221f;
    font-size: .82rem;
    font-weight: 500;
    text-decoration: none;
}

.comparison-product-link:hover,
.comparison-product-link:focus-visible {
    color: #806b56;
    border-bottom-color: #806b56;
}


/* ---------- Specifications ---------- */

.comparison-group-title {
    padding: 30px 20px 13px;
}

.comparison-group-title span {
    font-size: .72rem;
}


/* ---------- Buying priority rows ---------- */

.comparison-use-score strong {
    font-size: .88rem;
}

.comparison-meter {
    height: 5px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.comparison-use-score small {
    font-size: .73rem;
    line-height: 1.55;
}


/* ---------- Difference emphasis ---------- */

.comparison-row.has-difference > .comparison-value {
    background: #f5f0e9;
}

.comparison-row.has-difference > .comparison-label {
    background: #f9f7f4;
}


/* ---------- Methodology note ---------- */

.comparison-note {
    max-width: 800px;
    margin-top: 32px;
    padding: 26px 28px;
}

.comparison-note strong {
    font-size: .94rem;
}

.comparison-note p {
    font-size: .88rem;
}


/* ---------- Dark Finder CTA readability ---------- */

.compare-next-step {
    background: #282522;
}

.compare-next-step .eyebrow {
    color: #bcae9e;
}

.compare-next-step h2 {
    color: #ffffff !important;
}

.compare-next-step p {
    color: #ddd6ce;
}

.compare-next-step .btn {
    background: #ffffff;
    border-color: #ffffff;
    color: #262320 !important;
}

.compare-next-step .btn:hover,
.compare-next-step .btn:focus-visible {
    background: #eee8e1;
    border-color: #eee8e1;
    color: #262320 !important;
}


/* ---------- Tablet ---------- */

@media (max-width: 1099px) {

    .comparison-row {
        grid-template-columns:
            190px
            repeat(
                var(--compare-products),
                minmax(220px, 1fr)
            );
    }

}


/* ---------- Mobile ---------- */

@media (max-width: 760px) {

    .compare-select-card {
        min-height: 195px;
        padding: 20px;
    }

    .comparison-table {
        min-width: 800px;
    }

    .comparison-row > * {
        padding: 18px;
    }

    .comparison-product-head {
        min-height: 290px;
    }

    .comparison-product-head h3 {
        font-size: 1.18rem;
    }

    .comparison-value {
        font-size: .84rem;
    }

    .comparison-use-score small {
        font-size: .69rem;
    }

}


@media (max-width: 480px) {

    .compare-select-card {
        min-height: 170px;
    }

}



/* ==========================================================
   PIVAROA PRODUCT FINDER — 2026-10-08
   ========================================================== */

.finder-tool-page {
    overflow-x: hidden;
}

.finder-tool-hero {
    padding: 74px 0 42px;
}

.finder-tool-hero h1 {
    max-width: 900px;
    margin: 10px 0 20px;
    font-size: clamp(3rem,5.5vw,5.4rem);
    line-height: 1.01;
    font-weight: 300;
    letter-spacing: -.05em;
}

.finder-tool-hero p {
    max-width: 760px;
    margin: 0;
    color: #68615b;
    font-size: 1.05rem;
    line-height: 1.75;
}


/* PRIORITY */

.finder-priority-section {
    padding: 34px 0 78px;
}

.finder-section-heading,
.finder-results-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 28px;
}

.finder-section-heading > div:first-child,
.finder-results-heading > div:first-child {
    display: flex;
    align-items: center;
    gap: 15px;
}

.finder-step {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfc4b8;
    border-radius: 50%;
    color: #806f5e;
    font-size: .7rem;
}

.finder-heading-kicker {
    display: block;
    margin-bottom: 5px;
    color: #8b7967;
    font-size: .64rem;
    font-weight: 600;
    letter-spacing: .13em;
}

.finder-section-heading h2,
.finder-results-heading h2 {
    margin: 0;
    font-size: clamp(1.8rem,3vw,2.8rem);
    line-height: 1.1;
    font-weight: 300;
    letter-spacing: -.035em;
}

.finder-section-heading > p {
    max-width: 430px;
    margin: 0;
    color: #706962;
    font-size: .85rem;
    line-height: 1.65;
}

.finder-priority-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 15px;
}

.finder-priority-card {
    position: relative;
    display: flex;
    min-height: 190px;
    flex-direction: column;
    padding: 24px;
    border: 1px solid #e1dad2;
    background: #fff;
    color: #292622;
    text-decoration: none;
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.finder-priority-card:hover {
    transform: translateY(-2px);
    border-color: #ad9c8b;
}

.finder-priority-card.is-active {
    border-color: #8f7a65;
    background: #f5f0e9;
    box-shadow: inset 0 0 0 1px #8f7a65;
}

.finder-priority-check {
    position: absolute;
    top: 18px;
    right: 18px;
    display: flex;
    width: 26px;
    height: 26px;
    align-items: center;
    justify-content: center;
    border: 1px solid #d9d0c6;
    border-radius: 50%;
    font-size: .7rem;
}

.finder-priority-card.is-active
.finder-priority-check {
    border-color: #8f7a65;
    background: #8f7a65;
    color: #fff;
}

.finder-priority-label {
    padding-right: 35px;
    color: #8b7967;
    font-size: .61rem;
    font-weight: 600;
    letter-spacing: .12em;
}

.finder-priority-card > strong {
    margin: 14px 0 8px;
    padding-right: 25px;
    font-size: 1.13rem;
    line-height: 1.35;
    font-weight: 500;
}

.finder-priority-card p {
    margin: 0 0 18px;
    color: #716a63;
    font-size: .78rem;
    line-height: 1.55;
}

.finder-priority-card em {
    margin-top: auto;
    color: #3c3732;
    font-size: .76rem;
    font-weight: 500;
    font-style: normal;
}


/* RESULTS */

.finder-results-section {
    padding: 72px 0;
    background: #faf8f5;
}

.finder-results-meta {
    color: #746d66;
    font-size: .78rem;
}

.finder-results-meta strong {
    margin-right: 4px;
    color: #2d2925;
    font-size: 1.2rem;
    font-weight: 400;
}


/* WINNER */

.finder-winner {
    display: grid;
    grid-template-columns: 110px minmax(0,1fr) 220px;
    gap: 0;
    border: 1px solid #dcd3ca;
    background: #fff;
}

.finder-winner-rank {
    padding: 30px 22px;
    border-right: 1px solid #e1dad2;
    background: #eee7df;
}

.finder-winner-rank span {
    display: block;
    color: #776858;
    font-size: .61rem;
    font-weight: 600;
    letter-spacing: .12em;
}

.finder-winner-rank strong {
    display: block;
    margin-top: 12px;
    font-size: 2.8rem;
    line-height: 1;
    font-weight: 300;
}

.finder-winner-main {
    padding: 34px 38px;
}

.finder-product-meta {
    color: #887968;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.finder-winner-main h3 {
    margin: 9px 0 15px;
    font-size: clamp(2rem,3vw,3rem);
    line-height: 1.08;
    font-weight: 300;
    letter-spacing: -.035em;
}

.finder-winner-summary {
    max-width: 700px;
    color: #625c56;
    line-height: 1.7;
}

.finder-match-reason {
    max-width: 720px;
    margin-top: 23px;
    padding: 18px 20px;
    background: #f6f2ed;
}

.finder-match-reason span {
    display: block;
    margin-bottom: 7px;
    color: #806f5e;
    font-size: .61rem;
    font-weight: 600;
    letter-spacing: .12em;
}

.finder-match-reason p {
    margin: 0;
    line-height: 1.6;
}

.finder-winner-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
    margin-top: 27px;
}

.finder-secondary-link {
    color: #322e2a;
    font-size: .8rem;
    text-underline-offset: 4px;
}

.finder-winner-score {
    padding: 34px 28px;
    border-left: 1px solid #e1dad2;
    background: #f9f7f4;
}

.finder-winner-score > span {
    color: #806f5e;
    font-size: .61rem;
    font-weight: 600;
    letter-spacing: .12em;
}

.finder-winner-score > div:nth-child(2) {
    display: flex;
    align-items: baseline;
    margin-top: 13px;
}

.finder-winner-score strong {
    font-size: 3.7rem;
    line-height: 1;
    font-weight: 300;
}

.finder-winner-score em {
    margin-left: 4px;
    color: #716a63;
    font-size: .85rem;
    font-style: normal;
}

.finder-score-meter {
    height: 5px;
    margin: 22px 0 12px;
    background: #e4ddd5;
}

.finder-score-meter span {
    display: block;
    height: 100%;
    background: #88745f;
}

.finder-winner-score small {
    color: #746d66;
    font-size: .7rem;
    line-height: 1.45;
}


/* ALTERNATIVES */

.finder-alternative-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin: 56px 0 20px;
}

.finder-alternative-heading h3,
.finder-more-heading h3 {
    margin: 4px 0 0;
    font-size: 1.65rem;
    font-weight: 300;
}

.finder-alternative-heading > a {
    color: #302c28;
    font-size: .8rem;
}

.finder-alternative-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
}

.finder-alternative-card {
    display: flex;
    min-height: 310px;
    flex-direction: column;
    padding: 28px;
    border: 1px solid #dfd8d0;
    background: #fff;
}

.finder-alt-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.finder-alt-rank {
    color: #8b7967;
    font-size: 1.25rem;
    font-weight: 300;
}

.finder-alt-score {
    color: #746d66;
    font-size: .72rem;
}

.finder-alt-score strong {
    color: #2c2925;
    font-size: 1.1rem;
    font-weight: 500;
}

.finder-alternative-card h3 {
    margin: 9px 0 12px;
    font-size: 1.4rem;
    line-height: 1.3;
    font-weight: 400;
}

.finder-alternative-card h3 a {
    color: #292622;
    text-decoration: none;
}

.finder-alternative-card > p {
    color: #69625c;
    font-size: .84rem;
    line-height: 1.65;
}

.finder-alt-reason {
    margin-top: 10px;
    padding: 15px;
    background: #f7f3ee;
}

.finder-alt-reason strong,
.finder-alt-reason span {
    display: block;
}

.finder-alt-reason strong {
    margin-bottom: 5px;
    font-size: .72rem;
    font-weight: 600;
}

.finder-alt-reason span {
    color: #6e6760;
    font-size: .78rem;
    line-height: 1.55;
}

.finder-card-link {
    width: fit-content;
    margin-top: auto;
    padding-top: 20px;
    color: #302c28;
    font-size: .78rem;
    font-weight: 500;
}


/* REMAINING */

.finder-more-heading {
    margin: 58px 0 20px;
}

.finder-ranked-list {
    display: grid;
    gap: 10px;
}

.finder-ranked-product {
    display: grid;
    grid-template-columns: 60px minmax(0,1fr) 125px;
    align-items: center;
    border: 1px solid #e2dcd5;
    background: #fff;
}

.finder-ranked-number {
    padding: 24px 18px;
    color: #8b7967;
    font-size: 1.25rem;
    font-weight: 300;
    text-align: center;
}

.finder-ranked-main {
    padding: 22px 24px;
    border-left: 1px solid #e5ded7;
}

.finder-ranked-main h3 {
    margin: 6px 0 8px;
    font-size: 1.05rem;
    font-weight: 500;
}

.finder-ranked-main h3 a,
.finder-ranked-main > a {
    color: #302c28;
}

.finder-ranked-main h3 a {
    text-decoration: none;
}

.finder-ranked-main p {
    margin: 0 0 9px;
    color: #716a63;
    font-size: .78rem;
    line-height: 1.55;
}

.finder-ranked-main > a {
    font-size: .72rem;
}

.finder-ranked-score {
    padding: 24px 20px;
    text-align: right;
}

.finder-ranked-score strong {
    display: block;
    font-size: 1.65rem;
    line-height: 1;
    font-weight: 300;
}

.finder-ranked-score span {
    display: block;
    margin-top: 5px;
    color: #766f68;
    font-size: .68rem;
}


/* RESULTS FOOTER */

.finder-results-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-top: 36px;
    padding: 30px;
    background: #282522;
    color: #fff;
}

.finder-results-footer strong {
    font-weight: 500;
}

.finder-results-footer p {
    max-width: 670px;
    margin: 7px 0 0;
    color: #d7d0c8;
    font-size: .82rem;
    line-height: 1.6;
}

.finder-results-footer .btn {
    flex: 0 0 auto;
    background: #fff;
    border-color: #fff;
    color: #27231f !important;
}


/* START */

.finder-start-section {
    padding: 10px 0 70px;
}

.finder-start-note {
    max-width: 760px;
    padding: 30px;
    border-left: 3px solid #9d8974;
    background: #f7f3ee;
}

.finder-start-note > span {
    color: #806f5e;
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .12em;
}

.finder-start-note h2 {
    margin: 8px 0 12px;
    font-size: 2rem;
    font-weight: 300;
}

.finder-start-note p {
    color: #69625c;
    line-height: 1.7;
}

.finder-start-note a {
    color: #302c28;
    font-size: .8rem;
}


/* METHODOLOGY */

.finder-methodology {
    padding: 68px 0;
    background: #eee8e1;
}

.finder-methodology > .container {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
}

.finder-methodology h2 {
    margin: 8px 0 0;
    font-size: clamp(2rem,3vw,3rem);
    line-height: 1.1;
    font-weight: 300;
}

.finder-methodology p {
    margin-top: 0;
    color: #625c56;
    line-height: 1.7;
}

.finder-methodology a {
    color: #302c28;
    font-size: .8rem;
}


/* TABLET */

@media (max-width: 900px) {

    .finder-priority-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .finder-winner {
        grid-template-columns: 90px minmax(0,1fr);
    }

    .finder-winner-score {
        grid-column: 1 / -1;
        border-top: 1px solid #e1dad2;
        border-left: 0;
    }

    .finder-methodology > .container {
        gap: 45px;
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .finder-tool-hero {
        padding-top: 48px;
    }

    .finder-priority-grid,
    .finder-alternative-grid,
    .finder-methodology > .container {
        grid-template-columns: 1fr;
    }

    .finder-section-heading,
    .finder-results-heading,
    .finder-alternative-heading,
    .finder-results-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .finder-winner {
        grid-template-columns: 1fr;
    }

    .finder-winner-rank {
        border-right: 0;
        border-bottom: 1px solid #e1dad2;
    }

    .finder-winner-main {
        padding: 26px 22px;
    }

    .finder-winner-score {
        grid-column: auto;
    }

    .finder-ranked-product {
        grid-template-columns: 48px minmax(0,1fr);
    }

    .finder-ranked-number {
        padding: 18px 10px;
    }

    .finder-ranked-main {
        padding: 18px;
    }

    .finder-ranked-score {
        grid-column: 2;
        padding: 0 18px 18px;
        text-align: left;
    }

    .finder-ranked-score strong,
    .finder-ranked-score span {
        display: inline;
    }

    .finder-results-footer .btn {
        flex: none;
    }

}



/* ==========================================================
   PIVAROA BUYING GUIDES
   ========================================================== */

.guide-hero {
    padding: 58px 0 72px;
    border-bottom: 1px solid #e5ded6;
    background: #f8f5f1;
}

.guide-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 45px;
    color: #77706a;
    font-size: .74rem;
}

.guide-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.guide-breadcrumb a:hover {
    color: #292622;
}

.guide-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1.55fr) minmax(280px,.65fr);
    gap: 70px;
    align-items: end;
}

.guide-hero h1 {
    max-width: 820px;
    margin: 13px 0 24px;
    font-size: clamp(2.55rem,5vw,4.7rem);
    line-height: .99;
    font-weight: 300;
    letter-spacing: -.045em;
}

.guide-lead {
    max-width: 780px;
    margin: 0;
    color: #625c56;
    font-size: 1.03rem;
    line-height: 1.85;
}

.guide-summary {
    padding: 28px;
    border: 1px solid #dcd3c9;
    background: #fff;
}

.guide-summary > span,
.guide-brand {
    display: block;
    color: #8a7968;
    font-size: .67rem;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.guide-summary > strong {
    display: block;
    margin: 13px 0;
    color: #292622;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.35;
}

.guide-summary p {
    margin: 0 0 20px;
    color: #69625c;
    font-size: .82rem;
    line-height: 1.7;
}

.guide-summary-score {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-bottom: 17px;
}

.guide-summary-score b {
    font-size: 2rem;
    font-weight: 300;
}

.guide-summary-score span {
    color: #756e67;
    font-size: .72rem;
}

.guide-section {
    padding: 76px 0;
}

.guide-section-soft {
    background: #faf8f5;
}

.guide-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    align-items: end;
    margin-bottom: 35px;
}

.guide-section-heading h2,
.guide-editorial-grid h2,
.guide-methodology h2,
.guide-more h2 {
    margin: 8px 0 0;
    font-size: clamp(1.75rem,3vw,2.65rem);
    line-height: 1.12;
    font-weight: 300;
    letter-spacing: -.025em;
}

.guide-section-heading > p {
    max-width: 430px;
    margin: 0;
    color: #716a63;
    font-size: .84rem;
    line-height: 1.65;
}

.guide-number {
    color: #9b8976;
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .12em;
}

.guide-ranking {
    border-top: 1px solid #ddd6ce;
}

.guide-pick {
    display: grid;
    grid-template-columns: 70px minmax(0,1fr) 180px;
    gap: 28px;
    padding: 31px 0;
    border-bottom: 1px solid #ddd6ce;
    align-items: center;
}

.guide-rank {
    color: #a29384;
    font-size: 1.35rem;
    font-weight: 300;
}

.guide-pick-main h3 {
    margin: 7px 0 3px;
    font-size: 1.35rem;
    font-weight: 500;
}

.guide-pick-main h3 a {
    color: #292622;
    text-decoration: none;
}

.guide-model {
    color: #837b73;
    font-size: .72rem;
}

.guide-pick-main p {
    max-width: 720px;
    margin: 15px 0 12px;
    color: #625c56;
    font-size: .88rem;
    line-height: 1.7;
}

.guide-text-link {
    color: #51483f;
    font-size: .78rem;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.guide-pick-score {
    text-align: right;
}

.guide-pick-score > strong {
    display: block;
    font-size: 2rem;
    font-weight: 300;
}

.guide-pick-score > span,
.guide-pick-score small {
    color: #7a736c;
    font-size: .69rem;
}

.guide-pick-score small {
    display: block;
}

.guide-score-track {
    height: 3px;
    margin: 11px 0 9px;
    overflow: hidden;
    background: #e6dfd7;
}

.guide-score-track i {
    display: block;
    height: 100%;
    background: #95816c;
}

.guide-editorial-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 70px;
}

.guide-editorial-grid article {
    padding-right: 30px;
}

.guide-editorial-grid p {
    margin: 22px 0 0;
    color: #655f59;
    line-height: 1.85;
}

.guide-other-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 14px;
}

.guide-other-card {
    min-height: 155px;
    padding: 22px;
    border: 1px solid #e0d9d1;
    color: #292622;
    text-decoration: none;
    background: #fff;
}

.guide-other-card:hover {
    border-color: #a89582;
}

.guide-other-card > span {
    display: block;
    color: #8a7968;
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.guide-other-card > strong {
    display: block;
    margin: 12px 0 25px;
    font-weight: 500;
    line-height: 1.4;
}

.guide-other-card > div {
    color: #756e67;
    font-size: .75rem;
}

.guide-other-card b {
    color: #292622;
    font-size: 1.1rem;
    font-weight: 400;
}

.guide-methodology {
    padding: 76px 0;
    background: #292622;
    color: #fff;
}

.guide-methodology .container {
    display: grid;
    grid-template-columns: minmax(0,1.4fr) minmax(260px,.6fr);
    gap: 80px;
}

.guide-methodology p {
    max-width: 760px;
    color: #d7d0c8;
    line-height: 1.8;
}

.guide-methodology .guide-number {
    color: #bba995;
}

.guide-methodology-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
    justify-content: center;
}

.guide-methodology .guide-text-link {
    margin-top: 8px;
    color: #fff;
}

.guide-more {
    padding: 76px 0;
}

.guide-more-links {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0 40px;
    margin-top: 32px;
    border-top: 1px solid #ddd6ce;
}

.guide-more-links a {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 0;
    border-bottom: 1px solid #ddd6ce;
    color: #38332f;
    text-decoration: none;
    font-size: .86rem;
}

.guide-more-links a:hover {
    color: #8a7460;
}

.guide-not-found {
    padding: 100px 0;
}


@media (max-width: 850px) {

    .guide-hero-grid,
    .guide-methodology .container {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .guide-pick {
        grid-template-columns: 48px minmax(0,1fr);
    }

    .guide-pick-score {
        grid-column: 2;
        text-align: left;
        max-width: 220px;
    }

    .guide-other-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}


@media (max-width: 600px) {

    .guide-hero {
        padding: 38px 0 52px;
    }

    .guide-breadcrumb {
        margin-bottom: 30px;
    }

    .guide-section,
    .guide-methodology,
    .guide-more {
        padding: 54px 0;
    }

    .guide-section-heading {
        display: block;
    }

    .guide-section-heading > p {
        margin-top: 17px;
    }

    .guide-editorial-grid,
    .guide-other-grid,
    .guide-more-links {
        grid-template-columns: 1fr;
    }

    .guide-editorial-grid {
        gap: 48px;
    }

    .guide-pick {
        grid-template-columns: 38px minmax(0,1fr);
        gap: 15px;
    }
}


/* Coffee hub: secondary product link beneath buying-guide CTA */

.recommendation-secondary-link {
    display: block;
    margin-top: 10px;
}

.recommendation-secondary-link a {
    color: #77706a;
    font-size: .72rem;
    text-decoration: none;
}

.recommendation-secondary-link a:hover {
    color: #3d3833;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* Homepage multi-category panel */
.home-category-switcher {
    display: grid;
    gap: 24px;
}

.home-category-block {
    min-width: 0;
}

.home-category-block h2 {
    margin-top: 5px;
    margin-bottom: 10px;
}

.home-category-meta {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .62;
}

.home-category-divider {
    height: 1px;
    background: rgba(30, 27, 24, .12);
}

.home-category-block .decision-points {
    margin-bottom: 15px;
}

@media (min-width: 900px) {
    .home-category-switcher {
        gap: 20px;
    }
}


/* PIVAROA MULTI-CATEGORY TOOL SWITCHER */

.tool-category-switcher {
    padding: 22px 0 4px;
    background: #fff;
}

.tool-category-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.tool-category-tabs::before {
    content: "CATEGORY";
    display: block;
    width: 100%;
    margin-bottom: 2px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .16em;
    color: #77716b;
}

.tool-category-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border: 1px solid #d9d4ce;
    background: #fff;
    color: #282522;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition:
        border-color .18s ease,
        background .18s ease,
        color .18s ease;
}

.tool-category-tabs a:hover {
    border-color: #8d8175;
}

.tool-category-tabs a.is-active {
    background: #282522;
    border-color: #282522;
    color: #fff;
}

@media (max-width: 640px) {
    .tool-category-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .tool-category-tabs::before {
        grid-column: 1 / -1;
    }

    .tool-category-tabs a {
        padding-left: 10px;
        padding-right: 10px;
        text-align: center;
    }
}


/* ==========================================================
   PIVAROA COMPARE SELECTOR V2
   ========================================================== */

.compare-selector-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 30px;
    margin-bottom: 24px;
    padding: 22px 24px;
    border: 1px solid #e3ddd6;
    background: #faf8f5;
}

.compare-search {
    display: block;
    max-width: 620px;
}

.compare-search-label {
    display: block;
    margin-bottom: 9px;
    color: #655e57;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.compare-search-field {
    position: relative;
    display: block;
}

.compare-search-icon {
    position: absolute;
    top: 50%;
    left: 15px;
    z-index: 1;
    color: #81766b;
    font-size: 1.15rem;
    line-height: 1;
    transform: translateY(-50%);
    pointer-events: none;
}

.compare-search-field input {
    width: 100%;
    height: 48px;
    padding: 0 16px 0 43px;
    border: 1px solid #d7d0c8;
    border-radius: 0;
    outline: 0;
    background: #fff;
    color: #292622;
    font: inherit;
    font-size: .88rem;
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.compare-search-field input:focus {
    border-color: #95816c;
    box-shadow: 0 0 0 3px rgba(149,129,108,.09);
}

.compare-search-field input::placeholder {
    color: #99918a;
}

.compare-selection-guide {
    display: flex;
    min-width: 180px;
    flex-direction: column;
    align-items: flex-end;
    padding-bottom: 4px;
}

.compare-selection-guide strong {
    color: #312d29;
    font-size: .88rem;
    font-weight: 500;
}

.compare-selection-guide span {
    margin-top: 4px;
    color: #817a73;
    font-size: .7rem;
}


.compare-selector-grid {
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 11px;
}

.compare-select-card {
    min-height: 156px;
    padding: 17px 18px;
    border-color: #e1dbd4;
}

.compare-select-card:hover {
    border-color: #a99886;
    box-shadow: 0 8px 24px rgba(53,45,38,.055);
    transform: translateY(-1px);
}

.compare-select-card.is-selected {
    border-color: #8e7964;
    background: #f5f0ea;
    box-shadow:
        inset 3px 0 0 #8e7964,
        0 8px 24px rgba(53,45,38,.055);
}

.compare-select-check {
    top: 14px;
    right: 14px;
    width: 27px;
    height: 27px;
}

.compare-check-plus,
.compare-check-tick {
    position: absolute;
    line-height: 1;
}

.compare-check-plus {
    opacity: 1;
    color: #817970;
    font-size: 1rem;
    font-weight: 300;
}

.compare-check-tick {
    opacity: 0;
    color: #fff;
    font-size: .72rem;
}

.compare-select-card.is-selected .compare-check-plus {
    opacity: 0;
}

.compare-select-card.is-selected .compare-check-tick {
    opacity: 1;
}

.compare-select-brand {
    font-size: .61rem;
}

.compare-select-card > strong {
    margin: 9px 0 3px;
    padding-right: 30px;
    font-size: .93rem;
    line-height: 1.3;
}

.compare-select-model {
    font-size: .67rem;
}

.compare-select-score {
    display: flex;
    align-items: baseline;
    gap: 3px;
    margin-top: auto;
    padding-top: 13px;
}

.compare-select-score b {
    font-size: 1.15rem;
}

.compare-select-best {
    margin-top: 5px;
    overflow: hidden;
    color: #6b645e;
    font-size: .66rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.compare-select-card.is-search-hidden {
    display: none;
}

.compare-no-results {
    display: none;
    grid-column: 1 / -1;
    padding: 32px;
    border: 1px dashed #d5ccc2;
    color: #746d66;
    text-align: center;
    font-size: .84rem;
}

.compare-no-results.is-visible {
    display: block;
}


.compare-selector-actions {
    position: sticky;
    bottom: 14px;
    z-index: 20;
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-top: 9px;
    padding: 14px 16px;
    border: 1px solid #ddd5cc;
    background: rgba(255,255,255,.97);
    box-shadow: 0 12px 35px rgba(41,35,29,.11);
    backdrop-filter: blur(10px);
}

.compare-action-status {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 42px;
}

.compare-action-status strong {
    color: #302c28;
    font-size: .8rem;
    font-weight: 500;
}

.compare-action-status #compare-message {
    min-height: 17px;
    margin-top: 2px;
    font-size: .69rem;
}

.compare-action-buttons {
    display: flex;
    align-items: center;
    gap: 17px;
}

.compare-action-buttons .btn {
    white-space: nowrap;
}

.compare-selector-actions .compare-clear {
    padding: 9px 2px;
    font-size: .76rem;
}

#compare-submit:disabled {
    opacity: .45;
    cursor: not-allowed;
}


@media (max-width: 1050px) {

    .compare-selector-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }

}


@media (max-width: 780px) {

    .compare-selector-toolbar {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 17px;
    }

    .compare-search {
        max-width: none;
    }

    .compare-selection-guide {
        align-items: flex-start;
    }

    .compare-selector-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .compare-selector-actions {
        bottom: 8px;
    }

}


@media (max-width: 520px) {

    .compare-tool-hero {
        padding-top: 46px;
    }

    .compare-selector-heading {
        align-items: flex-start;
    }

    .compare-selector-grid {
        grid-template-columns: 1fr;
    }

    .compare-select-card {
        min-height: 132px;
    }

    .compare-selector-actions {
        align-items: stretch;
        flex-direction: column;
        gap: 8px;
        padding: 12px;
    }

    .compare-action-status {
        min-height: 0;
    }

    .compare-action-buttons {
        justify-content: space-between;
    }

    .compare-action-buttons .btn {
        flex: 1;
        text-align: center;
    }

}



/* ==========================================================
   PIVAROA PRODUCT PAGE V2
   2026-10-08
   ========================================================== */


/* ---------- Hero refinement ---------- */

.product-editorial-hero {
    padding-top: 52px;
}

.product-editorial-grid {
    align-items: stretch;
}

.product-editorial-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.product-editorial-summary {
    max-width: 690px;
}


/* ---------- Decision badges ---------- */

.product-decision-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 27px 0 0;
}

.product-decision-badge {
    display: flex;
    min-height: 58px;
    flex-direction: column;
    justify-content: center;
    padding: 10px 15px;
    border: 1px solid #ded6cd;
    background: #faf8f5;
}

.product-decision-badge small {
    margin-bottom: 4px;
    color: #877b70;
    font-size: .56rem;
    font-weight: 600;
    letter-spacing: .11em;
}

.product-decision-badge strong {
    color: #302c28;
    font-size: .78rem;
    font-weight: 500;
}


/* ---------- Score panel ---------- */

.product-score-panel {
    gap: 0;
    margin-top: 16px;
    padding: 19px 0;
}

.primary-score {
    padding-right: 34px;
}

.primary-score strong {
    line-height: .9;
}

.secondary-score {
    min-width: 110px;
}


/* ---------- Best match ---------- */

.best-match-panel {
    position: relative;
    overflow: hidden;
    padding: 22px 24px 22px 28px;
    border-left: 3px solid #8f7b66;
    background: #f5f1eb;
}

.best-match-panel::after {
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    top: -35px;
    right: -30px;
    border: 1px solid rgba(120,101,81,.12);
    border-radius: 50%;
}

.best-match-panel > span {
    letter-spacing: .13em;
}

.best-match-panel strong {
    position: relative;
    z-index: 1;
}

.best-match-panel p {
    position: relative;
    z-index: 1;
    max-width: 620px;
}


/* ---------- Hero CTAs ---------- */

.product-hero-actions {
    gap: 12px 18px;
}

.product-hero-actions .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


/* ---------- Quick navigation ---------- */

.product-quick-nav {
    position: sticky;
    top: 0;
    z-index: 30;
    border-top: 1px solid #e5dfd7;
    border-bottom: 1px solid #e5dfd7;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
}

.product-quick-nav .container {
    display: flex;
    min-height: 54px;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
}

.product-quick-nav .container::-webkit-scrollbar {
    display: none;
}

.product-quick-nav span {
    flex: 0 0 auto;
    margin-right: 8px;
    color: #93887e;
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.product-quick-nav a {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid transparent;
    color: #4f4944;
    text-decoration: none;
    font-size: .73rem;
    transition:
        border-color .18s ease,
        background .18s ease;
}

.product-quick-nav a:hover {
    border-color: #dcd3ca;
    background: #f7f4f0;
}


/* ---------- Anchored section behaviour ---------- */

#pivaroa-view,
#strengths,
#specifications,
#suitability,
#buying-options {
    scroll-margin-top: 70px;
}


/* ---------- Strength cards ---------- */

.product-strength-grid article {
    position: relative;
    min-height: 230px;
    padding: 27px;
    background: #fff;
    transition:
        border-color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.product-strength-grid article:hover {
    border-color: #c8bbae;
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(53,45,38,.055);
}

.strength-score {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-bottom: 24px;
}

.strength-score strong {
    font-size: 2.55rem;
    line-height: 1;
    font-weight: 300;
}

.strength-score span {
    color: #8a8178;
    font-size: .65rem;
}


/* ---------- Specifications ---------- */

.product-spec-table {
    overflow: hidden;
    border: 1px solid #ded8d0;
    border-bottom: 0;
    background: #fff;
}

.product-spec-row {
    padding: 16px 20px;
    border-bottom: 1px solid #ded8d0;
}

.product-spec-row:nth-child(even) {
    background: #fbfaf8;
}

.product-spec-row span {
    align-self: center;
}

.product-spec-row strong {
    color: #302c28;
}


/* ---------- Suitability ---------- */

.suitability-list {
    max-width: none;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
}

.suitability-row {
    padding: 22px;
    border: 1px solid #e3ddd5;
    background: #fff;
}

.suitability-row p {
    margin-bottom: 0;
}


/* ---------- Buyer-fit cards ---------- */

.buyer-fit-card {
    min-height: 100%;
}

.buyer-fit-positive {
    border-top: 3px solid #8d7b68;
}


/* ---------- Buying section ---------- */

.product-buying-section {
    background: #fff;
}

.buying-options-pending {
    max-width: none;
    padding: 30px 32px;
    border-left: 3px solid #a18c76;
}

.buying-options-list {
    max-width: none;
}

.buying-option {
    transition:
        border-color .18s ease,
        background .18s ease;
}

.buying-option:hover {
    border-color: #b8aa9b;
    background: #faf8f5;
}


/* ---------- Mobile ---------- */

@media (max-width: 850px) {

    .product-quick-nav {
        position: relative;
    }

    .suitability-list {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 620px) {

    .product-editorial-hero {
        padding-top: 35px;
    }

    .product-decision-badges {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .product-decision-badge:first-child {
        grid-column: 1 / -1;
    }

    .product-score-panel {
        justify-content: flex-start;
    }

    .product-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .product-hero-actions .btn {
        width: 100%;
    }

    .product-hero-actions .text-link {
        margin-top: 5px;
    }

    .product-quick-nav .container {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .product-strength-grid article {
        min-height: 0;
    }

    .product-spec-row {
        padding: 15px 17px;
    }

    .suitability-row {
        padding: 19px;
    }

}



/* ==========================================================
   PIVAROA FINDER UI V2
   2026-10-08
   ========================================================== */


/* ---------- Hero ---------- */

.finder-tool-hero {
    padding-bottom: 36px;
}

.finder-tool-hero p {
    max-width: 720px;
}


/* ---------- Priority cards ---------- */

.finder-priority-section {
    padding-top: 42px;
}

.finder-priority-grid {
    gap: 13px;
}

.finder-priority-card {
    min-height: 178px;
    padding: 22px;
    border-color: #ddd6ce;
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.finder-priority-card:hover {
    transform: translateY(-2px);
    border-color: #a9947f;
    box-shadow: 0 10px 28px rgba(52,44,37,.05);
}

.finder-priority-card.is-active {
    border-color: #88735e;
    background: #f3eee7;
    box-shadow:
        inset 0 0 0 1px #88735e,
        0 10px 30px rgba(52,44,37,.045);
}

.finder-priority-card.is-active
.finder-priority-label {
    color: #705d4a;
}

.finder-priority-card em {
    padding-top: 5px;
}

.finder-priority-card.is-active em {
    color: #715e4b;
    font-weight: 600;
}


/* ---------- Selected priority ---------- */

.finder-selected-priority {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 35px;
    padding: 17px 20px;
    border: 1px solid #d8cfc5;
    background: #eee7df;
}

.finder-selected-priority > div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.finder-selected-priority span {
    color: #806f5e;
    font-size: .6rem;
    font-weight: 600;
    letter-spacing: .12em;
}

.finder-selected-priority strong {
    color: #302b27;
    font-size: .9rem;
    font-weight: 500;
}

.finder-selected-priority a {
    flex: 0 0 auto;
    color: #37322d;
    font-size: .76rem;
    text-underline-offset: 4px;
}


/* ---------- Winner ---------- */

.finder-winner {
    position: relative;
    overflow: hidden;
    border-color: #cfc3b7;
    box-shadow: 0 18px 45px rgba(54,46,39,.055);
}

.finder-winner::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #8d7761;
}

.finder-winner-rank {
    padding-top: 35px;
    background: #e9e0d6;
}

.finder-winner-main {
    padding-top: 39px;
    padding-bottom: 39px;
}

.finder-verdict {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0 0 17px;
    padding: 7px 10px;
    border: 1px solid #ded5cc;
    background: #faf8f5;
}

.finder-verdict span {
    color: #8a7968;
    font-size: .57rem;
    font-weight: 600;
    letter-spacing: .11em;
}

.finder-verdict strong {
    color: #3a342f;
    font-size: .69rem;
    font-weight: 500;
}

.finder-match-reason {
    border-left: 3px solid #9b856f;
}

.finder-winner-actions .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

.finder-secondary-link {
    font-weight: 500;
}


/* ---------- Winner score ---------- */

.finder-winner-score {
    position: relative;
    padding-top: 39px;
    background: #f6f2ed;
}

.finder-winner-score strong {
    color: #2e2925;
}

.finder-score-meter {
    overflow: hidden;
    border-radius: 999px;
}

.finder-score-meter span {
    border-radius: inherit;
}


/* ---------- Alternatives ---------- */

.finder-alternative-card {
    border-color: #dcd4cb;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.finder-alternative-card:hover {
    transform: translateY(-2px);
    border-color: #bbaa99;
    box-shadow: 0 12px 30px rgba(52,44,37,.045);
}

.finder-alt-score {
    padding: 6px 9px;
    background: #f5f1ec;
}


/* ---------- Remaining rankings ---------- */

.finder-ranked-product {
    transition:
        border-color .18s ease,
        background .18s ease;
}

.finder-ranked-product:hover {
    border-color: #c2b4a5;
    background: #fdfcfb;
}

.finder-ranked-number {
    color: #776451;
}

.finder-ranked-score {
    background: #faf8f5;
}


/* ---------- Results footer ---------- */

.finder-results-footer {
    margin-top: 42px;
    padding: 32px;
}

.finder-results-footer .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}


/* ---------- Mobile ---------- */

@media (max-width: 650px) {

    .finder-tool-hero h1 {
        font-size: clamp(2.6rem,12vw,3.8rem);
    }

    .finder-priority-section {
        padding-top: 30px;
    }

    .finder-priority-card {
        min-height: 0;
    }

    .finder-selected-priority {
        align-items: flex-start;
        flex-direction: column;
        gap: 11px;
    }

    .finder-selected-priority > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .finder-winner {
        box-shadow: none;
    }

    .finder-winner-rank {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 19px 22px;
    }

    .finder-winner-rank strong {
        margin-top: 0;
        font-size: 2rem;
    }

    .finder-winner-score {
        padding: 24px 22px;
    }

    .finder-winner-score strong {
        font-size: 3rem;
    }

    .finder-winner-actions {
        align-items: stretch;
        flex-direction: column;
        gap: 15px;
    }

    .finder-winner-actions .btn {
        justify-content: center;
        width: 100%;
    }

    .finder-results-footer .btn {
        width: 100%;
        justify-content: center;
    }

}



/* ==========================================================
   PIVAROA HOME + NAVIGATION V2
   ========================================================== */

.top .primary-nav {
    display:flex;
    align-items:center;
    gap:20px;
}

.primary-nav-categories {
    display:flex;
    align-items:center;
    gap:20px;
}

.primary-nav-divider {
    width:1px;
    height:20px;
    background:#ddd5cc;
}

.top .primary-nav-tool {
    font-weight:600;
}

.hero {
    padding-top:84px;
    padding-bottom:82px;
    gap:72px;
}

.hero h1 {
    max-width:760px;
    margin-top:13px;
    margin-bottom:24px;
    font-size:clamp(3.25rem,5.7vw,5.8rem);
    line-height:.98;
}

.home-hero-actions {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
    margin-top:31px;
}

.home-hero-secondary {
    color:#37322e;
    font-size:.82rem;
    font-weight:500;
    text-decoration:none;
    border-bottom:1px solid #9c8a77;
    padding-bottom:3px;
}

.home-trust-line {
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    margin-top:28px;
    color:#827a73;
    font-size:.68rem;
}

.home-trust-line span {
    position:relative;
}

.home-trust-line span:not(:last-child)::after {
    content:"·";
    position:absolute;
    right:-11px;
    color:#b4aaa1;
}

.hero .decision-panel {
    padding:31px 32px;
    border-color:#d9d0c6;
    background:#f8f5f1;
    box-shadow:0 18px 50px rgba(53,45,38,.045);
}

.home-category-actions {
    display:flex;
    flex-wrap:wrap;
    gap:9px 22px;
    align-items:center;
}

.home-category-actions .text-link {
    font-size:.75rem;
}

.intro-section > h2 {
    max-width:790px;
    margin-top:10px;
    font-size:clamp(2.2rem,4vw,3.8rem);
    line-height:1.04;
    font-weight:300;
    letter-spacing:-.04em;
}

.feature-grid {
    margin-top:42px;
}

.feature-card {
    min-height:245px;
    padding:29px;
    border-color:#dfd8d0;
}

.feature-number {
    display:inline-flex;
    margin-bottom:38px;
    color:#907b66;
    font-size:.67rem;
    font-weight:600;
    letter-spacing:.12em;
}

.home-tool-strip {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin-top:32px;
    padding:27px 30px;
    border:1px solid #d9d1c8;
    background:#f4efe9;
}

.home-tool-strip > div:first-child {
    display:flex;
    flex-direction:column;
    gap:5px;
}

.home-tool-strip span {
    color:#837362;
    font-size:.59rem;
    font-weight:600;
    letter-spacing:.13em;
}

.home-tool-strip strong {
    color:#302b27;
    font-size:1rem;
    font-weight:500;
}

.home-tool-strip-actions {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
}

.home-catalog-count {
    max-width:560px;
    margin:10px 0 0;
    color:#7c746d;
    font-size:.82rem;
}


@media (max-width:1080px) {

    .top .primary-nav,
    .primary-nav-categories {
        gap:14px;
    }

    .top .primary-nav a {
        font-size:.7rem;
    }
}


@media (max-width:760px) {

    /*
     * Preserve the site's existing compact mobile-header
     * behaviour. Primary navigation is provided prominently
     * through the homepage content.
     */

    .top .primary-nav {
        display:none;
    }

    .hero {
        padding-top:48px;
        padding-bottom:55px;
        gap:35px;
    }

    .hero h1 {
        font-size:clamp(2.75rem,13vw,4.2rem);
    }

    .hero .decision-panel {
        padding:25px 22px;
    }

    .feature-card {
        min-height:0;
    }

    .feature-number {
        margin-bottom:23px;
    }

    .home-tool-strip {
        align-items:flex-start;
        flex-direction:column;
        padding:23px;
    }

    .home-tool-strip-actions {
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }

    .home-tool-strip-actions .btn {
        width:100%;
        text-align:center;
    }
}


@media (max-width:460px) {

    .home-hero-actions {
        align-items:stretch;
        flex-direction:column;
    }

    .home-hero-actions .btn {
        width:100%;
        text-align:center;
    }

    .home-hero-secondary {
        align-self:flex-start;
    }

    .home-category-actions {
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }
}

