:root {
  --ink:#172a27; --muted:#5d6d69; --cream:#fffaf0; --paper:#fff;
  --green:#18775b; --green-dark:#0f5c46; --mint:#dff3e9;
  --gold:#ffca5c; --line:rgba(23,42,39,.16);
  font-family:Inter,ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif;
  color:var(--ink); background:var(--cream);
}
* { box-sizing:border-box; }
body { margin:0; min-width: 320px; background:radial-gradient(circle at 10% 4%,rgba(255,202,92,.2),transparent 28rem),radial-gradient(circle at 90% 30%,rgba(105,190,150,.14),transparent 30rem),var(--cream); }
a { color:var(--green-dark); font-weight:800; text-underline-offset:.2em; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:4px solid var(--gold); outline-offset:3px; }
.shell { width:min(1000px,calc(100% - 36px)); margin-inline:auto; }
.skip-link { position:fixed; top:8px; left:8px; padding:12px 18px; background:var(--ink); color:#fff; transform:translateY(-160%); z-index:10; }
.skip-link:focus { transform:none; }
.contact-header { min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; }
.brand img { width:48px; height:48px; border-radius:50%; object-fit:cover; }
.brand strong { font-size:1.45rem; letter-spacing:-.04em; }
.brand strong span { color:var(--green); }
.back-link { padding:11px 16px; border:2px solid var(--line); border-radius:999px; background:#fff; text-decoration:none; }
main { padding:clamp(50px,8vw,88px) 0 84px; }
.contact-intro { max-width:800px; }
.eyebrow { margin:0 0 10px; color:var(--green-dark); font-size:.8rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(2.8rem,8vw,5.5rem); line-height:.96; letter-spacing:-.06em; }
.contact-intro>p:last-child { max-width:760px; margin:24px 0 44px; color:var(--muted); font-size:clamp(1.08rem,2.4vw,1.34rem); line-height:1.62; }
.contact-card { overflow:hidden; border:1px solid var(--line); border-radius:28px; background:rgba(255,255,255,.95); box-shadow:0 24px 65px rgba(31,72,60,.12); }
.form-heading { min-height:170px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 40px; background:var(--mint); border-bottom:1px solid var(--line); }
.form-heading h2 { margin:0; font-size:clamp(1.65rem,4vw,2.6rem); letter-spacing:-.04em; }
.form-heading img { width:170px; height:110px; object-fit:cover; object-position:center; border-radius:20px; }
form { padding:clamp(26px,5vw,46px); }
label { display:grid; gap:9px; font-weight:850; }
label+label,label+.optional-fields,.optional-fields+label { margin-top:24px; }
label em { color:var(--muted); font-size:.78em; font-style:normal; font-weight:700; }
input,select,textarea { width:100%; border:2px solid #aebfb4; border-radius:12px; background:#fff; color:var(--ink); font:inherit; font-size:1rem; padding:14px 15px; }
textarea { min-height:190px; line-height:1.5; resize:vertical; }
.optional-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.optional-fields label { margin:0; }
.field-help,.privacy-note { color:var(--muted); line-height:1.55; }
.field-help { margin:8px 0 0; font-size:.92rem; }
.copy-option { display:flex; align-items:flex-start; gap:12px; margin-top:22px; font-weight:700; }
.copy-option input { flex:0 0 auto; width:22px; height:22px; margin:2px 0 0; accent-color:var(--green); }
.copy-option span { display:grid; gap:3px; }
.copy-option small { color:var(--muted); font-weight:600; }
.privacy-note { margin:28px 0; padding:18px 20px; border-left:5px solid var(--gold); background:#fff8e6; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-actions { display:flex; align-items:center; gap:22px; }
.send-button { min-height:52px; padding:13px 25px; border:0; border-radius:999px; background:var(--green); color:#fff; font:inherit; font-weight:900; cursor:pointer; }
.send-button:hover { background:var(--green-dark); }
.send-button:disabled { cursor:wait; opacity:.65; }
.form-status { min-height:28px; margin-top:22px; font-weight:800; line-height:1.5; }
.form-status.success { padding:16px 18px; border:2px solid #9ac9a4; border-radius:12px; background:#eaf7ed; color:#145c2b; }
.form-status.error { padding:14px 16px; border-left:5px solid #b94f00; background:#fff3ed; color:#842b1a; }
footer { display:flex; justify-content:space-between; gap:22px; padding:28px 0 42px; border-top:1px solid var(--line); color:var(--muted); }
footer nav { display:flex; flex-wrap:wrap; gap:18px; }
@media(max-width:680px) { .contact-header{align-items:flex-start;flex-direction:column;padding:18px 0 22px}.back-link{align-self:stretch;text-align:center}.form-heading{padding:24px}.form-heading img{width:110px;height:90px}.optional-fields{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}.send-button{width:100%}footer{flex-direction:column} }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
@media (forced-colors: active) { .contact-card,.privacy-note,.form-status { border:2px solid CanvasText; } }
