/* Shared editorial treatment for Guides, FAQ and the Services directory. */
.refined-page main{ background:#f5f8fb; background-image:none; }
.refined-page .page-banner{ padding:48px 0 52px; }
.refined-page .page-banner .pb-title{ font-size:clamp(36px,4.2vw,56px); line-height:1.12; letter-spacing:-.035em; }
.refined-page .page-banner .pb-sub{ font-size:17px; max-width:50ch; }
.refined-page .pb-crumb{ background:#ffffff12; border-color:#ffffff30; border-radius:8px; font-size:11px; }
.refined-page main [data-reveal]{ opacity:1; transform:none; }
.refined-page .page-block.tight{ padding-block:52px 64px !important; background:none; }
.refined-page .sec-head .eyebrow{ color:#2575a7; font-size:10px; letter-spacing:.15em; margin-bottom:16px; }
.refined-page .sec-head .eyebrow::before{ width:22px; height:2px; background:#4d9ac8; border-radius:0; box-shadow:none; }
.refined-page .sec-head h2{ font-size:clamp(29px,3vw,39px); line-height:1.18; letter-spacing:-.03em; max-width:21ch; margin:0; color:#163750; }
.refined-page .sec-head > p:not(.eyebrow){ font-size:15px; color:#5e7386; line-height:1.8; margin-top:20px; max-width:54ch; }
.refined-page .guides-intro,.refined-page .services-intro,.refined-page .faq-intro{ display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:64px; margin-bottom:44px; }
.refined-page .services-intro .sec-head{ margin:0; }
.refined-page .inner-page-hero{ position:relative; border-radius:18px; overflow:hidden; margin:0; }
.refined-page .inner-page-hero::before{ display:none; }
.refined-page .inner-page-hero img{ display:block; width:100%; height:285px; object-fit:cover; border-radius:18px; box-shadow:none; margin:0; }
.refined-page .inner-page-hero::after{ content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#09243bba); pointer-events:none; }
.intro-photo-label{ position:absolute; bottom:22px; left:24px; right:24px; z-index:1; color:#fff; font-size:13px; font-weight:500; }
.refined-page .intro-link{ display:inline-flex; align-items:center; gap:22px; min-height:48px; font-size:13px; font-weight:600; color:#1b6ba5; text-decoration:none; border-bottom:1px solid #b7d1e3; margin-top:8px; }
.refined-page .guides-stats{ margin-top:22px; gap:24px; }
.refined-page .guides-stats li{ gap:10px; background:none; border:0; padding:0; box-shadow:none; border-radius:0; }
.refined-page .guides-stats strong{ color:#166a9e; background:none; width:auto; height:auto; font-size:30px; }
.refined-page .guides-stats span{ font-size:11px; color:#667d90; max-width:13ch; }
.browse-heading{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.browse-heading h3{ font-size:19px; color:#1a3b55; margin:0; }
.browse-heading p{ color:#718596; font-size:12px; margin:0; }
.refined-page [data-page="resources"] .guide-filters{ padding:0; border:0; box-shadow:none; background:none; gap:8px; margin-bottom:26px; }
.refined-page [data-page="resources"] .gf-chip{ flex:0 0 auto; background:#fff; border:1px solid #dce6ee; border-radius:8px; min-height:42px; padding:9px 17px; font-size:12px; }
.refined-page [data-page="resources"] .gf-chip.is-active{ background:#164e76; border-color:#164e76; color:#fff; box-shadow:none; }
.refined-page [data-page="resources"] .guide-grid{ gap:20px; }
.refined-page [data-page="resources"] .guide-card{ padding:26px; border-radius:16px; border:1px solid #dfe7ee; background:#fff; box-shadow:0 8px 22px -20px #16385350; transition:border-color .2s,box-shadow .2s; }
.refined-page [data-page="resources"] .guide-card::before,.refined-page [data-page="resources"] .guide-card::after{ display:none; }
.refined-page [data-page="resources"] .guide-card.is-featured{ background:linear-gradient(140deg,#174f75,#102d47); border-color:#174f75; }
.refined-page [data-page="resources"] .guide-card .gc-icon{ width:42px; height:42px; border-radius:11px; background:#edf5fb; color:#2b7fb6; margin-bottom:22px; transform:none; box-shadow:none; }
.refined-page [data-page="resources"] .guide-card.is-featured .gc-icon{ color:#a4d7f2; background:#ffffff16; }
.refined-page [data-page="resources"] .guide-card .tag{ background:none; border:0; padding:0; border-radius:0; color:#51809e; font-size:9px; letter-spacing:.12em; }
.refined-page [data-page="resources"] .guide-card.is-featured .tag{ color:#9bcee9; }
.refined-page [data-page="resources"] .guide-card .gc-featured{ background:#ffffff0a; border:1px solid #ffffff30; border-radius:5px; font-size:8px; top:28px; right:26px; }
.refined-page [data-page="resources"] .guide-card h3{ font-size:21px; line-height:1.35; letter-spacing:-.02em; margin:12px 0 0; }
.refined-page [data-page="resources"] .guide-card p{ font-size:13px; line-height:1.8; margin-top:14px; }
.refined-page [data-page="resources"] .guide-card .gc-link{ font-size:12px; min-height:48px; padding-top:16px; margin-top:22px; border-top-style:solid; }
.refined-page .guide-cta,.refined-page [data-page="services"] .cta-banner{ background:#e8f1f7; border:1px solid #d5e3ed; border-radius:16px; box-shadow:none; color:#183c58; padding:30px; gap:24px; margin-top:36px; }
.refined-page .guide-cta h3,.refined-page [data-page="services"] .cta-banner h3{ color:#183c58; font-size:24px; }
.refined-page .guide-cta p,.refined-page [data-page="services"] .cta-banner p{ color:#5d768b; font-size:14px; }
.refined-page .guide-cta::before,.refined-page .guide-cta::after,.refined-page [data-page="services"] .cta-banner::before,.refined-page [data-page="services"] .cta-banner::after{ display:none; }
.refined-page main .btn{ min-height:48px; border-radius:9px; padding:12px 18px; font-size:12px; font-weight:600; box-shadow:none; }
.refined-page main .btn-brass{ background:#175984; color:#fff; }
.refined-page main .btn-ghost{ color:#1c587e; border:1px solid #aac7db; background:#fff; }
.refined-page main .btn::before,.refined-page main .btn::after{ display:none; }
/* FAQ: direct search, restrained accordion cards and a compact help panel. */
.refined-page .faq-intro{ grid-template-columns:1fr 1fr; }
.faq-start{ padding:30px; background:#102f49; border:1px solid #194a6a; border-radius:18px; }
.faq-start-kicker{ color:#91c8e5; font-size:9px; text-transform:uppercase; letter-spacing:.14em; }
.faq-start h3{ color:#fff; font-size:22px; line-height:1.35; margin:16px 0 10px; max-width:22ch; }
.faq-start p{ color:#b2c7d6; font-size:13px; margin:0; }
.faq-topics{ display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.faq-topics button{ display:inline-flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; padding:10px 12px; color:#e3f3fc; border:1px solid #ffffff30; background:#ffffff08; border-radius:7px; font:500 11px var(--font-body); cursor:pointer; }
.faq-topics button:hover{ background:#ffffff20; }
.refined-page .faq-layout{ grid-template-columns:280px minmax(0,1fr); gap:28px; }
.refined-page .faq-tools{ padding:20px; border-radius:14px; background:#fff; box-shadow:none; border-color:#dce6ee; scroll-margin-top:96px; }
.faq-tools-title{ font-size:17px; margin:0 0 16px; color:#173c57; }
.refined-page .faq-search{ background:#f4f8fb; border-color:#dce6ee; border-radius:8px; padding-inline:12px; }
.refined-page .faq-search input{ font-size:16px; min-height:48px; }
.refined-page .faq-count{ font-size:11px; margin-top:12px; }
.refined-page .faq-toggle-all button{ font-size:11px; min-height:42px; border-radius:7px; }
.refined-page .faq-help{ background:#e7f0f6; border:1px solid #d7e4ed; padding:24px; border-radius:14px; box-shadow:none; }
.refined-page .faq-help::before,.refined-page .faq-help::after{ display:none; }
.refined-page .faq-help h5{ color:#193d58; font-size:18px; }
.refined-page .faq-help p,.refined-page .faq-help .sh-row{ color:#56758c; font-size:12px; }
.refined-page .faq-help .sh-ico{ background:#fff; color:#2479ad; }
.refined-page .faq-help .sh-btn{ margin-top:18px; }
.refined-page .faq-page .faq-list{ gap:10px; }
.refined-page .faq-page .faq-item{ border:1px solid #dfe7ee; border-radius:12px; box-shadow:none; background:#fff; transform:none; }
.refined-page .faq-page .faq-item::before{ display:none; }
.refined-page .faq-page .faq-item[data-open="true"]{ border-color:#9cbed6; background:#fff; box-shadow:0 9px 24px -20px #18415f60; }
.refined-page .faq-page .faq-q{ padding:20px; gap:16px; font-size:16px; line-height:1.45; letter-spacing:-.01em; color:#23465f; }
.refined-page .faq-page .faq-q::before{ width:28px; height:28px; font-size:10px; border-radius:7px; background:#edf4f9; color:#608aa7; }
.refined-page .faq-page .faq-item[data-open="true"] .faq-q::before{ background:#1d648e; color:#fff; }
.refined-page .faq-page .faq-q .plus{ width:28px; height:28px; font-size:16px; background:#f3f7fa; border-color:#dce6ee; color:#27698f; }
.refined-page .faq-page .faq-item[data-open="true"] .plus{ background:#e3f0f8; color:#1c658f; }
.refined-page .faq-page .faq-a-inner{ padding:0 24px 24px 64px; font-size:14px; line-height:1.85; color:#5a7184; }
.refined-page .faq-page .faq-item[data-open="true"] .faq-a{ max-height:none; }
/* Services: smaller category panels, readable cards and a persistent index. */
.refined-page [data-page="services"] .jump-nav{ top:84px; border-radius:12px; padding:8px; margin-bottom:32px; background:#ffffffed; border-color:#dce6ee; box-shadow:0 8px 20px -18px #23476680; }
.refined-page .jump-track{ gap:4px; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; }
.refined-page .jump-pill{ font-size:11px; padding:9px 12px; min-height:44px; border-radius:7px; flex-shrink:0; }
.refined-page .jump-pill.active{ background:#19577e; box-shadow:none; }
.refined-page .jump-pill .jp-ico{ width:24px; height:24px; background:#eaf3f9; color:#3b83ae; }
.refined-page .jump-pill.active .jp-ico{ color:#fff; background:#ffffff20; }
.refined-page .svc-group{ grid-template-columns:260px minmax(0,1fr); gap:24px; margin-bottom:40px; scroll-margin-top:160px; }
.refined-page .svc-group-head{ padding:26px; border-radius:14px; top:160px; background:linear-gradient(145deg,#173e5b,#102e47); box-shadow:none; border:1px solid #204e6e; }
.refined-page .svc-group-head::after{ display:none; }
.refined-page .svc-group-head .sg-num{ top:24px; right:24px; font-size:12px; color:#85afc7; -webkit-text-stroke:0; letter-spacing:.08em; }
.refined-page .svc-group-head .sg-icon{ width:42px; height:42px; background:#ffffff10; color:#9cd4f0; border:1px solid #ffffff20; box-shadow:none; border-radius:10px; }
.refined-page .svc-group-head .sg-icon svg{ width:22px; height:22px; }
.refined-page .svc-group-head h3{ font-size:22px; line-height:1.25; margin-top:24px; }
.refined-page .svc-group-head .group-desc{ font-size:12px; line-height:1.8; color:#b4cad9; }
.refined-page .svc-group-head .sg-count{ margin-top:20px; font-size:9px; border-radius:5px; background:none; border-color:#ffffff30; padding:6px 9px; }
.refined-page .svc-list{ gap:14px; }
.refined-page .svc-row{ background:#fff; border:1px solid #dce6ee; padding:24px; border-radius:14px; box-shadow:none; text-decoration:none; transition:border-color .2s,box-shadow .2s; }
.refined-page .svc-row::before,.refined-page .svc-row::after{ display:none; }
.refined-page .svc-row .code{ align-self:flex-start; padding:5px 8px; border:0; border-radius:5px; font-size:9px; color:#497d9b; background:#eef5f9; }
.refined-page .svc-row h4{ font-size:19px; font-weight:600; margin-top:16px; line-height:1.35; }
.refined-page .svc-row p{ font-size:13px; line-height:1.75; color:#60778b; margin-top:10px; }
.refined-page .svc-row-foot{ margin-top:18px; padding-top:12px; border-top:1px solid #e6edf3; }
.refined-page .svc-badge{ font-size:10px; color:#6d8ba0; }
.refined-page .svc-go{ width:30px; height:30px; color:#317ca7; border:0; background:#eef5f9; }
@media(hover:hover){
 .refined-page [data-page="resources"] .guide-card:hover,.refined-page .svc-row:hover{ transform:none; border-color:#8ab7d5; box-shadow:0 12px 26px -20px #194d7155; }
}
@media(max-width:960px){
 .refined-page .guides-intro,.refined-page .services-intro,.refined-page .faq-intro{ gap:30px; }
 .refined-page .svc-group{ grid-template-columns:1fr; gap:16px; }
 .refined-page .svc-group-head{ position:relative; top:auto; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px 18px; }
 .refined-page .svc-group-head h3{ margin:0; font-size:22px; }
 .refined-page .svc-group-head .group-desc{ grid-column:1/-1; margin:0; }
 .refined-page .svc-group-head .sg-count{ margin:0; }
 .refined-page .svc-group-head .sg-num{ display:none; }
 .refined-page .faq-layout{ display:flex; flex-direction:column; align-items:stretch; }
 .refined-page .faq-side{ display:contents; }
 .refined-page .faq-tools{ width:100%; }
 .refined-page .faq-help{ width:100%; }
}
@media(max-width:640px){
 .refined-page .page-banner{ padding:32px 0 36px; }
 .refined-page .page-banner .pb-title{ font-size:34px; max-width:18ch; margin-top:20px; }
 .refined-page .page-banner .pb-sub{ font-size:14px; line-height:1.65; }
 .refined-page .page-block.tight{ padding-block:32px 40px !important; }
 .refined-page .guides-intro,.refined-page .services-intro,.refined-page .faq-intro{ grid-template-columns:1fr; gap:24px; margin-bottom:32px; }
 .refined-page .sec-head h2{ font-size:30px; max-width:22ch; }
 .refined-page .sec-head > p:not(.eyebrow){ font-size:14px; margin-top:16px; }
 .refined-page .sec-head .eyebrow{ font-size:9px; letter-spacing:.1em; margin-bottom:14px; }
 .refined-page .inner-page-hero img{ height:180px; }
 .intro-photo-label{ font-size:11px; bottom:18px; left:18px; }
 .refined-page .guides-stats{ gap:24px; margin-top:20px; }
 .refined-page .guides-stats span{ font-size:10px; }
 .browse-heading{ display:block; margin-bottom:14px; }
 .browse-heading h3{ font-size:18px; }
 .browse-heading p{ margin-top:6px; font-size:11px; }
 .refined-page [data-page="resources"] .guide-filters{ gap:7px; margin-bottom:22px; }
 .refined-page [data-page="resources"] .gf-chip{ min-height:44px; font-size:11px; padding:9px 12px; }
 .refined-page [data-page="resources"] .guide-card{ padding:22px; }
 .refined-page [data-page="resources"] .guide-card .gc-icon{ margin-bottom:18px; }
 .refined-page [data-page="resources"] .guide-card .gc-featured{ right:22px; top:25px; }
 .refined-page [data-page="resources"] .guide-card h3{ font-size:21px; }
 .refined-page .guide-cta,.refined-page [data-page="services"] .cta-banner{ padding:24px; margin-top:26px; }
 .refined-page .guide-cta h3,.refined-page [data-page="services"] .cta-banner h3{ font-size:23px; }
 .refined-page .guide-cta-actions{ display:grid; gap:10px; grid-template-columns:1fr; }
 .refined-page [data-page="services"] .cta-banner .btn{ width:100%; justify-content:center; }
 .faq-start{ padding:24px; border-radius:14px; }
 .faq-start h3{ font-size:21px; }
 .faq-topics{ gap:6px; margin-top:18px; }
 .faq-topics button{ font-size:10px; min-height:44px; gap:7px; padding:9px; }
 .refined-page .faq-layout{ gap:20px; }
 .refined-page .faq-tools{ padding:18px; }
 .refined-page .faq-toggle-all button{ min-height:44px; }
 .refined-page .faq-page .faq-q{ padding:18px 16px; gap:10px; font-size:15px; }
 .refined-page .faq-page .faq-q::before{ display:none; }
 .refined-page .faq-page .faq-q .plus{ width:26px; height:26px; }
 .refined-page .faq-page .faq-a-inner{ padding:0 18px 22px; font-size:14px; line-height:1.85; }
 .refined-page [data-page="services"] .jump-nav{ top:72px; padding:8px 0; margin:0 0 24px; border-radius:0; border-inline:0; }
 .refined-page .jump-track{ scrollbar-width:thin; }
 .refined-page .jump-pill{ padding:8px 10px; font-size:11px; }
 .refined-page .svc-group{ margin-bottom:30px; scroll-margin-top:145px; }
 .refined-page .svc-group-head{ padding:20px; grid-template-columns:auto 1fr; gap:14px; }
 .refined-page .svc-group-head h3{ font-size:21px; }
 .refined-page .svc-group-head .sg-count{ grid-column:1/-1; justify-self:start; }
 .refined-page .svc-row{ padding:22px; }
 .refined-page .svc-row h4{ font-size:20px; }
 .refined-page .svc-row p{ font-size:13px; }
}
.refined-page main button:focus-visible,.refined-page main a:focus-visible{ outline:2px solid #3c9bd2; outline-offset:3px; }
@media(prefers-reduced-motion:reduce){ .refined-page main *{ scroll-behavior:auto; transition:none !important; } }
.refined-page .faq-help h5{ margin:0 0 12px; }
.refined-page .faq-help p{ margin:0 0 16px; }
@media(min-width:961px){ .refined-page .jump-pill{ flex:1 0 auto; justify-content:center; } }

/* Make an active FAQ search easy to reset without hiding the answer controls. */
.refined-page .faq-toggle-all{ flex-wrap:wrap; }
.refined-page #faqShowAll{ flex-basis:100%; color:#fff; background:#1d648e; border-color:#1d648e; }
