:root{--brand:#0d9488;--bg-lilac:#F3E8FF;--bg-mint:#E6FFF4}body{font-family:system-ui;margin:0;min-height:100vh;background:linear-gradient(160deg,var(--bg-lilac) 0%, #F7F4FF 35%, var(--bg-mint) 100%);} .container{max-width:1100px;margin:0 auto;padding:0 20px} .section{padding:64px 0} .hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;padding:24px 0 48px} .brand{font-weight:800;color:#134e4a} .nav a{margin-left:16px} .btn{display:inline-block;padding:12px 18px;border-radius:999px;border:1px solid var(--brand)} .btn-primary{background:var(--brand);color:#fff} .btn-outline{color:var(--brand)} .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px} .card{background:#f8fafc;border:1px solid #e2e8f0;padding:20px;border-radius:16px} .chips{display:flex;flex-wrap:wrap;gap:10px} .chips span{padding:8px 12px;border:1px solid #e2e8f0;border-radius:999px} .map{height:200px;border:1px dashed #cbd5e1;border-radius:12px;display:flex;align-items:center;justify-content:center}
.map-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;background:#fff}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* === Responsive pastel layout & form fixes === */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.form > label{display:grid;gap:8px;font-weight:500}
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;font:inherit;background:#fff}
.form textarea{min-height:140px;resize:vertical}
.form .checkbox{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.form .checkbox input{margin-top:3px}
.form .btn{justify-self:start}

/* Cards and sections readable on pastel bg */
.card{background:rgba(255,255,255,.88);backdrop-filter:saturate(140%) blur(2px)}

/* Mobile first column layout */
@media (max-width: 640px){
  .container{padding-left:16px;padding-right:16px}
  .form{grid-template-columns:1fr}
  header .nav{gap:8px;flex-wrap:wrap}
  .hero{padding-top:24px;padding-bottom:24px}
}

/* Slightly larger phones and tablets */
@media (min-width: 641px) and (max-width: 960px){
  .form{grid-template-columns:1fr 1fr}
}

/* Prevent label text from wrapping under inputs on narrow screens */
label, .form > label{min-width:0}

img{max-width:100%;height:auto;display:block}
