/* Shared public appearance tokens. Existing light styles retain their exact colors. */
:root{
 color-scheme:light;
 --theme-bg:#f8f7f4;--theme-surface:#fff;--theme-text:#101d30;--theme-secondary:#555e69;
 --theme-border:#deded7;--theme-control-border:#8d8f93;--theme-link:#245f61;--theme-link-hover:#174a4c;
 --theme-action:#101d30;--theme-action-text:#fff;--theme-action-hover:#243850;
 --theme-focus:#245f61;--theme-selected:#101d30;--theme-selected-text:#fff;
 --theme-selection:#e9c5c5;--theme-selection-text:#111;--theme-error:#9b2024;--theme-error-surface:#fff4f4;
 --theme-brass:#765c30;--theme-soft:#eeeee8;--theme-placeholder:#555e69;
 --theme-header:#101d30;--theme-header-text:#fff;--theme-header-border:#324050;
 --theme-menu:#fff;--theme-menu-text:#101d30;--theme-menu-selected:#101d30;--theme-menu-selected-text:#fff;
}
.appearance-control{position:relative;font:400 14px/1.5 var(--sans);}
.appearance-control>summary{cursor:pointer;min-height:44px;padding:10px;display:flex;gap:7px;align-items:center;list-style:none;white-space:nowrap;border-radius:2px;}
.appearance-control>summary::-webkit-details-marker{display:none;}
.appearance-control>summary::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px;}
.appearance-control[open]>summary::after{transform:rotate(225deg);margin-top:3px;}
.appearance-control fieldset{position:absolute;right:0;top:100%;width:230px;padding:8px;margin:4px 0 0;border:1px solid var(--theme-control-border);border-radius:3px;background:var(--theme-menu);color:var(--theme-menu-text);box-shadow:0 8px 24px #0003;}
.appearance-control label{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 10px;font-size:16px;cursor:pointer;border-radius:2px;}
.appearance-control label:has(:checked){background:var(--theme-menu-selected);color:var(--theme-menu-selected-text);}
.appearance-control input{width:18px;height:18px;margin:0;accent-color:currentColor;flex-shrink:0;}
.appearance-control label:has(:focus-visible){outline:3px solid var(--theme-focus);outline-offset:1px;}
.appearance-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
/* The additional header control needs the mobile navigation below this width. */
@media(max-width:1280px){
 :root{--header:80px;}
 .header-inner{min-height:80px;gap:14px;}
 .mobile-actions{display:flex;gap:2px;margin-left:auto;}
 .menu-toggle{display:inline-flex;align-items:center;justify-content:center;color:#fff;width:44px;height:44px;padding:0;flex-shrink:0;}
 .primary-navigation{position:absolute;top:100%;left:0;right:0;background:var(--theme-menu);color:var(--theme-menu-text);border-bottom:1px solid var(--theme-control-border);max-height:calc(100dvh - var(--header));overflow:auto;}
 .primary-navigation:not(.is-open){display:none;}
 .primary-navigation ul{display:block;padding:12px 24px;}
 .primary-navigation a{padding:14px 20px;font-size:16px;text-align:center;white-space:normal;}
 .primary-navigation a[aria-current=page]{background:var(--theme-menu-selected);color:var(--theme-menu-selected-text);}
 .primary-navigation .nav-cta{border:0;margin:0;padding:12px 0;}
 .primary-navigation .button-nav{color:var(--theme-menu-text);border-color:var(--theme-menu-text);width:100%;font-size:16px;}
 .site-header .primary-navigation :focus-visible{outline-color:var(--theme-focus);}
 .appearance-control{font-size:16px;}
 .appearance-control>summary{justify-content:center;min-height:50px;}
 .appearance-control fieldset{position:static;width:100%;margin:0 0 8px;box-shadow:none;}
}
@media screen{
 :root[data-theme=dark]{
  color-scheme:dark;
  --theme-bg:#101923;--theme-surface:#192633;--theme-text:#f3f0e9;--theme-secondary:#bdc8d2;
  --theme-border:#425563;--theme-control-border:#788b9c;--theme-link:#84d8ce;--theme-link-hover:#b8f0e9;
  --theme-action:#84d8ce;--theme-action-text:#101923;--theme-action-hover:#b8f0e9;
  --theme-focus:#84d8ce;--theme-selected:#84d8ce;--theme-selected-text:#101923;
  --theme-selection:#32576a;--theme-selection-text:#f3f0e9;--theme-error:#ffb4b4;--theme-error-surface:#34272e;
  --theme-brass:#d5b983;--theme-soft:#203240;--theme-placeholder:#bdc8d2;
  --theme-header:#101d30;--theme-header-text:#f3f0e9;--theme-header-border:#425563;
  --theme-menu:#192633;--theme-menu-text:#f3f0e9;--theme-menu-selected:#84d8ce;--theme-menu-selected-text:#101923;
  /* Existing semantic aliases keep detail pages and shared typography consistent. */
  --ink:var(--theme-text);--muted:var(--theme-secondary);--paper:var(--theme-bg);--white:var(--theme-surface);
  --line:var(--theme-border);--accent:var(--theme-brass);--accent-dark:var(--theme-action-hover);--gold:var(--theme-brass);--soft:var(--theme-soft);
 }
 html[data-theme=dark] ::selection{background:var(--theme-selection);color:var(--theme-selection-text);}
 html[data-theme=dark] :is(a,button,input,select,textarea,summary):focus-visible{outline-color:var(--theme-focus);}
 html[data-theme=dark] main a{color:var(--theme-link);}
 html[data-theme=dark] .site-header{border-color:var(--theme-header-border);}
 html[data-theme=dark] .primary-navigation a[aria-current=page]{background:var(--theme-selected);color:var(--theme-selected-text);}
 html[data-theme=dark] .appearance-control label:has(:checked) input{accent-color:#101923;}
 html[data-theme=dark] :is(.home-team,.practice-shortcuts,.resource-card,.contact-card,.experience-panel,.cookie-panel,dialog,.hero-trust-card,.client-path,.error-docket){background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border);}
 html[data-theme=dark] :is(.hero-intro,.hero-note,#form .intake-notice,.footer-bottom,.footer-facebook){color:var(--theme-secondary);}
 html[data-theme=dark] .hero-copy h1 em{color:var(--theme-brass);}
 html[data-theme=dark] .hero-attorneys{background:#192633;}
 html[data-theme=dark] .footer-bottom{background:var(--theme-surface);}
 html[data-theme=dark] :is(.related-links a,.bio-feature,.recognition){border-color:var(--theme-border);}
 html[data-theme=dark] .error-docket{box-shadow:10px 10px 0 var(--theme-soft);}
 html[data-theme=dark] .button-primary,html[data-theme=dark] #contact-confirmation button{background:var(--theme-action);color:var(--theme-action-text);}
 html[data-theme=dark] .button-outline{border-color:var(--theme-control-border);color:var(--theme-text);}
 html[data-theme=dark] .final-cta .button-primary{background:var(--theme-brass);color:#101923;}
 html[data-theme=dark] .service-aside .button-primary{color:var(--theme-action-text);}
 html[data-theme=dark] main :is(input:not([type=checkbox]):not([type=radio]),textarea,select),html[data-theme=dark] #form :is(input,textarea,select){background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-control-border);caret-color:var(--theme-text);}
 html[data-theme=dark] :is(input,textarea)::placeholder{color:var(--theme-placeholder);opacity:1;}
 html[data-theme=dark] :is(input,textarea):autofill{box-shadow:0 0 0 1000px var(--theme-surface) inset;-webkit-text-fill-color:var(--theme-text);caret-color:var(--theme-text);}
 html[data-theme=dark] :is(input[type=checkbox],input[type=radio]){accent-color:var(--theme-link);}
 html[data-theme=dark] :is(.intake-status,#flow-status,.cp-field-error){color:var(--theme-error);}
 html[data-theme=dark] :is(.intake-status,#flow-status)[data-state=pending]{color:var(--theme-secondary);}
 html[data-theme=dark] .contact-page #cp-status:not(:empty){border-color:var(--theme-error);}
 html[data-theme=dark] .contact-page #cp-status[data-state=pending]{border-color:var(--theme-control-border);}
 html[data-theme=dark] :is(#intake-title img,.recognition-artwork,.profile-grid .recognition-artwork){background:#f3f0e9;border-color:#f3f0e9;border-radius:3px;}
 html[data-theme=dark] #intake-title img{padding:3px;box-sizing:content-box;}
 html[data-theme=dark] .practice-areas-page{--pa-teal:var(--theme-link);}
 html[data-theme=dark] .practice-areas-page .pa-card{background:var(--theme-surface);}
 html[data-theme=dark] .attorneys-page{--at-teal:var(--theme-link);}
 html[data-theme=dark] .attorneys-page .at-card{background:var(--theme-surface);}
 html[data-theme=dark] .resources-page{--rp-teal:var(--theme-link);}
 html[data-theme=dark] .resources-page :is(.rp-categories [aria-pressed=true],.rp-page-current){background:var(--theme-selected);color:var(--theme-selected-text);border-color:var(--theme-selected);}
 html[data-theme=dark] .resources-page .rp-topics label:has(:checked){border-color:var(--theme-link);background:var(--theme-soft);}
 html[data-theme=dark] .contact-page a:not(.cp-number){color:var(--theme-link);}
 html[data-theme=dark] .contact-page .cp-faq .faq-list details{background:var(--theme-surface);}
 html[data-theme=dark] .new-homepage{--nh-navy:var(--theme-text);--nh-teal:var(--theme-link);--nh-copy:var(--theme-secondary);--nh-line:var(--theme-border);--nh-ivory:var(--theme-bg);--nh-brass:var(--theme-brass);background:var(--theme-bg);}
 html[data-theme=dark] .new-homepage :is(.nh-hero,.nh-faq){background:var(--theme-bg);border-color:var(--theme-border);}
 html[data-theme=dark] .new-homepage :is(.nh-path,#home-intake){background:var(--theme-surface);border-color:var(--theme-border);}
 html[data-theme=dark] .new-homepage .nh-eyebrow{color:var(--theme-secondary);}
 html[data-theme=dark] .new-homepage :is(.nh-path-icon,.nh-step){background:var(--theme-soft);color:var(--theme-link);border-color:var(--theme-border);}
 html[data-theme=dark] .new-homepage .nh-primary{background:var(--theme-action);color:var(--theme-action-text);border-color:var(--theme-action);}
 html[data-theme=dark] .new-homepage .nh-outline{color:var(--theme-text);border-color:var(--theme-control-border);}
 html[data-theme=dark] .new-homepage #home-intake label>span{color:var(--theme-error);}
 html[data-theme=dark] :is(main,#form) [aria-invalid=true]{border-color:var(--theme-error);}
 html[data-theme=dark] .contact-page #cp-status[data-state=error]{background:var(--theme-error-surface);}
}
@media screen and (hover:hover) and (pointer:fine){
 html[data-theme=dark] main a:not(.button):not(.nh-button):hover{color:var(--theme-link-hover);}
 html[data-theme=dark] .button-primary:hover,html[data-theme=dark] #contact-confirmation button:hover,html[data-theme=dark] .new-homepage .nh-primary:hover{background:var(--theme-action-hover);color:var(--theme-action-text);}
 html[data-theme=dark] :is(.button-outline,.new-homepage .nh-outline):hover{background:var(--theme-soft);color:var(--theme-text);}
 html[data-theme=dark] .final-cta .button-primary:hover{background:#e4cea4;color:#101923;}
 html[data-theme=dark] .primary-navigation a:hover{background:var(--theme-selected);color:var(--theme-selected-text);}
 html[data-theme=dark] :is(.pa-card,.at-card):hover{border-color:var(--theme-control-border);}
}
@media print{
 :root{color-scheme:light;}
 html,body{background:#fff!important;color:#101d30!important;}
 *,*::before,*::after{color:#101d30!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important;border-color:#777!important;}
 #site-header,.final-cta,.cookie-panel,.appearance-control,.footer-links{display:none!important;}
 a{text-decoration:underline!important;}
 .section{padding-block:20px;}
}
/* Homepage fields have their own ID-scoped design rules. */
@media screen{
 html[data-theme=dark] .new-homepage #home-intake :is(input,textarea,select){background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-control-border);caret-color:var(--theme-text);}
 html[data-theme=dark] .new-homepage #home-intake :is(input,textarea)::placeholder{color:var(--theme-placeholder);}
 html[data-theme=dark] .hero-trust-card small{color:var(--theme-error);}
}
@media(min-width:1281px){
 .primary-navigation ul{gap:2px;}
 .primary-navigation a{padding-inline:8px;}
 .primary-navigation .nav-cta{margin-left:8px;padding-left:12px;}
 .primary-navigation .button-nav{white-space:nowrap;padding-inline:12px;}
 .appearance-control>summary{padding-inline:8px;}
}
@media print{
 #site-footer .brand img{background:#101d30!important;padding:4px;}
}
