[hidden]{display:none!important}body{overflow-x:clip}.site-header{position:sticky;top:0;transition:box-shadow .3s}.site-header.is-scrolled{box-shadow:0 5px 25px #0003}.header-inner{min-height:96px}.main-nav{gap:24px;flex-wrap:wrap}.main-nav>a:not(.nav-contact){position:relative}.main-nav>a:not(.nav-contact):after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}.main-nav>a:hover:after{transform:scaleX(1)}.reading-progress{height:2px;position:fixed;top:0;left:0;right:0;background:var(--gold);transform:scaleX(0);transform-origin:left;z-index:40}.hero,.hero-content{min-height:670px}.hero-description{max-width:410px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}.hero-actions .button{margin:0}.hero-secondary{font-size:13px;color:#d0d8dd;display:inline-flex;gap:15px;align-items:center;border-bottom:1px solid #ffffff40;padding-bottom:5px}.hero-secondary:hover{color:var(--gold)}.hero-secondary span{font-size:20px}.motion-toggle{position:absolute;bottom:24px;right:35px;z-index:2;background:#101f2b99;color:#d8e0e5;border:1px solid #ffffff30;padding:8px 13px;font:inherit;font-size:11px;cursor:pointer}.motion-toggle:hover{border-color:var(--gold)}.motion-toggle:disabled{opacity:.6;cursor:default}.image-caption{bottom:85px}.custom-logo{max-width:260px;max-height:70px;object-fit:contain}.hero-copy h1 em{white-space:normal}.hero-copy h1{overflow-wrap:anywhere}.hero-copy{width:68%}.brand-type{max-width:240px}.section-top>p{max-width:330px}.footer-top>p{max-width:245px;margin-right:10%;margin-left:40px}.principles-inner i:last-of-type{display:none}.principles-location{white-space:nowrap}.principles-inner{flex-wrap:wrap;padding-block:16px}.motion-on .hero-visual img{animation:architecture-drift 20s ease-in-out infinite alternate}.motion-on .hero-copy>.eyebrow{animation:enter-up .7s both}.motion-on .hero-copy>h1{animation:enter-up .9s .12s both}.motion-on .hero-description{animation:enter-up .9s .25s both}.motion-on .hero-actions{animation:enter-up .9s .38s both}.motion-on .scroll-link>span{animation:scroll-cue 2s ease-in-out infinite}.motion-on .reveal-ready{transition:opacity .7s ease,translate .7s ease}.motion-on .reveal-ready:not(.is-visible){opacity:0;translate:0 28px}.practice-card{transition:background .3s,box-shadow .3s}.practice-card:hover{box-shadow:inset 0 3px 0 var(--gold)}.practice-card .card-arrow{transition:transform .25s}.practice-card:hover .card-arrow{transform:translate(3px,-3px)}.faq-section{background:#f0f1ec;border-bottom:1px solid var(--line)}.faq-section .section-top{margin-bottom:44px}.faq-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:72px}.faq-search-label{font-size:12px;display:block;margin-bottom:9px;color:#637178}.faq-search{display:flex;gap:10px;align-items:center;background:white;border:1px solid #d1d8d2;padding:12px 15px}.faq-search svg{color:#8c7957;flex-shrink:0}.faq-search input{font:inherit;font-size:13px;background:none;min-width:0;width:100%;border:0;outline:none;color:var(--ink)}.faq-search:focus-within{outline:2px solid var(--gold);outline-offset:3px}.faq-filters{display:flex;flex-direction:column;gap:5px;margin-top:22px}.faq-filters button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:transparent;border:1px solid transparent;color:#627179;font-family:inherit;font-size:14px;padding:12px 15px;cursor:pointer;transition:background .2s,color .2s}.faq-filters button:hover{background:#ffffff80}.faq-filters button[aria-pressed=true]{background:var(--navy);color:#f9f9f3}.faq-filters span{font-size:11px;color:#9d8d6f}.faq-aside-note{margin-top:35px;padding:23px 0;border-top:1px solid #d7dcd5}.faq-aside-note>span{font-family:var(--serif);font-size:35px;line-height:1;color:#9b845a}.faq-aside-note p{font-size:13px;line-height:1.8;color:#6b777b;margin-top:14px}.faq-count{color:#7a857f;font-size:12px;margin-bottom:15px}.faq-item{border-top:1px solid #cfd6cf;background:transparent}.faq-item:last-child{border-bottom:1px solid #cfd6cf}.faq-item summary{display:flex;align-items:center;gap:19px;padding:24px 0;list-style:none;font-size:17px;font-weight:500;cursor:pointer;line-height:1.5}.faq-item summary::-webkit-details-marker{display:none}.faq-number{font-size:11px;font-weight:400;color:#95825e;width:22px;flex-shrink:0}.faq-plus{font-family:Manrope,sans-serif;margin-left:auto;color:#927a51;font-size:24px;font-weight:400;transition:rotate .2s}.faq-item[open] .faq-plus{rotate:45deg}.faq-answer{padding:0 35px 27px 41px}.faq-answer p{font-size:16px;color:#5d6d73;line-height:1.9;margin-top:12px}.faq-tag{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#9a8256}.faq-answer>a{font-size:12px;display:inline-block;color:#7d6d50;border-bottom:1px solid #c8b791;margin-top:17px}.faq-empty{background:white;border:1px solid #d7ded7;padding:30px;font-size:15px;color:#66736c}.faq-empty .text-link{background:none;border:0;border-bottom:1px solid #a9916c;font:inherit;font-size:13px;cursor:pointer}.motion-on .faq-item[open] .faq-answer,.motion-on .practice-card[open] .card-detail{animation:enter-up .3s ease both}.about-copy p,.approach-steps p,.contact-row p,.faq-answer p{overflow-wrap:anywhere}body:not(.motion-on) *,body:not(.motion-on) *:before,body:not(.motion-on) *:after{animation:none!important;transition:none!important}@keyframes architecture-drift{from{transform:scale(1.65) translateX(0)}to{transform:scale(1.78) translateX(-1.4%)}}@keyframes enter-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-cue{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}@media(max-width:1100px){.main-nav{gap:16px;font-size:12px}.main-nav .nav-contact{padding:10px 16px;gap:16px}.hero-copy{width:78%}.faq-layout{grid-template-columns:250px minmax(0,1fr);gap:42px}.brand-type{max-width:200px}.brand-type small{letter-spacing:1.8px}}@media(max-width:900px){.site-header{position:relative}.header-inner{min-height:88px}.faq-layout{grid-template-columns:1fr;gap:28px}.faq-sidebar{display:flex;gap:28px}.faq-controls{flex:1}.faq-aside-note{width:230px;flex-shrink:0;margin:0;border-top:0;border-left:1px solid #d7dcd5;padding:15px 0 15px 25px}.faq-filters{flex-direction:row;flex-wrap:wrap;gap:5px;margin-top:15px}.faq-filters button{padding:9px 13px;font-size:12px}.hero-copy{width:90%}.hero,.hero-content{min-height:640px}.main-nav{gap:16px}.custom-logo{max-width:240px;max-height:60px}}@media(max-width:600px){.header-inner{min-height:82px}.hero,.hero-content{min-height:660px}.hero-copy{width:100%}.hero-content{padding-bottom:116px}.hero-description{max-width:300px}.hero-actions{gap:20px;align-items:flex-start;flex-direction:column}.hero-secondary{font-size:12px}.hero-footnote{margin-top:24px}.motion-toggle{right:20px;bottom:21px;font-size:10px;padding:6px 8px;max-width:130px}.scroll-link{font-size:10px;max-width:160px;letter-spacing:1px}.hero-visual{left:18%}.faq-sidebar{display:block}.faq-aside-note{width:auto;padding:18px 0 0;border-left:0;border-top:1px solid #d7dcd5;margin-top:22px;display:flex;gap:15px}.faq-aside-note p{margin:0;font-size:12px}.faq-section .section-top{margin-bottom:28px}.faq-item summary{font-size:16px;padding:22px 0;gap:12px}.faq-number{width:19px}.faq-answer{padding:0 0 24px 31px}.faq-answer p{font-size:15px}.faq-count{margin-bottom:10px}.faq-filters button{font-size:12px;gap:9px}.faq-search input{font-size:14px}.custom-logo{max-width:210px;max-height:55px}.main-nav,.js .main-nav.is-open{gap:0}.principles-inner>span:nth-of-type(3){display:inline}.principles-inner{gap:5px 10px;font-size:11px}.principles-location{display:none}.brand-type{max-width:175px}.brand-type small{font-size:9px;letter-spacing:1px}.footer-bottom{font-size:11px}.motion-on .hero-visual img{animation-duration:24s}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready{opacity:1!important;translate:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}
.team-section{background:var(--paper);border-top:1px solid var(--line)}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.lawyer-card{min-width:0}.lawyer-photo{aspect-ratio:4/5;background:#e5e7e1;overflow:hidden;display:flex;align-items:center;justify-content:center}.lawyer-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .6s}.motion-on .lawyer-card:hover img{transform:scale(1.035)}.portrait-placeholder{font-size:14px;color:#66736d;padding:30px;text-align:center}.lawyer-info{padding:25px 0 10px}.lawyer-role{font-size:12px;letter-spacing:1.4px;color:#8c754e;margin-bottom:9px}.lawyer-info h3{font-size:34px;overflow-wrap:anywhere}.lawyer-bar{font-size:13px;color:var(--muted);margin-top:12px}.lawyer-bio{font-size:16px;color:var(--muted);line-height:1.8;margin-top:17px;overflow-wrap:anywhere}.team-empty{padding:28px;border:1px solid var(--line);color:var(--muted);font-size:16px}.header-inner{gap:24px}.main-nav{gap:18px;font-size:13px}@media(max-width:1100px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav{gap:12px;font-size:12px}.header-inner{gap:15px}}@media(max-width:600px){.team-grid{grid-template-columns:1fr;gap:34px}.lawyer-info h3{font-size:32px}.lawyer-photo{max-height:480px}.main-nav,.js .main-nav.is-open{gap:0}}
.counter-section{background:var(--navy);color:#fff;border-top:1px solid #ffffff12;padding:48px 0 52px}.counter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px}.counter-item{text-align:center;min-width:0}.counter-item svg{color:var(--gold);margin:0 auto 15px;display:block}.counter-number{font-family:var(--serif);font-weight:600;font-size:44px;line-height:1.12;font-variant-numeric:tabular-nums;white-space:nowrap}.counter-label{font-size:14px;color:#b4c1ca;margin-top:8px!important;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:650px){.counter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 18px}.counter-section{padding:38px 0}.counter-number{font-size:38px}.counter-label{font-size:13px}}@media(max-width:360px){.counter-number{font-size:30px}}

/* Expanded principles remain visible on every screen size. */
.principles-inner{flex-wrap:wrap;justify-content:center;gap:12px 22px;padding-block:22px}.principles-inner>span{white-space:normal}.principles-inner>.principles-location{margin-left:0}
@media(max-width:600px){.principles-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.principles-inner>span:nth-of-type(3){display:block}.principles-inner i{display:none}.principles-inner>.principles-location{display:none}}

/* ============================================================
   Sevindi — premium motion & detail layer (additive only)
   Respects .motion-on / prefers-reduced-motion throughout.
   ============================================================ */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--shadow-gold:0 18px 40px -20px rgba(200,172,121,.55)}

/* Fine film-grain texture — tactile depth instead of flat gradient look */
body:before{content:'';position:fixed;inset:-200px;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.9) 1px,transparent 0),radial-gradient(circle at 2px 2px,rgba(0,0,0,.9) 1px,transparent 0);background-size:3px 3px,5px 5px;background-position:0 0,1px 2px}
.motion-on body:before{animation:grain-drift 1.1s steps(4) infinite}
@keyframes grain-drift{0%{transform:translate(0,0)}25%{transform:translate(-1%,1%)}50%{transform:translate(1%,-1%)}75%{transform:translate(-1%,-1%)}100%{transform:translate(0,0)}}

/* Header — frosted glass once scrolled (uses the existing is-scrolled class) */
.site-header.is-scrolled{background:rgba(16,31,43,.86);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}
.reading-progress{box-shadow:0 0 12px 1px rgba(200,172,121,.55)}
.brand{transition:opacity .3s var(--ease-out)}
.brand:hover{opacity:.82}

/* Buttons — soft shine sweep + lift-ready shadow, magnetic pull handled in site.js */
.button{position:relative;overflow:hidden;isolation:isolate}
.button-gold{box-shadow:var(--shadow-gold)}
.button:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,#ffffffb0 48%,transparent 66%);transform:translateX(-130%);transition:transform .7s var(--ease-out)}
.motion-on .button:hover:before{transform:translateX(130%)}
.button-gold,.nav-contact{transition:transform .35s var(--ease-out),background .2s}

/* Scroll reveal — slightly richer entrance (opacity + rise + scale) */
.motion-on .reveal-ready{transition:opacity .8s var(--ease-out),translate .8s var(--ease-out),scale .8s var(--ease-out)}
.motion-on .reveal-ready:not(.is-visible){opacity:0;translate:0 30px;scale:.975}

/* Practice + FAQ cards — deeper hover response, tilt-ready (site.js) */
.practice-card,.lawyer-card{transform-style:preserve-3d;will-change:transform}
.motion-on .practice-card,.motion-on .lawyer-card{transition:transform .25s var(--ease-out),background .3s,box-shadow .35s var(--ease-out)}
.motion-on .practice-card:hover,.motion-on .practice-card[open]{box-shadow:inset 0 3px 0 var(--gold),0 22px 45px -30px rgba(16,31,43,.4)}
.motion-on .faq-item{transition:box-shadow .3s var(--ease-out)}
.motion-on .faq-item:hover{box-shadow:inset 3px 0 0 var(--gold)}

/* Counter icons — line-draw on reveal */
.counter-item svg{overflow:visible}
.counter-item svg path,.counter-item svg circle{stroke-dasharray:80;stroke-dashoffset:80}
.motion-on .counter-item.is-counted svg path,.motion-on .counter-item.is-counted svg circle{animation:draw-line 1s var(--ease-out) forwards}
@keyframes draw-line{to{stroke-dashoffset:0}}

/* Footer — quiet gold gradient line */
.footer{position:relative}
.footer:before{content:'';position:absolute;top:0;left:50%;width:260px;height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5}

/* Hero — cursor-reactive spotlight (position set from site.js) */
.hero{--spot-x:50%;--spot-y:40%}
.hero:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(480px circle at var(--spot-x) var(--spot-y),rgba(200,172,121,.16),transparent 70%);opacity:0;transition:opacity .6s}
.motion-on .hero:hover:before{opacity:1}
.hero-content{position:relative;z-index:1}

@media(prefers-reduced-motion:reduce){body:before{animation:none!important}.button:before{display:none}}
@media(hover:none){.motion-on .hero:hover:before{opacity:0}}

/* Contact location map */
.contact-map{margin-top:52px;border:1px solid var(--line);background:#e6e7e2;overflow:hidden;min-height:310px}
.contact-map iframe{display:block;width:100%;height:310px;border:0;filter:grayscale(100%) contrast(.92);transition:filter .35s ease}
.contact-map:hover iframe,.contact-map:focus-within iframe{filter:grayscale(15%) contrast(1)}
@media(max-width:600px){.contact-map{margin-top:36px;min-height:260px}.contact-map iframe{height:260px}}
