/* Ehopto public experience — November 2026.
   One visual vocabulary for guests across Home, About, Login, Join and help pages.
   Loaded after legacy page styles; scoped to the public layout, not the member app. */
body.ehopto-public-body:not(.ehopto-public-member-shell) {
  --ep-ink:#f5faff;
  --ep-muted:#b3c7da;
  --ep-accent:#18d4df;
  --ep-border:rgba(113,192,228,.2);
  --ep-panel:linear-gradient(145deg,rgba(9,30,59,.96),rgba(7,23,48,.94));
  color:var(--ep-ink);
  background:linear-gradient(165deg,#020817 3%,#061d39 62%,#020817 100%);
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-main { min-width:0; }
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-container { max-width:1100px; }

/* The same compact public header everywhere — no secondary sun row,
   offset bubble, giant action buttons or off-screen flyout. */
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-shell {
  position:sticky!important; top:0!important; z-index:200!important;
  background:rgba(2,9,24,.97)!important;
  border-bottom:1px solid rgba(106,179,219,.13)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav.ehopto-nav-split {
  position:relative!important; display:flex!important; align-items:center!important;
  justify-content:space-between!important; flex-wrap:nowrap!important;
  width:min(1100px,calc(100% - 36px))!important;
  height:66px!important; min-height:66px!important; padding:0!important;
  gap:12px!important; margin:auto!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-logo-capsule {
  flex:0 0 auto!important; align-self:center!important;
  min-width:0!important; min-height:0!important; height:auto!important;
  padding:0!important; margin:0!important; border:0!important;
  background:none!important; box-shadow:none!important; border-radius:0!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-logo-capsule img {
  width:auto!important; height:38px!important; max-width:128px!important;
  display:block!important; object-fit:contain!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-actions-capsule {
  display:flex!important; flex:0 0 auto!important; align-items:center!important;
  justify-content:flex-end!important; gap:18px!important; margin-left:auto!important;
  border:0!important; background:none!important; box-shadow:none!important;
  padding:0!important; min-height:0!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-actions-capsule a,
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-actions-capsule a.ehopto-nav-cta {
  display:inline-flex!important; width:auto!important; min-height:36px!important;
  padding:4px 0!important; border:0!important; background:none!important;
  box-shadow:none!important; color:#d8e8f7!important;
  font-size:13px!important; font-weight:650!important; text-decoration:none!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-actions-capsule a.ehopto-nav-cta {
  color:var(--ep-accent)!important; font-weight:750!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-theme-toggle {
  color:#d5e5f6!important; background:transparent!important;
  border:0!important; box-shadow:none!important; border-radius:10px!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav :is(a,button,input,label):focus-visible {
  outline:2px solid var(--ep-accent)!important; outline-offset:3px!important;
}
@media (min-width:981px) {
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule,
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-menu-button { display:none!important; }
}
@media (max-width:980px) {
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav.ehopto-nav-split {
    width:calc(100% - 32px)!important; height:62px!important; min-height:62px!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-logo-capsule img {
    height:34px!important; max-width:116px!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-actions-capsule {display:none!important;}
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-menu-button {
    display:flex!important; position:relative!important; z-index:2!important;
    align-items:center!important; justify-content:center!important;
    flex-direction:column!important; grid-column:auto!important;
    width:42px!important; height:42px!important; min-width:42px!important;
    padding:8px!important; gap:5px!important; margin-left:auto!important;
    border:1px solid rgba(130,183,219,.2)!important; border-radius:12px!important;
    background:rgba(12,31,56,.83)!important; box-shadow:none!important;
    transform:none!important; cursor:pointer;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-menu-button span {
    display:block!important; width:19px!important; height:2px!important; border-radius:4px!important;
    background:#d9eafa!important; margin:0!important; transition:transform .18s ease,opacity .18s ease!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) #ehopto-nav-toggle:not(:checked) ~ .ehopto-nav-center-capsule {display:none!important;}
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule {
    position:absolute!important; top:calc(100% - 1px)!important; right:0!important; left:auto!important;
    display:none!important; width:min(284px,calc(100vw - 32px))!important;
    min-height:0!important; max-height:min(70vh,420px)!important; overflow-y:auto!important;
    padding:12px!important; gap:4px!important; margin:0!important;
    grid-template-columns:minmax(0,1fr)!important; justify-items:stretch!important;
    border:1px solid var(--ep-border)!important; border-radius:0 0 18px 18px!important;
    background:#07162b!important; box-shadow:0 16px 38px rgba(0,0,0,.36)!important;
    backdrop-filter:blur(20px)!important; -webkit-backdrop-filter:blur(20px)!important;
    opacity:1!important; visibility:visible!important; pointer-events:auto!important;
    transform:none!important; animation:none!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) #ehopto-nav-toggle:checked ~ .ehopto-nav-center-capsule {
    display:grid!important; opacity:1!important; visibility:visible!important; transform:none!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-mobile-auth-pair {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important; width:100%!important;
    gap:2px!important; margin:0!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule a,
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule .ehopto-nav-cta {
    display:flex!important; align-items:center!important;
    min-height:43px!important; width:100%!important; padding:10px 12px!important;
    border:0!important; border-radius:9px!important; background:transparent!important;
    box-shadow:none!important; color:#e4f0fa!important;
    font-size:14px!important; font-weight:650!important; text-decoration:none!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule a:hover {
    background:rgba(72,164,210,.12)!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule a.ehopto-nav-cta {color:var(--ep-accent)!important;}
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule .ehopto-theme-toggle {
    width:44px!important; height:42px!important; min-height:42px!important;
    margin:4px 0 0!important; padding:8px!important; justify-self:start!important;
    border:1px solid var(--ep-border)!important; background:rgba(56,125,174,.09)!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-drawer-close {display:none!important;}
  body.ehopto-public-body:not(.ehopto-public-member-shell) #ehopto-nav-toggle:checked + .ehopto-nav-menu-button span:nth-child(1) {transform:translateY(7px) rotate(45deg)!important;}
  body.ehopto-public-body:not(.ehopto-public-member-shell) #ehopto-nav-toggle:checked + .ehopto-nav-menu-button span:nth-child(2) {opacity:0!important;}
  body.ehopto-public-body:not(.ehopto-public-member-shell) #ehopto-nav-toggle:checked + .ehopto-nav-menu-button span:nth-child(3) {transform:translateY(-7px) rotate(-45deg)!important;}
}

/* Mobile-first auth system: Login, Join, password recovery and reset. */
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-page {
  padding:clamp(24px,4vw,46px) 0 64px!important;
  min-height:calc(100svh - 62px)!important;
  background:radial-gradient(ellipse at 84% 13%,rgba(0,168,212,.13),transparent 42%),
             linear-gradient(180deg,#031222 0%,#071f39 100%)!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-shell,
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-shell-reset {
  display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,430px)!important;
  gap:clamp(24px,5vw,68px)!important; align-items:center!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-copy > span,
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card-head > span {
  display:block!important; margin:0 0 10px!important;
  font-size:11px!important; font-weight:800!important; letter-spacing:.16em!important;
  text-transform:uppercase!important; color:var(--ep-accent)!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-copy h1 {
  max-width:13ch!important; margin:0!important;
  font-size:clamp(38px,5.6vw,64px)!important; font-weight:850!important;
  line-height:1.02!important; letter-spacing:-.05em!important;
  color:#f7fbff!important; overflow-wrap:normal!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-copy p {
  max-width:54ch!important; margin:14px 0 0!important;
  color:var(--ep-muted)!important; font-size:15px!important; font-weight:450!important;
  line-height:1.55!important; letter-spacing:0!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-orbit {display:none!important;}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card {
  width:100%!important; max-width:520px!important; margin:0!important; padding:25px!important;
  border:1px solid var(--ep-border)!important; border-radius:21px!important;
  background:var(--ep-panel)!important; box-shadow:0 16px 55px rgba(0,0,0,.17)!important;
  color:var(--ep-ink)!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card:before,
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card:after {pointer-events:none!important;}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card-head h2 {
  margin:0 0 8px!important; color:#f5faff!important; font-size:clamp(21px,3vw,27px)!important;
  font-weight:800!important; line-height:1.16!important; letter-spacing:-.035em!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card-head p {
  margin:0 0 19px!important; color:var(--ep-muted)!important;
  font-size:14px!important; line-height:1.52!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card .ehopto-auth-field {
  display:block!important; min-width:0!important; margin:0 0 13px!important; color:#e9f2fc!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-field > span {
  display:block!important; margin:0 0 6px!important; color:#e5f0fc!important;
  font-size:13px!important; font-weight:700!important; line-height:1.4!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-field :is(input,select,textarea) {
  width:100%!important; min-height:46px!important; padding:11px 13px!important;
  border:1px solid rgba(139,180,218,.28)!important; border-radius:11px!important;
  background:rgba(1,12,30,.65)!important; color:#f7fbff!important;
  font:500 16px/1.4 var(--font)!important; box-shadow:none!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-field :is(input,select,textarea)::placeholder {
  color:#91a8c2!important; opacity:1!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-field :is(input,select,textarea):focus-visible {
  outline:2px solid #22cddd!important; outline-offset:1px!important; border-color:#22cddd!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-field[data-ehopto-password-field] {
  position:relative!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-field[data-ehopto-password-field] input {
  padding-right:76px!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-field [data-ehopto-toggle-password] {
  position:absolute!important; right:7px!important; bottom:7px!important;
  min-height:32px!important; padding:5px 10px!important;
  background:#123453!important; color:#eaf6fc!important;
  border:1px solid rgba(120,195,225,.2)!important; border-radius:8px!important;
  font-size:12px!important; font-weight:700!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-stay {
  margin:3px 0 14px!important; padding:0!important; border:0!important; gap:7px!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-stay legend {
  color:#dbe9f8!important; margin:0!important; padding:0 0 7px!important;
  font-size:13px!important; font-weight:700!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-stay label,
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-signup-biz-tick {
  display:flex!important; align-items:center!important; gap:10px!important;
  padding:10px 12px!important; min-height:43px!important;
  border:1px solid rgba(130,174,218,.19)!important; border-radius:11px!important;
  background:rgba(0,13,31,.55)!important; color:#d1e4f5!important;
  font-size:13px!important; line-height:1.5!important; box-shadow:none!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-stay label b,
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-signup-biz-tick b {color:#f7fbff!important;}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-stay label:has(:checked),
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-signup-biz-tick:has(:checked) {
  border-color:rgba(26,211,221,.55)!important; background:rgba(19,90,117,.19)!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card :is(input[type=radio],input[type=checkbox]) {
  flex:0 0 auto!important; accent-color:#14d5da!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-row a,
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-switch a {
  color:var(--ep-accent)!important; text-decoration:none!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-submit {
  min-height:46px!important; width:100%!important; padding:11px 16px!important;
  border:1px solid rgba(11,173,194,.4)!important; border-radius:11px!important;
  background:linear-gradient(100deg,#0a79bf,#079b9d)!important;
  box-shadow:none!important; color:#fff!important; font-size:14px!important; font-weight:750!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-switch {
  color:var(--ep-muted)!important; font-size:13px!important; text-align:center!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-social-door {
  min-height:45px!important; padding:10px 14px!important;
  color:#f6faff!important; border:1px solid rgba(159,186,214,.34)!important;
  border-radius:11px!important; background:rgba(2,11,25,.7)!important;
  box-shadow:none!important; font-size:13px!important;
}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-signup-biz-tick small,
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-field small {color:#a6bfd4!important;}
body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-error {color:#fecaca!important;}
@media(max-width:980px) {
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-shell,
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-shell-reset {
    grid-template-columns:minmax(0,1fr)!important;
    gap:23px!important; width:min(560px,calc(100% - 32px))!important; align-items:stretch!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-page {
    padding:26px 0 48px!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card {
    width:100%!important; max-width:none!important; padding:22px!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-copy h1 {
    max-width:14ch!important; font-size:clamp(34px,7.6vw,48px)!important;
  }
}
@media(max-width:480px) {
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-shell,
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-shell-reset {gap:20px!important;}
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-copy h1 {
    font-size:clamp(34px,9vw,40px)!important; max-width:14ch!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-copy p {font-size:14px!important;}
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card {padding:18px!important;border-radius:17px!important;}
}

/* About: content in normal flow, not a stack of photographs behind text. */
body.ehopto-page-about .ehopto-about-v278-hero {
  padding:clamp(30px,5vw,72px) 0 0!important;
  background:transparent!important;
}
body.ehopto-page-about .ehopto-about-v278-visual {
  display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,.92fr)!important;
  align-items:center!important; gap:clamp(26px,4vw,64px)!important;
  min-height:0!important; height:auto!important;
  padding:10px 0 28px!important; overflow:visible!important; border:0!important;
  background:transparent!important; isolation:auto!important; animation:none!important;
}
body.ehopto-page-about .ehopto-about-v278-visual:before,
body.ehopto-page-about .ehopto-about-v278-visual:after,
body.ehopto-page-about .ehopto-about-v278-bg {display:none!important;content:none!important;}
body.ehopto-page-about .ehopto-about-v278-copy {
  position:relative!important; inset:auto!important; top:auto!important; left:auto!important;
  z-index:1!important; max-width:none!important; margin:0!important; transform:none!important;
  animation:none!important;
}
body.ehopto-page-about .ehopto-about-v278-copy > span {
  display:block!important; margin:0 0 19px!important;
  color:var(--ep-accent)!important; font-size:11px!important; font-weight:800!important;
  letter-spacing:.17em!important; text-transform:uppercase!important;
  animation:none!important;
}
body.ehopto-page-about .ehopto-about-v278-copy h1 {
  margin:0!important; max-width:11ch!important;
  font-size:clamp(43px,5.7vw,79px)!important; line-height:1!important;
  letter-spacing:-.065em!important; color:#f8fbff!important;
  text-shadow:none!important; animation:none!important; transform:none!important;
}
body.ehopto-page-about .ehopto-about-v278-copy h1 strong {
  background:none!important; color:#13d6df!important; -webkit-text-fill-color:#13d6df!important;
  animation:none!important;
}
body.ehopto-page-about .ehopto-about-v278-art {
  position:relative!important; top:auto!important; right:auto!important; left:auto!important;
  z-index:1!important; width:100%!important; height:clamp(250px,32vw,430px)!important;
  min-width:0!important; margin:0!important; opacity:1!important; overflow:hidden!important;
  border:1px solid rgba(79,191,224,.34)!important; border-radius:22px!important;
  background:radial-gradient(circle at 73% 65%,rgba(0,230,225,.39) 0 5px,transparent 8px),
             radial-gradient(ellipse at 85% 96%,rgba(0,219,224,.33),transparent 42%),
             radial-gradient(ellipse at 15% 20%,rgba(9,105,194,.28),transparent 53%),
             linear-gradient(150deg,#092c4a,#06142e 62%,#03263c)!important;
  box-shadow:inset 0 0 45px rgba(0,164,219,.10)!important;
  filter:none!important; transform:none!important; animation:none!important;
}
body.ehopto-page-about .ehopto-about-v278-art img {display:none!important;}
body.ehopto-page-about .ehopto-about-v278-art:before {
  content:""; display:block; position:absolute; inset:8% -30% 12% -26%;
  border-top:2px solid rgba(54,220,236,.65); border-bottom:1px solid rgba(55,138,238,.5);
  border-radius:50%; transform:rotate(-16deg); box-shadow:0 -18px 36px rgba(0,205,237,.11);
}
body.ehopto-page-about .ehopto-about-v278-art:after {
  content:""; display:block; position:absolute; width:36%;height:56%;top:14%;right:8%;
  border:1px solid rgba(73,179,232,.27); border-radius:15px;
  background-image:radial-gradient(rgba(19,225,240,.55) 1px,transparent 1px);
  background-size:18px 18px; background-color:rgba(123,205,248,.035);
}
body.ehopto-page-about .ehopto-about-v275-mission,
body.ehopto-page-about .ehopto-about-v275-story,
body.ehopto-page-about .ehopto-about-v275-enable,
body.ehopto-page-about .ehopto-about-v275-meaning,
body.ehopto-page-about .ehopto-about-v275-cta {background:transparent!important;}
body.ehopto-page-about .ehopto-about-v275-mission {padding:24px 0 clamp(36px,5vw,72px)!important;}
body.ehopto-page-about .ehopto-about-v275-statement h2 {
  max-width:22ch!important; margin:0!important;
  font-size:clamp(27px,3.8vw,49px)!important; font-weight:790!important;
  line-height:1.14!important; letter-spacing:-.045em!important;
  color:#f2f8ff!important; background:none!important;
  -webkit-text-fill-color:currentColor!important; animation:none!important;
}
body.ehopto-page-about .ehopto-about-v275-story-copy p,
body.ehopto-page-about .ehopto-about-v275-meaning p,
body.ehopto-page-about .ehopto-about-v275-cta p {color:#afc5da!important;}
body.ehopto-page-about .ehopto-about-v275-story-copy strong,
body.ehopto-page-about .ehopto-about-v275-meaning h2,
body.ehopto-page-about .ehopto-about-v275-cta h2 {color:#f3f9ff!important;}
body.ehopto-page-about .ehopto-about-v275-enable-row span {
  border:1px solid var(--ep-border)!important; border-radius:13px!important;
  background:rgba(9,35,64,.68)!important; color:#e5f4fa!important; box-shadow:none!important;
}
body.ehopto-page-about .ehopto-about-v275-cta-inner {
  border:1px solid var(--ep-border)!important; border-radius:20px!important;
  background:var(--ep-panel)!important; box-shadow:none!important;
}
body.ehopto-page-about .ehopto-about-v275-actions a {
  min-height:42px!important; padding:10px 15px!important;
  border-radius:10px!important; box-shadow:none!important;
}
@media(max-width:900px) {
  body.ehopto-page-about .ehopto-about-v278-visual {grid-template-columns:minmax(0,1fr)!important;gap:24px!important;}
  body.ehopto-page-about .ehopto-about-v278-copy h1 {
    max-width:13ch!important; font-size:clamp(39px,8.8vw,61px)!important;
  }
  body.ehopto-page-about .ehopto-about-v278-art {height:clamp(225px,56vw,340px)!important;}
  body.ehopto-page-about .ehopto-about-v275-story-grid,
  body.ehopto-page-about .ehopto-about-v275-meaning-grid,
  body.ehopto-page-about .ehopto-about-v275-cta-inner {grid-template-columns:minmax(0,1fr)!important;gap:18px!important;}
}
@media(max-width:480px) {
  body.ehopto-page-about .ehopto-about-v278-hero {padding:24px 0 0!important;}
  body.ehopto-page-about .ehopto-about-v278-copy h1 {
    font-size:clamp(39px,10vw,46px)!important;
  }
  body.ehopto-page-about .ehopto-about-v278-art {height:236px!important;border-radius:17px!important;}
  body.ehopto-page-about .ehopto-about-v275-mission {padding-top:22px!important;}
}

/* Respect the existing light appearance toggle. */
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) {
  --ep-ink:#071b35; --ep-muted:#46617d; --ep-border:rgba(48,115,158,.22);
  --ep-panel:linear-gradient(145deg,#fff,#ecf7fd);
  color:#071b35; background:#f6fbff;
}
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-shell {
  background:rgba(248,252,255,.98)!important; border-color:#d8e9f5!important;
}
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-actions-capsule a,
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-theme-toggle {color:#143455!important;}
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-actions-capsule .ehopto-nav-cta {color:#087c89!important;}
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-page {
  background:linear-gradient(180deg,#f5fbff,#e8f4fc)!important;
}
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-copy h1,
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card-head h2,
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-field > span,
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-stay legend {color:#09213c!important;}
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-card {color:#09213c!important;}
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-field :is(input,select,textarea) {
  background:#fff!important; color:#09213c!important; border-color:#b8cfe1!important;
}
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-stay label,
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-signup-biz-tick {background:#f8fcff!important;color:#183a57!important;}
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-stay label b,
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-signup-biz-tick b {color:#09213c!important;}
html.ehopto-theme-light body.ehopto-page-about .ehopto-about-v278-copy h1,
html.ehopto-theme-light body.ehopto-page-about .ehopto-about-v275-statement h2,
html.ehopto-theme-light body.ehopto-page-about .ehopto-about-v275-meaning h2,
html.ehopto-theme-light body.ehopto-page-about .ehopto-about-v275-cta h2 {color:#09213c!important;}
html.ehopto-theme-light body.ehopto-page-about .ehopto-about-v275-story-copy p,
html.ehopto-theme-light body.ehopto-page-about .ehopto-about-v275-meaning p,
html.ehopto-theme-light body.ehopto-page-about .ehopto-about-v275-cta p {color:#435d73!important;}
@media(prefers-reduced-motion:reduce) {
  body.ehopto-page-about .ehopto-about-v278-art:before,
  body.ehopto-page-about .ehopto-about-v278-art:after {animation:none!important;}
}

/* Critical auth content must never fade in after the inputs become usable. */
body.ehopto-public-body .ehopto-auth-page .reveal-soft {
  animation:none!important; opacity:1!important; transform:none!important;
}
@media(max-width:980px) {
  html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-menu-button {
    border-color:#c5d8e8!important; background:#e8f4fb!important;
  }
  html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-menu-button span {
    background:#183c5b!important;
  }
  html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule {
    background:#f7fbff!important;
  }
  html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule a {
    color:#113655!important;
  }
}
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-signup-biz-tick small,
html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-auth-field small {
  color:#506780!important;
}

/* The guest menu is an actual navigation list, not the old decorative popover. */
.ehopto-nav-center-capsule .ehopto-theme-label {display:none;}
@media(max-width:980px) {
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule:before,
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule:after {
    display:none!important; content:none!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule .ehopto-nav-mobile-auth-pair {
    order:1!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule a {
    justify-content:flex-start!important; text-align:left!important; margin:0!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule .ehopto-theme-toggle {
    order:2!important; display:flex!important; width:100%!important;
    justify-content:flex-start!important; align-items:center!important;
    gap:11px!important; height:43px!important; padding:10px 12px!important;
    border:0!important; border-top:1px solid var(--ep-border)!important;
    border-radius:0!important; background:none!important; text-align:left!important;
  }
  body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule .ehopto-theme-label {
    display:inline!important; color:#dbeafa!important; font-size:13px!important; font-weight:600!important;
  }
  html.ehopto-theme-light body.ehopto-public-body:not(.ehopto-public-member-shell) .ehopto-nav-center-capsule .ehopto-theme-label {
    color:#143858!important;
  }
}
