
/* removed old block */
:root{
  --ink: #0b1b34;
  --ink-2:#334155;
  --muted:#64748b;
  --bg:#ffffff;
  --bg-soft:#f6f9ff;
  --line:#e6eefc;
  --brand:#1e63f0;
  --brand-600:#1554d8;
  --brand-700:#0f2b6b;
  --radius:14px;
  --shadow: 0 8px 30px rgba(17, 42, 96, .08);
}

html,body{
  background:var(--bg);
  color:var(--ink);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
  line-height:1.6;
}

h1,h2,h3,.hero-title{
  font-family: "Outfit", Inter, system-ui, sans-serif;
  letter-spacing:-0.015em;
  color:var(--ink);
}
h1,.hero-title{font-weight:700}
h2{font-weight:700}
h3{font-weight:600}

.hero{
  background:
    radial-gradient(900px 420px at 15% 0%, rgba(30,99,240,.12), transparent 60%),
    radial-gradient(600px 380px at 90% 10%, rgba(15,43,107,.10), transparent 60%),
    var(--bg);
}
.hero-sub{color:var(--ink-2)}


a{color:var(--brand); text-underline-offset:3px}
a:hover{color:var(--brand-600)}

/* --- Ferovevykupy content blocks (keeps existing visual style) --- */
.trust-strip{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
  max-width:960px;
  margin-left:auto;
  margin-right:auto;
}
.trust-item{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.28);
  border-radius:calc(var(--radius) + 2px);
  padding:14px 14px;
  box-shadow:0 10px 26px rgba(2, 6, 23, .20);
  backdrop-filter:saturate(1.05) blur(8px);
  text-align:center;
  min-height:66px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.trust-item strong{
  display:block;
  font-weight:850;
  letter-spacing:-0.02em;
  color:#0b1220;
  font-size:1.05rem;
}
.trust-item span{
  display:block;
  margin-top:2px;
  color:rgba(11,18,32,.74);
  font-size:.92rem;
}

.timeline{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}
.timeline .step{position:relative}
.timeline .step .num{
  width:44px;height:44px;border-radius:999px;
  display:grid;place-items:center;
  background:var(--bg-soft);
  border:1px solid var(--line);
  font-weight:800;
  color:var(--brand-700);
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}
.feature-card{padding:18px}
.feature-card p{margin:8px 0 0; color:var(--ink-2)}

/* === "Co vykupujeme" cards ============================================ */
.types-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}

.type-card{
  appearance:none;
  width:100%;
  text-align:left;
  cursor:pointer;
  padding:18px;
  transition: transform .12s ease, box-shadow .2s ease, border-color .15s ease;
}

.type-card h3{margin:0 0 6px;}
.type-card p{margin:0; color:var(--ink-2)}
.type-card:hover{transform:translateY(-2px); box-shadow:0 18px 42px rgba(17, 42, 96, .12); border-color:rgba(30,99,240,.28)}
.type-card:focus{outline:0; box-shadow:0 0 0 4px rgba(30,99,240,.14), 0 18px 42px rgba(17, 42, 96, .12)}

.chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}
.chip{
  appearance:none;
  border:1px solid var(--line);
  background:var(--bg);
  color:var(--brand-700);
  padding:10px 12px;
  border-radius:999px;
  cursor:pointer;
  font-weight:700;
  transition:transform .12s ease, box-shadow .2s ease, border-color .15s ease;
}
.chip:hover{transform:translateY(-1px); box-shadow:0 12px 26px rgba(17, 42, 96, .08); border-color:rgba(30,99,240,.35)}
.chip:focus{outline:0; box-shadow:0 0 0 4px rgba(30,99,240,.14)}

/* === "Složitější případy" – make it blend with the rest ================= */
.cases-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.cases-card h3{margin:0 0 10px}
.cases-card .checklist{margin:0; padding:0}
.cases-card .checklist li{padding-left:34px}
.cases-card .chips{margin-top:10px}

@media (max-width: 900px){
  .types-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .cases-grid{grid-template-columns:1fr}
}
@media (max-width: 560px){
  .types-grid{grid-template-columns:1fr}
}

.panel--dark{
  background:linear-gradient(180deg, #0f2b6b, #0b1b34);
  color:#fff;
}
.panel--dark .hd{color:#fff}
.panel--dark p, .panel--dark li{color:rgba(255,255,255,.88)}
.panel--dark .checklist li{border-color:rgba(255,255,255,.18)}

.cta-band{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:rgba(255,255,255,.92);
}
.cta-band p{margin:0; color:var(--ink-2)}

@media (max-width: 900px){
  .trust-strip{grid-template-columns:repeat(2, minmax(0,1fr))}
  .timeline{grid-template-columns:repeat(2, minmax(0,1fr))}
  .feature-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .cta-band{flex-direction:column; align-items:flex-start}
}
@media (max-width: 560px){
  .trust-strip{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
}

.button, .btn, .nav-cta-desktop a, .nav-cta-mobile a{
  background:linear-gradient(90deg, var(--brand), var(--brand-600));
  color:#fff; border:0; border-radius:var(--radius);
  padding:14px 18px; font-weight:700;
  box-shadow: 0 10px 20px rgba(30,99,240,.18);
  transition: transform .15s ease, box-shadow .2s ease, filter .15s ease;
}
.button:hover, .btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(30,99,240,.24);
  filter: saturate(1.05);
  color:#fff; /* prevent a:hover from changing text color (contrast fix) */
}

.button:focus, .button:focus-visible{
  color:#fff;
}

.button.outline:hover, .button.outline:focus, .button.outline:focus-visible{
  color:#fff;
  border-color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.10);
}



.button.secondary, .btn.secondary{
  background:#fff; color:var(--brand);
  border:1px solid var(--line);
  box-shadow: var(--shadow);
}

.card, .faq .item, .calc .card, .about .card, .why-us .item, .process .item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
}


input, select, textarea{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:13px 14px;
  color:var(--ink);
  transition:border-color .15s ease, box-shadow .15s ease;
}
input:focus, select:focus, textarea:focus{
  border-color:var(--brand);
  outline:0;
  box-shadow:0 0 0 4px rgba(30,99,240,.14);
}

.badge, .tag{
  display:inline-block;
  background:var(--bg-soft);
  color:var(--brand-700);
  padding:6px 10px;
  border-radius:999px;
  font-weight:600;
  border:1px solid var(--line);
}

.hr, .divider{height:1px;background:var(--line)}

/* Alignment utilities */
.text-left{text-align:left}
.text-center{text-align:center}
.text-right{text-align:right}
.mx-auto{margin-left:auto; margin-right:auto}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:56rem}
.max-w-5xl{max-width:72rem}

/* Icon styles */
.icon{width:24px;height:24px;display:inline-block; vertical-align:middle; margin-right:10px; color:var(--brand)}
.icon-lg{width:32px;height:32px}
.item .icon-wrap{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.item .icon-wrap h3{margin:0}

/* Section accents */
#why-us .item:hover, #process .item:hover{transform: translateY(-2px); transition:transform .15s ease}
#why-us .item, #process .item{padding:18px}

/* Hero CTAs spacing */
.hero-ctas{gap:12px}

/* removed old block */
.fullpanel{padding:40px 0}
@media (min-width:1024px){.fullpanel{padding:40px 0}}
.panel--white{ background:#ffffff; color:var(--ink) }
.panel--blue{  background:#E8F6FF; color:#0b1b34 }
.panel-wave{position:static; display:block; width:100%; height:auto; pointer-events:none;}
/* Optional: soften top edge when a blue panel follows */
.panel--blue + .panel--white .panel-wave{position:static; display:block; width:100%; height:auto; pointer-events:none;}

/* removed old block */
.fullpanel{padding:40px 0}
@media (min-width:1024px){.fullpanel{padding:40px 0}}

/* Center typical inner wrappers without breaking existing layout */
.fullpanel > .container{margin-left:auto;margin-right:auto}
/* On wide screens, keep content from sticking to edges */
.fullpanel > .container{margin-left:auto;margin-right:auto}

/* Avoid overly stretched paragraphs */
.fullpanel p{max-width: 70ch}

/* Ensure hero CTAs sit together neatly */
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}

/* Waves: ensure they sit flush and don't overlap text */
.panel-wave{position:static; display:block; width:100%; height:auto; pointer-events:none;}
/* When a dark footer follows, the last wave should be dark; already handled in HTML */

/* removed old block */
.fullpanel{padding:40px 0}
@media (min-width:1024px){.fullpanel{padding:40px 0}}

/* Don't force grid centering on all wrappers, allow natural flow */
.fullpanel > .container{margin-left:auto;margin-right:auto}

/* Footer dark styling */
footer, .footer-dark{
  background:#0b1220;
  color:#CBD5E1;
}
footer a{color:#e2e8f0}


/* removed old block */
.fullpanel p{max-width:72ch}
.container{width:min(1120px, 92vw)}

/* Footer must stay dark */
footer{background:#0b1220 !important; color:#cbd5e1 !important}
footer a{color:#e2e8f0 !important}
footer .divider{background:rgba(255,255,255,.12)}

/* Ensure last section above footer uses dark wave and has a clean hand-off */
.panel-wave{position:static; display:block; width:100%; height:auto; pointer-events:none;}


/* removed old block */
.fullpanel{padding:40px 0}
.panel-wave{position:static; display:block; width:100%; height:auto; pointer-events:none;}
.fullpanel > *:not(.panel-wave){position:relative; z-index:1}
/* Smooth anchor scrolling when nav is sticky */
section[id]{scroll-margin-top:88px}


/* removed old block */
.hero .hero-inner, .hero > .container, 
.hero .hero-ctas{display:flex; gap:12px; flex-wrap:wrap}


/* === Professional layout system (non-destructive) === */

/* Container: aligns everything to the same column width */
.container{width:min(1120px, 92vw); margin-left:auto; margin-right:auto}

/* Section rhythm */
/* removed broken section global padding */
.section--tight{padding: clamp(32px, 4vw, 64px) 0}
.section--loose{padding: clamp(72px, 8vw, 128px) 0}

/* Headings: weight & spacing */
h1,.h1{line-height:1.12; letter-spacing:-0.02em; margin:0 0 .4em}
h2,.h2{line-height:1.15; letter-spacing:-0.01em; margin:0 0 .6em}
h3,.h3{line-height:1.2;  margin:0 0 .5em}
p{margin:0 0 1em}

/* Tidy cards/blocks */
.card, .faq .item, .why-us .item, .process .item{
  border-radius: var(--radius,16px);
  border:1px solid rgba(2, 22, 60, .08);
  box-shadow: var(--shadow, 0 10px 25px rgba(0,0,0,.07));
  background:#fff;
}

/* Buttons & links consistent hit areas */
.button,.btn, .nav-cta-desktop a, .nav-cta-mobile a{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:12px 18px; border-radius:14px; text-decoration:none;
}

/* Waves: always full width and flush with sections */
.wave, .panel-wave{display:block; width:100%; height:auto; pointer-events:none; margin:0;}

/* Prevent wave overlaps by normal flow only */
.panel-wave{position:static !important}

/* Color panels */
.panel--white{background:#ffffff; color:var(--text)}
.panel--blue{background:var(--brand-50, #E8F6FF);}

/* Anchor offset for sticky header */
[id]{scroll-margin-top: 88px}

/* Hero cleanup */
#hero{padding: clamp(56px, 8vw, 120px) 0}

@media (max-width: 960px){
  
}
.hero-ctas{display:flex; gap:12px; flex-wrap:wrap}

/* Fix nav overlap */
.nav{backdrop-filter:saturate(1.2) blur(6px)}

/* Lists alignment */
ul,ol{padding-left:1.2em}


/* === Seam and underline alignment fixes === */
.section + .section{ margin-top: -1px } /* hide any 1px seams between waves/panels */
.hd{ text-align: center } /* ensure underline (::after with margin:auto) stays centered */


/* === Section spacing fix === */
.
#hero. /* hero has its own layout, don't add global section padding */

/* Headings underline alignment stays centered */
.section .hd, .section h2, .section h3{text-align:center}
.section .hd::after, .section h2::after, .section h3::after{margin-left:auto;margin-right:auto}


/* === Hero layout (fixed) === */
#hero .hero-inner{
  display:grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(16px, 4vw, 40px);
  align-items:center;
}
@media (max-width: 1024px){
  #hero .hero-inner{ grid-template-columns: 1fr; }
}

/* wave spacing guard */
.panel-wave{margin:0 !important}
.section + .section{margin-top:0 !important}


/* === HERO: centered vertical stack === */
#hero .hero-inner{
  max-width: 960px;
  margin: 0 auto;
  padding: clamp(56px, 8vw, 120px) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}
#hero .hero-sub{max-width: 70ch}
#hero .hero-ctas{display:flex; gap:12px; flex-wrap:wrap; justify-content:center}

/* === FINAL FIXES === */

/* Section spacing */


/* Waves flush with sections */
.wave,.panel-wave{display:block;width:100%;margin:0;line-height:0}
.section + .section{margin-top:0}

/* Hero layout centered */
#hero{padding:96px 0}
#hero .container{max-width:960px;margin:0 auto}
#hero .hero-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:20px;
}
#hero .hero-sub{max-width:70ch}
#hero .hero-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}


/* === FINAL HERO + SECTION + WAVES FIX === */
#hero {
  padding: 96px 0;
}
#hero .container {
  max-width: 960px;
  margin: 0 auto;
}
#hero .hero-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}
#hero .hero-sub {
  max-width: 70ch;
}
#hero .hero-ctas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}
.section {
  padding: 0px 0;
padding-top: 5rem;
}
.wave, .panel-wave {
  display: block;
  width: 100%;
  margin: 0;
  line-height: 0;
}
.section + .section {
  margin-top: 0;
}

/* === Footer: responzivní sloupce + spodní lišta === */
@media (max-width: 780px){
  /* 3 sloupce -> 1 sloupec na mobilu */
  .site-footer .cols{
    display: grid;            /* jistota, že zůstává Grid */
    grid-template-columns: 1fr;
    gap: 18px;                /* menší mezera na mobilu */
  }

  /* Spodní lišta: zarovnat na střed a pod sebe */
  .site-footer .bottom .container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; 
    gap: 6px;
    text-align: center;
  }
}
/* Widen mobile menu CTA */
.nav-cta-mobile a{ padding: 14px 24px; }

/* Larger hamburger (nav-toggle) for mobile */
.nav-toggle {
  width: 48px;
  height: 48px;
  font-size: 28px; /* bigger ☰ icon */
  line-height: 1;
}

/* Wider mobile menu CTA button */
.nav-cta-mobile a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 16px 28px;
  max-width: 260px;
  margin: 12px auto;
}

/* Elegantně široké tlačítko v mobilním menu */
.nav-cta-mobile a {
  display: block;
  width: calc(100% - 40px); /* nechá 20px okraj vlevo i vpravo */
  margin: 12px auto;
  text-align: center;
  padding: 16px 28px;
  border-radius: 10px; /* lehce zaoblené rohy */
}


/* === Mobile form fixes === */
/* 1) Make choice pills (Dům/Byt/Pozemek) compact and keep text inside */
.options label{
  padding: 10px 16px !important;
  gap: 10px !important;
  white-space: nowrap;
}
.options input[type="checkbox"]{
  width: 20px;
  height: 20px;
}

/* 2) Ensure GDPR label text wraps correctly and doesn't overflow */
#gdpr + span{
  display: block;
  flex: 1 1 auto;
  max-width: 100%;
  white-space: normal;
  line-height: 1.4;
  word-break: break-word;
}

/* 3) Slightly smaller pill text on very small screens */
@media (max-width: 480px){
  .options label{ font-size: 0.95rem; }
}

/* === GDPR label wrapping fix (iOS/Safari flexbox min-width) === */
label[style*="display:flex"] span,
#gdpr + span{
  flex: 1 1 auto;
  min-width: 0;            /* allow text to shrink/wrap inside flex */
  max-width: 100%;
  white-space: normal;
  line-height: 1.5;
  overflow-wrap: anywhere;  /* break long words if needed */
  word-break: normal;
}
/* Slightly larger, aligned checkbox */
#gdpr{
  width: 20px;
  height: 20px;
  margin-top: 2px;
}

/* === Force larger mobile hamburger === */
@media (max-width: 980px){
  .nav-toggle{
    width: 56px !important;
    height: 56px !important;
    font-size: 30px !important; /* for the ☰ glyph */
    padding: 10px !important;
    line-height: 1 !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    touch-action: manipulation;
  }
  .nav-toggle:focus{ outline: 2px solid var(--brand-50); border-radius: 12px; }
}

/* === Robust GDPR wrapping (Safari/iOS flex) === */
label[style*="display:flex"]{
  align-items: flex-start !important;
}
label[style*="display:flex"] span,
#gdpr + span{
  flex: 1 1 auto;
  min-width: 0;            /* allow shrink */
  max-width: 100%;
  white-space: normal;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: normal;
}
#gdpr{
  width: 20px;
  height: 20px;
  margin-top: 2px;
  flex: 0 0 auto;
}

/* === Hero: fit exactly to mobile viewport height === */
@media (max-width: 980px){
  .hero{
    height: 100svh !important;   /* small-viewport unit = excludes URL bar */
    min-height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden;
  }
  .hero-inner{
    padding-top: clamp(32px, 8vh, 72px);
    padding-bottom: clamp(16px, 6vh, 56px);
  }
}


/* === CTA visibility rules === */
.nav-cta-desktop{ display:none; }            /* hidden by default (mobile-first) */
@media (min-width: 981px){
  .nav-cta-mobile{ display:none !important; }/* hide mobile CTA on desktop */
  .nav-cta-desktop{ display:block !important; }
  .nav-cta-desktop a{ padding:12px 18px; }
}

/* Make mobile CTA elegantly wide inside dropdown menu */
@media (max-width: 980px){
  .nav-menu .nav-cta-mobile a{
    display:block;
    width: calc(100% - 40px);
    margin: 12px auto;
    text-align:center;
    padding: 16px 28px;
    border-radius: 10px;
  }
}

/* === Form: robust mobile/desktop fixes (checkbox pills + GDPR) === */
/* Keep pills compact but allow layout to breathe on very narrow screens */
@media (max-width: 420px){
  .options{ gap: 10px; }
  .options label{ padding: 10px 14px; font-size: .95rem; }
}

/* GDPR label: fix wrapping inside the form card (iOS/Safari flex quirk) */
.form-card label[style*="display:flex"]{
  align-items: flex-start !important;
}
.form-card label[style*="display:flex"] input[type="checkbox"]{
  flex: 0 0 auto;
  width: 20px; height: 20px;
  margin-top: 2px;
}
.form-card label[style*="display:flex"] span{
  display: block;
  flex: 1 1 auto;
  min-width: 0;           /* allow wrapping in flex items */
  max-width: 100%;
  white-space: normal;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* === CTA visibility rules (mobile-first) === */
.nav-cta-desktop{ display:none; }
@media (min-width: 981px){
  .nav-cta-mobile{ display:none !important; }
  .nav-cta-desktop{ display:block !important; }
  .nav-cta-desktop a{ padding:12px 18px; }
}

/* === Larger mobile hamburger === */
@media (max-width: 980px){
  .nav-toggle{
    width: 56px !important;
    height: 56px !important;
    font-size: 30px !important;
    padding: 10px !important;
    line-height: 1 !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    touch-action: manipulation;
  }
}


/* === Form pills + GDPR robust wrapping === */
.form-card .options{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin:0 0 10px; border:none; padding:0 }
.form-card .options label{ display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border:1px solid #e5e7eb; border-radius:999px; background:#fff }
.form-card .options input[type="checkbox"]{ accent-color: var(--brand-500); width: 20px; height: 20px; }

@media (max-width: 480px){
  .form-card .options{ gap:10px; }
  .form-card .options label{ padding:10px 14px; font-size:.95rem; }
}

/* GDPR label flex-wrap (Safari/iOS) */
.form-card label[style*="display:flex"]{
  align-items:flex-start !important;
}
.form-card label[style*="display:flex"] input[type="checkbox"]{
  flex:0 0 auto; width:20px; height:20px; margin-top:2px;
}
.form-card label[style*="display:flex"] span, 
.form-card #gdpr + span{
  display:block; flex:1 1 auto; min-width:0; max-width:100%;
  white-space:normal; line-height:1.5; overflow-wrap:anywhere; word-break:normal;
}


/* === Mobile hero: fit viewport (no overflow) === */
@media (max-width: 980px){
  .hero{ height:100svh !important; min-height:100svh !important; max-height:100svh !important; overflow:hidden; display:flex; align-items:center; }
  .hero-inner{ width:100%; max-width:860px; margin:0 auto; padding:0 1rem; }
}


/* === Mobile CTA full-ish width with margins === */
@media (max-width: 980px){
  .nav-menu .nav-cta-mobile a{
    display:block; width:calc(100% - 40px); margin:12px auto; text-align:center; padding:16px 28px; border-radius:10px;
  }
}


/* Inline form messages */
.form-msg{ margin-top:12px; padding:12px 14px; border-radius:10px; text-align:center; }
.form-msg.success{ background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.form-msg.error{ background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }

/* Consent line (GDPR) – robust and clean */
.form-card .consent{ display:flex; gap:10px; align-items:flex-start; }
.form-card .consent input[type="checkbox"]{ flex:0 0 auto; width:20px; height:20px; margin-top:2px; }
.form-card .consent span{ display:block; flex:1 1 auto; min-width:0; white-space:normal; line-height:1.5; overflow-wrap:anywhere; }

/* === Professional hardening (layout, menu, hero, form) === */
.nav-cta-desktop{ display:none; }
@media (min-width: 981px){
  .nav-cta-mobile{ display:none !important; }
  .nav-cta-desktop{ display:block !important; }
  .nav-cta-desktop a{ padding:12px 18px; }
}
@media (max-width: 980px){
  .nav-toggle{ width:56px!important; height:56px!important; font-size:30px!important; padding:10px!important; line-height:1!important; }
  .nav-menu .nav-cta-mobile a{ display:block; width:calc(100% - 40px); margin:12px auto; text-align:center; padding:16px 28px; border-radius:10px; }
  .hero{ height:100svh!important; min-height:100svh!important; max-height:100svh!important; overflow:hidden; display:flex; align-items:center; }
}
/* Process grid responsive */
@media (max-width: 980px){ .process .grid{ grid-template-columns:1fr 1fr; } }
@media (max-width: 560px){ .process .grid{ grid-template-columns:1fr; } .step{ padding:20px; } }
/* Form pills */
.form-card .options{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin:0 0 10px; border:none; padding:0 }
.form-card .options label{ display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border:1px solid #e5e7eb; border-radius:999px; background:#fff }
.form-card .options input[type="checkbox"]{ accent-color: var(--brand-500); width:20px; height:20px; }
@media (max-width: 480px){ .form-card .options{ gap:10px; } .form-card .options label{ padding:10px 14px; font-size:.95rem; } }
/* Form messages */
.form-msg{ margin-top:12px; padding:12px 14px; border-radius:10px; text-align:center; }
.form-msg.success{ background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.form-msg.error{ background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }


/* === Mobile nav & hero spacing (v21 strong) =============================== */
@media (max-width: 760px){
  body .site-nav.is-open, body .mobile-nav, body .nav-panel, body .menu-drawer {
    position: fixed !important;
    left: 0 !important; right: 0 !important;
    top: var(--header-h, 56px) !important;
    bottom: 0 !important;
    height: calc(100dvh - var(--header-h, 56px)) !important;
    overflow: auto !important;
    background: var(--panel, #0f1c2e) !important;
    -webkit-overflow-scrolling: touch !important;
    border: 0 !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
    transform: translateZ(0) !important;
    backface-visibility: hidden !important;
    z-index: 1200 !important;
  }
  /* hide decorative lines */
  body .site-nav.is-open::after, body .mobile-nav::after, body .nav-panel::after, body .menu-drawer::after { content: none !important; }
  /* remove accidental bottom borders */
  body .site-nav .nav-item, body .mobile-nav .nav-item { border-bottom: 0 !important; }
}

/* Hero breathing room */
.section-hero, .hero { padding-inline: clamp(16px, 6vw, 40px) !important; }
.hero-copy, .hero__copy, .hero-content, .section-hero .copy, .section-hero .content { max-width: 68ch !important; }
.section-hero h1, .hero h1 { margin-top: 0 !important; margin-bottom: .6rem !important; letter-spacing: -0.015em !important; }
.section-hero p, .hero p { margin-top: 0 !important; margin-bottom: 1.1rem !important; color: var(--text-muted, #94a3b8) !important; }




/* === Footer heading/link color fix (force white) === */
footer.site-footer { --brand: #fff; } /* neutralize brand color inside footer */
footer.site-footer h3,
.site-footer .cols h3,
.site-footer h3 {
  color: #fff !important;
  text-shadow: none !important;
}
/* Footer links also white */
.site-footer a { color: #fff !important; }
.site-footer a:hover { opacity: .85; }
/* Footer heading underline to white (if using .hd) */
.site-footer .hd::after { background: #fff !important; }

/* === Layout polish (v3) =============================================== */
/* Match form width with hero benefit tiles for visual rhythm */
.form-card{ max-width:960px; }

/* Slightly tighten vertical rhythm in sections with cards */
.section .hd{ margin-bottom:18px; }
.section .lead{ margin-top:10px; }

/* Keep primary button text readable on hover (avoid global a:hover clash) */
.button:not(.outline):hover, .button:not(.outline):focus-visible{ color:#fff; }

@media (max-width: 760px){
  .trust-strip,
  #hero .trust-strip,
  .hero .trust-strip{
    display: none !important;
  }
}
