.contact-hero{position:relative;overflow:hidden;background:var(--yellow);padding:clamp(58px,8vw,108px) 0;border-bottom:var(--border);}
.contact-hero::before{content:"";position:absolute;width:280px;height:280px;border:4px solid var(--black);border-radius:50%;background:var(--cobalt);right:-110px;bottom:-130px;}
.contact-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);gap:clamp(34px,6vw,78px);align-items:center;}
.contact-hero h1{position:relative;z-index:1;font-family:var(--font-display);font-size:clamp(48px,7vw,92px);font-weight:800;letter-spacing:-.045em;line-height:.92;}
.contact-hero h1 span{color:var(--cobalt);text-shadow:4px 4px 0 var(--cream);}
.contact-lead{max-width:760px;margin-top:25px;font-size:clamp(18px,2vw,23px);font-weight:500;line-height:1.5;}
.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:28px;}
.contact-direct span{font-family:var(--font-display);font-size:13px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;}
.contact-direct a{font-family:var(--font-display);font-size:clamp(21px,2.5vw,31px);font-weight:800;color:var(--black);text-underline-offset:5px;text-decoration-thickness:3px;}
.contact-promise{position:relative;z-index:1;background:var(--white);border:var(--border);border-radius:var(--radius-lg);box-shadow:10px 10px 0 var(--cobalt);padding:clamp(28px,4vw,42px);}
.contact-promise .sticker{position:absolute;right:20px;top:-24px;}
.contact-promise h2{font-family:var(--font-display);font-size:clamp(28px,3vw,39px);line-height:1.06;margin:7px 0 20px;}
.contact-section{background:var(--cream);padding:clamp(66px,9vw,118px) 0;}
.contact-layout{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.05fr);gap:clamp(34px,7vw,92px);align-items:start;}
.contact-copy h2{font-family:var(--font-display);font-size:clamp(40px,5vw,68px);line-height:.98;letter-spacing:-.035em;margin-top:12px;}
.contact-copy>p{font-size:18px;line-height:1.62;margin-top:22px;}
.contact-info-card{display:flex;flex-direction:column;gap:7px;margin-top:30px;padding:24px;border:var(--border);border-radius:var(--radius-md);background:var(--mint);box-shadow:7px 7px 0 var(--black);font-size:15px;line-height:1.45;}
.contact-info-card strong{font-family:var(--font-display);font-size:24px;}
.contact-form{position:relative;background:var(--white);border:var(--border);border-radius:var(--radius-lg);box-shadow:10px 10px 0 var(--coral);padding:clamp(24px,4vw,42px);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-field{display:block;margin-bottom:20px;}
.form-field>span{display:block;margin-bottom:8px;font-family:var(--font-display);font-size:14px;font-weight:800;letter-spacing:.035em;}
.form-field b{color:var(--coral);}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:3px solid var(--black);border-radius:14px;background:var(--cream);color:var(--black);padding:14px 15px;font:600 16px/1.4 var(--font-body);box-shadow:none;}
.form-field textarea{resize:vertical;min-height:170px;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:4px solid var(--cobalt);outline-offset:2px;background:var(--white);}
.form-consent{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;font-size:14px;line-height:1.5;font-weight:500;}
.form-consent input{width:20px;height:20px;margin-top:1px;accent-color:var(--cobalt);}
.form-consent a{color:var(--cobalt);font-weight:800;text-underline-offset:3px;}
.contact-submit{margin-top:22px;width:100%;cursor:pointer;}
.contact-submit[disabled]{cursor:wait;opacity:.7;}
.form-note{margin-top:14px;text-align:center;font-size:13px;line-height:1.45;}
.form-status{margin-top:18px;padding:16px 18px;border:3px solid var(--black);border-radius:14px;background:var(--mint);font-weight:700;line-height:1.45;}
.form-status.is-error{background:var(--coral);}
.form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.contact-next{background:var(--cobalt);color:var(--cream);padding:clamp(66px,8vw,100px) 0;}
.contact-next h2{font-family:var(--font-display);font-size:clamp(39px,5vw,68px);line-height:.98;max-width:850px;margin-top:12px;}
.contact-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.contact-links a{display:inline-flex;padding:13px 18px;border:3px solid var(--black);border-radius:999px;background:var(--yellow);color:var(--black);font-weight:800;text-decoration:none;box-shadow:4px 4px 0 var(--black);transition:transform .16s ease,box-shadow .16s ease;}
.contact-links a:hover{transform:translateY(-3px);box-shadow:4px 7px 0 var(--black);}
@media(max-width:900px){.contact-hero-grid,.contact-layout{grid-template-columns:1fr;}.contact-promise{margin-top:10px;}}
@media(max-width:620px){.contact-hero{padding:48px 0 70px;}.contact-promise{box-shadow:7px 7px 0 var(--cobalt);}.form-grid{grid-template-columns:1fr;gap:0;}.contact-form{padding:23px 18px;box-shadow:7px 7px 0 var(--coral);}.contact-links{flex-direction:column;}.contact-links a{justify-content:center;text-align:center;}}
@media(prefers-reduced-motion:reduce){.contact-links a{transition:none;}.contact-links a:hover{transform:none;}}
