/* Contact layout */
    .contact-grid {
      display:grid; grid-template-columns:1fr 1.4fr; gap:4rem; align-items:start;
    }

    /* Info side */
    .contact-info-block {
      background:rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.07);
      border-radius:24px; padding:2.5rem;
    }
    .info-row {
      display:flex; gap:1.2rem; align-items:flex-start;
      padding:1.2rem 0;
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .info-row:last-child { border-bottom:none; }
    .info-icon {
      width:57px;height:57px;border-radius:13px;
      background:var(--grad);
      display:flex;align-items:center;justify-content:center;
      flex-shrink:0;
    }
    .info-row h4 { font-size:.78rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.3rem; }
    .info-row p, .info-row a, .info-row a:visited { font-size:.95rem;color:#fff;font-weight:500; }
    .info-row a:hover { color:var(--verde-luz); }

    /* Form */
    .contact-form {
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.09);
      border-radius:28px; padding:3rem;
    }
    .form-row { display:grid;grid-template-columns:1fr 1fr;gap:1.2rem; }
    .form-group { margin-bottom:1.3rem; }
    .form-group label {
      display:block;font-size:.73rem;font-weight:700;
      letter-spacing:.8px;text-transform:uppercase;
      color:rgba(255,255,255,.45);margin-bottom:.5rem;
    }
    .form-group input,
    .form-group select,
    .form-group textarea {
      width:100%;padding:.85rem 1.1rem;
      background:rgba(255,255,255,.06);
      border:1.5px solid rgba(255,255,255,.1);
      border-radius:12px;
      font-family:'Montserrat',sans-serif;
      font-size:.9rem;color:#fff;
      outline:none;
      transition:border-color .25s,background .25s,box-shadow .25s;
      appearance:none;-webkit-appearance:none;
    }
    .form-group input::placeholder,
    .form-group textarea::placeholder { color:rgba(255,255,255,.25); }
    .form-group select option { background:#1a2215;color:#fff; }
    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus {
      border-color:var(--verde-luz);
      background:rgba(138,153,58,.08);
      box-shadow:0 0 0 3px rgba(138,153,58,.12);
    }
    .form-group textarea { resize:vertical;min-height:120px; }
    .form-group:has(.input-required) .dnnFormLabelWithoutHelp label::after{content: " *";}
    .btn-submit {
      width:100%;padding:1.1rem;
      background:var(--grad);
      color:#fff;border:none;border-radius:14px;
      font-family:'Montserrat',sans-serif;
      font-size:1rem;font-weight:800;
      cursor:pointer;letter-spacing:.5px;
      transition:opacity .25s,transform .25s,box-shadow .25s;
      box-shadow:0 6px 28px rgba(98,144,177,.3);
      display: block;
      text-align: center;
    }
    .btn-submit:hover { opacity:.88;transform:translateY(-2px);box-shadow:0 10px 36px rgba(98,144,177,.4);color:#fff; }

    .contact-form .dnnClear{ list-style: none; }
    .contact-form .dnnClear li{ display: none; }
    .contact-form .dnnClear li:first-of-type{ display: block; width: 100% }
    .contact-form .dnnSecondaryAction { display: none; }
    .dnnFormValidationSummary {display:none;}

    /* Map placeholder */
    .map-placeholder {
      background:linear-gradient(145deg,#0d1a0a,#1a2e1a);
      border-radius:20px;
      aspect-ratio:16/7;
      display:flex;align-items:center;justify-content:center;
      border:1px solid rgba(255,255,255,.07);
      position:relative;overflow:hidden;
    }
    .map-placeholder::before {
      content:'';position:absolute;
      width:300px;height:300px;border-radius:50%;
      border:1px solid rgba(138,153,58,.15);
      top:50%;left:50%;transform:translate(-50%,-50%);
    }
    .map-placeholder::after {
      content:'';position:absolute;
      width:500px;height:500px;border-radius:50%;
      border:1px solid rgba(138,153,58,.07);
      top:50%;left:50%;transform:translate(-50%,-50%);
    }
    .map-inner { text-align:center;z-index:1; }
    .map-inner .pin { display:flex;justify-content:center;margin-bottom:.8rem; }
    .map-inner h4 { font-size:1rem;font-weight:700;color:#fff;margin-bottom:.3rem; }
    .map-inner p { font-size:.85rem;color:rgba(255,255,255,.45); }

    /* FAQ */
    .faq-list { display:flex;flex-direction:column;gap:.8rem; }
    .faq-item {
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      border-radius:16px; overflow:hidden;
    }
    .faq-question {
      width:100%;padding:1.3rem 1.5rem;
      background:none;border:none;
      font-family:'Montserrat',sans-serif;
      font-size:.92rem;font-weight:700;
      color:#fff;text-align:left;cursor:pointer;
      display:flex;justify-content:space-between;align-items:center;gap:1rem;
      transition:background .25s;
    }
    .faq-question:hover { background:rgba(255,255,255,.04); }
    .faq-arrow { transition:transform .3s;flex-shrink:0;color:var(--verde-luz); }
    .faq-item.open .faq-arrow { transform:rotate(180deg); }
    .faq-answer {
      max-height:0;overflow:hidden;
      transition:max-height .4s ease,padding .3s;
      padding:0 1.5rem;
    }
    .faq-item.open .faq-answer { max-height:300px;padding:0 1.5rem 1.3rem; }
    .faq-answer p { font-size:.88rem;color:rgba(255,255,255,.6);line-height:1.8; }

    @media(max-width:768px){
      .contact-grid,.form-row{grid-template-columns:1fr;}
      .contact-form{padding:2rem 1.5rem;}
    }