/* Wasserschutz – kompilierte Tokens */
/* Schrift: /ws/fonts.css */
:root{
  /* color */
  --water-blue:#146EF5;
  --water-blue-hover:#0F5AD0;
  --water-blue-pressed:#0C49AB;
  --ink:#111315;
  --deep-water:#0C2433;
  --warm-white:#F7F7F3;
  --white:#FFFFFF;
  --mist:#EDF2F3;
  --mineral-grey:#DCE3E5;
  --border-control:#8A9397;
  --graphite:#626A6E;
  --soft-aqua:#DDF3F4;
  --on-deep-muted:#B8C4CA;
  --on-deep-line:#2A4352;
  --success:#237A61;
  --success-soft:#E3F1EC;
  --warning:#A86518;
  --warning-soft:#F6EBDD;
  --error:#B93838;
  --error-soft:#F7E4E4;
  --overlay:rgba(17,19,21,0.48);
  --focus-ring:var(--water-blue);
  /* spacing */
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-6:24px;
  --space-8:32px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --space-24:96px;
  --space-32:128px;
  --space-40:160px;
  /* radius */
  --radius-sm:8px;
  --radius-md:10px;
  --radius-lg:12px;
  --radius-xl:16px;
  /* shadow */
  --shadow-raised:0 1px 2px rgba(17,19,21,0.06), 0 8px 24px rgba(17,19,21,0.08);
  --shadow-drawer:-16px 0 48px rgba(12,36,51,0.16);
  /* layout */
  --container-max:1360px;
  --grid-columns-desktop:12;
  --grid-columns-tablet:8;
  --grid-columns-mobile:4;
  --page-margin-mobile:20px;
  --page-margin-tablet:32px;
  --page-margin-desktop:40px;
  --bp-tablet:768px;
  --bp-desktop:1200px;
  --header-height:72px;
  --control-height:52px;
  /* zIndex */
  --z-sticky:100;
  --z-overlay:200;
  --z-drawer:300;
  --font-sans:"Instrument Sans", Arial, sans-serif;
}
.display-xl{font-family:var(--font-sans);font-size:72px;line-height:1.0;font-weight:600;letter-spacing:-0.035em;}
.h1{font-family:var(--font-sans);font-size:60px;line-height:1.04;font-weight:600;letter-spacing:-0.03em;}
.h2{font-family:var(--font-sans);font-size:44px;line-height:1.08;font-weight:600;letter-spacing:-0.025em;}
.h3{font-family:var(--font-sans);font-size:30px;line-height:1.15;font-weight:600;letter-spacing:-0.02em;}
.body-lg{font-family:var(--font-sans);font-size:21px;line-height:1.45;font-weight:400;letter-spacing:-0.005em;}
.body{font-family:var(--font-sans);font-size:17px;line-height:1.55;font-weight:400;}
.body-strong{font-family:var(--font-sans);font-size:17px;line-height:1.4;font-weight:600;}
.small{font-family:var(--font-sans);font-size:14px;line-height:1.45;font-weight:400;}
.eyebrow{font-family:var(--font-sans);font-size:12px;line-height:1.3;font-weight:600;letter-spacing:0.07em;}
.button{font-family:var(--font-sans);font-size:16px;line-height:1.0;font-weight:600;letter-spacing:-0.005em;}
.price{font-family:var(--font-sans);font-size:22px;line-height:1.1;font-weight:600;letter-spacing:-0.01em;}
.display-xl-tablet{font-family:var(--font-sans);font-size:50px;line-height:1.02;font-weight:600;letter-spacing:-0.03em;}
.h1-tablet{font-family:var(--font-sans);font-size:44px;line-height:1.05;font-weight:600;letter-spacing:-0.028em;}
.h2-tablet{font-family:var(--font-sans);font-size:36px;line-height:1.1;font-weight:600;letter-spacing:-0.022em;}
.display-xl-mobile{font-family:var(--font-sans);font-size:42px;line-height:1.04;font-weight:600;letter-spacing:-0.03em;}
.h1-mobile{font-family:var(--font-sans);font-size:36px;line-height:1.06;font-weight:600;letter-spacing:-0.025em;}
.h2-mobile{font-family:var(--font-sans);font-size:30px;line-height:1.1;font-weight:600;letter-spacing:-0.02em;}
.h3-mobile{font-family:var(--font-sans);font-size:24px;line-height:1.18;font-weight:600;letter-spacing:-0.015em;}
.body-lg-mobile{font-family:var(--font-sans);font-size:18px;line-height:1.45;font-weight:400;}
.body-mobile{font-family:var(--font-sans);font-size:16px;line-height:1.55;font-weight:400;}
