:root{
  /* style tokens empty-unsupplied -> neutral, WCAG-AA-safe default token set */
  --atelyx-color-background:#ffffff;
  --atelyx-color-surface:#f2f2f2;
  --atelyx-color-text-primary:#1a1a1a;
  --atelyx-color-text-secondary:#595959;
  --atelyx-color-primary:#0b5394;
  --atelyx-typography-heading-family:Georgia;
  --atelyx-typography-body-family:system-ui;
  --atelyx-density:comfortable;
  --atelyx-motion:none;
  --atelyx-measure:68ch;
}
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:light;background:var(--atelyx-color-background);color:var(--atelyx-color-text-primary);font-family:var(--atelyx-typography-body-family),system-ui,sans-serif;line-height:1.6}
body{margin:0}
h1,h2,h3,h4{font-family:var(--atelyx-typography-heading-family),Georgia,serif;line-height:1.15;margin:0 0 .5em}
p{margin:0 0 1rem}
a{color:var(--atelyx-color-primary)}
*:focus-visible{outline:2px solid var(--atelyx-color-primary);outline-offset:2px}
img,video{max-width:100%;height:auto}
ul{margin:0;padding:0;list-style:none}

.skip-link{position:absolute;left:-10000px}
.skip-link:focus{left:0;top:0;background:var(--atelyx-color-surface);color:var(--atelyx-color-text-primary);padding:.5rem 1rem;z-index:1000}

/* ---- header-fixed ---- */
.header-fixed{position:sticky;top:0;z-index:100;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--atelyx-color-surface)}
.brand{display:inline-flex;align-items:center;min-height:2.75rem;min-width:2.75rem;font-weight:700;text-decoration:none}
.nav-toggle{margin-left:auto;border:1px solid var(--atelyx-color-primary);background:var(--atelyx-color-surface);color:var(--atelyx-color-primary);border-radius:.25rem;padding:.5rem .75rem;cursor:pointer}
.header-fixed nav{flex-basis:100%;display:none}
.header-fixed nav[data-open="true"]{display:block}
.nav__list,.footer__nav{display:flex;flex-direction:column;gap:.25rem}
.nav__list a,.footer__nav a{display:block;padding:.5rem 0;text-decoration:none}

/* ---- hero-centered ---- */
.hero-centered{text-align:center;padding:3rem 1rem}
.hero__actions{display:flex;flex-direction:column;gap:.75rem;align-items:center;margin-top:1.5rem}
.hero__cta,.cta{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.5rem 1.25rem;border-radius:.25rem;background:var(--atelyx-color-primary);color:var(--atelyx-color-background);text-decoration:none}
.hero__cta--secondary{background:var(--atelyx-color-background);color:var(--atelyx-color-primary);border:1px solid var(--atelyx-color-primary)}

/* ---- content-flow ---- */
.content-flow{max-width:var(--atelyx-measure);margin:0 auto;padding:2.5rem 1rem}
.content__points li{padding:.25rem 0;color:var(--atelyx-color-text-secondary)}

/* ---- cta-inline ---- */
.cta-inline{display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center;padding:2.5rem 1rem;background:var(--atelyx-color-surface)}

/* ---- footer-multi-column ---- */
.footer-multi-column{display:grid;gap:1.5rem;padding:2.5rem 1rem;background:var(--atelyx-color-surface);color:var(--atelyx-color-text-secondary)}

/* ---- form-stacked ---- */
.form-stacked{max-width:var(--atelyx-measure);margin:0 auto;padding:2.5rem 1rem}
.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.field label{font-weight:600}
.field input,.field textarea{font:inherit;padding:.6rem .75rem;min-height:2.75rem;border:1px solid var(--atelyx-color-text-secondary);border-radius:.25rem;background:var(--atelyx-color-background);color:var(--atelyx-color-text-primary)}
.field textarea{min-height:8rem;resize:vertical}
[aria-invalid="true"]{outline:2px solid var(--atelyx-color-primary)}
.form-stacked button[type="submit"]{min-height:2.75rem;padding:.6rem 1.5rem;border:none;border-radius:.25rem;background:var(--atelyx-color-primary);color:var(--atelyx-color-background);cursor:pointer}

/* ---- tablet ---- */
@media (min-width:48em){
  .header-fixed nav{display:block;flex-basis:auto;margin-left:auto}
  .nav-toggle{display:none}
  .nav__list,.footer__nav{flex-direction:row;gap:1.25rem}
  .hero__actions{flex-direction:row;justify-content:center}
  .footer-multi-column{grid-template-columns:repeat(2,1fr);align-items:start}
  a,button,summary,input,textarea,[role="button"]{min-height:2.75rem;min-width:2.75rem}
  .nav__list a,.footer__nav a{min-width:auto}
}

/* ---- desktop ---- */
@media (min-width:75em){
  .hero-centered{padding:5rem 1rem}
  .footer-multi-column{grid-template-columns:repeat(3,1fr)}
  .content-flow,.form-stacked{padding-block:4rem}
}

/* ---- reduced motion ---- */
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;scroll-behavior:auto !important}
}
