:root{--sea:#087f8c;--navy:#071d32;--gold:#e9bc59;--paper:#f2f7f8;--ink:#18394c;--line:#d7e5e9}*{box-sizing:border-box}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e9bc59;outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}.honeypot{position:absolute;left:-9999px;width:1px;height:1px}.tour-selector{display:flex;justify-content:center;gap:12px;margin:0 auto 45px;flex-wrap:wrap}.tour-tab{background:transparent;color:#e3eaf0;border:1px solid #60717b;border-radius:40px;padding:16px 26px;font:inherit;transition:background .25s,color .25s}.tour-tab.selected{background:var(--gold);color:var(--navy);border-color:var(--gold)}.tour-intro{display:grid;grid-template-columns:1fr 280px;gap:55px;align-items:center;margin-bottom:35px}.tour-intro>div:only-child{grid-column:1/-1}.tour-intro h3{font-size:2.2rem;margin-bottom:14px}.tour-intro p{max-width:65ch}.tour-intro img{width:100%;max-height:380px;object-fit:contain;border-radius:12px}.tour-intro>a{text-align:center;font-size:.85rem;color:var(--gold)}.tour-prices{display:flex;gap:35px;margin:25px 0}.tour-prices span,.tour-prices strong{display:block}.tour-prices strong{font-size:1.8rem;color:var(--gold)}.day-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.day-card{border:1px solid #334758;border-radius:12px;background:#11283a;overflow:hidden}.day-card summary{padding:22px;cursor:pointer;display:flex;align-items:center;gap:22px;list-style:none}.day-card summary::after{content:'+';margin-left:auto;font-size:1.4rem;color:var(--gold)}.day-card[open] summary::after{content:'−'}.day-card summary span{color:var(--gold);white-space:nowrap}.day-card h4{font-size:1.15rem}.day-card ul{padding:0 25px 25px 90px;list-style:disc}.day-card[open] ul{animation:unfold .25s ease}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review-card{padding:30px;border:1px solid #365264;border-radius:14px;background:#11283a;color:#edf4f6}.review-card p,.review-card blockquote{margin:18px 0;overflow-wrap:anywhere}.stars{color:var(--gold);letter-spacing:3px}.review-action{text-align:center;margin-top:35px}.portal{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'Segoe UI',sans-serif}.portal a{color:inherit;text-decoration:none}.portal h1,.portal h2,.portal h3{line-height:1.15;color:var(--navy);font-family:Georgia,serif}.portal h1{font-size:clamp(2.4rem,4vw,4rem);font-weight:normal;margin:15px 0 24px;max-width:17ch}.portal h2{font-size:1.75rem}.portal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 5vw;background:var(--navy);color:#fff;gap:20px}.brand{font:italic 32px Georgia,serif}.brand span{display:block;font:12px 'Segoe UI',sans-serif;letter-spacing:2px;margin-top:6px;color:#d9bf86}.portal-header>a:last-child{border-bottom:1px solid var(--gold);padding-bottom:4px}.portal-main{max-width:1280px;padding:60px 5vw;margin:auto}.page-heading>p:first-child{color:var(--sea)}.reviews-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start;margin-top:45px}.public-reviews .review-grid{grid-template-columns:1fr}.public-reviews .review-card{background:white;color:var(--ink);border-color:var(--line)}.public-reviews .review-card strong{color:var(--navy)}.editor-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:30px;margin:24px 0;overflow-wrap:anywhere}.editor-panel h2{margin-top:0}.editor-panel summary{font-size:1.25rem;cursor:pointer}.portal label{display:block;font-weight:600;margin:20px 0}.portal input,.portal select,.portal textarea{display:block;width:100%;padding:13px 15px;margin-top:8px;border:1px solid #b5c9d0;background:#f9fcfd;border-radius:6px;font:inherit;color:var(--navy)}.portal textarea{resize:vertical;font-size:14px;line-height:1.6}.button{display:inline-block;background:var(--sea);color:white;border:0;border-radius:6px;padding:13px 23px;font:600 15px 'Segoe UI',sans-serif;transition:background .2s,transform .2s}.button:hover{background:#065f6a;transform:translateY(-1px)}.button.secondary{background:#244558}.button.danger{background:#a43c3c}.notice{padding:16px 20px;background:#d9f0eb;border-left:4px solid var(--sea);border-radius:4px;margin:20px 0}.notice.error{background:#ffeded;border-color:#a43c3c}.login-layout{min-height:80vh;display:grid;grid-template-columns:1.25fr 1fr;gap:8vw;align-items:center;max-width:1300px;margin:auto;padding:65px 6vw}.login-story{border-left:4px solid var(--gold);padding-left:35px}.login-story h1{max-width:14ch}.login-panel{box-shadow:0 25px 80px #18394c14}.admin-shell{display:grid;grid-template-columns:245px 1fr;min-height:calc(100vh - 102px)}.admin-sidebar{background:#0e2c40;color:#e0ecf3;padding:30px 20px}.admin-sidebar>p{color:#9eb7c4;font-size:13px;padding:0 13px}.admin-sidebar>a{display:block;padding:13px 18px;border-radius:7px;margin:5px 0}.admin-sidebar>a:hover,.admin-sidebar>a.active{background:#1c4b60;color:#f7d182}.admin-sidebar form{margin:35px 15px}.admin-main{padding:40px 5vw;max-width:1200px;min-width:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:35px 0}.stats-grid a{padding:24px;background:white;border-top:3px solid var(--sea);border-radius:8px}.stats-grid strong{display:block;font:42px Georgia,serif;color:var(--sea)}.stats-grid span{font-size:14px}.inline-actions{display:flex;gap:12px;flex-wrap:wrap}.empty-state{padding:30px;background:#e7eff2;border-radius:12px}.portal-footer{padding:25px 5vw;border-top:1px solid var(--line)}.hero-content{animation:arrival .9s ease both}.section-header .sub-title{text-transform:none;letter-spacing:1px}.nav-menu{gap:20px}.nav-link{font-size:.78rem}#header .container{max-width:1400px}.fade-up{opacity:1;transform:none}.fade-up.visible{animation:none}.contact-form input,.contact-form textarea{border-radius:8px}.btn-primary,.btn-secondary,.btn-outline{border-radius:6px}.feature-card,.package-card{border-radius:12px}.hero-content h1{font-size:clamp(2.7rem,6vw,4.5rem)}@keyframes arrival{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes unfold{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(max-width:1000px){.review-grid{grid-template-columns:1fr}.reviews-layout{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.nav-menu{gap:12px}}@media(max-width:700px){.tour-intro,.day-grid,.login-layout,.admin-shell{grid-template-columns:1fr}.tour-intro{gap:25px}.tour-intro>a{max-width:220px;margin:auto}.tour-prices{gap:20px}.day-card ul{padding-left:45px}.portal-header{padding:20px}.portal-header>a:last-child{font-size:13px}.brand{font-size:26px}.admin-sidebar{display:flex;flex-wrap:wrap;gap:4px;padding:16px}.admin-sidebar>p{width:100%}.admin-sidebar>a{padding:8px 12px}.admin-sidebar form{margin:5px}.admin-main,.portal-main{padding:30px 20px}.editor-panel{padding:22px}.login-layout{padding:35px 20px;gap:10px}.login-story{padding-left:20px}.login-story h1{font-size:2.6rem}.tour-selector{gap:8px}.tour-tab{font-size:.88rem;padding:12px 18px}.tour-prices strong{font-size:1.45rem}.container{padding:0 22px}.hero-buttons{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Data forms and touch layouts */
.data-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}.data-field{min-width:0}.data-field label{overflow-wrap:anywhere}.admin-photo{width:100%;height:170px;object-fit:cover;border-radius:10px;background:#d7e5e9}.photo-field{padding:20px;background:#eff6f8;border-radius:12px;margin:15px 0}.photo-field label:first-child{margin-top:0}.data-section summary{display:flex;justify-content:space-between;gap:12px;align-items:center}.data-section summary span{font:13px 'Segoe UI',sans-serif;color:#537382}.save-bar{display:flex;gap:20px;align-items:center;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);flex-wrap:wrap}.section-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}.section-shortcuts a{background:#dcecef;padding:8px 18px;border-radius:30px}.editable-day,.price-editor{border:1px solid #c8dce2;border-radius:12px;margin:24px 0;padding:22px;min-width:0}.editable-day legend,.price-editor legend{padding:0 10px;font-weight:600;color:var(--sea)}.editable-day .remove-day{display:block;margin-top:18px}.editor-panel form{min-width:0}.portal input[type=file]{font-size:13px}.section-padding{scroll-margin-top:95px}.tour-panel:not([hidden]){animation:route-arrival .45s cubic-bezier(.2,.65,.3,1) both}.gallery-item img,.destination-card img{transition:transform .65s cubic-bezier(.2,.65,.3,1)}.floating-photo{animation:none}.gallery-item:hover img,.destination-card:hover img{transform:scale(1.055)}.gallery-item{overflow:hidden}.hero-slider.active{animation:landscape-drift 8s ease-out both}.hero-content{position:relative;z-index:1}.hero-content h1{animation:arrival .9s ease both}.hero-buttons{animation:arrival .9s .2s ease both}.scroll-down-indicator span::after{content:'';display:block;width:3px;height:7px;border-radius:3px;background:var(--gold);margin:5px auto;animation:scroll-cue 2s ease infinite}.gallery-item:focus-visible,.destination-card:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.nav-menu{align-items:center}.hamburger{background:transparent;border:0;padding:10px;min-width:44px;min-height:44px;z-index:1002}.menu-backdrop{position:fixed;inset:0;z-index:999;background:#001b3099;backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.menu-backdrop.open{opacity:1;visibility:visible}.portal .editor-panel{animation:panel-arrival .35s ease both}.notice{animation:panel-arrival .3s ease both}.contact-info li{overflow-wrap:anywhere}.nav-menu a{display:block}.hero{min-height:650px;height:100svh}.hero-content{padding:100px 24px 70px}.tour-intro>div,.about-text,.contact-info,.contact-form{min-width:0}.day-card summary{min-height:76px}.day-card h4{overflow-wrap:anywhere}.review-grid p,.review-card blockquote{overflow-wrap:anywhere}.portal input,.portal textarea,.portal select,.contact-form input,.contact-form textarea{font-size:16px}.portal .button,.btn-primary,.btn-secondary{min-height:46px}.tour-prices{flex-wrap:wrap}.floating-buttons{z-index:900}@keyframes landscape-drift{from{transform:scale(1)}to{transform:scale(1.06)}}@keyframes route-arrival{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes panel-arrival{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes scroll-cue{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(8px);opacity:1}}@media(max-width:1100px) and (min-width:993px){.nav-menu{gap:10px}.nav-link{font-size:.7rem}.nav-cta{gap:10px}.nav-cta .btn-primary{padding:12px 18px}.logo img{height:42px}}@media(max-width:992px){.nav-menu{top:0;right:0;width:min(340px,88vw);height:100dvh;transform:translateX(105%);transition:transform .4s cubic-bezier(.22,.7,.2,1);padding:85px 28px 35px;justify-content:flex-start;align-items:stretch;overflow-y:auto;gap:5px;z-index:1001;background:#0e2c40}.nav-menu.active{transform:translateX(0)}.nav-menu .nav-link{color:#eef5f6!important;padding:13px 12px;border-bottom:1px solid #274859;font-size:1rem}.nav-cta{gap:0}body.menu-open{overflow:hidden}}@media(max-width:768px){.data-fields{grid-template-columns:1fr}.about-content{gap:30px;margin-bottom:45px}.contact-wrapper{gap:35px}.section-padding{padding:65px 0}.section-header{margin-bottom:32px}.features-grid{gap:12px}.feature-card{padding:24px 12px}.package-header,.package-pricing,.package-includes{padding:25px}.package-card .btn-primary,.package-card .btn-outline{width:calc(100% - 50px);margin-bottom:25px}.packages-grid{gap:24px}.hero{min-height:600px}.hero-content h1{font-size:clamp(2.25rem,8vw,3.4rem);line-height:1.14}.hero-content p{font-size:.95rem}.hero-buttons{align-items:center}.hero-buttons a{width:min(100%,290px)}.section-header h2{font-size:2.2rem}.admin-sidebar{gap:8px}.admin-sidebar>a{font-size:14px}.admin-main h1{font-size:2.6rem}.data-section summary span{display:none}.editor-panel{scroll-margin-top:20px}.editable-day{padding:18px}.portal-header .brand span{letter-spacing:1px}.portal input{min-width:0}.portal-header{flex-wrap:wrap}.public-reviews .page-heading h1{max-width:100%}}@media(max-width:480px){.features-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-item img{height:160px}.destinations-grid{grid-template-columns:1fr}.package-pricing{flex-direction:row;gap:10px;flex-wrap:wrap}.price-tier{text-align:center}.price-tier strong{font-size:1.45rem}.price-tier span{font-size:.7rem}.portal .stats-grid{gap:10px}.stats-grid a{padding:18px}.day-card summary{padding:17px;gap:12px}.day-card h4{font-size:1.05rem}.day-card ul{padding:0 22px 22px 40px}.tour-intro h3{font-size:1.7rem}.tour-prices{gap:20px}.tour-tab{width:100%}.section-padding .container{padding:0 20px}.hero-content{padding-left:20px;padding-right:20px}.contact-socials a{min-width:44px;min-height:44px}.portal-header>a:last-child{font-size:12px}.button{width:auto}.save-bar .button{width:100%}.save-bar a{margin:auto}.review-card{padding:22px}.floating-buttons{right:12px;bottom:15px}.logo img{height:42px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-slider.active{transform:none}}
@media(max-width:480px){.features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card{min-width:0}.feature-card h4{font-size:.78rem;overflow-wrap:anywhere}}body{overflow-x:clip}.wordmark{font-family:'Playfair Display',Georgia,serif;font-size:27px;line-height:1.1;color:#fff;display:block;white-space:nowrap}.wordmark small{display:block;font:10px 'Montserrat',sans-serif;letter-spacing:3px;color:#e9bc59;margin-top:7px}.footer-col .wordmark{margin-bottom:18px}#header .logo{display:block}.hero-content h1{max-width:15ch;margin-left:auto;margin-right:auto}@media(max-width:480px){.wordmark{font-size:23px}.wordmark small{font-size:9px;letter-spacing:2px}}
.new-tour-panel{margin-top:30px;border:2px dashed #b6cfd6;border-radius:14px;padding:20px}.new-tour-panel>summary{cursor:pointer;font-size:1.15rem;font-weight:600;color:var(--sea)}.new-tour-panel>.editor-panel{margin-bottom:0}.delete-tour-form{border-top:1px solid #e9dada;margin-top:25px;padding-top:22px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.delete-tour-form small{color:#785757}.new-tour-panel[open]{animation:panel-arrival .3s ease}@media(max-width:480px){.new-tour-panel{padding:12px}.delete-tour-form .button{width:100%}}
.poster-field{min-width:0;border:1px solid #c6dce3}.poster-field legend{font-weight:600;color:var(--sea);padding:0 10px}.poster-preview{height:320px;object-fit:contain;background:#dce9ec}.poster-form{margin-top:30px}.poster-field .save-bar{margin-top:18px}.poster-status{font-size:14px;color:#456577}@media(max-width:480px){.poster-preview{height:260px}.poster-field .save-bar .button{width:100%}}
/* Scroll reveals are enabled by JavaScript; content stays visible without it. */
.scroll-reveal{transition:opacity .7s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms),transform .7s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms)}
.scroll-reveal.reveal-pending:not(.is-revealed){opacity:0;transform:translate3d(0,26px,0)}
.scroll-reveal.reveal-pending[data-reveal="image"]:not(.is-revealed){transform:translate3d(0,20px,0) scale(.975)}
.scroll-reveal.reveal-pending[data-reveal="left"]:not(.is-revealed){transform:translate3d(-22px,0,0)}
.scroll-reveal.reveal-pending[data-reveal="right"]:not(.is-revealed){transform:translate3d(22px,0,0)}
.scroll-reveal.is-revealed{opacity:1;transform:none}
.scroll-reveal.reveal-pending:not(.is-revealed):focus-within{opacity:1;transform:none;transition-delay:0ms}
@media(max-width:768px){.scroll-reveal{transition-duration:.55s}.scroll-reveal.reveal-pending:not(.is-revealed),.scroll-reveal.reveal-pending[data-reveal="left"]:not(.is-revealed),.scroll-reveal.reveal-pending[data-reveal="right"]:not(.is-revealed){transform:translate3d(0,18px,0)}}
@media(prefers-reduced-motion:reduce){.scroll-reveal.reveal-pending:not(.is-revealed){opacity:1;transform:none!important;transition:none!important}}
/* Supplied logo: preserve its original colour and white background. */
#header{padding:12px 0}#header .logo .site-logo{display:block;width:76px;height:76px;object-fit:contain;filter:none;background:white;border-radius:9px}#header.scrolled .logo .site-logo{height:60px;width:60px}.site-footer-logo{display:block;width:190px;height:190px;object-fit:contain;background:white;border-radius:12px;margin-bottom:22px}.portal .brand{display:flex;align-items:center;gap:18px}.portal .brand .portal-logo{display:block;width:76px;height:76px;object-fit:contain;border-radius:9px;background:white}.portal .brand span{font-size:13px;letter-spacing:1px}.portal-header{padding-top:16px;padding-bottom:16px}@media(max-width:768px){#header{padding:8px 0}#header .logo .site-logo{width:64px;height:64px}#header.scrolled .logo .site-logo{width:54px;height:54px}.site-footer-logo{margin-left:auto;margin-right:auto}.portal .brand{gap:12px}.portal .brand .portal-logo{width:64px;height:64px}}@media(max-width:480px){.portal .brand span{font-size:11px;letter-spacing:0}.portal-header{gap:12px}.portal-header>a:last-child{font-size:11px}}
