:root{--paper:#f4f6f8;--white:#fff;--ink:#071425;--ink-soft:#415066;--blue:#0a3d91;--blue-bright:#165dcc;--blue-dark:#061d42;--blue-black:#041226;--line:#cbd5e1;--line-dark:#fff3;--copper:#c07b4d;--display:"Courier New", Courier, monospace;--body:Inter, "Helvetica Neue", Arial, Helvetica, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}img{display:block}button,a{-webkit-tap-highlight-color:transparent}.skip-link{z-index:100;background:var(--white);color:var(--blue-dark);font-family:var(--display);padding:.8rem 1rem;font-size:.8rem;transition:top .2s;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:10;height:104px;color:var(--white);border-bottom:1px solid var(--line-dark);grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:2rem;padding:0 4vw;display:grid;position:absolute;inset:0 0 auto}.brand{width:178px;display:block}.brand img{width:100%;height:auto}.desktop-nav{letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:clamp(1.3rem,3vw,3.25rem);font-size:.78rem;font-weight:650;display:flex}.desktop-nav a{padding-block:.4rem;position:relative}.desktop-nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .25s;position:absolute;inset:auto 0 0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.header-cta{min-width:168px;font-family:var(--display);letter-spacing:.05em;border:1px solid #ffffffa6;justify-content:space-between;justify-self:end;align-items:center;gap:1rem;padding:.9rem 1rem;font-size:.78rem;transition:background .2s,color .2s;display:flex}.header-cta:hover,.header-cta:focus-visible{background:var(--white);color:var(--blue-dark)}.hero{background:var(--blue-dark);min-height:920px;color:var(--white);grid-template-columns:54% 46%;display:grid;position:relative;overflow:hidden}.hero:before{content:"";z-index:0;opacity:.16;background-image:linear-gradient(#ffffff21 1px,#0000 1px),linear-gradient(90deg,#ffffff21 1px,#0000 1px);background-size:70px 70px;position:absolute;inset:0 46% 0 0;-webkit-mask-image:linear-gradient(#0000 0%,#000 20% 100%);mask-image:linear-gradient(#0000 0%,#000 20% 100%)}.hero-copy{z-index:2;flex-direction:column;justify-content:center;padding:184px clamp(2rem,5.5vw,7.2rem) 190px 5.5vw;display:flex;position:relative}.eyebrow{color:var(--blue-bright);font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.35rem;font-size:.77rem;font-weight:700;line-height:1.5}.hero .eyebrow{color:#8fc0ff}.typewriter-line{align-items:center;width:fit-content;display:inline-flex}.typewriter-line:after{content:"";background:#8fc0ff;width:.55rem;height:1.05rem;margin-left:.65rem;animation:1.05s step-end infinite cursor}@keyframes cursor{50%{opacity:0}}.hero h1,.section h2,.contact h2{font-family:var(--display);letter-spacing:-.065em;margin:0;font-weight:700}.hero h1{max-width:780px;font-size:clamp(3.4rem,5.85vw,7.1rem);line-height:.94}.hero h1 span{color:#8fc0ff}.hero-intro{color:#ffffffc2;max-width:610px;margin:2.25rem 0 0;font-size:clamp(1rem,1.2vw,1.18rem);line-height:1.7}.hero-actions{align-items:center;gap:2rem;margin-top:2.8rem;display:flex}.button{font-family:var(--display);letter-spacing:.02em;justify-content:space-between;align-items:center;gap:2rem;font-size:.82rem;font-weight:700;display:inline-flex}.button-primary{background:var(--white);min-width:230px;color:var(--blue-dark);padding:1.15rem 1.25rem;transition:background .2s,transform .2s}.button-primary:hover,.button-primary:focus-visible{background:#8fc0ff;transform:translateY(-2px)}.button-text{border-bottom:1px solid #ffffff80;padding-block:.35rem}.hero-visual{min-height:740px;position:relative;overflow:hidden}.hero-visual:after{content:"";background:linear-gradient(#03122614,#03122633);position:absolute;inset:0}.hero-visual img{object-fit:cover;object-position:52% center;filter:saturate(.78)contrast(1.04);width:100%;height:100%;position:absolute;inset:0}.hero-stamp{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:190px;min-height:170px;font-family:var(--display);background:#041226e6;border:1px solid #ffffff6b;flex-direction:column;justify-content:space-between;padding:1.15rem;display:flex;position:absolute;bottom:3rem;right:2.2rem}.hero-stamp span{letter-spacing:.1em;font-size:.65rem}.hero-stamp strong{letter-spacing:-.04em;font-size:1.3rem}.hero-index{z-index:3;background:var(--blue);border-top:1px solid #ffffff2e;grid-template-columns:repeat(3,1fr);min-height:122px;display:grid;position:absolute;inset:auto 46% 0 0}.hero-index div{border-right:1px solid #ffffff2e;flex-direction:column;justify-content:center;gap:.5rem;padding:1.3rem 1.8rem;display:flex}.hero-index span{color:#9bc8ff;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem}.hero-index strong{font-size:.78rem;font-weight:650}.credential-bar{background:var(--white);border-bottom:1px solid var(--line);min-height:112px;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:clamp(1.2rem,3vw,3.8rem);padding:1.5rem 4vw;font-size:.75rem;font-weight:700;display:flex}.credential-bar i{background:var(--blue-bright);border-radius:50%;width:5px;height:5px}.section{padding:8.5rem 5.5vw}.section-label{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;align-self:start;align-items:center;gap:1rem;font-size:.7rem;font-weight:700;display:flex}.section-label span{border:1px solid var(--line);place-items:center;width:2.25rem;height:2.25rem;display:grid}.section-label p{margin:0}.firm{background:var(--paper);grid-template-columns:.7fr 2fr .85fr;gap:5vw;display:grid}.firm-main h2,.practice-heading h2,.approach-heading h2,.team-heading h2{max-width:880px;font-size:clamp(2.8rem,4.5vw,5.25rem);line-height:1.01}.firm-copy-grid{grid-template-columns:repeat(2,1fr);gap:3rem;margin-top:2.9rem;display:grid}.firm-copy-grid p,.team-heading>p,.practice-heading>p,.approach-grid p{color:var(--ink-soft);margin:0;font-size:.98rem;line-height:1.75}.text-link{width:fit-content;color:var(--blue);font-family:var(--display);border-bottom:1px solid;align-items:center;gap:1rem;margin-top:2.6rem;padding-bottom:.4rem;font-size:.77rem;font-weight:700;display:flex}.legacy-card{background:var(--blue);min-height:355px;color:var(--white);flex-direction:column;justify-content:space-between;align-self:center;padding:1.7rem;display:flex;position:relative;overflow:hidden}.legacy-card:before{content:"";border:1px solid #fff3;border-radius:50%;width:220px;height:220px;position:absolute;top:-90px;right:-90px;box-shadow:0 0 0 32px #ffffff0a,0 0 0 64px #ffffff08}.legacy-card span,.legacy-card p{z-index:1;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.67rem;line-height:1.5;position:relative}.legacy-card strong{z-index:1;font-family:var(--display);letter-spacing:-.12em;font-size:clamp(4.8rem,7vw,7rem);line-height:1;position:relative}.practice{background:var(--blue-black);color:var(--white);grid-template-columns:.7fr 1fr 2fr;gap:5vw;display:grid}.section-label.light span{border-color:#ffffff4d}.practice-heading{align-self:start;position:sticky;top:3rem}.practice-heading .eyebrow{color:#8fc0ff}.practice-heading h2{font-size:clamp(2.65rem,4vw,4.5rem)}.practice-heading>p:last-child{color:#fff9;max-width:390px;margin-top:2rem}.practice-list{border-top:1px solid var(--line-dark)}.practice-row{border-bottom:1px solid var(--line-dark);grid-template-columns:52px minmax(170px,.85fr) 1.2fr 30px;align-items:center;gap:1.4rem;min-height:122px;transition:background .25s,padding .25s;display:grid}.practice-row:hover{background:#165dcc29;padding-inline:1rem}.practice-row>span:first-child{color:#78aaf1;font-family:var(--display);font-size:.67rem}.practice-row h3{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(1.1rem,1.5vw,1.45rem)}.practice-row p{color:#ffffff8c;margin:0;font-size:.85rem;line-height:1.55}.practice-arrow{font-size:1.1rem}.approach{background:var(--white);grid-template-columns:.7fr 1.2fr 2fr;gap:5vw;display:grid}.approach-heading h2{font-size:clamp(2.7rem,4vw,4.8rem)}.approach-grid{border-top:1px solid var(--line)}.approach-grid article{border-bottom:1px solid var(--line);grid-template-columns:52px minmax(160px,.8fr) 1.4fr;align-items:start;gap:1.5rem;padding:2rem 0;display:grid}.approach-grid span{color:var(--blue-bright);font-family:var(--display);font-size:.7rem}.approach-grid h3{font-family:var(--display);letter-spacing:-.03em;margin:0;font-size:1.15rem}.team{background:var(--paper);grid-template-columns:.7fr 3.25fr;gap:5vw;display:grid}.team-heading{grid-template-columns:2.2fr .8fr;align-items:end;gap:5vw;display:grid}.team-heading>p{max-width:340px;padding-bottom:.4rem}.team-grid{grid-column:2;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem;display:grid}.person-card{min-width:0}.person-image{aspect-ratio:.77;background:#dce3ea;position:relative;overflow:hidden}.person-image:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #07142517}.person-image img{object-fit:cover;object-position:center top;filter:saturate(.72)contrast(1.02);width:100%;height:100%;transition:transform .45s,filter .45s;position:absolute;inset:0}.person-card:hover .person-image img{filter:saturate(.95)contrast(1.02);transform:scale(1.025)}.person-image span{z-index:2;background:var(--blue);width:2.15rem;height:2.15rem;color:var(--white);font-family:var(--display);place-items:center;font-size:.65rem;display:grid;position:absolute;top:.75rem;right:.75rem}.person-meta{border-top:3px solid var(--blue);padding:1.25rem .15rem 0}.person-meta h3{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(.95rem,1.3vw,1.18rem);line-height:1.25}.person-meta p{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;margin:.6rem 0 0;font-size:.72rem;font-weight:700}.contact{background:var(--blue);color:var(--white);padding-bottom:4.2rem}.contact-top{justify-content:space-between;align-items:center;gap:4rem;display:flex}.contact .eyebrow{color:#a6ceff}.contact h2{font-size:clamp(3.4rem,6vw,7rem);line-height:.96}.contact h2 span{color:#a6ceff}.contact-roundel{width:185px;height:185px;font-family:var(--display);border:1px solid #ffffff8c;border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1rem;font-size:.74rem;font-weight:700;transition:background .25s,color .25s,transform .25s;display:flex}.contact-roundel strong{font-size:1.5rem}.contact-roundel:hover,.contact-roundel:focus-visible{background:var(--white);color:var(--blue);transform:rotate(-4deg)}.contact-grid{border-top:1px solid #ffffff52;grid-template-columns:.8fr 1fr 1.35fr;margin-top:6rem;display:grid}.contact-grid>div{border-right:1px solid #ffffff52;flex-direction:column;gap:1.25rem;min-height:145px;padding:1.5rem 2rem 0 0;display:flex}.contact-grid>div:not(:first-child){padding-left:2rem}.contact-grid>div:last-child{border-right:0}.contact-grid span{color:#a6ceff;font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:.67rem}.contact-grid a{width:fit-content;font-family:var(--display);font-size:clamp(.95rem,1.35vw,1.2rem);line-height:1.45}.contact-grid a:hover,.contact-grid a:focus-visible{color:#a6ceff}.site-footer{background:var(--blue-black);color:var(--white);grid-template-columns:1.4fr .7fr .7fr;gap:5vw;padding:5rem 5.5vw 2rem;display:grid}.footer-brand img{width:180px;height:auto}.footer-brand p{color:#ffffff85;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;margin:1.3rem 0 0;font-size:.66rem}.footer-links,.footer-social{font-family:var(--display);flex-direction:column;align-items:flex-start;gap:.9rem;font-size:.76rem;display:flex}.footer-links a,.footer-social a{border-bottom:1px solid #0000;padding-bottom:.25rem}.footer-links a:hover,.footer-social a:hover{border-color:currentColor}.footer-bottom{color:#ffffff6b;font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;border-top:1px solid #ffffff24;grid-column:1/-1;justify-content:space-between;gap:2rem;margin-top:3rem;padding-top:1.5rem;font-size:.62rem;line-height:1.5;display:flex}.footer-bottom p{margin:0}:focus-visible{outline-offset:4px;outline:2px solid #a6ceff}@media (max-width:1180px){.site-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.firm,.practice,.approach{grid-template-columns:.45fr 1.1fr 1.4fr;gap:3.5vw}.team-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem 1rem}.practice-row{grid-template-columns:42px minmax(150px,.8fr) 1.2fr 24px}}@media (max-width:900px){.site-header{height:88px;padding-inline:1.25rem}.brand{width:150px}.header-cta{min-width:132px;padding:.75rem}.hero{grid-template-columns:1fr;min-height:auto}.hero:before{inset:0}.hero-copy{min-height:750px;padding:150px 6vw 125px}.hero h1{font-size:clamp(3.3rem,10.7vw,6.3rem)}.hero-visual{min-height:620px}.hero-index{grid-column:1;position:relative;inset:auto}.credential-bar{flex-wrap:wrap}.section{padding:6.5rem 6vw}.firm,.practice,.approach,.team{grid-template-columns:1fr}.firm-main,.practice-heading,.approach-heading,.team-heading,.team-grid,.legacy-card,.practice-list,.approach-grid{grid-column:1}.firm-main,.practice-heading,.approach-heading,.team-heading{margin-top:2rem}.legacy-card{min-height:320px;margin-top:1rem}.practice-heading{position:static}.practice-list,.approach-grid{margin-top:2rem}.team-heading{grid-template-columns:1fr}.team-grid{margin-top:2.2rem}.contact h2{font-size:clamp(3.1rem,9vw,5.5rem)}.contact-grid{grid-template-columns:1fr 1fr}.contact-grid>div:last-child{border-top:1px solid #ffffff52;grid-column:1/-1}}@media (max-width:620px){.site-header{height:78px}.brand{width:130px}.header-cta{border:0;min-width:0;padding:0}.header-cta span:first-child{display:none}.header-cta span:last-child{border:1px solid #fff9;place-items:center;width:2.55rem;height:2.55rem;display:grid}.hero-copy{min-height:690px;padding:130px 1.25rem 90px}.hero h1{letter-spacing:-.075em;font-size:clamp(2.9rem,13.8vw,4.5rem)}.hero-intro{font-size:.98rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:1.4rem}.button-primary{width:100%}.hero-visual{min-height:520px}.hero-stamp{width:160px;min-height:145px;bottom:1rem;right:1rem}.hero-index{grid-template-columns:1fr}.hero-index div{border-bottom:1px solid #ffffff2e;border-right:0;min-height:90px}.credential-bar{justify-content:flex-start;gap:.8rem 1.1rem;min-height:0;padding:1.5rem 1.25rem;font-size:.62rem}.section{padding:5.3rem 1.25rem}.firm-main h2,.practice-heading h2,.approach-heading h2,.team-heading h2{font-size:clamp(2.55rem,12vw,3.6rem)}.firm-copy-grid{grid-template-columns:1fr;gap:1.2rem}.practice-row{grid-template-columns:35px 1fr 22px;gap:.85rem;min-height:0;padding:1.5rem 0}.practice-row:hover{padding-inline:.5rem}.practice-row p{grid-column:2/-1}.approach-grid article{grid-template-columns:35px 1fr;gap:.85rem}.approach-grid p{grid-column:2}.team-grid{grid-template-columns:1fr;gap:2.6rem}.person-meta h3{font-size:1.18rem}.contact-top{flex-direction:column;align-items:flex-start;gap:3rem}.contact h2{font-size:clamp(2.8rem,13vw,4.1rem)}.contact-roundel{width:150px;height:150px}.contact-grid{grid-template-columns:1fr;margin-top:4rem}.contact-grid>div,.contact-grid>div:not(:first-child){border-bottom:1px solid #ffffff52;border-right:0;min-height:auto;padding:1.5rem 0}.contact-grid>div:last-child{border-top:0;grid-column:1}.site-footer{grid-template-columns:1fr 1fr;padding:4rem 1.25rem 1.5rem}.footer-brand{grid-column:1/-1;margin-bottom:1.5rem}.footer-bottom{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
