/* Use the original upright face for headings and the approved synthetic-italic wordmark. */
@font-face {
  font-family:HEJevSerif;
  src:local('Baskerville');
  font-style:normal;
  font-weight:400;
  font-display:swap
}
/* The shared shell keeps the same modest type lift as HE Jev's own nav. */
.nav .nav-link,.nav .dropdown-item,.nav .mobile-link,.nav .mobile-dropdown-item {
  font-size:15px
}
.nav .mobile-menu.active {
  visibility:visible
}

/* Keep the Site UI shell used by Auth and policy pages in HE Jev's visual system. */
:root {
  --nav-height:104px;
  --hj-paper:#f8f7f2;
  --hj-ink:#263c31;
  --hj-muted:#626b60;
  --hj-line:#dcded3;
  --hj-accent:var(--color-accent,#2c4634);
  --hj-sans:'Avenir Next',Avenir,'Trebuchet MS',sans-serif
}
/* The site's default accent follows its botanical identity on shared pages. */
html[data-site-theme="default"],
html[data-theme="light"][data-site-theme="default"],
html:not([data-site-theme]),
html[data-theme="light"]:not([data-site-theme]) {
  --color-accent:#2c4634;
  --color-accent-strong:#213a2b;
  --color-accent-weak:#42583c;
  --accent-tint-10:rgba(44,70,52,.1);
  --accent-tint-20:rgba(44,70,52,.2);
  --pink-tint-05:rgba(44,70,52,.03);
  --pink-tint-08:rgba(44,70,52,.05);
  --pink-tint-10:rgba(44,70,52,.07);
  --pink-tint-15:rgba(44,70,52,.1);
  --pink-tint-20:rgba(44,70,52,.14);
  --page-center-bg-wash-start:rgba(44,70,52,.06);
  --page-center-bg-wash-end:rgba(137,154,112,.05)
}
.nav,.footer {
  font-family:var(--hj-sans);
  color:var(--hj-ink)
}
.nav {
  background:var(--hj-paper);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-bottom:0
}
.nav .nav-container {
  max-width:1184px;
  width:calc(100% - 112px);
  height:var(--nav-height);
  padding:0;
  border-bottom:1px solid var(--hj-line)
}
.nav .nav-menu {
  gap:24px;
  margin:0 16px 0 auto;
  flex:0 1 auto
}
.nav .hejav-nav-links {
  display:flex;
  align-items:center;
  gap:24px;
  white-space:nowrap
}
html[data-theme="light"] .nav .nav-menu .nav-link,
.nav .nav-link,.nav .hejav-shell-language {
  color:var(--hj-ink);
  background:transparent;
  font-size:14px;
  font-weight:500;
  text-decoration:none
}
html[data-theme="light"] .nav .nav-menu .nav-link:hover,
html[data-theme="light"] .nav .nav-menu .nav-link:focus-visible,
.nav .nav-link:hover,.nav .hejav-shell-language:hover {
  color:var(--hj-accent);
  background:transparent;
  text-decoration:underline;
  text-underline-offset:5px
}
.nav .nav-actions {
  gap:16px;
  align-items:center;
  white-space:nowrap
}
.nav .hejav-header-language {flex:0 0 auto;margin-right:16px}
html .nav .language-selector {
  height:40px;
  padding:0 8px;
  border:1px solid transparent;
  border-radius:5px;
  background:transparent;
  backdrop-filter:none;
  --lang-select-width:10ch;
  --lang-select-width-sm:10ch;
  --color-text:var(--hj-ink);
  --color-border:var(--hj-line);
  --color-surface:var(--hj-paper);
  --surface-hover:#e9ecdf;
  --accent-tint-10:#e9ecdf;
  --accent-tint-20:#d8e2d0
}
html .nav .language-selector:hover,
html .nav .language-selector:focus-within,
html .nav .language-selector[data-site-select-open="true"] {
  background:#edf0e6;
  border-color:var(--hj-line);
  box-shadow:none
}
html .nav .language-selector select,
html .nav .language-selector .site-select-trigger {
  color:var(--hj-ink);
  -webkit-text-fill-color:var(--hj-ink);
  font-family:var(--hj-sans);
  font-size:14px
}
html .nav .language-selector .lang-code {display:none}
html .nav .language-selector .icon-globe {color:var(--hj-ink);width:16px;height:16px}
html .nav .language-selector .site-select-trigger:focus-visible {outline:2px solid var(--hj-accent);outline-offset:3px}
html .nav .language-selector .site-select-listbox {
  position:absolute;
  inset-block-start:calc(100% + 8px);
  inset-inline-end:0;
  inset-inline-start:auto;
  width:max-content;
  min-width:180px;
  max-width:calc(100vw - 40px);
  max-height:min(320px,60vh);
  transform:none;
  padding:6px;
  border-color:var(--hj-line);
  border-radius:7px;
  background:var(--hj-paper);
  box-shadow:0 12px 32px #263c311a
}
html .nav .language-selector .site-select-option {
  min-height:42px;
  padding:10px 34px 10px 12px;
  font-family:var(--hj-sans);
  position:relative
}
html .nav .language-selector .site-select-option[aria-selected="true"]:after {
  content:'✓';
  position:absolute;
  inset-inline-end:12px
}
.nav .nav-actions .login-btn,
html[data-theme="light"] .nav .nav-actions .login-btn {
  padding:8px 0;
  height:auto;
  width:auto;
  background:transparent;
  color:var(--hj-ink);
  border:0;
  border-radius:0;
  box-shadow:none;
  font-size:14px;
  font-weight:500;
  transform:none
}
.nav .nav-actions .login-btn:hover {
  text-decoration:underline;
  text-underline-offset:5px
}
.nav .hejav-shell-signup {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 17px;
  border:1px solid var(--hj-accent);
  border-radius:5px;
  background:var(--hj-accent);
  color:var(--hj-paper);
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  white-space:nowrap
}
.nav .hejav-shell-signup:hover {
  background:var(--hj-ink);
  color:#fff
}
.nav .hejav-shell-language {
  display:inline-flex;
  align-items:center;
  min-height:40px
}
.nav .mobile-menu,
html[data-theme="light"] .nav .mobile-menu {
  background:var(--hj-paper);
  border-color:var(--hj-line);
  box-shadow:0 15px 25px #263c3110;
  backdrop-filter:none;
  -webkit-backdrop-filter:none
}
.nav .mobile-menu-content .hejav-shell-language,
.nav .mobile-menu-content .login-btn,
.nav .mobile-menu-content .hejav-shell-signup {
  margin:6px 24px;
  width:max-content
}
.nav .mobile-menu-content .login-btn {
  color:var(--hj-ink);
  background:transparent;
  border:0;
  padding:6px 0;
  box-shadow:none
}
.nav .mobile-menu-content .nav-auth-island {display:block}
.nav .nav-actions:has(.nav-auth-island[data-auth-state="in"]) .hejav-shell-signup,
.nav .mobile-menu-content:has(.nav-auth-island[data-auth-state="in"]) .hejav-shell-signup {
  display:none
}
.nav .mobile-menu-content .mobile-link {
  color:var(--hj-ink);
  border-bottom:1px solid var(--hj-line)
}
.nav :focus-visible,.footer :focus-visible {
  outline:2px solid #8b653e;
  outline-offset:4px
}
.footer {
  background:var(--hj-paper);
  color:var(--hj-ink);
  margin-top:0;
  padding:0 0 45px
}
.footer .footer-content {
  max-width:1184px;
  width:calc(100% - 112px);
  padding:0;
  gap:22px
}
.footer .footer-grid {
  grid-template-columns:minmax(0,1fr) minmax(0,620px);
  gap:32px;
  padding-top:34px;
  border-top:1px solid var(--hj-line)
}
.footer .footer-section p {
  color:var(--hj-muted);
  margin:11px 0 0;
  font-size:12px;
  line-height:1.6
}
.footer .footer-contact {
  margin-top:12px
}
.footer .footer-contact h4 {
  font-size:12px;
  margin-bottom:7px
}
.footer .footer-social-link {
  width:30px;
  height:30px;
  font-size:15px;
  color:var(--hj-ink);
  background:#e9ecdf
}
.footer .hejav-footer-policy-links {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  column-gap:18px;
  row-gap:12px;
  padding-top:9px
}
.footer .hejav-footer-policy-links a,
.footer .hejav-footer-back {
  color:var(--hj-ink);
  font-size:11px;
  text-decoration:none
}
.footer .hejav-footer-policy-links a:hover,
.footer .hejav-footer-back:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.footer .footer-bottom {
  padding:0;
  border-top:0;
  text-align:right
}
.footer .footer-bottom-row {
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:14px;
  color:var(--hj-muted)
}
.footer .footer-copyright {
  margin-right:auto
}
.footer .footer-languages {
  gap:10px
}
.footer .lang-link {
  color:var(--hj-muted);
  font-size:11px;
  padding:3px
}
@media(max-width:1050px) {
  .nav .nav-container,.footer .footer-content {width:calc(100% - 64px)}
  .nav .nav-menu,.nav .hejav-nav-links {gap:12px}
  .nav .nav-actions {gap:10px}
  .nav .hejav-header-language {margin-right:10px}
}
@media(max-width:940px) {
  :root {--nav-height:82px}
  .nav .nav-container,.footer .footer-content {width:calc(100% - 40px)}
  .nav .nav-menu,.nav .nav-actions {display:none}
  .nav .hejav-header-language {margin-left:auto;margin-right:0}
  .nav .mobile-menu-btn {display:block;margin-left:8px}
  .footer .footer-grid {grid-template-columns:1fr;gap:20px}
  .footer .hejav-footer-policy-links {justify-content:flex-start;padding-top:0}
  .footer .footer-bottom-row {justify-content:flex-start;text-align:left}
  .footer .footer-copyright {margin-right:0}
}
@media(max-width:734px) {
  :root {--nav-height:82px}
  .nav .nav-actions {display:none}
  .nav .mobile-menu-btn {display:block}
  .nav .nav-container {padding:0}
  .footer .footer-content {gap:18px}
  .footer .footer-bottom-row {gap:10px}
}

/* Site Essentials pages share the editorial shell of the JEV pages. */
html body:has(.dashboard-container) {background:var(--hj-paper)}
html[data-theme="dark"] body:has(.dashboard-container) {background:#1d2b26}
:is(.mt-privacy-page,.mt-terms-page,.mt-about-page,.mt-contact-page,.mt-faq-page,.mt-refund-page) {
  --color-text:var(--hj-ink);
  --color-muted:var(--hj-muted);
  --color-border:var(--hj-line);
  --surface-overlay:#fff;
  background:var(--hj-paper);
  color:var(--hj-ink);
  font-family:var(--hj-sans)
}
:is(.mt-privacy-title,.mt-terms-title,.mt-about-title,.mt-contact-title,.mt-faq-title,.mt-refund-title) {
  background:none;
  -webkit-background-clip:initial;
  -webkit-text-fill-color:currentColor;
  color:var(--hj-ink);
  font-family:HEJevSerif,'Iowan Old Style',Palatino,Georgia,serif;
  font-weight:400;
  letter-spacing:-.04em
}
:is(.mt-privacy-content,.mt-terms-content,.mt-about-content,.mt-contact-content,.mt-refund-content) {
  background:#fff;
  border:1px solid var(--hj-line);
  border-radius:6px;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none
}
:is(.mt-privacy-section-title,.mt-terms-section-title,.mt-about-section-title,.mt-contact-section-title,.mt-refund-section-title) {
  color:var(--hj-ink);
  font-family:HEJevSerif,'Iowan Old Style',Palatino,Georgia,serif;
  font-weight:400
}
:is(.mt-privacy-page,.mt-terms-page,.mt-about-page,.mt-contact-page,.mt-faq-page,.mt-refund-page) .se-home-link {
  -webkit-text-fill-color:var(--hj-accent);
  color:var(--hj-accent);
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 9px;
  border:1px solid var(--hj-line);
  border-radius:5px;
  background:#fff;
  font:500 12px/1.3 var(--hj-sans);
  letter-spacing:0;
  text-decoration:none;
  vertical-align:middle
}
