/* Shared layout and typography contract for every local site route. */
:root{--site-width:72rem;--site-gutter:24px;--site-font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--site-h1:clamp(2rem,4.2vw,3.5rem);--site-h2:1.75rem;--site-h3:1.25rem;--site-ink:#171717;--site-muted:#52565d;--site-action:#2563eb;--blue:var(--site-action);--color-action:var(--site-action);--muted:var(--site-muted)}
html,body{font-family:var(--site-font);font-size:16px;line-height:1.6;color:var(--site-ink);background:#fafafa}
body .shell,body>main#main,body>footer.prototype-footer,body .directory-layout{box-sizing:border-box;width:min(calc(100% - var(--site-gutter)*2),var(--site-width));max-width:var(--site-width);margin-inline:auto}
body>main#main,body>footer.prototype-footer{padding-inline:0}
body .site-header{display:block;width:100%;max-width:none;height:auto;min-height:0;padding:0;margin:0;background:#fff;border-bottom:1px solid #e4e4e7}
body .site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;width:min(calc(100% - var(--site-gutter)*2),var(--site-width));max-width:var(--site-width);padding:0;margin-inline:auto}
body .site-header nav{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin:0}
body .site-header nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-family:var(--site-font);font-size:16px;font-weight:600;line-height:1.4;color:var(--site-action);text-decoration:none}
body .site-header nav a:hover{text-decoration:underline}
body .directory-layout{display:grid;grid-template-columns:14rem minmax(0,1fr);align-items:start}
body .directory-layout-content{min-width:0;padding:0 0 0 32px}
body .directory-layout-content>main,body .directory-layout-content>.shell{width:100%;max-width:none;margin:0;padding-inline:0}
body .directory-sidebar{padding:32px 20px 32px 0;min-width:0;background:transparent;border-right:1px solid #e4e4e7}
/* Explicitly override legacy per-template heading scales; one shared hierarchy. */
body main h1{font-family:var(--site-font)!important;font-size:var(--site-h1)!important;font-weight:700!important;line-height:1.12!important;letter-spacing:-.045em!important}
body main h2{font-family:var(--site-font)!important;font-size:var(--site-h2)!important;font-weight:700!important;line-height:1.25!important;letter-spacing:-.025em!important}
body main h3{font-family:var(--site-font)!important;font-size:var(--site-h3)!important;font-weight:650!important;line-height:1.4!important;letter-spacing:-.015em!important}
body main .eyebrow{font-family:var(--site-font);font-size:14px;font-weight:650;letter-spacing:.09em;line-height:1.5}
body main :is(.hero,.comparison-hero,.guide-hero,.page-header){padding-block:48px 32px}
body main .intro,body main .profile-dek,body main .page-header>p:not(.eyebrow){font-size:18px;line-height:1.65}
body .breadcrumbs{align-items:center;line-height:1.5}
@media(max-width:900px){body .directory-layout{display:block}body .directory-sidebar{display:none}body .directory-layout-content{padding:0}body .directory-mobile-navigation{display:block;margin-inline:0}body .directory-mobile-navigation-bar{padding:16px 0}}
@media(max-width:600px){:root{--site-gutter:20px;--site-h2:1.5rem;--site-h3:1.125rem}body .site-header .header-inner{flex-wrap:wrap;gap:4px 16px;padding:12px 0}body .site-header nav{gap:18px}body main :is(.hero,.comparison-hero,.guide-hero,.page-header){padding-block:32px 24px}body main .intro,body main .profile-dek,body main .page-header>p:not(.eyebrow){font-size:16px}}
/* Shared components, independent of page template. */
body .site-breadcrumbs{display:block;padding:24px 0 0;margin:0;color:var(--site-muted);font-family:var(--site-font);font-size:16px;font-weight:400;line-height:1.5}
body .site-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;list-style:none;margin:0;padding:0}
body .site-breadcrumbs li{display:flex;align-items:center;gap:12px;min-height:44px;min-width:0;max-width:100%;margin:0;padding:0}
body .site-breadcrumbs li+li:before{content:'/';color:#737373;font-weight:400}
body .site-breadcrumbs .breadcrumb-separator{display:none}
body .site-breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;padding:0;font:inherit;color:var(--site-action);text-decoration:none}
body .site-breadcrumbs a:hover{text-decoration:underline}
body .site-breadcrumbs [aria-current]{font:inherit;color:var(--site-muted);overflow-wrap:anywhere}
body .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border:1px solid var(--site-action);border-radius:8px;font-family:var(--site-font);font-size:16px;font-weight:650;line-height:1.4;background:var(--site-action);color:white;text-decoration:none}
body .button.secondary{background:white;color:var(--site-ink);border-color:#d4d4d8}
body .button:disabled{background:#e7e9ed;border-color:#e7e9ed;color:#656b74}
body .button:not(:disabled):hover{background:#1d4ed8;color:white;text-decoration:none}
body :is(input,select,textarea,button){font-family:var(--site-font)}
body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;line-height:1.5;border:1px solid #bfc5cf;border-radius:8px;min-height:48px;background:#fff;color:var(--site-ink)}
body :is(.product-card,.directory-category-card,.content-card,.home-tool-card,.home-category-card,.profile-pricing-rail){border-color:#dce1e8;border-radius:12px;background:#fff}
body .site-footer{display:block;width:100%;max-width:none;margin:64px 0 0;padding:32px 0;background:#fff;border-top:1px solid #e4e4e7}
body .site-footer-inner{width:min(calc(100% - var(--site-gutter)*2),var(--site-width));margin-inline:auto}
body .site-footer strong{font-size:18px;font-weight:650}
body .site-footer p{font-size:16px;line-height:1.6;margin:8px 0 16px;color:var(--site-muted)}
body .site-footer nav{display:flex;flex-wrap:wrap;gap:4px 24px;margin:0;padding:0}
body .site-footer nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-size:16px;font-weight:600;line-height:1.5;color:var(--site-action);text-decoration:none}
body .site-footer nav a:hover{text-decoration:underline}
body .site-footer .site-copyright{font-size:14px;margin-top:20px}
body :focus-visible{outline:3px solid var(--site-action);outline-offset:4px}
@media(max-width:600px){body .site-breadcrumbs{padding-top:16px}body .site-breadcrumbs ol,body .site-breadcrumbs li{gap:0 8px}}
body .directory-sidebar-intro :is(.eyebrow,.directory-label),body .directory-navigation-group h2,body .directory-navigation-links .directory-label{font-family:var(--site-font);font-size:14px;font-weight:650;line-height:1.5;letter-spacing:.09em;color:var(--site-muted);text-transform:uppercase}
body .directory-sidebar-intro p:not(.eyebrow):not(.directory-label){font-size:16px;line-height:1.6;color:var(--site-muted)}
body .directory-navigation-links a{font-family:var(--site-font);font-size:16px;font-weight:600;line-height:1.5;min-height:44px;color:var(--site-action)}
body .text-button{min-height:44px;font-family:var(--site-font);font-size:16px;font-weight:600;color:var(--site-action)}

img[src="/assets/dynamic-airdna-adapt.png"]{background-color:#17143f}

/* Responsive breadcrumbs: direct parent on small screens. */
@media(max-width:600px){
body .site-breadcrumbs ol{flex-wrap:nowrap;min-width:0;max-width:100%;gap:0}
body .site-breadcrumbs ol>li{display:none}
body .site-breadcrumbs ol>li:nth-last-child(2):has(>a),body .site-breadcrumbs ol>li:only-child:has(>a){display:block;min-width:0;max-width:100%}
body .site-breadcrumbs ol>li:before{display:none;content:none}
body .site-breadcrumbs ol>li>a{position:relative;display:block;box-sizing:border-box;min-width:44px;min-height:44px;max-width:100%;padding:10px 0 10px 22px;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .site-breadcrumbs ol>li>a:before{content:"";position:absolute;left:3px;top:18px;width:7px;height:7px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
body .site-breadcrumbs ol>li>a:focus-visible{outline:3px solid var(--site-action,#2563eb);outline-offset:3px;border-radius:3px}
}
/* End responsive breadcrumbs. */
