@font-face{font-family:Office Serif;src:url("assets/serif-regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Office Serif;src:url("assets/serif-bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Office Serif;src:url("assets/serif-italic.woff") format("woff");font-weight:400;font-style:italic;font-display:swap}
:root{--paper:#fff;--ink:#171717;--muted:#626262;--line:#dedede;--serif:"Office Serif",Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;--gutter:clamp(24px,5.6vw,88px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:#1c1c1c;color:#fff}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.wrap{width:calc(100% - var(--gutter)*2);max-width:1320px;margin-inline:auto}
.embossed{text-shadow:0 -1px 0 #fff,0 1px 1px #999,0 2px 2px #cecece,1px 3px 3px #e7e7e7}
.wordmark{font-family:var(--serif);font-weight:700;font-variant-caps:small-caps;font-size:27px;letter-spacing:-.02em;white-space:nowrap}
.wordmark-dot{margin-left:1px}
.site-header{display:flex;align-items:center;justify-content:space-between;padding-block:34px 28px;border-bottom:1px solid var(--line);gap:32px}
.main-nav{display:flex;align-items:center;gap:34px;font-size:12px}
.main-nav>a{position:relative;padding-block:9px}
.main-nav>a::after{position:absolute;content:"";height:1px;bottom:3px;left:0;right:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.main-nav>a:hover::after,.main-nav>a[aria-current]::after{transform:scaleX(1)}
.main-nav .nav-contact{margin-left:34px}
.nav-contact span{display:inline-block;margin-left:18px;font-size:19px}
.menu-toggle{display:none}
.hero{padding-top:28px}
.hero-topline{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.hero-center{padding:107px 0 90px;text-align:center}
.eyebrow{font-size:10px;font-weight:400;letter-spacing:.19em;text-transform:uppercase;margin:0 0 26px;line-height:1.8}
.eyebrow span{margin-inline:9px}
.hero-name{font-family:var(--serif);font-variant-caps:small-caps;font-weight:700;font-size:clamp(82px,11.6vw,172px);line-height:1.04;letter-spacing:-.03em;margin:0;white-space:nowrap}
.hero-description{font-family:var(--serif);font-size:27px;line-height:1.23;margin:30px 0 34px}
em{font-family:var(--serif);font-weight:400}
.hero-link{font-size:11px!important}
.text-link{font-size:12px;display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid #bbb;padding-bottom:8px;line-height:1.5;transition:border-color .2s}
.text-link:hover{border-color:var(--ink)}
.text-link span[aria-hidden]{font-size:17px;line-height:1;transition:transform .2s}
.text-link:hover span[aria-hidden]{transform:translate(2px,-2px)}
.hero-link:hover span[aria-hidden]{transform:translateY(3px)}
.hero-contact{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;padding:29px 0 31px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-contact-cell{display:flex;flex-direction:column;gap:9px;font-family:var(--serif);font-size:17px;line-height:1.4}
.hero-contact-cell a:hover{text-decoration:underline;text-underline-offset:4px}
.micro-label{font-family:var(--sans);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.hero-contact-address{text-align:center}
.hero-contact-email{text-align:right}
.section{padding-top:112px;padding-bottom:112px;border-bottom:1px solid var(--line)}
.section-label{display:flex;align-items:center;gap:17px;margin-bottom:54px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;line-height:1.5}
.section-number{color:#868686;font-size:10px;font-weight:400;letter-spacing:0}
.display-title{font-family:var(--serif);font-weight:400;font-size:clamp(48px,5.3vw,77px);letter-spacing:-.038em;line-height:1.03;margin:0}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}
.profile-copy{max-width:430px;font-size:14px;line-height:1.9;color:#555}
.profile-copy p{margin:0 0 20px}
.profile-copy .lead{font-size:20px;color:var(--ink);line-height:1.5;font-family:var(--serif)}
.profile-copy .text-link{color:var(--ink);margin-top:7px}
.profile-note{display:flex;align-items:center;gap:18px;margin-top:66px}
.profile-note .small-caps{font-family:var(--serif);font-variant-caps:small-caps;font-weight:700;font-size:28px}
.profile-note>span:last-child{font-size:9px;text-transform:uppercase;letter-spacing:.12em;border-left:1px solid #ccc;padding-left:18px;color:var(--muted)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:65px}
.section-heading>p{font-size:12px;line-height:1.8;margin:0 0 3px;min-width:195px;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.service{padding:0 40px;display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid var(--line)}
.service:first-child{padding-left:0}
.service:last-child{border-right:0;padding-right:0}
.service-index{font-family:var(--serif);font-size:18px;letter-spacing:.01em;color:#777;margin-bottom:30px}
.service h3{font-family:var(--serif);font-weight:400;font-size:36px;letter-spacing:-.02em;line-height:1.05;margin:0 0 24px}
.service p{font-size:13px;line-height:1.85;color:#595959;margin:0 0 30px;max-width:295px}
.service .text-link{margin-top:auto;font-size:11px;gap:14px}
.company-list{border-top:1px solid var(--line)}
.company{border-bottom:1px solid var(--line)}
.company summary{position:relative;display:grid;grid-template-columns:42px 1fr 230px 24px;align-items:center;gap:18px;list-style:none;padding-block:30px;cursor:pointer}
.company summary::-webkit-details-marker{display:none}
.company-number{font-size:10px;color:#777;align-self:center}
.company .company-name{font-family:var(--serif);font-weight:400;font-size:37px;letter-spacing:-.025em;line-height:1.15;margin:0;transition:transform .2s}
.company summary:hover .company-name{transform:translateX(5px)}
.company-category{font-size:10px;color:var(--muted);letter-spacing:.03em}
.company-toggle{width:18px;height:18px;position:relative;justify-self:end}
.company-toggle::before,.company-toggle::after{position:absolute;content:"";background:var(--ink);top:8px;left:1px;width:16px;height:1px;transition:transform .2s}
.company-toggle::after{transform:rotate(90deg)}
.company[open] .company-toggle::after{transform:rotate(0)}
.company-body{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:0 0 32px 60px}
.company-body>p{max-width:470px;font-size:13px;line-height:1.85;color:#595959;margin:0}
.company-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding-left:15px}
.company-actions .text-link{font-size:11px;max-width:100%}
.quiet-link{font-size:10px;color:var(--muted)}
.quiet-link:hover{text-decoration:underline;text-underline-offset:4px}
.company-footnote{margin:20px 0 0;font-size:10px;color:var(--muted);text-align:right}
.contact-intro{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:64px}
.contact-intro>p{font-size:13px;color:#595959;line-height:1.8;margin:0 0 4px}
.contact-card{width:100%;max-width:780px;aspect-ratio:1.8;margin:0 auto;padding:38px 43px 34px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 1px 1px #d9d9d9,0 8px 25px #0000000a;border:1px solid #eee;background:#fff;font-family:var(--serif);font-weight:700;transform:rotate(-1deg)}
.card-top{display:flex;justify-content:space-between;gap:20px;font-size:17px}
.card-top a,.card-bottom a{text-underline-offset:4px}
.card-top a:hover,.card-bottom a:hover{text-decoration:underline}
.card-center{text-align:center;padding:26px 0}
.card-name{font-variant-caps:small-caps;font-size:58px;line-height:1.1;letter-spacing:-.015em;margin:0 0 6px}
.card-role{font-variant-caps:small-caps;font-size:22px;margin:0}
.card-role span{margin-inline:3px}
.card-bottom{display:flex;align-items:end;justify-content:space-between;gap:20px;font-variant-caps:small-caps;font-size:15px;line-height:1.35}
.card-bottom>span{white-space:nowrap}
.contact-actions{display:flex;justify-content:center;gap:14px;margin-top:44px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:17px 21px;border:1px solid #ccc;font-size:11px;min-height:49px;transition:transform .2s,box-shadow .2s}
.button span{font-size:18px;line-height:1}
.button-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}
.appointment-note{text-align:center;font-size:10px;color:var(--muted);margin:20px 0 0;line-height:1.7}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:33px 37px}
.site-footer .wordmark{font-size:22px}
.site-footer>span{font-size:9px;letter-spacing:.06em;color:var(--muted)}
.site-footer>span>span[aria-hidden]{margin-inline:8px}
.back-top{font-size:10px;display:flex;align-items:center;gap:22px}
.back-top span{font-size:17px}
.back-top:hover{text-decoration:underline;text-underline-offset:4px}
.skip-link{position:fixed;top:-100px;left:20px;z-index:30;background:var(--ink);color:#fff;padding:14px 20px;font-size:12px}
.skip-link:focus{top:20px}
.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}
@media(min-width:1700px){.hero-center{padding-top:125px;padding-bottom:110px}}
@media(max-width:1000px){
  .main-nav{gap:24px}.main-nav .nav-contact{margin-left:12px}
  .hero-center{padding-top:100px;padding-bottom:83px}.hero-name{font-size:12.5vw}
  .hero-contact-cell{font-size:15px}
  .section{padding-block:90px}.section-label{margin-bottom:40px}
  .profile-grid{gap:7%}.display-title{font-size:59px}
  .service{padding-inline:27px}.service h3{font-size:31px}
  .company summary{grid-template-columns:30px 1fr 175px 20px;gap:14px}.company .company-name{font-size:32px}.company-category{font-size:9px}
  .company-body{padding-left:44px;gap:6%}.company-actions{padding-left:0}
  .contact-intro>p{max-width:265px}
}
@media(max-width:700px){
  html{scroll-padding-top:24px}
  .site-header{position:relative;flex-wrap:wrap;padding-block:24px 21px;gap:18px}
  .wordmark{font-size:24px}.main-nav{width:100%;gap:24px;flex-wrap:wrap;justify-content:flex-start;font-size:11px}.main-nav .nav-contact{margin-left:0}.nav-contact span{margin-left:6px;font-size:15px}
  .js .menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:0;padding:10px 0 10px 18px;font-size:11px;cursor:pointer}.menu-toggle span{font-size:19px;line-height:1;transition:transform .2s}.menu-toggle[aria-expanded="true"] span{transform:rotate(45deg)}
  .js .main-nav{display:none}.js .site-header.menu-open .main-nav{display:flex;border-top:1px solid var(--line);padding-top:13px}
  .hero{padding-top:21px}.hero-topline{font-size:8px;letter-spacing:.12em}
  .hero-center{padding:86px 0 65px}.eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:22px}.eyebrow span{margin-inline:5px}
  .hero-name{font-size:15vw;letter-spacing:-.035em}.hero-description{font-size:24px;margin:25px 0 28px}
  .hero-contact{grid-template-columns:1fr 1fr;gap:22px 14px;padding-block:24px}.hero-contact-cell{font-size:14px;gap:7px}.micro-label{font-size:8px}.hero-contact-address{grid-column:1/-1;grid-row:2;text-align:left}.hero-contact-email{text-align:right;grid-column:2;grid-row:1}
  .section{padding-block:70px}.section-label{font-size:9px;gap:12px;margin-bottom:34px}.section-number{font-size:9px}
  .display-title{font-size:52px;letter-spacing:-.035em}
  .profile-grid{grid-template-columns:1fr;gap:35px}.profile-copy{max-width:100%;font-size:13px;line-height:1.85}.profile-copy .lead{font-size:21px;max-width:330px}.profile-note{margin-top:34px;gap:15px}.profile-note .small-caps{font-size:25px}.profile-note>span:last-child{font-size:8px;letter-spacing:.09em;padding-left:15px}
  .section-heading{display:block;margin-bottom:42px}.section-heading>p{margin-top:20px;font-size:12px}.section-heading>p br{display:none}
  .service-grid{grid-template-columns:1fr;gap:30px}.service{position:relative;padding:0 0 30px 44px!important;border-right:0;border-bottom:1px solid var(--line)}.service:last-child{border-bottom:0;padding-bottom:0!important}.service-index{position:absolute;left:0;top:3px;font-size:16px;margin:0}.service h3{font-size:34px;margin-bottom:17px}.service h3 br{display:none}.service p{max-width:none;margin-bottom:20px;font-size:13px}.service .text-link{margin-top:0}
  .company summary{grid-template-columns:22px 1fr 18px;gap:10px;padding-block:23px;row-gap:7px}.company .company-name{font-size:29px;grid-column:2}.company-category{grid-column:2;grid-row:2;font-size:9px}.company-number{grid-row:1}.company-toggle{grid-column:3;grid-row:1/3}.company-body{display:block;padding:0 0 26px 32px}.company-body>p{font-size:12px;line-height:1.9}.company-actions{margin-top:20px;gap:13px}.company-footnote{font-size:9px;margin-top:16px}
  .contact-intro{display:block;margin-bottom:38px}.contact-intro>p{margin-top:23px;max-width:100%;font-size:12px}.contact-intro>p br{display:none}
  .contact-card{padding:24px 24px 22px;min-height:255px;aspect-ratio:1.62;transform:rotate(-.8deg)}.card-top{font-size:clamp(10px,2.9vw,16px);gap:8px}.card-center{padding:25px 0}.card-name{font-size:clamp(35px,9vw,52px);margin-bottom:4px}.card-role{font-size:clamp(13px,3.6vw,19px)}.card-bottom{font-size:clamp(9px,2.35vw,13px);gap:8px}.card-bottom>span{white-space:normal;max-width:84px;text-align:right}
  .contact-actions{gap:10px;margin-top:34px}.button{font-size:10px;padding:15px 16px;gap:20px}.appointment-note{font-size:9px}
  .site-footer{flex-wrap:wrap;padding-block:29px;gap:24px 20px}.site-footer .wordmark{font-size:23px}.site-footer>span{order:3;width:100%;font-size:8px}.back-top{font-size:10px}
}
@media(max-width:360px){
  :root{--gutter:20px}.hero-contact{grid-template-columns:1fr}.hero-contact-email{grid-column:1;grid-row:2;text-align:left}.hero-contact-address{grid-row:3}.eyebrow{font-size:7px}.eyebrow span{margin-inline:3px}.display-title{font-size:46px}.company .company-name{font-size:26px}.contact-card{padding-inline:17px}.card-top{font-size:10px}.card-bottom{font-size:9px}.contact-actions{flex-direction:column;align-items:stretch}.button{justify-content:center;gap:25px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{
  .site-header,.hero-link,.contact-actions,.appointment-note,.back-top,.company-footnote{display:none!important}
  body{color:#000}.wrap{width:90%}.hero-center{padding-block:45px}.hero-name{font-size:80pt}.hero-description{font-size:22pt}.section{padding-block:35px;break-inside:avoid}.company-body{display:block!important}.company-actions{display:none}.contact-card{box-shadow:none;transform:none;border:1px solid #aaa}.display-title{font-size:34pt}.site-footer{padding-block:20px}
}
