/* KANZLEI HAJJO · shared design system · see DESIGN-SYSTEM.md */
@font-face{font-family:Manrope;src:url('assets/fonts/manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{--navy:#001b47;--night:#122131;--ink:#151c26;--muted:#4b5563;--paper:#fff;--surface:#f5f4f1;--rule:#d8dde3;--gutter:clamp(24px,4.45vw,64px);--font:Manrope,Arial,sans-serif;--header-height:104px;--space-section:clamp(80px,9vw,144px);--ease:cubic-bezier(.22,.61,.36,1);--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s6:48px;--s8:64px;--s12:96px;--s16:128px;--type-h1:clamp(2.25rem,4.7vw,4.25rem);--type-h2:clamp(2rem,3.4vw,3.25rem);--type-h3:clamp(1.375rem,2vw,1.75rem)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px);-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--paper);font:450 1.125rem/1.7 var(--font);overflow-wrap:break-word}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;border-radius:0}button,summary{cursor:pointer}button{touch-action:manipulation}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3,h4,h5,dl,dd{margin:0}h1,h2,h3,h4,h5{font-weight:600;line-height:1.25;letter-spacing:-.035em;text-wrap:balance}h1{font-size:var(--type-h1);line-height:1.15}h2{font-size:var(--type-h2);line-height:1.18}h3{font-size:var(--type-h3)}h4,h5{font-size:1.125rem}p+p{margin-top:24px}strong{font-weight:650}address{font-style:normal}p:not(:where(.eyebrow,.hero-identity,.hero-profession,.person-role,.example-label,.example-question,.example-source,.career-timeline p,.brand-resolution p,.journey-resolution,.site-footer p,.brand-tagline)),.legal-page li{text-align:justify;text-align-last:start;hyphens:auto;-webkit-hyphens:auto}::selection{color:var(--navy);background:#dce5f2}[hidden]{display:none!important}:focus-visible{outline:3px solid #356ab3;outline-offset:5px}.site-footer :focus-visible,.hero :focus-visible{outline-color:#fff}a,button{ -webkit-tap-highlight-color:rgba(0,27,71,.1)}
.container{width:min(1440px,100%);padding-inline:var(--gutter);margin-inline:auto}.container>*{min-width:0}.eyebrow{font-size:.75rem;font-weight:600;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.inline-link,.legal-page a:not(.text-link),.source-links a,.example-source a{ text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.inline-link:hover,.legal-page a:hover,.example-source a:hover{text-decoration-thickness:2px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;border-bottom:1px solid currentColor;font-size:.9375rem;font-weight:550}.text-link span{transition:transform 200ms var(--ease)}.text-link:hover span{transform:translate(3px,-2px)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:56px;max-width:100%;padding:14px 24px;background:var(--navy);color:#fff;border:1px solid var(--navy);font-size:.9375rem;font-weight:600;transition:background 200ms var(--ease),transform 200ms var(--ease)}.button:hover{background:#153762}.button:active{transform:translateY(1px)}.button:disabled{opacity:.6;cursor:wait;transform:none}.button span{font-size:1.25rem}.skip-link{position:fixed;inset:16px auto auto 16px;z-index:200;background:white;padding:16px 24px;transform:translateY(-200%)}.skip-link:focus{transform:none}
/* Header: one persistent point of orientation. */
.site-header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--rule)}.header-inner{display:flex;align-items:center;gap:24px;min-height:104px;padding-block:16px}.brand-lockup{display:flex;align-items:center;gap:32px;margin-inline-end:auto;min-width:0}.brand{display:block;flex-shrink:0;padding-block:8px}.brand img{width:155px}.brand-tagline{max-width:146px;font-size:.75rem;line-height:1.6;color:var(--muted);text-align:start!important}.header-inner #main-nav{display:flex;gap:20px;align-items:center;flex-shrink:0}.header-inner #main-nav>a{position:relative;display:flex;align-items:center;min-height:44px;font-size:.8125rem;font-weight:600;white-space:nowrap}.header-inner #main-nav>a::after{content:'';position:absolute;bottom:2px;left:calc(50% - 2px);width:4px;height:4px;background:var(--navy);opacity:0;transform:translateY(3px);transition:opacity 180ms var(--ease),transform 180ms var(--ease)}.header-inner #main-nav>a:is(:hover,[aria-current],[aria-expanded=true])::after{opacity:1;transform:none}.header-tools{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-inline-start:24px;border-inline-start:1px solid var(--rule)}.header-phone{font-size:.75rem;font-weight:650;white-space:nowrap;display:flex;align-items:center;min-height:32px}.header-phone:hover{text-decoration:underline;text-underline-offset:4px}.phone-label{display:none}.menu-toggle{display:none}.menu-symbol{position:relative;width:20px;height:16px}.menu-symbol::before,.menu-symbol::after{content:'';position:absolute;inset-inline:0;height:1px;background:currentColor;top:4px;transition:transform 180ms var(--ease)}.menu-symbol::after{top:11px}.menu-toggle[aria-expanded=true] .menu-symbol::before{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-symbol::after{transform:translateY(-3.5px) rotate(-45deg)}
/* Dialog and native disclosures share one interaction vocabulary. */
.practice-menu{inset:0 0 0 auto;margin:0;width:min(600px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;color:var(--ink);background:white;overflow:hidden;overscroll-behavior:contain}.practice-menu::after{content:'';position:absolute;inset-inline:0;bottom:0;height:24px;background:linear-gradient(transparent,white);pointer-events:none}.practice-menu::backdrop{background:rgba(12,25,43,.38);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.practice-menu[open]{display:flex;flex-direction:column;animation:menu-enter 220ms var(--ease)}@keyframes menu-enter{from{opacity:.5;transform:translateX(20px)}to{opacity:1;transform:none}}.practice-menu-open{overflow:hidden}.practice-menu-top{flex:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 32px;border-bottom:1px solid var(--rule);background:white}.practice-menu-top h2{font-size:1.75rem}.practice-menu-close{background:none;border:0;min-height:44px;padding:8px 0 8px 16px;display:flex;align-items:center;gap:16px;font-size:.8125rem}.practice-menu-close span{font-size:1.5rem}.practice-menu-links{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9aa9bc transparent;padding:12px 32px max(40px,env(safe-area-inset-bottom));scroll-padding-block:20px}.practice-menu-group{border-bottom:1px solid var(--rule)}.practice-menu-group>summary,.practice-menu-subgroup>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;padding-block:24px;font-size:1.375rem;font-weight:550}.practice-menu-subgroup>summary{font-size:1.0625rem;min-height:56px;padding:16px 0}.practice-menu-subgroup{border-block:1px solid var(--rule);margin-block:12px}.practice-menu-subitems{padding:0 0 24px}.practice-menu-subgroup .practice-menu-subitems{padding-inline-start:24px;border-inline-start:1px solid var(--rule);margin-inline-start:4px}.practice-menu-subitems>a{display:block;padding:12px 0;min-height:48px;font-size:.9375rem;line-height:1.6}.practice-menu-subitems>a[aria-current=page]{font-weight:700;color:var(--navy)}.practice-menu a:hover{text-decoration:underline;text-underline-offset:5px}summary::-webkit-details-marker{display:none}.plus{position:relative;display:inline-block;flex:0 0 20px;width:20px;height:20px;margin-inline-start:auto}.plus::before,.plus::after{content:'';position:absolute;left:3px;top:9px;width:14px;height:1px;background:currentColor}.plus::after{transform:rotate(90deg);transition:transform 180ms var(--ease)}details[open]>summary .plus::after{transform:rotate(0)}.quiet-detail{border-bottom:1px solid var(--rule)}.quiet-detail>summary{display:flex;align-items:center;gap:24px;min-height:72px;padding:20px 0;list-style:none;font-size:1rem;font-weight:550}.quiet-detail>summary:hover{color:var(--navy)}.detail-body,.field-content{padding:8px 0 32px}.quiet-detail p{max-width:68ch}.quiet-detail .detail-body p,.quiet-detail .field-content p{font-size:1rem;line-height:1.8}.field-content h4{margin-block:24px 12px}.field-content .cost-answer+.cost-answer{margin-top:32px}
/* Fachseiten: quiet navigation and a single readable content column. */
.topic-header{padding-block:40px 72px;border-bottom:1px solid var(--rule)}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:.75rem;line-height:1.6;margin-bottom:56px;color:var(--muted)}.breadcrumbs a{display:inline-flex;align-items:center;min-height:36px}.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}.breadcrumbs>[aria-current]{color:var(--ink)}.topic-header>.eyebrow{margin-bottom:24px}.topic-header h1{color:var(--navy);max-width:24ch}.topic-intro{max-width:65ch;margin-top:32px;font-size:1.25rem;line-height:1.7}.topic-layout{display:grid;grid-template-columns:minmax(190px,2.7fr) minmax(0,7fr);gap:clamp(48px,7vw,112px);padding-block:80px 112px}.topic-nav{position:sticky;top:calc(var(--header-height) + 32px);align-self:start;max-height:calc(100svh - var(--header-height) - 56px);overflow:auto;scrollbar-width:thin}.topic-nav>.eyebrow{margin-bottom:16px}.topic-nav nav{display:flex;flex-direction:column}.topic-nav nav a{display:block;min-height:44px;padding:10px 0;font-size:.8125rem;line-height:1.65}.topic-nav nav a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:4px}.topic-nav-children{padding-inline-start:16px;border-inline-start:1px solid var(--rule);margin:4px 0 16px}.topic-nav-group{margin-block:12px 4px;font-weight:650}.topic-nav-related{margin-top:24px;padding-top:24px;border-top:1px solid var(--rule)}.topic-content{max-width:68ch;min-width:0}.topic-content>section+section{margin-top:64px;padding-top:48px;border-top:1px solid var(--rule)}.topic-content h2{font-size:clamp(1.625rem,2.1vw,2rem);line-height:1.3;color:var(--navy);margin-bottom:24px}.topic-content h3{font-size:1.375rem;margin-block:32px 16px}.topic-content p{font-size:1.0625rem;line-height:1.85}.topic-content .text-link{margin-top:24px}.topic-subsection{margin-top:40px;padding-top:32px;border-top:1px solid var(--rule)}.topic-content .field-topics{margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:24px}.field-topics dt{font-weight:600}.field-topics dd{font-size:1rem;line-height:1.8;margin-top:8px}.practice-example{margin-block:32px;padding:24px 28px;background:var(--surface);border-inline-start:2px solid var(--navy)}.example-label{font-size:.6875rem!important;font-weight:650;letter-spacing:.12em;text-transform:uppercase;line-height:1.6!important;color:var(--navy);margin-bottom:16px}.example-question{margin-top:0!important;font-weight:600}.example-question em{font-style:italic}.practice-example p+p{margin-top:16px}.example-source{font-size:.8125rem!important;line-height:1.75!important;color:var(--muted);overflow-wrap:anywhere}.topic-faq{border-bottom:1px solid var(--rule)}.topic-faq>summary{list-style:none;display:flex;align-items:center;gap:24px;min-height:72px;padding-block:20px;font-size:1rem;font-weight:600}.topic-faq>summary::after{content:'+';margin-inline-start:auto;font-size:1.5rem;font-weight:400}.topic-faq[open]>summary::after{content:'−'}.topic-faq p{padding-bottom:24px}.source-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px;font-size:.875rem}.source-links>.eyebrow{margin-bottom:4px}.source-links a{max-width:100%;overflow-wrap:anywhere}.topic-related{border-top:1px solid var(--rule);padding-block:48px 80px}.topic-related>div{display:flex;flex-wrap:wrap;gap:16px 40px;margin-top:16px}.topic-related a{display:inline-flex;gap:24px;align-items:center;min-height:48px;font-size:1rem;border-bottom:1px solid var(--rule)}.topic-related a:hover{border-color:var(--navy)}
/* Legal pages retain all information and use the same typography. */
.legal-page{max-width:960px;padding-block:64px 112px}.legal-page>h1{margin-top:48px;margin-bottom:48px;color:var(--navy)}.legal-page h2{font-size:1.5rem;margin:48px 0 20px;line-height:1.4}.legal-page h3{font-size:1.125rem;margin:32px 0 16px}.legal-page p,.legal-page li,.legal-page address{font-size:1rem;line-height:1.85}.legal-page a{overflow-wrap:anywhere}.legal-toc{display:flex;flex-wrap:wrap;gap:8px 24px;margin-block:32px;padding-block:24px;border-block:1px solid var(--rule);font-size:.875rem}.legal-toc a{min-height:40px;display:flex;align-items:center}.legal-updated{font-size:.8125rem!important;color:var(--muted)}.privacy-emphasis{padding:24px;background:var(--surface);border-inline-start:2px solid var(--navy)}
/* Form controls: clear labels, large targets, native validation. */
.inquiry-form{position:relative;min-width:0}.form-title{font-size:1.5rem;margin-bottom:16px}.form-note{font-size:.875rem;line-height:1.75;margin-bottom:24px}.form-note a{text-decoration:underline;text-underline-offset:4px}.inquiry-form label{display:block;font-size:.8125rem;font-weight:600;line-height:1.6;margin-bottom:24px}.inquiry-form label>span{font-weight:400}.inquiry-form :is(input,select,textarea){display:block;width:100%;min-height:52px;padding:12px;margin-top:8px;border:1px solid #a6b0bc;background:white;font-size:1rem;line-height:1.5;transition:border-color 180ms var(--ease)}.inquiry-form :is(input,select,textarea):hover{border-color:var(--navy)}.inquiry-form :is(input,select,textarea):focus-visible{outline:2px solid var(--navy);outline-offset:3px}.inquiry-form textarea{resize:vertical;min-height:160px}.inquiry-form :is(input,textarea):user-invalid{border-color:#9e3333}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}.form-row>*{min-width:0}.form-extra{margin-block:0 24px}.form-extra>summary{font-size:.875rem;gap:8px}.optional-label{font-weight:400}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);inset-inline-start:0;top:0;white-space:nowrap}.form-status{font-size:.9375rem;margin-top:20px;max-width:60ch}.form-status:empty{display:none}.inquiry-form [aria-busy=true]{cursor:wait}
/* Maps load only after the existing explicit action. */
.map-panel{border:1px solid var(--rule);background:var(--surface);min-width:0;display:flex;flex-direction:column}.map-placeholder{padding:40px;display:flex;flex:1;flex-direction:column;justify-content:center;align-items:flex-start}.map-placeholder h3{font-size:1.5rem;line-height:1.4}.map-placeholder .button{margin-top:24px}.map-note{font-size:.8125rem;line-height:1.8;margin-top:24px}.map-note a{text-decoration:underline;text-underline-offset:4px}.map-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 24px;border-top:1px solid var(--rule);padding:8px 16px;background:#fff}.map-actions a,.map-unload{font-size:.8125rem;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}.map-unload{background:none;border:0;padding:8px 0}#map-frame{position:relative;min-height:440px;flex:1;isolation:isolate}#map-canvas{position:absolute;inset:0;z-index:0;font:450 .875rem/1.6 var(--font)}.leaflet-control-zoom a{width:44px;height:44px;line-height:44px}.leaflet-popup-content{font-size:.875rem;line-height:1.6;margin:20px 32px 20px 20px}.leaflet-container a.leaflet-popup-close-button{width:44px;height:44px;line-height:44px}.leaflet-control-attribution{font-size:11px!important}.leaflet-control-attribution a{color:var(--navy)}
/* Footer: contact and professional details, not another sales pitch. */
.site-footer{background:var(--navy);color:white;padding-block:72px 24px;font-size:.875rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:64px}.footer-brand{display:inline-block;margin-bottom:32px}.footer-brand img{width:180px}.site-footer h2{font-size:.75rem;letter-spacing:.12em;line-height:1.6;text-transform:uppercase;font-weight:600;margin-bottom:24px}.site-footer p,.site-footer address{font-size:.875rem;line-height:1.8}.site-footer address{margin-top:16px}.footer-contact>a,.footer-memberships>a:not(.dav-mark){display:flex;align-items:center;min-height:44px;gap:16px}.footer-contact>p{margin-block:16px}.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}.dav-mark{display:inline-block;margin:0 0 16px}.dav-mark img{width:156px;max-width:100%}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;margin-top:56px;padding-top:20px;border-top:1px solid rgba(255,255,255,.25);font-size:.75rem}.footer-links{display:flex;flex-wrap:wrap;gap:24px}.footer-links a,.footer-top-link{display:inline-flex;align-items:center;gap:16px;min-height:44px}
@media(min-width:1101px) and (max-width:1260px){.brand-tagline{max-width:120px;font-size:.6875rem}.brand-lockup{gap:24px}.brand img{width:144px}.header-inner{gap:20px}.header-inner #main-nav{gap:16px}.header-tools{padding-inline-start:16px}}
@media(max-width:1100px){.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;padding-block:12px;min-height:112px}.brand-lockup{grid-column:1;gap:24px;margin:0}.brand img{width:144px}.brand-tagline{max-width:180px}.menu-toggle{display:flex;align-items:center;justify-content:center;gap:16px;grid-column:2;grid-row:1;min-height:44px;padding:8px;background:none;border:0;font-size:.8125rem}.header-tools{grid-column:1/-1;grid-row:2;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;border:0;padding:0}.header-phone{min-height:40px;font-size:.8125rem}.header-inner #main-nav{display:none;position:absolute;top:100%;inset-inline:0;flex-direction:column;align-items:stretch;gap:0;padding:16px var(--gutter) 32px;max-height:calc(100svh - var(--header-height));overflow:auto;background:#fff;border-bottom:1px solid var(--rule)}.header-inner #main-nav.is-open{display:flex}.header-inner #main-nav>a{min-height:60px;font-size:1.125rem;border-bottom:1px solid var(--rule)}.header-inner #main-nav>a::after{left:auto;inset-inline-end:8px;bottom:28px}.topic-layout{gap:48px;grid-template-columns:200px minmax(0,1fr)}.footer-grid{gap:40px}}
@media(max-width:800px){.topic-header{padding-block:32px 48px}.breadcrumbs{margin-bottom:32px;gap:4px 8px}.topic-intro{font-size:1.125rem;margin-top:24px}.topic-layout{display:block;padding-block:40px 72px}.topic-nav{position:static;max-height:none;margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--rule)}.topic-nav nav{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.topic-nav nav a{font-size:.8125rem}.topic-nav-group,.topic-nav-children{grid-column:1/-1}.topic-content{max-width:none}.topic-content>section+section{margin-top:48px;padding-top:40px}.topic-content p{font-size:1rem;line-height:1.85}.topic-related{padding-block:32px 64px}.footer-grid{grid-template-columns:1fr 1fr}.footer-identity{grid-column:1/-1}.legal-page{padding-block:40px 72px}.legal-page>h1{font-size:2.25rem;margin-block:32px}.practice-example{padding:24px}.practice-menu-top{padding:16px 24px}.practice-menu-links{padding-inline:24px}.practice-menu-group>summary{min-height:80px;font-size:1.25rem}}
@media(max-width:480px){.brand img{width:126px}.brand-lockup{gap:16px}.brand-tagline{font-size:.6875rem;max-width:116px}.menu-caption{display:none}.menu-toggle{padding:8px;width:44px}.header-inner{column-gap:8px}.footer-grid{grid-template-columns:1fr;gap:40px}.footer-identity{grid-column:auto}.footer-bottom{margin-top:40px}.topic-nav nav{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0}.form-extra>summary{font-size:.8125rem}.topic-content .field-topics{grid-template-columns:1fr}.map-placeholder{padding:24px}.practice-menu-top h2{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{html{scroll-behavior:auto}body{font-size:11pt;color:#000}.site-header,.site-footer,.skip-link,.topic-nav,.inquiry-form,.map-panel,.sequence-skip{display:none!important}.container{padding-inline:0;max-width:none}.topic-header,.legal-page{padding-block:24px}.topic-layout{display:block;padding-block:24px}.topic-content{max-width:none}.topic-content>section+section{margin-top:24px;padding-top:16px}.practice-example{break-inside:avoid}.quiet-detail::details-content,.topic-faq::details-content{content-visibility:visible;height:auto}.button{display:none}.brand-story,.mandate-journey{height:auto!important}}
/* Preserve usable margins around phone notches in both orientations. */
.container{padding-inline-start:max(var(--gutter),env(safe-area-inset-left));padding-inline-end:max(var(--gutter),env(safe-area-inset-right))}
.header-inner #main-nav>a:active::after,.header-inner #main-nav>a:focus-visible::after{opacity:1;transform:none}
/* Long German compounds break at syllables instead of leaving a single letter. */
html[lang=de] :is(h1,h2,h3){hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:6 3 3}
.topic-nav-group>summary{list-style:none;display:flex;align-items:center;gap:16px;min-height:48px;font-size:.875rem;font-weight:600}
ul.field-topics{padding-inline-start:20px;font-size:.9375rem}ul.field-topics a{display:inline-block;min-height:44px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:480px){.topic-header h1,.legal-page>h1{font-size:clamp(1.875rem,8.2vw,2.25rem);line-height:1.2}}
.header-inner{flex-wrap:wrap}.header-tools{flex-shrink:0}
@media(max-width:1100px){.header-tools{flex-wrap:wrap}}
.quiet-detail>summary,.topic-faq>summary{hyphens:auto;-webkit-hyphens:auto}.quiet-detail>summary>span:not(.plus){min-width:0;overflow-wrap:anywhere}

/* Shared hover, touch and keyboard treatment. */
.header-inner #main-nav>a::after{left:0;inset-inline-start:0;inset-inline-end:auto;bottom:5px;width:100%;height:1px;opacity:1;transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--ease)}
.header-inner #main-nav>a:is(:hover,:active,:focus-visible,[aria-current],[aria-expanded=true])::after{transform:scaleX(1)}
.quiet-detail>summary,.topic-faq>summary,.practice-menu summary{transition:background 220ms var(--ease),color 220ms var(--ease),box-shadow 220ms var(--ease)}
.quiet-detail>summary:is(:hover,:focus-visible,:active),.quiet-detail[data-focus-active]>summary,.topic-faq>summary:is(:hover,:focus-visible,:active),.practice-menu summary:is(:hover,:focus-visible,:active){background:#edf2f8;color:var(--navy);box-shadow:inset 0 -1px var(--navy)}
.plus{transition:transform 240ms var(--ease)}
summary:is(:hover,:focus-visible) .plus{transform:scale(1.12)}
.practice-menu details[open]>.practice-menu-subitems{animation:content-enter 240ms var(--ease)}
@keyframes content-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* Shared reading surface: bounded frame, fixed controls, independent text scroll. */
.focus-window{
 --window-space:48px;--window-edge:40px;--reading-progress:0;
 border:1px solid #d5dce5;border-radius:6px;padding:0;margin:auto;
 width:min(860px,calc(100% - 2 * var(--window-edge)));max-width:none;
 max-height:calc(100svh - 2 * var(--window-edge));
 background:var(--paper);color:var(--ink);overflow:hidden;
 box-shadow:0 32px 100px -24px rgba(0,20,50,.32),0 4px 20px rgba(0,20,50,.08);
}
.focus-window[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:focus-enter 280ms var(--ease)}
.focus-window::backdrop{background:rgba(12,25,43,.38);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:focus-backdrop 240ms ease-out}
@keyframes focus-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes focus-backdrop{from{background:rgba(12,25,43,0)}to{background:rgba(12,25,43,.38)}}
.focus-window.is-closing{animation:focus-leave 180ms ease-in forwards}
@keyframes focus-leave{to{opacity:0;transform:translateY(8px)}}
.focus-window-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:12px 24px 12px var(--window-space);border-bottom:1px solid var(--rule);background:var(--paper)}
.focus-window-context{display:flex;align-items:center;gap:14px;min-width:0;font-size:.75rem;line-height:1.5;font-weight:550;color:var(--muted)}
.focus-window-context::before{content:'';width:8px;height:8px;flex:none;background:var(--navy)}
.focus-window-header::after{content:'';position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--navy);transform:scaleX(var(--reading-progress));transform-origin:left;opacity:.5}
[dir=rtl] .focus-window-header::after{transform-origin:right}
.focus-window-close{flex:none;display:flex;align-items:center;justify-content:center;gap:12px;min-width:44px;min-height:44px;background:transparent;border:1px solid transparent;padding:8px 12px;font-size:.75rem;line-height:1.5;color:var(--navy);transition:background 180ms var(--ease),border-color 180ms var(--ease)}
.focus-window-close:is(:hover,:active){background:var(--surface);border-color:var(--rule)}
.focus-window-cross{position:relative;display:block;width:16px;height:16px;flex:none}
.focus-window-cross::before,.focus-window-cross::after{content:'';position:absolute;left:0;top:7px;width:16px;height:1.5px;background:currentColor;transform:rotate(45deg)}
.focus-window-cross::after{transform:rotate(-45deg)}
.focus-window-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9aa9bc transparent;scroll-padding-block:24px;padding:40px var(--window-space) 48px}
.focus-window-title{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.3;color:var(--navy);margin:0 0 32px;max-width:29ch;letter-spacing:-.03em;text-wrap:balance}
.focus-window-content{display:flow-root;font-size:1rem;line-height:1.85;min-width:0}
.focus-window-content p{max-width:68ch;font-size:1rem;line-height:1.85}
.focus-window-content :is(.detail-body,.field-content,.practice-card-body){padding:0}
.focus-window-content h4{font-size:1.125rem;line-height:1.5;margin:32px 0 12px;color:var(--navy)}
.focus-window-content h4:first-child{margin-top:0}
.focus-window-content :is(.cost-description,.cost-answer)+:is(p,.cost-answer){margin-top:28px}
.focus-window-content .consultation-steps{padding-inline-start:24px;border-inline-start:1px solid var(--rule);margin-block:32px}
.focus-window-content .consultation-steps li{position:relative}
.focus-window-content .consultation-steps li::before{content:'';position:absolute;inset-inline-start:-28px;top:10px;width:7px;height:7px;background:var(--navy)}
.focus-window-content .career-timeline{margin-top:0;margin-bottom:0;padding-inline:24px 0}
.focus-window-content .career-timeline h4{font-size:1rem;margin:0}
.focus-window-content .career-timeline p{font-size:.9375rem;margin-top:4px}
.focus-window-content .field-introduction{font-size:.9375rem;color:var(--muted);margin-bottom:28px}
.focus-window-footer{position:relative;z-index:1;border-top:1px solid var(--rule);padding:4px var(--window-space);background:var(--paper)}
.focus-window-footer::before{content:'';pointer-events:none;position:absolute;inset-inline:0;bottom:100%;height:28px;background:linear-gradient(transparent,var(--paper));opacity:0;transition:opacity 180ms ease}
.focus-window.has-more .focus-window-footer::before{opacity:1}
.focus-window-more{border:0;background:none;color:var(--navy);padding:8px 0;display:flex;gap:16px;align-items:center;justify-content:space-between;width:100%;min-height:44px;font-size:.75rem;line-height:1.6;text-align:start}
.focus-window-more:hover{text-decoration:underline;text-underline-offset:5px}
.focus-window.has-more .focus-window-more::after{content:'';width:8px;height:8px;border-inline-end:1px solid;border-bottom:1px solid;transform:rotate(45deg);margin-inline-end:4px;margin-top:-4px}
[dir=rtl] .focus-window.has-more .focus-window-more::after{transform:rotate(-45deg)}
.focus-links{display:grid;gap:0;border-top:1px solid var(--rule)}
.focus-links>a{display:flex;align-items:center;gap:24px;padding:20px 16px;min-height:64px;border-bottom:1px solid var(--rule);font-size:1rem;line-height:1.6;text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-color 200ms var(--ease)}
.focus-links>a:is(:focus-visible,:active){text-decoration-color:currentColor}
@media(hover:hover) and (pointer:fine){.focus-links>a:hover{text-decoration-color:currentColor}}
.focus-window[data-kind=navigation] .focus-links>a:first-child{background:var(--surface);font-weight:600;color:var(--navy)}
body.focus-window-open{overflow:hidden}
@media(max-width:599px){
 .focus-window{--window-space:24px;--window-edge:12px;max-height:calc(100svh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
 .focus-window-header{padding:8px 12px 8px var(--window-space);gap:12px;min-height:64px}
 .focus-window-context{font-size:.6875rem;gap:10px}
 .focus-window-close{gap:10px;padding-inline:8px}
 .focus-window-scroll{padding-block:28px 36px}
 .focus-window-title{font-size:1.5rem;line-height:1.35;margin-bottom:28px;max-width:none}
 .focus-window-content p{font-size:.9375rem;line-height:1.85}
 .focus-links>a{font-size:.9375rem;padding:18px 12px;min-height:60px}
}
@media(max-height:500px){.focus-window{--window-edge:8px}.focus-window-header{min-height:56px;padding-block:6px}.focus-window-scroll{padding-block:24px}}
@media(prefers-reduced-motion:reduce){.focus-window[open],.focus-window::backdrop,.focus-window.is-closing,.practice-menu details[open]>.practice-menu-subitems{animation:none}.quiet-detail>summary,.topic-faq>summary,.practice-menu summary,.plus,.header-inner #main-nav>a::after{transition:none}}
html{scrollbar-gutter:stable}
.focus-links,.focus-links>a{min-width:0;overflow-wrap:anywhere}
