/* Senzero Pet — product-first storefront, October 2026. */
.contact-email { margin-top:24px; font-size:13px; overflow-wrap:anywhere; }
.contact-email a { text-decoration:underline; text-underline-offset:4px; }
.quote-panel .contact-email a { color:#fff; }
:root { --paper:#faf9f6; --surface:#fff; --ink:#292d27; --muted:#6a6c62; --line:#dedfd6; --brand:#aa4e28; --brand-dark:#81381b; --max-width:1320px; --radius-xl:8px; --radius-lg:6px; --radius-md:4px; --shadow:none; }
body { background:var(--paper); font-family:"Segoe UI",Arial,sans-serif; font-size:16px; }
.container { width:min(calc(100% - 80px),var(--max-width)); }
.announcement { padding:8px 20px; background:#3f493b; font-size:11px; text-transform:none; letter-spacing:.07em; color:#fff; }
.site-header { background:rgba(250,249,246,.97); backdrop-filter:blur(12px); }
.nav-wrap { min-height:84px; }
.brand { gap:16px; align-items:center; }
.brand-mark { font-size:35px; letter-spacing:-.055em; color:var(--brand); }
.brand-tag { font-size:10px; border-left:1px solid #cccdc3; padding-left:15px; letter-spacing:.17em; }
.nav-links { gap:28px; font-size:13px; color:var(--ink); }
.button { border-radius:3px; min-height:48px; padding:12px 23px; font-size:13px; font-weight:600; letter-spacing:.015em; box-shadow:none; }
.button:hover { transform:none; box-shadow:none; }
.button.small { min-height:41px; font-size:12px; padding-inline:18px; }
.button.secondary { background:transparent; border-color:#b5b9ad; }
.quiet-link { display:inline-block; font-size:13px; font-weight:600; padding-block:8px; border-bottom:1px solid currentColor; text-underline-offset:5px; }
.quiet-link:hover { color:var(--brand); }
.overline,.eyebrow { font-size:10px; letter-spacing:.17em; line-height:1.5; text-transform:uppercase; color:var(--brand-dark); font-weight:650; margin:0 0 20px; }
.eyebrow::before { display:none; }
h1,h2,h3 { letter-spacing:-.035em; }
h2 { font-size:clamp(29px,3.1vw,43px); line-height:1.15; }
h3 { font-size:21px; line-height:1.25; font-weight:500; }
.lead { font-size:16px; line-height:1.8; color:var(--muted); }
.section { padding-block:80px; }
.section.compact { padding-top:20px; }
.section.light { background:#f0f0e9; }
.section.dark { background:#3f493b; }
.section.dark .overline { color:#e3bf9d; }
.section.dark .lead { color:#e2e4dc; }
.section-heading { gap:48px; margin-bottom:36px; }
.shop-hero { background:#eeeae2; }
.shop-hero-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:56px; align-items:center; padding-block:32px; }
.shop-hero-grid > * { min-width:0; }
.shop-hero-copy { padding:20px 0; }
.shop-hero h1 { font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:clamp(40px,4.6vw,66px); line-height:1.08; margin:0 0 24px; }
.shop-hero h1 em,.bedding-story h2 em { font-weight:400; color:#68745c; }
.shop-hero-copy > p:not(.overline) { max-width:380px; font-size:15px; line-height:1.85; color:#62665a; }
.hero-actions { align-items:center; gap:22px; margin-top:30px; }
.hero-footnote { display:flex; align-items:center; gap:12px; margin-top:44px; color:#686d60; font-size:11px; }
.small-rule { width:32px; height:1px; background:#9b9e92; }
.shop-hero-image { margin:0; }
.shop-hero-image img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.shop-hero-image figcaption { display:flex; justify-content:space-between; gap:15px; padding-top:13px; font-size:11px; color:#555e4e; }
.shop-hero-image figcaption a { font-weight:600; }
.promise-strip { border-bottom:1px solid var(--line); background:var(--paper); }
.promise-strip .container { display:flex; justify-content:space-around; padding-block:22px; gap:20px; }
.promise-strip span { font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
.shop-section-head { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:35px; }
.shop-section-head h2 { margin:0; }
.shop-section-head p:not(.overline) { font-size:13px; line-height:1.8; color:var(--muted); margin:0; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.catalog-card { min-width:0; }
.catalog-image { position:relative; display:block; overflow:hidden; background:#eae8e0; }
.catalog-image img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; transition:filter .25s; }
.catalog-image:hover img { filter:brightness(1.04); }
.catalog-card > .collection-heading { margin:0 0 18px; color:var(--ink); font-size:clamp(18px,1.8vw,23px); font-weight:600; line-height:1.3; letter-spacing:-.025em; }
.catalog-card:first-child > .collection-heading { color:var(--brand); }
.image-arrow { position:absolute; bottom:20px; right:20px; width:40px; height:40px; border-radius:50%; background:#faf9f1; display:grid; place-items:center; font-size:20px; }
.catalog-meta { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:10px; letter-spacing:.04em; margin:20px 0 10px; }
.catalog-card h3 { font-size:27px; margin:0 0 10px; }
.catalog-card > p { color:var(--muted); margin:0; font-size:14px; }
.catalog-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:20px; border-top:1px solid var(--line); padding-top:12px; }
.catalog-bottom .quiet-link { border:0; }
.catalog-inquiry { border:1px solid #b3b6aa; padding:7px 16px; font-size:12px; }
.catalog-inquiry:hover { background:#eeeee6; }
.image-disclaimer { font-size:11px; color:var(--muted); margin:24px 0 0; max-width:95ch; }
.bedding-story { background:#e9ece3; padding-block:80px; }
.story-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.bedding-story h2 { font-size:clamp(40px,4.5vw,62px); margin-bottom:30px; }
.story-intro { font-family:Georgia,serif; font-size:27px; line-height:1.4; margin:0 0 20px; }
.story-body > p:not(.story-intro) { font-size:14px; color:#5d6556; line-height:1.85; max-width:62ch; }
.story-details { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:30px; padding-top:24px; border-top:1px solid #c4cabc; }
.story-details span { color:#6e775f; font-size:11px; }
.story-details h3 { font-size:15px; margin:14px 0 8px; font-weight:600; }
.story-details p { font-size:12px; line-height:1.7; margin:0; color:#5d6556; }
.project-steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.project-steps article { padding:28px 28px 0 0; }
.project-steps article + article { border-left:1px solid var(--line); padding-left:28px; }
.project-steps span { font-size:10px; color:#797e6d; letter-spacing:.06em; text-transform:uppercase; }
.project-steps h3 { margin:20px 0 12px; font-size:22px; }
.project-steps p { color:var(--muted); font-size:14px; max-width:31ch; }
.faq-list { gap:0; border-top:1px solid var(--line); }
.faq-list details { border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.faq-list summary { padding:20px 0; font-size:14px; font-weight:500; }
.faq-list details p { padding:0 30px 20px 0; font-size:14px; max-width:90ch; }
#faq { background:#f2f2ec; }
.quote-panel { border-radius:0; background:#3f493b; padding:48px; gap:56px; grid-template-columns:.8fr 1.2fr; }
.quote-panel h2 { font-size:39px; }
.quote-panel .overline { color:#e2bd9d; }
.quote-panel > div > p:not(.overline) { font-size:13px; line-height:1.85; }
.quote-panel .field input,.quote-panel .field select,.quote-panel .field textarea,.quote-result textarea { border-radius:2px; font-size:13px; background:#fff; color:var(--ink); }
.field label { font-size:11px; }
.quote-panel .button.secondary { color:#fff; border-color:#a5ad9c; }
.quote-panel .button.secondary:hover { background:#53604a; }
.quote-panel .button { background:#c5663c; }
.quote-panel .button:hover { background:#a94c27; }
.quote-panel .button.secondary { background:transparent; }
.inquiry-template { font-size:12px; }
.site-footer { background:#f0eee6; color:var(--ink); padding-block:54px 26px; }
.footer-grid p,.footer-grid a:not(.brand),.footer-copy,.footer-links { color:#606657; font-size:13px; }
.footer-grid a:not(.brand):hover { color:var(--brand); }
.footer-bottom { border-color:#d5d7cb; color:#6a7160; font-size:10px; margin-top:35px; }
.footer-title { color:var(--ink)!important; font-size:10px!important; }
.page-hero { padding-block:35px 60px; }
.page-hero h1 { font-size:clamp(36px,4vw,55px); }
.page-hero-media,.proof-image,.info-card,.article-aside,.article-cta { box-shadow:none; border-radius:4px; }
.info-card { padding:25px; }
.info-card p { font-size:14px; }
.article-hero { padding-block:60px; }
.article-hero h1 { font-size:clamp(36px,4.5vw,60px); }
.article-body h2 { font-size:34px; }
.article-layout { gap:48px; }
.product-showcase { padding-block:26px 64px; }
.product-showcase .breadcrumbs { margin-bottom:25px; font-size:11px; }
.product-detail-grid { display:grid; grid-template-columns:1.2fr 1fr; align-items:start; gap:60px; }
.product-detail-grid > * { min-width:0; }
.product-gallery { margin:0; }
.gallery-main { display:block; width:100%; padding:0; border:0; background:#efeee7; cursor:zoom-in; position:relative; }
.gallery-main img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.zoom-label { position:absolute; bottom:15px; right:15px; background:#faf9f2; color:#30382a; padding:9px 13px; font-size:11px; }
.product-gallery figcaption { color:var(--muted); font-size:11px; margin-top:13px; line-height:1.6; }
.gallery-thumbs { display:flex; gap:10px; margin-top:12px; }
.gallery-thumb { padding:4px; background:transparent; border:1px solid #c4c8bc; cursor:pointer; width:77px; }
.gallery-thumb[aria-pressed="true"] { border:2px solid var(--brand); padding:3px; }
.gallery-thumb img { width:100%; height:65px; object-fit:contain; }
.product-info { padding-top:10px; }
.product-info h1 { font-family:Georgia,serif; font-size:clamp(34px,3.5vw,48px); line-height:1.1; margin:0 0 20px; }
.product-info .lead { font-size:15px; }
.product-facts { margin:24px 0; border-top:1px solid var(--line); }
.product-facts > div { display:grid; grid-template-columns:115px 1fr; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); font-size:12px; }
.product-facts dt { color:var(--muted); }
.product-facts dd { margin:0; }
.product-info .cta-row { gap:10px; margin-top:24px; }
.product-info .cta-row .button { flex:1; text-align:center; }
.product-smallprint { font-size:11px; color:var(--muted); line-height:1.7; margin-top:17px; }
.core-picker { border:0; padding:0; margin:24px 0; }
.core-picker legend { font-size:12px; margin-bottom:12px; font-weight:600; }
.core-options { display:flex; flex-wrap:wrap; gap:8px; }
.core-option { position:relative; cursor:pointer; }
.core-option input { position:absolute; opacity:0; width:1px; height:1px; }
.core-option span { display:block; border:1px solid #b9bfb0; padding:9px 12px; font-size:11px; }
.core-option input:checked + span { border-color:#3f493b; background:#3f493b; color:white; }
.core-option input:focus-visible + span { outline:3px solid var(--brand); outline-offset:3px; }
.image-dialog { width:min(92vw,1000px); max-height:94svh; border:0; padding:40px 16px 16px; background:#faf9f6; }
.image-dialog::backdrop { background:rgba(25,29,24,.8); }
.image-dialog img { width:100%; height:calc(90svh - 70px); object-fit:contain; }
.dialog-close { position:absolute; right:12px; top:7px; border:0; background:transparent; padding:7px 12px; cursor:pointer; font-size:14px; }
@media(min-width:1600px) { .shop-hero-grid { padding-block:40px; } }
@media(max-width:1050px) {
 .container { width:calc(100% - 48px); }
 .brand-tag { display:none; }
 .nav-links { gap:18px; }
 .shop-hero-grid { gap:30px; }
 .shop-hero h1 { font-size:45px; }
 .hero-actions { gap:15px; }
 .story-grid,.product-detail-grid { gap:35px; }
 .quote-panel { gap:32px; padding:35px; }
}
@media(max-width:900px) {
 .nav-links { border-radius:3px; }
 .section-heading { gap:16px; }
 .quote-panel { grid-template-columns:1fr; }
 .shop-hero h1 { font-size:38px; }
 .hero-footnote { margin-top:24px; }
 .story-grid { grid-template-columns:1fr; }
 .product-detail-grid { gap:25px; grid-template-columns:1fr 1fr; }
 .product-info h1 { font-size:34px; }
 .product-facts > div { grid-template-columns:95px 1fr; gap:10px; }
}
@media(max-width:620px) {
 .container { width:calc(100% - 36px); }
 .nav-wrap { min-height:66px; }
 .brand-mark { font-size:31px; }
 .brand-tag { display:block; font-size:8px; padding-left:10px; }
 .announcement { font-size:10px; padding:7px 12px; letter-spacing:.025em; }
 .nav-toggle { border:0; font-size:22px; }
 .section { padding-block:48px; }
 .shop-hero-grid { grid-template-columns:1fr; gap:20px; padding-block:28px 22px; }
 .shop-hero-copy { padding:0; }
 .shop-hero h1 { font-size:40px; margin-bottom:14px; }
 .shop-hero .overline { margin-bottom:14px; font-size:9px; }
 .shop-hero-copy > p:not(.overline) { font-size:13px; line-height:1.75; margin-bottom:0; }
 .hero-actions { margin-top:20px; gap:15px; }
 .hero-actions .button { font-size:12px; padding:11px 15px; }
 .hero-actions .quiet-link { font-size:11px; }
 .hero-footnote { display:none; }
 .shop-hero-image figcaption { font-size:10px; }
 .promise-strip .container { gap:12px; padding-block:17px; }
 .promise-strip span { font-size:8px; letter-spacing:.03em; text-align:center; flex:1; }
 .shop-section-head { display:block; margin-bottom:24px; }
 .shop-section-head > p,.shop-section-head > a { margin-top:17px; }
 .shop-section-head h2 { font-size:31px; }
 .catalog-grid { grid-template-columns:1fr; gap:34px; }
 .catalog-card h3 { font-size:25px; }
 .catalog-image .image-arrow { display:none; }
 .catalog-meta { margin-top:15px; font-size:9px; }
 .catalog-card > p { font-size:13px; }
  .catalog-card > .collection-heading { font-size:22px; margin-bottom:14px; }
 .image-disclaimer { font-size:10px; }
 .bedding-story { padding-block:45px; }
 .bedding-story h2 { font-size:44px; margin-bottom:15px; }
 .story-grid { gap:30px; }
 .story-intro { font-size:24px; }
 .story-details { gap:14px; }
 .story-details h3 { font-size:13px; }
 .story-details p { font-size:11px; }
 .project-steps { grid-template-columns:1fr; }
 .project-steps article,.project-steps article + article { border-left:0; border-bottom:1px solid var(--line); padding:22px 0; }
 .project-steps h3 { margin-top:12px; }
 .project-steps p { max-width:none; margin-bottom:0; }
 .quote-panel { width:100%; padding:30px 18px; }
 .quote-panel h2 { font-size:34px; }
 .faq-list summary { font-size:13px; }
 .faq-list details p { font-size:13px; }
 .product-detail-grid { grid-template-columns:1fr; gap:27px; }
 .product-showcase { padding-top:20px; padding-bottom:40px; }
 .product-info { padding-top:0; }
 .product-info h1 { font-size:35px; }
 .product-info .overline { margin-bottom:12px; }
 .product-info .cta-row .button { flex:1 1 auto; }
 .page-hero { padding-block:30px; }
 .article-hero h1 { font-size:37px; }
 .site-footer { padding-top:40px; }
}
