*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);overflow-wrap:anywhere}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.05;text-wrap:balance}h1{font-size:clamp(48px,6.6vw,96px);letter-spacing:-.035em}h2{font-size:clamp(40px,4vw,64px);letter-spacing:-.025em}h3{font-size:32px}h4{font-size:28px}p{max-width:65ch;text-wrap:pretty}p+p{margin-top:20px}img{display:block;width:100%;height:auto;object-fit:cover}picture{display:block}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);line-height:1.4}.button{margin-top:28px}button:active,.button:active{transform:scale(.98)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.text-link{display:inline-block;padding:12px 0;min-height:44px;border-bottom:1px solid var(--ink);margin-top:24px;font-weight:500}.muted{color:var(--muted);font-size:14px}.intro{font-size:19px;line-height:1.65}.plus{font-family:var(--sans);font-size:28px;line-height:1;flex-shrink:0}details[open] .plus{transform:rotate(45deg)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}header{height:var(--header);padding:0 var(--edge);display:flex;gap:40px;align-items:center;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.wordmark{font:32px/1 var(--serif);letter-spacing:-.03em;max-width:360px}.wordmark small{display:block;font:11px/1.5 var(--sans);letter-spacing:.08em;margin-top:7px}.wordmark span{display:block}nav{margin-left:auto;display:flex;gap:32px;align-items:center}nav a{font-size:14px;min-height:44px;display:flex;align-items:center;white-space:nowrap}nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}.header-call{font-size:14px;white-space:nowrap;padding:12px 0;border-bottom:1px solid var(--ink)}.menu-toggle{display:none}main>section:not([data-sig=harlan-plain]){scroll-margin-top:var(--header)}footer{background:var(--ink);color:var(--paper);padding:80px var(--edge) 24px}footer h2{max-width:660px}footer h3{font-size:32px}footer .button{background:var(--paper);color:var(--ink)}footer p{margin-top:20px}footer .text-link{border-color:var(--paper)}.footer-top{display:grid;grid-template-columns:1.6fr 1fr;gap:80px;max-width:var(--wrap);margin:auto}.footer-bottom{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-top:80px;padding-top:24px;border-top:1px solid #777b70;font-size:12px}.footer-bottom p{max-width:75ch}.footer-bottom a{white-space:nowrap}.skip{position:fixed;top:-100px;left:16px;background:var(--paper);padding:12px;z-index:40}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}.demo-toolbar{background:var(--limestone);padding:8px var(--edge);display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:13px}.demo-toolbar a{padding:8px;text-decoration:underline}.empty-list{padding:32px 0}.worst-mode .plain-final h1{font-size:clamp(36px,4.8vw,72px)}@media(hover:hover) and (pointer:fine){nav a:hover,.text-link:hover{opacity:.65}button:hover,.button:hover{background:var(--muted)}footer .button:hover{background:var(--limestone)}}@media(max-width:1100px){header{gap:24px}nav{gap:20px}.wordmark{font-size:28px}.header-call{font-size:12px}}@media(max-width:900px){:root{--header:80px}header{gap:16px}.wordmark{font-size:26px;max-width:calc(100% - 144px);margin-right:auto}.header-call{font-size:0;white-space:normal;position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;height:var(--call-bar);background:var(--ink);color:var(--paper);padding:12px 24px calc(12px + env(safe-area-inset-bottom));z-index:21;border:0;border-top:1px solid var(--line)}.header-call:before{content:'Call the office';font-size:14px}.menu-toggle{display:flex;background:none;color:var(--ink);padding:8px 12px;min-height:44px;border-color:var(--line)}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:24px;box-shadow:0 20px 30px #24262312}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:8px}nav a{font-size:18px}.footer-top{grid-template-columns:1fr;gap:56px}.footer-bottom{display:block;margin-top:56px;padding-bottom:72px}.footer-bottom a{display:block;margin-top:24px;white-space:normal}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(prefers-contrast:more){:root{--muted:#343832;--line:#747970}}
.wordmark.long-name{font-size:24px}.wordmark .brand-logo{max-height:64px;max-width:280px;width:auto;object-fit:contain}.wordmark.logo-mode{max-width:280px}.wordmark.logo-mode>span,.wordmark.logo-mode>small{display:none}@media(max-width:900px){.wordmark.long-name{font-size:18px;line-height:1.15}.wordmark .brand-logo{max-width:220px;max-height:58px}.wordmark.logo-mode{max-width:calc(100% - 100px)}}
footer :is(a,button):focus-visible{outline-color:var(--paper)}@media(max-width:900px){.header-call:focus-visible{outline-color:var(--paper);box-shadow:0 0 0 6px var(--ink)}}

/* Reserve room for the persistent telephone bar, including phone safe areas. */
@media(max-width:900px){:root{--call-bar:calc(56px + env(safe-area-inset-bottom))}html{scroll-padding-bottom:calc(var(--call-bar) + 16px)}body{padding-bottom:var(--call-bar)}.footer-bottom{padding-bottom:0}.header-call:focus-visible{outline-offset:-6px;box-shadow:none}}
