/* Practice Areas only: the Lovable composition adapted to Costello's shared tokens. */
.practice-tabs{background:var(--c-canvas);color:var(--c-ink);font:400 var(--fs-body)/var(--lh-body) var(--ff-sans)}
.practice-tabs *{box-sizing:border-box}
.practice-tabs a{color:inherit;text-decoration:none}
.practice-tabs a:focus-visible,.practice-tabs [tabindex]:focus-visible{outline:2px solid var(--c-signal);outline-offset:5px}
.practice-tabs .pa-tabs__kicker{margin:0;font:500 var(--fs-mono)/1.5 var(--ff-mono);letter-spacing:.14em;text-transform:uppercase}
.practice-tabs .pa-tabs__hero{position:relative;min-height:590px;display:grid;align-items:end;overflow:hidden;background:var(--c-navy);color:var(--c-on-navy)}
.practice-tabs .pa-tabs__hero>img,.practice-tabs .pa-tabs__shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.practice-tabs .pa-tabs__shade{background:linear-gradient(90deg,color-mix(in srgb,var(--c-navy-deep) 93%,transparent),color-mix(in srgb,var(--c-navy-deep) 73%,transparent) 48%,color-mix(in srgb,var(--c-navy-deep) 25%,transparent))}
.practice-tabs .pa-tabs__hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,8vw,120px);align-items:end;padding-block:100px 72px}
.practice-tabs .pa-tabs__hero-copy{max-width:560px}
.practice-tabs h1{font-size:var(--fs-display);margin:24px 0 0;max-width:7ch}
.practice-tabs .pa-tabs__hero-line{font:italic 500 clamp(24px,2.5vw,34px)/1.3 var(--ff-serif);margin:24px 0 14px}
.practice-tabs .pa-tabs__hero-copy>p:last-child{max-width:42ch;margin:0;color:var(--c-on-navy)}
.practice-tabs .pa-tabs__principle{border-top:1px solid var(--c-rule-on-navy);padding-top:24px;margin:0;max-width:30ch;font:500 clamp(24px,2.3vw,32px)/1.35 var(--ff-serif)}
.practice-tabs .pa-tabs__intro,.practice-tabs .pa-tabs__shell,.practice-tabs .pa-tabs__referral-grid{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(40px,6vw,90px)}
.practice-tabs .pa-tabs__intro{padding-block:72px 32px;align-items:end;border-bottom:1px solid var(--c-rule-strong)}
.practice-tabs .pa-tabs__intro h2{font-size:var(--fs-card);margin:0}
.practice-tabs .pa-tabs__shell{padding-bottom:80px;align-items:start}
.practice-tabs .pa-tabs__index{padding-top:20px;min-width:0}
.practice-tabs .pa-tabs__tab{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;min-height:82px;padding:16px 4px;border-bottom:1px solid var(--c-rule);text-decoration:none}
.practice-tabs .pa-tabs__tab strong{font:500 24px/1.25 var(--ff-serif)}
.practice-tabs .pa-tabs__number{font:400 var(--fs-mono)/1.5 var(--ff-mono);color:var(--c-ink-muted)}
.practice-tabs .pa-tabs__arrow{color:var(--c-signal-text)}
.practice-tabs .pa-tabs__tab[aria-selected=true]{border-bottom-color:var(--c-ink);background:var(--c-canvas-alt)}
.practice-tabs .pa-tabs__tab[aria-selected=true] strong{font-weight:700}
.practice-tabs .pa-tabs__tab:hover{background:var(--c-canvas-alt)}
.practice-tabs .pa-tabs__panel{position:relative;min-width:0}
.practice-tabs .pa-tabs__detail{padding-top:56px;position:relative}
.practice-tabs .pa-tabs__detail[hidden]{display:none}
.practice-tabs .pa-tabs__detail>.pa-tabs__kicker{color:var(--c-signal-text)}
.practice-tabs .pa-tabs__detail h2{font-size:clamp(34px,3.8vw,54px);margin:18px 0 0;overflow-wrap:normal}
.practice-tabs .pa-tabs__summary{margin:24px 0 36px;max-width:65ch}
.practice-tabs .pa-tabs__detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-block:30px;border-block:1px solid var(--c-rule)}
.costello-system #main.practice-tabs #matter-panel .pa-tabs__detail h3{font:500 var(--fs-mono)/1.5 var(--ff-mono)!important;letter-spacing:.12em!important;text-transform:uppercase;color:var(--c-signal-text);margin:0 0 20px}
.practice-tabs .pa-tabs__detail-grid p{margin:0;font-size:var(--fs-small)}
.practice-tabs .pa-tabs__situations{list-style:none;padding:0;margin:0;font-size:var(--fs-small)}
.practice-tabs .pa-tabs__situations li{position:relative;padding:0 0 16px 18px}
.practice-tabs .pa-tabs__situations li:last-child{padding-bottom:0}
.practice-tabs .pa-tabs__situations li::before{content:'–';position:absolute;left:0;color:var(--c-signal-text)}
.practice-tabs .pa-tabs__tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;margin:22px 0 0;padding:0;font-size:var(--fs-mono)}
.practice-tabs .pa-tabs__tags li{border-bottom:1px solid var(--c-rule);padding-block:3px}
.practice-tabs .pa-tabs__contact{display:inline-flex;align-items:center;gap:36px;min-height:48px;margin-top:24px;padding:12px 20px;background:var(--c-navy);color:var(--c-on-navy);font:500 var(--fs-ui)/1.5 var(--ff-sans)}
.practice-tabs .pa-tabs__contact span{color:var(--c-signal-on-navy)}
.practice-tabs .pa-tabs__alias{position:absolute;top:0;left:0;pointer-events:none}
.practice-tabs .pa-tabs__closing{position:relative;padding-block:80px;background:var(--c-navy);color:var(--c-on-navy)}
.practice-tabs .pa-tabs__closing h2{font-size:var(--fs-chapter);max-width:27ch;margin:24px 0}
.practice-tabs .pa-tabs__closing p:not(.pa-tabs__kicker){max-width:65ch}
.practice-tabs .pa-tabs__actions{display:flex;justify-content:space-between;gap:24px;max-width:650px;border-top:1px solid var(--c-rule-on-navy);margin-top:30px;padding-top:10px;flex-wrap:wrap}
.practice-tabs .pa-tabs__actions a,.practice-tabs .pa-tabs__referral a{display:inline-flex;align-items:center;gap:24px;min-height:44px}
.practice-tabs .pa-tabs__actions a[href^='tel:']{white-space:nowrap}
.practice-tabs .pa-tabs__actions span{color:var(--c-signal-on-navy)}
.practice-tabs .pa-tabs__note{font-size:var(--fs-small);color:var(--c-on-navy-muted);margin-top:24px}
.practice-tabs .pa-tabs__referral{position:relative;background:var(--c-canvas-alt);padding-block:80px}
.practice-tabs .pa-tabs__referral h2{font-size:var(--fs-chapter);margin:0}
.practice-tabs .pa-tabs__referral p:not(.pa-tabs__kicker){max-width:60ch;margin:24px 0 16px}
.practice-tabs .pa-tabs__referral a{color:var(--c-signal-text)}
.practice-tabs .pa-tabs__actions a:hover,.practice-tabs .pa-tabs__referral a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.practice-tabs .pa-tabs__detail-grid{grid-template-columns:1fr}.practice-tabs .pa-tabs__hero-grid{gap:40px}}
@media(max-width:800px){
 .practice-tabs .pa-tabs__hero{min-height:620px}
 .practice-tabs .pa-tabs__hero>img{object-position:60% center}
 .practice-tabs .pa-tabs__shade{background:linear-gradient(0deg,color-mix(in srgb,var(--c-navy-deep) 96%,transparent),color-mix(in srgb,var(--c-navy-deep) 55%,transparent) 70%,color-mix(in srgb,var(--c-navy-deep) 25%,transparent))}
 .practice-tabs .pa-tabs__hero-grid{grid-template-columns:1fr;gap:30px;padding-block:100px 40px}
 .practice-tabs .pa-tabs__hero-copy{max-width:560px}
 .practice-tabs h1{max-width:none;font-size:clamp(46px,9vw,66px)}
 .practice-tabs .pa-tabs__principle{max-width:35ch;font-size:24px;padding-top:18px}
 .practice-tabs .pa-tabs__intro{display:block;padding-block:48px 24px}
 .practice-tabs .pa-tabs__intro h2{margin-top:20px;font-size:28px}
 .practice-tabs .pa-tabs__shell{display:block;padding-bottom:56px}
 .practice-tabs .pa-tabs__index{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--c-ink-muted) var(--c-canvas-alt);padding:8px 0;gap:12px}
 .practice-tabs .pa-tabs__tab{flex:0 0 148px;min-height:90px;padding:12px;grid-template-columns:1fr auto;gap:4px}
 .practice-tabs .pa-tabs__tab strong{grid-row:2;grid-column:1/-1;font-size:22px}
 .practice-tabs .pa-tabs__arrow{grid-column:2;grid-row:1}
 .practice-tabs .pa-tabs__detail{padding-top:36px}
 .practice-tabs .pa-tabs__detail h2{font-size:clamp(34px,7vw,46px)}
 .practice-tabs .pa-tabs__detail-grid{gap:30px}
 .practice-tabs .pa-tabs__closing,.practice-tabs .pa-tabs__referral{padding-block:56px}
 .practice-tabs .pa-tabs__referral-grid{grid-template-columns:1fr;gap:28px}
}
@media(prefers-reduced-motion:no-preference){.practice-tabs.is-enhanced .pa-tabs__detail:not([hidden]){animation:pa-panel-in .2s ease-out}@keyframes pa-panel-in{from{opacity:.3}to{opacity:1}}}

/* The content container must never draw a panel-sized focus rectangle.
   Focus styling on the practice tabs, links and buttons remains unchanged. */
.practice-tabs #matter-panel:focus,.practice-tabs #matter-panel:focus-visible{outline:none}
