:root{
  --auth-navy:#071c3b;
  --auth-navy-soft:#183253;
  --auth-gold:#c9912d;
  --auth-gold-light:#efcc77;
  --auth-ink:#0c1b33;
  --auth-muted:#52627a;
  --auth-line:#dfe4ea;
  --auth-bg:#ffffff;
  --auth-soft:#f7f8fa;
  --auth-danger:#b42318;
  --auth-success:#20734c;
}
html{scroll-behavior:smooth}
html,body{min-height:100%;overflow-x:hidden}
body.auth-pending{overflow-y:auto;background:var(--auth-bg)}
.auth-gateway{
  position:relative;
  z-index:9999;
  min-height:100dvh;
  height:auto;
  overflow:visible;
  color:var(--auth-ink);
  background:
    radial-gradient(circle at 88% 16%,rgba(201,145,45,.08),transparent 25rem),
    linear-gradient(180deg,#fff,#fbfbfc);
}
.auth-gateway[hidden]{display:none}
.auth-site-header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  width:min(1440px,calc(100% - 56px));
  margin:0 auto;
  padding:25px 0;
  border-bottom:1px solid rgba(12,27,51,.08);
}
.auth-brand-lockup{display:flex;align-items:center;gap:16px;color:inherit;text-decoration:none}
.auth-brand-lockup img{width:142px;height:auto}
.auth-brand-lockup span{display:grid;line-height:1}
.auth-brand-lockup strong{font-family:Georgia,serif;font-size:23px;letter-spacing:.12em;text-transform:uppercase}
.auth-brand-lockup b{margin-top:5px;color:var(--auth-gold);font-size:16px;letter-spacing:.24em;text-transform:uppercase}
.auth-brand-lockup small{margin-top:8px;color:var(--auth-muted);font-size:9px;letter-spacing:.22em;text-transform:uppercase}
.auth-site-header nav{display:flex;gap:30px}
.auth-site-header nav a{color:var(--auth-ink);font-size:15px;text-decoration:none}
.auth-main{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
  gap:clamp(45px,7vw,110px);
  align-items:start;
  width:min(1440px,calc(100% - 56px));
  margin:0 auto;
  padding:68px 0 82px;
}
.auth-intro{padding:38px 0 0}
.auth-kicker{color:var(--auth-gold);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.auth-intro h1{
  max-width:650px;
  margin:15px 0 22px;
  color:var(--auth-navy);
  font-family:Georgia,serif;
  font-size:clamp(48px,5.8vw,82px);
  line-height:1.03;
  letter-spacing:-.035em;
}
.auth-intro h1 span{color:var(--auth-gold)}
.auth-intro>p{max-width:690px;color:var(--auth-muted);font-size:clamp(18px,1.55vw,23px);line-height:1.65}
.auth-benefits{display:grid;gap:23px;margin-top:42px}
.auth-benefits article{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start}
.auth-benefits article>span{
  display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(201,145,45,.28);
  border-radius:50%;color:var(--auth-gold);font-size:13px;font-weight:900
}
.auth-benefits strong{display:block;color:var(--auth-navy);font-size:18px}
.auth-benefits p{margin:6px 0 0;color:var(--auth-muted);font-size:15px;line-height:1.55}
.auth-access-panel{display:grid;align-items:start;min-width:0}
.auth-card{
  width:100%;
  padding:clamp(32px,4vw,54px);
  border:1px solid var(--auth-line);
  border-radius:24px;
  background:rgba(255,255,255,.98);
  box-shadow:0 26px 72px rgba(7,28,59,.12);
}
.auth-card h2{margin:10px 0 8px;color:var(--auth-navy);font-family:Georgia,serif;font-size:clamp(36px,4vw,56px);line-height:1.08}
.auth-copy{margin:0 0 26px;color:var(--auth-muted);font-size:17px;line-height:1.6}
.auth-tabs{
  display:grid;grid-template-columns:1fr 1fr;margin-bottom:26px;
  border-bottom:1px solid var(--auth-line)
}
.auth-tabs button{
  min-height:52px;border:0;border-bottom:3px solid transparent;background:transparent;
  color:var(--auth-muted);font-size:17px;font-weight:750
}
.auth-tabs button.active{border-bottom-color:var(--auth-gold);color:var(--auth-gold)}
.auth-form{display:grid;gap:18px}
.auth-form[hidden]{display:none}
.auth-form label{display:grid;gap:9px;color:var(--auth-ink);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.auth-form input{
  width:100%;min-height:61px;border:1px solid #cdd5df;border-radius:11px;
  background:#fff;padding:0 18px;color:var(--auth-ink);font:inherit;font-size:17px
}
.auth-form input::placeholder{color:#9099a7}
.auth-form input:focus{outline:4px solid rgba(201,145,45,.14);border-color:var(--auth-gold)}
.auth-row{display:flex;justify-content:space-between;align-items:center;gap:18px}
.auth-check{
  display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important;
  color:var(--auth-muted)!important;font-size:14px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important
}
.auth-check input{width:18px;min-height:auto;height:18px;accent-color:var(--auth-gold)}
.auth-link{border:0;background:transparent;color:var(--auth-gold);font-size:14px;font-weight:750}
.auth-submit{
  min-height:62px;margin-top:2px;border:0;border-radius:11px;
  background:linear-gradient(135deg,var(--auth-gold-light),var(--auth-gold));
  color:#fff;font-size:18px;font-weight:900;box-shadow:0 14px 28px rgba(201,145,45,.2)
}
.auth-message{
  min-height:24px;margin-top:17px;padding:0;color:var(--auth-danger);font-size:14px;font-weight:700;line-height:1.45
}
.auth-message.good{color:var(--auth-success)}
.auth-status{
  margin-top:18px;padding:16px;border:1px solid var(--auth-line);border-radius:12px;
  background:var(--auth-soft);color:var(--auth-muted);font-size:13px;line-height:1.55
}
.auth-proof{
  display:grid;grid-template-columns:repeat(4,1fr);
  width:100%;padding:34px max(28px,calc((100% - 1440px)/2));
  border-top:1px solid var(--auth-line);border-bottom:1px solid var(--auth-line);
  background:#faf9f6
}
.auth-proof article{padding:12px 28px;border-right:1px solid var(--auth-line)}
.auth-proof article:last-child{border-right:0}
.auth-proof strong{display:block;color:var(--auth-navy);font-size:18px}
.auth-proof span{display:block;margin-top:8px;color:var(--auth-muted);font-size:14px;line-height:1.5}
.auth-footer{
  display:flex;justify-content:space-between;gap:20px;
  width:min(1440px,calc(100% - 56px));margin:0 auto;padding:28px 0;
  color:var(--auth-muted);font-size:13px
}
.auth-userbar{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;align-items:center;gap:10px;padding:8px 9px 8px 13px;border:1px solid rgba(201,145,45,.25);border-radius:999px;background:rgba(7,28,59,.95);color:#fff;box-shadow:0 12px 32px rgba(7,28,59,.28)}
.auth-userbar[hidden]{display:none}.auth-userbar span{font-size:11px}.auth-userbar button{min-height:31px;padding:6px 10px;border:0;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:11px}
body.auth-pending .app-shell{visibility:hidden}
@media(max-width:1000px){
  .auth-site-header{width:min(100% - 32px,900px)}
  .auth-site-header nav{display:none}
  .auth-main{grid-template-columns:1fr;width:min(100% - 32px,760px);padding:38px 0 54px}
  .auth-intro{padding-top:0}
  .auth-intro h1{font-size:clamp(44px,11vw,68px)}
  .auth-proof{grid-template-columns:repeat(2,1fr);padding:26px 16px}
  .auth-proof article:nth-child(2){border-right:0}
  .auth-proof article:nth-child(-n+2){border-bottom:1px solid var(--auth-line)}
  .auth-footer{width:calc(100% - 32px)}
}
@media(max-width:620px){
  .auth-site-header{padding:18px 0}.auth-brand-lockup img{width:105px}
  .auth-brand-lockup strong{font-size:17px}.auth-brand-lockup b{font-size:12px}
  .auth-main{width:calc(100% - 22px);padding-top:28px}
  .auth-intro h1{font-size:43px}
  .auth-intro>p{font-size:18px}
  .auth-benefits article{grid-template-columns:44px 1fr}.auth-benefits article>span{width:42px;height:42px}
  .auth-card{padding:25px 18px;border-radius:18px}
  .auth-card h2{font-size:35px}
  .auth-form input{min-height:59px;font-size:17px}
  .auth-row{align-items:flex-start;flex-direction:column}
  .auth-proof{grid-template-columns:1fr}.auth-proof article{border-right:0!important;border-bottom:1px solid var(--auth-line)}
  .auth-proof article:last-child{border-bottom:0}
  .auth-footer{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* KERNSTEAD V14.1 VISUAL POLISH START */

:root {
  --auth-page-max: 1440px;
  --auth-page-padding: clamp(18px, 3vw, 42px);
  --auth-panel-radius: 28px;
  --auth-field-radius: 14px;
  --auth-ink-strong: #071c3c;
  --auth-ink-soft: #53627a;
  --auth-accent: #cc9224;
  --auth-accent-light: #f2ca6a;
  --auth-line: rgba(7, 28, 60, 0.11);
  --auth-surface: rgba(255, 255, 255, 0.94);
  --auth-shadow:
    0 26px 70px rgba(7, 28, 60, 0.10),
    0 8px 24px rgba(7, 28, 60, 0.06);
}

body.auth-pending {
  min-width: 320px;
  margin: 0;
  color: var(--auth-ink-strong);
  background:
    radial-gradient(
      circle at 88% 8%,
      rgba(204, 146, 36, 0.10),
      transparent 30rem
    ),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.auth-gateway {
  box-sizing: border-box;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  padding-inline: var(--auth-page-padding);
}

.auth-site-header {
  width: min(100%, var(--auth-page-max));
  margin-inline: auto;
  padding-block: 20px;
  border-bottom: 1px solid var(--auth-line);
}

.auth-site-header,
.auth-site-header nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.auth-site-header nav {
  gap: clamp(18px, 2.8vw, 38px);
}

.auth-site-header nav a {
  position: relative;
  padding-block: 10px;
  color: var(--auth-ink-strong);
  font-weight: 600;
  text-decoration: none;
}

.auth-site-header nav a::after {
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 2px;
  content: "";
  background: var(--auth-accent);
  border-radius: 999px;
  transform: scaleX(0);
  transition: transform 180ms ease;
}

.auth-site-header nav a:hover::after,
.auth-site-header nav a:focus-visible::after {
  transform: scaleX(1);
}

.auth-brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: inherit;
  text-decoration: none;
}

.auth-brand-lockup > span {
  display: grid;
  gap: 2px;
}

.auth-brand-lockup strong {
  color: var(--auth-ink-strong);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.28rem, 2vw, 1.58rem);
  line-height: 1;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.auth-brand-lockup b {
  color: var(--auth-accent);
  font-size: 0.86rem;
  line-height: 1.2;
  letter-spacing: 0.30em;
  text-transform: uppercase;
}

.auth-brand-lockup small {
  color: var(--auth-ink-soft);
  font-size: 0.62rem;
  line-height: 1.2;
  letter-spacing: 0.23em;
  text-transform: uppercase;
}

.auth-main {
  box-sizing: border-box;
  display: grid;
  width: min(100%, var(--auth-page-max));
  margin: auto;
  padding-block: clamp(44px, 7vh, 84px);
  grid-template-columns:
    minmax(0, 1.02fr)
    minmax(420px, 0.98fr);
  gap: clamp(42px, 6vw, 88px);
  align-items: center;
}

.auth-intro {
  max-width: 700px;
}

.auth-kicker {
  margin-bottom: 20px;
  color: var(--auth-accent);
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.auth-intro h1 {
  max-width: 760px;
  margin: 0;
  color: var(--auth-ink-strong);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.5rem, 5.7vw, 6rem);
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.auth-intro h1 span {
  color: var(--auth-accent);
}

.auth-intro > p {
  max-width: 60ch;
  margin: 28px 0 0;
  color: var(--auth-ink-soft);
  font-size: clamp(1.06rem, 1.35vw, 1.24rem);
  line-height: 1.68;
}

.auth-benefits {
  display: grid;
  margin-top: 34px;
  gap: 0;
}

.auth-benefits article {
  display: grid;
  padding-block: 17px;
  border-top: 1px solid var(--auth-line);
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.auth-benefits article:first-child {
  border-top: 0;
}

.auth-benefits article > span {
  display: grid;
  width: 46px;
  height: 46px;
  color: var(--auth-accent);
  border: 1px solid rgba(204, 146, 36, 0.30);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.72);
  font-size: 0.76rem;
  font-weight: 800;
  place-items: center;
}

.auth-benefits strong {
  display: block;
  margin-bottom: 5px;
  color: var(--auth-ink-strong);
  font-size: 1.04rem;
}

.auth-benefits p {
  margin: 0;
  color: var(--auth-ink-soft);
  line-height: 1.55;
}

.auth-access-panel {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 680px;
  justify-self: end;
  overflow: hidden;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid rgba(7, 28, 60, 0.12);
  border-radius: var(--auth-panel-radius);
  background: var(--auth-surface);
  box-shadow: var(--auth-shadow);
  backdrop-filter: blur(16px);
}

.auth-access-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  content: "";
  background:
    linear-gradient(
      90deg,
      var(--auth-accent-light),
      var(--auth-accent)
    );
}

.auth-access-panel h2 {
  margin: 0;
  color: var(--auth-ink-strong);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.45rem, 4vw, 4.2rem);
  line-height: 1;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.auth-access-panel > p {
  color: var(--auth-ink-soft);
  font-size: 1.04rem;
  line-height: 1.6;
}

.auth-tabs {
  margin-top: 28px;
}

.auth-card label {
  color: var(--auth-ink-strong);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.auth-card input {
  box-sizing: border-box;
  min-height: 60px;
  border: 1px solid rgba(7, 28, 60, 0.16);
  border-radius: var(--auth-field-radius);
  background: rgba(255, 255, 255, 0.92);
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    background-color 160ms ease;
}

.auth-card input:hover {
  border-color: rgba(7, 28, 60, 0.30);
}

.auth-card input:focus {
  border-color: var(--auth-accent);
  outline: none;
  background: #ffffff;
  box-shadow:
    0 0 0 4px rgba(204, 146, 36, 0.14);
}

.auth-card button[type="submit"] {
  min-height: 62px;
  border: 0;
  border-radius: var(--auth-field-radius);
  background:
    linear-gradient(
      120deg,
      var(--auth-accent-light),
      var(--auth-accent)
    );
  box-shadow: 0 12px 30px rgba(204, 146, 36, 0.19);
  font-size: 1.04rem;
  font-weight: 800;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    filter 160ms ease;
}

.auth-card button[type="submit"]:hover {
  filter: saturate(1.06);
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(204, 146, 36, 0.25);
}

.auth-card button[type="submit"]:active {
  transform: translateY(0);
}

.auth-status {
  margin-top: 28px;
  padding: 17px 18px;
  border: 1px solid rgba(7, 28, 60, 0.09);
  border-radius: 15px;
  background: rgba(248, 250, 252, 0.90);
  color: var(--auth-ink-soft);
  line-height: 1.55;
}

.auth-proof {
  display: grid;
  width: min(100%, var(--auth-page-max));
  margin-inline: auto;
  padding-block: 24px;
  border-top: 1px solid var(--auth-line);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.auth-proof article {
  min-width: 0;
  padding: 14px clamp(18px, 2.2vw, 30px);
  border-left: 1px solid var(--auth-line);
}

.auth-proof article:first-child {
  padding-left: 0;
  border-left: 0;
}

.auth-proof article:last-child {
  padding-right: 0;
}

.auth-proof strong {
  display: block;
  margin-bottom: 8px;
  color: var(--auth-ink-strong);
  font-size: 1rem;
}

.auth-proof span {
  color: var(--auth-ink-soft);
  line-height: 1.5;
}

.auth-gateway footer,
.auth-footer {
  width: min(100%, var(--auth-page-max));
  margin-inline: auto;
  padding-block: 20px 26px;
  color: var(--auth-ink-soft);
  border-top: 1px solid var(--auth-line);
  font-size: 0.82rem;
}

.auth-gateway a:focus-visible,
.auth-gateway button:focus-visible,
.auth-gateway input:focus-visible {
  outline: 3px solid rgba(204, 146, 36, 0.34);
  outline-offset: 3px;
}

@media (max-width: 1040px) {
  .auth-main {
    max-width: 820px;
    padding-block: 48px;
    grid-template-columns: 1fr;
  }

  .auth-intro,
  .auth-access-panel {
    max-width: none;
  }

  .auth-access-panel {
    justify-self: stretch;
  }

  .auth-proof {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .auth-proof article:nth-child(3) {
    border-left: 0;
  }
}

@media (max-width: 680px) {
  .auth-gateway {
    padding-inline: 16px;
  }

  .auth-site-header {
    align-items: flex-start;
    gap: 16px;
  }

  .auth-site-header nav {
    gap: 14px;
    font-size: 0.86rem;
  }

  .auth-main {
    padding-block: 34px;
    gap: 34px;
  }

  .auth-intro h1 {
    font-size: clamp(3rem, 15vw, 4.35rem);
  }

  .auth-access-panel {
    padding: 24px 20px;
    border-radius: 22px;
  }

  .auth-proof {
    grid-template-columns: 1fr;
  }

  .auth-proof article,
  .auth-proof article:first-child,
  .auth-proof article:last-child {
    padding: 18px 0;
    border-top: 1px solid var(--auth-line);
    border-left: 0;
  }

  .auth-proof article:first-child {
    border-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .auth-gateway *,
  .auth-gateway *::before,
  .auth-gateway *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* KERNSTEAD V14.1 VISUAL POLISH END */
