/* ── Contact page styles ─────────────────────────────────── */

/* Hero — no photo, clean black */
.hero.contact-hero{min-height:56vh;padding:140px 40px 120px}
.hero.contact-hero .hero-bg{display:none}
.hero.contact-hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(1200px 500px at 20% 30%, rgba(224,24,96,0.12), transparent 60%),
  radial-gradient(900px 500px at 80% 70%, rgba(255,255,255,0.04), transparent 60%);pointer-events:none;z-index:0}

/* Contact details */
.contact-cols{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#d4cfc5;border:1px solid #d4cfc5}
.cc-col{background:#fff;padding:44px 44px 40px;display:flex;flex-direction:column;gap:22px;position:relative}
.cc-col.wy{border-top:3px solid var(--pink)}
.cc-col.kg{border-top:3px solid #29B6E8}
.cc-col .cc-eyebrow{display:flex;align-items:center;gap:12px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:#8a8784}
.cc-col .cc-eyebrow .dot{width:7px;height:7px;border-radius:50%}
.cc-col.wy .cc-eyebrow .dot{background:var(--pink)}
.cc-col.kg .cc-eyebrow .dot{background:#29B6E8}
.cc-col h3{font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;font-size:44px;line-height:0.95;letter-spacing:0.005em;color:#0F0F0F}
.cc-row{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:start;padding:18px 0;border-top:1px solid #e8e3d8}
.cc-row:first-of-type{border-top:none;padding-top:4px}
.cc-row .lbl{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#8a8784;padding-top:3px}
.cc-row .val{font-size:15px;color:#1a1a1a;line-height:1.45}
.cc-row .val a{color:#1a1a1a;border-bottom:1px solid #d4cfc5;padding-bottom:1px;transition:color .15s, border-color .15s}
.cc-row.wy .val a:hover{color:var(--pink);border-color:var(--pink)}
.cc-row.kg .val a:hover{color:#29B6E8;border-color:#29B6E8}
.cc-row .who{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:20px;letter-spacing:0.01em;color:#0F0F0F;line-height:1.05;display:block;margin-bottom:4px}
.cc-row .phone{font-family:'JetBrains Mono',monospace;font-size:13px;color:#3a3a3a;display:inline-block;margin-top:4px}

/* Address + map */
.addr-band{display:grid;grid-template-columns:1fr 1.2fr;gap:2px;background:#d4cfc5;margin-top:48px;border:1px solid #d4cfc5}
.addr-box{background:#0F0F0F;color:#fff;padding:44px 40px;display:flex;flex-direction:column;gap:18px}
.addr-box .tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--pink)}
.addr-box h4{font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;font-size:40px;line-height:0.95;letter-spacing:0.005em}
.addr-box .addr-lines{font-size:16px;line-height:1.55;color:#d8d5d0}
.addr-box .addr-lines strong{color:#fff}
.addr-box .meta-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:11px;color:#8a8784;letter-spacing:0.14em;text-transform:uppercase}
.addr-box .meta-row span::before{content:"·";margin-right:14px;color:#3a3a3a}
.addr-box .meta-row span:first-child::before{content:none}
.addr-box .btn{align-self:flex-start;margin-top:14px}
.map-placeholder{background:#efe8df;min-height:360px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.map-placeholder svg.grid{position:absolute;inset:0;width:100%;height:100%;opacity:0.5}
.map-placeholder .pin-card{position:relative;z-index:2;background:#fff;padding:18px 22px;border:1px solid #d4cfc5;box-shadow:0 10px 30px rgba(0,0,0,0.08);display:flex;gap:14px;align-items:center;max-width:320px}
.map-placeholder .pin-card .pin{width:28px;height:28px;border-radius:50% 50% 50% 0;background:var(--pink);transform:rotate(-45deg);flex-shrink:0;position:relative;box-shadow:0 0 0 6px rgba(224,24,96,0.18)}
.map-placeholder .pin-card .pin::after{content:"";position:absolute;top:8px;left:8px;width:12px;height:12px;background:#fff;border-radius:50%}
.map-placeholder .pin-card .txt{font-size:13px;line-height:1.45;color:#1a1a1a}
.map-placeholder .pin-card .txt strong{display:block;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:17px;text-transform:uppercase;letter-spacing:0.01em;margin-bottom:2px}
.map-placeholder .map-tag{position:absolute;top:18px;left:22px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:#8a8784;z-index:2}

/* Contact form */
.form-wrap{display:grid;grid-template-columns:0.9fr 1.1fr;gap:80px;align-items:start}
.form-side h2{margin-bottom:24px}
.form-side p{font-size:17px;line-height:1.65;color:#c5c2bd;margin-bottom:18px}
.form-side .callouts{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.form-side .callout{display:flex;gap:16px;padding:16px 18px;border:1px solid #2a2a2a;background:#141414}
.form-side .callout .co-code{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--pink);letter-spacing:0.2em;width:64px;flex-shrink:0;padding-top:3px;text-transform:uppercase}
.form-side .callout p{color:#d8d5d0;font-size:14px;margin:0;line-height:1.5}
.form-side .callout strong{color:#fff}
.form-card{background:#141414;border:1px solid #2a2a2a;padding:40px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 22px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field.full{grid-column:1/-1}
.form-field label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:#8a8784;display:flex;justify-content:space-between;align-items:baseline}
.form-field label .req{color:var(--pink);font-size:9px}
.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:15px;padding:14px 16px;background:#0a0a0a;border:1px solid #2a2a2a;color:#fff;outline:none;font-family:'DM Sans',system-ui,sans-serif;transition:border-color .15s,background .15s}
.form-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px;cursor:pointer}
.form-field textarea{resize:vertical;min-height:160px;line-height:1.55}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--pink);background:#0F0F0F}
.form-field input::placeholder,.form-field textarea::placeholder{color:#6a6763}
.form-submit-row{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:24px;border-top:1px solid #222;flex-wrap:wrap;gap:14px}
.form-submit-row .privacy{font-family:'JetBrains Mono',monospace;font-size:11px;color:#8a8784;letter-spacing:0.08em;max-width:340px;line-height:1.5}

/* Partners */
.partners-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:#d4cfc5;border:1px solid #d4cfc5;margin-bottom:32px}
.partner{background:#fff;padding:44px 24px;display:flex;flex-direction:column;align-items:center;gap:16px;min-height:240px;justify-content:center;text-align:center;position:relative;transition:background .2s}
.partner:hover{background:#faf6f0}
.partner .badge{width:86px;height:86px;border:1.5px solid #0F0F0F;display:flex;align-items:center;justify-content:center;position:relative;background:#F5F0EA}
.partner .badge .mono-code{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.15em;color:#0F0F0F;font-weight:500}
.partner .badge::before{content:"";position:absolute;inset:4px;border:1px solid #0F0F0F}
.partner h5{font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;font-size:15px;line-height:1.05;letter-spacing:0.02em;color:#0F0F0F;max-width:20ch}
.partner .region{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#8a8784}
.partners-foot{padding:22px 28px;background:#0F0F0F;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.partners-foot span{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#d8d5d0}
.partners-foot strong{color:#fff}

/* Quick enrol strip */
.enrol-strip{background:var(--pink);padding:96px 40px}
.enrol-strip-inner{max-width:1640px;margin:0 auto;display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;align-items:center}
.enrol-strip h2{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:clamp(56px,8vw,128px);line-height:0.88;text-transform:uppercase;letter-spacing:-0.01em;color:#fff}
.enrol-strip .sub{color:rgba(255,255,255,0.85);font-size:18px;line-height:1.45;margin-top:18px;max-width:420px}
.enrol-ctas{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.enrol-cta{display:flex;flex-direction:column;gap:10px;padding:26px 24px;background:#0F0F0F;color:#fff;border:2px solid #0F0F0F;transition:all .15s}
.enrol-cta:hover{transform:translateY(-3px);background:#000}
.enrol-cta .tag{font-family:'JetBrains Mono',monospace;font-size:10px;color:rgba(255,255,255,0.6);letter-spacing:0.22em;text-transform:uppercase}
.enrol-cta .title{font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;font-size:28px;line-height:0.95;letter-spacing:0.005em}
.enrol-cta .arrow-row{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #2a2a2a;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.15em;color:rgba(255,255,255,0.6)}
.enrol-cta .arrow{width:14px;height:14px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg)}

/* Responsive */
@media (max-width:1100px){
  .contact-cols{grid-template-columns:1fr}
  .addr-band{grid-template-columns:1fr}
  .form-wrap{grid-template-columns:1fr;gap:48px}
  .partners-grid{grid-template-columns:repeat(2,1fr)}
  .enrol-strip-inner{grid-template-columns:1fr;gap:40px}
  .enrol-ctas{grid-template-columns:1fr}
}
@media (max-width:720px){
  .form-grid{grid-template-columns:1fr}
  .form-card{padding:28px 22px}
  .cc-col{padding:32px 26px}
  .cc-row{grid-template-columns:1fr;gap:8px}
  .addr-box{padding:32px 26px}
  .partners-grid{grid-template-columns:1fr 1fr}
  .enrol-strip{padding:64px 20px}
}
