/* Shared page rhythm. The homepage is the reference for all public views. */
:root {
  --page-width:1328px;
  --page-gutters:96px;
  --page-top:24px;
  --intro-inset:8px;
  --page-heading:clamp(2.5rem,3.7vw,3.65rem);
  --page-eyebrow:.78rem;
  --metric-value:1.3rem;
  --metric-label:.72rem;
  --metric-icon:47px;
  --metric-icon-height:47px;
  --metric-icon-padding:11px;
  --metric-padding:13px 15px;
  --metric-gap:14px;
  --metric-height:80px;
}
@media screen {
  #main.main-content { width:min(var(--page-width),100% - var(--page-gutters)); padding-top:var(--page-top); }
  #main :is(.home-hero,.catalog-hero) { padding:0 var(--intro-inset) 22px; }
  #main .page-intro { margin-top:0; padding-inline:var(--intro-inset); }
  #main > h1 { padding-inline:var(--intro-inset); }
  #main .results-workspace { margin-top:0; }
  #main .results-intro { padding:0 var(--intro-inset); }
  #main > h1,#main :is(.home-hero h1,.catalog-hero h1,.page-intro h1,.results-intro h1) {
    font-size:var(--page-heading); font-weight:500; line-height:1.12;
    letter-spacing:-.045em; margin:0 0 8px;
  }
  #main :is(.home-eyebrow,.catalog-eyebrow,.page-intro > .eyebrow) {
    display:flex; align-items:center; gap:12px; margin:0 0 9px;
    font-size:var(--page-eyebrow); font-weight:400; line-height:1.5;
    letter-spacing:.055em; color:var(--text);
  }
  #main :is(.eyebrow,.home-eyebrow,.catalog-eyebrow)::after {
    content:""; display:block; flex:0 0 44px; width:44px; height:1px;
    background:currentColor; opacity:.7;
  }
  #main :is(.home-eyebrow,.catalog-eyebrow) > span[aria-hidden=true],
  #main .eyebrow > .eyebrow-line { display:none; }
  #main .page-intro:not(:has(> .eyebrow))::before,#main > h1::before {
    content:""; display:block; width:44px; height:1px; margin-bottom:12px;
    background:var(--text); opacity:.7;
  }
  #main :is(.home-statistics,.catalog-hero-statistics) > div {
    grid-template-columns:var(--metric-icon) minmax(0,1fr);
    gap:0 var(--metric-gap); min-height:var(--metric-height); padding:var(--metric-padding);
    border:1px solid rgb(41 67 50 / 9%); border-radius:10px; background:var(--card);
    box-shadow:0 5px 20px rgb(40 57 41 / 3%);
  }
  #main :is(.home-statistics,.catalog-hero-statistics) svg {
    width:var(--metric-icon); height:var(--metric-icon-height);
    padding:var(--metric-icon-padding); border-radius:12px;
  }
  #main :is(.home-statistics,.catalog-hero-statistics) dd {
    color:var(--text); font:600 var(--metric-value)/1.2 Georgia,serif; letter-spacing:-.04em;
  }
  #main :is(.home-statistics,.catalog-hero-statistics) dt { font-size:var(--metric-label); line-height:1.4; margin-top:3px; }
  :root[data-theme=dark] #main :is(.home-statistics,.catalog-hero-statistics) > div { border-color:var(--border); }
}
@media screen and (max-width:1300px) and (min-width:1101px) {
  :root { --page-heading:3rem; --metric-value:1.1rem; --metric-label:.62rem; --metric-icon:35px; --metric-icon-height:39px; --metric-icon-padding:7px; --metric-padding:12px 10px; --metric-gap:9px; }
}
@media screen and (max-width:1100px) {
  :root { --page-gutters:48px; --page-heading:clamp(2.3rem,4.7vw,3.2rem); }
}
@media screen and (max-width:700px) {
  :root { --page-gutters:32px; --page-top:23px; --intro-inset:0px; --page-heading:2.45rem; --page-eyebrow:.63rem; --metric-value:1.16rem; --metric-label:.64rem; --metric-icon:35px; --metric-icon-height:41px; --metric-icon-padding:7px; --metric-padding:11px; --metric-gap:10px; --metric-height:76px; }
  #main :is(.home-eyebrow,.catalog-eyebrow,.page-intro > .eyebrow) { margin-bottom:10px; }
  #main > h1,#main :is(.home-hero h1,.catalog-hero h1,.page-intro h1,.results-intro h1) { margin-bottom:12px; }
}
@media screen and (max-width:370px) {
  :root { --page-heading:2.15rem; --metric-value:1.04rem; --metric-icon:29px; --metric-icon-height:36px; --metric-icon-padding:5px; --metric-padding:10px 8px; --metric-gap:7px; }
}
