:root{--navy:#001321;--cyan:#00bde9;--yellow:#ffe000;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--navy);color:#fff;font-family:Montserrat,Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.account-layout{width:min(1486px,88%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.85fr);gap:clamp(40px,6vw,100px);align-items:center;padding:40px 0 65px;min-height:calc(100vh - 185px)}
.account-story{position:relative;isolation:isolate;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:650px;padding:35px 0}
.account-photo{position:absolute;z-index:-2;inset:0 -100px 0 -8%;width:calc(108% + 100px);height:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(to right,transparent,#000 10%,#000 75%,transparent),linear-gradient(to bottom,transparent,#000 15%,#000 80%,transparent);mask-composite:intersect}
.account-story::before{content:'';position:absolute;z-index:-1;inset:0 -100px 0 -8%;background:linear-gradient(90deg,#001321d9,#00132177 65%,transparent)}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:700;color:var(--cyan);margin:0 0 20px}
h1,h2{font-family:'Barlow Semi Condensed',Impact,sans-serif;font-style:italic;font-weight:900;text-transform:uppercase;line-height:1.02;margin:0 0 24px}h1{font-size:clamp(56px,6.2vw,96px);letter-spacing:-.6px}h1 span{color:var(--cyan)}h1 em{font-style:inherit;color:var(--yellow)}
.account-story>p:not(.eyebrow){max-width:450px;color:#d2e2eb}.story-signoff{margin-top:36px!important;font-weight:600;color:#fff!important}
.account-panel{position:relative;padding:36px;border:1px solid #255267;border-top:3px solid var(--cyan);background:#052332;border-radius:10px;box-shadow:0 20px 60px #0003}
.account-panel h2{font-size:32px;margin-bottom:10px}.panel-intro{color:#c4d7e2;margin:0 0 24px}
.account-form{display:grid;gap:18px}.form-field{display:grid;gap:7px}.form-field label{font-size:12px;font-weight:600}.form-field input{width:100%;min-width:0;min-height:48px;border:1px solid #507284;border-radius:5px;padding:12px 14px;background:#001724;color:#fff;font-size:14px}.form-field input::placeholder{color:#90aebd}
.password-input{position:relative}.password-input input{padding-right:66px}.password-toggle{position:absolute;inset:0 4px 0 auto;border:0;background:none;color:#bcecf8;font-size:11px;padding:10px;letter-spacing:.5px}.field-hint{font-size:11px;color:#91b0c0}
.form-options{display:flex;justify-content:flex-end}.quiet-link{font-size:12px;color:#bcecf8;text-decoration:underline;text-underline-offset:4px}.text-button{border:0;background:none;padding:0;font:inherit;cursor:pointer}
.account-primary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;border:0;border-radius:5px;padding:17px 24px;background:var(--yellow);color:var(--navy);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2.2px}.account-primary:hover{background:#fff075}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#c4d7e2}.consent input{accent-color:var(--cyan);width:17px;height:17px;flex-shrink:0;margin:3px 0}.consent a{text-decoration:underline;text-underline-offset:3px}
.account-switch{padding-top:22px;margin:24px 0 0;border-top:1px solid #255267;text-align:center;color:#c4d7e2}.account-switch a{color:var(--cyan);font-weight:600}.prototype-note{display:block;text-align:center;color:#91b0c0;font-size:10px;margin-top:20px;letter-spacing:.3px}
.account-status{margin-top:20px;border-left:3px solid var(--cyan);padding:12px 15px;background:#001724;color:#d2e2eb;font-size:13px}.account-status[hidden]{display:none}
dialog{width:min(460px,90%);background:#052332;border:1px solid #255267;border-top:3px solid var(--cyan);border-radius:10px;color:#fff;padding:32px}dialog::backdrop{background:#001321c9}dialog h2{font-size:32px}dialog p{font-size:14px;color:#c4d7e2}.dialog-close{float:right;background:none;border:0;color:#fff;font-size:24px}
@media(max-width:1000px){.account-layout{gap:32px;grid-template-columns:1fr 1fr}.account-panel{padding:26px}.account-story{min-height:600px}}
@media(max-width:760px){.account-layout{grid-template-columns:1fr;gap:24px;padding-top:15px;max-width:560px}.account-story{min-height:260px;padding:25px 0}.account-photo{inset:0;width:100%}.account-story::before{inset:0}.account-story .story-signoff{display:none}.account-story>p:not(.eyebrow){margin-bottom:0}.account-panel{padding:26px}.account-story h1{margin-bottom:16px}.account-story .eyebrow{margin-bottom:14px}}
@media(max-width:700px){h1{font-size:min(58px,10vw)}}
.register-layout{align-items:start}
.register-layout .account-story{justify-content:flex-start;padding-top:0}
.register-layout .account-story .story-signoff{margin-top:auto!important;margin-bottom:0;max-width:none}
.register-layout .account-story{min-height:650px;height:100%}
@media(max-width:760px){.register-layout .account-story{min-height:340px;height:auto}.register-layout .account-story .story-signoff{display:block;padding-top:36px}}
@media(max-width:760px){.register-layout .account-story{padding-top:25px}}
.account-layout .account-panel { width: 100%; max-width: none; margin: 0; }

/* Login and registration share the centred panel and full-page sunset photograph. */
body:has(.account-centered){min-height:100svh;background-image:linear-gradient(#00132188,#001321a6),url('../images/landing-hero-sunset-wave.jpg');background-size:cover;background-position:center;background-repeat:no-repeat}
body:has(.account-centered) .header{background:transparent}
#main.account-centered{display:grid;grid-template-columns:minmax(0,560px);justify-content:center;align-items:center;width:92%;max-width:none;min-height:calc(100svh - 180px);padding:32px 0 48px;gap:0}
html body .account-centered #account-title{font-size:clamp(32px,4vw,44px);white-space:normal;margin:0 0 14px;line-height:1.05}
.account-centered .account-panel{background:#052332f5}
@media(max-width:600px){#main.account-centered{padding:24px 0 32px}.account-centered .account-panel{padding:24px}}
@media(min-width:851px) and (max-width:1300px){body:has(.account-centered) .header{gap:20px}body:has(.account-centered) .header .brand{width:210px;left:0}body:has(.account-centered) .header nav{gap:18px}body:has(.account-centered) .header nav a{font-size:10px;letter-spacing:1px}body:has(.account-centered) .header .account{gap:14px}body:has(.account-centered) .header .button{padding-inline:18px;font-size:10px}}

html body #main.account-centered .login-intro{font-size:var(--site-body-size);font-family:Montserrat,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.65;letter-spacing:normal;text-transform:none;color:#c4d7e2}
.account-centered .login-signoff{margin:42px 0 0;text-align:center;color:#fff}
.account-centered .login-blue{color:var(--cyan)}
@media(max-width:600px){.account-centered .login-signoff{margin-top:25px}}

/* Supplied beach photograph for registration. */
body:has(.register-layout){background-image:linear-gradient(#00132188,#001321a6),url('../images/register-beach.png');background-position:center,calc(50% - 150px) center;background-size:100% 100%,max(calc(100% + 300px),134svh) auto}
@media(orientation:portrait){body:has(.register-layout){background-size:100% 100%,auto calc(100% + 300px)}}

/* Login photograph offset requested for the centred form. */
body:has(.login-layout){background-size:100% 100%,max(calc(100% + 750px),150svh) auto;background-position:center,calc(50% - 375px) center}
@media(orientation:portrait){body:has(.login-layout){background-size:100% 100%,auto calc(100% + 750px)}}
