@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.hidden{display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)} :root,[data-theme=light]{--color-bg:#F5F3EE;--color-bg-soft:#ECE9E2;--color-bg-panel:#E4E0D8;--color-text:#171817;--color-text-secondary:#555752;--color-text-tertiary:#777A74;--color-line:#CBC8C0;--color-line-soft:#DDD9D1;--color-dark:#20231F;--color-dark-soft:#292C28;--color-dark-text:#F7F5F0;--color-dark-text-secondary:#D0D1CA;--color-dark-line:#4A4E49;--color-accent:#7A756A;--color-image-bg:#E8E4DC;--color-error:#8D4F45;--color-error-bg:#F2E6E2;--color-error-border:#D4BDB7;--color-bg-rgb:245,243,238;--color-dark-rgb:32,35,31;--color-dark-text-rgb:247,245,240}[data-theme=dark]{--color-bg:#20231F;--color-bg-soft:#292C28;--color-bg-panel:#30342F;--color-text:#F3F1EB;--color-text-secondary:#D0D1CA;--color-text-tertiary:#A9ACA4;--color-line:#4B504A;--color-line-soft:#3B403A;--color-dark:#171A17;--color-dark-soft:#20231F;--color-dark-text:#F5F3EE;--color-dark-text-secondary:#D1D2CB;--color-dark-line:#3F443F;--color-accent:#B5AD9D;--color-image-bg:#292C28;--color-error:#D38A7C;--color-error-bg:#382D2A;--color-error-border:#654D48;--color-bg-rgb:32,35,31;--color-dark-rgb:23,26,23;--color-dark-text-rgb:245,243,238}:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;min-width:320px;background:var(--color-bg);transition:background-color .25s ease,color .25s ease}.site-header,.dropdown-menu,.mobile-menu,.form-panel,.experience-section,.contact-cta,.site-footer,.about-service,.detail-situation,.button,.button-dark,.button-light,.button-outline-light,.arrow-link,.nav-item>a,.header-cta,.practice-link,.process-item,.question-item,.direction-row,.faq-item,.work-item,.topic-item,.approach-item,.credentials-list>div,.contact-phone,.footer-phone,.form-field input,.form-field textarea,.form-error-state,.mobile-sticky-cta,.page-hero-mark,.hero:before,.portrait-section:before,.about-portrait:before,.personal-approach:before,.inheritance-editorial:before{transition:background-color .25s ease,color .25s ease,border-color .25s ease}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{border:0;background:none;cursor:pointer}img{display:block;max-width:100%}.site-shell{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.site-header{position:sticky;top:0;z-index:1000;background:rgba(var(--color-bg-rgb),.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-line)}.header-inner{max-width:1440px;margin:0 auto;padding:0 48px;height:80px;display:flex;align-items:center;gap:40px}.brand{font-size:14px;font-weight:500;letter-spacing:.08em;white-space:nowrap;display:flex;flex-direction:column;gap:2px;line-height:1;color:var(--color-text)}.brand span{font-size:10px;font-weight:400;letter-spacing:.08em;color:var(--color-text-tertiary)}.desktop-nav{display:flex;gap:28px;margin-left:auto;font-size:13px;color:var(--color-text-secondary)}.nav-item{position:relative}.nav-item>a{transition:color .2s ease;padding:4px 0;display:inline-block}.nav-item>a:hover{color:var(--color-accent)}.nav-active{color:var(--color-text)!important;border-bottom:1px solid var(--color-accent)}.nav-item.has-dropdown>a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1100;width:480px;max-width:calc(100vw - 96px);height:auto;max-height:none;overflow:visible;background:var(--color-bg);border:1px solid var(--color-line);border-top:none;padding:20px 24px;display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:24px;column-gap:24px;row-gap:2px;box-shadow:0 6px 20px rgba(var(--color-dark-rgb),.05)}.dropdown-right{left:auto;right:0}.dropdown-menu a{display:block;padding:11px 0;font-size:13px;color:var(--color-text-secondary);transition:color .15s ease;border-bottom:1px solid var(--color-line-soft);line-height:1.4}.dropdown-menu a:nth-last-child(-n+2){border-bottom:none}.dropdown-menu a:hover{color:var(--color-text)}.dropdown-menu a:nth-child(odd){padding-right:0}.header-cta{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text);border-bottom:1px solid var(--color-accent);padding-bottom:4px;transition:gap .2s ease;white-space:nowrap}.header-cta:hover{gap:10px}.menu-button{display:none;color:var(--color-text);padding:8px;align-items:center;justify-content:center}.theme-switcher{display:flex;align-items:center;gap:0;border-left:1px solid var(--color-line);margin-left:8px;padding-left:16px}.theme-switcher button{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);padding:4px 10px;font-weight:400;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease;white-space:nowrap}.theme-switcher button:hover{color:var(--color-text-secondary)}.theme-switcher button.is-active{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:500}.mobile-theme-switcher{display:flex;align-items:center;gap:0;padding:16px 0;border-bottom:1px solid var(--color-line);margin-bottom:8px}.mobile-theme-switcher button{flex:1;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);padding:10px 0;font-weight:400;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease;text-align:center}.mobile-theme-switcher button:hover{color:var(--color-text-secondary)}.mobile-theme-switcher button.is-active{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:500}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;min-height:100dvh;background:var(--color-bg);z-index:1200;overflow-y:auto;display:flex;flex-direction:column;padding:0 24px env(safe-area-inset-bottom,24px);padding-top:env(safe-area-inset-top,0px)}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;height:80px;flex-shrink:0;border-bottom:1px solid var(--color-line)}.mobile-close-btn{color:var(--color-text);padding:8px;display:flex;align-items:center;justify-content:center}.mobile-nav{display:flex;flex-direction:column;padding:8px 0}.mobile-nav-group{border-bottom:1px solid var(--color-line)}.mobile-nav-row{display:flex;align-items:center;justify-content:space-between;min-height:56px}.mobile-nav-row>a{font-size:16px;color:var(--color-text);padding:18px 0;flex:1}.mobile-toggle{color:var(--color-text-secondary);padding:12px 0 12px 16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s ease}.mobile-toggle:hover{color:var(--color-accent)}.mobile-subnav{display:flex;flex-direction:column;padding-bottom:8px}.mobile-subnav a{padding:12px 20px;font-size:14px;color:var(--color-text-secondary);border-bottom:none;transition:color .15s ease}.mobile-subnav a:hover{color:var(--color-text)}.mobile-menu-footer{margin-top:auto;padding:32px 0;display:flex;flex-direction:column;align-items:center;gap:16px}.mobile-menu-footer .button{justify-content:center;width:100%}.mobile-phone{font-size:15px;color:var(--color-text-tertiary);text-align:center}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.02em;line-height:1.08}h3{font-weight:400}h1{font-size:clamp(48px,6.5vw,96px);margin:0}h2{font-size:clamp(34px,4.2vw,62px)}p{line-height:1.65;color:var(--color-text-secondary);max-width:65ch}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 20px;font-weight:500}.lead{font-size:clamp(16px,1.6vw,19px);color:var(--color-text-secondary);max-width:480px;margin-top:32px;line-height:1.6}.display-text{font-size:clamp(28px,2.8vw,42px);line-height:1.2;letter-spacing:-.01em;color:var(--color-text);margin:40px 0 24px;font-weight:400}.section-heading{display:flex;align-items:center;gap:14px;margin-bottom:0}.section-number{font-size:14px;color:var(--color-accent);font-weight:400;letter-spacing:.02em}.section-rule{width:36px;height:1px;background:var(--color-line)}.section-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);font-weight:500}.button{min-height:50px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease;border-radius:2px}.button:hover{opacity:.85}.button-dark{background:var(--color-dark);color:var(--color-dark-text)}.button-dark:hover{background:var(--color-dark-soft);opacity:1}.button-light{background:var(--color-bg);color:var(--color-text)}.button-outline-light{background:transparent;color:var(--color-dark-text);border:1px solid rgba(var(--color-dark-text-rgb),.4)}.button-outline-light:hover{background:rgba(var(--color-dark-text-rgb),.1)}.arrow-link{display:inline-flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--color-line);padding-bottom:10px;transition:gap .2s ease,color .2s ease}.arrow-link:hover{gap:20px;color:var(--color-accent)}.hero{position:relative;padding:100px 48px 120px;overflow:hidden}.hero:before{content:"";position:absolute;right:0;top:0;bottom:0;width:60%;background:linear-gradient(to left,var(--color-bg-soft) 0%,transparent 80%);z-index:0}.hero-grid{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1fr 50%;gap:6%;align-items:center;min-height:640px;position:relative;z-index:1}.hero-text-col{padding-left:4%}.hero-profile{margin:36px 0 20px;display:flex;flex-direction:column;gap:6px;font-size:14px}.hero-profile strong{font-weight:500}.hero-profile span{color:var(--color-text-tertiary);font-size:13px}.hero-credential{padding-left:16px;border-left:1px solid var(--color-line);color:var(--color-text-secondary);font-size:11px;line-height:1.6;margin-bottom:28px}.hero-description{max-width:420px;margin-bottom:32px;font-size:15px}.hero-actions{display:flex;align-items:center;gap:28px}.hero-phone-link{display:inline-flex;flex-direction:column;gap:4px}.hero-phone-label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--color-text-tertiary)}.hero-phone-number{font-size:13px;color:var(--color-text-tertiary);letter-spacing:.04em}.hero-image-col{height:700px;overflow:hidden}.hero-image-col img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 22%;object-position:center 22%}.portrait-section{position:relative;padding:0 48px 160px;overflow:hidden}.portrait-section:before{content:"";position:absolute;left:0;top:0;bottom:0;width:55%;background:linear-gradient(to right,var(--color-bg-soft) 0%,transparent 80%);z-index:0}.portrait-inner{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(340px,560px) 1fr;gap:10%;align-items:center;position:relative;z-index:1}.portrait-image-wrap{height:720px;overflow:hidden}.portrait-image-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 22%;object-position:center 22%}.portrait-copy{max-width:440px}.portrait-copy>p:not(.display-text){max-width:360px;margin-bottom:32px}.experience-section{background:var(--color-dark);color:var(--color-dark-text);padding:140px 48px}.experience-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:.85fr 1fr;gap:5vw;align-items:center}.experience-section .section-number{color:var(--color-accent)}.experience-section .section-rule{background:var(--color-dark-line)}.experience-section .section-label{color:var(--color-accent)}.experience-number{font-size:clamp(160px,22vw,320px);letter-spacing:-.06em;line-height:.8;font-weight:400;color:var(--color-dark-text)}.experience-number span{color:var(--color-accent);font-size:.38em;vertical-align:top;margin-left:6px}.experience-content h2{margin:36px 0 24px;font-size:clamp(36px,4.5vw,64px)}.experience-content p{color:var(--color-dark-text-secondary);max-width:400px}.public-service-section{max-width:1440px;margin:0 auto;padding:140px 48px}.public-service-inner{display:grid;grid-template-columns:1fr 1fr;gap:10%}.public-service-heading h2{margin-top:36px;font-size:clamp(34px,4vw,56px)}.public-service-text{padding-top:48px;max-width:500px}.public-service-text p{font-size:15px}.public-service-text strong{display:block;margin-top:28px;font-weight:500;border-top:1px solid var(--color-line);padding-top:20px;max-width:400px;line-height:1.5;font-size:14px}.practice-section{max-width:1440px;margin:0 auto;padding:0 48px 140px}.practice-title{margin:48px 0 60px;font-size:clamp(36px,4.5vw,64px)}.practice-links{display:grid;grid-template-columns:1fr 1fr;gap:40px}.practice-link{border-top:1px solid var(--color-line);padding:32px 0 0;display:flex;flex-direction:column;gap:28px;transition:padding .3s ease}.practice-link:hover{padding-left:12px}.practice-index{font-size:14px;color:var(--color-accent);font-weight:400;letter-spacing:.02em}.practice-link-content h3{font-size:clamp(28px,3vw,44px);font-weight:400;letter-spacing:-.02em;margin:0 0 16px}.practice-link-content p{font-size:14px;max-width:380px;line-height:1.55}.practice-arrow{color:var(--color-accent);align-self:flex-end;transition:transform .2s ease}.practice-link:hover .practice-arrow{transform:translate(4px,-4px)}.process-block{max-width:1440px;margin:0 auto;padding:0 48px 140px}.process-title{margin:48px 0 56px;font-size:clamp(34px,4vw,56px)}.process-list{border-top:1px solid var(--color-line)}.process-item{min-height:78px;padding:0 8px;border-bottom:1px solid var(--color-line);display:grid;grid-template-columns:110px 1fr;align-items:center}.process-num{font-size:20px;color:var(--color-accent);font-weight:400;letter-spacing:.02em}.process-item strong{font-size:17px;font-weight:500;color:var(--color-text)}.question-section{max-width:1440px;margin:0 auto;padding:0 48px 140px}.question-title{margin:48px 0 56px;font-size:clamp(34px,4vw,56px)}.question-list{border-top:1px solid var(--color-line)}.question-item{min-height:82px;padding:0 8px;border-bottom:1px solid var(--color-line);display:grid;grid-template-columns:80px 1fr;align-items:center;gap:20px}.question-num{font-size:18px;color:var(--color-accent);font-weight:400;letter-spacing:.02em}.question-item p{font-size:15px;color:var(--color-text);margin:0;line-height:1.5}.contact-cta{background:var(--color-dark-soft);color:var(--color-dark-text);padding:100px 48px}.cta-inner{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:48px}.contact-cta .eyebrow{color:var(--color-accent)}.contact-cta h2{font-size:clamp(30px,3.8vw,54px);margin:0}.cta-text{color:var(--color-dark-text-secondary);max-width:420px;margin-top:20px;font-size:14px}.cta-actions{display:flex;flex-direction:column;gap:12px;min-width:240px;align-items:flex-start}.cta-phone{font-size:13px;color:var(--color-accent);letter-spacing:.04em;margin-top:4px}.page-hero{max-width:1440px;margin:0 auto;padding:100px 48px 80px;min-height:380px;display:flex;align-items:flex-end}.page-hero-inner{display:flex;justify-content:space-between;align-items:flex-end;width:100%;gap:48px}.page-hero h1{font-size:clamp(48px,6vw,88px)}.page-hero .lead{margin-top:32px;font-size:17px}.page-hero-meta{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-tertiary);line-height:1.7;text-align:right;padding-bottom:16px;white-space:pre-line}.page-hero-mark{font-size:clamp(180px,18vw,260px);line-height:.6;color:var(--color-line-soft);font-weight:400}.about-portrait{position:relative;padding:0 48px 140px;overflow:hidden}.about-portrait:before{content:"";position:absolute;left:0;top:0;bottom:0;width:55%;background:linear-gradient(to right,var(--color-bg-soft) 0%,transparent 80%);z-index:0}.about-portrait-inner{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(340px,580px) 1fr;gap:10%;align-items:center;position:relative;z-index:1}.about-image-wrap{height:720px;overflow:hidden}.about-image-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 22%;object-position:center 22%}.about-content{max-width:420px}.credentials-list{margin-top:56px;border-top:1px solid var(--color-line)}.credentials-list>div{padding:20px 0;border-bottom:1px solid var(--color-line);display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:baseline}.credentials-list span{font-size:11px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.1em}.credentials-list strong{font-weight:500;font-size:13px;line-height:1.4}.about-editorial{max-width:1440px;margin:0 auto;padding:0 48px 120px}.editorial-columns{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:48px}.editorial-columns h2{font-size:clamp(34px,4.5vw,62px);margin:0}.editorial-columns p{max-width:440px;font-size:15px;margin-bottom:18px}.about-service{background:var(--color-bg-soft);padding:120px 48px}.about-service-inner{max-width:1150px;margin:0 auto}.about-service h2{margin:44px 0 32px;font-size:clamp(34px,4.5vw,62px)}.about-service-text{margin-left:50%;max-width:500px}.about-service-text p{font-size:15px;margin-bottom:18px}.about-approach{max-width:1440px;margin:0 auto;padding:120px 48px 140px}.about-approach h2{margin:44px 0 48px;font-size:clamp(34px,4vw,54px)}.approach-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--color-line)}.approach-item{padding:24px 8px;border-bottom:1px solid var(--color-line);display:grid;grid-template-columns:60px 1fr;align-items:center;gap:20px}.approach-item:nth-child(odd){border-right:1px solid var(--color-line-soft)}.approach-item span{font-size:18px;color:var(--color-accent);font-weight:400;letter-spacing:.02em}.approach-item strong{font-weight:500;font-size:15px;color:var(--color-text)}.directions-section{max-width:1440px;margin:0 auto;padding:120px 48px 140px}.direction-list{border-top:1px solid var(--color-line);margin-top:48px}.direction-row{min-height:88px;padding:0 12px;border-bottom:1px solid var(--color-line);display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:20px;transition:color .2s ease,padding .2s ease}.direction-row:hover{padding-left:20px}.direction-row:hover strong{color:var(--color-accent)}.direction-num{font-size:18px;color:var(--color-accent);font-weight:400;letter-spacing:.02em}.direction-row strong{font-size:clamp(17px,1.8vw,23px);font-weight:500;letter-spacing:-.02em}.direction-arrow{color:var(--color-accent)}.personal-approach{position:relative;padding:0 48px 140px;overflow:hidden}.personal-approach:before{content:"";position:absolute;left:0;right:0;top:0;height:65%;background:linear-gradient(to bottom,var(--color-bg-soft) 0%,transparent 100%);z-index:0}.personal-approach-inner{max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:64px;position:relative;z-index:1}.approach-image-wrap{width:100%;height:560px;overflow:hidden}.approach-copy{max-width:560px}.approach-image-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 22%;object-position:center 22%}.approach-copy h2{margin-top:0;font-size:clamp(34px,4vw,54px)}.approach-copy p{max-width:420px;font-size:15px;margin-top:24px}.inheritance-editorial{position:relative;padding:0 48px 140px;overflow:hidden}.inheritance-editorial:before{content:"";position:absolute;right:0;top:0;bottom:0;width:55%;background:linear-gradient(to left,var(--color-bg-soft) 0%,transparent 80%);z-index:0}.inheritance-editorial-inner{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1fr minmax(340px,560px);gap:10%;align-items:center;position:relative;z-index:1}.inheritance-image-wrap{height:680px;overflow:hidden}.inheritance-image-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 22%;object-position:center 22%}.inheritance-editorial-copy h2{margin-top:44px;font-size:clamp(34px,4vw,54px)}.inheritance-editorial-copy p{max-width:420px;font-size:15px;margin-top:24px}.page-container{max-width:1440px;margin:0 auto;padding:24px 48px 0}.breadcrumbs{display:flex;gap:10px;font-size:11px;letter-spacing:.08em;color:var(--color-accent);align-items:center;flex-wrap:wrap}.breadcrumb-item{display:inline-flex;align-items:center;gap:10px}.breadcrumb-item a{color:var(--color-text-secondary);transition:color .2s ease}.breadcrumb-item a:hover,.breadcrumb-current{color:var(--color-accent)}.breadcrumb-sep{color:var(--color-line)}.detail-hero{max-width:1440px;margin:0 auto;padding:80px 48px 100px}.detail-hero-inner{max-width:900px}.detail-hero h1{font-size:clamp(48px,6vw,88px);margin-top:16px}.detail-hero .lead{font-size:18px;max-width:620px;margin-top:32px}.detail-situation{background:var(--color-bg-soft);padding:100px 48px}.detail-situation-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:12%}.detail-situation-main h2{font-size:clamp(28px,3.2vw,48px);margin-top:36px;max-width:680px;font-weight:400}.detail-situation-side{border-top:1px solid var(--color-line);padding-top:20px}.detail-situation-side h3{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--color-text-secondary)}.detail-situation-side ul{padding:0;list-style:none;margin:32px 0 0;display:grid;gap:16px}.detail-situation-side li{padding-left:22px;position:relative;font-size:14px;line-height:1.45;color:var(--color-text-secondary)}.detail-situation-side li:before{content:"—";position:absolute;left:0;color:var(--color-accent)}.detail-work{max-width:1440px;margin:0 auto;padding:120px 48px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.work-item{border-top:1px solid var(--color-line);padding-top:20px;display:flex;flex-direction:column;gap:32px;min-height:170px}.work-item span{color:var(--color-accent);font-size:18px;font-weight:400;letter-spacing:.02em}.work-item strong{font-weight:500;font-size:15px;line-height:1.4;max-width:240px}.detail-faq{max-width:1440px;margin:0 auto;padding:0 48px 100px}.detail-faq-inner{max-width:800px}.faq-list{margin-top:48px;border-top:1px solid var(--color-line)}.faq-item{border-bottom:1px solid var(--color-line);padding:20px 0}.faq-item summary{font-size:15px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:4px 0}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:20px;color:var(--color-accent);transition:transform .2s ease}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{padding:12px 0 8px;font-size:14px;max-width:680px}.related-links{max-width:1440px;margin:0 auto;padding:48px 48px 80px}.related-inner{display:flex;gap:32px;align-items:center;flex-wrap:wrap}.related-label{text-transform:uppercase;font-size:10px;letter-spacing:.13em;color:var(--color-accent);margin-right:auto}.related-items{display:flex;gap:28px;flex-wrap:wrap}.contacts-section{max-width:1440px;margin:0 auto;padding:0 48px 120px}.contacts-inner{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact-details h2{font-size:clamp(28px,2.8vw,42px);margin:44px 0 16px;font-weight:400}.contact-details>p{font-size:15px}.contact-phone{display:block;font-size:clamp(24px,2.8vw,38px);margin:32px 0 24px;letter-spacing:-.02em;color:var(--color-text)}.missing-details{display:grid;gap:12px;color:var(--color-text-tertiary);margin-top:56px;font-size:12px;letter-spacing:.06em}.form-panel{background:var(--color-bg-soft);padding:40px}.form-panel .section-heading{margin-bottom:36px}.contact-form{display:grid;gap:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:grid;gap:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.form-label{font-weight:500}.form-field input:not([type=checkbox]),.form-field textarea{border:0;border-bottom:1px solid var(--color-line);background:transparent;padding:11px 0;color:var(--color-text);outline:none;resize:vertical;font-size:14px;text-transform:none;letter-spacing:0;transition:border-color .2s ease}.form-field input:focus,.form-field textarea:focus{border-color:var(--color-accent)}.form-field input::-moz-placeholder,.form-field textarea::-moz-placeholder{color:var(--color-text-tertiary);font-size:13px}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--color-text-tertiary);font-size:13px}.form-consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:var(--color-text-secondary);line-height:1.4;cursor:pointer;text-transform:none;letter-spacing:0}.form-consent input{accent-color:var(--color-dark);margin-top:2px}.form-error{font-size:12px;color:var(--color-error);text-transform:none;letter-spacing:0}.form-note{font-size:11px;margin:0;color:var(--color-text-tertiary);line-height:1.4;text-transform:none;letter-spacing:0}.form-required{color:var(--color-accent)}.form-success{text-align:center;padding:32px 0}.form-success h3{font-size:22px;font-weight:400;margin:0 0 16px;color:var(--color-text)}.form-success p{font-size:14px;margin-bottom:24px;line-height:1.6}.form-error-state{background:var(--color-error-bg);border:1px solid var(--color-error-border);padding:20px;border-radius:2px}.form-error-state p{font-size:13px;margin:0 0 8px;color:var(--color-text-secondary);line-height:1.5}.form-error-state p:first-child{font-weight:500;color:var(--color-text)}.form-error-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.button-outline-dark{background:transparent;color:var(--color-text);border:1px solid var(--color-line)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.home-form-section{max-width:1440px;margin:0 auto;padding:0 48px 120px}.home-form-inner{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.home-form-heading h2{margin:36px 0 20px;font-size:clamp(32px,3.8vw,54px)}.home-form-heading p{max-width:380px;font-size:14px}.home-form-panel{background:var(--color-bg-soft);padding:40px}.mobile-sticky-cta{display:none;position:fixed;bottom:16px;left:16px;right:16px;height:50px;background:var(--color-dark);color:var(--color-dark-text);border-radius:2px;align-items:center;justify-content:center;gap:10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;z-index:90;box-shadow:0 4px 20px rgba(var(--color-dark-rgb),.12);transition:transform .2s ease}.mobile-sticky-cta:active{transform:scale(.98)}.articles-empty{max-width:1440px;margin:0 auto;padding:80px 48px 100px;border-top:1px solid var(--color-line)}.articles-empty-inner{max-width:700px}.articles-empty-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.articles-empty h2{margin:40px 0 20px;font-size:clamp(34px,4.5vw,62px)}.articles-empty p{max-width:440px}.topics-section{max-width:1440px;margin:0 auto;padding:0 48px 120px}.topic-list{border-top:1px solid var(--color-line);margin-top:48px}.topic-item{padding:20px 8px;border-bottom:1px solid var(--color-line);display:flex;gap:28px;font-size:15px;color:var(--color-text);align-items:center}.topic-num{color:var(--color-accent);font-size:16px;font-weight:400;letter-spacing:.02em}.site-footer{background:var(--color-dark);color:var(--color-dark-text);padding:64px 48px 24px;border-top:1px solid var(--color-dark-line)}.footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:64px}.brand-footer{color:var(--color-dark-text)}.brand-footer span{color:var(--color-accent)}.footer-role{color:var(--color-dark-text-secondary);font-size:13px;line-height:1.7;margin-top:24px}.footer-office{color:var(--color-dark-text-secondary);font-size:13px;line-height:1.7;margin-top:12px}.footer-contact{display:flex;flex-direction:column;gap:8px}.footer-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.footer-phone{font-size:18px;border-bottom:1px solid var(--color-accent);padding-bottom:4px;width:-moz-max-content;width:max-content;transition:color .2s ease}.footer-phone:hover{color:var(--color-dark-text-secondary)}.footer-nav{display:flex;flex-direction:column;gap:14px;font-size:13px;color:var(--color-dark-text-secondary)}.footer-nav a{transition:color .2s ease}.footer-nav a:hover{color:var(--color-dark-text-secondary)}.footer-bottom{border-top:1px solid var(--color-dark-line);padding-top:20px;display:flex;justify-content:space-between;gap:40px;color:var(--color-dark-text-secondary);font-size:10px;line-height:1.5;max-width:1280px;margin:0 auto}.footer-disclaimer{max-width:600px}.not-found{max-width:1440px;margin:0 auto;padding:120px 48px;text-align:center}.not-found-inner{max-width:500px;margin:0 auto}.not-found h1{font-size:clamp(40px,5vw,64px);margin:16px 0 20px}.not-found p{margin-bottom:32px}@media (max-width: 1024px){.header-inner{padding:0 32px}.hero,.portrait-section,.experience-section,.public-service-section,.practice-section,.process-block,.question-section,.page-hero,.about-portrait,.about-editorial,.about-approach,.directions-section,.personal-approach,.inheritance-editorial,.detail-hero,.detail-work,.contacts-section,.articles-empty,.topics-section,.page-container,.related-links,.about-service,.detail-situation,.contact-cta,.site-footer{padding-left:32px;padding-right:32px}}@media (max-width: 1023px){.header-inner{padding:0 24px;gap:16px}.desktop-nav,.header-cta,.theme-switcher{display:none}.menu-button{display:flex;margin-left:auto}.hero{padding:60px 24px 80px}.hero-grid{grid-template-columns:1fr;gap:48px;min-height:0}.hero-text-col{padding-left:0}.hero-image-col{height:min(130vw,600px);order:-1}.hero:before,.portrait-section:before,.about-portrait:before,.personal-approach:before,.inheritance-editorial:before{display:none}.portrait-section,.about-portrait,.personal-approach,.inheritance-editorial{padding-left:24px;padding-right:24px;padding-bottom:100px}.portrait-inner,.about-portrait-inner,.inheritance-editorial-inner{grid-template-columns:1fr;gap:48px}.personal-approach-inner{gap:48px}.portrait-image-wrap,.about-image-wrap{height:min(120vw,640px)}.approach-image-wrap{height:min(100vw,480px)}.inheritance-image-wrap{height:min(100vw,560px)}.experience-section{padding:90px 24px}.experience-inner{grid-template-columns:1fr;gap:48px}.experience-number{font-size:clamp(140px,44vw,280px)}.public-service-section{padding:90px 24px}.public-service-inner{grid-template-columns:1fr;gap:40px}.public-service-text{padding-top:0}.practice-section{padding:0 24px 100px}.practice-links{grid-template-columns:1fr;gap:32px}.process-block,.question-section{padding:0 24px 100px}.contact-cta{padding:70px 24px;flex-direction:column;align-items:flex-start}.cta-inner{flex-direction:column;align-items:flex-start}.cta-actions{width:100%;max-width:300px}.page-hero{padding:80px 24px 60px;min-height:0}.page-hero-inner{flex-direction:column;align-items:flex-start;gap:32px}.page-hero-mark{font-size:140px;align-self:flex-end}.page-hero-meta{text-align:left}.about-editorial,.about-approach{padding-left:24px;padding-right:24px;padding-bottom:100px}.editorial-columns{grid-template-columns:1fr;gap:32px}.about-service{padding:80px 24px}.about-service-text{margin-left:0}.approach-list{grid-template-columns:1fr}.approach-item:nth-child(odd){border-right:0}.directions-section{padding:80px 24px 100px}.detail-hero{padding:60px 24px 80px}.detail-situation{padding:70px 24px}.detail-situation-inner{grid-template-columns:1fr;gap:40px}.detail-work{padding:80px 24px}.work-grid{grid-template-columns:1fr;gap:28px}.work-item{min-height:0;gap:20px;padding-bottom:20px}.detail-faq{padding:0 24px 80px}.related-links{padding:40px 24px 60px}.contacts-section{padding:0 24px 100px}.contacts-inner{grid-template-columns:1fr;gap:48px}.home-form-section{padding:0 24px 100px}.home-form-inner{grid-template-columns:1fr;gap:40px}.home-form-panel{padding:28px 20px}.mobile-sticky-cta{display:flex}.site-footer{padding-bottom:80px}.articles-empty{padding:60px 24px 80px}.topics-section{padding:0 24px 100px}.page-container{padding:20px 24px 0}.site-footer{padding:56px 24px 24px}.footer-inner{grid-template-columns:1fr 1fr;gap:32px}.footer-inner>div:first-child{grid-column:span 2}.footer-bottom{flex-direction:column;gap:14px}}@media (max-width: 560px){h1{font-size:clamp(42px,11vw,52px)}.hero{padding-top:48px;padding-bottom:64px}.hero-image-col{height:120vw}.hero-actions{flex-direction:column;align-items:stretch;gap:20px}.hero-actions .button{width:100%}.hero-phone-link{align-items:center;text-align:center}.experience-number{font-size:44vw}.practice-link:hover{padding-left:0}.process-item{grid-template-columns:56px 1fr;gap:10px;min-height:72px}.process-item strong{font-size:15px}.question-item{grid-template-columns:50px 1fr;gap:12px}.question-item p{font-size:14px}.page-hero-mark{display:none}.page-hero h1{font-size:clamp(40px,10vw,50px)}.form-row{grid-template-columns:1fr;gap:22px}.form-panel{padding:28px 20px}.direction-row{grid-template-columns:44px 1fr auto;padding:0;gap:10px}.direction-row strong{font-size:15px}.related-inner{flex-direction:column;align-items:flex-start;gap:20px}.related-label{margin-right:0}.footer-inner{grid-template-columns:1fr;gap:32px}.footer-inner>div:first-child{grid-column:auto}.footer-bottom{font-size:11px}.topic-item{gap:16px;font-size:14px}.detail-hero h1{font-size:clamp(40px,8vw,52px)}.detail-situation-main h2{font-size:clamp(24px,5vw,38px)}.mobile-sticky-cta{left:12px;right:12px;bottom:12px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.article-body{padding:80px 48px 120px}.article-body-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 280px;gap:80px}.article-content{max-width:720px}.article-section{margin-bottom:48px}.article-section h2{font-size:clamp(22px,2.4vw,28px);margin:0 0 20px;line-height:1.2}.article-section p{margin:0 0 16px;font-size:16px;line-height:1.7;color:var(--color-text-secondary);max-width:65ch}.article-sidebar{position:sticky;top:100px;align-self:start}.article-meta,.article-related{padding:24px 0;border-top:1px solid var(--color-line);display:flex;flex-direction:column;gap:12px}.article-related{border-top:none;padding-top:0}.article-meta-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-tertiary);font-weight:500}.articles-list-section{padding:60px 48px 80px}.articles-list-inner{max-width:1280px;margin:0 auto}.article-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:32px;margin-top:40px}.article-card{display:flex;flex-direction:column;padding:32px 0;border-top:1px solid var(--color-line);text-decoration:none;color:inherit;transition:border-color .2s ease}.article-card:hover{border-color:var(--color-accent)}.article-card-date{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:16px}.article-card h2{font-size:20px;font-weight:400;line-height:1.25;margin:0 0 12px;color:var(--color-text)}.article-card p{font-size:14px;line-height:1.55;color:var(--color-text-secondary);margin:0 0 20px;flex-grow:1}.article-card-link{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);display:inline-flex;align-items:center;gap:6px}.home-publications{padding:100px 48px}.home-publications-inner{max-width:1280px;margin:0 auto}.home-publications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px;margin-top:48px}.home-publications-link{display:inline-flex;align-items:center;gap:6px;margin-top:40px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);text-decoration:none}@media (max-width: 1023px){.article-body{padding:60px 24px 80px}.article-body-inner{grid-template-columns:1fr;gap:40px}.article-sidebar{position:static}.article-related{border-top:1px solid var(--color-line);padding-top:24px}.articles-list-section{padding:40px 24px 60px}.article-cards{grid-template-columns:1fr;gap:0}.home-publications{padding:60px 24px}.home-publications-grid{grid-template-columns:1fr;gap:0}}

/* PREMIUM ART-DIRECTED SKIN — photo-first private law office */
 :root,[data-theme=light]{--lux-bg:#F3F1EC;--lux-paper:#F5F2EC;--lux-ink:#171817;--lux-muted:#706C65;--lux-muted-2:#68635C;--lux-tertiary:#817B72;--lux-accent:#A89C87;--lux-accent-soft:#B3A891;--lux-accent-hover:#8C7D68;--lux-line:#D8D4CC;--lux-dark:#1B1E23;--lux-dark-2:#232730;--lux-dark-line:#3A3D42;--lux-dark-muted:#B5AFA3;--lux-nav:#68645D;--lux-body:#625E57;--lux-body-2:#5F5B55;--lux-hover:#3A3935;--lux-light:#F3F1EC;--lux-light-2:#F2EFE8;--lux-light-3:#F3EFE8;--lux-ink-2:#1B1B1A;--lux-dark-3:#26272A;--lux-dark-4:#27282A;--lux-muted-3:#79736A;--lux-muted-4:#777169;--lux-muted-5:#68635B;--lux-muted-6:#777168;--lux-tertiary-2:#817A70;--lux-tertiary-3:#8A847A;--lux-border-light:#C9C3B9;--lux-dark-muted-2:#B9B2A6;--lux-dark-line-2:#4B4C4F;--lux-dark-line-3:#5B5C5F;--lux-footer:#171819;--lux-footer-line:#3B3C3F;--lux-footer-muted:#AFA89D;--lux-brass:#A89C87;--lux-shadow:0 24px 60px rgba(20,20,18,.10)}
[data-theme=dark]{--lux-bg:#2A2826;--lux-paper:#312E2B;--lux-ink:#EDEAE3;--lux-muted:#A8A29A;--lux-muted-2:#B0AAA1;--lux-tertiary:#807A70;--lux-accent:#B5A88F;--lux-accent-soft:#C1B6A2;--lux-accent-hover:#C3B49A;--lux-line:#4A4540;--lux-dark:#1C1A18;--lux-dark-2:#252320;--lux-dark-line:#3A3631;--lux-dark-muted:#9A948A;--lux-nav:#B0AAA1;--lux-body:#A8A29A;--lux-body-2:#9E9890;--lux-hover:#3A3631;--lux-light:#EDEAE3;--lux-light-2:#EDEAE3;--lux-light-3:#E8E4DC;--lux-ink-2:#EDEAE3;--lux-dark-3:#322F2B;--lux-dark-4:#35312D;--lux-muted-3:#928B82;--lux-muted-4:#878078;--lux-muted-5:#9F9990;--lux-muted-6:#8D877E;--lux-tertiary-2:#8B857C;--lux-tertiary-3:#9B9388;--lux-border-light:#5A554E;--lux-dark-muted-2:#AAA399;--lux-dark-line-2:#4A4540;--lux-dark-line-3:#5A554E;--lux-footer:#1C1A18;--lux-footer-line:#3A3631;--lux-footer-muted:#9A948A;--lux-brass:#B5A88F;--lux-shadow:0 24px 60px rgba(0,0,0,.18)}
[data-theme=dark]{--lux-bg:#E8E6E1;--lux-paper:#F0EEE9;--lux-ink:#2A2724;--lux-muted:#6E6A64;--lux-muted-2:#625E58;--lux-tertiary:#7A756E;--lux-accent:#8C8074;--lux-accent-soft:#A09588;--lux-accent-hover:#796D62;--lux-line:#C5C2BC;--lux-dark:#2E2A26;--lux-dark-2:#38332E;--lux-dark-line:#45413C;--lux-dark-muted:#A8A29A;--lux-nav:#625E58;--lux-body:#625E57;--lux-body-2:#58544E;--lux-hover:#45413C;--lux-light:#E8E6E1;--lux-light-2:#ECEAE5;--lux-light-3:#E8E6E1;--lux-ink-2:#2A2724;--lux-dark-3:#3B3732;--lux-dark-4:#403B36;--lux-muted-3:#77716A;--lux-muted-4:#706A63;--lux-muted-5:#625E58;--lux-muted-6:#77716A;--lux-tertiary-2:#77716A;--lux-tertiary-3:#7F7971;--lux-border-light:#BDB9B1;--lux-dark-muted-2:#AFA9A0;--lux-dark-line-2:#4B4742;--lux-dark-line-3:#5A5650;--lux-footer:#2E2A26;--lux-footer-line:#45413C;--lux-footer-muted:#A8A29A;--lux-brass:#8C8074;--lux-shadow:0 24px 60px rgba(30,27,23,.12)}
html{background:var(--color-bg)}
body{background:var(--color-bg);color:var(--color-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.01em}
.site-shell{background:var(--color-bg)}
.site-header{height:86px;background:rgba(238,234,227,.96);border-bottom:1px solid var(--color-line);backdrop-filter:blur(12px)}
.header-inner{height:86px;max-width:1500px;padding:0 56px;gap:34px}
.brand{font-size:13px;letter-spacing:.16em;font-weight:600;line-height:1.1}
.brand span{font-size:9px;letter-spacing:.19em;color:var(--lux-tertiary);margin-top:5px}
.desktop-nav{gap:26px;font-size:12px;letter-spacing:.02em;color:var(--lux-nav)}
.nav-item>a{padding:7px 0}
.nav-active{border-bottom:1px solid var(--color-text)!important;color:var(--color-text)!important}
.header-cta{margin-left:6px;padding:12px 0;font-size:10px;letter-spacing:.13em;border-bottom:1px solid var(--color-text)}
.theme-switcher{border-left:1px solid var(--color-line);padding-left:18px;gap:2px}
.theme-switcher button,.mobile-theme-switcher button{font-size:9px;letter-spacing:.1em;color:var(--lux-tertiary);padding:5px 6px}
.theme-switcher button.is-active,.mobile-theme-switcher button.is-active{color:var(--color-text)}
.dropdown-menu{top:86px;background:var(--color-bg-panel);border:1px solid var(--color-line);border-top:0;box-shadow:0 18px 40px rgba(20,20,18,.08);padding:20px 24px}

.hero{padding:0 0 110px;min-height:calc(100vh - 86px);background:var(--color-bg)}
.hero:before{display:none}
.hero-grid{max-width:1500px;grid-template-columns:minmax(0,46%) minmax(0,54%);gap:0;min-height:calc(100vh - 86px);align-items:stretch}
.hero-text-col{padding:112px 64px 90px 56px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:3}
.eyebrow{font-size:9px!important;letter-spacing:.22em!important;font-weight:600!important;color:var(--lux-tertiary-2)!important;text-transform:uppercase;margin-bottom:28px!important}
h1{font-size:clamp(58px,6.2vw,100px);line-height:.94;letter-spacing:-.065em;font-weight:500;max-width:760px}
.hero-profile{margin:40px 0 18px;gap:5px;font-size:13px}
.hero-profile strong{font-size:15px;font-weight:600;letter-spacing:-.02em}
.hero-profile span{font-size:11px;color:var(--lux-muted-3)}
.hero-credential{margin:16px 0 28px;padding-left:14px;border-left:1px solid var(--color-accent);font-size:10px;color:var(--lux-muted-4);max-width:360px}
.hero-description{max-width:440px;font-size:14px;line-height:1.7;color:var(--lux-body-2);margin-bottom:34px}
.hero-actions{gap:22px;align-items:center}
.button,.button-dark{min-height:48px;padding:0 22px;border-radius:1px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.button-dark{background:var(--color-text);color:var(--lux-light-2);border:1px solid var(--color-text)}
.button-dark:hover{background:var(--lux-hover);border-color:var(--lux-hover);transform:translateY(-1px)}
.hero-phone-link{gap:4px;padding-left:2px}
.hero-phone-label{font-size:9px;letter-spacing:.16em;color:var(--lux-tertiary)}
.hero-phone-number{font-size:12px;color:var(--color-text);letter-spacing:.02em}
.hero-image-col{height:auto;min-height:calc(100vh - 86px);overflow:hidden;position:relative;background:var(--lux-dark-3)}
.hero-image-col:after{content:"";position:absolute;inset:0;pointer-events:none;border-left:1px solid rgba(255,255,255,.08)}
.hero-image-col img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.82) contrast(.98);transform:scale(1.012);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.hero:hover .hero-image-col img{transform:scale(1.025)}

.portrait-section{padding:0 0 150px;background:var(--color-bg)}
.portrait-section:before{display:none}
.portrait-inner{max-width:1500px;grid-template-columns:58% 42%;gap:0;align-items:stretch}
.portrait-image-wrap{height:760px;overflow:hidden;background:var(--lux-dark-4)}
.portrait-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 23%;filter:saturate(.82) contrast(.99)}
.portrait-copy{max-width:none;padding:86px 80px 70px 72px;display:flex;flex-direction:column;justify-content:center;background:var(--color-bg-panel);position:relative}
.portrait-copy:before{content:"";position:absolute;left:0;top:86px;bottom:70px;width:1px;background:var(--color-line)}
.display-text{font-size:clamp(34px,3.6vw,58px)!important;line-height:1.02!important;letter-spacing:-.055em!important;color:var(--color-text)!important;margin:34px 0 28px!important;max-width:500px!important}
.portrait-copy>p:not(.display-text){font-size:14px;line-height:1.75;color:var(--lux-muted-5)}
.section-heading{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.17em;text-transform:uppercase}
.section-number{font-size:10px;color:var(--color-accent)!important;font-weight:600}
.section-rule{height:1px;width:34px;background:var(--color-line)!important}
.section-label{color:var(--lux-muted-6)!important;font-weight:600}
.arrow-link{font-size:10px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid var(--color-line);padding-bottom:9px;width:max-content;margin-top:8px}
.arrow-link:hover{color:var(--lux-accent-hover);border-color:var(--lux-accent-hover)}

.experience-section{background:var(--color-dark);color:var(--lux-light);padding:130px 56px;position:relative;overflow:hidden}
.experience-inner{max-width:1380px;grid-template-columns:1.05fr .95fr;gap:10%;align-items:end}
.experience-number{font-size:clamp(190px,27vw,430px);line-height:.72;letter-spacing:-.09em;font-weight:300;color:var(--lux-light)}
.experience-number span{color:var(--color-accent)}
.experience-content h2{font-size:clamp(40px,4.5vw,72px);line-height:.98;letter-spacing:-.06em;margin:42px 0 26px;max-width:600px}
.experience-content p{font-size:14px;line-height:1.8;color:var(--lux-dark-muted);max-width:430px}
.experience-section .section-rule{background:var(--lux-dark-line)!important}.experience-section .section-label{color:var(--lux-accent-soft)!important}

.public-service-section{max-width:1500px;padding:130px 56px;background:var(--color-bg)}
.public-service-inner{grid-template-columns:1fr 1fr;gap:14%}
.public-service-heading h2{font-size:clamp(42px,4.6vw,70px);line-height:.98;letter-spacing:-.06em;max-width:600px;margin-top:40px}
.public-service-text{padding-top:58px;max-width:520px}
.public-service-text p{font-size:14px;line-height:1.8;color:var(--lux-body);margin-bottom:22px}
.public-service-text strong{border-top:1px solid var(--color-line);padding-top:18px;font-size:11px;color:var(--color-text)}

.practice-section{max-width:1500px;padding:10px 56px 140px}
.practice-title{font-size:clamp(44px,5vw,76px);line-height:.96;letter-spacing:-.065em;margin:46px 0 70px}
.practice-links{grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--color-line)}
.practice-link{padding:34px 28px 38px 0;min-height:260px;border-top:0;border-bottom:1px solid var(--color-line);border-right:1px solid var(--color-line);position:relative}
.practice-link:nth-child(2){padding-left:36px;border-right:0}
.practice-link:hover{padding-left:0;background:transparent}
.practice-link:nth-child(2):hover{padding-left:36px}
.practice-index{font-size:10px;color:var(--color-accent)}
.practice-link-content{max-width:520px;margin-top:auto}
.practice-link-content h3{font-size:clamp(28px,3vw,46px);line-height:1;letter-spacing:-.05em;font-weight:500;margin-bottom:16px}
.practice-link-content p{font-size:13px;line-height:1.7;color:var(--color-text-secondary);max-width:430px}
.practice-arrow{position:absolute;right:0;bottom:38px;color:var(--color-accent)}

.process-block{padding:0 56px 130px;background:var(--color-bg)}
.process-inner{max-width:1380px;margin:0 auto}
.process-title{font-size:clamp(42px,5vw,76px);line-height:.96;letter-spacing:-.065em;max-width:900px;margin:46px 0 68px}
.process-list{border-top:1px solid var(--color-line)}
.process-item{min-height:92px;grid-template-columns:90px 1fr;gap:20px;border-bottom:1px solid var(--color-line);padding:0;align-items:center}
.process-num{font-size:10px;color:var(--color-accent);letter-spacing:.08em}
.process-item strong{font-size:16px;font-weight:500}

.question-section{padding:0 56px 140px;background:var(--color-bg)}
.question-inner{max-width:1380px;margin:0 auto}
.question-title{font-size:clamp(42px,5vw,76px);line-height:.96;letter-spacing:-.065em;max-width:900px;margin:46px 0 66px}
.question-list{border-top:1px solid var(--color-line)}
.question-item{grid-template-columns:90px 1fr;gap:20px;min-height:86px;border-bottom:1px solid var(--color-line);padding:0}
.question-num{font-size:10px;color:var(--color-accent)}
.question-item p{font-size:16px;color:var(--lux-dark-line-2)}

.home-publications{padding:120px 56px;background:var(--color-bg-panel)}
.home-publications-inner{max-width:1380px}
.home-publications h2{font-size:clamp(42px,5vw,76px);line-height:.96;letter-spacing:-.065em;margin:46px 0 62px}
.home-publications-grid{grid-template-columns:repeat(3,1fr);gap:0;margin-top:0;border-top:1px solid var(--color-line)}
.article-card{padding:30px 30px 38px 0;border-top:0;border-bottom:1px solid var(--color-line);border-right:1px solid var(--color-line);min-height:270px}
.article-card:nth-child(3n+2),.article-card:nth-child(3n+3){padding-left:28px}
.article-card:nth-child(3n){border-right:0}
.article-card-date{font-size:9px;letter-spacing:.16em;color:var(--lux-tertiary-3)}
.article-card h2{font-size:23px;line-height:1.08;letter-spacing:-.035em;margin:24px 0 14px}
.article-card p{font-size:12px;line-height:1.65;color:var(--color-text-secondary)}
.article-card-link{font-size:9px;letter-spacing:.14em;margin-top:auto}
.home-publications-link{font-size:9px;letter-spacing:.14em;margin-top:32px}

.home-form-section{padding:0 56px 140px;background:var(--color-bg-panel)}
.home-form-inner{max-width:1380px;grid-template-columns:.8fr 1.2fr;gap:10%;border-top:1px solid var(--color-line);padding-top:70px}
.home-form-heading h2{font-size:clamp(42px,5vw,72px);line-height:.96;letter-spacing:-.065em;margin:42px 0 22px}
.home-form-heading p{font-size:13px;line-height:1.75;color:var(--color-text-secondary);max-width:390px}
.home-form-panel{background:var(--color-bg);border:1px solid var(--color-line);padding:42px;box-shadow:none}
.form-field input,.form-field textarea{background:transparent;border:0;border-bottom:1px solid var(--lux-border-light);border-radius:0;padding:14px 0;font-size:14px;color:var(--color-text)}
.form-field input:focus,.form-field textarea:focus{border-color:var(--color-text);box-shadow:none;outline:none}
.form-submit{border-radius:1px;background:var(--color-text)!important;color:var(--lux-light-3)!important}

.contact-cta{background:var(--color-dark);padding:96px 56px;position:relative}
.cta-inner{max-width:1380px;width:100%;justify-content:space-between;align-items:flex-end}
.contact-cta h2{font-size:clamp(48px,6vw,92px);line-height:.9;letter-spacing:-.07em;max-width:760px}
.cta-text{color:var(--lux-dark-muted-2)!important;font-size:13px;max-width:420px;line-height:1.7;margin-top:24px}
.cta-actions{gap:22px}.contact-cta .button-light{background:var(--lux-light-2);color:var(--lux-ink-2);border:0}.contact-cta .button-outline-light{border-color:var(--lux-dark-line-3);color:var(--lux-light)}
.contact-cta .eyebrow{color:var(--lux-accent-soft)!important}

.site-footer{background:var(--lux-footer);color:var(--lux-light);padding:62px 56px 24px;border-top:1px solid var(--lux-footer-line)}
.footer-inner{max-width:1380px;padding-bottom:56px}
.brand-footer{color:var(--lux-light)}.brand-footer span{color:var(--lux-accent)}
.footer-role,.footer-office{color:var(--lux-footer-muted);font-size:12px}.footer-label{color:var(--lux-accent);font-size:9px}.footer-phone{font-size:17px;border-bottom:1px solid var(--lux-accent)}.footer-nav{font-size:12px;color:var(--lux-dark-muted)}.footer-bottom{border-top:1px solid #343538;padding-top:20px;color:var(--color-text-secondary);font-size:10px}

.page-hero{max-width:1500px;padding:100px 56px 100px;min-height:480px;background:var(--color-bg)}
.page-hero-inner{align-items:flex-end;max-width:1380px;margin:0 auto}.page-hero h1{max-width:900px}.page-hero .lead{font-size:15px;line-height:1.7;color:var(--color-text-secondary);margin-top:30px;max-width:540px}.page-hero-meta{font-size:10px;letter-spacing:.14em;color:var(--color-text-secondary)}
.page-hero-mark{font-size:190px;line-height:.7;color:#D9D4CB;font-weight:300}
.about-portrait{padding:0 0 140px;background:var(--color-bg)}
.about-portrait-inner{max-width:1500px;grid-template-columns:58% 42%;gap:0}.about-image-wrap{height:780px}.about-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.82)}
.about-content{padding:82px 72px;background:var(--color-bg-panel);display:flex;flex-direction:column;justify-content:center}.about-content .display-text{max-width:500px}
.credentials-list{border-top:1px solid var(--color-line);margin-top:26px}.credentials-list>div{padding:17px 0;border-bottom:1px solid var(--color-line);display:grid;grid-template-columns:110px 1fr;gap:20px}.credentials-list span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-secondary)}.credentials-list strong{font-size:12px;font-weight:500;color:var(--color-text)}
.about-editorial{padding:0 56px 130px}.about-editorial-inner{max-width:1380px}.editorial-columns{grid-template-columns:1fr 1fr;gap:12%;margin-top:46px}.editorial-columns h2{font-size:clamp(40px,4.8vw,72px);line-height:.98;letter-spacing:-.06em}.editorial-columns p{font-size:14px;line-height:1.8;color:var(--lux-muted-2);margin-bottom:22px}
.about-service{padding:120px 56px;background:var(--color-dark);color:var(--lux-light)}.about-service-inner{max-width:1380px}.about-service h2{font-size:clamp(42px,5vw,76px);line-height:.96;letter-spacing:-.065em;max-width:1000px;margin:42px 0}.about-service-text{max-width:600px;margin-left:auto}.about-service-text p{color:var(--lux-dark-muted);font-size:14px;line-height:1.8}.about-service .section-label{color:var(--lux-accent-soft)!important}.about-service .section-rule{background:var(--lux-dark-line)!important}.about-service-text strong{color:var(--lux-light);border-color:var(--color-text)}
.about-approach{padding:120px 56px 140px}.approach-list{grid-template-columns:1fr 1fr;border-top:1px solid var(--color-line);margin-top:54px}.approach-item{min-height:92px;border-bottom:1px solid var(--color-line);padding:0 20px 0 0;display:grid;grid-template-columns:70px 1fr;align-items:center}.approach-item:nth-child(odd){border-right:1px solid var(--color-line)}.approach-item span{font-size:10px;color:var(--color-accent)}.approach-item strong{font-size:15px;font-weight:500}

.directions-section{max-width:1500px;padding:30px 56px 130px}.directions-inner{max-width:1380px;margin:0 auto}.direction-list{margin-top:50px;border-top:1px solid var(--color-line)}.direction-row{min-height:88px;padding:0;grid-template-columns:90px 1fr auto;border-bottom:1px solid var(--color-line)}.direction-row:hover{padding-left:10px}.direction-row strong{font-size:18px;font-weight:500}.direction-arrow{color:var(--color-accent)}
.personal-approach{padding:0 0 140px;background:var(--color-bg)}.personal-approach:before{display:none}.personal-approach-inner{max-width:1500px;display:grid;grid-template-columns:58% 42%;gap:0;align-items:stretch}.approach-image-wrap{height:780px}.approach-image-wrap img{object-position:center 22%;filter:saturate(.82)}.approach-copy{max-width:none;padding:82px 72px;background:var(--color-bg-panel);display:flex;flex-direction:column;justify-content:center}.approach-copy h2{font-size:clamp(40px,4.5vw,68px);line-height:.98;letter-spacing:-.06em;margin-top:38px}.approach-copy p{font-size:14px;line-height:1.8;color:var(--lux-muted-2);max-width:460px;margin-top:26px}
.inheritance-editorial{padding:0 56px 140px}.inheritance-editorial-inner{max-width:1380px}.inheritance-image-wrap{height:760px}.inheritance-editorial:before{display:none}
.detail-hero{padding:100px 56px 90px;max-width:1500px}.detail-hero h1{font-size:clamp(48px,6vw,92px);line-height:.94;letter-spacing:-.07em;max-width:1000px}.detail-situation{padding:100px 56px;background:var(--color-bg-panel)}.detail-situation-inner{max-width:1380px}.detail-situation-main h2{font-size:clamp(36px,4vw,60px);line-height:1;letter-spacing:-.055em}.detail-situation-main p{font-size:14px;line-height:1.8;color:var(--lux-muted-2)}.detail-work{padding:110px 56px}.work-grid{gap:0;border-top:1px solid var(--color-line)}.work-item{border-bottom:1px solid var(--color-line);padding:26px 0;min-height:90px}.work-item strong{font-size:15px}.detail-faq{padding:0 56px 110px}.faq-item{border-top:1px solid var(--color-line);padding:26px 0}.faq-item h3{font-size:18px}.faq-item p{font-size:13px;line-height:1.75;color:var(--lux-muted-2)}
.articles-list-section{padding:40px 56px 120px}.articles-list-inner{max-width:1380px}.article-cards{grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--color-line)}.article-card{min-height:280px}
.article-body{padding:70px 56px 120px}.article-body-inner{max-width:1380px;grid-template-columns:1fr 300px;gap:100px}.article-content{max-width:780px}.article-section{margin-bottom:52px}.article-section h2{font-size:clamp(28px,3vw,42px);line-height:1.05;letter-spacing:-.045em}.article-section p{font-size:15px;line-height:1.85;color:var(--lux-body)}.article-sidebar{top:110px}.article-meta,.article-related{border-top:1px solid var(--color-line)}
.contacts-section{padding:0 56px 130px}.contacts-inner{max-width:1380px}.contact-phone{font-size:clamp(34px,4vw,58px);letter-spacing:-.05em;border-bottom:1px solid var(--color-text);width:max-content}.form-panel{background:var(--color-bg-panel);border:1px solid var(--color-line);box-shadow:none}
.mobile-sticky-cta{background:rgba(32,33,36,.96);border:0;border-radius:1px;box-shadow:0 14px 40px rgba(0,0,0,.18)}

@media (max-width:1100px){
 .header-inner{padding:0 28px}.desktop-nav{gap:17px}.header-cta{display:none}.theme-switcher{border-left:0;padding-left:0}
 .hero-grid,.portrait-inner,.about-portrait-inner,.personal-approach-inner{grid-template-columns:1fr 1fr}.hero-text-col{padding:84px 38px 72px 32px}.hero-image-col{min-height:720px}.portrait-image-wrap,.about-image-wrap,.approach-image-wrap{height:680px}.portrait-copy,.about-content,.approach-copy{padding:64px 48px}.practice-section,.process-block,.question-section,.public-service-section,.home-publications,.home-form-section,.about-editorial,.about-service,.about-approach,.directions-section,.detail-hero,.detail-situation,.detail-work,.detail-faq,.contacts-section,.article-body,.articles-list-section{padding-left:32px;padding-right:32px}
 .home-publications-grid,.article-cards{grid-template-columns:repeat(2,1fr)}.article-card:nth-child(3n+2),.article-card:nth-child(3n+3){padding-left:0}.article-card:nth-child(3n){border-right:1px solid var(--color-line)}.article-card:nth-child(2n){padding-left:28px;border-right:0}
}
@media (max-width:760px){
 .site-header,.header-inner{height:72px}.header-inner{padding:0 20px}.brand{font-size:12px}.brand span{font-size:8px}.desktop-nav,.theme-switcher{display:none}
 .hero{padding-bottom:72px}.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-text-col{padding:56px 22px 44px;order:2}.hero-image-col{order:1;height:118vw;min-height:0;max-height:720px}.hero-image-col img{object-position:center 17%}
 h1{font-size:clamp(48px,14vw,72px)}.hero-profile{margin-top:32px}.hero-description{font-size:13px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.hero-phone-link{align-items:flex-start;padding-left:0}
 .portrait-inner,.about-portrait-inner,.personal-approach-inner{display:flex;flex-direction:column}.portrait-section{padding-bottom:90px}.portrait-image-wrap,.about-image-wrap,.approach-image-wrap{height:125vw;max-height:650px}.portrait-copy,.about-content,.approach-copy{padding:56px 22px 64px}.portrait-copy:before{display:none}.display-text{font-size:clamp(34px,10vw,52px)!important}
 .experience-section{padding:86px 22px}.experience-inner{grid-template-columns:1fr;gap:60px}.experience-number{font-size:45vw}.experience-content h2,.public-service-heading h2,.practice-title,.process-title,.question-title,.home-publications h2,.home-form-heading h2{font-size:clamp(42px,12vw,66px)}
 .public-service-section{padding-top:86px;padding-bottom:86px}.public-service-inner{grid-template-columns:1fr;gap:44px}.public-service-text{padding-top:0}
 .practice-section,.process-block,.question-section{padding-bottom:90px}.practice-links,.approach-list{grid-template-columns:1fr}.practice-link,.practice-link:nth-child(2){padding:28px 0 34px;border-right:0;min-height:220px}.practice-link:nth-child(2):hover{padding-left:0}.practice-link-content h3{font-size:30px}.practice-arrow{right:0}
 .process-item,.question-item{grid-template-columns:52px 1fr;min-height:76px}.process-item strong,.question-item p{font-size:14px}
 .home-publications{padding:86px 22px}.home-publications-grid,.article-cards{grid-template-columns:1fr}.article-card,.article-card:nth-child(2n),.article-card:nth-child(3n){padding:28px 0;border-right:0;min-height:0}.article-card h2{font-size:21px}
 .home-form-section{padding:0 22px 90px}.home-form-inner{grid-template-columns:1fr;gap:38px;padding-top:56px}.home-form-panel{padding:28px 20px}
 .contact-cta{padding:72px 22px}.cta-inner{align-items:flex-start}.contact-cta h2{font-size:clamp(46px,13vw,72px)}
 .site-footer{padding:52px 22px 90px}.footer-inner{grid-template-columns:1fr;gap:32px}.footer-inner>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start}
 .page-hero{padding:66px 22px 60px;min-height:0}.page-hero h1{font-size:clamp(46px,13vw,70px)}.page-hero-meta{margin-top:22px}.page-hero-mark{display:none}
 .about-editorial,.about-approach,.directions-section,.detail-hero,.detail-situation,.detail-work,.detail-faq,.contacts-section,.article-body,.articles-list-section{padding-left:22px;padding-right:22px}.editorial-columns{grid-template-columns:1fr;gap:34px}.about-service{padding:80px 22px}.about-service-text{margin-left:0}.approach-item{grid-template-columns:52px 1fr}.approach-item:nth-child(odd){border-right:0}
 .direction-row{grid-template-columns:44px 1fr auto;min-height:76px;gap:10px}.direction-row strong{font-size:15px}.personal-approach{padding-bottom:90px}
 .detail-hero{padding-top:60px}.detail-situation{padding-top:72px;padding-bottom:72px}.detail-work{padding-top:76px}.detail-faq{padding-bottom:80px}.article-body-inner{grid-template-columns:1fr;gap:46px}.article-sidebar{position:static}.articles-list-section{padding-top:30px;padding-bottom:80px}
}

/* Premium responsive typography: every heading scales continuously with viewport width */
:root{--heading-h1:clamp(3rem,6.2vw,6.25rem);--heading-h2:clamp(2.25rem,4.6vw,4.75rem);--heading-h3:clamp(1.5rem,3vw,2.75rem);--heading-h4:clamp(1.25rem,2vw,2rem)}
h1{font-size:var(--heading-h1)!important;line-height:.94;letter-spacing:-.065em}
h2{font-size:var(--heading-h2)!important;line-height:.98;letter-spacing:-.055em}
h3{font-size:var(--heading-h3)!important;line-height:1.05;letter-spacing:-.035em}
h4,h5,h6{font-size:var(--heading-h4)!important;line-height:1.15;letter-spacing:-.02em}

/* Component headings that previously had fixed values */
.practice-link-content h3{font-size:clamp(1.75rem,3vw,2.9rem)!important}
.article-card h2{font-size:clamp(1.25rem,1.65vw,1.65rem)!important;line-height:1.12}
.faq-item h3{font-size:clamp(1.05rem,1.35vw,1.3rem)!important;line-height:1.35}
.direction-row strong{font-size:clamp(1rem,1.45vw,1.45rem)!important;line-height:1.25}
.process-item strong{font-size:clamp(1rem,1.25vw,1.15rem)!important}
.question-item p{font-size:clamp(1rem,1.25vw,1.15rem)!important}

@media (max-width:760px){
  :root{--heading-h1:clamp(2.7rem,12vw,4.5rem);--heading-h2:clamp(2.25rem,10vw,4.1rem);--heading-h3:clamp(1.4rem,6vw,2.2rem);--heading-h4:clamp(1.2rem,4.5vw,1.7rem)}
  .practice-link-content h3{font-size:clamp(1.75rem,7.5vw,2.5rem)!important}
  .article-card h2{font-size:clamp(1.2rem,5.5vw,1.5rem)!important}
  .faq-item h3{font-size:clamp(1rem,4.2vw,1.25rem)!important}
  .direction-row strong{font-size:clamp(.95rem,4.2vw,1.15rem)!important}
  .process-item strong,.question-item p{font-size:clamp(.95rem,4vw,1.1rem)!important}
}

/* Final responsive heading fix: keep long Russian hero headings inside their text column. */
.hero-grid,
.hero-text-col,
.hero-text-col h1 { min-width: 0; }
.hero-text-col h1 {
  font-size: clamp(42px, 5vw, 76px);
  line-height: 0.98;
  letter-spacing: -0.035em;
  max-width: 100%;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
}
@media (max-width: 1100px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 48%); gap: 4%; }
  .hero-text-col { padding-left: 20px; padding-right: 24px; }
  .hero-text-col h1 { font-size: clamp(42px, 5vw, 64px); }
}
@media (max-width: 760px) {
  .hero-grid { display: flex; }
  .hero-text-col { width: 100%; padding-left: 22px; padding-right: 22px; }
  .hero-text-col h1 { font-size: clamp(42px, 11vw, 72px); line-height: 0.98; }
}

/* v6: prevent the long home hero heading from ever entering the portrait area */
.hero-text-col h1{
  width:100%;
  max-width:590px;
  box-sizing:border-box;
  font-size:clamp(40px,4.35vw,68px)!important;
  line-height:.98;
  letter-spacing:-.03em;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}
@media (max-width:1200px){
  .hero-text-col h1{max-width:520px;font-size:clamp(40px,4.25vw,60px)!important;}
}
@media (max-width:900px){
  .hero-text-col h1{max-width:100%;font-size:clamp(40px,5.4vw,58px)!important;}
}
@media (max-width:760px){
  .hero-text-col h1{max-width:100%;font-size:clamp(40px,11vw,72px)!important;line-height:.98;}
}


/* V7 — COHESIVE PHOTO-FIRST REDESIGN
   Direction: restrained private office / warm graphite / editorial.
   The page background deliberately sits in the same warm neutral family as the photography.
*/
:root{
  --lux-bg:#d7d0c6;
  --lux-paper:#d9d2c8;
  --lux-ink:#211f1c;
  --lux-muted:#69635b;
  --lux-muted-2:#5f5952;
  --lux-tertiary:#81796f;
  --lux-accent:#9a8c7a;
  --lux-accent-soft:#b1a596;
  --lux-accent-hover:#7e7161;
  --lux-line:rgba(55,49,43,.20);
  --lux-dark:#252321;
  --lux-dark-2:#2b2926;
  --lux-dark-line:rgba(235,230,220,.17);
  --lux-dark-muted:#bdb5aa;
  --lux-nav:#514c45;
  --lux-body:#5b554e;
  --lux-body-2:#575149;
  --lux-hover:#3a3631;
  --lux-light:#eee9e0;
  --lux-light-2:#e8e1d7;
  --lux-light-3:#e4ddd3;
  --lux-ink-2:#211f1c;
  --lux-dark-3:#302d29;
  --lux-dark-4:#35312c;
  --lux-muted-3:#756e65;
  --lux-muted-4:#706960;
  --lux-muted-5:#625c54;
  --lux-muted-6:#706960;
  --lux-tertiary-2:#7d756b;
  --lux-tertiary-3:#877e73;
  --lux-border-light:rgba(55,49,43,.25);
  --lux-dark-muted-2:#b4aca0;
  --lux-dark-line-2:rgba(235,230,220,.19);
  --lux-dark-line-3:rgba(235,230,220,.25);
  --lux-footer:#201f1d;
  --lux-footer-line:rgba(235,230,220,.15);
  --lux-footer-muted:#aaa298;
  --lux-brass:#9a8c7a;
  --lux-shadow:none;
}
[data-theme=dark]{
  --lux-bg:#292725;--lux-paper:#2e2b28;--lux-ink:#eee9e0;--lux-muted:#aaa197;
  --lux-muted-2:#b2aaa0;--lux-tertiary:#857d72;--lux-accent:#b2a38f;
  --lux-accent-soft:#c0b4a3;--lux-accent-hover:#c4b7a5;--lux-line:rgba(238,233,224,.17);
  --lux-dark:#1f1e1c;--lux-dark-2:#252321;--lux-dark-line:rgba(238,233,224,.14);
  --lux-dark-muted:#b5ada2;--lux-nav:#b8afa4;--lux-body:#b0a79d;--lux-body-2:#a69e94;
  --lux-hover:#403b35;--lux-light:#eee9e0;--lux-light-2:#e8e1d7;--lux-light-3:#ddd6cc;
  --lux-ink-2:#eee9e0;--lux-border-light:rgba(238,233,224,.22);--lux-footer:#1b1a19;
  --lux-footer-line:rgba(238,233,224,.13);--lux-footer-muted:#a69e94;--lux-brass:#b2a38f;
}
[data-theme=dark]{
  --lux-bg:#c9c2b8;--lux-paper:#cec7bd;--lux-ink:#292621;--lux-muted:#625d56;
  --lux-muted-2:#5b554e;--lux-tertiary:#777067;--lux-accent:#8d8171;
  --lux-accent-soft:#a69a89;--lux-accent-hover:#766a5b;--lux-line:rgba(48,43,38,.19);
  --lux-dark:#312e2a;--lux-dark-2:#39352f;--lux-dark-line:rgba(238,233,224,.16);
  --lux-dark-muted:#b9b0a4;--lux-nav:#575149;--lux-body:#5b554e;--lux-body-2:#544f48;
  --lux-hover:#454039;--lux-light:#ebe5db;--lux-light-2:#e2dbd1;--lux-light-3:#dcd5cb;
  --lux-ink-2:#292621;--lux-border-light:rgba(48,43,38,.23);--lux-footer:#292724;
  --lux-footer-line:rgba(238,233,224,.14);--lux-footer-muted:#aaa196;--lux-brass:#8d8171;
}

html{background:var(--color-bg);scroll-behavior:smooth}
body{
  background:var(--color-bg)!important;
  color:var(--color-text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  transition:background-color .25s ease,color .25s ease;
}
.site-header{
  background:color-mix(in srgb,var(--color-bg) 94%,transparent)!important;
  border-bottom:1px solid var(--color-line)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.header-inner{max-width:1500px}
.brand{letter-spacing:.08em}
.brand span{color:var(--color-text-secondary)!important}
main,section,.hero,.portrait-section,.experience-section,.practice-section,.process-block,
.question-section,.public-service-section,.home-publications,.home-form-section,.about-editorial,
.about-service,.about-approach,.directions-section,.detail-hero,.detail-work,.detail-faq,
.contacts-section,.articles-list-section,.article-body{background:var(--color-bg)!important}
.section-label,.eyebrow,.page-hero-meta,.article-meta{color:var(--color-text-secondary)!important;letter-spacing:.14em}
h1,h2,h3,h4,h5,h6{color:var(--color-text)!important;font-weight:500}
p{color:var(--lux-body)}
a{transition:color .2s ease,opacity .2s ease}
.button{
  background:var(--color-text)!important;color:var(--color-bg)!important;
  border:1px solid var(--color-text)!important;border-radius:0!important;
  box-shadow:none!important;
}
.button:hover{background:var(--lux-accent-hover)!important;border-color:var(--lux-accent-hover)!important;color:#f1ece4!important}
.header-cta{background:transparent!important;color:var(--color-text)!important;border-color:var(--color-line)!important}
.header-cta:hover{background:var(--color-text)!important;color:var(--color-bg)!important}
.theme-switcher{border-color:var(--color-line)!important}
.theme-switcher button{color:var(--color-text-secondary)!important}
.theme-switcher button[aria-pressed="true"]{color:var(--color-text)!important}
.theme-switcher button[aria-pressed="true"]::after{background:var(--lux-accent)!important}

/* Remove the "card" feeling. Everything lives on one continuous surface. */
.form-panel,.home-form-panel,.article-card,.practice-link,.process-item,.question-item,
.approach-item,.direction-row,.faq-item,.article-related,.article-meta{
  background:transparent!important;box-shadow:none!important;
}
.form-panel,.home-form-panel{border-color:var(--color-line)!important}

/* Photo integration: no white frames, no hard borders. The image dissolves into the page surface. */
.hero-image-col,.portrait-image-wrap,.about-image-wrap,.approach-image-wrap,.inheritance-image-wrap{
  background:var(--color-bg)!important;
  overflow:hidden;
}
.hero-image-col img,.portrait-image-wrap img,.about-image-wrap img,.approach-image-wrap img,
.inheritance-image-wrap img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  border:0!important;
  box-shadow:none!important;
  filter:saturate(.78) contrast(.94) sepia(.025);
  transform:scale(1.015);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
}
.hero-image-col::after,.portrait-image-wrap::after,.about-image-wrap::after,
.approach-image-wrap::after,.inheritance-image-wrap::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,var(--color-bg) 0%,transparent 8%,transparent 92%,var(--color-bg) 100%);
  opacity:.58;
}
.hero-image-col,.portrait-image-wrap,.about-image-wrap,.approach-image-wrap,.inheritance-image-wrap{position:relative}

/* Editorial composition: typography and photography share one plane. */
.hero-grid{max-width:1500px!important;margin:0 auto!important;background:var(--color-bg)!important}
.hero-text-col{background:var(--color-bg)!important;position:relative;z-index:2}
.hero-text-col h1{
  max-width:10ch!important;
  font-size:clamp(3.2rem,5.5vw,6.2rem)!important;
  line-height:.93!important;
  letter-spacing:-.055em!important;
  text-wrap:balance;
}
.hero-profile{border-top:1px solid var(--color-line)!important}
.hero-description,.hero-phone-link{color:var(--color-text-secondary)!important}
.portrait-section,.personal-approach,.inheritance-editorial{background:var(--color-bg)!important}
.portrait-inner,.about-portrait-inner,.personal-approach-inner{background:var(--color-bg)!important}
.portrait-copy,.about-content,.approach-copy{
  background:var(--color-bg)!important;
  border:0!important;
}
.portrait-copy h2,.about-content h2,.approach-copy h2{max-width:10ch}
.experience-number{color:var(--color-text)!important;opacity:.10!important}
.experience-content{border-top:1px solid var(--color-line)}
.practice-links,.process-list,.question-list,.direction-list,.article-cards,.approach-list{
  border-color:var(--color-line)!important;
}
.practice-link,.process-item,.question-item,.direction-row,.article-card,.approach-item,.faq-item{
  border-color:var(--color-line)!important;
}
.practice-link:hover,.direction-row:hover{background:rgba(255,255,255,.08)!important}
.practice-arrow,.direction-arrow{color:var(--lux-accent)!important}
.public-service-section,.detail-situation,.contact-cta{
  background:var(--color-dark)!important;color:var(--lux-light)!important;
}
.public-service-section h2,.detail-situation h2,.contact-cta h2,
.public-service-section strong,.detail-situation strong{color:var(--lux-light)!important}
.public-service-section p,.detail-situation p{color:var(--lux-dark-muted)!important}
.public-service-section .section-label,.detail-situation .section-label{color:var(--lux-accent-soft)!important}
.public-service-section .section-rule,.detail-situation .section-rule{background:var(--lux-dark-line)!important}
.contact-cta{border-top:1px solid var(--lux-dark-line)}
.contact-cta .button{background:var(--lux-light)!important;color:var(--color-dark)!important;border-color:var(--lux-light)!important}
.contact-cta .button:hover{background:var(--lux-accent)!important;color:var(--lux-light)!important;border-color:var(--lux-accent)!important}
.site-footer{background:var(--lux-footer)!important;border-top:1px solid var(--lux-footer-line)!important}
.site-footer,.site-footer a,.site-footer p{color:var(--lux-footer-muted)!important}
.site-footer strong,.site-footer h3{color:var(--lux-light)!important}
.footer-bottom{border-color:var(--lux-footer-line)!important}

/* Forms: quiet, architectural, no floating white boxes. */
.form-panel input,.form-panel textarea,.home-form-panel input,.home-form-panel textarea{
  background:transparent!important;border:0!important;border-bottom:1px solid var(--color-line)!important;
  border-radius:0!important;color:var(--color-text)!important;
}
.form-panel input:focus,.form-panel textarea:focus,.home-form-panel input:focus,.home-form-panel textarea:focus{
  outline:none!important;border-bottom-color:var(--lux-accent)!important;
}
.form-panel label,.home-form-panel label{color:var(--color-text-secondary)!important}

/* Pages and articles follow the same uninterrupted material. */
.page-hero{background:var(--color-bg)!important;border-bottom:1px solid var(--color-line)!important}
.page-hero h1,.detail-hero h1{max-width:11ch;font-size:clamp(3.3rem,6vw,6.5rem)!important;line-height:.94!important}
.article-content blockquote{border-left-color:var(--lux-accent)!important}
.article-sidebar{color:var(--color-text-secondary)!important}
.mobile-sticky-cta{background:var(--color-dark)!important}

/* Responsive: never allow a photo to compete with the heading. */
@media(max-width:1100px){
  .hero-text-col h1{max-width:9ch!important;font-size:clamp(3rem,6.2vw,5.2rem)!important}
  .page-hero h1,.detail-hero h1{max-width:10ch;font-size:clamp(3rem,7vw,5.6rem)!important}
}
@media(max-width:760px){
  .hero-text-col h1,.page-hero h1,.detail-hero h1{
    max-width:100%!important;font-size:clamp(2.9rem,12vw,4.8rem)!important;
    line-height:.96!important;
  }
  .hero-image-col img,.portrait-image-wrap img,.about-image-wrap img,.approach-image-wrap img,
  .inheritance-image-wrap img{
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 88%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 88%,transparent 100%);
  }
  .hero-image-col::after,.portrait-image-wrap::after,.about-image-wrap::after,
  .approach-image-wrap::after,.inheritance-image-wrap::after{
    background:linear-gradient(180deg,transparent 78%,var(--color-bg) 100%);
    opacity:.72;
  }
  .hero-text-col{padding-top:42px!important}
}

/* Respect reduced motion. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
}

/* FINAL CONTRAST PASS — theme-aware, no low-contrast text */
body{background:var(--color-bg);color:var(--color-text)}
.site-header{background:var(--color-bg);color:var(--color-text);border-color:var(--color-line)}
.site-footer{background:var(--color-dark);color:var(--color-dark-text)}
.site-footer a,.site-footer p,.site-footer span{color:var(--color-dark-text-secondary)}
.site-footer a:hover{color:var(--color-dark-text)}
.hero,.portrait-section,.experience-section,.practice-section,.process-block,.question-section,.public-service-section,.home-publications,.home-form-section,.about-editorial,.about-service,.about-approach,.directions-section,.detail-situation,.detail-work,.detail-faq,.contacts-section,.articles-list-section,.article-body{background:var(--color-bg);color:var(--color-text)}
.hero-description,.portrait-copy p,.about-content p,.approach-copy p,.experience-content p,.practice-link p,.process-item p,.question-item p,.public-service-text p,.article-card p,.editorial-columns p,.direction-row span,.detail-situation p,.detail-work p,.article-content p,.article-meta,.article-related{color:var(--color-text-secondary)}
.hero-image-col,.portrait-image-wrap,.about-image-wrap,.approach-image-wrap{background:var(--color-image-bg)}
.form-panel,.home-form-panel{background:var(--color-bg-panel);color:var(--color-text);border-color:var(--color-line)}
input,textarea,select{background:var(--color-bg);color:var(--color-text);border-color:var(--color-line)}
input::placeholder,textarea::placeholder{color:var(--color-text-tertiary);opacity:1}
.button-primary,.header-cta{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}
.button-secondary{background:transparent;color:var(--color-text);border-color:var(--color-text)}
.button-primary:hover,.header-cta:hover{background:var(--color-accent);color:var(--color-dark)}
.button-secondary:hover{background:var(--color-text);color:var(--color-bg)}
.page-hero{background:var(--color-bg);color:var(--color-text)}
.page-hero p,.page-hero-meta{color:var(--color-text-secondary)}
.detail-hero{background:var(--color-bg);color:var(--color-text)}
.detail-hero p{color:var(--color-text-secondary)}
.mobile-sticky-cta{background:var(--color-dark);color:var(--color-dark-text)}
.mobile-sticky-cta a{color:var(--color-dark-text)}

/* v9 typography and spacing safety pass */
html, body, #root { overflow-wrap: normal; word-break: normal; hyphens: none; }
*, *::before, *::after { word-break: normal; hyphens: none; }

h1, h2, h3, h4, h5, h6,
.hero h1, .page-hero h1, .detail-hero h1,
.display-text, .practice-title, .public-service-heading h2,
.experience-content h2, .detail-situation-main h2,
.article-section h2, .article-card h2 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  white-space: normal;
  max-width: 100%;
}

/* Never allow editorial headings to collide with adjacent imagery */
.hero-text-col, .portrait-copy, .public-service-heading, .public-service-text,
.practice-section, .detail-hero, .detail-situation-main, .article-content,
.article-card, .page-hero-inner, .editorial-columns > *, .about-editorial > * {
  min-width: 0;
}

/* Comfortable inner breathing room around content and visual boundaries */
.hero-text-col { padding-right: clamp(28px, 5vw, 72px); }
.portrait-copy { padding-right: clamp(28px, 5vw, 72px); padding-left: clamp(28px, 5vw, 72px); }
.public-service-text { padding-right: clamp(24px, 4vw, 64px); }
.practice-link { padding-right: clamp(20px, 3vw, 44px); }
.process-item, .question-item, .direction-row, .work-item, .topic-item, .approach-item {
  padding-left: clamp(8px, 1.5vw, 24px);
  padding-right: clamp(8px, 1.5vw, 24px);
}
.form-panel { padding-left: clamp(24px, 3vw, 40px); padding-right: clamp(24px, 3vw, 40px); }
.article-card { padding-left: clamp(8px, 1vw, 16px); padding-right: clamp(8px, 1vw, 16px); }

/* Keep words intact; allow the browser to wrap only at natural spaces */
.hero h1, .page-hero h1, .detail-hero h1, .practice-title, .display-text,
.public-service-heading h2, .experience-content h2 { text-wrap: balance; }

@media (max-width: 1023px) {
  .hero-text-col, .portrait-copy, .public-service-text { padding-left: 24px; padding-right: 24px; }
  .practice-section { padding-left: 24px; padding-right: 24px; }
  .practice-link { padding-left: 0; padding-right: 0; }
  .process-item, .question-item, .direction-row, .work-item, .topic-item, .approach-item { padding-left: 0; padding-right: 0; }
  .article-card { padding-left: 0; padding-right: 0; }
}

@media (max-width: 560px) {
  h1, .hero h1, .page-hero h1, .detail-hero h1 { letter-spacing: -0.045em; }
  .hero-text-col, .portrait-copy, .public-service-text { padding-left: 20px; padding-right: 20px; }
  .practice-section { padding-left: 20px; padding-right: 20px; }
  .form-panel { padding-left: 20px; padding-right: 20px; }
}

/* v10 — typography safety: generous right breathing room, never touch visual boundaries */
.experience-content h2,
.public-service-heading h2,
.practice-title,
.page-hero h1,
.detail-hero h1,
.about-editorial h2,
.display-text {
  box-sizing: border-box;
  width: 100%;
  max-width: 620px;
  padding-right: clamp(18px, 2.2vw, 36px);
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: balance;
}
.experience-content { min-width: 0; padding-right: clamp(12px, 2vw, 32px); }
.experience-content h2 { max-width: 600px; }
.hero-profile, .hero-description, .hero-credential { padding-right: 24px; box-sizing: border-box; }
.page-hero-inner > * { min-width: 0; }
.page-hero-meta { padding-left: 24px; }
.credentials-list { padding-right: clamp(12px, 1.5vw, 24px); box-sizing: border-box; }
.credentials-list > div { min-width: 0; }
.credentials-list strong { min-width: 0; padding-right: 14px; }
.practice-link-content h3, .article-card h2, .article-section h2 { padding-right: 18px; box-sizing: border-box; }

@media (max-width: 900px) {
  .experience-content h2,
  .public-service-heading h2,
  .practice-title,
  .page-hero h1,
  .detail-hero h1,
  .about-editorial h2,
  .display-text { max-width: 100%; padding-right: 20px; }
  .experience-content { padding-right: 20px; }
  .page-hero-meta { padding-left: 0; }
}
@media (max-width: 560px) {
  .experience-content h2,
  .public-service-heading h2,
  .practice-title,
  .page-hero h1,
  .detail-hero h1,
  .about-editorial h2,
  .display-text { padding-right: 10px; }
  .experience-content { padding-right: 10px; }
  .hero-profile, .hero-description, .hero-credential { padding-right: 10px; }
  .practice-link-content h3, .article-card h2, .article-section h2 { padding-right: 10px; }
}

/* v11 — accessible light/dark theme system */
:root,[data-theme=light]{--lux-light:#F7F5F0;--lux-accent:#7A756A;--lux-accent-soft:#B1ADA3;--lux-dark-muted:#D0D1CA;--lux-dark-line:#4A4E49;--lux-footer:#20231F;--lux-footer-line:#4A4E49;--lux-footer-muted:#D0D1CA}
[data-theme=dark]{--lux-light:#F5F3EE;--lux-accent:#B5AD9D;--lux-accent-soft:#C5C0B5;--lux-dark-muted:#D1D2CB;--lux-dark-line:#3F443F;--lux-footer:#171A17;--lux-footer-line:#3F443F;--lux-footer-muted:#D1D2CB}
/* Strong readable contrast on all theme surfaces */
body{background:var(--color-bg)!important;color:var(--color-text)!important}
body *{border-color:var(--color-line)}
.site-header,.dropdown-menu,.mobile-menu{background:var(--color-bg)!important;color:var(--color-text)!important}
.site-header a,.dropdown-menu a,.mobile-menu a{color:var(--color-text-secondary)}
.site-header a:hover,.dropdown-menu a:hover,.mobile-menu a:hover{color:var(--color-text)!important}
.site-footer,.public-service-section,.detail-situation,.contact-cta{background:var(--color-dark)!important;color:var(--color-dark-text)!important}
.site-footer p,.site-footer a,.public-service-section p,.detail-situation p{color:var(--color-dark-text-secondary)!important}
.button-primary,.header-cta{background:var(--color-text)!important;color:var(--color-bg)!important}
.button-secondary{color:var(--color-text)!important;border-color:var(--color-text)!important}
input,textarea,select{color:var(--color-text)!important;background:var(--color-bg)!important}
input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)!important}
/* v12 visual color refinement: richer, readable, non-monochrome palette */
[data-theme="light"]{
 --color-bg:#F5F0E8;
 --color-bg-soft:#ECE3D8;
 --color-bg-panel:#E3D8CB;
 --color-text:#20252A;
 --color-text-secondary:#555C62;
 --color-text-tertiary:#747B80;
 --color-line:#CEC4B9;
 --color-line-soft:#DED5CC;
 --color-dark:#273039;
 --color-dark-soft:#34404A;
 --color-dark-text:#F8F4ED;
 --color-dark-text-secondary:#D8D2C9;
 --color-dark-line:#56616A;
 --color-accent:#9A6B52;
 --color-image-bg:#DDD2C6;
 --color-bg-rgb:245,240,232;
 --color-dark-rgb:39,48,57;
 --color-dark-text-rgb:248,244,237;
}
[data-theme="dark"]{
 --color-bg:#20262D;
 --color-bg-soft:#29323A;
 --color-bg-panel:#313C45;
 --color-text:#F4F0E9;
 --color-text-secondary:#C9C8C3;
 --color-text-tertiary:#A6A9A8;
 --color-line:#4A555E;
 --color-line-soft:#39444D;
 --color-dark:#171C21;
 --color-dark-soft:#232B32;
 --color-dark-text:#F6F1E9;
 --color-dark-text-secondary:#D1CEC7;
 --color-dark-line:#46515A;
 --color-accent:#C59A78;
 --color-image-bg:#303941;
 --color-bg-rgb:32,38,45;
 --color-dark-rgb:23,28,33;
 --color-dark-text-rgb:246,241,233;
}
/* Header CTA: visible accent button, never a black-on-black treatment */
.header-cta{
 display:inline-flex;
 align-items:center;
 gap:9px;
 padding:11px 15px;
 border:1px solid var(--color-accent);
 border-radius:2px;
 background:var(--color-accent);
 color:#fff;
 font-size:10px;
 font-weight:500;
 letter-spacing:.09em;
 text-transform:uppercase;
 line-height:1.2;
 white-space:nowrap;
 box-shadow:none;
}
.header-cta:hover{gap:11px;background:var(--color-dark);border-color:var(--color-dark);color:var(--color-dark-text)}
[data-theme="dark"] .header-cta:hover{background:var(--color-bg-panel);border-color:var(--color-bg-panel);color:var(--color-text)}
/* Give major surfaces subtle tonal variation while keeping the page cohesive */
.experience-section,.contact-cta{background:var(--color-dark);color:var(--color-dark-text)}
.experience-section p,.contact-cta p{color:var(--color-dark-text-secondary)}
.about-service,.detail-situation,.form-panel{background:var(--color-bg-soft)}
.process-item,.question-item,.faq-item,.work-item,.topic-item,.approach-item,.direction-row,.credentials-list>div{background:var(--color-bg-panel)}
.button-dark{background:var(--color-dark);color:var(--color-dark-text);border:1px solid var(--color-dark)}
.button-dark:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}
.button-light{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-line)}
.button-light:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}
.button-outline-light{color:var(--color-dark-text);border-color:rgba(var(--color-dark-text-rgb),.55)}
.button-outline-light:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}
/* Keep secondary copy comfortably separated from edges and images */
.hero-text-col,.hero-profile,.hero-credential,.lead,.display-text,p{overflow-wrap:normal;word-break:normal;hyphens:none}
/* v13: final header CTA override — remove inherited black/transparent treatment */
.header-cta{
  background:var(--color-accent)!important;
  color:#fff!important;
  border:1px solid var(--color-accent)!important;
  border-radius:3px!important;
  padding:11px 15px!important;
  box-shadow:none!important;
}
.header-cta:hover{
  background:var(--color-dark)!important;
  color:var(--color-dark-text)!important;
  border-color:var(--color-dark)!important;
}
[data-theme="dark"] .header-cta{
  background:var(--color-accent)!important;
  color:#fff!important;
  border-color:var(--color-accent)!important;
}
[data-theme="dark"] .header-cta:hover{
  background:var(--color-bg-panel)!important;
  color:var(--color-text)!important;
  border-color:var(--color-bg-panel)!important;
}

/* v14 — final interaction/contrast pass for both themes */
:root,[data-theme="light"]{
  --color-accent-hover:#81583F;
  --color-button-hover-text:#FFF9F3;
  --color-focus:#9A6B52;
}
[data-theme="dark"]{
  --color-accent-hover:#D2AA87;
  --color-button-hover-text:#171C21;
  --color-focus:#C59A78;
}

/* Never turn the light-theme CTA or buttons black on hover. */
.header-cta,
.button-primary,
.button-dark{
  background:var(--color-accent)!important;
  color:#fff!important;
  border-color:var(--color-accent)!important;
}
.header-cta:hover,
.button-primary:hover,
.button-dark:hover{
  background:var(--color-accent-hover)!important;
  color:var(--color-button-hover-text)!important;
  border-color:var(--color-accent-hover)!important;
}

.button-secondary,
.button-light{
  background:transparent!important;
  color:var(--color-text)!important;
  border-color:var(--color-line)!important;
}
.button-secondary:hover,
.button-light:hover{
  background:var(--color-accent)!important;
  color:#fff!important;
  border-color:var(--color-accent)!important;
}

.button-outline-light{
  background:transparent!important;
  color:var(--color-dark-text)!important;
  border-color:var(--color-dark-line)!important;
}
.button-outline-light:hover{
  background:var(--color-accent)!important;
  color:#fff!important;
  border-color:var(--color-accent)!important;
}

/* Theme-safe keyboard focus */
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:2px solid var(--color-focus)!important;
  outline-offset:3px;
}

/* Links remain readable on both light and dark surfaces. */
a{color:inherit}
.site-header a,.dropdown-menu a,.mobile-menu a{color:var(--color-text-secondary)}
.site-header a:hover,.dropdown-menu a:hover,.mobile-menu a:hover{color:var(--color-text)!important}
.site-footer a,.experience-section a,.contact-cta a,.public-service-section a,.detail-situation a{
  color:var(--color-dark-text)!important;
}
.site-footer a:hover,.experience-section a:hover,.contact-cta a:hover,.public-service-section a:hover,.detail-situation a:hover{
  color:var(--color-accent)!important;
}

/* Inputs and cards: preserve contrast after hover/focus. */
input,textarea,select{
  background:var(--color-bg)!important;
  color:var(--color-text)!important;
  border-color:var(--color-line)!important;
}
input:focus,textarea:focus,select:focus{
  border-color:var(--color-accent)!important;
  box-shadow:0 0 0 2px rgba(154,107,82,.12);
}
[data-theme="dark"] input:focus,[data-theme="dark"] textarea:focus,[data-theme="dark"] select:focus{
  box-shadow:0 0 0 2px rgba(197,154,120,.16);
}

/* v2: tighter opening rhythm — keep v14 visual language, remove empty space */
.page-hero{
  padding-top:56px;
  padding-bottom:54px;
  min-height:300px;
}
.page-hero .lead{margin-top:20px;}
.page-hero-meta{padding-bottom:8px;}
.public-service-section{padding-top:96px;padding-bottom:100px;}
.public-service-heading h2{margin-top:26px;}
.practice-section{padding-top:0;padding-bottom:108px;}
.practice-title{margin-top:28px;margin-bottom:44px;}
.process-block{padding-top:0;padding-bottom:108px;}
.process-title{margin-top:28px;margin-bottom:44px;}
.question-section{padding-top:0;padding-bottom:108px;}
/* Detail pages: the content should enter the viewport sooner */
.detail-hero{padding-top:58px;padding-bottom:58px;}
.detail-situation{padding-top:76px;}
.detail-work{padding-top:88px;padding-bottom:100px;}
.detail-faq{padding-bottom:84px;}
@media (max-width:1023px){
  .page-hero{padding-top:52px;padding-bottom:48px;}
  .public-service-section{padding-top:72px;padding-bottom:82px;}
  .practice-title{margin-top:22px;margin-bottom:36px;}
  .process-title{margin-top:22px;margin-bottom:36px;}
  .process-block,.question-section{padding-bottom:82px;}
  .detail-hero{padding-top:52px;padding-bottom:48px;}
  .detail-situation{padding-top:64px;}
  .detail-work{padding-top:72px;padding-bottom:82px;}
}
@media (max-width:560px){
  .page-hero{padding-top:40px;padding-bottom:40px;}
  .page-hero .lead{margin-top:16px;}
  .public-service-section{padding-top:58px;padding-bottom:68px;}
  .practice-title{margin-top:18px;margin-bottom:30px;}
  .process-title{margin-top:18px;margin-bottom:30px;}
  .process-block,.question-section{padding-bottom:68px;}
  .detail-hero{padding-top:40px;padding-bottom:40px;}
  .detail-situation{padding-top:52px;}
  .detail-work{padding-top:60px;padding-bottom:68px;}
}

/* v3 — hero credentials: remove the competing panel tone and restore a calm, integrated surface */
.hero-profile{
  background:transparent!important;
  border-top:1px solid var(--color-line)!important;
  border-bottom:1px solid var(--color-line)!important;
  padding:0!important;
  margin:32px 24px 20px 0!important;
  gap:0!important;
}
.hero-profile strong,
.hero-profile span{
  display:block;
  background:transparent!important;
  color:var(--color-text)!important;
  padding:13px 0!important;
}
.hero-profile span{
  color:var(--color-text-secondary)!important;
  border-top:1px solid var(--color-line-soft)!important;
}
.hero-profile strong{font-size:15px;font-weight:600;letter-spacing:-.02em}
.hero-profile span{font-size:12px;line-height:1.5}
.hero-credential{
  background:transparent!important;
  color:var(--color-text-secondary)!important;
  border-left:2px solid var(--color-accent)!important;
}
[data-theme="dark"] .hero-profile{
  border-color:var(--color-line)!important;
}
[data-theme="dark"] .hero-profile span{
  border-color:var(--color-line-soft)!important;
  color:var(--color-text-secondary)!important;
}
[data-theme="dark"] .hero-profile strong{color:var(--color-text)!important}
@media (max-width:560px){
  .hero-profile{margin-right:10px!important;margin-top:26px!important}
  .hero-profile strong,.hero-profile span{padding:11px 0!important}
}

/* v18 — compact section openings + integrated facts panel */
/* The facts block should visually belong to the surrounding surface, not read as a separate card. */
[class*="hero"] [class*="facts"],
[class*="hero"] [class*="meta"],
[class*="hero"] [class*="stats"],
[class*="hero"] [class*="details"] {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Remove any legacy colored panel behind the four fact rows. */
.hero-facts, .hero__facts, .facts-panel, .profile-facts, .credentials,
.status-panel, .qualification-panel, .service-panel {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Compact the opening of interior sections. */
.page-hero,
.page-header,
.section-hero,
.article-hero,
.practice-hero {
  padding-top: clamp(5.5rem, 9vw, 8.5rem) !important;
}

.page-hero > *, .page-header > *, .section-hero > *, .article-hero > *, .practice-hero > * {
  margin-top: 0;
}

.section-heading,
.section-header,
.section-title-wrap,
.practice-heading {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Keep the eyebrow close to the heading so the section appears immediately on open. */
.eyebrow,
.section-eyebrow,
.kicker,
.overline {
  margin-bottom: .65rem !important;
}

/* Facts: hierarchy through typography and hairlines, without a colored rectangle. */
.hero-facts,
.hero__facts,
.facts-panel,
.profile-facts,
.credentials,
.status-panel,
.qualification-panel,
.service-panel {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.hero-facts > *, .hero__facts > *, .facts-panel > *, .profile-facts > *,
.credentials > *, .status-panel > *, .qualification-panel > *, .service-panel > * {
  background: transparent !important;
}

@media (max-width: 900px) {
  .page-hero,
  .page-header,
  .section-hero,
  .article-hero,
  .practice-hero {
    padding-top: 4.75rem !important;
  }
}

@media (max-width: 640px) {
  .page-hero,
  .page-header,
  .section-hero,
  .article-hero,
  .practice-hero {
    padding-top: 4.1rem !important;
  }

  .eyebrow,
  .section-eyebrow,
  .kicker,
  .overline {
    margin-bottom: .5rem !important;
  }
}


/* v19 — credentials block follows the surrounding surface; no contrasting panel */
.credentials-list,
.credentials-list > div {
  background: transparent !important;
}
.credentials-list > div:hover {
  background: transparent !important;
}

/* V20: replace abstract F/I page markers with a restrained circular attorney portrait */
.page-hero-mark{
  width:clamp(150px,16vw,220px)!important;
  height:clamp(150px,16vw,220px)!important;
  min-width:clamp(150px,16vw,220px)!important;
  flex:0 0 auto!important;
  aspect-ratio:1!important;
  border-radius:50%!important;
  overflow:hidden!important;
  font-size:0!important;
  line-height:0!important;
  color:transparent!important;
  background-color:var(--color-image-bg)!important;
  background-image:url('/images/attorney-window.jpg')!important;
  background-size:cover!important;
  background-position:center 28%!important;
  border:1px solid var(--color-line)!important;
  box-shadow:0 14px 40px rgba(0,0,0,.10)!important;
  position:relative!important;
}
.page-hero-mark::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.10);
  pointer-events:none;
}
[data-theme="dark"] .page-hero-mark::after{box-shadow:inset 0 0 0 5px rgba(0,0,0,.12)}
@media (max-width:900px){
  .page-hero-mark{
    width:108px!important;height:108px!important;min-width:108px!important;
    align-self:flex-end!important;
    margin-top:-8px!important;
    box-shadow:0 10px 28px rgba(0,0,0,.10)!important;
  }
}


/* v21 — unify About page facts with the page surface and replace abstract F/I marks */
.about-content{background:var(--color-bg)!important;}
.about-content .credentials-list > div{background:transparent!important;border-top:1px solid var(--color-line-soft)!important;}
.about-content .credentials-list > div:last-child{border-bottom:1px solid var(--color-line-soft)!important;}
.about-content .credentials-list span{color:var(--color-text-tertiary)!important;}
.about-content .credentials-list strong{color:var(--color-text)!important;}
.page-hero-mark.page-hero-avatar{width:clamp(88px,10vw,140px)!important;height:clamp(88px,10vw,140px)!important;border-radius:50%!important;overflow:hidden!important;background:transparent!important;border:1px solid var(--color-line)!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;}
.page-hero-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 20%!important;display:block!important;}
[data-theme="dark"] .page-hero-mark.page-hero-avatar{border-color:var(--color-line)!important;}
@media(max-width:640px){.page-hero-mark.page-hero-avatar{width:82px!important;height:82px!important;}}

/* v23 — deterministic fixes: real circular portraits in Practice; completely uniform About surface */
.practice-link{
  position:relative!important;
  overflow:hidden!important;
  min-height:280px!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:24px!important;
}
.practice-link .practice-index{display:none!important;}
.practice-avatar{
  position:relative!important;
  flex:0 0 92px!important;
  width:92px!important;
  height:92px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  border:1px solid var(--color-line)!important;
  background:var(--color-bg)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.08)!important;
  z-index:2!important;
}
.practice-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 22%!important;
  border:0!important;
  filter:none!important;
}
.practice-link-content{position:relative!important;z-index:2!important;padding-right:40px!important;}
.practice-arrow{position:relative!important;z-index:2!important;}
.practice-link::before{display:none!important;content:none!important;}
.practice-link > svg{display:block!important;}

/* About page: no panel, no tint, no gradient behind the text/facts. */
.about-portrait,
.about-portrait::before,
.about-portrait-inner,
.about-portrait .about-content,
.about-portrait .credentials-list,
.about-portrait .credentials-list > div{
  background:var(--color-bg)!important;
  background-color:var(--color-bg)!important;
  background-image:none!important;
  box-shadow:none!important;
}
.about-portrait::before{display:none!important;}
.about-portrait .about-content{border:0!important;}
.about-portrait .credentials-list > div{
  border-top:1px solid var(--color-line-soft)!important;
}
.about-portrait .credentials-list > div:last-child{
  border-bottom:1px solid var(--color-line-soft)!important;
}
.about-portrait .credentials-list span{color:var(--color-text-tertiary)!important;}
.about-portrait .credentials-list strong{color:var(--color-text)!important;}

@media(max-width:760px){
  .practice-link{min-height:240px!important;gap:16px!important;}
  .practice-avatar{width:64px!important;height:64px!important;flex-basis:64px!important;}
  .practice-link-content{padding-right:28px!important;}
}
