:root {
  --navy: #243956;
  --cacao: #43342d;
  --ivory: #fdf6e4;
  --sky: #bcd7de;
  --white: #fffdf8;
  --ink: #24303f;
  --line: rgba(36,57,86,.18);
  --serif: "Sorts Mill Goudy", Georgia, "Times New Roman", serif;
  --sans: "Graphie", "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { min-width: 320px; margin: 0; overflow-x: hidden; color: var(--ink); background: var(--white); font-family: var(--sans); font-size: 16px; line-height: 1.55; }
img { display: block; width: 100%; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
a,button { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.skip { position: fixed; left: 1rem; top: -5rem; z-index: 1000; background: white; padding: .8rem 1rem; }
.skip:focus { top: 1rem; }
.utility-bar { min-height: 34px; display: flex; justify-content: center; gap: 2.2rem; align-items: center; background: var(--navy); color: var(--ivory); padding: .35rem 5vw; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.utility-bar a { border-bottom: 1px solid rgba(253,246,228,.45); }
.site-header { height: 86px; display: grid; grid-template-columns: 180px 1fr auto; align-items: center; gap: 2rem; padding: 0 5vw; background: rgba(255,253,248,.96); border-bottom: 1px solid rgba(36,57,86,.09); position: relative; z-index: 30; }
.brand img { width: 156px; max-height: 48px; }
.site-header nav { display: flex; justify-content: center; gap: clamp(1rem,2.3vw,2.6rem); font-size: .79rem; letter-spacing: .06em; text-transform: uppercase; }
.site-header nav a, footer nav a { position: relative; }
.site-header nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-.45rem; height:1px; background:var(--navy); transition:.25s ease; }
.site-header nav a:hover:after, .site-header nav a:focus-visible:after { right:0; }
.header-cta { border: 1px solid var(--navy); padding: .65rem 1.15rem; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; transition:.2s; }
.header-cta:hover { background:var(--navy); color:white; }
.menu-button { display:none; min-width:48px; min-height:48px; padding:.5rem; background:transparent; border:0; color:var(--navy); text-transform:uppercase; letter-spacing:.08em; cursor:pointer; }
.hero { min-height: calc(100svh - 120px); position: relative; overflow: hidden; color: white; display: flex; align-items: center; }
.hero-image, .hero-shade { position:absolute; inset:0; height:100%; object-fit:cover; }
.hero-image { object-position:center 55%; transform:scale(1.01); }
.hero-shade { background: linear-gradient(90deg,rgba(20,27,37,.7) 0%,rgba(20,27,37,.42) 38%,rgba(20,27,37,.03) 72%), linear-gradient(0deg,rgba(25,31,38,.26),transparent 40%); }
.hero-content { position:relative; z-index:2; width:min(640px,86vw); margin-left:8vw; padding:7rem 0; }
.eyebrow { margin:0 0 1.2rem; font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow.navy { color:var(--navy); }
.eyebrow.sky { color:var(--sky); }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:1.35rem; font-family:var(--serif); font-size:clamp(3.4rem,7vw,7.2rem); font-weight:400; line-height:.88; letter-spacing:-.045em; }
.hero-content>p:not(.eyebrow) { max-width:540px; font-size:clamp(1.05rem,1.45vw,1.32rem); line-height:1.6; }
.hero-actions { display:flex; align-items:center; gap:1.7rem; margin-top:2.2rem; flex-wrap:wrap; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:.8rem 1.4rem; border:1px solid transparent; text-transform:uppercase; letter-spacing:.09em; font-size:.75rem; font-weight:700; transition:.25s ease; }
.button-light { background:var(--ivory); color:var(--navy); }
.button-light:hover { background:white; transform:translateY(-2px); }
.button-sky { background:var(--sky); color:var(--navy); }
.button-sky:hover { background:#cde5ea; }
.text-link { display:inline-flex; align-items:center; gap:.55rem; padding-bottom:.2rem; border-bottom:1px solid currentColor; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; }
.text-link span { transition:.2s; }
.text-link:hover span { transform:translateX(.25rem); }
.text-link.light { color:white; }
.hero-product { position:absolute; right:5vw; bottom:2.3rem; z-index:2; display:flex; flex-direction:column; align-items:flex-end; text-shadow:0 1px 12px rgba(0,0,0,.25); }
.hero-product span { text-transform:uppercase; font-size:.72rem; letter-spacing:.12em; }
.hero-product strong { font-family:var(--serif); font-size:1.3rem; font-weight:400; }
.trust-strip { display:grid; grid-template-columns:repeat(4,1fr); background:var(--ivory); border-bottom:1px solid var(--line); }
.trust-strip div { padding:1.4rem 2vw; text-align:center; border-right:1px solid var(--line); }
.trust-strip div:last-child { border-right:0; }
.trust-strip strong, .trust-strip span { display:block; }
.trust-strip strong { color:var(--navy); font-size:.8rem; letter-spacing:.07em; text-transform:uppercase; }
.trust-strip span { color:#66625d; font-size:.77rem; margin-top:.2rem; }
.section { padding:clamp(5rem,9vw,9rem) 6vw; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:3.2rem; }
.section-heading>div { max-width:760px; }
h2 { font-family:var(--serif); font-size:clamp(2.6rem,5vw,5rem); font-weight:400; line-height:1.02; letter-spacing:-.035em; color:var(--navy); margin-bottom:1.2rem; }
.category-grid { display:grid; grid-template-columns:1.35fr 1fr; grid-template-rows:repeat(2,minmax(260px,36vw)); gap:1rem; }
.category-card { position:relative; overflow:hidden; min-height:280px; background:#d8d3cb; }
.category-large { grid-row:1 / 3; }
.category-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.category-card:hover img { transform:scale(1.025); }
.card-overlay { position:absolute; inset:auto 0 0; color:white; padding:3rem 2rem 1.6rem; background:linear-gradient(transparent,rgba(16,21,28,.7)); }
.card-overlay p { margin:0; font-family:var(--serif); font-size:clamp(1.7rem,3vw,2.8rem); }
.card-overlay span { font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.product-row { margin-top:6rem; display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.2rem,4vw,4rem); }
.product-card { border-top:1px solid var(--navy); padding-top:1rem; }
.product-image { background:#f4f1eb; aspect-ratio:1.45; overflow:hidden; }
.product-image img { height:100%; object-fit:contain; transition:.45s; mix-blend-mode:multiply; }
.product-card:hover .product-image img { transform:scale(1.02); }
.product-copy { display:flex; justify-content:space-between; gap:1rem; padding:1.2rem 0 .8rem; }
.product-copy h3 { margin:0; font-family:var(--serif); color:var(--navy); font-size:1.7rem; font-weight:400; }
.product-copy p { margin:0; color:#6d6964; font-size:.85rem; }
.product-copy strong { white-space:nowrap; font-weight:600; font-size:.95rem; }
.product-card>a { display:flex; justify-content:space-between; padding:.75rem 0; border-top:1px solid var(--line); text-transform:uppercase; letter-spacing:.07em; font-size:.75rem; }
.price-note { color:#77716b; font-size:.75rem; margin-top:1.2rem; }
.custom-section { display:grid; grid-template-columns:1fr 1.05fr; background:var(--navy); color:white; }
.custom-intro { padding:clamp(4rem,8vw,8rem); align-self:center; }
.custom-intro h2 { color:white; max-width:650px; }
.custom-intro>p:not(.eyebrow) { max-width:570px; color:#e1e7ed; font-size:1.05rem; }
.steps { list-style:none; margin:0; padding:clamp(3rem,6vw,6rem); background:#1e314b; }
.steps li { display:grid; grid-template-columns:70px 1fr; gap:1rem; padding:1.9rem 0; border-bottom:1px solid rgba(255,255,255,.17); }
.steps li:last-child { border-bottom:0; }
.steps>li>span { font-family:var(--serif); color:var(--sky); font-size:2rem; }
.steps h3 { margin:0 0 .25rem; font-family:var(--serif); font-size:1.55rem; font-weight:400; }
.steps p { margin:0; color:#cbd6e1; max-width:480px; }
.quality { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(3rem,7vw,8rem); align-items:center; }
.quality-image-wrap { position:relative; }
.quality-image-wrap img { aspect-ratio:4/5; object-fit:cover; }
.quality-seal { position:absolute; right:-2.2rem; bottom:3rem; width:112px; height:112px; border-radius:50%; display:grid; place-content:center; text-align:center; background:var(--sky); color:var(--navy); border:8px solid var(--white); text-transform:uppercase; letter-spacing:.08em; font-size:.68rem; font-weight:700; }
.quality-copy>p:not(.eyebrow) { color:#625e59; font-size:1.04rem; }
.quality-copy ul { list-style:none; padding:0; margin:2rem 0 0; }
.quality-copy li { display:grid; grid-template-columns:minmax(150px,.7fr) 1.3fr; gap:1rem; padding:1rem 0; border-top:1px solid var(--line); }
.quality-copy li strong { color:var(--navy); }
.quality-copy li span { color:#6c6862; }
.story { position:relative; min-height:620px; display:flex; align-items:center; justify-content:flex-end; overflow:hidden; background:var(--cacao); color:var(--ivory); padding:8vw; }
.story-number { position:absolute; left:-1vw; bottom:-8vw; color:rgba(253,246,228,.07); font-family:var(--serif); font-size:clamp(15rem,35vw,38rem); line-height:.8; letter-spacing:-.08em; }
.story-copy { position:relative; z-index:1; max-width:660px; }
.story-copy h2 { color:var(--ivory); }
.story-copy>p:not(.eyebrow) { font-size:1.08rem; color:#eee4d6; }
.visit { display:grid; grid-template-columns:.9fr 1.1fr; padding:0; min-height:650px; background:var(--navy); }
.visit-card { color:white; padding:clamp(4rem,8vw,8rem); }
.visit-card h2 { color:white; }
.visit-card address { font-style:normal; font-size:1.08rem; color:#e0e7ee; }
.visit-details { display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding:2rem 0; margin-top:2rem; border-top:1px solid rgba(255,255,255,.2); }
.visit-details span { display:block; color:var(--sky); text-transform:uppercase; letter-spacing:.1em; font-size:.7rem; margin-bottom:.5rem; }
.visit-details a { border-bottom:1px solid rgba(255,255,255,.45); }
.visit-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.5rem; }
.visit-visual { position:relative; overflow:hidden; min-height:500px; background:var(--ivory); }
.map-lines { position:absolute; inset:-15%; opacity:.45; background-image:linear-gradient(28deg,transparent 48%,var(--sky) 49%,var(--sky) 51%,transparent 52%),linear-gradient(102deg,transparent 48%,rgba(36,57,86,.35) 49%,rgba(36,57,86,.35) 51%,transparent 52%); background-size:160px 110px,220px 180px; transform:rotate(-8deg); }
.map-pin { position:absolute; left:52%; top:46%; display:flex; flex-direction:column; color:var(--navy); }
.map-pin span { width:34px; height:34px; margin-left:20px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--cacao); border:8px solid white; box-shadow:0 5px 20px rgba(0,0,0,.18); }
.map-pin strong { margin-top:1rem; font-family:var(--serif); font-size:1.8rem; font-weight:400; }
.map-pin small { font-size:.78rem; }
footer { background:#17283f; color:white; padding:4rem 6vw 2rem; display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:start; }
footer img { width:170px; }
footer>p { font-family:var(--serif); font-size:1.5rem; color:var(--sky); justify-self:end; }
footer nav { display:flex; gap:1.5rem; flex-wrap:wrap; font-size:.75rem; letter-spacing:.07em; text-transform:uppercase; }
footer small { justify-self:end; color:#9facba; }
.whatsapp-float { position:fixed; right:1.2rem; bottom:1.2rem; z-index:40; height:52px; display:flex; align-items:center; gap:.6rem; padding:0 1rem; border-radius:28px; background:#fff; color:var(--navy); box-shadow:0 5px 24px rgba(16,31,49,.22); font-size:.78rem; font-weight:700; letter-spacing:.04em; }
.whatsapp-float svg { width:24px; fill:#1f9d65; }
.site-header nav a.active { font-weight:700; }
.site-header nav a.active:after { right:0; }
.button-navy { background:var(--navy); color:white; }
.button-navy:hover { background:#172b45; transform:translateY(-2px); }
.button.full { width:100%; }
.home-feature { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,8vw,9rem); align-items:center; }
.feature-copy>p:not(.eyebrow) { color:#645f59; max-width:570px; font-size:1.05rem; }
.feature-image { position:relative; overflow:hidden; }
.feature-image img { aspect-ratio:4/5; object-fit:cover; transition:.5s; }
.feature-image:hover img { transform:scale(1.02); }
.feature-image span { position:absolute; right:0; bottom:0; padding:1rem 1.4rem; background:var(--ivory); color:var(--navy); text-transform:uppercase; letter-spacing:.07em; font-size:.74rem; }
.home-custom { display:grid; grid-template-columns:1fr 1fr; background:var(--navy); color:white; padding:clamp(4rem,8vw,8rem); gap:6vw; }
.home-custom h2 { color:white; }
.home-custom>div>p:not(.eyebrow) { color:#d8e1e9; }
.home-custom ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; }
.home-custom li { min-height:130px; display:flex; flex-direction:column; justify-content:space-between; border-top:1px solid rgba(255,255,255,.22); padding:1rem 0; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; }
.home-custom li:nth-child(odd) { padding-right:1.5rem; border-right:1px solid rgba(255,255,255,.22); }
.home-custom li:nth-child(even) { padding-left:1.5rem; }
.home-custom b { color:var(--sky); font-family:var(--serif); font-size:2rem; font-weight:400; }
.home-story { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:clamp(3rem,8vw,9rem); }
.home-story img { aspect-ratio:4/3; object-fit:cover; }
.home-story>div>p:not(.eyebrow) { color:#625e58; font-size:1.06rem; }
.split-links { display:flex; gap:1.5rem; flex-wrap:wrap; margin-top:2rem; }
.home-visit { min-height:530px; display:grid; place-items:center; text-align:center; padding:5rem 6vw; color:white; background:linear-gradient(rgba(26,42,62,.8),rgba(26,42,62,.8)),url('/assets/hero-amici.jpg') center 58%/cover; }
.home-visit h2 { color:white; }
.page-hero { min-height:440px; display:flex; align-items:center; padding:clamp(5rem,11vw,10rem) 8vw; background:var(--ivory); }
.page-hero>div { max-width:900px; }
.page-hero h1,.history-hero h1,.detail-info h1,.visit-page h1 { font-family:var(--serif); font-weight:400; color:var(--navy); font-size:clamp(3.4rem,7vw,7rem); line-height:.94; letter-spacing:-.045em; margin-bottom:1.4rem; }
.page-hero>div>p:not(.eyebrow) { max-width:650px; color:#655f59; font-size:1.15rem; }
.page-hero.compact-hero { min-height:390px; }
.page-hero.image-page { min-height:680px; position:relative; color:white; background:#222; overflow:hidden; }
.page-hero.image-page img { position:absolute; inset:0; height:100%; object-fit:cover; }
.page-hero.image-page:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(25,33,44,.75),rgba(25,33,44,.12)); }
.page-hero.image-page>div { position:relative; z-index:2; max-width:720px; }
.page-hero.image-page h1 { color:white; }
.page-hero.image-page>div>p:not(.eyebrow) { color:white; }
.category-nav { position:sticky; top:0; z-index:20; display:flex; justify-content:center; gap:2.4rem; overflow:auto; padding:1rem 5vw; background:rgba(255,253,248,.97); border-block:1px solid var(--line); text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; }
.catalog-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:3rem; }
.catalog-heading>div { max-width:760px; }
.catalog-heading>p { color:#6b6660; }
.catalog-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(1.5rem,4vw,4rem); }
.catalog-grid.compact { grid-template-columns:repeat(3,1fr); }
.catalog-card { border-top:1px solid var(--navy); padding-top:1rem; }
.catalog-card img { aspect-ratio:4/3; object-fit:cover; background:#f3f0ea; }
.catalog-card>div,.catalog-card>a>div { padding:1.2rem 0; }
.catalog-card h3 { font-family:var(--serif); color:var(--navy); font-size:2rem; font-weight:400; margin:0; }
.catalog-card p { color:#6d6862; }
.catalog-card a:not(:has(img)),.catalog-card span { color:var(--navy); text-transform:uppercase; letter-spacing:.07em; font-size:.74rem; }
.catalog-card.text-card { background:var(--ivory); min-height:100%; padding:2rem; border:0; display:flex; align-items:center; }
.catalog-card.text-card>div { padding:0; }
.catalog-band { display:grid; grid-template-columns:1.15fr .85fr; background:var(--navy); color:white; }
.catalog-band img { height:100%; min-height:600px; object-fit:cover; }
.catalog-band>div { padding:clamp(4rem,7vw,8rem); align-self:center; }
.catalog-band h2 { color:white; }
.process-page { background:var(--white); }
.process-page article { display:grid; grid-template-columns:1fr 2.5fr; gap:3rem; padding:clamp(4rem,8vw,8rem) 8vw; border-bottom:1px solid var(--line); }
.process-page article:nth-child(even) { background:var(--ivory); }
.process-page article>span { color:var(--sky); font-family:var(--serif); font-size:clamp(6rem,15vw,14rem); line-height:.8; }
.process-page article>div { max-width:760px; }
.process-page article>div>p:not(.eyebrow) { color:#625d57; font-size:1.08rem; }
.cta-panel { text-align:center; padding:clamp(5rem,10vw,10rem) 7vw; background:var(--navy); color:white; }
.cta-panel h2 { color:white; }
.cta-panel>p:not(.eyebrow) { max-width:650px; margin:0 auto 2rem; color:#d8e1e9; }
.cta-panel.ivory { background:var(--ivory); color:var(--ink); }
.cta-panel.ivory h2 { color:var(--navy); }
.cta-panel.ivory>p:not(.eyebrow) { color:#625e58; }
.quality-editorial { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:clamp(3rem,8vw,9rem); padding:7vw; }
.quality-editorial img { aspect-ratio:4/3; object-fit:cover; }
.quality-editorial>div>p:not(.eyebrow) { color:#625d57; font-size:1.08rem; }
.material-grid { display:grid; grid-template-columns:1fr 1fr; background:var(--ivory); }
.material-grid article { min-height:360px; padding:clamp(3rem,6vw,6rem); border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.material-grid span { color:var(--sky); font-family:var(--serif); font-size:4rem; }
.material-grid h2 { font-size:2.2rem; }
.material-grid p { color:#625d57; }
.history-hero { min-height:650px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:flex-end; padding:8vw; color:white; background:var(--cacao); }
.history-hero>span { position:absolute; left:-1vw; bottom:-4vw; color:rgba(253,246,228,.08); font-family:var(--serif); font-size:clamp(16rem,38vw,40rem); line-height:.75; }
.history-hero>div { position:relative; z-index:1; max-width:700px; }
.history-hero h1 { color:white; }
.history-copy { display:grid; grid-template-columns:1fr 1fr; gap:7vw; padding:clamp(5rem,10vw,10rem) 8vw; }
.history-copy>div:last-child { color:#5f5a54; font-size:1.1rem; }
.history-image { position:relative; }
.history-image img { height:min(70vw,780px); object-fit:cover; }
.history-image>div { position:relative; display:inline-flex; flex-direction:column; width:33.333%; padding:2rem 4vw; background:var(--ivory); border-right:1px solid var(--line); }
.history-image strong { font-family:var(--serif); color:var(--navy); font-size:3rem; font-weight:400; }
.history-image span { text-transform:uppercase; letter-spacing:.07em; font-size:.72rem; }
.warranty-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); }
.warranty-grid article { padding:clamp(4rem,8vw,8rem); background:var(--white); }
.warranty-grid h2 { font-size:2.8rem; }
.warranty-grid li { margin-bottom:1rem; color:#5f5a54; }
.claim-process { padding:clamp(5rem,9vw,9rem) 8vw; background:var(--navy); color:white; }
.claim-process h2 { color:white; }
.claim-process ol { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); padding:0; margin:3rem 0; }
.claim-process li { padding:2rem; border-top:1px solid rgba(255,255,255,.25); border-right:1px solid rgba(255,255,255,.25); }
.claim-process li span { font-family:var(--serif); color:var(--sky); font-size:2rem; }
.legal-note { margin:0; padding:2rem 8vw; background:var(--ivory); color:#6d6862; font-size:.82rem; text-align:center; }
.breadcrumbs { padding:1.2rem 6vw; color:#756f68; font-size:.78rem; border-bottom:1px solid var(--line); }
.breadcrumbs span { margin:0 .6rem; }
.product-detail { display:grid; grid-template-columns:1.2fr .8fr; gap:5vw; padding:4vw 6vw 8vw; }
.detail-gallery { display:grid; gap:1rem; }
.detail-gallery img { aspect-ratio:4/3; object-fit:cover; }
.detail-info { position:sticky; top:2rem; align-self:start; padding-top:2rem; }
.detail-info h1 { margin-bottom:1rem; }
.detail-lead { color:#625d57; font-size:1.05rem; }
.detail-price { display:flex; flex-direction:column; padding:1.5rem 0; border-block:1px solid var(--line); }
.detail-price span,.detail-price small { color:#746e67; }
.detail-price strong { color:var(--navy); font-family:var(--serif); font-size:2.1rem; font-weight:400; }
.options { padding:2rem 0; }
.options h2 { font-size:1.8rem; }
.options>div { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 0; border-top:1px solid var(--line); font-size:.88rem; }
.visit-inline { display:block; text-align:center; padding:1rem; color:var(--navy); }
.detail-next { text-align:center; padding:7rem 6vw; background:var(--ivory); }
.detail-next p { max-width:600px; margin-left:auto; margin-right:auto; }
.visit-page { display:grid; grid-template-columns:.9fr 1.1fr; min-height:760px; background:var(--navy); color:white; }
.visit-main { padding:clamp(4rem,8vw,8rem); align-self:center; }
.visit-page h1 { color:white; }
.visit-lead { color:#d5dfe8; font-size:1.1rem; }
.visit-main address { margin:2rem 0; font-style:normal; font-size:1.12rem; }
.visit-main dl { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.22); padding-top:1.5rem; }
.visit-main dt { color:var(--sky); text-transform:uppercase; letter-spacing:.08em; font-size:.7rem; }
.visit-main dd { margin:.5rem 0; }
.visit-photo { position:relative; }
.visit-photo>img { height:100%; object-fit:cover; }
.map-card { position:absolute; left:2rem; bottom:2rem; display:flex; flex-direction:column; min-width:240px; padding:1.2rem; background:var(--ivory); color:var(--navy); box-shadow:0 8px 30px rgba(0,0,0,.2); }
.map-card .pin { width:14px; height:14px; border-radius:50%; background:var(--cacao); margin-bottom:.6rem; }
.visit-prep { display:grid; grid-template-columns:1fr 1fr; gap:6vw; padding:6rem 8vw; align-items:center; }
.visit-prep>p { color:#615c56; font-size:1.1rem; }
.reviews-section { padding:clamp(5rem,9vw,9rem) 6vw; background:var(--ivory); }
.reviews-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:3rem; }
.reviews-heading>div { max-width:720px; }
.google-rating { display:flex; align-items:center; gap:1rem; padding:1rem 1.2rem; border:1px solid var(--line); background:var(--white); }
.google-rating strong { font-family:var(--serif); color:var(--navy); font-size:2.8rem; font-weight:400; line-height:1; }
.google-rating span { color:#6a645d; font-size:.76rem; line-height:1.55; }
.google-rating span::first-line { color:#d99b16; letter-spacing:.12em; }
.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:2rem; }
.review-grid blockquote { margin:0; min-height:230px; display:flex; flex-direction:column; justify-content:space-between; padding:2rem; background:var(--white); border-top:2px solid var(--navy); }
.review-grid p { font-family:var(--serif); color:var(--navy); font-size:1.55rem; line-height:1.35; }
.review-grid cite { color:#77716a; font-style:normal; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; }
.collection-head { padding:clamp(5rem,9vw,9rem) 6vw 3rem; text-align:center; background:var(--ivory); }
.collection-head h1 { font-family:var(--serif); color:var(--navy); font-size:clamp(4rem,9vw,8.5rem); line-height:.85; font-weight:400; letter-spacing:-.05em; margin-bottom:1.5rem; }
.collection-head>p:not(.eyebrow) { color:#655f58; font-size:1.05rem; }
.filter-bar { position:sticky; top:0; z-index:20; display:flex; justify-content:center; gap:.5rem; overflow:auto; padding:1rem 4vw; background:rgba(255,253,248,.97); border-block:1px solid var(--line); }
.filter-button { flex:0 0 auto; padding:.65rem 1rem; border:1px solid var(--line); background:transparent; color:var(--navy); cursor:pointer; text-transform:uppercase; letter-spacing:.07em; font-size:.7rem; }
.filter-button.active,.filter-button:hover { color:white; background:var(--navy); border-color:var(--navy); }
.collection-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:var(--line); }
.collection-card { min-width:0; background:var(--white); }
.collection-card[hidden] { display:none; }
.collection-card>a { display:block; height:100%; }
.collection-card img { aspect-ratio:4/3; object-fit:cover; transition:.45s ease; }
.collection-card:hover img { transform:scale(1.015); }
.collection-card>div,.collection-card>a>div { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:1.2rem 1.35rem 1.5rem; }
.collection-card>a>div>div { min-width:0; }
.collection-card h2 { margin:0; color:var(--navy); font-size:1.65rem; }
.collection-card p { margin:0; color:#6e6861; font-size:.8rem; text-align:right; }
.collection-card span { color:var(--navy); font-size:.7rem; text-transform:uppercase; }
.collection-note { padding:1rem 4vw 4rem; text-align:center; background:var(--white); }
.collection-detail-hero { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr); gap:clamp(2.5rem,6vw,7rem); align-items:start; padding:4vw 6vw 7vw; }
.collection-hero-media { overflow:hidden; background:#ece8df; }
.collection-hero-media img { aspect-ratio:4/3; object-fit:cover; }
.collection-hero-copy { position:sticky; top:2rem; padding-top:1.5rem; }
.collection-hero-copy h1 { margin-bottom:1rem; font-family:var(--serif); color:var(--navy); font-size:clamp(3.8rem,7vw,7rem); font-weight:400; line-height:.92; letter-spacing:-.045em; }
.collection-hero-copy>p:not(.eyebrow):not(.price-note) { color:#625d57; font-size:1.05rem; }
.collection-type-pills { display:flex; flex-wrap:wrap; gap:.45rem; margin:1.7rem 0; }
.collection-type-pills span { padding:.45rem .7rem; border:1px solid var(--line); color:var(--navy); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; }
.collection-starting-price { display:flex; flex-direction:column; gap:.2rem; margin:1.5rem 0; padding:1.25rem 0; border-block:1px solid var(--line); }
.collection-starting-price span { color:#756f68; font-size:.75rem; letter-spacing:.05em; text-transform:uppercase; }
.collection-starting-price strong { color:var(--navy); font-family:var(--serif); font-size:2rem; font-weight:400; }
.product-gallery-section { padding:clamp(5rem,9vw,9rem) 6vw; background:var(--ivory); }
.product-gallery-heading { max-width:780px; margin-bottom:2.5rem; }
.product-gallery-heading>p:not(.eyebrow) { color:#625d57; font-size:1.05rem; }
.gallery-filter-bar { display:flex; gap:.5rem; overflow-x:auto; margin:0 0 2rem; padding:0 0 .75rem; scrollbar-width:none; scroll-snap-type:x proximity; }
.gallery-filter-bar::-webkit-scrollbar { display:none; }
.gallery-filter-button { flex:0 0 auto; min-height:44px; padding:.65rem 1rem; border:1px solid var(--line); background:var(--white); color:var(--navy); cursor:pointer; font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; scroll-snap-align:start; }
.gallery-filter-button.active,.gallery-filter-button:hover { border-color:var(--navy); background:var(--navy); color:white; }
.product-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.product-photo { margin:0; min-width:0; background:var(--white); }
.product-photo[hidden] { display:none; }
.product-photo-button { display:block; width:100%; padding:0; border:0; overflow:hidden; background:#f1eee7; cursor:zoom-in; }
.product-photo img { aspect-ratio:4/3; object-fit:contain; transition:transform .45s ease; }
.product-photo[data-gallery-types~="ambientes"] img { object-fit:cover; }
.product-photo-button:hover img { transform:scale(1.018); }
.product-photo figcaption { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:1rem 1.2rem 1.2rem; }
.product-photo figcaption strong { color:var(--navy); font-family:var(--serif); font-size:1.35rem; font-weight:400; }
.product-photo figcaption span { color:#77716a; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }
.image-viewer { width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:clamp(3.5rem,6vw,5rem) clamp(1rem,4vw,4rem) clamp(1rem,3vw,2rem); border:0; background:transparent; box-shadow:none; overflow:hidden; }
.image-viewer::backdrop { background:rgba(15,25,38,.82); }
.image-viewer img { display:block; width:100%; height:calc(100dvh - 7.5rem); max-height:none; object-fit:contain; }
.image-viewer p { position:absolute; bottom:1rem; left:50%; margin:0; padding:.5rem .85rem; color:#fff; background:rgba(15,25,38,.68); text-align:center; transform:translateX(-50%); }
.image-viewer-close { position:absolute; z-index:2; top:.75rem; right:1rem; min-width:74px; min-height:40px; border:1px solid rgba(255,255,255,.55); background:rgba(15,25,38,.7); color:#fff; cursor:pointer; text-transform:uppercase; letter-spacing:.07em; font-size:.72rem; }
.image-viewer.cutout-viewer { background:#e9e4db; }
.image-viewer.cutout-viewer::backdrop { background:#e9e4db; }
.image-viewer.cutout-viewer img { mix-blend-mode:multiply; }
@media (max-width: 900px) {
  body.menu-open { overflow:hidden; }
  .site-header { position:sticky; top:0; z-index:100; grid-template-columns:1fr auto; height:72px; gap:1rem; padding-inline:max(5vw,1rem); }
  .brand img { width:138px; }
  .menu-button { display:block; }
  .site-header nav { display:none; position:absolute; top:100%; left:0; right:0; max-height:calc(100dvh - 72px); overflow-y:auto; padding:1rem max(6vw,1.25rem) calc(2rem + env(safe-area-inset-bottom)); background:var(--white); box-shadow:0 18px 32px rgba(24,39,59,.18); flex-direction:column; gap:0; overscroll-behavior:contain; }
  .site-header nav.open { display:flex; }
  .site-header nav a { display:flex; align-items:center; min-height:54px; border-bottom:1px solid var(--line); font-size:.88rem; }
  .site-header nav a:last-child { border-bottom:0; }
  .site-header nav a:after { display:none; }
  .header-cta { display:none; }
  .hero { min-height:76svh; align-items:flex-end; }
  .hero-content { margin-left:6vw; padding:5rem 0 7rem; }
  .hero-image { object-position:60% center; }
  .hero-product { left:6vw; right:auto; bottom:1.5rem; align-items:flex-start; }
  .trust-strip { grid-template-columns:1fr 1fr; }
  .trust-strip div:nth-child(2) { border-right:0; }
  .category-grid { grid-template-columns:1fr; grid-template-rows:none; }
  .category-large { grid-row:auto; }
  .category-card { aspect-ratio:4/3; }
  .product-row,.custom-section,.quality,.visit { grid-template-columns:1fr; }
  .quality-image-wrap { max-width:680px; }
  .visit-visual { min-height:450px; }
  .home-feature,.home-story,.home-custom,.catalog-band,.quality-editorial,.history-copy,.product-detail,.visit-page { grid-template-columns:1fr; }
  .catalog-grid.compact { grid-template-columns:1fr 1fr; }
  .catalog-band img { min-height:450px; }
  .detail-info { position:static; padding-top:1rem; }
  .visit-photo { min-height:520px; }
  .collection-grid { grid-template-columns:1fr 1fr; }
  .review-grid { grid-template-columns:1fr; }
  .filter-bar,.category-nav { top:72px; justify-content:flex-start; scrollbar-width:none; }
  .filter-bar::-webkit-scrollbar,.category-nav::-webkit-scrollbar { display:none; }
  .detail-gallery { display:flex; gap:.75rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; }
  .detail-gallery::-webkit-scrollbar { display:none; }
  .detail-gallery img { flex:0 0 88%; scroll-snap-align:center; }
  .whatsapp-float span { display:none; }
  .whatsapp-float { width:56px; padding:0; justify-content:center; }
  .collection-detail-hero { grid-template-columns:1fr; padding:3rem 5vw 6rem; }
  .collection-hero-copy { position:static; padding-top:0; }
}
@media (max-width: 600px) {
  .utility-bar { justify-content:center; gap:.8rem; font-size:.68rem; }
  .utility-bar span { display:none; }
  .site-header { padding-inline:1rem; }
  .brand img { width:132px; }
  h1 { font-size:clamp(2.8rem,14vw,4.25rem); line-height:.92; }
  h2 { font-size:clamp(2.35rem,11vw,3.4rem); line-height:1; }
  .eyebrow { margin-bottom:.9rem; font-size:.76rem; line-height:1.45; }
  .section { padding:4.5rem max(5vw,1.1rem); }
  .hero { min-height:calc(100svh - 106px); max-height:760px; }
  .hero-content { width:auto; margin-inline:max(6vw,1.25rem); padding:4rem 0 3.5rem; }
  .hero-content>p:not(.eyebrow) { max-width:100%; font-size:1rem; line-height:1.55; }
  .hero-image { object-position:66% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(18,26,37,.82) 0%,rgba(18,26,37,.52) 48%,rgba(18,26,37,.08) 78%),linear-gradient(90deg,rgba(18,26,37,.42),transparent 75%); }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:1rem; }
  .hero-actions .button,.visit-actions .button,.cta-panel .button,.home-visit .button { width:100%; max-width:380px; }
  .trust-strip { grid-template-columns:1fr; }
  .trust-strip div { padding:1.15rem 1rem; border-right:0; border-bottom:1px solid var(--line); }
  .trust-strip strong { font-size:.82rem; line-height:1.35; }
  .trust-strip span { font-size:.8rem; }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .category-card { aspect-ratio:1/1.05; }
  .product-row { margin-top:4rem; }
  .product-copy { flex-direction:column; gap:.2rem; }
  .custom-intro,.steps,.visit-card { padding:4rem max(6vw,1.25rem); }
  .steps li { grid-template-columns:52px 1fr; }
  .quality-seal { right:-.5rem; bottom:1rem; }
  .quality-copy li { grid-template-columns:1fr; gap:.2rem; }
  .story { min-height:680px; padding:5rem 6vw; align-items:flex-start; }
  .story-number { bottom:1rem; }
  .visit-details { grid-template-columns:1fr; }
  .visit-actions { align-items:flex-start; flex-direction:column; }
  footer { grid-template-columns:1fr; padding:3.5rem max(6vw,1.25rem) calc(6rem + env(safe-area-inset-bottom)); }
  footer>p,footer small { justify-self:start; }
  footer nav { flex-direction:column; gap:0; width:100%; }
  footer nav a { display:flex; align-items:center; min-height:46px; border-bottom:1px solid rgba(255,255,255,.14); }
  .whatsapp-float span { display:none; }
  .whatsapp-float { right:1rem; bottom:max(1rem,env(safe-area-inset-bottom)); width:56px; height:56px; padding:0; justify-content:center; }
  .page-hero { min-height:340px; padding:4rem max(6vw,1.25rem); }
  .page-hero h1,.history-hero h1,.detail-info h1,.visit-page h1 { font-size:clamp(2.7rem,13vw,4rem); line-height:.98; }
  .page-hero>div>p:not(.eyebrow) { font-size:1rem; }
  .page-hero.image-page { min-height:560px; }
  .category-nav { justify-content:flex-start; gap:1.3rem; padding-inline:1rem; scrollbar-width:none; scroll-snap-type:x proximity; }
  .category-nav::-webkit-scrollbar,.filter-bar::-webkit-scrollbar { display:none; }
  .category-nav a { display:flex; align-items:center; min-height:44px; flex:0 0 auto; scroll-snap-align:start; }
  .catalog-grid,.catalog-grid.compact,.material-grid,.warranty-grid,.history-copy,.visit-prep { grid-template-columns:1fr; }
  .catalog-heading { align-items:flex-start; flex-direction:column; }
  .process-page article { grid-template-columns:1fr; gap:1.5rem; padding:4rem max(6vw,1.25rem); }
  .process-page article>span { font-size:6rem; }
  .claim-process ol { grid-template-columns:1fr; }
  .claim-process li { padding:1.5rem 0; border-right:0; }
  .history-image>div { width:100%; border-bottom:1px solid var(--line); }
  .history-hero { min-height:560px; padding:5rem max(6vw,1.25rem); align-items:flex-start; }
  .history-copy { padding:4.5rem max(6vw,1.25rem); }
  .history-image img { height:min(68svh,560px); }
  .product-detail { gap:2rem; padding:1rem max(5vw,1.1rem) 5rem; }
  .detail-gallery { gap:.65rem; }
  .options>div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:.75rem; }
  .options>div span { text-align:right; }
  .detail-next { padding:5rem max(6vw,1.25rem); }
  .visit-main dl { grid-template-columns:1fr; gap:1rem; }
  .visit-main { padding:4.5rem max(6vw,1.25rem); }
  .visit-photo { min-height:400px; }
  .map-card { left:1rem; right:1rem; bottom:1rem; min-width:0; }
  .visit-prep { padding:4.5rem max(6vw,1.25rem); }
  .reviews-heading { align-items:flex-start; flex-direction:column; }
  .reviews-section { padding:4.5rem max(5vw,1.1rem); }
  .google-rating { width:100%; }
  .review-grid blockquote { min-height:0; gap:2rem; padding:1.5rem; }
  .collection-grid { grid-template-columns:1fr; }
  .collection-head { padding:4.5rem max(5vw,1.1rem) 2.5rem; }
  .collection-head h1 { font-size:clamp(3.2rem,17vw,5rem); }
  .filter-bar { justify-content:flex-start; padding:.75rem 1rem; scrollbar-width:none; scroll-snap-type:x proximity; }
  .filter-button { min-height:44px; padding:.7rem 1rem; font-size:.76rem; scroll-snap-align:start; }
  .collection-card>div,.collection-card>a>div { align-items:flex-start; flex-direction:column; gap:.25rem; }
  .collection-card p { text-align:left; }
  .collection-detail-hero { gap:2rem; padding:1rem max(5vw,1.1rem) 5rem; }
  .collection-hero-copy h1 { font-size:clamp(3rem,15vw,4.5rem); }
  .collection-type-pills { margin:1.25rem 0; }
  .product-gallery-section { padding:4.5rem max(5vw,1.1rem); }
  .product-photo-grid { grid-template-columns:1fr; }
  .product-photo figcaption { align-items:flex-start; flex-direction:column; gap:.1rem; }
  .image-viewer { width:100vw; padding:3.5rem .35rem .75rem; }
  .image-viewer img { height:calc(100dvh - 5rem); }
  .home-feature,.home-story { gap:2.5rem; }
  .home-custom { gap:3rem; padding:4.5rem max(6vw,1.25rem); }
  .home-custom li { min-height:110px; }
  .home-visit { min-height:580px; padding:5rem max(6vw,1.25rem); }
  .home-visit p { max-width:560px; margin-left:auto; margin-right:auto; }
  .material-grid article,.warranty-grid article { min-height:0; padding:3.5rem max(6vw,1.25rem); }
  .quality-editorial { gap:2.5rem; padding:4.5rem max(6vw,1.25rem); }
  .breadcrumbs { overflow-x:auto; white-space:nowrap; padding:1rem max(5vw,1.1rem); scrollbar-width:none; }
}
@media (max-width: 380px) {
  h1 { font-size:2.65rem; }
  .page-hero h1,.history-hero h1,.detail-info h1,.visit-page h1 { font-size:2.55rem; }
  .home-custom ol { grid-template-columns:1fr; }
  .home-custom li:nth-child(odd),.home-custom li:nth-child(even) { padding:1rem 0; border-right:0; }
  .options>div { grid-template-columns:1fr; }
  .options>div span { text-align:left; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; }
}

[hidden] { display:none!important; }
.filter-status { min-height:1.4rem; margin:.7rem max(4vw,2rem) 0; color:var(--muted); font-size:.86rem; }
.collection-options-section { padding:6rem max(5vw,2rem); background:#f5f1ea; border-top:1px solid var(--line); }
.option-card-grid,.configuration-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; margin-top:2.2rem; }
.option-card,.configuration-card { min-width:0; overflow:hidden; background:#fff; border:1px solid rgba(29,39,52,.13); }
.option-card-image { display:block; width:100%; padding:0; border:0; background:#eee9e1; cursor:zoom-in; }
.option-card img,.configuration-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; padding:.75rem; background:#f2efe9; }
.option-card-copy,.configuration-card>div { display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; padding:1.15rem; }
.option-card h3,.configuration-card h3 { margin:0; color:var(--navy); font:600 1.02rem/1.25 var(--sans); }
.option-card strong,.configuration-card strong { margin-top:.35rem; color:var(--navy); font-size:1.08rem; }
.option-whatsapp { width:100%; margin-top:auto; padding:.85rem 1rem; color:#fff; background:#287b55; text-align:center; font-size:.73rem; font-weight:700; letter-spacing:.06em; line-height:1.2; text-transform:uppercase; }
.option-code { color:var(--muted); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.reference-image-note { color:var(--muted); font-size:.7rem; }
.configuration-details { margin-top:2.5rem; border-top:1px solid var(--line); }
.configuration-details>summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:64px; color:var(--navy); font-weight:700; cursor:pointer; list-style:none; }
.configuration-details>summary::-webkit-details-marker { display:none; }
.configuration-details>summary::after { content:"+"; font-size:1.6rem; font-weight:400; }
.configuration-details[open]>summary::after { content:"−"; }
.configuration-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:.5rem; }
.configuration-card p { margin:.2rem 0 0; color:var(--muted); font-size:.78rem; line-height:1.45; }
@media (max-width: 1050px) {
  .option-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .configuration-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .collection-options-section { padding:4.5rem max(5vw,1.1rem); }
  .option-card-grid,.configuration-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .option-card-copy,.configuration-card>div { padding:.9rem; }
  .option-card h3,.configuration-card h3 { font-size:.9rem; }
  .configuration-card p { display:none; }
}
@media (max-width: 420px) {
  .option-card-grid,.configuration-card-grid { grid-template-columns:1fr; }
}

/* Retail-first home */
.button-outline { border-color:var(--navy); color:var(--navy); background:transparent; }
.button-outline:hover { color:white; background:var(--navy); }
.retail-hero { display:grid; grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr); min-height:720px; background:#f7f1e7; }
.retail-hero-copy { order:2; display:flex; flex-direction:column; justify-content:center; padding:clamp(4rem,7vw,7rem) clamp(2rem,4vw,4.5rem); }
.retail-hero h1 { color:var(--navy); font-size:clamp(3.7rem,6.3vw,7rem); line-height:.91; }
.retail-hero h1 em { color:#8b5e45; font-weight:400; }
.retail-hero-lead { max-width:550px; color:#5e5a55; font-size:1.13rem; }
.retail-hero-actions { display:flex; gap:.8rem; flex-wrap:wrap; margin:1rem 0 2rem; }
.store-now { display:flex; gap:.75rem; align-items:center; padding-top:1.25rem; border-top:1px solid var(--line); }
.store-now>span { width:10px; height:10px; border-radius:50%; background:#3b7c56; box-shadow:0 0 0 5px rgba(59,124,86,.11); }
.store-now strong,.store-now small { display:block; }
.store-now strong { color:var(--navy); font-size:.85rem; }
.store-now small { color:#706a63; font-size:.76rem; }
.retail-hero-visual { order:1; position:relative; min-height:720px; overflow:hidden; }
.retail-hero-visual>img { height:100%; object-fit:cover; }
.hero-price-card { position:absolute; left:2rem; bottom:2rem; display:flex; flex-direction:column; width:min(340px,calc(100% - 4rem)); padding:1.25rem 1.4rem; background:rgba(255,253,248,.95); box-shadow:0 10px 30px rgba(25,34,45,.15); }
.hero-price-card span,.hero-price-card small { text-transform:uppercase; letter-spacing:.08em; font-size:.7rem; }
.hero-price-card strong { margin:.2rem 0 .55rem; color:var(--navy); font-family:var(--serif); font-size:1.35rem; font-weight:400; }
.retail-proof { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); background:white; }
.retail-proof div { padding:1.35rem 2vw; border-right:1px solid var(--line); }
.retail-proof div:last-child { border:0; }
.retail-proof b,.retail-proof span { display:block; }
.retail-proof b { color:var(--navy); font-size:.8rem; text-transform:uppercase; letter-spacing:.07em; }
.retail-proof span { margin-top:.25rem; color:#6b655e; font-size:.78rem; }
.shop-section,.featured-retail,.custom-retail,.quality-retail { padding:clamp(5rem,9vw,8rem) 6vw; }
.retail-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:2.6rem; }
.retail-section-heading h2 { margin-bottom:0; }
.retail-section-heading>p { max-width:430px; margin:0; color:#67615b; }
.shop-category-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; grid-template-rows:repeat(2,290px); gap:1rem; }
.shop-category-grid>a { position:relative; overflow:hidden; }
.shop-category-grid>a:first-child { grid-row:1/3; }
.shop-category-grid>a:nth-child(2) { grid-column:2/4; }
.shop-category-grid img { height:100%; object-fit:cover; transition:.5s ease; }
.shop-category-grid a:hover img { transform:scale(1.025); }
.shop-category-grid a>div { position:absolute; inset:auto 0 0; padding:3rem 1.5rem 1.3rem; color:white; background:linear-gradient(transparent,rgba(17,25,36,.78)); }
.shop-category-grid h3 { margin:0; font-family:var(--serif); font-size:2rem; font-weight:400; }
.shop-category-grid span { font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.featured-retail { background:#f5f1ea; }
.featured-product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.featured-product-grid>a { background:white; border:1px solid rgba(36,57,86,.1); }
.featured-product-grid img { aspect-ratio:4/3; object-fit:cover; }
.featured-product-grid>a>div { display:flex; flex-direction:column; padding:1.15rem; }
.featured-product-grid span,.featured-product-grid small { color:#6f6962; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.featured-product-grid h3 { margin:.15rem 0; color:var(--navy); font-family:var(--serif); font-size:1.75rem; font-weight:400; }
.featured-product-grid strong { margin-bottom:.8rem; color:var(--navy); font-size:.88rem; }
.retail-price-note { text-align:right; }
.store-conversion { display:grid; grid-template-columns:1.05fr .95fr; min-height:610px; background:var(--navy); color:white; }
.store-conversion-copy { padding:clamp(4rem,8vw,8rem); }
.store-conversion h2 { max-width:720px; color:white; }
.store-conversion-copy>p:not(.eyebrow) { max-width:650px; color:#dce4eb; font-size:1.05rem; }
.store-conversion dl { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin:2.5rem 0; padding-block:1.5rem; border-block:1px solid rgba(255,255,255,.2); }
.store-conversion dt { margin-bottom:.4rem; color:var(--sky); font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.store-conversion dd { margin:0; color:#eef2f5; }
.store-cta-row { display:flex; flex-wrap:wrap; gap:1.4rem; align-items:center; }
.store-map-card { position:relative; display:flex; flex-direction:column; justify-content:center; padding:clamp(3rem,7vw,7rem); overflow:hidden; color:var(--navy); background-color:#edf1ee; background-image:linear-gradient(31deg,transparent 47%,rgba(188,215,222,.75) 48%,rgba(188,215,222,.75) 50%,transparent 51%),linear-gradient(108deg,transparent 47%,rgba(36,57,86,.12) 48%,rgba(36,57,86,.12) 50%,transparent 51%); background-size:150px 110px,210px 170px; }
.store-map-card>* { position:relative; z-index:1; }
.store-map-card p { margin:.8rem 0 .2rem; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.store-map-card strong { font-family:var(--serif); font-size:clamp(2rem,4vw,3.5rem); font-weight:400; }
.store-map-card small { margin:.4rem 0 1.5rem; }
.store-map-card a { width:max-content; padding-bottom:.2rem; border-bottom:1px solid; font-size:.74rem; text-transform:uppercase; letter-spacing:.07em; }
.map-dot { width:30px; height:30px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:#8b5e45; border:7px solid white; box-shadow:0 6px 18px rgba(0,0,0,.16); }
.custom-retail { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:start; }
.custom-retail>div>p:not(.eyebrow) { color:#655f59; max-width:530px; }
.custom-retail ol { list-style:none; margin:0; padding:0; }
.custom-retail li { display:grid; grid-template-columns:62px 1fr; gap:1rem; padding:1.15rem 0; border-top:1px solid var(--line); }
.custom-retail li>span { color:#8b5e45; font-family:var(--serif); font-size:1.65rem; }
.custom-retail b,.custom-retail small { display:block; }
.custom-retail b { color:var(--navy); }
.custom-retail small { margin-top:.2rem; color:#6a645d; font-size:.82rem; }
.retail-reviews { background:#f5f1ea; }
.quality-retail { display:grid; grid-template-columns:1.15fr .85fr; gap:7vw; align-items:center; }
.quality-retail img { aspect-ratio:4/3; object-fit:cover; }
.quality-retail>div>p:not(.eyebrow) { color:#655f59; font-size:1.05rem; }
.mobile-store-bar { display:none; }
@media (max-width: 1000px) {
  .retail-hero { grid-template-columns:1fr; }
  .retail-hero-copy { min-height:470px; }
  .retail-hero-visual { min-height:620px; }
  .retail-proof { grid-template-columns:repeat(3,1fr); }
  .featured-product-grid { grid-template-columns:1fr 1fr; }
  .store-conversion,.custom-retail,.quality-retail { grid-template-columns:1fr; }
  .store-map-card { min-height:430px; }
}
@media (max-width: 700px) {
  .retail-utility { justify-content:space-between; gap:.7rem; font-size:.62rem; }
  .retail-utility>a:last-child { display:none; }
  .retail-hero-copy { min-height:auto; padding:4.5rem max(6vw,1.25rem); }
  .retail-hero h1 { font-size:clamp(3.2rem,14vw,4.4rem); }
  .retail-hero-actions { flex-direction:column; align-items:stretch; }
  .retail-hero-visual { min-height:430px; }
  .hero-price-card { left:1rem; bottom:1rem; width:calc(100% - 2rem); }
  .retail-proof { grid-template-columns:1fr; }
  .retail-proof div { border-right:0; border-bottom:1px solid var(--line); }
  .shop-section,.featured-retail,.custom-retail,.quality-retail { padding:4.5rem max(5vw,1.1rem); }
  .retail-section-heading { align-items:flex-start; flex-direction:column; }
  .shop-category-grid { grid-template-columns:1fr 1fr; grid-template-rows:330px 240px 240px; }
  .shop-category-grid>a:first-child { grid-column:1/3; grid-row:auto; }
  .shop-category-grid>a:nth-child(2) { grid-column:auto; }
  .featured-product-grid { gap:.75rem; }
  .featured-product-grid h3 { font-size:1.45rem; }
  .store-conversion-copy { padding:4.5rem max(6vw,1.25rem); }
  .store-conversion dl { grid-template-columns:1fr; gap:1.3rem; }
  .store-map-card { min-height:360px; padding:3rem max(6vw,1.25rem); }
  .custom-retail { gap:3rem; }
  .quality-retail { gap:2.5rem; }
  .retail-home footer { padding-bottom:7rem; }
  .retail-home .whatsapp-float { display:none; }
  .mobile-store-bar { position:fixed; z-index:60; inset:auto 0 0; display:grid; grid-template-columns:1fr 1fr; padding:0 1rem max(.65rem,env(safe-area-inset-bottom)); background:linear-gradient(transparent,rgba(255,255,255,.96) 36%); }
  .mobile-store-bar a { min-height:52px; display:grid; place-items:center; background:var(--navy); color:white; border-right:1px solid rgba(255,255,255,.25); text-transform:uppercase; letter-spacing:.07em; font-size:.72rem; font-weight:700; }
  .mobile-store-bar a:last-child { background:#287b55; border:0; }
}
@media (max-width: 440px) {
  .featured-product-grid { grid-template-columns:1fr; }
  .shop-category-grid { grid-template-columns:1fr; grid-template-rows:repeat(4,270px); }
  .shop-category-grid>a:first-child { grid-column:auto; }
}

/* Product catalog — category-first retail browsing */
.product-catalog-head { padding-bottom:clamp(2.5rem,5vw,4.5rem); }
.product-catalog-head h1 { max-width:1000px; margin-inline:auto; font-size:clamp(3.7rem,8vw,7.6rem); }
.product-catalog-head>p:not(.eyebrow) { max-width:720px; margin-inline:auto; }
.catalog-tabs { top:0; }
.catalog-results { padding:clamp(3.5rem,7vw,7rem) 5vw 1rem; background:#f8f5ef; }
.catalog-results-heading { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(300px,1.3fr); column-gap:clamp(2rem,7vw,7rem); align-items:end; max-width:1220px; margin:0 auto clamp(2.5rem,5vw,4.5rem); }
.catalog-results-heading .eyebrow { grid-column:1/-1; }
.catalog-results-heading h2 { margin:0; color:var(--navy); font-family:var(--serif); font-size:clamp(3rem,6vw,6rem); font-weight:400; line-height:.95; }
.catalog-results-heading>p:last-child { max-width:620px; margin:0 0 .5rem; color:#645e57; font-size:1rem; }
.catalog-product-grid { max-width:1440px; margin:0 auto; background:transparent; gap:clamp(1.2rem,2.5vw,2.5rem); padding:0; grid-template-columns:repeat(3,minmax(0,1fr)); }
.catalog-product-card { border:1px solid rgba(29,39,52,.12); background:#fff; transition:transform .25s ease,box-shadow .25s ease; }
.catalog-product-card:hover { transform:translateY(-3px); box-shadow:0 16px 42px rgba(24,31,40,.09); }
.collection-card.catalog-product-card>a { display:flex; flex-direction:column; }
.collection-card.catalog-product-card>a>.catalog-card-media { position:relative; display:block; padding:0; overflow:hidden; background:#ebe7df; }
.catalog-card-media>img:first-child { width:100%; aspect-ratio:4/3; }
.catalog-card-media.individual-media>img:first-child { object-fit:contain; padding:clamp(.6rem,2vw,1.25rem); background:#f2efe9; }
.catalog-card-media.sectional-media>img:first-child { object-fit:cover; }
.catalog-card-media.diagram>img:first-child { object-position:center 17%; }
.collection-card.catalog-product-card>a>.catalog-card-copy { display:flex; flex:1; flex-direction:column; align-items:flex-start; gap:.32rem; padding:1.25rem 1.35rem 1.45rem; }
.catalog-card-copy>span { color:#80634b; letter-spacing:.1em; }
.catalog-card-copy h2 { margin:.1rem 0 0; font-size:clamp(1.65rem,2.2vw,2.15rem); }
.catalog-card-copy p { margin:0; min-height:1.4em; color:#625d57; font-size:.86rem; text-align:left; }
.catalog-card-copy strong { margin-top:.55rem; color:var(--navy); font-size:1.08rem; }
.catalog-card-copy em { color:#716a63; font-size:.72rem; font-style:normal; }
.catalog-card-copy small { margin-top:auto; padding-top:1rem; color:var(--navy); font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.catalog-card-copy .catalog-dimensions { margin-top:.2rem; padding:0; color:#716a63; font-size:.76rem; font-weight:400; text-transform:none; letter-spacing:0; }
.option-dimensions { display:block; margin-top:.55rem; color:#68625b; font-size:.78rem; }

/* Final retail refinements: lead with product, reduce empty space, keep key store facts consistent. */
.retail-hero { grid-template-columns:minmax(0,1.48fr) minmax(320px,.52fr); min-height:680px; }
.retail-hero-visual { min-height:680px; }
.retail-hero-copy { padding:clamp(3rem,5vw,5rem) clamp(1.75rem,3.2vw,3.5rem); }
.retail-hero h1 { font-size:clamp(3.2rem,5.1vw,5.6rem); }
.shop-section,.featured-retail,.retail-reviews { padding-top:clamp(4rem,6vw,5.5rem); padding-bottom:clamp(4rem,6vw,5.5rem); }
.store-conversion { min-height:540px; }
.store-conversion-copy { padding:clamp(3.5rem,6vw,6rem); }
.product-catalog-head { min-height:auto; padding:clamp(1.6rem,2.7vw,2.4rem) 5vw clamp(1.4rem,2.2vw,2rem); }
.product-catalog-head h1 { font-size:clamp(2.5rem,4.5vw,4.1rem); line-height:.96; }
.product-catalog-head>p:not(.eyebrow) { margin-bottom:0; }
.catalog-results { padding-top:clamp(1.8rem,3vw,2.8rem); }
.catalog-results-heading { margin-bottom:clamp(1.5rem,2.5vw,2.2rem); }
.catalog-results-heading h2 { font-size:clamp(2.6rem,4vw,4.4rem); }

@media (max-width:1000px) {
  .retail-hero { grid-template-columns:1fr; }
  .retail-hero-visual { min-height:560px; }
  .retail-hero-copy { min-height:auto; }
}

@media (max-width:700px) {
  .utility-bar { gap:.65rem; padding-inline:.7rem; font-size:.55rem; letter-spacing:.04em; }
  .utility-bar span { display:inline; }
  .utility-bar a:last-child { display:none; }
  .retail-hero-visual { min-height:440px; }
  .retail-hero-copy { padding:3.3rem max(6vw,1.25rem); }
  .retail-hero h1 { font-size:clamp(3rem,13vw,4rem); }
  .shop-section,.featured-retail,.retail-reviews { padding:3.5rem max(5vw,1.1rem); }
  .product-catalog-head { padding:1.8rem 1.15rem 1.5rem; }
  .product-catalog-head h1 { font-size:clamp(2.45rem,10vw,3.35rem); }
  .catalog-results { padding-top:1.8rem; }
}
.catalog-card-placeholder { display:flex!important; flex-direction:column; align-items:center!important; justify-content:center!important; gap:.55rem!important; aspect-ratio:4/3; padding:2rem!important; text-align:center; background:linear-gradient(145deg,#ece7de,#f7f4ee); }
.catalog-card-placeholder span { color:var(--navy); font-family:var(--serif); font-size:2rem; text-transform:none; letter-spacing:0; }
.catalog-card-placeholder small { max-width:220px; color:#746d65; font-size:.78rem; line-height:1.45; }
.noscript-catalog { max-width:900px; margin:2rem auto; padding:1.5rem; }
.sectional-option-card { grid-column:span 2; max-width:760px; }

.verified-configurations-section { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(2rem,7vw,7rem); align-items:start; padding:clamp(5rem,9vw,8rem) max(5vw,2rem); background:#f5f1ea; border-top:1px solid var(--line); }
.verified-configurations-heading h2 { max-width:560px; }
.verified-configurations-heading>p:last-child { max-width:520px; color:var(--muted); }
.verified-configurations-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.verified-configuration-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:#fff; border:1px solid rgba(29,39,52,.13); }
.verified-configuration-card>button { min-height:260px; background:#ebe7df; }
.verified-configuration-card img { width:100%; height:100%; object-fit:cover; }
.verified-configuration-card.diagram img { object-fit:contain; padding:1rem; background:#f2efe9; }
.verified-configuration-card>div { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:1.35rem; }
.verified-configuration-card span,.verified-configuration-card small { color:#80634b; font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.verified-configuration-card h3 { margin:.55rem 0; color:var(--navy); font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.7rem); font-weight:400; line-height:1.05; }
.verified-configuration-card strong { margin:.6rem 0 1.4rem; color:var(--navy); font-size:1.45rem; }
.verified-configuration-card a { margin-top:auto; padding:.85rem 1rem; color:#fff; background:#287b55; font-size:.73rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }

@media (max-width: 900px) {
  .catalog-tabs { top:72px; }
  .catalog-results-heading { grid-template-columns:1fr; gap:1rem; }
  .catalog-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .verified-configurations-section { grid-template-columns:1fr; }
}

@media (max-width: 620px) {
  .catalog-results { padding-inline:1rem; }
  .catalog-results-heading { margin-bottom:2rem; }
  .catalog-product-grid { grid-template-columns:1fr; gap:1rem; }
  .catalog-product-card { border-radius:2px; overflow:hidden; }
  .collection-card.catalog-product-card>a>.catalog-card-copy { align-items:flex-start; }
  .catalog-card-copy p { text-align:left; }
  .sectional-option-card { grid-column:auto; }
  .verified-configurations-grid { grid-template-columns:1fr; }
  .verified-configuration-card>button { min-height:330px; }
}

/* September catalog and home refinements */
@media (min-width:1001px) {
  .retail-hero {
    height:clamp(560px,calc(100svh - 118px),760px);
    min-height:560px;
  }
  .retail-hero-copy,
  .retail-hero-visual {
    min-height:0;
    height:100%;
  }
  .retail-hero-visual>img {
    object-position:center 58%;
  }
}
@media (min-width:1001px) and (max-width:1400px) {
  .retail-hero-copy { padding:1.6rem clamp(1.5rem,2.5vw,2.4rem); }
  .retail-hero h1 { font-size:clamp(3rem,4.5vw,4.25rem); }
  .retail-hero-lead { margin:.75rem 0; font-size:1rem; }
  .retail-hero-actions { gap:.65rem; margin:.7rem 0 1.1rem; }
  .store-now { padding-top:.85rem; }
}

.featured-retail { padding-bottom:clamp(2rem,3.5vw,3rem); }
.retail-reviews { padding-top:clamp(2rem,3.5vw,3rem); }

.catalog-card-media.individual-media:not(.lifestyle-media),
.option-card-image { background:#ece7df; }
.catalog-card-media.individual-media:not(.lifestyle-media)>img:first-child,
.option-card:not(.sleeper-option-card) .option-card-image img {
  background:transparent;
  mix-blend-mode:multiply;
}
.catalog-card-media.lifestyle-media>img:first-child {
  object-fit:cover;
  padding:0;
}

.verified-configurations-section {
  display:block;
  padding:clamp(4rem,7vw,6rem) max(5vw,2rem);
}
.verified-configurations-heading {
  max-width:760px;
  margin-bottom:2.2rem;
}
.verified-configurations-heading h2 { max-width:none; }
.verified-configurations-heading>p:last-child { max-width:680px; }
.verified-configurations-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.25rem;
}
.verified-configuration-card>button {
  display:block;
  width:100%;
  min-height:0;
  aspect-ratio:4/3;
  padding:0;
  border:0;
  cursor:zoom-in;
}
.verified-configuration-card img { aspect-ratio:4/3; object-fit:cover; }
.verified-configuration-card>div { padding:1.15rem; }
.verified-configuration-card h3 {
  margin:.25rem 0 0;
  font:600 1.02rem/1.25 var(--sans);
}
.verified-configuration-card strong {
  margin:.45rem 0 .9rem;
  font-size:1.08rem;
}
.verified-configuration-card a { width:100%; text-align:center; }
.collection-options-section .product-gallery-heading h2,
.verified-configurations-heading h2 { white-space:nowrap; font-size:clamp(1.1rem,3.3vw,3rem); }

.warranty-hero {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:clamp(2rem,7vw,7rem);
  align-items:center;
  padding:clamp(4rem,8vw,7rem) max(5vw,2rem);
  background:linear-gradient(105deg,#f5f1ea 0 62%,#ded4c6 62% 100%);
}
.warranty-hero h1 { max-width:780px; margin:.4rem 0 1rem; }
.warranty-hero p:not(.eyebrow) { max-width:650px; color:var(--muted); font-size:1.05rem; }
.warranty-year-callout { color:var(--navy); font-family:var(--serif); font-size:clamp(3.6rem,7vw,7rem); font-weight:400; line-height:.88; text-align:center; }
.warranty-year-callout span { display:block; margin-top:1rem; color:#80634b; font:700 .76rem/1.4 var(--sans); letter-spacing:.12em; text-transform:uppercase; }

@media (max-width:1050px) {
  .verified-configurations-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .featured-retail { padding-bottom:2rem; }
  .retail-reviews { padding-top:2rem; }
  .verified-configurations-section { padding:4rem max(5vw,1.1rem); }
  .verified-configurations-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .verified-configuration-card>button { min-height:0; }
  .verified-configuration-card>div { padding:.9rem; }
  .verified-configuration-card h3 { font-size:.9rem; }
  .collection-options-section .product-gallery-heading h2,
  .verified-configurations-heading h2 { font-size:1rem; }
  .warranty-hero { grid-template-columns:1fr; background:linear-gradient(180deg,#f5f1ea 0 65%,#ded4c6 65% 100%); }
  .warranty-year-callout { padding-top:1rem; }
}
@media (max-width:420px) {
  .verified-configurations-grid { grid-template-columns:1fr; }
}

.reviews-page { background:#f7f3ec; }
.reviews-page-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:clamp(2rem,8vw,8rem);
  align-items:end;
  padding:clamp(4rem,8vw,7rem) max(5vw,2rem) clamp(3rem,6vw,5rem);
}
.reviews-page-hero .eyebrow { grid-column:1/-1; }
.reviews-page-hero h1 { max-width:950px; margin:0; color:var(--navy); font-size:clamp(3.4rem,7vw,7rem); line-height:.95; }
.reviews-page-hero>p:not(.eyebrow) { grid-column:1; max-width:680px; color:var(--muted); font-size:1.05rem; }
.reviews-page-rating { grid-column:2; grid-row:2/4; align-self:center; }
.reviews-page-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  padding:0 max(5vw,2rem) clamp(4rem,8vw,7rem);
}
.reviews-page-grid blockquote { display:flex; flex-direction:column; min-height:255px; margin:0; padding:1.75rem; background:#fff; border:1px solid rgba(29,39,52,.12); }
.reviews-page-grid blockquote p { color:var(--navy); font-family:var(--serif); font-size:1.35rem; line-height:1.35; }
.reviews-page-grid cite { margin-top:auto; color:var(--muted); font-size:.8rem; font-style:normal; }
.review-stars { color:#9a6a45; letter-spacing:.12em; }
.reviews-google-cta { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:clamp(3rem,6vw,5rem) max(5vw,2rem); color:#fff; background:var(--navy); }
.reviews-google-cta h2 { max-width:760px; margin-bottom:.5rem; color:#fff; }
.reviews-google-cta p:not(.eyebrow) { max-width:680px; color:#dce4eb; }
.reviews-google-cta .button { flex:none; }
@media (max-width:900px) {
  .reviews-page-hero { grid-template-columns:1fr; align-items:start; }
  .reviews-page-rating { grid-column:1; grid-row:auto; width:max-content; margin-top:1rem; }
  .reviews-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .reviews-page-hero { padding:3.5rem 1.1rem 2.5rem; }
  .reviews-page-hero h1 { font-size:clamp(3rem,14vw,4.5rem); }
  .reviews-page-grid { grid-template-columns:1fr; padding:0 1rem 4rem; }
  .reviews-page-grid blockquote { min-height:0; }
  .reviews-google-cta { align-items:flex-start; flex-direction:column; padding:3.5rem 1.15rem; }
}

.policy-page { background:#f7f3ec; }
.policy-hero { padding:clamp(4rem,8vw,7rem) max(5vw,2rem) clamp(3rem,6vw,5rem); }
.policy-hero h1 { max-width:900px; margin:.35rem 0 1rem; color:var(--navy); font-size:clamp(3.2rem,7vw,6.8rem); line-height:.96; }
.policy-hero>p:not(.eyebrow) { max-width:680px; color:var(--muted); font-size:1.08rem; }
.policy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:0 max(5vw,2rem) clamp(4rem,8vw,7rem); }
.policy-grid article { padding:clamp(1.8rem,4vw,3rem); background:#fff; border:1px solid rgba(29,39,52,.12); }
.policy-grid article>span { display:block; margin-bottom:2rem; color:#9a6a45; font-weight:700; letter-spacing:.12em; }
.policy-grid h2 { color:var(--navy); font-size:clamp(1.8rem,3vw,3rem); }
.policy-grid p { color:var(--muted); }
.policy-warranty,.warranty-policy-link { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:clamp(3rem,6vw,5rem) max(5vw,2rem); }
.policy-warranty { color:#fff; background:var(--navy); }
.policy-warranty h2 { margin:.35rem 0 .6rem; color:#fff; }
.policy-warranty p:not(.eyebrow) { color:#dce4eb; }
.policy-warranty .button,.warranty-policy-link .button { flex:none; }
.warranty-policy-link { background:#f5f1ea; }
.warranty-policy-link h2 { max-width:800px; margin:.35rem 0 0; }
@media (max-width:720px) {
  .policy-hero { padding:3.5rem 1.1rem 2.5rem; }
  .policy-grid { grid-template-columns:1fr; padding:0 1rem 4rem; }
  .policy-warranty,.warranty-policy-link { align-items:flex-start; flex-direction:column; padding:3.5rem 1.15rem; }
}
