@charset "UTF-8";
:root{--paper:#f9f8f4;--white:#fff;--ink:#302e28;--muted:#686359;--gold:#927332;--gold-dark:#765b24;--line:#ddd7c8;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--gold-dark);outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}button,a{-webkit-tap-highlight-color:transparent}em{color:var(--gold);font-weight:400}::selection{background:#dfcea3;color:var(--ink)}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:1.3rem;height:1.3rem;flex-shrink:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:20;background:var(--ink);color:white;padding:12px 20px}.skip-link:focus{top:12px}.section-wrap{width:min(1240px,88%);margin-inline:auto}
.header{width:min(1360px,92%);min-height:116px;margin:auto;padding:20px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:14px}.logo-emblem{position:relative;display:block;width:58px;height:58px;overflow:hidden;flex-shrink:0;border-radius:50%;mix-blend-mode:multiply}.logo-emblem img{position:absolute;width:568.46%;max-width:none;height:auto;left:-231.5%;top:-830.7%}.brand-name{font-family:var(--serif);font-size:1.1rem;letter-spacing:.03em;line-height:1.2}.brand-name>span{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.21em;color:var(--muted);margin-top:7px}.header nav{display:flex;gap:34px;font-size:.875rem}.header nav a{padding-block:10px;border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--gold)}
.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:6%;align-items:center;padding-block:58px 70px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold-dark);font-size:.75rem;font-weight:500;line-height:1.5}.hero .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:26px}.hero .eyebrow>span{width:30px;height:1px;background:var(--gold)}h1{font-family:var(--serif);font-size:clamp(3.1rem,5.1vw,5.1rem);line-height:1.07;font-weight:400;letter-spacing:-.05em}h1 em{display:inline-block;margin-top:4px}.hero-description{color:var(--muted);margin:25px 0 30px;font-size:1.0625rem;line-height:1.75}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 25px;min-height:56px;font-size:1rem;font-weight:500;border:1px solid transparent;border-radius:3px;transition:background .18s,transform .18s}.primary{color:var(--white);background:var(--gold-dark)}.primary:hover{background:#5e481e;transform:translateY(-1px)}.text-link{display:flex;width:max-content;align-items:center;gap:15px;margin-top:22px;font-size:.875rem}.text-link:hover{color:var(--gold-dark)}.text-link .icon{width:18px}.hero-signature{display:flex;align-items:center;gap:16px;margin-top:49px;color:var(--muted);font-family:var(--serif);font-size:.95rem;font-style:italic}.fine-line{display:block;background:var(--line);height:1px;width:48px}.hero-visual{position:relative;padding:12px 12px 0 0;max-width:520px;width:100%;justify-self:end}.hero-image-frame{position:relative;aspect-ratio:4/4.6;border-radius:48% 48% 3px 3px;overflow:hidden}.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 51%}.hero-visual:before{content:'';position:absolute;top:0;right:0;width:calc(100% - 20px);height:calc(100% - 47px);border:1px solid #ba9a55;border-radius:48% 48% 3px 3px;pointer-events:none}.hero-visual figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:17px;font-size:.75rem;color:var(--muted);letter-spacing:.025em}.hero-visual figcaption>span:last-child{display:flex;align-items:center;gap:8px;color:var(--ink)}.hero-visual figcaption .icon{width:15px;height:15px}.hero-label{position:absolute;left:-45px;bottom:78px;background:var(--paper);border:1px solid #d8c7a0;box-shadow:0 5px 25px #302e2810;width:132px;height:132px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--serif);line-height:1.3;font-size:1.15rem;transform:rotate(-9deg)}.hero-label em{font-size:1.5rem}
.services{padding:76px 0 44px;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:38px}.section-heading h2,.appointment h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.25rem,3.3vw,3.3rem);line-height:1.15;letter-spacing:-.04em;margin-top:13px}.section-heading>p{color:var(--muted);font-size:.9375rem;line-height:1.7;max-width:290px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.service-photo{aspect-ratio:3/3.8;position:relative;overflow:hidden;border-radius:2px;background:#eceae4}.service-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 47%;transition:transform .5s}.service-card:hover .service-photo img{transform:scale(1.03)}.maintenance-photo img{object-position:50% 55%}.photo-tag{position:absolute;bottom:14px;left:14px;background:#ffffffed;color:var(--ink);padding:5px 10px;font-size:.75rem;letter-spacing:.015em}.service-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:5px 10px;margin:19px 0 8px}.service-top h3{font-family:var(--serif);font-size:1.35rem;font-weight:400;letter-spacing:-.015em;line-height:1.25}.price{white-space:nowrap;font-size:1rem;color:var(--gold-dark);line-height:1.6}.price>span{font-size:.8rem}.service-description{color:var(--muted);font-size:.9375rem;line-height:1.6;min-height:4.8em}.service-link{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;min-height:46px;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--gold-dark);gap:12px}.service-link:hover{color:var(--ink)}.service-link .icon{width:18px;height:18px}.extras{display:grid;grid-template-columns:.85fr 1fr 1.3fr;align-items:center;gap:35px;background:var(--paper);margin-top:48px;padding:28px 30px;border:1px solid #e5e0d4}.extras-title>p:last-child{font-family:var(--serif);font-size:1.5rem;margin-top:5px}.extra-item{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:48px;padding-left:26px;border-left:1px solid var(--line);font-size:.9375rem}.extra-item>span:last-child{display:flex;align-items:center;gap:12px;white-space:nowrap;color:var(--gold-dark)}.extra-item small{display:block;color:var(--muted);font-size:.75rem}.extra-item .icon{width:16px;height:16px}.extra-item:hover{text-decoration:underline;text-underline-offset:4px}.services-note{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:22px;color:var(--muted)}.services-note p{font-size:.875rem}.services-note>span{font-size:.75rem;white-space:nowrap}
.appointment{padding-block:90px 82px;display:grid;grid-template-columns:1.05fr 1fr;gap:13%;align-items:center}.appointment-copy>p:not(.eyebrow):not(.appointment-note){color:var(--muted);max-width:420px;margin:23px 0 27px;font-size:1rem}.appointment .appointment-note{font-size:.8125rem;color:var(--muted);margin-top:12px}.contact-details{padding:16px 0 16px 43px;border-left:1px solid var(--line)}.contact-row{display:flex;gap:19px;align-items:flex-start}.contact-row+.contact-row{margin-top:31px;padding-top:31px;border-top:1px solid var(--line)}.contact-icon{width:23px;height:23px;color:var(--gold-dark);margin-top:3px}.contact-row h3{font-family:var(--serif);font-weight:400;font-size:1.45rem;margin-bottom:9px;line-height:1.4}.contact-row address{font-style:normal;color:var(--muted);line-height:1.8}.contact-row p{font-size:.875rem;color:var(--muted);margin-top:5px}.phone-link{font-size:1.1rem;color:var(--gold-dark)}.phone-link:hover{text-decoration:underline;text-underline-offset:4px}.footer{border-top:1px solid var(--line);width:min(1360px,92%);margin:auto;padding:31px 0;display:flex;justify-content:space-between;gap:24px;align-items:center}.footer-name{font-family:var(--serif);font-size:1.2rem}.footer-name>span{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.17em;margin-top:3px;color:var(--muted)}.footer>p{font-size:.875rem;color:var(--muted);font-family:var(--serif);font-style:italic}.mobile-booking{display:none}
@media(min-width:1500px){.hero{padding-block:72px 86px}.hero-image-frame{aspect-ratio:4/4.8}}
@media(max-width:1100px){.section-wrap{width:89%}.header{width:92%}.hero{gap:5%;padding-top:44px}h1{font-size:clamp(3rem,5.4vw,4rem)}.hero-description{font-size:1rem}.hero-label{width:105px;height:105px;left:-22px;font-size:1rem}.hero-label em{font-size:1.25rem}.hero-signature{margin-top:32px}.service-grid{gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}.service-photo{aspect-ratio:4/4.4}.service-description{min-height:3.2em}.extras{grid-template-columns:1fr 1fr;gap:20px;padding:25px}.extras-title{grid-column:1/-1}.extra-item{padding-left:0;border-left:0}.extra-item:last-child{padding-left:20px;border-left:1px solid var(--line)}.appointment{gap:7%}.contact-details{padding-left:27px}}
@media(max-width:700px){html{scroll-padding-top:20px}.section-wrap{width:calc(100% - 40px)}.header{min-height:88px;width:calc(100% - 36px);padding-block:16px;gap:10px}.logo-emblem{width:47px;height:47px}.brand{gap:9px}.brand-name{font-size:.92rem}.brand-name>span{font-size:.75rem;letter-spacing:.16em;margin-top:5px}.header nav{display:none}.hero{grid-template-columns:1fr;padding-top:33px;padding-bottom:42px;gap:32px}.hero-copy{text-align:center}.hero .eyebrow{justify-content:center;margin-bottom:19px;font-size:.75rem}.hero .eyebrow>span{width:24px}h1{font-size:clamp(3rem,11.5vw,4.1rem);line-height:1.06;letter-spacing:-.05em}.hero-description{font-size:1rem;line-height:1.7;margin:21px 0 24px}.hero-copy .button{width:100%;max-width:360px}.text-link{margin:17px auto 0;gap:12px}.hero-signature{display:none}.hero-visual{width:94%;max-width:410px;justify-self:center;padding-right:9px;padding-top:9px}.hero-image-frame{aspect-ratio:1/1.07}.hero-visual:before{height:calc(100% - 43px);width:calc(100% - 15px)}.hero-label{left:-12px;bottom:54px;width:96px;height:96px;font-size:.875rem}.hero-label em{font-size:1.2rem}.hero-visual figcaption{font-size:.75rem;gap:10px;padding-top:14px}.services{padding-block:43px 30px}.section-heading{display:block;margin-bottom:26px}.section-heading h2,.appointment h2{font-size:2.5rem;margin-top:10px}.section-heading>p{margin-top:17px;font-size:.9375rem;max-width:none}.service-grid{gap:32px;grid-template-columns:1fr}.service-photo{aspect-ratio:1/1.05}.service-photo img{object-position:50% 47%}.maintenance-photo img{object-position:50% 54%}.photo-tag{bottom:15px;left:15px;font-size:.8125rem;padding:6px 12px}.service-top{margin-top:17px;gap:10px;flex-wrap:nowrap}.service-top h3{font-size:1.55rem}.price{font-size:1.15rem}.price>span{font-size:.875rem}.service-description{font-size:1rem;min-height:0}.service-link{margin-top:16px;padding-block:12px 0;font-size:.9375rem;min-height:48px}.extras{margin-top:36px;padding:23px;grid-template-columns:1fr;gap:0}.extras-title{margin-bottom:8px}.extras-title>p:last-child{font-size:1.6rem}.extra-item,.extra-item:last-child{border-left:0;border-top:1px solid var(--line);padding:17px 0;gap:15px}.extra-item:first-of-type{margin-top:14px}.extra-item:last-child{padding-bottom:0}.extra-item small{font-size:.8125rem}.services-note{display:block;padding-top:19px}.services-note p{font-size:.875rem;line-height:1.6}.services-note>span{display:block;margin-top:12px;font-size:.75rem}.appointment{padding-block:46px;grid-template-columns:1fr;gap:34px}.appointment-copy>p:not(.eyebrow):not(.appointment-note){margin-top:18px;margin-bottom:23px}.appointment .button{width:100%}.appointment .appointment-note{text-align:center}.contact-details{padding:30px 0 0;border-left:0;border-top:1px solid var(--line)}.contact-row+.contact-row{margin-top:26px;padding-top:26px}.contact-row h3{font-size:1.35rem}.footer{width:calc(100% - 40px);padding:26px 0 115px;display:block;text-align:center}.footer>p{margin-top:15px;font-size:.875rem}.mobile-booking{display:block;position:fixed;z-index:10;bottom:0;left:0;width:100%;padding:11px 20px max(11px,env(safe-area-inset-bottom));background:#f9f8f4f5;border-top:1px solid var(--line);backdrop-filter:blur(10px)}.mobile-booking .button{width:100%;min-height:52px;padding:13px 14px;font-size:.9375rem}}
@media(max-width:360px){.section-wrap{width:calc(100% - 32px)}h1{font-size:2.8rem}.section-heading h2,.appointment h2{font-size:2.2rem}.service-top{flex-wrap:wrap}.brand-name{font-size:.86rem}.hero-label{left:-9px}.button{padding-inline:15px}.extra-item{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
