/* Enact Neuropsychology theme — layout and behaviour the design needs beyond theme.json.
   Tokens come from theme.json (var(--wp--preset--color--navy) etc.). */

:root {
  --enact-gutter: var(--wp--custom--page-gutter, clamp(16px, 5vw, 100px));
  --enact-navy: var(--wp--preset--color--navy, #203B4C);
  --enact-slate: var(--wp--preset--color--slate, #668494);
  --enact-sage: var(--wp--preset--color--sage, #A7AF8B);
  --enact-sage-text: var(--wp--preset--color--sage-text, #8A946A);
  --enact-teal: var(--wp--preset--color--teal, #67AD9A);
  --enact-cream: var(--wp--preset--color--cream, #EAE8DD);
  --enact-tan: var(--wp--preset--color--tan, #DED9C9);
  --enact-display: var(--wp--preset--font-family--display);
  --enact-body: var(--wp--preset--font-family--body);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
html { scroll-padding-top: 120px; }

/* ---------- Header ---------- */
/* The sticky box is the template-part wrapper: an element only sticks within its parent, and the inner group's parent is exactly its own height. */
header.wp-block-template-part:has(> .enact-header), .enact-header-sticky { position: sticky; top: 0; z-index: 40; background: #fff; }
.enact-header { background: #fff; }
.enact-header__bar { border-bottom: 3px solid var(--enact-navy); padding: 22px 0 18px; transition: padding .25s ease; }
.enact-logo { display: inline-block; line-height: 0; }
.enact-logo__full svg { height: 96px; width: auto; display: block; transition: height .25s ease; }
.enact-logo__mark { display: none; }
.enact-logo__mark svg { height: 40px; width: auto; display: block; }
.enact-header.is-scrolled .enact-header__bar { padding: 12px 0 10px; }
.enact-header.is-scrolled .enact-logo__full { display: none; }
.enact-header.is-scrolled .enact-logo__mark { display: block; }

/* Navigation: caps Schoolbook; hover and current item become lowercase bold italic, larger. */
.enact-nav { --wp--style--block-gap: 26px; }
.enact-nav .wp-block-navigation-item { align-items: baseline; }
.enact-nav .wp-block-navigation-item__content { color: var(--enact-navy); text-decoration: none; line-height: 1; padding: 0; transition: none; }
.enact-nav .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.enact-nav .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible,
.enact-nav .current-menu-item > .wp-block-navigation-item__content,
.enact-nav .current-menu-ancestor > .wp-block-navigation-item__content {
  font-family: var(--enact-body); font-weight: 700; font-style: italic; text-transform: lowercase; letter-spacing: 0; font-size: 24px;
}
.enact-nav .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.enact-nav .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible { color: var(--enact-sage-text); }
.enact-nav .current-menu-item > .wp-block-navigation-item__content,
.enact-nav .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--enact-navy); }
/* Submenu (Services → Evaluation, Intervention): sits under the item, no dropdown chrome. */
.enact-nav .wp-block-navigation-submenu { position: relative; }
.enact-nav .wp-block-navigation-submenu .wp-block-navigation__submenu-icon { display: none; }
.enact-nav .wp-block-navigation-submenu .wp-block-navigation__submenu-container {
  position: absolute; left: 50%; top: 100%; transform: translateX(-50%); min-width: 0; width: max-content;
  background: transparent; border: 0; padding: 8px 0 0; margin: 0; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 2px;
}
.enact-nav .wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  font-family: var(--enact-display) !important; font-weight: 400 !important; font-style: normal !important; text-transform: uppercase !important;
  font-size: 14px !important; letter-spacing: .08em !important; color: var(--enact-slate) !important; padding: 2px 6px;
}
.enact-nav .wp-block-navigation-submenu .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content,
.enact-nav .wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { font-weight: 700 !important; }
.enact-nav .wp-block-navigation-submenu.has-child.current-menu-ancestor > .wp-block-navigation__submenu-container,
.enact-nav .wp-block-navigation-submenu.has-child.current-menu-item > .wp-block-navigation__submenu-container,
.enact-nav .wp-block-navigation-submenu.has-child:hover > .wp-block-navigation__submenu-container,
.enact-nav .wp-block-navigation-submenu.has-child:focus-within > .wp-block-navigation__submenu-container { opacity: 1; visibility: visible; height: auto; overflow: visible; }
/* Mobile overlay menu */
.enact-nav .wp-block-navigation__responsive-container.is-menu-open { background: #fff; padding: 24px var(--enact-gutter); }
.enact-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 24px; padding: 10px 0; }
.enact-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.enact-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; }
.enact-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start; align-self: flex-start; }
.enact-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position: static; transform: none; align-items: flex-start; padding-left: 16px; }
.enact-nav .wp-block-navigation__responsive-container-open,
.enact-nav .wp-block-navigation__responsive-container-close { color: var(--enact-navy); min-width: 44px; min-height: 44px; }

/* ---------- Bands with the icon pattern ---------- */
.is-style-enact-band-navy, .is-style-enact-band-cream, .is-style-enact-band-teal { position: relative; overflow: hidden; isolation: isolate; }
.is-style-enact-band-navy::before, .is-style-enact-band-cream::before, .is-style-enact-band-teal::before {
  content: ""; position: absolute; inset: 0; z-index: -1; background-size: 760px 760px; background-position: -60px -120px; pointer-events: none;
}
.is-style-enact-band-navy { background: var(--enact-navy); color: var(--enact-cream); padding: 56px var(--enact-gutter); }
.is-style-enact-band-navy::before { background-image: url(../img/pattern-slate.svg); opacity: .55; }
.is-style-enact-band-cream { background: var(--enact-cream); color: var(--enact-navy); padding: 44px var(--enact-gutter) 48px; }
.is-style-enact-band-cream::before { background-image: url(../img/pattern-tan.svg); opacity: .9; }
.is-style-enact-band-teal { background: var(--enact-teal); color: var(--enact-navy); padding: 34px var(--enact-gutter); }
.is-style-enact-band-teal::before { background-image: url(../img/pattern-sage.svg); opacity: .35; }
.enact-pagehead h1 { margin-bottom: 16px; }
.enact-pagehead p { max-width: 860px; margin: 0; }

/* Mission line: italic Schoolbook words between compressed caps. */
.enact-mission__title { font-size: var(--wp--preset--font-size--display); line-height: 1.1; margin: 0; }
.enact-mission__title em { font-family: var(--enact-body); font-style: italic; text-transform: none; font-size: .82em; letter-spacing: 0; }

/* ---------- Text styles ---------- */
.is-style-enact-emphasized { font-family: var(--enact-body); font-style: italic; font-size: var(--wp--preset--font-size--emphasis); line-height: 1.45; }
.is-style-enact-subtext { font-family: var(--enact-body); font-style: italic; font-size: 16px; line-height: 1.45; color: var(--enact-sage-text); }
.is-style-enact-rule { border-bottom: 3px solid var(--enact-navy); padding-bottom: 18px; margin-bottom: 28px; }
.is-style-enact-rule-above { border-top: 3px solid var(--enact-slate); padding-top: 36px; margin-top: 12px; }
hr.enact-rule { border: 0; border-bottom: 3px solid var(--enact-slate); margin: 56px 0 0; width: 100%; }
.is-style-enact-section { border-top: 3px solid var(--enact-slate); padding: 36px 0 32px; }
.is-style-enact-section:first-child { border-top: 0; padding-top: 24px; }
.is-style-enact-section h3 { margin-bottom: 18px; }
.is-style-enact-section p { margin-bottom: 16px; }
.enact-section__head { gap: 18px; margin-bottom: 14px; }
.enact-section__icon { margin: 0; }
.enact-section__icon img { width: 72px; height: 72px; object-fit: contain; display: block; }
.enact-system .is-style-enact-section { padding: 40px 0 44px; }
.enact-main > .wp-block-post-title, .enact-main > .wp-block-query-title { margin-top: 36px; }

/* Arrow link: visually hidden text, the designer's arrow. */
.enact-arrow-link { margin-top: 28px; }
.enact-arrow-link a { display: inline-block; width: 92px; height: 40px; overflow: hidden; white-space: nowrap; text-indent: 200%;
  background: url(../img/arrow-navy.svg) no-repeat center / contain; opacity: .85; filter: brightness(1.9) saturate(.5); }
.enact-arrow-link a:hover, .enact-arrow-link a:focus-visible { opacity: 1; filter: none; }
.enact-intro__photo img { width: 260px; height: 260px; object-fit: cover; display: block; }

/* ---------- ENACT graphic ---------- */
.enact-graphic { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 0 72px; }
.enact-col { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; min-height: 480px;
  padding: 36px 14px 64px; box-sizing: border-box; text-decoration: none; border-left: 1.5px solid var(--enact-slate); transition: background .25s; overflow: hidden; }
.enact-col:first-child { border-left: 0; }
.enact-col::before { content: attr(data-letter); position: absolute; top: 4px; left: 0; right: 0; font-family: var(--enact-body); font-size: 196px; line-height: 1;
  color: var(--enact-cream); opacity: 0; transition: opacity .25s; pointer-events: none; }
.enact-col img { position: relative; width: 104px; height: 104px; object-fit: contain; transition: opacity .25s; }
.enact-col__title { position: relative; display: block; margin-top: 56px; font-family: var(--enact-display); font-size: 34px; line-height: 1; letter-spacing: .02em; text-transform: uppercase; color: var(--enact-sage-text); }
.enact-col__body { position: relative; display: block; margin-top: 14px; font-family: var(--enact-body); font-style: italic; font-size: 16px; line-height: 1.45; color: var(--enact-sage-text); max-width: 190px; }
.enact-col::after { content: ""; position: absolute; bottom: 24px; left: 50%; margin-left: -40px; width: 80px; height: 40px; background: url(../img/arrow-navy.svg) no-repeat center / contain; opacity: 0; transition: opacity .25s; }
.enact-col:hover, .enact-col:focus-visible { background: var(--enact-sage); outline: none; }
.enact-col:hover::before, .enact-col:focus-visible::before, .enact-col:hover::after, .enact-col:focus-visible::after { opacity: 1; }
.enact-col:hover img, .enact-col:focus-visible img { opacity: 0; }
.enact-col:hover .enact-col__title, .enact-col:focus-visible .enact-col__title,
.enact-col:hover .enact-col__body, .enact-col:focus-visible .enact-col__body { color: var(--enact-navy); }

/* ---------- Enact System rail ---------- */
.enact-system { gap: 36px; }
.enact-rail { position: sticky; top: 150px; display: flex; flex-direction: column; border: 1px solid var(--enact-tan); border-top: 0; }
.enact-rail a { display: flex; align-items: center; justify-content: center; height: 112px; font-family: var(--enact-body); font-size: 104px; line-height: 1;
  color: var(--enact-sage-text); text-decoration: none; border-top: 1px solid var(--enact-tan); background: #fff; transition: background .2s, color .2s; }
.enact-rail a:hover, .enact-rail a:focus-visible { color: var(--enact-navy); }
.enact-rail a.is-active { background: var(--enact-sage); color: var(--enact-cream); }

/* ---------- FAQ band + accordion ---------- */
.enact-faqband { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) 96px 76px; gap: 28px; align-items: center;
  background: var(--enact-teal); color: var(--enact-navy); padding: 34px var(--enact-gutter); text-decoration: none; margin-top: 8px; }
.enact-faqband::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../img/pattern-sage.svg) -40px -80px / 640px 640px; opacity: .35; }
.enact-faqband__text { font-size: var(--wp--preset--font-size--body); line-height: 1.45; max-width: 640px; }
.enact-faqband img { width: 96px; height: auto; }
.enact-faqband__arrow { width: 76px; height: 40px; background: url(../img/arrow-navy.svg) no-repeat center / contain; transition: transform .2s; }
.enact-faqband:hover .enact-faqband__arrow { transform: translateX(8px); }
.enact-faqhead { gap: 28px; }
.enact-faqhead h1 { margin: 0; color: var(--enact-sage-text); }
.enact-faqhead__icon { margin: 0; }
.enact-faqhead__icon img { width: 74px; height: auto; }

.is-style-enact-faq { border-top: 2px solid var(--enact-slate); margin: 0; }
.is-style-enact-faq:first-of-type { border-top: 0; }
.is-style-enact-faq > summary { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 24px; align-items: center; padding: 20px 0;
  cursor: pointer; font-family: var(--enact-body); font-weight: 700; font-style: italic; font-size: var(--wp--preset--font-size--lead); line-height: 1.3; color: var(--enact-sage-text); }
.is-style-enact-faq > summary::-webkit-details-marker { display: none; }
.is-style-enact-faq > summary::after { content: ""; width: 36px; height: 36px; justify-self: center; color: var(--enact-slate);
  background: linear-gradient(currentColor, currentColor) center / 100% 5px no-repeat, linear-gradient(currentColor, currentColor) center / 5px 100% no-repeat; }
.is-style-enact-faq[open] > summary::after { background: linear-gradient(currentColor, currentColor) center / 100% 5px no-repeat; color: var(--enact-sage-text); }
.is-style-enact-faq > summary:hover, .is-style-enact-faq > summary:focus-visible { color: var(--enact-navy); }
.is-style-enact-faq > summary:hover::after, .is-style-enact-faq > summary:focus-visible::after { color: var(--enact-navy); }
.is-style-enact-faq > :not(summary) { margin: 0 68px 14px 0; }
.is-style-enact-faq > :not(summary):last-child { margin-bottom: 28px; }
.is-style-enact-faq h4 { margin: 18px 0 6px; color: var(--enact-navy); font-size: var(--wp--preset--font-size--body); }

/* ---------- Team ---------- */
.enact-person { border-top: 1.5px solid var(--enact-tan); padding: 32px 0; gap: 36px; margin-bottom: 0; }
.enact-person--founder, .enact-person:first-of-type, .is-style-enact-rule-above + .enact-person { border-top: 0; }
.enact-person__photo { margin: 0; }
.enact-person__photo img { width: 200px; height: 200px; object-fit: cover; display: block; }
.enact-person h3 { margin-bottom: 12px; }
.enact-person p { margin-bottom: 14px; }

/* ---------- Posts (Insights) ---------- */
.enact-posts .enact-post { border-top: 2px solid var(--enact-slate); padding: 32px 0 36px; }
.enact-posts .wp-block-post-template > li:first-child .enact-post { border-top: 0; }
.enact-post__title { margin: 0 0 4px; font-size: var(--wp--preset--font-size--subsection); }
.enact-post__title a { text-decoration: none; color: var(--enact-navy); }
.enact-post__meta { gap: 8px; margin: 0 0 18px; font-size: 16px; color: var(--enact-slate); }
.enact-post__meta p { margin: 0; }
.wp-block-post-excerpt__more-text { margin-top: 20px; }
.wp-block-post-excerpt__more-link, .is-style-enact-expand .wp-block-button__link { display: inline-block; font-family: var(--enact-display); font-weight: 400; font-size: 15px; letter-spacing: .1em; text-transform: uppercase;
  background: var(--enact-sage); color: var(--enact-navy); padding: 7px 22px; text-decoration: none; }
.wp-block-post-excerpt__more-link:hover, .is-style-enact-expand .wp-block-button__link:hover { background: var(--enact-navy); color: var(--enact-cream); }
.enact-single .wp-block-post-title { color: var(--enact-navy); font-size: var(--wp--preset--font-size--section); font-weight: 700; margin: 8px 0 4px; }
.enact-kicker { margin: 32px 0 0; font-family: var(--enact-display); text-transform: uppercase; letter-spacing: .08em; }
.enact-kicker a { color: var(--enact-slate); text-decoration: none; }
.enact-gated .enact-posts, .enact-gated .enact-single { filter: none; }

/* ---------- Buttons and forms ---------- */
.enact-button, .wp-block-button__link { font-family: var(--enact-display); font-weight: 600; font-size: 16px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.2;
  background: var(--enact-navy); color: var(--enact-cream); border: 0; border-radius: 0; padding: 9px 30px; cursor: pointer; min-height: 44px; }
.enact-button:hover, .enact-button:focus-visible { background: var(--enact-sage); color: var(--enact-navy); }
.enact-form { display: flex; flex-direction: column; gap: 6px; max-width: 520px; }
.enact-form__field { display: block; background: var(--enact-cream); padding: 5px 10px; font-family: var(--enact-body); font-size: 16px; color: var(--enact-navy); }
.enact-form__field input, .enact-form__field textarea { display: block; width: 100%; box-sizing: border-box; border: 0; background: transparent; font-family: var(--enact-body);
  font-size: 16px; color: var(--enact-navy); padding: 2px 0 0; outline: none; min-height: 28px; resize: vertical; }
.enact-form__field:focus-within { outline: 2px solid var(--enact-navy); outline-offset: 1px; }
.enact-form__actions { display: flex; justify-content: flex-end; margin-top: 2px; }
.enact-form__note { margin: 6px 0 0; font-size: 13px; font-style: italic; line-height: 1.4; }
.enact-form__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.enact-form__status { margin: 0 0 10px; padding: 8px 12px; font-size: 16px; background: var(--enact-cream); color: var(--enact-navy); }
.enact-form__status--error { background: #F4D9CF; }
/* Fluent Forms / WPForms fields pick up the same look */
.enact-form--plugin input:not([type=submit]):not([type=checkbox]), .enact-form--plugin textarea { background: var(--enact-cream); border: 0; border-radius: 0; font-family: var(--enact-body); color: var(--enact-navy); }
.enact-form--plugin button, .enact-form--plugin input[type=submit] { font-family: var(--enact-display); text-transform: uppercase; letter-spacing: .08em; background: var(--enact-navy); color: var(--enact-cream); border: 0; border-radius: 0; padding: 9px 30px; }

/* ---------- Footer ---------- */
.enact-footer { margin-top: 56px; }
.enact-footer__contact { padding: 44px var(--enact-gutter) 40px; }
.enact-footer__grid { gap: 40px; }
.enact-footer__title { margin: 0 0 14px; color: var(--enact-cream); }
.enact-footer__contact p { line-height: 1.4; }
.enact-footer__contact a { color: var(--enact-cream); text-decoration: none; }
.enact-footer__contact a:hover { color: #fff; text-decoration: underline; }
.enact-footer .enact-emark { display: block; width: fit-content; margin-left: auto; }
.enact-footer .enact-emark svg { height: 46px; width: auto; display: block; }
.enact-footer__legal { padding: 12px var(--enact-gutter); font-size: 13px; }
.enact-footer__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.enact-footer__meta a { color: var(--enact-cream); }

/* ---------- Contact pop-up and Insights gate ---------- */
.enact-modal { border: 0; padding: 0; background: transparent; max-width: 560px; width: calc(100% - 48px); margin: auto; }
.enact-modal::backdrop { background: rgba(32, 59, 76, .82); }
.enact-modal__panel, .enact-gate__panel { position: relative; isolation: isolate; overflow: hidden; background: var(--enact-sage); padding: 34px 48px 36px; box-sizing: border-box; }
.enact-modal__panel::before, .enact-gate__panel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../img/pattern-sage.svg) -40px -60px / 520px 520px; opacity: .55; }
.enact-modal__title, .enact-gate__title { margin: 0 0 20px; text-align: center; font-family: var(--enact-display); font-weight: 700; font-size: 30px; line-height: 1; letter-spacing: .02em; text-transform: uppercase; color: var(--enact-navy); }
.enact-modal__close { position: absolute; top: 6px; right: 8px; width: 44px; height: 44px; border: 0; background: transparent; color: var(--enact-navy); font-size: 28px; line-height: 1; cursor: pointer; }
.enact-modal .enact-form, .enact-gate .enact-form__field { max-width: none; }
.enact-modal .enact-form__note, .enact-gate .enact-form__note { color: var(--enact-navy); }
.enact-gate { position: fixed; inset: 0; z-index: 60; background: rgba(32, 59, 76, .82); display: flex; align-items: flex-start; justify-content: center; padding: 160px 24px 24px; box-sizing: border-box; overflow: auto; }
.enact-gate__panel { width: 100%; max-width: 560px; display: flex; flex-direction: column; gap: 6px; }
.enact-gate__placeholder { font-style: italic; color: var(--enact-slate); }

/* ---------- Loading animation ---------- */
html.enact-loading { overflow: hidden; }
.enact-loader { position: fixed; inset: 0; z-index: 100; background: var(--enact-sage); display: none; transition: transform .6s cubic-bezier(.7, 0, .3, 1); }
html.enact-loading .enact-loader { display: block; }
.enact-loader.is-out { transform: translateY(-100%); }
.enact-loader__stage { position: absolute; left: 50%; top: 50%; width: 0; height: 0; }
.enact-loader__e { position: absolute; left: 0; top: 0; width: 220px; transform: translate(-50%, -70%); clip-path: inset(0 100% 0 0); transition: clip-path .7s ease-out; }
.enact-loader__e svg { width: 100%; height: auto; display: block; }
.enact-loader.is-draw .enact-loader__e { clip-path: inset(0 0 0 0); }
.enact-loader__icon { position: absolute; left: 0; top: 0; width: 52px; opacity: 0; --a: calc(-80deg + var(--i) * 40deg);
  transform: translate(-50%, -50%) rotate(var(--a)) translateY(-170px) rotate(calc(-1 * var(--a))); transition: opacity .4s ease, transform .9s cubic-bezier(.6, 0, .3, 1); transition-delay: calc(var(--i) * .12s); }
.enact-loader__icon svg { width: 100%; height: auto; display: block; }
.enact-loader.is-arc .enact-loader__icon { opacity: 1; }
.enact-loader.is-spiral .enact-loader__icon { --b: calc(-200deg - var(--i) * 32deg); transform: translate(-50%, -50%) rotate(var(--b)) translateY(-150px) rotate(calc(-1 * var(--b))); }
.enact-loader.is-word .enact-loader__icon { opacity: 0; transition-duration: .3s; }
.enact-loader__word { position: absolute; left: -60px; top: 52px; display: flex; font-family: var(--enact-body); font-size: 76px; line-height: 1; color: var(--enact-navy); letter-spacing: .02em; }
.enact-loader__word span { opacity: 0; transition: opacity .25s ease; }
.enact-loader.is-word .enact-loader__word span { opacity: 1; }
.enact-loader.is-word .enact-loader__word span:nth-child(2) { transition-delay: .15s; }
.enact-loader.is-word .enact-loader__word span:nth-child(3) { transition-delay: .3s; }
.enact-loader.is-word .enact-loader__word span:nth-child(4) { transition-delay: .45s; }
.enact-loader__sub { position: absolute; left: 50%; top: 140px; transform: translateX(-50%); font-family: var(--enact-display); font-size: 20px; letter-spacing: .14em; text-transform: uppercase; color: var(--enact-cream); opacity: 0; transition: opacity .5s ease; white-space: nowrap; }
.enact-loader.is-sub .enact-loader__sub { opacity: 1; }
.enact-loader__skip { position: absolute; right: 24px; bottom: 24px; background: transparent; border: 1px solid var(--enact-navy); color: var(--enact-navy); font-family: var(--enact-display); letter-spacing: .1em; text-transform: uppercase; padding: 8px 18px; min-height: 44px; cursor: pointer; }

/* ---------- Small screens ---------- */
@media (max-width: 900px) {
  .enact-header__bar { padding: 14px 0; }
  .enact-logo__full { display: none; }
  .enact-logo__mark { display: block; }
  html { scroll-padding-top: 90px; }
  .enact-graphic { grid-template-columns: 1fr; margin-bottom: 40px; }
  .enact-col { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 18px; align-items: center; text-align: left; min-height: 0; padding: 22px 16px; border-left: 0; border-top: 1.5px solid var(--enact-slate); }
  .enact-col:first-child { border-top: 0; }
  .enact-col::before { font-size: 120px; left: 8px; right: auto; top: -6px; }
  .enact-col img { width: 72px; height: 72px; grid-row: 1 / span 2; }
  .enact-col__title { margin-top: 0; font-size: 28px; }
  .enact-col__body { max-width: none; margin-top: 4px; font-size: 15px; }
  .enact-col::after { display: none; }
  .enact-system { flex-direction: column; gap: 0; }
  .enact-system__railcol { flex-basis: auto !important; width: 100%; }
  .enact-rail { position: sticky; top: 76px; flex-direction: row; border: 0; border-bottom: 1px solid var(--enact-tan); z-index: 5; }
  .enact-rail a { flex: 1; height: 64px; font-size: 48px; border-top: 0; border-left: 1px solid var(--enact-tan); }
  .enact-rail a:first-child { border-left: 0; }
  .enact-faqband { grid-template-columns: minmax(0, 1fr) 72px; padding: 28px 24px; }
  .enact-faqband__arrow { display: none; }
  .enact-faqband img { width: 72px; }
  .enact-faqhead { flex-wrap: wrap; }
  .is-style-enact-faq > :not(summary) { margin-right: 0; }
  .enact-intro__photo img { width: 100%; height: 220px; }
  .enact-footer .enact-emark { margin-left: 0; }
  .enact-modal__panel, .enact-gate__panel { padding: 28px 24px; }
  .enact-gate { padding-top: 90px; }
  .enact-loader__e { width: 160px; }
  .enact-loader__icon { width: 40px; }
  .enact-loader__word { font-size: 56px; left: -44px; top: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .enact-col, .enact-col::before, .enact-col::after, .enact-col img, .enact-rail a, .enact-faqband__arrow, .enact-header__bar, .enact-logo__full svg { transition: none; }
}
