@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/nunito-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/nunito-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-black: #0a0a0a;--color-black-2: #050505;--color-ink: #1a1a1a;--color-white: #ffffff;--color-cream: #fafaf8;--color-line: #e6e3dc;--color-line-dark: rgba(255, 255, 255, .12);--color-text-soft: #4a5364;--color-text-dim: #8a8e96;--color-accent: #d4a647;--color-accent-soft: #b88a3e;--font-body: Avenir, "Avenir Next", "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Palatino Linotype", "Book Antiqua", Palatino, "Times New Roman", serif;--text-base: 16px;--text-lg: clamp(1.05rem, 1rem + .25vw, 1.15rem);--text-2xl: clamp(2rem, 1.6rem + 1.4vw, 2.85rem);--text-hero: clamp(2.5rem, 1.8rem + 3vw, 4.25rem);--space-section: clamp(4.5rem, 3rem + 4vw, 7.5rem);--duration-fast: .16s;--duration-normal: .28s;--ease-out: cubic-bezier(.16, 1, .3, 1);--container: 1280px;--container-narrow: 1080px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--color-ink);background:var(--color-black)}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-accent)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:0;margin:0}p{margin:0 0 1em}ul{margin:0;padding:0;list-style:none}button{font:inherit}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 clamp(1.25rem,1rem + 1.5vw,2.5rem)}.bar{display:inline-block;color:var(--color-accent);font-weight:400;margin:0 .2em;font-style:normal}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:#0a0a0af2;-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);transition:background var(--duration-normal) var(--ease-out)}.site-header.is-scrolled{background:#0a0a0afa}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:88px;padding-top:27px;padding-bottom:27px}.brand img{height:50px;width:auto;display:block;filter:brightness(0) invert(1)}.primary-nav{display:flex;align-items:center;gap:0;font-family:var(--font-display);font-size:15px;font-weight:500}.primary-nav>a{position:relative;padding:.5rem 15px;margin:0 18px;color:var(--color-white);letter-spacing:.01em}.primary-nav>a:after{content:"";position:absolute;left:15px;right:15px;bottom:0;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-normal) var(--ease-out)}.primary-nav>a:hover{color:var(--color-accent)}.primary-nav>a:hover:after{transform:scaleX(1)}.nav-lang{color:var(--color-accent)!important}.nav-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:4px;width:42px;height:38px;padding:0;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--color-white)}.hero{position:relative;background:var(--color-black);color:var(--color-white);overflow:hidden;padding:clamp(8rem,6rem + 4vw,11rem) 0 clamp(8rem,6rem + 4vw,11rem);clip-path:polygon(0 0,100% 0,100% 88%,0 100%)}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/hero-bg.jpg);background-size:cover;background-position:right center;filter:grayscale(1) brightness(.55) contrast(1.1);opacity:.85;z-index:0}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0a0a0af5,#0a0a0ad9 35%,#0a0a0a66 65%,#0a0a0a33);z-index:1}.hero-inner{position:relative;z-index:2}.hero-title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:500;line-height:1.1;color:var(--color-white);margin:0 0 2rem;white-space:nowrap}@media (max-width: 720px){.hero-title{white-space:normal}}.hero-body p{font-size:var(--text-lg);line-height:1.65;color:#ffffffe0;margin-bottom:1.4rem;max-width:56ch}.hero-body p:last-child{margin-bottom:0}.section{padding:var(--space-section) 0;position:relative}.section-head{margin:0 0 clamp(2.5rem,2rem + 1.5vw,4rem)}.section-head h2{font-size:var(--text-2xl);margin:0 0 1.25rem;line-height:1.15}.section-intro{font-size:var(--text-lg);line-height:1.6;margin:0}.section-practice{background:var(--color-white);color:var(--color-ink);padding-top:clamp(3rem,2rem + 3vw,5rem);padding-bottom:clamp(4rem,3rem + 3vw,6rem);margin-top:-8rem;position:relative;z-index:1}.section-practice .section-head h2{color:var(--color-black)}.section-practice .section-intro{color:var(--color-text-soft)}.practice-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:clamp(3rem,2rem + 2vw,4.5rem)}.practice-card{background:var(--color-white);border:1px solid var(--color-line);aspect-ratio:1 / 1;padding:1.5rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;cursor:pointer;color:var(--color-black);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.practice-card:hover,.practice-card.is-active{background:var(--color-black);color:var(--color-white);border-color:var(--color-black)}.practice-icon{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center}.practice-icon svg{width:100%;height:100%;color:currentColor}.practice-card h3{font-family:var(--font-body);font-size:clamp(1rem,.9rem + .25vw,1.15rem);font-weight:600;line-height:1.35;color:currentColor;letter-spacing:.01em}.practice-detail{padding:clamp(2rem,1.5rem + 1.5vw,3rem) 0;animation:fadeIn var(--duration-normal) var(--ease-out)}.practice-detail h3{font-family:var(--font-display);font-size:clamp(1.6rem,1.3rem + .8vw,2rem);font-weight:500;margin:1.5rem 0 1.25rem;color:var(--color-black)}.practice-detail p{font-size:1rem;line-height:1.75;color:var(--color-text-soft);margin:0 0 1.5rem;max-width:78ch}.practice-detail-rule{height:1px;background:var(--color-line);width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.section-staff{background:var(--color-black);color:var(--color-white);padding:0 0 clamp(3rem,2rem + 2vw,5rem);clip-path:polygon(0 4rem,100% 0,100% 100%,0 100%);margin-top:-3rem}.section-staff-head{padding-top:clamp(7rem,5rem + 5vw,11rem);padding-bottom:clamp(2rem,1.5rem + 1.5vw,3rem)}.section-staff-head h2{font-size:var(--text-2xl);color:var(--color-white)}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,.5rem + 1vw,1.5rem)}.staff-card{display:flex;flex-direction:column;background:var(--color-black-2)}.staff-photo-button{position:relative;display:block;width:100%;border:0;padding:0;background:var(--color-black);cursor:pointer;overflow:hidden;aspect-ratio:4 / 5;text-align:left}.staff-photo-button img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-normal) var(--ease-out)}.staff-photo-button:hover img{transform:scale(1.03)}.staff-photo-name{position:absolute;left:0;right:0;bottom:0;padding:1.25rem 1.5rem;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.75) 65%);color:var(--color-white)}.staff-name{font-family:var(--font-body);font-weight:600;font-size:1rem;margin:0 0 .2rem;letter-spacing:.01em;color:var(--color-white)}.staff-role{font-size:.82rem;color:#ffffffc7;margin:0;letter-spacing:.02em}.staff-contact-bar{display:flex;align-items:center;gap:.25rem;padding:.85rem 1rem;border-top:1px solid rgba(255,255,255,.08);background:var(--color-black-2);font-size:.8rem;color:#ffffffbf}.staff-contact-link{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .5rem;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}.staff-contact-link:first-child{padding-left:0}.staff-contact-link span:last-child{overflow:hidden;text-overflow:ellipsis}.staff-contact-link:hover{color:var(--color-accent)}.contact-icon{color:var(--color-accent);flex-shrink:0}.staff-more{margin-left:auto;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:#fff9;font-size:1.4rem;letter-spacing:.1em;cursor:pointer;border-radius:4px;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);flex-shrink:0}.staff-more:hover{color:var(--color-accent);background:#ffffff0a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,2vw,2.5rem);animation:fadeIn var(--duration-fast) var(--ease-out)}.modal{position:relative;background:var(--color-black);color:var(--color-white);width:100%;max-width:980px;max-height:88vh;display:grid;grid-template-columns:5fr 6fr;overflow:hidden;border-radius:14px;box-shadow:0 30px 80px #0000008c,0 0 0 1px #ffffff0f;animation:modalIn var(--duration-normal) var(--ease-out)}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:.85rem;right:.85rem;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:#0000008c;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:var(--color-white);cursor:pointer;z-index:10;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.modal-close:hover{background:var(--color-accent);color:var(--color-black);border-color:var(--color-accent);transform:rotate(90deg)}.modal-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.modal-photo{position:relative;background:var(--color-black);overflow:hidden}.modal-photo img{width:100%;height:100%;object-fit:cover}.modal-photo-contact{position:absolute;left:0;right:0;bottom:0;padding:1.25rem 2rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,.85));font-size:.92rem;color:var(--color-white)}.modal-photo-contact p{margin:.2rem 0;display:flex;align-items:center;gap:.6rem}.modal-photo-contact a{color:var(--color-white)}.modal-photo-contact a:hover{color:var(--color-accent)}.phone-icon,.mail-icon{color:var(--color-accent);font-size:1.05rem}.modal-bio{background:var(--color-black-2);color:var(--color-white);padding:2.5rem 2.25rem 2.25rem;overflow-y:auto;max-height:88vh}.modal-bio-head{margin-bottom:1.5rem}.modal-bio-head h3{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--color-white);margin:0 0 .4rem}.modal-bio-role{font-size:.92rem;color:#ffffffb3;margin:0}.bio-section{margin-bottom:1.4rem}.bio-section h4{font-family:var(--font-body);font-size:.92rem;font-weight:600;color:var(--color-accent);margin:0 0 .65rem;letter-spacing:.01em}.bio-section ul{display:flex;flex-direction:column;gap:.45rem}.bio-section li{display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;font-size:.88rem;line-height:1.5;color:#ffffffd9}.bio-section li strong{font-weight:600;color:var(--color-white);font-variant-numeric:tabular-nums}.section-contact{background:var(--color-black);color:var(--color-white);padding:0;position:relative}.contact-grid{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.contact-form-wrap{padding:clamp(3.5rem,2.5rem + 3vw,6rem) clamp(2rem,1rem + 3vw,4rem);padding-left:max(clamp(1.25rem,1rem + 1.5vw,2.5rem),calc((100vw - var(--container)) / 2 + clamp(1.25rem,1rem + 1.5vw,2.5rem)));display:flex;align-items:center;justify-content:flex-start}.contact-form-inner{width:100%;max-width:480px}.section-contact h2{font-family:var(--font-display);font-size:clamp(1.85rem,1.4rem + 1.4vw,2.5rem);font-weight:500;color:var(--color-white);margin:0 0 2.25rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.float-field{position:relative}.float-field input,.float-field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.35);padding:1.4rem 0 .55rem;font-family:var(--font-body);font-size:1rem;color:var(--color-white);border-radius:0;resize:vertical;transition:border-color var(--duration-fast) var(--ease-out)}.float-field textarea{min-height:96px}.float-field input:focus,.float-field textarea:focus{outline:none;border-bottom-color:var(--color-accent)}.float-field label{position:absolute;left:0;top:1.4rem;font-size:1rem;color:#ffffff8c;pointer-events:none;transition:top var(--duration-fast) var(--ease-out),font-size var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.float-field input:focus+label,.float-field textarea:focus+label,.float-field.has-value label,.float-field input:not(:placeholder-shown)+label,.float-field textarea:not(:placeholder-shown)+label{top:0;font-size:.74rem;color:var(--color-accent);letter-spacing:.04em}.contact-submit{align-self:flex-end;margin-top:.5rem;display:inline-flex;align-items:center;gap:.85rem;padding:.85rem 1.5rem .85rem 1.85rem;background:var(--color-white);color:var(--color-black);border:0;cursor:pointer;font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.04em;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),gap var(--duration-fast) var(--ease-out)}.contact-submit:hover{background:var(--color-accent);color:var(--color-black);gap:1.1rem}.contact-map{position:relative;background:#d8d8d2;min-height:520px}.contact-map iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;filter:grayscale(.3)}.privacy-page{background:var(--color-cream);color:var(--color-ink);padding:clamp(7rem,6rem + 3vw,10rem) 0 clamp(4rem,3rem + 2vw,6rem);min-height:100vh}.privacy-inner{max-width:820px}.privacy-back{display:inline-block;font-family:var(--font-display);font-size:.95rem;color:var(--color-text-soft);margin-bottom:2.5rem;letter-spacing:.02em}.privacy-back:hover{color:var(--color-accent)}.privacy-title{font-size:var(--text-2xl);line-height:1.1;margin-bottom:1.5rem;letter-spacing:-.01em}.privacy-intro{font-size:var(--text-lg);color:var(--color-text-soft);margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--color-line);line-height:1.75}.privacy-sections{display:flex;flex-direction:column;gap:2.25rem}.privacy-section h2{font-size:1.35rem;font-weight:600;margin-bottom:.75rem;color:var(--color-ink);letter-spacing:0}.privacy-section p{margin:0;line-height:1.8;color:var(--color-text-soft)}.site-footer{background:var(--color-black);color:#ffffffb3;padding:clamp(3rem,2rem + 2vw,4.5rem) 0 clamp(2rem,1.5rem + 1vw,2.5rem);border-top:1px solid rgba(255,255,255,.06);font-size:.92rem}.footer-inner{display:grid;grid-template-columns:1.2fr 1.4fr auto;gap:clamp(2rem,1rem + 3vw,4rem);align-items:start}.footer-col p{margin:0;line-height:1.7}.footer-col a{color:#ffffffd9}.footer-col a:hover{color:var(--color-accent)}.footer-contact dl{margin:0}.footer-contact dl>div{display:grid;grid-template-columns:5rem 1fr;gap:.5rem;margin-bottom:.5rem}.footer-contact dt{font-weight:600;color:#fff9}.footer-contact dd{margin:0;color:#ffffffeb}.footer-policy{margin-top:1.5rem}.footer-policy a{color:var(--color-white);font-weight:500}.footer-label{font-weight:600;color:#fff9;margin-bottom:.5rem!important}.footer-address strong{color:var(--color-white);font-weight:600}.footer-logo img{height:60px;width:auto;filter:brightness(0) invert(1);opacity:.95}@media (max-width: 1100px){.practice-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 900px){.practice-grid{grid-template-columns:repeat(3,1fr)}.modal{grid-template-columns:1fr;grid-template-rows:34vh 1fr;max-width:560px;max-height:90vh}.modal-photo{height:100%}.modal-bio{padding:2rem 1.5rem 1.75rem;max-height:none}.bio-section li{grid-template-columns:5rem 1fr;gap:.75rem}.contact-grid{grid-template-columns:1fr}.contact-map{min-height:360px}}@media (max-width: 800px){.nav-toggle{display:inline-flex}.primary-nav{position:fixed;inset:88px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--color-black);padding:1rem 1.5rem 1.5rem;transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform var(--duration-normal) var(--ease-out),opacity var(--duration-normal) var(--ease-out);border-top:1px solid rgba(255,255,255,.1)}.primary-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.primary-nav>a{padding:.95rem 0;margin:0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem}.primary-nav>a:after{display:none}.hero{min-height:80vh;padding:10rem 0 9rem;clip-path:polygon(0 0,100% 0,100% 92%,0 100%)}.hero-overlay{background:linear-gradient(180deg,#0a0a0ab3,#0a0a0ad9)}.footer-inner{grid-template-columns:1fr;gap:2rem}.footer-logo img{height:48px}}@media (max-width: 640px){.practice-grid{grid-template-columns:repeat(2,1fr);gap:10px}.staff-grid{grid-template-columns:1fr}.practice-card{padding:1.25rem .75rem}.practice-card h3{font-size:.95rem}.practice-icon{width:44px;height:44px}.footer-contact dl>div{grid-template-columns:4rem 1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
