:root { --home-ink:#32271f; --home-paper:#faf7f2; --home-line:#dfd4c7; --home-gutter:clamp(16px,4vw,64px); }
body:has(.home-page) { background:var(--home-paper); }
.site-header { position:relative; z-index:20; height:auto; min-height:116px; grid-template-columns:1fr auto 1fr; grid-template-rows:72px auto; padding:0 var(--home-gutter); background:#f5eee4; }
.site-header > .menu-toggle { display:none; }
.site-header > .instagram-control { margin:0; grid-area:1/1; }
.site-header > nav { padding:12px 0; gap:12px 20px; }
.site-header > nav a, .site-header > nav .nav-categories > summary { font-size:12px; letter-spacing:.02em; }
.site-header .wordmark:has(img) { width:120px; height:64px; }
.site-header .wordmark img { width:120px; }
.header-actions .favorites-link { border:0; background:transparent; box-shadow:none; }
.announcement { padding:0; font-size:12px; line-height:1.5; letter-spacing:.03em; }
.announcement a { padding:9px 16px; }
.home-page { color:var(--home-ink); }
.home-page > .section { padding:40px var(--home-gutter); max-width:1440px; margin-inline:auto; }
.home-page .section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; text-align:left; margin-bottom:22px; }
.home-page .section-heading h2 { font-size:clamp(27px,2.7vw,40px); line-height:1.12; font-weight:500; margin:0; }
.home-page .section-heading .underlink { position:static; flex-shrink:0; font-size:12px; margin:0; }
.home-page .section-heading p { margin:9px 0 0; font-size:14px; }
.home-page .btn { border-radius:3px; min-height:44px; padding:12px 20px; font-size:12px; line-height:1.4; font-weight:600; box-shadow:none; transition:background .18s ease, color .18s ease; }
.home-page .btn:hover { background:#574235; color:#fff; }
/* Edge-to-edge imagery with one overlaid heading and CTA on every slide. */
.home-page .home-hero { width:100%; max-width:none; margin:0; position:relative; padding:0; overflow:hidden; isolation:isolate; background:none; }
.home-page .home-slide { display:none; position:relative; inset:auto; opacity:1; height:clamp(500px,calc(100svh - 152px),900px); min-height:0; background:none; animation:home-enter .3s ease; }
.home-page .home-slide.active { display:block; }
.home-page .home-slide picture { display:block; position:absolute; inset:0; width:100%; height:100%; margin:0; background:none; }
.home-page .home-slide img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.home-page .home-slide-copy { position:absolute; z-index:2; left:50%; bottom:54px; transform:translateX(-50%); width:calc(100% - 112px); max-width:660px; display:flex; flex-direction:column; align-items:center; gap:16px; padding:0; text-align:center; color:white; }
.home-page .home-slide-copy h2 { margin:0; font-family:Manrope,Arial,sans-serif; font-weight:600; font-size:clamp(25px,2.5vw,40px); line-height:1.2; letter-spacing:-.025em; text-wrap:balance; padding:0; background:transparent; color:#fff; text-shadow:0 1px 3px #0009,0 3px 12px #0005; }
.home-page .home-slide-copy .btn { min-height:44px; min-width:150px; max-width:100%; padding:11px 24px; border:1px solid #fff8ed; border-radius:2px; background:#fff8ed; color:#32271f; font-size:12px; font-weight:700; letter-spacing:.08em; line-height:1.4; text-shadow:none; box-shadow:0 2px 8px #0003; }
.home-page .home-slide-copy .btn:hover { background:#32271f; border-color:#32271f; color:white; text-shadow:none; }
.home-hero .hero-arrow { position:absolute; z-index:3; top:50%; bottom:auto; transform:translateY(-50%); display:grid; place-items:center; width:46px; height:46px; min-height:46px; padding:0 0 3px; border:1px solid #d9cbb9; border-radius:50%; font:36px/1 Georgia,serif; background:#fff8ed; color:#32271f; box-shadow:0 2px 8px #0003; text-shadow:none; transition:background .18s,color .18s; }
.home-hero .hero-prev { left:12px; }
.home-hero .hero-next { right:12px; }
.home-hero .hero-pagination { z-index:3; bottom:8px; background:transparent; padding:0; gap:4px; height:32px; color:white; }
.home-hero .hero-pagination [data-slide-to] { width:28px; height:32px; border-radius:0; background:transparent; position:relative; }
.home-hero .hero-pagination [data-slide-to]::after { content:""; display:block; width:6px; height:6px; border-radius:50%; background:#ffffff80; margin:auto; box-shadow:0 1px 2px #0006; }
.home-hero .hero-pagination [aria-pressed=true]::after { width:18px; border-radius:4px; background:white; }
.home-hero .hero-pagination .hero-pause { width:32px; height:32px; font-size:12px; color:white; text-shadow:0 1px 2px #0008; }
.home-page > .section-categories { padding-block:28px; }
.home-page .category-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; max-width:1000px; margin:auto; }
.home-page .category-tile { min-width:0; width:auto; }
.home-page .category-tile img { width:clamp(80px,9vw,124px); height:auto; aspect-ratio:1; }
.home-page .category-tile h3 { font-size:12px; line-height:1.4; margin-top:10px; min-height:2.8em; }
.home-page .product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 20px; }
.home-page .product-card { min-width:0; display:flex; flex-direction:column; background:transparent; border:0; box-shadow:none; }
.home-page .card-image { aspect-ratio:3/4; background:#eee6dc; overflow:hidden; position:relative; }
.home-page .card-image > a { display:block; height:100%; }
.home-page .card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.home-page .product-card:hover .card-image img { transform:scale(1.025); }
.home-page .card-info { padding:12px 0 0; display:flex; flex:1; flex-direction:column; }
#main .home-page .card-info h3 { font-size:13px; line-height:1.45; min-height:2.9em; margin:0 0 8px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.home-page .card-info p { margin:0 0 12px; font-size:15px; line-height:1.5; min-height:1.5em; }
.home-page .card-detail-link { margin-top:auto; min-height:38px; font-size:11px; border:0; display:flex; justify-content:space-between; }
.home-page .wish { width:32px; height:32px; min-width:32px; min-height:32px; right:8px; top:8px; padding:7px; background:#fffaf3e8; border:0; border-radius:50%; box-shadow:none; }
.home-page .wish svg { width:18px; height:18px; }
.home-page .product-badges { top:8px; left:8px; max-width:calc(100% - 52px); display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.home-page .badge { font-size:9px; line-height:1.2; padding:5px 7px; white-space:nowrap; }
.home-page .editorial-grid { display:grid; grid-template-columns:1fr; }
.home-page .editorial-card { display:grid; grid-template-columns:1fr 1fr; background:#eee4d8; }
.home-page .editorial-card picture { height:280px; min-height:0; order:1; }
.home-page .editorial-copy { padding:32px; background:transparent; }
.home-page .editorial-copy h3 { font-size:32px; }
.home-page .comfort-selection { margin-top:36px; }
.home-page .comfort-selection .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-page .comfort-selection .card-image { aspect-ratio:4/3; }
.home-page .comfort-selection .card-image img { object-fit:contain; }
.home-page .section-benefits .section-heading { display:none; }
.home-page .benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; text-align:center; }
.home-page .benefits h3 { font-size:22px; margin:8px 0; }
.home-page .benefits p { font-size:12px; line-height:1.5; }
.home-page > .section-story, .home-page > .section-social, .home-page > .section-newsletter { max-width:1440px; }
.home-page .section-story .story p { text-align:left; font:400 16px/1.7 Manrope,Arial,sans-serif; }
.home-page .section-story .story picture img { height:260px; width:100%; object-fit:cover; }
.home-page .section-social { background:#f4ecdf; }
.home-page .section-newsletter { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; }
.home-page .section-newsletter .newsletter { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.home-page .section-newsletter input[type=email] { min-width:0; width:100%; }
.home-page .section-newsletter .newsletter-label, .home-page .section-newsletter .consent { grid-column:1/-1; }
.home-page .section-newsletter .consent { font-size:12px; line-height:1.5; }
@keyframes home-enter { from { opacity:.5; } to { opacity:1; } }
@media(max-width:1100px) {
 .site-header { grid-template-rows:72px; min-height:72px; }
 .site-header > .menu-toggle { display:grid; place-items:center; grid-area:1/1; width:40px; min-width:40px; height:44px; padding:0; justify-self:start; }
 .site-header > .instagram-control { margin-left:40px; }
 .site-header > nav { display:none; position:absolute; top:100%; left:0; right:0; grid-area:auto; background:#f5eee4; padding:16px var(--home-gutter); box-shadow:0 12px 20px #30271f0a; }
 .site-header > nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; max-height:70vh; overflow:auto; }
 .site-header > nav a { padding:12px 0; min-height:44px; }
}
@media(max-width:700px) {
 .site-header { padding-inline:12px; column-gap:4px; }
 .site-header .wordmark:has(img), .site-header .wordmark img { width:96px; }
 .site-header .header-actions { gap:0; }
 .site-header .header-actions > a { width:36px; min-width:36px; height:44px; min-height:44px; }
 .site-header > .instagram-control { margin-left:34px; }
 .instagram-control > * { width:34px; }
 .announcement { font-size:10px; }
 .home-page > .section { padding:28px var(--home-gutter); }
 .home-page .section-heading { gap:10px; margin-bottom:18px; }
 .home-page .section-heading h2 { font-size:27px; }
 .home-page .section-heading .underlink { font-size:10px; }
 .home-page .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
 .home-page .category-tile img { width:80px; }
 .home-page .product-grid, #main .home-page .section-bestsellers .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; }
 .home-page .comfort-selection .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .home-page .comfort-selection .card-image { aspect-ratio:1; }
 #main .home-page .comfort-selection .card-info h3 { font-size:11px; }
 .home-page .comfort-selection .card-info p { font-size:12px; }
 .home-page .comfort-selection .badge { display:none; }
 .home-page .comfort-selection .wish { width:28px; min-width:28px; height:28px; min-height:28px; padding:5px; right:4px; top:4px; }
 .home-page .comfort-selection .card-detail-link { font-size:10px; gap:3px; }
 .home-page .editorial-card picture { height:200px; }
 .home-page .editorial-copy { padding:18px 14px; }
 .home-page .editorial-copy h3 { font-size:24px; }
 .home-page .editorial-copy p { font-size:12px; }
 .home-page .editorial-copy .btn { padding:10px; font-size:10px; }
 .home-page .section-story .story > div { display:flex; flex-direction:column; align-items:stretch; }
 .home-page .section-story .story picture img { height:200px; }
 .home-page .section-newsletter { grid-template-columns:1fr; gap:16px; }
 .home-page .benefits { gap:12px; }
 .home-page .benefits h3 { font-size:17px; }
 .home-page .benefits p { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .home-page *, .home-page *::after { animation:none!important; transition:none!important; } }
/* Keep form traps out of layout and compact text-only editorial sections. */
.home-page .newsletter .honeypot { width:1px; height:1px; min-width:0; padding:0; border:0; left:0; top:0; }
.home-page .newsletter { position:relative; }
.home-page .section-story .story { display:block; min-height:0; padding:0; }
.home-page .section-story .story > div { min-height:0; padding:0; gap:20px; }
.home-page .section-story .story > div:not(:has(picture)) { max-width:680px; }
.home-page .section-story .story p { margin:0; }
.home-page .section-social > p { margin:0 0 20px; text-align:left; }
.home-page .section-bestsellers .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-page .card-detail-link { padding:10px 12px; border:1px solid var(--home-line); border-radius:3px; }
.home-page .section-newproducts .card-detail-link { border-color:var(--home-ink); }
.home-page .category-tile h3 { min-height:0; }
@media(max-width:700px) {
 .home-page .comfort-selection .card-detail-link { padding:8px 4px; }
 .home-page .section-story .story > div > .btn { align-self:flex-start; }
}




@media(max-width:700px) {
 .home-page .home-slide { height:clamp(480px,calc(100svh - 120px),820px); }
 .home-page .home-slide-copy { bottom:48px; width:calc(100% - 64px); gap:12px; }
 .home-page .home-slide-copy h2 { font-size:clamp(21px,5.6vw,28px); line-height:1.2; }
 .home-page .home-slide-copy .btn { min-height:44px; padding:9px 18px; font-size:11px; }
 .home-hero .hero-prev { left:4px; }
 .home-hero .hero-next { right:4px; }
}



.home-hero .hero-arrow:hover { background:#32271f; color:#fff8ed; border-color:#32271f; }
.home-hero .hero-arrow:focus-visible, .home-page .home-slide-copy .btn:focus-visible { outline:3px solid white; outline-offset:4px; box-shadow:0 0 0 6px #32271f; }
@media(max-width:700px) {
 .home-hero .hero-arrow { width:44px; height:44px; min-height:44px; font-size:32px; }

}






/* Blend the white studio paper into the comfort collection's warm surface. */
.home-page .comfort-selection .card-image { background:#eee6dc; isolation:isolate; }
.home-page .comfort-selection .card-image img { background:transparent; mix-blend-mode:multiply; }
.home-page > .section-social { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px 36px; padding-block:32px; background:#f3eadf; border-block:1px solid #e5d9c9; }
.home-page .section-social .section-heading { margin:0; }
.home-page .section-social .section-heading h2 { font-size:clamp(26px,2.6vw,36px); }
.home-page .section-social > p { grid-column:1; margin:0; font-size:13px; line-height:1.6; }
.home-page .section-social .social-links { grid-column:2; grid-row:1/3; display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0; }
.home-page .section-social .social-button { display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:12px 16px; border:1px solid #d5c4b0; background:#faf7f2; color:#32271f; border-radius:3px; }
.home-page .section-social .social-button span { font-size:12px; }
.home-page .section-social .social-icon { width:24px; height:24px; flex:none; }
.home-page .section-social .social-unconfigured { opacity:1; }
.home-page .section-social a.social-button:hover { background:#32271f; color:#fff8ed; border-color:#32271f; text-decoration:none; }
.home-page .section-social .underlink { margin-left:6px; font-size:12px; }
.home-page .benefits > div { display:flex; flex-direction:column; align-items:center; gap:10px; padding:20px 12px; border:0; }
.home-page .benefits .benefit-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:#eee4d8; color:#503a2b; font-size:initial; }
.home-page .benefits .benefit-icon svg { display:block; width:30px; height:30px; }
.home-page .benefits h3, .home-page .benefits h3 a { font:500 22px/1.2 'Cormorant Garamond',Georgia,serif; margin:0; color:#32271f; }
.home-page .benefits p { max-width:32ch; margin:0; font-size:12px; }
@media(max-width:1100px) {
 .home-page > .section-social { grid-template-columns:1fr; gap:12px; }
 .home-page .section-social .social-links { grid-column:1; grid-row:auto; margin-top:6px; }
}
@media(max-width:700px) {
 .home-page .benefits { grid-template-columns:1fr; gap:0; }
 .home-page .benefits > div { display:grid; grid-template-columns:48px 1fr; column-gap:16px; padding:16px 0; text-align:left; }
 .home-page .benefits .benefit-icon { width:48px; height:48px; grid-row:1/3; }
 .home-page .benefits h3, .home-page .benefits h3 a { font-size:21px; }
 .home-page .benefits p { grid-column:2; max-width:none; }
 .home-page .section-social .social-button { padding:10px 12px; }
 .home-page .section-social .underlink { margin:4px 0 0; }
}


/* A short primary menu; all active categories remain in the dropdown. */
.site-header > #main-nav { align-items:center; gap:clamp(20px,3vw,44px); }
#main-nav .nav-categories { position:relative; margin:0; padding:0; border:0; }
#main-nav .nav-categories summary { display:flex; align-items:center; justify-content:space-between; gap:8px; cursor:pointer; list-style:none; padding:0; }
#main-nav .nav-categories summary::-webkit-details-marker { display:none; }
#main-nav .nav-categories summary svg { transition:transform .18s; }
#main-nav .nav-categories[open] summary svg { transform:rotate(180deg); }
#main-nav .nav-category-list { position:absolute; z-index:25; top:calc(100% + 12px); left:50%; transform:translateX(-50%); width:250px; padding:12px; background:#faf7f2; border:1px solid #dfd4c7; border-radius:3px; box-shadow:0 8px 24px #32271f12; }
#main-nav .nav-category-list a { display:block; padding:11px 12px; line-height:1.5; font-size:13px; text-transform:none; }
#main-nav .nav-category-list a:hover { background:#eee4d8; text-decoration:none; }
@media(max-width:1100px) {
 .site-header > #main-nav.open { align-items:stretch; gap:0; }
 #main-nav .nav-categories summary { min-height:44px; padding:12px 0; }
 #main-nav .nav-category-list { position:static; transform:none; width:100%; margin:0 0 12px; padding:4px 12px; box-shadow:none; border:0; border-left:1px solid #d5c4b0; border-radius:0; background:transparent; }
 #main-nav .nav-category-list a { padding:10px 8px; }
}
