:root{--bg:#f4f0e9;--paper:#fbfaf7;--ink:#181a17;--muted:#70736b;--line:#dcd8ce;--green:#526558;--gold:#b89a63;--dark:#1d2621;--radius:24px;--shadow:0 24px 80px rgba(30,35,29,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55}body.dark{--bg:#111411;--paper:#191d19;--ink:#f1eee7;--muted:#a4a89f;--line:#313730;--dark:#090b09;--shadow:0 30px 90px rgba(0,0,0,.35)}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.noise{position:fixed;inset:0;opacity:.025;pointer-events:none;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.nav{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:600;letter-spacing:.24em}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border:1px solid currentColor;border-radius:50%;font-family:Georgia,serif;font-style:italic;font-size:16px}.desktop-nav{display:flex;gap:34px;font-size:13px}.desktop-nav a{color:var(--muted);transition:.2s}.desktop-nav a:hover{color:var(--ink)}.nav-actions{display:flex;align-items:center;gap:10px}.icon-btn,.menu-btn{border:0;background:transparent;color:inherit;font-size:20px;width:42px;height:42px;border-radius:50%}.icon-btn:hover{background:rgba(127,127,127,.12)}.menu-btn{display:none}.btn{border:0;border-radius:999px;padding:14px 21px;display:inline-flex;gap:20px;align-items:center;justify-content:center;font-size:13px;font-weight:600;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.12)}.btn-dark{background:var(--ink);color:var(--bg)}.btn-cream{background:#f4efe4;color:#20231f}.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--line)}.hero-photo{height:min(720px,calc(100vh - 125px));min-height:590px;border-radius:30px;position:relative;overflow:hidden;background:url('https://images.unsplash.com/photo-1600334089648-b0d9d3028eb2?auto=format&fit=crop&w=2200&q=90') center/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,20,16,.74),rgba(15,22,18,.18) 65%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 50%)}.hero-copy{position:absolute;left:clamp(28px,7vw,90px);top:50%;transform:translateY(-50%);color:#fff;max-width:670px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-weight:600;font-size:10px;color:var(--green);margin:0 0 20px}.eyebrow.light{color:#ded8c9}.hero h1,.section h2,.booking-cta h2,.contact h2{font:400 clamp(52px,7vw,96px)/.94 "Manrope",sans-serif;letter-spacing:-.055em;margin:0}.hero h1 em,.section h2 em,.booking-cta h2 em,.contact h2 em{font-family:Georgia,serif;font-weight:400}.hero-copy>p:not(.eyebrow){max-width:480px;color:rgba(255,255,255,.77);font-size:16px;margin:27px 0 32px}.hero-actions{display:flex;align-items:center;gap:26px}.text-link{font-size:13px;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px}.availability-pill{position:absolute;right:30px;bottom:30px;padding:16px 20px;background:rgba(250,248,242,.86);backdrop-filter:blur(18px);color:#1c211d;border-radius:18px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.availability-pill small,.availability-pill strong{display:block}.availability-pill small{font-size:10px;color:#6e756e}.availability-pill strong{font-size:12px}.pulse{width:8px;height:8px;background:#64876a;border-radius:50%;box-shadow:0 0 0 6px rgba(100,135,106,.15);animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(100,135,106,0)}}.hero-strip{padding:26px 3px;display:grid;grid-template-columns:80px 1fr auto;align-items:center;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.hero-strip p{margin:0}.rating{display:grid;grid-template-columns:auto auto;gap:0 12px}.rating span{color:var(--gold);font-size:11px;letter-spacing:.12em}.rating small{grid-column:1/3}.section{padding-block:130px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px}.section h2{font-size:clamp(45px,6vw,76px)}.section-head>p{max-width:380px;color:var(--muted);font-size:14px}.service-tabs{display:flex;gap:8px;margin-bottom:25px;overflow:auto}.service-tabs button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:9px 15px;border-radius:999px;white-space:nowrap;font-size:12px}.service-tabs button.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.35s;animation:fadeIn .4s both}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-image{height:270px;overflow:hidden;position:relative}.service-image img{width:100%;height:100%;object-fit:cover;transition:.7s}.service-card:hover img{transform:scale(1.04)}.service-number{position:absolute;top:15px;left:15px;background:rgba(248,246,240,.86);backdrop-filter:blur(10px);color:#252a26;border-radius:999px;padding:7px 10px;font-size:10px}.service-info{padding:24px}.service-info h3{margin:0 0 8px;font:500 21px Manrope}.service-info p{font-size:12px;color:var(--muted);min-height:57px}.service-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:17px;margin-top:20px;font-size:11px}.service-meta strong{font-size:15px}.mini-book{border:0;background:var(--ink);color:var(--bg);border-radius:50%;width:39px;height:39px}.center-btn{margin:35px auto 0}.about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:9vw;align-items:center}.portrait-wrap{position:relative}.portrait-wrap img{width:100%;height:690px;object-fit:cover;border-radius:28px;filter:saturate(.8)}.experience-badge{position:absolute;right:-35px;bottom:45px;background:var(--dark);color:#fff;width:160px;height:160px;border-radius:50%;display:grid;place-content:center;text-align:center}.experience-badge strong{font:400 40px Georgia}.experience-badge span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.about-copy .lead{font:400 22px/1.5 Georgia;color:var(--green);margin:32px 0}.about-copy>p:not(.eyebrow):not(.lead):not(.philosophy){color:var(--muted);font-size:14px}.facts{margin:34px 0;border-top:1px solid var(--line)}.facts div{padding:16px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:120px 1fr}.facts small{color:var(--muted)}.facts strong{font-size:12px}.philosophy{font-size:12px;font-style:italic}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.benefit-card{padding:28px;min-height:210px;background:var(--paper);border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;justify-content:space-between;transition:.3s}.benefit-card:hover{background:var(--dark);color:white;transform:translateY(-5px)}.benefit-icon{font-size:22px}.benefit-card h3{font:500 16px Manrope;margin:0}.benefit-card p{font-size:11px;color:var(--muted);margin:8px 0 0}.booking-cta{background:var(--dark);color:#fff;border-radius:30px;padding:80px clamp(28px,7vw,90px);display:flex;justify-content:space-between;align-items:flex-end}.booking-cta h2{font-size:clamp(44px,6vw,76px)}.reviews{overflow:hidden}.review-track{display:flex;gap:18px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.review-card{flex:0 0 calc(33.333% - 12px);min-height:310px;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:30px;display:flex;flex-direction:column}.stars{color:var(--gold);letter-spacing:.12em}.review-card blockquote{font:400 20px/1.55 Georgia;margin:28px 0;flex:1}.reviewer{display:flex;align-items:center;gap:12px}.reviewer img{width:42px;height:42px;border-radius:50%;object-fit:cover}.reviewer strong,.reviewer small{display:block}.reviewer small{color:var(--muted)}.carousel-controls button{border:1px solid var(--line);background:transparent;color:inherit;width:45px;height:45px;border-radius:50%;margin-left:8px}.gallery{padding-top:30px}.masonry{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:250px 250px;gap:14px}.masonry img{width:100%;height:100%;object-fit:cover;border-radius:18px}.masonry img:first-child{grid-row:1/3}.masonry img:nth-child(2){grid-column:2/4}.faq-section{background:var(--paper)}.narrow{max-width:800px}.faq-list{margin-top:50px}.faq-item{border-top:1px solid var(--line)}.faq-question{width:100%;padding:24px 0;border:0;background:transparent;color:inherit;display:flex;justify-content:space-between;text-align:left;font-weight:500}.faq-answer{max-height:0;overflow:hidden;color:var(--muted);font-size:13px;transition:.35s}.faq-item.open .faq-answer{max-height:140px;padding-bottom:24px}.contact-card{background:linear-gradient(120deg,#243229,#151c18);color:#fff;border-radius:28px;padding:70px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-card h2{font-size:clamp(42px,5vw,68px)}.contact-card p{color:#c4cbc3}.contact-details{border-left:1px solid rgba(255,255,255,.18);padding-left:70px}.contact-details p{margin:0;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.14)}.contact-details small,.contact-details a,.contact-details span{display:block}.contact-details small{font-size:9px;text-transform:uppercase;letter-spacing:.2em}.contact-details a,.contact-details span{color:#fff;margin-top:6px}.footer{padding:60px 0 35px;display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line)}.footer p,.footer small{color:var(--muted);font-size:11px}.footer-links{display:flex;justify-content:flex-end;gap:22px;font-size:11px}.footer small{grid-column:1/3}.floating-book{display:none}.modal{position:fixed;inset:0;background:rgba(7,10,8,.65);backdrop-filter:blur(12px);z-index:200;opacity:0;visibility:hidden;transition:.3s}.modal.open{opacity:1;visibility:visible}.modal-panel{position:absolute;right:0;top:0;height:100%;width:min(650px,100%);background:var(--paper);padding:28px 42px;transform:translateX(100%);transition:.45s cubic-bezier(.2,.8,.2,1);overflow:auto}.modal.open .modal-panel{transform:none}.modal-top{display:flex;justify-content:space-between;align-items:center}.booking-progress{margin:35px 0}.booking-progress span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.15em}.booking-progress>div{height:2px;background:var(--line);margin-top:12px}.booking-progress i{display:block;height:100%;background:var(--green);width:16.6%;transition:.4s}.booking-step{animation:slideIn .35s both}.booking-step h2{font:500 34px/1.1 Manrope;letter-spacing:-.04em;margin:0 0 10px}.booking-step>.sub{color:var(--muted);font-size:13px;margin-bottom:30px}.choice-list{display:grid;gap:10px}.choice-card{border:1px solid var(--line);background:var(--bg);color:inherit;border-radius:15px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;text-align:left;transition:.2s}.choice-card:hover,.choice-card.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.choice-card strong,.choice-card small{display:block}.choice-card small{color:var(--muted);font-size:10px}.travel-options,.duration-grid,.time-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.duration-grid{grid-template-columns:repeat(3,1fr)}.duration-card,.time-card{padding:18px 10px;border:1px solid var(--line);border-radius:14px;background:transparent;color:inherit}.duration-card.selected,.time-card.selected{background:var(--dark);color:white;border-color:var(--dark)}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar span{text-align:center;font-size:10px;color:var(--muted);padding:8px}.day{border:0;background:transparent;color:inherit;border-radius:10px;aspect-ratio:1}.day:hover:not(:disabled),.day.selected{background:var(--dark);color:#fff}.day:disabled{opacity:.25;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/3}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.field input,.field textarea{border:1px solid var(--line);background:var(--bg);color:inherit;border-radius:11px;padding:13px;outline:none}.field input:focus,.field textarea:focus{border-color:var(--green)}.summary{border:1px solid var(--line);border-radius:18px;padding:8px 22px;margin-bottom:25px}.summary-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.summary-row:last-child{border:0}.summary-row span{color:var(--muted)}.summary-row.total strong{font-size:20px}.booking-actions{display:flex;justify-content:space-between;margin-top:28px}.success{text-align:center;padding:60px 0}.success-mark{display:grid;place-items:center;margin:0 auto 25px;width:85px;height:85px;border-radius:50%;background:#dce7dd;color:#31583a;font-size:36px;animation:pop .6s}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,30px);background:#151a16;color:#fff;border-radius:999px;padding:12px 20px;font-size:12px;z-index:300;opacity:0;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(20px);transition:.8s}.reveal.visible{opacity:1;transform:none}@keyframes slideIn{from{opacity:0;transform:translateX(15px)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}}@keyframes pop{50%{transform:scale(1.15)}}
@media(max-width:850px){.desktop-nav,.nav-book{display:none}.menu-btn{display:block}.hero-photo{min-height:650px}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr;gap:70px}.portrait-wrap img{height:600px}.experience-badge{right:20px}.benefit-grid{grid-template-columns:repeat(2,1fr)}.booking-cta{align-items:flex-start;flex-direction:column;gap:35px}.review-card{flex-basis:calc(50% - 9px)}.contact-card{grid-template-columns:1fr;gap:45px}.contact-details{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:25px 0 0}.floating-book{display:flex;position:fixed;right:18px;bottom:18px;z-index:90;border:0;border-radius:999px;padding:15px 20px;background:var(--ink);color:var(--bg);gap:18px;box-shadow:var(--shadow)}}
@media(max-width:600px){.shell{width:min(100% - 28px,1180px)}.nav{height:72px}.hero-photo{height:calc(100svh - 95px);min-height:610px;border-radius:20px}.hero-copy{left:24px;right:24px;top:auto;bottom:90px;transform:none}.hero h1{font-size:54px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.availability-pill{right:16px;bottom:15px;padding:11px 14px}.hero-strip{grid-template-columns:35px 1fr}.rating{display:none}.section{padding-block:90px}.section-head{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:38px}.section-head>p{margin:0}.service-grid{grid-template-columns:1fr}.service-image{height:245px}.about-grid{gap:55px}.portrait-wrap img{height:480px}.experience-badge{width:130px;height:130px}.benefit-grid{grid-template-columns:1fr 1fr}.benefit-card{padding:20px;min-height:180px}.booking-cta{width:calc(100% - 28px);padding:52px 27px}.review-card{flex-basis:88%}.masonry{grid-template-columns:1fr 1fr;grid-template-rows:300px 180px 180px}.masonry img:first-child{grid-column:1/3;grid-row:auto}.masonry img:nth-child(2){grid-column:auto}.contact-card{padding:45px 25px}.footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start;flex-wrap:wrap}.footer small{grid-column:auto}.modal-panel{padding:22px 20px}.duration-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.hero-photo{background-image:url('https://images.unsplash.com/photo-1544161515-4ab6ce6db874?auto=format&fit=crop&w=2200&q=90')}
.brand-name{display:flex;flex-direction:column;line-height:1.08;letter-spacing:.16em}.brand-name b{font-size:.7em;font-weight:500;letter-spacing:.11em}.logo-lotus{color:var(--gold);border-color:var(--gold);font-style:normal;font-size:17px}.developer-credit{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.mobile-menu{position:fixed;inset:72px 14px auto;z-index:120;background:rgba(29,38,33,.97);color:#fff;border-radius:22px;padding:26px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.3s;box-shadow:var(--shadow)}.mobile-menu.open{opacity:1;visibility:visible;transform:none}.mobile-menu nav{display:flex;flex-direction:column;gap:4px}.mobile-menu a{padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.12)}.mobile-menu .btn{margin-top:18px}.calendar-head .icon-btn:disabled{opacity:.25;cursor:not-allowed}
@media(min-width:851px){.mobile-menu{display:none}}

/* Warm amber and deep navy palette inspired by Sky's studio portrait */
:root{--bg:#f6efe6;--paper:#fffaf3;--ink:#172333;--muted:#756d64;--line:#dfd2c3;--green:#735139;--gold:#c98a45;--dark:#142334;--shadow:0 24px 80px rgba(61,35,19,.15)}
body.dark{--bg:#101923;--paper:#172330;--ink:#f9eddd;--muted:#bcae9c;--line:#344252;--dark:#0b141e;--gold:#e3a85e}
.nav{height:98px}.brand{gap:14px;letter-spacing:.14em}.brand-logo{width:54px;height:54px;flex:0 0 auto;filter:drop-shadow(0 6px 14px rgba(118,66,29,.2))}.brand-name{font-size:15px;line-height:1.04;letter-spacing:.18em}.brand-name b{font-size:10px;letter-spacing:.14em;margin-top:5px}.modal-top .brand-logo,.footer .brand-logo{width:48px;height:48px}.hero-photo{height:min(760px,calc(100vh - 135px));background:none}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s cubic-bezier(.2,.75,.2,1);overflow:hidden}.hero-slide.active{opacity:1;visibility:visible;z-index:1}.hero-slide>img{position:absolute;width:100%;height:100%;object-fit:cover;transform:scale(1.09);transition:transform 7s cubic-bezier(.2,.6,.2,1)}.hero-slide.active>img{transform:scale(1)}.hero-slide .hero-copy{opacity:0;transform:translateY(-46%) translateX(28px);transition:opacity .8s .22s,transform .9s .22s cubic-bezier(.2,.8,.2,1)}.hero-slide.active .hero-copy{opacity:1;transform:translateY(-50%) translateX(0)}.hero-slide[data-theme="navy"] .hero-overlay{background:linear-gradient(90deg,rgba(9,22,36,.82),rgba(14,27,39,.16) 70%),linear-gradient(0deg,rgba(8,17,27,.36),transparent 55%)}.hero-slide[data-theme="gold"] .hero-overlay{background:linear-gradient(90deg,rgba(57,30,15,.78),rgba(57,30,15,.1) 72%),linear-gradient(0deg,rgba(40,20,8,.3),transparent 50%)}.hero-controls{position:absolute;left:clamp(28px,7vw,90px);bottom:30px;z-index:5;display:flex;align-items:center;gap:13px}.hero-controls>button{width:38px;height:38px;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(16,27,37,.28);backdrop-filter:blur(10px);color:#fff;transition:.25s}.hero-controls>button:hover{background:#f6ead9;color:#172333}.hero-dots{display:flex;align-items:center;gap:7px}.hero-dot{border:0;padding:0;width:22px;height:2px;background:rgba(255,255,255,.42);transition:width .35s,background .35s}.hero-dot.active{width:48px;background:#f1c078}.hero-strip>span{white-space:nowrap}.about{background:linear-gradient(135deg,#fffaf3 0%,#f0dfca 100%)}body.dark .about{background:linear-gradient(135deg,#172330,#261f1b)}.portrait-wrap img{object-position:center top;filter:saturate(.94) contrast(1.02);box-shadow:0 28px 80px rgba(72,42,22,.18)}.experience-badge{background:#142334;border:1px solid rgba(239,189,113,.5);box-shadow:0 16px 45px rgba(22,28,33,.25)}.contact-card,.booking-cta{background:linear-gradient(125deg,#142334 0%,#263749 58%,#6a432b 140%)}
@media(max-width:850px){.nav{height:84px}.brand-logo{width:48px;height:48px}.brand-name{font-size:13px}.mobile-menu{inset:84px 14px auto}}
@media(max-width:600px){.nav{height:78px}.brand-logo{width:43px;height:43px}.brand-name{font-size:11px;letter-spacing:.12em}.brand-name b{font-size:8px}.hero-photo{height:calc(100svh - 96px)}.hero-slide .hero-copy{top:auto;bottom:105px;transform:translateY(16px)}.hero-slide.active .hero-copy{transform:none}.hero-controls{left:23px;bottom:24px}.availability-pill{display:none}.hero-strip>span{font-size:10px}.portrait-wrap img{height:520px}.footer .brand-name{font-size:13px}}
.hero-photo>.availability-pill{z-index:5}
.field-hint{font-size:10px;color:var(--muted);margin-top:2px}.postcode-notice{grid-template-columns:auto 1fr;gap:14px;padding:17px 18px;border:1px solid #d8ad72;border-radius:14px;background:linear-gradient(135deg,rgba(239,194,126,.17),rgba(255,250,243,.7));animation:slideIn .3s both}.postcode-notice[hidden]{display:none}.postcode-notice>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--dark);color:#efbd71}.postcode-notice strong{font-size:13px}.postcode-notice p{margin:4px 0 10px;color:var(--muted);font-size:11px}.postcode-notice button{border:0;background:transparent;color:var(--ink);padding:0;border-bottom:1px solid currentColor;font-size:11px;font-weight:600}.field input[aria-invalid="true"]{border-color:#b66a55;box-shadow:0 0 0 3px rgba(182,106,85,.1)}

/* Keep booking navigation visible while long service lists scroll. */

/* Editorial luxury treatment benefits */
.benefits{position:relative;isolation:isolate;padding-top:145px}
.benefits:before{content:"";position:absolute;z-index:-1;top:88px;right:-8%;width:410px;height:410px;border-radius:50%;background:radial-gradient(circle,rgba(201,138,69,.14),rgba(201,138,69,0) 68%);pointer-events:none}
.benefits .section-head{padding-bottom:34px;border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent)}
.benefits .section-head>p{font:400 16px/1.75 Georgia,serif;color:var(--muted);max-width:435px}
.benefit-grid{gap:18px}
.benefit-card{position:relative;isolation:isolate;min-height:265px;padding:25px 26px 27px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--paper) 96%,#fff),color-mix(in srgb,var(--paper) 88%,#ead8c0));border:1px solid color-mix(in srgb,var(--line) 86%,#c98a45);border-radius:24px;box-shadow:0 15px 45px rgba(80,51,27,.055);justify-content:space-between;transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s,border-color .42s,color .42s}
.benefit-card:before{content:"";position:absolute;z-index:-1;inset:auto -50px -85px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(201,138,69,.16),rgba(201,138,69,0) 70%);transition:transform .55s,opacity .4s}
.benefit-card:nth-child(4n+2):before,.benefit-card:nth-child(4n+3):before{background:radial-gradient(circle,rgba(82,101,88,.14),rgba(82,101,88,0) 70%)}
.benefit-top{display:flex;align-items:flex-start;justify-content:space-between}
.benefit-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,#f4dfc3,#f9eee0);color:#945f2e;border:1px solid rgba(201,138,69,.25);box-shadow:0 9px 25px rgba(144,88,39,.13);transition:transform .42s,background .42s,color .42s}
.benefit-icon svg{width:25px;height:25px}
.benefit-number{font:500 10px/1 Manrope,sans-serif;letter-spacing:.18em;color:color-mix(in srgb,var(--muted) 65%,transparent);padding-top:8px}
.benefit-copy small{display:block;margin-bottom:8px;color:var(--gold);font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.benefit-card h3{font:500 19px/1.25 Manrope,sans-serif;letter-spacing:-.025em;margin:0}
.benefit-card p{max-width:240px;font-size:12px;line-height:1.65;color:var(--muted);margin:10px 0 0;transition:color .35s}
.benefit-line{position:absolute;left:26px;bottom:0;width:42px;height:2px;background:linear-gradient(90deg,var(--gold),#e6bc80);transition:width .45s cubic-bezier(.2,.8,.2,1)}
.benefit-card:hover{color:#fff;background:linear-gradient(145deg,#182838,#293b4b 62%,#69462f 150%);border-color:rgba(222,170,99,.55);box-shadow:0 24px 60px rgba(37,32,27,.2);transform:translateY(-8px)}
.benefit-card:hover:before{transform:scale(1.35);opacity:.7}
.benefit-card:hover .benefit-icon{transform:translateY(-2px) rotate(-3deg);background:rgba(246,224,195,.12);border-color:rgba(238,186,116,.45);color:#f1c17f;box-shadow:none}
.benefit-card:hover .benefit-copy small{color:#efbd78}
.benefit-card:hover p{color:rgba(255,255,255,.7)}
.benefit-card:hover .benefit-number{color:rgba(255,255,255,.38)}
.benefit-card:hover .benefit-line{width:calc(100% - 52px)}
body.dark .benefit-card{background:linear-gradient(145deg,#192735,#15212d);border-color:#344252;box-shadow:0 18px 48px rgba(0,0,0,.15)}
body.dark .benefit-icon{background:rgba(219,158,87,.12);color:#e4aa65;border-color:rgba(219,158,87,.28)}
@media(max-width:850px){.benefits{padding-top:110px}.benefit-card{min-height:235px}}
@media(max-width:600px){.benefits{padding-top:92px}.benefits .section-head{padding-bottom:25px}.benefits .section-head>p{font-size:14px}.benefit-grid{grid-template-columns:1fr;gap:13px}.benefit-card{min-height:0;padding:21px 21px 22px;display:grid;grid-template-columns:48px 1fr;column-gap:16px;row-gap:18px}.benefit-top{display:contents}.benefit-icon{grid-column:1;width:46px;height:46px;border-radius:15px}.benefit-number{position:absolute;right:20px;top:20px}.benefit-copy{grid-column:2}.benefit-copy small{margin-bottom:5px}.benefit-card p{max-width:none;margin-top:7px}.benefit-line{left:84px}.benefit-card:hover .benefit-line{width:calc(100% - 105px)}}
.modal-panel{padding-bottom:112px}.booking-actions{position:fixed;right:0;bottom:0;z-index:8;width:min(650px,100%);margin:0;padding:16px 42px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(255,250,243,0),var(--paper) 22%);pointer-events:none}.booking-actions>*{pointer-events:auto}.booking-actions .btn-dark{box-shadow:0 12px 30px rgba(20,35,52,.22)}
@media(max-width:600px){.modal-panel{padding-bottom:105px}.booking-actions{padding:15px 20px calc(15px + env(safe-area-inset-bottom))}}

/* Booking modal layout: content scrolls independently and actions never cover it. */
.modal-panel{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.modal-top,.booking-progress,.booking-footer{flex:0 0 auto}.booking-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:2px 4px 28px 0;scrollbar-gutter:stable}.booking-footer{margin:0 -42px -28px;padding:14px 42px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);box-shadow:0 -12px 30px rgba(20,35,52,.06)}.booking-footer:empty{display:none}.booking-actions{position:static;width:100%;padding:0;margin:0;background:none;pointer-events:auto}.duration-card{display:grid;gap:4px;text-align:left;padding:18px}.duration-card strong{font-size:17px}.duration-card small{font-size:11px;color:var(--muted)}.duration-card.selected small{color:rgba(255,255,255,.75)}.location-title{margin:28px 0 14px}.travel-options .choice-card b{font-size:16px;margin-left:10px}
@media(max-width:600px){.modal-panel{padding-bottom:0}.booking-body{padding-right:0}.booking-footer{margin:0 -20px -22px;padding:13px 20px calc(13px + env(safe-area-inset-bottom))}.duration-card{padding:15px 13px}.duration-card strong{font-size:15px}.duration-card small{font-size:10px}}

/* Keep the booking action bar comfortably above the screen edge. */
.booking-footer{margin-bottom:0!important}

.email-confirmation{display:grid;grid-template-columns:auto 1fr;gap:14px;text-align:left;margin:24px 0;padding:17px 18px;border:1px solid #d9c19f;border-radius:16px;background:linear-gradient(135deg,rgba(239,194,126,.16),rgba(255,250,243,.76))}.email-confirmation>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--dark);color:#efbd71;font-size:17px}.email-confirmation strong{font-size:13px}.email-confirmation p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.email-confirmation b{color:var(--ink);font-weight:600;overflow-wrap:anywhere}

.mini-book{width:auto;height:auto;min-height:42px;padding:11px 17px;border-radius:999px;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:12px;font-weight:600;box-shadow:0 8px 22px rgba(20,35,52,.16)}.mini-book span{font-size:15px;transition:transform .2s}.mini-book:hover span{transform:translateX(3px)}.mini-book:focus-visible{outline:3px solid rgba(201,138,69,.42);outline-offset:3px}

/* Stronger, more legible brand lockup. */
.brand-name{font-size:19px;letter-spacing:.15em}.brand-name b{font-size:12px;letter-spacing:.16em;margin-top:6px}.brand-name small{font-size:8px;font-weight:600;letter-spacing:.32em;color:var(--gold);margin-top:5px}.nav .brand-logo{width:60px;height:60px}.modal-top .brand-name,.footer .brand-name{font-size:16px}.modal-top .brand-name b,.footer .brand-name b{font-size:10px}.modal-top .brand-name small,.footer .brand-name small{font-size:7px}
@media(max-width:850px){.brand-name{font-size:15px}.brand-name b{font-size:9px}.brand-name small{font-size:7px}.nav .brand-logo{width:52px;height:52px}}
@media(max-width:380px){.brand-name{font-size:13px}.brand-name b{font-size:8px}.brand-name small{font-size:6px}.nav .brand-logo{width:46px;height:46px}}

.hero-heading{font:400 clamp(52px,7vw,96px)/.94 "Manrope",sans-serif;letter-spacing:-.055em;margin:0}.hero-heading em{font-family:Georgia,serif;font-weight:400}@media(max-width:600px){.hero-heading{font-size:54px}}
