:root{
  --ej-ink:#17212d;
  --ej-navy:#122850;
  --ej-navy-2:#0b1d3b;
  --ej-red:#d4382a;
  --ej-red-dark:#b92b20;
  --ej-paper:#f5f2ec;
  --ej-white:#fff;
  --ej-muted:#687381;
  --ej-line:#dfe5ec;
  --ej-soft:#edf3f8;
  --ej-green:#2f8d4e;
  --ej-shadow:0 18px 54px rgba(18,40,80,.12);
  --ej-radius:22px;
  --ej-container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ej-ink);background:var(--ej-paper);font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body.ej-menu-open{overflow:hidden}
a{color:inherit}
button,input,select,textarea{font:inherit}
.ej-public-shell{min-height:100vh;display:flex;flex-direction:column}
.ej-public-main{flex:1}
.ej-container{width:min(var(--ej-container),calc(100% - 40px));margin-inline:auto}
.ej-public-header{position:sticky;top:0;z-index:1000;background:rgba(11,29,59,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1);color:#fff}
.ej-public-header__inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ej-public-brand{display:flex;align-items:center;text-decoration:none;min-width:0}
.ej-public-brand img{display:block;width:auto;height:48px;max-width:230px;object-fit:contain}
.ej-public-nav{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.ej-public-nav a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 12px;border-radius:999px;text-decoration:none;color:rgba(255,255,255,.82);font-size:14px;font-weight:700;transition:.2s ease}
.ej-public-nav a:hover,.ej-public-nav a.active{color:#fff;background:rgba(255,255,255,.1)}
.ej-public-nav .ej-public-nav__primary{background:var(--ej-red);color:#fff;padding-inline:17px}
.ej-public-nav .ej-public-nav__primary:hover{background:var(--ej-red-dark)}
.ej-public-nav .ej-public-nav__account{border:1px solid rgba(255,255,255,.28);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ej-public-nav .ej-public-nav__logout{opacity:.72;padding-inline:9px}
.ej-public-menu-btn{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
.ej-public-menu-btn span,.ej-public-menu-btn::before,.ej-public-menu-btn::after{content:'';display:block;width:20px;height:2px;margin:4px auto;background:currentColor;border-radius:2px;transition:.2s ease}
.ej-public-menu-btn[aria-expanded=true] span{opacity:0}.ej-public-menu-btn[aria-expanded=true]::before{transform:translateY(6px) rotate(45deg)}.ej-public-menu-btn[aria-expanded=true]::after{transform:translateY(-6px) rotate(-45deg)}
.ej-page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--ej-navy-2),var(--ej-navy));color:#fff;padding:74px 0 92px}
.ej-page-hero::before{content:'';position:absolute;inset:auto -12% -70% 36%;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(212,56,42,.24),transparent 65%)}
.ej-page-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:50px;align-items:center}
.ej-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:17px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;color:#f2b3ab}
.ej-eyebrow::before{content:'';width:28px;height:2px;background:var(--ej-red)}
.ej-display{margin:0;font-family:'Fraunces',Georgia,serif;font-size:clamp(42px,7vw,76px);line-height:.96;letter-spacing:-.035em}
.ej-lead{max-width:720px;margin:20px 0 0;color:#d9e4f1;font-size:clamp(17px,2vw,20px);line-height:1.65}
.ej-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.ej-card{background:#fff;border:1px solid rgba(18,40,80,.08);border-radius:var(--ej-radius);box-shadow:var(--ej-shadow)}
.ej-card--padded{padding:28px}
.ej-card h1,.ej-card h2,.ej-card h3{margin-top:0}
.ej-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 19px;border:0;border-radius:999px;background:var(--ej-red);color:#fff;text-decoration:none;font-weight:850;cursor:pointer;transition:.2s ease}
.ej-btn:hover{background:var(--ej-red-dark);transform:translateY(-1px)}
.ej-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.ej-btn--navy{background:var(--ej-navy)}.ej-btn--navy:hover{background:var(--ej-navy-2)}
.ej-btn--light{background:var(--ej-soft);color:var(--ej-navy)}.ej-btn--light:hover{background:#dfe9f2}
.ej-btn--outline{background:transparent;border:1px solid currentColor;color:var(--ej-navy)}.ej-btn--outline:hover{background:var(--ej-navy);color:#fff}
.ej-btn--white{background:#fff;color:var(--ej-navy)}.ej-btn--white:hover{background:#f0f4f8}
.ej-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ej-field{display:flex;flex-direction:column;gap:7px}.ej-field--full{grid-column:1/-1}
.ej-field label{font-size:14px;font-weight:800;color:#263445}
.ej-field input,.ej-field select,.ej-field textarea{width:100%;border:1px solid #cfd7e1;border-radius:13px;background:#fff;padding:13px 14px;color:var(--ej-ink);outline:none;transition:.2s ease}
.ej-field textarea{resize:vertical;min-height:125px}
.ej-field input:focus,.ej-field select:focus,.ej-field textarea:focus{border-color:var(--ej-navy);box-shadow:0 0 0 4px rgba(18,40,80,.1)}
.ej-field-help,.ej-muted{color:var(--ej-muted);font-size:13px;line-height:1.55}
.ej-alert{display:none;margin:14px 0;padding:12px 14px;border-radius:13px;font-size:14px;line-height:1.5}.ej-alert.show{display:block}.ej-alert--ok{background:#e8f6ec;color:#1d6f39;border:1px solid #bfe3c8}.ej-alert--error{background:#fdecea;color:#962217;border:1px solid #f4c4be}.ej-alert--info{background:#eaf2fb;color:#164c7d;border:1px solid #bfd5eb}
.ej-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--ej-soft);color:var(--ej-navy);font-size:12px;font-weight:800}
.ej-empty{text-align:center;padding:48px 22px;color:var(--ej-muted)}.ej-empty i{font-size:32px;color:#a9b5c2;margin-bottom:12px}
.ej-section{padding:66px 0}
.ej-section-title{font-family:'Fraunces',Georgia,serif;font-size:clamp(34px,5vw,52px);line-height:1.05;margin:0 0 14px}
.ej-public-footer{margin-top:auto;background:#0a152a;color:rgba(255,255,255,.68)}
.ej-public-footer__inner{padding:52px 0 24px}
.ej-public-footer__top{display:grid;grid-template-columns:minmax(280px,1.5fr) repeat(2,minmax(150px,.65fr));gap:40px;padding-bottom:34px}
.ej-public-footer__brand img{height:54px;width:auto;display:block;margin-bottom:16px}.ej-public-footer__brand p{max-width:520px;margin:0;line-height:1.7}
.ej-public-footer h4{margin:0 0 15px;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.ej-public-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}.ej-public-footer a{text-decoration:none;color:rgba(255,255,255,.68)}.ej-public-footer a:hover{color:#fff}
.ej-public-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:13px}.ej-public-footer__credit a{color:#fff;font-weight:800}.ej-public-footer__heart{color:var(--ej-red)}
.ej-auth-shell{padding:54px 0 72px}.ej-auth-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.72fr);gap:28px;align-items:stretch}.ej-auth-copy{padding:50px;background:linear-gradient(145deg,var(--ej-navy-2),var(--ej-navy));color:#fff;border-radius:28px;position:relative;overflow:hidden}.ej-auth-copy::after{content:'';position:absolute;width:340px;height:340px;border-radius:50%;right:-160px;bottom:-190px;background:rgba(212,56,42,.35)}.ej-auth-copy>*{position:relative;z-index:1}.ej-auth-copy h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(42px,5vw,64px);line-height:.98;margin:0 0 18px}.ej-auth-copy p{color:#dbe5f0;line-height:1.65;font-size:18px}.ej-benefits{display:grid;gap:13px;margin-top:30px}.ej-benefit{display:flex;gap:11px;align-items:flex-start}.ej-benefit i{color:#f2b3ab;margin-top:3px}.ej-auth-card{padding:34px}.ej-auth-card h2{font-family:'Fraunces',Georgia,serif;font-size:38px;margin:0 0 8px}.ej-auth-card .ej-btn{width:100%;margin-top:8px}.ej-auth-links{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:19px;font-size:14px;font-weight:800}.ej-auth-links a{color:var(--ej-navy)}
@media(max-width:980px){.ej-public-menu-btn{display:block}.ej-public-nav{display:none;position:fixed;inset:76px 0 auto;background:#0b1d3b;padding:16px 20px 24px;flex-direction:column;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 18px 40px rgba(0,0,0,.3)}.ej-public-nav.open{display:flex}.ej-public-nav a{justify-content:flex-start;padding:0 15px}.ej-public-nav .ej-public-nav__account{max-width:none}.ej-page-hero__grid,.ej-auth-grid{grid-template-columns:1fr}.ej-page-hero{padding:58px 0 76px}.ej-auth-copy{padding:38px}.ej-public-footer__top{grid-template-columns:1fr 1fr}.ej-public-footer__brand{grid-column:1/-1}}
@media(max-width:680px){.ej-container{width:min(100% - 28px,var(--ej-container))}.ej-public-header__inner{min-height:68px}.ej-public-brand img{height:41px}.ej-public-nav{inset:68px 0 auto}.ej-form-grid{grid-template-columns:1fr}.ej-auth-shell{padding:28px 0 52px}.ej-auth-copy,.ej-auth-card,.ej-card--padded{padding:24px;border-radius:19px}.ej-public-footer__top{grid-template-columns:1fr}.ej-public-footer__brand{grid-column:auto}.ej-display{font-size:46px}.ej-page-hero{padding:48px 0 64px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
