@font-face{font-family:'EB Garamond';src:url('assets/garamond-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'EB Garamond';src:url('assets/garamond-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Diatype;src:local('ABC Diatype Unlicensed Trial'),local('ABCDiatype-Regular-Trial'),local('ABC Diatype');font-style:normal;font-weight:400;font-display:swap}
:root{--color-cream:#f4f0e4;--green:#214924;--ink:#161616;--sky:#9dc7ea;--body:Diatype,Arial,sans-serif;--display:'EB Garamond',Georgia,serif;--gutter:40px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--color-cream);color:var(--ink);font:400 17px/1.3 var(--body);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--display)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #9dc7ea;outline-offset:6px}p+p{margin-top:24px}img{display:block;width:100%;object-fit:cover}.section{padding-inline:var(--gutter)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:44px;padding:16px 26px;border:1px solid var(--green);border-radius:2px;background:var(--green);color:var(--color-cream);font:400 17px/24px var(--body);transition:background .2s,color .2s}.button.light{background:var(--color-cream);color:var(--green);border-color:var(--color-cream)}.button.outline{background:transparent;border-color:var(--color-cream);color:var(--color-cream)}.button.compact{font-size:15px;line-height:22px;padding:12px 20px}.skip-link{position:fixed;top:-80px;left:20px;background:var(--color-cream);padding:15px;z-index:20}.skip-link:focus{top:12px}.site-header{background:var(--green);color:var(--color-cream);padding:40px var(--gutter) 30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.sms-logo{width:150px;height:auto;display:block}.site-header nav{display:flex;gap:44px;font-size:15px;line-height:20px}.site-header nav a:hover,.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.header-actions{display:flex;align-items:center;gap:22px;font-size:15px}.header-actions .phone{opacity:.72}.header-actions .button{padding:11px 26px 12px;font-size:18px;line-height:20px}.menu-toggle{display:none}.hero{display:flex;align-items:center;justify-content:space-between;gap:100px;background:var(--green);color:var(--color-cream);padding:48px var(--gutter) 112px;min-height:680px}.hero h1{flex:1;font-size:52px;line-height:50px;letter-spacing:-.015em}.hero>svg{flex-shrink:0}.hero-copy{flex:1}.hero-copy p{max-width:400px;font-size:18px;line-height:22px;margin-bottom:24px}.conversation{border-top:1px solid rgb(22 22 22 /18%);display:flex;justify-content:space-between;gap:80px;padding-block:120px}.conversation h2{max-width:520px;font-size:52px;line-height:60px;letter-spacing:-.015em}.conversation .prose{padding-top:4px;max-width:600px;font-size:18px;line-height:22px}
.attention{display:grid;grid-template-columns:440px minmax(0,684px);justify-content:start;gap:96px;padding-top:20px;padding-bottom:104px}.city-photo{height:580px;object-position:center}.attention-copy{padding-top:44px}.attention h2{letter-spacing:-.012em;max-width:506px;font-size:60px;line-height:68px;margin-bottom:36px}.lead{font-size:26px;line-height:32px;color:var(--green)}.attention .lead{max-width:600px;margin-bottom:30px}.attention .prose{max-width:600px;font-size:17px;line-height:22px;margin-bottom:40px}.coastal-transition{background:linear-gradient(to bottom,var(--color-cream) 50%,var(--green) 50%)}.media-frame{height:80vh;border:20px solid var(--ink);position:relative;overflow:hidden}.media-frame video,.media-frame img{height:100%;width:100%;object-fit:cover;display:block}.defense{background:var(--green);color:var(--color-cream);padding-bottom:112px}.defense-intro{padding-top:112px;padding-bottom:160px}.defense h2{font-size:96px;line-height:104px;letter-spacing:-.02em}.defense-intro p{max-width:520px;margin-top:28px;line-height:22px}.practice-row{display:grid;grid-template-columns:400px minmax(0,550px) 190px;align-items:start;justify-content:space-between;column-gap:40px;padding-block:48px;border-top:1px solid rgb(244 240 228 /28%)}.practice-heading{display:flex;gap:32px}.number{font-size:14px;line-height:34px;width:32px;flex-shrink:0}.practice-heading h3{font:400 26px/34px var(--body);letter-spacing:-.01em}.practice-row>p{font-size:16px;line-height:20px}.practice-button{width:190px;gap:12px;white-space:nowrap}.practice-button.button{padding-inline:12px}.defense-bottom{border-top:1px solid rgb(244 240 228 /28%);padding-top:56px}.people{padding-top:140px;padding-bottom:130px}.people-intro{display:grid;grid-template-columns:minmax(0,676px) minmax(0,520px);justify-content:space-between;gap:80px;padding-bottom:96px}.people h2{font-size:96px;line-height:96px;letter-spacing:-.012em;margin-bottom:26px}.people-intro>p{padding-top:10px;font-size:17px;line-height:22px}.pattern{height:28px;background:url('assets/pattern.webp') center/cover;position:relative;width:calc(100% + 2 * var(--gutter));margin-left:calc(-1 * var(--gutter));margin-bottom:120px}.promises,.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.promises{padding-bottom:80px}.promises article{border-top:1px solid var(--green);padding-top:30px}.promises h3{font-family:var(--body);font-size:22px;line-height:30px;color:var(--green);margin-bottom:16px}.promises p{font-size:16px;line-height:20px}.team{padding-bottom:76px}.portrait{height:500px;background:#dad5c5;display:flex;align-items:center;justify-content:center;color:rgb(22 22 22 /55%);font-size:13px;line-height:20px}.team h3{font:400 27px/34px var(--display);padding-top:22px}.team p{font-size:16px;line-height:20px;color:var(--green);padding-top:4px}.team article:nth-child(3) p{font-size:15px;line-height:18px}.approach{background:var(--sky);padding-block:104px 96px}.approach-top{display:grid;grid-template-columns:minmax(0,740px) minmax(0,540px);gap:80px;justify-content:space-between;margin-bottom:64px}.approach h2{font-size:96px;line-height:96px;letter-spacing:-.025em;padding-bottom:32px}.approach h2 em{font-weight:400}.approach .lead{max-width:510px;color:var(--ink)}.approach-steps{list-style:none;margin:8px 0 0;padding:0}.approach-steps li{border-top:1px solid #000;min-height:132px;display:flex;gap:28px;align-items:center;font:400 48px/60px var(--body);letter-spacing:-.02em}.approach-steps span{width:40px;flex-shrink:0;font:400 14px/20px var(--body);letter-spacing:0}.approach-bottom{border-top:1px solid #000;padding-top:32px;display:grid;grid-template-columns:minmax(0,640px) minmax(0,540px);gap:100px;justify-content:space-between;font-size:16px;line-height:20px}.approach-bottom p+p{margin:0}.contact{padding-block:140px 132px;display:grid;grid-template-columns:minmax(0,640px) minmax(0,500px);gap:100px;justify-content:space-between}.contact h2{font-size:64px;line-height:72px;letter-spacing:-.012em;margin-bottom:28px}.contact-details{padding-top:12px}.contact ul{list-style:none;padding:0;margin:0 0 44px}.contact li{border-bottom:1px solid var(--green);padding-block:16px;font-size:17px;line-height:30px}.contact li:first-child{padding-top:0}.contact-details>p{max-width:460px;font-size:16px;line-height:28px;margin-bottom:22px}.contact .button{padding-inline:38px}.painting{padding-bottom:104px}.painting img{object-position:50% 58%}.site-footer{background:var(--green);color:var(--color-cream);padding-block:40px;border-top:1px solid rgb(244 240 228 /28%)}.footer-top{display:flex;justify-content:space-between;gap:80px;padding-bottom:80px}.firm{width:500px;max-width:100%}.firm p:first-child{font-size:15px;line-height:26px}.firm p+p{font-size:26px;line-height:32px;margin-top:10px;max-width:500px}.footer-right{display:flex;justify-content:flex-end;gap:64px;max-width:650px;padding-top:6px}.footer-links{display:flex;flex-direction:column;gap:14px;font-size:15px;line-height:24px;flex-shrink:0}address{font-style:normal;font-size:15px;line-height:18px}address p+p{margin-top:14px}address a:hover{text-decoration:underline}.footer-logo{display:block;margin-bottom:20px}.footer-logo .sms-logo{width:100%;height:auto}.footer-bottom{border-top:1px solid rgb(244 240 228 /28%);padding-top:20px;display:flex;justify-content:space-between;gap:80px;font-size:13px;line-height:16px;color:rgb(244 240 228 /72%)}.footer-bottom p:first-child{max-width:700px}.footer-bottom p+p{margin:0;max-width:380px;text-align:right}dialog{border:0;border-radius:0;background:var(--color-cream);color:var(--ink);padding:40px;width:min(720px,calc(100% - 32px));max-height:85vh;overscroll-behavior:contain}dialog::backdrop{background:rgb(0 0 0 /60%)}body:has(dialog[open]){overflow:hidden}.dialog-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--green);padding-bottom:20px;margin-bottom:32px;color:var(--green)}.dialog-top>span{font:32px/1 var(--display)}.dialog-close{background:none;border:0;color:var(--green);padding:10px 0 10px 20px;font-size:15px}.dialog-close span{font-size:24px;margin-left:10px}dialog h2{font-size:48px;line-height:1.05;margin-bottom:24px}#dialog-content{font-size:17px;line-height:1.5}#dialog-content .button{margin-top:28px}#dialog-content ul{list-style:none;margin:0;padding:0}#dialog-content li{border-top:1px solid rgb(33 73 36 /30%);padding:16px 0}#dialog-content li button{background:none;border:0;text-align:left;padding:0;color:var(--green);text-decoration:underline;text-underline-offset:4px}#dialog-content .contact-options{display:flex;flex-wrap:wrap;gap:14px}#dialog-content .contact-note{font-size:14px;line-height:1.5;margin-top:24px}.media-frame{background:var(--ink)}
@media(min-width:1600px){.hero{gap:7vw}.attention{grid-template-columns:32.35% 50.3%}.conversation h2{max-width:38.25%}.conversation .prose{max-width:44.12%}.people-intro{grid-template-columns:49.7% 38.2%}.practice-row{grid-template-columns:29.4% 40.4% 190px}.approach-top{grid-template-columns:54.4% 39.7%;gap:4%}.approach-bottom{grid-template-columns:47% 39.7%}.contact{grid-template-columns:47% 36.7%}}
@media(max-width:1200px){.site-header nav{gap:24px}.header-actions .phone{display:none}.hero{gap:55px}.conversation{gap:60px}.conversation>*{width:50%}.attention{grid-template-columns:minmax(0,37%) minmax(0,1fr);gap:60px}.attention h2{font-size:56px;line-height:1.08}.practice-row{grid-template-columns:29% 1fr 190px;gap:28px}.practice-heading{gap:18px}.practice-heading h3{font-size:24px;line-height:30px}.people-intro{gap:60px;grid-template-columns:1.15fr 1fr}.people h2,.approach h2{font-size:80px;line-height:1}.approach-top{gap:50px;grid-template-columns:1.25fr 1fr}.approach-steps li{font-size:42px}.approach-bottom,.contact{gap:60px}.footer-right{gap:32px}.footer-top{gap:40px}.portrait{height:420px}}
@media(max-width:900px){.site-header{position:relative;padding-block:28px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--green);padding:20px var(--gutter) 32px;z-index:5;border-top:1px solid rgb(244 240 228 /28%)}.site-header nav.is-open{display:flex;flex-direction:column;gap:0}.site-header nav a{padding:14px 0;font-size:20px}.menu-toggle{display:block;border:1px solid var(--color-cream);background:none;color:var(--color-cream);padding:10px 15px;font-size:15px;min-height:44px}.header-actions{margin-left:auto}.hero{gap:40px;min-height:560px;padding-block:70px 100px}.hero h1{font-size:48px;line-height:48px}.hero-copy p{font-size:17px}.conversation{padding-block:88px}.conversation h2{font-size:44px;line-height:48px}.conversation .prose{font-size:17px}.attention{gap:40px}.attention-copy{padding-top:20px}.attention h2{font-size:46px;line-height:50px}.attention .lead{font-size:22px;line-height:28px}.city-photo{height:620px}.defense h2{font-size:72px;line-height:78px}.defense-intro{padding-block:90px 100px}.practice-row{grid-template-columns:1fr 1.3fr;gap:24px 40px}.practice-button{grid-column:2;justify-self:start}.people-intro{grid-template-columns:1fr;gap:32px}.people-intro>p{max-width:600px}.people h2{max-width:676px}.people-intro .lead{max-width:600px}.portrait{height:320px}.promises h3{font-size:23px;line-height:28px}.approach h2{font-size:62px}.approach-top{grid-template-columns:1fr 1fr;gap:40px}.approach-steps li{font-size:36px;line-height:1.2;min-height:115px;gap:12px}.approach-steps span{width:28px}.approach .lead{font-size:23px;line-height:29px}.approach-bottom{gap:40px}.contact{gap:40px}.contact h2{font-size:54px;line-height:58px}.contact .lead{font-size:23px;line-height:29px}.footer-top{flex-direction:column;gap:48px}.footer-right{align-self:flex-end;gap:64px}.footer-bottom{gap:40px}}
@media(max-width:600px){:root{--gutter:20px}.site-header{gap:14px;padding-block:24px}.sms-logo{width:105px}.header-actions .button{padding:10px 14px;font-size:15px}.menu-toggle{padding-inline:12px}.hero{flex-direction:column;align-items:flex-start;gap:44px;min-height:0;padding-block:80px 96px}.hero h1{font-size:56px;line-height:54px;max-width:360px;flex:auto}.hero>svg{width:24px;height:30px;align-self:center}.hero-copy{flex:auto;max-width:400px}.hero-copy p{font-size:18px;line-height:24px}.conversation{flex-direction:column;gap:32px;padding-block:76px}.conversation>*{width:100%;max-width:none}.conversation h2{font-size:44px;line-height:46px}.conversation .prose{line-height:24px}.attention{grid-template-columns:1fr;gap:40px;padding-top:0;padding-bottom:76px}.city-photo{height:auto;aspect-ratio:440/580}.attention-copy{padding:0}.attention h2{font-size:48px;line-height:50px;margin-bottom:28px}.attention .lead{margin-bottom:24px}.attention .prose{line-height:24px;margin-bottom:32px}.media-frame{border-width:10px;height:80vh}.defense{padding-bottom:76px}.defense-intro{padding-block:76px 80px}.defense h2{font-size:52px;line-height:54px}.defense-intro p{line-height:24px}.practice-row{grid-template-columns:1fr;padding-block:32px;gap:22px}.practice-heading{gap:16px}.practice-heading h3{font-size:28px;line-height:34px}.practice-row>p{line-height:23px}.practice-button{grid-column:auto;min-width:190px}.defense-bottom{padding-top:36px}.people{padding-block:80px}.people h2{font-size:60px;line-height:60px;margin-bottom:24px}.people .lead{font-size:23px;line-height:29px}.people-intro{padding-bottom:64px;gap:28px}.people-intro>p{padding:0;line-height:24px}.pattern{margin-bottom:64px;height:28px;background-size:auto 28px}.promises{grid-template-columns:1fr;gap:28px;padding-bottom:56px}.promises article{padding-top:20px}.promises h3{font-size:26px;line-height:30px;margin-bottom:12px}.promises p{line-height:23px}.team{grid-template-columns:1fr;gap:40px;padding-bottom:48px}.portrait{height:auto;aspect-ratio:437/500}.team h3{padding-top:18px}.approach{padding-block:76px}.approach-top{grid-template-columns:1fr;gap:44px;margin-bottom:40px}.approach h2{font-size:57px;line-height:58px;padding-bottom:28px}.approach-steps li{font-size:42px;min-height:102px;gap:24px}.approach-bottom{grid-template-columns:1fr;gap:24px;line-height:23px}.contact{grid-template-columns:1fr;padding-block:80px 76px;gap:40px}.contact h2{font-size:48px;line-height:52px}.contact-details{padding:0}.contact ul{margin-bottom:32px}.contact li{font-size:16px;line-height:26px}.painting{padding-bottom:76px}.footer-top{padding-bottom:60px;gap:40px}.firm p+p{font-size:24px;line-height:30px}.footer-right{align-self:stretch;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-links{min-width:125px}.site-footer address{font-size:14px;overflow-wrap:anywhere}.footer-bottom{flex-direction:column;gap:24px}.footer-bottom p+p{text-align:left}.footer-logo{margin-bottom:24px}dialog{padding:24px}dialog h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

@media(max-width:600px){.defense h2{font-size:clamp(42px,9vw,52px);line-height:1.04}.approach h2{font-size:clamp(48px,9.5vw,57px);line-height:1.02}.hero h1{font-size:clamp(48px,10vw,56px);line-height:1}.people h2{font-size:clamp(50px,10vw,60px);line-height:1}}

/* Use the supplied pointer artwork on mouse and trackpad devices. */
@media (hover: hover) and (pointer: fine) {
  html, body, body * {
    cursor: url('assets/cursor.png') 0 0, auto;
    cursor: -webkit-image-set(url('assets/cursor.png') 1x, url('assets/cursor-2x.png') 2x, url('assets/cursor-3x.png') 3x) 0 0, auto;
    cursor: image-set(url('assets/cursor.png') 1x, url('assets/cursor-2x.png') 2x, url('assets/cursor-3x.png') 3x) 0 0, auto;
  }
}

/* Body copy synchronized with Home V2 — Desktop in Paper, September 10. */
.hero-copy p,
.conversation .prose,
.attention .prose,
.defense-intro p,
.practice-row > p,
.people-intro > p,
.promises p,
.approach-bottom,
.contact-details > p,
#dialog-content p:not(.contact-note) {
  font-size:16px;
  line-height:20px;
}

/* Share the last text baseline across the desktop hero columns. */
@media(min-width:601px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);row-gap:24px;align-content:center;align-items:last baseline}
 .hero h1{grid-column:1;grid-row:1;align-self:last baseline}
 .hero>svg,.hero .bird-motion{grid-column:2;grid-row:1;align-self:center}
 .hero-copy{display:contents}
 .hero-copy p{grid-column:3;grid-row:1;align-self:last baseline;margin-bottom:0}
 .hero-copy .button{grid-column:3;grid-row:2;justify-self:start;align-self:start}
}

/* Optical correction for the hero's serif/sans-serif baseline pairing. */
@media(min-width:601px){.hero-copy p{position:relative;top:3px}}

/* Paper logo sizing and unclipped SVG outlines. */
.site-header .sms-logo,.hero>svg{overflow:visible}
@media(min-width:601px){.hero{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr)}}

/* Updated Paper hero: title and subtitle grouped beside the centered copy. */
.hero-title{min-width:0}
.hero h1{line-height:64px}
.hero-subtitle{font:400 30px/36px var(--display);letter-spacing:-.015em}
@media(min-width:601px){
 .hero{align-items:center;row-gap:0}
 .hero-title{grid-column:1;grid-row:1}
 .hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px;grid-column:3;grid-row:1}
 .hero-copy p{align-self:auto;margin-bottom:0}
 .hero-copy .button{align-self:flex-start}
}
@media(max-width:600px){.hero h1{line-height:1.15}.hero-subtitle{font-size:26px;line-height:32px;margin-top:8px}}

/* Align body copy to the main title, independently of its subtitle. */
@media(min-width:601px){
 .hero{align-items:last baseline;row-gap:24px}
 .hero-title,.hero-copy{display:contents}
 .hero h1{grid-column:1;grid-row:1;align-self:last baseline}
 .hero-subtitle{grid-column:1;grid-row:2;align-self:start;margin-top:-24px}
 .hero-copy p{grid-column:3;grid-row:1;align-self:last baseline}
 .hero-copy .button{grid-column:3;grid-row:2;align-self:start;justify-self:start}
}

/* Center desktop navigation on the page, independent of the side groups. */
@media(min-width:901px){
 .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 .site-header>a{justify-self:start}
 .site-header>nav{justify-self:center}
 .site-header>.header-actions{justify-self:end;margin-left:0}
}

/* Team portraits retain the established card dimensions. */
.team img.portrait{display:block;width:100%;object-fit:cover;object-position:center 25%}

/* Updated Paper navigation logo. */
.site-header .nav-logo{display:block;width:153px;height:50px;object-fit:cover;object-position:center}
