  :root{
    --plum:#3E1236; --plum-2:#5A1F52; --rose:#D6336C; --rose-dark:#B01E56;
    --blush:#FDF2F0; --blush-2:#FBE6E9; --gold:#C99A3C; --leaf:#3F6B4E;
    --ink:#2B1A29; --ink-soft:#6B5768; --white:#FFFFFF; --line:#EFDFE0;
    --radius-lg:28px; --radius-md:16px; --radius-sm:10px;
    --shadow:0 10px 30px rgba(62,18,54,.10); --shadow-sm:0 4px 14px rgba(62,18,54,.08);
    --font-display:"Fraunces", Georgia, serif; --font-body:"Manrope", -apple-system, sans-serif;
    --container:1240px;
  }
  

  .contact-page{padding:0 0 80px;background:var(--white)}



  /* Intro band */
  .contact-hero{background:var(--blush);padding:36px 0 40px;text-align:center;border-radius:var(--radius-lg);margin-bottom:44px}
  .contact-hero h1{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.22;max-width:780px;margin:0 auto 12px}
  .contact-hero p{color:var(--ink-soft);font-size:.98rem;max-width:640px;margin:0 auto}
  .contact-hero p a{color:var(--rose-dark);font-weight:800}

  /* Quick contact cards */
  .quick-contact{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:56px}
  .quick-card{
    border:1px solid var(--line);border-radius:var(--radius-md);padding:24px 20px;text-align:center;
    transition:box-shadow .2s ease,transform .2s ease;
  }
  .quick-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
  .quick-card .icon-wrap{
    width:52px;height:52px;border-radius:50%;background:var(--blush);display:flex;align-items:center;
    justify-content:center;margin:0 auto 14px;
  }
  .quick-card .icon-wrap svg{width:24px;height:24px;color:var(--rose-dark)}
  .quick-card h3{font-family:var(--font-body);font-size:.95rem;font-weight:800;margin-bottom:6px}
  .quick-card p{font-size:.84rem;color:var(--ink-soft);margin:0 0 12px}
  .quick-card .quick-link{font-weight:800;font-size:.85rem;color:var(--rose-dark)}
  @media (max-width:900px){ .quick-contact{grid-template-columns:repeat(2,1fr)} }
  @media (max-width:560px){ .quick-contact{grid-template-columns:1fr} }

  /* Form + map layout */
  .contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:stretch;margin-bottom:60px}
  @media (max-width:900px){ .contact-layout{grid-template-columns:1fr} }

  .contact-form-card{
    border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-sm);
  }
  .contact-form-card h2{font-size:1.3rem;margin-bottom:6px}
  .contact-form-card .sub{color:var(--ink-soft);font-size:.88rem;margin-bottom:26px}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .form-field{margin-bottom:5px}
  .form-field.full{grid-column:1/-1}
  .form-field label{display:block;font-weight:800;font-size:.84rem;color:var(--plum);margin-bottom:7px}
  .form-field label .req{color:var(--rose)}
  .form-field input, .form-field select, .form-field textarea{
    width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-family:var(--font-body);
    font-size:.9rem;color:var(--ink);background:#fff;
  }
  .form-field select{
    appearance:none;-webkit-appearance:none;padding-right:38px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233E1236' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;background-size:14px;
  }
  .form-field textarea{resize:vertical;min-height:40px}
  .captcha-row{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}
  .captcha-code{
    background:var(--blush);border:1px dashed var(--rose);border-radius:10px;padding:10px 18px;
    font-weight:800;letter-spacing:.12em;color:var(--plum);font-size:1.05rem;user-select:none;
  }
  .captcha-row input{flex:1;min-width:140px}
  .form-submit{
    width:100%;padding:15px;border-radius:999px;background:var(--rose);color:#fff;font-weight:800;
    font-size:.95rem;border:0;box-shadow:0 10px 22px rgba(214,51,108,.32);
  }
  .form-submit:hover{background:var(--rose-dark)}

  /* Map (right of form, info already lives in the 4 cards above) */
  .map-embed{
    border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);min-height:280px;
  }
  .map-embed--tall{height:100%}
  .map-embed iframe{width:100%;height:100%;border:0;display:block;min-height:280px}
  @media (max-width:900px){ .map-embed--tall{min-height:320px} }

  /* Testimonials (Swiper) */
  .testi-section{background:var(--blush);border-radius:var(--radius-lg);padding:48px 40px}
  .testi-section .section-head{text-align:center;margin-bottom:30px;display: inline-block; width: 100%;}
  .testi-swiper{overflow:hidden;padding-bottom:6px}
  .testi-swiper .swiper-slide{height:auto}
  .testi-card{
    height:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);
    padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  }
  .testi-card .stars{color:var(--gold);letter-spacing:2px;font-size:.9rem;margin-bottom:10px;display:block}
  .testi-card blockquote{margin:0 0 16px;font-size:.88rem;color:var(--ink);flex:1;line-height:1.6}
  .testi-person{display:flex;align-items:center;gap:10px}
  .avatar{
    width:36px;height:36px;border-radius:50%;background:var(--plum);color:#fff;font-weight:800;font-size:.8rem;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .testi-person strong{display:block;font-size:.84rem;color:var(--plum)}
  .testi-person span{font-size:.74rem;color:var(--ink-soft)}
  .testi-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}
  .testi-controls button{
    width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);background:#fff;
    display:flex;align-items:center;justify-content:center;
  }
  .testi-controls button:hover{border-color:var(--rose);color:var(--rose-dark)}
  .testi-pagination{display:flex !important;align-items:center;gap:7px;position:static !important;width:auto !important}
  .testi-pagination .swiper-pagination-bullet{width:8px;height:8px;border-radius:50%;background:var(--line);opacity:1;margin:0 !important}
  .testi-pagination .swiper-pagination-bullet-active{background:var(--rose);width:20px;border-radius:5px}
