:root{--paper:#f4f0e7;--paper-2:#e7dfd0;--ink:#171714;--muted:#686258;--rule:#bcb3a3;--red:#b43824;--red-dark:#8e2b1c;--green:#315d50;--white:#fffdf8;--max:84rem;--read:48rem;--serif:Georgia,"Times New Roman",serif;--sans:Arial,"Helvetica Neue",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65}img{display:block;max-width:100%;height:auto}picture{display:block}a{color:inherit;text-underline-offset:.2em}a:hover{color:var(--red)}:focus-visible{outline:3px solid var(--red);outline-offset:4px}.shell{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.reading{width:min(calc(100% - 2rem),var(--read));margin-inline:auto}.skip-link{position:fixed;z-index:1000;left:1rem;top:-5rem;background:var(--ink);color:var(--white);padding:.75rem 1rem}.skip-link:focus{top:1rem;color:var(--white)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(244,240,231,.97);border-bottom:1px solid var(--ink)}.header-inner{min-height:4.7rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:grid;text-decoration:none;line-height:1}.brand img{width:10.5rem;height:auto}.brand span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin-top:.28rem}.desktop-nav{display:none}.mobile-nav{position:relative}.mobile-nav summary{cursor:pointer;list-style:none;min-width:3rem;min-height:3rem;display:grid;place-items:center;font-weight:700}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] nav{position:fixed;top:4.75rem;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--ink);padding:1rem}.mobile-nav nav{display:grid}.mobile-nav a{padding:.8rem 1rem;text-decoration:none;border-top:1px solid var(--rule)}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:.98;margin:0 0 1rem;letter-spacing:-.035em}h1{font-size:clamp(3rem,11vw,7.4rem)}h2{font-size:clamp(2.25rem,7vw,4.8rem)}h3{font-size:1.65rem;line-height:1.08}.lead{font-family:var(--serif);font-size:clamp(1.2rem,2.5vw,1.65rem);line-height:1.42;max-width:42rem}.kicker,.section-number,.card-number{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--red)}.button-row{display:flex;flex-direction:column;gap:1rem;align-items:stretch;margin-top:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;padding:.75rem 1.1rem;background:var(--red);color:var(--white);font-weight:700;text-decoration:none;border:1px solid var(--red);text-align:center}.button:hover{background:var(--red-dark);color:var(--white)}.button-light{background:var(--white);color:var(--ink);border-color:var(--white)}.button-light:hover{background:var(--paper-2);color:var(--ink)}.text-link{font-weight:700;min-height:3rem;display:inline-flex;align-items:center}.text-link::after{content:" →";margin-left:.35rem}
.home-hero,.page-hero{padding:clamp(3rem,8vw,7rem) 0;border-bottom:1px solid var(--ink)}.hero-grid,.page-hero-grid,.promo-grid,.split{display:grid;gap:2rem}.hero-image img,.page-hero-image img{width:100%;aspect-ratio:3/2;object-fit:cover}.page-hero.compact h1{font-size:clamp(3rem,9vw,6rem)}.page-hero-grid:has(> picture){align-items:end}.section-intro{max-width:52rem;margin-bottom:2.5rem}.gallery-section,.services-preview,.process,.topics,.benefits,.service-list{padding:clamp(4rem,9vw,8rem) 0}.gallery-grid{display:grid;gap:2rem}.gallery-grid figure{margin:0;border-top:1px solid var(--ink);padding-top:.7rem}.gallery-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}.gallery-grid figcaption{display:flex;gap:1rem;padding-top:.65rem;font-family:var(--serif);font-size:1.1rem}.gallery-grid figcaption span{font-family:var(--sans);color:var(--red);font-size:.75rem;font-weight:700}.promo{padding:clamp(4rem,9vw,8rem) 0;border-top:1px solid var(--ink)}.promo-alt{background:var(--paper-2)}.promo-grid{align-items:center}.promo-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}.card-grid{display:grid;border-top:1px solid var(--ink)}.card{padding:1.5rem 0;border-bottom:1px solid var(--ink)}.card p:last-child{margin-bottom:0}.about-preview{padding:clamp(4rem,9vw,8rem) 0;background:var(--green);color:var(--white)}.about-preview .kicker{color:#efd2c8}.contact-band,.feature-cta{padding:clamp(3rem,8vw,6rem) 0;background:var(--ink);color:var(--white)}.contact-band .kicker,.feature-cta .kicker{color:#ef9d8d}.contact-band address{display:grid;gap:.5rem;font-style:normal}.contact-band address a{font-size:1.1rem;font-weight:700;overflow-wrap:anywhere}.text-section{padding:clamp(3.5rem,8vw,6rem) 0;border-bottom:1px solid var(--rule)}.text-section h2{font-size:clamp(2.25rem,6vw,4.3rem)}.text-section p{font-size:1.06rem}.text-section h3{margin-top:2rem}.field-note{margin-top:2rem;border-left:4px solid var(--red);padding:1rem 1.25rem;background:var(--paper-2);display:grid}.field-note span{color:var(--muted)}.feature-cta h2,.contact-band h2{font-size:clamp(2.3rem,6vw,4rem)}.details-grid{display:grid;border-top:1px solid var(--ink);margin-top:2rem}.details-grid>div{padding:1.25rem 0;border-bottom:1px solid var(--ink);display:grid;gap:.35rem}.details-grid span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.details-grid a{font-size:1.1rem;font-weight:700;overflow-wrap:anywhere}.details-grid address{font-style:normal}.contact-details{padding:clamp(4rem,8vw,7rem) 0;background:var(--paper-2);scroll-margin-top:5rem}.error-actions{padding:2rem 0 7rem}
.site-footer{background:#0e0e0c;color:var(--white);padding:4rem 0 1.5rem}.footer-grid{display:grid;gap:2.5rem}.footer-brand img{filter:invert(1);margin-bottom:1rem}.footer-brand p{max-width:25rem;color:#cfc9bf}.site-footer nav{display:grid;align-content:start;gap:.45rem}.site-footer h2{font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#ef9d8d;margin-bottom:.5rem}.site-footer a{text-decoration:none}.footer-bottom{border-top:1px solid #4d4b46;margin-top:3rem;padding-top:1rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#aaa59c;font-size:.82rem}
@media (min-width:48rem){.shell{width:min(calc(100% - 4rem),var(--max))}.reading{width:min(calc(100% - 4rem),var(--read))}.button-row{flex-direction:row;align-items:center}.hero-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center}.page-hero-grid:has(> picture),.promo-grid,.split{grid-template-columns:1fr 1fr}.promo-alt .promo-grid>div{order:0}.gallery-grid{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:repeat(2,1fr);column-gap:2rem}.card-grid .card{padding:2rem 0}.details-grid,.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}.feature-cta .button{justify-self:end;align-self:center}.contact-band .split{align-items:start}}
@media (min-width:64rem){.desktop-nav{display:flex;align-items:center;gap:1.15rem}.desktop-nav a{text-decoration:none;font-weight:700;font-size:.88rem;min-height:2.75rem;display:flex;align-items:center}.desktop-nav a:last-child{background:var(--red);color:var(--white);padding:0 1rem}.mobile-nav{display:none}.card-grid{grid-template-columns:repeat(3,1fr)}.card-grid-two{grid-template-columns:repeat(2,1fr)}.card-grid .card{padding:2rem 1rem 2rem 0}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-brand{grid-column:auto}.details-grid{grid-template-columns:repeat(4,1fr);gap:2rem}.details-grid>div{padding-right:1rem}.page-hero-grid:not(:has(> picture)){grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
