.contact-page { background: #f3f7f2; }
.contact-hero { position: relative; overflow: hidden; padding: clamp(80px,10vw,145px) 0; color: #fff; background: linear-gradient(145deg,#031b14,#064e3b 58%,#073a2d); }
.contact-hero::before { content: ''; position: absolute; inset: 0; opacity: .16; background-image: radial-gradient(rgba(217,249,157,.8) 1px,transparent 1px); background-size: 30px 30px; mask-image: linear-gradient(120deg,#000,transparent 78%); }
.contact-hero::after { content: ''; position: absolute; right: -120px; top: -180px; width: 480px; height: 480px; border: 1px solid rgba(217,249,157,.18); border-radius: 50%; box-shadow: 0 0 0 55px rgba(217,249,157,.035),0 0 0 120px rgba(217,249,157,.025); }
.contact-hero .container { position: relative; z-index: 1; }
.contact-eyebrow,.contact-kicker { margin: 0 0 16px; color: #d9f99d; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.contact-hero h1 { max-width: 760px; margin: 0 0 22px; color: #fff; font-size: clamp(2.1rem,4.6vw,4rem); line-height: 1.04; letter-spacing: -.045em; }
.contact-hero .container > p:last-child { max-width: 680px; margin: 0; color: rgba(255,255,255,.68); font-size: clamp(.88rem,1.3vw,1rem); line-height: 1.75; }
.contact-workspace { padding: clamp(55px,7vw,100px) 0; background: linear-gradient(145deg,#eef5ed,#fbf8ec); }
.contact-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 24px; align-items: stretch; }
.contact-details-panel,.contact-form-panel { padding: clamp(28px,4vw,52px); border-radius: 28px; }
.contact-details-panel { background: linear-gradient(145deg,#031b14,#064e3b); color: #fff; box-shadow: 0 26px 60px rgba(6,78,59,.2); }
.contact-panel-heading h2,.contact-form-panel h2,.contact-map-panel h2 { margin: 0; font-size: clamp(1.5rem,2.3vw,2.25rem); line-height: 1.14; letter-spacing: -.03em; }
.contact-panel-heading h2 { color: #fff; }
.contact-panel-heading > p:last-child { max-width: 580px; color: rgba(255,255,255,.62); font-size: 13px; line-height: 1.75; }
.contact-detail-list { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; margin-top: 34px; }
.contact-detail-card { display: flex; gap: 15px; min-width: 0; padding: 20px; border: 1px solid rgba(255,255,255,.09); border-radius: 19px; background: rgba(255,255,255,.05); }
.contact-address-card { grid-column: auto; }
.contact-detail-number { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border-radius: 11px; background: #d4a017; color: #062f25; font-size: 10px; font-weight: 850; }
.contact-detail-card strong { display: block; margin-bottom: 6px; color: #d9f99d; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.contact-detail-card p { margin: 0; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.contact-detail-card a { color: inherit; }
.contact-form-panel { border: 1px solid rgba(6,78,59,.1); background: rgba(255,255,255,.9); box-shadow: 0 22px 55px rgba(6,78,59,.1); }
.contact-form-panel .contact-kicker { color: #0f7658; }
.contact-form-panel h2 { color: #064e3b; }
.contact-form-intro { margin: 12px 0 28px; color: #66746e; font-size: 13px; }
.contact-form-panel .form-label { font-size: 12px; }
.contact-form-panel .input-field { font-size: 13px; }
.contact-form-panel form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.contact-field-full,.contact-submit { grid-column: 1 / -1; }
.contact-field .input-field { margin: 0; border-color: rgba(6,78,59,.14); background: #f9fbf8; }
.contact-field textarea { min-height: 145px; resize: vertical; }
.contact-submit { width: 100%; min-height: 50px; background: #064e3b; }
.contact-map-panel { display: grid; grid-template-columns: .55fr 1.45fr; gap: 30px; align-items: center; margin-top: 24px; padding: clamp(24px,3vw,38px); border: 1px solid rgba(6,78,59,.1); border-radius: 28px; background: #fff; box-shadow: 0 20px 50px rgba(6,78,59,.09); }
.contact-map-panel .contact-kicker { color: #0f7658; }
.contact-map-panel h2 { color: #064e3b; }
.contact-map-panel iframe { display: block; width: 100%; min-height: 330px; border: 0; border-radius: 20px; filter: saturate(.8) contrast(.95); }
.contact-page .site-footer { margin-top: 0; }
@media (max-width: 900px) { .contact-layout,.contact-map-panel { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .contact-detail-list,.contact-form-panel form { grid-template-columns: 1fr; } .contact-address-card,.contact-field-full,.contact-submit { grid-column: 1; } .contact-details-panel,.contact-form-panel,.contact-map-panel { border-radius: 22px; } .contact-map-panel iframe { min-height: 280px; } }
@media screen and (max-width: 639px) {
  .contact-details-panel, .contact-form-panel, .contact-map-panel { padding: 20px; }
  .contact-form-panel .input-field { font-size: 16px; }
}
