.ts-home { padding-block: 1.5rem 3rem; }
.home-welcome { display: grid; grid-template-columns: 1.4fr 1fr; gap: 2rem; align-items: center; background: linear-gradient(115deg,#e5f4fb,#f5f9fc); border: 1px solid #e0edf4; border-radius: 24px; padding: 2rem 2.5rem; overflow: hidden; }
.home-eyebrow { font-size: .65rem; letter-spacing: .16em; text-transform: uppercase; color: #698596; margin: 0 0 .6rem; }
.home-welcome h1 { font-family: Georgia,serif; font-size: clamp(2rem,3.8vw,3.4rem); line-height: 1.12; color: #284b61; font-weight: 400; max-width: 17ch; margin: 0 0 .8rem; }
.home-welcome-copy > p:not(.home-eyebrow) { color: #607b8b; font-size: .92rem; max-width: 45ch; margin: 0 0 1.3rem; }
.home-welcome .button { font-size: .85rem; padding: .8rem 1.3rem; }
.home-welcome-art { position: relative; text-align: center; color: #63889d; font-family: Georgia,serif; }
.home-welcome-art > span:not(.home-art-star) { display: block; font-size: clamp(2rem,3.4vw,3rem); line-height: 1.12; transform: rotate(-5deg); }
.home-welcome-art em { color: #345f78; }
.home-welcome-art small { display: block; font: .7rem sans-serif; letter-spacing: .07em; margin-top: 1.4rem; }
.home-art-star { display: block; font-size: 2.8rem; line-height: 1; margin-bottom: .6rem; }
.home-welcome-art img { width: 100%; height: 230px; object-fit: cover; border-radius: 16px; }
.home-new,.home-categories,.home-featured { margin-top: 2.4rem; }
.home-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.home-section-heading h2 { font: 400 clamp(1.5rem,2.5vw,2rem)/1.2 Georgia,serif; color: #284b61; margin: 0; }
.home-carousel-actions { display: flex; align-items: center; gap: .5rem; }
.home-carousel-actions a { font-size: .8rem; color: #587b90; text-decoration: none; margin-right: .6rem; }
.home-carousel-actions button { width: 42px; height: 42px; padding: 0; border: 1px solid #d3e6f0; border-radius: 50%; color: #345f78; background: #edf7fc; cursor: pointer; }
.home-carousel-actions button[hidden] { display: none; }
.home-carousel-actions button:disabled { opacity: .35; cursor: default; }
.home-carousel { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #c5e4f3 transparent; padding: 4px 0 12px; }
.home-carousel .woocommerce ul.products[class*="columns-"] { display: flex; gap: 1rem; margin: 0; }
.home-carousel .woocommerce ul.products[class*="columns-"] li.ts-product-card { flex: 0 0 calc((100% - 3rem)/4); width: calc((100% - 3rem)/4); scroll-snap-align: start; box-sizing: border-box; }
.home-carousel:focus-visible,.home-carousel-actions button:focus-visible { outline: 3px solid #54879f; outline-offset: 3px; }
.home-category-links { display: flex; flex-wrap: wrap; gap: .8rem; }
.home-category-links a { display: flex; align-items: center; gap: 2rem; padding: 1rem 1.4rem; border: 1px solid #dcebf3; border-radius: 16px; background: #f0f8fc; color: #34566b; text-decoration: none; font-size: .9rem; }
.home-category-links a:hover { background: #e0f1fa; }
@media(max-width:768px) {
 .home-welcome { grid-template-columns: 1fr; padding: 1.5rem; gap: 0; }
 .home-welcome-art { display: none; }
 .home-section-heading { align-items: end; }
 .home-carousel-actions { gap: .35rem; }
 .home-carousel-actions a { display: none; }
 .home-carousel-actions button { width: 38px; height: 38px; }
 .home-carousel .woocommerce ul.products[class*="columns-"] li.ts-product-card { flex-basis: calc((100% - 1rem)/2); width: calc((100% - 1rem)/2); }
 .home-new,.home-categories,.home-featured { margin-top: 1.8rem; }
 .home-category-links a { width: 100%; justify-content: space-between; }
}
/* Minimal welcome strip puts the products first. */
.home-welcome { display: block; padding: 1.1rem 1.4rem; border-radius: 16px; }
.home-welcome-art, .home-welcome-copy > .home-eyebrow { display: none; }
.home-welcome-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1.5rem; align-items: center; }
.home-welcome h1 { grid-column: 1; font-size: clamp(1.45rem, 2.4vw, 1.9rem); max-width: none; margin: 0 0 .35rem; line-height: 1.2; }
.home-welcome-copy > p:not(.home-eyebrow) { grid-column: 1; font-size: .82rem; margin: 0; max-width: none; }
.home-welcome .button { grid-column: 2; grid-row: 1 / 3; padding: .65rem 1rem; font-size: .8rem; white-space: nowrap; }
.home-new { margin-top: 1.5rem; }
@media (max-width: 600px) {
    .home-welcome { padding: 1rem 1.1rem; }
    .home-welcome-copy { display: block; }
    .home-welcome h1 { font-size: 1.4rem; margin-bottom: .35rem; }
    .home-welcome-copy > p:not(.home-eyebrow) { font-size: .78rem; }
    .home-welcome .button { display: inline-block; margin-top: .65rem; padding: .5rem .85rem; font-size: .75rem; }
}

/* Visual categories and compact customer guidance. */
.home-centered-heading { text-align:center; }
.home-section-heading.home-centered-heading { flex-direction:column; gap:.6rem; }
.home-text-link { color:#34566b; font-size:.8rem; text-underline-offset:4px; }
.home-category-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }
.home-category-card { flex:0 1 calc((100% - 3rem)/4); min-width:0; border:1px solid #dcebf3; border-radius:18px; overflow:hidden; background:#f0f8fc; text-decoration:none; color:#284b61; transition:box-shadow .2s; }
.home-category-image { display:block; aspect-ratio:3/4; overflow:hidden; background:#e6f2f8; }
.home-category-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .25s; }
.home-category-caption { display:flex; align-items:center; justify-content:center; gap:.65rem; padding:.8rem .6rem; font-weight:600; font-size:.88rem; text-align:center; }
.home-category-placeholder { display:grid; height:100%; place-items:center; font-size:3rem; color:#63889d; }
.home-category-card:hover { box-shadow:0 5px 18px #284b6114; }
.home-category-card:hover img { transform:none; }
.home-confidence { margin-top:2.4rem; padding:1.5rem; border:1px solid #dcebf3; border-radius:20px; background:linear-gradient(120deg,#edf8fd,#f7fbfd); }
.home-confidence h2 { margin:0; font:400 clamp(1.4rem,2.5vw,1.8rem)/1.2 Georgia,serif; color:#284b61; }
.home-confidence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.2rem; }
.home-confidence-item { display:flex; flex-direction:column; align-items:center; gap:.7rem; text-align:center; text-decoration:none; color:#284b61; padding:.6rem; border-radius:12px; }
.home-confidence-icon { display:grid; place-items:center; width:42px; height:42px; background:#d9eef9; border-radius:50%; flex-shrink:0; }
.home-confidence-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.home-confidence-item h3 { margin:0 0 .35rem; font-size:.93rem; color:#284b61; }
.home-confidence-item p { margin:0 auto .5rem; max-width:30ch; font-size:.8rem; line-height:1.6; color:#506c7d; }
.home-confidence-link { font-size:.76rem; font-weight:600; }
.home-confidence-item:hover { background:#dfedf580; }
.home-category-card:focus-visible,.home-confidence-item:focus-visible,.home-text-link:focus-visible { outline:3px solid #54879f; outline-offset:4px; }
@media(max-width:600px) {
 .home-category-grid { gap:.75rem; }
 .home-category-card { flex-basis:calc((100% - .75rem)/2); border-radius:14px; }
 .home-category-caption { font-size:.8rem; padding:.65rem .4rem; }
 .home-confidence { padding:1.2rem 1rem; margin-top:1.8rem; }
 .home-confidence-grid { grid-template-columns:1fr; gap:.4rem; }
 .home-confidence-item { flex-direction:row; text-align:left; gap:1rem; padding:.8rem .3rem; }
 .home-confidence-item + .home-confidence-item { border-top:1px solid #dcebf3; }
 .home-confidence-item p { max-width:none; }
}
@media(prefers-reduced-motion:reduce) { .home-category-card,.home-category-image img { transition:none; } }

.home-buying-guide { margin-block:3rem; padding-block:28px; border-top:1px solid #e1edf3; }
.home-buying-guide .home-centered-heading > p:last-child { color:#68828f; font-size:.9rem; margin:12px auto 24px; max-width:520px; }
.home-buying-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; list-style:none; margin:0; padding:0; }
.home-buying-steps li { padding:24px 20px; border:1px solid #dfedf3; border-radius:18px; background:linear-gradient(150deg,#f0f9fd,#fff); text-align:center; }
.home-step-number { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-bottom:16px; border-radius:50%; background:#dceff8; color:#426c82; font-size:.85rem; font-weight:600; letter-spacing:.06em; }
.home-buying-steps h3 { color:#284b61; font-size:1rem; margin:0 0 10px; line-height:1.35; }
.home-buying-steps p { color:#607b89; font-size:.86rem; line-height:1.7; margin:0; }
.home-buying-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px 24px; margin-top:24px; font-size:.85rem; }
.home-buying-actions .button { background:#c5e4f3; border-color:#afd4e7; color:#284b61; border-radius:12px; }
.home-buying-actions .button:hover { background:#afd9ed; color:#203e51; }
@media(max-width:900px) { .home-buying-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .home-buying-guide { margin-block:2rem; } .home-buying-steps { grid-template-columns:1fr; gap:12px; } .home-buying-steps li { padding:20px; } }

/* Category edit: compact editorial heading and quiet, framed category cards. */
.home-categories{padding-top:28px;padding-bottom:28px}
.home-categories .home-section-heading{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;margin-bottom:24px}
.home-categories .home-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 8px;color:#54879f;font-size:10px;letter-spacing:.18em;font-weight:600;text-transform:uppercase}
.home-categories .home-eyebrow::before,.home-categories .home-eyebrow::after{content:'';width:24px;height:1px;background:#b4cedc}
.home-categories #home-categories-title{font-family:Georgia,serif;font-weight:400;font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:-.025em;margin:0;color:#284b61}
.home-categories .home-text-link{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:7px 15px;border:1px solid #cfdee7;border-radius:24px;color:#426e83;background:#fff;text-decoration:none;font-size:12px}
.home-categories .home-category-grid{gap:18px}
.home-categories .home-category-card{flex-basis:calc((100% - 54px)/4);background:#fff;border:1px solid #d9e6ed;border-radius:18px;padding:7px;box-sizing:border-box;box-shadow:0 3px 14px #284b6105}
.home-categories .home-category-image{border-radius:12px;aspect-ratio:3/4;background:#f2f7fa}
.home-categories .home-category-image img{object-fit:contain;object-position:center;transform:none}
.home-categories .home-category-caption{justify-content:space-between;gap:10px;padding:14px 8px 8px;font-size:13px;font-weight:500;line-height:1.4;text-align:left;color:#315b72}
.home-categories .home-category-caption>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#edf5f9;color:#54879f;font-size:16px}
.home-categories .home-category-card:hover{border-color:#91b7cb;box-shadow:0 6px 18px #284b6110}
.home-categories .home-text-link:hover{background:#edf5f9;border-color:#91b7cb}
@media(max-width:767px){.home-categories{padding-top:18px;padding-bottom:18px}.home-categories .home-section-heading{gap:10px;margin-bottom:18px}.home-categories .home-category-grid{gap:12px}.home-categories .home-category-card{flex-basis:calc((100% - 12px)/2);padding:5px;border-radius:15px}.home-categories .home-category-image{border-radius:10px}.home-categories .home-category-caption{padding:10px 5px 5px;font-size:12px;gap:5px}.home-categories .home-category-caption>span{width:24px;height:24px;flex-basis:24px;font-size:14px}}

/* Balance category counts: avoid a 4 + 1 desktop layout. */
@media(min-width:1100px){
.home-categories .home-category-grid:has(>.home-category-card:nth-child(5):last-child)>.home-category-card{flex:0 0 calc((100% - 72px)/5)}
.home-categories .home-category-grid:has(>.home-category-card:nth-child(6):last-child)>.home-category-card{flex:0 0 calc((100% - 36px)/3)}
}
@media(min-width:768px) and (max-width:1099px){.home-categories .home-category-card{flex:0 0 calc((100% - 36px)/3)}}
