:root{--navy:#0f2a44;--ink:#232625;--orange:#216c63;--orange-hover:#18564f;--muted:#606761;--line:#dedfdc;--soft:#f6f6f3;--space:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:48px}h2{font-size:32px}h3{font-size:24px}img,svg{max-width:100%}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--orange);outline-offset:4px;box-shadow:0 0 0 2px #fff}.wrap{width:calc(100% - 80px);max-width:1200px;margin-inline:auto;min-width:0}section[id],main[id]{scroll-margin-top:64px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-96px;left:16px;z-index:100;background:#fff;color:var(--ink);min-height:48px;padding:12px 16px}.skip-link:focus{top:8px}
.checklist-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;width:100%;min-height:44px;padding:8px 16px;border:0;background:var(--orange);color:#fff;text-align:center;font-size:14px;font-weight:700;line-height:1.4}.checklist-bar small{font:inherit}[data-checklist-unconfigured]{opacity:1;cursor:default}.site-header{background:var(--navy);color:#fff}.masthead{display:flex;align-items:center;gap:32px;min-height:96px}.brand{display:inline-flex;align-items:center;gap:8px;min-height:48px;font-size:24px;font-weight:750;line-height:1.2;white-space:nowrap}.brand svg{flex:none}.brand small{display:block;font-size:9px;letter-spacing:.1em;line-height:1.8;font-weight:400}.storefront-search{display:flex;align-items:center;gap:8px;min-height:48px;flex:1;min-width:0;background:#fff;color:var(--ink);border-radius:4px;overflow:hidden;padding-left:16px}.storefront-search>svg{flex:none;color:var(--muted)}.storefront-search input{width:100%;min-width:0;min-height:48px;padding:8px 0;border:0;background:transparent;font-size:16px}.storefront-search input:focus{outline:none;box-shadow:none}.storefront-search button{min-width:48px;min-height:48px;border:0;background:#fff;color:var(--ink);padding:8px 16px;font-weight:700;flex:none}.storefront-search #clear-model-search{padding:8px;font-size:24px}.storefront-search:focus-within{outline:3px solid #8bc1b4;outline-offset:4px}.masthead nav{display:flex;gap:24px}.masthead nav a{display:inline-flex;align-items:center;min-height:48px;white-space:nowrap;font-size:14px}.affiliate-disclosures{padding-block:8px;color:var(--muted);font-size:12px;line-height:1.5;border-bottom:1px solid var(--line)}
main{padding-block:24px 64px}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--muted)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:0 8px;align-items:center;margin-bottom:16px;color:var(--muted);font-size:12px;line-height:1.5}.breadcrumbs a{display:inline-flex;align-items:center;min-height:40px}.breadcrumbs [aria-current]{overflow-wrap:anywhere}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 16px;border:1px solid transparent;border-radius:4px;font-size:16px;font-weight:700;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere}.button:hover{text-decoration:none}.primary{background:var(--orange);color:#fff}.primary:hover{background:var(--orange-hover)}.secondary,.button-outline{background:#fff;color:var(--ink);border-color:#9caaa0}.secondary:hover,.button-outline:hover{background:var(--soft);border-color:var(--ink)}.button[data-checklist-unconfigured]{flex-wrap:wrap}.button[data-checklist-unconfigured] small{font-size:14px;font-weight:400}.trustmark-editorial{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #bfd7ce;border-radius:4px;background:#edf5f1;color:#245c50;font-size:11px;font-weight:750;line-height:1.4;letter-spacing:.08em;white-space:nowrap}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.section-heading .eyebrow{margin-bottom:8px}.section-heading>p{color:var(--muted);font-size:14px}
.storefront-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px;padding-block:16px 40px;border-bottom:1px solid var(--line)}.storefront-intro h1{margin-top:8px}.category-tile{display:flex;align-items:center;gap:16px;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--soft);min-height:112px}.category-tile:hover{border-color:var(--orange);text-decoration:none}.category-tile .category-icon{display:flex;align-items:center;justify-content:center;flex:none;width:56px;height:56px;border-radius:50%;background:#fff;color:var(--orange);font-size:24px}.category-tile>span:last-child{margin-left:auto;font-size:24px}.category-tile strong{display:block;font-size:24px;line-height:1.3}.category-tile small{display:block;color:var(--muted);font-size:14px;margin-top:4px}
.product-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start;padding-bottom:48px;border-bottom:1px solid var(--line)}.product-media{min-width:0;background:#fff}.product-media-hero{align-self:center}.catalog-photo{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;min-width:0;background:#fff;color:var(--muted);text-align:center;overflow:hidden}.catalog-photo [data-catalog-image-fallback]{position:absolute;inset:0;width:100%;height:100%;background:var(--soft)}.catalog-photo [data-catalog-image-content]{position:absolute;inset:0;width:100%;height:100%}.catalog-photo-image{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain;opacity:0}.catalog-photo[data-media-state="ready"] .catalog-photo-image{opacity:1}.product-heading-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.product-intro h1{font-size:40px;line-height:1.15}.product-intro h1 span{display:block;font-size:24px;letter-spacing:-.02em;font-weight:400;margin-top:8px}.product-verdict{font-size:16px;line-height:1.5;margin-top:16px}.buybox{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:8px;background:#fff;min-height:248px}.buybox h2{font-size:18px;letter-spacing:-.02em;line-height:1.4}.retailer-name{font-size:12px;font-weight:700;color:var(--muted);margin-top:16px}.retailer-offer-card{min-width:0}.offer-money{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-height:40px;margin-bottom:8px}.offer-price{font-size:32px;line-height:1.25;font-weight:700;letter-spacing:-.03em}.offer-stock{font-size:14px;color:#3e634d;line-height:1.5}.offer-stock:before{content:'·';margin-right:8px;color:var(--muted)}.retailer-offer-link{width:100%;min-width:0;overflow-wrap:anywhere}.retailer-offer-link>span{margin-left:auto}.amazon-button{margin-top:8px}.buybox-checked{margin-top:8px}.offer-checked{display:block;color:var(--muted);font-size:12px;line-height:1.5}.offer-status{color:var(--muted);font-size:14px;min-height:48px;display:flex;align-items:center}
.editorial-section{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;padding-block:48px;border-bottom:1px solid var(--line)}.editorial-copy h2{margin-top:8px;margin-bottom:24px}.editorial-copy>p:last-of-type{max-width:68ch;line-height:1.8}.drywall-callout{padding:24px;margin-top:24px;border-left:4px solid var(--orange);background:var(--soft)}.drywall-callout h3,.sizing-note h3{font-size:20px;letter-spacing:-.02em;margin-bottom:8px}.drywall-callout p,.sizing-note p{line-height:1.7}.spec-section h2{font-size:24px;margin-bottom:16px}.spec-table{width:100%;border-collapse:collapse;font-size:14px}.spec-table th,.spec-table td{border-bottom:1px solid var(--line);padding:16px 8px;text-align:left;vertical-align:top}.spec-table th{font-weight:400;color:var(--muted);width:40%;padding-left:0}.spec-table td{padding-right:0}.comparison-section{padding-top:48px}.table-scroll{width:100%;overflow:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:8px}.comparison-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.comparison-table th,.comparison-table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:top;min-width:160px}.comparison-table th:first-child{min-width:144px;font-weight:400;color:var(--muted)}.comparison-table thead th{background:var(--soft);font-size:14px;line-height:1.4}.comparison-table thead a{display:flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px}.comparison-table .trustmark-editorial{display:inline-block;margin-top:8px}.comparison-table tbody tr:last-child>*{border-bottom:0}.comparison-price{font-size:16px;font-weight:700}
.model-section{margin-top:48px}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.model-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.model-card .product-media{padding:8px 8px 0}.model-card .catalog-photo{aspect-ratio:4/3}.model-card-copy{padding:24px;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;overflow-wrap:anywhere}.model-card-label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:24px}.card-category{font-size:12px;color:var(--muted)}.model-card h3{font-size:24px}.model-card h3 a{display:block;min-height:48px}.model-card h3 span{display:block;font-size:16px;font-weight:400;letter-spacing:0;margin-top:8px}.card-verdict{font-size:14px;line-height:1.6;color:var(--muted)}.card-offer-space{min-height:40px;width:100%;margin-top:auto}.card-offer{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:auto}.card-offer .offer-price{font-size:24px}.card-offer>span{font-size:11px;color:var(--muted)}.model-card .card-details{margin-top:auto;width:100%}.card-retailer-space{width:100%;min-height:48px;margin-top:-8px}.card-retailer{width:100%}.card-retailer .button{font-size:14px}.empty-state{padding:24px;border:1px solid var(--line);background:#fff;border-radius:8px}.empty-state p{margin-block:8px 16px}
.planning-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;padding-top:48px;margin-top:48px;border-top:1px solid var(--line)}.planning-intro,.planning-details{min-width:0}.planning-intro h2{margin:8px 0 24px}.planning-intro>p:not(.eyebrow){color:var(--muted);line-height:1.7}.planning-intro .button{margin-top:24px}.planning-details .drywall-callout{margin-top:0}.sizing-note{margin-top:24px}.sizing-note:first-child{margin-top:0}.site-footer{background:var(--navy);color:#e1e8ee;padding:40px 0}.footer-top{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px;color:#fff}.footer-top>a{display:inline-flex;align-items:center;min-height:48px}.footer-links{display:flex;flex-wrap:wrap;gap:8px 32px;margin-bottom:24px}.footer-links a{display:flex;align-items:center;min-height:48px;font-size:14px}.site-footer p,.site-footer small{font-size:12px;line-height:1.5}.site-footer small{display:block;margin-top:16px}.noscript-note{padding:24px;background:var(--soft);color:var(--ink)}.info-page{min-height:440px;max-width:800px}.info-page h1{margin-top:8px}.todo-copy{margin-top:24px;padding:24px;background:var(--soft);border-left:4px solid var(--orange)}.info-checklist{margin-top:32px}.mobile-buybar{display:none}
@media(max-width:1023px){.wrap{width:calc(100% - 48px)}.masthead{display:grid;grid-template-columns:minmax(0,1fr) auto;padding-block:16px;gap:16px}.storefront-search{grid-column:1/-1;grid-row:2}.masthead nav{gap:24px}.product-hero,.editorial-section,.planning-section,.storefront-intro{gap:32px}.model-grid{gap:16px}.model-card-copy{padding:16px}.product-intro h1{font-size:32px}.buybox{padding:16px}}
@media(max-width:767px){.wrap{width:calc(100% - 32px)}.checklist-bar{min-height:44px;padding-block:8px;font-size:12px}.masthead{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-block:8px}.brand{font-size:20px;min-height:44px}.brand svg{width:24px;height:32px}.brand small{font-size:8px}.masthead nav{gap:8px}.masthead nav a{font-size:12px;min-height:44px}.masthead nav a:last-child{display:none}.storefront-search{min-height:44px;padding-left:8px}.storefront-search input,.storefront-search button{min-height:44px}.storefront-search button{font-size:14px;padding:8px}.storefront-search #clear-model-search{min-width:40px}.affiliate-disclosures{font-size:12px;padding-block:8px;line-height:1.5}.affiliate-disclosures p{max-width:60ch}main{padding-block:8px 40px}h1{font-size:32px}h2{font-size:24px}h3{font-size:20px}.breadcrumbs{margin-bottom:8px;line-height:1.3;font-size:11px;gap:0 8px}.breadcrumbs a{min-height:32px}.storefront-intro{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:24px 32px}.storefront-intro h1{font-size:40px}.category-tile{padding:16px;min-height:88px}.category-tile strong{font-size:20px}.category-tile small{font-size:12px}.category-tile .category-icon{width:48px;height:48px}.product-hero{grid-template-columns:minmax(0,1fr);gap:8px;padding-bottom:32px}.product-media-hero .catalog-photo{height:208px;aspect-ratio:auto;max-width:100%}.product-media-hero .catalog-photo-image{inset:0;width:100%;height:100%}.product-heading-row{gap:8px;margin-bottom:8px}.product-heading-row .eyebrow{font-size:10px}.product-intro h1{font-size:24px;line-height:1.2}.product-intro h1 span{font-size:16px;margin-top:4px}.product-verdict{font-size:14px;line-height:1.4;margin-top:8px}.buybox{margin-top:16px;padding:0;border:0;border-radius:0;min-height:200px}.buybox h2{font-size:14px;line-height:1.4}.retailer-name{font-size:11px;margin-top:8px}.offer-money{min-height:32px;margin-bottom:8px}.offer-price{font-size:28px;line-height:1.15}.offer-stock{font-size:12px}.retailer-offer-link{min-height:44px;padding:10px 16px;font-size:14px}.amazon-button{margin-top:8px}.offer-checked{font-size:11px;line-height:1.3}.buybox-checked{margin-top:8px}.editorial-section{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:32px}.editorial-copy h2{margin-bottom:16px}.editorial-copy>p:last-of-type{font-size:16px;line-height:1.7}.drywall-callout{padding:16px;margin-top:24px}.spec-section h2{font-size:24px}.spec-table th,.spec-table td{padding-block:16px}.comparison-section{padding-top:32px}.comparison-table th,.comparison-table td{padding:16px;min-width:144px}.comparison-table th:first-child{min-width:112px}.model-section{margin-top:32px}.section-heading{gap:16px;margin-bottom:16px;align-items:center}.section-heading>p{font-size:12px;white-space:nowrap}.model-grid{grid-template-columns:minmax(0,1fr);gap:24px}.model-card{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:start}.model-card .product-media{padding:16px 0 16px 8px}.model-card .catalog-photo{aspect-ratio:1/1}.model-card .catalog-photo-image{inset:0;width:100%;height:100%}.model-card-copy{padding:16px;gap:8px}.model-card h3{font-size:20px}.model-card h3 span{font-size:14px;margin-top:4px}.model-card-label{min-height:24px}.card-category{font-size:11px}.card-verdict{font-size:12px;line-height:1.5}.card-offer .offer-price{font-size:24px}.card-details{font-size:14px;min-height:44px;padding:8px}.card-retailer-space{min-height:44px;margin-top:0}.card-retailer .button{padding:8px;font-size:12px;gap:8px}.planning-section{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:32px;margin-top:32px}.planning-intro h2{margin-bottom:16px}.footer-top{align-items:flex-start;flex-direction:column;gap:16px}.site-footer{padding:32px 0}.footer-links{gap:8px 24px}.mobile-buybar{position:fixed;bottom:0;left:0;right:0;z-index:70;display:flex;align-items:center;gap:16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 24px #23262510}.sticky-model{display:flex;flex-direction:column;gap:4px;flex:none;line-height:1.2}.sticky-model strong{font-size:11px;font-weight:400}.sticky-model [data-offer-price]{font-size:18px;font-weight:700}.sticky-action{flex:1;min-width:0}.sticky-action .button{font-size:12px;min-height:44px;padding:8px;gap:8px}body[data-storefront-page="detail"]{padding-bottom:80px}.info-page{padding-top:16px}.info-page h1{font-size:32px}}
@media(max-width:374px){.masthead nav{display:none}.masthead{grid-template-columns:minmax(0,1fr)}.product-media-hero .catalog-photo{height:184px}.model-card{grid-template-columns:104px minmax(0,1fr)}.model-card-copy{padding:16px 12px}.card-retailer .button{font-size:11px}.sticky-model strong{font-size:10px}}
@media(min-width:768px){.mobile-buybar{display:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Catalog navigation stays native and usable without JavaScript. */
.hub-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px;padding-bottom:12px;position:relative}.nav-group{position:relative;min-width:0}.nav-group summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;font-size:13px;list-style:none}.nav-group summary::after{content:'+';font-size:18px}.nav-group[open] summary::after{content:'−'}.nav-group-links{position:absolute;top:100%;left:0;z-index:50;min-width:260px;max-width:calc(100vw - 32px);background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:4px;box-shadow:0 12px 32px #0f2a4424;padding:8px}.nav-group-links a{display:flex;align-items:center;min-height:44px;padding:8px 12px;line-height:1.4;font-size:14px}.nav-group-links a:hover{background:var(--soft)}.photos-nav{min-height:44px;display:flex;align-items:center;font-size:13px}.catalog-intro{padding-block:32px 40px;max-width:760px}.catalog-intro h1{margin:8px 0 20px;font-size:52px;line-height:1.08}.catalog-intro>p:last-child{max-width:60ch;color:var(--muted)}.hub-section{padding-block:24px;border-top:1px solid var(--line)}.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hub-card{display:flex;flex-direction:column;min-width:0;min-height:166px;gap:14px;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.hub-card:hover{border-color:var(--orange);text-decoration:none}.hub-card>span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.hub-card h3{font-size:23px;line-height:1.2}.hub-card p{margin-top:auto;font-size:13px;color:var(--muted)}.hub-card p span{float:right;color:var(--orange);font-size:20px}.catalog-planning{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:40px 0 0;margin-top:48px;border-top:1px solid var(--line)}.catalog-planning h2{margin:8px 0 16px}.catalog-planning p{max-width:70ch}.catalog-planning .button{flex:none}.source-note,.product-caution{font-size:13px;line-height:1.6;color:var(--muted);margin-top:16px}.drywall-callout p+p{margin-top:12px}
@media(max-width:1023px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-planning{align-items:flex-start;flex-direction:column;gap:24px}.hub-navigation{gap:0 20px}}
@media(max-width:767px){.hub-navigation{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;padding-bottom:8px}.nav-group summary{font-size:11px;line-height:1.35;min-height:40px}.nav-group:nth-child(even) .nav-group-links{left:auto;right:0}.nav-group-links{min-width:240px}.catalog-intro{padding-block:24px 32px}.catalog-intro h1{font-size:36px}.hub-grid{gap:12px}.hub-card{padding:16px;min-height:158px;gap:10px}.hub-card h3{font-size:18px;overflow-wrap:anywhere}.hub-card>span{font-size:10px}.hub-card p{font-size:12px}.catalog-planning{padding-top:32px;margin-top:32px}.catalog-planning .button{width:100%}}
@media(max-width:374px){.hub-grid{grid-template-columns:minmax(0,1fr)}.hub-card{min-height:130px}}
.product-variant-control{margin-block:16px}.product-variant-control label{display:block;font-weight:700;font-size:14px;margin-bottom:8px}.product-variant-control select{width:100%;min-height:48px;font-size:16px;padding:10px 12px;border:1px solid #9caaa0;border-radius:4px;background:#fff;color:var(--ink)}.product-variant-control p,.variant-reference{font-size:12px;color:var(--muted);margin-top:8px}
.product-intro h1 .product-heading-name{font-size:inherit;font-weight:inherit;letter-spacing:inherit;margin-top:0}

.purchase-unit{font-size:13px;color:var(--muted);margin-top:8px}

/* Bound card relayout during independent offer updates without hiding content. */
.model-card { contain: layout style; }
.buybox-offer-space{min-height:172px}.buybox-checked-space{min-height:28px}.buybox-status-space{min-height:48px}.buybox-status-space .offer-status{margin:0}

/* Compact project browsing and source-specific media links. */
.home-hero{max-width:none;padding:48px 0 40px;border-bottom:1px solid var(--line)}.hero-browse{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:20px;font-weight:700}.see-all{display:inline-flex;align-items:center;gap:8px;min-height:44px;flex:none;font-size:14px;font-weight:700}.home-hub-section .section-heading h2{font-size:28px}.hub-rail{grid-template-columns:repeat(4,minmax(0,1fr))}.model-card{position:relative;contain:layout style}.card-product-link::after{content:"";position:absolute;inset:0;z-index:1}.card-product-link:focus-visible::after{outline:3px solid var(--orange);outline-offset:-3px}.model-card:focus-within{border-color:var(--orange)}.model-card-copy{gap:8px;padding:18px}.model-card h3{font-size:20px;line-height:1.3}.model-card h3 a{min-height:0}.card-model{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.model-card-label{min-height:0}.card-details{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-top:6px}.model-card .card-details{width:auto;margin-top:6px}.card-offer{margin-top:4px}.card-offer .offer-price{font-size:22px}.card-amazon{margin-top:4px}.card-amazon .button{display:inline-flex;position:relative;z-index:2;min-height:36px;width:auto;background:none;border:0;padding:4px 0;color:var(--ink);font-size:12px;text-decoration:underline;gap:8px}.catalog-image-link{position:absolute;inset:0;display:block;z-index:2}.catalog-photo [data-catalog-image-fallback]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;background:linear-gradient(135deg,#edf1ed,#e2e8e3);color:var(--navy)}.placeholder-monogram{font-size:30px;font-weight:800;letter-spacing:.08em;border:2px solid currentColor;padding:8px 12px;line-height:1}.placeholder-category{font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;max-width:24ch}.promo-band{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:40px 0;padding:28px 32px;background:var(--navy);color:#fff;border-radius:8px}.promo-band .eyebrow{color:#bdcbd6}.promo-band h2{font-size:26px;margin:6px 0 8px}.promo-band p{font-size:14px}.promo-band .button{flex:none}.retailer-title{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5}.buybox{min-height:0}.buybox-checked:empty{display:none}.buybox .offer-status{min-height:0;margin-top:10px;font-size:12px}.buybox .retailer-offer-card:not([hidden]){margin-top:12px}.buybox .offer-money{min-height:0}.offer-retailer-name{font-size:12px;color:var(--muted)}.offer-price[hidden]+.offer-retailer-name{display:none}.hub-introduction{max-width:75ch}.model-grid+.model-grid{margin-top:24px}
@media(max-width:1023px){.hub-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hub-section .section-heading h2{font-size:24px}}
@media(max-width:767px){.home-hero{padding:24px 0 28px}.home-hero h1{font-size:38px}.hub-rail{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:14px;padding:2px 2px 16px;scroll-padding-left:2px}.hub-rail .model-card{display:flex;flex:0 0 74%;min-width:250px;max-width:320px;scroll-snap-align:start}.hub-rail .model-card{flex:0 0 74%}.hub-rail .model-card .product-media{padding:6px 6px 0}.hub-rail .catalog-photo{aspect-ratio:4/3}.hub-rail .model-card-copy{padding:16px;gap:8px}.home-hub-section .section-heading{align-items:flex-start}.home-hub-section .section-heading h2{font-size:22px}.see-all{font-size:12px}.promo-band{align-items:flex-start;flex-direction:column;gap:18px;padding:24px;margin:28px 0}.promo-band h2{font-size:24px}.promo-band .button{width:100%}.placeholder-monogram{font-size:22px;padding:6px 9px}.placeholder-category{font-size:9px}.buybox{min-height:0}.retailer-title{font-size:11px}}

.catalog-image-link:not([href]){pointer-events:none}

/* One internal card action; a licensed Amazon image keeps its separate source link. */
.model-card-copy{align-items:stretch}.model-card h3{min-height:2.6em}.card-model{min-height:1.5em}.card-offer{font-size:14px;line-height:1.5;font-weight:650}.model-card .card-details{margin-top:auto;padding:10px 0;min-height:44px}.retailer-actions{display:flex;flex-direction:column;gap:8px}.retailer-actions>[data-offer-priority="primary"]{order:0}.retailer-actions>[data-offer-priority="secondary"]{order:1}.retailer-actions .retailer-offer-card:not([hidden]){margin-top:0}.retailer-actions .button{background:#fff;color:var(--ink);border:1px solid var(--line)}.retailer-actions>[data-offer-priority="primary"] .button{background:var(--orange);color:#fff;border-color:var(--orange)}.amazon-price-notice{font-size:12px;color:var(--muted)}.amazon-price-notice summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.amazon-price-notice p{max-width:60ch;padding:12px;border:1px solid var(--line);border-radius:6px}

.mobile-buybar .sticky-action:not([data-offer-priority="primary"]){display:none}.mobile-buybar .sticky-action[data-offer-priority="primary"] .button{background:var(--orange);color:#fff;border-color:var(--orange)}

/* Fresh amounts lead; source and the Amazon observation disclosure stay adjacent. */
.card-offer{display:block;font-weight:400}.card-price-line{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.card-price-line .offer-price{font-size:28px;line-height:1.2;font-weight:750}.card-retailer-source{font-size:11px;color:var(--muted);font-weight:400}.card-price-fallback{font-size:14px;line-height:1.5;font-weight:400}.amazon-price-notice{position:relative;z-index:2;width:100%;font-size:11px}.amazon-price-notice summary{min-height:44px;text-decoration:none;font-weight:400;gap:5px;line-height:1.3;list-style:none}.amazon-price-notice summary::-webkit-details-marker{display:none}.amazon-price-notice-card summary{color:#717872;white-space:nowrap}.price-info-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:12px;height:12px;border:1px solid currentColor;border-radius:50%;font-size:9px;line-height:1;font-style:normal}.amazon-price-notice[open] p{background:#fff;line-height:1.5}.retailer-offer-card .amazon-price-notice{margin:-4px 0 8px}.card-offer .amazon-price-notice p{font-size:11px}.amazon-content-notice{max-width:90ch;font-size:11px;line-height:1.5;color:inherit}

.amazon-price-link[href]{position:relative;z-index:2;min-height:44px;color:inherit;text-decoration:none}.amazon-price-link:not([href]){pointer-events:none}.amazon-price-link[href]:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.retailer-variant-model{font-size:12px;color:var(--muted);margin-bottom:6px}

/* BWT commerce: a warm, image-led catalog with a quiet, consistent rhythm. */
:root {
  --canvas: #f8f7f3;
  --cream: #f0ede4;
  --teal: #216c63;
  --teal-light: #e6f0eb;
  --ink: #20343b;
  --muted: #63716f;
  --line: #dfe4df;
  --soft: #f2f5f1;
  --card-radius: 16px;
  --section-space: 40px;
}
body { background: var(--canvas); }
main { padding-block: 20px 52px; }
h1, h2, h3 { color: var(--navy); }
h2 { font-size: 25px; line-height: 1.12; letter-spacing: -.035em; }
.wrap { width: calc(100% - 32px); max-width: 1200px; }
.eyebrow { color: var(--teal); font-size: 10px; letter-spacing: .12em; }
.button { border-radius: 9px; }
.secondary, .button-outline { border-color: #ccd8d1; }
.section-heading { align-items: flex-end; gap: 12px; margin-bottom: 18px; }
.section-heading .eyebrow { margin-bottom: 7px; }
.section-heading > p { font-size: 12px; white-space: normal; text-align: right; }
.see-all { font-size: 12px; color: var(--teal); gap: 7px; }

/* Retain the existing shell while keeping search available as the page scrolls. */
.checklist-bar { background: var(--teal); }
.site-header { position: sticky; top: 44px; z-index: 80; }
section[id], main[id], .home-section-anchor { scroll-margin-top: 276px; }
.home-section-anchor { display: block; }
.site-header .brand svg path[stroke="#F57A28"] { stroke: #9cc9b7; }
.masthead { gap: 10px 18px; padding-block: 13px 10px; }
.masthead .brand { letter-spacing: -.035em; }
.masthead nav a { font-size: 12px; }
.storefront-search {
  position: relative;
  overflow: visible;
  min-height: 48px;
  padding-left: 13px;
  border: 1px solid #e1e8e4;
  border-radius: 11px;
  box-shadow: 0 2px 3px #001a2520;
}
.storefront-search-slot { display: contents; }
.storefront-search input { min-height: 48px; padding-block: 10px; }
/* Keep the one accessible custom clear control; suppress native search glyphs. */
.storefront-search input[type="search"]::-webkit-search-cancel-button,
.storefront-search input[type="search"]::-webkit-search-decoration,
.storefront-search input[type="search"]::-webkit-search-results-button,
.storefront-search input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; appearance: none; display: none; }
.storefront-search input[type="search"]::-ms-clear { display: none; width: 0; height: 0; }
.storefront-search input::placeholder { color: #73807e; opacity: 1; }
.storefront-search > button { min-height: 48px; padding: 9px; border-radius: 10px; }
.storefront-search > button[type="submit"] { color: var(--teal); font-size: 13px; }
.storefront-search > #clear-model-search { flex: 0 0 36px; min-width: 36px; height: 48px; min-height: 48px; padding: 0; line-height: 1; }
.storefront-search:focus-within { outline: 2px solid #9bcdbb; outline-offset: 3px; }
.hub-navigation { padding-bottom: 7px; }
.nav-group summary { font-size: 11px; }
.nav-group-links { z-index: 70; border-radius: 11px; box-shadow: 0 16px 38px #0f2a4426; }
.nav-group-links a { border-radius: 6px; }

/* Suggestions are an anchored overlay: opening them never moves page content. */
#global-search-results {
  position: absolute;
  inset-inline: 0;
  top: calc(100% + 8px);
  z-index: 90;
  width: auto;
  max-width: none;
  max-height: var(--search-available-height, min(65dvh, 560px));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  margin: 0;
  padding: 0;
  background: #fff;
  color: var(--ink);
  border: 1px solid #d8e1da;
  border-radius: 13px;
  box-shadow: 0 15px 40px #0f2a4433, 0 3px 8px #0f2a4412;
  text-align: left;
}
#global-search-count { padding: 13px 14px 9px; font-size: 11px; color: var(--muted); line-height: 1.4; }
#global-search-links { display: flex; flex-direction: column; gap: 0; }
#global-search-links .search-product {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding: 10px 13px;
  border-top: 1px solid #eef1ed;
  background: #fff;
}
#global-search-links .search-product:hover,
#global-search-links .search-product:focus-within,
#global-search-links .search-product[aria-selected="true"] { background: #edf5f0; }
.search-result-media { position: relative; min-width: 0; width: 70px; border-radius: 9px; overflow: hidden; background: #fff; }
.search-result-media .product-media { padding: 0; }
.search-result-media .catalog-photo { aspect-ratio: 1; border-radius: 9px; }
.search-result-media .catalog-photo-image { inset: 3px; width: calc(100% - 6px); height: calc(100% - 6px); object-fit: contain; }
.search-result-media .placeholder-monogram { font-size: 14px; border-width: 1px; padding: 4px 5px; letter-spacing: .04em; }
.search-result-media .placeholder-category { display: none; }
.search-result-copy { min-width: 0; align-self: center; }
#global-search-links .search-result-link { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 44px; padding: 2px 0; gap: 3px; color: var(--navy); }
#global-search-links .search-result-link:hover { text-decoration: none; }
.search-result-copy h3, .search-result-name { display: block; font-size: 13px; font-weight: 700; line-height: 1.3; letter-spacing: -.015em; overflow-wrap: anywhere; }
.search-result-model, .search-result-category { display: block; font-size: 10px; color: var(--muted); line-height: 1.3; overflow-wrap: anywhere; }
.search-result-copy .card-offer { margin-top: 2px; }
.search-result-copy .card-price-line { gap: 4px 6px; }
.search-result-copy .card-price-line .offer-price { font-size: 19px; line-height: 1.2; }
.search-result-copy .card-retailer-source { font-size: 10px; }
.search-result-copy .card-price-fallback { font-size: 11px; }
.search-result-copy .amazon-price-link[href] { display: inline-flex; min-height: 44px; align-items: center; }
.search-result-copy .amazon-price-notice summary { min-height: 44px; white-space: normal; font-size: 10px; }
.search-result-copy .amazon-price-notice p { padding: 9px; font-size: 10px; }
#global-search-results .search-see-all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  width: 100%;
  padding: 13px 16px;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: #f2f7f3;
  color: var(--teal);
  font-size: 12px;
  font-weight: 700;
  text-align: left;
}
#global-search-results .search-see-all:hover { background: #e5efe8; text-decoration: none; }
#catalog-search-page { padding-block: 16px 32px; }
#catalog-search-page .section-heading { align-items: flex-start; margin-bottom: 22px; }
#close-catalog-search { min-height: 44px; padding: 8px 12px; font-size: 12px; }
#catalog-search-page h1, #catalog-search-page h2 { overflow-wrap: anywhere; }
#catalog-search-page > p { margin-block: 12px 20px; color: var(--muted); font-size: 13px; }
#catalog-search-page .model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.catalog-search-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 24px; }
.catalog-search-heading h1 { font-size: 29px; }
.catalog-search-heading p { margin-top: 8px; color: var(--muted); font-size: 13px; }
.catalog-search-reset { min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--teal); font-size: 12px; }

/* Large contain-only imagery and two products per row at every catalog width. */
.model-section { margin-top: var(--section-space); }
.model-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.model-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #e2e7e0; border-radius: var(--card-radius); background: #fff; box-shadow: 0 2px 3px #183a281f; }
.model-card .product-media { padding: 7px 7px 0; width: 100%; }
.model-card .catalog-photo { aspect-ratio: 1; border-radius: 10px; }
.model-card .catalog-photo-image { inset: 6px; width: calc(100% - 12px); height: calc(100% - 12px); object-fit: contain; }
.model-card-copy { padding: 12px 12px 8px; gap: 7px; }
.model-card h3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; text-overflow: ellipsis; font-size: 15px; line-height: 1.3; min-height: 2.6em; max-height: 2.6em; letter-spacing: -.018em; word-break: normal; overflow-wrap: normal; hyphens: none; }
.model-card h3 span { font-size: 12px; }
.card-model { font-size: 10px; line-height: 1.4; min-height: 1.4em; color: #72807b; }
.card-category { font-size: 10px; line-height: 1.35; }
.model-card-label { align-items: flex-start; gap: 6px; }
.trustmark-editorial { padding: 3px 5px; font-size: 8px; letter-spacing: .07em; }
.card-offer { margin-top: 3px; }
.card-price-line { gap: 3px 5px; }
.card-price-line .offer-price { font-size: 23px; letter-spacing: -.045em; }
.card-retailer-source { font-size: 10px; line-height: 1.3; }
.card-price-fallback { font-size: 12px; line-height: 1.4; }
.amazon-price-notice-card summary { white-space: normal; font-size: 10px; }
.model-card .card-details { min-height: 44px; padding: 9px 0 5px; gap: 8px; font-size: 11px; color: var(--teal); }
.model-card .card-details > span { margin-left: auto; }
.model-card .card-offer .amazon-price-link[href] { display: flex; min-height: 44px; align-items: baseline; }
.model-card:focus-within { border-color: var(--teal); }
.catalog-photo [data-catalog-image-fallback] { background: #edf1eb; gap: 9px; color: #4a685a; }
.placeholder-monogram { font-size: 24px; padding: 6px 9px; border: 1px solid #98b09f; border-radius: 4px; letter-spacing: .045em; }
.catalog-intro { padding-block: 24px 28px; }
.catalog-intro h1 { margin-block: 9px 16px; font-size: 36px; line-height: 1.05; }
.catalog-intro > p:last-child { font-size: 14px; line-height: 1.65; }
.hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hub-card { border-radius: var(--card-radius); }

/* Project categories share one scale and show whole, source-linked product photos. */
.home-category-section, .home-categories, .home-picks, .home-product-section, .owner-video-section { margin-block: var(--section-space); }
.home-picks-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.home-pick-slot { display: flex; min-width: 0; }
.home-pick-slot > .model-card { width: 100%; }
/* Initial cached HTML has no viewport. CSS uses the same guarded eligible
   count's row markers until runtime atomically sets wrapper hidden flags. */
[data-fresh-picks-initial], [data-fresh-picks-initial] [data-fresh-pick] { display: none; }
@media (max-width: 767px) {
  [data-fresh-picks-initial~="mobile"] { display: block; }
  [data-fresh-picks-initial] [data-fresh-pick-initial~="mobile"] { display: flex; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  [data-fresh-picks-initial~="tablet"] { display: block; }
  [data-fresh-picks-initial] [data-fresh-pick-initial~="tablet"] { display: flex; }
}
@media (min-width: 1024px) {
  [data-fresh-picks-initial~="desktop"] { display: block; }
  [data-fresh-picks-initial] [data-fresh-pick-initial~="desktop"] { display: flex; }
}
.home-product-section .section-heading h2, .home-picks .section-heading h2 { font-size: 25px; }
.home-product-rail { display: flex; align-items: stretch; gap: 14px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scroll-padding-inline: 1px; padding: 1px 1px 16px; scrollbar-width: thin; scrollbar-color: #bdcfc1 transparent; }
.home-product-rail > .model-card, .home-product-rail > .home-product-browse-card { flex: 0 0 66%; min-width: 220px; max-width: 310px; scroll-snap-align: start; }
.home-product-browse-card { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 18px; min-height: 280px; padding: 24px; border: 1px solid #c6d4ca; border-radius: var(--card-radius); background: #edf2e8; color: var(--navy); font-size: 22px; font-weight: 700; line-height: 1.2; word-break: normal; overflow-wrap: normal; }
.home-product-browse-card:hover { background: #e3ecdf; border-color: var(--teal); text-decoration: none; }
.home-product-browse-card > span[aria-hidden="true"] { font-size: 30px; color: var(--teal); }
.home-product-rail .model-card-copy { padding: 15px 15px 9px; }
.home-product-rail .model-card h3 { font-size: 17px; }
.home-product-rail .model-card .catalog-photo { aspect-ratio: 1.08; }
.home-product-rail .model-card .card-details { font-size: 12px; }
.promo-band { position: relative; gap: 22px; margin-block: var(--section-space); padding: 25px 23px; border: 1px solid var(--navy); border-radius: 17px; }
.promo-band h2 { margin-block: 9px 10px; max-width: 20ch; color: #fff; font-size: 28px; line-height: 1.06; letter-spacing: -.035em; }
.promo-band p { max-width: 46ch; font-size: 13px; line-height: 1.6; }
.promo-band .eyebrow { font-size: 9px; color: #bcd2c4; }
.promo-band .button { min-height: 44px; width: auto; padding-inline: 15px; border-color: #e1eade; background: #edf2e8; color: var(--navy); font-size: 12px; }
.promo-band[data-promo-band="book"] { background: #e8eee4; border-color: #d6e0d0; color: var(--ink); }
.promo-band[data-promo-band="book"] h2 { color: var(--navy); }
.promo-band[data-promo-band="book"] .eyebrow { color: #557158; }
.promo-band[data-promo-band="book"] .button { background: var(--teal); border-color: var(--teal); color: #fff; }

/* Owner videos keep their full 9:16 frame, with titles in the bottom safe area. */
.owner-video-rail { display: flex; gap: 14px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; padding: 1px 1px 15px; scrollbar-width: thin; }
.owner-video-card { position: relative; isolation: isolate; flex: 0 0 65%; min-width: 190px; max-width: 300px; overflow: hidden; border-radius: 17px; background: #102936; scroll-snap-align: start; }
.owner-video-frame { width: 100%; aspect-ratio: 9 / 16; background: #102936; }
.owner-video-frame video, .owner-video-frame img { display: block; width: 100%; height: 100%; aspect-ratio: 9 / 16; object-fit: contain; }
.owner-video-card::after { content: ''; position: absolute; z-index: 1; inset: 52% 0 0; background: linear-gradient(transparent, #071a1fde 100%); pointer-events: none; }
.owner-video-card h3 { position: absolute; z-index: 2; bottom: 25px; inset-inline: 20px; max-width: 12ch; font-size: 25px; line-height: 1.08; letter-spacing: -.03em; color: #fff; pointer-events: none; }
.owner-video-card:focus-within h3 { bottom: 60px; }

/* Detail pages keep their editorial shape and receive the same gentle surfaces. */
.product-media-stack { min-width: 0; }
.product-media-hero { border: 1px solid var(--line); border-radius: var(--card-radius); padding: 12px; overflow: hidden; }
.product-media-hero .catalog-photo { min-height: 240px; height: 64vw; max-height: 380px; border-radius: 9px; }
.product-intro { padding-top: 15px; }
.product-intro h1 { font-size: 28px; letter-spacing: -.03em; }
.product-intro h1 span { font-size: 15px; }
.buybox { padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.buybox h2 { font-size: 16px; }
.retailer-actions { margin-top: 12px; }
.product-variant-control select { border-radius: 9px; border-color: #c6d4ca; }
.drywall-callout { border-left-color: var(--teal); border-radius: 0 11px 11px 0; background: #edf1e9; }
.catalog-planning { gap: 22px; padding-top: 30px; margin-top: 45px; }
.catalog-planning h2 { font-size: 27px; }
.catalog-planning p { font-size: 14px; }

@media (min-width: 640px) {
  :root { --section-space: 50px; }
  .wrap { width: calc(100% - 48px); }
  main { padding-top: 26px; }
  .model-grid, .home-picks-grid { gap: 22px; }
  .model-card-copy { padding: 20px 21px 13px; gap: 9px; }
  .model-card h3 { font-size: 21px; }
  .model-card .product-media { padding: 13px 13px 0; }
  .model-card .catalog-photo { aspect-ratio: 1.2; }
  .model-card .card-details { font-size: 13px; }
  .card-model, .card-category, .card-retailer-source { font-size: 11px; }
  .card-price-line .offer-price { font-size: 29px; }
  .trustmark-editorial { font-size: 9px; }
  .home-product-rail > .model-card, .home-product-rail > .home-product-browse-card { flex-basis: 39%; max-width: 340px; }
  .home-product-rail .model-card .product-media { padding: 9px 9px 0; }
  .home-product-rail .model-card .card-price-line .offer-price { font-size: 25px; }
  .promo-band { padding: 31px 32px; }
  .promo-band h2 { font-size: 33px; }
  .owner-video-card { flex-basis: 38%; }
  #global-search-links .search-product { grid-template-columns: 78px minmax(0, 1fr); gap: 16px; padding: 10px 16px; }
  .search-result-media { width: 78px; }
  .search-result-name { font-size: 14px; }
}
@media (min-width: 1024px) {
  :root { --section-space: 60px; }
  .wrap { width: calc(100% - 80px); }
  section[id], main[id], .home-section-anchor { scroll-margin-top: 215px; }
  .masthead { min-height: 96px; padding-block: 15px; gap: 34px; }
  .masthead nav a { font-size: 13px; }
  .hub-navigation { gap: 0 28px; padding-bottom: 10px; }
  .nav-group summary { font-size: 12px; }
  .affiliate-disclosures { font-size: 11px; padding-block: 10px; }
  h2 { font-size: 32px; }
  main { padding-bottom: 72px; }
  .section-heading { margin-bottom: 23px; }
  .section-heading .eyebrow { font-size: 11px; }
  .see-all { font-size: 13px; }
  .catalog-intro { padding-block: 32px 35px; }
  .catalog-intro h1 { font-size: 48px; }
  .home-product-section .section-heading h2, .home-picks .section-heading h2 { font-size: 31px; }
  .home-product-rail { gap: 20px; }
  .home-product-rail > .model-card, .home-product-rail > .home-product-browse-card { flex: 0 0 calc((100% - 60px) / 4); min-width: 235px; max-width: none; }
  .home-product-rail .model-card h3 { font-size: 18px; }
  .promo-band { flex-direction: row; align-items: center; padding: 37px 38px; }
  .promo-band h2 { font-size: 35px; max-width: none; }
  .promo-band .button { padding-inline: 20px; font-size: 13px; }
  .owner-video-rail { gap: 20px; }
  .owner-video-card { flex: 0 0 calc((100% - 60px) / 4); max-width: none; }
  .product-media-hero .catalog-photo { height: auto; max-height: none; aspect-ratio: 1; }
  .product-intro { padding-top: 5px; }
  .product-intro h1 { font-size: 38px; }
  .product-intro h1 span { font-size: 20px; }
  .buybox { padding: 23px; }
  body[data-storefront-page="detail"] .model-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #catalog-search-page .model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-search-heading h1 { font-size: 39px; }
  .catalog-planning h2 { font-size: 33px; }
}
@media (max-width: 359px) {
  .wrap { width: calc(100% - 24px); }
  .storefront-search { gap: 4px; padding-left: 9px; }
  .storefront-search > svg { width: 16px; }
  .storefront-search > button[type="submit"] { font-size: 12px; padding-inline: 7px; }
  .storefront-search input { font-size: 16px; }
  .model-grid, .home-picks-grid, .home-category-grid { gap: 10px; }
  .model-card-copy { padding: 11px 9px 7px; }
  .model-card h3 { font-size: 14px; }
  .card-price-line .offer-price { font-size: 21px; }
  #global-search-links .search-product { grid-template-columns: 59px minmax(0, 1fr); gap: 10px; padding-inline: 10px; }
  .search-result-media { width: 59px; }
  .search-result-name { font-size: 12px; }
}
/* The same guarded search node becomes a full card for the all-results view. */
.search-result-copy .card-offer:not([hidden]) + .search-price-unavailable { display: none; }
.search-price-unavailable { margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.search-result-media .catalog-photo > div:not([data-catalog-image-fallback]) { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: #edf1eb; }
#catalog-search-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
#catalog-search-grid .search-product { display: flex; flex-direction: column; overflow: hidden; min-width: 0; border: 1px solid var(--line); border-radius: var(--card-radius); background: #fff; box-shadow: 0 2px 3px #183a2810; }
#catalog-search-grid .search-result-media { width: auto; margin: 7px 7px 0; border-radius: 10px; }
#catalog-search-grid .search-result-media .catalog-photo { aspect-ratio: 1; }
#catalog-search-grid .search-result-media .catalog-photo-image { inset: 6px; width: calc(100% - 12px); height: calc(100% - 12px); }
#catalog-search-grid .search-result-media .placeholder-monogram { font-size: 24px; padding: 6px 9px; }
#catalog-search-grid .search-result-copy { width: 100%; padding: 12px 12px 16px; }
#catalog-search-grid .search-result-copy h3 { font-size: 15px; line-height: 1.3; min-height: 2.6em; }
#catalog-search-grid .search-result-link { display: block; min-height: 44px; }
#catalog-search-grid .search-result-model { margin-top: 5px; }
#catalog-search-grid .card-offer { margin-top: 12px; }
#catalog-search-grid .card-price-line .offer-price { font-size: 23px; }
#catalog-search-grid .amazon-price-link[href] { display: flex; min-height: 44px; }
#catalog-search-grid .amazon-price-notice summary { min-height: 44px; }
.product-owner-video { margin-top: var(--section-space); }
.product-owner-video > h2 { margin-bottom: 20px; }
.product-owner-video .owner-video-card { width: 100%; max-width: 350px; }
@media (min-width: 640px) {
  #catalog-search-grid { gap: 22px; }
  #catalog-search-grid .search-result-media { margin: 13px 13px 0; }
  #catalog-search-grid .search-result-media .catalog-photo { aspect-ratio: 1.2; }
  #catalog-search-grid .search-result-copy { padding: 20px 21px; }
  #catalog-search-grid .search-result-copy h3 { font-size: 21px; }
  #catalog-search-grid .search-result-model { font-size: 11px; }
  #catalog-search-grid .card-price-line .offer-price { font-size: 29px; }
}

/* Product navigation stays broad; licensed Amazon targets stay above it. */
.search-product { position: relative; }
.search-result-link::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: 9px; }
.search-result-link:focus-visible::after { outline: 2px solid var(--teal); outline-offset: -2px; }
.search-product .catalog-image-link[href], .search-product .amazon-price-link[href], .search-product .amazon-price-notice { z-index: 2; }

/* Owner-photo hero: untouched photos above a bottom-55% gradient.
   Inset glass panels use an 85% fallback, reduced to 70% with backdrop blur.
   The book reuses existing forest #17362b: promo teal #216c63 at 70% only
   gives 3.26:1 over white, while this darker brand shade gives 5.13:1.
   Blur belongs to the grid-layer pseudo, never the copy/CTA ancestors:
   their static positioning keeps the stretched link bound to the full tile.
   Source color/box assertions are not a claim of browser or visual QA. */
.home-hero-rail { display: flex; gap: 14px; width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scroll-padding-inline: 1px; padding: 1px 1px 14px; margin-block: 0 25px; scrollbar-width: thin; scrollbar-color: #bdcfc1 transparent; }
.home-hero-tile { position: relative; isolation: isolate; display: flex; align-items: flex-end; flex: 0 0 88%; min-width: 0; height: 340px; min-height: 0; max-height: 360px; padding: 0; overflow: hidden; border: 1px solid #18352d; border-radius: 19px; background: #17362b; color: #fff; scroll-snap-align: start; }
.home-hero-photo { position: absolute; z-index: -2; inset: 0; display: block; width: 100%; height: 100%; }
.home-hero-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-hero-tile::before { content: ''; position: absolute; z-index: -1; inset: 45% 0 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .24) 48%, rgba(0, 0, 0, .76) 100%); pointer-events: none; }
.home-hero-tile--checklist { --hero-panel-rgb: 15, 42, 68; }
.home-hero-tile--book { --hero-panel-rgb: 23, 54, 43; }
.home-hero-tile--picks { --hero-panel-rgb: 59, 42, 32; }
.home-hero-copy { position: static; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(4, auto); align-items: start; justify-items: start; width: calc(100% - 24px); min-width: 0; max-height: calc(55% - 12px); margin: 0 12px 12px; padding: 10px; border-radius: 8px; }
.home-hero-copy::before { content: ''; grid-area: 1 / 1 / 5 / 2; place-self: stretch; z-index: -1; margin: -10px; border-radius: inherit; background: rgba(var(--hero-panel-rgb), .85); pointer-events: none; }
.home-hero-copy > :nth-child(1) { grid-area: 1 / 1; }
.home-hero-copy > :nth-child(2) { grid-area: 2 / 1; }
.home-hero-copy > :nth-child(3) { grid-area: 3 / 1; }
.home-hero-copy > :nth-child(4) { grid-area: 4 / 1; }
@supports ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))) {
  .home-hero-copy::before { background: rgba(var(--hero-panel-rgb), .70); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
}
.home-hero-tile .eyebrow { color: #fff; font-size: 10px; line-height: 1.2; margin-bottom: 3px; }
.home-hero-tile h1, .home-hero-tile h2 { max-width: 100%; margin: 0; color: #fff; font-size: 26px; font-weight: 750; line-height: 1.05; letter-spacing: -.035em; }
.home-hero-tile p:not(.eyebrow) { max-width: 100%; margin-top: 4px; color: #fff; font-size: 12px; line-height: 1.25; }
.home-hero-action { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 6px; padding: 9px 11px; border: 1px solid #ffffffb3; border-radius: 8px; background: #10251e; color: #fff; font-size: 11px; line-height: 1.4; font-weight: 700; }
.home-hero-action::after { content: ''; position: absolute; inset: 0; z-index: 2; border-radius: 19px; }
.home-hero-action:hover { text-decoration: none; background: #244338; }
.home-hero-tile:focus-within { outline: 3px solid var(--teal); outline-offset: -3px; }

/* Two collage sections: four project cards each. Media boxes remain square;
   labels sit below each box and cannot alter or crop retailer imagery. */
.home-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; width: 100%; min-width: 0; }
.home-category-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: var(--card-radius); }
.home-category-card h3 { margin: 0; font-size: 15px; letter-spacing: -.025em; line-height: 1.25; }
.home-category-card h3 a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; text-overflow: ellipsis; min-height: 44px; word-break: normal; overflow-wrap: normal; hyphens: none; }
.home-category-card h3 a > span { flex: none; font-size: 16px; color: var(--teal); }
.home-category-media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 8px; min-width: 0; padding: 8px 0 0; }
.home-category-image-tile { position: relative; min-width: 0; }
.home-category-media .catalog-photo, .home-category-browse-mark { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1 / 1; min-width: 0; border-radius: 7px; background: #fff; }
.home-category-media .catalog-photo-image { inset: 2px; width: calc(100% - 4px); height: calc(100% - 4px); object-fit: contain; }
.home-category-media .catalog-image-link { z-index: 2; }
.home-category-media [data-catalog-image-fallback] { padding: 4px; background: #fff; }
.home-category-media .placeholder-monogram { font-size: 11px; padding: 4px; letter-spacing: .03em; color: #4a685a; }
.home-category-image-link::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: 7px; }
.home-category-image-link:focus-visible::after { outline: 2px solid var(--teal); outline-offset: 2px; }
.home-category-image-tile > a:not(.catalog-image-link), .home-category-image-label { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; text-overflow: ellipsis; height: 28px; min-height: 28px; max-height: 28px; margin-top: 3px; padding: 0; font-size: 10px; font-weight: 600; line-height: 14px; color: var(--navy); word-break: normal; overflow-wrap: normal; hyphens: none; }
@media (min-width: 640px) {
  .home-hero-tile { flex-basis: 53%; }
  .home-hero-tile h1, .home-hero-tile h2 { font-size: 26px; }
  .home-hero-tile p:not(.eyebrow) { font-size: 12px; }
  .home-hero-action { font-size: 12px; }
  .home-category-card h3 { font-size: 18px; }
  .home-category-media .placeholder-monogram { font-size: 16px; }
  .home-category-image-tile > a:not(.catalog-image-link), .home-category-image-label { height: 32px; min-height: 32px; max-height: 32px; font-size: 12px; line-height: 16px; }
}
@media (min-width: 768px) {
  .home-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .home-picks-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .home-hero-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; overflow-x: hidden; padding-bottom: 1px; margin-bottom: 35px; }
  .home-hero-tile { height: 360px; }
  .home-category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-picks-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
}

/* About and Contact use the same calm, readable content column. */
.info-page { max-width: 800px; padding-top: 28px; padding-bottom: 56px; }
.info-content { max-width: 68ch; }
.info-content h1 { margin: 0 0 20px; }
.info-content p { margin-top: 18px; line-height: 1.75; }
.info-content .info-lead { font-size: 19px; line-height: 1.6; color: var(--navy); }
.info-content a:not(.button) { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }
.about-brand-logo { display: block; width: 120px; height: 120px; margin-bottom: 24px; border-radius: 50%; overflow: hidden; }
.about-brand-logo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.info-section { margin-top: 36px; }
.info-section h2 { font-size: 26px; }
.about-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 24px 0 0; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.about-stats dt { color: var(--navy); font-size: 36px; font-weight: 750; line-height: 1.1; letter-spacing: -.04em; }
.about-stats dd { margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.contact-inquiries { display: grid; gap: 16px; margin: 28px 0; padding: 0; list-style: none; }
.contact-inquiry { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.contact-inquiry-button { min-height: 48px; text-align: center; justify-content: center; }
.contact-inquiry p { margin-top: 12px; font-size: 14px; }
.contact-address { overflow-wrap: anywhere; }
.info-content .info-checklist { margin-top: 36px; padding: 24px; border-radius: 12px; background: var(--soft); }
.info-content .info-checklist .button { margin-top: 20px; }
@media (max-width: 767px) {
  .info-page { padding-top: 20px; padding-bottom: 40px; }
  .info-content .info-lead { font-size: 18px; }
  .about-stats { gap: 14px; }
  .about-stats dt { font-size: 28px; }
  .about-stats dd { font-size: 12px; }
  .contact-inquiry { padding: 16px; }
  .contact-inquiry-button { width: 100%; }
  .info-content .info-checklist { padding: 20px; }
  .info-content .info-checklist .button { width: 100%; }
}

/* The inner strip has no desktop box, preserving the existing category layout.
   Below desktop its unpositioned scroller lets dropdowns use the outer nav as
   their containing block, so horizontal overflow cannot clip the open menu. */
.hub-navigation-scroll { display: contents; }
@media (max-width: 1023px) {
  .hub-navigation { display: block; padding-bottom: 8px; }
  .hub-navigation-scroll { display: flex; flex-wrap: nowrap; align-items: center; gap: 20px; min-width: 0; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; scroll-snap-type: x proximity; overscroll-behavior-inline: contain; }
  .hub-navigation-scroll::-webkit-scrollbar { display: none; }
  .nav-group { position: static; flex: 0 0 auto; scroll-snap-align: start; }
  .nav-group summary { height: 44px; min-height: 44px; white-space: nowrap; }
  .nav-group summary::-webkit-details-marker { display: none; }
  .photos-nav { flex: 0 0 auto; white-space: nowrap; scroll-snap-align: start; }
  .hub-navigation::after { content: ''; position: absolute; z-index: 1; top: 0; right: 0; width: 24px; height: 44px; background: linear-gradient(to right, transparent, var(--navy)); pointer-events: none; }
  .nav-group-links, .nav-group:nth-child(even) .nav-group-links { left: 0; right: 0; top: 100%; width: 100%; min-width: 0; max-width: none; }
}

/* Below desktop, promo/logo/categories scroll normally. Only the existing
   search form docks after the whole header passes its 64px boundary. The slot
   preserves the original layout; scroll direction never reveals the header. */
@media (max-width: 1023px) {
  .checklist-bar, .site-header { position: static; }
  section[id], main[id], .home-section-anchor { scroll-margin-top: 80px; }
  .storefront-search-slot { display: block; grid-column: 1 / -1; grid-row: 2; min-width: 0; min-height: var(--search-slot-height, 50px); }
  .storefront-search-slot.is-search-pinned > .storefront-search { position: fixed; top: calc(var(--search-viewport-top, 0px) + env(safe-area-inset-top, 0px) + 8px); left: var(--search-pinned-left, 16px); width: var(--search-pinned-width, calc(100% - 32px)); height: 48px; min-height: 48px; z-index: 85; }
  /* Paint from the layout viewport top, including the iPhone status safe area.
     With no inset or keyboard pan this is still the original 64px dock. */
  .storefront-search-slot.is-search-pinned::before { content: ''; position: fixed; box-sizing: border-box; z-index: 84; top: 0; left: 0; right: 0; height: calc(64px + var(--search-viewport-top, 0px) + env(safe-area-inset-top, 0px)); padding-top: env(safe-area-inset-top, 0px); background: var(--navy); pointer-events: none; }
  .storefront-search-slot.is-search-pinned > .storefront-search input,
  .storefront-search-slot.is-search-pinned > .storefront-search > button,
  .storefront-search-slot.is-search-pinned > .storefront-search > #clear-model-search { height: 46px; min-height: 46px; }
}

/* Native hidden state always wins over the presentation layouts above. */
[hidden] { display: none !important; }

/* Owner-supplied product demos: posters are the only pre-interaction media. */
.demo-section { margin-block: var(--section-space); }
.demo-section .section-heading p { margin-top: 8px; color: var(--muted, #536270); }
.demo-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 16px) / 1.6); gap: 16px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; padding-block: 2px 16px; scrollbar-width: thin; }
.demo-tile { position: relative; aspect-ratio: 9 / 16; min-width: 0; border-radius: 18px; overflow: hidden; isolation: isolate; background: #102936; scroll-snap-align: start; }
.demo-open { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; }
.demo-open > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.demo-play-icon { display: grid; place-items: center; width: 60px; height: 60px; border: 1px solid #ffffffb3; border-radius: 50%; color: #fff; background: #0f2a449c; box-shadow: 0 4px 18px #0002; }
.demo-open > .demo-play-icon, .demo-inline-play > .demo-play-icon { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); }
.demo-duration { position: absolute; right: 12px; top: 12px; border-radius: 6px; padding: 4px 7px; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; color: #fff; background: #0f2a44bf; }
.demo-tile-product { position: absolute; inset: 66.66% 0 0; display: flex; align-items: flex-end; gap: 10px; padding: 12px; color: #fff; background: linear-gradient(transparent, #071822ed); pointer-events: none; }
.demo-tile-product a, .demo-tile-product details { pointer-events: auto; }
.demo-tile-copy { min-width: 0; flex: 1; }
.demo-tile-copy h3 { margin: 0 0 5px; font-size: 14px; line-height: 1.2; color: inherit; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.demo-product-thumb { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 8px; overflow: hidden; background: #fff; }
.demo-product-thumb .catalog-photo { width: 100%; height: 100%; min-height: 0; aspect-ratio: 1; margin: 0; padding: 3px; border: 0; background: #fff; }
.demo-product-thumb .catalog-photo-image { inset: 3px; width: calc(100% - 6px); height: calc(100% - 6px); object-fit: contain; }
.demo-product-thumb [data-catalog-image-fallback] { display: none; }
.demo-product-thumb:has([data-media-state="unavailable"]) { visibility: hidden; }
.demo-price { font-size: 12px; line-height: 1.25; }
.demo-price a { color: inherit; text-decoration: none; }
.demo-price [data-amazon-price-source] { margin-left: 4px; font-size: 11px; }
.demo-price .amazon-price-notice { color: inherit; font-size: 10px; margin-top: 3px; }
.demo-price .amazon-price-notice p { color: #102936; background: #fff; }
.demo-player-open { overflow: hidden; }
.demo-player-dialog { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: auto; padding: 0; border: 0; color: #fff; background: #071822; overflow: hidden; }
.demo-player-dialog::backdrop { background: #071822db; }
.demo-player-slide { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0; }
.demo-player-slide[hidden] { display: none; }
.demo-player-media { min-height: 0; flex: 1; display: flex; justify-content: center; background: #071822; }
.demo-video { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; aspect-ratio: 9 / 16; background: #071822; }
.demo-close { position: absolute; z-index: 4; top: max(12px, env(safe-area-inset-top)); right: 12px; width: 44px; height: 44px; border: 1px solid #ffffff75; border-radius: 50%; background: #0f2a44d9; color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.demo-player-bar { position: relative; z-index: 2; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 10px; flex: 0 0 auto; padding: 14px 16px max(12px, env(safe-area-inset-bottom)); color: #0f2a44; background: #f7f8f9; }
.demo-player-product { min-width: 0; }
.demo-product-name { color: inherit; text-decoration: none; font-weight: 700; font-size: 15px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.demo-player-actions { grid-column: 1 / -1; display: flex; gap: 14px; align-items: center; }
.demo-amazon-button { background: #0f2a44; border-color: #0f2a44; color: #fff; min-height: 44px; font-size: 14px; }
.demo-details-link { color: inherit; font-size: 13px; }
.demo-disclosure { grid-column: 1 / -1; margin: 0; font-size: 10px; line-height: 1.4; }
.demo-navigation { display: none; }
.product-demo { margin-top: 24px; }
.product-demo h2 { font-size: 22px; margin-bottom: 12px; }
.product-demo-media { position: relative; width: min(100%, 360px); aspect-ratio: 9 / 16; overflow: hidden; border-radius: 16px; background: #071822; }
.demo-inline-play { position: absolute; inset: 0; width: 100%; border: 0; background: transparent; cursor: pointer; }
.demo-inline-play[hidden] { display: none; }
.product-demo > .demo-amazon-action { display: block; margin-top: 12px; }
.product-demo > .demo-amazon-action[hidden] { display: none; }
.product-demo > .demo-disclosure { margin-top: 8px; max-width: 360px; }
.demo-open:focus-visible, .demo-inline-play:focus-visible { outline: 3px solid #dce9f1; outline-offset: -5px; }
.demo-player-dialog :focus-visible { outline: 3px solid #96c7e5; outline-offset: 3px; }
@media (min-width: 768px) {
  .demo-rail { grid-auto-columns: calc((100% - 32px) / 3); }
  .demo-player-dialog { width: min(520px, calc(100vw - 120px)); max-height: calc(100dvh - 48px); height: 900px; border-radius: 18px; }
  .demo-navigation { display: flex; position: absolute; inset: 45% 10px auto; justify-content: space-between; pointer-events: none; }
  .demo-navigation[hidden] { display: none; }
  .demo-navigation button { width: 44px; height: 44px; border: 1px solid #ffffff75; border-radius: 50%; background: #0f2a44cf; color: #fff; font-size: 30px; line-height: 1; pointer-events: auto; cursor: pointer; }
}
@media (min-width: 1024px) {
  .demo-rail { grid-auto-columns: calc((100% - 60px) / 4); gap: 20px; }
  .demo-tile-copy h3 { font-size: 16px; }
}
@media (max-height: 450px) {
  .demo-player-dialog { height: 100dvh; max-height: 100dvh; }
  .demo-player-bar { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 6px 10px; padding-block: 8px; }
  .demo-player-bar .demo-product-thumb { width: 40px; height: 40px; }
  .demo-player-actions { grid-column: 3; grid-row: 1; flex-direction: column; gap: 4px; }
  .demo-player-bar .demo-disclosure { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .demo-rail { scroll-behavior: auto; }
  .demo-player-dialog, .demo-tile, .demo-play-icon { animation: none; transition: none; }
}

.demo-amazon-action:not([hidden]) + .demo-name-fallback { display: none; }
.demo-tile-copy .demo-product-name { font-size: inherit; }

.demo-tile a:focus-visible, .demo-tile summary:focus-visible, .product-demo :focus-visible { outline: 3px solid #96c7e5; outline-offset: 2px; }
