/* Editorial storefront, scoped to the homepage. Existing accessibility rules load last. */
.home-page { --home-muted: #49685b; }
.home-page a { text-underline-offset: .25em; }
.home-reveal { --reveal:1; margin:60px 4.5% 0; background:#e8ede2; border-radius:20px; position:relative; }
.home-reveal-sticky { padding:44px 4% 30px; }
.home-reveal-heading { position:relative; z-index:2; text-align:center; }
.home-reveal-heading h2 { font-size:clamp(2.4rem,4.5vw,4.3rem); letter-spacing:-.055em; margin:14px 0; }
.home-reveal-heading p { color:#49685b; margin:0; }
.home-reveal-stage { height:380px; position:relative; isolation:isolate; overflow:hidden; background:#e8ede2; }
.reveal-orbit { position:absolute; inset:10% 18% 1%; border:1px solid #c6d1bd; border-radius:50%; transform:scale(calc(.65 + var(--reveal) * .35)); }
.reveal-product { position:absolute; width:29%; max-width:300px; left:50%; top:30px; mix-blend-mode:multiply; transform-origin:50% 85%; }
.reveal-product img { display:block; width:100%; height:auto; transform:scale(1.35); mask-image:linear-gradient(to right,transparent,#000 23%,#000 77%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 90%,transparent); mask-composite:intersect; }
.reveal-product-0 { z-index:1; transform:translate(calc(-50% - var(--reveal) * 94%),calc(65px - var(--reveal) * 40px)) rotate(calc(-4deg - var(--reveal) * 14deg)); }
.reveal-product-1 { z-index:3; transform:translate(-50%,calc(70px - var(--reveal) * 68px)) rotate(calc(3deg - var(--reveal) * 3deg)); }
.reveal-product-2 { z-index:2; transform:translate(calc(-50% + var(--reveal) * 96%),calc(75px - var(--reveal) * 36px)) rotate(calc(5deg + var(--reveal) * 12deg)); }
.reveal-sleeve { position:absolute; z-index:4; left:50%; bottom:12px; width:34%; max-width:350px; height:150px; border:1px solid #aabfa4; border-radius:6px 6px 24px 24px; background:#c8d6bc; box-shadow:0 18px 32px -24px #164a4355; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; transform:translate(-50%,calc(var(--reveal) * 150px)) rotate(calc(var(--reveal) * 6deg)); opacity:calc(1 - var(--reveal)); }
.reveal-sleeve img { width:65%; height:auto; }
.reveal-sleeve span { font-size:.6rem; letter-spacing:.15em; }
.home-reveal-controls { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 24px; min-height:44px; font-size:.75rem; color:#49685b; }
.reveal-motion { min-height:44px; background:transparent; border:1px solid #819781; border-radius:30px; color:#164a43; padding:8px 16px; font:inherit; cursor:pointer; }
.reveal-motion[aria-pressed="true"] { background:#164a43; color:#fff; }
.home-reveal [hidden] { display:none; }
.home-reveal-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:20px; }
.home-reveal-links a { border-top:1px solid #b2c1ac; display:flex; flex-direction:column; gap:8px; padding:16px 0; font-size:.875rem; }
.home-reveal-links a > span:last-child { display:flex; justify-content:space-between; color:#49685b; }
.home-collection-links { margin:26px 4.5% 0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.home-collection-links a { padding:12px 20px; border:1px solid #bdcdbb; border-radius:30px; font-size:.875rem; display:flex; gap:20px; align-items:center; min-height:44px; }
.home-collection-links a:hover { background:#e8ede2; }
@media(min-width:761px) and (min-height:780px) and (prefers-reduced-motion:no-preference) {
  .home-reveal.has-motion { min-height:125vh; }
  .home-reveal.has-motion .home-reveal-sticky { position:sticky; top:80px; }
}
@media(max-width:760px) {
  .home-reveal { margin:32px 5% 0; }
  .home-reveal-sticky { padding:32px 6% 20px; }
  .home-reveal-stage { height:clamp(190px,54vw,340px); margin:16px -4% 0; }
  .reveal-product { width:34%; top:20px; }
  .reveal-product-0 { transform:translate(calc(-50% - var(--reveal) * 84%),calc(20px - var(--reveal) * 18px)) rotate(calc(-4deg - var(--reveal) * 10deg)); }
  .reveal-product-1 { transform:translate(-50%,calc(35px - var(--reveal) * 35px)); }
  .reveal-product-2 { transform:translate(calc(-50% + var(--reveal) * 84%),calc(25px - var(--reveal) * 18px)) rotate(calc(5deg + var(--reveal) * 9deg)); }
  .reveal-sleeve { height:95px; bottom:5px; width:42%; gap:8px; }
  .reveal-sleeve span { display:none; }
  .home-reveal-links { grid-template-columns:1fr; gap:0; margin-top:12px; }
  .home-reveal-links a { flex-direction:row; align-items:center; justify-content:space-between; gap:16px; }
  .home-reveal-links a > span:last-child { gap:14px; white-space:nowrap; }
  .home-collection-links { margin-inline:5%; justify-content:flex-start; }
}
@media(prefers-reduced-motion:reduce) {
  .home-reveal { --reveal:1 !important; }
  .home-reveal .reveal-hint,.home-reveal .reveal-motion { display:none; }
}
.home-hero { display:grid; grid-template-columns:1fr 1fr; margin:28px 4.5% 0; background:#eaf0e5; border-radius:16px; overflow:hidden; }
.home-intro { padding:clamp(28px,4.7vw,72px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.home-intro h1 { font-size:clamp(3.3rem,6.7vw,6.3rem); line-height:1.02; letter-spacing:-.065em; margin:30px 0 24px; }
.home-intro h1 em { font-style:normal; color:#527565; }
.home-intro > p { max-width:31ch; color:var(--home-muted); margin-bottom:28px; }
.home-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; }
.home-actions .text-link { padding-block:10px; }
.home-intro-note { display:flex; align-items:center; gap:14px; margin-top:44px; padding-top:24px; border-top:1px solid #bdcdbb; width:100%; color:#425f54; font-size:.8125rem; }
.home-intro-note img { flex:none; }
.home-feature { min-width:0; display:flex; flex-direction:column; background:#dce7d9; }
.home-feature-image { display:block; position:relative; flex:1; min-height:0; }
.home-feature-image > img { width:100%; height:100%; aspect-ratio:1; object-fit:cover; }
.home-image-caption { position:absolute; inset:auto auto 14px 14px; font-size:.6875rem; padding:4px 8px; background:#f8f9f5; color:#164a43; border-radius:4px; }
.home-feature-caption { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 24px; background:#e2ebdc; }
.home-feature-caption strong { display:block; font-weight:500; font-size:1rem; }
.home-feature-caption small { display:block; color:#425f54; }
.home-feature-price { display:flex; gap:26px; align-items:center; font-size:.875rem; white-space:nowrap; }
.home-detail-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 4.5%; border-bottom:1px solid var(--line); padding-block:18px; }
.home-detail-links a { display:flex; align-items:center; gap:16px; min-height:44px; padding:8px 24px; font-size:.875rem; }
.home-detail-links a + a { border-inline-start:1px solid var(--line); }
.home-detail-links a > span:first-child { color:#526b61; font-size:.7rem; }
.home-detail-links a > span:last-child { margin-inline-start:auto; }
.home-section { padding:72px 4.5%; }
.home-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:30px; }
.home-heading h2 { font-size:clamp(2.2rem,3.6vw,3.4rem); margin:14px 0 0; }
.home-heading h2 em { font-style:normal; }
.home-heading > p { max-width:30ch; margin:0; color:var(--home-muted); }
.home-heading > .text-link { flex-shrink:0; }
.home-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.home-category { min-width:0; }
.home-category-image { position:relative; border-radius:10px; overflow:hidden; background:#e0e9dc; }
.home-category-image img { width:100%; height:auto; aspect-ratio:1.15; object-fit:cover; transition:transform .3s ease; }
.home-category:hover img { transform:scale(1.025); }
.home-category-caption { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:18px 0 0; }
.home-category-caption h3 { font-size:1.4rem; margin:0; letter-spacing:-.03em; }
.home-selection { padding-top:12px; }
body .home-selection .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.home-selection .product-title h3 { font-size:1.1rem; }
.home-selection .catalog-brand { display:none; }
.home-understanding { display:grid; grid-template-columns:1fr 1fr; gap:5%; padding-top:20px; }
.home-standards { padding:clamp(28px,4vw,56px); background:#164a43; color:#f8f9f5; border-radius:12px; }
.home-standards h2 { font-size:clamp(2.4rem,4vw,3.8rem); margin:24px 0; }
.home-standards h2 em { color:#d4e5c9; font-style:normal; }
.home-standards p { color:#e2ebdc; max-width:44ch; margin-bottom:28px; }
.home-standards .button { display:inline-flex; gap:24px; background:#eaf0e5; color:#164a43; }
.home-reading { align-self:center; padding-block:24px; }
.home-reading-link { display:grid; grid-template-columns:auto 1fr auto; gap:20px; padding-block:28px; border-bottom:1px solid var(--line); }
.home-reading-number { color:#526b61; font-size:.75rem; padding-top:5px; }
.home-reading-link h3 { font-size:1.5rem; line-height:1.3; letter-spacing:-.035em; margin-bottom:12px; }
.home-reading-link p { color:var(--home-muted); margin:0; }
.home-reading > .text-link { display:inline-flex; margin-top:22px; }
.home-bulk { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:36px 4.5% 54px; border-top:1px solid var(--line); margin-inline:4.5%; }
.home-bulk h2 { margin:12px 0 0; font-size:clamp(2rem,3.2vw,3rem); }
.home-bulk .button { flex-shrink:0; }
html[dir="rtl"] .home-image-caption { left:auto; right:14px; }
@media(min-width:1500px) { .home-page { max-width:1538px; margin-inline:auto; } }
@media(max-width:1100px) {
  .home-intro { padding:30px; }
  .home-intro h1 { font-size:clamp(3rem,6.5vw,5rem); }
  .home-intro-note { margin-top:26px; }
  body .home-selection .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-detail-links a { padding-inline:14px; gap:10px; }
}
@media(max-width:760px) {
  .home-hero { grid-template-columns:1fr; margin:18px 5% 0; }
  .home-intro { padding:32px 26px; }
  .home-intro h1 { font-size:clamp(3rem,11vw,4.8rem); margin-block:22px; }
  .home-intro > p { max-width:38ch; }
  .home-intro-note { display:none; }
  .home-feature-image > img { height:auto; aspect-ratio:1.15; }
  .home-detail-links { margin-inline:5%; grid-template-columns:1fr; padding-block:12px; }
  .home-detail-links a { padding-inline:0; }
  .home-detail-links a + a { border-inline-start:0; border-top:1px solid var(--line); }
  .home-section { padding:44px 5%; }
  .home-heading { flex-wrap:wrap; gap:18px; }
  .home-heading h2 { font-size:2.3rem; }
  .home-heading > p { max-width:38ch; }
  .home-category-grid { gap:20px; grid-template-columns:1fr; }
  .home-category { display:grid; grid-template-columns:38% 1fr; gap:20px; align-items:center; border-bottom:1px solid var(--line); padding-bottom:20px; }
  .home-category-image img { aspect-ratio:1; }
  .home-category-image .home-image-caption { display:none; }
  .home-category-caption { padding:0; }
  .home-category-caption h3 { font-size:1.25rem; }
  .home-selection { padding-top:0; }
  .home-understanding { grid-template-columns:1fr; gap:12px; padding-top:0; }
  .home-reading-link { gap:16px; }
  .home-bulk { margin-inline:5%; padding:30px 0 40px; flex-wrap:wrap; }
}
@media(max-width:500px) {
  body .home-selection .product-grid { grid-template-columns:1fr; }
  .home-feature-caption { padding:16px 20px; }
  .home-actions { gap:10px; }
  .home-actions .button { width:100%; justify-content:space-between; }
  .home-intro { padding:28px 22px 22px; }
}
