:root{--login-blue:#0756b7;--login-yellow:#ffcc32;--login-ink:#080f40;--login-muted:#62789c}
*{box-sizing:border-box}body.login-choice{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--login-ink);background:#f7fbff}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--login-yellow);outline-offset:5px}em{font-style:normal}.login-layout{display:grid;grid-template-columns:55% 45%;min-height:100svh}.login-story{position:relative;display:flex;flex-direction:column;min-height:100svh;padding:30px 6.2% 28px;color:#fff;background:linear-gradient(110deg,rgba(2,43,88,.92),rgba(0,66,139,.55) 55%,rgba(2,39,66,.12)),linear-gradient(0deg,rgba(0,24,32,.78),transparent 65%),url('/public/brand/login-sigiriya.jpg') center/cover}.login-brand{display:flex;align-items:center;gap:13px;align-self:flex-start}.login-brand>.bi{font-size:39px;transform:rotate(-20deg)}.login-brand strong{display:block;font-size:32px;letter-spacing:-1.4px;line-height:1.2}.login-brand .brand-accent{color:#fff}.login-brand .fine-print{display:block;margin-top:3px;font-size:13px;color:#d5e5fc}.story-intro{margin-top:76px}.overline{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;letter-spacing:3px;margin:0 0 16px}.overline:after{content:'';width:28px;height:2px;background:var(--login-yellow);margin-left:7px}.story-intro .story-heading{font-size:clamp(38px,3.3vw,58px);line-height:1.06;letter-spacing:-1.4px;margin:0;font-weight:700}.story-intro .story-heading .brand-accent{color:var(--login-yellow)}.story-description{font-size:18px;line-height:1.7;max-width:520px;margin:16px 0 30px;color:#d5e5f7}.travel-categories{display:flex;gap:24px;max-width:465px}.travel-categories a{flex:1;text-align:center;font-size:13px;line-height:1.4}.travel-categories .bi{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 8px;font-size:27px;border:1px solid #ffffff38;border-radius:18px;background:#ffffff16;box-shadow:inset 0 0 15px #ffffff20;backdrop-filter:blur(4px)}.travel-categories strong{font-weight:500}.destination-signature{margin-top:32px;display:inline-flex;flex-direction:column;position:relative;padding-bottom:26px}.destination-signature>span{font-family:'Nothing You Could Do',cursive;font-size:52px;line-height:1.2}.destination-signature .fine-print{font-size:11px;letter-spacing:4px;margin-top:4px}.destination-signature:after{content:'';position:absolute;bottom:0;left:22px;width:210px;height:15px;border-top:6px solid var(--login-yellow);border-radius:50%;transform:rotate(-4deg)}.story-bottom{margin-top:auto;padding-top:22px}.standards-card{border:1px solid #ffffff55;border-radius:17px;overflow:hidden;background:#15394788;backdrop-filter:blur(16px);box-shadow:inset 0 0 25px #ffffff16}.standards-main{display:grid;grid-template-columns:1fr 1fr;padding:25px 22px;gap:24px}.standard{display:flex;align-items:center;gap:15px}.standard+.standard{border-left:1px solid #ffffff88;padding-left:25px}.standard-icon{font-size:59px;color:var(--login-yellow)}.standard-icon.shield{color:#72a6ff;font-size:58px}.standard strong{display:block;font-size:17px;line-height:1.4}.standard .fine-print{display:block;font-size:11px;margin-top:5px}.standard div>span{font-size:14px}.trust-items{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-top:1px solid #ffffff17;background:#00263c66;gap:10px}.trust-items>span{display:flex;gap:10px;align-items:center;font-size:11px}.trust-items .bi{font-size:20px}.story-copyright{display:flex;gap:20px;margin:42px 0 0;font-size:12px;color:#d7e4ef}.story-copyright>span{border-left:1px solid #ffffff66;padding-left:20px}.login-panel{display:flex;flex-direction:column;padding:35px 7.1% 30px 10.8%;position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 35%,#eaf5ff66,transparent 65%),#fafdff}.login-panel:before,.login-panel:after{content:'';position:absolute;z-index:0;right:-220px;width:350px;height:420px;border-radius:44%;background:repeating-radial-gradient(ellipse at center,transparent 0 13px,#0b65cf0b 14px 15px);transform:rotate(30deg);pointer-events:none}.login-panel:before{top:85px}.login-panel:after{bottom:-170px;right:-90px}.login-panel>*{z-index:1}.login-utilities{display:flex;justify-content:flex-end;align-items:center;gap:45px;font-size:12px;color:#233e6b}.login-utilities a,.language-label{display:flex;align-items:center;gap:11px}.login-utilities .bi{font-size:20px}.language-label{font-weight:700}.login-content{width:100%;margin:auto 0;padding:80px 0}.login-content .overline{color:#99a7be;letter-spacing:2px;margin-bottom:17px}.login-content .overline strong{color:#214879}.login-content .overline:after{background:var(--login-blue);width:60px}.login-content h1{font-size:clamp(25px,2.3vw,39px);letter-spacing:-1px;line-height:1.2;margin:0 0 15px}.login-lead{font-size:18px;color:var(--login-muted);margin:0 0 36px}.account-options{display:grid;gap:17px}.account-option{display:flex;align-items:flex-start;gap:28px;border:1px solid #e4eaf3;border-radius:13px;padding:20px;background:#ffffffb3;box-shadow:0 4px 20px #1546a005;transition:background .2s,border-color .2s}.account-option:hover{background:#fff8dd;border-color:var(--login-yellow)}.customer-option{border-color:#83baff;background:#eaf5ff99}.account-icon{display:grid;place-items:center;flex:0 0 68px;height:68px;border-radius:50%;background:#dbeeff;color:#0349c6;font-size:32px}.account-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.account-copy>strong{font-size:20px;font-weight:700}.account-copy>span{font-size:14px;color:#526b94}.account-option>.bi-chevron-right{align-self:center;font-size:20px;color:var(--login-blue)}.account-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.account-tags>span{font-size:12px;white-space:nowrap;color:#0063d5;background:#e2f0ff;padding:8px 10px;border-radius:7px}.login-divider{display:flex;align-items:center;gap:18px;color:var(--login-muted);margin:29px 0 22px}.login-divider:before,.login-divider:after{content:'';height:1px;flex:1;background:#ccd9eb}.google-button{display:flex;align-items:center;justify-content:center;gap:16px;border:1px solid #becde3;border-radius:9px;min-height:52px;font-size:18px;background:#fff}.google-button:hover{border-color:var(--login-blue);background:#f0f7ff}.google-mark{font:bold 29px Arial;background:conic-gradient(#4285f4 0 25%,#34a853 25% 45%,#fbbc05 45% 65%,#ea4335 65% 85%,#4285f4 85%);color:transparent;background-clip:text}.register-link{font-size:14px;color:#304d79;text-align:center;margin:34px 0 0}.register-link a{color:#0349c6;text-decoration:underline;margin-left:8px}.login-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;color:#506b94}.login-footer nav{display:flex;flex-wrap:wrap;gap:16px;font-size:11px}.login-footer a:hover{text-decoration:underline}.tourism-mark{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#153e70;font-size:16px}.tourism-mark>.bi{color:#86b839;font-size:34px}.tourism-mark .fine-print{display:block;font-size:6px;font-weight:700}
@media(min-width:1500px){.login-story{padding-top:32px}.story-intro{margin-top:78px}.story-description{font-size:19px}.travel-categories{margin-top:32px}.destination-signature{margin-top:35px}.login-content{padding-top:95px;padding-bottom:80px}.standards-main{padding-block:27px}}
@media(max-width:1200px){.login-panel{padding-left:7%;padding-right:7%}.account-option{gap:14px;padding:17px}.account-icon{flex-basis:50px;height:50px;font-size:26px}.account-tags{gap:5px}.account-tags>span{font-size:10px;padding:7px}.standards-main{padding:18px 14px;gap:12px}.standard{gap:9px}.standard+.standard{padding-left:12px}.standard-icon,.standard-icon.shield{font-size:38px}.standard strong{font-size:13px}.standard .fine-print{font-size:9px}.trust-items{padding:12px;flex-wrap:wrap}.trust-items>span{font-size:9px}.login-footer{flex-wrap:wrap}.story-copyright{font-size:10px}.travel-categories{gap:12px}}
@media(max-width:800px){.login-layout{grid-template-columns:1fr}.login-story{min-height:auto;padding:25px}.story-intro{margin-top:38px}.story-intro .story-heading{font-size:42px}.story-description{font-size:16px}.travel-categories{max-width:470px}.destination-signature{margin-top:25px}.story-bottom{padding-top:20px}.story-copyright{margin-top:20px;flex-wrap:wrap;gap:8px}.story-copyright>span{border:0;padding:0}.login-panel{padding:25px;min-height:690px}.login-content{max-width:580px;margin:auto;padding:48px 0}.login-content h1{font-size:30px}.login-lead{font-size:16px}.account-copy>strong{font-size:18px}.account-tags>span{font-size:11px}.login-footer{justify-content:center}.login-utilities{gap:30px}.standards-card{max-width:650px}.trust-items{justify-content:space-between}.login-footer nav{justify-content:center}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.headline-line{display:block}
.destination-signature>.fine-print{font-family:'DM Sans',Arial,sans-serif;font-size:11px;line-height:1.4;letter-spacing:4px}

.login-brand-logo{display:block;width:64px;height:64px;object-fit:contain;flex-shrink:0;border-radius:6px}
/* Keyboard access and readable controls on the light and photographic panels. */
.login-skip{position:fixed;top:12px;left:12px;z-index:10000;padding:14px 20px;background:#fff;color:#073f87;border-radius:6px;transform:translateY(-160%)}
.login-skip:focus{transform:translateY(0)}
.login-choice a:focus-visible{outline:3px solid #0756b7;outline-offset:4px;box-shadow:0 0 0 7px #fff}
.login-story a:focus-visible{outline-color:#ffcc32;box-shadow:0 0 0 7px #07325c}
.login-content .overline{color:#586b87}
.login-story-top{display:flex;align-items:center;justify-content:space-between;gap:24px;align-self:stretch}
.login-story-nav{display:flex;gap:30px;font-size:14px;font-weight:600}
.login-story-nav a:hover{text-decoration:underline}
.story-tagline{font-size:16px;font-weight:700;letter-spacing:.02em;margin:14px 0 0;color:#ffe9a8}
.role-toggle{display:flex;gap:8px;padding:6px;border-radius:16px;background:#eef2f8;margin:0 0 22px}
.role-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;border:0;border-radius:12px;background:transparent;color:#33456b;font:700 14px 'DM Sans',Arial;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.role-tab .bi{font-size:17px}
.role-tab.is-active{background:#0756b7;color:#fff;box-shadow:0 6px 16px #0756b733}
.role-tab:not(.is-active):hover{background:#e2ebf7}
.role-tab:focus-visible{outline:3px solid #0756b7;outline-offset:2px}
.role-form{display:block}
.role-panel[hidden]{display:none!important}
.role-register{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:26px 0 0;font-size:14px;color:#304d79;text-align:center}
.role-register a{color:#0349c6;font-weight:700;text-decoration:underline}
.role-register a:hover{color:#043d82}
.login-footer nav{gap:4px 16px;font-size:12px}
.login-footer nav a,.login-utilities a,.register-link a{display:inline-flex;align-items:center;min-height:44px}
.login-choice a{scroll-margin-block:24px}
#login-title:focus{outline:none}
@media(max-width:800px){
 .login-story{min-height:0;height:40vh;min-height:260px;max-height:380px;padding:18px 20px 32px;justify-content:center}
 .login-story-nav{display:none}
 .login-brand .fine-print{display:none}
 .story-intro{margin-top:14px}
 .story-intro>.overline{display:none}
 .story-intro .story-heading{font-size:34px}
 .story-tagline{font-size:14px;margin-top:8px}
 .story-description,.travel-categories,.destination-signature,.story-bottom{display:none}
 .login-panel{margin-top:-26px;border-radius:26px 26px 0 0;min-height:0;padding:0 20px 20px;box-shadow:0 -16px 30px #0b26470a}
 .login-panel:before,.login-panel:after{display:none}
 .login-utilities{display:none}
 .login-panel-brand{display:none}
 .login-content{padding:26px 0 20px;max-width:none;margin:0}
 .login-content h1{font-size:clamp(22px,6.5vw,28px)}
 .login-lead{font-size:14px;margin-bottom:20px}
 .role-toggle{margin-bottom:18px}
 .login-footer{padding-bottom:20px;justify-content:center;flex-wrap:wrap;text-align:center}
}
@media(forced-colors:active){.account-option{border:2px solid ButtonText}.login-choice a:focus-visible{outline:3px solid Highlight}}

.login-panel-brand{display:inline-flex;margin-bottom:24px;border-radius:16px;vertical-align:top}
.login-panel-brand img{display:block;width:88px;height:88px;object-fit:contain;border-radius:16px}
@media(max-width:540px){.login-panel-brand{margin-bottom:20px}.login-panel-brand img{width:68px;height:68px;border-radius:12px}}

/* Used by customer-recover.noderframe, a page-level auth form sitting directly
   in the login panel (not inside the role-form iframe). */
.portal-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;font-size:26px;background:#e7f1ff;color:#0756b7}
.inline-customer-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;border:0;background:transparent;color:#0756b7;font:600 13px 'DM Sans',Arial;cursor:pointer;text-decoration:none}
.inline-customer-back:focus-visible{outline:3px solid #0756b7;outline-offset:4px}
.login-content>.inline-customer-back{display:flex;margin:6px 0 4px}
.inline-customer-heading{margin:23px 0 20px}
.inline-customer-heading>.portal-symbol{margin-bottom:22px}
.inline-customer-heading h1,.inline-customer-heading h2{font-size:32px;line-height:1.2;letter-spacing:-1px;margin:12px 0}
.inline-customer-heading>p:last-child{color:#526880;font-size:15px;line-height:1.6}
.inline-customer-heading .overline{color:#526880;font-size:10px;letter-spacing:2px}
.customer-auth-card{margin-top:8px}
.customer-auth-card label{display:block;margin-bottom:9px;color:#173456;font-size:13px;font-weight:600}
.customer-auth-card .customer-auth-input{width:100%;min-height:54px;border:1px solid #bdcde0;border-radius:12px;padding:14px 16px;background:#fff;color:#102a50;font:400 16px 'DM Sans',Arial;box-sizing:border-box;transition:border-color .18s,box-shadow .18s,background .18s}
.customer-auth-card textarea.customer-auth-input{min-height:96px}
.customer-auth-card .customer-auth-input:hover{border-color:#7eabdf;background:#fcfdff}
.customer-auth-card .customer-auth-input:focus{outline:2px solid #0756b7;outline-offset:2px;border-color:#0756b7;background:#fff;box-shadow:0 0 0 6px #0756b710}
.customer-auth-card .customer-auth-input::placeholder{color:#728198}
.customer-auth-card .customer-auth-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;margin-top:16px;padding:16px 22px;border:0;border-radius:12px;background:#ffd33f;color:#162a47;font:700 15px 'DM Sans',Arial;box-shadow:0 4px 0 #dba813,0 9px 18px #ffd33f26;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}
.customer-auth-card .customer-auth-submit:hover{background:#ffdc61;transform:translateY(-2px);box-shadow:0 5px 0 #dba813,0 12px 22px #ffd33f33}
.customer-auth-card .customer-auth-submit:active{transform:translateY(2px);box-shadow:0 1px 0 #dba813}
.customer-auth-card a.customer-auth-submit{text-decoration:none}
.customer-auth-card .alert:not(.is-hidden){border-radius:10px;padding:12px;margin-bottom:16px;color:#9e2424;background:#fff1f1;border:1px solid #efc4c4}
.customer-auth-card .alert.is-hidden{display:none}
.customer-recovery{padding-top:12px;margin-top:18px;font-size:12px;line-height:1.7;color:#526880}
.customer-recovery a{color:#0756b7;text-underline-offset:4px}
.customer-recovery a:hover{color:#043d82;text-decoration:underline}
.customer-auth-card .alert-notice:not(.is-hidden){color:#14532d;background:#e7f6ec;border-color:#bfe3cb}
.customer-auth-card .password-field{position:relative}
.customer-auth-card .password-field .customer-auth-input{padding-right:46px}
.customer-auth-card .password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#728198;cursor:pointer;font-size:1.05rem}
.customer-auth-card .password-toggle:hover{color:#0756b7;background:#0756b710}
.customer-auth-card .password-toggle:focus-visible{outline:2px solid #0756b7;outline-offset:2px}

/* Phone-based account recovery: country select, dial code + number row, and
   the OTP boxes otp-input.js turns the code field into. */
.customer-auth-card select.customer-auth-input{appearance:none;cursor:pointer;padding-right:38px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23526880'%3E%3Cpath d='M4.5 6.2 8 9.7l3.5-3.5 1 1L8 11.7 3.5 7.2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:15px}
.recover-phone-row{display:flex;align-items:stretch}
.recover-phone-dial{display:flex;align-items:center;justify-content:center;min-width:58px;padding:0 12px;border:1px solid #bdcde0;border-right:0;border-radius:12px 0 0 12px;background:#eef2f7;color:#173456;font:700 15px 'DM Sans',Arial;white-space:nowrap}
.recover-phone-row .customer-auth-input{border-radius:0 12px 12px 0}
.customer-selected-email{margin-bottom:9px;padding:12px 14px;border-radius:10px;background:#f1f6fc;color:#173456;font-size:13px;display:grid;gap:2px}
.customer-selected-email strong{overflow-wrap:anywhere;font-size:14px}
.customer-code-input.otp-source{position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}
.otp-group{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(5px,2vw,10px)}
.otp-box{width:100%;min-width:0;aspect-ratio:3/4;padding:0;border:1px solid #bdcde0;border-radius:8px;color:#102a50;background:#fff;font-size:clamp(1.1rem,5vw,1.5rem);font-weight:700;text-align:center;transition:border-color .15s,box-shadow .15s}
.otp-box:focus{outline:0;border-color:#0756b7;box-shadow:0 0 0 3px #0756b72e}
.otp-group.is-complete .otp-box{border-color:#0756b7}
.otp-box::-webkit-outer-spin-button,.otp-box::-webkit-inner-spin-button{margin:0;appearance:none}
.customer-code-resend{margin-top:14px;display:grid;gap:8px;justify-items:start}
.customer-code-resend-button{padding:0;border:0;background:none;color:#0756b7;font:600 13px 'DM Sans',Arial;text-decoration:underline;cursor:pointer}
.customer-code-resend-button:hover{color:#043d82}
.customer-change-email{color:#0756b7;font-size:12px;text-decoration:none}
.customer-change-email:hover{text-decoration:underline}
.customer-auth-card .customer-auth-submit+.recover-hint{margin-top:10px}
.customer-auth-card .recover-phone-row+.recover-hint{margin-top:9px;margin-bottom:14px}

/* Full module lineup replaces the original 4-tile row; grid wraps instead of squeezing. */
.travel-categories{display:grid;grid-template-columns:repeat(5,1fr);gap:28px 12px;max-width:620px}
.travel-categories a{flex:none;font-size:12px}
.travel-categories .bi{width:50px;height:50px;font-size:22px;margin-bottom:7px}
@media(max-width:1200px){.travel-categories{grid-template-columns:repeat(5,1fr);gap:22px 10px}.travel-categories .bi{width:44px;height:44px;font-size:19px}}
@media(max-width:800px){.travel-categories{grid-template-columns:repeat(5,1fr);max-width:470px;gap:24px 10px}}
@media(max-width:480px){.travel-categories{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.travel-categories{display:none}}

/* Keep the reference composition in a 698 × 854 artboard at every width. */
.login-reference .login-story{display:block;align-self:start;min-height:0;height:auto;max-height:none;padding:0;overflow:hidden;border-radius:16px;background:#03477c;color:#fff}
.login-reference .login-story-artwork{position:relative;isolation:isolate;container-type:inline-size;aspect-ratio:698/854;background:linear-gradient(90deg,#00336540,transparent 76%),url('/public/brand/login-sigiriya-sunset.webp') center/100% 100%;font-family:Arial,sans-serif}
.login-reference .login-story-artwork:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(120deg,#0865c6,#003477);clip-path:polygon(0 69%,4% 79%,9% 85%,18% 87%,30% 88%,42% 90%,55% 94%,68% 96%,82% 96.5%,94% 96%,100% 95%,100% 100%,0 100%);pointer-events:none}
.login-reference .login-story-top{position:absolute;top:3.5%;left:6.9%;right:5.2%;display:flex;align-items:center;justify-content:space-between;gap:0;flex-wrap:nowrap}
.login-reference .login-brand strong{font-family:Arial,sans-serif;font-size:5.16cqw;letter-spacing:-.24cqw;line-height:1.1}
.login-reference .login-story-nav{display:flex;gap:4.4cqw;font-size:2.3cqw;font-weight:400}
.login-reference .login-story-nav a{min-height:0}
.login-reference .story-intro{position:absolute;inset:0;margin:0;pointer-events:none}
.login-reference .story-intro a{pointer-events:auto}
.login-reference .story-intro>.overline{position:absolute;top:23.9%;left:7.6%;display:block;font-size:2cqw;letter-spacing:.33cqw;margin:0;font-weight:400}
.login-reference .story-intro>.overline:after{display:none}
.login-reference .story-intro .story-heading{position:absolute;top:26.6%;left:7.4%;font-family:Arial,sans-serif;font-size:8cqw;line-height:1.04;letter-spacing:-.17cqw;margin:0;font-weight:400}
.login-reference .story-heading .brand-accent{font-size:9.75cqw;font-weight:700;color:#ffce24;line-height:1.04}
.login-reference .story-tagline{position:absolute;top:49.4%;left:7.6%;font-size:3.15cqw;font-weight:400;letter-spacing:0;color:#fff;margin:0}
.login-reference .story-description{position:absolute;top:54.5%;left:7.6%;display:block;width:40%;max-width:none;font-size:2.58cqw;line-height:1.4;color:#f0f5ff;margin:0}
.login-reference .travel-categories{position:absolute;top:70%;left:6.6%;right:6.6%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:2.6cqw;max-width:none}
.login-reference .travel-categories a{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:17.8cqw;padding:3.2cqw 1cqw 2.2cqw;border:1px solid #79b5f22e;border-radius:2.5cqw;background:#002d59a6;backdrop-filter:blur(3px);font-size:2cqw;line-height:1.4;box-shadow:inset 0 0 20px #548ec40a;transition:background .2s}
.login-reference .travel-categories a:nth-child(n+3){min-height:20.2cqw}
.login-reference .travel-categories a:hover{background:#064e86db}
.login-reference .travel-categories strong{font-weight:400;max-width:16cqw}
.login-reference .travel-categories a:nth-child(n+3) strong{max-width:12cqw}
.login-reference .travel-categories .bi{width:6.6cqw;height:6.6cqw;margin:0 0 1.7cqw;font-size:5.8cqw;line-height:1;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}
.login-reference .travel-categories .bi-house-door{background:url('/public/brand/login-bed.svg') center/contain no-repeat}
.login-reference .travel-categories .bi-house-door:before{content:none}
.login-reference .destination-signature{position:absolute;top:88.9%;left:7%;display:inline-flex;margin:0;padding-bottom:2.2cqw}
.login-reference .destination-signature>span{font-size:5.7cqw;line-height:1}
.login-reference .destination-signature>.fine-print{font-family:Arial,sans-serif;font-size:1.35cqw;letter-spacing:.24cqw;margin-top:.5cqw}
.login-reference .destination-signature:after{left:0;width:25cqw;border-top-width:.55cqw;bottom:0}
@media(max-width:800px){
 .login-reference .login-story{border-radius:14px}
 .login-reference .login-panel{margin-top:0;border-radius:0;padding:24px}
}
.login-reference .login-story-artwork:after{background:url('/public/brand/login-wave.svg') center/100% 100% no-repeat;clip-path:none}

/* Fit the complete reference artwork to the desktop viewport height. */
@media(min-width:801px){
 .login-reference .login-layout{grid-template-columns:min(55%,81.733svh) minmax(0,1fr);height:100svh;min-height:0;overflow:hidden}
 .login-reference .login-story{height:100%;border-radius:0}
 .login-reference .login-story-artwork{height:100%;aspect-ratio:auto}
 .login-reference .login-panel{height:100%;min-height:0;overflow-y:auto;padding:20px clamp(24px,4vw,76px)}
 .login-reference .login-content{width:100%;max-width:580px;align-self:center;flex-shrink:0;margin:auto 0;padding:24px 0}
 .login-reference .login-utilities,.login-reference .login-footer{flex-shrink:0}
 .login-reference .login-panel-brand{margin-bottom:16px}
 .login-reference .login-panel-brand img{width:64px;height:64px}
 .login-reference .login-lead{margin-bottom:24px}
 .login-reference .login-footer{gap:12px;flex-wrap:wrap;justify-content:center}
}
@media(min-width:801px) and (max-height:800px){
 .login-reference .login-panel{padding-top:10px;padding-bottom:10px}
 .login-reference .login-content{padding:12px 0}
 .login-reference .login-panel-brand{margin-bottom:10px}
 .login-reference .login-panel-brand img{width:48px;height:48px}
 .login-reference .login-content>.overline{margin-bottom:8px}
 .login-reference .login-content h1{font-size:28px;margin-bottom:8px}
 .login-reference .login-lead{font-size:16px;margin-bottom:16px}
 .login-reference .role-toggle{margin-bottom:14px}
 .login-reference .role-register{margin-top:16px}
}
@media(min-width:801px){
 .login-reference .login-panel:after{display:none}
}

.mobile-login-menu,.mobile-login-copy{display:none!important}
/* Phone layout: compact destination hero and an overlapping sign-in card. */
@media(max-width:800px){
 body.login-reference{background:#fff}
 .login-reference .login-layout{display:block;min-height:100svh}
 .login-reference .login-story{height:340px;border-radius:0;background:#0062a0}
 .login-reference .login-story-artwork{height:100%;aspect-ratio:auto;background:linear-gradient(90deg,#003f7cb3,#00578d38),url('/public/uploads/trip-planner/beach.jpg') center/cover}
 .login-reference .login-story-artwork:after{display:none}
 .login-reference .login-story-top{top:20px;left:24px;right:18px;z-index:3}
 .login-reference .login-brand strong{font-size:26px;letter-spacing:-1px}
 .login-reference .login-story-nav,.login-reference .desktop-login-copy{display:none!important}
 .login-reference .mobile-login-copy{display:block!important}
 .login-reference .mobile-login-menu{display:block!important;position:relative}
 .mobile-login-menu .mobile-menu-toggle{display:grid;place-items:center;width:44px;height:44px;cursor:pointer;list-style:none;color:#fff;font-size:30px;border-radius:8px}
 .mobile-login-menu .mobile-menu-toggle::-webkit-details-marker{display:none}
 .mobile-login-menu .mobile-menu-toggle:focus-visible{outline:3px solid #ffcf24;outline-offset:2px}
 .mobile-login-menu .mobile-menu-toggle[aria-expanded="true"]{background:#004578}
 .mobile-login-menu nav{position:absolute;right:0;top:48px;display:grid;width:170px;padding:8px;border-radius:12px;background:#fff;color:#123960;box-shadow:0 10px 30px #002a5650}
 .mobile-login-menu nav a{display:flex;align-items:center;min-height:44px;padding:8px 14px;font-size:15px}
 .login-reference .story-intro .story-heading{top:125px;left:26px;font-size:36px;line-height:1.12;letter-spacing:-1px}
 .login-reference .story-heading .brand-accent{font-size:40px;line-height:1.12}
 .login-reference .story-tagline.mobile-login-copy{top:258px;left:26px;font-size:15px;line-height:1.5;margin:0}
 .login-reference .story-intro>.overline,.login-reference .story-description,.login-reference .travel-categories,.login-reference .destination-signature{display:none}
 .login-reference .login-panel{position:relative;margin-top:-24px;padding:24px 24px 16px;border-radius:24px 24px 0 0;background:linear-gradient(#f8fcff,#fff);box-shadow:0 -4px 16px #07376312;overflow:visible;min-height:0}
 .login-reference .login-content{padding:0;margin:0;max-width:none}
 .login-reference .login-panel-brand,.login-reference .login-content>.overline{display:none}
 .login-reference .login-content h1{font-size:clamp(21px,5.8vw,27px);line-height:1.2;letter-spacing:-.7px;margin:0 0 7px}
 .login-reference .login-lead{font-size:14px;margin:0 0 20px}
 .login-reference .role-toggle{margin-bottom:20px;padding:4px;gap:4px;border-radius:12px}
 .login-reference .role-tab{min-height:46px;font-size:12px;gap:7px;border-radius:9px}
 .login-reference .role-tab .bi{font-size:16px}
 .login-reference .customer-auth-card{margin-top:0}
 .login-reference .customer-auth-input{min-height:52px;border-radius:10px;background:#f0f4f9;font-size:16px}
 .login-reference .customer-auth-submit{min-height:54px;border-radius:14px;font-size:16px;background:#ffd43c}
 .login-reference .role-register{margin:24px 0 12px;gap:5px;font-size:14px;flex-direction:column}
 .login-reference .login-footer{padding:16px 0 0;gap:8px}
 .login-reference .login-footer nav{gap:0 12px;font-size:10px}
}

.mobile-login-menu nav[hidden]{display:none}
.mobile-menu-toggle{border:0;background:transparent;font:inherit}

/* All booking modules, in the same order as the main module navigation. */
@media(min-width:801px){
 .login-reference .travel-categories{top:69%;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2cqw}
 .login-reference .travel-categories a,.login-reference .travel-categories a:nth-child(n+3){min-height:10.6cqw;padding:1.3cqw .5cqw 1cqw;border-radius:1.6cqw;font-size:1.65cqw;line-height:1.3}
 .login-reference .travel-categories strong,.login-reference .travel-categories a:nth-child(n+3) strong{max-width:100%;font-weight:400}
 .login-reference .travel-categories .bi{width:4cqw;height:4cqw;font-size:3.6cqw;margin-bottom:.7cqw}
 .login-reference .travel-categories .bi-water{background:url('/public/brand/login-cruise.svg') center/contain no-repeat}
 .login-reference .travel-categories .bi-water:before{content:none}
 .login-reference .destination-signature{top:90%}
}
@media(min-width:801px){
 .login-reference .travel-categories{top:67%}
 .login-reference .destination-signature{top:92%}
 .login-reference .destination-signature>span{font-size:4.8cqw}
}

/* Bound typography so wide monitors do not inflate navigation and hero copy. */
@media(min-width:801px){
 .login-reference .login-brand strong{font-size:clamp(24px,3.8cqw,34px);letter-spacing:-1.2px}
 .login-reference .login-story-nav{font-size:clamp(12px,1.9cqw,15px);gap:clamp(12px,3cqw,28px)}
 .login-reference .login-story-nav a{display:inline-flex;align-items:center;min-height:44px}
 .login-reference .story-intro{inset:22% 7% 0}
 .login-reference .story-intro>.overline{position:static;font-size:clamp(10px,1.7cqw,12px);letter-spacing:2px;margin:0 0 10px}
 .login-reference .story-intro .story-heading{position:static;font-size:clamp(32px,5.8cqw,52px);line-height:1.08;letter-spacing:-1px}
 .login-reference .story-heading .brand-accent{font-size:clamp(38px,7cqw,62px);line-height:1.08}
 .login-reference .story-tagline.desktop-login-copy{position:static;font-size:clamp(15px,2.6cqw,20px);line-height:1.4;margin:16px 0 12px}
 .login-reference .story-description{position:static;width: min(72%,320px);font-size:clamp(13px,2.1cqw,16px);line-height:1.55;margin:0}
 .login-reference .travel-categories{position:relative;top:auto;bottom:auto;left:auto;right:auto;margin-top:clamp(24px,4svh,40px);gap:clamp(6px,1.2cqw,12px)}
 .login-reference .travel-categories a,.login-reference .travel-categories a:nth-child(n+3){min-height:clamp(64px,10.6cqw,90px);padding:clamp(7px,1.3cqw,12px) 4px;font-size:clamp(10px,1.65cqw,13px);border-radius:12px}
 .login-reference .travel-categories .bi{width:clamp(22px,4cqw,32px);height:clamp(22px,4cqw,32px);font-size:clamp(22px,3.6cqw,30px);margin-bottom:6px}
 .login-reference .destination-signature{top:auto;bottom:3%;left:0}
 .login-reference .destination-signature>span{font-size:clamp(26px,4.8cqw,38px)}
 .login-reference .destination-signature>.fine-print{font-size:clamp(8px,1.35cqw,10px);letter-spacing:1.5px}
 .login-reference .login-content h1{font-size:clamp(24px,2.2vw,32px);letter-spacing:-.7px}
 .login-reference .login-lead{font-size:16px;line-height:1.5}
}
@media(min-width:801px) and (max-height:740px){
 .login-reference .story-intro{top:17%}
 .login-reference .story-intro .story-heading{font-size:clamp(28px,5cqw,40px)}
 .login-reference .story-heading .brand-accent{font-size:clamp(34px,6cqw,48px)}
 .login-reference .story-tagline.desktop-login-copy{margin:10px 0 8px;font-size:15px}
 .login-reference .story-description{font-size:12px;line-height:1.4;width:78%}
}
@media(max-width:800px){
 .login-reference .login-brand strong{font-size:clamp(22px,6.5vw,26px)}
 .login-reference .story-intro .story-heading{font-size:clamp(30px,8.8vw,36px)}
 .login-reference .story-heading .brand-accent{font-size:clamp(34px,10vw,40px)}
 .login-reference .login-content h1{font-size:clamp(21px,5.6vw,25px)}
}

/* Keep the version and attribution together at a readable size. */
.login-reference .login-footer{align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 20px;text-align:center}
.login-reference .login-footer nav{justify-content:center;gap:0 14px;font-size:12px}
.login-reference .login-footer .tourism-mark{display:inline-flex;align-items:center;flex:0 0 auto;min-height:32px;white-space:nowrap;font-size:12px;font-weight:400;line-height:1.5;color:#506b94}
@media(max-width:800px){
 .login-reference .login-footer{gap:4px 12px;padding-top:12px}
 .login-reference .login-footer nav{gap:0 12px;font-size:11px}
 .login-reference .login-footer .tourism-mark{font-size:11px}
}
