/* ECOTECH CLEAN CSS BUNDLE — generated from the final approved cascade */


/* ===== SOURCE: contact-v2.css ===== */


/* Contact V2 — intentionally scoped to contact-page. */
.contact-page{
  --cv-navy:#17252B;--cv-ink:#152942;--cv-muted:#657487;--cv-paper:#F7F5EF;
  --cv-cyan:#18a9d6;--cv-blue:#3E7D82;--cv-teal:#3E7D82;--cv-violet:#625C70;--cv-orange:#B66F52;
  background:
    radial-gradient(circle at 8% 7%,rgba(63,114,239,.10),transparent 23%),
    radial-gradient(circle at 92% 12%,rgba(141,73,214,.09),transparent 24%),
    var(--cv-paper);
  color:var(--cv-ink);overflow:hidden;
}
.contact-hero-v2{position:relative;min-height:360px;padding:86px 24px 78px;display:grid;place-items:center;text-align:center;isolation:isolate}
.contact-hero-v2__art{position:absolute;inset:0;z-index:-1;pointer-events:none}
.contact-hero-v2__art:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 54%,rgba(255,255,255,.95),rgba(255,255,255,.50) 40%,transparent 74%)}
.contact-hero-v2 svg{width:100%;height:100%;opacity:.95}
.contact-hero-v2 svg path{fill:none;stroke:rgba(29,129,190,.15);stroke-width:1.2}
.contact-hero-v2 svg path:nth-child(2){stroke:rgba(141,73,214,.13)}
.contact-hero-v2 svg path:nth-child(3){stroke:rgba(22,167,143,.13)}
.contact-hero-v2 svg circle{fill:rgba(29,129,190,.27)}
.contact-hero-v2 svg .signal-pulse{fill:#fff;filter:drop-shadow(0 0 7px rgba(24,169,214,.8));animation:cvpulse 4s ease-in-out infinite}
@keyframes cvpulse{50%{opacity:.25;transform:scale(.72)}}
.contact-hero-v2__inner{width:min(900px,100%);margin-top:6px}
.contact-eyebrow-v2{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid rgba(30,126,182,.14);border-radius:999px;background:rgba(221,240,248,.82);color:#0a70b7;font-size:10px;font-weight:800;letter-spacing:.16em}
.contact-eyebrow-v2 span{width:6px;height:6px;border-radius:50%;background:var(--cv-cyan);box-shadow:0 0 0 4px rgba(24,169,214,.1)}
.contact-hero-v2 h1{margin:18px auto 10px;color:var(--cv-navy);font-size:clamp(40px,5.7vw,70px);line-height:.99;letter-spacing:-.055em;max-width:850px}
.contact-hero-v2__inner>p{margin:0 auto;max-width:650px;color:#637286;font-size:15px;line-height:1.5}
.contact-route-v2{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px;color:#708095;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.contact-route-v2 span:nth-of-type(2){color:#126f9d}
.contact-route-v2 i{width:46px;height:1px;background:linear-gradient(90deg,rgba(63,114,239,.08),rgba(24,169,214,.48));position:relative}
.contact-route-v2 i:last-child{background:linear-gradient(90deg,rgba(141,73,214,.48),rgba(141,73,214,.08))}

.contact-main-v2{width:min(1160px,calc(100% - 36px));margin:-24px auto 0;position:relative;z-index:2;padding-bottom:80px}
.contact-panel-v2{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);border:1px solid rgba(255,255,255,.95);border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 24px 65px rgba(10,33,55,.12);backdrop-filter:none;-webkit-backdrop-filter:none}
.contact-context-v2{padding:34px 34px 30px;background:linear-gradient(145deg,rgba(237,247,250,.92),rgba(242,240,248,.86))}
.context-kicker,.form-kicker,.section-kicker-v2{font-size:10px;font-weight:800;letter-spacing:.16em;color:#718197}
.contact-context-v2 h2{margin:10px 0 10px;color:var(--cv-navy);font-size:clamp(25px,3vw,36px);line-height:1.04;letter-spacing:-.045em}
.contact-context-v2>p{margin:0;color:#637286;font-size:12px;line-height:1.55;max-width:410px}
.context-flow-v2{margin:25px 0 24px;display:grid;gap:9px}
.context-flow-v2 div{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.8)}
.context-flow-v2 b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;color:#1a76b0;font-size:8px;box-shadow:0 3px 10px rgba(20,61,91,.08)}
.context-flow-v2 span{font-size:11px;font-weight:700;color:#334b65}
.context-flow-v2 div:nth-child(2) b{color:#168f7d}.context-flow-v2 div:nth-child(3) b{color:#7b45c8}
.contact-response-v2{display:flex;gap:10px;padding-top:18px;border-top:1px solid rgba(15,50,78,.10)}
.contact-response-v2>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e2f5f8;color:#0b76a5;font-weight:900}
.contact-response-v2 strong{display:block;color:var(--cv-navy);font-size:10px;margin-bottom:3px}.contact-response-v2 small{display:block;color:#708095;font-size:9px;line-height:1.45}

.contact-form-v2{padding:31px 34px 28px;background:rgba(255,255,255,.88)}
.form-heading-v2{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:19px}
.form-heading-v2 h2{margin:6px 0 0;color:var(--cv-navy);font-size:27px;line-height:1.08;letter-spacing:-.03em}
.form-count-v2{font:700 10px/1 JetBrains Mono,monospace;color:#8a96a4;letter-spacing:.12em;padding-top:5px}
.contact-form-v2 form{display:grid;gap:19px}
.form-row-v2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field-v2 label{display:block;margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#3d526b}
.field-v2 .input{width:100%;border:1px solid rgba(19,48,76,.13);border-radius:10px;padding:12px 13px;background:#fbfcfc;color:var(--cv-navy);font:inherit;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.field-v2 .input:focus{border-color:#4da9cd;background:#fff;box-shadow:0 0 0 3px rgba(24,169,214,.08)}
.field-v2 .textarea{min-height:118px;resize:vertical;line-height:1.5}
.field-v2 .input::placeholder{color:#a1aab6}
.field-hint-v2{margin:8px 0 0;color:#7b8999;font-size:10px}
.interest-grid-v2{display:flex;flex-wrap:wrap;gap:6px}
.interest-grid-v2 label{cursor:pointer}
.interest-grid-v2 input{position:absolute;opacity:0;pointer-events:none}
.interest-grid-v2 span{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:999px;border:1px solid rgba(19,48,76,.11);background:#f8f9fa;color:#526277;font-size:11px;font-weight:700;transition:.18s}
.interest-grid-v2 label:hover span{transform:translateY(-1px);border-color:rgba(24,169,214,.35);color:#176d98}
.interest-grid-v2 input:checked+span{background:#e8f6fa;border-color:#50b6d4;color:#0a698f;box-shadow:0 4px 12px rgba(24,169,214,.09)}
.form-submit-row-v2{display:flex;align-items:center;gap:14px;margin-top:2px}
.form-assurance-v2{flex:1;color:#778598;font-size:10px;line-height:1.35}.form-assurance-v2 span{color:#15967f;font-weight:900;margin-right:3px}
.contact-submit-v2{width:170px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:999px;background:var(--cv-navy);color:#fff;font:800 13px/1 Inter,sans-serif;cursor:pointer;box-shadow:0 10px 22px rgba(7,23,47,.16);transition:transform .2s,box-shadow .2s}
.contact-submit-v2:after{content:"→";font-size:16px;line-height:1}
.contact-submit-v2:hover{transform:translateY(-2px);box-shadow:0 15px 28px rgba(7,23,47,.22)}
.contact-submit-v2:focus-visible{outline:3px solid #4aaed1;outline-offset:4px}
.contact-submit-v2:disabled{opacity:.7;cursor:wait;transform:none}
.contact-form-v2 .error-msg{font-size:8px;margin-top:4px}.contact-form-v2 .field.invalid .input{border-color:#d65b63}.contact-form-v2 .field.invalid .error-msg{display:block}
.contact-form-v2 .form-status{margin-top:2px;font-size:10px}.contact-form-v2 .form-status.success{color:#138467}.contact-form-v2 .form-status.error{color:#b34a51}

.contact-next-v2{margin:62px auto 0;width:min(950px,100%);text-align:center}
.contact-next-v2 h2,.contact-faq-v2 h2{margin:8px 0 25px;color:var(--cv-navy);font-size:clamp(27px,3.6vw,42px);line-height:1.05;letter-spacing:-.045em}
.timeline-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left}
.timeline-v2 article{display:flex;gap:12px;padding:18px;border:1px solid rgba(19,48,76,.08);border-radius:17px;background:rgba(255,255,255,.52)}
.timeline-v2 article>b{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#e6f4f8;color:#117aa6;font:800 8px Inter}
.timeline-v2 article:nth-child(2)>b{background:#eee8fb;color:#7541bd}.timeline-v2 article:nth-child(3)>b{background:#fff0e3;color:#cb6b18}
.timeline-v2 h3{margin:1px 0 4px;font-size:11px;color:var(--cv-navy)}.timeline-v2 p{margin:0;color:#748196;font-size:9px;line-height:1.45}

.contact-faq-v2{margin:58px auto 0;width:min(950px,100%);text-align:center}
.faq-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left}
.faq-grid-v2 article{padding:20px;border-top:2px solid #3E7D82;background:rgba(255,255,255,.4)}
.faq-grid-v2 article:nth-child(2){border-top-color:#3E7D82}.faq-grid-v2 article:nth-child(3){border-top-color:#625C70}
.faq-grid-v2 span{font:800 8px JetBrains Mono,monospace;color:#7e8b9c}.faq-grid-v2 h3{margin:8px 0 5px;font-size:13px;color:var(--cv-navy)}.faq-grid-v2 p{margin:0;color:#718095;font-size:10px;line-height:1.5}

@media(max-width:900px){
  .contact-hero-v2{min-height:330px;padding-top:90px}
  .contact-panel-v2{grid-template-columns:1fr}
  .contact-context-v2{padding:27px 30px 24px}
  .contact-form-v2{padding:28px 30px}
}
@media(max-width:620px){
  .contact-hero-v2{min-height:330px;padding:78px 18px 62px}
  .contact-hero-v2 h1{font-size:39px}.contact-hero-v2__inner>p{font-size:13px}
  .contact-route-v2{font-size:7px;gap:7px}.contact-route-v2 i{width:25px}
  .contact-main-v2{width:calc(100% - 20px);margin:-20px auto 0}
  .contact-panel-v2{border-radius:22px}
  .contact-context-v2{padding:25px 20px 22px}.contact-form-v2{padding:25px 20px}
  .form-row-v2{grid-template-columns:1fr;gap:14px}
  .form-submit-row-v2{align-items:stretch;flex-direction:column}.form-assurance-v2{order:2}
  .contact-submit-v2{width:100%}
  .timeline-v2,.faq-grid-v2{grid-template-columns:1fr}
  .contact-next-v2{margin-top:45px}.contact-faq-v2{margin-top:45px}
}
@media(prefers-reduced-motion:reduce){.contact-hero-v2 svg .signal-pulse{animation:none}.interest-grid-v2 span,.contact-submit-v2{transition:none}}

/* V3 readability refinement */
@media(max-width:620px){
  .form-heading-v2 h2{font-size:24px}
  .field-v2 label{font-size:11px}
  .field-v2 .input{font-size:15px;padding:12px 12px}
  .interest-grid-v2 span{font-size:11px;min-height:34px;padding:8px 11px}
  .field-v2 .textarea{min-height:125px}
  .contact-submit-v2{width:100%;min-height:50px;font-size:13px}
}

/* V4 interaction and hierarchy refinement */
.form-heading-v2 h2{
  color:#087f91;
}
.interest-choice span{
  gap:6px;
}
.interest-choice span i{
  display:inline-grid;
  place-items:center;
  width:15px;height:15px;
  border-radius:50%;
  font-style:normal;
  font-size:7px;
  color:#2d83b5;
  background:rgba(63,114,239,.10);
}
.interest-choice:nth-child(2) span i{color:#13947f;background:rgba(22,167,143,.10)}
.interest-choice:nth-child(3) span i{color:#625C70;background:rgba(141,73,214,.10)}
.interest-choice:nth-child(4) span i{color:#2787b8;background:rgba(24,169,214,.10)}
.interest-choice:nth-child(5) span i{color:#6c5acb;background:rgba(108,90,203,.10)}
.interest-choice:nth-child(6) span i{color:#d97918;background:rgba(239,138,36,.11)}
.interest-choice:nth-child(7) span i{color:#d45a78;background:rgba(216,77,122,.10)}
.interest-choice:nth-child(8) span i{color:#6e49ba;background:rgba(141,73,214,.10)}
.interest-choice--unsure span i{color:#526277;background:rgba(82,98,119,.10)}
.interest-choice input:checked+span i{
  color:inherit;background:rgba(255,255,255,.55);
}
.selection-summary{
  min-height:0;
  margin-top:0;
  color:#16758b;
  font-size:10px;
  font-weight:700;
  line-height:1.4;
  opacity:0;
  transform:translateY(-3px);
  transition:opacity .18s ease,transform .18s ease,margin .18s ease;
}
.selection-summary.is-visible{
  opacity:1;
  transform:none;
  margin-top:8px;
}
.selection-summary strong{color:#526277;font-weight:700;margin-right:5px}
.contact-submit-v2{
  min-width:178px;
}
.contact-submit-v2:hover:after{transform:translateX(3px)}
.contact-submit-v2:after{transition:transform .18s ease}
@media(max-width:620px){
  .form-heading-v2 h2{color:#087f91}
  .selection-summary{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .selection-summary,.contact-submit-v2:after{transition:none}
}
