/* RA Titze | statische Wartungsseite | keine externen Schriften, Tracker oder Skripte */
:root {
  --navy: #3d4c7c;
  --ink: #25314c;
  --navy-dark: #26324d;
  --dusty-blue: #9ca3b9;
  --silver: #e1e5ee;
  --paper: #f7f8fa;
  --white: #ffffff;
  --muted: #5c6476;
  --border: #e0e3eb;
  --shadow: 0 28px 72px rgba(29,38,64,.09);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; color:var(--ink); background:var(--paper);
  font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.58;
  -webkit-font-smoothing: antialiased;
}
img { max-width:100%; display:block; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
a:focus-visible {outline:3px solid #839ed8; outline-offset:4px; border-radius:2px; }
button {font:inherit;}
.skip-link {position:absolute; z-index:100; top:-80px; left:12px; padding:12px 20px; background:var(--ink); color:white;}
.skip-link:focus {top:12px;}
.top-rule {height:7px; background:linear-gradient(to right, var(--dusty-blue) 0 24%, var(--navy) 24% 100%);}
.site-container {width:min(1216px,calc(100% - 80px)); margin-inline:auto;}
.site-header {background:#fff; border-bottom:1px solid #eceef2;}
.site-header__inside {min-height:120px;display:flex;justify-content:space-between;align-items:center;gap:24px;}
.logo-link {display:inline-flex; align-items:center; flex-shrink:0;}
.logo {width:285px; max-width:100%; height:auto;}
.header-right {display:flex; align-items:center; gap:34px;}
.header-field {text-align:right;font-size:12px;font-weight:700;letter-spacing:.115em;text-transform:uppercase;line-height:1.7;color:var(--muted);}
.header-field b {display:block;color:var(--navy);}
.header-tel {display:inline-flex;white-space:nowrap;align-items:center;gap:9px; padding:10px 17px; font-weight:700;font-size:13px;text-decoration:none;border:1px solid #cfd4df;transition:background .15s,color .15s;}
.header-tel:hover {background:var(--navy);color:white;border-color:var(--navy);}
main.landing {padding-top:48px;}
.hero {display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);overflow:hidden;background:#fff;box-shadow:var(--shadow);border:1px solid var(--border);}
.hero-content {padding:clamp(36px,5vw,75px) clamp(34px,5vw,76px) 56px; display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:595px;}
.kicker {display:flex;align-items:center;gap:13px;color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.18em;line-height:1.5;text-transform:uppercase;margin-bottom:21px;}
.kicker::before {content:"";display:block;background:var(--navy);height:2px;width:28px;flex-shrink:0;}
.hero h1 {font-weight:700;letter-spacing:-.055em;line-height:1.06;color:var(--ink);font-size:clamp(45px,5.7vw,73px);margin:0 0 27px;max-width:660px;}
.hero h1 span {color:var(--navy);}
.hero-lead {font-size:17px;line-height:1.78;color:#4b566b;max-width:520px;margin:0 0 32px;}
.hero-lead strong {font-weight:700;color:var(--ink);}
.hero-actions {display:flex;align-items:center;flex-wrap:wrap;gap:12px; margin-bottom:43px;}
.action {display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap;min-height:51px;padding:13px 21px;transition:transform .16s,background .16s,border-color .16s;}
.action:hover {transform:translateY(-2px);}
.action--primary {background:var(--navy);color:white;border:1px solid var(--navy);}
.action--primary:hover {background:#2d3b64;}
.action--secondary {border:1px solid #bfc8d8;color:var(--navy);background:white;}
.action--secondary:hover {background:#f0f2f7;}
.action svg {width:17px;height:17px;flex-shrink:0;}
.specs {display:flex;align-items:center;flex-wrap:wrap;gap:11px;color:#566078;font-size:13px;font-weight:700;}
.specs::before {content:"";width:24px;height:1px;background:#a1a8b9;}
.specs span+span::before {content:"/";color:#afb5c2;margin-right:11px;font-weight:400;}
.hero-visual {position:relative;background:#293246;min-height:595px;}
.hero-visual > img {width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.81);}
.hero-visual::after {content:"";position:absolute;inset:28% 0 0;background:linear-gradient(to top,rgba(14,25,47,.84) 0%,rgba(14,25,47,.27) 30%,transparent 70%);pointer-events:none;}
.photo-caption {position:absolute;z-index:2;bottom:42px;left:35px;right:24px;color:white;}
.photo-caption::before {content:"";display:block;height:2px;width:34px;background:#e4e8f1;margin-bottom:17px;}
.photo-caption strong {display:block;font-size:19px;line-height:1.4;letter-spacing:-.02em;}
.photo-caption span {display:block;font-size:12px;opacity:.9;margin-top:4px;letter-spacing:.03em;}
.hero-square {position:absolute;z-index:2;right:26px;top:28px;display:flex;flex-direction:column;gap:5px;}
.hero-square span {width:23px;height:23px;background:#a0a7be;opacity:.94;}
.hero-square span:last-child {background:#3d4c7c;}
.contact-panel {display:grid;grid-template-columns:1.06fr 1fr 1.18fr;margin:30px 0 22px;background:#fff;border:1px solid var(--border);}
.contact-item {display:flex;align-items:flex-start;gap:18px;padding:27px 30px;min-width:0;}
.contact-item+.contact-item {border-left:1px solid var(--border);}
.contact-icon {width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;color:var(--navy);border:1px solid #dce1ec;background:#f6f7fa;}
.contact-icon svg {width:19px;height:19px;}
.contact-label {font-size:10px;letter-spacing:.15em;font-weight:700;color:#7b8495;text-transform:uppercase;margin:0 0 3px;}
.contact-value {display:block;font-size:16px;line-height:1.52;color:var(--ink);font-weight:700;text-decoration:none;overflow-wrap:anywhere;}
.contact-value:hover {color:var(--navy);}
.contact-subline {font-size:13px;color:#757e8d;margin:3px 0 0;}
.site-footer {padding:20px 0 32px;}
.footer-inner {display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#737d8e;font-size:12px;}
.footer-inner p {margin:0;}
.footer-links {display:flex;align-items:center;gap:23px;}
.footer-links a {color:var(--navy);font-weight:700;text-decoration:none;}
.footer-links a:hover,.legal-text a:hover {text-decoration:underline;}
/* Rechtliche Unterseiten */
.legal-layout {padding-top:45px;padding-bottom:35px;}
.legal-head {background:#fff;border:1px solid var(--border);border-bottom:0;padding:52px clamp(28px,5vw,73px) 39px;}
.back {font-size:12px;color:var(--navy);font-weight:700;text-decoration:none;letter-spacing:.06em;}
.back:hover {text-decoration:underline;}
.legal-head h1 {color:var(--ink);font-size:clamp(39px,5vw,58px);letter-spacing:-.05em;margin:18px 0 11px;line-height:1.1;}
.legal-head p {margin:0;color:var(--muted);font-size:16px;max-width:710px;}
.legal-text {background:#fff;border:1px solid var(--border);padding:10px clamp(28px,5vw,73px) 60px;max-width:100%;}
.legal-content {max-width:820px;}
.legal-content h2 {font-size:20px;margin:40px 0 15px;line-height:1.35;letter-spacing:-.025em;color:var(--navy);}
.legal-content h3 {font-size:16px;margin:25px 0 9px;color:var(--ink);}
.legal-content p {margin:0 0 16px;line-height:1.76;color:#4b5668;}
.legal-content strong {color:var(--ink);}
.legal-content a {color:var(--navy);overflow-wrap:anywhere;}
.legal-content ul {padding-left:22px;margin:0 0 20px;color:#4b5668;}
.legal-content li {margin-bottom:7px;}
.legal-content address {font-style:normal;margin-bottom:17px;line-height:1.75;}
.legal-note {font-size:13px;color:#637086!important;background:#f5f6fa;padding:14px 18px;border-left:3px solid #9ca3b9;}
@media (max-width:1050px) {
 .site-container {width:min(100% - 50px,1216px);}
 .hero {grid-template-columns:minmax(0,1fr) minmax(280px,36%);}
 .hero-content {padding:48px 35px;min-height:575px;}
 .hero-visual {min-height:575px;}
 .hero h1 {font-size:clamp(40px,5.3vw,62px);}
 .contact-item {padding:22px 20px;gap:12px;}
 .contact-value {font-size:14px;}
}
@media (max-width:760px) {
 .site-container {width:calc(100% - 32px);}
 .site-header__inside {min-height:91px;}
 .logo {width:218px;}
 .header-field {display:none;}
 .header-tel {font-size:0;padding:10px;min-width:42px;min-height:42px;justify-content:center;}
 .header-tel svg {width:19px;height:19px;}
 main.landing {padding-top:20px;}
 .hero {grid-template-columns:1fr;}
 .hero-content {min-height:auto;padding:42px 29px 40px;}
 .hero h1 {font-size:clamp(43px,8.4vw,61px);letter-spacing:-.055em;}
 .hero-lead {font-size:16px;}
 .hero-actions {margin-bottom:27px;}
 .hero-visual {min-height:350px;height:410px;}
 .hero-visual > img {object-position:center 28%;}
 .contact-panel {grid-template-columns:1fr;margin-top:18px;}
 .contact-item {padding:19px 24px;}
 .contact-item+.contact-item {border-left:0;border-top:1px solid var(--border);}
 .site-footer {padding-bottom:27px;}
 .legal-layout {padding-top:20px;}
 .legal-head {padding:35px 28px 30px;}
 .legal-text {padding:5px 28px 40px;}
}
@media (max-width:420px) {
 .logo {width:190px;}
 .hero-content {padding:36px 23px 34px;}
 .hero h1 {font-size:40px;}
 .hero-actions {width:100%;display:grid;}
 .action {width:100%;}
 .specs {font-size:12px;}
 .hero-visual {height:340px;min-height:340px;}
 .photo-caption {left:24px;bottom:24px;}
 .footer-inner {align-items:flex-start;flex-direction:column;}
}
@media (prefers-reduced-motion:reduce) {
 html{scroll-behavior:auto;}
 *,*::before,*::after{transition:none!important;}
}
