:root{--paper:#f5f2eb;--ink:#292e2a;--muted:#64675f;--line:#d9d5cc;--olive:#62664e;--white:#fffdf8;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}p{margin:0 0 1.3em}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;line-height:1.13}h1{font-size:clamp(44px,5.4vw,80px);letter-spacing:-.045em}h2{font-size:clamp(35px,4vw,59px);letter-spacing:-.035em}h3{font-size:30px;letter-spacing:-.02em}em{font-weight:400;color:var(--olive)}:focus-visible{outline:3px solid #848c62;outline-offset:5px}.skip-link{position:fixed;left:20px;top:-90px;z-index:1000;padding:12px 22px;background:var(--white)}.skip-link:focus{top:20px}.container{width:min(1320px,calc(100% - 112px));margin:0 auto}.eyebrow{display:block;font:11px/1.5 var(--sans);font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin-bottom:22px}.section{padding:100px 0}.section.slim{padding:70px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:43px}.section-head p{max-width:355px;margin:0;color:var(--muted)}.lede{font-size:18px;color:var(--muted);line-height:1.75}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:0 0 9px}.text-link span{font-size:21px;font-weight:400;line-height:1}.text-link:hover{color:var(--olive)}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:51px;padding:15px 26px;background:var(--ink);color:var(--white);border:1px solid var(--ink);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,border-color .2s}.button:hover{background:var(--olive);border-color:var(--olive)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.light:hover{background:white}.button.outline{color:var(--ink);background:transparent;border-color:var(--line)}.button:disabled{opacity:.65;cursor:wait}.button-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.rule{border-top:1px solid var(--line)}
.site-header{height:94px;position:sticky;top:0;z-index:30;background:rgba(245,242,235,.97);border-bottom:1px solid var(--line)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;gap:11px;align-items:center;flex-shrink:0}.brand-mark{font:34px/.85 var(--serif);letter-spacing:-.12em;padding-right:10px;border-right:1px solid #acae9b}.brand-name{font-size:17px;letter-spacing:.17em;font-weight:500;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:.23em;margin-top:7px;font-weight:400}.main-nav{display:flex;gap:27px;align-items:center}.main-nav>a{font-size:12px;padding:10px 0;position:relative}.main-nav>a:not(.button)::after{position:absolute;content:'';bottom:3px;left:0;width:0;height:1px;background:var(--olive);transition:width .2s}.main-nav>a:hover::after,.main-nav>a.active::after{width:100%}.main-nav>.button{padding:14px 19px;font-size:10px;color:var(--white)}.menu-toggle{display:none;border:0;background:none;padding:10px;color:var(--ink);font-size:12px;letter-spacing:.1em}.menu-lines{display:inline-block;margin-left:9px;width:22px;height:10px;border-top:1px solid;border-bottom:1px solid}
.hero{position:relative;min-height:645px;display:grid;grid-template-columns:43% 57%;margin:0}.hero-copy{position:relative;z-index:2;padding:88px 35px 65px max(56px,calc((100vw - 1320px)/2));display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(49px,5.2vw,78px);margin-bottom:28px}.hero-copy p{max-width:370px;font-size:16px;color:var(--muted)}.hero-media{position:relative;overflow:hidden}.hero-media>img{height:100%;position:absolute;inset:0;object-position:59% center}.image-caption{position:absolute;bottom:20px;left:27px;background:rgba(245,242,235,.94);color:var(--ink);font-size:10px;letter-spacing:.13em;text-transform:uppercase;padding:10px 16px}.hero-note{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-top:42px;color:var(--muted)}.hero-note::before{content:'';height:1px;width:35px;background:var(--line)}.values-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.values{display:flex;justify-content:space-between;gap:28px;padding:25px 0;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.values span{display:flex;gap:11px;align-items:center}.values i{display:inline-block;width:5px;height:5px;background:var(--olive);transform:rotate(45deg)}
.split{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:90px}.split.reverse{grid-template-columns:.9fr 1.1fr}.split h2{margin-bottom:27px}.split p{color:var(--muted)}.split img{aspect-ratio:1.15;object-fit:cover}.image-block{position:relative}.image-number{position:absolute;right:-21px;bottom:-20px;background:var(--paper);width:88px;height:88px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:34px;color:var(--olive)}.intro-copy{max-width:490px}.intro-copy .text-link{margin-top:14px}.feature-list{padding:0;margin:30px 0;list-style:none}.feature-list li{border-top:1px solid var(--line);padding:12px 0;display:flex;align-items:center;gap:15px;font-size:14px}.feature-list li::before{content:'↗';color:var(--olive);font-size:18px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.stone-card{display:block}.stone-card .card-img{overflow:hidden;position:relative}.stone-card img{aspect-ratio:1.16;transition:transform .65s}.stone-card:hover img{transform:scale(1.035)}.stone-card .card-meta{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:22px 0 19px}.card-meta small{font-size:10px;letter-spacing:.15em;display:block;margin-bottom:12px;color:var(--muted);text-transform:uppercase}.card-meta h3{font-size:30px}.card-meta>.arrow{font-size:26px;align-self:end;font-weight:400}.stone-card p{color:var(--muted);font-size:14px;margin:16px 0 0}.dark-section{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr}.dark-section .dark-media>img{height:100%;min-height:630px;object-position:65% center}.dark-copy{padding:85px min(7vw,105px);align-self:center}.dark-copy p{color:#c8c9c0;margin-top:28px;max-width:410px}.dark-copy em{color:#c0c5a5}.dark-copy .text-link{margin-top:15px}.dark-copy .eyebrow{color:#ced0c2}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin-top:50px}.step{border-top:1px solid var(--line);padding-top:20px}.step>.num{color:var(--olive);font:28px var(--serif);display:block;margin-bottom:23px}.step h3{font-size:25px;margin-bottom:16px}.step p{font-size:14px;color:var(--muted)}.journal-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.journal-card img{aspect-ratio:1.6}.journal-card .eyebrow{margin-top:23px;margin-bottom:14px;color:var(--muted);font-size:10px}.journal-card h3{font-size:26px;margin-bottom:16px}.journal-card p{font-size:14px;color:var(--muted)}.journal-card:hover h3{color:var(--olive)}.cta-band{padding:72px 0;background:#e8e8dc}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-inner h2{font-size:clamp(33px,3.5vw,48px)}.cta-inner p{margin:17px 0 0;color:var(--muted)}.site-footer{padding:65px 0 25px}.footer-main{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.2fr;gap:45px}.footer-brand p{font-size:13px;color:var(--muted);max-width:225px;margin-top:24px}.footer-main h4{font:10px var(--sans);letter-spacing:.17em;text-transform:uppercase;margin:4px 0 22px}.footer-main ul{list-style:none;margin:0;padding:0}.footer-main li{font-size:12px;margin-bottom:9px}.footer-main a:hover{color:var(--olive)}.footer-main address{font-style:normal;font-size:12px;margin-bottom:13px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:45px;padding-top:23px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);letter-spacing:.04em}.footer-bottom a{text-decoration:underline}
.breadcrumb{font-size:11px;color:var(--muted);padding-top:25px;display:flex;gap:10px;flex-wrap:wrap}.page-intro{padding:52px 0 55px;max-width:875px}.page-intro h1{max-width:820px;margin-bottom:25px}.page-intro .lede{max-width:690px}.page-hero-img{max-height:580px;aspect-ratio:2.2;object-position:center}.page-hero-wrap{position:relative}.page-hero-wrap .image-caption{left:25px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px}.service-box{padding:30px 0 20px;border-top:1px solid var(--line)}.service-box .num{font:16px var(--serif);color:var(--olive);margin-bottom:15px;display:block}.service-box h3{margin-bottom:17px}.service-box p{color:var(--muted);max-width:520px}.service-box ul{padding-left:18px;font-size:14px;color:var(--muted)}.finish-tabs{display:flex;border-bottom:1px solid var(--line);gap:30px;margin-top:30px}.finish-tab{border:0;background:none;padding:17px 0;color:var(--muted);font-size:13px;border-bottom:2px solid transparent}.finish-tab[aria-selected=true]{border-bottom-color:var(--olive);color:var(--ink)}.finish-panel{padding:25px 0;max-width:630px}.finish-panel h3{margin-bottom:16px}.finish-panel p{color:var(--muted)}[hidden]{display:none!important}.faq{max-width:880px;margin:35px auto 0}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;padding:23px 35px 23px 0;position:relative;font-family:var(--serif);font-size:23px;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:5px;top:24px;font:20px var(--sans);color:var(--olive)}.faq details[open] summary::after{content:'−'}.faq details p{color:var(--muted);max-width:730px;padding-right:30px;font-size:15px}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 32px}.filter{border:1px solid var(--line);background:transparent;padding:10px 23px;font-size:12px}.filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.gallery-item{margin:0}.gallery-item img{aspect-ratio:1.25}.gallery-item:first-child{grid-column:1/-1}.gallery-item:first-child img{aspect-ratio:2.1}.gallery-item figcaption{padding:20px 0 6px;display:flex;justify-content:space-between;gap:25px}.gallery-item h3{font-size:26px}.gallery-item figcaption span{font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;align-self:center}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px}.contact-info .detail{border-top:1px solid var(--line);padding:23px 0}.detail .eyebrow{font-size:9px;margin-bottom:10px}.detail p,.detail address{font-size:17px;font-style:normal;margin:0}.detail a:hover{color:var(--olive)}.quote-form{background:var(--white);padding:40px}.quote-form h2{font-size:35px;margin-bottom:12px}.quote-form>p{color:var(--muted);font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field>label{font-size:12px}input,select,textarea{border:1px solid var(--line);background:transparent;color:var(--ink);padding:12px 14px;width:100%;border-radius:0;font-size:16px}textarea{min-height:135px;resize:vertical}.consent{display:flex;align-items:flex-start;gap:10px;margin:23px 0;font-size:12px;color:var(--muted)}.consent input{width:16px;min-width:16px;margin-top:5px}.consent a{text-decoration:underline}.form-status{font-size:14px;margin-top:20px;padding:14px;border:1px solid var(--line)}.form-status:empty{display:none}.form-status a{text-decoration:underline}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.email-fallback{font-size:11px!important;margin:16px 0 0!important}.email-fallback a{text-decoration:underline}.article{max-width:810px;margin:0 auto;padding:65px 0 95px}.article h2{font-size:34px;margin:45px 0 20px}.article h3{font-size:27px;margin:30px 0 17px}.article p,.article li{color:var(--muted)}.article ul{padding-left:24px}.article .callout{margin:36px 0;padding:26px 30px;background:#eae9df;border-left:2px solid var(--olive)}.article .callout p:last-child{margin-bottom:0}.article .text-link{margin-top:22px}.article ul a{border-bottom:1px solid var(--line)}.article-meta{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.empty-gallery{color:var(--muted)}
@media(min-width:1600px){.hero{min-height:740px}.hero-copy{padding-left:max(56px,calc((100vw - 1320px)/2))}}@media(max-width:1150px){.container{width:calc(100% - 70px)}.main-nav{gap:18px}.main-nav>a{font-size:11px}.hero-copy{padding-left:35px}.hero{min-height:595px}.hero h1{font-size:58px}.split{gap:50px}.contact-layout{gap:50px}.footer-main{gap:25px}.dark-copy{padding:55px}.dark-section .dark-media>img{min-height:560px}.steps{gap:24px}}
@media(max-width:920px){.site-header{height:80px}.container{width:calc(100% - 48px)}.menu-toggle{display:block}.main-nav{position:absolute;display:none;left:0;right:0;top:79px;background:var(--paper);border-bottom:1px solid var(--line);padding:25px;flex-direction:column;align-items:stretch;gap:8px;box-shadow:0 10px 20px #0000000a}.main-nav.open{display:flex}.main-nav>a{font-size:14px;padding:10px}.main-nav>.button{margin-top:10px}.hero{grid-template-columns:45% 55%;min-height:560px}.hero-copy{padding:55px 24px}.hero h1{font-size:51px}.hero-copy p{font-size:14px}.hero .button{gap:15px;padding:14px 17px}.hero .text-link{font-size:10px}.hero-note{font-size:8px}.values{font-size:9px;gap:16px;flex-wrap:wrap}.section{padding:75px 0}.split{gap:35px}.cards{gap:19px}.card-meta h3{font-size:26px}.dark-copy{padding:42px}.dark-copy h2{font-size:43px}.steps{grid-template-columns:1fr 1fr;gap:30px}.journal-cards{gap:22px}.journal-card h3{font-size:23px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.quote-form{padding:30px}.page-intro{padding:45px 0}.article{width:calc(100% - 48px)}}
@media(max-width:640px){.container{width:calc(100% - 40px)}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:47px 20px 40px}.hero h1{font-size:56px;max-width:420px}.hero-copy p{font-size:15px;max-width:390px}.hero-media{height:350px}.hero-media>img{object-position:center}.hero-note{margin-top:28px;font-size:9px}.button-row{gap:20px;margin-top:20px}.values{display:grid;grid-template-columns:1fr 1fr;padding:20px 0;font-size:8px;gap:16px}.values span{gap:7px}.eyebrow{font-size:10px;margin-bottom:18px}.section{padding:58px 0}.section.slim{padding:45px 0}.section-head{display:block;margin-bottom:30px}.section-head h2{margin-bottom:20px}.section-head p{max-width:440px}.section-head .text-link{margin-top:18px}.split,.split.reverse{grid-template-columns:1fr;gap:36px}.split.reverse .intro-copy{order:2}.split img{aspect-ratio:1.15}.image-number{right:-10px;bottom:-14px;width:65px;height:65px;font-size:28px}.cards{grid-template-columns:1fr;gap:33px}.stone-card img{aspect-ratio:1.5}.card-meta h3{font-size:30px}.dark-section{display:flex;flex-direction:column}.dark-section .dark-media>img{min-height:0;height:380px}.dark-copy{padding:46px 25px 54px}.dark-copy h2{font-size:45px}.steps{gap:25px 20px;margin-top:32px}.step h3{font-size:23px}.step p{font-size:13px}.journal-cards{grid-template-columns:1fr;gap:36px}.journal-card h3{font-size:28px}.cta-inner{display:block}.cta-inner .button{margin-top:26px}.cta-band{padding:45px 0}.footer-main{gap:30px 20px}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:320px}.footer-contact{grid-column:1/-1}.site-footer{padding-top:43px}.footer-bottom{font-size:9px;flex-direction:column;gap:12px;margin-top:30px}.page-intro h1{font-size:46px}.page-intro .lede{font-size:17px}.page-hero-img{aspect-ratio:1.35;max-height:480px}.image-caption{font-size:8px;left:16px;bottom:16px;padding:8px 11px}.service-grid{grid-template-columns:1fr;gap:10px}.service-box{padding-top:25px}.finish-tabs{gap:25px}.finish-panel h3{font-size:26px}.faq summary{font-size:21px;line-height:1.4}.faq details p{font-size:14px}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-item:first-child{grid-column:auto}.gallery-item:first-child img{aspect-ratio:1.3}.gallery-item img{aspect-ratio:1.3}.gallery-item figcaption{display:block}.gallery-item figcaption span{display:block;margin-top:10px}.gallery-item h3{font-size:26px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.quote-form{padding:25px 20px}.contact-info{grid-template-columns:1fr;gap:0}.article{padding:40px 0 65px;width:calc(100% - 40px)}.article h2{font-size:30px}.article .callout{padding:20px}.brand-name{font-size:16px}.brand-mark{font-size:33px}.breadcrumb{font-size:10px}.service-box h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.journal-cards.four{grid-template-columns:repeat(2,1fr);gap:45px 35px}@media(max-width:640px){.journal-cards.four{grid-template-columns:1fr;gap:35px}}
@media(max-width:380px){.nav-wrap{gap:12px}.brand-name{font-size:14px;letter-spacing:.12em}.brand small{display:none}.brand-mark{font-size:31px}.menu-toggle{font-size:10px;padding:8px}.menu-lines{margin-left:7px}}
