.contact-block{background:linear-gradient(180deg,#F8F0E5 0,#FFFDF9 100%)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:34px;align-items:start}
.contact-workspace{min-width:0;background:#FFFDFA;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 18px 50px rgba(63,10,31,.09)}
.contact-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}
.contact-heading .title{margin:12px 0 0;font-size:32px;overflow-wrap:anywhere}
.contact-step{flex:0 0 auto;background:#F3E4C4;color:#6E163A;border-radius:999px;padding:7px 12px;font:600 12px 'Poppins',sans-serif;letter-spacing:.4px}
.intake-form{display:grid;gap:30px}
.intake-section{border:0;padding:0;min-width:0}
.intake-section legend{width:100%;padding:0 0 13px;border-bottom:1px solid var(--line);font:700 17px 'Poppins',sans-serif;color:var(--ink);margin-bottom:17px}
.need-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.need-card{position:relative;display:block;cursor:pointer}
.need-card input{position:absolute;opacity:0;pointer-events:none}
.need-card span{display:block;height:100%;min-height:88px;border:1.4px solid var(--line);border-radius:11px;padding:14px 15px;background:#FFF;transition:border-color .15s,background .15s,box-shadow .15s}
.need-card b{display:block;color:var(--ink);font:700 14.5px 'Poppins',sans-serif;margin-bottom:4px}
.need-card small{display:block;color:var(--muted);font-size:12.5px;line-height:1.4}
.need-card:hover span{border-color:var(--gold);background:#FFFAF1}
.need-card input:checked+span{border-color:var(--wine-3);background:#F9E8EC;box-shadow:inset 4px 0 0 var(--rose)}
.need-card input:focus-visible+span{outline:3px solid var(--rose);outline-offset:3px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.form-grid .full{grid-column:1/-1}
.intake-form label:not(.need-card){display:block;margin-bottom:6px;color:var(--ink);font-size:13px;font-weight:700}
.optional{color:var(--muted);font-weight:500}
.intake-form input,.intake-form select,.intake-form textarea{width:100%;border:1.4px solid #DCC8BE;border-radius:9px;background:#FFF;padding:12px 13px;color:var(--ink);font:inherit;font-size:15px}
.intake-form input:focus,.intake-form select:focus,.intake-form textarea:focus{outline:3px solid rgba(192,50,92,.18);border-color:var(--rose)}
.intake-form [aria-invalid="true"]{border-color:#A8214A;box-shadow:0 0 0 3px rgba(168,33,74,.12)}
.intake-form textarea{min-height:145px;resize:vertical}
.field-meta{display:flex;justify-content:space-between;gap:14px;margin-top:7px;color:var(--muted);font-size:11.5px;line-height:1.4}
.field-error{color:#8B1236;font-size:13px;font-weight:600;margin-top:8px;min-height:1.3em}
.location-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:11.5px}
.location-button{border:1px solid #B98758;border-radius:999px;background:#FFF9EE;color:#6E163A;padding:7px 11px;font:600 12px 'Poppins',sans-serif;cursor:pointer}
.location-button:hover{background:#F5E8CF}.location-button:focus-visible{outline:3px solid var(--rose);outline-offset:2px}.location-button:disabled{cursor:wait;opacity:.65}
.field-status{display:block;min-height:1.3em;margin-top:6px;color:var(--muted);font-size:11.5px;line-height:1.4}
.intake-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap}
.intake-actions .btn{border:0;cursor:pointer}
.copy-brief{border:1px solid #B98758;border-radius:999px;background:#FFF;color:#6E163A;padding:11px 17px;font:600 13px 'Poppins',sans-serif;cursor:pointer}
.copy-brief:hover{background:#FFF9EE}.copy-brief:focus-visible{outline:3px solid var(--rose);outline-offset:2px}
.intake-actions p{font-size:13px;color:var(--muted)}
.privacy-note{margin-top:22px;padding:14px 16px;border-radius:10px;background:#F5EBDD;color:#654B58;font-size:13px;line-height:1.5}
.contact-aside{display:grid;gap:18px;position:sticky;top:100px}
.response-card{position:relative;overflow:hidden;background:linear-gradient(155deg,var(--wine),var(--wine-deep));border:1px solid var(--line-wine);border-radius:17px;padding:28px;color:#E7CFDA;box-shadow:0 18px 45px rgba(63,10,31,.18)}
.response-card .response-mark{position:absolute;right:-13px;top:-25px;color:rgba(231,206,151,.09);font:800 112px 'Poppins',sans-serif;letter-spacing:-8px}
.response-card .eyebrow{position:relative;color:var(--gold-2);margin-bottom:15px}
.response-card h2{position:relative;color:#FFF4E8;font-size:27px;margin-bottom:12px}
.response-card>p:not(.eyebrow){position:relative;font-size:14.5px;line-height:1.6;color:#E2C4D0}
.response-card dl{position:relative;margin-top:24px;border-top:1px solid rgba(231,206,151,.25)}
.response-card dl div{padding:13px 0;border-bottom:1px solid rgba(231,206,151,.18)}
.response-card dt{color:#CDA9BA;font-size:11px;text-transform:uppercase;letter-spacing:1.2px}
.response-card dd{margin:3px 0 0;color:#FFF1D3;font-weight:600;overflow-wrap:anywhere}
.response-card a{color:#FFF1D3;text-decoration:underline;text-underline-offset:3px}
.ready-list{background:#FFF;border:1px solid var(--line);border-radius:14px;padding:22px}
.ready-list h3{font-size:16px;margin-bottom:14px}
.ready-list ul.checks li{font-size:14px;margin-bottom:9px;padding-left:27px}
.ready-list ul.checks li::before{width:13px;height:7px;top:6px}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-aside{position:static;grid-template-columns:1fr 1fr}.response-card{grid-row:span 2}}
@media(max-width:640px){
  .contact-page .page-hero{padding:43px 0 45px}
  .contact-page .page-hero h1{font-size:34px;margin-top:11px}
  .contact-page .page-hero p{font-size:16.5px;line-height:1.55}
  .contact-block{padding-top:34px;padding-bottom:48px}
  .contact-block>.wrap{padding-left:14px;padding-right:14px}
  .contact-layout{gap:22px}
  .contact-workspace{padding:22px 16px;border-radius:12px;box-shadow:0 8px 24px rgba(63,10,31,.06)}
  .contact-heading{display:block;margin-bottom:22px}
  .contact-heading .title{font-size:27px;margin-top:9px}
  .contact-step{display:none}
  .intake-form{gap:24px}
  .intake-section legend{font-size:16px;margin-bottom:12px;padding-bottom:10px}
  .need-grid{grid-template-columns:1fr;gap:7px}
  .need-card span{min-height:0;padding:11px 12px}
  .need-card b{font-size:14px;margin:0}
  .need-card small{margin-top:3px;font-size:12px}
  .form-grid,.contact-aside{grid-template-columns:1fr}
  .field-meta{display:block}
  .field-meta span{display:block;margin-bottom:4px}
  .intake-actions .btn{width:100%;justify-content:center}
  .copy-brief{width:100%}
  .privacy-note{margin-top:17px}
  .response-card{grid-row:auto;padding:24px 21px}
}
