/* Educational controls remain in document flow; never move their hit areas. */
.atco-journey-next,.atco-pest-nav { background:#f4f8f5;color:#1f2124;padding:2rem 0 }
.atco-journey-next .container { max-width:960px }
.atco-journey-actions,.atco-pest-nav ul { display:flex;flex-wrap:wrap;gap:.75rem;padding:0;list-style:none;margin:1rem 0 }
.atco-journey-actions a,.atco-pest-nav a { display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:48px;padding:.65rem 1rem;border:1px solid #007a53;border-radius:10px;color:#005c3e;background:#fff;text-decoration:underline;text-underline-offset:3px;line-height:1.5;max-width:100%;overflow-wrap:anywhere;box-sizing:border-box }
.atco-pest-nav li { max-width:100% }
.atco-disclosure { margin:1rem 0;border:1px solid #a5b9af;border-radius:12px;background:#fff;color:#1f2124;overflow:visible }
.atco-disclosure > summary { cursor:pointer;min-height:48px;padding:1rem;box-sizing:border-box;font-weight:600;line-height:1.5;list-style:disclosure-closed }
.atco-disclosure[open] > summary { list-style:disclosure-open;border-bottom:1px solid #a5b9af }
.atco-disclosure > p,.atco-disclosure > div { padding:1rem;margin:0 }
.atco-disclosure a,.rr-link { min-height:48px;display:inline-flex;align-items:center }
.atco-disclosure summary:focus-visible,.atco-journey-actions a:focus-visible,.atco-pest-nav a:focus-visible { outline:3px solid #0057a8;outline-offset:4px }
.atco-disclosure.atco-faq-item .atco-faq-a { max-height:none;opacity:1;visibility:visible;overflow:visible;display:block;transition:none }
.atco-disclosure.atco-faq-item[open] .atco-faq-icon::after { transform:rotate(90deg) }
.atco-disclosure.atco-faq-item .atco-faq-q { display:list-item;width:100%;text-align:left }
.atco-disclosure.atco-faq-item .atco-faq-q-num { display:none }
.atco-disclosure.atco-faq-item .atco-faq-icon { display:none }
/* FAQ sections are always dark, independently of the site's appearance mode.
   Pair their disclosure surfaces and text; generic white cards hide pale text. */
.atco-faq-section .atco-disclosure.atco-faq-item { background:#112019;color:#f0f4f8;border-color:#597766 }
.atco-faq-section .atco-disclosure.atco-faq-item > summary { background:transparent;color:#f0f4f8 }
.atco-faq-section .atco-disclosure.atco-faq-item[open] > summary { border-color:#597766 }
.atco-faq-section .atco-disclosure .atco-faq-q-text { color:#f0f4f8 }
.atco-faq-section .atco-disclosure .atco-faq-a-inner { color:#d8e5df }
.atco-faq-section .atco-disclosure .atco-faq-a-inner strong { color:#f0f4f8 }
.atco-faq-section .atco-disclosure .atco-faq-a-inner em { color:#d8e5df }
.atco-faq-section .atco-disclosure .atco-faq-a-inner a { color:#a7f3d0 }
.atco-faq-section .atco-disclosure .atco-faq-a-inner a:hover { color:#d4ffea }
.atco-faq-section .atco-disclosure > summary:focus-visible { outline:3px solid #59cbe8;outline-offset:3px }
.species-id-card { height:auto!important;min-height:0!important;perspective:none!important;cursor:default!important;transform:none!important;max-width:100%;box-sizing:border-box }
.atco-guided-species { padding:1rem!important;background:#fff;color:#1f2124;border:1px solid #a5b9af }
.atco-guided-species .species-id-content,.atco-guided-species .species-info { padding:0!important }
.atco-guided-species img { max-width:100% }
.atco-guided-species .atco-disclosure { width:100%;text-align:left }
/* Original flip markup stays readable even without enhancement. */
.species-id-card .card-inner,.species-id-card .card-front,.species-id-card .card-back {
    position:relative!important;height:auto!important;inset:auto!important;transform:none!important;backface-visibility:visible!important;transition:none!important
}
.species-id-card .card-front-img { flex:none;overflow:visible }
.species-id-card .species-id-img { height:180px!important;transform:none!important;max-width:100%;object-fit:cover }
.species-id-card .card-front-img::after { display:none }
.species-id-card .card-front-name { position:static;background:#005c3e;overflow-wrap:anywhere }
.species-id-card .card-front-name span[style*="--atco-yellow"] { background:var(--atco-yellow,#ffc72c)!important;color:#1f2124!important }
.species-id-card .card-front-bottom { display:none!important }
.species-id-card .card-back-details { height:auto;max-height:none;overflow:visible!important }
.atco-guided-species .card-back-header { display:none }
.atco-guided-species .card-back { background:transparent!important }
.atco-guided-species .card-detail-pill .pill-label,
.atco-guided-species .card-detail-pill .pill-value { color:inherit!important }
.atco-guided-species .card-detail-pill { background:transparent!important }
.atco-guided-species .pill-text { min-width:0;overflow-wrap:anywhere }
.species-id-card .card-back-cta { min-height:48px;transform:none!important;white-space:normal }
.dyk-card { height:auto!important;cursor:default!important;perspective:none!important }
.dyk-section .dyk-grid > .dyk-card { height:auto!important;min-height:0!important }
.dyk-stat,.dyk-unit { max-width:100%;overflow-wrap:anywhere }
.dyk-card-inner,.dyk-front,.dyk-back { position:relative!important;inset:auto!important;height:auto!important;transform:none!important;backface-visibility:visible!important;transition:none!important }
.dyk-front { min-height:180px;overflow:visible!important }
.dyk-flip-hint { display:none!important }
.dyk-sub,.species-touch-hint { display:none }
.dyk-card .dyk-back { overflow-wrap:anywhere;min-height:0!important }
.dyk-card .dyk-cta { min-height:48px;min-width:48px;transform:none!important;white-space:normal }
.atco-guided-dyk .atco-disclosure { margin:0;text-align:left }
.atco-guided-dyk .atco-disclosure summary { width:100%;box-sizing:border-box }
.atco-guided-dyk .atco-disclosure .dyk-back { margin:0 }
/* Legacy accordion content is essential and visible until enhanced. */
.accordion-grid .accordion-content { max-height:none!important;opacity:1!important;visibility:visible!important }
.accordion-grid .accordion-content[hidden] { display:none!important }
.accordion-grid .accordion-trigger { min-height:48px }
.atco-guided-target { scroll-margin-top:160px }
.atco-guided-target:focus { outline:3px solid #0057a8;outline-offset:-3px }
.bh-filter-form select,.bh-filter-submit,.bh-filter-reset,.bh-pagination a { min-height:48px;min-width:48px }
.bh-filter-reset { display:inline-flex;align-items:center;padding:.5rem 1rem }
.bh-topic-state { padding:1rem 0;color:var(--text-primary,#1f2124) }
[data-theme="dark"] .atco-journey-next,[data-theme="dark"] .atco-pest-nav { background:#0d1a10;color:#f0f4f8 }
[data-theme="dark"] .atco-disclosure { background:#112019;color:#f0f4f8;border-color:#597766 }
[data-theme="dark"] .atco-guided-species { background:#112019;color:#f0f4f8;border-color:#597766 }
[data-theme="dark"] .atco-disclosure[open] > summary { border-color:#597766 }
[data-theme="dark"] .atco-journey-actions a,[data-theme="dark"] .atco-pest-nav a { background:#112019;color:#a7f3d0;border-color:#79b69a }
[data-theme="dark"] .atco-disclosure summary:focus-visible,[data-theme="dark"] .atco-journey-actions a:focus-visible,[data-theme="dark"] .atco-pest-nav a:focus-visible,[data-theme="dark"] .atco-guided-target:focus { outline-color:#59cbe8 }
@media(max-width:480px) { .atco-journey-actions a { width:100% }.atco-pest-nav ul { flex-direction:column }.atco-pest-nav a { width:100% } }
@media(max-width:768px) {
    .species-id-section .species-id-grid,.dyk-section .dyk-grid { display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;scroll-snap-type:none!important;margin:0!important;padding:0!important;gap:1.5rem }
    .species-id-section .species-id-card,.dyk-section .dyk-card { min-width:0!important;max-width:none!important;width:100%!important;flex:none!important }
    .species-id-section .swipe-dots,.dyk-section .swipe-dots { display:none!important }
    .dirt-section .dirt-steps { display:grid;grid-template-columns:1fr;overflow:visible;scroll-snap-type:none;margin:0;padding:0;gap:1.5rem }
    .dirt-section .dirt-step { width:100%;min-width:0;max-width:100%;flex:none;box-sizing:border-box }
}
@media(prefers-reduced-motion:reduce) { .atco-disclosure *,.atco-guided-target,.species-id-card,.dyk-card,.dyk-front { animation:none!important;transition:none!important;scroll-behavior:auto!important } }
/* D.I.R.T. viewer: persistent close controls. */
.atco-framework-viewer { position:fixed;inset:0;margin:auto;width:min(calc(100vw - 24px),1080px);max-width:none;height:90vh;height:90dvh;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:0;border:1px solid #597766;border-radius:12px;background:#fff;color:#20332e;overflow:hidden;box-sizing:border-box }
.atco-framework-viewer:not([open]) { display:none }
.atco-framework-viewer[open] { display:flex;flex-direction:column }
.atco-framework-viewer::backdrop { background:rgba(0,0,0,.78) }
.atco-framework-viewer .atco-framework-top { display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:12px 16px;background:#fff;color:#20332e;border-bottom:1px solid #a5b9af }
.atco-framework-viewer .atco-framework-top h2 { flex:1;min-width:0;margin:0;color:#20332e;font-size:clamp(16px,2vw,22px);line-height:1.4;overflow-wrap:anywhere }
.atco-framework-viewer .atco-framework-close { flex:none;display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-width:100px;min-height:48px;padding:10px 16px;background:#104b3b;color:#fff;border:2px solid #104b3b;border-radius:8px;font:600 16px/1.4 sans-serif;cursor:pointer;transform:none;text-transform:none;letter-spacing:normal;box-shadow:none;white-space:nowrap }
.atco-framework-viewer .atco-framework-close:hover { background:#17684f;border-color:#17684f;color:#fff }
.atco-framework-viewer .atco-framework-close:focus-visible { outline:3px solid #0057a8;outline-offset:3px }
.atco-framework-viewer .atco-framework-canvas { flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px;background:#fff }
.atco-framework-viewer .atco-framework-canvas:focus-visible { outline:3px solid #0057a8;outline-offset:-3px }
.atco-framework-viewer .atco-framework-canvas img { display:block;width:100%;min-width:760px;max-width:none;height:auto }
html.atco-framework-viewing,html.atco-framework-viewing body { overflow:hidden }