:root{--ink:#171612;--muted:#716b61;--paper:#f7f2e9;--card:#fffdf8;--line:#dfd4c4;--bronze:#a16c3f;--gold:#c39a64;--brown:#593822;--success:#476e59}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.topbar{position:absolute;z-index:5;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,6vw,84px)}.logo img{display:block;width:clamp(178px,22vw,260px);height:auto;object-fit:contain}.top-cta{padding:12px 18px;border:1px solid rgba(23,22,18,.34);border-radius:999px;color:var(--ink);font-size:12px;font-weight:750;text-decoration:none;background:rgba(255,253,248,.52);backdrop-filter:blur(12px)}.hero{min-height:760px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(400px,.96fr);background:linear-gradient(135deg,#f8f4ec,#eee1d0);overflow:hidden}.hero-copy{align-self:center;padding:132px 6vw 76px;max-width:780px}.eyebrow{margin:0 0 17px;color:#8e613d;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero h1{margin:0;font:500 clamp(52px,6vw,88px)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.055em}.hero h1 em{color:var(--bronze);font-weight:400}.lead{max-width:560px;margin:28px 0 0;color:#5d574e;font-size:clamp(16px,1.4vw,20px);line-height:1.65}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:35px}.button{min-height:54px;padding:0 24px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:750;text-decoration:none;transition:.2s ease}.button-dark{color:#fff;background:#1d1a16;box-shadow:0 16px 35px rgba(37,26,18,.18)}.button-dark:hover{transform:translateY(-2px);background:#3a2c23}.microcopy{display:flex;align-items:center;gap:8px;color:#665f55;font-size:11px;line-height:1.45}.microcopy i{width:8px;height:8px;border-radius:50%;background:#578167;box-shadow:0 0 0 5px rgba(87,129,103,.12)}.trust-row{display:flex;gap:0;margin-top:54px;border-top:1px solid rgba(89,56,34,.18);padding-top:24px}.trust-row div{min-width:125px;padding-right:28px}.trust-row div+div{padding-left:28px;border-left:1px solid rgba(89,56,34,.16)}.trust-row strong,.trust-row span{display:block}.trust-row strong{font:600 18px Georgia,serif}.trust-row span{margin-top:5px;color:#777066;font-size:10px}.hero-visual{position:relative;min-height:720px;overflow:hidden}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(240,229,214,.42),transparent 32%),linear-gradient(0deg,rgba(25,17,12,.16),transparent 35%)}.hero-visual>picture{display:block;width:100%;height:100%}.hero-visual>picture img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-note{position:absolute;z-index:2;right:32px;bottom:34px;display:flex;align-items:center;gap:12px;padding:13px 17px;border:1px solid rgba(255,255,255,.46);border-radius:17px;color:#fff;background:rgba(37,24,16,.34);backdrop-filter:blur(14px)}.hero-note>span{font-size:24px}.hero-note p,.hero-note b{display:block;margin:0}.hero-note p{font-size:10px;line-height:1.4}.hero-note b{font-size:13px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9cdbd;border-top:1px solid #d9cdbd;border-bottom:1px solid #d9cdbd}.benefits article{position:relative;padding:46px clamp(26px,4vw,64px);background:#fbf7f0}.benefits article>span{position:absolute;right:28px;top:24px;color:#c3ad93;font:italic 26px Georgia,serif}.benefits h2{max-width:260px;margin:0;font:500 25px/1.15 Georgia,serif}.benefits p{max-width:360px;margin:15px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.booking-section{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(510px,1.28fr);gap:clamp(40px,7vw,112px);padding:100px clamp(22px,7vw,110px);background:#f7f2e9}.booking-intro{padding-top:34px}.booking-intro h2,.prep h2{margin:0;font:500 clamp(38px,4vw,58px)/1.04 Georgia,serif;letter-spacing:-.035em}.booking-intro>p:not(.eyebrow){max-width:450px;color:var(--muted);line-height:1.7}.service-card{margin-top:34px;padding:16px;border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:46px 1fr auto;gap:13px;align-items:center;background:rgba(255,253,248,.72)}.service-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#765037;background:#ead9c5}.service-card strong,.service-card span{display:block}.service-card strong{font-size:13px}.service-card span{margin-top:4px;color:var(--muted);font-size:10px}.service-card>b{max-width:130px;color:#704c32;font-size:11px;text-align:right}.booking-card{scroll-margin-top:24px;min-height:570px;border:1px solid #d9cebe;border-radius:28px;background:var(--card);box-shadow:0 28px 80px rgba(64,43,28,.11);overflow:hidden}.steps{height:64px;padding:0 30px;border-bottom:1px solid #e7ded1;display:flex;align-items:center;gap:14px;color:#a0988d;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.steps span{white-space:nowrap}.steps span.active{color:#6f4b32}.steps span.done{color:var(--success)}.steps i{height:1px;flex:1;background:#ddd4c8}.booking-step{display:none;padding:30px}.booking-step.active{display:block;animation:fadeIn .25s ease}.step-heading,.slot-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.step-heading small{color:#9c7760;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.step-heading h3,.slot-heading h3,.success-step h3{margin:5px 0 0;font:500 26px Georgia,serif}.calendar-nav{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fffaf2;cursor:pointer;font-size:19px}.date-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:23px}.date-button{min-width:0;height:92px;padding:10px 5px;border:1px solid #e3dbcf;border-radius:15px;color:#5e584f;background:#fff;cursor:pointer;display:grid;place-items:center;align-content:center;gap:4px}.date-button span{font-size:9px;font-weight:750;text-transform:uppercase}.date-button b{font:500 24px Georgia,serif}.date-button small{color:#8c857b;font-size:9px}.date-button:hover,.date-button.active{border-color:#8d6446;color:#fff;background:#68452f;box-shadow:0 10px 24px rgba(92,59,38,.2)}.date-button.active small{color:#e8dacc}.slot-heading{margin-top:30px}.slot-heading h3{font-size:19px}.slot-heading span{color:#8b8176;font-size:10px;text-transform:capitalize}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:15px}.slot-button{height:46px;border:1px solid #ddd4c6;border-radius:12px;color:#3b3731;background:#fff;cursor:pointer;font-weight:750;font-size:12px}.slot-button:hover{border-color:#80593d;color:#fff;background:#80593d}.empty-slots,.loading-slots{min-height:90px;display:grid;place-items:center;border:1px dashed #ded5c9;border-radius:14px;background:#fbf8f2}.empty-slots p,.loading-slots p{margin:0;color:#8c857b;font-size:11px;text-align:center}.empty-slots.error{border-color:#d7aaa1;background:#fff8f6}.empty-slots.error p{color:#914f46}.back-button{padding:0;border:0;color:#74513a;background:none;cursor:pointer;font-size:11px;font-weight:750}.selected-summary{margin:20px 0 22px;padding:17px;border-radius:16px;background:#f2e8dc;display:flex;align-items:center;justify-content:space-between;gap:16px}.selected-summary span{color:#806c5d;font-size:10px}.selected-summary strong{font:500 17px Georgia,serif;text-align:right;text-transform:capitalize}form{display:grid;gap:14px}form>label:not(.consent){display:grid;gap:7px;color:#5d574e;font-size:10px;font-weight:750}input{width:100%;height:49px;padding:0 14px;border:1px solid #ddd4c7;border-radius:12px;background:#fff;outline:none}input:focus{border-color:#94694a;box-shadow:0 0 0 3px rgba(148,105,74,.1)}.consent{display:flex;align-items:flex-start;gap:9px;color:#756d63;font-size:10px;line-height:1.5}.consent input{flex:0 0 auto;width:17px;height:17px;margin:0}.consent a{color:#644530}.honeypot{position:absolute!important;left:-9999px!important}.submit-button{width:100%;justify-content:space-between;padding:0 21px}.submit-button:disabled{opacity:.6;cursor:wait}.form-error{min-height:0;margin:0;color:#9b4d43;font-size:11px}.form-error:empty{display:none}.success-step{text-align:center;padding:50px 32px}.success-icon{width:62px;height:62px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--success);font-size:25px;box-shadow:0 0 0 9px rgba(71,110,89,.1)}.success-step h3{font-size:38px}.success-step>p:not(.eyebrow){max-width:380px;margin:14px auto;color:var(--muted);line-height:1.6}.success-ticket{max-width:380px;margin:28px auto 0;padding:22px;border:1px solid #ddcfbd;border-radius:18px;background:#f6eee3;display:grid;gap:8px}.success-ticket span{color:#8c7665;font-size:10px;text-transform:uppercase}.success-ticket strong{font:500 20px Georgia,serif;text-transform:capitalize}.success-ticket small{color:#81786e;font-size:9px}.prep{padding:90px clamp(22px,7vw,110px);display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw;color:#f8f2e9;background:#201b17}.prep .eyebrow{color:#d6ad7e}.prep ol{list-style:none;margin:0;padding:0;counter-reset:prep}.prep li{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:1fr 1fr;gap:30px}.prep li:first-child{border-top:1px solid rgba(255,255,255,.14)}.prep b{font:500 18px Georgia,serif}.prep span{color:#aaa198;font-size:12px;line-height:1.6}footer{padding:35px clamp(22px,7vw,110px);display:flex;align-items:center;gap:26px;color:#70695f;background:#f7f2e9;font-size:10px}footer img{width:165px;margin-right:auto}footer a{color:#5e4535}footer p{margin:0}@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:120px 24px 58px}.hero-visual{min-height:540px}.hero-visual>picture{position:absolute;inset:0}.benefits{grid-template-columns:1fr}.booking-section{grid-template-columns:1fr;padding-block:72px}.booking-intro{padding-top:0}.prep{grid-template-columns:1fr}.prep ol{margin-top:20px}footer{flex-wrap:wrap}footer p{width:100%}}
@media(max-width:560px){.topbar{padding:20px}.logo img{width:168px}.top-cta{padding:10px 13px;font-size:10px}.hero-copy{padding-top:110px}.hero h1{font-size:52px}.lead{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{justify-content:space-between}.trust-row div{min-width:0;padding-right:14px}.trust-row div+div{padding-left:14px}.trust-row strong{font-size:15px}.hero-visual{min-height:455px}.hero-note{right:18px;bottom:18px}.benefits article{padding:35px 24px}.booking-section{padding:62px 14px}.booking-intro{padding:0 8px}.service-card{grid-template-columns:42px 1fr}.service-card>b{grid-column:2;text-align:left}.booking-card{border-radius:22px}.steps{padding:0 17px;gap:8px}.steps span{font-size:8px}.booking-step{padding:22px 17px}.date-strip{gap:5px}.date-button{height:80px}.date-button b{font-size:20px}.slots{grid-template-columns:repeat(3,1fr)}.prep{padding:64px 24px}.prep li{grid-template-columns:1fr;gap:7px}footer{padding:30px 24px;gap:14px}.selected-summary{align-items:flex-start;flex-direction:column}.selected-summary strong{text-align:left}}

.booksy-booking-card{min-width:0;min-height:720px;overflow:hidden}.booksy-card-heading{padding:25px 28px 22px;border-bottom:1px solid #e7ded1;display:grid;gap:6px}.booksy-card-heading span{color:#8e613d;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.booksy-card-heading strong{font:500 24px Georgia,serif}.booksy-card-heading small{color:var(--muted);font-size:11px;line-height:1.5}.booksy-widget-slot{width:100%;min-width:0;background:#fff}.booksy-widget-slot .booksy-widget-container-inline{display:block!important;width:100%!important;max-width:100%!important}.booksy-widget-slot iframe{display:block!important;width:100%!important;max-width:100%!important;min-height:660px;border:0!important}.booksy-fallback{padding:28px;color:var(--muted);font-size:12px;text-align:center}
@media(max-width:560px){.booksy-booking-card{min-height:680px}.booksy-card-heading{padding:21px 18px 18px}.booksy-card-heading strong{font-size:21px}.booksy-widget-slot iframe{min-height:620px}}
