:root{--navy:#14364c;--ink:#19364a;--teal:#197e7a;--muted:#687e8d;--line:#dce5eb;--bg:#f3f6f8}
*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.topbar{background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(22px,4vw,65px);gap:14px}
.brand{display:flex;align-items:center;gap:11px}.mark,.access-icon{display:grid;place-items:center;background:#c4e5e0;border-radius:11px}.mark{height:40px;width:40px}.mark img{width:32px;height:32px}.brand strong{display:block;font-size:17px;letter-spacing:-.3px}.brand small{display:block;font-size:9px;letter-spacing:1.55px;color:#bfd5de;font-weight:750}
.topnote{font-size:11px;color:#bed6dc}.page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);min-height:calc(100vh - 117px)}
.story{position:relative;overflow:hidden;background:linear-gradient(142deg,#123b51 5%,#176772 68%,#258579 140%);color:#fff;padding:clamp(38px,6vw,86px);display:flex;flex-direction:column;justify-content:center}
.story-inner{position:relative;z-index:2;max-width:590px;margin:0 auto;width:100%;padding-bottom:55px}.eyebrow{color:#239088;letter-spacing:1.9px;font-size:10px;font-weight:850}.story .eyebrow{color:#97d8cb}
.story h1{font-size:clamp(38px,4vw,66px);line-height:1.08;font-weight:780;letter-spacing:-2px;margin:18px 0 21px}.story h1 em{font-style:normal;color:#b7e8d8}.story p{font-size:15px;line-height:1.75;color:#d8e8eb;max-width:510px;margin:0}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:53px}
.feature-grid>div{border-top:1px solid #ffffff48;padding-top:13px}.feature-grid b,.feature-grid small{display:block}.feature-grid b{font-size:12px;margin-top:12px}.feature-grid small{font-size:10px;line-height:1.6;margin-top:5px;color:#c1dfe2}
.feature-icon{font-size:10px;letter-spacing:1px;color:#a2dcd3;font-weight:780}
.scenery{pointer-events:none;position:absolute;bottom:0;left:0;right:0;height:160px;opacity:.26}.ridge{position:absolute;bottom:-8px;left:-8%;width:115%;height:100%;background:#0a2c41;clip-path:polygon(0 80%,10% 50%,18% 69%,28% 22%,35% 45%,45% 13%,53% 36%,65% 18%,74% 60%,84% 30%,100% 73%,100% 100%,0 100%)}.ridge-back{opacity:.42;transform:translateY(-22px)}.ridge-front{transform:translateY(38px) scaleX(1.15)}
.signin{display:grid;place-items:center;padding:50px clamp(24px,6vw,75px);background:linear-gradient(162deg,#f8fbfb,#edf4f3)}.signin-inner{width:min(420px,100%)}
.access-icon{height:60px;width:60px;margin-bottom:28px;border-radius:16px}.access-icon img{width:42px;height:42px}.signin h2{font-size:34px;line-height:1.17;letter-spacing:-1.05px;margin:13px 0 10px}
.subtitle{color:var(--muted);font-size:13px;margin:0 0 28px;line-height:1.65}.field{margin:17px 0}.field label{display:block;font-weight:700;font-size:11px;margin-bottom:7px;color:#426173}
.field input{width:100%;border:1px solid #c8d9df;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:14px;padding:13px 14px;transition:border .18s,box-shadow .18s}
.field input:focus{outline:none;border-color:#1b8a82;box-shadow:0 0 0 3px #1b8a8222}.primary{width:100%;border:0;border-radius:9px;background:#197e7a;color:white;font:inherit;font-weight:750;padding:15px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-top:24px;box-shadow:0 7px 18px #197e7a28}.primary:hover{background:#146d69}
.signin-footer{border-top:1px solid #d8e4e5;margin-top:35px;padding-top:20px;display:flex;align-items:flex-start;gap:11px;color:#798e97;font-size:11px;line-height:1.6}
.shield{font-size:18px;color:#269b90}.error{border-left:3px solid #b3423e;background:#fceceb;color:#923c34;border-radius:5px;padding:10px 13px;margin-bottom:18px;font-size:12px}
.foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px clamp(20px,4vw,65px);background:#eaf0f2;color:#778c98;font-size:10px}
@media(max-width:900px){.page{grid-template-columns:1fr}.story{padding:36px 26px 38px}.story-inner{padding-bottom:5px}.story h1{font-size:36px}.feature-grid{margin-top:25px}.scenery{height:90px}.signin{padding:40px 24px 50px}.topnote{display:none}}
@media(max-width:520px){.feature-grid{grid-template-columns:1fr;gap:8px}.feature-grid>div{display:none}.story{min-height:240px}.story h1{font-size:33px}.story p{font-size:12px}.signin h2{font-size:29px}.foot{display:block}.foot>span{display:block}.topbar{padding:14px 19px}}

