:root{color-scheme:light;--color-ink: #211711;--color-espresso: #3d281d;--color-copper: #b0592b;--color-ochre: #d49b42;--color-cream: #fff8ee;--color-paper: #f6eadb;--color-clay: #d8b998;--color-forest: #14534b;--color-mint: #e2f0e8;--color-muted: #6f5a49;--font-display: Georgia, "Times New Roman", serif;--font-body: "Avenir Next", Avenir, "Segoe UI", sans-serif;--page-max: 1120px}*,*:before,*:after{box-sizing:border-box}html{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);scroll-behavior:smooth}body{min-width:320px;margin:0;background:var(--color-paper);color:var(--color-ink);font-size:16px;line-height:1.5}img,video{max-width:100%}a{color:inherit}button,input,textarea{letter-spacing:0}:focus-visible{outline:3px solid var(--color-forest);outline-offset:3px}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:max(10px,env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid rgba(33,23,17,.08);background:#fff8eef0;backdrop-filter:blur(16px)}.brand-lockup{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--color-ink);text-decoration:none}.brand-lockup__mark{width:44px;height:44px;object-fit:contain}.brand-lockup__text{font-family:var(--font-display);font-size:1.16rem;font-weight:800}.site-nav{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(33,23,17,.1);border-radius:8px;background:#ffffff6b}.site-nav__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:6px;padding:0 12px;color:var(--color-muted);font-weight:800;text-decoration:none}.site-nav__link.is-active{color:var(--color-cream);background:var(--color-ink)}.hero{position:relative;display:grid;align-items:end;min-height:86svh;padding:96px 20px 42px;color:var(--color-cream);--hero-position: center 78%;background-image:var(--hero-image);background-position:var(--hero-position);background-size:cover;background-repeat:no-repeat}.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,#21171133,#211711c7),linear-gradient(90deg,#21171194,#2117111a)}.hero__content{position:relative;display:grid;gap:14px;max-width:640px}.hero__mark{width:74px;height:74px;object-fit:contain}.eyebrow{margin:0;color:var(--color-copper);font-size:.8rem;font-weight:900;text-transform:uppercase}.hero .eyebrow{color:var(--color-ochre)}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{letter-spacing:0}h1{margin:0;font-family:var(--font-display);font-size:3.4rem;line-height:.96}h2{margin:0;font-family:var(--font-display);font-size:2.05rem;line-height:1.04}h3{font-family:var(--font-display)}.hero__copy{max-width:34rem;margin:0;color:#fff8eeeb;font-size:1.06rem}.hero__actions,.final-panel__actions{display:flex;flex-wrap:wrap;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:8px;padding:0 16px;font-weight:900;text-align:center;text-decoration:none}.button--primary{color:var(--color-cream);background:var(--color-copper)}.button--light{border:1px solid rgba(255,248,238,.5);color:var(--color-cream);background:#fff8ee1f}.button--secondary{border:1px solid rgba(33,23,17,.16);color:var(--color-ink);background:var(--color-cream)}.section{padding:54px 20px}.section__inner{width:min(100%,var(--page-max));margin-inline:auto}.section--intro{background:var(--color-cream)}.intro-grid,.process-layout{display:grid;gap:20px}.intro-grid p,.section-heading p,.final-panel p,.booking-hero p{color:var(--color-muted)}.section-heading{display:grid;gap:8px;margin-bottom:22px}.section--services{background:var(--color-paper)}.service-list{display:grid;gap:12px}.service-card,.process-step,.final-panel,.booking-shell{border:1px solid rgba(74,52,38,.12);border-radius:8px;background:var(--color-cream)}.service-card{display:grid;gap:8px;padding:18px}.service-card h3,.service-card p{margin:0}.service-card p,.service-card span{color:var(--color-muted)}.service-card__price{color:var(--color-copper);font-weight:900}.section--gallery{background:var(--color-cream)}.section--process{background:var(--color-ink);color:var(--color-cream)}.section--process .eyebrow{color:var(--color-ochre)}.section--process p{color:#fff8eec7}.process-list{display:grid;gap:12px}.process-step{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px;background:#fff8ee14}.process-step span{color:var(--color-ochre);font-weight:900}.process-step p{margin:0}.section--final{background:var(--color-paper)}.final-panel{display:grid;gap:18px;padding:20px}.final-panel img{width:64px;height:64px;object-fit:contain}.final-panel h2,.final-panel p{margin:0}.booking-hero{padding:22px 20px 18px;background:var(--color-ink);color:var(--color-cream)}.booking-hero__inner{display:grid;gap:8px;width:min(100%,680px);margin-inline:auto}.booking-hero__mark{width:54px;height:54px;object-fit:contain}.booking-hero h1{max-width:12ch;font-size:2.1rem}.booking-hero .eyebrow{color:var(--color-ochre)}.back-link{display:inline-flex;align-items:center;min-height:44px;width:fit-content;color:var(--color-ochre);font-weight:900;text-decoration:none}.section--booking{padding-top:18px}.booking-shell{padding:20px}@media(max-width:520px){.hero{--hero-position: center 66%}}@media(min-width:760px){.site-header{padding-inline:32px}.hero{--hero-position: center 64%;min-height:82svh;padding-inline:42px;padding-bottom:64px}.hero__mark{width:86px;height:86px}h1{font-size:5.6rem}h2{font-size:3rem}.section{padding:78px 32px}.intro-grid,.process-layout{grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start}.service-list{grid-template-columns:repeat(3,minmax(0,1fr))}.final-panel{grid-template-columns:auto 1fr auto;align-items:center;padding:28px}.booking-hero{padding:52px 32px 34px}.booking-hero h1{max-width:none;font-size:4rem}.booking-shell{padding:28px}}@media(hover:hover)and (pointer:fine){.button,.site-nav__link{transition:transform .18s ease,background-color .18s ease}.button:hover,.site-nav__link:hover{transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
