:root{--pine:#263b2d;--pine-dark:#192c22;--bark:#654b35;--clay:#ad7850;--sand:#e7d3ae;--oat:#f4efe5;--paper:#fcf9f2;--ink:#292d25;--quiet:#665f54;--line:#d6c9b7}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.65 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.04;letter-spacing:-.045em}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h2{font-size:clamp(2.8rem,5vw,5.4rem)}h3{font-size:1.5rem;font-weight:500}em{font-style:italic;font-weight:400}
.container{width:min(1190px,calc(100% - 48px));margin-inline:auto}.section-space{padding:clamp(84px,10vw,145px) 0}.overline,.eyebrow{font-size:.76rem;letter-spacing:.18em;font-weight:700;line-height:1.5}.overline{color:var(--bark)}
.skip-link{position:absolute;top:-60px;left:12px;z-index:100;padding:10px 16px;background:white;color:black}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--clay);outline-offset:3px}
.topline{background:var(--pine-dark);color:#e7decf;font-size:.75rem}.topline .container{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topline a{font-weight:700}.topline a:hover{text-decoration:underline}
.site-header{position:sticky;top:0;z-index:40;background:rgba(250,246,238,.96);backdrop-filter:blur(12px);border-bottom:1px solid #ddd2c3}.nav{height:116px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;flex:none}.brand img{display:block;width:188px;height:auto;aspect-ratio:1719/915;object-fit:contain}.nav-links{display:flex;align-items:center;gap:30px;font-size:.84rem;font-weight:700}.nav-links>a:not(.nav-contact):hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{display:inline-flex;align-items:center;gap:22px;border-bottom:2px solid var(--bark);padding:11px 0;color:var(--bark)}.nav-contact:hover{color:var(--pine)}.menu-toggle{display:none;border:0;background:transparent;padding:10px;color:var(--pine)}.menu-toggle span{display:block;width:25px;height:2px;background:currentColor;margin:5px 0;transition:transform .2s,opacity .2s}
.hero{position:relative;min-height:min(790px,calc(100svh - 130px));display:flex;align-items:center;color:#fff;background:var(--pine-dark);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center 53%}.hero-shade{background:linear-gradient(90deg,rgba(14,28,21,.83) 0%,rgba(14,28,21,.64) 42%,rgba(14,28,21,.1) 100%),linear-gradient(0deg,rgba(14,28,21,.25),transparent 60%)}.hero-content{position:relative;z-index:1;padding:110px 0 145px}.eyebrow{color:var(--sand);margin-bottom:26px}.eyebrow span{padding:0 9px}.hero h1{max-width:840px;font-size:clamp(3.8rem,7.6vw,8.2rem);line-height:.98;text-wrap:balance}.hero h1 em{color:var(--sand)}.hero-content>p:not(.eyebrow){font-size:1.12rem;max-width:510px;color:#f0e9dc;line-height:1.8;margin:28px 0 33px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:16px 22px;min-height:58px;font-weight:700;font-size:.88rem;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-sand{background:var(--sand);color:var(--pine-dark)}.button-sand:hover{background:#f6e2bf}.hero-call{color:#fff;font-size:.88rem;font-weight:700;border-bottom:1px solid #ede3d0;padding-bottom:4px}.hero-edge{position:absolute;left:0;right:0;bottom:0;z-index:1;border-top:1px solid rgba(255,255,255,.35);padding:17px max(24px,calc((100vw - 1190px)/2));display:flex;justify-content:space-between;font-size:.67rem;letter-spacing:.17em;font-weight:700}
.story{background:var(--oat)}.story-grid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(35px,6vw,95px)}.story-grid .overline{padding-top:15px}.story h2{max-width:880px}.story h2 em{color:var(--bark)}.story-grid p:not(.overline){max-width:670px;font-size:1.12rem;line-height:1.9;margin-top:32px;color:#554f45}.story-notes{border-top:1px solid var(--line);display:flex;gap:33px;flex-wrap:wrap;margin-top:42px;padding-top:20px;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:700;color:var(--pine)}
.services{background:var(--paper)}.services-heading{display:grid;grid-template-columns:200px 1fr;gap:clamp(35px,6vw,95px);align-items:start;margin-bottom:58px}.services-heading .overline{padding-top:14px}.services h2 em{color:var(--bark)}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:200px minmax(0,1fr) 155px;gap:clamp(35px,6vw,95px);align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}.service-index{font:italic 1.65rem Georgia,serif;color:var(--clay)}.service-row h3{font:400 clamp(1.65rem,2.5vw,2.35rem)/1.15 Georgia,serif;letter-spacing:-.025em}.service-row p{max-width:600px;color:var(--quiet);font-size:.91rem;line-height:1.75;margin-top:9px}.service-row a{font-weight:700;font-size:.75rem;color:var(--bark);border-bottom:1px solid var(--bark);display:flex;justify-content:space-between;gap:8px;padding:9px 0}.service-row a:hover{color:var(--pine);border-color:var(--pine)}
.work-photo{position:relative;height:clamp(390px,62vw,710px);overflow:hidden;background:var(--pine)}.work-photo img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.work-caption{position:absolute;bottom:34px;left:max(24px,calc((100vw - 1190px)/2));padding:19px 24px;background:var(--paper);color:var(--ink);min-width:270px}.work-caption span{font-weight:700;font-size:.67rem;letter-spacing:.17em;color:var(--bark)}.work-caption p{font:400 1.35rem/1.2 Georgia,serif;margin-top:6px}
.reviews{background:var(--pine);color:#fff}.reviews .overline{color:var(--sand)}.reviews-top{display:grid;grid-template-columns:200px 1fr;gap:clamp(35px,6vw,95px);align-items:start}.reviews-top .overline{padding-top:13px}.reviews h2 em{color:var(--sand)}.review-layout{display:grid;grid-template-columns:1.45fr .75fr;gap:clamp(45px,8vw,120px);margin:70px 0 0 200px}.review-layout figure{margin:0}.review-feature .quote-mark{display:block;height:70px;font:italic 6rem/.8 Georgia,serif;color:var(--sand)}.review-feature blockquote{margin:15px 0 37px;font:400 clamp(1.5rem,2.5vw,2.5rem)/1.35 Georgia,serif;letter-spacing:-.025em}.review-side{border-left:1px solid #66816b;padding-left:34px;align-self:end}.review-side blockquote{margin:0 0 30px;font:italic 1.25rem/1.55 Georgia,serif}.review-layout figcaption{font-size:.77rem;font-weight:700}.review-layout figcaption span{display:block;color:#c8d1c3;font-weight:400;margin-top:3px}
.specials{background:var(--oat)}.specials-intro{display:grid;grid-template-columns:200px minmax(0,1fr) 260px;gap:clamp(25px,4vw,65px);align-items:end;margin-bottom:58px}.specials-intro .overline{align-self:start;padding-top:12px}.specials h2 em{color:var(--bark)}.specials-intro>p:last-child{color:var(--quiet);font-size:.88rem;line-height:1.75;margin-bottom:6px}.special-list{border-top:2px solid var(--bark)}.special-line{display:grid;grid-template-columns:200px minmax(0,1fr) 150px;gap:clamp(25px,4vw,65px);align-items:center;border-bottom:1px solid var(--line);padding:26px 0}.special-line>span{font-size:.68rem;letter-spacing:.15em;font-weight:700;color:var(--bark)}.special-line h3{font:400 1.7rem Georgia,serif;letter-spacing:-.02em}.special-line p{font-size:.84rem;color:var(--quiet);margin-top:5px}.special-line strong{text-align:right;font:400 1.7rem Georgia,serif;white-space:nowrap}.special-line small{font:.75rem 'DM Sans',sans-serif}.text-cta{display:inline-flex;gap:50px;padding:14px 0;margin-top:28px;border-bottom:2px solid var(--pine);font-weight:700;color:var(--pine)}.text-cta:hover{color:var(--bark);border-color:var(--bark)}
.contact{background:#e2d2ba}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,9vw,130px);align-items:start}.contact h2{max-width:570px;margin-top:22px}.contact h2 em{color:var(--bark)}.contact-copy>p:not(.overline){max-width:440px;margin:27px 0 40px;line-height:1.85;color:#5b5146}.contact-methods{display:grid;gap:14px}.contact-methods a{font-size:1rem;font-weight:700;color:var(--pine);width:max-content;max-width:100%;word-break:break-word}.contact-methods a:hover{text-decoration:underline}.contact-form{border-top:3px solid var(--pine);padding-top:24px}.contact-form h3{font:400 2rem Georgia,serif;margin-bottom:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:19px}.field label{display:block;font-size:.77rem;font-weight:700;margin-bottom:7px}.field label span{font-weight:400}.field input,.field select,.field textarea{display:block;width:100%;padding:12px 13px;border:1px solid #c9b89f;border-radius:0;background:#f8f3eb;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pine);box-shadow:0 0 0 3px rgba(38,59,45,.12)}.field textarea{resize:vertical;min-height:115px}.contact-form button{width:100%;border:0;background:var(--pine);color:white;display:flex;align-items:center;justify-content:space-between;padding:17px 20px;font-weight:700}.contact-form button:hover{background:var(--bark)}
.footer{background:var(--oat);color:var(--ink)}.footer-grid{padding:64px 0;display:grid;grid-template-columns:340px 1fr 130px;gap:clamp(35px,6vw,85px);align-items:center}.footer-logo{display:block;width:min(320px,100%);height:auto}.footer-logo img{display:block;width:100%;height:auto;aspect-ratio:1719/915;object-fit:contain}.footer-grid p{font:400 1.7rem Georgia,serif;margin:7px 0 15px}.footer-grid span{font-size:.8rem;color:var(--quiet)}.footer-grid>div:last-child{display:grid;gap:7px;justify-items:start;font-size:.78rem;font-weight:700}.footer-grid a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding:20px 0 25px;display:flex;justify-content:space-between;gap:20px;font-size:.72rem;color:var(--quiet)}
@media(max-width:950px){.nav-links{gap:17px;font-size:.77rem}.story-grid,.services-heading,.reviews-top{grid-template-columns:140px 1fr;gap:30px}.service-row{grid-template-columns:140px 1fr 125px;gap:30px}.review-layout{margin-left:140px}.specials-intro,.special-line{grid-template-columns:140px 1fr 130px;gap:24px}.footer-grid{grid-template-columns:280px 1fr 100px;gap:35px}.footer-logo{width:260px}}
@media(max-width:760px){.container{width:min(100% - 36px,600px)}.topline .container{justify-content:center}.topline .container span{display:none}.nav{height:77px}.brand img{width:127px}.menu-toggle{display:block;z-index:50}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.nav-links{display:none;position:absolute;top:77px;left:0;right:0;background:var(--paper);padding:16px 18px 24px;box-shadow:0 18px 30px rgba(0,0,0,.15);flex-direction:column;align-items:stretch;gap:0;font-size:.9rem}.nav-links.open{display:flex}.nav-links>a{padding:13px 0}.nav-contact{justify-content:space-between}.hero{min-height:620px}.hero-content{padding:100px 0 105px}.hero h1{font-size:clamp(3.35rem,11vw,5.3rem)}.hero-shade{background:linear-gradient(90deg,rgba(14,28,21,.85),rgba(14,28,21,.38)),linear-gradient(0deg,rgba(14,28,21,.35),transparent)}.story-grid,.services-heading,.reviews-top,.specials-intro{display:block}.story-grid .overline,.services-heading .overline,.reviews-top .overline,.specials-intro .overline{padding:0;margin-bottom:23px}.story-grid p:not(.overline){font-size:1rem}.service-row{grid-template-columns:40px 1fr;gap:16px;align-items:start}.service-row a{grid-column:2;width:max-content;max-width:100%;gap:22px}.service-index{font-size:1.2rem;padding-top:4px}.service-row h3{font-size:1.65rem}.work-photo{height:400px}.review-layout{grid-template-columns:1fr;margin:45px 0 0;gap:55px}.review-side{padding:0 0 0 23px}.specials-intro>p:last-child{max-width:500px;margin-top:20px}.special-line{grid-template-columns:1fr auto;gap:7px 15px}.special-line>span{grid-column:1/-1}.special-line h3{font-size:1.45rem}.special-line strong{font-size:1.4rem}.contact-grid{grid-template-columns:1fr;gap:58px}.footer-grid{grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/-1}.footer-bottom{flex-direction:column}}
@media(max-width:520px){.section-space{padding:76px 0}.hero-content>p:not(.eyebrow){font-size:1rem}.hero-actions{align-items:stretch;gap:18px}.hero-actions .button{width:100%}.hero-edge{font-size:.57rem}.story-notes{gap:17px;font-size:.64rem}.work-caption{left:18px;bottom:18px;min-width:0}.form-row{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr}.footer-logo{grid-column:auto}.footer-grid>div:last-child{grid-row:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media(max-width:760px){.nav{height:90px}.brand img{width:158px}.nav-links{top:90px}.footer-logo{width:min(310px,100%)}}
