/* Page-specific styles for page-contact.php. Shared tokens/header/footer live in style.css. */
.hero{padding-top:9.6875rem;padding-bottom:3.75rem;border-bottom:1px solid var(--ink)}.hero h1{font:400 clamp(2.5rem,8.5vw,8rem)/1.03 var(--serif);max-width:860px;margin:1.25rem 0 0}.hero h1 em{font-style:normal;color:var(--accent)}
.contact-wrap{padding-top:5.625rem;padding-bottom:5.625rem;display:grid;grid-template-columns:.85fr 1.15fr;gap:3.75rem}.info-block{display:flex;flex-direction:column;gap:2.25rem}.info-item .kicker{margin-bottom:0.625rem}.info-item a,.info-item p{font:700 1.25rem/1.3 var(--display);letter-spacing:-.02em}.info-item p{margin:0;color:var(--ink)}.info-item span{display:block;font:400 0.875rem/1.5 var(--body);color:var(--muted);margin-top:0.375rem}
.form-card{border:1px solid var(--ink);padding:2.75rem}.form-card h2{font:700 1.625rem/1.2 var(--display);margin:0 0 1.75rem}.field{margin-bottom:1.375rem}.field label{display:block;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:0.5rem}.field input,.field select,.field textarea{width:100%;border:none;border-bottom:1px solid var(--line);background:transparent;padding:0.625rem 0;font:inherit;font-size:1rem;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink)}.field textarea{resize:vertical;min-height:110px}
.submit-btn{background:var(--ink);color:var(--paper);border:none;border-radius:999px;padding:0.9375rem 1.5rem;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
@media(max-width:900px){.contact-wrap{grid-template-columns:1fr}}

.social-icons{display:flex;gap:0.625rem;margin-top:0.875rem}.social-icons a{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--ink);border-radius:50%;color:var(--ink);transition:background .2s,border-color .2s,color .2s}.social-icons a:hover,.social-icons a:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--ink)}

#hubspot-form .hsfc-Step .hsfc-Step__Content{padding:0 !important}

#hs-form-virality-container,#hubspot-form [id^="hs-form-virality"]{display:none !important}

/* The HubSpot form renders in a cross-origin iframe whose content has ~40px of
   built-in side padding that theme CSS can't reach. Widen the frame by that
   amount so the fields fill the card. (Best fix: set the form's padding to 0
   in HubSpot's form editor, then delete this block.) */
.form-card { overflow: hidden; }
#hubspot-form .hs-form-frame { margin: 0 -2.5rem; }
#hubspot-form iframe { width: 100% !important; max-width: none !important; }
