:root{--paper:#f9fafc;--white:#fff;--ink:#17202d;--muted:#59616d;--blue:#2756d8;--line:#d9dee5;--night:#152336;--max:1240px;font-family:Inter,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem;-webkit-text-size-adjust:100%}body{margin:0;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}p{line-height:1.7}.container{width:calc(100% - 112px);max-width:var(--max);margin-inline:auto}.skip-link{position:fixed;top:-100px;left:16px;z-index:10;padding:12px 20px;background:var(--white)}.skip-link:focus{top:16px}.site-header{background:var(--white);border-bottom:1px solid var(--line)}.intro{background:var(--white)}.header-inner{min-height:108px;display:flex;justify-content:space-between;align-items:center;gap:2rem}.wordmark{font-size:2rem;font-weight:600;letter-spacing:-.07em;line-height:.95}.wordmark span{display:block;font-size:.85rem;letter-spacing:.09em;font-weight:400;margin-top:1px;padding-inline-start:.35rem}nav{display:flex;align-items:center;gap:2.75rem;font-size:.9375rem}nav a{padding-block:12px;transition:color .2s}nav a:hover{color:var(--blue)}.nav-contact{display:flex;gap:1.5rem;align-items:center}.nav-contact span{font-size:1.3rem;color:var(--blue)}.hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;padding-top:76px;padding-bottom:76px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;line-height:1.5;font-weight:600;color:var(--muted)}h1{font-size:clamp(3.5rem,6.2vw,5.4rem);letter-spacing:-.065em;line-height:1.04;margin:30px 0 25px}h1 span{color:var(--blue)}.hero-description{font-size:1.1875rem;line-height:1.65;color:var(--muted);margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;min-height:52px;padding:15px 22px;background:var(--blue);color:#fff;font-size:.9375rem;border:1px solid var(--blue);transition:background .2s,transform .2s}.button:hover{background:#1743bd;transform:translateY(-2px)}.button span{font-size:1.2rem;line-height:1}.text-link{display:inline-flex;align-items:center;gap:18px;margin-left:26px;font-size:.9375rem;padding-block:15px;border-bottom:1px solid transparent}.text-link:hover{border-color:var(--ink)}.portrait{padding-top:25px}.portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 42%;filter:saturate(.65)}.portrait figcaption{display:flex;flex-direction:column;gap:5px;font-size:.875rem;line-height:1.5;padding-top:17px}.portrait figcaption span:first-child{font-weight:600}.portrait figcaption span:last-child{color:var(--muted)}.credentials-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid var(--line);padding:30px 0 38px}.credentials-strip p{display:flex;flex-direction:column;gap:2px}.credentials-strip strong{font-size:1rem;font-weight:500}.credentials-strip span{font-size:.875rem;color:var(--muted)}.footer{padding-block:28px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.8125rem}.footer a:hover{color:var(--blue)}
.section{padding-block:100px}.section-heading{display:grid;grid-template-columns:1fr 2.15fr;gap:48px;margin-bottom:58px}.section-heading>.eyebrow{padding-top:10px}h2{font-size:clamp(2.35rem,4vw,3.35rem);letter-spacing:-.05em;line-height:1.12}.section-heading>div>p:not(.section-intro){margin-top:20px;color:var(--muted);font-size:1rem}.services{background:#eef4fc;border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:40px;border-top:1px solid var(--line);padding-block:35px}.service-row:last-child{padding-bottom:0}.service-row h3{font-size:1.75rem;letter-spacing:-.035em;line-height:1.2}.service-row p{font-size:1rem;color:var(--muted)}.service-row .service-note{font-size:.8125rem;margin-top:20px;color:var(--blue);line-height:1.6}.approach{background:var(--night);color:#f6f8fd}.approach .eyebrow{color:#aabbd1}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:54px}.approach-grid article{border-top:1px solid #526174;padding-top:27px}.approach-grid h3{font-size:1.3rem;letter-spacing:-.025em;margin-bottom:15px}.approach-grid p{color:#bcc7d7;font-size:1rem;line-height:1.75}.industry-block{border-top:1px solid #526174;margin-top:64px;padding-top:30px;display:grid;grid-template-columns:1fr 2.15fr;gap:48px}.industry-block>.eyebrow{padding-top:8px}.industry-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 28px;font-size:.9375rem;line-height:1.7;color:#e1e7ef}.experience{background:var(--paper)}.section-intro{font-size:1.625rem;letter-spacing:-.03em;line-height:1.3;margin-top:22px;color:var(--muted)}.bio-grid{display:grid;grid-template-columns:2fr 1fr;gap:100px;padding-left:calc((100% - 96px)/3.15 + 48px)}.bio-main>p,.disclosure-content p{font-size:1rem;line-height:1.8;color:var(--muted);margin-bottom:20px}.background{min-width:180px;border-left:1px solid var(--line);padding-left:32px}.background h3,.competencies h3{font-size:.9375rem;font-weight:600;margin-bottom:20px}.background p{font-size:.9375rem;line-height:1.65;color:var(--muted)}.background strong{font-weight:500;color:var(--ink)}.background .honor{font-size:.8125rem;line-height:1.6;margin-top:6px;margin-bottom:25px}.background>div+div{margin-top:35px;border-top:1px solid var(--line);padding-top:25px}.disclosure{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;font-size:.9375rem;font-weight:500;line-height:1.5;cursor:pointer}summary::-webkit-details-marker{display:none}summary:hover{color:var(--blue)}.toggle{position:relative;width:18px;height:18px;flex:0 0 18px}.toggle::before,.toggle::after{position:absolute;content:"";background:currentColor;width:14px;height:1px;left:2px;top:8px}.toggle::after{transform:rotate(90deg)}details[open] .toggle::after{transform:rotate(0)}.disclosure-content{padding-bottom:8px}.cooley{margin-block:30px}.competencies{margin-top:38px}.competencies ul{list-style:none;padding:0;margin:0}.competencies li{position:relative;padding-left:19px;margin-block:12px;font-size:.9375rem;line-height:1.6;color:var(--muted)}.competencies li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:1px;background:var(--blue)}.matters{margin-top:64px}.matters summary{font-size:1.5rem;padding-block:28px;letter-spacing:-.025em}.matter-list{margin:0;padding:0;list-style:none}.matter-list li{display:flex;justify-content:space-between;gap:32px;padding:17px 0;border-top:1px solid var(--line);font-size:.9375rem;line-height:1.65}.matter-list li>span:last-child{font-size:.875rem;color:var(--muted);text-align:right;flex:0 0 175px}.contact{background:#e9eefb}.contact-grid{display:grid;grid-template-columns:1fr 2.15fr;gap:48px}.contact .eyebrow{padding-top:10px;color:var(--blue)}.contact h2{font-size:clamp(2.5rem,4.5vw,4rem)}.contact p:not(.eyebrow){color:var(--muted);max-width:470px;margin-top:26px;font-size:1.0625rem}.contact-email{display:inline-flex;align-items:center;gap:50px;padding-bottom:12px;border-bottom:1px solid var(--blue);font-size:clamp(1.125rem,2vw,1.625rem);letter-spacing:-.025em;margin-top:36px;color:var(--blue)}.contact-email:hover{color:#163fae;border-color:#163fae}.contact-email span{font-size:1.8rem}
@media(min-width:1500px){.hero{grid-template-columns:minmax(0,1fr) 350px;gap:90px}h1{font-size:6rem}}
@media(max-width:1000px){.container{width:calc(100% - 64px)}.hero{grid-template-columns:minmax(0,1fr) 250px;gap:32px}h1{font-size:clamp(3rem,6.8vw,4.6rem)}.text-link{margin-left:16px;gap:12px}.hero-description{font-size:1.0625rem}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{min-height:86px;gap:20px}.wordmark{font-size:1.75rem}.wordmark span{font-size:.6875rem;padding-inline-start:.3rem}nav{gap:20px;font-size:.875rem}nav .nav-contact{display:none}.hero{grid-template-columns:1fr;gap:40px;padding-block:46px}.eyebrow{font-size:.75rem}h1{font-size:clamp(3rem,11.4vw,5rem);margin-top:24px}.hero-description{font-size:1.0625rem}.portrait{padding:0;width:100%;display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:end}.portrait img{aspect-ratio:1/1.2}.portrait figcaption{padding-bottom:6px}.credentials-strip{grid-template-columns:1fr;gap:20px;padding-block:26px}.credentials-strip p{display:grid;grid-template-columns:1fr 1fr;gap:15px}.credentials-strip strong,.credentials-strip span{font-size:.875rem}.footer{flex-wrap:wrap;font-size:.8125rem}.footer>span:nth-child(2){display:none}}
@media(max-width:1150px){.bio-grid{padding-left:0;gap:64px}.section-heading,.industry-block,.contact-grid{grid-template-columns:1fr 2fr;gap:32px}.approach-grid{gap:30px}.service-row{grid-template-columns:1fr 1.2fr;gap:28px}}
@media(max-width:700px){.section{padding-block:60px}.section-heading,.contact-grid,.industry-block{grid-template-columns:1fr;gap:24px}.section-heading{margin-bottom:38px}.section-heading>.eyebrow,.contact .eyebrow{padding-top:0}h2{font-size:2.35rem}.service-row{grid-template-columns:1fr;gap:14px;padding-block:28px}.service-row h3{font-size:1.5rem}.service-row>div{grid-column:1}.service-row h3 br{display:none}.service-row .service-note{font-size:.8125rem}.approach-grid{grid-template-columns:1fr;gap:28px}.approach-grid article{padding-top:24px}.industry-block{margin-top:40px}.industry-list{gap:12px 20px;font-size:.875rem}.bio-grid{grid-template-columns:1fr;gap:40px}.background{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:30px;display:grid;grid-template-columns:1.3fr 1fr;gap:25px}.background>div+div{border:0;padding:0;margin:0}.background h3{margin-bottom:15px}.background p{font-size:.875rem}.matters{margin-top:35px}.matters summary{font-size:1.25rem}.matter-list li{display:block;padding-block:16px}.matter-list li>span{display:block}.matter-list li>span:last-child{text-align:left;margin-top:4px}.contact h2{font-size:2.65rem}.contact-email{gap:24px;font-size:clamp(1rem,4.8vw,1.625rem)}}
@media(max-width:360px){nav{gap:13px}.text-link{margin-left:0;margin-top:5px;display:flex;width:max-content}.credentials-strip p{grid-template-columns:1fr}.contact-email{gap:14px}.background{grid-template-columns:1fr}.background>div+div{padding-top:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover{transform:none}}

/* Each decorative window clips an oversized texture moving at 35% of scroll speed. */
.has-section-background{--section-background:url("assets/blue-gray-mineral.png")}
.section-gap{display:none}
.has-section-background .section-gap{display:block;position:relative;isolation:isolate;height:100px;overflow:hidden;background:#6e8299}
.section-gap::before{content:"";position:absolute;inset:0;background-image:var(--section-background);background-position:center;background-size:cover;background-repeat:no-repeat;pointer-events:none}
.parallax-enabled .section-gap::before{top:calc(-1 * var(--parallax-overscan,420px));bottom:calc(-1 * var(--parallax-overscan,420px));transform:translate3d(0,var(--parallax-shift,0px),0);will-change:transform}
@media(max-width:700px){.has-section-background .section-gap{height:72px}}
@media(prefers-reduced-motion:reduce){.parallax-enabled .section-gap::before{inset:0;transform:none;will-change:auto}}
