@font-face{font-family:Newsreader;src:url('assets/newsreader-roman.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Newsreader;src:url('assets/newsreader-italic.woff2') format('woff2');font-style:italic;font-weight:400 700;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--paper:#f8f9fa;--white:#fff;--ink:#132437;--text:#435160;--muted:#606c78;--line:#d4dce2;--blue:#234fd0;--navy:#101c2d;--ice:#c8e1f4;--sans:Manrope,"Segoe UI",Arial,sans-serif;--serif:Newsreader,Georgia,"Times New Roman",serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}
main,section,figure,nav,div{min-width:0}
h1,h2,h3{overflow-wrap:anywhere}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.25em}
a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:var(--serif);font-weight:400;font-optical-sizing:auto}
em{font-weight:400}
button,a,summary{touch-action:manipulation}
::selection{background:#c8d8ff;color:var(--ink)}
.wrap{width:min(1320px,calc(100% - 7rem));margin-inline:auto}
.skip-link{position:fixed;top:-8rem;left:1rem;z-index:20;background:var(--ink);color:#fff;padding:.75rem 1rem}
.skip-link:focus{top:1rem}
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:.85rem;text-decoration:none;flex-shrink:0}
.brand-symbol{font:italic 3.35rem/.9 var(--serif);letter-spacing:-.16em;display:block;padding-right:.24em}
.brand-symbol>span{font-weight:400;color:var(--blue);font-size:2.5rem}
.brand-name{font:600 1.57rem/1.08 var(--sans);letter-spacing:-.055em}
.brand-name>span{display:block;margin-top:.42rem;font:500 .75rem/1.1 var(--mono);letter-spacing:.2em}
nav{display:flex;align-items:center;gap:2.25rem;flex-wrap:wrap}
nav a{font-size:.875rem;font-weight:600;text-decoration:none;padding:.5rem 0;transition:color .2s}
nav a:hover{color:var(--blue)}
nav .nav-contact{margin-left:.6rem;border:1px solid var(--ink);padding:.65rem 1rem;display:inline-flex;gap:1.65rem;align-items:center}
nav .nav-contact:hover{background:var(--ink);color:var(--paper)}
.hero{display:grid;grid-template-columns:1.23fr 1fr;align-items:stretch;padding-top:3rem;padding-bottom:3rem;gap:2.4rem}
.hero-copy{padding:2.6rem 0 1.4rem;align-self:center}
.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;line-height:1.65;font-weight:400}
.hero .eyebrow{display:flex;align-items:center;gap:.7rem;color:var(--text);margin-bottom:2.25rem}
.label-rule{width:23px;height:2px;background:var(--blue);flex:0 0 auto}
h1{font-size:clamp(3.9rem,5.95vw,5.7rem);line-height:1.04;letter-spacing:-.05em;margin-left:-.04em}
h1 em{color:var(--blue)}
.hero-intro{font-size:1.17rem;font-weight:600;line-height:1.55;margin-top:1.75rem}
.hero-description{font-size:1rem;color:var(--text);max-width:470px;line-height:1.8;margin-top:.9rem}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;padding:.92rem 1.25rem;text-decoration:none;font-size:.875rem;font-weight:600;border:1px solid transparent;transition:background .2s,color .2s,transform .2s;min-height:50px}
.button span{font-size:1.35rem;line-height:1}
.button-dark{background:var(--ink);color:#fff;margin-top:2rem}
.button-dark:hover{background:var(--blue);transform:translateY(-2px)}
.hero-footnote{font-size:.8125rem;color:var(--muted);margin-top:1.55rem}
.hero-art{background:var(--navy);position:relative;overflow:hidden;min-height:570px;color:var(--white);isolation:isolate}
.hero-art img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-art::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,28,45,.25),transparent 42%,rgba(16,28,45,.82))}
.art-topline{position:absolute;top:1.9rem;left:2rem;right:2rem;display:flex;justify-content:space-between;font-family:var(--mono);font-size:.75rem;letter-spacing:.075em;color:#d6e5f1}
.hero-art figcaption{position:absolute;bottom:2rem;left:2rem;right:1.4rem;font:400 clamp(1.5rem,2.3vw,2rem)/1.2 var(--serif);letter-spacing:-.015em}
.hero-art figcaption em{color:var(--ice)}
.practice-strip{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;align-items:center;gap:1rem;border-block:1px solid var(--line);padding-block:1.55rem;color:var(--text);font-size:.875rem}
.strip-label{font-family:var(--mono);font-size:.75rem;letter-spacing:.075em;color:var(--muted)}
.practice-strip>span:not(:first-child){padding-left:1.8rem;border-left:1px solid var(--line)}
.section{padding-block:6.5rem}
.section-heading{display:grid;grid-template-columns:24% 1fr;gap:2rem;margin-bottom:3.5rem}
.section-index{padding-top:.5rem;color:var(--muted)}
h2{font-size:clamp(2.65rem,4.2vw,4rem);line-height:1.08;letter-spacing:-.04em}
h2 em{color:var(--blue)}
.section-intro{font-size:1rem;color:var(--text);margin-top:1.45rem;line-height:1.8}
.service-list{border-top:1px solid var(--ink)}
.service{border-bottom:1px solid var(--line)}
.service summary{list-style:none;display:grid;grid-template-columns:4rem minmax(180px,1fr) minmax(220px,1.15fr) 30px;align-items:start;gap:1.8rem;padding:2rem 1rem 2rem 0;cursor:pointer;transition:background .2s}
.service summary::-webkit-details-marker{display:none}
.service summary::marker{content:""}
.service summary:hover .service-title{color:var(--blue)}
.service-number{font:400 .875rem/1.6 var(--mono);padding-top:.25rem;color:var(--muted)}
.service .service-title{font-family:var(--sans);font-size:1.25rem;line-height:1.5;font-weight:500;letter-spacing:-.035em;transition:color .2s}
.service .service-description{font-size:1rem;line-height:1.7;max-width:430px;color:var(--text)}
.expand-icon{height:28px;width:28px;border:1px solid #a9b6c3;border-radius:50%;position:relative;margin-top:.3rem}
.expand-icon::before,.expand-icon::after{content:"";position:absolute;width:10px;height:1px;background:var(--ink);left:8px;top:13px;transition:transform .2s}
.expand-icon::after{transform:rotate(90deg)}
.service[open] .expand-icon::after{transform:rotate(0deg)}
.service[open] summary .service-title{color:var(--blue)}
.service-detail{margin:0 3rem 2.3rem 5.8rem;background:#edf1f5;display:grid;grid-template-columns:1fr 1.15fr;gap:2.7rem;padding:1.75rem 2rem}
.detail-label{font-family:var(--mono);font-size:.75rem;letter-spacing:.065em;color:#566577;display:block;margin-bottom:.7rem}
.service-detail p,.service-detail li{font-size:.9375rem;line-height:1.8;color:var(--text)}
.service-detail ul{margin:0;padding-left:1.05rem}
.service-detail li::marker{color:var(--blue)}
.approach-section{background:var(--ink);color:var(--white)}
.approach-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:7rem;padding-block:5.5rem}
.approach-lead>.eyebrow{color:#b4c4d4;margin-bottom:2.1rem}
.approach-lead h2{font-size:clamp(2.5rem,3.3vw,3.3rem);line-height:1.18}
.approach-lead h2 em{color:var(--ice)}
.approach-lead>p:last-child{max-width:475px;color:#c2ceda;margin-top:1.75rem;line-height:1.85}
.approach-steps{list-style:none;padding:0;margin:0}
.approach-steps li{display:flex;gap:1.5rem;padding:1.5rem 0;border-top:1px solid #415164}
.approach-steps li:first-child{padding-top:0;border-top:0}
.approach-steps li:last-child{padding-bottom:0}
.step-number{font:400 .8125rem/1.7 var(--mono);color:#b4c4d4;padding-top:.18rem}
.approach-steps h3{font-size:1.125rem;font-weight:500;line-height:1.5;margin-bottom:.45rem;letter-spacing:-.025em}
.approach-steps p{color:#c2ceda;font-size:.9375rem;line-height:1.8}
.about{padding-bottom:6rem}
.about-content{display:grid;grid-template-columns:24% 1fr;gap:2rem}
.founder-card{display:flex;flex-direction:column;align-items:flex-start;padding-right:1rem}
.founder-monogram{font:italic 4.4rem/1 var(--serif);width:100px;height:100px;display:flex;align-items:center;justify-content:center;letter-spacing:-.09em;border:1px solid #c1cddb;color:var(--blue);margin-bottom:1.4rem;padding-right:.1em}
.founder-card h3{font-size:1.05rem;font-weight:600;letter-spacing:-.025em;margin-bottom:.35rem}
.founder-card p{font-size:.875rem;color:var(--text);line-height:1.7}
.founder-location{margin-top:1.7rem;font:400 .75rem/1.6 var(--mono);letter-spacing:.045em;color:var(--muted)}
.founder-bio{max-width:700px}
.founder-bio .bio-lead{font-size:1.3rem;color:var(--ink);line-height:1.65;margin-top:0;letter-spacing:-.025em}
.founder-bio>p{color:var(--text);font-size:1rem;line-height:1.85;margin-top:1.15rem}
.founder-bio .engagement-note{border-left:2px solid var(--blue);padding-left:1.1rem;margin-top:1.75rem;color:var(--ink);font-size:.9375rem}
.contact-section{background:#dde7f1;display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:3rem;padding:3.75rem 4rem}
.contact-section .eyebrow{color:#506275;margin-bottom:1.6rem}
.contact-section h2{font-size:clamp(2.6rem,4vw,3.7rem)}
.contact-section h2 em{color:var(--ink)}
.contact-section p:last-child{color:var(--text);margin-top:1.3rem;line-height:1.8}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;justify-self:end;max-width:100%;gap:1.05rem}
.button-light{background:var(--ink);color:#fff;width:100%;gap:2.5rem}
.button-light:hover{background:var(--blue);transform:translateY(-2px)}
.email-link{font-size:.875rem;overflow-wrap:anywhere;text-decoration-thickness:1px;color:var(--text)}
.email-link:hover{color:var(--blue)}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:2.15rem 2.5rem;font-size:.75rem;color:var(--muted)}
.site-footer a{text-decoration:none;white-space:nowrap}
.site-footer a span{margin-left:1rem}
.site-footer a:hover{color:var(--blue)}
@media(min-width:1600px){.hero{gap:4rem;padding-block:3.7rem}.hero-art{min-height:610px}}
@media(max-width:1100px){.wrap{width:calc(100% - 4rem)}.hero{gap:2rem;grid-template-columns:1.2fr 1fr}.hero-copy{padding-top:1.5rem}h1{font-size:clamp(3.35rem,5.9vw,4.3rem)}.hero-art{min-height:545px}.hero .eyebrow{font-size:.75rem}.practice-strip{grid-template-columns:1.4fr 1fr 1.25fr 1fr;gap:.6rem}.practice-strip>span:not(:first-child){padding-left:.85rem}.section-heading,.about-content{grid-template-columns:23% 1fr;gap:1.5rem}.service summary{grid-template-columns:2.5rem 1fr 1.12fr 28px;gap:1.5rem}.service-detail{margin-left:4rem;margin-right:0;gap:1.75rem;padding:1.5rem}.approach-inner{gap:3rem}.contact-section{padding:3rem;gap:2rem;grid-template-columns:1.25fr 1fr}.site-footer>span{display:none}}
@media(max-width:800px){.wrap{width:calc(100% - 3rem)}.header-inner{min-height:90px;gap:1rem}nav{gap:1.15rem}nav .nav-contact{margin-left:0;padding:.55rem .8rem;gap:1rem}.brand-name{font-size:1.35rem}.brand-symbol{font-size:3rem}.brand-symbol>span{font-size:2.2rem}.hero{grid-template-columns:1fr;gap:2rem;padding-top:2.25rem}.hero-copy{padding:.5rem 0}.hero .eyebrow{margin-bottom:1.75rem}h1{font-size:clamp(3.4rem,9.6vw,5.2rem)}.hero-intro{margin-top:1.5rem}.hero-description{max-width:570px}.hero-art{min-height:0;height:390px}.hero-art img{object-position:center 48%}.hero-art figcaption{font-size:2rem}.practice-strip{grid-template-columns:repeat(3,1fr);gap:1rem .7rem;padding-block:1.3rem}.strip-label{grid-column:1/-1}.practice-strip>span:not(:first-child){padding-left:0;border-left:0;font-size:.8125rem}.section{padding-block:4.5rem}.section-heading{grid-template-columns:1fr;gap:1.3rem;margin-bottom:2.5rem}h2{font-size:3rem}.service summary{grid-template-columns:2rem 1fr 28px;gap:1rem;padding-block:1.5rem}.service summary .service-title{font-size:1.125rem;grid-column:2}.service .service-description{grid-column:2;grid-row:2;max-width:none;font-size:.9375rem}.service .expand-icon{grid-column:3;grid-row:1}.desktop-break{display:none}.service-detail{margin-left:3rem;margin-bottom:1.5rem;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.3rem}.approach-inner{grid-template-columns:1fr;gap:2.75rem;padding-block:4rem}.approach-lead h2{font-size:3rem;line-height:1.12}.approach-lead>p:last-child{max-width:600px}.approach-steps{max-width:650px}.about-content{grid-template-columns:1fr;gap:2.5rem}.founder-card{display:grid;grid-template-columns:80px 1fr;gap:.4rem 1.2rem;padding:0}.founder-monogram{width:80px;height:80px;font-size:3.5rem;grid-row:1/3;margin:0}.founder-card p{font-size:.875rem}.founder-location{grid-column:2;margin:.5rem 0 0}.founder-bio{max-width:none}.contact-section{grid-template-columns:1fr;padding:2.75rem;gap:2rem}.contact-actions{justify-self:start}.contact-section h2{font-size:3rem}.site-footer{flex-wrap:wrap}}
@media(max-width:540px){.wrap{width:calc(100% - 2.5rem)}.header-inner{min-height:118px;flex-wrap:wrap;justify-content:space-between;padding-block:1.05rem;gap:1rem}.brand-name{font-size:1.2rem}.brand-name>span{font-size:.75rem;letter-spacing:.14em}.brand-symbol{font-size:2.6rem}.brand-symbol>span{font-size:1.95rem}nav{width:100%;justify-content:space-between;gap:.85rem}nav a{font-size:.875rem}nav .nav-contact{border:0;padding:0;gap:.55rem}.hero{padding-top:1.8rem;gap:1.8rem;padding-bottom:1.75rem}.hero-copy{padding:0}h1{font-size:clamp(2.85rem,10vw,3.8rem);letter-spacing:-.045em}.hero .eyebrow{font-size:.75rem;letter-spacing:.035em;gap:.5rem;margin-bottom:1.5rem}.hero-intro{font-size:1.1rem}.hero-description{font-size:1rem;line-height:1.8}.hero-footnote{font-size:.8125rem}.hero-art{height:360px}.art-topline{top:1.3rem;left:1.4rem;right:1.4rem;font-size:.75rem}.hero-art figcaption{bottom:1.5rem;left:1.4rem;font-size:1.8rem}.practice-strip{grid-template-columns:1fr;gap:.5rem;padding-block:1.35rem}.strip-label{margin-bottom:.4rem}.practice-strip>span:not(:first-child){font-size:.9375rem}.section{padding-block:3.5rem}h2,.approach-lead h2,.contact-section h2{font-size:2.6rem}.section-heading{gap:1rem}.service summary{grid-template-columns:1.5rem 1fr 25px;gap:.7rem;padding-right:0}.service .service-title{line-height:1.45}.expand-icon{width:25px;height:25px}.expand-icon::before,.expand-icon::after{left:7px;top:11px;width:9px}.service-detail{margin-left:0;grid-template-columns:1fr;gap:1.4rem;padding:1.4rem}.approach-inner{padding-block:3.5rem}.approach-lead>.eyebrow{margin-bottom:1.5rem}.approach-steps li{gap:1.1rem}.founder-bio .bio-lead{font-size:1.2rem}.founder-location{font-size:.75rem;letter-spacing:0}.contact-section{width:100%;padding:2.75rem 1.25rem}.contact-section .eyebrow{font-size:.75rem;letter-spacing:.04em}.contact-actions{width:100%;max-width:340px}.contact-section .email-link{font-size:.875rem}.site-footer{padding-block:1.75rem;gap:.85rem;font-size:.75rem;align-items:flex-start}.site-footer p{max-width:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{body{background:#fff;color:#000}.wrap{width:100%}.site-header nav,.hero-art,.contact-section,.site-footer>a{display:none}.hero,.approach-inner,.about-content{display:block}.hero-copy{padding:0}.practice-strip{margin-block:1rem}.section{padding-block:2rem}.section-heading{display:block}.section-index{margin-bottom:1rem}.approach-section{background:#fff;color:#000}.approach-lead h2 em,.approach-lead>p:last-child,.approach-steps p,.approach-lead>.eyebrow,.step-number{color:#333}.approach-inner{padding:1rem 0}.approach-steps{margin-top:2rem}.founder-card{margin-bottom:2rem}.service{break-inside:avoid}.button{display:none}}
