/* ============================================================
   DigiVeritaz Contact — design system overlay
   Scoped under body.home-themed only.
   Sits on top of style.css + home.css and re-styles the
   contact-us-new.html elements to match home-new.html.
   Palette: cream #FBFBF0, ink #14141A, emerald accents.
   ============================================================ */

/* ============================================================
   HERO — strip halos, magazine-style headline, mono crumbs
   ============================================================ */
body.home-themed .contact-hero{
  background:var(--dvh-cream) !important;
  padding:140px 0 64px !important;
  margin-top:-90px;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--dvh-rule);
}
body.home-themed .contact-hero:before,
body.home-themed .contact-hero:after{display:none !important}

/* faint grid backdrop like the home hero */
body.home-themed .contact-hero{
  background-image:
    linear-gradient(rgba(20,20,26,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,20,26,.025) 1px,transparent 1px) !important;
  background-size:80px 80px !important;
  background-color:var(--dvh-cream) !important;
}

body.home-themed .contact-hero .container{
  position:relative;z-index:1;
  text-align:left !important;max-width:1180px !important;
}

/* Breadcrumbs — flat, mono, no glass */
body.home-themed .contact-hero .cs-crumbs{
  display:inline-flex !important;align-items:center;gap:10px !important;
  margin:0 0 22px !important;padding:0 !important;
  background:transparent !important;border:0 !important;border-radius:0 !important;
  box-shadow:none !important;backdrop-filter:none !important;
  font-family:'JetBrains Mono',monospace !important;
  font-size:.72rem !important;font-weight:600 !important;
  letter-spacing:.16em !important;text-transform:uppercase !important;
  color:var(--dvh-mute) !important;
}
body.home-themed .contact-hero .cs-crumbs a{
  display:inline-flex;align-items:center;gap:6px;
  background:transparent !important;
  color:var(--dvh-ink) !important;
  text-decoration:none;padding:0 !important;border-radius:0 !important;
  font-family:'JetBrains Mono',monospace !important;font-weight:600 !important;
  font-size:.72rem !important;letter-spacing:.16em !important;text-transform:uppercase !important;
  transition:color .25s !important;
}
body.home-themed .contact-hero .cs-crumbs a:hover{
  color:var(--dvh-spot-text) !important;background:transparent !important;
}
body.home-themed .contact-hero .cs-crumbs a svg{
  width:12px;height:12px;fill:currentColor;opacity:.85;
}
body.home-themed .contact-hero .cs-crumbs .sep{
  color:var(--dvh-mute) !important;font-size:.8rem;line-height:1;
}
body.home-themed .contact-hero .cs-crumbs .current{
  padding:0 !important;background:transparent !important;
  color:var(--dvh-spot-text) !important;font-style:italic !important;
  font-family:'JetBrains Mono',monospace !important;font-weight:600 !important;
  font-size:.72rem !important;letter-spacing:.16em !important;text-transform:uppercase !important;
  border-radius:0 !important;
}

/* cs-tag — mono pill on ink, like .eyebrow */
body.home-themed .contact-hero .cs-tag{
  display:inline-flex !important;align-items:center;gap:10px;
  padding:8px 14px !important;border-radius:999px !important;
  background:var(--dvh-ink) !important;color:var(--dvh-spot) !important;
  font-family:'JetBrains Mono',monospace !important;
  font-size:.72rem !important;font-weight:600 !important;
  letter-spacing:.16em !important;text-transform:uppercase !important;
  box-shadow:none !important;margin-bottom:22px !important;border:0 !important;
}
body.home-themed .contact-hero .cs-tag:before{
  content:"";display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--dvh-spot);
}

/* Hero H1 — Inter Tight 900 italic accent */
body.home-themed .contact-hero h1,
body.home-themed .contact-hero h1.play{
  font-family:'Inter Tight','Inter',sans-serif !important;
  font-size:clamp(2.6rem,5.2vw,4.6rem) !important;
  font-weight:900 !important;line-height:1 !important;letter-spacing:-.045em !important;
  color:var(--dvh-ink) !important;
  max-width:980px !important;margin:0 0 22px !important;
  text-align:left !important;
}
body.home-themed .contact-hero h1 .green_text,
body.home-themed .contact-hero h1 span{
  color:var(--dvh-spot-text) !important;font-style:italic !important;font-weight:900 !important;
}

body.home-themed .contact-hero .lead{
  font-family:'Inter',sans-serif !important;
  font-size:clamp(1.05rem,1.2vw,1.18rem) !important;
  line-height:1.65 !important;color:var(--dvh-text) !important;
  max-width:680px !important;margin:0 !important;
  text-align:left !important;
}

/* ============================================================
   CONTACT STRIP — hairline 3-column info row
   ============================================================ */
body.home-themed .contact-strip{
  background:var(--dvh-cream) !important;
  padding:32px 0 72px !important;
}
body.home-themed .contact-strip .strip-row{
  border-top:1px solid var(--dvh-rule) !important;
  border-bottom:1px solid var(--dvh-rule) !important;
  padding:32px 0 !important;
  gap:0 !important;
}
body.home-themed .contact-strip .strip-item{
  padding:4px 36px !important;
  border-left:1px solid var(--dvh-rule) !important;
}
body.home-themed .contact-strip .strip-item:first-child{
  border-left:0 !important;padding-left:0 !important;
}
body.home-themed .contact-strip .strip-item:last-child{
  padding-right:0 !important;
}
body.home-themed .contact-strip .sl{
  font-family:'JetBrains Mono',monospace !important;
  font-size:.68rem !important;font-weight:600 !important;
  letter-spacing:.18em !important;text-transform:uppercase !important;
  color:var(--dvh-mute) !important;
  margin-bottom:8px;
}
body.home-themed .contact-strip .sv{
  font-family:'Inter Tight','Inter',sans-serif !important;
  font-size:clamp(1.1rem,1.55vw,1.35rem) !important;
  font-weight:800 !important;letter-spacing:-.02em !important;line-height:1.2 !important;
  color:var(--dvh-ink) !important;
  text-decoration:none !important;
  transition:color .25s !important;
}
body.home-themed .contact-strip .sv:hover{
  color:var(--dvh-spot-text) !important;
}
body.home-themed .contact-strip .sv-sub{
  font-family:'Inter',sans-serif !important;
  font-size:.88rem !important;line-height:1.55 !important;
  color:var(--dvh-text) !important;margin-top:4px;
}
body.home-themed .contact-strip .sv-sub a{
  color:var(--dvh-text) !important;text-decoration:none;
  transition:color .25s !important;
}
body.home-themed .contact-strip .sv-sub a:hover{
  color:var(--dvh-spot-text) !important;
}

@media (max-width:780px){
  /* Contact strip on phones — stacked cards with breathing room. */
  body.home-themed .contact-strip{padding:16px 0 32px !important}
  body.home-themed .contact-strip .strip-row{
    grid-template-columns:1fr !important;padding:0 !important;
    gap:0 !important;
    border-top:0 !important;border-bottom:0 !important;
  }
  body.home-themed .contact-strip .strip-item{
    border-left:0 !important;
    border-top:1px solid var(--dvh-rule) !important;
    padding:20px 4px !important;
    text-align:left !important;
  }
  body.home-themed .contact-strip .strip-item:first-child{
    border-top:0 !important;padding-top:8px !important;
  }
  body.home-themed .contact-strip .sl{
    margin-bottom:8px !important;
  }
  body.home-themed .contact-strip .sv{
    display:block !important;
    font-size:1.1rem !important;
    word-break:break-word !important;
  }
  body.home-themed .contact-strip .sv-sub{
    margin-top:6px !important;
    font-size:.9rem !important;
    line-height:1.55 !important;
  }
  /* Force the email-list middot separator onto its own line — each
     email reads on its own row instead of wrapping mid-string. */
  body.home-themed .contact-strip .sv-sub a{
    display:block !important;
    word-break:break-all !important;
    margin-top:4px;
  }
  body.home-themed .contact-strip .sv-sub a:first-child{margin-top:0}
  /* Hide the middot separator on mobile (each email is now block). */
  body.home-themed .contact-strip .sv-sub .sub-sep{display:none !important}
}

/* ============================================================
   CONTACT FORM CARD — flat white, 1.5px ink border
   ============================================================ */
body.home-themed .contact-main{
  padding:24px 0 80px !important;
  background:var(--dvh-cream) !important;
}
body.home-themed .contact-main .wrap{
  max-width:880px !important;margin:0 auto !important;
}

body.home-themed .c-form-card{
  background:#fff !important;
  border:1.5px solid var(--dvh-rule) !important;
  border-radius:18px !important;
  padding:48px !important;
  box-shadow:none !important;
  transition:border-color .35s var(--dvh-ease), transform .35s var(--dvh-ease) !important;
}
body.home-themed .c-form-card:hover{
  border-color:rgba(20,20,26,.22) !important;
}

/* Form head */
body.home-themed .c-form-card .form-head{
  margin-bottom:32px !important;
  padding-bottom:24px !important;
  border-bottom:1px solid var(--dvh-rule) !important;
}
body.home-themed .c-form-card .form-head .eyebrow{
  display:inline-flex !important;align-items:center;gap:10px !important;
  padding:8px 14px !important;border-radius:999px !important;
  background:var(--dvh-ink) !important;color:var(--dvh-spot) !important;
  font-family:'JetBrains Mono',monospace !important;
  font-size:.72rem !important;font-weight:600 !important;
  letter-spacing:.16em !important;text-transform:uppercase !important;
  margin-bottom:18px !important;border:0 !important;
}
body.home-themed .c-form-card .form-head .eyebrow:before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--dvh-spot);
}
body.home-themed .c-form-card .form-head h2{
  font-family:'Inter Tight','Inter',sans-serif !important;
  font-size:clamp(1.6rem,3vw,2.2rem) !important;
  font-weight:900 !important;letter-spacing:-.035em !important;line-height:1.05 !important;
  color:var(--dvh-ink) !important;margin:0 0 10px !important;
}
body.home-themed .c-form-card .form-head h2 span,
body.home-themed .c-form-card .form-head h2 em{
  color:var(--dvh-spot-text) !important;font-style:italic !important;font-weight:900 !important;
}
body.home-themed .c-form-card .form-head p{
  font-family:'Inter',sans-serif !important;
  font-size:1rem !important;line-height:1.6 !important;
  color:var(--dvh-text) !important;margin:0 !important;
}

/* Field labels — mono caption style */
body.home-themed .c-form-card .field label{
  display:flex;align-items:center;gap:6px;
  font-family:'JetBrains Mono',monospace !important;
  font-size:.7rem !important;font-weight:600 !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;
  color:var(--dvh-ink) !important;
  margin-bottom:10px !important;
}
body.home-themed .c-form-card .field label .req{
  color:var(--dvh-spot-text) !important;font-weight:700;
}

/* Inputs — flat, ink border, green focus.
   font-size set to 16px so iOS Safari does NOT auto-zoom on focus
   (any input smaller than 16px triggers the zoom-and-recenter quirk
   on iPhones, which makes the page feel jerky while filling the form). */
body.home-themed .c-form-card .field input,
body.home-themed .c-form-card .field select,
body.home-themed .c-form-card .field textarea{
  width:100%;
  padding:14px 16px !important;
  border:1.5px solid var(--dvh-rule) !important;
  border-radius:10px !important;
  font-family:'Inter','Segoe UI',sans-serif !important;
  font-size:16px !important;font-weight:500 !important;
  background:#fff !important;
  color:var(--dvh-ink) !important;
  box-shadow:none !important;
  transition:border-color .25s,background .25s !important;
}
body.home-themed .c-form-card .field input::placeholder,
body.home-themed .c-form-card .field textarea::placeholder{
  color:var(--dvh-mute) !important;font-weight:400 !important;
}
body.home-themed .c-form-card .field input:hover,
body.home-themed .c-form-card .field select:hover,
body.home-themed .c-form-card .field textarea:hover{
  border-color:rgba(20,20,26,.28) !important;
}
body.home-themed .c-form-card .field input:focus,
body.home-themed .c-form-card .field select:focus,
body.home-themed .c-form-card .field textarea:focus{
  outline:none !important;
  border-color:var(--dvh-spot) !important;
  box-shadow:0 0 0 3px var(--dvh-spot-soft) !important;
  background:#fff !important;
}

/* Input wrap icon adopts ink, focus -> green */
body.home-themed .c-form-card .input-wrap .ico{
  stroke:var(--dvh-mute) !important;
}
body.home-themed .c-form-card .input-wrap:focus-within .ico{
  stroke:var(--dvh-spot-text) !important;
}
body.home-themed .c-form-card .input-wrap input,
body.home-themed .c-form-card .input-wrap select{
  padding-left:44px !important;
}

/* Select chevron stays subtle */
body.home-themed .c-form-card .field select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b6b78' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-position:right 16px center !important;
  padding-right:42px !important;
}

/* Section label (Select the Services You Need) */
body.home-themed .c-form-card .section-label{
  font-family:'JetBrains Mono',monospace !important;
  font-size:.7rem !important;font-weight:600 !important;
  letter-spacing:.18em !important;text-transform:uppercase !important;
  color:var(--dvh-mute) !important;
  margin:32px 0 16px !important;
  padding-top:24px !important;
  border-top:1px dashed var(--dvh-rule) !important;
}

/* Check grid — flat tiles */
body.home-themed .c-form-card .check-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;
}
@media (max-width:600px){
  body.home-themed .c-form-card .check-grid{grid-template-columns:1fr}
}
body.home-themed .c-form-card .check-grid label{
  display:flex;align-items:center;gap:10px;
  position:relative;
  padding:12px 14px 12px 42px !important;
  border:1.5px solid var(--dvh-rule) !important;
  border-radius:10px !important;
  background:#fff !important;
  font-family:'Inter',sans-serif !important;
  font-size:.92rem !important;font-weight:500 !important;
  letter-spacing:normal !important;text-transform:none !important;
  color:var(--dvh-ink) !important;
  cursor:pointer;margin:0 !important;
  box-shadow:none !important;
  transition:border-color .25s,background .25s,transform .25s !important;
}
body.home-themed .c-form-card .check-grid label:hover{
  border-color:var(--dvh-spot) !important;
  background:var(--dvh-spot-soft) !important;
  transform:translateY(-1px) !important;
}
body.home-themed .c-form-card .check-grid label .cbox{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;
  border:1.5px solid var(--dvh-rule) !important;
  border-radius:5px !important;
  background:#fff !important;
  display:flex;align-items:center;justify-content:center;
  transition:.2s;
}
body.home-themed .c-form-card .check-grid label .cbox svg{
  width:12px;height:12px;stroke:#fff;fill:none;stroke-width:3;opacity:0;transition:.2s;
}
body.home-themed .c-form-card .check-grid label:has(input:checked){
  border-color:var(--dvh-spot) !important;
  background:var(--dvh-spot-soft) !important;
  color:var(--dvh-ink) !important;font-weight:600 !important;
}
body.home-themed .c-form-card .check-grid label:has(input:checked) .cbox{
  background:var(--dvh-spot) !important;border-color:var(--dvh-spot) !important;
}
body.home-themed .c-form-card .check-grid label:has(input:checked) .cbox svg{opacity:1}

/* Submit row */
body.home-themed .c-form-card .submit-row{
  margin-top:28px !important;
  padding-top:24px !important;
  border-top:1px solid var(--dvh-rule) !important;
  display:flex;flex-direction:column;align-items:stretch;gap:14px;
}
/* The submit button: override style.css's gradient pill with the
   home-themed ink button. .btn already gets home.css base, but
   style.css overrides under .c-form-card .submit-row .btn — so we
   re-override here. */
body.home-themed .c-form-card .submit-row .btn{
  width:100% !important;
  display:inline-flex !important;align-items:center;justify-content:center;gap:10px;
  padding:16px 28px !important;border-radius:12px !important;
  background:var(--dvh-ink) !important;color:var(--dvh-cream) !important;
  border:1.5px solid var(--dvh-ink) !important;
  font-family:'Inter Tight','Inter',sans-serif !important;
  font-weight:700 !important;font-size:1rem !important;letter-spacing:-.01em !important;
  box-shadow:none !important;filter:none !important;
  background-image:none !important;
  transition:background .28s,color .28s,border-color .28s,transform .25s !important;
}
body.home-themed .c-form-card .submit-row .btn:hover{
  background:var(--dvh-spot) !important;color:var(--dvh-ink) !important;
  border-color:var(--dvh-spot) !important;
  transform:translateY(-2px) !important;box-shadow:none !important;
}
body.home-themed .c-form-card .submit-row .btn svg{
  width:18px;height:18px;fill:none;stroke:currentColor !important;stroke-width:2.5;
  transition:transform .25s;
}
body.home-themed .c-form-card .submit-row .btn:hover svg{transform:translateX(4px)}

body.home-themed .c-form-card .submit-row .hint{
  font-family:'JetBrains Mono',monospace !important;
  font-size:.7rem !important;font-weight:600 !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;
  color:var(--dvh-mute) !important;
  text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;
}
body.home-themed .c-form-card .submit-row .hint svg{
  width:14px;height:14px;fill:none;stroke:var(--dvh-mute) !important;stroke-width:2;
}

/* Form success */
body.home-themed .c-form-card .form-success{
  background:var(--dvh-spot-soft) !important;
  border:1.5px solid var(--dvh-spot) !important;
  border-radius:10px !important;
  padding:14px 18px !important;
  color:var(--dvh-spot-text) !important;
  font-family:'Inter',sans-serif !important;
  font-size:.92rem !important;font-weight:600 !important;
}

/* ============================================================
   MAP — flat frame, hairline border
   ============================================================ */
body.home-themed .c-map{
  padding:0 0 96px !important;background:var(--dvh-cream) !important;
}
body.home-themed .c-map .map-wrap{
  border:1.5px solid var(--dvh-rule) !important;
  border-radius:18px !important;
  box-shadow:none !important;
  overflow:hidden;
  height:440px;
  transition:border-color .35s var(--dvh-ease) !important;
}
body.home-themed .c-map .map-wrap:hover{
  border-color:var(--dvh-spot) !important;
}
body.home-themed .c-map .map-wrap iframe{
  filter:grayscale(.1) contrast(1.02);
  width:100%;height:100%;border:0;display:block;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:780px){
  body.home-themed .contact-hero{padding:110px 0 40px !important}
  body.home-themed .contact-hero h1,
  body.home-themed .contact-hero h1.play{
    font-size:clamp(2rem,7vw,2.8rem) !important;
  }
  body.home-themed .contact-main{padding:16px 0 56px !important}
  body.home-themed .c-form-card{padding:28px 22px !important;border-radius:14px !important}
  body.home-themed .c-form-card .form-head h2{font-size:clamp(1.4rem,4.6vw,1.7rem) !important}
  body.home-themed .c-form-card .field input,
  body.home-themed .c-form-card .field select,
  body.home-themed .c-form-card .field textarea{font-size:16px !important}
  body.home-themed .c-map{padding:0 0 60px !important}
  body.home-themed .c-map .map-wrap{height:340px;border-radius:14px !important}
}
@media (max-width:480px){
  body.home-themed .c-form-card{padding:22px 16px !important;border-radius:12px !important}
}

/* ============================================================
   DARK MODE PARITY
   ============================================================ */
[data-theme="dark"] body.home-themed .contact-hero{
  background-color:#0b1220 !important;
  background-image:
    linear-gradient(rgba(241,245,249,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(241,245,249,.04) 1px,transparent 1px) !important;
  border-bottom-color:rgba(241,245,249,.1) !important;
}
[data-theme="dark"] body.home-themed .contact-hero h1,
[data-theme="dark"] body.home-themed .contact-hero h1.play{color:#f1f5f9 !important}
[data-theme="dark"] body.home-themed .contact-hero .lead{color:#cbd5e1 !important}
[data-theme="dark"] body.home-themed .contact-hero .cs-crumbs a{color:#f1f5f9 !important}
[data-theme="dark"] body.home-themed .contact-hero .cs-crumbs .sep,
[data-theme="dark"] body.home-themed .contact-hero .cs-crumbs{color:#94a3b8 !important}
[data-theme="dark"] body.home-themed .contact-hero .cs-tag{
  background:#f1f5f9 !important;color:#0b1220 !important;
}
[data-theme="dark"] body.home-themed .contact-hero .cs-tag:before{background:var(--dvh-spot)}

[data-theme="dark"] body.home-themed .contact-strip{background:#0b1220 !important}
[data-theme="dark"] body.home-themed .contact-strip .strip-row,
[data-theme="dark"] body.home-themed .contact-strip .strip-item{
  border-color:rgba(241,245,249,.1) !important;
}
[data-theme="dark"] body.home-themed .contact-strip .sv{color:#f1f5f9 !important}
[data-theme="dark"] body.home-themed .contact-strip .sv:hover,
[data-theme="dark"] body.home-themed .contact-strip .sv-sub a:hover{color:#86efac !important}
[data-theme="dark"] body.home-themed .contact-strip .sl,
[data-theme="dark"] body.home-themed .contact-strip .sv-sub,
[data-theme="dark"] body.home-themed .contact-strip .sv-sub a{color:#94a3b8 !important}

[data-theme="dark"] body.home-themed .contact-main{background:#0b1220 !important}
[data-theme="dark"] body.home-themed .c-form-card{
  background:#111827 !important;
  border-color:rgba(241,245,249,.1) !important;
}
[data-theme="dark"] body.home-themed .c-form-card:hover{
  border-color:rgba(241,245,249,.22) !important;
}
[data-theme="dark"] body.home-themed .c-form-card .form-head{
  border-bottom-color:rgba(241,245,249,.1) !important;
}
[data-theme="dark"] body.home-themed .c-form-card .form-head h2{color:#f1f5f9 !important}
[data-theme="dark"] body.home-themed .c-form-card .form-head p{color:#cbd5e1 !important}
[data-theme="dark"] body.home-themed .c-form-card .field label{color:#f1f5f9 !important}
[data-theme="dark"] body.home-themed .c-form-card .field input,
[data-theme="dark"] body.home-themed .c-form-card .field select,
[data-theme="dark"] body.home-themed .c-form-card .field textarea{
  background:#0b1220 !important;
  color:#f1f5f9 !important;
  border-color:rgba(241,245,249,.12) !important;
}
[data-theme="dark"] body.home-themed .c-form-card .field input::placeholder,
[data-theme="dark"] body.home-themed .c-form-card .field textarea::placeholder{
  color:#64748b !important;
}
[data-theme="dark"] body.home-themed .c-form-card .field select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
}
[data-theme="dark"] body.home-themed .c-form-card .input-wrap .ico{stroke:#94a3b8 !important}
[data-theme="dark"] body.home-themed .c-form-card .input-wrap:focus-within .ico{stroke:var(--dvh-spot) !important}
[data-theme="dark"] body.home-themed .c-form-card .field input:focus,
[data-theme="dark"] body.home-themed .c-form-card .field select:focus,
[data-theme="dark"] body.home-themed .c-form-card .field textarea:focus{
  border-color:var(--dvh-spot) !important;
  box-shadow:0 0 0 3px rgba(34,197,94,.2) !important;
  background:#0b1220 !important;
}

[data-theme="dark"] body.home-themed .c-form-card .section-label{
  color:#94a3b8 !important;border-top-color:rgba(241,245,249,.1) !important;
}
[data-theme="dark"] body.home-themed .c-form-card .check-grid label{
  background:#0b1220 !important;color:#cbd5e1 !important;
  border-color:rgba(241,245,249,.12) !important;
}
[data-theme="dark"] body.home-themed .c-form-card .check-grid label:hover{
  background:rgba(34,197,94,.08) !important;border-color:var(--dvh-spot) !important;
}
[data-theme="dark"] body.home-themed .c-form-card .check-grid label .cbox{
  background:#0b1220 !important;border-color:rgba(241,245,249,.2) !important;
}
[data-theme="dark"] body.home-themed .c-form-card .check-grid label:has(input:checked){
  background:rgba(34,197,94,.12) !important;color:#f1f5f9 !important;
}
[data-theme="dark"] body.home-themed .c-form-card .check-grid label:has(input:checked) .cbox{
  background:var(--dvh-spot) !important;border-color:var(--dvh-spot) !important;
}

[data-theme="dark"] body.home-themed .c-form-card .submit-row{
  border-top-color:rgba(241,245,249,.1) !important;
}
[data-theme="dark"] body.home-themed .c-form-card .submit-row .btn{
  background:#f1f5f9 !important;color:#0b1220 !important;border-color:#f1f5f9 !important;
}
[data-theme="dark"] body.home-themed .c-form-card .submit-row .btn:hover{
  background:var(--dvh-spot) !important;color:#0b1220 !important;border-color:var(--dvh-spot) !important;
}
[data-theme="dark"] body.home-themed .c-form-card .submit-row .hint{color:#94a3b8 !important}
[data-theme="dark"] body.home-themed .c-form-card .submit-row .hint svg{stroke:#94a3b8 !important}

[data-theme="dark"] body.home-themed .c-map{background:#0b1220 !important}
[data-theme="dark"] body.home-themed .c-map .map-wrap{
  border-color:rgba(241,245,249,.1) !important;
}
[data-theme="dark"] body.home-themed .c-map .map-wrap iframe{
  filter:grayscale(.2) contrast(1.02) brightness(.9) invert(.92) hue-rotate(180deg);
}
[data-theme="dark"] body.home-themed .c-map .map-wrap:hover{border-color:var(--dvh-spot) !important}

/* ============================================================
   === QA pass: overlap & contrast fixes ===
   Surgical scope under body.home-themed only.
   ============================================================ */

/* --- a) Text-on-text overlap: keep hero copy above any decorative
   :before/:after, and ensure z-index stacking inside cards. --- */
body.home-themed .contact-hero .cs-crumbs,
body.home-themed .contact-hero .cs-tag,
body.home-themed .contact-hero h1,
body.home-themed .contact-hero h1.play,
body.home-themed .contact-hero .lead{
  position:relative !important;
  z-index:1 !important;
}
body.home-themed .c-form-card .form-head,
body.home-themed .c-form-card .field,
body.home-themed .c-form-card .section-label,
body.home-themed .c-form-card .submit-row{
  position:relative;
  z-index:1;
}

/* --- b) Text spilling out: enforce min-width:0 on every grid /
   flex child so long emails, phone numbers and addresses wrap
   instead of overflowing their column. --- */
body.home-themed .contact-strip .strip-row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
body.home-themed .contact-strip .strip-item{
  min-width:0 !important;
  display:flex;
  flex-direction:column;
  gap:6px;
}
body.home-themed .contact-strip .sv,
body.home-themed .contact-strip .sv-sub,
body.home-themed .contact-strip .sv-sub a{
  display:block;
  max-width:100%;
  overflow-wrap:break-word !important;
  word-break:break-word !important;
  hyphens:auto;
}
body.home-themed .c-form-card .two-up{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px;
}
@media (max-width:600px){
  body.home-themed .c-form-card .two-up{
    grid-template-columns:minmax(0,1fr) !important;
  }
}
body.home-themed .c-form-card .field{
  min-width:0 !important;
}
body.home-themed .c-form-card .field input,
body.home-themed .c-form-card .field select,
body.home-themed .c-form-card .field textarea{
  max-width:100% !important;
  box-sizing:border-box !important;
}
body.home-themed .c-form-card .field textarea{
  resize:vertical;
  min-height:120px;
}
body.home-themed .c-form-card .check-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
@media (max-width:600px){
  body.home-themed .c-form-card .check-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }
}
body.home-themed .c-form-card .check-grid label{
  min-width:0 !important;
  overflow-wrap:break-word !important;
  word-break:break-word !important;
  line-height:1.35 !important;
}
body.home-themed .c-map .map-wrap{
  max-width:100%;
  overflow:hidden !important;
}
body.home-themed .c-map .map-wrap iframe{
  max-width:100% !important;
  display:block;
}

/* --- c) Green-on-cream contrast: swap any leftover #22c55e text
   for the AA-safe #16a34a wherever text sits on a cream/white bg.
   Decorative dots / pill backgrounds stay #22c55e (handled by the
   eyebrow rule we MUST NOT touch). --- */
body.home-themed .contact-hero h1 .green_text,
body.home-themed .contact-hero h1 .green,
body.home-themed .contact-strip .green_text,
body.home-themed .contact-main .green_text,
body.home-themed .c-form-card .green_text{
  color:var(--dvh-spot-text) !important;
}
body.home-themed .c-form-card .field label .req{
  color:var(--dvh-spot-text) !important;
  font-weight:800 !important;
  margin-left:2px;
}

/* --- d) Placeholder readability: force a darker grey and full
   opacity so placeholder text is legible on white inputs. --- */
body.home-themed .c-form-card .field input::placeholder,
body.home-themed .c-form-card .field textarea::placeholder,
body.home-themed .c-form-card .field select::placeholder{
  color:#6b7280 !important;
  opacity:1 !important;
}
body.home-themed .c-form-card .field input::-webkit-input-placeholder,
body.home-themed .c-form-card .field textarea::-webkit-input-placeholder{
  color:#6b7280 !important;
  opacity:1 !important;
}
body.home-themed .c-form-card .field input::-moz-placeholder,
body.home-themed .c-form-card .field textarea::-moz-placeholder{
  color:#6b7280 !important;
  opacity:1 !important;
}
/* Default <option> in budget select should be visible — the first
   option is the placeholder copy ("-- Please select budget range --"). */
body.home-themed .c-form-card .field select:invalid,
body.home-themed .c-form-card .field select option[value=""]{
  color:#6b7280;
}
body.home-themed .c-form-card .field select option{
  color:var(--dvh-ink);
  background:#fff;
}

/* --- e) Pill / button contrast lock-in.
   The submit button is ink on cream by default and green on hover.
   Force the chevron + label colour to follow the button text so
   we never end up with green-on-green on hover. --- */
body.home-themed .c-form-card .submit-row .btn,
body.home-themed .c-form-card .submit-row .btn *{
  color:inherit !important;
}
body.home-themed .c-form-card .submit-row .btn:hover,
body.home-themed .c-form-card .submit-row .btn:focus-visible{
  color:var(--dvh-ink) !important;
}
body.home-themed .c-form-card .submit-row .btn:focus-visible{
  outline:2px solid var(--dvh-ink) !important;
  outline-offset:3px !important;
}
/* Strip-item link colours: a:link inheritance from style.css can
   give blue defaults on some browsers — force the ink colour. */
body.home-themed .contact-strip a.sv,
body.home-themed .contact-strip a.sv:link,
body.home-themed .contact-strip a.sv:visited{
  color:var(--dvh-ink) !important;
}
body.home-themed .contact-strip .sv-sub a:link,
body.home-themed .contact-strip .sv-sub a:visited{
  color:var(--dvh-text) !important;
}
body.home-themed .contact-strip .sv-sub a:hover{
  color:var(--dvh-spot-text) !important;
}

/* --- f) Form-head bottom rule should never be the same colour as
   the surrounding text. Re-affirm hairline rule. --- */
body.home-themed .c-form-card .form-head{
  border-bottom-color:var(--dvh-rule) !important;
}

/* --- g) Dark-mode counterparts for the contrast fixes above. --- */
[data-theme="dark"] body.home-themed .c-form-card .field input::placeholder,
[data-theme="dark"] body.home-themed .c-form-card .field textarea::placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
}
[data-theme="dark"] body.home-themed .c-form-card .field input::-webkit-input-placeholder,
[data-theme="dark"] body.home-themed .c-form-card .field textarea::-webkit-input-placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
}
[data-theme="dark"] body.home-themed .c-form-card .field input::-moz-placeholder,
[data-theme="dark"] body.home-themed .c-form-card .field textarea::-moz-placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
}
[data-theme="dark"] body.home-themed .c-form-card .field select option{
  color:#f1f5f9;
  background:#0b1220;
}
[data-theme="dark"] body.home-themed .c-form-card .field label .req{
  color:#86efac !important;
}
[data-theme="dark"] body.home-themed .contact-hero h1 .green_text,
[data-theme="dark"] body.home-themed .contact-hero h1 .green,
[data-theme="dark"] body.home-themed .contact-strip .green_text,
[data-theme="dark"] body.home-themed .c-form-card .green_text{
  color:#86efac !important;
}
[data-theme="dark"] body.home-themed .contact-strip a.sv,
[data-theme="dark"] body.home-themed .contact-strip a.sv:link,
[data-theme="dark"] body.home-themed .contact-strip a.sv:visited{
  color:#f1f5f9 !important;
}
[data-theme="dark"] body.home-themed .contact-strip .sv-sub a:link,
[data-theme="dark"] body.home-themed .contact-strip .sv-sub a:visited{
  color:#94a3b8 !important;
}
[data-theme="dark"] body.home-themed .c-form-card .submit-row .btn:hover,
[data-theme="dark"] body.home-themed .c-form-card .submit-row .btn:focus-visible{
  color:#0b1220 !important;
}

/* ============================================================
   COMPACT FORM — tighter, cooler, more focused
   Sits at end of file so it wins on cascade
   ============================================================ */
body.home-themed .contact-main .wrap{max-width:720px !important}
body.home-themed .c-form-card{
  padding:36px 40px !important;border-radius:16px !important;
  position:relative;
  background:linear-gradient(180deg,#ffffff 0%,#fbfbfa 100%) !important;
}
body.home-themed .c-form-card:before{
  content:""!important;position:absolute;left:0;top:24px;bottom:24px;width:3px;
  border-radius:2px;background:var(--dvh-spot);
  opacity:.18;transition:opacity .35s,top .35s,bottom .35s;
}
body.home-themed .c-form-card:hover:before,
body.home-themed .c-form-card:focus-within:before{opacity:1;top:8px;bottom:8px}

/* Form head — tighter */
body.home-themed .c-form-card .form-head{
  margin-bottom:24px !important;padding-bottom:18px !important;
}
body.home-themed .c-form-card .form-head .eyebrow{
  padding:6px 12px !important;font-size:.66rem !important;
  margin-bottom:14px !important;
  background:#fff !important;color:var(--dvh-ink) !important;
  border:1.5px solid var(--dvh-ink) !important;
}
body.home-themed .c-form-card .form-head .eyebrow:before{background:var(--dvh-ink) !important;width:5px;height:5px}
body.home-themed .c-form-card .form-head h2{
  font-size:clamp(1.4rem,2.4vw,1.85rem) !important;
  margin:0 0 8px !important;line-height:1.05 !important;
}
body.home-themed .c-form-card .form-head p{
  font-size:.92rem !important;line-height:1.55 !important;
}

/* Field rhythm */
body.home-themed .c-form-card .field{margin-top:14px !important}
body.home-themed .c-form-card .field:first-of-type{margin-top:0 !important}
body.home-themed .c-form-card .two-up{
  display:grid !important;grid-template-columns:1fr 1fr !important;gap:14px !important;
  margin-top:14px !important;
}
body.home-themed .c-form-card .two-up:first-of-type{margin-top:0 !important}
body.home-themed .c-form-card .two-up .field{margin-top:0 !important}
body.home-themed .c-form-card .field[style*="margin-top:16px"],
body.home-themed .c-form-card .two-up[style*="margin-top:16px"]{margin-top:14px !important}
@media (max-width:600px){
  body.home-themed .c-form-card{padding:28px 22px !important}
  body.home-themed .c-form-card .two-up{grid-template-columns:1fr !important;gap:12px !important}
}

/* Labels — smaller, tighter */
body.home-themed .c-form-card .field label{
  font-size:.62rem !important;letter-spacing:.12em !important;
  margin-bottom:6px !important;gap:4px;
}

/* Inputs — compact */
body.home-themed .c-form-card .field input,
body.home-themed .c-form-card .field select,
body.home-themed .c-form-card .field textarea{
  padding:11px 14px !important;font-size:.9rem !important;border-radius:8px !important;
  border-width:1.5px !important;
}
body.home-themed .c-form-card .input-wrap input,
body.home-themed .c-form-card .input-wrap select{padding-left:40px !important}
body.home-themed .c-form-card .input-wrap{position:relative;display:block}
body.home-themed .c-form-card .input-wrap .ico{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
  pointer-events:none;
}
body.home-themed .c-form-card .field select{
  padding-right:36px !important;background-position:right 12px center !important;
}
body.home-themed .c-form-card .field textarea{
  min-height:96px !important;line-height:1.5 !important;resize:vertical !important;
}

/* Focus — slimmer ring, smoother */
body.home-themed .c-form-card .field input:focus,
body.home-themed .c-form-card .field select:focus,
body.home-themed .c-form-card .field textarea:focus{
  box-shadow:0 0 0 2.5px var(--dvh-spot-soft) !important;
}

/* Section label */
body.home-themed .c-form-card .section-label{
  font-size:.62rem !important;letter-spacing:.16em !important;
  margin:22px 0 12px !important;padding-top:18px !important;
}

/* Check tiles — denser */
body.home-themed .c-form-card .check-grid{gap:8px !important;margin-top:0 !important}
body.home-themed .c-form-card .check-grid label{
  padding:10px 12px 10px 38px !important;
  font-size:.86rem !important;border-radius:8px !important;
  letter-spacing:0 !important;text-transform:none !important;
  margin-bottom:0 !important;
}
body.home-themed .c-form-card .check-grid label .cbox{
  width:16px;height:16px;left:12px;border-radius:4px !important;
}
body.home-themed .c-form-card .check-grid label .cbox svg{width:10px;height:10px;stroke-width:3.2}

/* Submit — slimmer */
body.home-themed .c-form-card .submit-row{
  margin-top:22px !important;padding-top:18px !important;gap:12px;
}
body.home-themed .c-form-card .submit-row .btn{
  width:100% !important;padding:13px 22px !important;
  border-radius:10px !important;font-size:.92rem !important;
}
body.home-themed .c-form-card .submit-row .btn svg{width:15px !important;height:15px !important}
body.home-themed .c-form-card .submit-row .hint{
  font-size:.6rem !important;letter-spacing:.12em !important;gap:6px;
}
body.home-themed .c-form-card .submit-row .hint svg{width:11px !important;height:11px !important}

/* Dark mode parity for the cool accents */
[data-theme="dark"] body.home-themed .c-form-card{
  background:linear-gradient(180deg,#111827 0%,#0d1626 100%) !important;
}
[data-theme="dark"] body.home-themed .c-form-card:before{background:#22c55e !important}
[data-theme="dark"] body.home-themed .c-form-card .form-head .eyebrow{
  background:#111827 !important;color:#f1f5f9 !important;border-color:#f1f5f9 !important;
}
[data-theme="dark"] body.home-themed .c-form-card .form-head .eyebrow:before{background:#f1f5f9 !important}

/* ------------------------------------------------------------------ */
/* Dark-mode contrast fixes — second pass audit 2026-05-16             */
/* ------------------------------------------------------------------ */

/* Contact-strip divider lines were barely visible (rgba(...,.1)). */
[data-theme="dark"] body.home-themed .contact-strip .strip-item{
  border-color:rgba(241,245,249,.18) !important;
}

/* Form input placeholders — bump from #64748b to brighter slate. */
[data-theme="dark"] .c-form-card .field input::placeholder,
[data-theme="dark"] .c-form-card .field textarea::placeholder,
[data-theme="dark"] .c-form-card .field select::placeholder{
  color:#94a3b8 !important;
}
