/* Shared source-level accessibility rules. No accessibility overlay. */
.skip-link{position:fixed;top:12px;left:12px;z-index:200;background:var(--bg);color:var(--ink);padding:14px 20px;border:2px solid currentColor;transform:translateY(-200%);text-decoration:underline}
.skip-link:focus{transform:none}
html{scroll-padding-bottom:100px}
body{padding-bottom:90px}
body{overflow-wrap:anywhere}
.button{max-width:100%;white-space:normal}
:focus-visible{outline:3px solid var(--ink)!important;outline-offset:4px!important}
.work-section :focus-visible,.photographic-hero :focus-visible{outline-color:#fff!important}
a,button,summary,input,select,textarea{scroll-margin-block:100px}
button,summary,select,.button{min-height:44px}
#theme,#menu,.chat-head button{min-width:44px;min-height:44px}
main a:not(.button):not(.plain-link):not(.text-link){text-decoration:underline;text-underline-offset:3px}
input,textarea,select{border-color:#73796b!important}
.dark input,.dark textarea,.dark select{border-color:#9ba58f!important}
.dark #crm-error{color:#ffb5ac}
.start-panel p,.start-panel .recommendation p{color:#424638}
.start-panel :focus-visible{outline-color:#171916!important}
.start-panel .need-options button{color:#171916;border-color:#73796b}
.start-panel .need-options button.active{background:#171916;color:#f5f4ee}
.start-panel .button{background:#171916;color:#f5f4ee;border-color:#171916}
.start-panel h2,.start-panel h3,.start-panel .eyebrow{color:#171916}
.field-error{display:block;color:#8c211a;font-size:14px;line-height:1.5;margin-top:8px}
.dark .field-error{color:#ffb5ac}
.error-summary{padding:16px;border:2px solid #8c211a;background:var(--bg);margin:16px 0}
.error-summary h2{font-size:22px;margin:0 0 12px}
.error-summary a{text-decoration:underline}
.error-summary li{margin-block:8px}
.error-summary a{display:inline-block;min-height:24px;padding-block:4px}
.dark .callout p{color:#424638}
.closing-wordmark{color:#747967}
.dark .closing-wordmark{color:#aab49b}
.chat-panel{max-height:calc(100dvh - 100px)}
.chat-log{min-height:50px}
.chat-panel{overflow:auto}
body:has(.chat-panel:not([hidden]))::after{content:'';position:fixed;inset:0;background:rgb(0 0 0 / .35);z-index:80;pointer-events:none}
@media(max-height:450px){
 .chat-panel{inset:8px;width:auto;max-width:none;height:auto;max-height:none}
 .chat-head{padding:10px}
 .chat-head small{display:none}
 .chat-log{padding:10px;min-height:24px}
 .chat-launcher[aria-expanded="true"]{visibility:hidden}
}
.chat-head,.chat-compose{flex-shrink:0}
.chat-notice{overflow:auto;min-height:0}
.chat-status{flex-shrink:0;max-height:min(100px,15dvh)}
.consent-line{display:grid!important;grid-template-columns:24px minmax(0,1fr);align-items:start}
.consent-line input{grid-column:1;grid-row:1}
.consent-line>span:not(.field-error){grid-column:2;grid-row:1}
.consent-line .field-error{grid-column:2;grid-row:2}
.chat-status{max-height:100px;overflow:auto}
#lead-list,#lead-detail,.admin-messages{scroll-padding:12px}
.card h2{font-size:28px;line-height:1.2;letter-spacing:-.035em}
@media(max-width:700px){header{flex-wrap:wrap}nav.open{position:static;order:4;flex-basis:100%;width:100%;border-bottom:0}.tools{margin-left:auto}}
.session-dialog{max-width:calc(100vw - 32px);width:480px;background:var(--bg);color:var(--ink);padding:28px;border:2px solid var(--ink)}
.session-dialog::backdrop{background:#0009}
.session-dialog h2{font-size:28px;margin-bottom:18px}
.session-dialog button{margin:8px 8px 0 0}
@media(max-width:400px){header{flex-wrap:wrap;gap:8px}.tools{margin-left:auto}.page-title h1{font-size:36px}.crm-toolbar{flex-wrap:wrap}.chat-panel{right:8px;bottom:78px;max-width:calc(100vw - 16px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reading-progress{display:none}}
@media(forced-colors:active){.site-logo{filter:none}.hero-overlay{background:Canvas}.photographic-hero{color:CanvasText}.hero-summary p,.hero-signoff,.hero-intro{color:CanvasText}.button,.chat-panel,.chat-launcher{border:2px solid ButtonText}.skip-link{border-color:LinkText}}
@media(forced-colors:active){
 *,*::before,*::after{color:CanvasText!important;background-color:Canvas!important;border-color:CanvasText!important}
 a,a *{color:LinkText!important}
 button,button *,.button{color:ButtonText!important;background-color:ButtonFace!important}
 input,textarea,select{color:FieldText!important;background-color:Field!important}
 :focus-visible{outline-color:Highlight!important}
 body :focus-visible,body #main :focus-visible,body #main:focus-visible{outline-color:Highlight!important}
 .site-logo{visibility:hidden}
 .logo-window::after{content:'AI Jeffe';position:absolute;inset:0;display:flex;align-items:center;font-size:24px;font-weight:700;color:CanvasText!important}
}
