/* A short request form with visible fields and clear focus feedback. */
.contact-view{padding-bottom:72px}
.contact-view .contact-inner{max-width:600px}
.contact-view .contact-intro h1{font-size:22px;line-height:1.3;letter-spacing:-.02em;margin-bottom:14px}
.contact-view .contact-intro p,.contact-view .contact-channels{font-size:16px;line-height:1.55;letter-spacing:0}
.contact-view .contact-intro{grid-template-columns:minmax(0,1fr);gap:24px}
.contact-view .contact-channels{width:100%}
.contact-view .contact-channels .contact-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;width:100%;gap:10px}
.contact-view .contact-channels .contact-button{align-self:stretch;min-width:0;min-height:44px!important;padding:11px 12px;border:1px solid var(--action)!important;border-radius:999px;background:transparent;color:var(--action-ink);font-size:14px;line-height:22px;white-space:nowrap;overflow-wrap:normal;transition:background-color .16s,color .16s,transform .14s!important}
.contact-view .contact-channels .contact-button svg{display:none}
.contact-view .contact-channels .contact-button span{min-width:0}
.contact-view .contact-channels .contact-button .contact-label-short{display:none}
.contact-view .contact-channels .contact-button:first-child{background:var(--action,#0071e3);color:#fff}
.contact-view .contact-channels .contact-button:hover{background:var(--action-soft);color:var(--action-ink);transform:none}
.contact-view .contact-channels .contact-button:first-child:hover{background:var(--action-hover,#0066cc);color:#fff}
.contact-view .contact-channels .contact-button:active{transform:scale(.98)}
.contact-view .contact-switch{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:0;border-radius:12px;background:color-mix(in srgb,var(--fg,#404040) 6%,var(--bg,#f1efec));letter-spacing:0}
.contact-view .contact-switch::before{content:'';position:absolute;z-index:0;inset:4px auto 4px 4px;width:calc((100% - 16px)/3);border-radius:var(--control-radius,9px);background:#fff;pointer-events:none;transform:translateX(0);transition:transform .28s cubic-bezier(.22,1,.36,1)}
.contact-view .contact-switch:has([data-contact=info][aria-selected=true])::before{transform:translateX(calc(100% + 4px))}
.contact-view .contact-switch:has([data-contact=faq][aria-selected=true])::before{transform:translateX(calc(200% + 8px))}
.contact-view .contact-switch button{position:relative;z-index:1;min-width:0;min-height:44px;padding:10px 4px;border:0;border-radius:9px;background:transparent;color:var(--fg,#404040);font-size:13px;line-height:20px;font-weight:500;letter-spacing:0;white-space:nowrap;opacity:1;box-shadow:none;transition:background-color .16s,box-shadow .16s}
.contact-view .contact-switch button[aria-selected=true]{font-weight:500;background:transparent;color:var(--fg,#404040);box-shadow:none}
.contact-view .contact-switch button:focus-visible{outline:2px solid #31584a;outline-offset:2px}
.contact-view .contact-info,.contact-view .contact-faq{font-size:14px;line-height:1.6;letter-spacing:0}
.contact-view .contact-info h2{font-size:14px;line-height:1.6;font-weight:500;letter-spacing:0}
.contact-view .legal-nav{margin-top:24px}
.astox-contact-form{margin-top:24px;font:inherit;letter-spacing:0;--contact-focus:#31584a}
.contact-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:20px}
.contact-field{min-width:0;display:grid;gap:6px}
.astox-contact-form input,.astox-contact-form textarea,.astox-contact-form select{scroll-margin-block:32px 40px}
.contact-field label{font-size:14px;line-height:21px;font-weight:500;transition:color .16s}
.astox-contact-form input:not([type=checkbox]):not([type=hidden]),.astox-contact-form textarea,.astox-contact-form select{appearance:none;-webkit-appearance:none;width:100%;border:1px solid #85857e;border-radius:10px;background:#fff;padding:10px 12px;color:var(--fg,#404040);font:inherit;font-size:16px;line-height:24px;letter-spacing:0;min-height:46px;box-shadow:none;caret-color:var(--contact-focus);-webkit-tap-highlight-color:transparent}
.astox-contact-form textarea{resize:vertical;height:114px;min-height:114px;max-height:360px}
.astox-contact-form input::placeholder,.astox-contact-form textarea::placeholder{color:#64645f;opacity:1}
.astox-contact-form input:not([type=checkbox]):focus,.astox-contact-form textarea:focus,.astox-contact-form select:focus{outline:2px solid var(--contact-focus);outline-offset:2px;border-color:var(--contact-focus);background:#fff;box-shadow:none}
.contact-field:focus-within>label{color:var(--contact-focus)}
/* Autofill keeps the same quiet surface in Safari and Chromium. */
.astox-contact-form input:-webkit-autofill{-webkit-background-clip:padding-box;-webkit-text-fill-color:var(--fg,#404040)}
.contact-select-wrap{position:relative;min-width:0}
.contact-select-wrap::after{content:'';position:absolute;right:16px;top:17px;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);pointer-events:none}
.astox-contact-form select{padding-right:42px;cursor:pointer;text-overflow:ellipsis}
.astox-contact-form select option{color:#404040;background:#f1efec}
.contact-field-note,.contact-submit-note,.contact-preview-note{font-size:14px;line-height:21px;color:var(--fg,#404040);margin:0;letter-spacing:0}
.contact-optional{border-block:1px solid color-mix(in srgb,var(--fg,#404040) 16%,transparent)}
.contact-optional summary{display:flex;align-items:center;min-height:48px;cursor:pointer;list-style:none;font-size:16px;line-height:24px;gap:10px}
.contact-optional summary::-webkit-details-marker{display:none}
.contact-optional-label{font-size:13px;margin-left:auto;color:#62625e}
.contact-optional-mark{position:relative;width:12px;height:12px;flex:none;margin-left:8px;font-size:0}
.contact-optional-mark::before,.contact-optional-mark::after{content:'';position:absolute;left:0;top:5.5px;width:12px;height:1px;background:currentColor}
.contact-optional-mark::after{transform:rotate(90deg);transition:transform .2s}
.contact-optional[open] .contact-optional-mark::after{transform:rotate(0)}
.contact-extra-fields{display:grid;gap:18px;padding:12px 0 18px}
.contact-extra-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.astox-contact-form a{text-decoration:underline!important;text-underline-offset:3px;border-bottom:0!important;box-shadow:none!important;font-weight:600}
.astox-contact-form a:hover{text-decoration-thickness:2px!important}
.contact-submit-row{display:flex;align-items:center;gap:20px;margin-top:0}
.contact-submit{display:inline-flex;justify-content:center;align-items:center;min-height:46px;border-radius:13px;border:0;background:var(--fg,#404040);color:var(--bg,#f1efec);padding:11px 20px;font:inherit;font-size:16px;line-height:24px;cursor:pointer;transition:transform .2s,background .2s}
@media(hover:hover) and (pointer:fine){.contact-submit:hover{background:#292b28;transform:translateY(-1px)}}
.contact-submit:active{transform:scale(.985)}
.contact-submit:focus-visible,.contact-optional summary:focus-visible{outline:2px solid var(--contact-focus);outline-offset:5px}
.contact-submit:disabled{opacity:.65;cursor:default;transform:none}
.contact-send-status{margin-top:24px;font-size:16px;line-height:24px;letter-spacing:0}
.contact-send-status[hidden],.contact-field-error[hidden]{display:none}
.contact-send-status:focus{outline:0}
.contact-field-error{margin:0;color:#963f2b;font-size:14px;line-height:21px;letter-spacing:0}
.contact-field:has([aria-invalid=true])>label{color:#963f2b}
.astox-contact-form [aria-invalid=true]{border-color:#963f2b!important}
.contact-preview-note{margin-top:18px}
.contact-privacy-note{margin:0;font-size:14px;line-height:22px;letter-spacing:0;color:#575750}
.contact-privacy-note a{display:inline;padding-block:2px;color:var(--fg,#404040);font-weight:600}
.contact-package-details{margin-top:12px;border-top:1px solid var(--line)}
.contact-package-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:10px 0;font-size:14px;line-height:22px;cursor:pointer;list-style:none}
.contact-package-details>summary::-webkit-details-marker{display:none}
.contact-package-details>summary::after{content:'';width:8px;height:8px;margin:0 4px 4px 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex:none}
.contact-package-details[open]>summary::after{transform:rotate(225deg);margin-top:7px}
.contact-package-details>p{margin:0 0 12px}
.contact-package-details>summary:focus-visible{outline:2px solid var(--contact-focus);outline-offset:3px}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){
 .contact-view{padding:28px 24px 32px}
 .contact-view .contact-intro{gap:20px}
 .contact-view .contact-intro h1{font-size:22px;margin-bottom:12px}
 .contact-view .contact-switch{margin-top:24px}
 .astox-contact-form{margin-top:20px}
 .contact-submit-row{align-items:flex-start;flex-direction:column;gap:8px}
 .contact-submit{width:100%}
 .contact-submit-note br{display:none}
 .contact-view .legal-nav{font-size:13px;line-height:20px;gap:8px 20px;flex-wrap:wrap}
 .contact-view .legal-nav a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:540px){.contact-extra-pair{grid-template-columns:1fr}}
@media(max-width:380px){.contact-optional summary{font-size:15px}}
@media(prefers-reduced-motion:reduce){.astox-contact-form *{transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.astox-contact-form input:not([type=hidden]):focus-visible,.astox-contact-form textarea:focus,.astox-contact-form select:focus-visible{outline:2px solid Highlight;outline-offset:2px;background:Canvas}.contact-field:focus-within>label{color:Highlight}}

@media(max-width:900px){
 .contact-view .contact-channels .contact-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contact-view .contact-channels .contact-button[href^="tel:"]{display:none!important}
 .contact-view .contact-channels .contact-button:first-child{background:transparent;color:var(--action-ink)}
 .contact-view .contact-channels .contact-button:first-child:hover{background:var(--action-soft);color:var(--action-ink)}
}

@media(max-width:600px){
 .contact-view .contact-channels .contact-buttons{gap:8px}
 .contact-view .contact-channels .contact-button{padding:11px 6px;font-size:13px;line-height:22px}
 .contact-view .contact-channels .contact-button .contact-label-wide{display:none}
 .contact-view .contact-channels .contact-button .contact-label-short{display:inline}
}

@media(prefers-reduced-motion:reduce){
 .contact-view .contact-channels .contact-button{transition:none!important}
 .contact-view .contact-channels .contact-button:active{transform:none}
}
