.elementor-kit-17{--e-global-color-primary:#1C2B3A;--e-global-color-secondary:#C84B31;--e-global-color-text:#1C2B3A;--e-global-color-accent:#378ADD;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:1.7em;}.elementor-kit-17 e-page-transition{background-color:#FFBC7D;}.elementor-kit-17 h1{font-family:"Montserrat", Sans-serif;font-size:52px;font-weight:400;line-height:1.15em;}.elementor-kit-17 h2{font-family:"Montserrat", Sans-serif;font-size:40px;font-weight:700;line-height:1.2em;}.elementor-kit-17 h3{font-family:"Montserrat", Sans-serif;font-size:28px;font-weight:600;line-height:1.3em;}.elementor-kit-17 h4{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:600;line-height:1.4em;}.elementor-kit-17 h5{font-family:"Inter", Sans-serif;font-size:18px;font-weight:600;line-height:1.5em;}.elementor-kit-17 h6{font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;line-height:1.5em;}.elementor-kit-17 button,.elementor-kit-17 input[type="button"],.elementor-kit-17 input[type="submit"],.elementor-kit-17 .elementor-button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */.elementor-kit-17 { line-height: 1.7 !important; }
.elementor-kit-17 h1 { line-height: 1.15 !important; }
.elementor-kit-17 h2 { line-height: 1.2 !important; }
.elementor-kit-17 h3 { line-height: 1.3 !important; }
.elementor-kit-17 h4 { line-height: 1.4 !important; }
.elementor-kit-17 h5, .elementor-kit-17 h6 { line-height: 1.5 !important; }
body { line-height: 1.7 !important; }

/* Hide default page H1 ONLY on real pages (not blog posts or archives) */
body.page > .site-main .entry-title,
body.page > .site-main .page-header,
body.page > .site-main .entry-header,
body.page > .site-main .post-header,
body.page .site-main > header.page-header,
body.page .site-main > article > header.entry-header { display: none !important; }

/* Make sure blog/archive/single post entry titles ARE visible and clickable */
body.blog .entry-title,
body.archive .entry-title,
body.category .entry-title,
body.single-post .entry-title { display: block !important; visibility: visible !important; height: auto !important; }

/* Hide duplicate mobile dropdown nav on desktop */
@media (min-width: 769px) { .site-navigation-dropdown { display: none !important; } }

/* Header / branding */
.site-header { background: #FFFFFF; padding: 12px 24px; border-bottom: 1px solid #E5E9ED; }
.site-title a { color: #1C2B3A !important; font-weight: 700; text-decoration: none; font-family: Montserrat, sans-serif; }
.site-description { color: #5A6470; font-size: 13px; font-style: italic; }
.site-navigation .menu-item a { color: #1C2B3A; font-weight: 600; padding: 8px 14px; text-decoration: none; }
.site-navigation .menu-item a:hover { color: #C84B31; }
.site-footer { background: #1C2B3A; color: #fff; padding: 40px 24px; text-align: center; }
.site-footer a { color: #FFFFFF !important; }
.site-footer a:hover { color: #C84B31 !important; }

/* Blog archive: card layout */
body.blog .site-main, body.archive .site-main, body.category .site-main { background: #F4F6F8; padding: 40px 24px; }
body.blog .site-main > *, body.archive .site-main > *, body.category .site-main > * { max-width: 900px; margin-left: auto; margin-right: auto; }
.archive .page-header h1, .category .page-header h1, .blog .page-header h1 { font-family: Montserrat, sans-serif; font-size: 32px; color: #1C2B3A; margin: 0 0 32px; }
article.post { background: #fff; padding: 28px 32px; margin-bottom: 20px; border: 1px solid #E5E9ED; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
article.post .entry-title { font-family: Montserrat, sans-serif; font-size: 22px; line-height: 1.3 !important; margin: 0 0 12px; font-weight: 700; }
article.post .entry-title a { color: #1C2B3A !important; text-decoration: none; }
article.post .entry-title a:hover { color: #C84B31 !important; }
article.post p { color: #5A6470; line-height: 1.6 !important; margin: 0; }

/* Single post layout */
body.single-post .site-main { padding: 40px 24px; }
body.single-post .entry-content { max-width: 800px; margin: 0 auto; font-family: Inter, sans-serif; }
body.single-post .entry-title { font-family: Montserrat, sans-serif; font-size: 36px; line-height: 1.2 !important; color: #1C2B3A; max-width: 800px; margin: 0 auto 24px; }
body.single-post .entry-content h2 { font-family: Montserrat, sans-serif; font-size: 28px; margin: 36px 0 16px; line-height: 1.2 !important; color: #1C2B3A; }
body.single-post .entry-content h3 { font-family: Montserrat, sans-serif; font-size: 22px; margin: 28px 0 12px; line-height: 1.3 !important; color: #1C2B3A; }
body.single-post .entry-content p { font-size: 17px; line-height: 1.7 !important; color: #1C2B3A; margin: 0 0 18px; }
body.single-post .entry-content a { color: #C84B31; }
body.single-post .entry-content ul, body.single-post .entry-content ol { margin: 0 0 18px; padding-left: 28px; }
body.single-post .entry-content li { line-height: 1.7 !important; margin-bottom: 8px; font-size: 17px; }
/* ===== BRAND CLASSES (.are-*) ===== */
.are-section { padding: 80px 24px; font-family: Inter, system-ui, sans-serif; color: #1C2B3A; }
.are-container { max-width: 1100px; margin: 0 auto; }
.are-pre { color: #C84B31; font-size: 13px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 16px; }
.are-h1 { font-family: Montserrat, sans-serif; font-size: clamp(34px, 5vw, 52px); line-height: 1.1 !important; font-weight: 700; margin: 0 0 20px; }
.are-h2 { font-family: Montserrat, sans-serif; font-size: clamp(26px, 3.5vw, 38px); line-height: 1.2 !important; font-weight: 700; margin: 0 0 16px; }
.are-h3 { font-family: Montserrat, sans-serif; font-size: 22px; line-height: 1.3 !important; font-weight: 600; margin: 0 0 12px; }
.are-sub { font-size: 18px; line-height: 1.6 !important; color: #5A6470; margin: 0 0 32px; max-width: 680px; }
.are-body { font-size: 16px; line-height: 1.7 !important; color: #1C2B3A; }
.are-body p { margin: 0 0 16px; }
.are-body strong { color: #1C2B3A; }
.are-body ul { padding-left: 24px; margin: 0 0 24px; }
.are-body li { margin-bottom: 8px; line-height: 1.7 !important; }
.are-btn { display: inline-block; padding: 16px 32px; background: #C84B31; color: #fff !important; text-decoration: none; border-radius: 6px; font-weight: 600; font-size: 16px; }
.are-btn:hover { background: #A33F29; color: #fff !important; }
.are-btn-outline { display: inline-block; padding: 16px 32px; background: transparent; color: #fff !important; text-decoration: none; border-radius: 6px; font-weight: 600; font-size: 16px; border: 2px solid rgba(255,255,255,0.4); }
.are-btn-outline:hover { border-color: #fff; color: #fff !important; }
.are-btn-row { display: flex; gap: 16px; flex-wrap: wrap; }
.are-hero { background: #1C2B3A; color: #fff; padding: 100px 24px; }
.are-hero .are-h1 { color: #fff; }
.are-hero .are-sub { color: #D6DCE3; max-width: 720px; }
.are-soft { background: #F4F6F8; }
.are-final-cta { background: #1C2B3A; color: #fff; text-align: center; padding: 80px 24px; }
.are-final-cta .are-h2 { color: #fff; }
.are-final-cta .are-sub { color: #D6DCE3; margin-left: auto; margin-right: auto; max-width: 680px; }
.are-cta-btn-wrap { display: flex; justify-content: center; margin-bottom: 24px; }
.are-phone-link { color: #fff; font-weight: 600; text-decoration: none; font-size: 18px; }
.are-services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; margin-top: 48px; }
.are-service-card { background: #fff; padding: 32px; border-radius: 8px; border: 1px solid #E5E9ED; }
.are-service-card .are-h3 { color: #1C2B3A; }
.are-service-card p { color: #5A6470; line-height: 1.6 !important; margin: 0 0 16px; }
.are-service-link { color: #C84B31; font-weight: 600; text-decoration: none; font-size: 14px; }
.are-trust-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; margin-top: 32px; }
.are-trust-item { padding: 24px; text-align: center; }
.are-trust-num { font-family: Montserrat, sans-serif; font-size: 42px; font-weight: 700; color: #C84B31; line-height: 1 !important; display: block; }
.are-trust-label { margin-top: 8px; color: #1C2B3A; font-weight: 600; display: block; line-height: 1.5 !important; }
/* ===== PHASE 13: ANNOUNCEMENT BAR ===== */
#are-announce { position: relative; z-index: 9999; background: #C84B31; color: #fff; text-align: center; font-family: Inter, sans-serif; font-weight: 600; font-size: 14px; padding: 10px 16px; line-height: 1.4; }
#are-announce a { color: #fff !important; text-decoration: underline; }
#are-announce a:hover { text-decoration: none; }

/* ===== PHASE 13: STICKY SHRINKING HEADER ===== */
.site-header { position: sticky !important; top: 0; z-index: 998; background: #FFFFFF !important; transition: padding 0.3s ease, box-shadow 0.3s ease; }
.site-header.are-shrunk { padding: 6px 24px !important; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.site-header.are-shrunk .site-title { font-size: 18px !important; }
.site-header.are-shrunk .site-description { display: none; }

/* ===== PHASE 13: SERVICE CARDS HOVER ===== */
.are-service-card { transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
.are-service-card:hover { transform: translateY(-6px); box-shadow: 0 16px 32px rgba(28,43,58,0.12); border-color: #C84B31; }

/* ===== PHASE 13: ANIMATED COUNTER SECTION ===== */
.are-counter-section { background: #F5F1EB; padding: 80px 24px; }
.are-counter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; max-width: 1100px; margin: 0 auto; text-align: center; }
.are-counter-item { padding: 24px; }
.are-counter-num-wrap { display: flex; align-items: baseline; justify-content: center; gap: 4px; line-height: 1; }
.are-counter-num { font-family: Montserrat, sans-serif; font-size: 56px; font-weight: 700; color: #C84B31; line-height: 1 !important; }
.are-counter-suffix { font-family: Montserrat, sans-serif; font-size: 36px; font-weight: 700; color: #C84B31; line-height: 1 !important; }
.are-counter-label { margin-top: 12px; font-family: Inter, sans-serif; color: #1C2B3A; font-weight: 600; font-size: 15px; line-height: 1.4 !important; }

/* ===== PHASE 13: TESTIMONIALS PLACEHOLDER ===== */
.are-testimonials { background: #E8F4FD; padding: 80px 24px; }
.are-testimonials .are-h2 { text-align: center; }
.are-testimonials .are-pre { text-align: center; }
.are-testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; max-width: 1100px; margin: 32px auto 0; }
.are-testimonial-card { background: #FFFFFF; padding: 32px; border-radius: 8px; border-top: 4px solid #C84B31; box-shadow: 0 4px 12px rgba(28,43,58,0.06); }
.are-testimonial-stars { color: #C84B31; font-size: 18px; letter-spacing: 4px; margin-bottom: 16px; }
.are-testimonial-quote { font-family: Inter, sans-serif; color: #5A6470; font-size: 15px; line-height: 1.7 !important; font-style: italic; margin: 0 0 16px; }
.are-testimonial-name { font-family: Montserrat, sans-serif; color: #1C2B3A; font-weight: 600; font-size: 14px; margin: 0; }
.are-testimonial-loc { color: #5A6470; font-size: 13px; margin-top: 2px; }

/* ===== PHASE 13: ENTRANCE ANIMATIONS ===== */
@keyframes are-fade-up { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes are-fade-left { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: translateX(0); } }
@keyframes are-fade-right { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } }
.are-anim-fade-up, .are-anim-fade-left, .are-anim-fade-right { opacity: 0; will-change: opacity, transform; }
.are-anim-fade-up.are-in-view { animation: are-fade-up 0.7s ease-out forwards; }
.are-anim-fade-left.are-in-view { animation: are-fade-left 0.7s ease-out forwards; }
.are-anim-fade-right.are-in-view { animation: are-fade-right 0.7s ease-out forwards; }
/* Apply fade-up to all main sections by default */
/* fallback-safe: content visible by default; animation only when JS adds .are-in-view */
body:not(.elementor-editor-active) .are-section.are-in-view, body:not(.elementor-editor-active) .are-final-cta.are-in-view, body:not(.elementor-editor-active) .are-counter-section.are-in-view, body:not(.elementor-editor-active) .are-testimonials.are-in-view { animation-play-state: running; }
.are-hero { opacity: 1 !important; animation: none !important; }

/* ===== PHASE 14: CHATBOT MOBILE RESPONSIVE ===== */
@media (max-width: 420px) {
  #sra-panel { width: calc(100vw - 20px) !important; right: 10px !important; max-width: calc(100vw - 20px) !important; }
  #sra-widget { right: 10px !important; bottom: 10px !important; }
}
/* ===== PHASE 16: TOP MARQUEE TICKER ===== */
.are-marquee { background: #C84B31; color: #fff; height: 36px; overflow: hidden; position: relative; z-index: 10000; font-family: Inter, system-ui, sans-serif; font-size: 13px; font-weight: 500; }
.are-marquee-track { display: flex; align-items: center; height: 100%; width: max-content; animation: are-marquee-scroll 40s linear infinite; }
.are-marquee:hover .are-marquee-track { animation-play-state: paused; }
.are-marquee-content { display: inline-flex; align-items: center; height: 100%; padding-right: 0; white-space: nowrap; }
.are-marquee-content span { padding: 0 12px; }
@keyframes are-marquee-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ===== PHASE 16: HEADER PHONE CTA ===== */
.site-header { display: flex !important; align-items: center; justify-content: space-between; flex-wrap: wrap; }
#are-header-phone { font-family: Inter, system-ui, sans-serif; font-weight: 600; font-size: 15px; color: #1C2B3A; white-space: nowrap; padding: 6px 14px; border: 1.5px solid #C84B31; border-radius: 6px; transition: background 0.2s ease, color 0.2s ease; }
#are-header-phone a { color: #1C2B3A; text-decoration: none; }
#are-header-phone:hover { background: #C84B31; }
#are-header-phone:hover a { color: #fff; }
#are-header-phone .are-phone-icon { color: #C84B31; margin-right: 6px; }
#are-header-phone:hover .are-phone-icon { color: #fff; }
@media (max-width: 720px) { #are-header-phone { font-size: 13px; padding: 4px 10px; } #are-header-phone .are-phone-icon { margin-right: 4px; } }

/* ===== PHASE 16: FOOTER CONTACT BLOCK ===== */
#are-footer-contact { background: #1C2B3A; color: #fff; padding: 48px 24px 24px; font-family: Inter, system-ui, sans-serif; }
#are-footer-contact .are-foot-grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; }
#are-footer-contact .are-foot-col h4 { font-family: Montserrat, sans-serif; font-size: 14px; text-transform: uppercase; letter-spacing: 2px; color: #C84B31; margin: 0 0 12px; font-weight: 700; }
#are-footer-contact .are-foot-col p, #are-footer-contact .are-foot-col a { color: #fff !important; font-size: 14px; line-height: 1.7; margin: 0; text-decoration: none; }
#are-footer-contact .are-foot-col a:hover { color: #C84B31 !important; text-decoration: underline; }
#are-footer-contact .are-foot-bottom { max-width: 1100px; margin: 32px auto 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.12); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; color: #95a3b3; font-size: 13px; }
#are-footer-contact .are-foot-bottom a { color: #95a3b3; text-decoration: none; }
#are-footer-contact .are-foot-bottom a:hover { color: #fff; }
/* ===== PHASE 17: WE ARE HIRING BADGE (bottom-left) ===== */
#are-hiring-badge { position: fixed; bottom: 20px; left: 20px; z-index: 99999; background: #C84B31; color: #fff !important; font-family: Inter, system-ui, sans-serif; font-weight: 700; font-size: 14px; padding: 12px 18px; border-radius: 999px; text-decoration: none !important; box-shadow: 0 6px 16px rgba(200,75,49,0.35); animation: are-hiring-pulse 2.4s ease-in-out infinite; transition: transform 0.2s ease, box-shadow 0.2s ease; display: inline-flex; align-items: center; gap: 6px; }
#are-hiring-badge:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(200,75,49,0.45); animation-play-state: paused; color: #fff !important; }
#are-hiring-badge .are-hiring-bolt { display: inline-block; animation: are-hiring-bolt 1.2s ease-in-out infinite; }
@keyframes are-hiring-pulse { 0%, 100% { box-shadow: 0 6px 16px rgba(200,75,49,0.35), 0 0 0 0 rgba(200,75,49,0.55); } 50% { box-shadow: 0 6px 16px rgba(200,75,49,0.35), 0 0 0 10px rgba(200,75,49,0); } }
@keyframes are-hiring-bolt { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.18) rotate(-5deg); } }
@media (max-width: 480px) { #are-hiring-badge { font-size: 12px; padding: 9px 14px; bottom: 12px; left: 12px; } }
@media (prefers-reduced-motion: reduce) { #are-hiring-badge, #are-hiring-badge .are-hiring-bolt { animation: none !important; } }

/* ===== PHASE 17: CAREERS PAGE ===== */
.are-job-card { background: #fff; padding: 40px; border-radius: 12px; border: 1px solid #E5E9ED; margin-bottom: 32px; box-shadow: 0 2px 6px rgba(28,43,58,0.04); }
.are-job-card h2 { font-family: Montserrat, sans-serif; color: #1C2B3A; font-size: 26px; line-height: 1.2; margin: 0 0 8px; }
.are-job-meta { color: #C84B31; font-weight: 600; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; margin: 0 0 20px; }
.are-job-card h3 { font-family: Montserrat, sans-serif; color: #1C2B3A; font-size: 18px; margin: 24px 0 8px; }
.are-job-card p, .are-job-card li { font-size: 15px; line-height: 1.7; color: #1C2B3A; }
.are-job-card ul { margin: 0 0 16px; padding-left: 22px; }
.are-job-apply-box { background: #1C2B3A; color: #fff; padding: 32px; border-radius: 12px; text-align: center; }
.are-job-apply-box h3 { color: #fff; font-family: Montserrat, sans-serif; font-size: 22px; margin: 0 0 12px; }
.are-job-apply-box p { color: #D6DCE3; font-size: 16px; margin: 0 0 16px; line-height: 1.6; }
.are-job-apply-box a { color: #fff !important; font-weight: 600; }/* ===== PHASE 18: HERO IMAGE + LARGER H1 + BIGGER CTAS ===== */
.are-hero { position: relative !important; min-height: 100vh !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 60px 24px !important; background-color: #1C2B3A !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.are-hero .are-container { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; text-align: left; }
.are-hero-overlay::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.55); z-index: 1; pointer-events: none; }
.are-hero .are-pre { color: #fff !important; }
.are-hero .are-h1 { color: #fff !important; font-size: clamp(44px, 7vw, 72px) !important; line-height: 1.05 !important; font-weight: 700 !important; margin: 0 0 24px !important; max-width: 900px; }
.are-hero .are-sub { color: #f0f4f8 !important; font-size: clamp(17px, 1.6vw, 22px) !important; max-width: 760px; margin: 0 0 36px !important; }
.are-hero .are-btn-row { display: flex; gap: 16px; flex-wrap: wrap; }
.are-hero .are-btn, .are-hero .are-btn-outline { font-size: 17px !important; padding: 18px 36px !important; border-radius: 8px !important; font-weight: 700 !important; }
.are-hero .are-btn { background: #C84B31 !important; color: #fff !important; box-shadow: 0 6px 16px rgba(200,75,49,0.35); }
.are-hero .are-btn:hover { background: #A33F29 !important; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(200,75,49,0.45); }
.are-hero .are-btn-outline { background: transparent !important; color: #fff !important; border: 2px solid rgba(255,255,255,0.7) !important; }
.are-hero .are-btn-outline:hover { background: rgba(255,255,255,0.1) !important; border-color: #fff !important; }
@media (max-width: 720px) { .are-hero { min-height: 86vh !important; } .are-hero .are-h1 { font-size: 44px !important; } .are-hero .are-btn, .are-hero .are-btn-outline { padding: 14px 24px !important; font-size: 15px !important; } }

/* ===== PHASE 19: MOBILE FIXES (iOS Safari, narrow widths) ===== */
@supports (height: 100svh) {
  .are-hero { min-height: 88svh !important; }
}
@media (max-width: 768px) {
  .are-hero { min-height: 70vh !important; padding: 40px 20px !important; }
  .are-hero .are-container { text-align: center; }
  .are-hero .are-h1 { font-size: clamp(34px, 8vw, 44px) !important; }
  .are-hero .are-sub { font-size: 15px !important; margin: 0 0 24px !important; }
  .are-hero .are-btn-row { justify-content: center; gap: 10px; }
  .are-hero .are-btn, .are-hero .are-btn-outline { width: 100%; max-width: 320px; padding: 14px 20px !important; font-size: 15px !important; text-align: center; }

  /* Top bars stack cleanly on mobile */
  .are-marquee { height: 30px !important; font-size: 12px !important; }
  #are-announce { font-size: 12px !important; padding: 8px 12px !important; line-height: 1.3 !important; }

  /* Header: don't break Hello Elementor's mobile nav */
  .site-header { display: block !important; flex-wrap: nowrap !important; padding: 10px 16px !important; }
  #are-header-phone { display: inline-flex; margin: 8px auto 0; padding: 6px 12px !important; font-size: 13px !important; }

  /* Hiring badge + chatbot don't collide */
  #are-hiring-badge { font-size: 11px !important; padding: 8px 12px !important; bottom: 14px !important; left: 12px !important; max-width: 45vw; }
  #sra-fab { width: 52px !important; height: 52px !important; bottom: 14px !important; right: 12px !important; }

  /* Footer contact: stack columns */
  #are-footer-contact { padding: 32px 18px 16px !important; }
  #are-footer-contact .are-foot-grid { gap: 24px !important; }
  #are-footer-contact .are-foot-bottom { flex-direction: column; text-align: center; gap: 8px; font-size: 12px !important; }

  /* Counter section: don't crowd */
  .are-counter-section { padding: 48px 18px !important; }
  .are-counter-num { font-size: 40px !important; }
  .are-counter-suffix { font-size: 26px !important; }
  .are-counter-label { font-size: 13px !important; }

  /* Section padding tightens */
  .are-section { padding: 48px 20px !important; }

  /* Service cards & info cards: clamp width */
  .are-service-card, .are-info-card, .are-job-card { padding: 24px !important; }
  .are-grid-2 { gap: 24px !important; }

  /* Form widths inside container */
  .fluentform .ff-el-group, .fluentform .ff-t-container { display: block !important; }
  .fluentform .ff-t-cell { width: 100% !important; padding: 0 !important; margin-bottom: 12px; }
  .are-form-wrap { padding: 24px !important; }
}

@media (max-width: 420px) {
  .are-hero .are-h1 { font-size: 32px !important; line-height: 1.1 !important; }
  .are-hero .are-sub { font-size: 14px !important; }
  #are-hiring-badge { font-size: 10px !important; padding: 7px 10px !important; }
  .are-counter-num { font-size: 34px !important; }
  .are-counter-grid { gap: 18px !important; }
}

/* iOS Safari: use safe-area-inset for fixed elements */
@supports (padding: max(0px)) {
  #are-hiring-badge { left: max(12px, env(safe-area-inset-left)) !important; bottom: max(14px, env(safe-area-inset-bottom)) !important; }
  #sra-widget { bottom: max(14px, env(safe-area-inset-bottom)) !important; right: max(12px, env(safe-area-inset-right)) !important; }
}

/* Avoid double-rendering nav on mobile if Hello Elementor mobile dropdown active */
@media (max-width: 768px) {
  .site-navigation .menu-item a { padding: 10px 12px !important; font-size: 14px !important; }
  .site-navigation { width: 100%; }
}
/* ===== PHASE 20: FULL HEADER ===== */
.site-header { position: sticky !important; top: 0 !important; z-index: 999999 !important; background: #FFFFFF !important; padding: 0 !important; border-bottom: 1px solid #E5E9ED !important; box-shadow: 0 2px 6px rgba(0,0,0,0.04); transition: padding 0.25s ease, box-shadow 0.25s ease; }
.site-header.are-shrunk { box-shadow: 0 2px 12px rgba(0,0,0,0.10); }
.site-header.are-shrunk .are-brand-tag { display: none; }
.site-header.are-shrunk .are-header-bar { padding-top: 8px; padding-bottom: 8px; }
.site-header * { box-sizing: border-box; }

.are-header-bar { max-width: 1200px; margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; gap: 24px; flex-wrap: nowrap; position: relative; z-index: 999999; }
.are-brand { display: flex; flex-direction: column; line-height: 1.1; text-decoration: none !important; flex-shrink: 0; }
.are-brand-name { font-family: Montserrat, sans-serif; font-size: 19px; font-weight: 700; color: #1C2B3A; }
.are-brand-tag { font-family: Inter, sans-serif; font-size: 11px; font-style: italic; color: #5A6470; margin-top: 2px; }

.are-primary-nav { flex: 1 1 auto; display: flex; justify-content: center; }
.are-nav-list { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.are-nav-list > li { position: relative; }
.are-nav-list > li > a, .are-nav-list > li > .are-nav-toggle { color: #1C2B3A; font-family: Inter, sans-serif; font-weight: 600; font-size: 14px; padding: 10px 12px; text-decoration: none; background: none; border: none; cursor: pointer; display: inline-block; line-height: 1.3; }
.are-nav-list > li > a:hover, .are-nav-list > li > .are-nav-toggle:hover, .are-nav-list > li.are-current > a { color: #C84B31; }
.are-nav-has-sub > .are-nav-toggle::after { content: " ▾"; font-size: 10px; color: #5A6470; }
.are-nav-sub { list-style: none; padding: 8px 0; margin: 0; position: absolute; top: 100%; left: 0; min-width: 220px; background: #fff; border: 1px solid #E5E9ED; border-radius: 8px; box-shadow: 0 12px 28px rgba(0,0,0,0.10); display: none; z-index: 999999; }
.are-nav-has-sub:hover .are-nav-sub, .are-nav-has-sub:focus-within .are-nav-sub, .are-nav-sub.are-mobile-sub-open { display: block; }
.are-nav-sub li a { display: block; padding: 9px 16px; color: #1C2B3A; font-family: Inter, sans-serif; font-size: 14px; text-decoration: none; }
.are-nav-sub li a:hover { background: #F4F6F8; color: #C84B31; }

.are-header-phone { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; color: #C84B31 !important; background: #FFFFFF; font-family: Inter, sans-serif; font-weight: 700; font-size: 15px; padding: 9px 16px; border: 2px solid #C84B31; border-radius: 999px; text-decoration: none !important; transition: background 0.2s ease, color 0.2s ease; white-space: nowrap; }
.are-header-phone:hover { background: #C84B31; color: #FFFFFF !important; }

.are-mobile-toggle { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; background: none; border: none; cursor: pointer; padding: 8px; margin-left: auto; flex-shrink: 0; }
.are-mobile-toggle .are-burger-line { display: block; width: 26px; height: 3px; background: #1C2B3A; border-radius: 2px; transition: transform 0.25s ease, opacity 0.2s ease; }
body.are-mobile-nav-open .are-mobile-toggle .are-burger-line:nth-child(1) { transform: translateY(8px) rotate(45deg); }
body.are-mobile-nav-open .are-mobile-toggle .are-burger-line:nth-child(2) { opacity: 0; }
body.are-mobile-nav-open .are-mobile-toggle .are-burger-line:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Hide Hello Elementor's old site-title/description/nav (we replaced them) */
.site-header .site-title, .site-header .site-description, .site-header .site-navigation { display: none !important; }
/* Hide WP/Elementor mobile-dropdown nav too */
.site-navigation-dropdown, nav.main-navigation, nav.menu-toggle, ul.menu-toggle { display: none !important; }

@media (max-width: 980px) {
  .are-header-bar { gap: 12px; padding: 10px 18px; }
  .are-mobile-toggle { display: flex; }
  .are-primary-nav { display: none; position: fixed; top: 60px; left: 0; right: 0; bottom: 0; background: #1C2B3A; padding: 24px 0 32px; overflow-y: auto; z-index: 999999; flex-direction: column; }
  .are-primary-nav.are-mobile-open { display: flex; }
  .are-nav-list { flex-direction: column; gap: 0; align-items: stretch; padding: 0 8px; }
  .are-nav-list > li { width: 100%; }
  .are-nav-list > li > a, .are-nav-list > li > .are-nav-toggle { display: block; width: 100%; color: #FFFFFF !important; font-size: 18px; padding: 14px 18px; border-bottom: 1px solid rgba(255,255,255,0.08); text-align: left; }
  .are-nav-list > li > a:hover, .are-nav-list > li > .are-nav-toggle:hover { color: #C84B31 !important; background: rgba(255,255,255,0.05); }
  .are-nav-sub { position: static; width: 100%; box-shadow: none; border: 0; border-radius: 0; background: rgba(0,0,0,0.18); padding: 0; margin: 0; }
  .are-nav-sub li a { color: #D6DCE3; padding: 12px 36px; font-size: 15px; border-bottom: 1px solid rgba(255,255,255,0.05); }
  .are-nav-sub li a:hover { color: #FFFFFF; background: rgba(255,255,255,0.05); }
  body.are-mobile-nav-open { overflow: hidden; }
}

/* ===== PHASE 20: HAMBURGER Z-INDEX FIX (per user spec) ===== */
.site-header { position: relative; z-index: 999999; }
.main-navigation { position: relative; z-index: 999999; }
.nav-menu { z-index: 999999; }
.menu-toggle { z-index: 999999; }
header .menu-item { z-index: 999999; }
@media (max-width: 768px) {
  .site-header { z-index: 999999 !important; }
  .main-navigation ul { z-index: 999999 !important; position: relative !important; }
  .nav-menu-container { z-index: 999999 !important; }
}

/* Ensure no parent clips fixed-position overlay */
html, body, #page, .site, .site-content, main, .site-main, .entry-content, .elementor-section, .elementor-container { overflow: visible !important; }

/* ===== PHASE 20: FULL FOOTER ===== */
.site-footer { background: #1C2B3A !important; color: #FFFFFF !important; padding: 0 !important; text-align: left !important; margin-top: 0 !important; }
#are-footer-contact { display: none !important; }
.are-site-footer { background: #1C2B3A; color: #FFFFFF; padding: 56px 24px 24px; font-family: Inter, sans-serif; }
.are-footer-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 36px; }
.are-foot-col h4 { font-family: Montserrat, sans-serif; font-size: 13px; text-transform: uppercase; letter-spacing: 2px; color: #C84B31; margin: 0 0 14px; font-weight: 700; }
.are-foot-col ul { list-style: none; padding: 0; margin: 0; }
.are-foot-col li { margin-bottom: 8px; }
.are-foot-col p, .are-foot-col a { color: #FFFFFF !important; font-size: 14px; line-height: 1.6; margin: 0 0 6px; text-decoration: none; }
.are-foot-col a:hover { color: #C84B31 !important; text-decoration: underline; }
.are-foot-brand { font-family: Montserrat, sans-serif !important; font-size: 19px !important; color: #FFFFFF !important; text-transform: none !important; letter-spacing: 0 !important; margin-bottom: 8px !important; }
.are-foot-tag { font-style: italic; color: #D6DCE3 !important; margin-bottom: 16px !important; }
.are-foot-meta { font-size: 12px !important; color: #95a3b3 !important; margin-top: 16px !important; line-height: 1.6; }
.are-foot-more { font-weight: 600; }
.are-footer-bottom { max-width: 1200px; margin: 36px auto 0; padding: 20px 0 0; border-top: 1px solid rgba(255,255,255,0.12); color: #95a3b3; font-size: 13px; text-align: center; }
.are-footer-bottom a { color: #95a3b3 !important; text-decoration: none; }
.are-footer-bottom a:hover { color: #FFFFFF !important; }

@media (max-width: 768px) {
  .are-site-footer { padding: 40px 18px 16px; }
  .are-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .are-footer-bottom { font-size: 12px; padding-top: 16px; margin-top: 28px; }
}

/* ===== PHASE 20: CAREERS HERO + CTA BIGGER ===== */
.are-careers-hero { background: #C84B31; color: #FFFFFF; padding: 80px 24px; text-align: center; }
.are-careers-hero .are-h1 { color: #FFFFFF !important; font-size: clamp(38px, 6vw, 60px) !important; line-height: 1.1 !important; margin: 0 0 16px; }
.are-careers-hero .are-careers-sub { color: #FFFFFF; font-size: clamp(16px, 1.6vw, 20px); max-width: 760px; margin: 0 auto 0; line-height: 1.6; opacity: 0.95; }
.are-careers-cta-section { background: #1C2B3A; color: #FFFFFF; padding: 64px 24px; text-align: center; }
.are-careers-cta-section h2 { color: #FFFFFF !important; font-family: Montserrat, sans-serif; font-size: clamp(26px, 3.5vw, 38px); margin: 0 0 16px; }
.are-careers-cta-section p { color: #D6DCE3; font-size: 17px; margin: 0 0 28px; }
.are-careers-cta-btn { display: inline-block; background: #C84B31; color: #FFFFFF !important; font-family: Inter, sans-serif; font-weight: 700; font-size: 18px; padding: 18px 36px; border-radius: 8px; text-decoration: none !important; box-shadow: 0 8px 18px rgba(200,75,49,0.35); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.are-careers-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(200,75,49,0.45); color: #FFFFFF !important; }

/* ===== PHASE 21: SAFETY - ensure all sections visible without JS dependency ===== */
.are-section, .are-final-cta, .are-counter-section, .are-testimonials, .are-careers-hero, .are-careers-cta-section, .are-job-card { opacity: 1 !important; }
.are-section, .are-final-cta, .are-counter-section, .are-testimonials { animation: none; }
.are-section.are-in-view, .are-final-cta.are-in-view, .are-counter-section.are-in-view, .are-testimonials.are-in-view { animation: are-fade-up 0.7s ease-out forwards; }

/* Make sure the page-content wrapper doesn't clip our sections */
.page-content, .site-main, main, .entry-content { overflow: visible !important; }
/* ===== PHASE 23: BLOG PAGE POLISH ===== */
/* Hide WP page-header h1 ALL the way (Hello Elementor wraps .site-main, breaking direct-child .elementor-kit-17) */
body.page .page-header,
body.page .entry-title:not(/* ===== PHASE 24: FORCE HIDE WP page-header on ALL non-archive page templates ===== */
body.page-template-default .page-header,
body.page-template-default > div .page-header,
body.page-template-default main .page-header,
body.page-template-default .site-main > .page-header,
html body.page .page-header,
html body.page .entry-title:not(/* Page-id specific safety nets */
body.page-id-5710 .page-header,
body.page-id-5710 h1.entry-title,
body.page-id-5693 .page-header,
body.page-id-5693 h1.entry-title,
body.page-id-5695 .page-header,
body.page-id-5695 h1.entry-title,
body.page-id-5706 .page-header,
body.page-id-5706 h1.entry-title,
body.page-id-5707 .page-header,
body.page-id-5707 h1.entry-title,
body.page-id-5708 .page-header,
body.page-id-5708 h1.entry-title,
body.page-id-5709 .page-header,
body.page-id-5709 h1.entry-title,
body.page-id-6202 .page-header,
body.page-id-6202 h1.entry-title { display: none !important; }
/* ===== PHASE 25: BLOG GRID FIX (override WP core column widths) ===== */
ul.wp-block-latest-posts.is-grid,
ul.wp-block-latest-posts__list.is-grid,
.wp-block-latest-posts.is-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 32px auto 0 !important;
  max-width: 1100px !important;
  width: 100% !important;
}
ul.wp-block-latest-posts.is-grid > li,
ul.wp-block-latest-posts__list.is-grid > li,
.wp-block-latest-posts.is-grid > li {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 24px !important;
  background: #FFFFFF !important;
  border: 1px solid #E5E9ED !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 6px rgba(28,43,58,0.05);
  list-style: none !important;
  display: block !important;
  overflow: visible !important;
  word-wrap: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
ul.wp-block-latest-posts.is-grid > li:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(28,43,58,0.10);
  border-color: #C84B31 !important;
}
.wp-block-latest-posts__post-title {
  display: block !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #1C2B3A !important;
  text-decoration: none !important;
  margin: 12px 0 10px !important;
  word-wrap: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.wp-block-latest-posts__post-title:hover { color: #C84B31 !important; }
.wp-block-latest-posts__post-date {
  display: block !important;
  font-family: Inter, sans-serif !important;
  font-size: 12px !important;
  color: #95a3b3 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin: 0 !important;
}
.wp-block-latest-posts__post-excerpt {
  display: block !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #5A6470 !important;
  margin: 12px 0 0 !important;
  word-wrap: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.wp-block-latest-posts__post-excerpt a {
  color: #C84B31 !important;
  font-weight: 600;
  text-decoration: none;
}

@media (max-width: 980px) {
  ul.wp-block-latest-posts.is-grid,
  .wp-block-latest-posts.is-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  ul.wp-block-latest-posts.is-grid,
  .wp-block-latest-posts.is-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}/* End custom CSS */