@font-face{font-family:RPSerif;src:local("Baskerville"),local("Iowan Old Style"),local("Palatino Linotype");font-display:swap}
:root{--forest:#14241f;--deep:#10201a;--paper:#f4f5f0;--ink:#172b23;--subtle:#53625a;--line:#cdd3c9;--light-line:#3c4b3f;--accent:#d8e5a1;--white:#f4f5ef;--serif:RPSerif,"Baskerville","Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;background:var(--forest);color:var(--white);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.light-section a:focus-visible{outline-color:var(--forest)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:400}
em{font-weight:400}
::selection{background:var(--accent);color:var(--forest)}
.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}
.skip-link{position:fixed;top:-100px;left:1rem;padding:.65rem 1rem;background:var(--accent);color:var(--forest);z-index:100}
.skip-link:focus{top:1rem}
.site-header{position:relative;z-index:20;background:var(--forest)}
.header-inner{max-width:1600px;margin:auto;min-height:111px;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.wordmark{display:inline-flex;flex-direction:column;align-items:center;line-height:1;flex-shrink:0}
.wordmark-name{font-family:var(--serif);font-size:2.15rem;letter-spacing:-.045em}
.wordmark-sub{font-size:.75rem;letter-spacing:.43em;text-transform:uppercase;margin-top:.6rem;padding-left:.43em}
.desktop-nav{display:flex;gap:2.75rem;align-items:center;margin-left:auto;margin-right:3rem}
.desktop-nav a{font-size:.875rem;color:#d9dfd8;position:relative;transition:color .2s}
.desktop-nav a::after{content:"";position:absolute;bottom:-7px;left:0;width:0;height:1px;background:var(--accent);transition:width .25s}
.desktop-nav a:hover{color:var(--accent)}
.desktop-nav a:hover::after{width:100%}
.header-contact{display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.875rem;padding:.65rem 0;border-bottom:1px solid #7c8c7c;transition:color .2s}
.header-contact:hover{color:var(--accent)}
.header-contact span{font-size:1.25rem;line-height:1}
.menu-toggle,.mobile-nav{display:none}
.hero{max-width:1600px;margin:auto;position:relative;display:grid;grid-template-columns:1.32fr 1fr;min-height:690px;padding:26px 5% 84px;gap:3.8%}
.hero-content{position:relative;z-index:2;padding-top:48px;display:flex;align-items:flex-start;flex-direction:column}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:500;line-height:1.6}
.hero .eyebrow{display:flex;align-items:center;gap:.875rem;color:#c7d3bf;letter-spacing:.12em;font-size:.75rem}
.eyebrow-line{display:inline-block;width:27px;height:1px;background:var(--accent)}
h1{font-family:var(--serif);font-size:clamp(4.2rem,6.3vw,6.6rem);letter-spacing:-.055em;line-height:1.06;margin:2rem 0 1.5rem;position:relative;width:112%;font-weight:400}
h1 em{color:var(--accent);letter-spacing:-.055em}
.hero-description{font-size:1.125rem;line-height:1.65;color:#e2e7dd;max-width:31rem}
.hero-detail{font-size:1rem;color:#b2c0b3;margin-top:.6rem;max-width:28rem}
.button{display:inline-flex;align-items:center;gap:2.5rem;padding:1rem 1.3rem;font-size:.875rem;line-height:1.35;min-height:54px;transition:background .2s,transform .2s}
.button-light{background:var(--accent);color:var(--forest);margin-top:2rem}
.button-light:hover{background:#e9f1cc;transform:translateY(-2px)}
.button span{font-size:1.3rem;line-height:1}
.hero-footnote{display:flex;gap:1.35rem;align-items:center;margin-top:auto;padding-top:3rem;color:#aebcaf;font-size:.75rem;line-height:1.4;letter-spacing:.025em}
.hero-footnote span+span{border-left:1px solid #5b6b5d;padding-left:1.35rem}
.hero-image{position:relative;overflow:hidden;background:#69716e;min-height:585px;isolation:isolate}
.hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 48%;filter:grayscale(1);opacity:.91}
.hero-image::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(8,22,17,.63));z-index:1;pointer-events:none}
.hero-image figcaption{position:absolute;bottom:23px;left:25px;right:25px;display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:white;z-index:2;letter-spacing:.04em}
.hero-scroll{position:absolute;bottom:22px;left:5%;display:flex;align-items:center;gap:.85rem;font-size:.75rem;color:#c2cdc0;letter-spacing:.025em}
.hero-scroll>span:first-child{font-size:1.2rem}
.light-section{background:var(--paper);color:var(--ink)}
.section-space{padding:100px max(5%, calc((100% - 1440px) / 2))}
.section-index{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.3rem}
.section-index .eyebrow{color:#56684f}
.index-number{font-size:.75rem;color:#76846b}
h2{font-family:var(--serif);font-size:clamp(2.5rem,3.8vw,4rem);line-height:1.14;letter-spacing:-.04em}
.muted-serif{font-style:italic;color:#78836b}
.firm-main{display:grid;grid-template-columns:1.12fr 1fr;gap:10%}
.firm-copy{padding-top:4px}
.firm-copy .lead{font-size:1.25rem;line-height:1.55;color:var(--ink);margin-bottom:1.5rem}
.firm-copy p{font-size:1rem;color:var(--subtle)}
.firm-copy p+p{margin-top:1.1rem}
.firm-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding-top:2rem;margin-top:4rem;border-top:1px solid var(--line)}
.firm-principles>div{display:flex;gap:1.5rem;align-items:center;font-size:.9375rem}
.principle-mark{font-family:var(--serif);color:#8b9a7a;font-size:1.65rem}
.expertise{background:var(--deep)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3.5rem}
.section-heading .eyebrow{color:#b8c89f;margin-bottom:1.5rem}
.section-heading h2 em{color:var(--accent)}
.section-heading>p{max-width:21rem;color:#b9c6b8;font-size:1rem;margin-bottom:.3rem}
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--light-line);border-bottom:1px solid var(--light-line)}
.expertise-card{padding:2rem 2rem 0 0;display:flex;flex-direction:column}
.expertise-card+.expertise-card{border-left:1px solid var(--light-line);padding-left:2rem}
.expertise-card:last-child{padding-right:0}
.card-meta{display:flex;justify-content:space-between;gap:1rem;color:#b4c69f;letter-spacing:.09em;font-size:.75rem;text-transform:uppercase}
.expertise-card h3{font-family:var(--serif);font-size:2.5rem;line-height:1.13;letter-spacing:-.025em;margin:3rem 0 1.5rem}
.expertise-card>p{color:#b8c7b8;font-size:1rem;line-height:1.75;margin-bottom:2.3rem;max-width:23rem}
.expertise-card details{border-top:1px solid var(--light-line);margin-top:auto}
.expertise-card summary{display:flex;list-style:none;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;padding:1.35rem 0;font-size:.875rem;transition:color .2s}
.expertise-card summary::-webkit-details-marker{display:none}
.expertise-card summary:hover{color:var(--accent)}
.plus{position:relative;display:block;width:13px;height:13px;flex-shrink:0}
.plus::before,.plus::after{content:"";position:absolute;left:0;top:6px;width:13px;height:1px;background:var(--accent);transition:transform .2s}
.plus::after{transform:rotate(90deg)}
details[open] .plus::after{transform:rotate(0)}
.expertise-card ul{margin:0;padding:0 0 1.4rem;list-style:none;color:#c9d4c2;font-size:.875rem}
.expertise-card li{padding:.7rem 0;border-top:1px solid #2e3f31;line-height:1.55}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:12%}
.approach-intro .eyebrow{color:#56684f;margin-bottom:1.5rem}
.approach-intro>p:last-child{max-width:25rem;margin-top:1.75rem;font-size:1rem;color:var(--subtle)}
.approach-steps{padding-top:2.5rem}
.approach-steps article{display:grid;grid-template-columns:30px 1fr;gap:1.5rem;padding:1.7rem 0;border-top:1px solid var(--line)}
.approach-steps article:first-child{padding-top:0;border-top:0}
.approach-steps article:last-child{padding-bottom:0}
.step-number{font-size:.75rem;color:#7d8f69;margin-top:6px}
.approach-steps h3{font-family:var(--serif);font-size:1.65rem;line-height:1.3;letter-spacing:-.02em}
.approach-steps p{font-size:1rem;color:var(--subtle);margin-top:.8rem;line-height:1.7}
.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;padding-top:90px;padding-bottom:80px}
.contact-intro .eyebrow{color:#b8c89f;margin-bottom:1.5rem}
.contact-intro h2{font-size:clamp(2.75rem,4.7vw,5rem)}
.contact-intro em{color:var(--accent)}
.contact-intro>p:not(.eyebrow){color:#bdcbbd;font-size:1rem;margin-top:1.75rem}
.contact-details{border-left:1px solid var(--light-line);padding-left:3rem}
.contact-details>.eyebrow{color:#b8c89f;margin-bottom:1.6rem}
.contact-details h3{font-size:.9375rem;letter-spacing:.035em;font-weight:500;line-height:1.5}
address{font-size:1rem;font-style:normal;color:#c0cdbe;margin-top:1rem;line-height:1.85}
.text-link{display:flex;align-items:center;justify-content:space-between;max-width:17rem;gap:2rem;padding:.55rem 0;border-bottom:1px solid #7a8a73;margin-top:1.1rem;font-size:.875rem;color:#e4ecd9}
.text-link:hover{color:var(--accent)}
.copy-address{font-size:.875rem;background:none;border:0;padding:.85rem 0;display:flex;gap:1rem;align-items:center;color:#bdcdb6;text-align:left;min-height:44px}
.copy-address:hover{color:var(--accent)}
.copy-status{font-size:.75rem;line-height:1.5;color:var(--accent);min-height:1.15rem;max-width:18rem}
.vat{font-size:.75rem;color:#a5b39f;margin-top:1.2rem;display:flex;gap:1.1rem;flex-wrap:wrap}
.vat span{color:#c4d0bc;letter-spacing:.05em}
.site-footer{border-top:1px solid var(--light-line);padding:2.1rem max(5%, calc((100% - 1440px) / 2));display:flex;gap:2rem;justify-content:space-between;align-items:center}
.footer-wordmark .wordmark-name{font-size:1.8rem}
.footer-wordmark .wordmark-sub{font-size:.75rem}
.site-footer>p{font-size:.75rem;color:#adbaa7}
.back-top{display:flex;align-items:center;gap:1.3rem;font-size:.8125rem;color:#c6d1bf;min-height:44px}
.back-top:hover{color:var(--accent)}
@media(min-width:1600px){.hero{min-height:800px}.hero-image{min-height:665px}.hero-content{padding-top:65px}}
@media(max-width:1100px){.desktop-nav{gap:1.7rem;margin-right:1rem}.hero{gap:3%;grid-template-columns:1.25fr 1fr;min-height:660px}.hero-content{padding-top:35px}h1{font-size:clamp(3.7rem,6.5vw,5rem)}.hero-image{min-height:550px}.hero .eyebrow{font-size:.75rem;letter-spacing:.08em}.hero .eyebrow-line{width:18px}.hero-detail{max-width:24rem}.section-space{padding-top:80px;padding-bottom:80px}.firm-main{gap:7%}.expertise-card{padding-right:1.4rem}.expertise-card+.expertise-card{padding-left:1.4rem}.expertise-card h3{font-size:2.2rem}.approach{gap:8%}.contact{gap:8%}.contact-details{padding-left:2rem}}
@media(max-width:800px){.header-inner{min-height:95px;padding-top:20px;padding-bottom:20px}.desktop-nav,.header-contact{display:none}.wordmark-name{font-size:1.9rem}.menu-toggle{display:flex;align-items:center;gap:.8rem;background:none;border:1px solid #677561;padding:.6rem .8rem;font-size:.875rem;min-height:44px}.menu-icon{width:17px;height:12px;position:relative}.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0;width:17px;height:1px;background:var(--white);transition:transform .2s,top .2s}.menu-icon::before{top:2px}.menu-icon::after{top:10px}.menu-toggle[aria-expanded="true"] .menu-icon::before{top:6px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon::after{top:6px;transform:rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:0 5% 1.5rem;border-bottom:1px solid var(--light-line)}.mobile-nav a{padding:.9rem 0;border-top:1px solid var(--light-line);font-size:1rem}.hero{grid-template-columns:1fr 0.8fr;gap:1.5rem;padding-top:10px;min-height:640px}.hero-content{padding-top:30px}h1{font-size:clamp(3.2rem,7.3vw,4.5rem);width:128%;margin-top:1.5rem;z-index:3}.hero .eyebrow{font-size:.75rem;max-width:17rem;align-items:flex-start}.eyebrow-line{margin-top:.5rem;flex-shrink:0}.hero-description{font-size:1rem;max-width:20rem}.hero-detail{font-size:1rem;max-width:19rem}.hero-image{min-height:525px}.hero-image figcaption{left:15px;right:15px;font-size:.75rem}.hero-image figcaption span:last-child{display:none}.hero-footnote{flex-wrap:wrap;gap:.5rem;font-size:.75rem;padding-top:2rem}.hero-footnote span+span{border:0;padding-left:0}.hero-footnote span:first-child{width:100%}.button{gap:1.5rem;padding:.9rem 1rem}.section-space{padding-top:65px;padding-bottom:65px}.firm-main{grid-template-columns:1fr;gap:2rem}.firm-main h2{font-size:3.2rem}.firm-copy{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem}.firm-copy .lead{grid-column:1/-1;max-width:36rem;margin-bottom:0}.firm-copy p+p{margin-top:0}.firm-principles{gap:1rem;margin-top:2.5rem}.firm-principles>div{font-size:.8125rem;gap:.8rem}.section-heading{align-items:flex-start;flex-direction:column;gap:1.3rem;margin-bottom:2.5rem}.section-heading>p{max-width:29rem}.expertise-card{padding-right:1.1rem}.expertise-card+.expertise-card{padding-left:1.1rem}.card-meta{font-size:.75rem;letter-spacing:.04em}.expertise-card h3{font-size:1.875rem;margin:2.1rem 0 1.2rem}.expertise-card>p{font-size:1rem}.approach{grid-template-columns:1fr;gap:2.5rem}.approach-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}.approach-intro .eyebrow{grid-column:1/-1}.approach-intro>p:last-child{margin-top:0;align-self:center}.approach-intro .desktop-break{display:none}.approach-steps{padding-top:0}.approach-steps article{grid-template-columns:30px 1fr}.approach-steps article:first-child{border-top:1px solid var(--line);padding-top:1.7rem}.contact{gap:6%;grid-template-columns:1.05fr 1fr}.contact-intro h2{font-size:2.7rem}.contact-details{padding-left:1.5rem}.contact-details h3{font-size:.875rem;letter-spacing:.015em}.site-footer{gap:1.5rem}.site-footer>p{font-size:.75rem}}
@media(max-width:580px){html{scroll-padding-top:1.5rem}.header-inner{padding-left:6%;padding-right:6%;min-height:90px}.wordmark-name{font-size:1.85rem}.wordmark-sub{font-size:.75rem}.hero{display:flex;flex-direction:column;padding:16px 6% 60px;gap:2rem;min-height:auto}.hero-content{padding-top:16px}.hero .eyebrow{max-width:none;font-size:.75rem;letter-spacing:.11em;gap:.7rem;align-items:center}.hero .eyebrow-line{width:18px;margin-top:0}h1{font-size:clamp(3rem,11.5vw,4.15rem);width:100%;margin-top:1.5rem;margin-bottom:1.25rem;line-height:1.07}.hero-description{font-size:1.0625rem;max-width:none}.hero-detail{font-size:1rem;max-width:23rem;margin-top:.65rem}.button-light{margin-top:1.6rem}.hero-footnote{margin-top:1.7rem;padding-top:0;gap:1rem;font-size:.75rem}.hero-footnote span:first-child{width:auto}.hero-footnote span+span{border-left:1px solid #5b6b5d;padding-left:1rem}.hero-image{height:310px;min-height:0;flex-shrink:0}.hero-image img{object-position:50% 44%}.hero-image figcaption{left:20px;right:20px;bottom:17px;font-size:.75rem}.hero-image figcaption span:last-child{display:block}.hero-scroll{left:6%;bottom:16px}.section-space{padding:55px 6%}.section-index{margin-bottom:1.5rem}.firm-main{gap:1.7rem}.firm-main h2{font-size:2.6rem}.firm-copy{display:block}.firm-copy .lead{font-size:1.125rem;margin-bottom:1.1rem}.firm-copy p+p{margin-top:1rem}.firm-principles{grid-template-columns:1fr;gap:.9rem;padding-top:1.5rem;margin-top:2rem}.firm-principles>div{font-size:.875rem;gap:1.1rem}.principle-mark{font-size:1.5rem;line-height:1}.section-heading .eyebrow{margin-bottom:1.2rem}h2{font-size:2.55rem}.expertise-grid{grid-template-columns:1fr;border-bottom:0}.expertise-card,.expertise-card+.expertise-card,.expertise-card:last-child{padding:1.5rem 0 0;border-left:0;border-bottom:1px solid var(--light-line)}.expertise-card+.expertise-card{padding-top:2rem;margin-top:1.3rem}.card-meta{font-size:.75rem}.expertise-card h3{font-size:2.35rem;margin:1.7rem 0 1rem}.expertise-card>p{font-size:1rem;max-width:30rem;margin-bottom:1.5rem}.expertise-card summary{padding:1.15rem 0}.approach{gap:2rem}.approach-intro{display:block}.approach-intro .eyebrow{margin-bottom:1.2rem}.approach-intro>p:last-child{margin-top:1.5rem}.approach-steps article{gap:1rem}.approach-steps h3{font-size:1.55rem}.contact{grid-template-columns:1fr;gap:2.5rem}.contact-intro h2{font-size:3rem}.contact-details{padding:2rem 0 0;border-left:0;border-top:1px solid var(--light-line)}.contact-details h3{font-size:.9375rem}.contact-details>.eyebrow{margin-bottom:1.25rem}.contact-intro>p:not(.eyebrow){margin-top:1.5rem}.text-link{max-width:100%}.vat{margin-top:.8rem}.site-footer{padding:2rem 6%;flex-wrap:wrap;gap:1.8rem;align-items:center}.site-footer>p{order:3;width:100%;font-size:.75rem;padding-top:1rem;border-top:1px solid var(--light-line)}.footer-wordmark .wordmark-name{font-size:1.8rem}.back-top{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Editorial imagery across every section. */
.section-image,.expertise-image{overflow:hidden;background:#53625a}
.section-image img,.expertise-image img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .35s ease}
.firm-image{height:clamp(210px,25vw,340px);margin-top:2.8rem}
.firm-image img{object-position:center 68%}
.firm-image+.firm-principles{margin-top:2rem}
.expertise-image{aspect-ratio:3/2;margin-top:1.5rem}
.expertise-card .expertise-image+h3{margin-top:1.7rem}
.expertise-card:hover .expertise-image img{filter:grayscale(.65)}
.approach-image{grid-column:1/-1;height:clamp(230px,30vw,390px);margin-top:1rem}
.approach-image img{object-position:center 55%}
.contact-image{height:220px;margin-top:2rem;max-width:35rem}
.contact-image img{object-position:center 55%}
@media(max-width:800px){.expertise-image{aspect-ratio:5/4}.contact-image{height:190px}.approach-image{margin-top:0}}
@media(max-width:580px){.firm-image{margin-top:2rem;height:210px}.expertise-image{aspect-ratio:3/2}.approach-image{height:230px}.contact-image{height:210px;max-width:none}}

.approach{row-gap:3rem}

.email-contact{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--light-line)}
.email-contact .eyebrow{color:#b8c89f}
.email-contact .text-link{font-size:1rem;max-width:100%;margin-top:.7rem;overflow-wrap:anywhere}
