:root {
  --white: #ffffff;
  --text-dark: #16161d;
  --grey-light: #D9D9D9;
  --green-dark: #43654b;

  --font-heading: 'Roboto Slab', serif;
  --font-body: 'Montserrat', sans-serif;
  --weight-heading: 400;
  --weight-body: 500;
  --weight-body-bold: 600;

  /* Typography Scale (decoupled from HTML heading levels) */
  --text-hero: clamp(37px, 0.3901rem + 6.4133vw, 72px);
  --text-display: clamp(31px, 0.7662rem + 3.6638vw, 50px);
  --text-section: clamp(22px, 1.0128rem + 0.7133vw, 25px);    /* h1, h2, h4, accordion */
  --text-heading: clamp(26px, 0.9505rem + 1.8647vw, 36px);    /* h3 */

  --gap: clamp(10px, 1.5294px + 2.6471vw, 28px); 
  --gap-half: calc(var(--gap) / 2);
  --card-padding: clamp(18px, 9.5294px + 2.6471vw, 36px);
  --button-padding: 16px 20px;
  --list-indent: 1.2em;
  --list-line-gap: 0.2em;

  --brighten-effect: saturate(2) brightness(1.3);

  --shadow: 1px 2px 3px 1px rgba(0,0,0,0.07);
  --radius-sm: 6px;
  --radius-md: 8px;
  --transition-fast: 0.2s ease;
  --transition-base: 0.3s ease;

  --header-height: 64px;

  /* Egységes méret-skála (S/M/L) — kártya- és képméretek */
  --size-s: 360px;
  --size-m: 540px;
  --size-l: 900px;
}

/* Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:112.5%;scroll-behavior:smooth;scroll-padding-top:var(--header-height);-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-weight:var(--weight-body);line-height:1.7;color:var(--text-dark);background-color:var(--grey-light);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:var(--green-dark);text-decoration:none}

a[target="_blank"]:visited{opacity:0.5}

address{font-style:normal}
header{margin-bottom:var(--gap)}

/* Typography — Document hierarchy */
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--weight-heading);line-height:1.25;color:var(--green-dark);letter-spacing:-0.02em}
h1{font-size:var(--text-section);text-transform:uppercase}
h2{font-size:var(--text-section);text-transform:uppercase;text-align:center;margin-bottom:var(--gap-half)}
h3{font-size:var(--text-heading)}
h4{font-size:var(--text-section)}
p{margin-bottom: var(--gap)}

.overline{text-transform:uppercase;letter-spacing:.05em}

/* Utilities */
.wide{width:100%;max-width:var(--size-l);margin-inline:auto}
.narrow{width:100%;max-width:var(--size-m);margin-inline:auto}
.horizontal{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap)}
.vertical{display:flex;flex-direction:column;align-items:center;gap:var(--gap)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.centered{text-align:center;margin-inline:auto}
