:root{--navy:#09283c;--ink:#153248;--teal:#008d9c;--muted:#708491;--line:#dce6eb}*{box-sizing:border-box}body{margin:0;background:#f5f8fa;color:var(--ink);font:15px Inter,Arial,sans-serif}button,input,select{font:inherit}button,a,summary,select{-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}.portal{display:grid;grid-template-columns:53% 47%;min-height:100svh}.visual{position:relative;overflow:hidden;min-height:100svh;background:var(--navy);color:#fff;padding:47px 7.2%;display:flex;flex-direction:column}.hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 57%}.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,27,43,.55) 0%,rgba(3,27,43,.12) 32%,rgba(3,27,43,.16) 48%,rgba(3,27,43,.91) 100%)}.brand{position:relative;z-index:1;display:flex;gap:15px;align-items:center;color:white;text-decoration:none;font-size:17px;font-weight:750;letter-spacing:2px}.brand-wave{color:#38cad3;font-size:49px;line-height:1;font-family:Arial,sans-serif}.brand small{display:block;font-size:8px;letter-spacing:2px;line-height:1.7;margin-top:8px;font-weight:500}.visual-copy{position:relative;z-index:1;margin-top:auto;padding-top:180px;max-width:660px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:var(--teal);line-height:1.7}.eyebrow.light{color:#68e0e1}h1{font-size:clamp(36px,3.6vw,57px);line-height:1.11;font-weight:650;letter-spacing:-1.9px;margin:20px 0}h1 br{display:block}.visual-copy>p{font-size:16px;line-height:1.7;color:#c7d8e1;max-width:440px}.capabilities{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.capabilities span{font-size:11px;padding:9px 12px;border:1px solid #ffffff38;border-radius:4px;background:#09283c30}.visual-foot{position:relative;z-index:1;display:flex;justify-content:space-between;gap:15px;margin-top:55px;font-size:9px;letter-spacing:.6px;color:#b2cad4}.access{display:flex;flex-direction:column;padding:38px 9% 28px;min-width:0}.access-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.private-tag{display:flex;align-items:center;gap:8px;letter-spacing:1.3px;color:#6b818e;font-size:9px;font-weight:700}.private-tag svg,.session-note svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}.language select{border:1px solid var(--line);border-radius:6px;padding:9px 28px 9px 12px;background:white;color:var(--ink);font-size:12px;max-width:140px}.login-content{width:100%;max-width:430px;margin:auto;padding:72px 0 58px}.mobile-brand{display:none}.login-content h2{font-size:clamp(30px,2.6vw,40px);letter-spacing:-1.35px;line-height:1.15;margin:17px 0}.subtitle{color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 37px;max-width:380px}form>label{display:block;font-size:12px;font-weight:650;margin-bottom:10px}input:not([type=hidden]){width:100%;height:53px;border:1px solid #ccdbe3;border-radius:6px;background:white;padding:0 15px;color:var(--ink);outline:0;font-size:16px}input::placeholder{color:#9baab4;font-size:13px}input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #008d9c13}form>input:not([type=hidden]){margin-bottom:24px}.password-field{position:relative}.password-field input{padding-right:54px}.reveal{position:absolute;right:4px;top:4px;width:45px;height:45px;border:0;background:transparent;color:#7a909e;border-radius:4px;display:grid;place-items:center}.reveal svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.6}.reveal:focus-visible,summary:focus-visible,.submit:focus-visible{outline:3px solid #47c4cc;outline-offset:3px}.submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;margin-top:27px;border:0;border-radius:6px;padding:14px 19px;background:var(--teal);color:#fff;font-size:14px;font-weight:650;box-shadow:0 5px 12px #008d9c13}.submit:hover{background:#007e8b}.submit:disabled{opacity:.65;cursor:wait}.submit>span:last-child{font-size:22px;font-weight:400}.session-note{font-size:10px;color:#80939e;display:flex;gap:7px;align-items:flex-start;line-height:1.5;margin:16px 0 0}.session-note svg{color:#008d9c;width:13px;height:14px}.help{font-size:12px;margin-top:27px;color:#496679}.help summary{display:list-item;list-style-position:inside}.help p{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 0}.pilot-note{display:flex;gap:10px;border-top:1px solid var(--line);margin-top:31px;padding-top:24px}.pilot-dot{height:6px;width:6px;margin-top:4px;flex-shrink:0;background:#008d9c;border-radius:50%}.pilot-note strong{display:block;font-size:9px;letter-spacing:1.4px;color:#5d7889}.pilot-note p{font-size:11px;line-height:1.7;color:#8396a1;margin:7px 0 0}footer{width:100%;max-width:430px;align-self:center;border-top:1px solid var(--line);padding-top:20px;font-size:10px;color:#7d929e;line-height:1.7}footer strong{color:#496879}.credits{font-size:9px;margin-top:5px}.form-status{background:#fff1ef;border-left:3px solid #b43d34;color:#9d352f;padding:12px 14px;font-size:12px;line-height:1.6;margin-top:18px;border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1600px){.visual{padding-left:11%;padding-right:10%}.access{padding-left:15%;padding-right:15%}}@media(max-width:1050px){.portal{grid-template-columns:49% 51%}.visual{padding:38px 7%}.access{padding:31px 9% 24px}.private-tag{font-size:8px;letter-spacing:.8px}.brand{font-size:13px;letter-spacing:1.4px;gap:10px}.brand small{font-size:7px;letter-spacing:1px}.brand-wave{font-size:40px}.visual-copy{padding-top:160px}h1{font-size:39px}.visual-copy>p{font-size:14px}.visual-foot{flex-direction:column;gap:8px}}@media(max-width:700px){.portal{display:flex;flex-direction:column}.visual{min-height:320px;padding:27px 25px}.hero{object-position:50% 63%}.visual:after{background:linear-gradient(180deg,#09283c66,#09283c22 25%,#09283ce6)}.brand{font-size:12px}.brand small{font-size:6px;letter-spacing:1px;margin-top:4px}.brand-wave{font-size:34px}.visual-copy{padding-top:38px;margin-top:auto}.eyebrow.light{font-size:8px;letter-spacing:1.4px}h1{font-size:29px;letter-spacing:-.9px;margin:12px 0}.visual-copy>p{font-size:12px;max-width:320px;margin-bottom:0}.capabilities,.visual-foot{display:none}.access{padding:23px 25px 25px;min-height:620px}.access-top{gap:8px}.login-content{padding:39px 0 36px;max-width:430px}.login-content h2{font-size:32px;margin-top:12px}.subtitle{font-size:13px;margin-bottom:25px}.private-tag{font-size:8px}.language select{font-size:12px;padding:8px 22px 8px 9px}.eyebrow{font-size:9px}.pilot-note{margin-top:25px;padding-top:20px}footer{padding-top:18px}}@media(prefers-reduced-motion:no-preference){.submit,.reveal{transition:background .15s ease}}

@media(min-width:701px) and (max-height:850px){.visual{padding-top:30px;padding-bottom:28px}.visual-copy{padding-top:100px}h1{font-size:clamp(32px,3.1vw,48px)}.visual-foot{margin-top:28px}.access{padding-top:24px;padding-bottom:20px}.login-content{padding-top:36px;padding-bottom:28px}.subtitle{margin-bottom:24px}.pilot-note{margin-top:22px;padding-top:18px}}

/* Branded maritime entrance. The existing weather dashboard is unchanged. */
body{background:#071f30}.portal{grid-template-columns:58% 42%}.visual{padding:38px 7%;isolation:isolate}.hero{object-position:50% 40%}.visual:after{background:linear-gradient(90deg,#041c3055,transparent 70%),linear-gradient(180deg,#041c3066 0%,#041c300d 32%,#041c30bb 65%,#041c30fa 100%)}.brand{font-size:18px;gap:15px;letter-spacing:2.5px}.brand-wave{width:42px;height:40px;flex-shrink:0;fill:none;stroke:#46d7db;stroke-width:3.5}.brand small{font-size:7px;letter-spacing:1.8px}.visual-copy{padding-top:155px;max-width:650px}h1{font-size:clamp(40px,4.6vw,72px);font-weight:500;letter-spacing:-2.8px;line-height:1.03;margin:20px 0 24px}h1 em{font-style:normal;color:#7adfe1}.visual-copy>p{max-width:350px;font-size:14px;line-height:1.75}.capabilities{gap:0;margin-top:30px}.capabilities span{font-size:8px;letter-spacing:1.2px;border:0;border-radius:0;border-right:1px solid #ffffff35;background:none;padding:0 14px}.capabilities span:first-child{padding-left:0}.capabilities span:last-child{border:0}.visual-foot{margin-top:36px;font-size:8px}.horizon{position:absolute;inset:auto -20% 32%;height:100px;z-index:1;opacity:.35;pointer-events:none}.horizon svg{width:100%;height:100%;fill:none;stroke:#6ae5e7;stroke-width:1}.horizon path:nth-child(2){opacity:.6}.horizon path:nth-child(3){opacity:.3}.access{position:relative;padding:32px 10% 23px;color:#edf6fb;background:radial-gradient(ellipse at 100% 0,#16405266,transparent 65%),#09283c;border-left:1px solid #ffffff12}.access:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#45d5d8,transparent);opacity:.5}.private-tag{color:#9bb2bf;font-size:8px}.language select{color:#d2e5ee;background:#ffffff05;border-color:#ffffff24}.language select option{color:#153248;background:white}.login-content{max-width:370px;padding:50px 0 38px}.login-content h2{font-size:clamp(30px,2.9vw,43px);font-weight:500;line-height:1.13;letter-spacing:-1.4px;margin:17px 0 20px}.eyebrow{color:#62d2d6;font-size:8px;letter-spacing:1.8px}.subtitle{font-size:12px;color:#a2b7c4;line-height:1.8;margin-bottom:30px}form>label{font-size:11px;color:#c8dae4;font-weight:500}input:not([type=hidden]){color:#f3fbff;background:#ffffff05;border-color:#ffffff25;font-size:16px}input::placeholder{color:#7d97a7;font-size:12px}input:focus{border-color:#4ed7da;box-shadow:0 0 0 3px #4ed7da12}.reveal{color:#8eaab9}.submit{background:#55d3d6;color:#062a3c;font-size:12px;font-weight:700;box-shadow:0 6px 30px #21bac316;letter-spacing:.3px}.submit:hover{background:#7ce3e5}.session-note{color:#8fa9b8;font-size:9px}.session-note svg{color:#55d3d6}.help{color:#b6d1df;font-size:11px;margin-top:22px}.help p{color:#a2bac8}.registration{margin-top:16px}.pilot-note{border-color:#ffffff16;margin-top:25px;padding-top:19px}.pilot-note strong{color:#9cb7c7;font-size:8px}.pilot-note p{font-size:10px;color:#829dab}.pilot-dot{background:#55d3d6}footer{border-color:#ffffff16;color:#8aa5b5;font-size:9px}footer strong{color:#d6e5ed}.credits{font-size:8px}.form-status{background:#3f252d;color:#ffd2cd;border-color:#e88c81}.access-top,.login-content,footer{position:relative;z-index:1}
@media(min-width:1600px){.visual{padding-left:10%;padding-right:10%}.access{padding-left:14%;padding-right:14%}}@media(min-width:701px) and (max-height:850px){.visual-copy{padding-top:115px}h1{font-size:clamp(36px,4.2vw,61px)}.login-content{padding-top:30px;padding-bottom:24px}.login-content h2{font-size:34px}.subtitle{margin-bottom:22px}.pilot-note{margin-top:20px}.visual-foot{margin-top:28px}}
@media(max-width:1050px) and (min-width:701px){.portal{grid-template-columns:52% 48%}.brand{font-size:13px}.brand small{font-size:6px;letter-spacing:1px}.brand-wave{width:32px}h1{font-size:44px;letter-spacing:-1.9px}.access{padding-left:9%;padding-right:9%}.capabilities{row-gap:15px;flex-wrap:wrap}.capabilities span{font-size:7px;padding:0 9px}.visual-copy>p{font-size:13px}.visual-foot{gap:8px}.private-tag{font-size:7px;letter-spacing:.7px}}
@media(max-width:700px){.portal{display:flex}.visual{min-height:360px;padding:27px 25px}.hero{object-position:50% 50%}.brand{font-size:12px;letter-spacing:2px}.brand-wave{width:30px;height:29px}.brand small{font-size:5.5px;letter-spacing:1px}.visual-copy{padding-top:50px}h1{font-size:36px;letter-spacing:-1.6px;line-height:1.04;margin:15px 0}.visual-copy>p{font-size:11px;max-width:250px}.horizon{bottom:20%;height:75px;opacity:.2}.access{border-left:0;border-top:1px solid #ffffff18;padding:23px 25px 25px;min-height:0}.login-content{padding:36px 0 28px;max-width:430px}.login-content h2{font-size:32px}.login-content h2 br{display:none}.login-content h2 br:after{content:" "}.private-tag{font-size:8px}.language select{font-size:11px}.subtitle{font-size:12px;margin-bottom:25px}.visual-foot,.capabilities{display:none}.pilot-note{margin-top:23px}.access-top{max-width:430px;width:100%;align-self:center}}
@media(prefers-reduced-motion:no-preference){.hero{animation:arrive 1.6s ease-out both}.visual-copy{animation:copy-arrive 1s .15s ease-out both}.horizon svg{animation:drift 18s ease-in-out infinite alternate}.brand-wave path{stroke-dasharray:100;stroke-dashoffset:100;animation:draw-wave 1.5s .1s ease-out forwards}.brand-wave path:nth-child(2){animation-delay:.25s}.brand-wave path:nth-child(3){animation-delay:.4s}@keyframes arrive{from{opacity:.2;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes copy-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{from{transform:translateX(-3%)}to{transform:translateX(3%)}}@keyframes draw-wave{to{stroke-dashoffset:0}}}

@media(max-width:700px){.visual{min-height:300px}.visual-copy{padding-top:22px}h1{font-size:32px}.login-content{padding-top:28px}.login-content h2{font-size:29px}.subtitle{margin-bottom:22px}.session-note{margin-top:13px}}
@media(min-width:701px) and (max-height:850px){.login-content{padding-top:22px;padding-bottom:18px}input:not([type=hidden]){height:48px}.reveal{height:40px}.submit{margin-top:20px;min-height:50px}form>input:not([type=hidden]){margin-bottom:18px}.help{margin-top:16px}.registration{margin-top:13px}.session-note{margin-top:13px}.pilot-note{margin-top:18px;padding-top:15px}}
