/* Contact brief: a wider canvas, clear groups and comfortable writing space. */
[data-page="contact"] .contact-hero{padding:140px 0 100px;background:linear-gradient(130deg,var(--paper),#fbfaf6 72%,#f0f4e8)}
[data-page="contact"] .contact-grid{width:min(1440px,calc(100% - var(--gutter)*2));grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);grid-template-rows:auto 1fr;gap:44px clamp(44px,5vw,80px)}
[data-page="contact"] .contact-grid h1{font-size:clamp(3.5rem,5.6vw,6.1rem);line-height:1.02;letter-spacing:-.045em;margin:30px 0 26px;overflow-wrap:normal}
[data-page="contact"] .contact-grid .lede{font-size:clamp(1.1rem,1.3vw,1.25rem);line-height:1.65;letter-spacing:0;max-width:36ch}
[data-page="contact"] .direct-email{margin-top:20px;font-size:1rem}
[data-page="contact"] .contact-next{display:grid;grid-column:1;grid-row:2;grid-template-columns:1fr;gap:22px;margin-top:0;padding-top:26px}
[data-page="contact"] .contact-next h2{font-size:1.2rem;line-height:1.4;letter-spacing:-.02em;margin:0 0 2px}
[data-page="contact"] .contact-next>div{display:grid;grid-template-columns:24px 1fr;gap:16px;border:0;padding:0}
[data-page="contact"] .contact-next b{color:var(--ink);font:700 12px/1.7 var(--mono)}
[data-page="contact"] .contact-next p{margin:0;max-width:36ch;font-size:1rem;line-height:1.6;color:#525b60;letter-spacing:0}
.contact-form.brief-form{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;gap:0;padding:clamp(32px,3.4vw,56px);border-color:rgba(7,18,30,.24);border-radius:16px;background:#fff}
.contact-form .form-essential-note{display:block;padding:0 0 32px;margin:0;border-bottom:1px solid var(--line)}
.contact-form .form-essential-note strong{font-size:clamp(1.5rem,2vw,1.9rem);line-height:1.25;letter-spacing:-.035em}
.contact-form .form-essential-note p{font-size:1rem;line-height:1.6;color:#525b60;margin:12px 0 10px;letter-spacing:0}
.contact-form .form-essential-note>span{display:block;font:400 13px/1.5 var(--body);letter-spacing:0;text-transform:none;color:#525b60}
.contact-form .form-section{padding:32px 0;border-bottom:1px solid var(--line)}
.form-section-heading{display:flex;gap:14px;align-items:center;margin-bottom:26px}
.form-section-heading>span{font:700 12px/1 var(--mono);letter-spacing:.04em;color:#525b60}
.form-section-heading h2{margin:0;font-size:1.25rem;line-height:1.3;letter-spacing:-.02em}
.form-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.contact-form .form-field{display:flex;flex-direction:column;gap:10px;min-width:0;margin:0;font:500 15px/1.5 var(--body);letter-spacing:0;text-transform:none}
.contact-form .form-field>span:first-child{font-weight:650}
.contact-form .field-hint{font-size:14px;font-weight:400;line-height:1.55;color:#525b60;margin-top:-3px}
.contact-form :is(input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),select,textarea){width:100%;min-width:0;border:1px solid #b9bfbc;border-radius:8px;background:#fbfaf7;padding:16px;font:400 16px/1.5 var(--body);letter-spacing:0;text-transform:none;transition:border-color .18s,background .18s}
.contact-form .form-field :is(input,select){min-height:58px}
.contact-form .form-field textarea{min-height:164px;resize:vertical}
.contact-form :is(input,textarea)::placeholder{color:#737b80;opacity:1;font-weight:400}
.contact-form :is(input,select,textarea):focus-visible{outline:2px solid var(--ink);outline-offset:3px;background:#fff}
.contact-form .form-project-fields{display:grid;gap:30px}
.contact-form .state-choices{display:block;min-width:0;padding:0;border:0;margin:0}
.contact-form .state-choices legend{font:650 15px/1.5 var(--body);letter-spacing:0;text-transform:none;margin-bottom:12px;padding:0}
.state-options{display:flex;flex-wrap:wrap;gap:10px}
.contact-form .state-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-form .state-options label{display:flex;flex:1 1 150px;align-items:center;gap:10px;min-height:58px;padding:13px 14px;border:1px solid #b9bfbc;border-radius:8px;background:#fbfaf7;font:500 14px/1.5 var(--body);cursor:pointer}
.contact-form .state-options label:has(:checked){background:#eff6e2;border-color:var(--ink)}
.contact-form :is(input[type="radio"],input[type="checkbox"]){width:18px;height:18px;min-width:18px;margin:0;padding:0;accent-color:var(--ink)}
.contact-form .state-options label:focus-within{outline:2px solid var(--ink);outline-offset:3px}
.contact-form .optional-brief{margin:0;padding:0;border:0;border-bottom:1px solid var(--line)}
.contact-form .optional-brief summary{min-height:86px;gap:18px;font-size:15px;font-weight:650;line-height:1.5}
.contact-form .optional-brief summary small{display:block;font-size:13px;font-weight:400;color:#525b60;margin-top:3px}
.contact-form .optional-note{font-size:14px;line-height:1.55;color:#525b60;margin:0 0 26px;letter-spacing:0}
.contact-form .optional-fields{padding-bottom:32px}
.contact-form .field-wide{grid-column:1/-1}
.contact-form .form-send{padding-top:28px;display:grid;gap:22px}
.contact-form .consent{font-size:14px!important;font-weight:400;line-height:1.6!important;letter-spacing:0!important;gap:12px!important}
.contact-form .consent>input{margin-top:3px}
.contact-form .form-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.contact-form .form-actions .btn{min-height:58px;padding:17px 24px;gap:32px;font-size:16px}
.contact-form .copy-brief{min-height:48px;background:transparent;border:0;padding:10px 2px;font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.contact-form .contact-note{font-size:13px;font-weight:400;line-height:1.65;color:#525b60;letter-spacing:0}
.contact-form .form-status:empty{display:none}
.contact-form .form-status{margin:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.contact-form [aria-invalid="true"]{border-color:#b42318!important}
.contact-form .state-choices:has([aria-invalid="true"]) .state-options label{border-color:#b42318}
.contact-form .form-success{border:0;border-radius:8px;min-height:420px;padding:32px}
.contact-form .form-success strong{font-size:clamp(2.5rem,4vw,4rem);line-height:1.02;letter-spacing:-.035em;max-width:13ch}
.contact-form .form-success p{letter-spacing:0}
@media(min-width:1101px) and (max-height:820px){[data-page="contact"] .contact-hero{padding-top:116px}[data-page="contact"] .contact-grid h1{font-size:clamp(3.5rem,5.1vw,5.3rem)}}
@media(max-width:1100px){
  [data-page="contact"] .contact-grid{grid-template-columns:1fr;max-width:800px;gap:40px}
  [data-page="contact"] .contact-grid h1{font-size:clamp(3.8rem,7vw,5.5rem);margin-top:24px}
  [data-page="contact"] .contact-grid .lede{max-width:54ch}
  [data-page="contact"] .contact-next{grid-column:1;grid-row:3;margin-top:0;gap:16px}
  .contact-form.brief-form{grid-column:1;grid-row:2}
  [data-page="contact"] .contact-next p{max-width:60ch}
}
@media(max-width:600px){
  [data-page="contact"] .contact-hero{padding:110px 0 64px}
  [data-page="contact"] .contact-grid{width:calc(100% - 40px);gap:32px}
  [data-page="contact"] .contact-grid h1{font-size:clamp(3rem,12vw,4.3rem);line-height:1.04;margin:22px 0}
  [data-page="contact"] .contact-grid .lede{font-size:17px;line-height:1.6}
  [data-page="contact"] .contact-next{display:grid}
  .contact-form.brief-form{padding:26px 22px;border-radius:12px}
  .contact-form .form-essential-note{padding-bottom:26px}
  .contact-form .form-section{padding:28px 0}
  .form-section-heading{margin-bottom:22px}
  .form-field-grid{grid-template-columns:1fr;gap:24px}
  .contact-form .form-project-fields{gap:28px}
  .contact-form .state-options{display:grid;grid-template-columns:1fr}
  .contact-form .state-options label{min-height:54px}
  .contact-form .form-actions{display:grid;gap:8px}
  .contact-form .form-actions .btn{width:100%;gap:18px;padding:16px 18px}
  .contact-form .copy-brief{justify-self:start}
  .contact-form .form-success{min-height:350px;padding:24px 8px}
}
@media(max-width:350px){.contact-form.brief-form{padding:24px 18px}.contact-form .form-essential-note strong{font-size:1.4rem}.contact-form .form-field{font-size:14px}.contact-form .form-actions .btn{padding-inline:14px;gap:12px;font-size:15px}.contact-form [data-submit-label]{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.contact-form :is(input,select,textarea){transition:none}}
