@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root { --ink:#050807; --paper:#f4fafa; --white:#fff; --turquoise:#19e2cf; --deep:#087f75; --muted:#63706e; }
* { box-sizing: border-box; }
body { min-height:100svh; margin:0; background:var(--paper); color:var(--ink); font-family:'DM Sans',sans-serif; }
.contact-header { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem clamp(1rem,4vw,3.5rem); border-bottom:1px solid #cbd9d7; }
.contact-header img { width:160px; display:block; }
.contact-header > a:last-child { color:var(--ink); font-size:.78rem; font-weight:800; text-decoration:none; border-bottom:1px solid currentColor; }
.contact-layout { width:min(1180px,100%); min-height:calc(100svh - 88px); margin:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.72fr); gap:clamp(3rem,8vw,8rem); align-items:center; padding:clamp(2.5rem,7vw,7rem) clamp(1rem,4vw,3.5rem); }
.contact-intro > p:first-child { margin:0 0 1rem; color:var(--deep); font-size:.68rem; font-weight:900; letter-spacing:.16em; }
.contact-intro h1 { max-width:760px; margin:0; font-family:'Manrope',sans-serif; font-size:clamp(3.2rem,7vw,7rem); line-height:.9; letter-spacing:-.065em; }
.contact-lede { max-width:620px; margin:1.5rem 0 2.5rem; color:var(--muted); font-size:clamp(1rem,1.6vw,1.2rem); line-height:1.65; }
.contact-response-note { max-width:620px; padding:1.5rem; background:var(--ink); color:var(--white); }
.contact-response-note > * { display:block; }
.contact-response-note span { color:var(--turquoise); font-size:.6rem; font-weight:900; letter-spacing:.14em; }
.contact-response-note strong { margin:.5rem 0; font-family:'Manrope',sans-serif; font-size:1.25rem; }
.contact-response-note small { color:rgba(255,255,255,.58); line-height:1.5; }
.contact-form { display:grid; gap:1rem; padding:clamp(1.25rem,3vw,2rem); background:var(--white); border:1px solid #cbd9d7; }
.contact-form label { display:grid; gap:.45rem; color:var(--muted); font-size:.72rem; font-weight:800; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; min-height:52px; border:1px solid #cbd9d7; border-radius:0; background:var(--white); color:var(--ink); padding:.85rem; font:inherit; }
.contact-form textarea { min-height:160px; resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { outline:3px solid rgba(25,226,207,.28); border-color:var(--deep); }
.contact-form .contact-human { grid-template-columns:auto 1fr; align-items:start; gap:.75rem; padding:1rem; background:#eafffb; color:var(--ink); line-height:1.45; }
.contact-human input { width:18px; min-height:18px; margin:.1rem 0 0; accent-color:var(--deep); }
.contact-form button { min-height:54px; border:0; display:flex; align-items:center; justify-content:space-between; padding:.9rem 1rem; background:var(--turquoise); color:var(--ink); font:inherit; font-weight:900; cursor:pointer; }
.contact-form button:disabled { opacity:.55; cursor:wait; }
.contact-status { min-height:1.2rem; margin:0; color:var(--deep); font-size:.75rem; font-weight:800; }
.contact-honeypot { position:fixed!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media (max-width:780px) { .contact-header img{width:138px}.contact-layout{grid-template-columns:1fr;align-items:start;gap:2.5rem}.contact-intro h1{font-size:clamp(3rem,17vw,5rem)} }
