.wss-home { --home-rule:rgba(12,42,42,.15); }
.wss-home main section { box-sizing:border-box; }
.wss-home .home-hero { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:48px; padding:40px 20px 48px; }
.wss-home .eyebrow { color:var(--teal); font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; margin:0 0 14px; }
.wss-home h1 { font-size:clamp(36px,4.5vw,58px); font-weight:600; line-height:1.05; letter-spacing:-.035em; margin:0 0 22px; }
.wss-home .home-intro { font-size:19px; line-height:1.6; margin:0 0 24px; max-width:40ch; }
.wss-home .home-actions { display:flex; flex-wrap:wrap; gap:12px; }
.wss-home .btn { border-radius:4px; font-size:16px; padding:12px 22px; }
.wss-home .home-actions .btn:first-child { background:var(--teal); }
.wss-home .home-reassurance { font-size:13px; color:var(--muted); line-height:1.8; margin:22px 0 0; }
.wss-home .home-hero-image { align-self:stretch; display:flex; background:#fff; overflow:hidden; }
.wss-home .home-hero-image img { width:100%; height:100%; object-fit:cover; object-position:58% center; min-height:400px; }
.wss-home .home-section { padding:48px 20px; }
.wss-home .home-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.wss-home h2 { font-size:clamp(28px,3vw,38px); font-weight:600; letter-spacing:-.025em; line-height:1.15; margin:0 0 12px; }
.wss-home .sub { font-size:17px; margin:0; }
.wss-home .text-link { display:inline-block; font-size:16px; text-decoration:underline; text-underline-offset:5px; padding:8px 0; }
.wss-home .home-products,.wss-home .home-formats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.wss-home .home-product { color:var(--ink); }
.wss-home .home-product-image { overflow:hidden; background:#fff; }
.wss-home .home-product img { width:100%; aspect-ratio:1; object-fit:contain; transition:transform .25s; }
.wss-home .home-product:hover img { transform:scale(1.025); }
.wss-home .home-product h3 { font-size:18px; font-weight:600; margin:14px 0 4px; }
.wss-home .home-product p { font-size:15px; color:var(--teal); margin:0; }
.wss-home #wall-squares { margin-top:0; border-top:1px solid var(--home-rule); }
.wss-home .home-format { color:var(--ink); }
.wss-home .home-format img { aspect-ratio:1; width:100%; object-fit:contain; background:#fff; }
.wss-home .home-format h3 { display:flex; justify-content:space-between; margin:14px 0 6px; font-size:21px; font-weight:600; }
.wss-home .home-format p { margin:0; color:var(--muted); font-size:15px; }
.wss-home .home-season { background:#e6ebe1; padding:48px 0; margin:24px 0; }
.wss-home .home-season-inner { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:center; }
.wss-home .home-season h2 { font-size:clamp(36px,4vw,50px); }
.wss-home .home-season p:not(.eyebrow) { max-width:35ch; line-height:1.6; }
.wss-home .home-season-art { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.wss-home .home-season-art img { width:100%; aspect-ratio:1; object-fit:contain; }
.wss-home .home-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-bottom:16px; }
.wss-home .home-gallery img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.wss-home .home-gallery a>span { display:flex; justify-content:space-between; padding:12px 0; font-size:16px; }
.wss-home .home-story { display:grid; grid-template-columns:1fr 1.2fr; gap:64px; align-items:center; padding:48px 20px; border-top:1px solid var(--home-rule); border-bottom:1px solid var(--home-rule); }
.wss-home .home-story img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.wss-home .home-story p:not(.eyebrow) { font-size:18px; line-height:1.65; }
.wss-home .home-story .text-link { margin-right:20px; }
.wss-home .home-moods h2 { font-size:28px; }
.wss-home .home-mood-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:20px; }
.wss-home .home-mood-links a { font-size:16px; padding:4px 0; border-bottom:1px solid var(--home-rule); }
.wss-home .home-subscribe { padding:24px 20px 40px; }
.wss-home footer { margin-top:24px; }
.wss-home a:focus-visible { outline:2px solid var(--teal); outline-offset:5px; }
@media(max-width:800px) {
 .wss-home .home-hero { gap:28px; grid-template-columns:1fr; padding-top:28px; }
 .wss-home .home-hero-copy { max-width:600px; }
 .wss-home .home-hero-image img { min-height:0; height:auto; aspect-ratio:2/1; object-fit:cover; }
 .wss-home .home-products,.wss-home .home-formats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
 .wss-home .home-section { padding:32px 20px; }
 .wss-home .home-section-heading { align-items:start; flex-direction:column; gap:8px; }
 .wss-home .home-season-inner,.wss-home .home-story { grid-template-columns:1fr; gap:28px; }
 .wss-home .home-gallery { gap:14px; }
 .wss-home .home-gallery img { aspect-ratio:3/4; }
 .wss-home .home-gallery a>span { font-size:14px; }
}
@media(max-width:480px) {
 .wss-home .home-hero { padding-bottom:28px; }
 .wss-home h1 { font-size:38px; }
 .wss-home .home-intro { font-size:17px; }
 .wss-home .home-reassurance { margin-top:16px; }
 .wss-home .home-gallery { grid-template-columns:1fr; gap:24px; }
 .wss-home .home-gallery img { aspect-ratio:5/4; }
 .wss-home .home-season { padding:32px 0; }
 .wss-home .home-product h3 { font-size:16px; }
}

/* Manually controlled bestseller row; native touch and keyboard scrolling. */
.wss-home .home-products { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x proximity; overscroll-behavior-x:contain; padding:4px 0 14px; scrollbar-width:thin; scrollbar-color:var(--teal) transparent; }
.wss-home .home-products .home-product { flex:0 0 calc((100% - 72px)/4); min-width:0; scroll-snap-align:start; }
.wss-home .home-carousel-controls { display:flex; justify-content:flex-end; gap:8px; margin:-8px 0 12px; }
.wss-home .home-carousel-controls[hidden] { display:none; }
.wss-home .home-carousel-controls button { width:44px; height:44px; border:1px solid var(--teal); border-radius:50%; background:transparent; color:var(--teal); font:inherit; font-size:22px; cursor:pointer; }
.wss-home .home-carousel-controls button:disabled { opacity:.3; cursor:default; }
.wss-home .home-carousel-controls button:focus-visible,.wss-home .home-products:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
.wss-home .home-mood-links { gap:10px; }
.wss-home .home-mood-links a { display:inline-flex; align-items:center; min-height:44px; box-sizing:border-box; padding:8px 16px; border:1px solid var(--teal); border-radius:999px; font-size:15px; }
.wss-home .home-mood-links a:hover { background:var(--teal); color:white; opacity:1; }
@media(max-width:800px) { .wss-home .home-products { gap:16px; } .wss-home .home-products .home-product { flex-basis:44%; } }

/* Room photograph: retain complete artwork in desktop and mobile layouts. */
.wss-home .home-hero-image { align-self:center; }
.wss-home .home-hero-image img { aspect-ratio:4/3; height:auto; min-height:0; object-fit:cover; object-position:50% 50%; }
@media(min-width:801px) { .wss-home .home-hero-image img { aspect-ratio:6/5; } }
