@font-face{font-family:Sequel;src:url('../fonts/SequelSans-RomanHead.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Sequel;src:url('../fonts/SequelSans-SemiBoldHead.woff2') format('woff2');font-weight:600 800;font-display:swap}

:root{
  --ink:#202021;--paper:#fbfbfa;--muted:#77797a;--line:rgba(32,32,33,.14);--blue:#3b96ad;--blue-dark:#123f57;
  --aqua:#58c4ca;--aqua-deep:#277f91;--foam:#fbfbfa;--coral:#58c4ca;--coral-dark:#277f91;
  --white:#fff;--shadow:0 34px 90px -48px rgba(5,35,48,.6);--ease:cubic-bezier(.16,1,.3,1);
  --shell:min(1440px,calc(100% - 80px));
}

*{box-sizing:border-box}
html{scroll-behavior:auto;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Sequel,Arial,sans-serif;font-size:17px;overflow-x:hidden}
body.dialog-open{overflow:hidden}
button,input,select,textarea{font:inherit}button{cursor:pointer}button,a{color:inherit}a{text-decoration:none}img,video,svg{display:block;max-width:100%}p,h1,h2,h3,blockquote,figure{margin:0}
.shell{width:var(--shell);margin-inline:auto}.section{padding:clamp(110px,10vw,165px) 0}.skip-link{position:fixed;left:16px;top:16px;z-index:1000;transform:translateY(-150%);padding:12px 18px;background:white;color:var(--ink)}.skip-link:focus{transform:none}

.launch-bar{position:absolute;top:0;left:0;right:0;z-index:45;height:36px;display:flex;justify-content:center;align-items:center;gap:18px;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(12,62,82,.24);color:white;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(12px)}.launch-bar span{opacity:.64;padding-left:18px;border-left:1px solid rgba(255,255,255,.3)}
.site-header{position:absolute;top:36px;left:0;right:0;z-index:40;color:white}.site-header.is-hidden{transform:none}.site-header.is-scrolled{position:fixed;top:0;background:rgba(15,62,80,.9);backdrop-filter:blur(18px);box-shadow:0 20px 60px -38px rgba(0,0,0,.7)}.site-header.is-scrolled .pp-header-top{display:none}.site-header.is-scrolled .pp-header-main{min-height:78px;margin-top:0}.site-header.is-scrolled .pp-header-actions button,.site-header.is-scrolled .language-picker{background:white;color:var(--ink)}
.pp-header-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;align-items:start;border-bottom:1px solid rgba(255,255,255,.18);padding:8px 0 13px}.pp-header-word{font-size:clamp(58px,7.2vw,110px);line-height:.9;font-weight:600;letter-spacing:-.055em;text-transform:uppercase;white-space:nowrap}.pp-header-name{min-width:0;width:100%;display:flex;align-items:flex-start;gap:26px;justify-content:flex-end}.menu-toggle{position:relative;flex:0 0 auto;width:48px;height:48px;margin-top:9px;border:0;border-radius:50%;background:white;color:var(--ink)}.menu-toggle span{position:absolute;left:15px;right:15px;top:23px;height:1px;background:currentColor;transition:transform .35s var(--ease)}.menu-toggle span:last-child{transform:rotate(90deg)}.menu-open .menu-toggle span:first-child{transform:rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:rotate(-45deg)}
.pp-header-main{min-height:104px;display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:start;padding:20px 0;transition:min-height .3s var(--ease)}.desktop-nav{width:max-content;display:grid;grid-template-columns:repeat(3,auto);gap:13px 56px}.desktop-nav a,.desktop-nav button{border:0;background:none;padding:0;color:rgba(255,255,255,.72);font-size:15px;font-weight:600;text-transform:uppercase;text-align:left}.desktop-nav a:hover,.desktop-nav button:hover{color:white}.pp-start-project{display:flex;align-items:center;gap:9px;border:0;background:none;color:white;padding:4px;font-size:15px;font-weight:700;text-transform:uppercase}.pp-start-project svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.6}.pp-header-actions{display:flex;justify-content:flex-end;gap:10px}.pp-header-actions button,.language-picker{height:38px;padding:0 18px;border:1px solid rgba(255,255,255,.3);border-radius:99px;background:rgba(255,255,255,.08);color:white;display:flex;align-items:center;transition:.3s var(--ease)}.pp-header-actions button{font-size:14px;font-weight:600;text-transform:uppercase}.language-picker select{appearance:none;border:0;outline:0;background:transparent;color:inherit;font-weight:700;font-size:14px}.language-picker option{color:var(--ink)}
.mobile-nav{display:none}

.pp-hero{position:relative;z-index:1;min-height:980px;overflow:hidden;background:#4ca7b7;color:white;isolation:isolate;padding:400px 0 105px}.pp-hero__media{position:absolute;inset:-2%;width:104%;height:104%;max-width:none;object-fit:cover;object-position:center 42%;z-index:-4;filter:saturate(.65) contrast(1.08);transform:translate3d(var(--hero-x,0),var(--hero-y,0),0) scale(1.025);transition:transform .8s var(--ease);will-change:transform}.pp-hero__overlay{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(24,86,111,.94),rgba(51,157,177,.58)),linear-gradient(0deg,rgba(8,39,54,.62),transparent 60%);mix-blend-mode:multiply}.pp-hero:after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 52% 20%,rgba(93,211,216,.38),transparent 44%)}
.pp-hero-marquee{position:absolute;left:0;right:0;top:245px;z-index:-1;overflow:hidden;white-space:nowrap;opacity:.18}.pp-hero-marquee__track{width:max-content;display:flex;align-items:center;gap:38px;animation:heroSlide 24s linear infinite;will-change:transform}.pp-hero-marquee span{font-size:clamp(90px,12vw,190px);line-height:.8;font-weight:600;letter-spacing:-.06em;text-transform:uppercase}.pp-hero-marquee i{width:24px;height:24px;border:4px solid white;border-radius:50%}@keyframes heroSlide{to{transform:translateX(-50%)}}
.pp-hero__content{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(170px,.62fr) minmax(430px,1.5fr);gap:42px;align-items:end}.pp-hero__left{display:flex;flex-direction:column;justify-content:space-between;gap:150px}.pp-hero__avatar{width:72px;height:72px;border:2px solid rgba(255,255,255,.3);border-radius:50%;overflow:hidden}.pp-hero__avatar img{width:100%;height:100%;object-fit:cover}.pp-hero__clip{position:relative;width:100%;max-width:275px;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.26);padding:0;background:#123f57;color:white;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}.pp-hero__clip video{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease),filter .4s}.pp-hero__clip:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,28,39,.62),transparent 60%);pointer-events:none}.pp-hero__clip:hover video{transform:scale(1.035);filter:saturate(1.1)}.pp-hero__play{position:absolute;z-index:2;left:50%;top:50%;width:52px;height:52px;transform:translate(-50%,-50%);border-radius:50%;background:white;color:var(--ink);display:grid;place-items:center;transition:transform .3s var(--ease),background .3s}.pp-hero__play svg{width:22px;fill:currentColor}.pp-hero__clip:hover .pp-hero__play{transform:translate(-50%,-50%) scale(1.08);background:var(--aqua)}.pp-hero__clip>b{position:absolute;z-index:2;left:14px;bottom:11px;font-size:12px;letter-spacing:.12em}.pp-hero__services{padding:26px 0 0 16px;border-top:1px solid rgba(255,255,255,.5);display:grid;align-content:end}.pp-hero__services span{font-size:17px;font-weight:600;line-height:1.55}.pp-hero__copy{max-width:760px}.pp-kicker{margin-bottom:14px;font-size:18px;font-style:italic;font-weight:600}.pp-hero__copy h1{font-size:clamp(46px,4.25vw,68px);line-height:1.15;letter-spacing:-.045em;font-weight:600}.pp-hero__copy>p:nth-child(3){max-width:650px;margin-top:24px;color:rgba(255,255,255,.78);font-size:18px;line-height:1.65}.pp-hero__copy>div{display:flex;gap:10px;margin-top:38px}.pp-scroll-cue{position:absolute;right:40px;bottom:36px;display:flex;align-items:center;gap:12px;font-size:14px;text-transform:uppercase}.pp-scroll-cue i{width:58px;height:1px;background:white;position:relative;overflow:hidden}.pp-scroll-cue i:after{content:"";position:absolute;inset:0;width:18px;background:var(--aqua);animation:scrollCue 2s var(--ease) infinite}@keyframes scrollCue{from{transform:translateX(-24px)}to{transform:translateX(66px)}}

.button{min-height:56px;border:1px solid transparent;border-radius:99px;padding:0 27px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:15px;font-weight:700;transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(1px) scale(.98)}.button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.button--light{background:white;color:var(--ink)}.button--light:hover{background:var(--aqua)}.button--ghost-light{border-color:rgba(255,255,255,.32);color:white;background:rgba(255,255,255,.04)}.button--ghost-light:hover{background:white;color:var(--ink)}.button--dark,.button--ink{background:var(--ink);color:white}.button--dark:hover,.button--ink:hover{background:var(--blue)}.button--muted{background:#8b8d8e;color:white}.button--aqua{background:var(--aqua);color:var(--ink)}.button--line,.button--outline{border-color:var(--line);background:transparent}.button--wide{width:100%}.text-button{border:0;background:none;padding:8px 0;font-size:15px;text-decoration:underline;text-underline-offset:5px}
.pp-label{font-size:15px;font-weight:600}.pp-label:before{content:"[ ";color:var(--aqua-deep)}.pp-label:after{content:" ]";color:var(--aqua-deep)}.pp-label--light{color:white}.pp-label--light:before,.pp-label--light:after{color:var(--aqua)}

.pp-booking{background:white}.pp-booking__grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw;align-items:start}.pp-booking__grid h2{max-width:520px;margin:22px 0 30px;font-size:clamp(58px,6.7vw,104px);line-height:.88;letter-spacing:-.065em}.pp-booking form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pp-booking form .button{grid-column:1/3}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:18px}.field>span{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:white;color:var(--ink);border-radius:0;outline:0;padding:14px 15px;font-size:16px;transition:border-color .2s,box-shadow .2s}.field input,.field select{height:56px}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--aqua-deep);box-shadow:0 0 0 3px rgba(39,127,145,.1)}.field small{font-size:13px;color:var(--muted);line-height:1.5}.field [data-field-error]{color:#a63e34}.field.has-error input,.field.has-error select{border-color:#a63e34}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.pp-about{min-height:870px;background:var(--paper)}.pp-about__grid{display:grid;grid-template-columns:.35fr 1.65fr;gap:8vw}.pp-about__stamp{position:sticky;top:130px;width:170px;height:170px;border:1px solid var(--line);border-radius:50%;padding:17px;animation:stampFloat 5s ease-in-out infinite}.pp-about__stamp svg{width:100%;height:100%}.pp-about__stamp text{font-size:9px;letter-spacing:1.4px}.pp-about__stamp svg>path{fill:var(--ink)}@keyframes stampFloat{50%{transform:translateY(-9px) rotate(5deg)}}.pp-about__content h2{font-size:clamp(42px,4.35vw,68px);line-height:1.32;letter-spacing:-.045em;font-weight:500}.pp-about__content>p{max-width:870px;margin:55px 0 0 12%;font-size:19px;line-height:1.85;color:var(--muted)}.pp-about__facts{max-width:870px;margin:58px 0 45px 12%;display:grid;grid-template-columns:1fr 1fr;gap:28px}.pp-about__facts>div{display:grid;grid-template-columns:auto 1fr;gap:18px;padding-top:20px;border-top:1px solid var(--line)}.pp-about__facts strong{font-size:42px;letter-spacing:-.05em}.pp-about__facts span{font-size:15px;line-height:1.6;color:var(--muted)}.pp-about__content>.button{margin-left:12%}

.pp-showcase{position:relative;min-height:990px;overflow:hidden;background:#444;color:white;isolation:isolate}.pp-showcase__bg{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(13,31,39,.68),rgba(17,74,88,.34)),var(--showcase-image);background-size:cover;background-position:center;filter:saturate(.75);transition:background-image .45s var(--ease),transform 1s var(--ease)}.pp-showcase:hover .pp-showcase__bg{transform:scale(1.02)}.pp-showcase:after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.08)}.pp-showcase__list{margin-top:48px}.pp-showcase__item{width:100%;position:relative;border:0;background:none;color:rgba(255,255,255,.42);display:grid;grid-template-columns:1fr 210px;gap:36px;align-items:center;padding:13px 0;text-align:left;transition:color .35s var(--ease)}.pp-showcase__item:hover,.pp-showcase__item.is-active{color:white}.pp-showcase__name{font-size:clamp(58px,6.4vw,102px);line-height:.92;letter-spacing:-.06em;font-weight:600;text-transform:uppercase}.pp-showcase__meta{text-align:right}.pp-showcase__meta b,.pp-showcase__meta strong{display:block;font-size:16px;text-transform:uppercase}.pp-showcase__meta strong{margin-top:7px;font-size:20px}.pp-showcase__desc{position:absolute;left:0;top:100%;max-width:600px;opacity:0;color:rgba(255,255,255,.82);font-size:16px;line-height:1.5;pointer-events:none}.pp-showcase__item:hover .pp-showcase__desc,.pp-showcase__item.is-active .pp-showcase__desc{opacity:1}.pp-showcase-marquee{margin-top:90px;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);overflow:hidden;padding:22px 0;white-space:nowrap}.pp-showcase-marquee>div{width:max-content;display:flex;align-items:center;gap:18px;animation:showcaseSlide 20s linear infinite;will-change:transform}.pp-showcase-marquee span{font-size:24px;font-weight:600;text-transform:uppercase}.pp-showcase-marquee i{width:26px;height:1px;background:white}@keyframes showcaseSlide{to{transform:translateX(-50%)}}
.pp-showcase__bg{opacity:1;transition:opacity .32s var(--ease),transform 1s var(--ease)}.pp-showcase__bg.is-changing{opacity:.18}

.pp-code{background:white}.pp-code__head{display:grid;grid-template-columns:.55fr 1.2fr .65fr;gap:5vw;align-items:end;margin-bottom:82px}.pp-code__head h2{font-size:clamp(60px,7vw,110px);line-height:.9;letter-spacing:-.065em;font-weight:500}.pp-code__head>p:last-child{font-size:17px;line-height:1.7;color:var(--muted)}.pp-code__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.pp-code__grid figure{overflow:hidden;background:#ddd}.pp-code__grid img{width:100%;aspect-ratio:.97/1;object-fit:cover;filter:saturate(.65);transition:transform .8s var(--ease),filter .4s}.pp-code__grid article:hover img{transform:scale(1.04);filter:saturate(.9)}.pp-code__grid h3{margin:20px 0 7px;font-size:24px;letter-spacing:-.035em}.pp-code__grid p{font-size:15px;line-height:1.65;color:var(--muted)}

.pp-journey{background:var(--paper)}.pp-journey__grid{display:grid;grid-template-columns:.45fr .42fr 1.13fr;gap:5vw;align-items:start}.pp-journey__grid>.button{width:max-content}.pp-journey__grid h2{margin-bottom:50px;font-size:clamp(52px,5.8vw,90px);line-height:.92;letter-spacing:-.06em;font-weight:500}.pp-journey__steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.pp-journey__steps li{display:grid;grid-template-columns:65px 1fr;gap:22px;padding:28px 0;border-bottom:1px solid var(--line)}.pp-journey__steps li>span{font-size:17px;color:var(--muted)}.pp-journey__steps h3{font-size:28px;letter-spacing:-.035em;font-weight:500}.pp-journey__steps p{margin-top:9px;font-size:15px;line-height:1.6;color:var(--muted)}

.pp-faq{background:white}.pp-faq__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:9vw}.pp-faq__grid h2{max-width:650px;margin-top:24px;font-size:clamp(55px,6.5vw,100px);line-height:.9;letter-spacing:-.065em}.pp-faq__list{border-top:1px solid var(--line)}.pp-faq details{border-bottom:1px solid var(--line)}.pp-faq summary{list-style:none;display:grid;grid-template-columns:1fr 24px;gap:20px;align-items:center;padding:28px 0;font-size:25px;letter-spacing:-.03em;cursor:pointer}.pp-faq summary::-webkit-details-marker{display:none}.pp-faq summary i{width:19px;height:19px;position:relative}.pp-faq summary i:before,.pp-faq summary i:after{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:var(--ink);transition:transform .3s}.pp-faq summary i:after{transform:rotate(90deg)}.pp-faq details[open] summary i:after{transform:none}.pp-faq details p{max-width:690px;padding:0 42px 30px 0;color:var(--muted);font-size:17px;line-height:1.7}

.site-footer{min-height:760px;padding:130px 0 34px;background:radial-gradient(circle at 70% 35%,#5babc0 0%,#1c5075 36%,#090e46 78%);color:white}.site-footer__grid{display:grid;grid-template-columns:.45fr 1.05fr .8fr;gap:8vw}.site-footer__grid>div:first-child{display:grid;align-content:start;gap:9px}.site-footer__grid>div:first-child a{width:max-content;font-size:17px;color:rgba(255,255,255,.75)}.site-footer__grid>div:first-child a:hover{color:white}.site-footer__contact p{max-width:560px;color:rgba(255,255,255,.66);font-size:18px;line-height:1.65}.site-footer__contact a{display:block;margin-top:22px;font-size:clamp(28px,3.1vw,48px);letter-spacing:-.04em;border-bottom:1px solid currentColor}.site-footer__brand{font-size:clamp(56px,6.7vw,104px);line-height:.82;letter-spacing:-.06em;font-weight:600;text-align:right}.site-footer__bottom{margin-top:230px;padding-top:28px;border-top:1px solid rgba(255,255,255,.22);display:flex;justify-content:space-between;gap:30px;font-size:14px}.site-footer__bottom div{display:flex;gap:28px}

.reveal{opacity:1;transform:none}.reveal.is-visible{opacity:1;transform:none}

dialog{max-width:none;max-height:none;border:0;padding:0;background:transparent}dialog::backdrop{background:rgba(6,18,27,.82);backdrop-filter:blur(12px)}.video-dialog{width:min(1280px,calc(100% - 48px));height:min(82dvh,820px);overflow:hidden}.video-dialog__frame{position:relative;width:100%;height:100%;background:#071b26;box-shadow:0 36px 100px -35px rgba(0,0,0,.85)}.video-dialog video{width:100%;height:100%;object-fit:contain;background:#071b26}.video-dialog__close{position:absolute;right:18px;top:18px;z-index:3;width:50px;height:50px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(7,27,38,.72);color:white;display:grid;place-items:center;backdrop-filter:blur(10px)}.video-dialog__close svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.6}.booking-dialog{width:min(1160px,calc(100% - 40px));height:min(790px,calc(100dvh - 40px));overflow:hidden}.dialog-shell{height:100%;display:grid;grid-template-columns:.42fr .58fr;background:white;box-shadow:var(--shadow);position:relative}.dialog-close{position:absolute;right:18px;top:18px;z-index:3;width:46px;height:46px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(8,31,43,.35);color:white;display:grid;place-items:center}.dialog-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.dialog-close--dark{color:var(--ink);border-color:var(--line);background:rgba(255,255,255,.82)}.booking-dialog__side{padding:64px 44px;background:linear-gradient(180deg,rgba(10,58,77,.05),rgba(8,33,45,.95)),url('../img/experience-02.jpg') center/cover;color:white;display:flex;flex-direction:column}.mini-label{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;text-transform:uppercase}.eyebrow:before{content:"["}.eyebrow:after{content:"]"}.booking-dialog__side h2{max-width:390px;margin-top:14px;font-size:clamp(38px,4vw,58px);line-height:.95;letter-spacing:-.055em}.booking-progress{margin-top:52px;display:grid}.booking-progress span{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:17px 0;border-top:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.48);font-size:13px}.booking-progress span i{font-style:normal;font-size:15px}.booking-progress span.is-active{color:white}.booking-dialog__promise{margin-top:auto;display:flex;gap:12px;color:rgba(255,255,255,.68);font-size:14px;line-height:1.55}.booking-dialog__promise svg{width:23px;flex:0 0 auto;fill:none;stroke:var(--aqua);stroke-width:1.5}.booking-form{height:100%;padding:56px 64px 25px;display:flex;flex-direction:column;overflow:hidden}.booking-step{display:none;overflow-y:auto;padding:5px 3px 22px}.booking-step.is-active{display:block;animation:stepIn .45s var(--ease)}@keyframes stepIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}.step-heading{margin-bottom:28px}.step-heading>p{color:var(--aqua-deep);font-size:13px;letter-spacing:.12em}.step-heading h3{margin:10px 0 8px;font-size:33px;letter-spacing:-.04em}.step-heading>span{font-size:15px;color:var(--muted)}.inline-note{display:flex;gap:10px;padding:14px;background:#e6f1f2;color:var(--muted);font-size:14px;line-height:1.5}.inline-note svg{width:18px;flex:0 0 auto;fill:none;stroke:var(--aqua-deep);stroke-width:1.5}.check-field{display:block;cursor:pointer;margin:10px 0}.check-field input{position:absolute;opacity:0}.check-field>span{display:flex;align-items:flex-start;gap:10px}.check-field i{width:20px;height:20px;border:1px solid var(--line);background:white;flex:0 0 auto;position:relative}.check-field input:checked+span i{background:var(--aqua-deep);border-color:var(--aqua-deep)}.check-field input:checked+span i:after{content:"";position:absolute;width:9px;height:5px;border:solid white;border-width:0 0 1.5px 1.5px;transform:rotate(-45deg);left:4px;top:4px}.check-field b{font-size:14px;font-weight:400;line-height:1.55;color:var(--muted)}.booking-form__footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px}.form-message{text-align:center;color:var(--aqua-deep);font-size:13px}.form-message--error{color:#a63e34}.booking-summary{padding:22px;background:#f5f7f7;border:1px solid var(--line);margin-bottom:15px}.summary-trip{padding-bottom:16px;border-bottom:1px solid var(--line)}.summary-trip p{font-size:18px;font-weight:600}.summary-trip span,.summary-trip small{display:block;margin-top:7px;color:var(--muted);font-size:14px}.booking-summary dl{margin:15px 0 0}.booking-summary dl>div{display:flex;justify-content:space-between;padding:6px 0;color:var(--muted);font-size:14px}.booking-summary .summary-total{margin-top:8px;padding-top:13px;border-top:1px solid var(--line);color:var(--ink);font-size:17px;font-weight:700}.summary-skeleton{height:20px;background:linear-gradient(90deg,#e1e7e7,#f7f9f9,#e1e7e7);background-size:200%;animation:shimmer 1.3s infinite}.summary-skeleton--short{width:55%;margin-top:15px}@keyframes shimmer{to{background-position:-200% 0}}.coupon-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.coupon-row .field{margin:0}.payment-logos{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.payment-logos span{padding:8px 10px;border:1px solid var(--line);font-size:12px;font-weight:700}.demo-banner{display:flex;gap:12px;margin-top:13px;padding:12px;background:#e7f1ef;color:var(--muted);font-size:13px}.booking-step--loading{text-align:center;margin:auto}.booking-step--loading h3{font-size:29px}.booking-step--loading p{margin-top:8px;color:var(--muted);font-size:15px}.ocean-loader{width:100px;height:54px;position:relative;margin:0 auto 30px}.ocean-loader i{position:absolute;left:0;right:0;margin:auto;width:100%;height:16px;border:2px solid var(--aqua-deep);border-color:var(--aqua-deep) transparent transparent transparent;border-radius:50%;animation:oceanWave 1.4s ease-in-out infinite}.ocean-loader i:nth-child(2){top:12px;width:72%;animation-delay:.14s}.ocean-loader i:nth-child(3){top:24px;width:44%;animation-delay:.28s}@keyframes oceanWave{50%{transform:translateY(5px);opacity:.45}}.lookup-dialog{width:min(520px,calc(100% - 32px))}.lookup-card{position:relative;background:white;padding:56px 48px}.lookup-card h2{margin-top:18px;font-size:42px;letter-spacing:-.05em}.lookup-card>p:nth-of-type(2){margin:15px 0 28px;color:var(--muted);font-size:16px;line-height:1.6}.toast{position:fixed;left:50%;bottom:30px;z-index:60;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:var(--ink);color:white;padding:15px 22px;border-radius:99px;font-size:14px;transition:.4s var(--ease)}.toast.is-visible{transform:translate(-50%,0);opacity:1}

/* Image-reference styling for the trip planner and encounter introduction. */
.pp-booking{position:relative;min-height:900px;overflow:hidden;background:#f9f7f3;color:#0c2e50;isolation:isolate}.pp-booking:before{content:"";position:absolute;z-index:-2;left:-6%;bottom:-5%;width:52%;height:58%;background:url('../img/hero-poster.jpg') center 58%/cover no-repeat;opacity:.78;filter:saturate(.72) brightness(1.18);-webkit-mask-image:linear-gradient(90deg,#000 62%,transparent 100%),linear-gradient(0deg,#000 68%,transparent 100%);mask-image:linear-gradient(90deg,#000 62%,transparent 100%)}.pp-booking:after{content:"";position:absolute;z-index:-1;left:-8%;bottom:-18%;width:58%;height:55%;background:radial-gradient(ellipse,rgba(58,184,221,.68),rgba(111,201,223,.2) 48%,transparent 74%);filter:blur(12px)}.pp-booking__grid{position:relative;z-index:1;display:grid;grid-template-columns:.83fr 1.17fr;gap:8vw;align-items:center}.pp-booking__intro{align-self:start;padding-top:12px}.pp-booking__intro .pp-label{letter-spacing:.24em;color:#18567d}.pp-booking__intro h2{max-width:520px;margin:35px 0 28px;font-size:clamp(72px,7.5vw,116px);line-height:.9;letter-spacing:-.065em;color:#0a3156}.pp-booking__lede{max-width:520px;color:#44596b;font-size:21px;line-height:1.7}.pp-booking__intro>i{display:block;width:118px;height:3px;margin-top:31px;background:#216183}.pp-booking__script{display:block;margin-top:44px;color:rgba(255,255,255,.92);font-family:"Segoe Script","Brush Script MT",cursive;font-size:56px;line-height:.72;transform:rotate(-7deg);text-shadow:0 2px 18px rgba(15,65,91,.1)}.pp-booking__card{min-height:690px;padding:62px 56px 44px;border:1px solid rgba(255,255,255,.9);border-radius:38px;background:rgba(255,255,255,.86);box-shadow:0 25px 75px -38px rgba(14,43,66,.28),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(16px)}.pp-booking form{display:grid;grid-template-columns:1fr 1fr;gap:40px 34px}.pp-booking .field{margin:0;gap:13px}.pp-booking .field>span{font-size:17px;color:#102e4b;letter-spacing:0;text-transform:none}.pp-booking .field input,.pp-booking .field select{height:74px;border:1px solid rgba(16,46,75,.18);border-radius:8px;background:rgba(255,255,255,.55);font-size:18px;padding:0 18px}.pp-booking form .field:nth-child(3){grid-column:1}.pp-booking form .button{grid-column:1/3;min-height:90px;margin-top:32px;border-radius:99px;background:#0c3157;font-size:20px}.pp-booking__ticket{margin-top:56px;padding-top:30px;border-top:1px solid rgba(16,46,75,.16)}.pp-booking__ticket button{margin:auto;border:0;background:none;display:flex;align-items:center;gap:14px;color:#0c3157;font-size:18px;font-weight:700}.pp-booking__ticket svg{width:27px;fill:none;stroke:currentColor;stroke-width:1.7}

.pp-about{position:relative;min-height:890px;overflow:hidden;background:#f9f7f1;color:#0b2b50;isolation:isolate}.pp-about:before{content:"";position:absolute;z-index:-2;right:-3%;top:0;width:61%;height:100%;background:url('../img/experience-01.jpg') center 36%/cover no-repeat;opacity:.16;filter:grayscale(.15) saturate(.55) brightness(1.45);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 34%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 34%,#000 100%)}.pp-about:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#f9f7f1 0%,rgba(249,247,241,.94) 48%,rgba(233,243,245,.45) 100%)}.pp-about__brandline{display:flex;align-items:center;gap:34px;margin-bottom:50px}.pp-about__brandline .pp-about__stamp{position:static;flex:0 0 auto;width:118px;height:118px;padding:10px;border:1px solid rgba(11,43,80,.24);animation:none}.pp-about__stamp svg>path{fill:#0b2b50}.pp-about__stamp text{fill:#0b2b50;font-size:9px;letter-spacing:1.6px}.pp-about__brandline>i{width:1px;height:68px;background:rgba(11,43,80,.24)}.pp-about__brandline>p{font-size:14px;font-weight:600;letter-spacing:.24em}.pp-about__content{position:relative;z-index:2}.pp-about__content h2{max-width:760px;font-family:"Noto Serif KR","Batang","AppleMyungjo",Georgia,serif;font-size:clamp(54px,5.3vw,82px);line-height:1.28;letter-spacing:-.045em;font-weight:400}.pp-about__content>p{max-width:880px;margin:28px 0 44px;color:#405a70;font-size:18px;line-height:1.8}.pp-about__facts{max-width:none;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(11,43,80,.13);border-bottom:1px solid rgba(11,43,80,.13)}.pp-about__facts>div{display:grid;grid-template-columns:118px auto minmax(180px,1fr);gap:24px;align-items:center;padding:26px 34px 26px 8px;border:0}.pp-about__facts>div+div{padding-left:42px;border-left:1px solid rgba(11,43,80,.13)}.pp-about__fact-icon{width:108px;height:108px;border:1px solid rgba(11,43,80,.13);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.44)}.pp-about__fact-icon svg{width:55px;fill:none;stroke:#0b2b50;stroke-width:1.3}.pp-about__facts strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(76px,7vw,108px);line-height:1;font-weight:400;letter-spacing:-.065em}.pp-about__facts>div>span:last-child{max-width:290px;color:#405a70;font-size:16px;line-height:1.6}.pp-about__content>.button{min-width:300px;margin:0;min-height:68px;border-radius:18px;background:#092e59;font-size:18px}.pp-about__wave{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-top:36px}.pp-about__wave>i{height:1px;background:linear-gradient(90deg,transparent,rgba(173,142,91,.3))}.pp-about__wave>i:last-child{background:linear-gradient(90deg,rgba(173,142,91,.3),transparent)}.pp-about__wave>span{width:44px;height:44px;border:1px solid rgba(173,142,91,.3);border-radius:50%;display:grid;place-items:center}.pp-about__wave svg{width:23px;fill:none;stroke:rgba(173,142,91,.55);stroke-width:1.2}

.pp-booking:before{-webkit-mask-image:radial-gradient(ellipse at 42% 72%,#000 0 44%,transparent 78%);mask-image:radial-gradient(ellipse at 42% 72%,#000 0 44%,transparent 78%)}.pp-booking__intro h2{max-width:400px}.pp-about__content h2{max-width:640px}

@media(max-width:1180px){
  :root{--shell:min(100% - 40px,1100px)}.pp-header-word{font-size:7.2vw}.desktop-nav{gap:12px 28px}.pp-header-main{grid-template-columns:1fr auto}.pp-header-actions{display:none}.pp-hero{padding-top:340px}.pp-hero__content{grid-template-columns:.65fr .65fr 1.4fr}.pp-hero__left{gap:100px}.pp-showcase__name{font-size:7vw}.pp-code__head{grid-template-columns:1fr 2fr}.pp-code__head>p:last-child{grid-column:2}.pp-code__grid{grid-template-columns:1fr 1fr}.pp-journey__grid{grid-template-columns:.35fr .45fr 1.2fr}.site-footer__grid{grid-template-columns:.4fr 1fr}.site-footer__brand{grid-column:1/3;margin-top:60px;text-align:left}
}

@media(max-width:800px){
  :root{--shell:calc(100% - 32px)}.section{padding:90px 0}.launch-bar{height:32px;padding:0 16px;justify-content:flex-start;overflow:hidden;white-space:nowrap;font-size:11px}.launch-bar span{display:none}.site-header{top:32px}.site-header.is-scrolled{top:0}.pp-header-top{grid-template-columns:1fr auto;padding:15px 0}.pp-header-word{font-size:clamp(34px,10vw,54px)}.pp-header-name .pp-header-word{display:none}.menu-toggle{width:44px;height:44px;margin:0}.pp-header-main{display:none}.mobile-nav{position:fixed;inset:76px 16px auto;max-height:calc(100dvh - 96px);overflow:auto;padding:28px;background:#0d3b50;color:white;display:grid;gap:0;opacity:0;transform:translateY(-18px);pointer-events:none;transition:.35s var(--ease);box-shadow:0 30px 70px -32px rgba(0,0,0,.75)}.mobile-nav a,.mobile-nav>button:not(.button){padding:17px 0;border:0;border-bottom:1px solid rgba(255,255,255,.18);background:none;color:white;text-align:left;font-size:22px}.mobile-nav .button{margin-top:22px}.menu-open .mobile-nav{opacity:1;transform:none;pointer-events:auto}.site-header.is-scrolled .pp-header-top{display:grid;background:transparent}.site-header.is-scrolled .pp-header-main{display:none}
  .pp-hero{min-height:940px;padding:245px 0 70px}.pp-hero-marquee{top:165px}.pp-hero-marquee span{font-size:24vw}.pp-hero__content{grid-template-columns:1fr;gap:30px;align-items:end}.pp-hero__left{display:none}.pp-hero__services{width:75%;padding-top:18px}.pp-hero__services span{font-size:15px}.pp-hero__copy h1{font-size:clamp(39px,10vw,58px)}.pp-hero__copy>p:nth-child(3){font-size:16px}.pp-hero__copy>div{flex-direction:column;align-items:stretch}.pp-scroll-cue{right:18px;bottom:18px;font-size:11px}.pp-scroll-cue i{width:34px}
  .pp-booking__grid,.pp-about__grid,.pp-code__head,.pp-journey__grid,.pp-faq__grid{grid-template-columns:1fr;gap:48px}.pp-booking__grid h2{font-size:15vw}.pp-booking form{grid-template-columns:1fr}.pp-booking form .button{grid-column:auto}.pp-about{min-height:0}.pp-about__stamp{position:static;width:135px;height:135px}.pp-about__content h2{font-size:9.2vw}.pp-about__content>p,.pp-about__facts,.pp-about__content>.button{margin-left:0}.pp-about__facts{grid-template-columns:1fr}
  .pp-showcase{min-height:760px}.pp-showcase__item{grid-template-columns:1fr auto;gap:15px;padding:16px 0}.pp-showcase__name{font-size:11vw}.pp-showcase__meta b{font-size:12px}.pp-showcase__meta strong{font-size:15px}.pp-showcase__desc{display:none}.pp-showcase-marquee{margin-top:60px}.pp-showcase-marquee span{font-size:18px}
  .pp-code__head h2{font-size:14vw}.pp-code__head>p:last-child{grid-column:auto}.pp-code__grid{grid-template-columns:1fr 1fr;gap:30px 16px}.pp-code__grid h3{font-size:21px}.pp-code__grid p{font-size:14px}
  .pp-journey__grid>.button{width:100%}.pp-journey__grid h2{font-size:13vw}.pp-journey__steps h3{font-size:24px}.pp-faq__grid h2{font-size:14vw}.pp-faq summary{font-size:21px}
  .site-footer{padding-top:90px}.site-footer__grid{grid-template-columns:1fr}.site-footer__brand{grid-column:auto;font-size:16vw;text-align:left}.site-footer__contact a{font-size:7vw}.site-footer__bottom{margin-top:130px;flex-direction:column}.site-footer__bottom div{flex-wrap:wrap}
  .booking-dialog{width:100%;height:100dvh}.dialog-shell{display:block}.booking-dialog__side{height:180px;padding:28px 22px;background:linear-gradient(90deg,rgba(8,33,45,.95),rgba(8,33,45,.55)),url('../img/experience-02.jpg') center/cover}.booking-dialog__side h2{font-size:30px}.booking-dialog__side .mini-label,.booking-dialog__promise{display:none}.booking-progress{margin-top:22px;grid-template-columns:repeat(3,1fr)}.booking-progress span{display:flex;padding:10px 0}.booking-progress span i{font-size:12px}.booking-form{height:calc(100dvh - 180px);padding:26px 20px 16px}.booking-form__footer{gap:10px}.booking-form__footer .form-message{position:absolute;left:20px;right:20px;bottom:76px;background:#e9f2f2;padding:8px}.dialog-close{top:12px;right:12px}.lookup-card{padding:52px 24px 32px}
}

@media(max-width:480px){
  .pp-code__grid{grid-template-columns:1fr}.pp-showcase__name{font-size:12vw}.pp-hero__services{width:100%}.pp-hero{min-height:900px}.pp-about__content h2{font-size:10vw}.site-footer__contact a{font-size:6.6vw}.form-grid{grid-template-columns:1fr}
}

@media(max-width:800px){.video-dialog{width:100%;height:100dvh}.video-dialog__frame{display:grid;place-items:center}.video-dialog__close{right:14px;top:14px;width:46px;height:46px}.video-dialog video{height:auto;max-height:100dvh}}

@media(max-width:800px){
  .pp-booking{min-height:0;padding:86px 0 96px}.pp-booking:before{left:-24%;bottom:40%;width:120%;height:38%;opacity:.42}.pp-booking:after{left:-35%;bottom:37%;width:120%;height:30%}.pp-booking__grid{grid-template-columns:1fr;gap:52px}.pp-booking__intro{padding-top:0}.pp-booking__intro h2{max-width:300px;margin-top:24px;font-size:15vw}.pp-booking__lede{font-size:17px}.pp-booking__script{margin:35px 0 0;font-size:44px}.pp-booking__card{min-height:0;padding:34px 22px 30px;border-radius:26px}.pp-booking form{grid-template-columns:1fr;gap:22px}.pp-booking form .field:nth-child(3),.pp-booking form .button{grid-column:auto}.pp-booking form .button{min-height:66px;margin-top:10px;font-size:17px}.pp-booking .field input,.pp-booking .field select{height:62px;font-size:16px}.pp-booking__ticket{margin-top:32px;padding-top:24px}
  .pp-about{min-height:0;padding:86px 0 76px}.pp-about:before{right:-35%;top:5%;width:140%;height:62%;opacity:.1}.pp-about__brandline{gap:19px;margin-bottom:38px}.pp-about__brandline .pp-about__stamp{width:88px;height:88px}.pp-about__brandline>i{height:50px}.pp-about__brandline>p{font-size:11px;letter-spacing:.16em}.pp-about__content h2{max-width:320px;font-size:10.8vw;line-height:1.3}.pp-about__content>p{margin:24px 0 34px;font-size:16px}.pp-about__facts{grid-template-columns:1fr}.pp-about__facts>div{grid-template-columns:82px 100px 1fr;gap:15px;padding:24px 0}.pp-about__facts>div+div{padding-left:0;border-left:0;border-top:1px solid rgba(11,43,80,.13)}.pp-about__fact-icon{width:76px;height:76px}.pp-about__fact-icon svg{width:41px}.pp-about__facts strong{font-size:64px}.pp-about__facts>div>span:last-child{font-size:14px}.pp-about__content>.button{width:100%;min-width:0}.pp-about__wave{margin-top:30px}
}

@media(max-width:480px){.pp-about__facts>div{grid-template-columns:70px 82px 1fr}.pp-about__fact-icon{width:66px;height:66px}.pp-about__facts strong{font-size:54px}.pp-about__facts>div>span:last-child{font-size:13px}}

/* Signature editorial typography for the two key statements. */
.pp-about__content h2{position:relative;max-width:720px;padding-left:34px;color:#082d56;font-family:"Noto Serif KR","Batang","AppleMyungjo","Nanum Myeongjo",Georgia,serif;font-weight:400;word-break:keep-all;text-wrap:balance;text-shadow:0 16px 42px rgba(13,52,84,.08)}.pp-about__content h2:before{content:"";position:absolute;left:0;top:.16em;bottom:.13em;width:3px;background:#1e6281}.pp-about__content h2:after{content:"";display:block;width:92px;height:2px;margin-top:24px;background:#1e6281}.pp-about__content>p{max-width:880px;padding-left:34px;color:#40586d;font-size:20px;line-height:1.9;letter-spacing:.005em;word-break:keep-all}
.pp-code__head h2{position:relative;color:#0a3156;font-weight:600;word-break:keep-all;text-wrap:balance}.pp-code__head h2:after{content:"";display:inline-block;width:clamp(44px,5vw,74px);height:4px;margin-left:20px;background:#4aa9b8;vertical-align:.18em}
@media(min-width:801px){.pp-code__head{grid-template-columns:.4fr 1.6fr;gap:34px 5vw;align-items:end}.pp-code__head>.pp-label{grid-column:1;grid-row:1}.pp-code__head h2{grid-column:1/3;grid-row:2;font-size:clamp(32px,4.25vw,68px);line-height:1.05;letter-spacing:-.06em;white-space:nowrap}.pp-code__head>p:last-child{grid-column:2;grid-row:3;max-width:660px;margin-left:auto;font-size:18px}}
@media(max-width:800px){.pp-about__content h2{max-width:330px;padding-left:22px;text-wrap:wrap}.pp-about__content h2:after{width:68px;margin-top:17px}.pp-about__content>p{padding-left:22px;font-size:17px}.pp-code__head h2{font-size:12vw;line-height:1.02}.pp-code__head h2:after{display:block;width:58px;height:3px;margin:18px 0 0}}

/* SVG flag language controls and full BOHOL / WHALE SHARK wordmark. */
@media(min-width:801px){.pp-header-top{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:4vw}.pp-header-word{font-size:clamp(54px,6.5vw,100px)}.pp-header-name{gap:18px}}
.language-picker{width:max-content;height:38px;padding:4px 6px;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:rgba(8,35,49,.2);display:flex;align-items:center;gap:5px;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.language-picker .flag{width:30px;height:22px;min-height:0;padding:0;border:1px solid rgba(255,255,255,.42);border-radius:4px;background-color:transparent!important;background-position:center;background-repeat:no-repeat;background-size:cover;opacity:.52;filter:saturate(.78);transform:scale(.94);transition:opacity .25s var(--ease),transform .25s var(--ease),filter .25s var(--ease),border-color .25s}.language-picker .flag:hover,.language-picker .flag.is-active{opacity:1;filter:saturate(1);transform:scale(1.05);border-color:white}.language-picker .flag.is-active{box-shadow:0 0 0 2px rgba(255,255,255,.32)}
.flag--en{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Crect width='60' height='40' fill='%231c3f79'/%3E%3Cpath d='M0 0 60 40M60 0 0 40' stroke='white' stroke-width='9'/%3E%3Cpath d='M0 0 60 40M60 0 0 40' stroke='%23c6404b' stroke-width='4'/%3E%3Cpath d='M30 0v40M0 20h60' stroke='white' stroke-width='13'/%3E%3Cpath d='M30 0v40M0 20h60' stroke='%23c6404b' stroke-width='7'/%3E%3C/svg%3E")!important}.flag--ko{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Crect width='60' height='40' fill='white'/%3E%3Ccircle cx='30' cy='20' r='9' fill='%23d64b55'/%3E%3Cpath d='M21 20a9 9 0 0 0 18 0 9 9 0 0 1-18 0' fill='%233f68a8'/%3E%3Cpath d='M10 9h11M10 12h11M39 28h11M39 31h11M40 9h4M46 9h4M40 12h4M46 12h4M10 28h4M16 28h5M10 31h4M16 31h5' stroke='%231c2632' stroke-width='1.6'/%3E%3C/svg%3E")!important}.flag--zh{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Crect width='60' height='40' fill='%23d8464b'/%3E%3Cpath d='m14 7 2 6 6 .1-5 3.6 1.8 6-4.8-3.5-4.8 3.5 1.8-6-5-3.6 6-.1Z' fill='%23f4d35e'/%3E%3C/svg%3E")!important}.flag--ja{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Crect width='60' height='40' fill='white'/%3E%3Ccircle cx='30' cy='20' r='10' fill='%23c94755'/%3E%3C/svg%3E")!important}.mobile-language-picker{margin:20px 0 4px;background:rgba(255,255,255,.08)}
@media(max-width:800px){.language-picker{height:44px;padding:6px 8px}.language-picker .flag{width:36px;height:26px}.mobile-nav .mobile-language-picker button{border-bottom:1px solid rgba(255,255,255,.38)}}
@media(min-width:801px){.pp-header-main{grid-template-columns:minmax(0,1fr) auto;align-items:center}.desktop-nav{width:auto;display:flex;align-items:center;gap:clamp(18px,2.5vw,42px);white-space:nowrap}.pp-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.pp-start-project{display:none}}
@media(min-width:801px) and (max-width:1050px){.desktop-nav{gap:15px}.desktop-nav a{font-size:13px}.pp-header-actions>button{padding:0 12px;font-size:12px}.language-picker{padding:4px}.language-picker .flag{width:25px;height:19px}}

/* Correct Taegeukgi, luxury hero title, and luminous moving marquee. */
.language-picker .flag--ko{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Crect width='60' height='40' fill='white'/%3E%3Cpath d='M30 11a9 9 0 0 1 0 18 4.5 4.5 0 0 0 0-9 4.5 4.5 0 0 1 0-9Z' fill='%23cd2e3a'/%3E%3Cpath d='M30 29a9 9 0 0 1 0-18 4.5 4.5 0 0 0 0 9 4.5 4.5 0 0 1 0 9Z' fill='%230047a0'/%3E%3Cg fill='%23111820'%3E%3Cg transform='translate(13 10) rotate(-34)'%3E%3Crect x='-6' y='-4' width='12' height='1.7'/%3E%3Crect x='-6' y='-1' width='12' height='1.7'/%3E%3Crect x='-6' y='2' width='12' height='1.7'/%3E%3C/g%3E%3Cg transform='translate(47 30) rotate(-34)'%3E%3Crect x='-6' y='-4' width='5' height='1.7'/%3E%3Crect x='1' y='-4' width='5' height='1.7'/%3E%3Crect x='-6' y='-1' width='5' height='1.7'/%3E%3Crect x='1' y='-1' width='5' height='1.7'/%3E%3Crect x='-6' y='2' width='5' height='1.7'/%3E%3Crect x='1' y='2' width='5' height='1.7'/%3E%3C/g%3E%3Cg transform='translate(47 10) rotate(34)'%3E%3Crect x='-6' y='-4' width='5' height='1.7'/%3E%3Crect x='1' y='-4' width='5' height='1.7'/%3E%3Crect x='-6' y='-1' width='12' height='1.7'/%3E%3Crect x='-6' y='2' width='5' height='1.7'/%3E%3Crect x='1' y='2' width='5' height='1.7'/%3E%3C/g%3E%3Cg transform='translate(13 30) rotate(34)'%3E%3Crect x='-6' y='-4' width='12' height='1.7'/%3E%3Crect x='-6' y='-1' width='5' height='1.7'/%3E%3Crect x='1' y='-1' width='5' height='1.7'/%3E%3Crect x='-6' y='2' width='12' height='1.7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")!important}
.pp-hero__copy h1{position:relative;padding:0 0 28px;color:#f9feff;font-family:"Noto Serif KR","Batang","AppleMyungjo","Nanum Myeongjo",Georgia,serif;font-size:clamp(48px,4.65vw,74px);font-weight:400;line-height:1.2;letter-spacing:-.055em;word-break:keep-all;text-wrap:balance;text-shadow:0 2px 0 rgba(255,255,255,.08),0 18px 50px rgba(0,14,28,.55)}.pp-hero__copy h1:after{content:"";position:absolute;left:0;bottom:4px;width:170px;height:1px;background:linear-gradient(90deg,#dffcff,#58d7f2 62%,transparent);box-shadow:0 0 10px rgba(88,215,242,.72)}
.pp-hero-marquee{opacity:.52;mix-blend-mode:screen}.pp-hero-marquee span{color:transparent;background:linear-gradient(105deg,rgba(70,194,236,.12) 15%,rgba(104,224,255,.55) 34%,#efffff 49%,rgba(83,211,251,.75) 57%,rgba(65,173,226,.14) 78%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px rgba(114,225,255,.42);filter:drop-shadow(0 0 7px rgba(56,200,246,.68)) drop-shadow(0 0 20px rgba(20,139,226,.38));animation:marqueeShine 3.8s ease-in-out infinite}.pp-hero-marquee span:nth-of-type(even){animation-delay:-1.9s}.pp-hero-marquee i{border-color:#9cefff;background:rgba(141,239,255,.3);box-shadow:0 0 9px #62ddff,0 0 22px rgba(50,174,255,.8);animation:marqueeBeacon 1.9s ease-in-out infinite alternate}@keyframes marqueeShine{0%{background-position:130% 50%;filter:drop-shadow(0 0 5px rgba(56,200,246,.45))}50%{filter:drop-shadow(0 0 10px rgba(101,229,255,.9)) drop-shadow(0 0 26px rgba(20,139,226,.58))}100%{background-position:-110% 50%;filter:drop-shadow(0 0 5px rgba(56,200,246,.45))}}@keyframes marqueeBeacon{to{transform:scale(1.22);opacity:.68;box-shadow:0 0 15px #b4f7ff,0 0 35px rgba(50,174,255,.95)}}
@media(max-width:800px){.pp-hero__copy h1{padding-bottom:22px;font-size:clamp(38px,10.5vw,56px);line-height:1.2}.pp-hero__copy h1:after{width:112px}.pp-hero-marquee{opacity:.43}.pp-hero-marquee span{-webkit-text-stroke:.7px rgba(114,225,255,.5)}}

/* Mobile brand stack and language controls beside the menu button. */
.pp-header-brand{display:block;width:max-content;color:inherit}.pp-header-subword,.header-mobile-language{display:none}
@media(max-width:800px){.pp-header-top{grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:12px 0}.pp-header-brand{display:inline-block;width:max-content}.pp-header-brand>.pp-header-word{display:block;line-height:.82}.pp-header-subword{width:100%;margin-top:7px;display:flex;align-items:center;justify-content:flex-start;gap:2px;color:rgba(255,255,255,.82);font-size:11px;font-weight:600;line-height:1;letter-spacing:.08em}.pp-header-subword i{font-style:normal}.pp-header-name{display:flex;align-items:center;justify-content:flex-end;gap:7px}.pp-header-name>.pp-header-word{display:none}.header-mobile-language{height:34px;padding:3px 5px;display:flex;gap:3px;border-radius:9px}.header-mobile-language .flag{width:24px;height:18px}.menu-toggle{flex:0 0 44px}.mobile-nav{inset:112px 16px auto}.site-header.is-scrolled .mobile-nav{inset:80px 16px auto}}

/* High-emphasis signature message panel for the hero. */
.pp-hero__copy{position:relative;max-width:820px;padding:36px 40px 40px 44px;border:1px solid rgba(170,236,247,.2);border-left:4px solid #72d9e8;background:linear-gradient(100deg,rgba(4,31,46,.86),rgba(8,46,62,.55) 72%,rgba(10,57,72,.24));box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 30px 70px -42px rgba(0,10,24,.88);backdrop-filter:blur(12px) saturate(1.15)}.pp-hero__copy:before{content:"SIGNATURE OCEAN ENCOUNTER";position:absolute;right:26px;top:20px;color:#83deea;font-size:11px;font-weight:700;letter-spacing:.18em}.pp-kicker{margin:0 0 22px;color:#9de7ef;font-size:14px;font-style:normal;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.pp-hero__copy h1{position:relative;margin:0;padding:0 0 28px;color:#fff;font-family:Sequel,Arial,sans-serif;font-size:clamp(54px,5.2vw,82px);font-weight:600;line-height:.98;letter-spacing:-.07em;word-break:keep-all;text-wrap:balance;text-shadow:0 18px 42px rgba(0,8,20,.48)}.pp-hero__copy h1:after{content:"";position:absolute;left:0;bottom:4px;width:148px;height:3px;background:#72d9e8;box-shadow:none}.pp-hero__copy>p:nth-child(3){position:relative;max-width:690px;margin:24px 0 0;padding:18px 20px 18px 50px;border-top:1px solid rgba(157,231,239,.2);border-bottom:1px solid rgba(157,231,239,.2);background:rgba(255,255,255,.055);color:rgba(255,255,255,.88);font-size:18px;font-weight:500;line-height:1.72}.pp-hero__copy>p:nth-child(3):before{content:"";position:absolute;left:20px;top:26px;width:11px;height:11px;border:2px solid #82e1ed;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(3,34,47,.85)}.pp-hero__copy>div{margin-top:28px}
@media(max-width:800px){.pp-hero__copy{padding:30px 22px 26px;border-left-width:3px;background:linear-gradient(110deg,rgba(4,31,46,.9),rgba(8,46,62,.58))}.pp-hero__copy:before{position:static;display:block;margin-bottom:18px;font-size:9px}.pp-kicker{margin-bottom:16px;font-size:12px}.pp-hero__copy h1{padding-bottom:22px;font-size:clamp(42px,12vw,58px);line-height:1.02}.pp-hero__copy h1:after{width:96px;height:2px}.pp-hero__copy>p:nth-child(3){margin-top:20px;padding:16px 14px 16px 42px;font-size:16px;line-height:1.65}.pp-hero__copy>p:nth-child(3):before{left:16px;top:23px;width:9px;height:9px}.pp-hero__copy>div{margin-top:22px}}

/* Remove the outer hero glass panel while preserving the message hierarchy. */
.pp-hero__copy{padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.pp-hero__copy:before{right:0;top:-24px}.pp-hero__copy>div{display:flex;gap:0}
@media(max-width:800px){.pp-hero__copy{padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.pp-hero__copy:before{position:static;margin-bottom:16px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media print{.launch-bar,.site-header,.pp-scroll-cue,.site-footer,dialog,.toast{display:none!important}.section{padding:45px 0}.reveal{opacity:1;transform:none}}

/* Distinctive masthead lettering and a compact single-line trip-planner title. */
.pp-header-word--bohol{position:relative;display:inline-block;color:#d8f7f5;letter-spacing:-.07em;text-shadow:0 1px 0 rgba(255,255,255,.18)}
.pp-header-word--bohol:after{content:"";position:absolute;left:.03em;right:.03em;bottom:-.1em;height:3px;background:#75d7d7;transform:scaleX(.38);transform-origin:left center;transition:transform .45s var(--ease)}
.pp-header-brand:hover .pp-header-word--bohol:after{transform:scaleX(1)}
.pp-header-word--species{display:flex;align-items:flex-start;gap:.18em}
.pp-header-word--species i{display:flex;align-items:baseline;font-style:normal}
.pp-booking__intro h2{max-width:none;white-space:nowrap;font-size:clamp(38px,3.5vw,54px);line-height:.96;letter-spacing:-.06em}
@media(max-width:800px){
  .pp-header-word--bohol:after{bottom:-.15em;height:2px;transform:scaleX(.46)}
  .pp-header-subword i{display:flex;align-items:center;gap:.02em}
  .pp-booking__intro h2{max-width:none;margin-right:-8px;font-size:clamp(28px,8.15vw,38px);line-height:1;letter-spacing:-.065em;white-space:nowrap}
}

/* Reference-matched booking benefit rail. */
.pp-hero__services{width:100%;min-height:90px;margin:0;padding:0 14px;border:1px solid rgba(181,230,237,.3);border-radius:12px;background:rgba(5,31,45,.42);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(12px) saturate(1.08)}
.pp-hero__service{position:relative;min-width:0;padding:16px 15px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:center}
.pp-hero__service+.pp-hero__service{border-left:1px solid rgba(181,230,237,.2)}
.pp-hero__services .pp-hero__service-icon{width:32px;height:32px;display:grid;place-items:center;color:#dffcff;font-size:inherit;font-weight:400;line-height:1}
.pp-hero__service-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.pp-hero__services .pp-hero__service-copy{min-width:0;display:block;font-size:inherit;font-weight:400;line-height:1.2}
.pp-hero__service-copy strong,.pp-hero__service-copy small{display:block;word-break:keep-all}
.pp-hero__service-copy strong{color:#f4ffff;font-size:13px;font-weight:700;line-height:1.28}
.pp-hero__service-copy small{margin-top:5px;color:rgba(208,236,239,.62);font-size:10px;font-weight:500;line-height:1.25}
@media(min-width:801px){
  .pp-hero__content{position:relative;grid-template-rows:auto auto;column-gap:42px;row-gap:22px}
  .pp-hero__left{grid-column:1;grid-row:1/3}
  .pp-hero__copy{grid-column:3;grid-row:1}
  .pp-hero__services{grid-column:2/4;grid-row:2}
}
@media(min-width:801px) and (max-width:1050px){
  .pp-hero__services{padding-inline:8px}
  .pp-hero__service{grid-template-columns:29px minmax(0,1fr);gap:8px;padding:14px 9px}
  .pp-hero__services .pp-hero__service-icon{width:28px;height:28px}.pp-hero__service-icon svg{width:26px;height:26px}
  .pp-hero__service-copy strong{font-size:11px}.pp-hero__service-copy small{font-size:9px}
}
@media(max-width:800px){
  .pp-hero__copy{grid-row:1}
  .pp-hero__services{grid-row:2;width:100%;min-height:0;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:10px}
  .pp-hero__service{min-height:74px;padding:13px 12px;grid-template-columns:30px minmax(0,1fr);gap:9px}
  .pp-hero__service+.pp-hero__service{border-left:1px solid rgba(181,230,237,.2)}
  .pp-hero__service:nth-child(3){border-left:0}
  .pp-hero__service:nth-child(n+3){border-top:1px solid rgba(181,230,237,.2)}
  .pp-hero__services .pp-hero__service-icon{width:28px;height:28px}.pp-hero__service-icon svg{width:26px;height:26px}
  .pp-hero__service-copy strong{font-size:12px}.pp-hero__service-copy small{font-size:9px}
}

/* Desktop placement: two-by-two benefit rail to the left of the hero statement. */
@media(min-width:801px){
  .pp-hero__content{grid-template-rows:auto auto}
  .pp-hero__left{grid-column:1;grid-row:2}
  .pp-hero__copy{grid-column:3;grid-row:1/3;align-self:end}
  .pp-hero__services{grid-column:1/3;grid-row:1;align-self:end;grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;padding:0}
  .pp-hero__service{min-height:68px;padding:12px 14px}
  .pp-hero__service:nth-child(3){border-left:0}
  .pp-hero__service:nth-child(n+3){border-top:1px solid rgba(181,230,237,.2)}
}

/* Split cards beside the statement, plus the requested ocean image at the title edge. */
.pp-hero__copy>.pp-hero__title-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:22px;align-items:start;margin-top:0}
.pp-hero__title-row h1{min-width:0}
.pp-hero__title-image{position:relative;width:118px;height:150px;margin:2px 0 0;overflow:hidden;border:1px solid rgba(190,235,240,.38);border-radius:12px;background:#0d4052;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.pp-hero__title-image:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);border-radius:inherit;pointer-events:none}
.pp-hero__title-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04)}
.pp-hero__left{justify-content:flex-end;gap:0}
.pp-hero__services{gap:10px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.pp-hero__services .pp-hero__service,.pp-hero__services .pp-hero__service+.pp-hero__service,.pp-hero__services .pp-hero__service:nth-child(3),.pp-hero__services .pp-hero__service:nth-child(n+3){border:1px solid rgba(181,230,237,.28);border-radius:10px;background:rgba(5,31,45,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.09);backdrop-filter:blur(10px)}
@media(min-width:801px){
  .pp-hero__services{margin-top:38px;align-self:center}
}
@media(max-width:800px){
  .pp-hero__copy>.pp-hero__title-row{grid-template-columns:minmax(0,1fr) 78px;gap:12px;align-items:start;margin-top:0}
  .pp-hero__title-image{width:78px;height:104px;border-radius:9px}
  .pp-hero__services{gap:8px}
}

/* Refined WHALE SHARK wordmark without boxed initials. */
.pp-header-word--species{position:relative;display:flex;align-items:baseline;gap:.16em;color:#f7fcfd;letter-spacing:-.072em;text-shadow:0 1px 0 rgba(255,255,255,.16)}
.pp-header-word--species i{display:block;font-style:normal;font-weight:600;line-height:.86}
.pp-header-word--species i:last-child{color:#b9eeeb;font-weight:500;letter-spacing:-.065em}
.pp-header-word--species:after{content:"";position:absolute;right:.02em;bottom:-.12em;width:34%;height:2px;background:#75d7d7;transform-origin:right center;transition:transform .4s var(--ease)}
.pp-header-name:hover .pp-header-word--species:after{transform:scaleX(.62)}
@media(max-width:800px){
  .pp-header-subword{gap:.48em;color:rgba(255,255,255,.78);font-size:10px;font-weight:700;letter-spacing:.12em}
  .pp-header-subword i{display:block;font-style:normal}
  .pp-header-subword i:last-child{color:#aeece9}
}

/* PLAY FILM grows from its fixed lower-left corner and remains available on mobile. */
@media(min-width:801px){
  .pp-hero__clip{transform:scale(1.416);transform-origin:left bottom}
}
@media(max-width:800px){
  .pp-hero__copy{grid-row:1}
  .pp-hero__left{display:flex;grid-row:2;width:min(76vw,320px);margin-top:2px;justify-self:start;justify-content:flex-start;align-self:end}
  .pp-hero__clip{width:100%;max-width:none;transform:none;transform-origin:left bottom}
  .pp-hero__services{grid-row:3}
}

/* Editorial ocean encounter: deep navy story panel, curved image field and warm brass details. */
.pp-about{
  --about-gold:#c8a36e;
  position:relative;min-height:940px;overflow:hidden;padding:clamp(88px,7vw,122px) 0;
  background:radial-gradient(circle at 17% 27%,#0a3557 0,#052641 33%,#031b31 66%,#021427 100%);color:#f5f3ee;isolation:isolate
}
.pp-about:before{display:none}
.pp-about:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(2,20,39,.06) 0,rgba(2,20,39,.18) 35%,rgba(2,20,39,.72) 52%,transparent 72%);pointer-events:none}
.pp-about__visual{position:absolute;z-index:0;top:-6%;right:-4%;width:63%;height:112%;overflow:hidden;clip-path:ellipse(73% 84% at 76% 47%);background:#063354}
.pp-about__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,20,39,.72),transparent 31%),linear-gradient(0deg,rgba(2,20,39,.68),transparent 42%);pointer-events:none}
.pp-about__visual img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:48% center;filter:saturate(.82) contrast(1.08) brightness(.78);transform:scale(1.025);transition:transform 1.2s var(--ease)}
.pp-about:hover .pp-about__visual img{transform:scale(1.055)}
.pp-about__orbit{position:absolute;z-index:2;display:block;border:1px solid rgba(200,163,110,.52);border-radius:49%;pointer-events:none}
.pp-about__orbit--inner{top:-13%;right:-9%;width:61%;height:126%;transform:rotate(-4deg)}
.pp-about__orbit--outer{top:-6%;right:-17%;width:68%;height:131%;border-color:rgba(200,163,110,.25);transform:rotate(4deg)}
.pp-about__layout{position:relative;z-index:3;min-height:696px;display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center}
.pp-about__editorial{width:100%;max-width:680px}
.pp-about__brandline{display:grid;grid-template-columns:96px 1px minmax(0,1fr);gap:26px;align-items:center;margin:0 0 42px;color:var(--about-gold)}
.pp-about__brandline .pp-about__stamp{position:static;width:96px;height:96px;padding:9px;border:1px solid rgba(200,163,110,.84);animation:none;background:rgba(2,20,39,.18)}
.pp-about__stamp svg>path{fill:var(--about-gold)}
.pp-about__stamp text{fill:var(--about-gold);font-size:9px;letter-spacing:1.6px}
.pp-about__brandline>i{width:1px;height:56px;background:rgba(200,163,110,.52)}
.pp-about__brandline>p{font-family:Georgia,"Times New Roman",serif;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:.25em;white-space:nowrap}
.pp-about__content{position:relative;z-index:2}
.pp-about__content h2{max-width:660px;margin:0;padding:0;color:#f7f5f0;font-family:"Noto Serif KR","Batang","AppleMyungjo","Nanum Myeongjo",Georgia,serif;font-size:clamp(56px,4.7vw,78px);font-weight:400;line-height:1.18;letter-spacing:-.055em;word-break:keep-all;text-wrap:balance;text-shadow:0 18px 46px rgba(0,8,18,.3)}
.pp-about__content h2:before,.pp-about__content h2:after{display:none}
.pp-about__content h2 span{display:block}
.pp-about__content h2 span:first-child{color:#e1c18e}
.pp-about__content>p{position:relative;max-width:570px;margin:30px 0 0;padding:34px 0 0;color:rgba(235,241,243,.76);font-size:17px;line-height:1.82;letter-spacing:0;word-break:keep-all}
.pp-about__content>p:before{content:"~";position:absolute;left:0;top:-9px;color:var(--about-gold);font-family:Georgia,"Times New Roman",serif;font-size:34px;font-style:italic}
.pp-about__facts{max-width:660px;margin:38px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0;border:0}
.pp-about__facts>.pp-about__fact{min-width:0;display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;align-items:start;padding:0 25px 0 0;border:0}
.pp-about__facts>.pp-about__fact+.pp-about__fact{margin-left:24px;padding:0 0 0 24px;border:0;border-left:1px solid rgba(200,163,110,.42)}
.pp-about__fact-icon{width:82px;height:82px;border:1px solid rgba(200,163,110,.84);border-radius:50%;display:grid;place-items:center;background:rgba(2,20,39,.14);color:var(--about-gold)}
.pp-about__fact-icon svg{width:46px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.pp-about__fact-copy{min-width:0;display:block}
.pp-about__facts .pp-about__fact-copy strong{display:block;color:#e0bd84;font-family:Georgia,"Times New Roman",serif;font-size:clamp(66px,5.4vw,88px);font-weight:400;line-height:.82;letter-spacing:-.065em}
.pp-about__facts .pp-about__fact-copy>span{display:block;margin-top:20px;color:rgba(235,241,243,.72);font-size:13px;line-height:1.68;word-break:keep-all}
.pp-about__content>.pp-about__cta{width:max-content;min-width:220px;min-height:56px;margin:36px 0 0;border:1px solid rgba(200,163,110,.72);border-radius:99px;background:rgba(2,20,39,.22);color:#f5e3c5;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.pp-about__content>.pp-about__cta:hover{border-color:#e1c18e;background:#e1c18e;color:#08233b}
.pp-about__wave{display:none}

@media(max-width:1180px) and (min-width:801px){
  .pp-about{min-height:900px}
  .pp-about__visual{right:-10%;width:65%}
  .pp-about__layout{grid-template-columns:minmax(0,1fr) minmax(0,.88fr)}
  .pp-about__editorial{max-width:570px}
  .pp-about__content h2{font-size:clamp(50px,5.4vw,64px)}
  .pp-about__facts>.pp-about__fact{grid-template-columns:72px minmax(0,1fr);gap:14px}
  .pp-about__fact-icon{width:68px;height:68px}.pp-about__fact-icon svg{width:38px}
  .pp-about__facts .pp-about__fact-copy strong{font-size:68px}
}

@media(max-width:800px){
  .pp-about{min-height:0;padding:0 0 76px;background:linear-gradient(180deg,#052b49 0,#031b31 49%,#021427 100%)}
  .pp-about:after{background:linear-gradient(180deg,transparent 0,rgba(2,20,39,.08) 22%,#031b31 42%,transparent 64%)}
  .pp-about__visual{position:relative;top:auto;right:auto;width:100%;height:clamp(310px,87vw,430px);clip-path:ellipse(94% 76% at 61% 17%)}
  .pp-about__visual:after{background:linear-gradient(0deg,#031b31 0,rgba(3,27,49,.22) 34%,transparent 58%)}
  .pp-about__visual img{object-position:48% center;transform:scale(1.04)}
  .pp-about:hover .pp-about__visual img{transform:scale(1.04)}
  .pp-about__orbit{display:none}
  .pp-about__layout{min-height:0;display:block;margin-top:-12px}
  .pp-about__editorial{max-width:none}
  .pp-about__brandline{grid-template-columns:74px 1px minmax(0,1fr);gap:17px;margin:0 0 34px}
  .pp-about__brandline .pp-about__stamp{width:74px;height:74px;padding:7px}
  .pp-about__brandline>i{height:44px}
  .pp-about__brandline>p{font-size:10px;letter-spacing:.18em;white-space:normal}
  .pp-about__content h2{max-width:none;padding:0;font-size:clamp(43px,11.4vw,58px);line-height:1.2;letter-spacing:-.06em;text-wrap:balance}
  .pp-about__content>p{max-width:none;margin:26px 0 0;padding:31px 0 0;color:rgba(235,241,243,.75);font-size:16px;line-height:1.75}
  .pp-about__facts{max-width:none;margin-top:34px;grid-template-columns:1fr;border-top:1px solid rgba(200,163,110,.35);border-bottom:1px solid rgba(200,163,110,.35)}
  .pp-about__facts>.pp-about__fact{grid-template-columns:76px minmax(0,1fr);gap:18px;align-items:center;padding:25px 0;border:0}
  .pp-about__facts>.pp-about__fact+.pp-about__fact{margin:0;padding:25px 0;border:0;border-top:1px solid rgba(200,163,110,.24)}
  .pp-about__fact-icon{width:72px;height:72px}.pp-about__fact-icon svg{width:40px}
  .pp-about__facts .pp-about__fact-copy{display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;align-items:center}
  .pp-about__facts .pp-about__fact-copy strong{font-size:62px}
  .pp-about__facts .pp-about__fact-copy>span{margin:0;font-size:13px;line-height:1.58}
  .pp-about__content>.pp-about__cta{width:100%;min-width:0;margin-top:30px}
}

@media(max-width:420px){
  .pp-hero__left{width:84vw}
  .pp-about__facts .pp-about__fact-copy{grid-template-columns:74px minmax(0,1fr);gap:12px}
  .pp-about__facts .pp-about__fact-copy strong{font-size:54px}
}

/* Split-screen travel FAQ inspired by a night-ocean information board. */
.pp-faq{position:relative;min-height:900px;overflow:hidden;padding:clamp(88px,7vw,120px) 0;background:#07131f;color:#f5f8fb;isolation:isolate}
.pp-faq:before{content:"";position:absolute;z-index:0;inset:0 auto 0 0;width:43%;background:linear-gradient(180deg,rgba(3,27,49,.88),rgba(2,21,39,.65) 50%,rgba(2,16,30,.88)),url('../img/hero-poster.jpg') 44% center/cover no-repeat;filter:saturate(.78) contrast(1.08)}
.pp-faq:after{content:"";position:absolute;z-index:0;left:43%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(82,183,238,.34) 14%,rgba(82,183,238,.2) 86%,transparent)}
.pp-faq__grid{position:relative;z-index:1;min-height:660px;display:grid;grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:clamp(64px,6vw,112px);align-items:center}
.pp-faq__intro{min-width:0;padding-right:10px}
.pp-faq__intro>.pp-label{margin:0;color:#70c9f5;font-size:17px;letter-spacing:.03em}
.pp-faq__intro>.pp-label:before,.pp-faq__intro>.pp-label:after{color:#70c9f5}
.pp-faq__title-row{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:20px;align-items:end;margin-top:42px}
.pp-faq__grid .pp-faq__title-row h2{max-width:540px;margin:0;color:#f8fafc;font-size:clamp(62px,5.1vw,86px);font-weight:600;line-height:1.06;letter-spacing:-.07em;word-break:keep-all;text-wrap:balance}
.pp-faq__title-row h2 span{display:block}
.pp-faq__title-row h2 span:last-child{color:#69c5f5}
.pp-faq__title-row>svg{width:54px;margin-bottom:24px;fill:none;stroke:#48b6ef;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.pp-faq__lede{position:relative;max-width:470px;margin:48px 0 0;padding-top:34px;color:rgba(231,240,246,.82);font-size:17px;line-height:1.72;word-break:keep-all}
.pp-faq__lede:before{content:"";position:absolute;left:0;top:0;width:46px;height:2px;background:#d9eef8}
.pp-faq__list{border:0;display:grid;gap:15px}
.pp-faq details{overflow:hidden;border:1px solid rgba(129,166,188,.3);border-radius:12px;background:linear-gradient(105deg,rgba(11,28,42,.88),rgba(9,22,34,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}
.pp-faq details:hover{border-color:rgba(83,183,238,.48);transform:translateX(4px)}
.pp-faq details[open]{border-color:rgba(66,178,238,.56);background:linear-gradient(105deg,rgba(8,35,56,.96),rgba(8,27,43,.82))}
.pp-faq summary{min-height:104px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px;align-items:center;padding:21px 30px;color:#f7f9fb;font-size:clamp(22px,1.65vw,29px);font-weight:600;letter-spacing:-.035em}
.pp-faq summary span{grid-column:2;grid-row:1}
.pp-faq summary i{position:relative;grid-column:1;grid-row:1;width:58px;height:58px;border:1px solid rgba(183,211,226,.3);border-radius:50%;background:rgba(6,20,32,.3);transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}
.pp-faq summary i:before,.pp-faq summary i:after{content:"";position:absolute;background:#f5f8fb;transition:transform .3s var(--ease)}
.pp-faq summary i:before{left:17px;right:17px;top:28px;height:2px}
.pp-faq summary i:after{left:28px;top:17px;bottom:17px;width:2px;height:auto;transform:none}
.pp-faq details[open] summary i{border-color:#49b9f1;background:#49b9f1;transform:rotate(180deg)}
.pp-faq details[open] summary i:after{transform:scaleY(0)}
.pp-faq details p{max-width:720px;margin:0;padding:0 34px 30px 118px;color:rgba(218,230,237,.74);font-size:17px;line-height:1.68;word-break:keep-all}
.pp-faq details[open] p{animation:faqAnswerIn .35s var(--ease)}
@keyframes faqAnswerIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

@media(max-width:1180px) and (min-width:801px){
  .pp-faq:before{width:41%}.pp-faq:after{left:41%}
  .pp-faq__grid{grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:48px}
  .pp-faq__grid .pp-faq__title-row h2{font-size:clamp(54px,5.7vw,68px)}
  .pp-faq summary{grid-template-columns:56px minmax(0,1fr);gap:19px;padding-inline:24px;font-size:22px}
  .pp-faq summary i{width:52px;height:52px}.pp-faq summary i:before{left:15px;right:15px;top:25px}.pp-faq summary i:after{left:25px;top:15px;bottom:15px}
  .pp-faq details p{padding-left:99px}
}

@media(max-width:800px){
  .pp-faq{min-height:0;padding:0 0 72px;background:linear-gradient(180deg,#061c30 0,#07131f 54%,#081520 100%)}
  .pp-faq:before{inset:0 0 auto;width:100%;height:540px;background:linear-gradient(180deg,rgba(3,27,49,.86),rgba(2,21,39,.7) 52%,#07131f 100%),url('../img/hero-poster.jpg') 48% center/cover no-repeat}
  .pp-faq:after{left:0;right:0;top:540px;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(82,183,238,.3),transparent)}
  .pp-faq__grid{min-height:0;display:block}
  .pp-faq__intro{min-height:540px;padding:70px 0 58px;display:flex;flex-direction:column;justify-content:center}
  .pp-faq__intro>.pp-label{font-size:14px}
  .pp-faq__title-row{grid-template-columns:minmax(0,1fr) 42px;gap:10px;margin-top:30px}
  .pp-faq__grid .pp-faq__title-row h2{max-width:330px;font-size:clamp(47px,13vw,62px);line-height:1.08;letter-spacing:-.075em}
  .pp-faq__title-row>svg{width:40px;margin-bottom:18px;stroke-width:3.2}
  .pp-faq__lede{max-width:330px;margin-top:38px;padding-top:27px;font-size:15px;line-height:1.68}
  .pp-faq__lede:before{width:38px}
  .pp-faq__list{margin-top:54px;gap:11px}
  .pp-faq details{border-radius:10px}
  .pp-faq details:hover{transform:none}
  .pp-faq summary{min-height:82px;grid-template-columns:46px minmax(0,1fr);gap:15px;padding:16px;color:#f7f9fb;font-size:18px;line-height:1.35}
  .pp-faq summary i{width:44px;height:44px}.pp-faq summary i:before{left:13px;right:13px;top:21px}.pp-faq summary i:after{left:21px;top:13px;bottom:13px}
  .pp-faq details p{padding:0 18px 22px 77px;font-size:14px;line-height:1.62}
}

@media(max-width:420px){
  .pp-faq__grid .pp-faq__title-row h2{font-size:12.5vw}
  .pp-faq summary{font-size:17px}
}

/* Compact six-step journey: title plus a dense, line-led two-column sequence. */
.pp-journey{padding:clamp(62px,5.5vw,86px) 0;background:#f1f1ed;color:#102f47}
.pp-journey__layout{display:grid;grid-template-columns:minmax(280px,.56fr) minmax(0,1.44fr);gap:clamp(44px,5vw,82px);align-items:start}
.pp-journey__head{position:sticky;top:112px;padding:4px 0 0}
.pp-journey__head h2{max-width:430px;margin:0;color:#0c2f4b;font-size:clamp(54px,4.5vw,72px);font-weight:600;line-height:.98;letter-spacing:-.065em;word-break:keep-all;text-wrap:balance}
.pp-journey__head>i{display:block;width:64px;height:3px;margin-top:28px;background:#328ca0}
.pp-journey__steps{list-style:none;margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
.pp-journey__steps li{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr);gap:17px;align-items:start;padding:24px 26px;border:0;border-top:1px solid rgba(16,47,71,.18);transition:background .3s var(--ease),transform .3s var(--ease)}
.pp-journey__steps li:nth-child(even){border-left:1px solid rgba(16,47,71,.18)}
.pp-journey__steps li:nth-last-child(-n+2){border-bottom:1px solid rgba(16,47,71,.18)}
.pp-journey__steps li:hover{background:rgba(255,255,255,.54);transform:translateY(-2px)}
.pp-journey__steps li>span{padding-top:5px;color:#328ca0;font-size:13px;font-weight:700;line-height:1;letter-spacing:.12em}
.pp-journey__steps h3{margin:0;color:#102f47;font-size:clamp(21px,1.45vw,25px);font-weight:600;line-height:1.18;letter-spacing:-.04em;word-break:keep-all}
.pp-journey__steps p{max-width:350px;margin:9px 0 0;color:#61717b;font-size:14px;line-height:1.58;word-break:keep-all}

@media(max-width:1180px) and (min-width:801px){
  .pp-journey__layout{grid-template-columns:minmax(240px,.48fr) minmax(0,1.52fr);gap:38px}
  .pp-journey__head h2{font-size:clamp(48px,5vw,60px)}
  .pp-journey__steps li{grid-template-columns:43px minmax(0,1fr);gap:13px;padding:21px 18px}
  .pp-journey__steps h3{font-size:20px}
  .pp-journey__steps p{font-size:13px}
}

@media(max-width:800px){
  .pp-journey{padding:54px 0 58px}
  .pp-journey__layout{display:grid;grid-template-columns:1fr;gap:32px}
  .pp-journey__head{position:static;padding:0}
  .pp-journey__head h2{max-width:330px;font-size:clamp(44px,11vw,58px);line-height:1.02}
  .pp-journey__head>i{width:48px;height:2px;margin-top:21px}
  .pp-journey__steps{grid-template-columns:1fr}
  .pp-journey__steps li{grid-template-columns:46px minmax(0,1fr);gap:13px;padding:19px 0;border-left:0!important;border-top:1px solid rgba(16,47,71,.18);border-bottom:0}
  .pp-journey__steps li:last-child{border-bottom:1px solid rgba(16,47,71,.18)}
  .pp-journey__steps li:hover{background:transparent;transform:none}
  .pp-journey__steps li>span{font-size:12px}
  .pp-journey__steps h3{font-size:21px}
  .pp-journey__steps p{max-width:none;margin-top:7px;font-size:14px;line-height:1.55}
}

/* Ocean-first guide: four purpose-built photographs in a two-column editorial zigzag. */
.pp-code{padding:clamp(76px,7vw,112px) 0;background:#f7f7f3;overflow:hidden}
.pp-code__head{margin-bottom:clamp(54px,5vw,76px)}
.pp-code__head h2{white-space:normal}
.pp-code__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 46px}
.pp-code__grid article{min-width:0;display:grid;grid-template-columns:minmax(230px,.58fr) minmax(0,.42fr);gap:25px;align-items:stretch;padding-top:18px;border-top:1px solid rgba(10,49,86,.18)}
.pp-code__grid article:nth-child(even){grid-template-columns:minmax(0,.42fr) minmax(230px,.58fr)}
.pp-code__grid article:nth-child(even) figure{grid-column:2;grid-row:1}
.pp-code__grid article:nth-child(even) .pp-code__item-copy{grid-column:1;grid-row:1}
.pp-code__grid figure{position:relative;height:360px;overflow:hidden;background:#d7e4e7}
.pp-code__grid article:nth-child(1) figure,.pp-code__grid article:nth-child(4) figure{height:390px}
.pp-code__grid figure:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#3d95a8;transform:scaleX(.24);transform-origin:left center;transition:transform .55s var(--ease);pointer-events:none}
.pp-code__grid img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;filter:saturate(.86) contrast(1.04);transition:transform .8s var(--ease),filter .4s var(--ease)}
.pp-code__grid article:nth-child(3) img{object-position:center 34%}
.pp-code__grid article:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.03)}
.pp-code__grid article:hover figure:after{transform:scaleX(1)}
.pp-code__item-copy{min-width:0;display:flex;flex-direction:column;padding:10px 0 18px}
.pp-code__item-copy>span{color:#3d8798;font-size:12px;font-weight:700;letter-spacing:.12em}
.pp-code__grid .pp-code__item-copy h3{margin:auto 0 10px;color:#0b3157;font-size:clamp(25px,2vw,32px);font-weight:600;line-height:1.08;letter-spacing:-.045em;word-break:keep-all}
.pp-code__grid .pp-code__item-copy p{margin:0;color:#61717b;font-size:14px;line-height:1.68;word-break:keep-all}

@media(max-width:1180px) and (min-width:801px){
  .pp-code__grid{gap:40px 30px}
  .pp-code__grid article,.pp-code__grid article:nth-child(even){grid-template-columns:minmax(190px,.56fr) minmax(0,.44fr);gap:19px}
  .pp-code__grid article:nth-child(even){grid-template-columns:minmax(0,.44fr) minmax(190px,.56fr)}
  .pp-code__grid figure,.pp-code__grid article:nth-child(1) figure,.pp-code__grid article:nth-child(4) figure{height:330px}
  .pp-code__grid .pp-code__item-copy h3{font-size:24px}
  .pp-code__grid .pp-code__item-copy p{font-size:13px}
}

@media(max-width:800px){
  .pp-code{padding:68px 0 72px}
  .pp-code__head{margin-bottom:42px}
  .pp-code__grid{grid-template-columns:1fr;gap:40px}
  .pp-code__grid article,.pp-code__grid article:nth-child(even){display:block;padding-top:15px}
  .pp-code__grid article:nth-child(even) figure,.pp-code__grid article:nth-child(even) .pp-code__item-copy{grid-column:auto;grid-row:auto}
  .pp-code__grid figure,.pp-code__grid article:nth-child(1) figure,.pp-code__grid article:nth-child(4) figure{height:clamp(330px,108vw,440px)}
  .pp-code__grid article:nth-child(3) img{object-position:center 34%}
  .pp-code__item-copy{display:block;padding:18px 0 0}
  .pp-code__grid .pp-code__item-copy h3{margin:13px 0 7px;font-size:26px}
  .pp-code__grid .pp-code__item-copy p{max-width:340px;font-size:14px}
}

/* Tighter ocean guide revision: larger copy, useful grouping and a calm water backdrop. */
.pp-code{position:relative;isolation:isolate;padding:clamp(64px,5.7vw,88px) 0;background:linear-gradient(145deg,#eef5f4 0,#f7f7f2 48%,#e8f1f1 100%)}
.pp-code:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 88% 12%,transparent 0 94px,rgba(52,139,158,.08) 95px 96px,transparent 97px 128px,rgba(52,139,158,.045) 129px 130px,transparent 131px),radial-gradient(ellipse at 8% 88%,rgba(55,143,161,.1),transparent 34%);pointer-events:none}
.pp-code>.shell{position:relative;z-index:1}
.pp-code__head{margin-bottom:42px}
.pp-code__grid{gap:24px}
.pp-code__grid article,.pp-code__grid article:nth-child(even){min-height:320px;grid-template-columns:minmax(250px,.56fr) minmax(0,.44fr);gap:22px;padding:13px;border:1px solid rgba(27,83,107,.15);border-radius:16px;background:rgba(255,255,255,.68);box-shadow:0 22px 52px -42px rgba(14,67,88,.42),inset 0 1px 0 rgba(255,255,255,.76);backdrop-filter:blur(6px)}
.pp-code__grid article:nth-child(even){grid-template-columns:minmax(0,.44fr) minmax(250px,.56fr)}
.pp-code__grid figure,.pp-code__grid article:nth-child(1) figure,.pp-code__grid article:nth-child(4) figure{height:292px;border-radius:10px}
.pp-code__item-copy{justify-content:center;padding:18px 8px}
.pp-code__item-copy>span{font-size:14px}
.pp-code__grid .pp-code__item-copy h3{margin:20px 0 11px;font-size:clamp(27px,1.8vw,31px);line-height:1.1}
.pp-code__grid .pp-code__item-copy p{max-width:310px;color:#536975;font-size:16px;line-height:1.62}

@media(min-width:801px){
  .pp-code__head{grid-template-columns:minmax(0,1.16fr) minmax(330px,.84fr);gap:18px 64px;align-items:end}
  .pp-code__head>.pp-label{grid-column:1/3;grid-row:1}
  .pp-code__head h2{grid-column:1;grid-row:2;font-size:clamp(46px,4vw,62px);line-height:1.02}
  .pp-code__head>p:last-child{grid-column:2;grid-row:2;max-width:580px;margin:0;font-size:19px;line-height:1.68}
}

@media(max-width:1180px) and (min-width:801px){
  .pp-code__grid{grid-template-columns:1fr;gap:20px}
  .pp-code__grid article,.pp-code__grid article:nth-child(even){grid-template-columns:minmax(300px,.48fr) minmax(0,.52fr)}
  .pp-code__grid article:nth-child(even){grid-template-columns:minmax(0,.52fr) minmax(300px,.48fr)}
  .pp-code__grid .pp-code__item-copy p{max-width:440px}
}

@media(max-width:800px){
  .pp-code{padding:54px 0 60px}
  .pp-code:before{background:radial-gradient(ellipse at 95% 5%,transparent 0 66px,rgba(52,139,158,.075) 67px 68px,transparent 69px),radial-gradient(ellipse at 4% 92%,rgba(55,143,161,.09),transparent 28%)}
  .pp-code__head{margin-bottom:30px}
  .pp-code__head>p:last-child{font-size:17px;line-height:1.65}
  .pp-code__grid{gap:18px}
  .pp-code__grid article,.pp-code__grid article:nth-child(even){min-height:0;padding:10px;border-radius:14px}
  .pp-code__grid figure,.pp-code__grid article:nth-child(1) figure,.pp-code__grid article:nth-child(4) figure{height:280px;border-radius:9px}
  .pp-code__item-copy{padding:16px 8px 11px}
  .pp-code__item-copy>span{font-size:13px}
  .pp-code__grid .pp-code__item-copy h3{margin:11px 0 7px;font-size:25px}
  .pp-code__grid .pp-code__item-copy p{max-width:none;font-size:16px;line-height:1.58}
}

/* Preserve the native 4:5 illustration ratio instead of landscape cropping. */
.pp-code__grid figure,.pp-code__grid article:nth-child(1) figure,.pp-code__grid article:nth-child(4) figure{height:auto;aspect-ratio:4/5}
.pp-code__grid img{object-fit:cover;object-position:center}

@media(min-width:801px){
  .pp-code__grid article,.pp-code__grid article:nth-child(even){min-height:0;grid-template-columns:minmax(240px,260px) minmax(0,1fr)}
  .pp-code__grid article:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(240px,260px)}
}

@media(max-width:800px){
  .pp-code__grid figure,.pp-code__grid article:nth-child(1) figure,.pp-code__grid article:nth-child(4) figure{width:100%;height:auto;aspect-ratio:4/5}
}

/* Four-card row: full 4:5 artwork followed by its explanation. */
@media(min-width:1181px){
  .pp-code__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .pp-code__grid article,.pp-code__grid article:nth-child(even){display:block;min-width:0;padding:11px}
  .pp-code__grid article:nth-child(even) figure,.pp-code__grid article:nth-child(even) .pp-code__item-copy{grid-column:auto;grid-row:auto}
  .pp-code__grid figure,.pp-code__grid article:nth-child(1) figure,.pp-code__grid article:nth-child(4) figure{width:100%;height:auto;aspect-ratio:4/5}
  .pp-code__item-copy{display:block;padding:19px 7px 12px}
  .pp-code__item-copy>span{display:block}
  .pp-code__grid .pp-code__item-copy h3{margin:12px 0 8px;font-size:27px}
  .pp-code__grid .pp-code__item-copy p{max-width:none;font-size:16px;line-height:1.58}
}

@media(max-width:1180px) and (min-width:801px){
  .pp-code__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .pp-code__grid article,.pp-code__grid article:nth-child(even){display:block;padding:11px}
  .pp-code__grid article:nth-child(even) figure,.pp-code__grid article:nth-child(even) .pp-code__item-copy{grid-column:auto;grid-row:auto}
  .pp-code__grid figure,.pp-code__grid article:nth-child(1) figure,.pp-code__grid article:nth-child(4) figure{width:100%;height:auto;aspect-ratio:4/5}
  .pp-code__item-copy{display:block;padding:18px 8px 12px}
  .pp-code__grid .pp-code__item-copy h3{margin:11px 0 7px}
  .pp-code__grid .pp-code__item-copy p{max-width:none;font-size:16px}
}

/* Keep the mobile PLAY FILM preview optically centered in the hero shell. */
@media(max-width:800px){
  .pp-hero__left{width:min(84vw,320px);margin-inline:auto;justify-self:center}
}

/* Bright immersive experience selector inspired by a premium underwater tour board. */
.pp-showcase{min-height:900px;padding:82px 0 46px;background:#063a58;color:#f8fdff}
.pp-showcase__bg{inset:-1%;background-image:linear-gradient(90deg,rgba(2,32,57,.96) 0%,rgba(3,57,85,.72) 38%,rgba(0,107,153,.2) 72%,rgba(0,101,145,.08) 100%),var(--showcase-image);background-position:center 42%;filter:saturate(1.06) contrast(1.02) brightness(1.06)}
.pp-showcase:hover .pp-showcase__bg{transform:scale(1.015)}
.pp-showcase:after{background:linear-gradient(0deg,rgba(2,28,49,.54),transparent 48%),radial-gradient(circle at 62% 23%,rgba(119,225,245,.18),transparent 31%)}
.pp-showcase__content{min-height:772px;display:flex;flex-direction:column}
.pp-showcase__content>.pp-label{font-size:17px;letter-spacing:.02em}
.pp-showcase__list{position:relative;margin-top:50px;padding-bottom:78px}
.pp-showcase__item{position:static;grid-template-columns:minmax(0,1fr) 210px;gap:42px;padding:9px 0;color:rgba(218,240,246,.56)}
.pp-showcase__item:hover,.pp-showcase__item.is-active{color:#f8fdff}
.pp-showcase__name{font-size:clamp(62px,5.55vw,90px);line-height:1;letter-spacing:-.065em;text-transform:none;text-shadow:0 18px 44px rgba(0,26,49,.24)}
.pp-showcase__meta{align-self:center;padding:0 4px 15px;text-align:right;border-bottom:1px solid rgba(230,250,255,.48)}
.pp-showcase__meta b{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:rgba(231,249,252,.82);font-size:15px;font-weight:600}
.pp-showcase__meta b em{padding:5px 7px;border:1px solid rgba(235,252,255,.34);border-radius:99px;color:#fff;font-size:9px;font-style:normal;letter-spacing:.08em;line-height:1}
.pp-showcase__meta b span{white-space:nowrap}
.pp-showcase__meta strong{margin-top:8px;color:#fff;font-size:clamp(25px,2vw,34px);font-weight:600;letter-spacing:-.04em}
.pp-showcase__meta strong small{display:block;margin-top:2px;color:rgba(231,249,252,.72);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.pp-showcase__subrate{display:block;margin-top:7px;color:rgba(237,249,251,.8);font-size:10px;font-weight:600;white-space:nowrap}
.pp-showcase__desc{left:0;top:auto;bottom:0;max-width:720px;opacity:0;transform:translateY(8px);color:rgba(237,249,251,.86);font-size:17px;font-weight:500;line-height:1.62;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.pp-showcase__item.is-active .pp-showcase__desc{opacity:1;transform:none}
.pp-showcase__empty{min-height:340px;margin-top:46px;border-block:1px solid rgba(235,252,255,.34);display:grid;place-items:center;color:rgba(237,249,251,.78);font-size:22px;text-align:center}
.pp-showcase__trust{margin-top:auto;padding-top:23px;border-top:1px solid rgba(235,252,255,.48);display:flex;align-items:center;gap:30px;color:#f7fdff}
.pp-showcase__trust span{font-size:17px;font-weight:600;white-space:nowrap}
.pp-showcase__trust i{width:1px;height:30px;background:rgba(235,252,255,.48)}

@media(max-width:1180px) and (min-width:801px){
  .pp-showcase{min-height:820px;padding-top:72px}
  .pp-showcase__content{min-height:690px}
  .pp-showcase__name{font-size:clamp(54px,6.2vw,74px)}
  .pp-showcase__item{grid-template-columns:minmax(0,1fr) 175px;gap:26px}
  .pp-showcase__trust{gap:19px}.pp-showcase__trust span{font-size:14px}
}

@media(max-width:800px){
  .pp-showcase{min-height:0;padding:62px 0 34px}
  .pp-showcase__bg{background-image:linear-gradient(90deg,rgba(2,32,57,.9),rgba(3,57,85,.48)),linear-gradient(0deg,rgba(2,28,49,.7),transparent 58%),var(--showcase-image);background-position:center}
  .pp-showcase__content{min-height:680px}
  .pp-showcase__content>.pp-label{font-size:14px}
  .pp-showcase__list{margin-top:32px;padding-bottom:92px}
  .pp-showcase__item{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0}
  .pp-showcase__name{font-size:clamp(38px,10vw,52px);line-height:1.02}
  .pp-showcase__meta{padding-bottom:9px}.pp-showcase__meta b{gap:5px;font-size:10px}.pp-showcase__meta b em{padding:4px 5px;font-size:7px}.pp-showcase__meta strong{font-size:17px}.pp-showcase__subrate{font-size:8px}
  .pp-showcase__desc{max-width:100%;font-size:14px;line-height:1.55}
  .pp-showcase__trust{margin-top:26px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid rgba(235,252,255,.34)}
  .pp-showcase__trust i{display:none}
  .pp-showcase__trust span{min-height:54px;padding:10px;display:grid;place-items:center;text-align:center;font-size:12px;white-space:normal}
  .pp-showcase__trust span:nth-of-type(even){border-left:1px solid rgba(235,252,255,.26)}
  .pp-showcase__trust span:nth-of-type(n+3){border-top:1px solid rgba(235,252,255,.26)}
}

/* Premium booking flow: clear progress, live selection and touch-friendly inputs. */
.booking-dialog{width:min(1240px,calc(100% - 32px));height:min(850px,calc(100dvh - 32px));border-radius:28px;overflow:hidden}
.booking-dialog::backdrop{background:rgba(3,18,29,.78);backdrop-filter:blur(18px) saturate(.8)}
.booking-dialog .dialog-shell{grid-template-columns:.37fr .63fr;border:1px solid rgba(255,255,255,.28);border-radius:inherit;overflow:hidden;background:#f3f7f5;box-shadow:0 40px 110px -38px rgba(0,21,35,.9);animation:bookingDialogIn .45s var(--ease)}
@keyframes bookingDialogIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.booking-dialog .dialog-close{right:22px;top:22px;width:48px;height:48px;border:1px solid rgba(8,43,58,.12);background:rgba(255,255,255,.9);color:#0b3548;box-shadow:0 12px 35px -24px rgba(2,25,38,.7);backdrop-filter:blur(12px)}
.booking-dialog__side{position:relative;isolation:isolate;padding:52px 42px 34px;overflow:hidden;background:linear-gradient(180deg,rgba(3,38,57,.3),rgba(3,27,43,.94)),url('../img/experience-02.jpg') 46% center/cover;color:#fff}
.booking-dialog__side:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 78% 16%,rgba(108,221,228,.28),transparent 34%),linear-gradient(90deg,rgba(3,29,45,.28),transparent)}
.booking-dialog__side:after{content:"";position:absolute;z-index:-1;right:-120px;bottom:80px;width:280px;height:280px;border:1px solid rgba(142,229,232,.18);border-radius:50%;box-shadow:0 0 0 38px rgba(142,229,232,.04),0 0 0 76px rgba(142,229,232,.025)}
.booking-dialog__side .mini-label{color:#8fe0e4;font-size:12px;letter-spacing:.16em}
.booking-dialog__side h2{max-width:360px;margin:18px 0 0;font-size:clamp(42px,3.7vw,58px);font-weight:600;line-height:.98;letter-spacing:-.065em;text-wrap:balance}
.booking-progress{position:relative;margin-top:42px;display:grid}
.booking-progress:before{content:"";position:absolute;left:17px;top:28px;bottom:28px;width:1px;background:rgba(255,255,255,.2)}
.booking-progress button{position:relative;width:100%;min-height:58px;border:0;background:transparent;color:rgba(255,255,255,.48);display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:center;padding:8px 0;text-align:left;transition:color .3s var(--ease),transform .3s var(--ease)}
.booking-progress button>span{position:relative;z-index:1;width:36px;height:36px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(4,30,44,.7);display:grid;place-items:center;font-size:11px;font-weight:700}
.booking-progress button i{font-style:normal;font-size:15px;font-weight:600}
.booking-progress button.is-active{color:#fff}.booking-progress button.is-active>span{border-color:#7ad5da;background:#7ad5da;color:#082c3d;box-shadow:0 9px 25px -15px rgba(122,213,218,.85)}
.booking-progress button.is-complete{color:rgba(255,255,255,.78);cursor:pointer}.booking-progress button.is-complete>span{border-color:rgba(122,213,218,.72);color:#91e0e3}.booking-progress button.is-complete:hover{transform:translateX(4px);color:#fff}
.booking-dialog__snapshot{margin-top:24px;padding:19px 20px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(4,30,45,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.09);backdrop-filter:blur(12px)}
.booking-dialog__snapshot p{margin:0;color:#83d8dd;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.booking-dialog__snapshot strong{display:block;margin-top:11px;font-size:18px;line-height:1.25}.booking-dialog__snapshot span{display:block;margin-top:7px;color:rgba(255,255,255,.64);font-size:12px;line-height:1.5}
.booking-dialog__promise{margin-top:auto;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.66);font-size:12px}.booking-dialog__promise svg{width:21px;stroke:#7ad5da}
.booking-form{height:100%;padding:42px 52px 24px;background:linear-gradient(145deg,#f8fbfa,#eef5f3);overflow:hidden}
.booking-step{padding:4px 4px 24px;scrollbar-width:thin;scrollbar-color:rgba(39,127,145,.32) transparent}
.booking-step.is-active{animation:stepIn .42s var(--ease)}
.step-heading{margin-bottom:24px}.step-heading>p{margin:0;color:#2c8797;font-size:11px;font-weight:700;letter-spacing:.16em}.step-heading h3{margin:8px 0 7px;color:#0a334a;font-size:clamp(34px,3vw,42px);line-height:1;letter-spacing:-.055em}.step-heading>span{color:#6b7e83;font-size:14px}
.booking-dialog .field{gap:8px;margin-bottom:14px}.booking-dialog .field>span{color:#173e52;font-size:12px;letter-spacing:.04em}.booking-dialog .field input,.booking-dialog .field select,.booking-dialog .field textarea{border:1px solid rgba(14,55,75,.14);border-radius:12px;background:rgba(255,255,255,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);font-size:15px;transition:border-color .25s,box-shadow .25s,background .25s}.booking-dialog .field input,.booking-dialog .field select{height:56px}.booking-dialog .field textarea{min-height:90px}.booking-dialog .field input:focus,.booking-dialog .field select:focus,.booking-dialog .field textarea:focus{border-color:#3f9eab;background:#fff;box-shadow:0 0 0 4px rgba(63,158,171,.1)}
.booking-dialog .field small{font-size:11px}.booking-trip-grid{display:grid;grid-template-columns:1.45fr .62fr .62fr;gap:12px}.booking-trip-grid .field{min-width:0}.booking-date-field small:first-of-type{line-height:1.35}
.booking-dialog .inline-note{border:1px solid rgba(39,127,145,.12);border-radius:12px;background:#e3efee;color:#61777d;font-size:12px}.booking-dialog .inline-note svg{color:#2c8797}
.booking-dialog .check-field{margin:12px 0}.booking-dialog .check-field i{border-radius:6px}.booking-dialog .check-field b{font-size:12px}
.booking-summary{padding:22px 24px;border:1px solid rgba(16,61,80,.12);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 20px 55px -42px rgba(10,53,72,.5)}
.summary-trip p{color:#0b354c;font-size:20px}.booking-summary .summary-total{font-size:20px;color:#0a334a}.booking-summary .summary-total dd{color:#277f91}
.coupon-row .button{min-height:56px;border-radius:12px}.payment-logos span{border-radius:8px;background:rgba(255,255,255,.65);color:#47616a;font-size:10px}.demo-banner{border:1px solid rgba(39,127,145,.12);border-radius:10px;background:#e2efeb}
.booking-form__footer{position:relative;margin-top:auto;padding-top:18px;border-color:rgba(14,55,75,.12);grid-template-columns:auto minmax(0,1fr) auto;gap:16px}.booking-form__footer .text-button{min-width:64px;color:#60777c;font-size:13px}.booking-form__footer .button{min-width:240px;min-height:56px;border-radius:14px;background:#0b3850;color:#fff;box-shadow:0 18px 36px -24px rgba(5,45,65,.75)}.booking-form__footer .button:hover{background:#2f8796}.booking-form__footer .button svg{stroke:#8bdce0}
.booking-form__footer .form-message{font-size:12px;line-height:1.4}
.booking-step--loading h3{color:#0b354c;font-size:32px}.booking-step--loading p{color:#6c7f84}.ocean-loader i{border-top-color:#2f8796}

@media(max-width:800px){
  .booking-dialog{width:100%;height:100dvh;border-radius:0}
  .booking-dialog .dialog-shell{display:block;border:0;border-radius:0}
  .booking-dialog__side{height:210px;padding:22px 20px 16px;background:linear-gradient(90deg,rgba(3,31,47,.96),rgba(3,51,70,.6)),url('../img/experience-02.jpg') center 42%/cover}
  .booking-dialog__side:after,.booking-dialog__snapshot,.booking-dialog__promise,.booking-dialog__side .mini-label{display:none}
  .booking-dialog__side h2{max-width:280px;margin:0;font-size:29px;line-height:1.02}
  .booking-progress{margin-top:18px;grid-template-columns:repeat(3,1fr);gap:7px}
  .booking-progress:before{left:12%;right:12%;top:18px;bottom:auto;width:auto;height:1px}
  .booking-progress button{min-height:48px;display:flex;justify-content:center;gap:7px;padding:0;text-align:center}
  .booking-progress button>span{width:34px;height:34px;flex:0 0 auto}.booking-progress button i{font-size:11px}.booking-progress button.is-complete:hover{transform:none}
  .booking-dialog .dialog-close{right:14px;top:14px;width:44px;height:44px}
  .booking-form{height:calc(100dvh - 210px);padding:22px 16px 14px}
  .booking-step{padding:2px 2px 24px}
  .step-heading{margin-bottom:20px}.step-heading h3{font-size:31px}.step-heading>span{font-size:13px}
  .booking-trip-grid{grid-template-columns:1fr 1fr;gap:10px}.booking-trip-grid .booking-date-field{grid-column:1/3}
  .booking-dialog .field{margin-bottom:12px}.booking-dialog .field input,.booking-dialog .field select{height:54px}
  .booking-dialog .inline-note{padding:12px;font-size:11px}
  .booking-form__footer{gap:8px;padding-top:12px}.booking-form__footer .button{min-width:170px;min-height:52px;padding-inline:18px}.booking-form__footer .text-button{min-width:48px}
  .booking-form__footer .form-message{position:absolute;left:0;right:0;bottom:62px;padding:8px;border-radius:8px;background:#e8f1ef}
}

@media(max-width:390px){.booking-progress button i{display:none}.booking-form__footer .button{min-width:155px}}

.checkout-payment-methods{margin-top:15px;padding:17px 18px;border:1px solid rgba(16,61,80,.12);border-radius:14px;background:rgba(255,255,255,.66)}.secure-payment-label{display:flex;align-items:center;gap:9px;color:#0d4055}.secure-payment-label svg{width:19px;fill:none;stroke:#2f8796;stroke-width:1.6}.secure-payment-label strong{font-size:13px}.checkout-payment-methods section{margin-top:14px}.checkout-payment-methods section>p{margin:0 0 8px;color:#657b80;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.checkout-payment-methods section>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.checkout-method{min-height:38px;padding:6px;border:1px solid rgba(13,64,85,.12);border-radius:8px;background:white;display:grid;place-items:center;text-align:center;color:#264c5b;font-size:10px;font-weight:700}.checkout-method--visa{color:#173f88;font-style:italic}.checkout-method--mastercard{color:#c44b32}.checkout-method--gcash{color:#176bd5}.checkout-method--maya{color:#147d72}.checkout-method--qrph{color:#66409a}.checkout-method--wechat{color:#348242}@media(max-width:800px){.checkout-payment-methods section>div{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-method{font-size:11px}}
/* Image-led landing notice. */
.notice-dialog{width:min(940px,calc(100% - 32px));max-width:none;padding:0;border:0;background:transparent;color:var(--ink)}.notice-dialog::backdrop{background:rgba(3,24,30,.78);backdrop-filter:blur(7px)}.notice-dialog__card{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);max-height:calc(100dvh - 40px);overflow:auto;background:#f3f7f3;box-shadow:0 34px 90px -35px rgba(2,24,30,.75)}.notice-dialog__card>figure{margin:0;min-height:460px;background:#092a35}.notice-dialog__card>figure img{display:block;width:100%;height:100%;max-height:760px;object-fit:cover}.notice-dialog__copy{padding:52px 38px;display:flex;flex-direction:column;align-items:flex-start}.notice-dialog__copy>p{margin:0;color:#2c847b;font-size:11px;letter-spacing:.16em}.notice-dialog__copy h2{margin:18px 0 22px;font-size:clamp(31px,4vw,48px);line-height:1;letter-spacing:-.055em}.notice-dialog__copy>div{color:#5f7475;font-size:15px;line-height:1.75}.notice-dialog__copy>button{min-height:46px;margin-top:auto;border:0;background:#092a35;color:white;padding:0 20px}.notice-dialog__close{position:absolute;z-index:2;right:16px;top:16px;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);background:rgba(6,28,36,.78);color:white;display:grid;place-items:center}.notice-dialog__close svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.7}.notice-dialog__card:not(:has(figure)){display:block;max-width:620px;margin:auto}.notice-dialog__card:not(:has(figure)) .notice-dialog__copy{min-height:390px}.notice-dialog[open]{animation:noticeBackdrop .28s ease-out}.notice-dialog[open] .notice-dialog__card{animation:noticeCard .42s cubic-bezier(.16,1,.3,1)}@keyframes noticeBackdrop{from{opacity:0}to{opacity:1}}@keyframes noticeCard{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:700px){.notice-dialog{width:calc(100% - 20px)}.notice-dialog__card{display:block}.notice-dialog__card>figure{min-height:0;height:min(48dvh,420px)}.notice-dialog__copy{padding:30px 24px;min-height:260px}.notice-dialog__copy h2{font-size:32px}.notice-dialog__copy>button{width:100%;margin-top:28px}.notice-dialog__close{right:10px;top:10px}}

/* Administrator-controlled landing presentation. */
:root{--aqua:var(--cms-accent,#58c4ca);--coral:var(--cms-accent,#58c4ca)}
.pp-hero__overlay{opacity:clamp(.2,var(--cms-hero-overlay,.9),1)}
.pp-hero__copy h1{color:var(--cms-light-text,#f8fdff);font-size:clamp(52px,5.2vw,var(--cms-hero-title-max,82px))}
.pp-kicker,.pp-label,.pp-showcase__meta b em{color:var(--cms-accent,#58c4ca)}
.pp-hero__copy h1:after,.pp-booking__intro>i,.pp-code__head h2:after{background:var(--cms-accent,#58c4ca)}
.pp-booking__intro h2,.pp-code__head h2,.pp-journey__head h2{color:var(--cms-dark-text,#0a3156);font-size:clamp(42px,5vw,var(--cms-section-title-max,78px))}
.pp-about__content h2,.pp-showcase__name,.pp-faq__grid .pp-faq__title-row h2{color:var(--cms-light-text,#f8fdff);font-size:clamp(42px,5vw,var(--cms-section-title-max,78px))}
.pp-about__content h2 span:first-child,.pp-faq__title-row h2 span:last-child{color:var(--cms-accent,#58c4ca)}
.pp-journey__head>i{background:var(--cms-accent,#58c4ca)}
.pp-hero__copy>p:nth-child(3),.pp-booking__lede,.pp-about__content>p,.pp-code__head>p:last-child,.pp-faq__lede,.site-footer__contact p{font-size:var(--cms-body-size,18px)}
.pp-hero__copy>p:nth-child(3),.pp-about__content>p,.pp-faq__lede,.site-footer__contact p{color:var(--cms-light-text,#f8fdff)}
.pp-booking__lede,.pp-code__head>p:last-child,.pp-journey__steps p{color:var(--cms-dark-text,#0a3156)}
.button--aqua,.pp-booking form .button:hover{background:var(--cms-accent,#58c4ca)}
@media(max-width:800px){.pp-hero__copy h1{font-size:clamp(38px,12vw,min(var(--cms-hero-title-max,82px),58px))}.pp-booking__intro h2,.pp-about__content h2,.pp-code__head h2,.pp-journey__head h2,.pp-showcase__name,.pp-faq__grid .pp-faq__title-row h2{font-size:clamp(36px,11vw,min(var(--cms-section-title-max,78px),58px))}}
.pp-hero__title-row h1{white-space:pre-line;word-break:keep-all;overflow-wrap:normal}
html[lang="ko"] .pp-hero__title-row h1{font-size:clamp(44px,3.2vw,56px);line-height:1.08;letter-spacing:-.055em}
@media(max-width:800px){html[lang="ko"] .pp-hero__title-row h1{font-size:clamp(36px,9.7vw,44px);line-height:1.08;letter-spacing:-.05em}.pp-hero__copy>.pp-hero__title-row{align-items:start}.pp-hero__title-image{position:relative;z-index:1}}
.agency-credit-banner{border-color:rgba(38,118,110,.24);background:#dceee8;color:#265f5a}.agency-credit-banner strong{color:#185c55;white-space:nowrap}
.pp-hero__copy>.pp-hero__title-row{align-items:stretch}
.pp-hero__title-image{height:100%;min-height:150px;max-height:none;align-self:stretch}
html[lang="zh"] .pp-hero__title-row h1,html[lang="ja"] .pp-hero__title-row h1{font-size:clamp(42px,3.05vw,54px);line-height:1.08;letter-spacing:-.045em}
@media(max-width:800px){.pp-hero__title-image{height:100%;min-height:104px;align-self:stretch}html[lang="zh"] .pp-hero__title-row h1,html[lang="ja"] .pp-hero__title-row h1{font-size:clamp(32px,8.8vw,40px);line-height:1.08;letter-spacing:-.04em}}
html[lang="en"] .pp-hero__title-row h1{font-size:clamp(42px,3.05vw,54px);line-height:1.08;letter-spacing:-.045em}
.site-header.is-scrolled .language-picker{border-color:rgba(158,226,235,.34);background:rgba(4,35,50,.9);color:#f8fdff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 28px -22px rgba(0,13,24,.85);backdrop-filter:blur(14px) saturate(1.15)}
.site-header.is-scrolled .language-picker .flag{opacity:.84;filter:saturate(1.06) contrast(1.08);border-color:rgba(255,255,255,.58)}
.site-header.is-scrolled .language-picker .flag:hover,.site-header.is-scrolled .language-picker .flag.is-active{opacity:1;border-color:#fff;filter:saturate(1.12) contrast(1.1);box-shadow:0 0 0 2px rgba(105,201,213,.42)}
@media(max-width:800px){
  .pp-hero__copy>.pp-hero__title-row{grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
  .pp-hero__title-row h1{grid-column:1;max-width:100%;width:100%;overflow-wrap:anywhere;word-break:normal}
  html[lang="en"] .pp-hero__title-row h1,html[lang="ko"] .pp-hero__title-row h1,html[lang="zh"] .pp-hero__title-row h1,html[lang="ja"] .pp-hero__title-row h1{font-size:clamp(30px,8.5vw,38px);line-height:1.1;letter-spacing:-.04em}
  html[lang="zh"] .pp-hero__title-row h1,html[lang="ja"] .pp-hero__title-row h1{word-break:break-all;overflow-wrap:anywhere}
  .pp-hero__title-image{grid-column:1;width:100%;height:118px;min-height:118px;max-height:118px;margin:0;border-radius:10px}
  .pp-hero__title-image img{object-position:center 38%}
  .site-header.is-scrolled .header-mobile-language{background:rgba(4,35,50,.94)}
}

/* Image-led ticket showcase, synchronized with the Admin product catalog. */
.pp-showcase{min-height:920px;padding:clamp(78px,6vw,104px) 0 34px;background:#03264a;color:#f8fbff;isolation:isolate}
.pp-showcase__bg{inset:0;background-image:linear-gradient(90deg,rgba(2,27,57,.96) 0%,rgba(2,47,79,.72) 42%,rgba(1,68,105,.2) 72%,rgba(2,32,67,.42) 100%),linear-gradient(0deg,rgba(1,20,48,.72),transparent 48%),var(--showcase-image);background-position:center 42%;background-size:cover;filter:saturate(1.08) contrast(1.05) brightness(.92)}
.pp-showcase:after{background:radial-gradient(circle at 62% 7%,rgba(133,223,250,.28),transparent 29%),linear-gradient(0deg,rgba(1,18,43,.5),transparent 42%)}
.pp-showcase__content{min-height:790px;display:flex;flex-direction:column}
.pp-ticket-tabs{align-self:flex-end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;margin-bottom:18px}.pp-ticket-tabs button{min-height:38px;border:1px solid rgba(236,199,124,.35);border-radius:99px;background:rgba(3,32,67,.58);color:rgba(255,255,255,.64);padding:0 14px;backdrop-filter:blur(12px);font-size:11px}.pp-ticket-tabs button.is-active{border-color:#ecc77c;background:#ecc77c;color:#092d51}
.pp-ticket-showcase__panels{flex:1;display:flex}.pp-ticket-showcase__product{width:100%;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(360px,.62fr);gap:clamp(40px,6vw,92px);align-items:center}.pp-ticket-showcase__product[hidden]{display:none!important}
.pp-ticket-showcase__copy{min-width:0;align-self:center;padding-bottom:22px}.pp-ticket-showcase__label{display:flex;align-items:center;gap:13px;color:#edcb82;font-size:18px;font-weight:700;letter-spacing:.01em}.pp-ticket-showcase__label i{width:18px;height:31px;border-left:2px solid currentColor;border-radius:50%;transform:rotate(-15deg);opacity:.92}.pp-ticket-showcase__label i:last-child{transform:scaleX(-1) rotate(-15deg)}
.pp-ticket-showcase__copy h2{max-width:880px;margin:58px 0 28px;color:var(--cms-light-text,#f8fdff);font-size:clamp(58px,5.1vw,var(--cms-section-title-max,86px));font-weight:700;line-height:.98;letter-spacing:-.06em;word-break:keep-all;text-wrap:balance;text-shadow:0 18px 42px rgba(1,22,49,.3)}
html[lang="zh"] .pp-ticket-showcase__copy h2,html[lang="ja"] .pp-ticket-showcase__copy h2{word-break:break-all;overflow-wrap:anywhere}
.pp-ticket-showcase__lead{max-width:780px;color:#f0ca7c;font-size:clamp(18px,1.45vw,23px);font-weight:700;line-height:1.5;letter-spacing:-.025em}.pp-ticket-showcase__body{max-width:790px;margin-top:48px;display:grid;gap:11px}.pp-ticket-showcase__body p{color:rgba(245,251,255,.9);font-size:clamp(14px,1.05vw,17px);line-height:1.58;letter-spacing:-.012em}
.pp-ticket-card{position:relative;min-width:0;min-height:570px;padding:39px 34px 24px;border:1px solid rgba(237,201,126,.78);border-radius:27px;background:linear-gradient(165deg,rgba(3,75,117,.72),rgba(2,28,67,.94) 58%,rgba(2,20,51,.97));box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 28px 65px -35px rgba(0,13,37,.92);backdrop-filter:blur(12px) saturate(1.08);display:flex;flex-direction:column;overflow:visible;transition:transform .38s var(--ease),border-color .38s var(--ease)}.pp-ticket-card:hover{transform:translateY(-4px);border-color:#f0cd83}.pp-ticket-card:has(.pp-ticket-card__hit:focus-visible){outline:3px solid rgba(242,207,137,.58);outline-offset:4px}.pp-ticket-card:before,.pp-ticket-card:after{content:"";position:absolute;z-index:3;top:55%;width:38px;height:58px;background:#04305b;border:1px solid rgba(237,201,126,.78)}.pp-ticket-card:before{left:-2px;border-left:0;border-radius:0 38px 38px 0}.pp-ticket-card:after{right:-2px;border-right:0;border-radius:38px 0 0 38px}.pp-ticket-card__hit{position:absolute;z-index:4;inset:0;width:100%;border:0;border-radius:inherit;background:transparent;cursor:pointer}.pp-ticket-card__hit:active{transform:none}
.pp-ticket-card>header,.pp-ticket-card__price,.pp-ticket-card__facts,.pp-ticket-card__voucher,.pp-ticket-card__action-label{position:relative;z-index:2;pointer-events:none}.pp-ticket-card>header{text-align:center}.pp-ticket-card>header>strong{display:block;color:#f0cd84;font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.pp-ticket-card>header>span{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:10px;color:#f8fbff;font-size:18px;font-weight:600}.pp-ticket-card>header svg{width:27px;fill:none;stroke:currentColor;stroke-width:1.5}
.pp-ticket-card__price{margin:32px auto 16px;text-align:center}.pp-ticket-card__price strong{display:block;color:#f4dfb1;font-size:clamp(68px,6vw,94px);font-weight:700;line-height:.9;letter-spacing:-.055em;font-variant-numeric:tabular-nums;text-shadow:0 12px 35px rgba(0,14,40,.32)}.pp-ticket-card__price:after{content:"";position:absolute;right:5px;top:-8px;width:20px;height:20px;background:#f8d58b;clip-path:polygon(50% 0,58% 40%,100% 50%,58% 60%,50% 100%,42% 60%,0 50%,42% 40%);animation:ticketSpark 2.8s ease-in-out infinite}.pp-ticket-card__price span{display:block;margin-top:22px;color:#fff;font-size:18px;font-weight:700}@keyframes ticketSpark{0%,100%{opacity:.35;transform:scale(.72) rotate(0)}50%{opacity:1;transform:scale(1.08) rotate(22deg)}}
.pp-ticket-card__facts{min-height:58px;margin-top:4px;padding:17px 18px;border-top:1px solid rgba(236,210,156,.36);border-bottom:1px solid rgba(236,210,156,.36);display:flex;align-items:center;justify-content:center;gap:8px;color:rgba(255,255,255,.92);font-size:13px;text-align:center}.pp-ticket-card__facts span+span:before{content:"·";margin-right:8px}.pp-ticket-card__facts b{font-weight:600}
.pp-ticket-card__voucher{margin:25px -2px 0;padding-top:25px;border-top:1px dashed rgba(236,210,156,.36);display:grid;grid-template-columns:112px minmax(0,1fr);gap:24px;align-items:center}.pp-ticket-card__qr{width:112px;aspect-ratio:1;padding:8px;border-radius:5px;background:#fff;overflow:hidden}.pp-ticket-card__qr canvas,.pp-ticket-card__qr img{display:block;width:100%!important;height:auto!important}.pp-ticket-card__voucher>div{display:grid;gap:14px}.pp-ticket-card__voucher>div>span{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;color:#f0ca7c}.pp-ticket-card__voucher>div svg{width:42px;fill:none;stroke:currentColor;stroke-width:1.3}.pp-ticket-card__voucher>div strong{font-size:14px;font-weight:600;line-height:1.45}.pp-ticket-card__voucher small{color:rgba(255,255,255,.84);font-size:12px;line-height:1.5}.pp-ticket-card__action-label{align-self:flex-end;margin-top:auto;padding-top:12px;color:#f0ca7c;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.pp-ticket-benefits{min-height:96px;margin-top:32px;border:1px solid rgba(236,205,143,.45);border-radius:11px;background:rgba(2,28,60,.44);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);display:grid;grid-template-columns:repeat(4,1fr);backdrop-filter:blur(9px)}.pp-ticket-benefits article{position:relative;min-width:0;padding:18px 24px;display:flex;align-items:center;justify-content:center;gap:17px}.pp-ticket-benefits article+article:before{content:"";position:absolute;left:0;top:24%;bottom:24%;width:1px;background:rgba(235,214,170,.5)}.pp-ticket-benefits svg{flex:0 0 auto;width:39px;height:39px;fill:none;stroke:#edc97e;stroke-width:1.4}.pp-ticket-benefits strong{color:#fff;font-size:14px;line-height:1.35;word-break:keep-all}
@media(max-width:1120px){.pp-ticket-showcase__product{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:36px}.pp-ticket-showcase__copy h2{margin-top:42px}.pp-ticket-card{min-height:540px;padding-inline:27px}.pp-ticket-benefits article{padding-inline:14px;gap:11px}.pp-ticket-benefits strong{font-size:12px}}
@media(max-width:860px){.pp-showcase{min-height:0;padding:68px 0 28px}.pp-showcase__bg{background-image:linear-gradient(180deg,rgba(2,29,58,.84),rgba(2,32,66,.65) 45%,rgba(1,18,45,.94)),var(--showcase-image);background-position:58% center}.pp-showcase__content{min-height:0}.pp-ticket-tabs{align-self:stretch;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.pp-ticket-tabs button{flex:0 0 auto}.pp-ticket-showcase__product{grid-template-columns:1fr;gap:38px}.pp-ticket-showcase__copy{padding-bottom:0}.pp-ticket-showcase__copy h2{max-width:690px;margin:34px 0 22px}.pp-ticket-showcase__body{margin-top:30px}.pp-ticket-card{width:min(520px,100%);justify-self:end}.pp-ticket-benefits{grid-template-columns:1fr 1fr}.pp-ticket-benefits article:nth-child(3):before{display:none}.pp-ticket-benefits article:nth-child(n+3){border-top:1px solid rgba(235,214,170,.34)}}
@media(max-width:600px){.pp-showcase{padding:54px 0 20px}.pp-ticket-showcase__label{gap:9px;font-size:14px}.pp-ticket-showcase__label i{width:13px;height:24px}.pp-ticket-showcase__copy h2{margin:26px 0 19px;font-size:clamp(40px,11.5vw,56px);line-height:1.03}.pp-ticket-showcase__lead{font-size:17px;line-height:1.45}.pp-ticket-showcase__body{margin-top:25px;gap:9px}.pp-ticket-showcase__body p{font-size:13px;line-height:1.6}.pp-ticket-card{min-height:500px;padding:29px 22px 19px;border-radius:21px}.pp-ticket-card:before,.pp-ticket-card:after{display:none}.pp-ticket-card>header>strong{font-size:12px}.pp-ticket-card>header>span{margin-top:18px;font-size:15px}.pp-ticket-card__price{margin-top:25px}.pp-ticket-card__price strong{font-size:clamp(58px,19vw,78px)}.pp-ticket-card__price span{margin-top:16px;font-size:16px}.pp-ticket-card__facts{padding-inline:4px;font-size:11px}.pp-ticket-card__voucher{grid-template-columns:90px minmax(0,1fr);gap:16px;margin-top:19px;padding-top:20px}.pp-ticket-card__qr{width:90px}.pp-ticket-card__voucher>div{gap:9px}.pp-ticket-card__voucher>div>span{grid-template-columns:32px 1fr;gap:8px}.pp-ticket-card__voucher>div svg{width:32px}.pp-ticket-card__voucher>div strong{font-size:11px}.pp-ticket-card__voucher small{font-size:10px}.pp-ticket-benefits{min-height:0;margin-top:24px}.pp-ticket-benefits article{min-height:72px;padding:12px 9px;justify-content:flex-start;gap:10px}.pp-ticket-benefits svg{width:30px;height:30px}.pp-ticket-benefits strong{font-size:10px}.pp-ticket-benefits article+article:before{top:20%;bottom:20%}}
@media(prefers-reduced-motion:reduce){.pp-ticket-card__price:after{animation:none}}

/* CJK layout safety: Japanese and Chinese copy may break at any natural character boundary. */
html[lang="zh"] body,html[lang="ja"] body{overflow-x:clip}
#experience,#tours,#guide,#journey,#faq,#location{scroll-margin-top:104px}
html[lang="zh"] :where(.pp-booking__intro,.pp-about__content,.pp-about__facts,.pp-code__head,.pp-code__item-copy,.pp-journey__head,.pp-journey__steps,.pp-faq__intro,.pp-faq__list,.pp-ticket-showcase__copy,.pp-ticket-card,.pp-ticket-benefits,.booking-dialog) :where(h1,h2,h3,p,span,strong,small,button,summary,dd),html[lang="ja"] :where(.pp-booking__intro,.pp-about__content,.pp-about__facts,.pp-code__head,.pp-code__item-copy,.pp-journey__head,.pp-journey__steps,.pp-faq__intro,.pp-faq__list,.pp-ticket-showcase__copy,.pp-ticket-card,.pp-ticket-benefits,.booking-dialog) :where(h1,h2,h3,p,span,strong,small,button,summary,dd){min-width:0;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:anywhere;text-wrap:wrap}
html[lang="zh"] .pp-booking__intro h2,html[lang="ja"] .pp-booking__intro h2{margin-right:0;white-space:normal;word-break:normal;overflow-wrap:anywhere}
html[lang="zh"] .pp-hero__service-copy strong,html[lang="ja"] .pp-hero__service-copy strong,html[lang="zh"] .pp-hero__service-copy small,html[lang="ja"] .pp-hero__service-copy small{white-space:normal;word-break:normal;overflow-wrap:anywhere}
html[lang="zh"] .pp-code__head,html[lang="ja"] .pp-code__head,html[lang="zh"] .pp-code__head>*,html[lang="ja"] .pp-code__head>*,html[lang="zh"] .pp-journey__layout>*,html[lang="ja"] .pp-journey__layout>*,html[lang="zh"] .pp-about__fact-copy,html[lang="ja"] .pp-about__fact-copy{min-width:0;max-width:100%}
html[lang="zh"] .pp-about__content h2,html[lang="ja"] .pp-about__content h2,html[lang="zh"] .pp-about__content>p,html[lang="ja"] .pp-about__content>p,html[lang="zh"] .pp-about__fact-copy>span,html[lang="ja"] .pp-about__fact-copy>span,html[lang="zh"] .pp-code__head h2,html[lang="ja"] .pp-code__head h2,html[lang="zh"] .pp-code__head>p,html[lang="ja"] .pp-code__head>p,html[lang="zh"] .pp-journey__head h2,html[lang="ja"] .pp-journey__head h2,html[lang="zh"] .pp-journey__steps h3,html[lang="ja"] .pp-journey__steps h3,html[lang="zh"] .pp-journey__steps p,html[lang="ja"] .pp-journey__steps p,html[lang="zh"] .pp-faq__title-row h2,html[lang="ja"] .pp-faq__title-row h2,html[lang="zh"] .pp-faq__lede,html[lang="ja"] .pp-faq__lede,html[lang="zh"] .pp-faq summary span,html[lang="ja"] .pp-faq summary span,html[lang="zh"] .pp-faq details p,html[lang="ja"] .pp-faq details p{word-break:normal;overflow-wrap:anywhere;text-wrap:wrap}
@media(max-width:800px){#experience,#tours,#guide,#journey,#faq,#location{scroll-margin-top:88px}html[lang="zh"] .pp-hero__service-copy strong,html[lang="ja"] .pp-hero__service-copy strong{font-size:11.5px;line-height:1.38}html[lang="zh"] .pp-hero__service-copy small,html[lang="ja"] .pp-hero__service-copy small{font-size:9.5px;line-height:1.35}html[lang="zh"] .pp-code__head,html[lang="ja"] .pp-code__head{width:100%;max-width:100%}}
@media(max-width:420px){html[lang="zh"] .pp-about__facts .pp-about__fact-copy,html[lang="ja"] .pp-about__facts .pp-about__fact-copy{grid-template-columns:62px minmax(0,1fr);gap:10px}html[lang="zh"] .pp-about__facts .pp-about__fact-copy strong,html[lang="ja"] .pp-about__facts .pp-about__fact-copy strong{font-size:46px;line-height:.9}}

/* Lila location map: an editorial map plate immediately before the footer. */
.pp-location{position:relative;padding:clamp(78px,7vw,112px) 0;background:linear-gradient(145deg,#eef4f1 0,#f8f7f2 54%,#e3eeec 100%);color:#0b3349;overflow:hidden;isolation:isolate}.pp-location:before{content:"09°35'N  ·  124°04'E";position:absolute;z-index:-1;left:-18px;bottom:-24px;color:rgba(25,102,119,.055);font-size:clamp(82px,10vw,158px);font-weight:700;line-height:.8;letter-spacing:-.055em;white-space:nowrap}.pp-location__grid{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:clamp(44px,6vw,96px);align-items:center}.pp-location__copy{min-width:0}.pp-location__copy>.pp-label{margin:0;color:#278397;font-size:16px;letter-spacing:.04em}.pp-location__copy h2{max-width:650px;margin:28px 0 0;font-size:clamp(48px,4.5vw,74px);font-weight:600;line-height:1.02;letter-spacing:-.06em;text-wrap:balance}.pp-location__lede{max-width:620px;margin:26px 0 0;color:#526b72;font-size:18px;line-height:1.75}.pp-location__facts{margin:34px 0 0;border-top:1px solid rgba(11,51,73,.17)}.pp-location__facts>div{min-height:60px;padding:13px 0;border-bottom:1px solid rgba(11,51,73,.14);display:grid;grid-template-columns:118px minmax(0,1fr);gap:18px;align-items:center}.pp-location__facts dt{color:#348b9b;font-size:10px;font-weight:800;letter-spacing:.11em}.pp-location__facts dd{min-width:0;margin:0;font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.pp-location__travel{max-width:600px;margin:21px 0 0;color:#526b72;font-size:14px;line-height:1.65}.pp-location__button{width:max-content;min-width:230px;min-height:56px;margin-top:25px;border-radius:99px;background:#0b354b;color:#fff}.pp-location__button:hover{background:#2d8695}.pp-location__button svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.7}.pp-location__notice{max-width:620px;margin:24px 0 0;padding:15px 17px;border-left:3px solid #4a9ca6;background:rgba(255,255,255,.55);color:#62777b;display:grid;grid-template-columns:20px minmax(0,1fr);gap:11px;font-size:12px;line-height:1.6}.pp-location__notice svg{width:20px;fill:none;stroke:#2d8695;stroke-width:1.6}.pp-location__map{position:relative;min-width:0;height:580px;margin:0;border:1px solid rgba(15,62,78,.18);border-radius:24px;background:#cadbd8;box-shadow:0 30px 70px -45px rgba(5,43,55,.72),inset 0 1px 0 rgba(255,255,255,.74);overflow:hidden}.pp-location__map iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.72) contrast(1.04)}.pp-location__map figcaption{position:absolute;left:18px;right:18px;bottom:18px;min-height:76px;padding:14px 14px 14px 18px;border:1px solid rgba(255,255,255,.68);border-radius:14px;background:rgba(248,251,249,.91);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 18px 38px -28px rgba(4,39,51,.72);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:20px}.pp-location__map figcaption span,.pp-location__map figcaption strong{display:block}.pp-location__map figcaption span{color:#348b9b;font-size:9px;font-weight:800;letter-spacing:.12em}.pp-location__map figcaption strong{margin-top:5px;font-size:16px}.pp-location__map figcaption>a{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:#0b354b;color:#fff;display:grid;place-items:center}.pp-location__map figcaption svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.7}html[lang="zh"] .pp-location :where(h2,p,span,strong,dd),html[lang="ja"] .pp-location :where(h2,p,span,strong,dd){word-break:normal;overflow-wrap:anywhere;text-wrap:wrap}
@media(max-width:980px){.pp-location__grid{grid-template-columns:1fr;gap:42px}.pp-location__copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:0 34px;align-items:start}.pp-location__copy>.pp-label,.pp-location__copy h2,.pp-location__lede{grid-column:1}.pp-location__facts{grid-column:2;grid-row:1/5;margin:0}.pp-location__travel,.pp-location__button,.pp-location__notice{grid-column:1}.pp-location__map{height:500px}}
@media(max-width:700px){.pp-location{padding:62px 0}.pp-location:before{font-size:78px;bottom:-7px}.pp-location__copy{display:block}.pp-location__copy h2{margin-top:23px;font-size:clamp(40px,11vw,54px);line-height:1.06}.pp-location__lede{margin-top:21px;font-size:16px}.pp-location__facts{margin-top:27px}.pp-location__facts>div{grid-template-columns:92px minmax(0,1fr);gap:12px}.pp-location__button{width:100%;min-width:0}.pp-location__notice{font-size:11px}.pp-location__map{height:400px;border-radius:18px}.pp-location__map figcaption{left:12px;right:12px;bottom:12px;min-height:68px}.pp-location__map figcaption strong{font-size:14px}}
html[lang="ko"] .pp-location__copy h2{word-break:keep-all}

/* Spacious reservation modal: large controls, clear hierarchy and a decisive mobile CTA. */
.booking-dialog{width:min(1380px,calc(100% - 24px));height:min(920px,calc(100dvh - 24px));border-radius:30px}.booking-dialog .dialog-shell{grid-template-columns:minmax(370px,.34fr) minmax(0,.66fr);border-color:rgba(255,255,255,.38);box-shadow:0 45px 120px -42px rgba(0,20,34,.94)}.booking-dialog .dialog-close{right:24px;top:24px;width:54px;height:54px;border-width:1px;background:rgba(255,255,255,.94)}.booking-dialog .dialog-close svg{width:21px;height:21px}.booking-dialog__side{padding:60px 48px 38px}.booking-dialog__side .mini-label{font-size:13px}.booking-dialog__side h2{max-width:400px;margin-top:21px;font-size:clamp(48px,4.2vw,64px);line-height:1;letter-spacing:-.06em}.booking-progress{margin-top:50px}.booking-progress:before{left:21px;top:33px;bottom:33px}.booking-progress button{min-height:70px;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:9px 0}.booking-progress button>span{width:44px;height:44px;font-size:13px}.booking-progress button i{font-size:17px}.booking-dialog__snapshot{margin-top:29px;padding:23px 24px;border-radius:18px}.booking-dialog__snapshot p{font-size:11px}.booking-dialog__snapshot strong{margin-top:12px;font-size:21px}.booking-dialog__snapshot span{font-size:14px}.booking-dialog__promise{padding-top:25px;font-size:14px;line-height:1.65}.booking-dialog__promise svg{width:24px}
.booking-form{padding:50px 60px 28px}.booking-step{padding:5px 6px 30px}.step-heading{margin-bottom:30px}.step-heading>p{font-size:12px}.step-heading h3{margin:9px 0 9px;font-size:clamp(40px,3.3vw,49px);line-height:1.02}.step-heading>span{font-size:16px;line-height:1.55}.booking-dialog .field{gap:10px;margin-bottom:18px}.booking-dialog .field>span{font-size:14px;font-weight:700;letter-spacing:.025em}.booking-dialog .field input,.booking-dialog .field select,.booking-dialog .field textarea{border-radius:14px;font-size:17px;padding-inline:17px}.booking-dialog .field input,.booking-dialog .field select{height:64px}.booking-dialog .field textarea{min-height:112px;padding-block:15px;line-height:1.55}.booking-dialog .field:focus-within>span{color:#287f91}.booking-dialog .field small{min-height:15px;font-size:12px;line-height:1.45}.form-grid{gap:16px}.booking-trip-grid{grid-template-columns:minmax(270px,1.4fr) minmax(130px,.8fr) minmax(130px,.8fr);gap:15px}.booking-trip-grid .field{margin-bottom:0}.booking-dialog .inline-note{margin-top:18px;padding:16px 17px;border-radius:14px;font-size:14px;line-height:1.55}.booking-dialog .inline-note svg{width:21px}.booking-dialog .check-field{margin:16px 0}.booking-dialog .check-field i{width:23px;height:23px;border-radius:7px}.booking-dialog .check-field b{font-size:14px;line-height:1.6}.booking-summary{padding:27px 29px;border-radius:20px}.summary-trip p{font-size:23px}.summary-trip span,.summary-trip small{font-size:15px}.booking-summary dl>div{padding:8px 0;font-size:16px}.booking-summary .summary-total{font-size:24px}.coupon-row{gap:13px}.coupon-row .button{min-height:64px;padding-inline:24px;border-radius:14px;font-size:14px}.checkout-payment-methods{margin-top:18px;padding:20px;border-radius:16px}.secure-payment-label strong{font-size:15px}.secure-payment-label svg{width:22px}.checkout-payment-methods section{margin-top:17px}.checkout-payment-methods section>p{font-size:11px}.checkout-method{min-height:45px;font-size:11px}.demo-banner,.agency-credit-banner{padding:15px 17px;border-radius:12px;font-size:14px;line-height:1.5}.booking-form__footer{min-height:82px;padding-top:19px;gap:18px}.booking-form__footer .text-button{min-width:76px;min-height:52px;font-size:15px}.booking-form__footer .button{min-width:286px;min-height:64px;padding-inline:26px;border-radius:16px;font-size:15px}.booking-form__footer .form-message{font-size:13px}.booking-step--loading h3{font-size:38px}.booking-step--loading p{font-size:16px}
@media(max-width:1080px) and (min-width:801px){.booking-dialog .dialog-shell{grid-template-columns:330px minmax(0,1fr)}.booking-dialog__side{padding-inline:36px}.booking-dialog__side h2{font-size:48px}.booking-form{padding-inline:38px}.booking-trip-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.8fr)}}
@media(max-width:800px){.booking-dialog{width:100%;height:100dvh;border-radius:0}.booking-dialog .dialog-shell{display:block}.booking-dialog__side{height:224px;padding:24px 20px 17px;background:linear-gradient(90deg,rgba(3,31,47,.97),rgba(3,51,70,.64)),url('../img/experience-02.jpg') center 42%/cover}.booking-dialog__side h2{max-width:300px;margin:0;padding-right:42px;font-size:32px;line-height:1.03}.booking-progress{margin-top:20px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.booking-progress:before{left:11%;right:11%;top:21px}.booking-progress button{min-width:0;min-height:52px;display:flex;justify-content:center;gap:8px;padding:0}.booking-progress button>span{width:40px;height:40px;flex:0 0 40px;font-size:12px}.booking-progress button i{min-width:0;font-size:12px;overflow-wrap:anywhere}.booking-dialog .dialog-close{right:14px;top:14px;width:48px;height:48px}.booking-form{height:calc(100dvh - 224px);padding:25px 18px max(14px,env(safe-area-inset-bottom))}.booking-step{padding:3px 2px 28px}.step-heading{margin-bottom:23px}.step-heading h3{margin-block:7px;font-size:34px;line-height:1.04}.step-heading>span{font-size:14px}.booking-dialog .field{gap:8px;margin-bottom:15px}.booking-dialog .field>span{font-size:13px}.booking-dialog .field input,.booking-dialog .field select{height:60px;font-size:16px}.booking-dialog .field textarea{min-height:106px;font-size:16px}.booking-dialog .field small{font-size:11px}.booking-trip-grid{grid-template-columns:1fr 1fr;gap:12px}.booking-trip-grid .booking-date-field{grid-column:1/3}.booking-dialog .inline-note{margin-top:16px;padding:14px;font-size:12px}.booking-dialog .check-field b{font-size:13px}.booking-summary{padding:21px 20px}.summary-trip p{font-size:21px}.booking-summary dl>div{font-size:15px}.booking-summary .summary-total{font-size:21px}.checkout-payment-methods{padding:16px}.checkout-method{min-height:43px;font-size:11px}.booking-form__footer{min-height:76px;padding-top:12px;grid-template-columns:56px minmax(0,1fr);gap:10px;background:linear-gradient(180deg,rgba(238,245,243,.1),#eef5f3 24%)}.booking-form__footer .text-button{min-width:0;width:56px;min-height:58px;font-size:14px}.booking-form__footer .button{min-width:0;width:100%;min-height:60px;padding-inline:18px;border-radius:15px;justify-content:center;font-size:15px}.booking-form__footer .form-message{left:0;right:0;bottom:68px;font-size:12px}.booking-step--loading h3{font-size:32px}}
@media(max-width:390px){.booking-dialog__side{height:210px}.booking-form{height:calc(100dvh - 210px);padding-inline:15px}.booking-progress{margin-top:16px}.booking-progress button i{display:none}.booking-trip-grid{gap:9px}.booking-form__footer{grid-template-columns:48px minmax(0,1fr)}.booking-form__footer .text-button{width:48px}.booking-form__footer .button{min-width:0}}
@media(max-width:800px) and (max-height:720px){.booking-dialog__side{height:188px;padding-top:17px}.booking-dialog__side h2{font-size:28px}.booking-progress{margin-top:12px}.booking-progress button{min-height:44px}.booking-progress button>span{width:34px;height:34px;flex-basis:34px}.booking-progress:before{top:17px}.booking-form{height:calc(100dvh - 188px);padding-top:18px}.step-heading{margin-bottom:17px}.step-heading h3{font-size:30px}}
.booking-form__footer #bookingBack{grid-column:1}.booking-form__footer #bookingError{grid-column:2}.booking-form__footer #bookingNext{grid-column:3}
@media(max-width:800px){.booking-form__footer #bookingBack{grid-column:1}.booking-form__footer #bookingError{grid-column:1/3}.booking-form__footer #bookingNext{grid-column:2}}

@font-face{font-family:BookingSans;src:url('../fonts/NotoSansKR-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}

/* Reservation-only design. Keep these rules isolated from the landing-page styles. */
#bookingDialog{--booking-ink:#123b43;--booking-muted:#536f73;--booking-line:#d6e4e1;--booking-accent:#267b73;width:min(1400px,calc(100% - 40px));height:min(940px,calc(100dvh - 40px));margin:auto;border:1px solid rgba(255,255,255,.7);border-radius:24px;background:#f7faf8;color:var(--booking-ink);font-family:BookingSans,'Segoe UI',Arial,sans-serif;overflow:hidden}
#bookingDialog::backdrop{background:rgba(3,26,33,.7);backdrop-filter:blur(10px)}
#bookingDialog .dialog-shell{display:grid;grid-template-columns:minmax(280px,.32fr) minmax(0,.68fr);grid-template-rows:76px minmax(0,1fr);height:100%;border:0;background:#f7faf8;overflow:hidden;animation:bookingDialogIn .25s ease-out}
#bookingDialog .booking-topbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px 0 32px;border-bottom:1px solid var(--booking-line);background:#fff}
#bookingDialog .booking-topbar__brand,#bookingDialog .booking-topbar__tools{display:flex;align-items:center;gap:20px;min-width:0}
#bookingDialog .booking-topbar__brand>span{font:700 25px/1 Sequel,Arial,sans-serif;letter-spacing:-.03em;white-space:nowrap}
#bookingDialog .booking-topbar__brand>span>span{color:var(--booking-accent)}
#bookingDialog .booking-topbar__brand>strong{padding-left:20px;border-left:1px solid var(--booking-line);font-size:16px;font-weight:600}
#bookingDialog .booking-topbar__tools>span{font-size:13px;color:var(--booking-muted)}
#bookingDialog .dialog-close{position:static;flex:0 0 48px;width:48px;height:48px;border:1px solid var(--booking-line);border-radius:50%;background:#f6f9f7;color:var(--booking-ink);box-shadow:none;backdrop-filter:none}
#bookingDialog .dialog-close:hover{background:#e1efea}
#bookingDialog .dialog-close svg{width:20px;height:20px}

#bookingDialog .booking-dialog__side{grid-column:1;grid-row:2;min-width:0;min-height:0;display:flex;flex-direction:column;gap:0;padding:40px 32px 30px;overflow:auto;background:linear-gradient(180deg,rgba(4,36,42,.6),rgba(4,36,42,.06) 45%,rgba(4,36,42,.96)),url('../img/experience-02.jpg') center/cover}
#bookingDialog .booking-dialog__side::before,#bookingDialog .booking-dialog__side::after{display:none}
#bookingDialog .booking-dialog__side .mini-label{font-size:11px;line-height:1.5;letter-spacing:.12em;color:#d0e8df}
#bookingDialog .booking-dialog__side h2{max-width:100%;margin:18px 0 0;padding:0;color:#fff;font-size:clamp(30px,2.6vw,40px);font-weight:600;line-height:1.38;letter-spacing:-.045em;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty}
#bookingDialog:lang(ko) .booking-dialog__side h2{word-break:keep-all}
#bookingDialog .booking-ocean-mark{margin:24px 0 70px;color:#c8ddd2}
#bookingDialog .booking-ocean-mark svg{width:64px;fill:none;stroke:currentColor;stroke-width:1.5}
#bookingDialog .booking-dialog__snapshot{margin: auto 0 20px;padding:22px;border:1px solid rgba(222,244,238,.25);border-radius:15px;background:rgba(5,38,40,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(8px)}
#bookingDialog .booking-dialog__snapshot p{font-size:12px;letter-spacing:0;color:#bbdcd2}
#bookingDialog .booking-dialog__snapshot strong{margin-top:10px;font-size:20px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
#bookingDialog .booking-dialog__snapshot span{margin-top:12px;font-size:14px;line-height:1.7;color:#d7e7e1}
#bookingDialog .booking-dialog__promise{margin:0;padding:17px 0 0;border-top:1px solid rgba(255,255,255,.24);font-size:12px;line-height:1.7;color:#d0e0da;gap:10px}
#bookingDialog .booking-dialog__promise svg{width:19px;stroke:#beddd2}

#bookingDialog .booking-form{grid-column:2;grid-row:2;min-width:0;min-height:0;height:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0;background:#f7faf8;overflow:hidden}
#bookingDialog .booking-progress{grid-row:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:22px 40px 18px;border-bottom:1px solid var(--booking-line);background:#fff}
#bookingDialog .booking-progress::before{display:none}
#bookingDialog .booking-progress button{min-width:0;min-height:58px;width:100%;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:10px 14px;border:1px solid transparent;border-radius:12px;color:#657c7d;background:transparent;transform:none;text-align:left}
#bookingDialog .booking-progress button>span{display:grid;grid-template-columns:1fr;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;gap:0;line-height:1;border-radius:50%;border:1px solid #d4e2dd;background:#f0f5f2;color:#647e79;font-size:12px;box-shadow:none}
#bookingDialog .booking-progress button i{display:block;min-width:0;font-size:15px;font-style:normal;line-height:1.45;font-weight:600;overflow-wrap:anywhere}
#bookingDialog .booking-progress button.is-active{border-color:#c8ded5;background:#eaf3ee;color:#1a5d53}
#bookingDialog .booking-progress button.is-active>span{background:#267b73;border-color:#267b73;color:#fff}
#bookingDialog .booking-progress button.is-complete{color:#236c61}
#bookingDialog .booking-progress button.is-complete>span{border-color:#8bbcaf;color:#236c61;background:#f7faf8}
#bookingDialog .booking-progress button:disabled{cursor:default;opacity:1}
#bookingDialog .booking-step{grid-row:2;min-width:0;min-height:0;display:none;overflow:auto;overscroll-behavior:contain;padding:30px 44px 36px;scroll-padding-block:18px;scrollbar-gutter:stable;animation:none}
#bookingDialog .booking-step.is-active{display:block}
#bookingDialog .step-heading{margin-bottom:28px}
#bookingDialog .step-heading>p{display:none}
#bookingDialog .step-heading h3{margin:0 0 10px;max-width:100%;font-size:36px;font-weight:650;line-height:1.3;letter-spacing:-.045em;color:var(--booking-ink);word-break:normal;overflow-wrap:anywhere}
#bookingDialog:lang(ko) .step-heading h3{word-break:keep-all}
#bookingDialog .step-heading>span{display:block;font-size:16px;line-height:1.65;color:var(--booking-muted)}
#bookingDialog .field{min-width:0;gap:10px;margin-bottom:22px}
#bookingDialog .field>span:not(.booking-guest-counter){font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--booking-ink)}
#bookingDialog .field input,#bookingDialog .field select,#bookingDialog .field textarea{min-width:0;width:100%;height:68px;border:1px solid #ccddd5;border-radius:12px;background:#fff;color:var(--booking-ink);padding:16px 18px;font-size:18px;line-height:1.5;letter-spacing:0;box-shadow:0 2px 4px rgba(16,59,48,.02)}
#bookingDialog .field textarea{height:auto;min-height:116px;resize:vertical}
#bookingDialog .field input::placeholder,#bookingDialog .field textarea::placeholder{color:#81928c;font-weight:400}
#bookingDialog .field input:focus,#bookingDialog .field select:focus,#bookingDialog .field textarea:focus{border-color:var(--booking-accent);box-shadow:0 0 0 3px rgba(38,123,115,.12)}
#bookingDialog .field small{min-height:0;font-size:13px;line-height:1.55;color:var(--booking-muted)}
#bookingDialog [data-field-error]:empty{display:none}
#bookingDialog .field.has-error input,#bookingDialog .field.has-error select{border-color:#b34e40}
#bookingDialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#bookingDialog .booking-trip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#bookingDialog .booking-trip-grid .booking-date-field{grid-column:1/-1}
#bookingDialog .booking-trip-grid .field{margin-bottom:0}
#bookingDialog .field>.booking-guest-counter{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:4px;height:74px;padding:8px;border:1px solid #ccddd5;border-radius:14px;background:#fff}
#bookingDialog .booking-guest-counter button{display:grid;place-items:center;width:52px;height:52px;min-width:0;padding:0;border:1px solid #d5e5de;border-radius:10px;background:#edf4ef;color:#1a6559}
#bookingDialog .booking-guest-counter button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
#bookingDialog .booking-guest-counter button:hover{background:#dcece1}
#bookingDialog .booking-guest-counter button:disabled{opacity:.35;cursor:default;transform:none}
#bookingDialog .booking-guest-counter select{height:52px;border:0;border-radius:8px;appearance:none;box-shadow:none;padding:0 2px;text-align:center;text-align-last:center;font-size:27px;font-weight:600}
#bookingDialog .inline-note{margin-top:22px;padding:16px;border:1px solid #d3e3dc;border-radius:12px;background:#edf4ef;color:#4c6863;font-size:14px;line-height:1.65;gap:10px}
#bookingDialog .inline-note svg{width:20px;margin-top:2px;stroke:#398577}
#bookingDialog .check-field{margin:20px 0}
#bookingDialog .check-field>span{gap:12px;align-items:flex-start}
#bookingDialog .check-field i{width:24px;height:24px;border-radius:6px;border-color:#b4cbc0}
#bookingDialog .check-field b{font-size:15px;line-height:1.7;color:var(--booking-muted)}
#bookingDialog .check-field input:focus-visible+span i{outline:3px solid #77a99a;outline-offset:3px}
#bookingDialog .check-field input:checked+span i{background:var(--booking-accent);border-color:var(--booking-accent)}
#bookingDialog .check-field input:checked+span i::after{left:5px;top:5px}
#bookingDialog .check-field--terms a{color:#236c60;text-decoration:underline;text-underline-offset:3px;font-weight:600}
#bookingDialog .booking-summary{margin-bottom:22px;padding:24px;border:1px solid #ccddd5;border-radius:16px;background:#fff;box-shadow:none}
#bookingDialog .summary-trip p{font-size:23px;font-weight:600;line-height:1.5}
#bookingDialog .summary-trip span,#bookingDialog .summary-trip small{font-size:15px;line-height:1.65;overflow-wrap:anywhere}
#bookingDialog .booking-summary dl>div{display:flex;gap:16px;justify-content:space-between;font-size:17px;line-height:1.6;padding:8px 0}
#bookingDialog .booking-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}
#bookingDialog .booking-summary .summary-total{padding-top:16px;font-size:24px;color:var(--booking-ink)}
#bookingDialog .booking-summary .summary-total dd{color:#1f7466;font-weight:700}
#bookingDialog .coupon-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}
#bookingDialog .coupon-row .button{min-height:68px;border-radius:12px;padding:12px 22px;border:1px solid #bbd3c7;background:#fff;color:#267365;font-size:16px}
#bookingDialog .checkout-payment-methods{margin:20px 0;padding:20px;border-color:var(--booking-line);background:#fff;border-radius:14px}
#bookingDialog .secure-payment-label strong{font-size:16px}
#bookingDialog .checkout-payment-methods section>p{font-size:13px;letter-spacing:0}
#bookingDialog .checkout-method{min-height:44px;font-size:13px}
#bookingDialog .demo-banner{gap:10px;flex-wrap:wrap;font-size:14px;line-height:1.65}
#bookingDialog .booking-form__footer{grid-row:3;min-width:0;min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:'error error error' 'back meta next';gap:0 18px;margin:0;padding:18px 34px 22px;border-top:1px solid var(--booking-line);background:#fff}
#bookingDialog .booking-footer-selection{grid-area:meta;min-width:0;display:grid;align-content:center;gap:4px}
#bookingDialog .booking-footer-selection>span{font-size:12px;color:var(--booking-muted)}
#bookingDialog .booking-footer-selection>strong{font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
#bookingDialog #bookingBack{grid-area:back;min-width:60px;width:auto;min-height:62px;color:#486961;font-size:15px;padding:10px 8px;text-decoration:none;border:1px solid #d9e5df;border-radius:12px}
#bookingDialog #bookingNext{grid-area:next;min-width:220px;width:auto;min-height:64px;padding:16px 24px;gap:18px;border:1px solid #145248;border-radius:13px;background:#175e53;color:#fff;box-shadow:0 8px 20px -14px rgba(17,67,53,.7);font-size:17px;line-height:1.45;font-weight:600;white-space:normal}
#bookingDialog #bookingNext>span{min-width:0;overflow-wrap:anywhere}
#bookingDialog #bookingNext svg{flex:0 0 20px;width:20px;height:20px;stroke:#e2f0e8}
#bookingDialog #bookingNext:hover{background:#124c43;transform:translateY(-1px)}
#bookingDialog #bookingNext:disabled{opacity:.6;cursor:wait;transform:none}
#bookingDialog #bookingError{position:static;grid-area:error;min-width:0;max-width:100%;margin:0 0 12px;padding:12px 14px;border:1px solid #e9c4bb;border-radius:10px;background:#fff4f0;color:#933a2b;font-size:14px;text-align:left;line-height:1.6;overflow-wrap:anywhere}
#bookingDialog #bookingError:empty,#bookingDialog #couponMessage:empty{display:none}
#bookingDialog [hidden]{display:none!important}
#bookingDialog :where(button,a):focus-visible{outline:3px solid #80b2a3;outline-offset:3px}
#bookingDialog .booking-step--loading.is-active{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;margin:0}
#bookingDialog .booking-step--loading h3{font-size:30px;line-height:1.4}
#bookingDialog .booking-step--loading p{font-size:16px;line-height:1.65}

@media(max-width:1100px){
  #bookingDialog .dialog-shell{grid-template-columns:280px minmax(0,1fr)}
  #bookingDialog .booking-dialog__side{padding:30px 24px}
  #bookingDialog .booking-dialog__side h2{font-size:30px}
  #bookingDialog .booking-step{padding:26px 28px 32px}
  #bookingDialog .booking-progress{padding-inline:24px}
  #bookingDialog .booking-progress button{padding-inline:8px;gap:8px}
  #bookingDialog .booking-form__footer{padding-inline:24px}
  #bookingDialog #bookingNext{min-width:185px}
  #bookingDialog .booking-footer-selection{grid-area:auto;grid-column:1/-1;grid-row:2;margin-bottom:12px}
  #bookingDialog .booking-form__footer{grid-template-columns:auto minmax(0,1fr);grid-template-areas:'error error' 'meta meta' 'back next'}
}
@media(max-width:900px){
  #bookingDialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}
  #bookingDialog .dialog-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:68px minmax(0,1fr);animation:none}
  #bookingDialog .booking-topbar{padding-inline:20px}
  #bookingDialog .booking-topbar__brand{gap:14px}
  #bookingDialog .booking-topbar__brand>strong{padding-left:14px}
  #bookingDialog .booking-dialog__side{display:none}
  #bookingDialog .booking-form{grid-column:1;grid-row:2;padding:0;height:auto}
  #bookingDialog .booking-progress{padding:12px 20px;gap:8px}
  #bookingDialog .booking-progress button{min-height:52px;justify-content:center}
  #bookingDialog .booking-progress button i{font-size:14px}
  #bookingDialog .booking-step{padding:26px 24px 32px}
  #bookingDialog .booking-form__footer{grid-template-areas:'meta meta' 'error error' 'back next';gap:0 12px;padding:12px 24px max(14px,env(safe-area-inset-bottom))}
  #bookingDialog .booking-footer-selection{grid-area:meta;display:flex;justify-content:space-between;gap:12px;margin:0 0 10px}
  #bookingDialog .booking-footer-selection>strong{text-align:right;font-size:14px}
  #bookingDialog #bookingBack{min-height:60px;min-width:66px}
  #bookingDialog #bookingNext{min-width:0;width:100%;min-height:60px;font-size:16px}
  #bookingDialog[data-current-step="1"] #bookingNext{grid-column:1/-1}
}
@media(max-width:560px){
  #bookingDialog .booking-topbar{padding-inline:16px}
  #bookingDialog .booking-topbar__brand>span{font-size:21px}
  #bookingDialog .booking-topbar__brand>strong{font-size:14px;line-height:1.4}
  #bookingDialog .booking-topbar__tools>span{display:none}
  #bookingDialog .dialog-close{width:42px;height:42px;flex-basis:42px}
  #bookingDialog .booking-progress{padding:10px 14px;gap:5px}
  #bookingDialog .booking-progress button{gap:6px;min-height:48px;padding:8px 5px}
  #bookingDialog .booking-progress button>span{width:27px;height:27px;flex-basis:27px;font-size:11px}
  #bookingDialog .booking-progress button i{display:block;font-size:12px}
  #bookingDialog .booking-step{padding:24px 18px 28px}
  #bookingDialog .step-heading{margin-bottom:23px}
  #bookingDialog .step-heading h3{font-size:29px;line-height:1.4}
  #bookingDialog .step-heading>span{font-size:15px;line-height:1.65}
  #bookingDialog .field{margin-bottom:20px;gap:8px}
  #bookingDialog .field>span:not(.booking-guest-counter){font-size:15px}
  #bookingDialog .field input,#bookingDialog .field select{height:62px;font-size:16px;padding:14px}
  #bookingDialog .field textarea{font-size:16px}
  #bookingDialog .form-grid{grid-template-columns:minmax(0,1fr);gap:0}
  #bookingDialog .booking-trip-grid{gap:20px 12px}
  #bookingDialog .field>.booking-guest-counter{grid-template-columns:44px minmax(0,1fr) 44px;height:68px;padding:6px;gap:2px}
  #bookingDialog .booking-guest-counter button{width:44px;height:50px}
  #bookingDialog .booking-guest-counter select{height:50px;padding:0;font-size:24px}
  #bookingDialog .booking-form__footer{padding-inline:18px}
  #bookingDialog .booking-footer-selection>span{font-size:12px;flex:0 0 auto}
  #bookingDialog .booking-summary{padding:20px}
  #bookingDialog .booking-summary .summary-total{font-size:22px}
  #bookingDialog .summary-trip p{font-size:20px}
  #bookingDialog .checkout-payment-methods section>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:350px){#bookingDialog .booking-progress button{flex-direction:column;gap:4px}#bookingDialog .field>.booking-guest-counter{grid-template-columns:38px minmax(0,1fr) 38px;padding:4px}#bookingDialog .booking-guest-counter button{width:38px}#bookingDialog .booking-topbar__brand>strong{font-size:12px;padding-left:10px}#bookingDialog .booking-topbar__brand{gap:10px}}
@media(prefers-reduced-motion:reduce){#bookingDialog *,#bookingDialog .dialog-shell{animation:none!important;transition:none!important}}

/* Searchable country picker stays in the scrollable form, never behind the footer. */
#bookingDialog .booking-country__trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:68px;padding:16px 20px;border:1px solid #c9dcda;border-radius:16px;background:#fff;color:#173c43;font:inherit;font-size:18px;text-align:left;cursor:pointer}
#bookingDialog #bookingCountryValue{display:flex;align-items:center;gap:12px;min-width:0;overflow-wrap:anywhere}
#bookingDialog .booking-country img{width:32px;height:24px;object-fit:contain;flex:none;border-radius:2px}
#bookingDialog .booking-country__trigger>svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}
#bookingDialog .booking-country__trigger[aria-expanded=true]{border-color:#257d73;background:#f2f8f6}
#bookingDialog .booking-country__panel{padding:12px;border:1px solid #c9dcda;border-radius:16px;background:#fff;min-width:0}
#bookingDialog #bookingCountrySearch{height:52px;min-height:52px;padding:12px 14px;font-size:16px;border-radius:10px;width:100%}
#bookingDialog .booking-country__list{max-height:min(280px,35dvh);overflow-y:auto;overscroll-behavior:contain;scroll-padding:6px;margin-top:8px}
#bookingDialog .booking-country__group{margin:14px 8px 6px;color:#57736f;font-size:13px;font-weight:700}
#bookingDialog .booking-country__list button{display:grid;grid-template-columns:32px minmax(0,1fr) 28px;align-items:center;gap:12px;width:100%;min-height:54px;padding:12px 10px;background:#fff;border:0;border-radius:8px;text-align:left;font:inherit;font-size:16px;color:#173c43;cursor:pointer}
#bookingDialog .booking-country__list button>span{overflow-wrap:anywhere;line-height:1.5}
#bookingDialog .booking-country__list button>small{color:#627b79;font-size:12px;text-align:right}
#bookingDialog .booking-country__list button:hover,#bookingDialog .booking-country__list button[aria-pressed=true]{background:#eaf5f0}
#bookingDialog .booking-country button:focus-visible{outline:2px solid #257d73;outline-offset:-2px}
#bookingDialog #bookingCountryEmpty{font-size:15px;padding:16px;color:#57736f}
@media(max-width:560px){#bookingDialog .booking-country__trigger{min-height:62px;padding:14px;font-size:16px}#bookingDialog .booking-country__panel{padding:8px}#bookingDialog .booking-country__list{max-height:min(240px,28dvh)}}

/* Notices preserve poster text and proportions in every language. */
#announcementDialog [hidden]{display:none!important}
#announcementDialog .notice-dialog__card:has(figure[hidden]){display:block;max-width:620px;margin:auto}
#announcementDialog .notice-dialog__card>figure{min-height:0;display:flex;align-items:center;justify-content:center}
#announcementDialog .notice-dialog__card>figure img{height:auto;max-height:80dvh;object-fit:contain}
#announcementDialog .notice-dialog__copy{min-width:0}
#announcementDialog .notice-dialog__copy h2{line-height:1.3;overflow-wrap:anywhere;letter-spacing:-.025em}
#announcementDialog .notice-dialog__copy>div{font-size:16px;overflow-wrap:anywhere}
@media(max-width:700px){#announcementDialog .notice-dialog__card>figure{height:auto}#announcementDialog .notice-dialog__card>figure img{max-height:65dvh}#announcementDialog .notice-dialog__copy h2{font-size:28px}}
/* Accessible two-method ticket lookup. */
#lookupDialog{width:min(700px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #d1dfd8;border-radius:22px;background:#f7faf8;overflow:auto}
#lookupDialog .lookup-card{padding:38px 32px}
#lookupDialog h2{font-size:clamp(27px,4vw,36px);line-height:1.35;letter-spacing:-.03em;padding-right:30px}
#lookupDialog #lookupHelp{font-size:16px;line-height:1.7;color:#52736e;overflow-wrap:anywhere}
#lookupDialog .lookup-methods{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0}
#lookupDialog .lookup-methods button{min-height:54px;padding:12px;border:1px solid #bdd5cd;border-radius:12px;color:#214e49;background:#fff;font:inherit;font-size:16px;font-weight:650;line-height:1.5;cursor:pointer;overflow-wrap:anywhere}
#lookupDialog .lookup-methods [aria-selected=true]{background:#164f48;color:#fff;border-color:#164f48}
#lookupDialog fieldset{min-width:0;padding:0;margin:0;border:0;display:grid;gap:18px}
#lookupDialog fieldset .field{margin:0}
#lookupDialog .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#lookupDialog [hidden]{display:none!important}
#lookupDialog .field>span{font-size:16px;font-weight:650}
#lookupDialog input{width:100%;min-width:0;height:60px;padding:14px 16px;font-size:17px;border-radius:12px;border:1px solid #c8dbd2;background:#fff}
#lookupDialog .field small{font-size:14px;line-height:1.65;color:#5a7872}
#lookupDialog #lookupSubmit{min-height:58px;border-radius:12px;margin-top:12px;font-size:17px}
#lookupDialog #lookupSubmit:disabled{opacity:.65;cursor:wait}
#lookupDialog #lookupError{font-size:15px;line-height:1.6;overflow-wrap:anywhere}
#lookupDialog #lookupResults{margin-top:24px}
#lookupDialog #lookupResults h3{font-size:20px;line-height:1.4}
#lookupDialog .lookup-result{display:grid;gap:8px;width:100%;padding:18px;margin-top:10px;border:1px solid #c8dbd2;border-radius:12px;background:#fff;text-align:left;color:#173e38;font:inherit;cursor:pointer}
#lookupDialog .lookup-result strong{font-size:18px;overflow-wrap:anywhere}
#lookupDialog .lookup-result span{font-size:14px;line-height:1.7;overflow-wrap:anywhere}
#lookupDialog .lookup-result b{font-size:15px;color:#247c6f}
#lookupDialog :is(button,input):focus-visible{outline:3px solid #338e80;outline-offset:2px}
@media(max-width:560px){#lookupDialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:16px}#lookupDialog .lookup-card{padding:30px 20px}#lookupDialog .lookup-methods button{font-size:14px;padding:10px 7px}#lookupDialog input{font-size:16px}}
