/* Homepage editorial composition and progressively enhanced motion stages. */
.hero{position:relative;display:grid;grid-template-columns:46% 54%;min-height:calc(100svh - var(--header-height));background:var(--night);color:white;overflow:hidden}.hero-image{position:relative;min-height:640px}.hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}.hero-image::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 65%,rgba(18,33,49,.25) 82%,var(--night) 100%);pointer-events:none}.hero-inner{display:flex;align-items:center;padding:80px clamp(40px,5vw,80px)}.hero-copy{width:100%;max-width:700px;min-width:0}.hero-identity{margin-bottom:48px;font-size:1rem}.hero-name{display:block;font-weight:600}.hero-profession{display:block;font-size:.875rem;margin-top:4px}.hero h1{font-size:clamp(2.5rem,4.5vw,4.875rem);font-weight:400;line-height:1.16;letter-spacing:-.05em;text-wrap:initial}.hero h1 strong{font-weight:550;display:inline-block}.hero-link{display:inline-flex;align-items:center;min-height:48px;margin-top:40px;font-size:.9375rem;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.hero-link:hover{text-decoration-thickness:2px}
.person-section{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(48px,7vw,112px);align-items:start;padding-block:var(--space-section)}.conversation-image{position:sticky;top:calc(var(--header-height) + 32px)}.conversation-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%}.person-copy>.eyebrow{margin-bottom:24px}.person-copy h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:8px}.person-role{font-size:.875rem;margin-bottom:32px}.person-introduction{font-size:1.125rem;line-height:1.85;max-width:54ch}.person-experience{font-size:1rem;line-height:1.85;margin-block:24px 32px}.career{border-top:1px solid var(--rule)}.career-timeline{list-style:none;margin:8px 0 32px;padding:0 0 0 24px;border-inline-start:1px solid var(--rule)}.career-timeline li{position:relative;padding:0 0 24px}.career-timeline li:last-child{padding-bottom:0}.career-timeline li::before{content:'';position:absolute;inset-inline-start:-28px;top:9px;width:7px;height:7px;background:var(--navy)}.career-timeline h4{font-size:.9375rem;letter-spacing:0;line-height:1.65}.career-timeline p{font-size:.875rem;line-height:1.7;margin-top:4px}.profile-depth .profile-work-introduction{padding-top:8px}.profile-depth p{font-size:.9375rem;line-height:1.85}.profile-depth .practice-example{padding:20px;margin-block:24px}.profile-process{padding-bottom:24px}.profile-process>h4{margin-bottom:16px}.process-list{list-style:none;padding:0;margin:24px 0 0}.process-list li{padding-block:20px;border-top:1px solid var(--rule)}.process-list h5{font-size:.9375rem;margin-bottom:8px;letter-spacing:0}
/* The base presentation is complete and readable, including without JS. */
.brand-story{background:var(--paper);padding-block:var(--space-section);border-block:1px solid var(--rule)}.sequence-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:48px}.brand-story .sequence-heading h2{font-size:clamp(1.75rem,3.4vw,3.25rem);letter-spacing:-.035em;color:var(--navy)}.sequence-skip{font-size:.75rem;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:5px}.brand-scene{position:relative}.sequence-lockup{width:280px;max-width:70%;margin:16px auto 64px}.square-parts{display:none}.brand-panels{display:grid;grid-template-columns:1fr 1fr;gap:56px 80px}.brand-panel .stage-index,.journey-panel .stage-index{font-size:.75rem;font-weight:500;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:24px}.brand-panel h3{font-size:clamp(2rem,3.9vw,3.5rem);font-weight:500;letter-spacing:-.045em;line-height:1.1;color:var(--navy);margin-bottom:24px}.brand-panel p{font-size:1.0625rem;line-height:1.8;max-width:43ch}.brand-resolution{margin-top:72px;text-align:center}.brand-resolution p{text-align:center!important;text-align-last:center!important;font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.35;letter-spacing:-.035em;font-weight:400}.brand-resolution strong{font-weight:600}.brand-resolution>span{display:block;font-size:.6875rem;letter-spacing:.2em;margin-top:24px;color:var(--navy)}
/* Desktop enhancement: the document continues to scroll naturally. */
.brand-story.is-enhanced{height:850svh;padding:0}.is-enhanced>.sequence-stage{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));min-height:0;overflow:hidden}.is-enhanced .sequence-inner{height:100%;display:flex;flex-direction:column;padding-block:32px}.is-enhanced .sequence-heading{flex-shrink:0;margin:0;min-height:44px}.is-enhanced .brand-scene{flex:1;min-height:0;margin-block:16px}.is-enhanced .sequence-graphic{position:absolute;inset:0;pointer-events:none;direction:ltr}.is-enhanced .sequence-lockup{position:absolute;left:50%;top:45%;width:320px;max-width:70%;height:auto;margin:0;transform:translate(-50%,-50%);will-change:opacity}.is-enhanced .square-parts{position:absolute;display:block;opacity:0;width:176px;height:176px;left:0;top:0;transform-origin:50% 50%;will-change:transform}.square-parts i{position:absolute;display:block;width:50%;height:50%;background:var(--navy);left:0;top:0;will-change:transform,opacity}.square-parts i:nth-child(2){left:50%}.square-parts i:nth-child(3){top:50%}.square-parts i:nth-child(4){left:50%;top:50%}.is-enhanced .brand-panels{position:absolute;inset:0 auto 0 0;width:47%;display:block}.is-enhanced .brand-panel{position:absolute;top:50%;left:0;width:100%;transform:translateY(-50%);opacity:0;pointer-events:none}.is-enhanced .brand-panel h3{font-size:clamp(2rem,4.7vw,4.25rem)}.is-enhanced .brand-panel p{font-size:clamp(1rem,1.4vw,1.125rem);max-width:40ch}.is-enhanced .brand-resolution{position:absolute;left:0;right:0;top:64%;margin:0;opacity:0}.is-enhanced .brand-resolution p{font-size:clamp(1.75rem,3vw,2.5rem)}
/* Practice areas: prominent links with depth on the existing subject pages. */
.practice-section{padding-block:var(--space-section)}.section-heading{margin-bottom:48px}.section-heading h2{color:var(--navy)}.section-heading>.eyebrow{margin-bottom:24px}.section-heading>p:not(.eyebrow){max-width:64ch;margin-top:24px;font-size:1.125rem}.practice-introduction{display:grid;grid-template-columns:1.1fr 1fr;gap:24px 80px;margin-bottom:48px}.practice-introduction p{font-size:1rem;line-height:1.85;margin:0;max-width:60ch}.practice-introduction .practice-principle{grid-row:span 2;font-size:clamp(1.375rem,2.2vw,1.875rem);line-height:1.55;letter-spacing:-.02em;font-weight:500;max-width:30ch;text-align:start}.area-list{border-top:1px solid var(--rule)}.area-link{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 32px;gap:32px;align-items:center;min-height:136px;padding:32px 0;border-bottom:1px solid var(--rule);transition:color 200ms var(--ease)}.area-name{font-size:clamp(1.5rem,3vw,2.75rem);font-weight:500;letter-spacing:-.035em;color:var(--navy);line-height:1.2}.area-description{font-size:.9375rem;line-height:1.7;color:var(--muted)}.area-arrow{font-size:1.75rem;justify-self:end;transition:transform 200ms var(--ease)}.area-link:hover .area-arrow{transform:translate(4px,-4px)}.area-link:hover .area-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}.practice-note{max-width:64ch;font-size:.875rem;color:var(--muted);margin-top:24px}
/* The mandate journey is quieter than the signature sequence. */
.mandate-journey{padding-block:var(--space-section);border-block:1px solid var(--rule);background:#fff}.journey-scene{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.journey-graphic{position:relative;align-self:start}.journey-ring{display:block;width:100%;max-width:360px;margin:auto}.ring-track{stroke:var(--rule);stroke-width:1}.ring-progress{stroke:var(--navy);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:0}.ring-origin{fill:var(--navy)}.ring-logo{pointer-events:none}.journey-origin{display:block;text-align:center;font-size:.75rem;letter-spacing:.06em;margin-top:16px}.journey-panels{min-width:0}.journey-panel{padding-block:32px;border-top:1px solid var(--rule)}.journey-panel:first-child{padding-top:0;border:0}.journey-panel .stage-index{margin-bottom:16px}.journey-panel h3{font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.3;color:var(--navy);margin-bottom:24px;max-width:20ch}.journey-panel p{max-width:48ch;font-size:1.0625rem;line-height:1.8}.journey-panel .process-optional{font-size:.75rem;line-height:1.6;color:var(--muted);margin:0 0 16px}.journey-resolution{margin-top:64px;text-align:center!important;text-align-last:center!important;font-size:1.125rem}.mandate-journey.is-enhanced{height:520svh;padding:0}.is-enhanced .journey-scene{position:relative;flex:1;min-height:0;align-items:center;gap:10%;padding-inline:4%}.is-enhanced .journey-graphic{align-self:center}.is-enhanced .journey-panels{position:relative;height:100%}.is-enhanced .journey-panel{position:absolute;left:0;top:50%;width:100%;padding:0;border:0;opacity:0;transform:translateY(-50%);pointer-events:none}.is-enhanced .journey-resolution{font-size:.9375rem;margin:0;min-height:32px;opacity:0}.is-enhanced .journey-ring{max-width:400px}.is-enhanced .ring-logo{opacity:0}.invitation{display:flex;align-items:center;justify-content:space-between;gap:48px;padding-block:72px;border-bottom:1px solid var(--rule)}.invitation h2{font-size:clamp(1.5rem,2.7vw,2.5rem);max-width:25ch;line-height:1.3}.invitation .button{flex-shrink:0}
/* Fees remain static, with conditions immediately next to the figures. */
.cost-section{padding-block:var(--space-section)}.cost-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.price-list>div{display:grid;grid-template-columns:1fr auto;gap:24px;padding-block:28px;border-bottom:1px solid var(--rule);align-items:start}.price-list>div:first-child{border-top:1px solid var(--rule)}.price-list dt{font-size:1rem;font-weight:550;line-height:1.7}.price-list dd{font-size:2rem;line-height:1.2;letter-spacing:-.04em;text-align:end;white-space:nowrap;color:var(--navy)}.price-list dd small{font-size:.8125rem;letter-spacing:0}.price-list dd span{display:block;font-size:.6875rem;line-height:1.8;letter-spacing:0;margin-top:8px;color:var(--muted)}.cost-prices>p{font-size:.875rem;line-height:1.8;margin-top:24px;max-width:60ch}.cost-terms{border-top:1px solid var(--rule);min-width:0}.cost-terms .quiet-detail>summary{font-size:.9375rem}.cost-description+.cost-description{margin-top:32px}.cost-description h4{font-size:1.125rem;margin-bottom:16px}.cost-models>div{margin-top:24px}.cost-models dt{font-size:.9375rem;font-weight:600;margin-bottom:8px}.cost-models dd{font-size:.9375rem;line-height:1.8}.cost-legal-note{font-size:.875rem!important;margin-top:24px}.consultation-steps{padding:0;list-style:none;margin:24px 0}.consultation-steps li+li{margin-top:24px}.consultation-steps strong{display:block;font-size:.9375rem;margin-bottom:8px}
/* Contact: the address channels and form read as one destination. */
.contact-section{padding-block:var(--space-section);border-block:1px solid var(--rule)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-main h2{color:var(--navy)}.contact-intro{font-size:1.125rem;line-height:1.75;margin-top:24px;max-width:48ch}.contact-channels{--qr-size:104px;display:grid;grid-template-columns:minmax(0,1fr) var(--qr-size);align-items:start;gap:24px;margin-top:40px}.contact-direct{display:flex;flex-direction:column;justify-content:center;min-height:var(--qr-size);min-width:0}.contact-email,.contact-phone{display:flex;align-items:center;min-height:48px;font-size:1.0625rem;color:var(--navy)}.contact-email:hover,.contact-phone:hover{text-decoration:underline;text-underline-offset:5px}.contact-qr{width:var(--qr-size);margin:0}.contact-qr img{width:var(--qr-size);height:var(--qr-size);background:#fff}.contact-save{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;font-size:.6875rem;line-height:1.5;text-decoration:underline;text-underline-offset:3px}.contact-portrait{display:flex;align-items:center;gap:24px;margin-top:32px}.contact-portrait img{width:96px;height:auto;aspect-ratio:1136/1385;object-fit:contain}.contact-portrait strong,.contact-portrait span{display:block;font-size:.875rem;line-height:1.7}.contact-portrait span{margin-top:4px;font-size:.8125rem}.contact-next,.mandate-note{max-width:52ch;font-size:.875rem;line-height:1.8;margin-top:24px}.mandate-note{font-size:.8125rem;color:var(--muted);margin-top:16px}
.location-section{padding-block:var(--space-section)}.location-heading{margin-bottom:48px}.location-heading h2{color:var(--navy)}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.location-info{position:relative;min-width:0}.building-photo{position:absolute;right:0;top:0;width:42%;height:100%;object-fit:cover;opacity:.12;mask-image:linear-gradient(to right,transparent,#000);pointer-events:none}.location-copy{position:relative;padding-inline-end:24px}.location-copy address{font-size:1.25rem;line-height:1.65;margin-bottom:24px;color:var(--navy)}.location-copy>p{font-size:1rem;line-height:1.8;max-width:52ch}.transit{display:grid;grid-template-columns:140px 1fr;gap:24px;margin-block:32px;font-size:.875rem;line-height:1.7}.transit dt{font-weight:600}.transit-note{font-size:.8125rem!important;line-height:1.8}.transit-note a{text-decoration:underline;text-underline-offset:4px}.location-copy>.text-link{margin-top:24px}
@media(min-width:900px) and (max-height:780px){.is-enhanced .brand-panel h3{font-size:2.75rem}.is-enhanced .brand-panel p,.is-enhanced .journey-panel p{font-size:1rem}.is-enhanced .journey-panel h3{font-size:1.75rem}.is-enhanced .sequence-inner{padding-block:24px}.is-enhanced .sequence-heading h2{font-size:2rem}}
@media(max-width:1100px){.hero-image{min-height:540px}.hero h1{font-size:clamp(2.5rem,4.5vw,3.75rem)}.hero-inner{padding:64px 32px}.person-section{gap:48px}.conversation-image img{aspect-ratio:3/4}.practice-introduction{gap:32px 48px}.cost-layout,.contact-grid,.location-grid{gap:48px}.contact-channels{--qr-size:88px;gap:16px}.contact-email{font-size:.9375rem}.journey-scene{gap:48px}}
@media(max-width:899px){.hero{grid-template-columns:44% 56%;min-height:560px}.hero-image{min-height:560px}.hero-inner{padding:48px 32px}.hero h1{font-size:clamp(2.125rem,4.7vw,2.875rem)}.hero-identity{margin-bottom:32px}.hero-link{margin-top:32px}.person-section{grid-template-columns:1fr;gap:40px}.conversation-image{position:static}.conversation-image img{aspect-ratio:4/3;max-height:620px;object-fit:cover}.person-copy{max-width:68ch}.brand-panels{grid-template-columns:1fr;gap:0}.brand-panel{padding-block:40px;border-top:1px solid var(--rule)}.brand-panel h3{font-size:2.25rem}.brand-panel p{max-width:60ch}.brand-panel .stage-index{margin-bottom:16px}.brand-resolution{margin-top:40px}.sequence-heading{gap:24px;margin-bottom:40px}.sequence-heading h2{font-size:2rem}.sequence-skip{max-width:150px;text-align:end;justify-content:flex-end}.sequence-lockup{width:220px;margin:16px auto 48px}.practice-introduction{display:block}.practice-introduction .practice-principle{max-width:38ch;margin-bottom:24px}.practice-introduction p+p{margin-top:24px}.area-link{grid-template-columns:minmax(0,1fr) 28px;gap:12px 24px;min-height:120px;padding-block:28px}.area-description{grid-column:1;font-size:.875rem}.area-arrow{grid-column:2;grid-row:1/3}.area-name{font-size:2rem}.journey-scene{display:block}.journey-graphic{max-width:220px;margin:0 auto 48px}.journey-panel{position:relative;padding-inline-start:40px}.journey-panel:first-child{padding-top:32px;border-top:1px solid var(--rule)}.journey-panel .stage-index{position:absolute;inset-inline-start:0;top:36px;font-size:.6875rem}.journey-panel h3{font-size:1.5rem;margin-bottom:16px;max-width:none}.journey-panel p{font-size:1rem;max-width:60ch}.journey-resolution{margin-top:32px;font-size:1rem}.cost-layout{grid-template-columns:1fr;gap:40px}.cost-prices{max-width:68ch}.contact-grid{grid-template-columns:1fr;gap:56px}.contact-main{max-width:66ch}.inquiry-form{border-top:1px solid var(--rule);padding-top:32px}.contact-channels{--qr-size:104px}.contact-email{font-size:1.0625rem}.location-grid{grid-template-columns:1fr;gap:40px}.location-copy{padding:0}.building-photo{width:40%}.map-panel{min-height:360px}}
@media(max-width:600px){.hero{grid-template-columns:1fr;grid-template-rows:minmax(320px,52svh) auto;min-height:calc(100svh - var(--header-height))}.hero-image{min-height:0;height:100%}.hero-image img{object-position:50% 22%;object-fit:cover}.hero-image::after{background:linear-gradient(to bottom,transparent 68%,rgba(18,33,49,.35) 88%,var(--night) 100%)}.hero-inner{padding:24px var(--gutter) 48px}.hero h1{font-size:clamp(2.125rem,8.4vw,3rem);line-height:1.2}.hero-identity{margin-bottom:24px;font-size:.875rem}.hero-profession{font-size:.8125rem}.hero-link{margin-top:24px}.person-section{padding-top:80px}.person-introduction{font-size:1.0625rem}.person-experience{font-size:.9375rem}.conversation-image img{aspect-ratio:1/1;object-position:50% 50%}.sequence-heading{align-items:flex-start}.sequence-heading h2{font-size:1.75rem}.sequence-skip{font-size:.6875rem;max-width:116px}.brand-panel h3{font-size:2rem}.brand-panel p{font-size:1rem}.area-name{font-size:1.625rem}.invitation{display:block;padding-block:56px}.invitation h2{font-size:1.75rem;margin-bottom:32px}.section-heading{margin-bottom:32px}.price-list dd{font-size:1.75rem}.price-list dt{font-size:.9375rem}.contact-channels{--qr-size:88px;gap:16px}.contact-email,.contact-phone{font-size:.9375rem}.contact-next{font-size:.8125rem}.transit{grid-template-columns:110px 1fr;gap:24px 16px}.location-copy address{font-size:1.125rem}}
@media(max-width:360px){.contact-channels{--qr-size:76px;gap:12px}.contact-email,.contact-phone{font-size:.8125rem}.price-list>div{gap:16px}.price-list dd{font-size:1.5rem}.hero h1{font-size:2rem}.brand-panel h3{font-size:1.875rem}}
@media print{.hero{display:block;min-height:0;background:#fff;color:#000}.hero-image,.hero-link{display:none}.hero-inner{padding:24px 0}.person-section{display:block;padding-block:24px}.conversation-image{position:static;max-width:260px}.brand-story,.mandate-journey{padding-block:24px}.brand-panels,.journey-scene,.cost-layout,.contact-grid,.location-grid{display:block}.brand-panel,.journey-panel{position:static!important;opacity:1!important;transform:none!important;break-inside:avoid}.sequence-stage{position:static!important;height:auto!important;overflow:visible!important}.sequence-graphic,.journey-graphic{display:none}.sequence-inner,.brand-scene,.brand-panels,.journey-panels{display:block!important;position:static!important;height:auto!important;width:auto!important}.brand-resolution,.journey-resolution{position:static!important;opacity:1!important;margin-top:32px}.invitation{display:none}.building-photo{display:none}.section-heading{margin-bottom:24px}.cost-section,.contact-section,.location-section,.practice-section{padding-block:32px}}
/* Tablet: shorter lateral travel, a quieter 136px formation, generous type. */
@media(min-width:900px) and (max-width:1199px){.brand-story.is-enhanced{height:800svh}.mandate-journey.is-enhanced{height:480svh}.is-enhanced .brand-panel h3{font-size:3rem}.is-enhanced .journey-scene{gap:8%;padding-inline:0}.is-enhanced .journey-ring{max-width:320px}}
/* Phone / portrait tablet: graphic above text. Same narrative, its own stage. */
@media(max-width:899px){
 .brand-story.is-enhanced{height:750svh}.mandate-journey.is-enhanced{height:480svh}
 .is-enhanced .sequence-inner{padding-block:24px}
 .is-enhanced .sequence-heading{gap:24px;align-items:center;min-height:44px}
 .is-enhanced .sequence-heading h2{font-size:clamp(1.25rem,4.5vw,1.75rem)}
 .brand-story .sequence-heading{flex-direction:column;align-items:flex-start;gap:8px}
 .brand-story .sequence-heading h2{font-size:1.75rem;line-height:1.25}
 .brand-story .sequence-heading .sequence-skip{align-self:flex-end;max-width:none;min-height:32px}
 .is-enhanced .sequence-skip{font-size:.6875rem;max-width:110px}
 .is-enhanced .brand-scene,.is-enhanced .journey-scene{--graphic-height:clamp(136px,25svh,240px);display:block;position:relative;flex:1;min-height:0;margin:16px 0 0;padding:0}
 .is-enhanced .sequence-lockup{top:calc(var(--graphic-height)/2);width:220px;max-width:74%}
 .is-enhanced .brand-panels{inset:calc(var(--graphic-height) + 32px) 0 0;width:100%;max-width:44ch;margin-inline:auto}
 .is-enhanced .brand-panel{top:0;left:0;padding:0;border:0;transform:translateY(0)}
 .is-enhanced .brand-panel .stage-index{margin-bottom:16px;font-size:.6875rem}
 .is-enhanced .brand-panel h3{font-size:clamp(1.75rem,6.8vw,2.75rem);margin-bottom:16px;line-height:1.2}
 .is-enhanced .brand-panel p{font-size:1rem;line-height:1.8;max-width:none}
 .is-enhanced .brand-resolution{top:calc(var(--graphic-height) + 48px)}
 .is-enhanced .brand-resolution p{font-size:clamp(1.5rem,6vw,2.25rem)}
 .is-enhanced .journey-graphic{position:absolute;inset:0 0 auto;max-width:none;height:var(--graphic-height);margin:0}
 .is-enhanced .journey-ring{height:var(--graphic-height);width:auto;max-width:100%}
 .is-enhanced .journey-origin{position:absolute;bottom:0;left:0;right:0;margin:0;font-size:.6875rem}
 .is-enhanced .journey-panels{position:absolute;inset:calc(var(--graphic-height) + 32px) 0 0;height:auto;max-width:44ch;margin-inline:auto}
 .is-enhanced .journey-panel,.is-enhanced .journey-panel:first-child{position:absolute;top:0;left:0;padding:0;border:0;transform:none}
 .is-enhanced .journey-panel .stage-index{position:static;margin-bottom:12px}
 .is-enhanced .journey-panel h3{font-size:clamp(1.375rem,5vw,1.75rem);line-height:1.35;margin-bottom:16px;max-width:none}
 .is-enhanced .journey-panel p{font-size:.9375rem;line-height:1.8;max-width:none}
 .is-enhanced .journey-panel .process-optional{font-size:.6875rem;margin-bottom:8px}
 .is-enhanced .journey-resolution{font-size:.8125rem;min-height:24px;margin-top:24px}
}
/* Touch/keyboard alternative when text and diagram cannot fit a pinned viewport. */
.is-enhanced.is-manual{height:auto;padding-block:32px}
.is-manual>.sequence-stage{height:auto;position:relative;top:auto;overflow:visible}
.is-manual .sequence-inner{height:auto}.is-manual .brand-scene,.is-manual .journey-scene{flex:none}
.sequence-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--rule);padding-top:16px;margin-top:24px;font-size:.8125rem}
.sequence-controls button{background:none;color:var(--navy);border:1px solid var(--rule);min-width:88px;min-height:48px;padding:8px 16px;transition:background 180ms var(--ease)}
.sequence-controls button:is(:hover,:active){background:#e8ecf1}.sequence-controls button:disabled{opacity:.35;cursor:default}.sequence-controls output{font-variant-numeric:tabular-nums}
@media(hover:none){.area-link:active{background:var(--surface)}.area-link:active .area-arrow{transform:translate(3px,-3px)}}
@media print{.sequence-controls{display:none!important}}
@media(max-width:899px){.is-enhanced .sequence-graphic{height:var(--graphic-height);bottom:auto}}
@media(min-width:600px) and (max-width:899px){.is-enhanced .brand-scene,.is-enhanced .journey-scene{--graphic-height:280px}.is-enhanced .brand-panel p,.is-enhanced .journey-panel p{font-size:1.125rem}.is-enhanced .brand-panels,.is-enhanced .journey-panels{max-width:48ch}.is-enhanced .sequence-lockup{width:280px}}
.square-number{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:500;font-style:normal;line-height:1;font-variant-numeric:tabular-nums;opacity:0}
.is-enhanced .brand-panel .stage-index{display:none}
.square-parts::before{content:'';position:absolute;inset:0;background:var(--navy);opacity:var(--square-joined,0)}
.is-manual .square-parts,.is-manual .square-parts i,.is-manual .ring-progress{transition:transform 220ms var(--ease),stroke-dashoffset 220ms var(--ease),opacity 180ms var(--ease)}
.is-manual .sequence-heading{order:0}.is-manual .sequence-controls{order:1;margin-block:16px}.is-manual .brand-scene,.is-manual .journey-scene{order:2}.is-manual .journey-resolution{order:3}
.cost-layout>*,.contact-grid>*,.location-grid>*{min-width:0}.price-list>div{grid-template-columns:minmax(0,1fr) auto}

/* One interaction language: precise outlines, short fades and deliberate focus. */
.line-icon{display:block;width:40px;height:40px;flex:none;color:var(--navy)}
.sequence-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:flex-end}
.sequence-view{border:0;border-bottom:1px solid var(--rule);background:none;padding:8px 0;min-height:44px;font-size:.75rem;text-align:start;color:var(--navy)}
.sequence-view:hover{border-color:var(--navy)}
.sequence-heading{align-items:flex-start}
.is-enhanced>.sequence-stage{height:calc(100dvh - var(--header-height))}
.brand-story .sequence-heading{flex-direction:row;align-items:flex-start}
.brand-story .sequence-heading .sequence-actions{max-width:60%;gap:8px 24px}
.brand-story .sequence-heading .sequence-skip{align-self:auto}
.is-manual .sequence-controls{order:3}
.is-manual .brand-scene,.is-manual .journey-scene{order:2}
.sequence-view-static .sequence-graphic{display:none}
.sequence-view-static .sequence-controls{display:none!important}
.sequence-view-static .journey-resolution{margin-top:40px}
.sequence-view-static .journey-graphic{display:none}
.sequence-view-static .journey-scene{display:block;max-width:76ch}
.sequence-view-static .journey-panel{padding-block:32px}
.sequence-view-static .journey-panel h3{max-width:none}

/* The principle opens the field of law; the tiles then offer a clear choice. */
.practice-section{padding-block:64px var(--space-section)}
.practice-opening{min-height:clamp(460px,78svh,800px);display:flex;flex-direction:column}
.practice-opening h2{color:var(--navy)}
.practice-quote{margin:auto;max-width:1060px;padding:72px 0;text-align:center}
.practice-quote p{text-align:center!important;text-align-last:center!important;font-size:clamp(1.75rem,3.4vw,3.25rem);line-height:1.35;letter-spacing:-.035em;font-weight:500;color:var(--navy);hyphens:none}
.practice-quote footer{margin-top:24px;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.7;max-width:48ch;margin-inline:auto;color:var(--muted)}
.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:48px}
.practice-civil-group{grid-column:1/-1;border:1px solid var(--rule);padding:32px;min-width:0}
.civil-heading{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:32px}
.civil-heading h3{font-size:clamp(1.75rem,2.5vw,2.25rem);color:var(--navy);margin-bottom:12px}
.civil-heading p{font-size:1rem;line-height:1.8;text-align:start;max-width:48ch}
.civil-heading>a{flex-shrink:0;font-size:.8125rem;min-height:44px;display:inline-flex;align-items:center}
.civil-subareas{display:grid;gap:16px}
.practice-card .focus-title{margin:0}
.field-introduction{margin-bottom:24px}
.practice-card{min-width:0;border:1px solid var(--rule);background:#fff;position:relative;transition:border-color 240ms var(--ease),box-shadow 240ms var(--ease),background 240ms var(--ease)}
.practice-card>summary{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:28px;list-style:none;padding:32px;min-height:312px;height:100%;color:var(--navy)}
.practice-card-copy{display:flex;flex-direction:column;gap:12px;min-width:0}
.practice-card .focus-title{font-size:clamp(1.375rem,2vw,1.75rem);font-weight:600;line-height:1.35;letter-spacing:-.03em}
.card-kicker{font-size:.75rem;font-weight:600;line-height:1.5;letter-spacing:.025em}
.card-description{font-size:.9375rem;line-height:1.7;color:var(--muted)}
.card-open{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;margin-top:auto;padding-top:8px;font-size:.8125rem;min-height:44px}
.practice-card-featured{grid-column:1/-1;background:#f1f4f8;border-color:#bdc9d7}
.practice-card-featured>summary{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:40px;min-height:220px;padding:48px}
.practice-card-featured .line-icon{width:64px;height:64px}
.practice-card-featured .focus-title{font-size:clamp(2rem,3.2vw,3rem)}
.practice-card-featured .card-open{margin:0;width:auto;min-width:116px}
.practice-card-secondary{border-width:0 0 1px}
.practice-card-secondary>summary{min-height:128px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:24px;padding:24px 16px}
.practice-card-secondary .card-open{width:auto;min-width:116px;margin:0}
.practice-card-secondary .focus-title{font-size:1.25rem}
.practice-card[data-focus-active]{border-color:var(--navy)}
@media(hover:hover) and (pointer:fine){.practice-card:hover{border-color:var(--navy)}}
.practice-card>summary:focus-visible{outline:2px solid var(--navy);outline-offset:-6px}
.practice-card-body{padding:0 32px 32px}
.practice-context{display:grid;grid-template-columns:1fr;gap:24px;margin-top:40px}
.practice-context p{font-size:1rem;line-height:1.85;margin:0;max-width:64ch}
.practice-context .practice-note{grid-column:1/-1;font-size:.875rem;color:var(--muted)}
.has-reveals [data-reveal],.has-reveals [data-reveal-group]>.practice-card{opacity:0;transform:translateY(20px);transition:opacity 650ms var(--ease),transform 650ms var(--ease),border-color 240ms var(--ease),background 240ms var(--ease);transition-delay:var(--reveal-delay,0ms)}
.has-reveals .is-revealed[data-reveal],.has-reveals [data-reveal-group]>.is-revealed{opacity:1;transform:none}

/* Larger path, directional arrow and recognisable, labelled process symbols. */
.ring-track{stroke-width:2}.ring-progress{stroke-width:3.5;stroke-linecap:round}
.ring-arrow{color:var(--navy);transform-origin:180px 180px}
.journey-step-mark{display:flex;align-items:center;gap:20px;margin-bottom:24px;color:var(--navy)}
.journey-step-mark .line-icon{width:56px;height:56px}
.journey-panel .journey-step-mark .stage-index{position:static;margin:0;color:var(--navy);font-size:1.125rem;letter-spacing:0;font-weight:550}
.is-enhanced .journey-ring{max-width:480px}
.is-enhanced .journey-scene{grid-template-columns:1fr 1fr;padding-inline:0;gap:8%}
.is-enhanced .journey-panel h3{max-width:24ch}
.is-enhanced .journey-panel p{max-width:47ch}
.is-enhanced .journey-resolution{position:absolute;inset-inline:24px;bottom:16px;min-height:0;pointer-events:none}
.is-enhanced .sequence-inner{position:relative}
.is-manual>.sequence-stage{height:auto}
.is-manual .journey-resolution{position:static;order:4;margin-top:16px}
@media(max-width:899px){
 .hero-image img{object-position:50% 0}
 .sequence-actions{gap:4px 16px}
 .sequence-actions .sequence-skip,.sequence-view{font-size:.6875rem;min-height:40px;max-width:none}
 .brand-story .sequence-heading .sequence-actions{max-width:56%;gap:0 12px}
 .is-enhanced .sequence-heading{gap:12px;align-items:flex-start}
 .brand-story .sequence-heading h2{font-size:1.5rem}
 .is-enhanced .brand-scene{--graphic-height:clamp(100px,17svh,180px)}
 .is-enhanced .brand-panels{inset-block-start:calc(var(--graphic-height) + 20px)}
 .is-enhanced .brand-resolution{top:calc(var(--graphic-height) + 28px)}
 .is-enhanced .journey-scene{--graphic-height:clamp(168px,27svh,280px)}
 .journey-step-mark{gap:16px;margin-bottom:16px}
 .journey-step-mark .line-icon{width:44px;height:44px}
 .is-enhanced .journey-panels{inset-block-start:calc(var(--graphic-height) + 20px)}
 .is-enhanced .journey-panel h3{font-size:clamp(1.375rem,4.8vw,1.875rem);margin-bottom:12px}
 .is-enhanced .journey-panel p{font-size:1rem;line-height:1.65}
 .practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .civil-heading{flex-direction:column;gap:12px}
 .practice-context{gap:24px 32px}
 .practice-card>summary{padding:28px}
 .practice-card-featured>summary{grid-template-columns:56px 1fr;gap:24px}
 .practice-card-featured .line-icon{width:48px;height:48px}
 .practice-card-featured .card-open{grid-column:2}
 .practice-card-secondary>summary{grid-template-columns:40px minmax(0,1fr)}
 .practice-card-secondary .card-open{grid-column:2}
}
@media(max-width:599px){
 .hero-image img{object-position:50% 0}
 .practice-section{padding-top:48px}
 .practice-opening{min-height:calc(85svh - var(--header-height))}
 .practice-quote{padding-block:64px;max-width:28ch}
 .practice-quote p{font-size:clamp(1.5rem,6.8vw,2rem)}
 .quote-break{display:none}
 .practice-quote footer{font-size:1rem;margin-top:20px}
 .practice-grid{grid-template-columns:1fr;gap:16px;margin-top:32px}
 .practice-civil-group{padding:20px}
 .civil-heading{margin-bottom:24px}
 .civil-heading h3{font-size:1.75rem}
 .practice-card>summary{min-height:176px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:16px 20px;padding:24px}
 .practice-card .line-icon{width:36px;height:36px;align-self:start}
 .practice-card .focus-title{font-size:1.375rem}
 .practice-card .card-open{grid-column:2;min-height:32px;padding:0}
 .practice-card-featured>summary{padding-block:32px}
 .practice-card-featured .focus-title{font-size:1.75rem}
 .civil-subareas .practice-card>summary{grid-template-columns:minmax(0,1fr);padding:24px 16px;gap:16px;min-height:0}
 .civil-subareas .practice-card .line-icon{width:32px;height:32px}
 .civil-subareas .practice-card .card-open{grid-column:1;width:100%;padding-top:8px}
 .practice-card-secondary .focus-title{font-size:1.125rem}
 .card-description{font-size:.875rem}
 .practice-context{display:block;margin-top:40px}
 .practice-context p+p{margin-top:24px}
 .is-enhanced .sequence-heading h2{font-size:1.5rem}
 .sequence-view{font-size:.6875rem}
}
@media(prefers-reduced-motion:reduce){
 .has-reveals [data-reveal],.has-reveals [data-reveal-group]>.practice-card{opacity:1;transform:none;transition:none}
 .sequence-view{display:none}
}
@media print{.practice-opening{min-height:0}.practice-grid,.practice-context{display:block}.practice-card{margin-bottom:16px}.sequence-view{display:none}.has-reveals [data-reveal],.has-reveals [data-reveal-group]>.practice-card{opacity:1;transform:none}}
/* Anchor destinations align with the pinned stage, without the general text offset. */
#haltung,#ablauf{scroll-margin-top:-24px}
@media(max-width:899px){
 .brand-story .sequence-heading{flex-direction:column;gap:8px}
 .brand-story .sequence-heading h2{font-size:1.75rem;white-space:nowrap}
 .brand-story .sequence-heading .sequence-actions{width:100%;max-width:none;justify-content:space-between;gap:4px 12px}
 .brand-story .sequence-heading .sequence-skip{min-height:40px}
}
@media(max-width:899px){.brand-story.is-manual{padding-block:0}.sequence-actions .sequence-skip,.sequence-view{font-size:.75rem}.brand-story .sequence-heading .sequence-actions{flex-wrap:nowrap}}
/* Text enlargement must not force a minimum content width on flex children. */
.practice-quote{width:100%;min-width:0;max-width:1060px}
.practice-quote p,.practice-quote footer{overflow-wrap:anywhere}
.sequence-actions,.sequence-heading h2{min-width:0}
@media(max-width:899px){.brand-story .sequence-heading h2{white-space:normal}.brand-story .sequence-heading .sequence-actions{flex-wrap:wrap}}

/* Four commitments: title, personal statement, explanation. */
.brand-story .sequence-heading h2{font-size:clamp(1.75rem,2.6vw,2.5rem);line-height:1.25;max-width:22ch;text-wrap:balance}
.brand-story .brand-panel h3{font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.15;letter-spacing:-.035em;margin-bottom:20px}
.brand-panel .brand-subheading{font-size:clamp(1.125rem,1.5vw,1.375rem);font-weight:600;line-height:1.45;letter-spacing:-.015em;max-width:32ch;margin:0 0 16px;color:var(--ink);text-wrap:balance}
.brand-panel p{margin:0}
@media(max-width:899px){
 .brand-story .sequence-heading h2{font-size:1.625rem;max-width:23ch}
 .brand-story .brand-panel h3{font-size:clamp(1.75rem,6.7vw,2.5rem);margin-bottom:16px}
 .brand-panel .brand-subheading{font-size:1.125rem;line-height:1.4;margin-bottom:12px;max-width:none}
 .brand-story.is-enhanced .brand-scene{--graphic-height:clamp(112px,19svh,184px)}
 .brand-story.is-enhanced .brand-panel p{line-height:1.65}
}
@media(min-width:600px) and (max-width:899px){
 .brand-story.is-enhanced .brand-scene{--graphic-height:220px}
}
@media(max-width:599px) and (max-height:740px){
 .brand-story.is-enhanced .brand-scene{--graphic-height:96px}
 .brand-story.is-enhanced .brand-panels{inset-block-start:calc(var(--graphic-height) + 24px)}
}

/* Quiet, persistent alternatives to scrolling; only the arrow attracts attention. */
.sequence-controls{flex-shrink:0;margin-top:8px;padding-top:8px;gap:12px;border-top:0;order:3}
.sequence-controls button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;min-width:80px;min-height:44px;padding:8px;color:var(--navy)}
.sequence-control-arrow{width:22px;height:22px;flex:none}
[data-sequence-back] .sequence-control-arrow{transform:rotate(180deg)}
.sequence-control-hint{font-size:.6875rem;line-height:1.5;color:var(--muted);text-align:center}
.is-enhanced:not(.is-manual) .journey-resolution{bottom:68px}
.is-enhanced [data-sequence-next] .sequence-control-arrow{animation:sequence-hint 3.2s ease-in-out infinite}
.is-enhanced [data-sequence-next]:is(:hover,:focus-visible) .sequence-control-arrow{animation:none;opacity:1}
@keyframes sequence-hint{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:599px){.sequence-controls{gap:4px}.sequence-controls button{font-size:.75rem;padding-inline:4px;min-width:70px}.sequence-control-hint{max-width:11ch}.is-enhanced:not(.is-manual) .journey-resolution{bottom:64px}}
@media(prefers-reduced-motion:reduce){.sequence-control-arrow{animation:none!important}}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.mandate-journey:not(.is-enhanced) .ring-arrow,.sequence-view-static .ring-arrow{display:none}
@media(max-width:899px){
 .mandate-journey .sequence-heading{flex-direction:column;align-items:stretch;gap:8px}
 .mandate-journey .sequence-heading h2{font-size:1.6rem;max-width:none}
 .mandate-journey .sequence-actions{width:100%;max-width:none;justify-content:space-between;gap:4px 12px}
 .is-enhanced .journey-scene{--graphic-height:clamp(120px,22svh,200px)}
}
/* In short-height layouts controls precede the full-height readable content. */
.is-manual .sequence-controls{order:1}

/* A shared centre: the four commitments rejoin before the original logo returns. */
.brand-resolution{color:var(--navy);pointer-events:none}
.brand-resolution-message>span,.brand-resolution-message>strong{display:block}
/* Three timed lines share one closing composition; no extra scroll stops. */
.brand-resolution .brand-resolution-name,.is-enhanced .brand-resolution .brand-resolution-name{font-size:clamp(.6875rem,1vw,.75rem);font-weight:250;line-height:1.8;letter-spacing:.2em;margin:20px 0 0}
.is-enhanced .brand-resolution{display:block}
.is-enhanced .brand-resolution-message{margin:0;width:100%}
.is-enhanced .brand-resolution-message>span,.is-enhanced .brand-resolution-message>strong,.is-enhanced .brand-resolution-name{opacity:0}
.is-enhanced .brand-resolution.is-presenting .brand-resolution-message>span{animation:resolution-appear 700ms var(--ease) both}
.is-enhanced .brand-resolution.is-presenting .brand-resolution-message>strong{animation:resolution-appear 700ms var(--ease) 650ms both}
.is-enhanced .brand-resolution.is-presenting .brand-resolution-name{animation:resolution-appear 800ms var(--ease) 1650ms both}
@keyframes resolution-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* The reading alternative stays on the title row, at the outer content edge. */
.brand-story .sequence-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:first baseline;gap:4px 24px}
.brand-story .sequence-heading h2{grid-column:1;grid-row:1;margin:0}
.brand-story .sequence-heading .sequence-actions{display:contents}
.brand-story .sequence-heading .sequence-view{grid-column:2;grid-row:1;justify-self:end;text-align:end;max-width:none}
.brand-story .sequence-heading .sequence-skip{grid-column:2;grid-row:2;justify-self:end}
@media(max-width:599px){
 .brand-story .sequence-heading{column-gap:12px}
 .brand-story .sequence-heading h2{font-size:clamp(1.25rem,6.5vw,1.625rem)}
 .brand-story .sequence-heading .sequence-view{font-size:.6875rem}
 .is-enhanced .brand-resolution p.brand-resolution-message{font-size:clamp(1.125rem,5.3vw,1.75rem)}
 .sequence-control-hint{max-width:14ch}
}
@media(prefers-reduced-motion:reduce){.brand-resolution,.brand-resolution-message>span,.brand-resolution-message>strong,.brand-resolution-name{animation:none!important;opacity:1!important;visibility:visible!important;transform:none!important}}
@media print{.brand-panel,.brand-resolution,.brand-resolution-message>span,.brand-resolution-message>strong,.brand-resolution-name{animation:none!important;opacity:1!important;visibility:visible!important;transform:none!important}}

/* Clear hierarchy, with both desktop headings sharing their first baseline. */
.contact-grid{align-items:first baseline}
.contact-grid .contact-main>h2{font-size:var(--type-h2);line-height:1.18;font-weight:600;letter-spacing:-.035em;color:var(--navy);margin:0}
.contact-grid .form-title{font-size:clamp(1.375rem,2vw,1.75rem);line-height:1.25;font-weight:600;letter-spacing:-.025em;color:var(--navy);margin:0}
.contact-grid .form-title+.form-note{margin-top:24px}
[dir=rtl] .contact-grid .contact-main>h2,[dir=rtl] .contact-grid .form-title{line-height:1.5;letter-spacing:normal}
.contact-portrait strong{font-size:1.0625rem}
.contact-direct{justify-content:flex-start;gap:4px;font-size:1.0625rem;line-height:1.65;color:var(--navy)}
.contact-direct .contact-address,.contact-direct .contact-phone,.contact-direct .contact-email{margin:0;font:inherit;color:inherit;text-align:start;font-style:normal;letter-spacing:normal}
.contact-direct .contact-address{padding-bottom:8px}
.contact-direct .contact-phone,.contact-direct .contact-email{min-height:40px}
@media(max-width:1100px){.contact-direct{font-size:1rem}}
.contact-channels{margin-top:24px}
[dir=rtl] .contact-address{text-align:left}
@media(max-width:899px){.contact-grid{align-items:start}}
@media(max-width:399px){.contact-portrait{gap:20px}.contact-portrait img{width:80px}.contact-portrait strong{font-size:1rem}}

/* Four independent choices, with subjects opening below in the same page. */
.practice-section{padding-top:40px}
.practice-opening{min-height:0}
.practice-quote{margin:0 auto;padding:28px 0 24px;max-width:1060px}
.practice-quote p{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.3}
.practice-quote footer{margin-top:12px;font-size:clamp(.9375rem,1.25vw,1.125rem)}
.practice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px;align-items:stretch}
.practice-grid>.practice-card{margin-top:0}
.practice-section .practice-card{grid-column:auto;border:1px solid var(--rule)}
.practice-section .practice-card-featured{background:#fff;border-color:#bdc9d7}
.practice-section .practice-card-featured::before{content:'';position:absolute;inset-inline:-1px;top:-1px;height:3px;background:var(--navy);pointer-events:none;z-index:1}
.practice-section .practice-card>summary{display:flex;flex-direction:column;align-items:stretch;gap:20px;min-height:268px;height:100%;padding:24px}
.practice-section .practice-card[open]>summary{height:auto}
.practice-section .practice-card .line-icon{width:32px;height:32px}
.practice-section .practice-card .focus-title{font-size:clamp(1.125rem,1.8vw,1.625rem);line-height:1.3;position:relative;width:fit-content;max-width:100%}
.practice-section .practice-card .focus-title::after{content:'';position:absolute;inset-inline:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 240ms var(--ease)}
[dir=rtl] .practice-section .practice-card .focus-title::after{transform-origin:right}
.practice-section .practice-card[data-practice-active] .focus-title::after,.practice-section .practice-card>summary:focus-visible .focus-title::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.practice-section .practice-card>summary:hover .focus-title::after{transform:scaleX(1)}}
.practice-section .practice-card .card-kicker{position:absolute;top:32px;inset-inline-start:76px;font-size:.75rem;font-weight:650;color:var(--navy);letter-spacing:.02em}
.practice-section .practice-card .card-description{font-size:.875rem;line-height:1.65}
.practice-section .practice-card .card-open{width:100%;min-width:0;margin-top:auto;min-height:40px;padding-top:8px;font-size:.75rem}
.practice-section .practice-card[data-practice-active]{background:#fff;border-color:var(--navy)}
.practice-card[data-practice-active] .plus::after{transform:rotate(0)}
.practice-explorer{--practice-gap:24px;margin-top:var(--practice-gap);scroll-margin-block:24px;overflow-anchor:none}
.practice-explorer.is-transitioning{overflow:hidden}
.practice-explorer-inner{padding:28px 32px 32px;border:1px solid var(--rule);border-top:2px solid var(--navy);display:flow-root}
.practice-explorer-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.practice-explorer-heading h3{font-size:clamp(1.375rem,2.5vw,1.875rem);line-height:1.35;color:var(--navy)}
.practice-explorer .practice-card-body{padding:0}
.practice-explorer .field-introduction{max-width:70ch;font-size:1rem}
.practice-explorer .focus-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.practice-explorer .focus-links>a{padding-inline:16px}
.practice-context{margin-top:32px}
@media(max-width:999px){
 .practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .practice-grid>.practice-card{margin-top:0}
 .practice-section .practice-card>summary{min-height:240px}
 .practice-section .practice-card .focus-title{font-size:1.375rem}
}
@media(max-width:599px){
 .practice-section{padding-top:40px}
 .practice-quote{padding:28px 0 20px;max-width:none}
 .practice-quote p{font-size:clamp(1.5rem,6.8vw,2rem)}
 .practice-grid,.civil-subareas{grid-template-columns:1fr;gap:12px}
 .practice-section .practice-card>summary{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px 20px;padding:20px;min-height:0}
 .practice-section .practice-card .card-open{grid-column:2;padding:0}
 .practice-section .practice-card .card-description{font-size:.875rem}
 .practice-section .practice-card .card-kicker{position:static}
 .practice-explorer{--practice-gap:16px}
 .practice-explorer-inner{padding:20px}
 .practice-explorer .focus-links>a{padding-inline:12px}
 .practice-explorer-heading{align-items:start;gap:12px}
 .practice-explorer-close-label{display:none}
 .practice-explorer .focus-window-close{padding-inline:8px;min-width:44px}
 .practice-explorer .focus-links{grid-template-columns:1fr}
}
