:root{--ink:#131109;--text:#30302e;--cream:#f6f5ee;--cream-deep:#f2efe5;--accent:#f79a35;--accent-hover:#e2851d;--brown:#7b4718;--logo-ink:#4a4a4a;--nav-ink:#3d3d3d;--white:#fff;--line:rgba(19,17,9,.18);--line-light:rgba(255,255,255,.14);--muted-light:rgba(255,255,255,.72);--max:1200px;--wide:1300px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--cream);font-family:"Montserrat",Arial,sans-serif;font-size:15px;font-weight:500;line-height:1.8}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--ink);font-family:"Prata",Georgia,serif;font-weight:400;line-height:1.45}h1{margin-bottom:10px;color:var(--white);font-size:clamp(40px,4.6vw,72px)}h2{margin-top:48px;margin-bottom:18px;font-size:clamp(27px,3vw,40px)}h3{margin-top:36px;margin-bottom:12px;font-size:24px}h4{margin-top:26px;margin-bottom:10px;font-size:19px}.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.wide-wrap{width:min(calc(100% - 40px),var(--wide));margin-inline:auto}.heading--brown{color:var(--brown)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-width:210px;padding:15px 30px;border:0;border-radius:40px;color:var(--white);background:var(--accent);font-size:14px;font-weight:700;letter-spacing:1px;line-height:1.2;text-decoration:none;text-transform:uppercase;transition:background .25s ease,transform .25s ease}.button:hover,.button:focus-visible{background:var(--accent-hover);transform:translateY(-2px)}.button:focus-visible,.form-button:focus-visible,.nav-toggle:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(247,154,53,.38);outline-offset:3px}
/* ---------- Header ---------- */
.site-header{position:relative;z-index:30;background:var(--cream)}
.topbar{color:var(--white);background:var(--brown);font-size:14px;font-weight:500}.topbar__inner{display:flex;justify-content:flex-end;align-items:center;gap:22px;min-height:42px}.topbar a{color:var(--white);text-decoration:none;transition:opacity .2s ease}.topbar a:hover{opacity:.8}.topbar__divider{width:1px;height:20px;background:rgba(255,255,255,.45)}
.nav-bar{position:relative;background:var(--cream)}.nav-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:96px}
.logo{display:grid;justify-items:center;gap:5px;color:var(--logo-ink);text-decoration:none}.logo__name{font-family:"Prata",Georgia,serif;font-size:30px;letter-spacing:.5px;line-height:1}.logo__o{position:relative;display:inline-block;color:var(--accent)}.logo__o::after{position:absolute;top:50%;left:50%;width:1.28em;height:1.02em;border:1.5px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%);content:""}.logo__sub{font-size:8.5px;font-weight:600;letter-spacing:2.6px;line-height:1.4;text-transform:uppercase;color:rgba(74,74,74,.75)}.logo--light{justify-items:start;color:var(--white)}.logo--light .logo__sub{color:var(--muted-light)}
.nav{display:flex;align-items:center;gap:42px}.nav a{position:relative;padding-bottom:10px;color:var(--nav-ink);font-size:14px;font-weight:600;letter-spacing:2px;text-decoration:none;text-transform:uppercase;transition:color .2s ease}.nav a::after{position:absolute;right:0;bottom:0;left:0;height:3px;background:var(--accent);border-radius:2px;opacity:0;transition:opacity .2s ease;content:""}.nav a:hover{color:var(--accent)}.nav a.is-current{color:var(--nav-ink)}.nav a.is-current::after{opacity:1}.header__cta{justify-content:center;min-width:0;padding:17px 34px;font-size:14px;letter-spacing:.5px}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:transparent}.nav-toggle span{display:block;height:2px;background:var(--nav-ink)}
/* ---------- Hero + policy ---------- */
.hero{position:relative;display:grid;min-height:46vh;place-items:center;background:url("assets/images/privacy-hero.jpg") center/cover no-repeat}.hero__shade{position:absolute;inset:0;background:linear-gradient(rgba(94,55,20,.5),rgba(19,17,9,.55))}.hero__content{position:relative;text-align:center}.breadcrumbs{display:flex;justify-content:center;align-items:center;gap:15px;color:var(--white)}.breadcrumbs a{text-decoration:none}.breadcrumbs span[aria-hidden]{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.policy{padding:100px 0;background:var(--cream)}.policy__content{max-width:1000px}.policy__title{margin-top:0;text-align:center}.policy__content p{margin-bottom:18px}.policy__content ul{margin:0 0 25px;padding-left:25px}.policy__content li{margin-bottom:8px}.policy__content a{color:#a95800;text-decoration-thickness:1px;text-underline-offset:3px}.policy__content strong{color:var(--ink)}
.booking{padding:100px 0;background:var(--cream);border-top:1px solid var(--line);text-align:center}.booking h2{margin-top:0}.booking__actions{display:flex;justify-content:center;gap:18px}
.appointment-form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px 35px;max-width:800px;margin:60px auto 0;text-align:left}.appointment-form[hidden]{display:none}.field{display:grid;gap:4px}.field:nth-of-type(4){grid-column:1/-1}.field label{color:var(--ink);font-size:13px;font-weight:700}.field input,.field textarea{width:100%;padding:14px 0 15px;border:0;border-bottom:1px solid var(--ink);border-radius:0;color:var(--ink);background:transparent}.field textarea{resize:vertical}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-button{grid-column:1/-1;justify-self:center;padding:14px 30px;border:1px solid rgba(0,0,0,.26);border-radius:30px;color:var(--ink);background:transparent;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:background .25s ease,color .25s ease}.form-button:hover{color:var(--white);background:var(--accent)}.form-status{grid-column:1/-1;min-height:24px;margin:0;text-align:center}
/* ---------- Footer ---------- */
.site-footer{color:var(--muted-light);background:var(--ink);font-size:14px}.footer__grid{display:grid;grid-template-columns:1.5fr 1.1fr .9fr 1.3fr;gap:40px;padding:75px 0 60px}.footer__col p{margin-bottom:0}.footer__col .logo{margin-bottom:20px}.site-footer h3{margin-top:0;margin-bottom:18px;color:var(--white);font-size:21px}.site-footer h3.heading--brown{color:var(--brown)}.footer__subhead{margin-top:24px}.footer__list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.footer__list a{color:var(--muted-light);text-decoration:none;transition:color .2s ease}.footer__list a:hover{color:var(--accent)}.site-footer .button{min-width:0;margin-top:22px;padding:13px 26px;font-size:12px}.footer__bottom{border-top:1px solid var(--line-light);font-size:13px}.footer__bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px}.footer__bottom p{margin:0}.footer__legal{display:flex;gap:26px}.footer__legal a{color:var(--muted-light);text-decoration:none}.footer__legal a:hover{color:var(--accent)}
.mobile-book{position:fixed;z-index:30;right:0;bottom:0;left:0;display:none;padding:16px 20px;color:var(--white);background:var(--accent);font-size:14px;font-weight:700;letter-spacing:1px;text-align:center;text-decoration:none;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1024px){.wrap,.wide-wrap{width:min(calc(100% - 60px),var(--max))}.nav-toggle{display:flex}.header__cta{display:none}.nav-bar__inner{min-height:82px}.nav{position:absolute;z-index:30;top:100%;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 30px 22px;background:var(--cream);box-shadow:0 22px 44px rgba(19,17,9,.14)}.nav.is-open{display:flex}.nav a{padding:15px 0;border-bottom:1px solid var(--line)}.nav a::after{display:none}.nav a.is-current{color:var(--accent)}.hero{min-height:40vh}.policy,.booking{padding:70px 0}.footer__grid{grid-template-columns:1fr 1fr;gap:40px;padding:60px 0 50px}}
@media(max-width:767px){body{padding-bottom:54px;font-size:14px}.wrap,.wide-wrap{width:min(calc(100% - 40px),var(--max))}.topbar__inner{flex-wrap:wrap;justify-content:center;gap:12px;padding:9px 0;font-size:12.5px}.nav{padding:8px 20px 22px}.nav-bar__inner{min-height:74px}.logo__name{font-size:24px}.hero{min-height:35vh}.policy,.booking{padding:70px 0}.policy__content h2:not(.policy__title){font-size:27px}.policy__content h3{font-size:21px}.booking__actions{flex-direction:column}.button{width:100%;justify-content:center}.site-footer .button{width:auto;justify-content:space-between}.appointment-form{grid-template-columns:1fr;margin-top:45px}.field:nth-of-type(4){grid-column:auto}.form-button,.form-status{grid-column:auto}.footer__grid{grid-template-columns:1fr;gap:34px;padding:55px 0 45px}.footer__bottom-inner{flex-direction:column;gap:10px;padding:18px 0;text-align:center}.mobile-book{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.form-button{transition:none}}