/*
Theme Name: Wish Your Journey
Theme URI: https://wishyourjourney.com
Author: Wish Your Journey
Description: An editorial travel website for personalised journeys.
Version: 1.2.8
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: wish-your-journey
*/
:root{--ink:#102d34;--forest:#173b3a;--sea:#1e6a67;--cream:#f8f7f3;--gold:#ddac6c;--muted:#65777a;--line:#e0e8e4;font-family:Arial,Helvetica,sans-serif;color:var(--ink);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--cream);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{cursor:pointer}img{max-width:100%;display:block}.wrap{max-width:1240px;margin:auto;padding-inline:clamp(22px,4vw,55px)}.skip-link{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:100}.skip-link:focus{top:8px}.topbar{background:#102d34;color:#edf6f3;font-size:.82rem}.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding-block:8px}.topbar a:hover,.footer a:hover{text-decoration:underline}.site-header{background:white;position:relative;z-index:20;box-shadow:0 1px 0 #e3eae7}.nav-shell{height:80px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-weight:800;letter-spacing:-.045em;font-size:1.42rem;line-height:1.05;display:flex;gap:11px;align-items:center}.brand-mark{background:var(--forest);color:#f2c487;width:39px;height:39px;display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-style:italic;font-size:1.25rem}.brand small{display:block;letter-spacing:.18em;font-size:.52rem;font-weight:700;color:var(--sea);margin-top:5px}.main-nav{display:flex;align-items:center;gap:30px;font-weight:600;font-size:.92rem}.main-nav a:hover{color:var(--sea)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:4px;background:var(--forest);color:white;padding:14px 22px;font-weight:700;line-height:1.2}.button:hover{background:#275855}.button.light{background:#fff;color:var(--forest)}.button.outline{background:transparent;color:var(--forest);border-color:#a7bbb5}.menu-button{display:none;background:none;border:0;font-size:1.6rem;color:var(--ink)}.hero{min-height:680px;position:relative;background:#173b3a url('assets/images/hero.webp') center 48%/cover no-repeat;color:#fff;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,30,38,.78),rgba(5,30,38,.4) 48%,rgba(5,30,38,.04))}.hero-content{position:relative;width:100%;padding-block:90px 125px}.eyebrow{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.25em;color:var(--sea)}.hero .eyebrow{color:#f1c181}.hero h1{font:normal clamp(3.4rem,6vw,6rem)/1.06 Georgia,serif;letter-spacing:-.055em;max-width:760px;margin:20px 0}.hero p{max-width:560px;font-size:1.15rem;color:#ecf4f1;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.hero .button{background:#e7b879;color:#173b3a}.hero .button.light{background:rgba(255,255,255,.12);color:white;border:1px solid rgba(255,255,255,.65)}.hero-note{position:absolute;bottom:33px;right:max(5vw,25px);font-size:.77rem;letter-spacing:.16em;text-transform:uppercase;opacity:.8}.quick-strip{position:relative;margin-top:-60px;z-index:3}.quick-inner{background:white;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:0;box-shadow:0 22px 55px rgba(5,32,35,.14);border-radius:5px;align-items:stretch}.quick-inner label{display:block;padding:17px 20px;border-right:1px solid var(--line);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;color:var(--sea)}.quick-inner select{display:block;margin-top:5px;width:100%;border:0;background:transparent;font-weight:600;color:var(--ink);outline:none;font-size:.96rem;letter-spacing:0;text-transform:none}.quick-inner .button{border-radius:0 5px 5px 0;padding-inline:30px}.section{padding-block:100px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section h2,.split h2,.cta h2{font:normal clamp(2.4rem,4vw,4rem)/1.1 Georgia,serif;letter-spacing:-.04em;margin:12px 0}.section-lede{max-width:570px;color:var(--muted);margin:0}.text-link{font-weight:700;color:var(--sea);border-bottom:1px solid var(--sea);padding-bottom:5px;white-space:nowrap}.dest-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.dest-card{position:relative;min-height:435px;overflow:hidden;border-radius:5px;background:var(--forest);color:white;display:flex;align-items:end}.dest-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.dest-card:hover img{transform:scale(1.05)}.dest-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,22,27,.8),transparent 68%)}.dest-card .card-copy{position:relative;z-index:1;padding:28px}.dest-card h3{font:normal 2rem Georgia,serif;margin:4px 0}.dest-card span{letter-spacing:.18em;font-size:.69rem;text-transform:uppercase;color:#f6ce90;font-weight:800}.dest-card p{margin:5px 0 0;max-width:255px;color:#f1f4f0;font-size:.91rem}.dest-card.escape{background:linear-gradient(140deg,#64818a,#1b4047)}.dest-card.escape:before{content:"";position:absolute;inset:0;background:url('assets/images/hero.webp') 75% center/cover no-repeat}.offers{background:#eaf0ed}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.journey-card{background:white;border:1px solid var(--line);padding:30px;border-radius:5px;min-height:250px;display:flex;flex-direction:column}.journey-card .num{font:italic 1.7rem Georgia,serif;color:#b88a52}.journey-card h3{font:normal 1.65rem Georgia,serif;margin:18px 0 8px}.journey-card p{color:var(--muted);margin:0 0 24px}.journey-card a{margin-top:auto;color:var(--sea);font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.split-image{background:url('assets/images/hero.webp') center/cover no-repeat}.split-copy{background:var(--forest);color:white;display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,7vw,100px)}.split-copy .eyebrow{color:#ecc490}.split-copy p{max-width:560px;color:#dbe8e3}.split-copy .button{align-self:start;margin-top:20px;background:#e8be84;color:var(--forest)}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.why-grid strong{font:normal 1.5rem Georgia,serif}.why-grid p{color:var(--muted)}.why-grid .line{width:40px;height:2px;background:var(--gold);margin:16px 0}.cta{background:#d7e6df;padding:85px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta p{max-width:560px;margin:0;color:#45605e}.contact{background:white}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(35px,8vw,120px)}.contact-links{display:grid;gap:12px;margin-top:26px}.contact-links a{font-size:1.1rem;color:var(--sea);font-weight:700}.inquiry{display:grid;grid-template-columns:1fr 1fr;gap:17px}.inquiry label{font-size:.85rem;font-weight:700;color:var(--ink)}.inquiry input,.inquiry textarea,.inquiry select{display:block;border:1px solid #bdcbc7;background:#fff;border-radius:3px;padding:13px;width:100%;margin-top:6px;color:var(--ink)}.inquiry textarea{min-height:115px}.inquiry .full{grid-column:1/-1}.inquiry .button{border:0}.form-status{grid-column:1/-1;margin:0;color:#206c4b}.honeypot{position:absolute;left:-9999px}.footer{background:#102d34;color:white;padding:65px 0 30px}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer .brand{display:inline-flex}.footer p{max-width:320px;color:#b7cbc7}.footer h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.15em}.footer a{display:block;color:#d2e0dc;margin:9px 0}.footnote{border-top:1px solid #42605d;color:#a7beb7;margin-top:50px;padding-top:24px;font-size:.82rem}.content-page{padding-block:75px 110px;min-height:55vh;max-width:900px}.content-page h1{font:normal clamp(2.5rem,5vw,4.2rem) Georgia,serif}.content-page a{text-decoration:underline;color:var(--sea)}.post-list{display:grid;gap:20px}.post-list article{border-bottom:1px solid var(--line);padding-bottom:20px}input:focus,textarea:focus,select:focus,a:focus-visible,button:focus-visible{outline:3px solid #ce9246;outline-offset:3px}@media(max-width:850px){.topbar span:first-child{display:none}.topbar .wrap{justify-content:center}.menu-button{display:block}.main-nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:22px;box-shadow:0 12px 20px #102d3420;flex-direction:column;align-items:start}.main-nav.open{display:flex}.nav-shell>.button{display:none}.hero{min-height:610px}.quick-inner{grid-template-columns:1fr 1fr}.quick-inner .button{border-radius:0 0 5px 5px;grid-column:1/-1}.dest-grid{grid-template-columns:1fr 1fr}.dest-card:first-child{grid-column:1/-1}.journey-grid,.why-grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.split-image{min-height:340px}.contact-layout{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}}@media(max-width:600px){.brand{font-size:1.14rem}.brand-mark{width:34px;height:34px}.hero h1{font-size:3.2rem}.hero p{font-size:1rem}.hero-note{display:none}.quick-strip{margin-top:-35px}.quick-inner{grid-template-columns:1fr}.quick-inner label{border-right:0;border-bottom:1px solid var(--line)}.section{padding-block:70px}.section-head{display:block}.dest-grid,.journey-grid,.why-grid,.footer-inner{grid-template-columns:1fr}.dest-card,.dest-card:first-child{min-height:330px;grid-column:auto}.journey-card{min-height:210px}.cta-inner{display:block}.cta .button{margin-top:25px}.inquiry{grid-template-columns:1fr}.split-image{min-height:270px}.split-copy{padding:55px 28px}}

/* Brand update and featured journeys */
.brand-mark{flex:none;width:52px;height:52px;border-radius:50%;background:#f6f1eb url('assets/images/logo.jpeg') center 29%/125px 125px no-repeat;color:transparent;font-size:0}
.brand small{letter-spacing:.12em}
.hero{background:#173b3a;overflow:hidden;isolation:isolate}
.hero::after{content:"";position:absolute;inset:-7%;z-index:-2;background:url('assets/images/hero.webp') center 48%/cover no-repeat;animation:heroPan 16s ease-in-out infinite alternate;transform-origin:center}
.hero::before{z-index:-1}
@keyframes heroPan{from{transform:scale(1) translateX(-1.5%)}to{transform:scale(1.1) translateX(1.5%)}}
.hero .hero-content{max-width:1320px;padding-left:clamp(22px,3vw,42px)}
.package-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.package-card{display:block;background:#fff;border:1px solid var(--line);box-shadow:0 10px 25px #102d340c;overflow:hidden;border-radius:5px;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease}
.package-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #102d3426}
.package-card img{width:100%;aspect-ratio:4/4.5;object-fit:cover;display:block}
.package-card div{padding:20px}.package-card h3{margin:0 0 8px;font:normal 1.55rem Georgia,serif}.package-card p{margin:0 0 14px;font-size:.94rem;line-height:1.5}.package-card span{font-size:.88rem;font-weight:700;color:var(--sea)}
.service-line{margin:26px 0 0;text-align:center;font-size:1rem}
@media(max-width:1050px){.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.brand-mark{width:43px;height:43px;background-size:105px 105px}.brand small{font-size:.46rem;letter-spacing:.07em}.package-grid{gap:14px}.package-card div{padding:13px}.package-card h3{font-size:1.3rem}.package-card p{font-size:.82rem}.package-card span{font-size:.76rem}.hero .hero-content{padding-left:22px}}
@media(max-width:420px){.package-grid{grid-template-columns:1fr}.package-card img{aspect-ratio:4/3;object-position:center 25%}}
@media(prefers-reduced-motion:reduce){.hero::after{animation:none}.package-card{transition:none}}

#destinations .package-grid{margin-top:32px}

/* Header contact links */
.topbar .wrap{align-items:center}.topbar-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.topbar-links a{display:inline-flex;align-items:center;gap:5px;color:#edf6f3;text-decoration:none;white-space:nowrap}.topbar-links a span{font-size:1.04rem;line-height:1}.topbar-links a:hover{text-decoration:underline}
.main-nav{gap:20px}.nav-whatsapp{display:inline-flex;align-items:center;gap:7px;background:#197a5a;color:white!important;padding:11px 13px;border-radius:4px;font-size:.79rem;white-space:nowrap}.nav-whatsapp:hover{background:#126247;color:white;text-decoration:none}.nav-whatsapp span{font-weight:700}
@media(max-width:1100px){.nav-shell>.button{display:none}.main-nav{gap:15px}.topbar .wrap{flex-wrap:wrap;justify-content:center}.topbar-links{justify-content:center}}
@media(max-width:850px){.topbar .wrap{justify-content:center}.topbar-links{gap:11px}.main-nav{align-items:stretch}.nav-whatsapp{width:max-content}}
@media(max-width:600px){.topbar-links{gap:8px 14px;font-size:.77rem}.nav-whatsapp{font-size:.88rem}.nav-whatsapp span{font-weight:600}}

/* Icon-only social and WhatsApp links */
.topbar-links{gap:10px}.topbar-links a{width:31px;height:29px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.topbar-links a:hover{background:#ffffff20;text-decoration:none}.topbar-links svg{width:18px;height:18px;display:block}
.nav-whatsapp{width:44px;height:44px;min-width:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.nav-whatsapp svg{width:25px;height:25px;display:block}
@media(max-width:600px){.topbar-links{gap:12px}.topbar-links a{width:34px;height:32px}.nav-whatsapp{width:44px;height:44px}}

/* Header order and booking actions */
.header-actions{display:flex;align-items:center;gap:10px;flex:none}.nav-shell{gap:18px}.main-nav{margin-left:auto;margin-right:10px;gap:24px}.header-actions .button{white-space:nowrap}
@media(max-width:1100px){.header-actions .button{display:inline-flex}.main-nav{gap:15px;margin-right:4px}.nav-shell{gap:12px}}
@media(max-width:850px){.main-nav{margin-left:0;margin-right:0}.header-actions{margin-left:auto;gap:8px}.header-actions .button{display:none}}

/* One continuous destination slider */
.slider-shell{position:relative}.slider-controls{display:flex;justify-content:flex-end;gap:9px;margin:-58px 0 18px}.slider-controls button{width:38px;height:38px;border:1px solid #abc1bd;border-radius:50%;background:white;color:var(--ink);font-size:1.7rem;line-height:1;cursor:pointer}.slider-controls button:hover{background:var(--forest);color:white}
.slider-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}.slider-viewport::-webkit-scrollbar{display:none}.slider-track{display:flex;gap:18px}.slider-track .dest-card,.slider-track .dest-card:first-child{flex:0 0 calc((100% - 36px)/3);min-height:435px;grid-column:auto;scroll-snap-align:start}.slider-track .dest-card img{object-fit:cover}.slider-track .dest-card .card-copy{padding:25px}.slider-track .dest-card p{line-height:1.45}
@media(max-width:850px){.slider-track .dest-card,.slider-track .dest-card:first-child{flex-basis:calc((100% - 18px)/2);min-height:380px}}
@media(max-width:600px){.slider-controls{margin:0 0 14px}.slider-track .dest-card,.slider-track .dest-card:first-child{flex-basis:86%;min-height:360px}.slider-track .dest-card .card-copy{padding:23px}}
@media(prefers-reduced-motion:reduce){.slider-viewport{scroll-behavior:auto}.slider-track .dest-card img{transition:none}}

#destinations .section-head{margin-bottom:16px}#destinations .slider-controls{margin:0 0 14px}

/* Depth and tilt for the automatically advancing carousel */
.slider-viewport{padding-block:26px;margin-block:-26px;perspective:1100px}.slider-track{transform-style:preserve-3d;align-items:stretch}
.slider-track .dest-card{transform:perspective(950px) scale(.92);transform-origin:center center;filter:saturate(.82) brightness(.9);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s ease,box-shadow .7s ease;box-shadow:0 8px 22px #102d3422;backface-visibility:hidden}
.slider-track .dest-card.is-center{transform:perspective(950px) translateZ(42px) scale(1.02);filter:saturate(1.07) brightness(1);box-shadow:0 22px 34px #102d3440;z-index:3}
.slider-track .dest-card.is-left{transform:perspective(950px) rotateY(-12deg) scale(.94);transform-origin:right center;z-index:2}
.slider-track .dest-card.is-right{transform:perspective(950px) rotateY(12deg) scale(.94);transform-origin:left center;z-index:2}
@media(max-width:600px){.slider-track .dest-card.is-left{transform:perspective(950px) rotateY(-7deg) scale(.95)}.slider-track .dest-card.is-right{transform:perspective(950px) rotateY(7deg) scale(.95)}}
@media(prefers-reduced-motion:reduce){.slider-track .dest-card,.slider-track .dest-card.is-center,.slider-track .dest-card.is-left,.slider-track .dest-card.is-right{transform:none;filter:none;transition:none}}

/* Accessible desktop and mobile navigation dropdowns */
.nav-group{position:relative;display:flex;align-items:center;gap:2px;white-space:nowrap}.submenu-toggle{border:0;background:transparent;color:inherit;padding:5px 3px;line-height:1;cursor:pointer;font-size:1rem}.nav-submenu{display:none;position:absolute;left:0;top:100%;min-width:180px;max-height:min(65vh,450px);overflow:auto;padding:9px 0;background:white;box-shadow:0 12px 25px #102d3433;border:1px solid var(--line);border-radius:5px;z-index:30}.nav-submenu a{display:block;padding:9px 16px;white-space:nowrap}.nav-submenu a:hover,.nav-submenu a:focus-visible{background:#edf5f2}.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu,.nav-group.expanded .nav-submenu{display:block}
@media(max-width:850px){.main-nav{max-height:calc(100vh - 90px);overflow-y:auto}.nav-group{display:block;width:100%}.nav-submenu{position:static;box-shadow:none;border:0;border-left:2px solid var(--sea);border-radius:0;margin:5px 0 8px 8px;padding:0;max-height:none}.nav-group:hover .nav-submenu{display:none}.nav-group.expanded .nav-submenu,.nav-group:focus-within .nav-submenu{display:block}.submenu-toggle{padding:9px 12px}.main-nav>a{padding-block:7px}}

/* Cinematic hero with graceful static fallback when footage is unavailable. */
.hero-video-stage{position:absolute;inset:0;z-index:-2;background:url('assets/images/hero.webp') center/cover no-repeat}.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}.hero-film.is-current{opacity:1}.hero:has(.hero-video-stage)::after{display:none}.hero:has(.hero-video-stage)::before{z-index:-1}
.planning-page{background:var(--cream);padding:90px 0 0}.planning-page h1{font:normal clamp(3rem,6vw,5.5rem) Georgia,serif;margin:10px 0}.planning-page .contact{padding-top:40px}
@media(pointer:fine) and (prefers-reduced-motion:no-preference){.cursor-glow{position:fixed;left:0;top:0;width:260px;height:260px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(235,189,107,.27),rgba(235,189,107,.08) 37%,transparent 72%);pointer-events:none;z-index:19;opacity:0;transition:opacity .25s;mix-blend-mode:screen}.cursor-glow.active{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-film{transition:none}.hero-film:not(.is-current){display:none}}

.testimonial-section{background:white;text-align:center}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0}.testimonial-grid blockquote{margin:0;background:var(--cream);padding:26px;text-align:left;border-radius:8px}.testimonial-grid cite{font-style:normal;font-weight:700;color:var(--sea)}.google-rating{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 15px;padding:18px 28px;border:1px solid var(--line);border-radius:100px}.rating-stars{color:#d99431;letter-spacing:.08em;font-size:1.35rem}@media(max-width:750px){.testimonial-grid{grid-template-columns:1fr}}

/* Gentle moving hero image until cleared film footage is available. */
@media (prefers-reduced-motion:no-preference){.hero-video-stage{animation:hero-pan 22s ease-in-out infinite alternate;transform-origin:center}@keyframes hero-pan{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.12) translateX(-2%)}}}
.testimonial-section{text-align:center}.testimonial-section .google-rating{margin:24px auto 0}

/* Verified review carousel */
.review-carousel{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:12px;margin:34px 0}.review-carousel button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:50%;height:40px;width:40px;font-size:1.6rem;line-height:1}.review-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}.review-viewport::-webkit-scrollbar{display:none}.review-track{display:flex;gap:18px}.review-card{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;background:var(--cream);border:1px solid var(--line);border-radius:12px;margin:0;min-height:235px;padding:24px;text-align:left;display:flex;flex-direction:column}.review-stars{color:#d99431;letter-spacing:.08em}.review-card blockquote{margin:14px 0 20px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.review-card figcaption{margin-top:auto;display:grid}.review-card figcaption span{font-size:.8rem;color:var(--muted)}@media(max-width:800px){.review-card{flex-basis:calc((100% - 18px)/2)}}@media(max-width:600px){.review-carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:5px}.review-carousel button{height:32px;width:32px}.review-card{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.review-viewport{scroll-behavior:auto}}

/* Original Google review screenshots, with relative dates hidden from display. */
.review-card{flex:0 0 min(46%,457px);min-height:0;padding:0;overflow:hidden;background:#202124;border:0;border-radius:10px;align-self:center}.review-image{position:relative;width:100%;container-type:inline-size}.review-image img{width:100%;height:auto}.review-date-mask{position:absolute;left:11.5%;top:7cqw;width:45%;height:4.5cqw;background:#202124;pointer-events:none}.review-track{align-items:center}.review-viewport{padding:5px}.review-card figcaption.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.review-card{flex-basis:100%}}

/* Give each original review and its photos room to be read. */
.review-carousel{max-width:900px;margin:34px auto}.review-card{flex-basis:100%}

/* Review cards using the original review text and visible trip photos. */
.review-carousel{max-width:960px}.review-card{flex:0 0 100%;max-height:610px;min-height:500px;overflow-y:auto;background:#202124;border:0;border-radius:14px;padding:30px;text-align:left;color:#f1f3f4;box-shadow:0 15px 38px #102d3426;scrollbar-width:thin}.review-author{display:flex;gap:14px;align-items:center}.review-avatar{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:50%;background:#168573;font-size:1.15rem;font-weight:700}.review-author strong,.review-author small{display:block}.review-author small{color:#bbc4c5;font-size:.78rem}.review-google{margin-left:auto;font-size:1.4rem;font-weight:700;color:#e9edf0}.review-stars{display:block;color:#fbbc04;letter-spacing:.06em;margin:14px 0 0}.review-card blockquote{display:block;overflow:visible;margin:8px 0 18px;font-size:1rem;line-height:1.58}.review-photos{width:100%;aspect-ratio:5.5/1;background-size:100% auto;background-repeat:no-repeat;background-position:center bottom;border-radius:5px;margin-top:auto}.review-card .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.review-card{padding:18px;min-height:470px;max-height:650px}.review-card blockquote{font-size:.94rem}.review-photos{aspect-ratio:5.5/1}}

/* Three reviews per slide; keep each full review readable inside its card. */
.review-carousel{max-width:1240px;margin:30px auto;grid-template-columns:40px minmax(0,1fr) 40px}
.review-track{gap:18px;align-items:stretch}
.review-card{flex:0 0 calc((100% - 36px)/3);height:440px;min-height:0;max-height:none;overflow:hidden;padding:18px;box-shadow:0 10px 25px #102d3421}
.review-author{gap:9px;min-height:38px}.review-avatar{width:34px;height:34px;font-size:1rem}.review-author strong{font-size:.88rem}.review-author small{font-size:.69rem;line-height:1.3}.review-google{font-size:1.1rem}
.review-stars{margin-top:10px;font-size:.91rem}.review-card blockquote{flex:1;min-height:0;overflow-y:auto;margin:7px 0 12px;font-size:.83rem;line-height:1.5;scrollbar-width:thin;scrollbar-color:#80868b #202124}
.review-photos{flex:none;aspect-ratio:5.5/1}
@media(max-width:900px){.review-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:600px){.review-carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:5px}.review-card{flex-basis:100%;height:450px;padding:18px}.review-card blockquote{font-size:.9rem}}
/* A small luminous airplane follows the pointer on devices with a mouse. */
html.airplane-cursor,html.airplane-cursor a,html.airplane-cursor button,html.airplane-cursor select{cursor:none!important}html.airplane-cursor input,html.airplane-cursor textarea{cursor:text!important}.cursor-glow{width:88px;height:88px;z-index:999;display:grid;place-items:center;background:radial-gradient(circle,#f6cf86a8 0,#f6cf863a 30%,transparent 72%);filter:drop-shadow(0 0 7px #f4bb64);mix-blend-mode:normal}.cursor-glow svg{width:30px;height:30px;transform:rotate(-25deg);filter:drop-shadow(0 0 6px #f5c267)}.cursor-glow.active{opacity:1}
/* Dedicated planning page inspired by the supplied travel enquiry reference. */
.planning-page{padding:0;background:#eaf4f9}.planning-scene{min-height:calc(100vh - 110px);position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,#e8f7ffdb 0%,#f3faffc5 42%,#eff8ffb5 72%),url('assets/images/amalfi.webp') left 65%/cover no-repeat}.planning-scene:after{content:"";position:absolute;z-index:-1;bottom:0;left:0;width:51%;height:33%;background:linear-gradient(0deg,#174a6345,transparent);pointer-events:none}.planning-layout{max-width:1500px;display:grid;grid-template-columns:minmax(0,1fr) minmax(540px,1.05fr);gap:clamp(24px,3vw,60px);padding-top:clamp(25px,4vw,54px);padding-bottom:clamp(38px,5vw,80px);align-items:start}.planning-intro{padding:22px 0 260px}.planning-intro .eyebrow{font-size:.88rem;color:#17314b}.planning-intro h1{font:normal clamp(3rem,5vw,5rem)/.99 Georgia,serif;max-width:620px;margin:20px 0 24px;color:#172f4a;letter-spacing:-.04em}.planning-intro h1 em{display:block;font-style:normal;color:#b68a2d}.planning-intro>p:not(.planning-note){font-size:1.15rem;line-height:1.58;max-width:550px;color:#1d3248}.planning-social{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:20px;max-width:610px}.social-tile{background:#fffefa;border-radius:16px;text-align:center;min-height:140px;padding:14px 7px 9px;box-shadow:0 8px 22px #16405b19;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.social-tile:hover{transform:translateY(-5px);box-shadow:0 12px 26px #16405b36}.social-icon{display:grid;place-items:center;color:#fff;width:50px;height:50px;border-radius:50%;font:bold 2rem Arial,sans-serif;line-height:1;margin-bottom:8px;background:#15385e}.facebook .social-icon{background:#2b63ba}.instagram .social-icon{background:linear-gradient(30deg,#ffc351,#d8367c,#6d40ba)}.whatsapp .social-icon{background:#24a858}.app .social-icon{background:#c49630}.social-tile strong{font-size:.79rem;line-height:1.2}.social-tile small{font-size:.64rem;line-height:1.22;color:#41556a;margin-top:5px}.social-tile.app{background:#c49430;color:white}.social-tile.app small{color:white}.planning-note{color:#163553;font:italic 1.65rem/1.1 cursive;transform:rotate(-7deg);margin:38px 0 0 15px}.planning-note span{color:#b68a2d}.planning-panel{background:white;border:1px solid #dce6ec;border-radius:16px;box-shadow:0 15px 50px #113b5a29;padding:clamp(25px,3vw,42px);color:#18324d}.planning-heading{display:flex;align-items:center;gap:15px}.planning-heading span{font-size:2.8rem;color:#be9130}.planning-heading h2{font:normal clamp(1.9rem,3vw,2.65rem) Georgia,serif;margin:0;letter-spacing:-.03em}.planning-panel>p{font-size:1rem;line-height:1.55;margin:10px 0 24px}.planning-form{gap:14px}.planning-form label{font-size:1rem;font-weight:400}.planning-form input,.planning-form textarea,.planning-form select{margin:0;border:1px solid #d2dde5;border-radius:7px;padding:14px 16px;min-height:52px;background:#fff;color:#19314a}.planning-form textarea{min-height:120px;resize:vertical}.planning-form input::placeholder,.planning-form textarea::placeholder{color:#66798b}.planning-form button{background:#c9972f;border:0;min-height:54px;border-radius:7px;font-size:1.05rem}.planning-form button:hover{background:#ae7e20}.enquiry-options{border:1px solid #dbbe7b;background:#fff9e9;border-radius:9px;padding:16px;margin-top:16px}.enquiry-options[hidden]{display:none}.enquiry-options p{margin:3px 0 12px;font-size:.87rem}.enquiry-option-links{display:flex;flex-wrap:wrap;gap:9px}.enquiry-option-links a{background:#173b3a;color:white;border-radius:5px;padding:10px 14px;font-size:.88rem;font-weight:700}.enquiry-option-links a:hover{background:#275855}
@media(max-width:1050px){.planning-layout{grid-template-columns:1fr}.planning-intro{padding-bottom:25px}.planning-scene{background-position:center 70%}.planning-panel{max-width:760px;margin:auto;width:100%}.planning-social{max-width:700px}}
@media(max-width:600px){.planning-layout{padding-top:24px}.planning-intro h1{font-size:3rem}.planning-intro>p:not(.planning-note){font-size:1rem}.planning-social{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.social-tile{min-height:112px}.social-icon{width:40px;height:40px;font-size:1.5rem}.planning-note{margin:20px 0 0}.planning-panel{padding:22px}.planning-form{grid-template-columns:1fr}.planning-scene{background-position:left bottom}}
.social-icon svg{width:26px;height:26px}

.planning-scene{background:linear-gradient(90deg,#edf8ffcf 0%,#f3faff8a 45%,#eff8ffb8 100%),url('assets/images/planning-coast.webp') center center/cover no-repeat}
