/* Final UI refinements. The completed hero stylesheet is unchanged. */
:root {--sticky-header-height:136px;--admin-bar-offset:0px}
html {scroll-padding-top:calc(var(--sticky-header-height) + var(--admin-bar-offset) + 16px)}
.site-header {position:sticky;top:var(--admin-bar-offset);z-index:100;box-shadow:0 3px 14px rgb(25 45 64 / 6%)}
.header-top {padding-block:16px}
.brand img {max-height:48px}
.main-nav a {padding-block:12px}
.skip:focus {position:fixed;top:calc(var(--admin-bar-offset) + 8px);z-index:200}
html:has(#wpadminbar) {--admin-bar-offset:32px}
.wrap,.article,.footer-grid>* {min-width:0}
.article {line-height:1.8}
/* Only lower templates use main.wrap; the homepage/header/footer keep their widths. */
main.wrap,.breadcrumb.wrap {max-width:1100px}
main.wrap>.article {width:100%;max-width:none;margin-inline:auto}
.article center {display:block;text-align:left}
.article>:is(h2,h3,h4):first-child {margin-top:0}
.article :where(p,li,td) a {text-decoration:underline;text-underline-offset:.22em}
.article :where(h2,h3,h4) {text-wrap:pretty}
.article iframe {max-width:100%;min-width:0}
.article :where(ul,ol):not(.news-list):not(.practice-links) {margin-block:18px 24px}
.article :where(ul,ol):not(.news-list):not(.practice-links)>li {margin-block:8px}
.table-wrap {overscroll-behavior-x:contain}
.button,.contact-button {min-height:48px}
/* Match CF7's native select to the existing text/email/textarea controls. */
.wpcf7 select.wpcf7-select {
 display:block;
 box-sizing:border-box;
 width:100%;
 max-width:100%;
 min-width:0;
 min-height:calc(1.8em + 26px);
 margin:0;
 padding:12px 36px 12px 12px;
 border:1px solid #788792;
 border-radius:0;
 background-color:#fff;
 color:var(--text);
 font:inherit;
 line-height:1.8;
}
.wpcf7 select.wpcf7-select:focus-visible {outline:3px solid #986b20;outline-offset:5px}
.hyperion-faq-page .article {margin-inline:auto}
.faq-list {width:100%;max-width:860px;margin-inline:auto;text-align:left}
.faq-item {padding:0;border-bottom:1px solid var(--line);text-align:left}
.faq-item:first-child {border-top:1px solid var(--line)}
.faq-question {display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:20px 4px;list-style:none;cursor:pointer;text-align:left;color:var(--ink);font-size:17px;font-weight:600;line-height:1.8}
.faq-question::-webkit-details-marker {display:none}
.faq-question-text {flex:1;min-width:0}
.faq-symbol {flex:0 0 28px;display:grid;place-items:center;color:var(--ink);font-size:24px;font-weight:400}
.faq-symbol::after {content:"＋"}
.faq-item[open]>.faq-question .faq-symbol::after {content:"−"}
.faq-question:hover {background:var(--paper)}
.faq-answer {padding:0 44px 22px 4px;text-align:left;font-size:16px;line-height:1.85}
.faq-answer p {margin:0 0 16px}
.faq-answer p:last-child {margin-bottom:0}
.faq-answer .faq-permalink {display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-size:14px;gap:8px;text-align:left}
.article .practice-links {list-style:none;padding:0;margin:24px 0 32px;width:100%;max-width:none}
.article .practice-links li {margin:0;padding:0;border-bottom:1px solid var(--line)}
.article .practice-links li:first-child {border-top:1px solid var(--line)}
.article .practice-links a {display:flex;align-items:center;gap:24px;min-height:72px;padding:20px 12px;color:var(--ink);text-decoration:none;font-size:18px;line-height:1.8}
.practice-number {flex:0 0 32px;color:var(--accent);font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.05em}
.practice-label {flex:1;min-width:0}
.practice-arrow {flex:0 0 24px;text-align:right;color:var(--accent);font-size:18px}
.article .practice-links a:hover {background:var(--paper)}
@media(max-width:782px) {html:has(#wpadminbar) {--admin-bar-offset:46px}}
@media(max-width:760px) {
 :root {--sticky-header-height:68px}
 .header-top {padding-block:12px}
 .header-top>.brand {flex:1;min-width:0}
 .brand img {width:min(205px,100%);max-width:100%;max-height:40px}
 .main-nav {max-height:calc(100vh - 84px - var(--admin-bar-offset));max-height:calc(100dvh - 84px - var(--admin-bar-offset));overflow-y:auto;overscroll-behavior:contain}
 .main-nav a {min-height:44px}
 .menu-toggle {flex:0 0 auto;min-width:72px;min-height:44px}
 .faq-question {padding:16px 2px;font-size:16px;gap:12px}
 .faq-answer {padding:0 2px 18px}
 .article .practice-links a {padding:18px 4px;gap:14px;min-height:68px;font-size:16px}
 .practice-number {flex-basis:28px}
}
@media(max-width:600px) {html:has(#wpadminbar) {--admin-bar-offset:0px}}
