:root{--ink:#291811;--brown:#5e321f;--rust:#9e4822;--orange:#d86b2b;--cream:#fbf6ee;--tan:#ead8c0;--sage:#65705b;--line:#2918112e;--page-gutter:clamp(1.25rem, 4vw, 4rem);--content-max:80rem;--visual-max:100rem;--section-space:clamp(4.5rem, 7vw, 7.5rem);--section-space-tight:clamp(4rem, 5.5vw, 6rem);--serif:Georgia, "Times New Roman", serif;--sans:"Avenir Next", "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a,button{touch-action:manipulation;-webkit-tap-highlight-color:#9e48222e}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em;text-wrap:balance;font-weight:400;line-height:1.05}h1{font-size:clamp(3rem,7vw,6.5rem)}h2{font-size:clamp(2.15rem,4vw,4.1rem)}h3{font-size:1.5rem}.skip-link{z-index:9;color:var(--cream);background:var(--ink);padding:.7rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header{min-height:72px;padding-inline:var(--page-gutter);border-bottom:1px solid var(--line)}.site-header__inner{width:100%;max-width:var(--content-max);justify-content:space-between;align-items:center;min-height:72px;margin-inline:auto;display:flex}.brand{align-items:center;text-decoration:none;display:flex}.brand-mark{border:1px solid var(--rust);width:2.45rem;height:2.45rem;color:var(--cream);background:var(--rust);font-family:var(--serif);letter-spacing:.04em;border-radius:50%;place-items:center;padding-left:.04em;font-size:1rem;line-height:1;display:grid}nav ul{align-items:center;gap:clamp(.75rem,2vw,2rem);margin:0;padding:0;list-style:none;display:flex}nav a{letter-spacing:.09em;text-transform:uppercase;font-size:.78rem;font-weight:600;text-decoration:none;transition:color .25s cubic-bezier(.16,1,.3,1),background .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1)}nav a:not(.nav-cta):hover{color:var(--rust)}.nav-cta{border:1px solid var(--ink);padding:.65rem .95rem}.nav-cta:hover{color:var(--cream);background:var(--ink)}.nav-cta:active{transform:translateY(1px)}.hero{min-height:calc(100svh - 72px);color:var(--cream);background:var(--ink);display:grid;position:relative;overflow:hidden}.hero img{object-fit:cover;object-position:center;opacity:.65;width:100%;height:100%;position:absolute}.hero:after{content:"";background:linear-gradient(90deg,#1b100ccc,#1b100c1f 78%);position:absolute;inset:0}.hero-copy{z-index:1;width:min(calc(100% - (2 * var(--page-gutter))), var(--content-max));align-self:end;margin-inline:auto;padding-block:clamp(3.5rem,8vh,6rem);position:relative}.hero h1{max-width:11ch;margin-bottom:1.25rem;font-size:clamp(3.25rem,6vw,5.75rem)}.hero-text{color:#fff4e4;max-width:42ch;font-family:var(--serif);margin-bottom:2rem;font-size:clamp(1.2rem,1.9vw,1.55rem);font-style:italic;line-height:1.25}.button{min-height:3.25rem;color:var(--cream);background:var(--rust);font:inherit;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border:0;align-items:center;gap:.8rem;padding:.55rem .6rem .55rem 1.15rem;font-size:.76rem;font-weight:700;text-decoration:none;transition:background .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.button>span{background:#ffffff24;place-items:center;width:2.1rem;height:2.1rem;transition:transform .3s cubic-bezier(.16,1,.3,1);display:grid}.button:hover{background:var(--orange);transform:translateY(-2px)}.button:hover>span{transform:translate(2px)}.button:active{transform:translateY(1px)scale(.985)}.button--light{color:var(--ink);background:var(--cream)}.button--light:hover{background:#fff}.button--light>span{background:#29181117}.section{padding:var(--section-space) var(--page-gutter)}.intro{padding:var(--section-space-tight) var(--page-gutter) calc(var(--section-space-tight) * 1.12)}.intro-inner{width:100%;max-width:var(--content-max);align-items:end;gap:clamp(2.5rem,7vw,8rem);margin-inline:auto;display:grid}.intro h2{max-width:14ch;margin-bottom:0;font-size:clamp(2.55rem,3.55vw,3.65rem)}.lead{text-wrap:pretty;max-width:34ch;margin:0;font-size:clamp(1.05rem,1.25vw,1.2rem);line-height:1.75}.feature-grid{max-width:var(--visual-max);margin-inline:auto;display:grid}.feature{background:var(--tan);min-height:clamp(22rem,35vw,38rem)}.feature img{width:100%;height:100%;min-height:inherit;object-fit:cover}.feature--copy{color:var(--cream);background:var(--brown);flex-direction:column;justify-content:center;padding:clamp(2.75rem,5vw,5rem);display:flex}.eyebrow{color:var(--rust);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem;font-size:.72rem;font-weight:700}.feature--copy .eyebrow,.inquiry .eyebrow{color:#ffc17f}.feature--copy h2{max-width:10ch}.feature--copy p:not(.eyebrow){max-width:36ch}.text-link{width:fit-content;color:var(--rust);letter-spacing:.09em;text-underline-offset:5px;text-transform:uppercase;margin-top:1rem;font-size:.76rem;font-weight:700;text-decoration-thickness:1px;transition:color .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);display:inline-block}.text-link:hover{transform:translate(3px)}.feature--copy .text-link{color:#fff0d7}.steps{padding:var(--section-space) var(--page-gutter) calc(var(--section-space) * 1.08);background:#f1e5d5}.steps-inner{width:100%;max-width:var(--content-max);margin-inline:auto}.steps h2{max-width:15ch;margin-bottom:0}.steps ol{border-top:1px solid var(--line);gap:clamp(1.75rem,4vw,3.5rem);margin:clamp(2.75rem,5vw,4.5rem) 0 0;padding:1.35rem 0 0;list-style:none;display:grid}.steps li{padding-top:0}.process span{color:var(--orange);font-family:var(--serif);font-size:1.5rem}.steps li p{margin-bottom:0;font-size:.96rem}.inquiry{padding:var(--section-space) var(--page-gutter) calc(var(--section-space) * 1.08);color:var(--cream);background:var(--rust)}.inquiry-inner{width:100%;max-width:var(--content-max);align-items:start;gap:clamp(2.5rem,6vw,6rem);margin-inline:auto;display:grid}.inquiry h2{max-width:11ch;margin-bottom:1rem}.inquiry-copy>p:not(.eyebrow):not(.contact-note){max-width:32ch}.contact-note{color:#fff0d7;margin:2rem 0 0;font-size:.85rem}.contact-note a{color:inherit}.inquiry-form,.form-row{gap:1rem;display:grid}.inquiry-form label{color:#fff0d7;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font-size:.74rem;font-weight:700;display:block}.inquiry-form label span{opacity:.7;text-transform:none;font-weight:400}.inquiry-form input,.inquiry-form textarea{width:100%;color:var(--ink);background:var(--cream);font:inherit;border:1px solid #ffffff8c;border-radius:0;padding:.8rem .9rem;transition:background .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1)}.inquiry-form input:focus-visible,.inquiry-form textarea:focus-visible{border-color:var(--ink);background:#fff}.inquiry-form textarea{resize:vertical;min-height:7rem}.inquiry-form button{justify-self:start;margin-top:.5rem}.inquiry-form button:disabled{cursor:wait;opacity:.75;transform:none}.form-status{color:#fff0d7;min-height:1.6em;margin:0;font-size:.9rem}.form-status--success{color:#fff8d9}.page-hero{padding:clamp(4rem, 10vw, 9rem) var(--page-gutter);text-align:center}.page-hero h1{max-width:14ch;margin:0 auto 1.5rem}.page-hero>p:last-child{max-width:52ch;font-family:var(--serif);margin:auto;font-size:1.25rem}.page-hero--warm{background:#f0ddc3}.service-list{gap:clamp(3rem,10vw,10rem);display:grid}.service-list article{border-top:1px solid var(--line);padding-top:1.5rem}.service-list h2{font-size:clamp(2rem,3.5vw,3.25rem)}.service-list ul{padding-left:1.2rem}.service-list li{padding:.45rem 0}.quote-block{padding:clamp(4rem, 10vw, 8rem) var(--page-gutter);color:var(--cream);background:var(--sage);text-align:center}.quote-block p{max-width:21ch;font-family:var(--serif);margin:0 auto;font-size:clamp(2rem,4.6vw,4.7rem);line-height:1.15}.gallery{gap:1.5rem;display:grid}.gallery figure{margin:0}.gallery img{object-fit:cover;width:100%;height:clamp(19rem,45vw,39rem)}.gallery figcaption{padding:.8rem 0;font-size:.85rem;font-style:italic}.process{gap:2rem;display:grid}.process article{border-top:1px solid var(--line);padding:2rem 0}.process h2{font-size:clamp(1.9rem,3vw,2.8rem)}.legal{max-width:56rem}.legal h1{margin-bottom:2rem;font-size:clamp(2.8rem,5vw,5rem)}.legal h2{margin-top:3rem;font-size:clamp(1.65rem,3vw,2.5rem)}.legal a{color:var(--rust)}.not-found{max-width:50rem;min-height:55vh}.not-found p{max-width:45ch;font-family:var(--serif);font-size:1.3rem}.not-found-links{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.not-found-links .text-link{margin:0}.site-footer{padding:clamp(2.5rem, 6vw, 5rem) var(--page-gutter) 1.5rem;color:#eadbc7;background:var(--ink)}.site-footer__inner{width:100%;max-width:var(--content-max);margin-inline:auto}.footer-top{border-bottom:1px solid #fff3;justify-content:space-between;align-items:flex-start;gap:2rem;padding-bottom:3rem;display:flex}.footer-top p{max-width:28ch;margin:0}.footer-links{gap:2rem;padding:2.5rem 0;display:grid}.footer-links div{flex-direction:column;gap:.45rem;display:flex}.footer-links .eyebrow{color:#f7b56c}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-links span{opacity:.7}.footer-bottom{border-top:1px solid #fff3;flex-wrap:wrap;gap:1rem 2rem;padding-top:1.5rem;font-size:.8rem;display:flex}.footer-bottom a{color:#fff0d7}@media (width>=768px){.intro-inner{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.intro-inner h2{grid-area:1/2}.intro-inner .lead{grid-area:1/1}.form-row,.service-list,.footer-links,.gallery{grid-template-columns:repeat(2,1fr)}.gallery-main{grid-column:1/-1}.gallery>figure:not(.gallery-main) img{height:31rem}}@media (width>=900px){.feature-grid{grid-template-columns:1.2fr .65fr .65fr}.steps ol,.process{grid-template-columns:repeat(3,1fr)}.inquiry-inner{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}@media (width>=1100px){.steps h2{white-space:nowrap;max-width:none;font-size:clamp(2.4rem,3.7vw,3.85rem)}.inquiry h2{white-space:nowrap;max-width:none;font-size:clamp(2rem,2.65vw,3rem)}}@media (width<=767px){.site-header nav li:not(:last-child){display:none}.hero{min-height:40rem}.hero-copy{padding-bottom:4rem}.intro{padding-bottom:4.75rem}.intro h2{font-size:clamp(2.4rem,12vw,3.25rem)}.gallery img,.gallery>figure:not(.gallery-main) img{height:22rem}.footer-top{display:block}.footer-top p{margin-top:1.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
