/* One site header, independent of page-specific marketing styles. */
.wrapper > nav.navbar { background: rgba(8,8,8,.94) !important; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid rgba(247,139,30,.14); transition: background-color .25s, box-shadow .25s; }
.wrapper > nav.navbar.site-scrolled { background: rgba(8,8,8,.9) !important; box-shadow: 0 6px 24px #0003; }
.wrapper > nav.navbar .audience-panel { background: rgba(17,17,17,.95); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.wrapper > nav.navbar .audience-dropdown[open] .audience-panel { animation: site-menu-enter .18s ease both; }
@keyframes site-menu-enter { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
.wrapper > nav.navbar .nav-menu-cta { background: #ed6a00 !important; border-color: #ed6a00 !important; color: #fff !important; transition: background .2s, transform .2s; }
.wrapper > nav.navbar .nav-menu-cta:hover { background: #c75400 !important; border-color: #c75400 !important; box-shadow: none; transform: translateY(-1px); }
.wrapper > nav.navbar .nav-menu-cta .nav-link, .wrapper > nav.navbar .nav-menu-cta:hover .nav-link { color: #fff !important; }
.marketing-page .main-content h1, .marketing-page .main-content h2, .marketing-page .main-content h3, .marketing-page .main-content h4 { font-family: Roboto, Arial, sans-serif !important; font-weight: 700 !important; }
.marketing-page .main-content .jumbotron-fluid:not(.home-hero-section) { background-image: url('/content/images/bg-dark.webp'); }
.marketing-page .main-content .jumbotron-fluid h1 { font-size: clamp(36px,4.2vw,60px) !important; line-height: 1.12 !important; }
.marketing-page .main-content .jumbotron-fluid h2 { font-size: clamp(20px,2vw,26px) !important; line-height: 1.45 !important; }
.marketing-page .main-content .alert-info { background: #fff4e9 !important; border: 1px solid #f5cba6 !important; color: #252525 !important; }
.marketing-page .main-content .cta-button, .marketing-page .main-content .btn-cta-primary { background: #ed6a00 !important; border-color: #ed6a00 !important; border-radius: 10px; text-shadow: none; }
.service-page { background: #faf9f7; color: #242424; font-family: Roboto,Arial,sans-serif; }
.business-page .main-content > .jumbotron-fluid.hero-section { background: #080808 url('/content/images/background/home-hero.webp') center/cover no-repeat !important; padding: 128px 0 72px !important; }
.business-page .main-content > .jumbotron-fluid.hero-section::before { background: none !important; }
.business-page .main-content > .jumbotron-fluid.hero-section > .container { max-width: 1180px; }
.business-page .main-content > .jumbotron-fluid.hero-section .row > [class*='col-'] { flex: 0 0 60%; max-width: 680px; margin-left: 0 !important; margin-right: auto !important; text-align: left !important; }
.business-page .main-content > .jumbotron-fluid.hero-section .hero-cta { text-align: left !important; }
.business-page .main-content > .jumbotron-fluid.hero-section h1 { font-size: clamp(32px,3.5vw,56px) !important; text-align: left !important; }
.business-page .main-content > .jumbotron-fluid.hero-section .hero-cta .cta-button { margin-left: 0; margin-right: 0; }
.service-container { width: min(1180px,calc(100% - 48px)); margin-inline: auto; }
.service-hero { background: #080808 url('/content/images/background/home-hero.webp') center/cover no-repeat; color: #fff; padding: 128px 0 72px; }
.service-hero-copy { max-width: 680px; }
.service-kicker { display: inline-block; font-size: 13px !important; color: #ff9b4b !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 26px; }
.service-page .service-hero h1 { color: #fff; font-size: clamp(36px,4.5vw,64px) !important; line-height: 1.08 !important; margin: 0 0 28px; }
.service-page .service-hero-copy > p { font-size: 20px !important; line-height: 1.65 !important; color: #e2ded9; max-width: 600px; }
.service-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; background: #ed6a00; color: #fff !important; font-size: 17px !important; font-weight: 700; padding: 18px 28px; border-radius: 10px; text-decoration: none; transition: transform .2s, background .2s, box-shadow .2s; }
.service-button:hover { background: #c75400; text-decoration: none; transform: translateY(-3px); box-shadow: 0 8px 25px #ed6a0040; }
.service-page a:focus-visible { outline: 3px solid #ff9b4b; outline-offset: 4px; }
.service-promises { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 0; margin: 28px 0 0; list-style: none; font-size: 14px !important; color: #ded6ce; }
.service-promises li::before { content: '\2713'; color: #ff9b4b; margin-right: 8px; }
.marketing-page .service-page .service-promises li { font-size: 14px !important; line-height: 1.5 !important; color: #ded6ce !important; margin: 0; padding: 0; }
.service-reading { max-width: 880px; padding: 64px 24px 48px; margin-inline: auto; }
.service-reading p, .service-reading li { font-size: 18px !important; line-height: 1.85 !important; color: #4b4b4b; }
.service-reading p { margin-bottom: 24px; }
.service-reading h2 { font-size: clamp(26px,3vw,36px) !important; line-height: 1.25 !important; margin: 64px 0 24px; scroll-margin-top: 100px; }
.service-reading h3 { font-size: 24px !important; line-height: 1.35 !important; margin: 40px 0 20px; }
.service-reading img { display: block; max-width: 100%; height: auto; border-radius: 12px; margin: 32px auto; }
.service-reading table { display: block; max-width: 100%; overflow-x: auto; }
.service-reading .service-cta, .service-reading .alert-info { background: #171411 !important; border: 1px solid #6f4524 !important; color: #fff !important; border-radius: 14px; padding: 32px; margin: 48px 0; }
.service-reading .service-cta h3, .service-reading .alert-info h3 { color: #fff; margin: 0 0 16px; font-size: 26px !important; }
.service-reading .service-cta p, .service-reading .alert-info p { color: #d5ccc4; }
.service-reading .service-cta .cta-button, .service-reading > .cta-button { font-size: 17px !important; padding: 16px 24px; }
.service-contact { background: #f0ece7; padding: 72px 0 100px; scroll-margin-top: 80px; }
.service-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.service-contact h2 { font-size: 38px !important; line-height: 1.15 !important; margin: 0 0 24px; }
.service-contact p { font-size: 18px !important; line-height: 1.7 !important; }
.service-portrait { display: block; width: 240px; max-width: 100%; height: 260px; object-fit: cover; object-position: center 35%; border-radius: 12px; margin-top: 28px; }
.service-form { padding: 30px; background: #fff; border: 1px solid #e3d8cb; border-radius: 16px; }
.service-page .service-form .btn, .service-page .service-form button[type='submit'] { background: #ed6a00 !important; border-color: #ed6a00 !important; color: #fff !important; }
.site-motion-ready .site-reveal { opacity: .35; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
.site-motion-ready .site-reveal.is-visible { opacity: 1; transform: none; }
.service-hero-copy { animation: service-enter .65s ease both; }
@keyframes service-enter { from { opacity: .4; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (max-width: 991px) {
    .business-page .main-content > .jumbotron-fluid.hero-section .row > [class*='col-'] { flex-basis: 100%; max-width: 100%; }
    .business-page .main-content > .jumbotron-fluid.hero-section { background-image: linear-gradient(90deg,#080808ee,#080808bb),url('/content/images/background/home-hero.webp') !important; }
    .service-hero { background-position: 65% center; position: relative; }
    .service-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#080808f5,#080808b0); }
    .service-hero .service-container { position: relative; }
    .service-contact-grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 575px) {
    .service-container { width: calc(100% - 32px); }
    .service-hero { padding: 112px 0 48px; }
    .service-page .service-hero-copy > p { font-size: 18px !important; }
    .service-reading { padding: 40px 20px; }
    .service-reading p, .service-reading li { font-size: 17px !important; }
    .service-reading .service-cta { padding: 24px; }
    .service-form { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { .service-hero-copy, .wrapper > nav.navbar .audience-dropdown[open] .audience-panel { animation: none; } .site-motion-ready .site-reveal { opacity: 1; transform: none; transition: none; } .service-button, .wrapper > nav.navbar { transition: none; } }
