/* Theme visual core: shared scales and semantic roles. Brand values live in the Modez preset. */
:root {
  --font-size-body: 1rem;
  --font-size-small: .875rem;
  --line-height-body: 1.65;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --section-space: 105px;
  --section-space-tablet: 80px;
  --section-space-mobile: 65px;
  --container-main: 1280px;
  --container-header: 1320px;
  --container-hero: 1440px;
  --page-gutter: 3%;
  --radius-small: 3px;
  --radius-medium: 4px;
  --radius-card: 6px;
  --radius-panel: 8px;
  --radius-header: 14px;
  --radius-pill: 100px;
  --shadow-card: 0 24px 60px var(--color-shadow-card);
  --shadow-overlay: 0 12px 60px var(--color-shadow-overlay);
  --motion-fast: .2s;
  --motion-normal: .3s;
  --motion-reveal: .7s;
  --ease-reveal: cubic-bezier(.2,.65,.3,1);
  --layer-base: 0;
  --layer-sticky-cta: 10;
  --layer-header: 30;
  --layer-privacy: 70;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;background:var(--color-background);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-body);line-height:var(--line-height-body)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{display:block;max-width:100%;object-fit:cover}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:400}
h1,h2,h3,.image-note{font-family:var(--font-display)}
h2{font-size:clamp(2.3rem,4vw,3.7rem);line-height:1.15;letter-spacing:-.045em}
h3{font-size:1.8rem;line-height:1.3}
p{color:var(--color-text-muted)}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}
[hidden]{display:none!important}
@media(max-width:760px){:root{--page-gutter:4%}
html{scroll-padding-top:20px}
h2{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.field input:invalid:not(:placeholder-shown){box-shadow:none}
