@font-face{font-family:Cormorant;src:url('./fonts/cormorant.woff') format('woff');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:Cormorant;src:url('./fonts/cormorant-italic.woff') format('woff');font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:Manrope;src:url('./fonts/manrope.woff') format('woff');font-weight:200 800;font-style:normal;font-display:swap}
:root{--paper:#F7F5F0;--warm-white:#F4F0E9;--taupe:#E6DDD0;--deep-taupe:#B7A58D;--bronze:#927151;--green:#253D35;--ink:#30382F;--body:#596052;--line:#D5CDBF;--serif:Cormorant,Georgia,'Times New Roman',serif;--sans:Manrope,Arial,sans-serif;--header-height:96px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer}button,a,summary{outline-offset:6px}a{color:inherit;text-decoration:none}p,h1,h2,h3,figure{margin:0}img,svg{display:block}img{max-width:100%}::selection{color:var(--green);background:#D9C9B4}.section-shell{width:calc(100% - 128px);max-width:1280px;margin-inline:auto}.section-space{padding-block:100px}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;color:var(--green)}h1{font-size:clamp(80px,8.3vw,128px);line-height:.94}h2{font-size:clamp(48px,4.6vw,69px);line-height:1.05}h3{font-size:31px;line-height:1.2}em{font-weight:400}p{text-wrap:pretty}.skip-link{position:fixed;left:12px;top:8px;z-index:100;padding:12px 20px;background:var(--green);color:var(--paper);transform:translateY(-180%)}.skip-link:focus{transform:none}.arrow-down{transform:rotate(90deg)}
.site-header{height:var(--header-height);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding-inline:64px;background:rgba(247,245,240,.97);border-bottom:1px solid #e6e0d5;backdrop-filter:blur(12px);gap:36px}.wordmark{font-family:var(--serif);font-size:45px;line-height:1;letter-spacing:-.05em;font-weight:500;color:var(--green)}.navigation{display:flex;align-items:center;gap:42px;font-size:13px;font-weight:500;letter-spacing:.01em}.navigation>a{position:relative;min-height:46px;display:flex;align-items:center}.navigation>a:not(.nav-contact):after{content:'';height:1px;position:absolute;left:0;right:0;bottom:4px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .2s}.navigation>a:hover:after,.navigation>a[aria-current=location]:after{transform:scaleX(1)}.navigation .nav-contact{display:flex;justify-content:space-between;gap:31px;padding:12px 22px;background:var(--green);color:var(--paper);border:1px solid var(--green);min-width:140px;font-size:12px;transition:background .2s,color .2s}.nav-contact svg{width:19px;height:19px}.navigation .nav-contact:hover{background:var(--paper);color:var(--green)}.menu-toggle{display:none}
.hero{min-height:670px;min-height:min(700px,calc(100svh - var(--header-height)));padding:78px 24px 85px;display:flex;justify-content:center;align-items:center;background:var(--warm-white);text-align:center;border-bottom:1px solid #e6e0d5}.hero-content{padding-bottom:4px}.hero h1{letter-spacing:-.045em}.hero p{font-size:17px;line-height:1.85;color:var(--body);max-width:490px;margin:33px auto 0}.text-link{display:inline-flex;align-items:center;gap:31px;min-height:44px;font-size:12px;font-weight:550;line-height:1.5;padding-block:12px;border-bottom:1px solid var(--deep-taupe);color:var(--green)}.text-link:hover{border-color:var(--green)}.text-link svg{height:20px;width:20px;color:var(--bronze)}.hero-link{margin-top:28px}
.about{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.portrait{position:relative;min-height:640px;overflow:hidden;background:#d0d0cd}.portrait img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 45%}.about-content{padding:91px clamp(45px,6.3vw,100px);align-self:center;max-width:780px}.about-content h2{margin-bottom:32px}.about-lead{font-family:var(--serif);font-size:clamp(29px,2.7vw,39px);line-height:1.19;letter-spacing:-.02em;color:var(--green);margin-bottom:26px}.about-content>p:not(.about-lead):not(.references){font-size:15px;line-height:1.9;color:var(--body);max-width:450px;margin-top:18px}.about-content .references{font-size:12px;color:#716A58;margin-top:30px;letter-spacing:.01em;padding-top:20px;border-top:1px solid var(--line);display:inline-block}
.services{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading>p{font-size:14px;color:var(--body);padding-bottom:7px}.service-list{border-bottom:1px solid var(--line)}.service-item{border-top:1px solid var(--line)}.service-item>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 1fr 26px;gap:34px;align-items:center;padding:28px 0;min-height:105px}.service-item>summary::-webkit-details-marker{display:none}.service-item h3{font-size:31px;max-width:440px;line-height:1.13;transition:color .2s}.service-summary{font-size:13px;line-height:1.8;color:var(--body);max-width:410px}.service-plus{width:25px;height:25px;position:relative;border:1px solid #bcad97;border-radius:50%}.service-plus:before,.service-plus:after{content:'';position:absolute;background:var(--green);transition:transform .2s}.service-plus:before{width:9px;height:1px;left:7px;top:11px}.service-plus:after{width:1px;height:9px;left:11px;top:7px}.service-item[open] .service-plus:after{transform:rotate(90deg)}.service-item>summary:hover h3{color:var(--bronze)}.service-detail{padding:0 60px 31px calc((100% - 94px)/2 + 34px);color:var(--body);font-size:14px;line-height:1.9;animation:appear .2s ease-out}.service-detail p{max-width:470px}
.locations{background:var(--taupe)}.locations-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:6%;align-items:center}.locations h2{margin-bottom:42px}.location-option{margin-top:29px}.location-option h3{font-family:var(--sans);font-size:11px;line-height:1.4;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:#73644E;margin-bottom:9px}.location-option p{font-size:15px;line-height:1.8;color:var(--ink)}.location-note{font-size:11px;color:#746C5D;margin-top:24px}.coverage-map{width:100%;align-self:center;margin:0}.coverage-map img{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.contact{background:var(--green);color:var(--paper);padding-block:92px}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.contact h2{color:var(--paper);font-size:clamp(60px,6.3vw,94px);line-height:1}.contact-copy>p:first-child{font-size:17px;line-height:1.85;max-width:470px;color:#E9EBE2}.email-link{display:flex;align-items:center;justify-content:space-between;max-width:400px;border-bottom:1px solid #8A9987;margin-top:27px;padding-block:9px 15px;gap:40px;color:#F1EBE0}.email-link>span{font-family:var(--serif);font-size:36px;letter-spacing:-.025em;line-height:1.2}.email-link svg{color:#C3AB8F;transform:rotate(-45deg);height:25px;width:25px}.contact-copy .email-note{font-size:11px;color:#C4CDBE;margin-top:13px}
.site-footer{background:var(--paper);padding-block:32px}.footer-inner{display:flex;align-items:center;gap:35px;justify-content:space-between}.footer-wordmark{font-family:var(--serif);font-size:34px;letter-spacing:-.05em;line-height:1.1;color:var(--green)}.copyright{font-size:10px;color:#74796C;margin-left:auto;margin-right:auto}.footer-links{display:flex;gap:23px;align-items:center;font-size:10px;color:#74796C;position:relative}.back-top{display:flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--green)}.back-top svg{transform:rotate(-90deg)}.credits summary{cursor:pointer;list-style:none;min-height:38px;display:flex;align-items:center;border-bottom:1px solid transparent}.credits summary::-webkit-details-marker{display:none}.credits summary:hover{border-color:var(--bronze)}.credits-content{position:absolute;bottom:45px;right:0;width:min(420px,calc(100vw - 44px));background:var(--paper);padding:25px 29px;border:1px solid var(--line);box-shadow:0 8px 25px #253d3510;z-index:10;font-size:11px;line-height:1.8;color:var(--body)}.credits-content p+p{margin-top:12px}.credits-content a{display:inline-block;text-decoration:underline;margin-top:12px}.credits-content a+p{margin-top:13px}
@keyframes appear{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.site-header{padding-inline:max(64px,calc((100vw - 1370px)/2))}.hero{min-height:700px}.about-content{padding-block:100px}.portrait{min-height:700px}.about-content>p:not(.about-lead):not(.references){font-size:16px}.service-item>summary{min-height:112px}}
@media(max-width:1100px){:root{--header-height:88px}.section-shell{width:calc(100% - 88px)}.site-header{padding-inline:44px}.wordmark{font-size:41px}.navigation{gap:29px;font-size:12px}.navigation .nav-contact{gap:22px;min-width:125px;padding:10px 17px}.hero{min-height:600px;padding-block:70px}.hero h1{font-size:100px}.hero p{font-size:16px}.portrait{min-height:600px}.about-content{padding:68px 45px}.about-content h2{font-size:54px;margin-bottom:28px}.about-lead{font-size:32px}.about-content>p:not(.about-lead):not(.references){font-size:14px}.section-space{padding-block:85px}.service-item h3{font-size:27px}.service-item>summary{gap:25px;grid-template-columns:1fr 1fr 26px;min-height:108px}.service-summary{font-size:12px}.service-detail{padding-left:calc((100% - 76px)/2 + 25px);padding-right:45px;font-size:13px}.locations-inner{gap:4%}.location-option p{font-size:14px}.contact-copy>p:first-child{font-size:16px}}
@media(max-width:800px){:root{--header-height:82px}.section-shell{width:calc(100% - 48px)}.site-header{padding-inline:24px;gap:24px}.wordmark{font-size:39px}.menu-toggle{display:flex;align-items:center;gap:14px;background:transparent;border:none;padding:15px 0 15px 12px;font-size:12px;color:var(--green)}.menu-toggle i{width:23px;height:16px;position:relative;display:block}.menu-toggle i:before,.menu-toggle i:after{content:'';position:absolute;width:23px;height:1px;background:var(--green);left:0;transition:transform .2s}.menu-toggle i:before{top:4px}.menu-toggle i:after{bottom:4px}.menu-toggle i.open:before{top:7px;transform:rotate(45deg)}.menu-toggle i.open:after{bottom:8px;transform:rotate(-45deg)}.navigation{display:none;position:absolute;left:0;right:0;top:var(--header-height);padding:14px 24px 26px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:0;align-items:stretch;font-size:16px}.navigation.is-open{display:flex}.navigation>a{padding-block:17px;border-bottom:1px solid var(--line);min-height:58px}.navigation>a:not(.nav-contact):after{bottom:0;max-width:70px}.navigation .nav-contact{margin-top:20px;min-height:50px;font-size:14px;padding:13px 18px}.hero{min-height:550px;padding-block:70px}.hero h1{font-size:clamp(80px,12vw,98px)}.hero p{font-size:16px;max-width:470px}.hero-link{font-size:12px}.about{grid-template-columns:.96fr 1.04fr}.portrait{min-height:610px}.portrait img{object-position:50% 45%}.about-content{padding:57px 31px}.about-content h2{font-size:47px;margin-bottom:28px}.about-lead{font-size:28px}.about-content>p:not(.about-lead):not(.references){font-size:13px;line-height:1.9}.about-content .references{font-size:11px}.section-space{padding-block:70px}h2{font-size:50px}.section-heading{margin-bottom:35px}.section-heading>p{font-size:12px}.service-item h3{font-size:25px}.service-item>summary{grid-template-columns:.95fr 1.05fr 25px;gap:23px;min-height:104px;padding-block:25px}.service-summary{font-size:12px;line-height:1.8}.service-detail{padding-left:0;padding-right:48px;max-width:580px;font-size:14px}.locations-inner{grid-template-columns:.86fr 1.14fr;gap:2%}.locations h2{font-size:45px;max-width:280px;margin-bottom:34px}.location-option p{font-size:13px}.location-option h3{font-size:10px}.location-note{font-size:10px;max-width:230px}.contact-inner{gap:8%}.contact h2{font-size:66px}.contact-copy>p:first-child{font-size:14px}.email-link>span{font-size:32px}.copyright{font-size:9px}.footer-links{gap:15px;font-size:9px}.footer-wordmark{font-size:32px}}
@media(max-width:560px){:root{--header-height:77px}.section-shell{width:calc(100% - 44px)}.site-header{padding-inline:22px}.wordmark{font-size:38px}.hero{min-height:520px;min-height:min(580px,calc(100svh - var(--header-height)));padding:68px 22px 73px}.hero h1{font-size:clamp(62px,16vw,86px);line-height:.97;letter-spacing:-.047em}.hero p{font-size:15px;max-width:320px;margin-top:27px;line-height:1.85}.hero-link{margin-top:24px;font-size:12px;gap:31px}.desktop-break{display:none}.about{grid-template-columns:1fr}.portrait{min-height:0;aspect-ratio:1/1.05}.portrait img{object-position:50% 44%}.about-content{padding:49px 24px 55px;max-width:none}.about-content h2{font-size:51px;margin-bottom:27px}.about-lead{font-size:33px;margin-bottom:24px}.about-content>p:not(.about-lead):not(.references){font-size:15px;line-height:1.85;max-width:450px}.about-content .references{font-size:12px;margin-top:25px;padding-top:18px}.section-space{padding-block:58px}h2{font-size:51px}.section-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:29px}.section-heading>p{font-size:13px;padding:0}.service-item>summary{grid-template-columns:1fr 25px;gap:10px 22px;min-height:132px;padding-block:24px}.service-item h3{font-size:27px;line-height:1.13;grid-column:1;grid-row:1;max-width:300px}.service-summary{grid-column:1;grid-row:2;font-size:12px;max-width:310px;line-height:1.8}.service-plus{grid-column:2;grid-row:1;align-self:start;margin-top:4px}.service-detail{padding:0 36px 25px 0;font-size:14px;line-height:1.8}.locations-inner{grid-template-columns:1fr;gap:29px}.locations h2{font-size:51px;max-width:none;margin-bottom:31px}.locations-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.locations-copy h2{grid-column:1/-1}.location-option{margin:0}.location-option h3{font-size:10px;margin-bottom:10px}.location-option p{font-size:13px;line-height:1.85}.location-note{font-size:11px;max-width:none;grid-column:1/-1;margin-top:21px}.coverage-map{width:calc(100% + 22px);margin-left:-11px}.contact{padding-block:61px}.contact-inner{grid-template-columns:1fr;gap:29px}.contact h2{font-size:71px}.contact-copy>p:first-child{font-size:16px;line-height:1.85;max-width:410px}.email-link{margin-top:25px;max-width:none;padding-bottom:15px}.email-link>span{font-size:34px}.contact-copy .email-note{font-size:11px}.site-footer{padding-block:28px}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:23px 18px}.footer-wordmark{font-size:33px}.copyright{grid-column:1;grid-row:2;margin:0;font-size:9px}.footer-links{display:contents}.footer-links>span{grid-column:2;grid-row:2;font-size:9px;justify-self:end}.credits{grid-column:2;grid-row:1;justify-self:start;margin-right:45px;font-size:10px}.back-top{grid-column:2;grid-row:1;justify-self:end}.credits-content{position:fixed;bottom:20px;right:20px;width:calc(100% - 40px);padding:23px;box-shadow:0 8px 35px #253d3530}.credits[open] summary{position:relative;z-index:21}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header{position:static}.navigation,.menu-toggle,.hero-link,.back-top,.credits{display:none}.hero{min-height:450px}.section-space{padding-block:40px}.portrait{min-height:500px}.service-item{break-inside:avoid}.contact,.locations{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Thoughtfully Considered: a compact two-line signature in the existing typeface. */
.wordmark,.footer-wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;white-space:nowrap}.wordmark-thoughtfully{font-size:.48em;letter-spacing:.025em;line-height:1;font-weight:400}.email-link{transition:border-color .2s}.email-link:hover{border-color:var(--paper)}.contact-copy .email-note{overflow-wrap:anywhere}
