



@font-face {
  font-family: "Instrument Sans";
  src: url("media/font/instrument-sans-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF,
                 U+FFFD;
}
@font-face {
  font-family: "Instrument Sans";
  src: url("media/font/instrument-sans-latin-ext.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                 U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
:root {
  --f: "Instrument Sans", -apple-system, "Segoe UI", Roboto, system-ui, sans-serif;
  

  --fw-regular: 400;   
  --fw-medium:  500;   
  --fw-semi:    600;   
  --fw-bold:    700;   
  

  

  --t-display:     clamp(2rem,     1.321rem + 3.81vw, 4.75rem);   
  --t-heading-lg:  clamp(2rem,     1.443rem + 2.29vw, 3.5rem);    
  --t-heading-md:  clamp(1.5rem,   1.221rem + 1.14vw, 2.25rem);   
  --t-heading-sm:  clamp(1.125rem, 0.939rem + 0.76vw, 1.625rem);  
  

  --t-quote:       clamp(1.25rem,  0.879rem + 1.524vw, 2.25rem);  
  --t-lead:        clamp(1.125rem, 1.055rem + 0.29vw, 1.3125rem); 
  --t-body:        clamp(1rem,     0.954rem + 0.19vw, 1.125rem);  
  --t-body-sm:     0.9375rem;                                     
  --t-label:       0.75rem;                                       
  --t-metadata:    0.8125rem;                                     
  --t-nav:         0.9375rem;                                     
  --t-button:      0.9375rem;                                     
  --t-form-label:  0.875rem;                                      
  --t-form-input:  1rem;                                          
  --t-numeric:     clamp(3.5rem,   1.644rem + 7.62vw, 8.5rem);    
  
  --lh-display:  1.02;
  --lh-heading:  1.06;
  --lh-h3:       1.22;
  --lh-quote:    1.3;
  --lh-lead:     1.5;
  --lh-body:     1.6;
  --lh-sm:       1.5;
  --lh-label:    1.3;
  --lh-button:   1.15;
  --lh-numeric:  0.92;
  

  --ls-display: -0.035em;
  --ls-heading: -0.025em;
  --ls-h3:      -0.015em;
  --ls-lead:    -0.005em;
  --ls-body:     0;
  --ls-label:    0.16em;
  --ls-meta:     0.01em;
  --ls-numeric: -0.04em;
  

  --measure:        68ch;
  --measure-narrow: 56ch;
}

body {
  font-family: var(--f);
  font-size: var(--t-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
  font-synthesis-weight: none;
  

  font-variant-numeric: tabular-nums;
}


p, li, dd { text-wrap: pretty; }


.t-display, h1 {
  font-size: var(--t-display); font-weight: var(--fw-bold);
  line-height: var(--lh-display); letter-spacing: var(--ls-display);
  text-wrap: balance; margin: 0;
}
.t-heading-lg, h2 {
  font-size: var(--t-heading-lg); font-weight: var(--fw-bold);
  line-height: var(--lh-heading); letter-spacing: var(--ls-heading);
  text-wrap: balance; margin: 0;
}
.t-heading-md {
  font-size: var(--t-heading-md); font-weight: var(--fw-bold);
  line-height: var(--lh-heading); letter-spacing: var(--ls-heading);
  text-wrap: balance;
}
.t-heading-sm, h3, h4 {
  font-size: var(--t-heading-sm); font-weight: var(--fw-semi);
  line-height: var(--lh-h3); letter-spacing: var(--ls-h3);
  text-wrap: balance; margin: 0;
}


.t-quote {
  font-size: var(--t-quote); font-weight: var(--fw-regular);
  line-height: var(--lh-quote); letter-spacing: var(--ls-h3);
  text-wrap: pretty;
}
.t-lead {
  font-size: var(--t-lead); font-weight: var(--fw-regular);
  line-height: var(--lh-lead); letter-spacing: var(--ls-lead);
  max-width: var(--measure);
}
.t-body {
  font-size: var(--t-body); font-weight: var(--fw-regular);
  line-height: var(--lh-body); letter-spacing: var(--ls-body);
}
.t-body-sm {
  font-size: var(--t-body-sm); font-weight: var(--fw-regular);
  line-height: var(--lh-sm); letter-spacing: var(--ls-body);
}
.t-label {
  font-size: var(--t-label); font-weight: var(--fw-medium);
  line-height: var(--lh-label); letter-spacing: var(--ls-label);
  text-transform: uppercase;
}
.t-metadata {
  font-size: var(--t-metadata); font-weight: var(--fw-medium);
  line-height: var(--lh-label); letter-spacing: var(--ls-meta);
}
.t-nav {
  font-size: var(--t-nav); font-weight: var(--fw-regular);
  line-height: var(--lh-sm); letter-spacing: var(--ls-body);
}
.t-nav[aria-current], .t-nav.is-aktiv { font-weight: var(--fw-semi); }
.t-button {
  font-size: var(--t-button); font-weight: var(--fw-semi);
  line-height: var(--lh-button); letter-spacing: var(--ls-body);
}
.t-form-label {
  font-size: var(--t-form-label); font-weight: var(--fw-medium);
  line-height: var(--lh-sm);
}
.t-form-input {
  font-size: var(--t-form-input); font-weight: var(--fw-regular);
  line-height: var(--lh-sm);
}
.t-numeric {
  font-size: var(--t-numeric); font-weight: var(--fw-bold);
  line-height: var(--lh-numeric); letter-spacing: var(--ls-numeric);
  font-variant-numeric: tabular-nums;
}


.t-measure        { max-width: var(--measure); }
.t-measure-narrow { max-width: var(--measure-narrow); }




.telefon :where(.statusrad, .plats__t),
.lockup  :where(.lockup__pres, .lockup__titel) {
  font-variant-numeric: normal;
}


:where(h1, h2, h3, h4, p, li, dd, dt, figcaption) {
  overflow-wrap: break-word;
}
