@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--navy:#0a1e32;--navy2:#102d4a;--blue:#075baf;--blue2:#277bd0;--paper:#f5f5f1;--white:#fff;--ink:#16293a;--muted:#647486;--line:#dce1e5;--gold:#bca37d;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;letter-spacing:-.037em;line-height:1.18}h1{font-size:clamp(2.6rem,5vw,5.15rem)}h2{font-size:clamp(2rem,3.6vw,3.35rem)}h3{font-size:clamp(1.3rem,2vw,1.7rem)}p{margin-bottom:1.1rem}.container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:.69rem;font-weight:700;color:var(--blue);margin-bottom:22px}.eyebrow.light{color:#afc9e4}.muted{color:var(--muted)}.topbar{background:var(--navy);color:#e1eaf2;font-size:.73rem;padding:8px 0;letter-spacing:.05em}.topbar .container{display:flex;justify-content:space-between;gap:12px}.topbar a:hover{text-decoration:underline}.nav-shell{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(10,30,50,.12);backdrop-filter:blur(12px)}.navbar{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;flex-shrink:0;width:263px}.brand img{width:100%;height:auto;display:block}.nav-links{display:flex;align-items:center;gap:27px}.nav-links>a{font-size:.85rem;font-weight:600;color:#344b5e}.nav-links>a:hover,.nav-links>a[aria-current=page]{color:var(--blue)}.nav-cta{background:var(--navy);color:white!important;padding:12px 19px;border-radius:2px;font-size:.78rem!important}.nav-cta:hover{background:var(--blue)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:transparent;border:0;padding:12px;cursor:pointer}.nav-toggle span{width:23px;height:2px;background:var(--navy);display:block}.btn{display:inline-flex;justify-content:center;align-items:center;gap:14px;padding:16px 22px;background:var(--blue);color:white;border-radius:2px;font-size:.84rem;font-weight:700;letter-spacing:.01em;line-height:1.4;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-2px);background:#074985}.btn.ghost{border:1px solid rgba(255,255,255,.38);background:transparent}.btn.ghost:hover{background:rgba(255,255,255,.1)}.btn.outline{border:1px solid #bdcbd9;background:transparent;color:var(--navy)}.btn.outline:hover{background:#eaf2f8}.btn.arrow:after{content:'↗';font-size:1.05rem}.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;min-height:620px;display:flex;align-items:center}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 40%,rgba(54,113,164,.23),transparent 39%),linear-gradient(105deg,rgba(6,22,38,0) 38%,rgba(23,60,99,.35));pointer-events:none}.hero-geometry{position:absolute;right:-55px;bottom:-75px;width:min(48vw,660px);height:650px;opacity:.28;transform:skewX(-12deg);border:1px solid #7591aa;background:repeating-linear-gradient(90deg,transparent 0,transparent 78px,rgba(144,183,216,.75) 79px,transparent 80px),repeating-linear-gradient(0deg,transparent 0,transparent 103px,rgba(144,183,216,.5) 104px,transparent 105px)}.hero-geometry:before{content:'';position:absolute;top:-50px;left:60px;right:45px;height:85%;border:1px solid #96b6d1;box-shadow:70px 60px 0 -1px rgba(12,46,78,.5),70px 60px 0 0 #98bad7}.hero-inner{position:relative;z-index:2;padding-top:105px;padding-bottom:110px;max-width:760px}.hero h1{max-width:780px}.hero h1 em{font-style:normal;color:#c2d9eb}.hero p{color:#c5d2de;font-size:1.13rem;max-width:650px;line-height:1.8;margin:26px 0 34px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-meta{margin-top:66px;display:flex;gap:24px;color:#b9cad9;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.hero-meta span{display:inline-flex;align-items:center;gap:8px}.dot{width:5px;height:5px;display:inline-block;background:var(--gold);border-radius:50%}.section{padding:100px 0}.section.soft{background:var(--paper)}.section.dark{background:var(--navy2);color:#fff}.intro-row{display:grid;grid-template-columns:.8fr 1.4fr;gap:80px;align-items:start}.intro-row h2{max-width:740px}.intro-row p{font-size:1.06rem;color:#536779}.intro-row .eyebrow{padding-top:15px}.section-head{max-width:740px;margin-bottom:43px}.section-head p{max-width:610px;color:#5f7181}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{background:white;padding:40px 35px 38px;min-height:315px;display:flex;flex-direction:column;transition:background .16s}.service-card:hover{background:#f6fafc}.service-index{font-size:.69rem;font-weight:700;letter-spacing:.18em;color:var(--blue);margin-bottom:45px}.service-card h3{font-size:1.48rem;line-height:1.32}.service-card p{color:#647485;font-size:.89rem;flex:1}.service-arrow{color:var(--blue);font-size:1.25rem;margin-top:16px}.inline-link{display:inline-block;color:var(--blue);font-weight:700;font-size:.89rem;border-bottom:1px solid #8db3d5;padding-bottom:4px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.value-box{border-top:2px solid #b9aa8d;padding-top:30px}.value-num{font-size:.72rem;letter-spacing:.16em;color:#adc4d9}.value-box h3{font-size:1.4rem;margin-top:33px}.value-box p{font-size:.9rem;color:#ccd8e2}.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:490px}.split-text{padding:80px max(55px,calc((100vw - 1100px)/2));padding-right:58px;background:#eef2f4}.split-visual{position:relative;overflow:hidden;background:linear-gradient(135deg,#112d4a 0%,#0a1e32 72%);display:flex;align-items:center;justify-content:center}.split-visual:before,.split-visual:after{content:'';position:absolute;width:330px;height:330px;border:1px solid rgba(163,194,218,.32);transform:rotate(35deg)}.split-visual:after{width:220px;height:490px;transform:rotate(-32deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.04))}.split-visual span{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(8rem,16vw,16rem);opacity:.13;color:#d3e9fa;line-height:1}.quote{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(1.65rem,2.8vw,2.6rem);line-height:1.55;letter-spacing:-.035em}.quote-source{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:#bdcddc;margin-top:18px}.cta-strip{background:var(--blue);color:white;padding:50px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-inner h2{font-size:clamp(1.65rem,3vw,2.55rem);max-width:760px;margin:0}.cta-strip .btn{background:white;color:var(--navy);flex-shrink:0}.footer{background:#061726;color:#b4c5d4;padding:72px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:55px}.footer-brand{background:transparent;display:inline-block;padding:0;border-radius:0;max-width:360px;margin-bottom:23px}.footer-brand img{display:block;width:360px;max-width:100%;height:auto}.footer h4{color:white;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 21px}.footer p,.footer a{font-size:.85rem;color:#b4c5d4}.footer a:hover{color:#fff}.footer-link{display:block;margin:9px 0}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.13);margin-top:54px;padding-top:22px;font-size:.73rem;color:#819aaa}.footer-bottom a{font-size:.73rem}.page-hero{background:var(--navy);color:white;padding:91px 0 82px;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;right:-10%;top:-60%;width:650px;height:650px;border:1px solid #385778;transform:rotate(35deg);opacity:.65}.page-hero .container{position:relative;z-index:1}.page-hero h1{max-width:850px;font-size:clamp(2.35rem,4.3vw,4.5rem)}.page-hero p{max-width:770px;color:#b9ccdc;font-size:1.08rem;margin-top:25px}.breadcrumb{font-size:.71rem;letter-spacing:.11em;color:#9eb8d0;text-transform:uppercase;margin-bottom:34px}.breadcrumb a:hover{color:white}.content-grid{display:grid;grid-template-columns:1.8fr .82fr;gap:90px}.main-copy h2{font-size:2rem;margin-top:42px;margin-bottom:17px}.main-copy h2:first-child{margin-top:0}.main-copy p,.main-copy li{color:#4d6174}.main-copy ul{padding-left:22px}.main-copy li{margin:12px 0}.sidebox{background:#f2f5f7;border-top:3px solid var(--blue);padding:30px;position:sticky;top:112px;align-self:start}.sidebox h3{font-size:1.5rem}.sidebox p{font-size:.9rem;color:#586f80}.sidebox .btn{width:100%}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.step{border-top:1px solid #bbc7d0;padding-top:24px}.step .count{color:var(--blue);font-weight:700;font-size:.7rem;letter-spacing:.14em}.step h3{font-size:1.3rem;margin-top:28px}.step p{font-size:.88rem;color:#647687}.article-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}.article{border:1px solid var(--line);padding:33px;display:flex;flex-direction:column;min-height:230px}.article h3{font-size:1.38rem}.article p{font-size:.91rem;color:#657789;flex:1}.article-tag{font-size:.68rem;color:var(--blue);text-transform:uppercase;letter-spacing:.17em;font-weight:700;margin-bottom:24px}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px}.contact-box{background:var(--paper);padding:35px;margin-bottom:20px}.contact-box h3{font-size:1.5rem}.contact-box p{margin-bottom:8px}.contact-box a{color:var(--blue)}.notice{font-size:.85rem;color:#617184;border-left:3px solid #9fb3c6;padding-left:20px;margin-top:27px}.legal h2{font-size:1.45rem}.legal p,.legal li{font-size:.94rem}.socials{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}.socials a{color:var(--blue);font-size:.88rem;border-bottom:1px solid #9bbbd3}.divider{height:1px;background:var(--line);margin:35px 0}.skip{position:absolute;left:-9999px;top:0;background:white;color:black;padding:15px;z-index:900}.skip:focus{left:15px}::selection{background:#bad9f4;color:#08233a}a:focus-visible,button:focus-visible{outline:3px solid #9ccee9;outline-offset:4px}
@media(max-width:1050px){.brand{width:225px}.nav-links{gap:16px}.nav-links>a{font-size:.76rem}.container{width:min(var(--max),calc(100% - 46px))}.intro-row{gap:35px}.service-card{padding:28px 23px}.footer-grid{gap:28px}}
@media(max-width:800px){.topbar{display:none}.navbar{height:73px}.nav-toggle{display:flex}.nav-links{display:none;position:absolute;top:73px;left:0;right:0;padding:22px 26px 27px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:15px;box-shadow:0 10px 20px rgba(0,0,0,.05)}.nav-links.open{display:flex}.nav-cta{text-align:center}.hero{min-height:580px}.hero-inner{padding:80px 0}.hero-geometry{width:75vw;opacity:.15;right:-100px}.hero-meta{flex-wrap:wrap;gap:15px;margin-top:49px}.section{padding:69px 0}.intro-row,.content-grid,.contact-grid{grid-template-columns:1fr;gap:34px}.intro-row .eyebrow{padding-top:0}.service-grid{grid-template-columns:1fr 1fr}.value-grid,.steps{grid-template-columns:1fr}.value-box h3{margin-top:16px}.split-section{grid-template-columns:1fr}.split-text{padding:55px 35px}.split-visual{min-height:260px}.cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}.page-hero{padding:72px 0}.sidebox{position:static}.article-list{grid-template-columns:1fr}}
@media(max-width:530px){.container{width:calc(100% - 36px)}.brand{width:206px}.hero h1{font-size:2.62rem}.hero p{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-meta{font-size:.66rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-index{margin-bottom:30px}.footer-grid{grid-template-columns:1fr}.footer-grid>:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.section-head{margin-bottom:30px}.page-hero h1{font-size:2.43rem}.cta-strip .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Team credentials - v2, text-first until approved attorney portraits are provided. */
.team-hero{padding:106px 0 92px}.team-hero h1{font-size:clamp(3rem,5.9vw,5.6rem);line-height:1.09}.team-hero .team-eyebrow{color:#cdb58f!important;font-size:.7rem;margin:0 0 17px;letter-spacing:.18em}.team-intro .intro-row{margin-bottom:75px}.team-grid{display:grid;gap:86px}.person-card{display:grid;grid-template-columns:minmax(275px,.7fr) minmax(0,1.3fr);gap:clamp(34px,5vw,78px);border-top:1px solid #cad4dc;padding-top:48px;align-items:start}.person-visual{position:relative;min-height:470px;background:linear-gradient(137deg,#1a3b5b,#0c243c 64%,#0b1d30);display:flex;align-items:center;justify-content:center;overflow:hidden}.person-visual:before{content:'';position:absolute;width:390px;height:390px;transform:rotate(36deg);border:1px solid rgba(211,230,244,.2);top:-110px;right:-160px}.person-visual:after{content:'';position:absolute;width:250px;height:470px;transform:rotate(30deg);border:1px solid rgba(211,230,244,.14);bottom:-200px;left:-30px}.person-visual-alt{background:linear-gradient(135deg,#324f69,#102d4b 65%,#0b1d30)}.person-monogram{font-family:Georgia,serif;font-size:clamp(7.5rem,14vw,13rem);line-height:1;font-weight:400;color:rgba(221,235,246,.47);letter-spacing:-.13em;transform:translateX(-.04em)}.person-visual-caption{position:absolute;bottom:28px;left:32px;font-size:.65rem;letter-spacing:.18em;color:#c1d2df}.person-visual-caption span{color:#c6ae86}.person-details h2{font-size:clamp(2.2rem,3.65vw,3.6rem);line-height:1.15;margin:15px 0 12px}.person-position{font-size:.93rem!important;line-height:1.5;color:#2b638c!important;font-weight:700;margin-bottom:28px}.person-details>p:not(.eyebrow):not(.person-position){color:#53687b;font-size:.96rem;line-height:1.9}.practice-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.practice-tags span{border:1px solid #ccd6de;padding:8px 12px;font-size:.7rem;color:#28425c;letter-spacing:.02em}.team-home{background:#f0f3f5}.team-home-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:85px;align-items:center}.team-home-layout h2{font-size:clamp(2rem,3.8vw,3.6rem)}.team-home-layout p:not(.eyebrow){color:#52687b;max-width:500px;margin:20px 0 26px}.team-home-names{border-top:1px solid #c7d4df}.team-home-names>a{display:flex;align-items:center;gap:23px;border-bottom:1px solid #c7d4df;padding:30px 7px}.team-home-names .home-initial{background:#102d48;color:#c4d8e8;font-family:Georgia,serif;font-size:1.45rem;min-width:66px;height:66px;display:flex;align-items:center;justify-content:center}.team-home-names strong{display:block;font-family:Georgia,serif;font-size:1.33rem;line-height:1.3;color:#0b2642}.team-home-names small{display:block;color:#52687a;font-size:.77rem;margin-top:7px}.team-home-names .right-arrow{margin-left:auto;color:#1b5c8f;font-size:1.1rem}
@media(max-width:800px){.person-card,.team-home-layout{grid-template-columns:1fr;gap:28px}.person-visual{min-height:285px}.person-monogram{font-size:8.5rem}.team-grid{gap:60px}.team-hero{padding:74px 0}.team-intro .intro-row{margin-bottom:47px}.person-card{padding-top:35px}}

/* V4 - Real authorized portraits: consistent editorial crop for both founders. */
.person-visual { display:block; aspect-ratio: 4/5; min-height:0; background:#17324c; }
.person-visual:before,.person-visual:after {display:none}
.person-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 27%;display:block}
#javier-ramirez .person-photo{object-position:50% 28%}
#angelo-urzua .person-photo{object-position:50% 21%}
.person-visual-caption{position:absolute;bottom:0;left:0;right:0;padding:23px 24px;background:linear-gradient(0deg,rgba(3,18,30,.88),rgba(3,18,30,0));color:#eef3f8}
.home-team-photo{width:70px;height:70px;object-fit:cover;object-position:center 18%;flex:0 0 70px;border-radius:2px;background:#d9e2e8}
@media(max-width:800px){.person-visual{aspect-ratio:4/4.15}.person-photo{object-position:center 24%}.team-home-names>a{gap:15px}.home-team-photo{width:60px;height:60px;flex-basis:60px}.team-home-names strong{font-size:1.15rem}}
