.contact-dialog-open{overflow:hidden}
.contact-launch{border-top:1px solid var(--line);background:var(--paper-alt);display:flex;align-items:center;justify-content:space-between;gap:35px;position:relative}
.contact-launch h2{font-size:clamp(32px,3.2vw,48px);margin:15px 0}
.contact-launch p{max-width:620px;color:var(--muted);font-size:14px;line-height:1.8}
.contact-launch-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;flex-shrink:0}
.contact-launch-alias{position:absolute;top:0}
.contact-dialog{width:min(960px,calc(100% - 36px));max-width:none;max-height:90dvh;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 28px 80px #0003;overflow:hidden}
.contact-dialog[open]{display:flex;flex-direction:column}
.contact-dialog::backdrop{background:#103f46b8;backdrop-filter:blur(4px)}
.contact-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 30px;border-bottom:1px solid var(--line);flex-shrink:0}
.contact-panel-header .eyebrow{font-size:9px;color:var(--muted)}
.contact-panel-header h2{font-size:31px;line-height:1.2;margin-top:8px}
.contact-panel-close{width:44px;height:44px;flex-shrink:0;font-size:29px;line-height:1;background:transparent;border:1px solid var(--line)}
.contact-panel-close:hover{background:var(--accent-soft)}
.contact-panel-content{overflow-y:auto;overscroll-behavior:contain;padding:24px 30px 30px;min-height:0}
.contact-purpose{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-purpose button{min-height:48px;padding:12px;border:1px solid var(--line);background:transparent;font-size:13px}
.contact-purpose button[aria-pressed="true"]{background:#103f46;color:#fff8ef;border-color:#103f46}
.contact-context{font-size:13px;line-height:1.7;color:var(--muted);margin:16px 0}
.contact-progress{list-style:none;display:flex;gap:20px;margin:0 0 24px;padding:0;border-bottom:1px solid var(--line)}
.contact-progress li{font:10px/1.5 var(--mono);padding:12px 0;color:var(--muted);border-bottom:2px solid transparent}
.contact-progress li[aria-current="step"]{color:#b83d2e;border-bottom-color:#b83d2e}
.contact-dialog h3{font-size:25px;line-height:1.25;margin:22px 0 17px}
.contact-dialog h4{font:500 14px/1.4 var(--sans);margin:0}
.contact-dialog fieldset{padding:0;border:0;margin:0;min-width:0}
.contact-dialog legend{font-size:12px;margin-bottom:10px}
.contact-field{display:grid;gap:8px;font-size:12px;line-height:1.6;min-width:0}
.contact-field input,.contact-field select,.contact-field textarea{font:14px/1.6 var(--sans);width:100%;min-width:0;max-width:100%;min-height:46px;padding:11px 12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:0}
.contact-field textarea{resize:vertical}
.contact-field small{font-size:11px;line-height:1.7;color:var(--muted)}
.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:19px 22px}
.contact-wide{grid-column:1/-1}
.contact-visit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px!important}
.contact-visit legend{grid-column:1/-1}
.contact-visit label{display:flex;align-items:flex-start;gap:9px;padding:13px 10px;border:1px solid var(--line);font-size:13px;cursor:pointer;min-width:0}
.contact-visit label:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}
.contact-visit input{margin:4px 0 0;accent-color:#b83d2e}
.contact-visit small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:4px}
.contact-date-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;margin-top:25px}
.contact-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.contact-calendar-heading h4{text-transform:capitalize}
.contact-calendar-heading>div{display:flex;gap:7px}
.contact-calendar-heading button{width:38px;height:38px;background:transparent;border:1px solid var(--line)}
.contact-calendar-heading button:disabled{opacity:.35;cursor:default}
.contact-weekdays,.contact-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.contact-weekdays{font:9px var(--mono);color:var(--muted);margin-bottom:10px}
.contact-days>button{background:transparent;min-width:0;min-height:40px;padding:8px 2px;font-size:12px;border:1px solid transparent}
.contact-days>button[aria-current="date"]{border-color:var(--line)}
.contact-days>button:hover:not(:disabled),.contact-time-grid>button:hover:not(:disabled){background:var(--accent-soft)}
.contact-days>button:disabled{color:var(--muted);opacity:.35;cursor:default}
.contact-days>button[aria-pressed="true"],.contact-time-grid>button[aria-pressed="true"]{background:#b83d2e;color:#fff8ef;border-color:#b83d2e}
.contact-times>p{font-size:11px;color:var(--muted);line-height:1.7;margin:7px 0 14px}
.contact-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:18px}
.contact-time-grid>button{min-height:42px;padding:9px 3px;background:transparent;border:1px solid var(--line);font-size:11px}
.contact-time-grid>button:disabled{opacity:.35;cursor:default}
.contact-availability{background:var(--paper-alt);padding:15px;font-size:12px!important;line-height:1.8!important;color:var(--muted);margin:20px 0!important}
.contact-selection{font-size:12px;line-height:1.8;color:var(--ink);padding:15px 0;border-top:1px solid var(--line);margin-top:23px}
.contact-price-note{display:flex;align-items:center;gap:20px;padding:15px;border:1px solid var(--line);margin:8px 0 22px}
.contact-price-note strong{font-family:var(--serif);font-size:30px;line-height:1.2;white-space:nowrap;font-weight:400}
.contact-price-note span{font-size:11px;line-height:1.8;color:var(--muted)}
.contact-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;margin:22px 0 8px}
.contact-actions>.button{gap:20px;justify-content:center}
.contact-dialog .button.primary{background:#b83d2e;color:#fff8ef;border:1px solid #b83d2e}
.contact-dialog button:disabled{cursor:default}
.contact-dialog .button:disabled{opacity:.45}
.contact-help{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0 20px}
.contact-extra{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:15px 0}
.contact-extra summary{font-size:12px;cursor:pointer}
.contact-extra .contact-fields{margin-top:18px}
.contact-acknowledgement{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.8;margin-top:22px;cursor:pointer}
.contact-acknowledgement input{flex-shrink:0;width:18px;height:18px;margin:3px 0 0;accent-color:#b83d2e}
.contact-error{font-size:12px;line-height:1.7;color:#9a2c20;background:#f8ded3;padding:13px;margin-top:20px}
.contact-review{margin:20px 0;padding:0}
.contact-review>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px;padding:12px 0;border-bottom:1px solid var(--line)}
.contact-review dt{font-size:11px;color:var(--muted)}
.contact-review dd{font-size:13px;line-height:1.7;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.contact-request-text{width:100%;min-height:130px;border:1px solid var(--line);padding:13px;font:12px/1.8 var(--sans);color:var(--ink);background:var(--paper);resize:vertical}
@media(max-width:700px){.contact-launch{display:block}.contact-launch-actions{margin-top:25px}.contact-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.contact-panel-header{padding:18px;gap:12px}.contact-panel-header h2{font-size:25px}.contact-panel-header .eyebrow{font-size:7px}.contact-panel-content{padding:18px}.contact-purpose{gap:8px}.contact-purpose button{font-size:12px;line-height:1.5;padding:10px 7px}.contact-progress{gap:15px}.contact-progress li{font-size:8px}.contact-dialog h3{font-size:24px}.contact-visit{grid-template-columns:1fr}.contact-visit label{align-items:center;padding:12px;font-size:14px}.contact-visit small{font-size:10px;display:inline;margin-left:7px}.contact-visit input{margin-top:0}.contact-date-layout{grid-template-columns:1fr;gap:24px}.contact-days>button{min-height:44px}.contact-time-grid>button{font-size:12px;min-height:44px}.contact-fields{grid-template-columns:1fr;gap:18px}.contact-wide{grid-column:auto}.contact-field input,.contact-field textarea,.contact-field select{font-size:16px}.contact-field{font-size:12px}.contact-review>div{grid-template-columns:1fr;gap:4px}.contact-actions{gap:18px}.contact-actions>.button{width:100%;min-height:48px;font-size:12px}.contact-price-note{gap:15px;align-items:flex-start}.contact-price-note strong{font-size:28px}.contact-price-note span{font-size:10px}}

.contact-packages{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0!important}.contact-packages label{display:flex;gap:10px;border:1px solid var(--line);padding:16px;cursor:pointer;min-width:0}.contact-packages label:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}.contact-packages input{flex-shrink:0;margin-top:4px;accent-color:#b83d2e}.contact-packages strong{font-size:14px;line-height:1.6;display:block}.contact-packages small{display:block;font-size:12px;line-height:1.8;color:var(--muted);margin-top:8px}@media(max-width:700px){.contact-packages{grid-template-columns:1fr}.contact-price-note{align-items:flex-start;flex-direction:column;gap:10px}}

.footer-contacts{display:flex;flex-wrap:wrap;gap:10px 22px;width:100%;font-size:12px;line-height:1.8}.footer-contacts a{overflow-wrap:anywhere}.contact-assignee{padding:20px;border:1px solid var(--accent);background:var(--accent-soft);margin:20px 0}.contact-assignee strong{display:block;font-size:22px;margin:8px 0}.contact-assignee p{font-size:13px;line-height:1.8}.contact-save-error{color:#9a2c20}.contact-dialog [hidden]{display:none!important}

.contact-bot-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

.contact-preference-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.contact-preference-tabs button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:15px;text-align:left;cursor:pointer;min-width:0}.contact-preference-tabs button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.contact-preference-tabs strong{display:block;font-size:12px;line-height:1.6}.contact-preference-tabs span{display:block;font-size:11px;line-height:1.7;margin-top:8px}.contact-preference-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact-times .contact-time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#contact-clear-preference{margin-bottom:18px}@media(max-width:700px){.contact-preference-tabs{grid-template-columns:1fr}.contact-preference-tabs button{padding:12px}.contact-preference-tabs span{margin-top:4px}}
