/* ARIEA auth site shell v0.1.13 - mobile hamburger and close-button alignment fix */
:root{
  --brand-green:#2f6f55;
  --brand-green-bright:#4fa174;
  --brand-cream:#f6f1e8;
  --brand-ink:#17342b;
  --brand-muted:#63766e;
  --brand-gold:#d9aa3f;
  --brand-deep:#10251f;
  --brand-deep-2:#18382f;
  --brand-line:rgba(24,56,47,.14);
  --brand-soft:#eef6f1;
  --brand-warm:#f3e7c5;
  --brand-active-soft:#dcefe5;
  --card:#ffffff;
  --border:rgba(23,52,43,.16);
  --shadow:0 24px 70px rgba(23,52,43,.15);
  --container:1800px;
  --container-vw:90vw;
}
*{box-sizing:border-box}
/* ARIEA mobile viewport overflow guard v0.1.14 */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
@supports (overflow: clip) {
  html, body { overflow-x: clip; }
}
.site-header, .top-strip, main, footer {
  max-width: 100%;
}

html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--brand-ink);
  background:
    radial-gradient(circle at top left, rgba(79,161,116,.18), transparent 34rem),
    linear-gradient(180deg, #f8fbf8 0%, #ffffff 52%, rgba(79,161,116,.08) 100%);
  line-height:1.55;
  overflow-x:hidden;
}
a{color:var(--brand-green);font-weight:800;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}

.top-strip{
  background:var(--brand-green);
  color:rgba(255,255,255,.88);
  font-size:.84rem;
  letter-spacing:.01em;
}
.top-strip-inner{
  width:min(var(--container), var(--container-vw));
  margin:0 auto;
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.top-strip strong{color:#f7d36a;font-weight:850}
.top-strip a{color:#fff;font-weight:700;text-decoration:none}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:var(--brand-cream);
  backdrop-filter:blur(18px);
  border-bottom:4px solid var(--brand-green);
  box-shadow:0 10px 24px rgba(13,35,27,.08);
}
.nav-shell{
  width:min(var(--container), var(--container-vw));
  margin:0 auto;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-width:330px;
  color:var(--brand-deep);
  text-decoration:none;
}
.brand:hover{text-decoration:none}
.brand-logo{
  width:64px;
  min-width:64px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.brand-logo img{width:64px!important;max-width:64px!important;height:auto!important;max-height:64px!important;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font-size:1.01rem;letter-spacing:-.035em;color:var(--brand-deep)}
.brand-copy span{font-size:.72rem;color:var(--brand-muted);margin-top:5px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.desktop-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  font-weight:740;
  color:var(--brand-deep-2);
  font-size:.94rem;
}
.desktop-nav a{
  padding:10px 12px;
  border-radius:999px;
  color:var(--brand-deep-2);
  text-decoration:none;
  transition:background .18s ease,color .18s ease,transform .18s ease;
  white-space:nowrap;
}
.desktop-nav a:hover,.desktop-nav a.active{background:var(--brand-active-soft);color:var(--brand-deep);text-decoration:none}
/* Sign Up / Login should match the main homepage nav: a plain text nav link, not a CTA pill. */
.login-link{
  color:var(--brand-deep-2)!important;
  background:transparent!important;
  padding:10px 12px!important;
  box-shadow:none!important;
}
.login-link:hover{background:var(--brand-active-soft)!important;color:var(--brand-deep)!important;transform:none!important}
.buybox-link{
  color:#101a16!important;
  background:var(--brand-gold)!important;
  padding:12px 18px!important;
  margin-left:6px;
  box-shadow:0 12px 28px rgba(111,82,11,.16);
}
.buybox-link:hover{transform:translateY(-1px);filter:brightness(.98)}
.match-link{
  color:#fff!important;
  background:#0d251e!important;
  padding:12px 18px!important;
  box-shadow:0 12px 28px rgba(16,37,31,.18);
}
.match-link:hover{transform:translateY(-1px);background:var(--brand-deep-2)!important}
.mobile-menu-button{
  display:none;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--brand-line);
  background:#fff;
  color:var(--brand-deep);
  border-radius:14px;
  width:46px;
  min-width:46px;
  height:46px;
  min-height:46px;
  padding:0!important;
  margin-left:auto;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(16,37,31,.08);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  line-height:1;
}
.mobile-menu-button span{
  display:block;
  flex:0 0 auto;
  width:20px;
  height:2px;
  background:currentColor;
  margin:0;
  border-radius:999px;
  transition:transform .2s ease,opacity .2s ease;
}
.mobile-menu-button[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-menu-button[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu-button[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav-backdrop{
  position:fixed;
  inset:0;
  z-index:80;
  background:rgba(10,33,27,.62);
  backdrop-filter:blur(7px);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}
.mobile-nav-backdrop.is-open{opacity:1;pointer-events:auto}
.mobile-nav{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:90;
  width:min(392px, calc(100dvw - 54px));
  max-width:calc(100dvw - 54px);
  height:100vh;
  height:100dvh;
  margin:0;
  padding:22px 16px 16px;
  display:flex;
  flex-direction:column;
  gap:14px;
  background:linear-gradient(180deg,#102f27 0%,#143f34 100%);
  border-left:1px solid rgba(255,255,255,.12);
  box-shadow:-26px 0 70px rgba(5,23,18,.38);
  transform:translate3d(100%,0,0);
  visibility:hidden;
  transition:transform .28s ease,visibility .28s ease;
}
.mobile-nav.is-open{transform:translate3d(0,0,0);visibility:visible}
/* v0.1.14 mobile drawer off-canvas hardening */
.mobile-nav {
  overflow-x: hidden;
  overscroll-behavior: contain;
  contain: paint;
  will-change: transform;
}
.mobile-nav:not(.is-open) {
  box-shadow: none;
  pointer-events: none;
}
.mobile-nav.is-open {
  pointer-events: auto;
}

body.mobile-nav-open{overflow:hidden;max-width:100%}
.mobile-nav-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}
.mobile-nav-brand{min-width:0;display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.mobile-nav-brand:hover{text-decoration:none}
.mobile-nav-logo{width:54px;min-width:54px;height:54px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.16)}
.mobile-nav-logo img{width:50px!important;max-width:50px!important;height:auto!important;max-height:50px!important;object-fit:contain}
.mobile-nav-copy{min-width:0;display:flex;flex-direction:column;line-height:1.05}
.mobile-nav-copy strong{max-width:185px;color:#fff;font-size:.69rem;font-weight:900;text-transform:uppercase;letter-spacing:.02em;line-height:1.08}
.mobile-nav-copy span{margin-top:6px;color:var(--brand-warm);font-size:.65rem;font-weight:900;letter-spacing:.12em;line-height:1.1;text-transform:uppercase}
.mobile-nav-close{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 42px;
  width:42px;
  min-width:42px;
  height:42px;
  min-height:42px;
  padding:0!important;
  margin:0;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:0;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  overflow:hidden;
}
.mobile-nav-close::before,.mobile-nav-close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:17px;
  height:2.5px;
  border-radius:999px;
  background:currentColor;
  transform-origin:center;
}
.mobile-nav-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.mobile-nav-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.mobile-nav-close:hover{background:rgba(255,255,255,.12);text-decoration:none}
.mobile-nav-close:focus-visible{outline:3px solid rgba(243,231,197,.75);outline-offset:3px}
.mobile-nav-rule{height:1px;background:rgba(255,255,255,.14);margin:2px 0 4px}
.mobile-nav-list{display:grid;gap:10px}
.mobile-nav-item{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:13px;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-weight:850;box-shadow:0 8px 22px rgba(0,0,0,.08);text-decoration:none}
.mobile-nav-item:hover,.mobile-nav-item.active{background:rgba(255,255,255,.10);border-color:rgba(243,231,197,.55);text-decoration:none}
.mobile-nav-item .mobile-nav-arrow{color:var(--brand-warm);font-weight:900}
.mobile-nav-spacer{flex:0 0 clamp(42px,7vh,64px)}
.mobile-nav-actions{display:grid;gap:10px;padding-bottom:max(0px, env(safe-area-inset-bottom))}
.mobile-action{min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:999px;font-weight:900;text-align:center;box-shadow:0 16px 32px rgba(0,0,0,.14);text-decoration:none}
.mobile-action:hover{text-decoration:none}
.mobile-action-buybox{background:var(--brand-warm);color:var(--brand-deep)}
.mobile-action-matches{background:var(--brand-green-bright);color:#fff}

.auth-main{
  overflow:hidden;
  min-height:calc(100vh - 104px);
  background:
    radial-gradient(circle at 14% 18%, rgba(79,161,116,.18), transparent 30rem),
    radial-gradient(circle at 86% 88%, rgba(47,111,85,.10), transparent 32rem),
    linear-gradient(180deg,#f8fbf8 0%,#ffffff 100%);
}
.auth-shell{
  width:min(100% - 32px, 760px);
  margin:0 auto;
  padding:clamp(38px, 7vw, 86px) 0 clamp(52px, 8vw, 96px);
}
.auth-card{
  background:rgba(255,255,255,.95);
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:clamp(24px,4vw,44px);
}
.auth-brand{margin-bottom:26px}
.brand-kicker{color:var(--brand-green);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900}
h1{margin:.35rem 0 .6rem;font-size:clamp(2rem,5vw,3.2rem);line-height:1;letter-spacing:-.045em;color:var(--brand-deep)}
p{color:var(--brand-muted);line-height:1.65;margin:0 0 1rem}
.auth-form{display:grid;gap:16px;margin-top:20px}
.form-row{display:grid;gap:8px}
label{font-weight:850;color:var(--brand-ink)}
input[type="email"],input[type="password"],input[type="text"]{width:100%;border:1px solid var(--border);border-radius:16px;padding:14px 15px;font-size:1rem;background:#fff;color:var(--brand-ink)}
input:focus{outline:3px solid rgba(79,161,116,.22);border-color:var(--brand-green-bright)}
.check-row{display:flex;gap:10px;align-items:flex-start;color:var(--brand-muted);line-height:1.45}
.check-row input{margin-top:3px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:4px}
button,.button{appearance:none;border:0;border-radius:999px;padding:13px 18px;font-weight:900;font-size:1rem;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--brand-green),var(--brand-green-bright));box-shadow:0 14px 32px rgba(47,111,85,.22);text-decoration:none}
.button-secondary{color:var(--brand-ink);background:var(--brand-gold);box-shadow:0 14px 32px rgba(217,170,63,.2)}
button:hover,.button:hover{text-decoration:none;filter:brightness(.98)}
.flash{border-radius:16px;padding:13px 15px;margin:12px 0;font-weight:750}
.flash-error{background:#fff1f1;color:#842626;border:1px solid #f0b6b6}
.flash-success{background:#eef9f2;color:#245b3c;border:1px solid #bfe5cd}
.flash-info{background:#eef5ff;color:#254a78;border:1px solid #c3d7f4}
.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.metric{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fbfaf7}
.metric strong{display:block;font-size:1.5rem;letter-spacing:-.03em}
.metric span{display:block;color:var(--brand-muted);font-size:.9rem;font-weight:750;margin-top:4px}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:18px;margin-top:18px}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);white-space:nowrap}
th{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--brand-green);background:#fbfaf7}
tr:last-child td{border-bottom:0}
.small-note{font-size:.9rem;color:var(--brand-muted);margin-top:16px}
.auth-footer{background:var(--brand-deep);color:rgba(255,255,255,.72);padding:20px 0;font-size:.88rem}
.auth-footer-inner{width:min(var(--container), var(--container-vw));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px}
.auth-footer strong{color:#fff}
.auth-footer a{color:#fff;text-decoration:none}

@media(max-width:1180px){.desktop-nav{gap:2px;font-size:.9rem}.desktop-nav a{padding-inline:9px}}
@media(max-width:960px){
  .top-strip-inner{justify-content:center;text-align:center;flex-direction:column;padding:8px 0;gap:2px}
  .desktop-nav{display:none}
  .mobile-menu-button{display:inline-flex}
  .nav-shell{gap:14px}
  .brand{min-width:0;flex:1 1 auto;max-width:calc(100% - 62px);gap:10px}
  .brand-logo,.brand-logo img{width:54px;min-width:54px}
  .brand-copy{min-width:0;overflow:hidden}
  .brand-copy strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}
  .brand-copy span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;letter-spacing:.08em}
}
@media(max-width:680px){
  .auth-shell{width:min(100% - 22px,760px);padding:24px 0 42px}
  .auth-card{border-radius:22px;padding:22px}
  .account-grid{grid-template-columns:1fr}
  .btn-row{align-items:stretch}
  button,.button{width:100%;text-align:center}
  .auth-footer-inner{flex-direction:column;text-align:center}
}
@media(max-width:420px){
  .mobile-nav{width: calc(100dvw - 32px); max-width: calc(100dvw - 32px);}
  .mobile-nav-copy strong{max-width:150px}
  .brand-logo,.brand-logo img{width:48px;min-width:48px}
  .brand-copy strong{font-size:.86rem}
  .brand-copy span{font-size:.56rem;letter-spacing:.05em}
}


/* v0.1.6 hardening: auth masthead should never render naked/unstyled. */
.auth-page-ready .brand-logo img,
.auth-page-ready .mobile-nav-logo img{
  display:block!important;
}
@media (max-width:1180px){
  .desktop-nav{gap:3px;font-size:.86rem}
  .desktop-nav a{padding:9px 9px}
  .brand{min-width:300px}
}
@media (max-width:1040px){
  .desktop-nav{display:none}
  .mobile-menu-button{display:inline-flex}
  .brand{min-width:0}
}
@media (max-width:720px){
  .top-strip-inner{min-height:42px;flex-direction:column;justify-content:center;text-align:center;gap:2px;padding:6px 0}
  .brand{flex:1 1 auto;min-width:0;overflow:hidden;gap:10px}
  .brand-logo{width:52px;min-width:52px}
  .brand-logo img{width:52px!important;max-width:52px!important;max-height:52px!important}
  .brand-copy{min-width:0;overflow:hidden}
  .brand-copy strong{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand-copy span{font-size:.56rem;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nav-shell{min-height:70px;gap:10px}
}

/* v0.1.10 full MRI footer for auth pages */
.mri-footer{
  background:
    radial-gradient(circle at 16% 8%, rgba(79,161,116,.12), transparent 28%),
    linear-gradient(135deg,#071f18 0%,#0b2b22 48%,#082119 100%);
  color:rgba(255,255,255,.76);
  border-top:1px solid rgba(255,255,255,.08);
  padding:42px 0 26px;
}
.mri-footer-container{
  width:min(90vw,1760px);
  max-width:1760px;
  margin:0 auto;
}
.mri-footer-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.7fr) minmax(220px,1fr) minmax(160px,.8fr) minmax(190px,.9fr);
  gap:clamp(24px,4vw,56px);
  align-items:start;
}
.mri-footer h4{
  margin:0 0 14px;
  color:#fff;
  font-size:.9rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mri-footer p,
.mri-footer a,
.mri-footer-bottom{
  color:rgba(255,255,255,.72);
}
.mri-footer p{
  margin:0;
  max-width:520px;
  color:rgba(255,255,255,.82);
}
.mri-footer p strong{
  color:#fff;
  font-weight:900;
}
.mri-footer a{
  display:block;
  text-decoration:none;
  overflow-wrap:anywhere;
  line-height:1.35;
  margin:0 0 10px;
  font-weight:700;
}
.mri-footer a:hover{
  color:#f4d26c;
  text-decoration:underline;
  text-underline-offset:3px;
}
.mri-footer-logo-lockup{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:18px;
  flex-wrap:wrap;
}
.mri-footer-logos img{
  width:42px;
  height:42px;
  object-fit:contain;
  background:#fff;
  border-radius:8px;
  padding:5px;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
.mri-footer-logo-lockup .mri-footer-brand-logo{
  width:74px;
  height:74px;
  object-fit:contain;
  background:#fff;
  border-radius:14px;
  padding:8px;
}
.mri-footer-bottom{
  margin-top:32px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  font-size:.88rem;
}
@media(max-width:920px){
  .mri-footer{padding:34px 0 24px}
  .mri-footer-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:640px){
  .mri-footer-grid{grid-template-columns:1fr;gap:24px}
  .mri-footer-logo-lockup .mri-footer-brand-logo{width:64px;height:64px}
  .mri-footer-bottom{display:grid;gap:8px}
}

/* v0.1.15 free preview signup plan cards */
.plan-picker{
  border:0;
  margin:0 0 10px;
  padding:0;
}
.plan-picker legend{
  margin:0 0 6px;
  padding:0;
  font-size:1.05rem;
  font-weight:900;
  color:var(--brand-deep);
}
.plan-picker-help{
  margin:0 0 16px;
  color:var(--brand-muted);
  font-size:.95rem;
  line-height:1.5;
}
.plan-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.plan-choice{
  position:relative;
  display:block;
  min-width:0;
  cursor:pointer;
}
.plan-choice input[type="radio"]{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}
.plan-card{
  position:relative;
  display:flex;
  min-height:100%;
  flex-direction:column;
  gap:10px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:20px;
  background:#fff;
  color:var(--brand-ink);
  box-shadow:0 12px 36px rgba(16,37,31,.06);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.plan-choice:hover .plan-card,
.plan-choice input[type="radio"]:focus-visible + .plan-card{
  border-color:rgba(79,161,116,.72);
  box-shadow:0 18px 44px rgba(47,111,85,.14);
  transform:translateY(-1px);
}
.plan-choice input[type="radio"]:checked + .plan-card{
  border-color:var(--brand-green-bright);
  background:linear-gradient(180deg,#ffffff 0%,#f6fbf7 100%);
  box-shadow:0 20px 48px rgba(47,111,85,.18);
  outline:3px solid rgba(79,161,116,.16);
}
.plan-choice input[type="radio"]:checked + .plan-card::after{
  content:'Selected';
  position:absolute;
  right:14px;
  bottom:14px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(79,161,116,.13);
  color:var(--brand-green);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.plan-badge{
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  background:#f1dfad;
  color:#17251f;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.plan-name{
  display:block;
  padding-right:72px;
  color:var(--brand-deep);
  font-size:1.45rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
}
.plan-subtitle{
  display:block;
  color:var(--brand-green);
  font-weight:900;
  line-height:1.2;
}
.plan-price{
  display:block;
  margin-top:4px;
  color:var(--brand-ink);
  font-size:2rem;
  line-height:1;
  letter-spacing:-.06em;
  font-weight:950;
}
.plan-price small{
  margin-left:4px;
  color:var(--brand-muted);
  font-size:.9rem;
  letter-spacing:0;
  font-weight:850;
}
.plan-annual{
  display:block;
  color:var(--brand-muted);
  font-size:.78rem;
  font-weight:850;
}
.plan-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:2px;
}
.plan-metric{
  display:block;
  padding:10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#f8fbf8;
}
.plan-metric small{
  display:block;
  color:var(--brand-muted);
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.08em;
  line-height:1.15;
  text-transform:uppercase;
}
.plan-metric strong{
  display:block;
  margin-top:5px;
  color:var(--brand-ink);
  font-size:1rem;
  font-weight:950;
  line-height:1.05;
}
.plan-select-text{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin-top:2px;
  border-radius:999px;
  background:#0d251e;
  color:#fff;
  font-weight:950;
  text-align:center;
}
.plan-choice-free_preview .plan-select-text{
  background:linear-gradient(135deg,var(--brand-green-bright),var(--brand-green));
}
.plan-choice-pro .plan-select-text{
  background:linear-gradient(135deg,var(--brand-green-bright),var(--brand-green));
}
.plan-bullets{
  display:grid;
  gap:7px;
  margin-top:2px;
  color:var(--brand-muted);
  font-size:.82rem;
  line-height:1.3;
}
.plan-bullets span{
  position:relative;
  display:block;
  padding-left:16px;
}
.plan-bullets span::before{
  content:'';
  position:absolute;
  left:0;
  top:.45em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(79,161,116,.28);
  box-shadow:inset 0 0 0 2px rgba(79,161,116,.55);
}
.plan-pending-note{
  border:1px solid rgba(217,170,63,.42);
  border-radius:16px;
  background:#fff9e9;
  color:#4c3b11;
  padding:13px 15px;
  font-weight:750;
}
@media(max-width:1180px){
  .plan-card-grid{grid-template-columns:1fr;}
  .plan-card{min-height:auto;}
  .plan-name{padding-right:86px;}
}
@media(max-width:560px){
  .plan-card{padding:16px;}
  .plan-metrics{grid-template-columns:1fr 1fr;}
  .plan-price{font-size:1.75rem;}
}

/* v0.1.15 compact desktop signup layout */
.auth-register-page .auth-shell{
  width:min(100% - 40px,1180px);
  padding:clamp(18px,2.6vw,34px) 0 clamp(32px,4vw,56px);
}
.auth-register-page .auth-card{
  padding:clamp(22px,2.2vw,32px);
}
.auth-register-page .auth-brand{margin-bottom:14px}
.auth-register-page h1{font-size:clamp(2.1rem,3.5vw,3rem);}
.auth-register-page .auth-brand p{margin-bottom:0;line-height:1.45}
.auth-register-page .auth-form-register{gap:12px;margin-top:14px}
.auth-register-page .plan-picker{margin-bottom:0}
.auth-register-page .plan-picker legend{font-size:1rem;margin-bottom:4px}
.auth-register-page .plan-picker-help{font-size:.88rem;line-height:1.35;margin-bottom:10px}
.auth-register-page .plan-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.auth-register-page .plan-card{padding:12px;gap:6px;border-radius:18px}
.auth-register-page .plan-badge{top:12px;right:12px;padding:4px 8px;font-size:.62rem}
.auth-register-page .plan-name{font-size:1.15rem;padding-right:62px}
.auth-register-page .plan-subtitle{font-size:.88rem}
.auth-register-page .plan-price{font-size:1.42rem;margin-top:0}
.auth-register-page .plan-price small{font-size:.78rem}
.auth-register-page .plan-annual{font-size:.7rem}
.auth-register-page .plan-metrics{gap:6px}
.auth-register-page .plan-metric{padding:7px;border-radius:10px}
.auth-register-page .plan-metric small{font-size:.56rem;letter-spacing:.06em}
.auth-register-page .plan-metric strong{font-size:.92rem;margin-top:3px}
.auth-register-page .plan-select-text{min-height:34px;font-size:.88rem}
.auth-register-page .plan-bullets{gap:3px;font-size:.68rem;line-height:1.15}
.auth-register-page .plan-bullets span{padding-left:13px}
.auth-register-page .plan-bullets span::before{width:6px;height:6px;top:.42em}
.auth-register-page .plan-choice input[type="radio"]:checked + .plan-card::after{
  right:10px;
  bottom:10px;
  padding:4px 7px;
  font-size:.62rem;
}
.auth-register-page .signup-details-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.auth-register-page .signup-details-grid .form-row{gap:6px}
.auth-register-page .signup-details-grid input[type="email"],
.auth-register-page .signup-details-grid input[type="password"],
.auth-register-page .signup-details-grid input[type="text"]{
  padding:11px 13px;
  border-radius:14px;
}
.auth-register-page .signup-consent-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:12px;
  align-items:start;
}
.auth-register-page .check-row{font-size:.86rem;line-height:1.28}
.auth-register-page .btn-row{margin-top:0}
@media(max-width:1040px){
  .auth-register-page .auth-shell{width:min(100% - 28px,840px);padding:24px 0 42px}
  .auth-register-page .signup-details-grid,
  .auth-register-page .signup-consent-grid,
  .auth-register-page .plan-card-grid{grid-template-columns:1fr}
  .auth-register-page .plan-card{min-height:auto}
}
@media(min-width:1041px) and (max-height:760px){
  .auth-register-page .auth-shell{padding:16px 0 32px}
  .auth-register-page .auth-card{padding:22px}
  .auth-register-page .auth-brand{margin-bottom:10px}
  .auth-register-page h1{font-size:2.35rem}
  .auth-register-page .brand-kicker{font-size:.68rem}
  .auth-register-page .plan-bullets{font-size:.7rem;gap:3px}
  .auth-register-page .plan-card{gap:6px;padding:12px}
}


/* v0.1.12 mobile hamburger alignment: override global button padding and center bars like the public site. */
.mobile-menu-button{
  padding:0!important;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  line-height:1;
}
.mobile-menu-button span{
  margin:0!important;
}
@media(max-width:1040px){
  .mobile-menu-button{display:inline-flex!important;}
}

/* v0.1.13 mobile close-button alignment */

/* v0.1.15 Free Preview gate helper */
.auth-register-page .plan-choice-free_preview .plan-card{border-color:rgba(79,161,116,.32);background:linear-gradient(180deg,#ffffff 0%,#f5fbf7 100%)}
.auth-register-page .plan-choice-free_preview .plan-badge{background:rgba(79,161,116,.14);color:var(--brand-green)}
@media(max-width:1280px){.auth-register-page .plan-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:1040px){.auth-register-page .plan-card-grid{grid-template-columns:1fr;}}

/* v0.1.17 signup card height / selected badge clearance */
@media (min-width:1041px){
  .auth-register-page .plan-card{
    min-height:382px;
    padding-bottom:38px;
  }
  .auth-register-page .plan-choice input[type="radio"]:checked + .plan-card::after{
    right:12px;
    bottom:12px;
  }
}
@media (min-width:1281px) and (max-height:820px){
  .auth-register-page .plan-card{
    min-height:368px;
  }
}
@media (max-width:1040px){
  .auth-register-page .plan-card{
    min-height:auto;
    padding-bottom:16px;
  }
  .auth-register-page .plan-choice input[type="radio"]:checked + .plan-card{
    padding-bottom:42px;
  }
}

/* ARIEA auth footer repair v0.1.19
   Keeps the full MRI auth footer stable and gives the Contact column enough room on desktop. */
@media(min-width:921px){
  .mri-footer-grid{
    grid-template-columns:minmax(260px,1.05fr) minmax(440px,1.36fr) minmax(170px,.62fr) minmax(210px,.74fr)!important;
    gap:clamp(24px,3.1vw,60px)!important;
  }
  .mri-footer-grid > div:nth-child(2){min-width:430px;}
  .mri-footer-grid > div:nth-child(2) a,
  .mri-footer-grid > div:nth-child(2) span{
    white-space:nowrap;
    overflow-wrap:normal!important;
    word-break:normal!important;
    font-size:clamp(.86rem,.82vw,.98rem);
  }
}
@media(min-width:921px) and (max-width:1280px){
  .mri-footer-grid{grid-template-columns:minmax(0,1fr) minmax(360px,1.14fr)!important;}
  .mri-footer-grid > div:nth-child(2){min-width:0;}
}
@media(max-width:920px){
  .mri-footer-grid > div:nth-child(2) a,
  .mri-footer-grid > div:nth-child(2) span{
    white-space:normal;
    overflow-wrap:anywhere!important;
  }
}


/* ARIEA signup confirmation v0.1.20 */
.auth-welcome-page .auth-shell{width:min(100% - 32px,980px);}
.auth-welcome-page .auth-card{padding:clamp(26px,4vw,42px);}
.signup-confirmation-card{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;margin-top:10px;padding:20px;border:1px solid rgba(79,161,116,.28);border-radius:22px;background:linear-gradient(180deg,#f4fbf7 0%,#ffffff 100%);}
.confirmation-icon{width:46px;height:46px;border-radius:999px;display:grid;place-items:center;background:var(--brand-green,#2f6f55);color:#fff;font-weight:950;font-size:1.35rem;box-shadow:0 16px 34px rgba(47,111,85,.22);}
.signup-confirmation-card h2{margin:0 0 8px;color:var(--brand-deep,#10251f);font-size:clamp(1.55rem,2.3vw,2.1rem);line-height:1.05;letter-spacing:-.04em;}
.signup-confirmation-card p,.confirmation-next-panel p{margin:0;color:#4c6258;line-height:1.48;}
.confirmation-next-panel{margin-top:16px;padding:20px;border:1px solid rgba(16,37,31,.12);border-radius:22px;background:#fff;}
.confirmation-next-panel h3{margin:0 0 8px;color:var(--brand-deep,#10251f);font-size:1.2rem;letter-spacing:-.025em;}
.confirmation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center;}
.confirmation-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:999px;font-weight:900;text-decoration:none;border:1px solid transparent;}
.confirmation-actions .button-primary{background:var(--brand-green,#2f6f55);color:#fff;box-shadow:0 14px 30px rgba(47,111,85,.2);}
.confirmation-actions .button-secondary{background:var(--brand-gold,#d2a437);color:#10251f;}
.confirmation-actions .button-ghost{background:#fff;color:#10251f;border-color:rgba(16,37,31,.14);}
.confirmation-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;}
.summary-tile{padding:14px;border-radius:16px;background:#f8fbf8;border:1px solid rgba(16,37,31,.10);}
.summary-tile strong{display:block;color:var(--brand-deep,#10251f);font-size:1rem;overflow-wrap:anywhere;}
.summary-tile span{display:block;margin-top:4px;color:#63736a;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;}
@media(max-width:720px){.signup-confirmation-card{grid-template-columns:1fr}.confirmation-actions{align-items:stretch;flex-direction:column}.confirmation-actions .button{width:100%}.confirmation-summary-grid{grid-template-columns:1fr}}

/* ARIEA email verification signup gate v0.1.30 */
.verification-panel{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;margin-top:10px;padding:20px;border:1px solid rgba(215,173,82,.36);border-radius:22px;background:linear-gradient(180deg,#fff8e8 0%,#ffffff 100%)}
.verification-error-panel{border-color:rgba(170,42,42,.28);background:linear-gradient(180deg,#fff5f5 0%,#ffffff 100%)}
.verification-panel h2{margin:0 0 8px;color:var(--brand-deep,#10251f);font-size:clamp(1.55rem,2.3vw,2.1rem);line-height:1.05;letter-spacing:-.04em}
.verification-panel p{margin:0;color:#4c6258;line-height:1.48}.verification-panel strong{color:var(--brand-deep,#10251f)}
.needs-verification .confirmation-icon{background:var(--brand-gold,#d2a437);color:#10251f}.is-verified .confirmation-icon{background:var(--brand-green,#2f6f55);color:#fff}
.inline-verification-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.inline-verification-form button.button{appearance:none;border:0;cursor:pointer}
.verification-account-notice{margin:16px 0;padding:16px;border:1px solid rgba(215,173,82,.36);border-radius:18px;background:#fff8e8;color:#3d3521;line-height:1.45}.verification-account-notice strong{display:block;color:#10251f;margin-bottom:4px}.verification-account-notice .inline-verification-form{margin-top:10px}.verification-account-notice button.button{min-height:42px;padding:10px 15px;border-radius:999px;background:var(--brand-green,#2f6f55);color:#fff;font-weight:900}
@media(max-width:720px){.verification-panel{grid-template-columns:1fr}.inline-verification-form{align-items:stretch;flex-direction:column}.inline-verification-form .button,.inline-verification-form button{width:100%}}

/* ARIEA human verification / bot guard v0.1.32 */
.auth-hp-row{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
}
.auth-turnstile-wrap{
  margin:2px 0 6px;
}
.auth-form-register .auth-turnstile-wrap{
  grid-column:1 / -1;
}

/* ARIEA registration launch legal/consent polish v0.1.34 */
.legal-panel{display:grid;gap:14px;color:#4c6258;line-height:1.55;}
.legal-panel h1{margin:.25rem 0 .35rem;color:var(--brand-deep,#10251f);}
.legal-panel h2{margin:1rem 0 .1rem;color:var(--brand-deep,#10251f);font-size:1.15rem;letter-spacing:-.025em;}
.legal-panel p{margin:0;}
.check-row a{font-weight:900;color:var(--brand-green,#2f6f55);}
.inline-verification-form .auth-turnstile-wrap{flex-basis:100%;}
