/* Screenshot-inspired homepage: educational and research-led, not a shop. */
.home-page-shell { width: min(100% - 36px, 1460px); padding-top: 0 !important; padding-bottom: 34px; }
.home-hero { display: grid; grid-template-columns: minmax(290px, .92fr) minmax(450px, 1.35fr); gap: 0; min-height: 410px; border-bottom: 1px solid #d2e9ed; }
.home-hero-copy { padding: clamp(26px, 3.5vw, 54px) 26px 32px 12px; align-self: center; }
.home-hero h1 { font-size: clamp(2.4rem, 4.35vw, 4.3rem); line-height: .99; letter-spacing: -.045em; color: #102940; max-width: 12ch; font-weight: 800; }
.home-hero h1 em { display: block; font-style: normal; color: #007d87; }
.home-hero .intro { max-width: 39ch; font-size: clamp(1rem, 1.3vw, 1.13rem); line-height: 1.5; margin: 22px 0; color: #283f50; }
.home-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.home-hero-actions a { padding: 13px 18px; display: inline-flex; align-items: center; gap: 12px; justify-content: center; min-height: 51px; border-radius: 999px; }
.home-hero-actions a span:last-child { font-size: 1.25rem; }
.home-hero-portraits {
  position: relative;
  min-width: 0;
  min-height: 405px;
  overflow: hidden;
  background: linear-gradient(130deg, #e9f9fa, #a9dae3 62%, #d7f0f0);
  border-radius: 0 0 26px 26px;
}
.home-hero-couple-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}


.home-search-block { display:flex; align-items:center; gap:30px; justify-content:space-between; margin:26px 0 30px; padding: 22px 28px; border:1px solid #d3e7eb; border-radius:21px; background:#fff; box-shadow: 0 4px 17px rgba(11,49,71,.04); }
.home-search-block > div { max-width:420px; }
.home-search-block .eyebrow { font-size:.72rem; }
.home-search-block h2 { font-size: clamp(1.35rem,2vw,1.7rem); margin:0 0 5px; }
.home-search-block p:last-child { margin:0; color:#486178; font-size:.9rem; }
.home-search-form { display:flex; align-items:center; gap:10px; flex:1 1 380px; max-width:620px; }
.home-search-form input { flex:1; min-width:0; min-height:52px; padding:12px 16px; border:1px solid #b9d6de; background:#f9fdfd; border-radius:14px; }
.home-search-form .primary-button { border-radius:14px; min-height:52px; }
.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; }

.home-content-grid { display:grid; grid-template-columns: minmax(0,1.8fr) minmax(300px,.9fr); gap:18px; align-items:stretch; }
.home-discovery,.home-category-panel,.home-ingredient { background:#fff; border:1px solid #d1e3e8; border-radius:19px; box-shadow:0 4px 19px rgb(14 53 74 / 4%); }
.home-discovery { padding:25px; min-width:0; }
.home-section-heading { display:flex; justify-content:space-between; gap:15px; align-items:end; margin-bottom:20px; }
.home-section-heading h2 { margin:0 0 5px; font-size:clamp(1.55rem,2.6vw,2.2rem); line-height:1.1; color:#102e46; }
.home-section-heading p:last-child { margin:6px 0 0; color:#50677b; max-width:55ch; font-size:.89rem; }
.home-section-heading > a { color:#006f7b; font-weight:700; font-size:.89rem; white-space:nowrap; text-decoration:none; }
.home-product-previews { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:stretch; }
.home-product-card { display:flex; flex-direction:column; min-width:0; padding:11px; border:1px solid #d5e5e9; border-radius:13px; background:#fff; text-decoration:none; transition:transform .15s ease,border-color .15s ease; }
.home-product-card:hover,.home-product-card:focus-visible { transform:translateY(-2px); border-color:#07838c; }
.home-product-media { display:grid; place-items:center; height:135px; border-radius:10px; background:linear-gradient(150deg,#f5fafb,#eaf3f5); overflow:hidden; margin-bottom:10px; }
.home-product-media img { max-width:100%; width:100%; height:100%; object-fit:contain; }
.home-product-bottle { width:54px; height:83px; display:block; border:2px solid #a8c2ca; border-radius: 11px 11px 13px 13px; position:relative; background:linear-gradient(120deg,#e0f5f4,#fdfefe); box-shadow:11px 12px 15px rgba(14,62,72,.1); }
.home-product-bottle::before { content:""; position:absolute; width:33px; height:15px; top:-14px; left:9px; background:#204657; border-radius:5px 5px 1px 1px; }
.home-product-bottle::after { content:""; position:absolute; top:33px; left:3px; right:3px; height:24px; border-top:2px solid #9bcbd1; border-bottom:2px solid #9bcbd1; background:#dcf0f1; }
.home-product-card:nth-child(2) .home-product-bottle { border-radius:9px 9px 16px 16px; background:linear-gradient(130deg,#f5e8dd,#e4f1ef); }
.home-product-card:nth-child(3) .home-product-bottle { width:70px; height:65px; margin-top:18px; border-radius:11px; background:#e5eeec; }
.home-product-card:nth-child(3) .home-product-bottle::before { width:69px; left:-1px; top:-12px; border-radius:5px; }
.home-product-card:nth-child(4) .home-product-bottle { width:37px; height:85px; background:#f3f8fa; }
.home-product-card:nth-child(4) .home-product-bottle::before { width:20px; left:7px; }
.home-product-category { margin:0 0 5px; color:#007789; font-size:.71rem; font-weight:700; text-transform:uppercase; }
.home-product-card strong { display:block; color:#162f48; line-height:1.27; font-size:.93rem; overflow-wrap:anywhere; }
.home-product-brand { color:#536d80; font-size:.8rem; margin:6px 0 0; }
.home-product-more { margin-top:auto; padding-top:14px; color:#007c85; font-weight:700; font-size:.8rem; }
.home-loading { grid-column:1/-1; color:#50677b; }
.home-disclosure { margin:14px 0 0; font-size:.77rem; color:#526c80; line-height:1.55; }
.home-disclosure a { color:#006f81; }
.home-education { display:grid; grid-template-rows:auto 1fr; gap:14px; min-width:0; }
.home-ingredient { display:grid; grid-template-columns: 35% minmax(0,1fr); gap:13px; padding:15px; background:linear-gradient(120deg,#e2f5f6,#fff); }
.home-ingredient-visual { min-height:198px; border-radius:15px; display:grid; place-items:center; background: radial-gradient(circle at 50% 40%,#a4e7eb,#65bdc7 55%,#157e91); position:relative; overflow:hidden; }
.home-ingredient-visual span { display:grid; place-items:center; color:#eaffff; border:3px solid #d8f9ff; width:85px;height:85px;border-radius:50%; font-size:1.5rem; font-weight:800; box-shadow:0 5px 28px #1d718872; }
.home-ingredient-visual i { position:absolute; border:2px solid #d6fbfd; border-radius:50%; opacity:.6; }
.home-ingredient-visual i:nth-of-type(1) { width:40px; height:40px; right:14px; top:14px; }
.home-ingredient-visual i:nth-of-type(2) { width:24px; height:24px; left:14px; bottom:17px; }
.home-ingredient-visual i:nth-of-type(3) { width:18px; height:18px; right:43px; bottom:16px; }
.home-ingredient h2 { font-size:1.45rem; line-height:1.08; margin: 3px 0 9px; color:#142e44; }
.home-ingredient p:not(.eyebrow) { margin:0 0 10px; color:#3b5368; font-size:.88rem; line-height:1.5; }
.home-ingredient details { font-size:.83rem; color:#3b5368; }
.home-ingredient summary { color:#00798a; font-weight:700; cursor:pointer; }
.home-category-panel { padding:18px; }
.home-section-heading.compact { margin-bottom:10px; }
.home-section-heading.compact h2 { font-size:1.5rem; }
.home-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.home-category-grid a { display:flex; flex-direction:column; gap:7px; align-items:center; justify-content:center; padding:13px 7px; text-decoration:none; color:#1c455b; text-align:center; background:#edf8fa; border:1px solid #d6e9ed; border-radius:10px; font-size:.78rem; font-weight:700; min-height:83px; }
.home-category-grid a:hover,.home-category-grid a:focus-visible { background:#d9f1f4; border-color:#008491; }
.home-category-grid span { font-size:1.5rem; line-height:1; color:#007688; }
.home-all-categories { display:inline-block; margin-top:14px; text-decoration:none; color:#007788; font-size:.85rem; font-weight:700; }
.home-bottom-banner { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:25px 32px; margin:18px 0; border-radius:17px; background:linear-gradient(110deg,#12344d,#052b42); color:white; }
.home-banner-heading p { margin:0 0 4px; font-size:clamp(1.3rem,2.3vw,2rem); line-height:1.12; font-weight:750; }
.home-banner-heading strong { color:#60cfd4; }
.home-banner-heading span { font-size:.9rem; color:#c7e6e9; }
.home-banner-links { display:flex; gap:8px; }
.home-banner-links a { display:grid; gap:7px; color:#e5f7f9; min-width:98px; font-size:1.45rem; text-align:center; text-decoration:none; border-left:1px solid #4f7988; padding:2px 10px; }
.home-banner-links a span { font-size:.77rem; }
.home-footer-note { display:flex; gap:20px; justify-content:space-between; align-items:start; color:#536c7d; font-size:.78rem; }
.home-footer-note p { margin:0; max-width:64ch; }
.home-footer-note a { color:#006e7c; }
.home-photo-credit { text-align:right; }
@media (max-width:1200px) {
 .home-hero { grid-template-columns:minmax(280px,.95fr) minmax(280px,1.1fr); }
 .home-hero-portraits { border-radius:0 0 18px 18px; }
}
@media (max-width:980px) {
 .home-content-grid { grid-template-columns:minmax(0,1fr); }
 .home-education { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); grid-template-rows:auto; }
 .home-search-block { flex-wrap:wrap; gap:12px; }
 .home-search-form { max-width:none; }
}
@media (max-width:720px) {
 .home-page-shell { width:calc(100% - 20px); }
 .home-hero { display:flex; flex-direction:column; }
 .home-hero-copy { padding:27px 7px 17px; }
 .home-hero h1 { max-width:14ch; font-size:clamp(2.3rem,9vw,3.6rem); }
 .home-hero .intro { margin:17px 0; }
 .home-hero-portraits { order:2; min-height:0; max-height:none; }
 .home-hero-couple-image { width:100%; height:auto; aspect-ratio:1100/653; object-fit:contain; }
 .home-search-block { padding:18px 16px; margin:20px 0; }
 .home-discovery { padding:17px; }
 .home-product-previews { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-education { grid-template-columns:1fr; }
 .home-bottom-banner { flex-direction:column; align-items:stretch; padding:22px; }
 .home-banner-links { justify-content:space-around; }
 .home-footer-note { flex-direction:column; gap:9px; }
 .home-photo-credit { text-align:left; }
}
@media (max-width:420px) {
 .home-hero-actions { flex-direction:column; }
 .home-hero-actions a { width:100%; }
 .home-hero-portraits { min-height:0; }
 .home-search-form { flex-direction:column; }
 .home-search-form input,.home-search-form button { width:100%; }
 .home-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-section-heading { align-items:start; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { .home-product-card { transition:none; } }
