:root{
/* ---- Brand palette (verbatim from Levy_Logo_Styleguide.pdf) ---- */
--levy-blue-mid:#7D9CD7;      /* primary brand blue */
--levy-blue-deep:#415B89;     /* deep navy-blue, bracket end + text accents */
--levy-blue-pale:#B1BAD6;     /* pale lavender-blue, bracket start */
--levy-gray-mid:#666666;      /* "Steuerberater" subline grey */
--levy-gray-dark:#333333;     /* "LEO LEVY" wordmark grey-black */

/* ---- Derived neutrals (tinted toward the brand blue) ---- */
--levy-white:#FFFFFF;
--levy-paper:#FAFBFD;
--levy-mist:#F2F4F9;
--levy-line:#E2E6F0;
--levy-line-strong:#C9D0E2;
--levy-gray-light:#767676;
--levy-ink:#1F2430;

/* ---- Semantic aliases ---- */
--text-strong:var(--levy-gray-dark);
--text-body:var(--levy-gray-mid);
--text-muted:var(--levy-gray-light);
--text-accent:var(--levy-blue-deep);
--text-on-dark:var(--levy-white);
--text-on-accent:var(--levy-white);
--text-accent-on-deep:#CFD6E6;   /* Akzenttext auf --surface-accent #415B89: 4,67:1. --levy-blue-pale erreicht dort nur 3,52:1 */

--surface-page:var(--levy-white);
--surface-card:var(--levy-white);
--surface-subtle:var(--levy-mist);
--surface-paper:var(--levy-paper);
--surface-accent:var(--levy-blue-deep);
--surface-accent-soft:#EEF2FA;
--surface-inverse:var(--levy-ink);

--border-hairline:var(--levy-line);
--border-default:var(--levy-line-strong);
--border-accent:var(--levy-blue-mid);

--action-primary:var(--levy-blue-deep);
--action-primary-hover:#35496E;
--action-primary-active:#2B3B59;
--action-secondary:var(--levy-blue-mid);
--action-secondary-hover:#6A8BCB;

/* ---- Status (extension: brand pack defines none; hues pulled to sit beside the blues) ---- */
--status-success:#4E7C63;
--status-success-soft:#EBF2EE;
--status-warning:#6B5420;
--status-warning-soft:#F7F1E4;
--status-danger:#944B4B;
--status-danger-soft:#F6EBEB;
--status-info:var(--levy-blue-deep);
--status-info-soft:var(--surface-accent-soft);

/* ---- Signature bracket gradient ---- */
--gradient-bracket:linear-gradient(135deg,var(--levy-blue-pale) 0%,var(--levy-blue-mid) 45%,var(--levy-blue-deep) 100%);
--gradient-bracket-reverse:linear-gradient(135deg,var(--levy-blue-deep) 0%,var(--levy-blue-mid) 55%,var(--levy-blue-pale) 100%);
--gradient-rule:linear-gradient(90deg,var(--levy-blue-pale),var(--levy-blue-deep));
}

:root{
/* Families */
--font-display:"Lexend Zetta","League Spartan",system-ui,sans-serif; /* wordmark + eyebrows only */
--font-core:"League Spartan",system-ui,-apple-system,sans-serif;      /* headings + body */
--font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;

/* Weights — the brand reads light. 300 is the default voice. */
--weight-light:300;
--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;

/* Sizes */
--text-3xs:10px;
--text-2xs:11px;
--text-xs:12px;
--text-sm:14px;
--text-base:16px;
--text-md:18px;
--text-lg:21px;
--text-xl:26px;
--text-2xl:32px;
--text-3xl:40px;
--text-4xl:52px;
--text-5xl:68px;
--text-6xl:88px;

/* Line heights */
--leading-tight:1.08;
--leading-snug:1.22;
--leading-normal:1.5;
--leading-relaxed:1.68;

/* Tracking — wide tracking is a brand signature (the wordmark is heavily spaced) */
--tracking-display:0.24em;
--tracking-eyebrow:0.32em;
--tracking-heading:0.02em;
--tracking-body:0.005em;
--tracking-tight:-0.01em;

/* Roles */
--type-wordmark:var(--weight-regular) var(--text-2xl)/var(--leading-tight) var(--font-display);
--type-eyebrow:var(--weight-medium) var(--text-2xs)/1.4 var(--font-display);
--type-h1:var(--weight-light) var(--text-4xl)/var(--leading-tight) var(--font-core);
--type-h2:var(--weight-light) var(--text-2xl)/var(--leading-snug) var(--font-core);
--type-h3:var(--weight-regular) var(--text-lg)/var(--leading-snug) var(--font-core);
--type-body:var(--weight-light) var(--text-base)/var(--leading-relaxed) var(--font-core);
--type-body-sm:var(--weight-light) var(--text-sm)/var(--leading-normal) var(--font-core);
--type-label:var(--weight-medium) var(--text-xs)/1.3 var(--font-core);
}

:root{
/* 4px base; generous whitespace is part of the brand (the logo is ~55% air) */
--space-0:0px;
--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;
--space-16:64px;
--space-20:80px;
--space-24:96px;
--space-32:128px;
--space-40:160px;

--gutter-page:var(--space-8);
--section-y:var(--space-32);
--card-pad:var(--space-8);
--field-pad-y:11px;
--field-pad-x:14px;
--container-max:1200px;
--container-narrow:720px;
--control-h-sm:32px;
--control-h-md:42px;
--control-h-lg:52px;
}

:root{
/* The mark is built from straight strokes and right angles. Corners stay square;
   2px is the only radius allowed on small controls, pills only for status chips. */
--radius-none:0px;
--radius-xs:2px;
--radius-sm:3px;
--radius-pill:999px;
--border-width-hair:1px;
--border-width-bracket:3px;
--border-width-bracket-lg:6px;
--bracket-arm:clamp(28px,6vw,88px); /* @kind spacing */
--rule-thin:1px;
--rule-accent:2px;
}

:root{
/* Shadows are cool-tinted (never neutral black) and barely there. */
--shadow-none:none;
--shadow-xs:0 1px 2px rgba(65,91,137,.06);
--shadow-sm:0 2px 6px rgba(65,91,137,.07);
--shadow-md:0 6px 18px rgba(65,91,137,.09);
--shadow-lg:0 18px 44px rgba(65,91,137,.12);
--shadow-focus:0 0 0 3px rgba(125,156,215,.32);
--inset-hairline:inset 0 0 0 1px var(--border-hairline);
--overlay-scrim:rgba(31,36,48,.42);
--blur-panel:saturate(140%) blur(14px); /* @kind other */
}

:root{
/* Calm and short. No bounce, no spring — this is a tax practice. */
--ease-standard:cubic-bezier(.4,0,.2,1); /* @kind other */
--ease-out:cubic-bezier(0,0,.2,1); /* @kind other */
--ease-in:cubic-bezier(.4,0,1,1); /* @kind other */
--duration-fast:120ms; /* @kind other */
--duration-base:180ms; /* @kind other */
--duration-slow:280ms; /* @kind other */
--duration-reveal:520ms; /* @kind other */
--transition-control:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{color:var(--text-strong);margin:0;font-weight:var(--weight-light)}
h1{font:var(--type-h1)}h2{font:var(--type-h2)}h3{font:var(--type-h3)}
p{margin:0}
a{color:var(--text-accent);text-decoration:none;transition:var(--transition-control)}
a:hover{color:var(--levy-blue-mid)}
/* Unterstrich nur für echte Textlinks im Fließtext — Buttons, Karten, Navigation und Footer behalten ihren eigenen Rahmen */
p a,.legal li a,.note li a,.detail a,.legal a,.check a,.f-legal a{border-bottom:1px solid var(--levy-blue-pale)}
p a:hover,.legal li a:hover,.note li a:hover,.detail a:hover,.legal a:hover,.check a:hover{border-bottom-color:var(--levy-blue-mid)}
.f-legal a{border-bottom-color:rgba(255,255,255,.28)}
.f-legal a:hover{border-bottom-color:rgba(255,255,255,.6)}
button{font-family:inherit}
::selection{background:var(--surface-accent-soft);color:var(--text-accent)}
.levy-eyebrow{font:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-accent)}
/* Signature bracket frame: two opposed L-corners, open on the diagonal. */
.levy-bracket{position:relative;padding:var(--space-10) var(--space-12)}
.levy-bracket::before,.levy-bracket::after{content:"";position:absolute;width:var(--bracket-arm);height:var(--bracket-arm);pointer-events:none}
.levy-bracket::before{left:0;bottom:0;border-left:var(--border-width-bracket) solid var(--levy-blue-deep);border-bottom:var(--border-width-bracket) solid var(--levy-blue-deep)}
.levy-bracket::after{right:0;top:0;border-right:var(--border-width-bracket) solid var(--levy-blue-mid);border-top:var(--border-width-bracket) solid var(--levy-blue-mid)}


/* ================= Seite ================= */
html{scroll-behavior:smooth}
img{max-width:100%;display:block}
.shell{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter-page)}
.eyebrow{font:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-accent)}
.rule{width:56px;height:2px;background:var(--gradient-rule);border:0;margin:0}
.ic{flex:0 0 auto}
.sec-head{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}
.sec-head h2{max-width:22ch}
.sec-head p{font:var(--type-body);max-width:48ch}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-h-md);padding:0 22px;font-family:var(--font-core);font-weight:var(--weight-medium);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-xs);border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;transition:var(--transition-control)}
.btn-lg{height:var(--control-h-lg);padding:0 30px;font-size:var(--text-base)}
.btn-sm{height:var(--control-h-sm);padding:0 16px;font-size:var(--text-xs)}
.btn-primary{background:var(--action-primary);color:var(--text-on-accent)}
.btn-primary:hover{background:var(--action-primary-hover)}
.btn-primary:active{background:var(--action-primary-active)}
.btn-primary:disabled{opacity:.42;cursor:not-allowed;background:var(--action-primary)}
.btn-secondary{background:transparent;color:var(--text-accent);border-color:var(--border-accent)}
.btn-secondary:hover{background:var(--surface-accent-soft);border-color:var(--action-primary)}
.btn-inverse{background:var(--levy-white);color:var(--text-accent)}
.btn-inverse:hover{background:var(--surface-accent-soft)}
.btn-ghost{background:transparent;color:var(--text-accent)}
.btn-ghost:hover{color:var(--action-primary)}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-outline-light:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn-ghost-light{background:transparent;color:#fff}
.btn-ghost-light:hover{color:var(--levy-blue-pale)}

/* Header */
.hdr{position:sticky;top:0;z-index:40;background:transparent;border-bottom:1px solid transparent;transition:background-color var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard)}
.hdr.solid{background:rgba(255,255,255,.92);backdrop-filter:var(--blur-panel);-webkit-backdrop-filter:var(--blur-panel);border-bottom-color:var(--border-hairline)}
.hdr-in{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter-page);height:84px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.wm{display:flex;align-items:center;position:relative}
.wm img{height:52px;width:auto;display:block;transition:opacity var(--duration-slow) var(--ease-standard)}
.wm .wm-light + .wm-dark{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0}
.hdr.solid .wm .wm-light{opacity:0}
.hdr.solid .wm .wm-light + .wm-dark{opacity:1}
.nav{display:flex;align-items:center;gap:var(--space-8)}
.nav a:not(.btn){font-family:var(--font-core);font-weight:var(--weight-light);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.86);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:3px;transition:var(--transition-control)}
.nav a:not(.btn):hover{border-bottom-color:rgba(255,255,255,.7)}
.hdr.solid .nav a:not(.btn){color:var(--text-body)}
.hdr.solid .nav a:not(.btn):hover{color:var(--text-accent);border-bottom-color:var(--levy-blue-mid)}
.burger{display:none;border:0;background:none;cursor:pointer;color:#fff;padding:8px}
.hdr.solid .burger{color:var(--text-strong)}
.drawer{display:none;background:var(--surface-card);border-top:1px solid var(--border-hairline);padding:var(--space-6) var(--gutter-page);flex-direction:column;gap:var(--space-5)}
.drawer.open{display:flex}
.drawer a{font-family:var(--font-core);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-body);text-decoration:none}

/* Hero */
.hero{position:relative;min-height:clamp(560px,92vh,860px);display:grid;align-items:center;margin-top:-84px;padding-top:84px;overflow:hidden;background:var(--levy-ink)}
.hero-img{position:absolute;inset:0}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,rgba(31,36,48,.88) 0%,rgba(31,36,48,.72) 46%,rgba(65,91,137,.42) 100%)}
.hero-in{position:relative;max-width:var(--container-max);margin:0 auto;padding:var(--space-24) var(--gutter-page);width:100%}
.hero-box{position:relative;max-width:780px;padding:var(--space-12) var(--space-12) var(--space-12) 0}
.hero-box::before{content:"";position:absolute;left:-28px;bottom:0;width:88px;height:88px;border-left:6px solid rgba(255,255,255,.9);border-bottom:6px solid rgba(255,255,255,.9)}
.hero-box::after{content:"";position:absolute;right:0;top:0;width:88px;height:88px;border-right:6px solid var(--levy-blue-mid);border-top:6px solid var(--levy-blue-mid)}
.hero-box .eyebrow{color:var(--levy-blue-pale)}
.hero h1{color:#fff;font-size:clamp(38px,5.4vw,72px);font-weight:var(--weight-light);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:var(--space-6) 0}
.hero h1 em{font-style:normal;color:var(--levy-blue-pale)}
.hero-lede{font:var(--type-body);font-size:var(--text-md);color:rgba(255,255,255,.8);max-width:54ch}
.hero-cta{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-10)}
.hero-bar{position:absolute;bottom:0;left:0;right:0;border-top:1px solid rgba(255,255,255,.16);background:rgba(31,36,48,.42);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px)}
.hero-bar div{max-width:var(--container-max);margin:0 auto;padding:var(--space-5) var(--gutter-page);display:flex;gap:var(--space-12);flex-wrap:wrap;font:var(--type-body-sm);color:rgba(255,255,255,.78)}
.hero-bar span{display:inline-flex;align-items:center;gap:var(--space-3)}
.hero-bar .ic{color:var(--levy-blue-pale)}

/* Sections */
section{padding:var(--section-y) 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24);align-items:center}
.split-wide{grid-template-columns:1fr 1.1fr}
.stack{display:flex;flex-direction:column;gap:var(--space-6)}
.bg-paper{background:var(--surface-paper)}
.bg-subtle{background:var(--surface-subtle)}

/* Bracket frame */
.bracket{position:relative;padding:var(--space-8)}
.bracket::before{content:"";position:absolute;left:0;bottom:0;width:78px;height:78px;border-left:6px solid var(--levy-blue-deep);border-bottom:6px solid var(--levy-blue-deep)}
.bracket::after{content:"";position:absolute;right:0;top:0;width:78px;height:78px;border-right:6px solid var(--levy-blue-mid);border-top:6px solid var(--levy-blue-mid)}
.bracket figcaption{margin-top:var(--space-6);display:flex;flex-direction:column;gap:4px}
.bracket figcaption b{font:var(--type-h3);font-weight:var(--weight-regular);color:var(--text-strong)}
.bracket figcaption span{font:var(--type-body-sm);color:var(--text-muted);letter-spacing:.06em}

/* Versprechen */
.promise{background:var(--surface-accent);color:#fff;padding:var(--space-20) 0}
.quad{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-10)}
.quad div{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-5);border-top:2px solid rgba(255,255,255,.28)}
.quad b{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.24em;color:var(--text-accent-on-deep);font-weight:var(--weight-regular)}
.quad h3{color:#fff}
.quad p{font:var(--type-body-sm);color:rgba(255,255,255,.82)}

/* Cards */
.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.card{background:var(--surface-card);border:1px solid var(--border-hairline);padding:var(--card-pad);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}
a.card{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:var(--space-4)}
a.card:hover,.card-i:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--levy-blue-pale)}
.svc{display:flex;flex-direction:column;gap:var(--space-4);min-height:232px;padding:var(--space-10) var(--space-8)}
.svc .ic{color:var(--levy-blue-mid)}
.svc p{font:var(--type-body-sm)}
.more{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font:var(--type-label);letter-spacing:.1em;text-transform:uppercase;color:var(--text-accent)}
.news-img{aspect-ratio:16/9;margin:calc(var(--card-pad) * -1) calc(var(--card-pad) * -1) 0;overflow:hidden}
.news-img img{width:100%;height:100%;object-fit:cover}
.badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;white-space:nowrap;font:var(--type-label);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-xs);background:var(--status-info-soft);color:var(--status-info)}
.badge-n{background:var(--surface-subtle);color:var(--text-body)}
.meta{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}
.meta time{font:var(--type-body-sm);font-size:var(--text-xs);color:var(--text-muted)}
.tag{display:inline-flex;align-items:center;min-height:26px;padding:3px 10px;white-space:nowrap;font:var(--type-body-sm);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-xs)}

/* Hinweiskasten */
.note{margin-top:var(--space-12);background:var(--surface-card);border:1px solid var(--border-hairline);border-top:2px solid var(--levy-blue-deep);padding:var(--space-10) var(--space-12);display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}
.note h3{max-width:34ch}
.note p{font:var(--type-body);max-width:70ch}
.note ul{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);font:var(--type-body)}
.note strong{font-weight:var(--weight-semibold);color:var(--text-strong)}
.note .btn{margin-top:var(--space-4)}

/* Digital */
.dig-fig{position:relative;aspect-ratio:5/4}
.dig-fig img{width:100%;height:100%;object-fit:cover}
.dig-note{position:absolute;right:-1px;bottom:-1px;background:var(--surface-accent);color:#fff;padding:var(--space-6) var(--space-8);max-width:260px}
.dig-note b{font-family:var(--font-display);font-size:var(--text-2xs);letter-spacing:var(--tracking-eyebrow);color:var(--text-accent-on-deep);font-weight:var(--weight-regular)}
.dig-note p{font:var(--type-body-sm);color:#fff;margin-top:8px}
.ticks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4)}
.ticks li{display:flex;gap:var(--space-4);align-items:flex-start;font:var(--type-body)}
.ticks .ic{color:var(--levy-blue-mid);margin-top:4px}

/* Formulare */
.forms{list-style:none;margin:var(--space-12) 0 0;padding:0;border-top:1px solid var(--border-hairline)}
.forms li{border-bottom:1px solid var(--border-hairline)}
.forms a{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-4);text-decoration:none;color:inherit;transition:background-color var(--duration-fast) var(--ease-standard)}
.forms a:hover{background:var(--surface-accent-soft)}
.forms .ic{color:var(--levy-blue-mid)}
.forms b{font:var(--type-h3);font-weight:var(--weight-regular);color:var(--text-strong);display:block}
.forms small{font:var(--type-body-sm);color:var(--text-muted);display:block;margin-top:3px}
.forms .dl{display:inline-flex;align-items:center;gap:8px;font:var(--type-label);letter-spacing:.1em;text-transform:uppercase;color:var(--text-accent);white-space:nowrap}

/* Karriere */
.job{background:var(--surface-accent-soft);border:1px solid var(--levy-blue-pale);padding:var(--space-12);display:grid;grid-template-columns:1.6fr auto;gap:var(--space-10);align-items:center}
.job h2{max-width:26ch}
.job p{font:var(--type-body);max-width:56ch}
.chips{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}

/* Kontakt */
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-24)}
.detail{display:flex;gap:var(--space-4);align-items:flex-start;font:var(--type-body)}
.detail .ic{color:var(--levy-blue-mid);margin-top:3px}
.map{position:relative;height:240px;border:1px solid var(--border-hairline);overflow:hidden}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.72)}
.route{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font:var(--type-label);letter-spacing:.1em;text-transform:uppercase;color:var(--text-accent)}
form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.f{display:flex;flex-direction:column;gap:var(--space-2)}
.f-wide{grid-column:1 / -1}
.f label{font:var(--type-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-body)}
.f label .req{color:var(--status-danger)}
input[type=text],input[type=email],input[type=tel],textarea,select{width:100%;font:var(--type-body-sm);color:var(--text-strong);background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-xs);padding:var(--field-pad-y) var(--field-pad-x);transition:var(--transition-control);outline:none;font-family:var(--font-core)}
textarea{resize:vertical;line-height:var(--leading-normal)}
select{appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
input:focus,textarea:focus,select:focus{border-color:var(--border-accent);box-shadow:var(--shadow-focus)}
.check{display:flex;align-items:flex-start;gap:var(--space-3);font:var(--type-body-sm);color:var(--text-body);cursor:pointer}
.check input{width:18px;height:18px;flex:0 0 auto;margin:2px 0 0;accent-color:var(--action-primary)}
.submit-row{grid-column:1 / -1;display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}
.submit-row small{font:var(--type-body-sm);font-size:var(--text-xs);color:var(--text-muted)}
.sent{display:none;flex-direction:column;gap:var(--space-4);align-items:flex-start}
.sent .ic{color:var(--status-success)}
form.done{display:none}
form.done + .sent{display:flex}

/* Footer */
footer{background:var(--levy-ink);color:#fff;padding:var(--space-20) 0 var(--space-8)}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-12)}
.f-brand{display:flex;flex-direction:column;gap:var(--space-5)}
.f-logo{height:64px;width:auto}
.f-brand p{font:var(--type-body-sm);color:rgba(255,255,255,.6);max-width:32ch}
.f-col{display:flex;flex-direction:column;gap:var(--space-3);font:var(--type-body-sm);color:rgba(255,255,255,.68)}
.f-col b{font:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:var(--space-2);font-weight:var(--weight-medium)}
footer a{color:rgba(255,255,255,.68);text-decoration:none}
footer a:hover{color:#fff}
.f-legal{display:flex;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;padding-top:var(--space-6);font:var(--type-body-sm);font-size:var(--text-xs);color:rgba(255,255,255,.62)}
.f-legal span{display:flex;gap:var(--space-6)}
.f-rule{border:0;height:1px;background:rgba(255,255,255,.14);margin:var(--space-10) 0 0}

/* Rechtstexte */
.legal{max-width:var(--container-narrow);padding-top:var(--space-32);padding-bottom:var(--space-24)}
.legal h1{margin-bottom:var(--space-6)}
.legal .lede{font:var(--type-body);font-size:var(--text-md);color:var(--text-muted);margin-bottom:var(--space-10)}
.legal h2{font:var(--type-h2);font-size:var(--text-xl);margin:var(--space-12) 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-hairline)}
.legal h3{font:var(--type-h3);margin:var(--space-8) 0 var(--space-3)}
.legal p{font:var(--type-body);margin-bottom:var(--space-4)}
.legal ul{font:var(--type-body);margin:0 0 var(--space-4);padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}
.legal strong{font-weight:var(--weight-semibold);color:var(--text-strong)}
.legal .todo{background:var(--status-warning-soft);border-left:3px solid var(--status-warning);padding:var(--space-4) var(--space-5);color:var(--status-warning);font:var(--type-body-sm)}

@media(max-width:960px){
 .nav{display:none}
 .burger{display:inline-flex}
 .split,.contact,.job{grid-template-columns:1fr;gap:var(--space-12)}
 .triple,.quad,.f-grid{grid-template-columns:1fr 1fr}
 .order-2{order:2}
 .forms a{grid-template-columns:auto 1fr auto;gap:var(--space-4)}
 .forms .dl{display:none}
}
@media(max-width:640px){
 :root{--section-y:var(--space-20)}
 .wm img{height:42px}
 .f-logo{height:52px}
 .triple,.quad,.f-grid{grid-template-columns:1fr}
 form{grid-template-columns:1fr}
 .hero-box{padding-right:var(--space-8)}
 .hero-box::after{width:56px;height:56px}
 .hero-box::before{width:56px;height:56px;left:-16px}
}

/* Statischer Kartenersatz (Offline-Fassung) */
.map-static{display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);padding:var(--space-8);background:var(--surface-subtle);height:240px}
.map-mark{width:26px;height:26px;border-left:3px solid var(--levy-blue-deep);border-bottom:3px solid var(--levy-blue-deep)}
.map-adr{font:var(--type-body);color:var(--text-strong);display:flex;flex-direction:column;gap:2px}
.map-adr b{font-weight:var(--weight-medium)}
.map-hint{font:var(--type-body-sm);font-size:var(--text-xs);color:var(--text-muted)}
