/* Shared public-site rhythm; isolated from the journal and cabinet. */
#lawyer-site { font:15px/1.6 Inter,system-ui,sans-serif; }
#lawyer-site .ambient { opacity:.08; }
#lawyer-site main { width:100%; max-width:1180px; padding:38px 24px 48px; }
#lawyer-site>header { height:auto; min-height:78px; padding:14px max(24px,calc((100vw - 1132px)/2)); gap:20px; }
#lawyer-site .brand { flex-shrink:0; gap:10px; font-size:14px; letter-spacing:0; }
#lawyer-site .brand>span:first-child { width:34px; height:34px; margin:0; flex-shrink:0; }
#lawyer-site .brand-text { display:grid; gap:2px; }
#lawyer-site .brand-role { font:10px/1.2 Inter,system-ui,sans-serif; letter-spacing:1px; }
#lawyer-site .brand-name { font:600 15px/1.3 Georgia,serif; }
#lawyer-site .public-nav { min-width:0; gap:12px; margin-left:auto; }
#lawyer-site .public-menu-list { gap:4px; flex-wrap:nowrap; }
#lawyer-site .public-menu-btn { display:none; background:#1a232c; }
#lawyer-site .public-menu-list .nav-tab { font-size:12px; padding:8px 7px; border-radius:5px; }
#lawyer-site .header-login { display:flex!important; align-items:center; justify-content:center; min-height:42px; padding:8px 12px; font-size:12px; white-space:nowrap; border-radius:6px; }
#lawyer-site :is(h1,h2,h3) { text-wrap:balance; }
#lawyer-site h1 { font-size:38px; line-height:1.15; letter-spacing:-.6px; margin:0 0 16px; }
#lawyer-site h2 { font-size:25px; line-height:1.25; }
#lawyer-site .eyebrow { font-size:10px; line-height:1.5; letter-spacing:1.6px; margin-bottom:10px; }
#lawyer-site .card { border-radius:10px; box-shadow:0 8px 24px #00000012; }
#lawyer-site :is(button,.button) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 16px; border-radius:6px; font-size:13px; line-height:1.35; text-align:center; }
#lawyer-site .button:not(.secondary) { color:#fff8e8; }
#lawyer-site .landing-lead { font-size:16px; line-height:1.7; max-width:62ch; margin:14px 0 22px; }
#lawyer-site .lawyer-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:start; gap:40px; margin:0 0 28px; }
#lawyer-site .lawyer-hero-copy { order:0; padding:0; }
#lawyer-site .lawyer-hero h1 { font-size:44px; line-height:1.15; }
#lawyer-site .lawyer-badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
#lawyer-site .lawyer-badges span { padding:4px 8px; font-size:10px; border-radius:5px; }
#lawyer-site .lawyer-card { order:1; padding:0; overflow:hidden; }
#lawyer-site .lawyer-photo { display:block; width:100%; height:360px; max-height:none; object-fit:cover; object-position:50% 25%; }
#lawyer-site .lawyer-card>p { margin:0; padding:12px 16px; font-size:14px; }
#lawyer-site .lawyer-card dl { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; margin:0; padding:0 16px 12px; }
#lawyer-site .lawyer-card dl>div { display:block; padding:0; min-width:0; }
#lawyer-site .lawyer-card dt { font-size:9px; margin:0 0 3px; }
#lawyer-site .lawyer-card dd { font-size:12px; line-height:1.4; margin:0; }
#lawyer-site .lawyer-card .lawyer-fpa { margin:0 16px 16px; }
#lawyer-site .landing-cta { display:flex; flex-wrap:wrap; gap:8px 14px; }
#lawyer-site .landing-cta small { display:block; flex-basis:100%; font-size:11px; }
#lawyer-site .lawyer-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0 0; }
#lawyer-site .lawyer-stats>div { padding:18px; border-radius:8px; }
#lawyer-site .lawyer-stats b { font-size:23px; }
#lawyer-site .lawyer-stats span { font-size:12px; line-height:1.5; }
#lawyer-site :is(.lawyer-about,.lawyer-contacts) { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:32px; align-items:start; }
#lawyer-site .lawyer-side { order:0; min-width:0; }
#lawyer-site .lawyer-about-photo { margin:0 0 16px; }
#lawyer-site .lawyer-about-photo img { width:100%; height:420px; object-fit:cover; object-position:50% 20%; }
#lawyer-site .lawyer-quote { margin:20px 0; padding:14px 18px; font-size:18px; line-height:1.5; }
#lawyer-site .lawyer-page-head { margin:0 0 24px; }
#lawyer-site .landing-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#lawyer-site .landing-card-body { padding:22px; }
#lawyer-site .landing-card h2 { font-size:23px; }
#lawyer-site .lawyer-page-cta { padding:18px 0; font-size:14px; line-height:1.65; }
#lawyer-site .price-groups { gap:16px; }
#lawyer-site :is(.price-section,.price-note,.price-cta) { padding:22px; }
#lawyer-site .price-section h2 { font-size:22px; margin-bottom:14px; }
#lawyer-site .price-list>div { gap:16px; padding:12px 0; }
#lawyer-site .price-list dt { font-size:14px; }
#lawyer-site .price-list dd { font-size:14px; }
#lawyer-site .lawyer-consult { padding:26px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:28px; }
#lawyer-site .lawyer-consult>.flash { grid-column:1/-1; }
#lawyer-site .lawyer-consult h1 { font-size:32px; }
#lawyer-site .lawyer-consult p { margin:0 0 14px; font-size:14px; line-height:1.6; }
#lawyer-site .consult-paid { padding:12px 14px; border-radius:6px; }
#lawyer-site .consult-preparation { margin:14px 0; border-bottom:1px solid var(--line); padding-bottom:12px; }
#lawyer-site .consult-preparation summary { color:#c4a46a; cursor:pointer; font-size:13px; }
#lawyer-site .consult-preparation p { margin:12px 0 0; }
#lawyer-site .consult-hours summary { color:#c4a46a; cursor:pointer; font-size:12px; }
#lawyer-site .consult-hours p { margin-top:10px; }
#lawyer-site .callback-form { min-width:0; gap:14px; }
#lawyer-site :is(.callback-form,.review-form) label { font-size:12px; line-height:1.45; }
#lawyer-site :is(.callback-form,.review-form) :is(input:not([type=radio]):not([type=checkbox]):not(.hp),textarea) { width:100%; min-width:0; font-size:16px; border-radius:6px; padding:10px 12px; }
#lawyer-site .case-tabs-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
#lawyer-site .case-tabs-list label { min-width:0; min-height:38px; padding:8px 6px; justify-content:center; border-radius:5px; font-size:11px; text-align:center; }
#lawyer-site .case-tabs-list label:has(input:focus-visible) { outline:2px solid #c4a46a; outline-offset:2px; }
#lawyer-site .callback-form input[type=file] { font-size:12px!important; }
#lawyer-site .callback-form :is(.callback-file-hint,.case-analysis) { font-size:11px; line-height:1.5; }
#lawyer-site .callback-consent input { flex-shrink:0; width:16px; height:16px; }
#lawyer-site :is(.callback-form,.review-form)>button { width:100%; }
#lawyer-site .schedule-card { padding:20px; }
#lawyer-site .schedule-head .schedule-nav { width:36px; height:36px; min-height:36px; padding:0; }
#lawyer-site .lawyer-contact-list li { padding:12px 0; gap:16px; }
#lawyer-site .lawyer-contact-list { gap:0; margin:16px 0 0; }
#lawyer-site .lawyer-map { margin-top:24px; overflow:hidden; }
#lawyer-site .lawyer-route { display:flex; flex-wrap:wrap; gap:8px; padding:16px; }
#lawyer-site .reviews-hero { margin:0 0 24px; gap:20px; }
#lawyer-site .reviews-hero h1 { font-size:38px; }
#lawyer-site .reviews-hero p:not(.eyebrow) { font-size:15px; }
#lawyer-site :is(.review-form-card,.reviews-empty,.review-card) { padding:24px; }
#lawyer-site .review-card-head { flex-wrap:wrap; gap:8px; }
#lawyer-site .review-form-card { gap:28px; }
#lawyer-site .landing-footer { max-width:1180px; margin:0 auto; padding:24px; gap:12px; font-size:12px; }
#lawyer-site .lawyer-float { position:static; display:flex; justify-content:center; width:max-content; margin:0 auto 24px; border-radius:6px; box-shadow:none; }
#lawyer-site :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #c4a46a; outline-offset:3px; }
@media(min-width:1101px) {
  #lawyer-site .public-menu-btn { display:none; }
}
@media(max-width:1100px) {
  #lawyer-site>header { padding:12px 20px; gap:12px; }
  #lawyer-site .public-menu { position:relative; order:3; top:auto; right:auto; transform:none; z-index:90; }
  #lawyer-site .public-menu-btn { display:grid; width:42px; height:42px; padding:0; }
  #lawyer-site .public-menu-list { display:none; position:absolute; top:calc(100% + 10px); right:0; left:auto; min-width:230px; max-width:calc(100vw - 28px); max-height:70vh; overflow-y:auto; padding:8px; flex-direction:column; align-items:stretch; background:#111a22; border:1px solid #3a4a56; border-radius:8px; box-shadow:0 12px 24px #0006; }
  #lawyer-site .public-menu.is-open .public-menu-list { display:flex; }
  #lawyer-site .public-menu.is-open .nav-tab { display:flex!important; width:100%; min-height:42px; align-items:center; padding:8px 12px; font-size:14px; }
  #lawyer-site .header-login { order:2; }
}
@media(max-width:800px) {
  #lawyer-site main { padding:22px 14px 28px; }
  #lawyer-site>header { min-height:68px; padding:10px 12px; gap:8px; }
  #lawyer-site .brand { gap:7px; min-width:0; }
  #lawyer-site .brand>span:first-child { width:26px; height:30px; }
  #lawyer-site .brand-name { max-width:100px; font-size:13px; line-height:1.25; }
  #lawyer-site .brand-role { font-size:9px; }
  #lawyer-site .public-nav { gap:7px; }
  #lawyer-site .header-login { padding:8px; font-size:11px; }
  #lawyer-site h1,#lawyer-site .reviews-hero h1 { font-size:30px; }
  #lawyer-site .lawyer-hero { display:flex; flex-direction:column; gap:20px; }
  #lawyer-site .lawyer-hero-copy { order:0; width:100%; }
  #lawyer-site .lawyer-hero h1 { font-size:34px; }
  #lawyer-site .lawyer-badges { margin-bottom:14px; }
  #lawyer-site .landing-lead { font-size:15px; line-height:1.6; margin:12px 0 18px; }
  #lawyer-site .landing-cta { display:grid; grid-template-columns:1fr; }
  #lawyer-site .landing-cta .button { width:100%; }
  #lawyer-site .lawyer-card { order:1; width:100%; max-width:460px; }
  #lawyer-site .lawyer-photo { height:320px; max-height:none; object-position:50% 25%; }
  #lawyer-site .lawyer-card>p { display:block; padding:10px 14px; }
  #lawyer-site .lawyer-card dl { display:none; }
  #lawyer-site .lawyer-stats { grid-template-columns:1fr; gap:8px; margin-top:16px; }
  #lawyer-site .lawyer-stats>div { display:grid; grid-template-columns:84px minmax(0,1fr); align-items:center; gap:12px; padding:13px 16px; }
  #lawyer-site .lawyer-stats span { margin:0; }
  #lawyer-site :is(.lawyer-about,.lawyer-contacts,.lawyer-consult,.review-form-card) { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
  #lawyer-site .lawyer-side { order:0; }
  #lawyer-site .lawyer-about-photo img { height:340px; }
  #lawyer-site .landing-features { grid-template-columns:minmax(0,1fr); gap:12px; }
  #lawyer-site :is(.landing-card-body,.price-section,.price-note,.price-cta,.schedule-card,.review-form-card,.reviews-empty,.review-card) { padding:18px; }
  #lawyer-site .price-list>div { grid-template-columns:minmax(0,1fr); gap:4px; }
  #lawyer-site .price-list dd { text-align:left; }
  #lawyer-site .lawyer-consult { padding:16px; }
  #lawyer-site .lawyer-consult h1 { font-size:28px; }
  #lawyer-site .callback-form { grid-template-columns:minmax(0,1fr); gap:12px; }
  #lawyer-site .lawyer-contact-list li { display:grid; grid-template-columns:1fr; gap:4px; }
  #lawyer-site .lawyer-route { display:grid; grid-template-columns:1fr; }
  #lawyer-site .lawyer-route .button { width:100%; }
  #lawyer-site .reviews-hero .button { width:100%; }
  #lawyer-site .landing-footer { display:flex; flex-direction:column; align-items:flex-start; padding:20px 14px; }
}
