/* Homepage only: the shared navigation, fonts and editor block wrappers remain intact. */
.home-page{--w:1280px}
.home-page .home-hero,.home-page .home-shop,.home-page .home-service,.home-page .home-reviews,.home-page .home-contacts{position:relative;z-index:1;padding:52px 0}
.home-page .home-hero{padding-top:144px;padding-bottom:52px;background:radial-gradient(ellipse at 85% 0,var(--ice-dim),transparent 60%)}
.home-page .home-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:clamp(28px,4vw,72px);align-items:center}
.home-page .home-hero-copy,.home-page .home-hero-grid>*,.home-page .home-reviews-grid>*,.home-page .home-contact-panel>*{min-width:0}
.home-page .home-hero h1{font-family:var(--font-d);font-size:clamp(32px,3.7vw,54px);line-height:1.17;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:break-word;margin:0 0 22px}
.home-page .home-hero .eyebrow{margin-bottom:18px}
.home-page .home-hero .hero-lede{font-size:18px;line-height:1.65;max-width:56ch;margin:0}
.home-page .home-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:26px}
.home-page .home-hero-actions .btn{margin:0}
.home-page .home-help-link{display:inline-flex;align-items:center;gap:8px;color:var(--ice);font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;min-height:44px}
.home-page .home-help-link:hover{text-decoration:underline;text-underline-offset:4px}
.home-page .home-address-note{font-size:13px;color:var(--mut);margin:22px 0 0}
.home-page .home-purchase-note{border:1px solid var(--ice-line);border-radius:20px;padding:28px;background:var(--bg1)}
.home-page .home-guarantee{display:flex;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line2);font-size:15px;line-height:1.4}
.home-page .home-guarantee>strong{font-family:var(--font-d);font-size:clamp(28px,2.4vw,34px);font-weight:500;white-space:nowrap;color:var(--ice)}
.home-page .home-guarantee a{display:block;font-size:12px;color:var(--mut);margin-top:6px;text-underline-offset:3px}
.home-page .home-note-row{padding-top:20px;font-size:15px}
.home-page .home-note-row strong{font-size:16px;font-weight:600}
.home-page .home-note-row p{font-size:14px;line-height:1.5;margin:5px 0 0}
.home-page .home-shop .sec-head,.home-page .home-service .sec-head,.home-page .home-reviews .sec-head,.home-page .home-contacts .sec-head{margin-bottom:16px}
.home-page .home-shop .sec-head .eyebrow,.home-page .home-service .sec-head .eyebrow,.home-page .home-reviews .sec-head .eyebrow,.home-page .home-contacts .sec-head .eyebrow{margin-bottom:12px}
.home-page .home-shop h2,.home-page .home-service h2,.home-page .home-reviews h2,.home-page .home-contacts h2{font-size:clamp(25px,2.8vw,36px);line-height:1.25;max-width:26ch;text-wrap:balance;margin:0}
.home-page .home-shop .section-intro,.home-page .home-service .section-intro,.home-page .home-reviews .section-intro{font-size:16px;line-height:1.6;max-width:64ch;margin:0 0 24px}
.home-page .home-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-radius:18px}
.home-page .home-category{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line2);border-radius:18px;background:var(--bg1);color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}
.home-page .home-category:hover{border-color:var(--ice);transform:translateY(-2px)}
.home-page .home-category>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--bg2)}
.home-page .home-category-copy{display:flex;flex-direction:column;flex:1;padding:22px}
.home-page .home-category h3{font-family:var(--font-b);font-size:23px;line-height:1.25;font-weight:600;letter-spacing:-.02em;margin:0 0 10px}
.home-page .home-category p{font-size:15px;line-height:1.5;margin:0 0 16px}
.home-page .home-category-link{margin-top:auto;color:var(--ice);font-size:13px;font-weight:600}
.home-page .home-stock-note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:18px 0;border-bottom:1px solid var(--line2)}
.home-page .home-stock-note p{font-size:15px;max-width:68ch;margin:0}
.home-page .home-stock-note .home-help-link{flex-shrink:0}
.home-page .home-inventory{margin-top:40px}
.home-page .home-inventory-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.home-page .home-inventory-heading h3{font-family:var(--font-d);font-size:23px;line-height:1.3;margin:0}
.home-page .home-inventory-note{font-size:13px;line-height:1.5;margin:10px 0 20px;max-width:85ch}
.home-page .home-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-page .home-product{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line2);border-radius:16px;overflow:hidden;background:var(--bg1)}
.home-page .home-product-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--bg2)}
.home-page .home-product-no-photo{display:grid;place-items:center;font-size:13px;color:var(--mut)}
.home-page .home-product-copy{display:flex;flex-direction:column;flex:1;padding:18px}
.home-page .home-product-condition{font-size:12px;line-height:1.4;color:var(--ice);margin:0 0 8px}
.home-page .home-product h3{font-family:var(--font-b);font-size:19px;font-weight:600;line-height:1.3;margin:0 0 12px;overflow-wrap:anywhere}
.home-page .home-product-price{font-family:var(--font-b);font-size:23px;line-height:1.3;font-weight:600;color:var(--ink);margin:auto 0 8px}
.home-page .home-product-availability{font-size:12px;line-height:1.4;margin:0 0 10px}
.home-page .home-product-link{display:inline-flex;align-items:center;min-height:40px;gap:6px;color:var(--ice);font-size:14px;font-weight:600;text-decoration:none}
.home-page .home-product-link:hover{text-decoration:underline;text-underline-offset:4px}
.home-page .home-service-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;padding:32px;border:1px solid var(--line2);border-radius:20px;background:var(--bg1)}
.home-page .home-service-panel .section-intro{margin-bottom:0}
.home-page .home-service-panel .btn{white-space:nowrap;gap:10px}
.home-page .home-service h2{font-size:clamp(25px,2.4vw,30px)}
.home-page .home-reviews-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,500px);gap:clamp(32px,5vw,80px);align-items:center}
.home-page .home-review-hint{font-size:14px;line-height:1.5;margin:0 0 12px}
.home-page .home-review-shell{padding:10px;border:1px solid var(--ice-line);border-radius:24px;background:linear-gradient(135deg,var(--ice-dim),var(--bg1));box-shadow:0 12px 36px rgba(0,0,0,.08);min-width:0}
.home-page .home-review-frame{height:500px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ice) var(--bg1);border-radius:16px;background:#fff}
.home-page .home-review-frame iframe{display:block;width:100%;min-width:0;max-width:100%;height:1440px;border:0;background:#fff}
.home-page .home-contact-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,.8fr) minmax(0,1.05fr);gap:24px;padding:28px;border:1px solid var(--line2);border-radius:20px;background:var(--bg1);align-items:stretch}
.home-page .home-contact-info{align-self:center}
.home-page .home-contact-address{font-size:16px;line-height:1.5;margin:0 0 12px}
.home-page .home-contact-phone{font-size:20px;line-height:1.4;font-weight:600;text-decoration:none;display:inline-block;margin-bottom:16px}
.home-page .home-contact-phone:hover{text-decoration:underline;text-underline-offset:4px}
.home-page .home-contact-hours{font-size:14px;line-height:1.6;margin:0 0 18px}
.home-page .home-contact-actions{display:flex;gap:10px}
.home-page .home-contact-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;border:1px solid var(--ice-line);border-radius:50%;background:var(--bg2);color:var(--ice);text-decoration:none;transition:border-color .2s,background .2s}
.home-page .home-contact-icon:hover{background:var(--ice-dim);border-color:var(--ice)}
.home-page .home-contact-hint{font-size:12px;line-height:1.5;margin:16px 0 0;max-width:30ch}
.home-page .home-entrance{min-width:0;margin:0;display:flex;flex-direction:column;align-self:center}
.home-page .home-entrance img{display:block;width:100%;height:auto;aspect-ratio:3/4;max-height:340px;object-fit:cover;border-radius:14px}
.home-page .home-entrance figcaption{font-size:11px;line-height:1.4;color:var(--mut);margin-top:9px}
.home-page .home-contact-map{min-width:0;min-height:340px;overflow:hidden;border:1px solid var(--line2);border-radius:14px;background:var(--bg2)}
.home-page .home-contact-map iframe{display:block;border:0;width:100%;height:100%;min-height:340px}
.home-page .home-contact-panel:not(:has(.home-entrance)){grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.home-page .home-category:focus-visible,.home-page .home-help-link:focus-visible,.home-page .home-product-link:focus-visible,.home-page .home-contact-icon:focus-visible,.home-page .home-contact-phone:focus-visible,.home-page .home-review-frame:focus-visible,.home-page .home-categories:focus-visible{outline:3px solid var(--ice);outline-offset:4px}
.home-page .builder-spacing-compact>section{padding-block:26px}.home-page .builder-spacing-roomy>section{padding-block:72px}
.home-page .block-group-children .home-hero-grid,.home-page .block-group-children .home-service-panel,.home-page .block-group-children .home-reviews-grid,.home-page .block-group-children .home-contact-panel,.home-page .block-group-children .home-contact-panel:not(:has(.home-entrance)){grid-template-columns:minmax(0,1fr)}
.home-page .block-group-children .home-hero{padding-top:32px}.home-page .block-group-children .home-hero h1{font-size:clamp(26px,3vw,38px)}
@media(min-width:1800px){.home-page .home-hero h1{font-size:54px}.home-page .home-hero{padding-top:150px}}
@media(max-width:1100px){.home-page .home-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr);gap:28px}.home-page .home-purchase-note{padding:22px}.home-page .home-guarantee{align-items:flex-start;flex-direction:column;gap:10px}.home-page .home-products{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .home-contact-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .home-contact-map{grid-column:1/-1;min-height:280px}.home-page .home-contact-map iframe{min-height:280px}.home-page .home-entrance img{aspect-ratio:4/3;max-height:280px}.home-page .home-contact-panel:not(:has(.home-entrance)){grid-template-columns:minmax(0,1fr)}.home-page .home-stock-note{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:800px){.home-page .home-hero{padding-top:122px}.home-page .home-hero-grid{grid-template-columns:minmax(0,1fr)}.home-page .home-hero-copy{max-width:680px}.home-page .home-hero h1{font-size:clamp(30px,5vw,42px);max-width:25ch}.home-page .home-purchase-note{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:22px}.home-page .home-guarantee{border-bottom:0;border-right:1px solid var(--line2);padding:0 20px 0 0;grid-row:span 2;justify-content:center}.home-page .home-note-row{padding:0}.home-page .home-note-row strong{font-size:15px}.home-page .home-note-row p{font-size:13px}.home-page .home-category-copy{padding:16px}.home-page .home-category h3{font-size:20px}.home-page .home-category p{font-size:14px}.home-page .home-service-panel{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px}.home-page .home-service-panel .btn{justify-self:start}.home-page .home-reviews-grid{grid-template-columns:minmax(0,1fr);gap:24px}.home-page .home-review-shell{max-width:500px;width:100%;justify-self:center}}
@media(max-width:640px){.home-page .w{padding-inline:18px}.home-page .home-hero,.home-page .home-shop,.home-page .home-service,.home-page .home-reviews,.home-page .home-contacts{padding-block:30px}.home-page .home-hero{padding-top:112px;padding-bottom:26px}.home-page .home-hero-grid{gap:24px}.home-page .home-hero h1{font-size:clamp(26px,6.8vw,36px);line-height:1.22;letter-spacing:-.03em;margin-bottom:16px}.home-page .home-hero .eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:14px}.home-page .home-hero .hero-lede{font-size:16px;line-height:1.55}.home-page .home-hero-actions{gap:10px 16px;margin-top:20px}.home-page .home-hero-actions .btn{width:auto;padding-inline:20px;min-height:46px;font-size:14px}.home-page .home-help-link{font-size:14px}.home-page .home-address-note{font-size:12px;margin-top:14px}.home-page .home-purchase-note{padding:18px;gap:14px;border-radius:16px}.home-page .home-guarantee{padding-right:12px}.home-page .home-guarantee>strong{font-size:28px}.home-page .home-guarantee>div{font-size:13px}.home-page .home-guarantee a{font-size:11px}.home-page .home-note-row strong{font-size:13px}.home-page .home-note-row p{font-size:12px}.home-page .home-shop h2,.home-page .home-service h2,.home-page .home-reviews h2,.home-page .home-contacts h2{font-size:25px;line-height:1.3}.home-page .home-shop .section-intro,.home-page .home-service .section-intro,.home-page .home-reviews .section-intro{font-size:15px;line-height:1.55;margin-bottom:18px}.home-page .home-categories{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;gap:12px;padding:3px 2px 14px;scrollbar-width:thin;scrollbar-color:var(--ice) var(--bg1)}.home-page .home-category{flex:0 0 min(72vw,260px);scroll-snap-align:start;border-radius:15px}.home-page .home-category>img{aspect-ratio:4/3}.home-page .home-category-copy{padding:16px}.home-page .home-category h3{font-size:20px}.home-page .home-category p{font-size:14px;margin-bottom:12px}.home-page .home-stock-note{margin-top:10px;padding:14px 0}.home-page .home-stock-note p{font-size:14px}.home-page .home-inventory{margin-top:28px}.home-page .home-inventory-heading{align-items:flex-start;flex-direction:column;gap:3px}.home-page .home-inventory-heading h3{font-size:22px}.home-page .home-inventory-note{font-size:12px;margin-top:4px}.home-page .home-products{gap:10px}.home-page .home-product{border-radius:14px}.home-page .home-product-copy{padding:12px}.home-page .home-product h3{font-size:16px;line-height:1.3}.home-page .home-product-price{font-size:19px}.home-page .home-product-condition,.home-page .home-product-availability{font-size:11px}.home-page .home-product-link{font-size:12px;min-height:44px}.home-page .home-service-panel{padding:22px;border-radius:16px;gap:16px}.home-page .home-service-panel .section-intro{margin:0}.home-page .home-service-panel .btn{font-size:14px;min-height:46px;padding-inline:20px}.home-page .home-review-shell{padding:7px;border-radius:20px}.home-page .home-review-frame{border-radius:14px}.home-page .home-review-hint{font-size:13px}.home-page .home-contact-panel{grid-template-columns:minmax(0,1fr);gap:22px;padding:22px;border-radius:16px}.home-page .home-contact-phone{font-size:20px}.home-page .home-contact-hint{max-width:none}.home-page .home-entrance img{aspect-ratio:16/9;max-height:220px;object-position:center}.home-page .home-contact-map,.home-page .home-contact-map iframe{min-height:260px}.home-page .home-contact-map{grid-column:auto}}
@media(max-width:360px){.home-page .w{padding-inline:15px}.home-page .home-review-shell{padding:0}.home-page .home-hero h1{font-size:26px}.home-page .home-purchase-note{padding:16px;gap:12px}.home-page .home-contact-panel{padding:18px}.home-page .home-category{flex-basis:76vw}.home-page .home-product-copy{padding:10px}.home-page .home-product-price{font-size:18px}}
@media(prefers-reduced-motion:reduce){.home-page .home-category,.home-page .home-contact-icon{transition:none}.home-page .home-category:hover{transform:none}.home-page .home-categories{scroll-behavior:auto;scroll-snap-type:none}}
/* Give the light-theme category cards a clear edge and a distinct text surface. */
.home-page.light .home-category{border-color:#92aab6;box-shadow:0 5px 18px rgba(24,54,68,.10);background:#fff}
.home-page.light .home-category-copy{background:#e0eaee;border-top:1px solid #b6c9d2}
.home-page.light .home-category:hover{border-color:var(--ice);box-shadow:0 8px 24px rgba(24,54,68,.16)}
/* Keep the full white door, sign and staircase visible at every screen size. */
.home-page .home-entrance img[src$="entrance-summer-20261018.webp"]{aspect-ratio:800/1062;max-height:420px;object-fit:contain}
@media print{.home-page .home-hero{padding-top:20px}.home-page .home-categories,.home-page .home-products{display:block}.home-page .home-category,.home-page .home-product{break-inside:avoid;margin-bottom:16px}.home-page .home-contact-map,.home-page .home-review-shell,.home-page .home-contact-actions{display:none}.home-page .home-reviews-grid,.home-page .home-contact-panel{grid-template-columns:minmax(0,1fr)}}
