:root {
  --navy:#edf4fb;
  --blue:#dce8f5;
  --sky:#1a6bd4;
  --sky2:#1558b8;
  --light:#0d4fa0;
  --white:#0a1e3a;
  --gray:#4a6a8a;
  --line:#d7e3f0;
  --surface:#ffffff;
  --surface-soft:#f7fbff;
  --shadow-soft:0 10px 24px rgba(26,107,212,0.05);
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  background:
    radial-gradient(circle at top left, rgba(43,105,246,0.07), transparent 28%),
    linear-gradient(180deg,#f8fbff 0%,#edf4fb 42%,#eef5fc 100%);
  color:var(--white);
  font-family:'Barlow',sans-serif;
  font-weight:300;
  overflow-x:hidden;
  min-height:100vh;
}
a { color:inherit; }

nav {
  position:fixed;
  top:18px;
  left:28px;
  right:28px;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 28px;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(16px);
  border:1px solid rgba(26,107,212,0.12);
  border-radius:24px;
  box-shadow:var(--shadow-soft);
}
.nav-logo img {
  height:52px;
  width:auto;
  object-fit:contain;
  display:block;
  mix-blend-mode:multiply;
}
.nav-links {
  display:flex;
  gap:28px;
  list-style:none;
  align-items:center;
}
.nav-links a {
  color:var(--gray);
  text-decoration:none;
  font-size:12px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  font-weight:600;
}
.nav-links a:hover,
.nav-links a.active { color:var(--sky); }

.page {
  margin:118px 32px 0;
  padding:0 0 80px;
}

.hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:28px;
  align-items:stretch;
  min-height:300px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(26,107,212,0.12);
  border-radius:22px;
  box-shadow:var(--shadow-soft);
  padding:34px;
}
.hero::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url('/img/Kontakt_2.png') center right / min(76vw,1180px) auto no-repeat;
  filter:saturate(1.1) contrast(1.04);
}
.hero::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(248,251,255,1) 0%, rgba(248,251,255,0.98) 24%, rgba(248,251,255,0.72) 34%, rgba(248,251,255,0.28) 48%, rgba(248,251,255,0.08) 100%),
    radial-gradient(circle at 13% 50%, rgba(248,251,255,1) 0 20%, rgba(248,251,255,0.92) 29%, rgba(248,251,255,0.2) 44%, transparent 60%),
    linear-gradient(180deg, rgba(248,251,255,0.70) 0%, rgba(248,251,255,0.06) 24%, rgba(248,251,255,0.04) 74%, rgba(248,251,255,0.66) 100%);
}
.hero > * {
  position:relative;
  z-index:2;
}
.hero > div:only-child {
  grid-column:1 / -1;
}
.crumbs {
  font-family:'Barlow Condensed',sans-serif;
  font-size:16px;
  letter-spacing:3px;
  color:var(--sky);
  text-transform:uppercase;
  margin-bottom:14px;
  font-weight:700;
  text-shadow:0 1px 0 rgba(255,255,255,0.9);
}
.crumbs a {
  color:var(--gray);
  text-decoration:none;
}
.hero h1 {
  font-size:clamp(38px,5vw,58px);
  line-height:1.02;
  letter-spacing:-1.2px;
  margin-bottom:12px;
  font-weight:700;
  color:#06172b;
  text-shadow:0 2px 0 rgba(255,255,255,0.76), 0 18px 34px rgba(8,20,40,0.12);
}
.hero h1 em {
  color:var(--sky);
  font-style:normal;
}
.hero p {
  max-width:680px;
  color:#17345e;
  font-size:15px;
  line-height:1.7;
  font-weight:500;
  text-shadow:0 1px 0 rgba(255,255,255,0.84);
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.hero-note {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  background:#f7fbff;
  border:1px solid rgba(26,107,212,0.12);
  border-radius:20px;
  padding:24px;
}
.hero-note h2 {
  font-size:24px;
  line-height:1.18;
  letter-spacing:-.4px;
  margin-bottom:8px;
}
.contact-lines {
  display:grid;
  gap:10px;
}
.contact-lines a {
  color:var(--sky);
  text-decoration:none;
  font-weight:700;
  font-size:14px;
}

.btn-primary,
.btn-secondary,
.btn-light,
.form-submit {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  cursor:pointer;
  text-decoration:none;
  transition:all .2s;
}
.btn-primary,
.form-submit {
  border:0;
  background:linear-gradient(135deg,#2b69f6 0%,#1a57d8 100%);
  color:#fff;
  padding:14px 22px;
  font:700 14px 'Barlow',sans-serif;
  box-shadow:0 12px 24px rgba(43,105,246,.18);
}
.btn-secondary {
  background:#fff;
  color:var(--white);
  border:1px solid rgba(26,107,212,0.18);
  padding:13px 20px;
  font:600 14px 'Barlow',sans-serif;
}
.btn-primary:hover,
.btn-secondary:hover,
.form-submit:hover,
.btn-light:hover {
  transform:translateY(-1px);
}
.btn-secondary:hover {
  border-color:var(--sky);
  color:var(--sky);
  background:#eef5ff;
}

.contact-section {
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:0;
  margin-top:24px;
  align-items:stretch;
}
.card,
.side-card,
.faq-card {
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(26,107,212,0.12);
  box-shadow:var(--shadow-soft);
  border-radius:22px;
}
.contact-card {
  padding:26px 28px;
  border-right:0;
  border-radius:22px 0 0 22px;
  box-shadow:var(--shadow-soft);
}
.contact-image-card {
  min-height:100%;
  overflow:hidden;
  border:1px solid rgba(26,107,212,0.12);
  border-left:0;
  border-radius:0 22px 22px 0;
  background:#f8fbff;
  box-shadow:var(--shadow-soft);
}
.contact-image-card img {
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
  object-position:center;
}
.section-title {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.contact-mini-hint {
  flex:0 0 min(300px,38%);
  padding:14px 16px;
  border:1px solid rgba(26,107,212,0.12);
  border-radius:18px;
  background:#f7fbff;
}
.contact-mini-hint h3 {
  margin:0 0 8px;
  color:var(--white);
  font-size:18px;
  line-height:1.15;
  letter-spacing:-.2px;
}
.contact-mini-hint p {
  margin:0;
  color:var(--gray);
  font-size:13px;
  line-height:1.55;
}
.section-title span,
.faq-head span,
.side-card span {
  display:block;
  font-family:'Barlow Condensed',sans-serif;
  color:var(--sky);
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:8px;
}
.section-title h2,
.faq-head h2 {
  font-size:32px;
  line-height:1.08;
  letter-spacing:-.7px;
  font-weight:700;
}
.section-copy {
  color:var(--gray);
  font-size:14px;
  line-height:1.7;
  margin-bottom:20px;
}

form {
  display:grid;
  gap:18px;
}
.honeypot {
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  opacity:0;
}
.form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.field.full {
  grid-column:1/-1;
}
label {
  display:block;
  font-family:'Barlow Condensed',sans-serif;
  color:var(--sky);
  font-size:11px;
  letter-spacing:1.8px;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:8px;
}
input,
select,
textarea {
  width:100%;
  border:1.5px solid #cfe0f2;
  background:#fff;
  border-radius:14px;
  padding:13px 15px;
  font:400 14px 'Barlow',sans-serif;
  color:var(--white);
  outline:none;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
input::placeholder,
textarea::placeholder {
  color:#8aa0ba;
}
select {
  appearance:none;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231a6bd4' stroke-width='1.7' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
  padding-right:40px;
}
input:focus,
select:focus,
textarea:focus {
  border-color:rgba(26,107,212,.42);
  box-shadow:0 0 0 4px rgba(26,107,212,.08);
  background:#fcfeff;
}
textarea {
  min-height:128px;
  resize:vertical;
}
.form-submit {
  width:100%;
  min-height:50px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
}
.form-submit.is-warning {
  background:#d66b22;
}

.feedback {
  padding:14px 16px;
  border-radius:16px;
  font-size:13px;
  line-height:1.6;
}
.feedback.is-error {
  color:#8c3c13;
  background:#fff0e6;
  border:1px solid #f1c9a7;
}
.feedback.is-success {
  color:#1d7a52;
  background:#e8f7ee;
  border:1px solid #cae6d2;
}

.contact-side {
  display:grid;
  gap:16px;
}
.side-card {
  padding:24px;
}
.side-card.soft {
  background:#f8fbff;
}
.side-card h3 {
  font-size:22px;
  line-height:1.15;
  letter-spacing:-.4px;
  margin-bottom:10px;
}
.side-card p {
  color:var(--gray);
  font-size:14px;
  line-height:1.7;
}
.side-links {
  display:grid;
  gap:10px;
  margin-top:18px;
}
.side-links a {
  display:block;
  padding:12px 14px;
  border-radius:14px;
  background:#eef5ff;
  color:var(--sky);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}

.faq-section {
  margin-top:42px;
}
.faq-head {
  max-width:1120px;
  margin:0 auto 28px;
  text-align:center;
}
.faq-head span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:88px;
  min-height:38px;
  padding:8px 18px;
  margin-bottom:16px;
  border:1px solid rgba(26,107,212,.18);
  border-radius:14px;
  background:#eaf2ff;
  color:var(--sky);
  font-size:22px;
  letter-spacing:3px;
  line-height:1;
  box-shadow:0 10px 22px rgba(26,107,212,.08);
}
.faq-head h2 {
  max-width:1040px;
  margin:0 auto;
  font-size:clamp(42px,5.2vw,66px);
  line-height:.98;
  letter-spacing:-1.5px;
}
.faq-grid {
  display:grid;
  grid-template-columns:minmax(0,min(100%,980px));
  justify-content:center;
  gap:16px;
}
.faq-card {
  padding:0;
  overflow:hidden;
}
.faq-card summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:82px;
  padding:24px 28px;
  cursor:pointer;
  color:var(--white);
  font-size:24px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.3px;
}
.faq-card summary::-webkit-details-marker {
  display:none;
}
.faq-card summary::after {
  content:'+';
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:12px;
  background:#eef5ff;
  color:var(--sky);
  font-family:'Barlow Condensed',sans-serif;
  font-size:30px;
  line-height:1;
}
.faq-card[open] summary::after {
  content:'-';
}
.faq-card p {
  margin:0;
  padding:0 28px 26px;
  color:var(--gray);
  font-size:17px;
  line-height:1.7;
  max-width:880px;
}
.faq-cta {
  width:100%;
  margin:30px auto 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  padding:36px;
  background:linear-gradient(135deg,#ffffff 0%,#f1f7ff 100%);
  color:var(--white);
  border:1px solid rgba(26,107,212,0.12);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
}
.faq-cta .section-tag {
  margin:0 0 8px;
  color:#1a6bd4;
  font-family:'Barlow',sans-serif;
  font-size:clamp(24px,2.4vw,34px);
  font-weight:700;
  letter-spacing:0;
  line-height:1.05;
  text-transform:none;
}
.faq-cta h2 {
  color:#081428;
  font-family:'Barlow',sans-serif;
  font-size:clamp(30px,3vw,40px);
  font-weight:700;
  line-height:1.08;
  letter-spacing:0;
  margin-bottom:12px;
}
.faq-cta p {
  color:var(--gray);
  font-size:16px;
  line-height:1.55;
}
.btn-light {
  flex:0 0 auto;
  background:linear-gradient(135deg,#2b69f6 0%,#1a57d8 100%);
  color:#fff;
  padding:15px 24px;
  font:700 14px 'Barlow',sans-serif;
  border:0;
  box-shadow:0 12px 24px rgba(43,105,246,.18);
}

.modal-overlay {
  display:none;
  position:fixed;
  inset:0;
  z-index:1400;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(7,27,53,.42);
  backdrop-filter:blur(10px);
}
.modal-overlay.open {
  display:flex;
}
body.modal-open {
  overflow:hidden;
}
.modal-box {
  width:min(460px,100%);
  max-height:88vh;
  overflow:auto;
  border:1px solid rgba(26,107,212,.14);
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 80px rgba(10,30,80,.22);
}
.modal-header {
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 24px;
  background:#fff;
  border-bottom:1px solid #eaf1f9;
}
.modal-header h2 {
  color:#0a1e3a;
  font-family:'Barlow Condensed',sans-serif;
  font-size:22px;
  letter-spacing:2px;
  text-transform:uppercase;
}
.modal-close {
  border:0;
  background:transparent;
  color:#4a6a8a;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.modal-close:hover {
  color:var(--sky);
}
.modal-content {
  padding:30px 34px 36px;
}
.auth-tabs {
  display:flex;
  border-bottom:2px solid #dce8f5;
  margin-bottom:26px;
}
.auth-tab {
  flex:1;
  padding:14px;
  text-align:center;
  color:#7a96aa;
  border-bottom:3px solid transparent;
  margin-bottom:-2px;
  cursor:pointer;
  font-size:13px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.auth-tab.active {
  color:#1a3a6a;
  border-bottom-color:#1a6bd4;
}
.auth-panel {
  display:none;
  flex-direction:column;
  gap:12px;
}
.auth-panel.active {
  display:flex;
}
.auth-panel input,
.auth-select {
  width:100%;
  padding:13px 16px;
  border:1.5px solid #dce8f5;
  border-radius:12px;
  background:#f5f8fc;
  color:#0a1e3a;
  font:400 13px 'Barlow',sans-serif;
  outline:none;
}
.auth-panel input:focus,
.auth-select:focus {
  border-color:#1a6bd4;
  background:#fff;
}
.auth-select {
  display:none;
  margin-bottom:2px;
}
.register-panel-title {
  color:#06364f;
  font-family:'Barlow Condensed',sans-serif;
  font-size:18px;
  font-weight:700;
  letter-spacing:.5px;
}
.role-switch,
.split-fields {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.role-switch {
  width:min(340px,100%);
  margin:4px auto 8px;
}
.role-choice-icon {
  font-size:22px;
  line-height:1;
}
.auth-field {
  display:flex;
  flex-direction:column;
  gap:6px;
}
.auth-field > span,
.invoice-email-check span {
  color:#1a6bd4;
  font-family:'Barlow Condensed',sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.5px;
}
.auth-field > span {
  text-transform:uppercase;
}
.auth-field .auth-select {
  display:block;
  margin:0;
}
.phone-field {
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:8px;
}
.phone-field select,
.country-picker select {
  width:100%;
  padding:13px 16px;
  border:1.5px solid #dce8f5;
  border-radius:12px;
  background:#f5f8fc;
  color:#0a1e3a;
  font:400 13px 'Barlow',sans-serif;
  outline:none;
}
.invoice-email-check {
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:#4a6a8a;
  font-size:12px;
  line-height:1.35;
}
.invoice-email-check input {
  width:auto;
  min-width:16px;
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
  margin-top:2px;
  accent-color:#1a6bd4;
}
.country-picker {
  display:grid;
  gap:8px;
}
.country-pill {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  min-height:44px;
  padding:0 12px;
  border:1.5px solid #dce8f5;
  border-radius:12px;
  background:#f5f8fc;
  color:#0a1e3a;
  font-size:12px;
}
.country-pill input {
  width:auto;
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
  accent-color:#1a6bd4;
}
@media (max-width:480px) {
  .role-switch,
  .split-fields,
  .phone-field {
    grid-template-columns:1fr;
  }
}
.auth-btn {
  width:100%;
  margin-top:4px;
  padding:14px;
  border:0;
  border-radius:12px;
  background:#1a6bd4;
  color:#fff;
  cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:2.4px;
  text-transform:uppercase;
}
.auth-btn:hover {
  background:#0d4fa0;
}
.auth-hint {
  color:#7a96aa;
  font-size:12px;
  text-align:center;
}
.auth-hint a {
  color:#1a6bd4;
  cursor:pointer;
  text-decoration:underline;
}
.role-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:4px auto 8px;
  max-width:360px;
}
.role-choice {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  padding:14px;
  border:1.5px solid #dce8f5;
  border-radius:14px;
  background:#f7fbff;
  cursor:pointer;
}
.role-choice.selected {
  border-color:#1a6bd4;
  background:#eaf2ff;
  box-shadow:0 0 0 3px rgba(26,107,212,.12);
}
.role-icon {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#1a6bd4;
  color:#fff;
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px;
  letter-spacing:1px;
}
.role-choice strong {
  font-size:13px;
  color:#0a1e3a;
}
.role-choice span {
  color:#4a6a8a;
  font-size:11px;
  line-height:1.35;
}
.register-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

body > nav .logout-btn.nav-carrier-link {
  gap:7px !important;
  min-height:34px !important;
  padding:7px 8px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:#1a6bd4 !important;
  box-shadow:none !important;
  font-family:'Barlow',sans-serif !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:1.8px !important;
  text-transform:uppercase !important;
  text-decoration-line:underline !important;
  text-decoration-style:solid !important;
  text-decoration-thickness:1.5px !important;
  text-underline-offset:4px !important;
}
body > nav .logout-btn.nav-carrier-link::before {
  content:'\2197';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  border:1.5px solid currentColor;
  font-family:'Barlow',sans-serif;
  font-size:11px;
  line-height:1;
  text-decoration:none;
}
body > nav .logout-btn.nav-carrier-link:hover {
  background:transparent !important;
  color:#0d4fa0 !important;
}

footer {
  margin:0 32px 28px;
  background:rgba(255,255,255,0.92);
  color:var(--gray);
  padding:24px 32px;
  border:1px solid rgba(26,107,212,0.12);
  border-radius:24px;
  box-shadow:var(--shadow-soft);
  font-size:12px;
  text-align:center;
}
footer a {
  color:var(--sky);
  text-decoration:none;
  margin:0 10px;
}

@media (max-width:980px) {
  .hero,
  .contact-section,
  .faq-grid {
    grid-template-columns:1fr;
  }
  .page {
    margin:96px 16px 0;
    padding-bottom:56px;
  }
  nav {
    left:16px;
    right:16px;
    top:14px;
    padding:12px 18px;
  }
  .nav-logo img {
    height:42px;
  }
  .nav-links li:nth-child(2),
  .nav-links li:nth-child(3) {
    display:none;
  }
  .hero,
  .contact-card,
  .contact-image-card,
  .faq-cta {
    padding:24px 22px;
  }
  .contact-section {
    gap:16px;
  }
  .contact-card {
    border-right:1px solid rgba(26,107,212,0.12);
    border-radius:22px;
  }
  .section-title {
    flex-direction:column;
  }
  .contact-mini-hint {
    width:100%;
    flex-basis:auto;
  }
  .contact-image-card {
    min-height:360px;
    border-left:1px solid rgba(26,107,212,0.12);
    border-radius:22px;
    padding:0;
  }
  .faq-card:last-child {
    grid-column:auto;
  }
  .faq-cta {
    align-items:flex-start;
    grid-template-columns:1fr;
    border-radius:24px;
  }
  footer {
    margin:0 16px 20px;
    border-radius:18px;
  }
}

@media (max-width:640px) {
  .form-grid {
    grid-template-columns:1fr;
  }
  .hero h1 {
    font-size:40px;
  }
}

/* Mobile page polish aligned with Landin_1.php and landing_2.php */
@media (max-width:768px) {
  html,
  body {
    overflow-x:hidden;
  }

  .page {
    margin:clamp(124px,30vw,154px) clamp(12px,3.5vw,18px) 0;
    padding-bottom:clamp(42px,8vw,64px);
  }

  #kontaktAnfrage,
  #faqList {
    scroll-margin-top:150px;
  }

  .hero {
    grid-template-columns:1fr !important;
    gap:16px;
    min-height:0;
    padding:clamp(120px,32vw,166px) clamp(14px,4vw,24px) clamp(18px,5vw,28px);
    border-radius:24px;
    overflow:visible;
  }

  .hero::before {
    background-position:60% top;
    background-size:cover;
    opacity:.78;
  }

  .hero::after {
    background:
      linear-gradient(180deg, rgba(248,251,255,0.30) 0%, rgba(248,251,255,0.72) 42%, rgba(248,251,255,0.98) 100%),
      radial-gradient(circle at 20% 64%, rgba(248,251,255,0.92) 0 22%, rgba(248,251,255,0.72) 36%, transparent 66%);
  }

  .crumbs {
    margin-bottom:10px;
    font-size:12px;
    letter-spacing:2.2px;
    line-height:1.2;
  }

  .hero h1 {
    max-width:9em;
    margin-bottom:10px;
    font-size:42px;
    line-height:1.04;
    letter-spacing:0;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }

  .hero p {
    max-width:100%;
    font-size:14px;
    line-height:1.55;
  }

  .hero-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:18px;
  }

  .hero-actions .btn-primary,
  .hero-actions .btn-secondary,
  .faq-cta .btn-light,
  .form-submit {
    width:100%;
    min-height:44px;
    padding:0 16px;
    border-radius:14px;
    font-size:13px;
    line-height:1.2;
    letter-spacing:.2px;
    white-space:normal;
    text-align:center;
  }

  .contact-section {
    grid-template-columns:1fr !important;
    gap:14px;
    margin-top:24px;
  }

  .card,
  .faq-card,
  .faq-cta {
    border-radius:20px;
  }

  .contact-card {
    padding:22px 18px;
    border-right:1px solid rgba(26,107,212,0.12);
    border-radius:20px;
  }

  .section-title {
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:14px;
  }

  .section-title h2 {
    font-size:28px;
    line-height:1.08;
    letter-spacing:0;
  }

  .contact-mini-hint {
    width:100%;
    flex-basis:auto;
    padding:14px;
    border-radius:16px;
  }

  .contact-mini-hint h3 {
    font-size:18px;
    line-height:1.18;
    letter-spacing:0;
  }

  .contact-mini-hint p,
  .section-copy {
    font-size:14px;
    line-height:1.55;
  }

  .section-copy {
    margin-bottom:18px;
  }

  #contactFaqForm {
    gap:16px;
  }

  .form-grid {
    grid-template-columns:1fr !important;
    gap:12px;
  }

  .field.full {
    grid-column:auto;
  }

  #contactFaqForm label {
    margin-bottom:7px;
    font-size:11px;
    letter-spacing:1.5px;
  }

  #contactFaqForm input:not(.honeypot),
  #contactFaqForm select,
  #contactFaqForm textarea {
    min-height:46px;
    padding:12px 14px;
    border-radius:14px;
    font-size:14px;
    line-height:1.35;
  }

  #contactFaqForm select {
    padding-right:40px;
    text-overflow:ellipsis;
  }

  #contactFaqForm textarea {
    min-height:126px;
  }

  .feedback {
    padding:13px 14px;
    border-radius:14px;
    font-size:13px;
    line-height:1.5;
  }

  .form-submit {
    font-family:'Barlow',sans-serif;
    font-weight:700;
    text-transform:none;
  }

  .contact-image-card {
    min-height:0;
    aspect-ratio:16 / 10;
    border-left:1px solid rgba(26,107,212,0.12);
    border-radius:20px;
    padding:0;
  }

  .contact-image-card img {
    min-height:0;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  .faq-section {
    margin-top:30px;
  }

  .faq-head {
    max-width:100%;
    margin:0 auto 20px;
    text-align:left;
  }

  .faq-head span {
    min-width:0;
    min-height:34px;
    padding:8px 14px;
    margin-bottom:12px;
    border-radius:12px;
    font-size:16px;
    letter-spacing:2px;
  }

  .faq-head h2 {
    max-width:100%;
    font-size:32px;
    line-height:1.06;
    letter-spacing:0;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }

  .faq-grid {
    grid-template-columns:1fr !important;
    gap:12px;
  }

  .faq-card {
    overflow:hidden;
  }

  .faq-card summary {
    min-height:0;
    gap:14px;
    padding:18px;
    font-size:18px;
    line-height:1.24;
    letter-spacing:0;
  }

  .faq-card summary::after {
    width:34px;
    height:34px;
    border-radius:11px;
    font-size:26px;
  }

  .faq-card p {
    max-width:100%;
    padding:0 18px 20px;
    font-size:14px;
    line-height:1.58;
  }

  .faq-cta {
    grid-template-columns:1fr;
    align-items:flex-start;
    gap:18px;
    margin:24px 0 0;
    padding:24px 20px;
  }

  .faq-cta .section-tag {
    margin-bottom:8px;
    font-size:22px;
    line-height:1.08;
    letter-spacing:0;
  }

  .faq-cta h2 {
    margin-bottom:10px;
    font-size:28px;
    line-height:1.08;
    letter-spacing:0;
  }

  .faq-cta p {
    font-size:14px;
    line-height:1.55;
  }

  footer {
    margin:0 clamp(12px,3.5vw,18px) 20px;
    padding:20px 16px;
    border-radius:18px;
    line-height:1.6;
  }

  footer a {
    display:inline-flex;
    margin:5px 8px;
    line-height:1.3;
  }
}
