
:root{--forest:#193d36;--deep:#102923;--sage:#8f9f87;--sand:#f5f2ea;--cream:#faf9f5;--ink:#24352f;--muted:#737e77;--line:#dfe4db;--accent:#d3b98f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.8 'DM Sans',sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.16}h1,h2,h3,.footer-wordmark{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(3.7rem,7vw,7.2rem)}h2{font-size:clamp(2.5rem,4.4vw,4.5rem)}h3{font-size:1.75rem}em{font-weight:400;font-style:italic;color:var(--sage)}.container{width:min(1190px,calc(100% - 72px));margin:auto}.site-header{position:relative;z-index:20;background:#fbfaf7;border-bottom:1px solid #ecebe5}.header-inner{max-width:1410px;margin:auto;min-height:95px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{color:var(--forest);display:flex;flex-direction:column;min-width:174px;line-height:1}.brand-name{font:600 28px Georgia,serif;letter-spacing:4px}.brand-sub{font-size:9px;letter-spacing:2.1px;margin-top:9px;font-weight:600}.brand-sub i{display:inline-block;width:3px;height:3px;border-radius:50%;background:#b6a27e;vertical-align:middle;margin:0 3px}.nav{display:flex;align-items:center;gap:30px}.nav-link{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;font-weight:700;color:#3d5147;transition:color .2s}.nav-link:hover,.nav-link.active{color:#aa8e61}.nav-book{background:var(--forest);padding:15px 19px;color:white!important;font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:1px;white-space:nowrap}.nav-book span,.btn span{margin-left:14px}.menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:26px;height:2px;background:var(--forest);margin:5px}.hero{min-height:min(810px,calc(100svh - 95px));position:relative;background:#1a3530;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;background-position:center 55%;background-size:cover;animation:slowZoom 15s ease-out forwards}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,34,29,.88),rgba(14,40,34,.53) 55%,rgba(14,40,34,.12))}.hero-content{position:relative;z-index:1;padding:100px 0 130px}.hero h1{letter-spacing:-2px;max-width:890px;margin:24px 0 25px}.hero h1 em{color:#e1d0aa}.hero-content>p{max-width:505px;font-size:17px;line-height:1.85;color:#eee}.hero-kicker,.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.6px;color:#8c9f91;text-transform:uppercase}.hero-kicker{color:#e7d6b3}.dash{height:1px;width:33px;background:#e7d6b3;display:inline-block;vertical-align:middle;margin-right:15px}.hero-buttons{display:flex;flex-wrap:wrap;gap:13px;margin-top:37px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;min-height:55px;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:1.3px;cursor:pointer;border:1px solid transparent;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:#e3d0a9;color:#263c32}.btn-outline{border-color:#ffffff94;color:white}.hero-side{position:absolute;right:30px;bottom:52px;writing-mode:vertical-rl;font-size:10px;letter-spacing:2px;z-index:1}.hero-scroll{position:absolute;bottom:28px;left:max(36px,calc((100vw - 1190px)/2));font-size:10px;letter-spacing:1.5px;z-index:1}.section{padding:110px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.intro-grid p{font-size:17px;color:#5d6e65;line-height:2}.intro-grid .text-link{display:inline-block;margin-top:12px}.text-link{display:inline-flex;gap:18px;align-items:center;color:var(--forest);font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:1.2px;border-bottom:1px solid #b1c0b3;padding-bottom:7px}.section-sand{background:var(--sand)}.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:44px;gap:20px}.section-top h2{margin:15px 0 0}.rooms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.room-card{background:white;display:flex;flex-direction:column;box-shadow:0 12px 34px rgba(32,54,40,.045)}.card-image{position:relative;aspect-ratio:1.25;overflow:hidden;background:#d9dbd1}.card-image img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.room-card:hover img{transform:scale(1.05)}.room-cap{position:absolute;bottom:13px;left:13px;padding:7px 13px;font-size:11px;font-weight:600;background:#fbfaf5;color:#29443b}.room-body{padding:29px;display:flex;flex-direction:column;flex:1}.room-body h3{font-size:2.1rem;margin:9px 0 11px}.room-body p{color:#69776d;font-size:13px;line-height:1.85}.room-body .featureline{color:#374e43;font-weight:600;font-size:12px}.room-actions{margin-top:auto;padding-top:17px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.room-actions .text-link{font-size:10px;letter-spacing:1px}.book-link{color:#a1885e}.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.split-photo{background-size:cover;background-position:center}.split-copy{background:#e6e9de;padding:12% min(12%,100px);display:flex;align-items:start;flex-direction:column;justify-content:center}.split-copy h2{margin:20px 0}.split-copy p{color:#617167;max-width:440px}.split-copy .btn{margin-top:18px;background:var(--forest);color:#fff}.explore-block{background:linear-gradient(125deg,#10382e,#285a49);color:white}.explore-inner{text-align:center}.explore-block h2{margin:18px auto;max-width:720px}.explore-block h2 em{color:#e6cea3}.explore-block p{color:#e5ece6}.explore-block .btn{margin-top:25px}.light{color:#ddc9a2}.cta-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-row h2{margin:14px 0 0}.page-head{background:linear-gradient(90deg,rgba(16,46,36,.93),rgba(20,54,40,.64)),var(--head-image) center/cover,#254838;color:white;padding:105px 0 110px}.page-head h1{font-size:clamp(3.4rem,6vw,6.3rem);margin:18px 0}.page-head p{max-width:610px;color:#ebf1e8;font-size:17px}.page-head+.section{padding-top:90px}.fineprint{font-size:12px;margin-top:40px;color:#738276}.facilities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.facility{padding:42px 35px;border:1px solid var(--line);background:#fff;min-height:250px}.facility h3{margin:17px 0}.facility p{font-size:14px;color:#66796b}.attraction-grid{margin-top:70px}.detail-hero{position:relative;height:550px;background:var(--deep);overflow:hidden}.detail-photo,.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#092c24bb,transparent 75%)}.detail-caption{position:absolute;bottom:50px;left:max(36px,calc((100vw - 1190px)/2));color:white;max-width:80%}.detail-caption h1{margin:12px 0}.detail-caption p{font-size:17px}.detail-layout{display:grid;grid-template-columns:1.45fr .8fr;gap:110px}.back-link{display:block;margin-bottom:40px;font-size:13px;color:#869689}.detail-layout h2{margin:15px 0 25px}.lead-copy{font-size:17px;color:#647769}.detail-layout h3{margin-top:44px}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}.amenities span{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.booking-panel{padding:36px;background:var(--sand);align-self:start}.booking-panel h3{margin:16px 0}.booking-panel p{color:#718175}.booking-panel .btn{width:100%;margin:15px 0 25px;background:var(--forest);color:white}.booking-panel .text-link{font-size:10px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-item{aspect-ratio:1.1;position:relative;overflow:hidden;background:#dde4dc}.gallery-item:nth-child(1),.gallery-item:nth-child(5){grid-column:span 2;aspect-ratio:2.1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;bottom:0;left:0;right:0;padding:45px 25px 20px;color:white;background:linear-gradient(transparent,#132f28a8);font-size:18px;font-family:Georgia,serif}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px}.contact-grid h2{margin-top:20px}.contact-grid>div>p{color:#62786a}.contact-block{margin-top:30px}.contact-block span{display:block;font-size:10px;font-weight:700;letter-spacing:2px;color:#7a9283}.contact-block a{font-size:20px;color:var(--forest)}.contact-grid .btn{margin-top:30px}.contact-card{background:var(--sand);padding:42px}.contact-card h3{margin:16px 0 24px}.contact-card label{display:block;font-size:12px;font-weight:700;color:#476053;margin:15px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}input,textarea{display:block;width:100%;border:1px solid #d5ded2;background:#fff;font:inherit;font-weight:400;padding:13px;margin-top:8px;outline-color:#829c8b}textarea{resize:vertical}.contact-card button{border:0;background:var(--forest);color:white}.form-note{font-size:11px;color:#809083}.map-section iframe{width:100%;height:410px;border:0;display:block}.footer{background:var(--deep);color:#cfddd3;padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr 1.2fr;gap:50px}.footer-wordmark{font-size:35px;letter-spacing:4px;color:#faf7e7}.footer h4{color:#d8c7a2;letter-spacing:1.5px;font-size:11px;text-transform:uppercase;margin:4px 0 23px}.footer a,.footer span{display:block;color:#d0dbd4;font-size:13px;margin:10px 0}.footer p{max-width:240px;font-size:13px}.footer-button{display:inline-block!important;border:1px solid #d0c2a4;padding:10px 20px!important;color:#fff!important}.footer-bottom{border-top:1px solid #415b4c;margin-top:60px;padding-top:15px;display:flex;justify-content:space-between;gap:15px}.footer-bottom span{font-size:11px;margin:0}@keyframes slowZoom{from{transform:scale(1.06)}to{transform:scale(1)}}@media(max-width:1140px){.nav{gap:17px}.header-inner{padding:0 25px}.nav-link{font-size:10px}.rooms-grid{gap:16px}.room-body{padding:23px}}@media(max-width:870px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fbfaf7;box-shadow:0 12px 15px #10292312;padding:20px 30px 30px;flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav-link{font-size:13px;padding:13px 0;border-bottom:1px solid #e8ede7}.nav-book{margin-top:15px;text-align:center}.header-inner{min-height:80px}.container{width:min(100% - 42px,700px)}.hero{min-height:680px}.hero-content{padding:95px 0 120px}.rooms-grid,.facilities-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.intro-grid,.split-section,.detail-layout,.contact-grid{grid-template-columns:1fr;gap:35px}.split-photo{min-height:370px}.split-copy{padding:70px 45px}.footer-grid{grid-template-columns:repeat(2,1fr)}.gallery-item:nth-child(1),.gallery-item:nth-child(5){grid-column:span 1;aspect-ratio:1.1}.section{padding:75px 0}.page-head{padding:80px 0}.detail-caption{left:30px}.contact-grid{gap:50px}}@media(max-width:560px){.container{width:calc(100% - 38px)}.header-inner{padding:0 20px}.brand-name{font-size:24px}.brand-sub{font-size:8px}.hero h1{font-size:3.7rem;letter-spacing:-1.5px}.hero-side{display:none}.hero-buttons{flex-direction:column;align-items:stretch}.rooms-grid,.facilities-grid,.gallery-grid,.form-row,.amenities{grid-template-columns:1fr}.section-top,.cta-row{align-items:start;flex-direction:column}.room-card{max-width:500px}.split-photo{min-height:300px}.split-copy{padding:60px 25px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:span 2}.footer-bottom{flex-direction:column}.gallery-item:nth-child(1),.gallery-item:nth-child(5){grid-column:auto}.contact-card{padding:26px}.detail-hero{height:440px}.page-head h1{font-size:3.4rem}}

/* Individual room photo galleries */
.room-gallery-section{padding-top:65px;padding-bottom:65px;background:#f8f5ef}.room-gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.room-gallery-heading h2{margin:8px 0 10px}.room-gallery-heading p{margin:0;opacity:.72}.gallery-count{font-size:13px;white-space:nowrap;color:#567168}.room-mini-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.room-gallery-thumb{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;background:#d6d7cd;overflow:hidden;cursor:zoom-in;border-radius:5px}.room-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease}.room-gallery-thumb:hover img,.room-gallery-thumb:focus-visible img{transform:scale(1.07)}.room-gallery-thumb:focus-visible{outline:3px solid #ae9064;outline-offset:3px}.gallery-zoom{position:absolute;bottom:10px;right:10px;color:white;background:#173c36b8;border-radius:50%;height:30px;width:30px;display:grid;place-items:center}.room-lightbox{position:fixed;inset:0;background:rgba(9,22,20,.95);z-index:99999;display:none;align-items:center;justify-content:center;padding:52px 75px 70px}.room-lightbox.is-open{display:flex}.room-lightbox figure{margin:0;text-align:center;max-width:100%;max-height:100%}.room-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 145px);object-fit:contain;margin:auto;border-radius:4px}.room-lightbox figcaption{color:#f5eee2;font-size:14px;margin-top:12px}.room-lightbox button{border:0;cursor:pointer;background:rgba(255,255,255,.13);color:#fff;border-radius:50%;font-size:30px;width:46px;height:46px;display:grid;place-items:center}.room-lightbox-close{position:absolute;right:20px;top:18px}.room-lightbox-prev,.room-lightbox-next{position:absolute;top:50%;transform:translateY(-50%)}.room-lightbox-prev{left:15px}.room-lightbox-next{right:15px}body.room-gallery-open{overflow:hidden}@media(max-width:850px){.room-mini-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:580px){.room-mini-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.room-gallery-heading{align-items:flex-start;flex-direction:column}.room-lightbox{padding:75px 15px 75px}.room-lightbox-prev,.room-lightbox-next{top:auto;bottom:12px;transform:none}.room-lightbox-prev{left:calc(50% - 59px)}.room-lightbox-next{right:calc(50% - 59px)}.room-lightbox img{max-height:calc(100vh - 190px)}}

/* Oliver’s Tale boutique branding */
:root{--forest:#071b3b;--deep:#061733;--sage:#729bb8;--sand:#e8f5fc;--cream:#f7fbfe;--ink:#0b2043;--muted:#50657e;--line:#cfdfed;--accent:#aad5ec}
body{background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}
.site-header{background:#e1f2fc;border-bottom:1px solid #c6dfee}.header-inner{min-height:110px}
.wordmark{min-width:245px;flex-direction:row;align-items:center;gap:11px;color:#061b3c}
.brand-animal{height:65px;width:92px;object-fit:contain;flex:none}
.brand-name{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:29px;letter-spacing:.015em;white-space:nowrap}
.brand-sub{font-size:9px;letter-spacing:.17em;margin-top:4px}.brand-location{font:600 9px/1.2 'DM Sans',sans-serif;letter-spacing:.35em;margin-top:6px;text-transform:uppercase}
.nav{gap:20px}.nav-link{color:#0c294d}.nav-link:hover,.nav-link.active{color:#326e98}.nav-book{background:#071b3b}
h1,h2,h3,.footer-wordmark{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}em{color:#76add0}
.hero{background:#071b3b}.hero-overlay{background:linear-gradient(90deg,rgba(5,18,43,.93),rgba(8,33,63,.73) 55%,rgba(4,21,48,.24))}
.hero h1 em{color:#c8eaff}.hero-kicker,.dash{color:#d7edfc}.dash{background:#b8e2fb}
.hero-content>p{color:#e0f0fa}.btn-primary{background:#cdeafd;color:#082244}.btn-outline{border-color:#eaf7ff}
.eyebrow,.text-link,.room-body .featureline{color:#285e89}.intro-grid p,.room-body p,.split-copy p,.detail-layout .lead-copy,.contact-grid>div>p{color:#526a80}
.section-sand,.booking-panel,.contact-card{background:#e7f4fc}.room-card{box-shadow:0 15px 40px rgba(10,35,76,.07)}
.room-cap{background:#e5f5ff;color:#071b3b}.book-link{color:#286f9d}
.split-copy{background:#dbeffc}.split-copy .btn,.booking-panel .btn{background:#071b3b}.explore-block{background:linear-gradient(120deg,#071b3b,#18426c)}.explore-block h2 em{color:#b6e1fb}.light{color:#a5d1e9}
.page-head{background:linear-gradient(90deg,rgba(5,22,52,.92),rgba(14,49,86,.68)),var(--head-image) center/cover,#12355d}
.detail-photo:after{background:linear-gradient(90deg,#071b3bcc,transparent 75%)}.facility{border-color:#d2e3ef}.contact-block a{color:#0d4973}
.footer{background:#07162e;color:#e0effb}.footer h4{color:#bbdcf4}.footer a,.footer span{color:#d6e7f3}.footer-bottom{border-color:#284563}.footer-button{border-color:#b2d7f0}
input,textarea{border-color:#bfd7e8;outline-color:#377da8}
.brand-showcase{padding:55px 18px;background:#d9effc;text-align:center;border-bottom:1px solid #c9e3f4}
.brand-showcase img{width:min(570px,100%);height:auto;margin:auto;mix-blend-mode:multiply}
.footer-brand-animal{width:130px;height:auto;opacity:.95;margin-bottom:8px}.footer-wordmark{font-size:33px;letter-spacing:.02em}
@media(max-width:1140px){.header-inner{padding:0 23px}.brand-animal{height:52px;width:68px}.brand-name{font-size:23px}.wordmark{min-width:196px}}
@media(max-width:600px){.header-inner{min-height:86px}.brand-animal{height:48px;width:61px}.brand-name{font-size:22px}.brand-sub{font-size:7px}.brand-location{font-size:8px}.brand-showcase{padding:35px 10px}}


/* Header/logo refresh and site preloader */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(225,242,252,.96);backdrop-filter:saturate(140%) blur(12px);box-shadow:0 8px 26px rgba(8,27,59,.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:98px;padding:0 32px}
.wordmark{display:flex;align-items:center;min-width:auto;gap:0}
.brand-logo{display:block;width:clamp(210px,24vw,345px);height:auto;mix-blend-mode:multiply}
.nav{margin-left:auto}
.hero{min-height:calc(100vh - 98px)}
.brand-showcase{display:none}
@media(max-width:1140px){.header-inner{padding:0 22px}.brand-logo{width:260px}}
@media(max-width:820px){.site-header{backdrop-filter:none}.header-inner{min-height:84px}.brand-logo{width:220px}}
@media(max-width:600px){.header-inner{padding:0 18px}.brand-logo{width:185px}.hero{min-height:calc(100vh - 84px)}}

.site-preloader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:linear-gradient(180deg,#e7f5fd 0%,#dceef9 100%);transition:opacity .45s ease,visibility .45s ease}
.site-preloader.is-loaded{opacity:0;visibility:hidden}
.preloader-shell{display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 34px;border:1px solid rgba(7,27,59,.1);border-radius:28px;background:rgba(255,255,255,.34);box-shadow:0 18px 50px rgba(7,27,59,.08)}
.preloader-animal{width:110px;height:auto;mix-blend-mode:multiply;animation:preloaderFloat 1.8s ease-in-out infinite}
.preloader-copy{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:#071b3b}
.preloader-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2rem,4.5vw,3.1rem);font-weight:600;line-height:1}
.preloader-sub{font:600 11px/1.2 'DM Sans',sans-serif;letter-spacing:.34em;text-transform:uppercase;color:#476888}
@keyframes preloaderFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:560px){.preloader-shell{padding:24px 20px;border-radius:22px}.preloader-animal{width:92px}.preloader-sub{font-size:10px;letter-spacing:.24em}}


/* Final header sizing/color refinement */
.site-header{background:#dbeef8 !important;border-bottom:1px solid #c7dcea !important}
.header-inner{min-height:90px !important}
.brand-logo{width:clamp(165px,18vw,250px) !important}
.nav{background:transparent}
@media(max-width:870px){.nav{background:#dbeef8 !important}.header-inner{min-height:78px !important}}
@media(max-width:600px){.brand-logo{width:155px !important}.header-inner{min-height:76px !important}}
.site-preloader{background:linear-gradient(180deg,#dbeef8 0%,#d6ebf7 100%) !important}


/* Header background unified with logo panel */
.site-header{background:#c8dff0 !important;border-bottom:1px solid #b7d0e3 !important;box-shadow:0 6px 20px rgba(8,27,59,.05) !important}
.header-inner{background:#c8dff0 !important}
.wordmark{background:transparent !important;padding:0 !important;border-radius:0 !important;box-shadow:none !important}
.brand-logo{background:transparent !important;mix-blend-mode:normal !important}
.nav,.nav.is-open{background:#c8dff0 !important}
.nav-link{color:#15365d !important}.nav-link:hover,.nav-link.active{color:#2d6f98 !important}
.menu-toggle span{background:#15365d !important}
.site-preloader{background:linear-gradient(180deg,#c8dff0 0%,#c3dced 100%) !important}
@media(max-width:870px){.nav{border-top:1px solid #b7d0e3 !important}}


/* Exact requested header blue */
.site-header{background:#d5effe !important;border-bottom:1px solid #c2e1f2 !important}
.header-inner{background:#d5effe !important}
.nav,.nav.is-open{background:#d5effe !important}
.site-preloader{background:linear-gradient(180deg,#d5effe 0%,#cfeafb 100%) !important}
@media(max-width:870px){.nav{border-top:1px solid #c2e1f2 !important}}

/* Footer matches the brand-blue header across all pages. */
.footer{background:#d5effe !important;color:#071b3b !important}
.footer h4,.footer .footer-wordmark,.footer small,.footer p,.footer a,.footer span,.footer-bottom,.footer-bottom span{color:#071b3b !important}
.footer h4{color:#15365d !important}
.footer a:hover{color:#286f9d !important}
.footer-bottom{border-top-color:#b4d8ed !important}
.footer-button{border-color:#071b3b !important;color:#071b3b !important}
.footer-button:hover{background:#071b3b !important;color:#fff !important}

/* Oliver’s Tale property film */
.property-film{padding:clamp(65px,7vw,106px) 0;background:#f7fbfe;color:#0b2043}
.film-header{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:30px}
.film-header h2{margin:12px 0 0;font-size:clamp(2.5rem,4.5vw,4.7rem)}
.film-header p{max-width:335px;margin:0 0 7px;color:#526a80;line-height:1.75}
.film-frame{position:relative;overflow:hidden;background:#071b3b;border-radius:12px;box-shadow:0 26px 65px rgba(7,27,59,.17);aspect-ratio:16/9}
.film-video{width:100%;height:100%;display:block;object-fit:cover}
.film-toggle{position:absolute;bottom:22px;right:24px;display:flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid rgba(255,255,255,.5);border-radius:40px;color:white;background:rgba(7,27,59,.8);backdrop-filter:blur(8px);font:600 12px/1.3 'DM Sans',sans-serif;cursor:pointer}
.film-toggle:focus-visible{outline:3px solid #d5effe;outline-offset:3px}
.film-toggle-icon{font-size:17px;line-height:1}
.film-caption{position:absolute;left:25px;bottom:25px;color:white;font:600 11px/1.3 'DM Sans',sans-serif;letter-spacing:.2em;text-shadow:0 1px 7px #071b3b}
.film-caption span{padding:0 7px}
@media(max-width:700px){.film-header{display:block}.film-header p{margin-top:14px;max-width:500px}.film-frame{border-radius:7px}.film-caption{left:12px;bottom:13px;font-size:8px}.film-toggle{right:12px;bottom:12px;padding:9px 11px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.film-video{animation:none}}

/* Visitor-controlled audio for property video */
.film-sound{position:absolute;bottom:22px;right:172px;display:flex;align-items:center;gap:9px;padding:11px 17px;border:1px solid rgba(255,255,255,.58);border-radius:40px;background:rgba(7,27,59,.84);color:#fff;font:600 12px/1.3 'DM Sans',sans-serif;cursor:pointer;backdrop-filter:blur(8px)}
.film-sound:hover,.film-toggle:hover{background:#123d6d}
.film-sound:focus-visible{outline:3px solid #d5effe;outline-offset:3px}
.film-sound-icon{font-size:17px;line-height:1}
@media(max-width:700px){.film-sound{bottom:57px;right:12px;padding:9px 11px;font-size:11px}}

/* Original recognition badge artwork, supplied by the client */
.recognition-section{background:#f7fbfe;padding:78px 0 70px}
.recognition-intro{text-align:center;max-width:690px;margin:0 auto 30px}
.recognition-intro h2{margin:10px 0;font-size:clamp(2.4rem,4vw,4rem)}
.recognition-intro p{color:#50657e;margin:0}
.recognition-badges{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:22px}
.recognition-badge{display:flex;justify-content:center;align-items:center;padding:12px;background:#fff;border:1px solid #d4e7f1;border-radius:9px;box-shadow:0 10px 26px rgba(8,27,59,.055);width:150px;min-height:151px}
.recognition-badge img{display:block;width:110px;height:112px;object-fit:contain}
.recognition-note{text-align:center;color:#61738a;font-size:11px;line-height:1.6;margin:20px auto 0;max-width:670px}
@media(max-width:600px){.recognition-section{padding:56px 0}.recognition-badges{gap:10px}.recognition-badge{width:calc(50% - 9px);max-width:180px;min-height:136px;padding:10px}.recognition-badge img{width:105px;height:108px}}

/* Linked award badges retain the existing presentation. */
a.recognition-badge{cursor:pointer;text-decoration:none}a.recognition-badge:focus-visible{outline:3px solid #071b3b;outline-offset:4px}

/* Subtle interactive award treatment; original artwork stays unchanged */
.recognition-badge.badge-external{position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;border-color:#b6d9ed}
.recognition-badge.badge-external:after{content:"↗";position:absolute;top:6px;right:8px;font:700 15px/1 'DM Sans',Arial,sans-serif;color:#0b315b;background:#e8f6ff;border:1px solid #bcd9ea;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;box-shadow:0 2px 7px #071b3b12}
.recognition-badge.badge-external:hover,.recognition-badge.badge-external:focus-visible{transform:translateY(-4px);border-color:#649bbd;box-shadow:0 16px 30px rgba(7,27,59,.15)}
/* Floating Facebook link across all pages */
.floating-facebook{position:fixed;left:23px;bottom:23px;z-index:1200;display:flex;align-items:center;justify-content:center;gap:9px;min-width:54px;height:54px;padding:0 15px;border-radius:28px;background:#071b3b;color:#fff!important;box-shadow:0 8px 26px rgba(7,27,59,.24);border:1px solid #285078;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;text-decoration:none}
.floating-facebook:hover{background:#173e72;transform:translateY(-3px);box-shadow:0 12px 28px rgba(7,27,59,.31)}
.floating-facebook:focus-visible{outline:3px solid #2b78ba;outline-offset:4px}
.fb-float-label{font:600 12px/1 'DM Sans',Arial,sans-serif;letter-spacing:.02em;color:inherit!important}
@media(max-width:600px){.floating-facebook{bottom:15px;left:15px;width:48px;min-width:48px;height:48px;padding:0;border-radius:50%}.fb-float-label{display:none}.recognition-badge.badge-external:after{width:22px;height:22px;top:5px;right:5px}}
@media(prefers-reduced-motion:reduce){.recognition-badge.badge-external,.floating-facebook{transition:none}.recognition-badge.badge-external:hover,.floating-facebook:hover{transform:none}}

/* Compact, accessible contact actions above navigation */
.header-contact-strip{background:#d5effe;border-bottom:1px solid rgba(7,27,59,.1)}
.header-contact-inner{max-width:1410px;margin:auto;padding:6px 32px;display:flex;align-items:center;justify-content:flex-end;gap:9px}
.header-contact-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:31px;padding:5px 13px;border:1px solid rgba(7,27,59,.19);border-radius:999px;color:#071b3b;font:600 11px/1.25 'DM Sans',sans-serif;letter-spacing:.015em;background:rgba(255,255,255,.36);transition:background .2s ease,transform .2s ease,border-color .2s ease}
.header-contact-button svg{flex:none}
.header-contact-button:hover,.header-contact-button:focus-visible{background:#fff;border-color:#071b3b;transform:translateY(-1px)}
.header-contact-button:focus-visible{outline:2px solid #071b3b;outline-offset:2px}
@media(max-width:870px){.header-contact-inner{padding:6px 22px;justify-content:center}}
@media(max-width:560px){.header-contact-inner{padding:6px 12px;gap:6px}.header-contact-button{padding:7px 9px;font-size:10px;gap:5px;min-height:36px}.header-contact-button svg{width:13px;height:13px}}
@media(max-width:370px){.header-contact-button{font-size:9px;padding:6px 7px}}
@media(prefers-reduced-motion:reduce){.header-contact-button{transition:none}.header-contact-button:hover{transform:none}}

/* Keep copyright symbol, year and business name together */
.footer-bottom .footer-copyright{display:inline-flex!important;align-items:baseline;gap:.28em;white-space:nowrap;flex-shrink:0;}
.footer-bottom .footer-copyright #year{display:inline!important;white-space:nowrap;}
@media(max-width:560px){.footer-bottom .footer-copyright{font-size:clamp(10px,2.9vw,11px);max-width:100%;}}

/* Copyright as one normal text node (not split into flex items) */
.footer-bottom .footer-copyright{display:block!important;white-space:nowrap!important;flex:0 0 auto;max-width:none;font-size:11px;line-height:1.5;color:#071b3b!important;margin:0}
@media(max-width:360px){.footer-bottom .footer-copyright{font-size:10px}}

/* Property map listing link */
.map-listing-link{text-align:center;background:#d5effe;padding:17px 20px 20px}.map-listing-link a{display:inline-block;color:#071b3b;font-weight:700;text-decoration:underline;text-underline-offset:4px}.map-listing-link a:hover{color:#29638b}

/* Facebook in the slim contact bar; balanced desktop and mobile alignment */
.header-contact-inner{justify-content:space-between !important;gap:16px !important}
.topbar-social,.topbar-contacts{display:flex;align-items:center;gap:9px;min-width:0}
.top-facebook{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(7,27,59,.17);border-radius:30px;color:#071b3b!important;font-size:12px;font-weight:600;line-height:1.2;transition:background .2s ease,transform .2s ease}
.top-facebook:hover,.top-facebook:focus-visible{background:#b8e3fa;transform:translateY(-1px)}
.top-facebook svg{flex:none}
@media(max-width:870px){.header-contact-inner{justify-content:space-between !important}}
@media(max-width:600px){.header-contact-inner{padding:6px 12px !important;gap:4px !important}.top-facebook{padding:8px;border-radius:50%}.top-fb-label{display:none}.topbar-contacts{gap:5px}.topbar-contacts .header-contact-button{min-width:0}}
@media(prefers-reduced-motion:reduce){.top-facebook{transition:none}.top-facebook:hover{transform:none}}


/* Oliver's Tale refined interactions */
@media(hover:hover) and (pointer:fine){.nav-link,.nav-book,.btn,.text-link,.room-actions a{position:relative}.nav-link::after,.nav-book::after,.btn::after,.text-link::after,.room-actions a::after{content:"";position:absolute;width:17px;height:17px;background:url("animal-mark.png") center/contain no-repeat;opacity:0;pointer-events:none;top:-10px;right:-10px;transform:translateY(5px) rotate(-7deg);transition:opacity .24s ease,transform .3s ease}.nav-link:hover::after,.nav-link:focus-visible::after,.nav-book:hover::after,.nav-book:focus-visible::after,.btn:hover::after,.btn:focus-visible::after,.text-link:hover::after,.text-link:focus-visible::after,.room-actions a:hover::after,.room-actions a:focus-visible::after{opacity:.85;transform:translateY(-2px) rotate(3deg)}}
body.page-entering main,body.page-entering .footer{animation:pageArrive .3s ease-out both}body.page-leaving main,body.page-leaving .footer{opacity:0;transform:translateY(7px);transition:opacity .18s ease,transform .18s ease}@keyframes pageArrive{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.mobile-booking-pill{display:none}
@media(max-width:870px){.mobile-booking-pill{display:flex;position:fixed;bottom:calc(17px + env(safe-area-inset-bottom,0px));right:16px;z-index:1050;align-items:center;justify-content:center;gap:10px;background:#071b3b;color:#fff;font:700 13px/1 'DM Sans',sans-serif;letter-spacing:.02em;padding:15px 20px;border:1px solid #a8cbe1;border-radius:999px;box-shadow:0 8px 25px rgba(7,27,59,.25);text-decoration:none;min-height:49px}.mobile-booking-pill:focus-visible{outline:3px solid #5ea7cd;outline-offset:3px}.footer{padding-bottom:85px}}
.room-lightbox{padding:45px 75px 60px;touch-action:pan-y}.room-lightbox figure{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.room-lightbox img{max-height:calc(100dvh - 125px);max-width:min(100%,1400px);user-select:none;-webkit-user-drag:none;object-fit:contain}.room-lightbox figcaption{margin:0;color:#e4f2ff}.room-lightbox .room-lightbox-counter{color:#badcf3;font-size:13px;letter-spacing:.15em;font-weight:700}.room-lightbox button:focus-visible{outline:3px solid #a7d8f6;outline-offset:3px}.room-lightbox .room-lightbox-prev,.room-lightbox .room-lightbox-next{background:rgba(213,239,254,.18)}
@media(max-width:580px){.room-lightbox{padding:60px 12px 80px}.room-lightbox img{max-height:calc(100dvh - 170px)}.room-lightbox figure{gap:6px}}
@media(prefers-reduced-motion:reduce){body.page-entering main,body.page-entering .footer{animation:none}body.page-leaving main,body.page-leaving .footer{transition:none;transform:none}.nav-link::after,.nav-book::after,.btn::after,.text-link::after,.room-actions a::after{transition:none}}


/* About Us — editorial family story */
.about-hero{background:#d5effe;padding:clamp(48px,6.5vw,108px) 0 80px;overflow:hidden}.about-hero-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(35px,5vw,100px);align-items:center}.about-hero-copy{position:relative;z-index:1}.about-eyebrow{letter-spacing:.24em}.about-hero h1{font-size:clamp(4rem,7.4vw,8.8rem);line-height:.92;letter-spacing:-.035em;color:#071b3b;margin:26px 0 30px}.about-hero h1 em{color:#376b92}.about-hero-copy>p{font-size:clamp(16px,1.5vw,19px);color:#385573;max-width:420px;line-height:1.85}.about-hero-line{display:flex;align-items:center;gap:14px;margin-top:42px;font-size:10px;font-weight:700;letter-spacing:.2em;color:#17476a}.about-rule{display:inline-block;width:44px;height:1px;background:#17476a}.about-hero-photo{position:relative;box-shadow:0 32px 60px #08264a23;aspect-ratio:1.36;overflow:hidden}.about-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%;animation:aboutPhotoReveal 1.1s ease both}.about-photo-corner{position:absolute;right:0;bottom:0;width:70px;height:70px;border-right:7px solid #d5effe;border-bottom:7px solid #d5effe;pointer-events:none}.about-story{background:#f8fcff}.about-story-layout{display:grid;grid-template-columns: .8fr 1.2fr;gap:clamp(45px,9vw,155px);align-items:start}.about-story-aside{position:relative}.about-story-aside h2{margin:25px 0 35px;color:#071b3b}.about-emblem{width:150px;opacity:.13;filter:grayscale(1)}.about-story-text p{color:#34536d;line-height:1.95;font-size:16px;margin-bottom:24px}.about-story-text .about-lead{font-family:'Cormorant Garamond',Georgia,serif;color:#0a2c4b;font-size:clamp(24px,2.45vw,34px);line-height:1.35}.about-place{background:#0b2344;color:#eaf7ff}.about-place-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,140px);align-items:center}.about-place h2{color:#fff;margin:15px 0}.about-place h2 em{color:#a5d8f4}.about-place p{color:#d3e8fa;font-size:16px;line-height:1.95}.about-place .btn{margin-top:15px}.about-closing{background:#e7f5fe;text-align:center}.about-closing-inner{max-width:820px}.about-closing blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(32px,4.4vw,58px);font-weight:500;line-height:1.18;color:#092950;margin:25px 0}.about-closing-rule{display:block;margin:29px auto 18px;width:46px;height:1px;background:#598db0}.about-closing p{letter-spacing:.13em;text-transform:uppercase;font-size:12px;color:#3d5d79;margin-bottom:30px}@keyframes aboutPhotoReveal{from{opacity:.45;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}@media(max-width:850px){.about-hero-layout,.about-story-layout,.about-place-grid{grid-template-columns:1fr;gap:35px}.about-hero{padding:50px 0}.about-hero h1{font-size:clamp(3.8rem,10vw,6.6rem)}.about-hero-photo{aspect-ratio:1.55}.about-emblem{display:none}}@media(max-width:560px){.about-hero-photo{aspect-ratio:1.2}.about-hero h1{font-size:clamp(3.7rem,13vw,5rem)}.about-story-text .about-lead{font-size:27px}.about-place-grid{gap:18px}}@media(prefers-reduced-motion:reduce){.about-hero-photo img{animation:none}}

/* Aerial property photograph: preserve building visibility across screens */
.hero-image{background-position:center 47%}
@media(max-width:600px){.hero-image{background-position:53% center}}


/* Homepage aerial: display the COMPLETE property photograph, never crop or zoom it. */
.hero{background:#071b3b;min-height:740px}
.hero-image{background-size:contain !important;background-position:center center !important;background-repeat:no-repeat !important;animation:none !important;transform:none !important}
.hero-overlay{background:linear-gradient(90deg,rgba(5,18,43,.78) 0%,rgba(5,18,43,.48) 46%,rgba(5,18,43,.10) 100%)}
@media(max-width:870px){
  .hero{min-height:0 !important;height:auto;display:flex;flex-direction:column;padding-top:0;overflow:hidden}
  .hero-image{position:relative !important;inset:auto !important;display:block;width:100%;aspect-ratio:1061 / 676;background-size:contain !important;background-position:center !important;flex:none}
  .hero-overlay{display:none}
  .hero-content{padding:36px 0 76px !important;width:min(100% - 42px,700px)}
  .hero h1{font-size:clamp(3rem,9vw,4.8rem)}
  .hero-side,.hero-scroll{display:none}
}
@media(max-width:560px){.hero-content{width:calc(100% - 38px);padding:27px 0 78px !important}.hero h1{font-size:clamp(2.8rem,11vw,3.7rem)}}


/* Homepage original aerial images: full-frame crossfade slideshow */
.hero-slideshow{overflow:hidden;isolation:isolate;background:#071b3b !important}
.hero-slideshow .hero-slide{position:absolute;inset:0;background-position:center;background-size:contain;background-repeat:no-repeat;opacity:0;transition:opacity 1.25s ease-in-out;pointer-events:none;transform:none !important;animation:none !important}
.hero-slideshow .hero-slide.is-active{opacity:1;z-index:1}
@media(max-width:870px){.hero-slideshow{aspect-ratio:16/9 !important}.hero-slideshow .hero-slide{background-size:contain !important}}
@media(prefers-reduced-motion:reduce){.hero-slideshow .hero-slide{transition:none !important}}

/* Hero slideshow: edge-to-edge photographs without side bars. The property stays central. */
.hero-slideshow{background:#071b3b !important;width:100%}
.hero-slideshow .hero-slide{
  background-size:cover !important;
  background-position:center 52% !important;
  background-repeat:no-repeat !important;
}
@media(max-width:870px){
  .hero-slideshow{aspect-ratio:16 / 9 !important}
  .hero-slideshow .hero-slide{background-size:cover !important;background-position:center center !important}
}

/* Mtunzini river cruise detail page */
.cruise-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:48px 0 85px}.cruise-gallery figure{margin:0;aspect-ratio:1.55;overflow:hidden;background:#dbe9f0}.cruise-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.cruise-gallery figure:hover img{transform:scale(1.035)}.cruise-info{display:grid;grid-template-columns:1.35fr .8fr;gap:65px;align-items:start}.cruise-info h2{margin:18px 0 28px}.cruise-chips{display:flex;flex-wrap:wrap;gap:11px}.cruise-chips span{background:#e5f2f9;border:1px solid #cadfec;padding:10px 15px;font-size:13px;color:#16385b}.cruise-note{font-size:13px;color:#5c7183;margin-top:24px}.cruise-book{background:#e8f4fc;padding:34px}.cruise-book h3{margin:12px 0 28px}.cruise-book h4{margin:25px 0 9px}.cruise-book p{font-size:12px;color:#536b7f;margin:20px 0}.cruise-price{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #c4d7e6}.cruise-price strong{white-space:nowrap}.cruise-phone{display:block;color:#0d4973;font-size:20px;font-weight:700;line-height:1.8}.cruise-book .text-link{margin-top:22px;font-size:10px}@media(max-width:850px){.cruise-info{grid-template-columns:1fr;gap:35px}.cruise-gallery{margin-bottom:55px}}@media(max-width:560px){.cruise-gallery{grid-template-columns:1fr;gap:12px}.cruise-gallery figure{aspect-ratio:1.5}.cruise-book{padding:25px}}

/* River Cruises readability and pricing layout correction */
body .cruise-info{column-gap:clamp(30px,5vw,65px);row-gap:42px}
body .cruise-info h2{line-height:1.2;margin:16px 0 25px}
body .cruise-chips{display:flex;flex-wrap:wrap;gap:12px 12px;margin:22px 0}
body .cruise-chips span{display:inline-block;white-space:normal;line-height:1.5;word-spacing:normal;padding:11px 16px}
body .cruise-note{line-height:1.8;margin:24px 0 0;max-width:56ch}
body .cruise-book{min-width:0;padding:clamp(24px,3vw,38px)}
body .cruise-book h3{line-height:1.25;margin:14px 0 26px}
body .cruise-book .cruise-price{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:24px;row-gap:7px;padding:17px 0;margin:0;line-height:1.5}
body .cruise-book .cruise-price span{display:block;min-width:0;font-size:15px;font-weight:500;letter-spacing:normal;word-spacing:normal}
body .cruise-book .cruise-price strong{display:block;font-size:19px;letter-spacing:normal;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
body .cruise-book p{font-size:13px;line-height:1.8;margin:22px 0}
body .cruise-book h4{line-height:1.4;margin:30px 0 14px}
body .cruise-book .cruise-phone{display:block;margin:8px 0;font-size:19px;line-height:1.6;letter-spacing:normal;word-spacing:normal}
body .cruise-book .text-link{display:inline-block;line-height:1.65;margin-top:20px;overflow-wrap:anywhere}
body .intro-grid p+p{margin-top:20px}
@media(max-width:420px){body .cruise-book .cruise-price{column-gap:12px}body .cruise-book .cruise-price span{font-size:14px}body .cruise-book .cruise-price strong{font-size:17px}}

/* Ensure homepage accommodation photographs have a sized, visible block container. */
.rooms-grid .card-image{display:block;width:100%;aspect-ratio:5 / 4;position:relative;overflow:hidden;}
.rooms-grid .card-image img{display:block;width:100%;height:100%;object-fit:cover;}

/* Room photographs: stable display area across home, room listings and galleries */
.card-image{display:block;position:relative;overflow:hidden;aspect-ratio:5/4}
.card-image>img{display:block;width:100%;height:100%;object-fit:cover}
.detail-photo>img{display:block;width:100%;height:100%;object-fit:cover}
.room-gallery-thumb>img{display:block;width:100%;height:100%;object-fit:cover}
