@font-face {
  font-family: "BerlinTypeWeb";
  src: url("./fonts/BerlinTypeWeb-Regular.woff2") format("woff2"),
       url("./fonts/BerlinTypeWeb-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "BerlinTypeWeb";
  src: url("./fonts/BerlinTypeWeb-Bold.woff2") format("woff2"),
       url("./fonts/BerlinTypeWeb-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  
  
  
  
  
  
  --white: #fff;
  
  
  
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--text);
  
  font-family: "BerlinTypeWeb", Arial, sans-serif;
  font-size: 16px;
  
  font-weight: 400;
}

a { color: var(--blue); }
a:hover { color: var(--navy); }

.container {
  
  margin-inline: auto;
}

.site-header {
  background: var(--white);
  border-bottom: 1px solid var(--border);
}

.header-inner {
  
  display: flex;
  align-items: center;
  justify-content: space-between;
  
}

.brand {
  color: var(--navy);
  
  font-weight: 800;
  text-decoration: none;
  line-height: 1.25;
}

.brand small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  
  font-weight: 500;
}

nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  
}

nav a {
  
  color: var(--text);
  border-radius: 8px;
  
  text-decoration: none;
}

nav a:hover, nav a[aria-current="page"] {
  color: var(--blue);
  background: var(--light);
}

.hero {
  
  color: white;
  
}



.eyebrow {
  color: var(--cyan);
  
  text-transform: uppercase;
  
  
}

strong, b, .brand {
  font-weight: 700;
}

h1, h2, h3 {
  color: var(--navy);
  line-height: 1.2;
  letter-spacing: -.025em;
  Font-weight:700;
}

h1 { font-size: clamp(2.25rem, 5vw, 3.7rem); }
h2 { font-size: clamp(1.65rem, 3vw, 2.25rem); }
h3 { font-size: 1.2rem; }

.hero h1 { color: white;  }
.hero p {  color: #e0eaf5;  }

.button-row {
  display: flex;
  flex-wrap: wrap;
  
  
}

.button {
  display: inline-block;
  
  color: white;
  background: var(--blue);
  border: 1px solid var(--blue);
  
  text-decoration: none;
  font-weight: 700;
}

.button:hover { color: white; background: #0f528c; }

.button-light {
  color: var(--navy);
  background: white;
  border-color: white;
}

.button-light:hover { color: var(--navy); background: #eaf3fb; }




.section-intro { max-width: 720px;  }
.section-intro p, .muted { color: var(--muted); }

.grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  
}

.card {
  
  background: white;
  border: 1px solid var(--border);
  
  
}

.card h3 { margin-top: 0; }
.card p:last-child { margin-bottom: 0; }

.page-heading {
  
  
  border-bottom: 1px solid var(--border);
}


.page-heading p { max-width: 720px; margin-bottom: 0; color: var(--muted); }


.content article { max-width: 820px; }
.content li { margin: 7px 0; }

.price-table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 12px;
  overflow: hidden;
}

.price-table th, .price-table td {
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid var(--border);
}

.price-table th {  color: var(--navy); }
.price-table tr:last-child td { border-bottom: 0; }

.notice {
  
  
  border-left: 4px solid #d79b22;
  border-radius: 6px;
}

.contact-details {
  
  background: var(--light);
  border-radius: var(--radius);
}

.site-footer {
  
  color: #dce7f3;
  background: var(--navy);
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
}

.site-footer a { color: white; }
.site-footer p { margin: 0; }
.footer-links { display: flex; flex-wrap: wrap; gap: 18px; }

@media (max-width: 800px) {
  .header-inner {
    align-items: flex-start;
    flex-direction: column;
    padding: 18px 0;
  }
  nav { gap: 3px; }
  nav a { padding: 8px; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero { padding: 58px 0; }
}

@media (max-width: 540px) {
  .container { width: min(100% - 28px, 1120px); }
  .grid { grid-template-columns: 1fr; }
  .section { padding: 44px 0; }
  .price-table th, .price-table td { padding: 10px 8px; }
  body { overflow-wrap: anywhere; }
}
:root {
  --navy: #10233f;
  
  --cyan: #47c6d0;
  --text: #26364b;
  
  --light: #f4f8fb;
  --border: #dfe8f0;
  --radius: 18px;
  --shadow: 0 12px 32px rgba(16,35,63,.045);
}
body { line-height: 1.65; -webkit-font-smoothing: antialiased; }
::selection { background: #c6eef1; color: var(--navy); }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }
.container { width: min(1160px, calc(100% - 48px)); }
.site-header { position: relative; z-index: 2; box-shadow: 0 1px 12px rgba(16,35,63,.025); }
.header-inner { min-height: 94px; gap: 30px; }
.brand { font-size: 1.17rem; letter-spacing: .035em; flex-shrink: 0; }
.brand small { font-size: .73rem; letter-spacing: 0; line-height: 1.4; }
nav { gap: 4px 6px; }
nav a { font-size: .91rem; font-weight: 700; padding: 10px 13px; transition: background .18s ease, color .18s ease; }
nav a[aria-current="page"] { color: var(--blue); background: #eaf3fa; }
nav a:hover { color: var(--navy); background: #edf5fa; }
h1,h2,h3 { text-wrap: balance; }
h1 { letter-spacing: -.04em; }
h2 { letter-spacing: -.035em; }
p { margin-top: 0; }
.hero {  background: radial-gradient(ellipse at 86% 18%, rgba(71,198,208,.18), transparent 37%), radial-gradient(ellipse at 100% 100%, rgba(23,105,170,.3), transparent 48%), linear-gradient(125deg,#10233f 0%,#153c63 100%); }


.hero p { font-size: clamp(1.06rem, 1.8vw, 1.22rem);   }
.eyebrow { display: inline-block; font-size: .77rem; letter-spacing: .14em; font-weight: 700; }
.section:not(.hero) .eyebrow, .content .eyebrow { color: #116c86; }
.button { padding: 13px 21px; border-radius: 10px; line-height: 1.4; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.button:hover { transform: translateY(-2px); }
.button-row { gap: 13px; margin-top: 34px; }
.section { padding: clamp(64px, 8vw, 96px) 0; }
.section-intro { margin-bottom: 36px; }
.section-intro h2 { margin: 12px 0 16px; }
.section-intro p { font-size: 1.065rem; }
.grid { gap: 24px; }
.card { padding: clamp(25px,3vw,34px); box-shadow: var(--shadow); border-radius: var(--radius); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.card:hover { border-color: #bdd8e8; transform: translateY(-3px); box-shadow: 0 16px 38px rgba(16,35,63,.075); }
.card h2,.card h3 { margin: 0 0 13px; }
.card h2 { font-size: 1.4rem; }
.card p { color: #45576c; }
.section-muted { background: linear-gradient(135deg,#f2f7fb,#edf5f8); }

.page-heading h1 { font-size: clamp(2.4rem,5vw,3.65rem); letter-spacing: -.045em; }
.page-heading p { font-size: 1.075rem; }
.content { padding: clamp(50px,7vw,82px) 0 96px; }
.content article > h2:not(:first-child) { margin-top: 36px; }
.content article { line-height: 1.75; }
.content li { padding-left: 3px; }
.price-table { box-shadow: 0 6px 24px rgba(16,35,63,.04); border: 1px solid var(--border); }
.price-table th,.price-table td { padding: 17px 19px; }
.price-table th { background: #eaf3f8; }
.notice { background: #fff9eb; border-left-color: #cf9629; padding: 19px 23px; }
.contact-details { padding: clamp(25px,3vw,38px); border: 1px solid var(--border); }
.site-footer { padding: 38px 0; }
.footer-inner { align-items: center; }
.footer-links a { text-underline-offset: 4px; }
@media (max-width: 900px) {
  .header-inner { align-items: flex-start; flex-direction: column; padding: 20px 0 17px; gap: 17px; }
  nav { width: 100%; }
  nav a { padding: 9px 12px; }
}
@media (max-width: 640px) {
  .container { width: min(100% - 36px, 1160px); }
  .grid { grid-template-columns: 1fr; }
  .hero { padding: 70px 0 76px; }
  .hero h1 { font-size: clamp(2.45rem, 10vw, 3.5rem); }
  .section { padding: 60px 0; }
  .card { padding: 26px; }
  .header-inner { gap: 15px; }
  nav { gap: 5px; }
  nav a { padding: 8px 10px; font-size: .89rem; }
  .footer-inner { flex-direction: column; align-items: flex-start; }
  .price-table { display: block; overflow-x: auto; max-width: 100%; }
  .price-table th,.price-table td { padding: 13px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.skip-link { position:absolute; top:-100px; left:16px; z-index:10; padding:10px 16px; background:#fff; color:var(--navy); border:2px solid var(--blue); border-radius:8px; }
.skip-link:focus { top:12px; }
.page-heading {
  padding: clamp(28px, 3.5vw, 42px) 0 clamp(24px, 3vw, 34px);
}
.page-heading h1 {
  margin: 0 0 8px;
}
.page-heading p {
  margin: 0;
  line-height: 1.55;
}
.content {
  padding-top: clamp(26px, 3.5vw, 40px);
}
@media (max-width: 640px) {
  .page-heading { padding: 26px 0 24px; }
  .content { padding-top: 26px; }
}
.agb-content{max-width:900px;}.agb-content h2{margin:2rem 0 1rem;}.agb-clause{margin:0 0 1.5rem;}.agb-clause h3{margin:0 0 .55rem;font-size:1.12rem;}.agb-clause p{margin:.3rem 0;line-height:1.7;}.agb-clause ol{padding-left:1.5rem;margin:.35rem 0;}.agb-clause li{padding-left:.3rem;margin:.5rem 0;line-height:1.7;}
.hero { padding: clamp(48px, 6vw, 76px) 0 clamp(52px, 6.5vw, 82px); }
.hero-content { max-width: 850px; }
.hero h1 { max-width: 820px; margin: 12px 0 18px; font-size: clamp(2.65rem, 5.2vw, 4.4rem); line-height: 1.1; }
.hero p { max-width: 680px; margin-bottom: 0; line-height: 1.6; }
.hero .button-row { margin-top: 26px; }
@media (max-width: 540px) {
  .hero { padding: 42px 0 50px; }
  .hero h1 { font-size: clamp(2.35rem, 10vw, 3rem); }
  .hero .button-row { gap: 10px; }
}
.audience-grid { align-items: stretch; }
.audience-card { display: flex; flex-direction: column; position: relative; overflow: hidden; border-top: 3px solid var(--cyan); }
.audience-card h3 { font-size: clamp(1.35rem, 2vw, 1.6rem); line-height: 1.25; }
.audience-card p { flex: 1; margin: 0 0 24px; }
.audience-link { display: inline-flex; align-items: center; gap: 9px; width: fit-content; font-weight: 700; color: var(--blue); text-decoration: none; }
.audience-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.audience-link:focus-visible { outline: 3px solid var(--cyan); outline-offset: 5px; border-radius: 2px; }
@media (prefers-reduced-motion: reduce) { .audience-card { transition: none; } }
.approach-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(30px, 6vw, 90px); align-items: start; }
.approach-heading h2 { margin: 12px 0 20px; max-width: 560px; font-size: clamp(2rem, 3.3vw, 2.8rem); line-height: 1.18; }
.approach-lead { max-width: 510px; font-size: 1.15rem; line-height: 1.6; color: var(--navy); }
.approach-content { padding-top: 27px; border-top: 3px solid var(--cyan); }
.approach-content p { line-height: 1.75; margin: 0 0 18px; }
.approach-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 8px; font-weight: 700; color: var(--blue); text-decoration: none; }
.approach-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.approach-link:focus-visible { outline: 3px solid var(--cyan); outline-offset: 5px; border-radius: 2px; }
@media (max-width: 760px) { .approach-layout { grid-template-columns: 1fr; gap: 24px; } .approach-content { padding-top: 23px; } }
.contact-cta { background: linear-gradient(125deg, #10233f, #173d65); color: #fff; }
.contact-cta-inner { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(220px, .7fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.contact-cta .eyebrow { color: #a7e8ec; }
.contact-cta h2 { margin: 12px 0 16px; color: #fff; font-size: clamp(2rem, 3.3vw, 2.8rem); line-height: 1.18; }
.contact-cta-copy p { max-width: 660px; margin: 0; color: #e1ebf4; line-height: 1.7; }
.contact-cta-action { justify-self: end; }
.contact-cta-action .button { display: inline-flex; align-items: center; gap: 14px; white-space: nowrap; }
.contact-cta-action p { margin: 12px 0 0; font-size: .9rem; color: #d3e2ef; }
@media (max-width: 760px) { .contact-cta-inner { grid-template-columns: 1fr; gap: 26px; } .contact-cta-action { justify-self: start; } }
.services-intro { max-width: 680px; margin: 0 0 28px; }
.services-eyebrow { display:block; font-size:.78rem; font-weight:700; letter-spacing:.12em; color:var(--blue); margin-bottom:10px; }
.services-intro p { font-size:1.08rem; line-height:1.65; margin:0; }
.services-grid { align-items:stretch; }
.services-grid .service-card { border-top:3px solid var(--cyan); display:flex; flex-direction:column; }
.services-grid .service-card h2 { line-height:1.25; }
.services-grid .service-card ul { margin-top:8px; padding-left:21px; }
.services-grid .service-card li::marker { color:var(--blue); }
.services-grid .service-card a { font-weight:700; text-underline-offset:4px; }
.services-cta { margin-top:38px; padding:clamp(26px,4vw,44px); border-radius:var(--radius); background:var(--navy); color:white; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.services-cta .services-eyebrow { color:#a7e8ec; }
.services-cta h2 { color:white; margin:0 0 10px; font-size:clamp(1.5rem,2.8vw,2rem); line-height:1.25; }
.services-cta p { color:#e1ebf4; margin:0; max-width:620px; }
.services-cta .button { flex-shrink:0; }
@media(max-width:720px) { .services-cta { flex-direction:column; align-items:flex-start; } }
.practice-feature {   border-top:4px solid var(--cyan); background:linear-gradient(115deg,#f3f7fb,#fff 70%); }
.practice-feature h2 { margin:0 0 16px;  line-height:1.2; }
.practice-feature .practice-lead { font-size:1.13rem; font-weight:600; max-width:800px; }
.practice-feature p {  line-height:1.7; }
.practice-feature h3 { font-size:1.08rem; margin:24px 0 10px; }
.practice-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 28px; padding-left:22px; max-width:850px; }
.practice-list li::marker { color:var(--blue); }
.practice-note { font-size:.94rem; color:var(--muted); margin:22px 0 14px; }
.services-quote { margin-top:32px; padding:clamp(26px,4vw,42px); background:#f3f7fb; border-radius:var(--radius); }
.services-quote blockquote { margin:12px 0 18px; font-size:clamp(1.55rem,3vw,2.3rem); font-weight:700; font-style:italic; line-height:1.3; color:var(--navy); }
.services-quote p { max-width:780px; margin:0; line-height:1.7; }
@media(max-width:650px) { .practice-list { grid-template-columns:1fr; } }
.practice-feature { width:100%; box-sizing:border-box; margin-bottom:24px; padding:clamp(24px,3vw,34px); }
.practice-feature h2 { font-size:clamp(1.55rem,2.4vw,2rem); margin-bottom:12px; }
.practice-feature p { max-width:none; margin:0 0 16px; }
.practice-topics { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0 0 22px; padding:0; }
.practice-topics li { padding:7px 12px; border:1px solid #d6e5ef; background:white; border-radius:7px; font-size:.92rem; }
.services-feature-grid { margin-bottom:24px; }
.services-content .services-feature-grid > .practice-feature,
.services-content .services-feature-grid > .office-feature {
  grid-column:1 / -1;
  max-width:none;
  width:100%;
  min-width:0;
  margin:0;
  box-sizing:border-box;
  padding:clamp(25px,3vw,34px);
  display:flex;
  flex-direction:column;
  border-top:3px solid var(--cyan);
  background:#fff;
}
.services-content .services-feature-grid > .practice-feature h2,
.services-content .services-feature-grid > .office-feature h2 {font-size:1.4rem;line-height:1.25;margin:0 0 13px;}
.services-content .services-feature-grid > .practice-feature p,
.services-content .services-feature-grid > .office-feature p {max-width:none;margin:0 0 16px;}
.services-feature-grid .practice-topics {margin-bottom:20px;}
.services-feature-grid .audience-link {margin-top:auto;}
.pricing-intro {max-width:760px;margin:0 0 28px;}
.pricing-intro h2 {margin:0 0 12px;font-size:clamp(1.6rem,2.7vw,2.15rem);}
.pricing-intro p {font-size:1.07rem;line-height:1.7;margin:0;}
.pricing-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;}
.pricing-content .pricing-card {max-width:none;width:100%;min-width:0;box-sizing:border-box;border-top:3px solid var(--cyan);display:flex;flex-direction:column;padding:clamp(24px,3vw,34px);}
.pricing-card h2 {font-size:1.45rem;margin:0 0 8px;}
.pricing-card > p {margin:0 0 24px;}
.pricing-amount {font-size:clamp(2.2rem,4vw,3rem);font-weight:750;color:var(--navy);line-height:1.15;margin:auto 0 24px;}
.pricing-amount span {font-size:1rem;font-weight:500;color:var(--muted);}
.pricing-line {display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-top:1px solid #d6e5ef;border-bottom:1px solid #d6e5ef;}
.pricing-card .pricing-fineprint {font-size:.9rem;line-height:1.55;color:var(--muted);margin:16px 0 0;}
.pricing-custom {margin-top:24px;padding:clamp(24px,3vw,34px);border-radius:var(--radius);background:#f3f7fb;}
.pricing-custom h2 {margin:0 0 12px;font-size:1.45rem;}
.pricing-custom p {max-width:760px;line-height:1.7;}
.pricing-notice {margin-top:24px;}
@media(max-width:720px){.pricing-grid{grid-template-columns:1fr;}}
.remote-intro {max-width:760px;margin-bottom:36px;}.remote-intro h2{font-size:clamp(1.6rem,2.7vw,2.15rem);margin:0 0 12px;}.remote-intro p{font-size:1.07rem;line-height:1.7;margin:0;}.remote-section-title{font-size:1.45rem;margin:0 0 18px;}.remote-steps{list-style:none;padding:0;margin:0 0 26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}.remote-steps li{display:flex;gap:18px;padding:24px;background:#fff;border:1px solid #d6e5ef;border-top:3px solid var(--cyan);border-radius:var(--radius);}.remote-step-number{font-weight:750;font-size:.82rem;letter-spacing:.1em;color:var(--blue);padding-top:3px;}.remote-steps h3{margin:0 0 8px;font-size:1.15rem;}.remote-steps p{margin:0;line-height:1.6;}.remote-safety{padding:24px 28px;border-left:4px solid var(--cyan);background:#f3f7fb;border-radius:8px;}.remote-safety p{margin:8px 0 0;line-height:1.65;}.remote-downloads{margin-top:42px;}.remote-downloads h2{margin:0 0 10px;font-size:1.5rem;}.remote-downloads>p{max-width:760px;margin:0 0 22px;}.remote-content .remote-download-card{max-width:none;width:100%;box-sizing:border-box;border-top:3px solid var(--cyan);padding:24px;}.remote-download-card h3{margin:0 0 8px;}.remote-download-card p{margin:0 0 20px;}.remote-pending{display:inline-block;color:var(--muted);font-weight:700;font-size:.9rem;}.remote-cta{margin-top:36px;}@media(max-width:720px){.remote-steps,.remote-download-grid{grid-template-columns:1fr}.remote-steps li{padding:20px}}
.remote-download-card .button { display:inline-flex; align-items:center; justify-content:center; margin-top:auto; text-align:center; }

.remote-download-note { font-size:.9rem; margin-top:15px; color:var(--muted); }
.remote-download-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.remote-download-card {min-width:0;display:flex;flex-direction:column;align-items:flex-start;}
.remote-download-card p {flex:1;}
@media(max-width:650px){.remote-download-grid{grid-template-columns:1fr;}}
.contact-intro {max-width:760px;margin:0 0 30px;}
.contact-intro h2 {font-size:clamp(1.65rem,2.8vw,2.2rem);margin:0 0 12px;}
.contact-intro p {font-size:1.07rem;line-height:1.7;margin:0;}
.contact-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.contact-content .contact-card {max-width:none;min-width:0;box-sizing:border-box;width:100%;border-top:3px solid var(--cyan);display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,3vw,34px);}
.contact-card h3 {margin:0 0 14px;font-size:1.4rem;}
.contact-primary-link {font-size:clamp(1.15rem,2.1vw,1.55rem);font-weight:750;color:var(--blue);overflow-wrap:anywhere;text-underline-offset:5px;margin-bottom:22px;}
.contact-card p {line-height:1.65;}
.contact-card .button {margin-top:auto;}
.contact-small {color:var(--muted);font-size:.93rem;}
.contact-signoff {margin-top:28px;padding:clamp(24px,3vw,34px);background:#f3f7fb;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:22px;}
.contact-signoff h2 {margin:0 0 8px;font-size:1.5rem;}
.contact-signoff p {margin:0;}
.contact-review-note {font-size:.85rem;color:var(--muted);margin:22px 0 0;}
@media(max-width:720px){.contact-grid{grid-template-columns:1fr;}.contact-signoff{align-items:flex-start;flex-direction:column;}}
.audience-grid .audience-card-featured {grid-column:1/-1;border-top:4px solid #47c6d0;background:#f3f9fc;}
.audience-card-featured h3 {font-size:clamp(1.45rem,2.3vw,1.8rem);}
.audience-card-featured p {max-width:780px;}
.messenger-links {display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 14px;}
.messenger-links .button {display:inline-flex;align-items:center;justify-content:center;text-align:center;}
@media(max-width:420px){.messenger-links .button{width:100%;box-sizing:border-box;}}
:where(a, button):focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
@media (max-width: 800px) {
  .header-inner { gap: 12px; }
  .site-header nav { display: flex; width: 100%; flex-wrap: wrap; gap: 5px; }
  .site-header nav a { min-height: 44px; display: inline-flex; align-items: center; padding: 9px 12px; }
}
@media (max-width: 640px) {
  .hero .button-row, .button-row { display: flex; flex-direction: column; align-items: stretch; }
  .hero .button-row .button, .button-row .button { display: inline-flex; justify-content: center; text-align: center; min-height: 44px; align-items: center; }
  .remote-download-card .button, .contact-card .button { max-width: 100%; white-space: normal; text-align: center; min-height: 44px; }
  .remote-steps li { gap: 12px; }
  .contact-signoff { overflow-wrap: anywhere; }
  .messenger-links { display: flex; flex-wrap: wrap; gap: 10px; }
  .messenger-links .button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
}
@media (max-width: 420px) {
  .messenger-links { flex-direction: column; align-items: stretch; width: 100%; }
  .messenger-links .button { width: 100%; box-sizing: border-box; }
  .pricing-line { flex-wrap: wrap; }
}
.site-header .brand-logo { display: inline-flex; align-items: center; flex-shrink: 0; padding: 6px 0; line-height: 1; }
.site-header .brand-logo img { display: block; width: 166px; max-width: 100%; height: auto; }
@media (max-width: 800px) { .site-header .brand-logo img { width: 150px; } }
@media (max-width: 540px) { .site-header .brand-logo img { width: 138px; } }
html { background: #142033; }
body {
  background: url("pictures/hintergrund.webp") center top / cover fixed no-repeat;
}
main { background: transparent; }

main > .section:not(.hero):not(.contact-cta),
main > .content {
  background: rgba(255, 255, 255, .89);
}
main > .section.section-muted:not(.contact-cta) {
  background: rgba(242, 247, 251, .89);
}
@media (max-width: 800px) {
  body { background-attachment: scroll; }
}
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 4px;
}
:where(a, button, input, select, textarea, summary):focus:not(:focus-visible) {
  outline: none;
}
.skip-link:focus, .skip-link:focus-visible {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 9999;
  width: auto;
  height: auto;
  padding: 12px 18px;
  background: #fff;
  color: #10233f;
  border: 3px solid #10233f;
  border-radius: 6px;
  clip: auto;
  clip-path: none;
  overflow: visible;
  white-space: normal;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (forced-colors: active) {
  :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid Highlight;
  }
  .button, .card, .site-header { border: 1px solid CanvasText; }
}
.external-link-note { font-size: .875em; font-weight: normal; white-space: normal; }
img, svg, video { max-width: 100%; height: auto; }
.container, .header-inner, .hero-content, .content article { min-width: 0; }
.grid > *, .contact-grid > *, .remote-download-grid > *,
.remote-steps > *, .footer-inner > * { min-width: 0; }
a, p, li, h1, h2, h3 { overflow-wrap: break-word; }
.contact-primary-link, .remote-download-card a { overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .grid, .contact-grid, .remote-download-grid, .remote-steps {
    grid-template-columns: minmax(0, 1fr);
  }
  .audience-grid .audience-card-featured { grid-column: auto; }
  .footer-inner, .footer-links { flex-wrap: wrap; }
  .button-row .button { max-width: 100%; white-space: normal; }
}
@media (max-width: 400px) {
  .container { width: calc(100% - 28px); }
  .header-inner { gap: 10px; }
  .site-header nav { gap: 3px; }
  .site-header nav a { padding: 9px 10px; }
  .card, .remote-steps li, .contact-content .contact-card {
    padding: 18px;
  }
}
.content:has(.price-table) { min-width: 0; }
.price-table { max-width: 100%; }
@media (max-width: 540px) {
  .price-table { font-size: .94rem; }
  .price-table th, .price-table td { overflow-wrap: anywhere; }
}
:root {
  --muted: #46566b;
  --blue: #13578d;
}
.page-heading { background: rgba(246, 250, 252, .97); }
main > .section:not(.hero):not(.contact-cta),
main > .content,
main > section:not(.hero):not(.page-heading):not(.contact-cta) {
  background-color: rgba(255, 255, 255, .96);
}
main > .section.section-muted:not(.contact-cta) {
  background-color: rgba(242, 247, 251, .97);
}
.hero .eyebrow, .contact-cta .eyebrow { color: #b8edf0; }
.content a:not(.button), .card a:not(.button), .contact-details a:not(.button),
.site-footer a { text-decoration: underline; text-underline-offset: .17em; }
#main-content { scroll-margin-top: 1rem; }
#main-content:focus { outline: none; }
#main-content:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: -3px;
}
.site-header nav a, .site-footer nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media print {
  @page { margin: 15mm; }
  html, body, main, main > section, .hero, .page-heading,
  .section, .section-muted, .card, .contact-cta {
    background: #fff !important;
    background-image: none !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  body { font-size: 11pt; line-height: 1.45; }
  h1, h2, h3, p, li, a { color: #000 !important; }
  h1, h2, h3 { break-after: avoid; }
  p, li { orphans: 3; widows: 3; }
  .card, article, table, tr { break-inside: avoid; }
  .site-header nav, .site-footer nav, .skip-link, .button-row,
  .messenger-links, .contact-cta-action { display: none !important; }
  a { text-decoration: underline; }
  img { max-width: 100% !important; }
}
:where(p, li, blockquote, dd) {
  max-height: none;
  text-overflow: clip;
}
:where(.card, .service-card, .remote-download-card, .contact-card,
       .pricing-card, .audience-card) {
  height: auto;
  min-width: 0;
}
:where(.button, .audience-link, .contact-link, .footer-links a) {
  white-space: normal;
  overflow-wrap: anywhere;
}
:where(h1, h2, h3, p, li, a, button) {
  hyphens: auto;
}
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #10233f;
}
@media (forced-colors: active) {
  a:focus-visible, button:focus-visible, input:focus-visible,
  select:focus-visible, textarea:focus-visible, summary:focus-visible {
    outline-color: Highlight;
    box-shadow: none;
  }
}
main > .page-heading {
  color: #fff;
  background:
    radial-gradient(ellipse at 86% 18%, rgba(71,198,208,.18), transparent 37%),
    radial-gradient(ellipse at 100% 100%, rgba(23,105,170,.3), transparent 48%),
    linear-gradient(125deg, #10233f 0%, #153c63 100%);
  border-bottom-color: rgba(255,255,255,.16);
}
main > .page-heading h1 { color: #fff; }
main > .page-heading p { color: #e0eaf5; }
