/* Static SEO landing pages: use the existing Style Grid palette and catalog components. */
.seo-header { display:flex; align-items:center; justify-content:space-between; gap:24px; width:min(calc(100% - 2 * var(--gutter)),var(--page-width)); margin:0 auto; padding:24px 0; }
.seo-brand { color:var(--ink); font:500 clamp(1.8rem,2.4vw,2.35rem)/.98 var(--display); letter-spacing:-.04em; text-decoration:none; }
.seo-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:20px; color:var(--brand); font-size:1rem; }
.seo-nav a { text-decoration:none; }
.seo-nav a:hover,.seo-breadcrumb a:hover,.seo-footer a:hover { text-decoration:underline; text-underline-offset:.2em; }
.seo-main { width:min(calc(100% - 2 * var(--gutter)),var(--page-width)); margin:0 auto; }
.seo-page { --photo:var(--surface-soft); }
.seo-intro { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(280px,.8fr); align-items:center; gap:clamp(28px,5vw,72px); padding:clamp(52px,8vw,108px) 0 clamp(46px,7vw,84px); }
.seo-breadcrumb { margin:0 0 22px; color:var(--muted); font-size:1rem; }
.seo-breadcrumb a { color:var(--brand); }
.seo-intro h1 { max-width:18ch; margin:0; color:var(--ink); font:600 clamp(2.8rem,6vw,5.2rem)/1.06 var(--display); letter-spacing:-.035em; text-wrap:balance; }
.seo-intro p { max-width:52ch; margin:22px 0 0; color:var(--muted); font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.55; }
.seo-hero-product { width:100%; max-width:520px; justify-self:end; margin:0; }
.seo-hero-photo { display:grid; width:100%; aspect-ratio:1.05; padding:clamp(22px,3vw,42px); place-items:center; overflow:hidden; background:var(--photo); }
.seo-hero-photo img { width:100%; height:100%; object-fit:contain; transition:transform .7s var(--ease); }
.seo-hero-product:hover .seo-hero-photo img,.seo-hero-product:focus-within .seo-hero-photo img { transform:scale(1.025); }
.seo-hero-product figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; margin-top:12px; color:var(--muted); font-size:1rem; }
.seo-action-row { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:26px; }
.seo-category-section { padding:clamp(36px,5vw,66px) 0; background:var(--surface-soft); }
.seo-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.seo-section-head h2 { margin:0; font:500 clamp(1.9rem,3.6vw,3rem)/1.12 var(--display); letter-spacing:-.03em; }
.seo-section-head p { max-width:46ch; margin:8px 0 0; color:var(--muted); font-size:1rem; }
.seo-category-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.seo-category { min-width:0; padding:22px 24px; background:var(--surface); }
.seo-category h3 { margin:0; font:500 clamp(1.3rem,2vw,1.7rem)/1.25 var(--display); }
.seo-category p { margin:8px 0 14px; color:var(--muted); font-size:1rem; }
.seo-category a { color:var(--brand); font-weight:600; text-decoration:none; }
.seo-category a:hover { text-decoration:underline; text-underline-offset:.2em; }
.seo-products-section { padding:clamp(48px,7vw,90px) 0; }
.seo-product-grid { margin-top:24px; }
.seo-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px 24px; padding:28px 0 42px; color:var(--muted); font-size:1rem; }
.seo-footer a { color:var(--brand); }
.seo-motion-ready [data-reveal] { opacity:.84; transform:translateY(12px); transition:opacity .65s var(--ease) var(--seo-delay,0ms),transform .65s var(--ease) var(--seo-delay,0ms); }
.seo-motion-ready [data-reveal].seo-visible { opacity:1; transform:translateY(0); }
.seo-motion-ready .seo-hero-product img { transition:transform .7s var(--ease); }
@media (prefers-reduced-motion:reduce) { .seo-motion-ready [data-reveal],.seo-hero-product img { opacity:1; transform:none; transition:none; } }
.not-found-page { min-height:100svh; display:flex; flex-direction:column; }
.not-found-content { flex:1; display:flex; flex-direction:column; justify-content:center; width:min(calc(100% - 2 * var(--gutter)),var(--page-width)); margin:0 auto; padding:64px 0 110px; }
.not-found-content h1 { max-width:16ch; margin:0; font:500 clamp(2.7rem,6vw,5rem)/1.08 var(--display); letter-spacing:-.035em; }
.not-found-content p { max-width:44ch; margin:22px 0 28px; color:var(--muted); font-size:1.15rem; }
.not-found-brand { display:block; width:min(calc(100% - 2 * var(--gutter)),var(--page-width)); margin:0 auto; padding:28px 0; color:var(--ink); font:500 clamp(1.8rem,2.4vw,2.35rem)/.98 var(--display); letter-spacing:-.04em; text-decoration:none; }
@media (max-width:700px) {
  .seo-header { align-items:flex-start; flex-direction:column; gap:14px; padding:20px 0; }
  .seo-nav { justify-content:flex-start; gap:16px; }
  .seo-intro { grid-template-columns:1fr; gap:28px; padding-top:44px; }
  .seo-hero-product { max-width:460px; justify-self:start; }
  .seo-section-head { align-items:flex-start; flex-direction:column; }
  .seo-category-list { grid-template-columns:1fr; gap:10px; }
  .seo-category { padding:18px 20px; }
}
