/* Shared marketing chrome. Product-page layouts retain their own styles. */
.marketing-site { background: #fbfcf8; }
.marketing-site .site-header {
    background: #fbfcf8f5;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: blur(16px);
    font-family: 'DM Sans', system-ui, sans-serif;
    padding: 20px 12px;
    min-height: 82px;
}
.marketing-site .site-header::before { background: #fbfcf8; }
.marketing-site .brand-lockup { gap: 9px; }
.marketing-site .brand-lockup img { border-radius: 11px; }
.marketing-site .brand-lockup strong {
    font-family: Manrope, system-ui, sans-serif;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: -1.4px;
    color: #27332c;
}
.marketing-site .brand-lockup .brand-period { display: inline; color: #5c765e; font-size: inherit; }
.marketing-site .site-nav { gap: 10px; font-size: 12px; }
.marketing-site .site-nav > a, .marketing-site .nav-menu__trigger { font-family: inherit; font-weight: 500; color: #4c6151; }
.marketing-site .site-nav > a:hover, .marketing-site .nav-menu__trigger:hover { background: #edf2e7; }
.marketing-site .site-nav > a.nav-cta {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    padding: 13px 18px;
    background: #27332c;
    color: #fff;
    border-radius: 9px;
}
.marketing-site .site-nav > a.nav-cta:hover { background: #46594b; }
.marketing-site .nav-menu__panel { background: #fbfcf8; border-color: #e3ebe0; }
.marketing-site .site-nav-toggle { border-color: #e3ebe0; color: #576f5d; background: #f4f8f3; }
.marketing-site .site-footer {
    padding: 55px 12px 10px;
    border-top: 1px solid #e8ede6;
    background: transparent;
    color: #718b78;
    font-family: 'DM Sans', system-ui, sans-serif;
}
.marketing-site .footer-grid { gap: 45px; }
.marketing-site .footer-brand > strong {
    font-family: Manrope, system-ui, sans-serif;
    font-size: 24px;
    letter-spacing: -1px;
    color: #27332c;
}
.marketing-site .footer-brand p { color: #748e7a; font-size: 12px; }
.marketing-site .footer-col h4 { font: 600 10px 'DM Sans', system-ui, sans-serif; letter-spacing: 1.4px; text-transform: uppercase; color: #67836e; }
.marketing-site .footer-col a { font-size: 11px; color: #748e7a; }
.marketing-site .footer-col a:hover, .marketing-site .footer-bottom a:hover { color: #5c765e; }
.marketing-site .footer-bottom { border-color: #e8ede6; font-size: 10px; color: #748e7a; }
.marketing-site .footer-bottom a { font-size: 10px; }
.marketing-site :is(a, button, summary):focus-visible { outline: 3px solid #6d8962; outline-offset: 4px; }
.marketing-skip { position: fixed; top: -80px; left: 16px; z-index: 100; padding: 12px 18px; background: #fff; color: #27332c; border-radius: 8px; }
.marketing-skip:focus { top: 8px; }
.premium-homepage .page-shell { max-width: none; padding: 0 0 35px; }
.premium-homepage .site-header { max-width: 1336px; padding: 20px 48px; margin: 0 auto; top: 0; }
.premium-homepage .site-header::before { display: none; }
.premium-homepage .main-wrap { gap: 0; }
.premium-homepage .site-footer { max-width: 1240px; margin: 45px auto 0; padding: 45px 32px 0; }
@media (max-width: 1080px) {
    .marketing-site .site-nav.site-nav--open { background: #fbfcf8; border-color: #e3ebe0; }
    .marketing-site .site-nav > a.nav-cta { margin-left: 0; }
}
@media (max-width: 720px) {
    .marketing-site .site-header { position: relative; top: 0; padding: 12px 2px; }
    .premium-homepage .site-header { padding: 14px 23px; }
    .marketing-site .brand-lockup strong { font-size: 23px; }
    .marketing-site .brand-lockup img { width: 33px; height: 33px; }
    .marketing-site .site-nav-toggle { min-height: 40px; padding: 10px 14px; }
    .marketing-site .site-nav--open { border-top: 1px solid #e8ede6; padding-top: 16px; }
    .marketing-site .site-nav--open .nav-menu__panel { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; width: 100%; margin: 6px 0; }
    .marketing-site .site-footer { padding: 35px 0 0; }
    .premium-homepage .site-footer { margin: 30px 23px 0; padding: 35px 0 0; }
    .marketing-site .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
    .marketing-site .footer-brand { grid-column: 1 / -1; }
    .marketing-site .footer-bottom { align-items: flex-start; gap: 20px; }
    .marketing-site .footer-bottom__links { flex-wrap: wrap; }
}
