:root{--navy:#040B16;--gold:#D4AF37;--gold2:#B8974D;--cream:#F8F5F0;--stone:#EAE4DA;--charcoal:#1C1C1C;--white:#fff;--serif:'Source Serif 4',Georgia,serif;--display:'Playfair Display',Georgia,serif;--ui:'Montserrat',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--charcoal);font-family:var(--serif);line-height:1.75;overflow-x:hidden}h1,h2,h3{font-family:var(--display);color:var(--navy);font-weight:700}h1::after,h2.section-title::after{content:'';display:block;width:60px;height:3px;background:var(--gold);margin-top:18px}a{transition:.25s ease}.bg-navy{background:var(--navy)!important}.bg-cream{background:var(--cream)!important}.bg-stone{background:var(--stone)!important}.text-navy{color:var(--navy)!important}.text-gold{color:var(--gold2)!important}.font-ui{font-family:var(--ui)}.eyebrow{display:block;font-family:var(--ui);font-size:.68rem;font-weight:800;letter-spacing:.16em;color:var(--gold2);text-transform:uppercase;margin-bottom:12px}.smallcaps{font-family:var(--ui);font-size:.67rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.site-navbar{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 8px 25px rgba(0,0,0,.18)}.brand-logo{width:45px;height:45px;background:#fff;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden}.brand-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}.brand-name{font-family:var(--ui);font-size:.7rem;line-height:1.1;letter-spacing:.14em;font-weight:700;color:#fff}.brand-name small{display:block;color:var(--gold2);font-size:.65rem;margin-top:3px}.nav-link{font-family:var(--ui);font-size:.67rem!important;font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.78)!important;position:relative}.nav-link:hover{color:var(--gold)!important}.navbar .dropdown-menu{background:var(--cream);border:1px solid rgba(4,11,22,.12);box-shadow:0 15px 35px rgba(0,0,0,.16);margin-top:12px}.dropdown-item{font-family:var(--ui);font-size:.65rem;font-weight:700;letter-spacing:.08em;padding:10px 15px}.dropdown-item:hover{background:var(--navy);color:var(--gold)!important}.btn-gold{background:var(--gold);border:0;color:#fff!important;font-family:var(--ui);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;position:relative;overflow:hidden}.btn-gold:hover{background:#b89522;transform:translateY(-2px);box-shadow:0 8px 22px rgba(212,175,55,.25)}.hero{min-height:90vh;background-size:cover;background-position:right center;display:flex;align-items:center;position:relative}.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.12)}.hero-content{position:relative;z-index:2}.hero h1{font-size:clamp(3.4rem,7vw,7rem);line-height:.9;color:#fff;max-width:780px}.hero h1::after{display:none}.hero-kicker{font-family:var(--ui);color:var(--gold);font-weight:700;letter-spacing:.12em;font-size:.8rem}.hero p{color:rgba(255,255,255,.75);font-size:1.15rem;max-width:620px}.trust-bar{padding:52px 0;background:var(--navy);color:#fff}.trust-value{font-family:var(--display);font-size:3rem;line-height:1;color:var(--gold);font-weight:700}.trust-label{font-family:var(--ui);font-size:.66rem;font-weight:700;letter-spacing:.11em;opacity:.7}.section-pad{padding:80px 0}.lead-serif{font-size:1.2rem;line-height:1.8}.image-frame{position:relative}.image-frame img{width:100%;height:620px;object-fit:cover}.image-badge{position:absolute;right:-28px;bottom:-28px;max-width:310px;background:var(--navy);padding:28px;color:#fff;box-shadow:0 20px 40px rgba(0,0,0,.18)}.quote-box{border-left:3px solid var(--gold);background:#fff;padding:24px;margin:35px 0;box-shadow:0 5px 18px rgba(0,0,0,.05);font-style:italic}.premium-card{height:100%;background:var(--cream);padding:38px;transition:.35s ease;border:0}.premium-card:hover{transform:translateY(-9px);background:var(--stone);box-shadow:0 20px 40px rgba(0,0,0,.07)}.premium-icon{font-size:2rem;color:var(--gold2);margin-bottom:25px}.premium-card h3{font-family:var(--ui);font-size:1.05rem;font-weight:700}.premium-card p{font-size:.9rem;opacity:.75}.premium-link{font-family:var(--ui);font-size:.65rem;font-weight:800;letter-spacing:.12em;color:var(--gold2);text-decoration:none}.results-section{background:var(--navy);color:#fff}.results-section h2,.results-section h3{color:#fff}.result-card{border-left:1px solid rgba(184,151,77,.45);padding:15px 25px;height:100%}.result-card .cat{font-family:var(--ui);font-size:.65rem;letter-spacing:.12em;opacity:.55;font-weight:700}.result-card h3{font-size:1.35rem;line-height:1.45}.attorney-img{height:450px;width:100%;object-fit:cover;filter:grayscale(100%);transition:.4s ease}.attorney-card:hover .attorney-img{filter:grayscale(0);transform:scale(1.04)}.attorney-card{overflow:hidden}.attorney-name{font-family:var(--display);font-size:1.35rem;font-weight:700;color:var(--navy)}.attorney-role{font-family:var(--ui);font-size:.66rem;font-weight:800;letter-spacing:.12em;color:var(--gold2)}.testimonial{background:var(--navy);color:#fff}.testimonial blockquote{font-size:clamp(1.3rem,2.4vw,2.1rem);font-style:italic;line-height:1.6;max-width:980px;margin:auto}.insight-card img{height:240px;width:100%;object-fit:cover;transition:.4s}.insight-card:hover img{transform:scale(1.06)}.insight-meta{font-family:var(--ui);font-size:.63rem;font-weight:700;letter-spacing:.08em}.insight-card h3{font-family:var(--display);font-size:1.25rem;line-height:1.35}.cta{background:var(--navy);color:#fff;text-align:center;border-top:1px solid rgba(255,255,255,.1)}.cta h2{color:#fff}.editorial-header{padding:80px 0 55px}.editorial-header h1{font-size:clamp(3rem,6vw,5.7rem);line-height:.98;margin-bottom:20px}.editorial-header p{max-width:720px;font-size:1.1rem;opacity:.75}.filter-bar{border-bottom:1px solid rgba(4,11,22,.12);padding-bottom:20px}.filter-btn{border:0;background:transparent;font-family:var(--ui);font-size:.65rem;font-weight:800;letter-spacing:.08em;padding:8px 12px;color:var(--navy);opacity:.55}.filter-btn.active,.filter-btn:hover{color:var(--gold2);opacity:1}.detail-hero{padding:70px 0;background:var(--cream)}.detail-image{width:100%;height:580px;object-fit:cover}.stat-strip{background:var(--stone);padding:38px 0}.contact-hero{min-height:72vh;background-size:cover;background-position:center;display:flex;align-items:center;position:relative}.contact-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,11,22,.96),rgba(4,11,22,.72),rgba(4,11,22,.15))}.contact-hero>*{position:relative;z-index:1}.form-luxury{background:var(--stone);border:0;border-radius:0;padding:18px 15px}.form-luxury:focus{box-shadow:0 6px 20px rgba(0,0,0,.07);border-color:var(--gold)}.map-placeholder{height:450px;background:linear-gradient(rgba(4,11,22,.58),rgba(4,11,22,.58)),url('/assets/images/firm-team.png') center/cover;filter:grayscale(100%);display:flex;align-items:center;justify-content:center}.map-pin{background:var(--navy);color:#fff;padding:14px 20px;font-family:var(--ui);font-size:.65rem;font-weight:800;letter-spacing:.12em}.portal-shell{background:#f9f7f2;min-height:70vh}.portal-nav{background:var(--navy);min-height:100%}.portal-nav a{color:rgba(255,255,255,.7);font-family:var(--ui);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:13px 18px;display:block;text-decoration:none}.portal-nav a:hover,.portal-nav a.active{background:rgba(212,175,55,.12);color:var(--gold)}.dashboard-card{background:#fff;border:0;padding:25px;box-shadow:0 5px 18px rgba(0,0,0,.04)}.dashboard-number{font-family:var(--display);font-size:2.5rem;color:var(--navy)}.footer{padding-top:10px}.footer-logo{width:60px;background:#fff;padding:4px}.footer-logo img{width:100%;display:block}.footer-brand{font-family:var(--ui);font-size:1rem;font-weight:800;letter-spacing:.08em}.footer-brand span{color:var(--gold)}.footer-copy,.footer-address{color:rgba(255,255,255,.65);font-style:italic;max-width:430px}.footer-heading{font-family:var(--ui);font-size:.68rem;letter-spacing:.13em;color:var(--gold);font-weight:800}.footer-links li{margin-bottom:12px}.footer-links a,.footer-email{color:rgba(255,255,255,.72);text-decoration:none;font-size:.9rem}.footer-links a:hover,.footer-email:hover{color:var(--gold)}.social{color:rgba(255,255,255,.55);font-size:1.1rem}.social:hover{color:var(--gold);transform:translateY(-2px)}.footer-rule{border-color:rgba(255,255,255,.12);margin:45px 0 22px}.footer-bottom{font-family:var(--ui);font-size:.57rem;letter-spacing:.08em;color:rgba(255,255,255,.35)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.hover-gold:hover{color:var(--gold)!important}.object-cover{object-fit:cover}.legal-copy p,.legal-copy li{font-size:1rem}.login-card{max-width:480px;margin:auto;background:#fff;padding:45px;box-shadow:0 20px 50px rgba(0,0,0,.08)}.table-luxury{background:#fff}.table-luxury th{font-family:var(--ui);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.badge-gold{background:rgba(212,175,55,.14);color:#8d7018}.accordion-button{font-family:var(--ui);font-weight:700;letter-spacing:.04em}.accordion-button:not(.collapsed){background:var(--navy);color:#fff}.mobile-spacer{height:20px}
@media(max-width:1199px){.site-navbar .navbar-collapse{padding:18px 0}.nav-cta{padding:15px 0}.image-badge{right:10px}.hero{min-height:78vh}}
@media(max-width:767px){.section-pad{padding:58px 0}.editorial-header{padding:55px 0 35px}.hero{min-height:82vh;background-position:65% center}.hero h1{font-size:3.3rem}.hero p{font-size:1rem}.trust-value{font-size:2.3rem}.image-frame img{height:430px}.image-badge{position:relative;right:auto;bottom:auto;margin:-45px 15px 0 15px;z-index:2}.attorney-img{height:380px}.contact-hero{min-height:78vh}.detail-image{height:420px}.login-card{padding:30px 22px}}
