:root{--ink:#123e4e;--blue:#075a72;--deep:#06475e;--teal:#087f8d;--paper:#fffdf8;--soft:#eff6f4;--line:#d5e1de;--yellow:#f7d88a;--muted:#637b80;--orange:#ad4e30;--font:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-family:var(--font);color:var(--ink);background:var(--paper);scroll-behavior:smooth;scroll-padding-top:100px}
*{box-sizing:border-box}body{margin:0}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}button{color:inherit}h1,h2,h3,p{margin:0}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon{width:22px;height:22px;flex:none}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}[hidden]{display:none!important}:focus-visible{outline:3px solid #d47b32;outline-offset:4px}.skip-link{position:fixed;top:0;left:10px;transform:translateY(-110%);z-index:100;background:var(--deep);color:#fff;padding:10px}.skip-link:focus{transform:none}
.preview-rail{background:var(--deep);color:#fff;font-size:9px;letter-spacing:.08em}.preview-rail>.wrap{display:flex;justify-content:space-between;align-items:center;min-height:25px}.preview-rail b{font-family:Arial,sans-serif;font-size:8px;letter-spacing:.18em;font-weight:500}.site-header{position:sticky;top:0;z-index:20;background:#fffdf8f5;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-row{display:flex;align-items:center;gap:28px;min-height:83px}.brand{display:block;flex:none;line-height:0}.brand-image{display:block;width:148px;height:auto}.footer-row .brand-image{width:160px;filter:brightness(0) invert(1)}.main-nav{display:flex;gap:26px;margin-left:auto}.main-nav a{font-size:12px;font-weight:700;white-space:nowrap;position:relative;padding-block:14px}.main-nav a::after{content:"";position:absolute;bottom:6px;left:0;right:100%;height:1px;background:var(--blue);transition:right .2s}.main-nav a:hover::after{right:0}.header-actions{display:flex;gap:20px;align-items:center}.language-switch{display:flex;gap:5px;align-items:center;font:11px Arial,sans-serif}.language-switch span{color:#bdc9c7}.language-switch button{padding:6px 3px;border:0;background:none;color:var(--muted)}.language-switch button[aria-pressed=true]{color:var(--deep);text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--deep);border:1px solid var(--deep);color:#fff;min-height:56px;padding:16px 25px;font-size:14px;font-weight:700;line-height:1.5;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:var(--teal);border-color:var(--teal)}.button--small{min-height:44px;padding:11px 17px;font-size:11px;gap:18px;white-space:nowrap}.button--small .icon{width:18px;height:18px}.button--outline{background:transparent;color:var(--deep)}.button--outline:hover{background:var(--soft);color:var(--deep);border-color:var(--deep)}.eyebrow{font:600 10px/1.5 Arial,sans-serif;letter-spacing:.15em;color:var(--teal)}

.section{padding-block:90px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:36px}.section-heading h2,.island-content h2,.terms-layout h2,.inquiry-intro h2{font-size:clamp(25px,3vw,39px);font-weight:750;letter-spacing:.04em;line-height:1.65;margin-top:14px}.section-lead{font-size:13px;line-height:2.1;max-width:390px;color:var(--muted)}.included-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.included-grid article{position:relative;padding:30px 28px 28px;display:flex;flex-direction:column;align-items:flex-start}.included-grid article:first-child{padding-left:0}.included-grid article:last-child{padding-right:0}.included-grid article+article{border-left:1px solid var(--line)}.feature-number{font:10px Arial,sans-serif;letter-spacing:.15em;color:#88a29f;position:absolute;top:25px;right:25px}.feature-icon{width:42px;height:42px;color:var(--teal);stroke-width:1.2;margin-bottom:27px}.included-grid h3{font-size:17px;line-height:1.7;margin-bottom:12px}.included-grid p{font-size:12px;line-height:2;color:var(--muted)}.included-tags{display:flex;gap:17px;margin-top:15px;font-size:10px;color:var(--blue)}.included-tags>span{display:flex;align-items:center;gap:6px}.included-tags .icon{width:17px;height:17px}.usecases{display:flex;gap:35px;align-items:center;padding-top:24px}.usecases>span{font-size:10px;font-weight:700;white-space:nowrap;color:var(--teal)}.usecases p{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:11px;color:var(--muted)}.usecases p>span::before{content:"＋";font-size:12px;margin-right:5px;color:var(--teal)}
.hotels-section{background:var(--soft)}.hotel-heading-aside{display:flex;gap:25px;max-width:410px;align-items:center}.hotel-count{font:400 60px/.85 Arial,sans-serif;letter-spacing:-.07em;padding-right:25px;border-right:1px solid #c6d9d2}.hotel-count small{font:600 8px/2 Arial,sans-serif;display:block;letter-spacing:.22em;margin-left:4px}.hotel-heading-aside p{font-size:12px;line-height:1.9;color:var(--muted)}.hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.hotel-card{background:var(--paper);display:flex;flex-direction:column;min-width:0;border:1px solid #e1e9e2}.hotel-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:#d0ddd7}.hotel-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.hotel-card:hover .hotel-photo>img{transform:scale(1.035)}.hotel-number{position:absolute;top:13px;left:14px;display:flex;flex-direction:column;background:var(--paper);color:var(--deep);padding:10px 12px;min-width:58px;font:400 27px/1 Arial,sans-serif;letter-spacing:-.04em}.hotel-number small{font-size:7px;letter-spacing:.12em;margin-bottom:5px}.hotel-copy{padding:21px 22px;display:flex;flex-direction:column;flex:1}.hotel-copy h3{font-size:17px;line-height:1.65;font-weight:700;letter-spacing:.02em}.hotel-copy h3>span{font:500 8px Arial,sans-serif;letter-spacing:.17em;display:block;margin-bottom:6px}.hotel-address{margin:12px 0 9px;display:flex;gap:5px;color:var(--muted);font-size:10px;line-height:1.7}.hotel-address .icon{width:13px;height:13px;margin-top:2px}.hotel-room{font-size:10px;line-height:1.8;min-height:36px;color:#576c70}.hotel-actions{display:flex;gap:12px;align-items:center;margin-top:auto;padding-top:18px;justify-content:space-between}.hotel-actions>a{font-size:9px;color:var(--muted)}.hotel-select{display:flex;align-items:center;gap:15px;border:0;border-bottom:1px solid var(--blue);background:transparent;padding:7px 0;font-size:11px;color:var(--blue);font-weight:700}.hotel-select .icon{width:16px;height:16px}.fine-print{font-size:10px;line-height:1.9;color:var(--muted)}.hotels-note{max-width:850px;margin-top:25px}
.island-section{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--deep);color:#fff}.island-photo{position:relative;overflow:hidden;min-height:600px}.island-photo>img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%}.island-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#003d5580,transparent 60%)}.island-photo-caption{position:absolute;z-index:1;left:13%;bottom:55px;display:flex;flex-direction:column;gap:17px}.island-photo-caption span{font:10px Arial,sans-serif;letter-spacing:.24em}.island-photo-caption b{font:italic 48px Georgia,serif;font-weight:400}.island-content{padding:70px clamp(28px,5.5vw,90px)}.island-content .eyebrow{color:#a3d6d3}.island-content h2{font-size:36px;margin-top:18px}.island-lead{font-size:12px;line-height:2.15;color:#d2e4e8;margin-top:22px}.month-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-top:35px}.month-tabs button{border:1px solid #537c8b;background:none;color:#d5e5e8;border-radius:2px;min-height:47px;font:17px Arial,sans-serif;transition:background .2s}.month-tabs button small{display:block;font-size:8px;margin-top:3px;letter-spacing:.08em}.month-tabs button[aria-selected=true]{background:var(--yellow);border-color:var(--yellow);color:var(--deep)}.month-panel{padding:23px 0 20px;min-height:170px}.month-panel__weather{display:flex;align-items:center;gap:8px;font-size:10px;color:#d4e4e5}.month-panel__weather .icon{width:19px;height:19px;color:var(--yellow)}.month-panel__weather strong{margin-left:auto;font:26px Arial,sans-serif;color:#fff}.month-panel__weather strong small{font-size:12px;margin-left:3px}.month-panel h3{font-size:15px;line-height:1.9;font-weight:600;margin:13px 0 9px}.month-panel>p{font-size:11px;line-height:2;color:#cfdee1}.weather-source{border-top:1px solid #456d7b;padding-top:16px;font-size:9px;line-height:1.9;color:#aec8cf}.weather-source a{display:block;text-decoration:underline;text-underline-offset:4px;margin-top:3px}
.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin:45px 0 0;counter-reset:steps}.steps li{position:relative;border-top:1px solid var(--line);padding-top:30px}.steps li+li::before{content:"→";position:absolute;top:55px;left:-32px;color:#8ca49e;font-size:19px}.step-number{position:absolute;right:0;top:-19px;font:400 35px Arial,sans-serif;letter-spacing:-.04em;background:var(--paper);padding-left:15px}.step-icon{width:32px;height:32px;color:var(--teal);margin-bottom:22px;stroke-width:1.3}.steps h3{font-size:16px;line-height:1.8;margin-bottom:10px}.steps p{font-size:12px;line-height:2;color:var(--muted)}
.terms-section{background:#f5f1e7}.terms-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:75px}.terms-intro{font-size:12px;line-height:2.1;color:var(--muted);margin-top:20px;max-width:230px}.text-link{display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid var(--deep);padding-bottom:8px;font-size:11px;margin-top:28px}.text-link .icon{width:17px;height:17px}.cancellation-notice{border-left:3px solid #b0643d;padding:18px 22px;background:#fffaf2}.notice-label{color:#9d4e2b;font-size:10px;letter-spacing:.05em}.cancellation-notice h3{font-size:17px;line-height:1.8;margin:7px 0}.cancellation-notice p{font-size:11px;line-height:1.9;color:#766858}.terms-list{margin:25px 0 0}.terms-list>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;border-bottom:1px solid #d9dacf;padding:17px 0;font-size:11px;line-height:1.9}.terms-list dt{font-weight:700}.terms-list dd{margin:0;color:#62716d}
.inquiry-section{padding-block:100px;background:var(--paper)}.inquiry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:90px}.inquiry-intro{position:sticky;top:130px;align-self:start}.inquiry-intro h2{font-size:42px;line-height:1.7}.inquiry-intro>p:not(.eyebrow):not(.phone-hours){max-width:310px;margin-top:23px;font-size:12px;line-height:2.2;color:var(--muted)}.phone-link{display:flex;align-items:center;gap:15px;margin-top:38px}.phone-link>.icon{width:31px;height:31px;stroke-width:1.3}.phone-link span>small{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.phone-link b{font:600 clamp(23px,2.6vw,32px) Arial,sans-serif;letter-spacing:.02em;white-space:nowrap}.phone-hours{font-size:10px;color:var(--muted);line-height:1.8;margin-top:15px}.inquiry-price{border-block:1px solid var(--line);padding-block:22px;margin-top:38px;max-width:330px}.inquiry-price>span{font-size:11px}.inquiry-price>p{font:600 43px Arial,sans-serif;letter-spacing:-.05em;margin:7px 0}.inquiry-price>p>small{font:10px var(--font);letter-spacing:0;margin-left:10px}.inquiry-form{background:#fff;padding:35px;border:1px solid var(--line)}.form-heading{display:flex;gap:15px;justify-content:space-between;align-items:center}.form-heading h3{font-size:19px}.form-heading>span{font-size:9px;color:var(--muted)}.form-preview-note{font-size:10px;line-height:1.8;color:var(--muted);padding:11px 14px;background:var(--soft);margin:16px 0 25px}.inquiry-form label:not(.consent){display:block;font-size:11px;font-weight:600;margin-top:18px;min-width:0}.inquiry-form label>b{font-size:10px;color:#b14d32;margin-left:3px}.inquiry-form input:not([type=checkbox]),.inquiry-form select,.inquiry-form textarea{display:block;width:100%;min-width:0;margin-top:9px;border:1px solid #c8d7d2;border-radius:2px;padding:11px 12px;min-height:45px;background:#fff;color:var(--ink);font-size:14px;line-height:1.5;transition:border-color .2s;appearance:auto}.inquiry-form input[type=date]{min-height:45px;padding:10px 8px;max-width:100%;font-family:Arial,var(--font)}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--blue)}.inquiry-form input[aria-invalid=true],.inquiry-form select[aria-invalid=true]{border-color:#b14d32}.inquiry-form textarea{resize:vertical;max-height:280px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-help{font-size:9px;line-height:1.8;margin-top:9px;color:var(--muted)}.stay-estimate{margin-top:13px;background:#eff6f4;padding:12px;font-size:12px;line-height:1.8;color:var(--blue)}.consent{display:flex;align-items:flex-start;gap:10px;margin-top:25px;font-size:10px;line-height:1.9;color:#48636b}.consent input{width:17px;height:17px;margin:1px 0;flex:none;accent-color:var(--blue)}.form-error{font-size:11px;line-height:1.9;color:#a43d25;margin-top:15px}.form-submit{width:100%;margin-top:24px}.form-submit>.icon{margin-left:auto}.form-submit>span{margin-left:auto}.form-privacy{font-size:9px;text-align:center;margin-top:18px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.site-footer{background:var(--deep);color:#fff;padding-block:40px}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-row>.brand{font-size:31px}.footer-row>p{font-size:13px;letter-spacing:.1em}.footer-row>div{display:flex;flex-direction:column;gap:14px;font-size:10px;align-items:flex-end}.footer-row small{font-size:9px;color:#b2ced5}.mobile-dock{display:none}.review-dialog{border:0;background:var(--paper);border-radius:4px;padding:38px;max-width:580px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);color:var(--ink);overflow:auto}.review-dialog::backdrop{background:#092e46a8;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:13px;top:13px;background:transparent;border:0;padding:8px}.dialog-close>.icon{width:19px;height:19px}.review-dialog h2{font-size:23px;margin-top:15px;line-height:1.7}.review-dialog dl{margin:22px 0}.review-dialog dl>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.8}.review-dialog dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-dialog dt{font-size:10px;color:var(--muted)}.dialog-actions{display:flex;gap:12px;margin-top:28px}.dialog-actions .button{font-size:11px;padding:12px 16px;min-height:48px;flex:1}.completion-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--soft);color:var(--teal);margin:20px auto}.completion-icon>.icon{width:28px;height:28px}[data-complete-panel]{text-align:center;padding:20px 0}[data-complete-panel]>p{font-size:12px;line-height:2;margin-top:18px}[data-complete-panel]>.button{margin-top:25px;min-width:170px}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.main-nav{gap:16px}.main-nav a{font-size:10px}.header-row{gap:20px}.header-actions{gap:12px}.ticket-copy h2{font-size:21px}.hero-ticket{padding:26px}.hero-meta{font-size:9px}.hotel-grid{gap:20px 16px}.hotel-copy{padding:17px}.hotel-copy h3{font-size:15px}.hotel-actions{gap:8px}.hotel-select{font-size:10px;gap:6px}.island-content{padding:48px 30px}.inquiry-layout{gap:45px}.inquiry-form{padding:27px}.inquiry-intro h2{font-size:36px}.terms-layout{gap:45px}}
@media(max-width:900px){.main-nav{display:none}.header-actions{margin-left:auto}.header-row{min-height:75px}.hero-heading h1{font-size:26px}.hero-place{display:none}.ticket-copy h2{font-size:18px}.hero-ticket{column-gap:22px}.ticket-copy{padding-right:20px}.ticket-price{min-width:270px}.ticket-price strong{font-size:47px}.section-heading{gap:30px}.section-heading h2{font-size:30px}.section-lead{max-width:320px;font-size:12px}.included-grid article{padding-inline:20px}.included-grid h3{font-size:15px}.hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-copy h3{font-size:18px}.hotel-room{min-height:20px}.island-content h2{font-size:30px}.island-photo-caption{left:9%;bottom:40px}.island-photo-caption b{font-size:35px}.island-content{padding-inline:25px}.month-tabs{gap:4px}.month-tabs button{font-size:15px}.month-tabs button small{font-size:7px}.steps{gap:35px}.steps h3{font-size:14px}.steps li+li::before{left:-26px}.terms-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr);gap:30px}.inquiry-layout{gap:30px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.inquiry-intro h2{font-size:29px}.inquiry-intro .eyebrow{font-size:8px}.phone-link{gap:8px}.phone-link b{font-size:23px}.phone-link>.icon{width:23px;height:23px}.inquiry-price>p{font-size:36px}.inquiry-form{padding:22px}.inquiry-form label:not(.consent){font-size:10px}.form-row{gap:10px}}
@media(max-width:650px){:root{scroll-padding-top:85px}.wrap{width:calc(100% - 36px)}.preview-rail>.wrap{min-height:23px}.preview-rail{font-size:8px}.preview-rail b{font-size:6px}.header-row{min-height:66px;gap:15px}.brand{font-size:27px}.brand span{font-size:6px;margin-top:6px}.header-actions{gap:14px}.header-actions .button--small{display:none}.language-switch{font-size:11px;gap:7px}.hero-heading{padding-block:25px 19px}.hero-heading h1{font-size:23px;margin-top:9px;letter-spacing:0}.hero-heading .eyebrow{font-size:8px;letter-spacing:.1em}.hero-art{width:100%}.hero-campaign{min-height:0}.image-note{font-size:6px;bottom:4px;right:7px;padding:2px 4px}.hero-english{height:260px}.hero-english>div{width:calc(100% - 36px);gap:12px}.hero-english p{font-size:8px;letter-spacing:.1em}.hero-english h2{font-size:33px}.hero-english strong{font-size:27px}.hero-english strong small{font-size:10px}.hero-english div>span{font-size:10px}.hero-ticket{display:flex;flex-direction:column;gap:20px;padding:23px 21px;border-top-width:3px;margin-top:17px}.ticket-copy{padding:0;border:0}.ticket-copy .tag{font-size:9px;padding:4px 9px}.ticket-copy h2{font-size:19px;margin-block:9px 5px}.ticket-copy>p{font-size:11px;line-height:1.9}.ticket-price{min-width:0;border-top:1px dashed var(--line);padding-top:18px;width:100%}.ticket-price>p{margin:7px 0 9px}.ticket-price strong{font-size:57px}.ticket-price>span:first-child{font-size:11px}.ticket-price>span:last-child{font-size:10px}.ticket-button{width:100%;margin-top:-3px;min-height:48px}.hero-meta{display:block;padding-top:16px;font-size:8px}.hero-meta>a{margin-top:9px}.hero-meta .icon{width:13px;height:13px}.hero{padding-bottom:0}.section{padding-block:56px}.section-heading{display:block;margin-bottom:27px}.section-heading h2{font-size:27px;line-height:1.65;margin-top:12px}.section-lead{max-width:none;margin-top:20px;font-size:11px}.eyebrow{font-size:8px}.included-grid{grid-template-columns:1fr}.included-grid article,.included-grid article:first-child,.included-grid article:last-child{padding:25px 0 25px 58px;min-height:135px}.included-grid article+article{border-left:0;border-top:1px solid var(--line)}.feature-icon{position:absolute;left:0;top:30px;width:32px;height:32px;stroke-width:1.35}.included-grid h3{font-size:16px;margin-bottom:8px;padding-right:15px}.included-grid p{font-size:11px;max-width:400px}.feature-number{right:0;top:12px;font-size:8px}.included-tags{margin-top:12px;font-size:9px}.usecases{display:block;padding-top:20px}.usecases>span{font-size:9px}.usecases p{gap:10px 17px;font-size:10px;margin-top:14px}.hotel-heading-aside{margin-top:20px;max-width:none;gap:18px}.hotel-count{font-size:43px;padding-right:18px}.hotel-count small{font-size:6px}.hotel-heading-aside p{font-size:10px}.hotel-grid{grid-template-columns:1fr;gap:22px}.hotel-photo{aspect-ratio:16/10}.hotel-copy{padding:19px}.hotel-copy h3{font-size:18px}.hotel-copy h3>span{font-size:7px}.hotel-address{font-size:10px;margin-block:11px 8px}.hotel-room{font-size:10px}.hotel-actions{padding-top:15px}.hotel-select{font-size:11px;gap:10px}.hotel-actions>a{font-size:10px}.hotel-number{top:13px;left:13px;padding:9px 11px;font-size:27px}.hotels-note{font-size:9px;line-height:1.9;margin-top:20px}.island-section{display:flex;flex-direction:column;min-height:0}.island-photo{min-height:0;aspect-ratio:4/3}.island-photo-caption{left:7%;bottom:29px;gap:11px}.island-photo-caption span{font-size:8px}.island-photo-caption b{font-size:38px}.island-content{padding:39px 24px 42px}.island-content h2{font-size:29px}.island-lead{font-size:11px;margin-top:19px}.month-tabs{margin-top:27px;gap:7px}.month-tabs button{font-size:18px;min-height:48px}.month-tabs button small{font-size:7px}.month-panel{min-height:170px;padding-top:24px}.month-panel h3{font-size:15px}.month-panel>p{font-size:11px}.weather-source{font-size:8px}.steps{display:block;margin-top:34px}.steps li{padding:23px 0 23px 55px;min-height:140px}.steps li+li::before{display:none}.step-number{left:0;right:auto;top:23px;font-size:25px;padding:0}.step-icon{display:none}.steps h3{font-size:15px;margin-bottom:8px}.steps p{font-size:11px;line-height:2}.terms-layout{display:block}.terms-layout h2{font-size:29px}.terms-intro{max-width:none;font-size:11px;margin-top:15px}.terms-layout .text-link{margin:20px 0 28px}.cancellation-notice{padding:15px 18px}.cancellation-notice h3{font-size:15px}.cancellation-notice p{font-size:10px}.terms-list{margin-top:15px}.terms-list>div{grid-template-columns:70px minmax(0,1fr);gap:12px;font-size:10px;padding-block:15px}.inquiry-section{padding-block:54px}.inquiry-layout{display:block}.inquiry-intro{position:static}.inquiry-intro h2{font-size:34px;line-height:1.6}.inquiry-intro>p:not(.eyebrow):not(.phone-hours){max-width:none;font-size:11px;margin-top:18px}.phone-link{gap:13px;margin-top:24px}.phone-link>.icon{width:27px;height:27px}.phone-link b{font-size:29px}.phone-hours{font-size:9px;margin-top:12px}.inquiry-price{display:none}.inquiry-form{margin-top:30px;padding:23px 19px}.form-heading h3{font-size:17px}.form-heading>span{font-size:8px}.form-preview-note{font-size:9px;padding:11px 12px;margin-block:14px 20px}.inquiry-form label:not(.consent){font-size:10px;margin-top:17px}.inquiry-form input:not([type=checkbox]),.inquiry-form select,.inquiry-form textarea{font-size:16px;padding-inline:9px}.inquiry-form input[type=date]{font-size:14px}.form-row{gap:10px}.consent{font-size:10px}.form-submit{font-size:12px;min-height:53px}.site-footer{padding:34px 0 calc(88px + env(safe-area-inset-bottom))}.footer-row{display:grid;grid-template-columns:1fr;gap:24px}.footer-row>.brand{font-size:29px}.footer-row>p{font-size:11px}.footer-row>div{align-items:flex-start;font-size:10px;gap:12px}.mobile-dock{display:grid;grid-template-columns:1fr 1.6fr;position:fixed;bottom:0;left:0;right:0;z-index:19;box-shadow:0 -3px 18px #112d3c10;border-top:1px solid var(--line);background:#fff;padding:9px 13px calc(9px + env(safe-area-inset-bottom));gap:9px;transition:transform .25s}.mobile-dock>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:11px;font-weight:700;border:1px solid #c5d6d3;border-radius:2px}.mobile-dock>a:last-child{background:var(--deep);color:#fff;border-color:var(--deep)}.mobile-dock .icon{width:17px;height:17px}.mobile-dock.is-hidden{transform:translateY(110%)}.review-dialog{padding:30px 22px;max-height:calc(100dvh - 28px)}.review-dialog h2{font-size:20px}.review-dialog dl>div{grid-template-columns:80px minmax(0,1fr);font-size:11px;gap:12px}.dialog-actions{flex-direction:column}.dialog-actions .button{min-height:47px;font-size:12px}}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.hero-heading h1{font-size:21px}.ticket-copy h2{font-size:17px}.ticket-price strong{font-size:51px}.hero-ticket{padding:21px 18px}.section-heading h2{font-size:25px}.island-content{padding-inline:20px}.month-tabs{gap:5px}.inquiry-form{padding:21px 14px}.form-row{gap:8px}.inquiry-form input[type=date]{font-size:12px;padding-inline:4px}.hotel-copy h3{font-size:17px}}
.inquiry-form fieldset{border:0;padding:0;margin:0;min-width:0}.modal-open .mobile-dock{transform:translateY(110%)}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Full-width campaign hero with the 30-night offer as the primary message. */
.hero{padding-bottom:0}
.hero-art{position:relative;width:100%;max-width:none;height:clamp(360px,23vw,440px);margin:0;overflow:hidden;background:linear-gradient(180deg,#1aaeff 0%,#7adfff 35%,#21d6df 68%,#fff1d3 100%);isolation:isolate}
.hero-illustration{position:absolute;inset:0 auto 0 0;width:60%;height:100%;object-fit:cover;object-position:left top;mask-image:linear-gradient(to right,#000 80%,transparent 100%)}
.hero-content{position:absolute;top:50%;right:clamp(24px,3vw,80px);transform:translateY(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;width:clamp(530px,50vw,900px);padding:19px 23px 21px;background:#fffdf8fa;border:1px solid #ffffffd9;border-radius:4px}
.hero-content>.eyebrow{grid-column:1/-1;font-size:8px;letter-spacing:.13em}
.hero-content h1{grid-column:1/-1;font-size:clamp(23px,1.7vw,28px);font-weight:800;line-height:1.4;letter-spacing:.01em;margin-top:7px}
.hero-content h1>span{display:inline}.hero-content h1>span+span::before{content:" "}
.hero-rate{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 15px;border-top:1px solid #cededc;margin-top:11px;padding-top:12px}
.hero-rate__label{display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-size:10px;font-weight:600}
.hero-rate__nights{display:inline-block;padding:7px 15px;background:var(--yellow);color:var(--ink);font-size:24px;font-weight:800;line-height:1.3;border-radius:3px;white-space:nowrap}
.hero-rate>p{display:flex;align-items:baseline;gap:8px;margin:0;white-space:nowrap}
.hero-rate strong{font:700 clamp(76px,5vw,94px)/1 Arial,sans-serif;letter-spacing:-.06em}
.hero-rate__currency{font-size:clamp(26px,1.8vw,34px);font-weight:800;line-height:1}
.hero-rate>span{grid-column:1/-1;display:block;font-size:10px;line-height:1.7;margin-top:7px}
.hero-months{display:flex;align-items:center;align-self:center;gap:7px;margin-top:12px;font-size:11px;font-weight:600}
.hero-months>.icon{width:17px;height:17px}
.hero-consult{width:auto;min-height:43px;padding:10px 15px;margin-top:12px;font-size:11px;justify-content:space-between;gap:18px}
.image-note{position:absolute;bottom:9px;left:13px;z-index:1;background:#ffffffd9;padding:4px 7px;font-size:8px;color:#254652}
.hero-benefits{background:var(--deep);color:#fff}
.hero-benefits>.wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:12px}
.hero-benefits>.wrap>span{display:flex;align-items:center;justify-content:center;gap:11px;min-height:30px;padding:3px 10px;font-size:13px;font-weight:600;line-height:1.6}
.hero-benefits>.wrap>span+span{border-left:1px solid #ffffff40}
.hero-benefits .icon{width:22px;height:22px;color:var(--yellow)}
html[lang=en] .hero-content h1{font-size:clamp(22px,1.6vw,28px);letter-spacing:-.025em;line-height:1.4}
html[lang=en] .hero-rate__currency{font-size:clamp(14px,1.2vw,20px)}
@media(max-width:900px){
  .hero-art{height:auto;display:flex;flex-direction:column;background:var(--paper);overflow:visible}
  .hero-illustration{position:relative;width:100%;height:220px;object-position:left top;mask-image:none}
  .hero-content{position:relative;top:auto;right:auto;transform:none;width:calc(100% - 80px);max-width:660px;margin:-14px auto 0;padding:19px 24px 21px;border-color:var(--line);background:var(--paper)}
  .hero-content h1{font-size:25px}
  .hero-content h1>span{display:inline}
  .hero-content h1>span+span::before{content:' '}
  html[lang=en] .hero-content h1{font-size:24px}
  .hero-rate strong{font-size:76px}
  .hero-benefits{margin-top:16px}
  .hero-benefits>.wrap>span{font-size:11px;gap:8px}
  .hero-benefits .icon{width:20px;height:20px}
  .image-note{top:10px;right:12px;bottom:auto;left:auto}
}
@media(max-width:650px){
  .hero-illustration{height:190px;object-position:left top}
  .hero-content{display:block;width:calc(100% - 36px);margin-top:-10px;padding:17px 21px 19px}
  .hero-content>.eyebrow{font-size:7px;letter-spacing:.1em}
  .hero-content h1,html[lang=en] .hero-content h1{font-size:clamp(20px,5.8vw,23px);line-height:1.4;margin-top:7px;letter-spacing:0}
  .hero-content h1>span{display:block}.hero-content h1>span+span::before{content:none}
  .hero-content h1>span+span::before{content:none}
  .hero-rate{display:block;margin-top:11px;padding-top:12px}
  .hero-rate__label{flex-direction:row;align-items:center;gap:10px;font-size:10px}
  .hero-rate__nights{font-size:20px;padding:5px 12px}
  .hero-rate>p{gap:7px;margin:7px 0 0}
  .hero-rate strong{font-size:clamp(56px,17.5vw,69px)}
  .hero-rate__currency{font-size:26px}
  .hero-rate>span{font-size:10px}
  html[lang=en] .hero-rate__nights{font-size:19px}
  html[lang=en] .hero-rate__currency{font-size:14px}
  .hero-months{font-size:10px;margin-top:10px}
  .hero-consult{width:100%;margin-top:11px;font-size:11px;min-height:43px}
  .hero-benefits{margin-top:15px}
  .hero-benefits>.wrap{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:9px;row-gap:5px}
  .hero-benefits>.wrap>span{min-height:33px;padding:4px 3px;font-size:10px;gap:7px}
  .hero-benefits>.wrap>span:nth-child(odd){border-left:0}
  .hero-benefits .icon{width:18px;height:18px}
  .image-note{font-size:6px;top:8px;right:8px}
  .site-header .brand-image{width:132px}
}
@media(max-width:360px){
  .hero-illustration{height:165px}
  .hero-content{width:calc(100% - 28px);padding:16px 18px 18px}
  .hero-rate strong{font-size:clamp(54px,18vw,62px)}
  .hero-rate__currency{font-size:22px}
  .hero-rate>p{gap:6px}
  .hero-rate>span{font-size:9px}
  .hero-consult{font-size:11px;padding-inline:13px}
}

.plan-section{padding-top:52px}
@media(max-width:650px){.plan-section{padding-top:34px}}

/* Keep the full-width landscape while grouping the offer around the page centre. */
@media(min-width:1121px){
  .hero-illustration{left:max(0px,calc((100% - 1240px)/2));width:min(1120px,68vw);mask-image:linear-gradient(to right,transparent,#000 3%,#000 80%,transparent)}
  .hero-content{right:max(24px,calc((100% - 1180px)/2));width:clamp(530px,42vw,700px)}
}
.official-home{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;font-weight:700;padding-block:12px;color:var(--deep)}
.official-home:hover{text-decoration:underline;text-underline-offset:4px}
@media(min-width:901px) and (max-width:1250px){.header-row{gap:16px}.main-nav{gap:14px}.main-nav a{font-size:10px}.header-actions{gap:12px}.header-actions .button--small{display:none}}
@media(max-width:650px){.header-row{gap:10px}.header-actions{gap:10px}.site-header .brand-image{width:110px}.official-home{gap:4px;font-size:10px}}
@media(max-width:360px){.site-header .brand-image{width:100px}.header-actions{gap:8px}.language-switch{gap:4px}.official-home{gap:3px}}
