/* Site-wide editorial layout: full-width reading, shallow covers, clear contact path. */
body.fa-site { padding-bottom:90px; }
body.fa-site :is(main,.site-header,.site-footer,.crumbs,.privacy-dock) { width:calc(100% - 64px); max-width:none; margin-inline:auto; }
body.fa-site main :is(h1,h2,h3,p,li,dd) { text-wrap:wrap!important; overflow-wrap:break-word; }
body.fa-site main :is(h1,h2,h3,p,ul,ol,dl,section,header,aside) { max-width:none!important; min-width:0; }
body.fa-site main :is(section,article,aside,header,figure,details,summary,div,dl,dt,dd,li,h1,h2,h3,p,span) { border:0!important; }
body.fa-site :is(.site-header,.site-footer,.privacy-dock,.brand span) { border:0!important; }
body.fa-site :is(.progress,hr) { display:none; }
body.fa-site :is(.education-bridge article,.brand-code,.article-cover)::after { display:none!important; }
body.fa-site main :is(.reading-layout,.article-layout,.about-hero,.listing-hero,.practice-hero,.service-detail-hero,.rd-hero) { display:block!important; min-height:0!important; }
body.fa-site .reading-sidebar { position:static!important; width:100%!important; margin:4px 0 24px; }
body.fa-site .reading-sidebar > * { position:static!important; top:auto!important; }
body.fa-site .reading-body { width:100%; }
body.fa-site .article-contents { background:#edf2f5!important; border-radius:8px!important; margin:0!important; box-shadow:none; }
body.fa-site .article-contents>summary { padding:16px 20px!important; min-height:52px; font-size:18px; }
body.fa-site .article-contents nav { max-height:none!important; overflow:visible!important; }
body.fa-site .article-contents ol { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:6px 28px!important; padding:4px 24px 22px 42px!important; }
body.fa-site .article-contents a { min-height:40px; display:inline-flex; align-items:center; font-size:16px; }
body.fa-site :is(.article-contents-return,.article-toc) { position:static!important; }
body.fa-site .reader-cover { display:block!important; float:none!important; width:100%!important; max-width:none!important; height:clamp(180px,22vw,300px)!important; margin:20px 0 24px!important; border-radius:8px!important; overflow:hidden; }
body.fa-site .reader-cover img { display:block!important; width:100%!important; max-width:none!important; height:100%!important; object-fit:cover; object-position:center 48%; }
body.fa-site :is(.article-hero,.service-detail-hero,.about-hero,.listing-hero,.practice-hero) { padding:18px 0 24px!important; }
body.fa-site :is(.article-hero,.service-detail-hero,.about-hero,.listing-hero,.practice-hero) h1 { font:600 clamp(28px,3vw,44px)/1.16 var(--sans)!important; letter-spacing:-.015em!important; width:100%!important; max-width:none!important; margin:12px 0 18px!important; }
body.fa-site .about-hero>div { display:block!important; padding:0!important; }
body.fa-site .about-hero p { width:100%; font-size:19px; line-height:1.6; }
body.fa-site .reader-panel { background:transparent; margin:16px 0; }
body.fa-site .reader-panel>summary { background:#edf2f5; border-radius:8px; padding:18px 20px; min-height:56px; }
body.fa-site .reader-panel-body { padding:16px 0 24px!important; }
body.fa-site .reader-panel-body :is(p,li,dd) { font-size:18px!important; line-height:1.65!important; }
body.fa-site .reader-panel-body :is(h2,h3) { width:100%; }
body.fa-site .article-disclosure { background:transparent!important; overflow:visible!important; margin:10px 0!important; }
body.fa-site .article-disclosure>summary { border-radius:8px; background:#edf2f5; padding:18px 20px!important; }
body.fa-site .article-disclosure__body { padding:20px 0 8px!important; width:100%!important; }
body.fa-site .article-disclosure__body p { margin-bottom:18px!important; }
body.fa-site .reader-path { grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:24px!important; margin:20px 0!important; }
body.fa-site .reader-path li { padding:12px 0!important; }
body.fa-site .reader-call { padding:22px 24px; margin:24px 0; gap:24px; }
body.fa-site .reader-call a { display:inline-flex; align-items:center; justify-content:center; min-height:52px; font-size:18px; }
body.fa-site :is(.reader-note,.rd-note) { font-size:15px!important; }
body.fa-site .reader-panel-body .author-card { display:block!important; background:transparent!important; padding:0!important; margin:40px 0!important; width:100%!important; }
body.fa-site .fa-author-photo { display:block; width:100%; height:clamp(210px,24vw,340px); margin:0 0 22px!important; border-radius:8px; overflow:hidden; }
body.fa-site .fa-author-photo img { width:100%!important; height:100%!important; max-width:none!important; object-fit:cover; object-position:68% 43%; }
body.fa-site .fa-author-body { display:block; padding:0!important; background:transparent!important; }
body.fa-site .fa-author-body>span { display:block; font-size:13px!important; color:var(--muted); letter-spacing:.04em!important; }
body.fa-site .fa-author-body h2 { font-size:28px!important; line-height:1.2!important; margin:10px 0 14px!important; }
body.fa-site .fa-author-body p { font-size:18px!important; margin:0 0 14px!important; }
body.fa-site .fa-author-body ul { display:flex!important; flex-wrap:wrap; gap:8px 28px!important; padding-left:20px!important; list-style:disc; margin:12px 0!important; }
body.fa-site .fa-author-body li { display:list-item!important; width:auto!important; padding:0!important; margin:0!important; background:none!important; text-transform:none; letter-spacing:0; }
body.fa-site .fa-author-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:20px; }
body.fa-site .fa-author-actions a { display:inline-flex; align-items:center; min-height:48px; border:0; font-size:17px!important; text-transform:none; letter-spacing:0; }
body.fa-site .fa-author-actions a[href^="tel:"] { background:var(--accent); color:#fff; border-radius:7px; padding:10px 20px; }
body.fa-site .article-service { background:#edf2f5; padding:24px!important; border-radius:8px; margin:28px 0!important; }
body.fa-site .article-service a { border:0; font-size:16px; text-transform:none; letter-spacing:0; }
body.fa-site .sources li { display:list-item!important; padding:8px 0!important; }
body.fa-site .sources :is(a,p) { font-size:16px!important; }
body.fa-site .sources a { text-transform:none!important; letter-spacing:0!important; }
body.fa-site :is(.education-bridge,.about-details,.about-method) { padding:32px 0!important; }
body.fa-site :is(.education-bridge>header,.about-method>header,.about-details) { display:block!important; margin-bottom:20px; }
body.fa-site .education-bridge h2,body.fa-site .about-method h2,body.fa-site .about-details h2 { font:600 28px/1.25 var(--sans); letter-spacing:0; margin:10px 0 16px; }
body.fa-site .education-bridge>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
body.fa-site .education-bridge article { min-height:0; background:#edf2f5!important; color:var(--ink)!important; padding:24px; border-radius:8px; }
body.fa-site .education-bridge article * { color:inherit; }
body.fa-site .education-bridge article h3 { font:600 23px/1.3 var(--sans); margin:12px 0; }
body.fa-site .education-bridge article p { font-size:17px; }
body.fa-site .about-method ol { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:20px 0; }
body.fa-site .about-method li { min-height:0; padding:20px; background:#edf2f5; border-radius:8px; }
body.fa-site .about-method h3 { margin:12px 0!important; font:600 21px/1.3 var(--sans); }
body.fa-site .about-details dl { margin-top:20px; gap:24px; }
body.fa-site .about-details dl>div { padding:0; }
body.fa-site .about-details dd { font:400 18px/1.5 var(--sans); margin:8px 0; }
body.fa-site :is(.rd-section-head,.rd-split) { display:block; }
body.fa-site .rd-section-head p { margin:12px 0 0; max-width:none; }
body.fa-site .rd-hero h1 { max-width:none; }
body.fa-site .rd-hero .rd-portrait { display:block; width:100%; max-width:none; margin:24px 0 0; }
body.fa-site .rd-portrait img { width:100%; height:clamp(210px,24vw,340px); object-fit:cover; object-position:68% 43%; }
body.fa-site .rd-portrait figcaption { padding:16px 0; background:transparent; }
body.fa-site :is(.rd-service-grid,.cluster-grid,.article-grid--listing) { gap:24px; margin:28px 0; }
body.fa-site :is(.rd-service,.cluster-card,.article-card) { background:#fff; padding:24px; border-radius:8px; }
body.fa-site :is(.rd-service,.cluster-card,.article-card):hover { background:#edf2f5; }
body.fa-site :is(.contact-block,.rd-contact) { padding:28px!important; margin:32px 0!important; }
body.fa-site .fa-contact { padding:30px!important; margin:40px 0!important; border-radius:10px; background:var(--dark); color:#fff; }
body.fa-site .fa-contact h2 { font:600 28px/1.2 var(--sans); color:#fff; margin:0 0 14px; }
body.fa-site .fa-contact p { color:#edf2f5; font-size:18px; margin:12px 0; }
body.fa-site .fa-contact a { display:inline-flex; align-items:center; justify-content:center; min-height:52px; margin-top:12px; padding:12px 22px; background:#fff; color:var(--dark); font-size:19px; font-weight:600; border-radius:7px; }
body.fa-site .fa-contact small { display:block; margin-top:16px; color:#d7e1e8; font-size:15px; }
body.fa-site .fa-contact-dock { position:fixed; bottom:0; left:0; right:0; z-index:90; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 32px max(12px,env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -5px 24px #15384b14; transform:translateY(120%); visibility:hidden; transition:transform .18s,visibility .18s; }
body.fa-site.fa-scrolled .fa-contact-dock { transform:none; visibility:visible; }
body.fa-site .fa-contact-dock strong { font-size:18px; }
body.fa-site .fa-contact-dock a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; font-size:17px; }
body.fa-site .fa-contact-dock .fa-dock-call { background:var(--accent); color:#fff; border-radius:7px; padding:10px 24px; font-weight:600; }
body.fa-site .fa-dock-actions { display:flex; gap:24px; align-items:center; }
body.fa-site:has(.cookie-notice:not([hidden])) .fa-contact-dock { visibility:hidden; transform:translateY(120%); }
body.fa-site .site-footer { padding-bottom:30px; }
body.fa-site .six-table { border:0; }
body.fa-site .six-table tr:nth-child(even) { background:#f0f4f7; }
body.fa-site .six-table :is(th,td) { border:0; }
body.fa-site .article-contents-return { margin:20px 0!important; }
@media(min-width:761px){body.fa-site .header-call{min-height:52px;font-size:18px;}}
@media(max-width:1000px){body.fa-site .article-contents ol{grid-template-columns:repeat(2,minmax(0,1fr))!important;}body.fa-site .reader-path{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:760px){
 body.fa-site :is(main,.site-header,.site-footer,.crumbs,.privacy-dock){width:calc(100% - 36px);}
 body.fa-site .reader-cover{height:180px!important;margin:18px 0!important;}
 body.fa-site :is(.article-hero,.service-detail-hero,.about-hero,.listing-hero) h1{font-size:30px!important;line-height:1.16!important;}
 body.fa-site .article-contents ol{grid-template-columns:1fr!important;padding:4px 18px 18px 38px!important;}
 body.fa-site .reader-path{grid-template-columns:1fr!important;gap:4px!important;}
 body.fa-site .reader-path li{padding-left:34px!important;}
 body.fa-site .reader-panel-body :is(p,li,dd){font-size:17px!important;line-height:1.6!important;}
 body.fa-site .reader-call{padding:20px;}
 body.fa-site .reader-call a{display:flex;white-space:normal;}
 body.fa-site .fa-author-photo,body.fa-site .rd-portrait img{height:220px;}
 body.fa-site .fa-author-body ul{display:block!important;}
 body.fa-site .fa-author-body li{padding-block:4px!important;}
 body.fa-site .fa-author-body h2{font-size:26px!important;}
 body.fa-site .fa-author-actions{display:grid;grid-template-columns:1fr;gap:8px;}
 body.fa-site .fa-author-actions a{justify-content:center;}
 body.fa-site .education-bridge>div,body.fa-site .about-method ol,body.fa-site .about-details dl{grid-template-columns:1fr!important;}
 body.fa-site .fa-contact{padding:24px 20px!important;}
 body.fa-site .fa-contact h2{font-size:25px;}
 body.fa-site .fa-contact a{display:flex;font-size:18px;}
 body.fa-site .fa-contact-dock{padding:10px 18px max(10px,env(safe-area-inset-bottom));gap:12px;}
 body.fa-site .fa-contact-dock>strong{display:none;}
 body.fa-site .fa-dock-actions{width:100%;gap:12px;}
 body.fa-site .fa-dock-actions>a:first-child{font-size:14px;flex:0 0 95px;}
 body.fa-site .fa-dock-call{flex:1;padding:10px 12px!important;font-size:17px!important;}
 body.fa-site .header-call{min-height:50px!important;}
}
@media(prefers-reduced-motion:reduce){body.fa-site .fa-contact-dock{transition:none;}}

body.fa-site .fa-about-photo img{object-position:68% 43%;}

body.fa-site .site-header .header-call{display:flex;gap:12px;justify-content:center;}
body.fa-site .site-header .header-call::before,body.fa-site .site-header .header-call::after{display:none!important;}
body.fa-site .site-header .header-call span{transform:none!important;letter-spacing:0;}
@media(max-width:760px){body.fa-site .site-header .header-call{flex-direction:column;gap:2px;white-space:normal;line-height:1.2;min-height:62px!important;padding:9px 12px!important;}body.fa-site .header-call .fa-call-label{font-size:14px;}body.fa-site .header-call .fa-call-number{font-size:18px;white-space:nowrap;}}
body.fa-site .rd-portrait figcaption,body.fa-site .rd-portrait figcaption :is(strong,span){color:var(--ink)!important;position:static;}
@media(max-width:1000px){body.fa-site .site-header{grid-template-columns:1fr auto;gap:12px;}body.fa-site .site-header .desktop-nav{display:none;}body.fa-site .site-header .mobile-nav{display:block;}body.fa-site .site-header .header-call{grid-column:1/-1;justify-self:stretch;}}

body.fa-site a.fa-phone-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;}
body.fa-site a.fa-phone-button :is(span,strong){font:inherit;text-transform:none;letter-spacing:0;}
body.fa-site a.fa-phone-button strong{white-space:nowrap;}
@media(max-width:760px){body.fa-site a.fa-phone-button{display:flex;flex-direction:column;gap:2px;min-height:68px;}body.fa-site a.fa-phone-button span{font-size:15px;}body.fa-site a.fa-phone-button strong{font-size:18px;}}
body.fa-site .article-meta{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px 20px;align-items:center;font-size:12px;}
body.fa-site :is(.article-hero,.service-detail-hero,.listing-hero) h1{font-size:clamp(28px,2.7vw,40px)!important;}
@media(max-width:760px){body.fa-site :is(.article-hero,.service-detail-hero,.listing-hero) h1{font-size:30px!important;}.article-meta{gap:6px 12px;}}

/* Compact company page: open editorial sections, without decorative cards. */
body.fa-site .about-compact .about-hero{padding:12px 0 20px!important;}
body.fa-site .about-compact .about-hero>div{display:grid!important;grid-template-columns:1fr 1fr;column-gap:40px;align-items:end;}
body.fa-site .about-compact .about-hero .eyebrow{grid-column:1/-1;margin:0 0 10px;font-size:12px;}
body.fa-site .about-compact .about-hero h1{margin:0!important;font-size:clamp(32px,4vw,56px)!important;letter-spacing:-.04em!important;}
body.fa-site .about-compact .about-hero p:not(.eyebrow){margin:0;font-size:18px;line-height:1.5;}
body.fa-site .about-compact .fa-about-photo{height:clamp(160px,20vw,260px)!important;margin:22px 0 0!important;border-radius:4px;}
body.fa-site .about-compact :is(.education-bridge,.about-method,.about-details){padding:24px 0!important;margin:0!important;}
body.fa-site .about-compact :is(.education-bridge,.about-method){display:grid!important;grid-template-columns:minmax(220px,.75fr) minmax(0,1.6fr);gap:40px;}
body.fa-site .about-compact :is(.education-bridge,.about-method)>header{margin:0!important;display:block!important;}
body.fa-site .about-compact :is(.education-bridge,.about-method,.about-details) h2{font:600 26px/1.2 var(--sans)!important;letter-spacing:-.025em;margin:8px 0 12px!important;}
body.fa-site .about-compact :is(.education-bridge,.about-method) header p:not(.eyebrow){font:400 14px/1.55 var(--sans)!important;color:#596570;}
body.fa-site .about-compact .education-bridge>div{gap:28px;}
body.fa-site .about-compact .education-bridge article{background:transparent!important;border-radius:0;padding:0!important;}
body.fa-site .about-compact .education-bridge article>span{font:500 12px/1.4 var(--sans);color:#596570;}
body.fa-site .about-compact .education-bridge article h3{font:600 20px/1.3 var(--sans)!important;margin:8px 0!important;}
body.fa-site .about-compact .education-bridge article p{font:400 16px/1.6 var(--sans)!important;margin:0;}
body.fa-site .about-compact .about-method ol{display:flex!important;flex-direction:column;gap:16px!important;margin:0!important;padding:0!important;}
body.fa-site .about-compact .about-method li{display:grid!important;grid-template-columns:28px 1fr;gap:14px;padding:0!important;background:transparent!important;border-radius:0;}
body.fa-site .about-compact .about-method li>span{font:500 13px/1.8 var(--sans)!important;color:#777;}
body.fa-site .about-compact .about-method h3{font:600 17px/1.4 var(--sans)!important;margin:0 0 3px!important;}
body.fa-site .about-compact .about-method li p{font:400 15px/1.55 var(--sans)!important;margin:0!important;}
body.fa-site .about-compact .about-details{display:grid!important;grid-template-columns:minmax(220px,.75fr) minmax(0,1.6fr);gap:40px;}
body.fa-site .about-compact .about-details dl{display:grid!important;grid-template-columns:1fr 1fr;gap:16px 28px!important;margin:0!important;}
body.fa-site .about-compact .about-details dt{font:400 12px/1.4 var(--sans);color:#596570;}
body.fa-site .about-compact .about-details dd{font:400 15px/1.5 var(--sans)!important;margin:4px 0 0!important;}
body.fa-site .about-compact .fa-contact{margin-top:24px!important;padding:24px!important;}
@media(max-width:760px){
 body.fa-site .about-compact .about-hero>div{display:block!important;}
 body.fa-site .about-compact .about-hero p:not(.eyebrow){margin-top:12px;font-size:16px;}
 body.fa-site .about-compact :is(.education-bridge,.about-method,.about-details){grid-template-columns:1fr!important;gap:16px!important;padding:20px 0!important;}
 body.fa-site .about-compact .education-bridge>div{gap:18px;}
 body.fa-site .about-compact :is(.education-bridge,.about-method,.about-details) h2{font-size:23px!important;}
 body.fa-site .about-compact .fa-contact{padding:20px!important;}
}
body.fa-site .about-compact .about-method,body.fa-site .about-compact .about-method :is(ol,li,li>div){background:transparent!important;border:0!important;box-shadow:none!important;}
body.fa-site .about-compact .about-method :is(ol,li)::before,body.fa-site .about-compact .about-method :is(ol,li)::after{display:none!important;}

/* Article reading layout: persistent right rail on desktop. */
@media(min-width:1100px){
 body.fa-site main.article-page .reading-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 280px!important;gap:32px!important;align-items:start!important;}
 body.fa-site main.article-page .reading-body{grid-column:1!important;grid-row:1!important;width:auto!important;}
 body.fa-site main.article-page .reading-sidebar{grid-column:2!important;grid-row:1!important;position:sticky!important;top:24px!important;width:auto!important;margin:0!important;align-self:start!important;}
 body.fa-site main.article-page .reading-sidebar .article-contents{position:static!important;max-height:calc(100vh - 48px)!important;overflow:auto!important;}
 body.fa-site main.article-page .reading-sidebar .article-contents>summary{display:none!important;}
 body.fa-site main.article-page .reading-sidebar .article-contents nav{max-height:calc(100vh - 48px)!important;overflow:auto!important;}
 body.fa-site main.article-page .reading-sidebar .article-contents ol{display:block!important;grid-template-columns:none!important;padding:12px 16px 16px 30px!important;}
 body.fa-site main.article-page .reading-sidebar .article-contents a{min-height:0!important;display:block!important;padding:8px 0!important;font-size:15px!important;}
 body.fa-site main.article-page .article-contents-return{display:none!important;}
}
