
:root{color-scheme:light;--bg:#e8eef6;--text:#303947;--muted:#526071;--accent:#a62b2b;--pressed:inset 5px 5px 11px #c5cedbd9,inset -5px -5px 11px #fffffff0;}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
.shell{max-width:1100px;padding:24px;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 20px;box-shadow:var(--pressed);border-radius:22px}.topbar img{display:block;width:90px;height:auto}.topbar a{color:var(--accent);font-size:14px;font-weight:700;text-decoration:none}
main{max-width:480px;margin:62px auto;padding:38px 30px;box-shadow:var(--pressed);border-radius:30px}h1{font-size:38px;letter-spacing:-.035em;margin:0 0 16px}p{line-height:1.6;color:var(--muted);font-size:15px}.notice{margin:22px 0;padding:18px;border:1px solid #52607140;border-radius:16px;font-size:14px}fieldset{border:0;padding:0;margin:0}label{display:block;margin-top:20px;font-size:14px;font-weight:700}input{width:100%;margin-top:9px;padding:15px 16px;border:1px solid #52607140;border-radius:14px;font:inherit;background:var(--bg);color:var(--text);box-shadow:var(--pressed)}input:disabled{opacity:.7}button{width:100%;min-height:52px;margin-top:24px;border:0;border-radius:15px;background:#c33838;color:white;font:inherit;font-weight:750}button:disabled{background:#526071;color:white;opacity:.75}.contact{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:20px;border-radius:15px;color:var(--accent);font-weight:750;text-decoration:none;box-shadow:6px 6px 14px #c5cedb,-6px -6px 14px white}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}footer{text-align:center;white-space:nowrap;font-size:clamp(9px,2.55vw,12px);color:var(--muted);padding:20px 0}@media(max-width:520px){.shell{padding:16px}main{margin:36px auto;padding:30px 24px}}

.shell{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
main{width:100%}
.contact{background:#c33838;color:#fff}
.contact:hover,.contact:focus-visible{background:#a62b2b;color:#fff}
.topbar .access-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border-radius:15px;background:#c33838;color:#fff;box-shadow:6px 6px 14px #c5cedb,-6px -6px 14px white;white-space:nowrap}
.topbar .access-button:hover,.topbar .access-button:focus-visible{background:#a62b2b;color:#fff}
footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px;margin-top:auto;padding:18px 20px;border-radius:22px;box-shadow:var(--pressed)}
footer .footer-logo{display:block;width:78px;height:auto;flex-shrink:0}
footer .copyright{margin-left:auto;text-align:right;white-space:nowrap}
@media(max-width:520px){footer{padding:16px 12px;gap:8px}footer .footer-logo{width:48px}}
@media(max-width:380px){footer .copyright{font-size:8px}}

[hidden]{display:none!important}.subscription{margin:20px 0;padding:18px;border:1px solid #52607140;border-radius:16px}.subscription a{color:var(--accent);font-weight:750;text-decoration:none}.subscription p{font-size:14px}button{cursor:pointer}input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:wait}#client-email{overflow-wrap:anywhere}

/* Login shares the one-line Welcome header/footer and account card layout. */
:root{--accent:#d94645;--muted:#687383}
.shell{max-width:1228px;padding:24px;min-height:100dvh}
.topbar{min-height:72px;padding:12px 18px;border-radius:24px;flex-direction:row;flex-wrap:nowrap}
.topbar>a{display:inline-flex;padding:7px 12px;border-radius:16px;background:var(--bg);box-shadow:8px 8px 18px rgba(197,206,219,.88),-8px -8px 18px rgba(255,255,255,.92)}
.topbar img{width:clamp(78px,9vw,99px)}
.topbar .header-login{width:auto;min-height:44px;margin:0;padding:11px 18px;border-radius:13px;background:#d94645;color:#fff;font-size:14px;font-weight:650;white-space:nowrap;box-shadow:8px 8px 18px rgba(197,206,219,.88),-8px -8px 18px rgba(255,255,255,.92)}
main{max-width:560px;margin:42px auto 36px;padding:32px;border-radius:24px;box-shadow:12px 12px 24px #c7cfdb,-12px -12px 24px #fff}
h1{font-size:32px;letter-spacing:-.02em}
.notice{padding:0;margin:0 0 22px;border:0;border-radius:0;font-size:15px;line-height:1.6}
label{font-weight:400}input{padding:13px 14px;border-radius:12px;box-shadow:none}
button[data-login-submit]{background:#d94645;font-weight:500;border-radius:12px;min-height:44px}
button[data-login-submit]:hover{background:#bb3332}button[data-login-submit]:disabled{opacity:.65;cursor:wait}
:root{--surface:#e8eef6;--radius-sm:17px;--raised-soft:8px 8px 18px rgba(197,206,219,.88),-8px -8px 18px rgba(255,255,255,.92)}
.contact{
      min-height: 54px;
      padding: 0 22px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      border: 0;
      border-radius: var(--radius-sm);
      font: inherit;
      font-size: 15px;
      font-weight: 760;
      text-decoration: none;
      cursor: pointer;
      transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
    }
.contact:hover{
      transform: translateY(-2px);
    }
.contact:active{
      transform: translateY(1px);
    }
.contact:focus-visible{
      outline: 3px solid rgba(217, 70, 69, 0.24);
      outline-offset: 4px;
    }
.contact{
      color: var(--text);
      background: var(--surface);
      box-shadow: var(--raised-soft);
    }
.contact{width:100%}.contact:hover,.contact:focus-visible{color:var(--text);background:var(--surface)}
footer{flex-direction:row;flex-wrap:nowrap;border-radius:24px;padding:18px 22px}footer .footer-logo{width:clamp(56px,8.5vw,87px)}
@media(max-width:620px){.shell{padding:24px 16px}.topbar{padding:12px;gap:10px}.topbar img{width:72px}.topbar .header-login{font-size:12px;padding:10px 14px}main{padding:28px 24px}footer{padding:18px 12px;gap:8px}footer .footer-logo{width:48px}}

/* v018: one footer-logo size shared by all header/footer controls. */
:root{--chrome-width:clamp(56px,8.5vw,87px);--chrome-height:calc(var(--chrome-width)*110/313)}
body .topbar,body .account-topbar{min-height:0;padding:18px 22px;flex-direction:row;flex-wrap:nowrap;align-items:center}
body .topbar .brand,body .topbar>a,body .account-brand{width:var(--chrome-width);height:var(--chrome-height);min-width:0;padding:0;margin:0;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}
body .topbar .brand-logo,body .topbar img,body .account-brand .brand-logo,body footer .footer-logo,body .account-footer .footer-logo{display:block;width:var(--chrome-width);height:var(--chrome-height);object-fit:contain;flex-shrink:0}
body .topbar .header-login,body .topbar .nav-link,body .account-topbar .logout-button,body .account-topbar .preview-header-login{width:var(--chrome-width);height:var(--chrome-height);min-height:0;padding:0;margin:0;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;white-space:nowrap}
body .wallet{height:var(--chrome-height);align-items:center}
body footer,body .account-footer{padding:18px 22px;min-height:0;flex-direction:row;flex-wrap:nowrap;align-items:center}
@media(max-width:620px){:root{--chrome-width:48px}body .topbar,body .account-topbar,body footer,body .account-footer{padding:18px 12px}body .topbar .header-login,body .topbar .nav-link,body .account-topbar .logout-button,body .account-topbar .preview-header-login{font-size:8px}body .wallet-label{font-size:9px}body .wallet-balance{font-size:12px}body .account-header-actions{gap:8px}}
