/* Contact Form block (fabricator/blocks/contact_form.html) */
.contact-sec{padding-top:.5rem}
.contact-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,3rem);align-items:stretch}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

.cform{background:#fff;border:1px solid var(--line-2);border-radius:20px;padding:clamp(1.5rem,3vw,2.25rem);
  display:flex;flex-direction:column;gap:1.2rem;justify-content:space-between;
  box-shadow:0 30px 60px -40px rgba(74,66,62,.4)}
.cform-h{display:flex;align-items:center;gap:1rem;margin-bottom:.2rem}
.cform-h .ic-tile{width:3.2rem;height:3.2rem;border-radius:.9rem;background:var(--green);color:#fff;
  box-shadow:0 10px 20px -12px rgba(78,124,89,.7)}
.cform-h h2{font-size:1.6rem;margin:0}
.cform-h p{color:var(--muted);font-size:.9rem;margin-top:.15rem}
.cform-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:560px){.cform-row{grid-template-columns:1fr}}
.cform label{display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;font-weight:700;
  letter-spacing:.02em;color:var(--ink-2)}
.fld{position:relative;display:block}
.fld>i,.fld>svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1.05rem;height:1.05rem;
  color:var(--faint);pointer-events:none}
.fld:has(textarea)>i,.fld:has(textarea)>svg{top:1.05rem;transform:none}
.cform .fld input,.cform .fld textarea{width:100%;padding:.85rem 1rem .85rem 2.8rem;
  border:1.5px solid var(--line-2);border-radius:12px;background:#fff;font:inherit;font-size:.95rem;
  color:var(--ink);box-shadow:0 1px 2px rgba(74,66,62,.04);
  transition:border-color .15s,box-shadow .15s,background .15s}
.cform .fld textarea{min-height:7.5rem;padding-top:.85rem;resize:vertical}
.cform input::placeholder,.cform textarea::placeholder{color:var(--faint)}
.cform input:focus,.cform textarea:focus{outline:none;background:#fff;border-color:var(--green);
  box-shadow:0 0 0 4px rgba(78,124,89,.12)}
.fld:focus-within>i,.fld:focus-within>svg{color:var(--green)}
.fld.err input,.fld.err textarea{border-color:var(--red)}
.fld-err{color:var(--red);font-size:.78rem}
.cform .btn{width:auto;min-width:14rem;align-self:center;border-radius:999px;padding:.95rem 2.25rem;
  font-size:1rem;box-shadow:0 14px 28px -14px rgba(212,162,76,.7)}
.cform .btn:hover{transform:translateY(-2px);box-shadow:0 18px 32px -14px rgba(78,124,89,.6)}
.cform-note{margin:0;text-align:center;font-size:.85rem;color:var(--muted)}
.cform-note a{color:var(--green-d);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cform-success{margin:0;background:var(--green-soft);color:var(--green-d);border-radius:12px;
  padding:1rem 1.25rem;font-weight:600;text-align:center}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.cinfo{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.85rem;
  background:linear-gradient(160deg,var(--green) 0%,var(--green-d) 100%);border-radius:20px;
  padding:clamp(1.5rem,3vw,2.25rem);color:#fff;box-shadow:0 30px 60px -40px rgba(74,66,62,.5)}
.cinfo::before{content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:20px 20px;
  -webkit-mask-image:radial-gradient(ellipse at 20% 0%,#000 10%,transparent 70%);
  mask-image:radial-gradient(ellipse at 20% 0%,#000 10%,transparent 70%);pointer-events:none}
.cinfo>*{position:relative;z-index:1}
.cinfo-h{margin-bottom:.5rem}
.cinfo-h .kicker{color:rgba(255,255,255,.7)}
.cinfo-h h2{color:#fff;font-size:1.75rem;margin-top:.35rem}
.ccard{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;
  padding:1.15rem 1.25rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);
  border-radius:16px;color:#fff;transition:background .15s,border-color .15s,transform .18s ease}
a.ccard:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35);transform:translateX(3px)}
.ccard .ic-tile{width:2.9rem;height:2.9rem;border-radius:.8rem;background:#fff;color:var(--green-d)}
.ccard b{display:block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.7);margin-bottom:.2rem}
.ccard>div>span{font-style:normal;font-size:.96rem;font-weight:600;color:#fff;line-height:1.5;
  word-break:break-word}
.ccard-hint{display:block;margin-top:.35rem;font-size:.74rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:rgba(255,255,255,.75)}
.ccard .go{color:rgba(255,255,255,.7);width:1rem;height:1rem;transition:transform .15s,color .15s}
a.ccard:hover .go{color:#fff;transform:translateX(3px)}

@media(max-width:700px){
  .cform,.cinfo{padding:1.35rem}
}
