/* Siro Cleaning Solutions — B2B redesign 2026
   Intentionally loaded after the legacy theme so the existing CMS/pages keep working. */
:root {
  --siro-navy: #11184a;
  --siro-navy-2: #0b102f;
  --siro-blue: #0dace0;
  --siro-blue-soft: #e9f8fd;
  --siro-ink: #18202b;
  --siro-muted: #687386;
  --siro-line: #dfe4eb;
  --siro-soft: #f4f6f8;
  --siro-white: #ffffff;
  --siro-radius: 18px;
  --siro-shadow: 0 24px 60px rgba(13, 24, 52, .10);
}

html { scroll-behavior: smooth; }
body { font-family: 'Manrope', sans-serif; color: var(--siro-ink); background: #fff; font-size: 16px; line-height: 1.7; }
body, p, li, a, input, textarea, select, button { font-family: 'Manrope', sans-serif; }
h1, h2, h3, h4, h5, h6, .oswald, .btn, .navbar-light .navbar-nav .nav-link, .nav-item.dropdown, .nav-item.dropdown a, .title .pre-title { font-family: 'Manrope', sans-serif; }
h1, h2, h3, h4 { letter-spacing: -0.035em; text-transform: none; }
h1 { font-weight: 700; }
h2, h3, h4 { font-weight: 700; }
p a { border-bottom: 1px solid var(--siro-blue); color: var(--siro-navy); }
a:hover { color: var(--siro-blue); }
section { position: relative; }

/* Header */
.siro-header { background: #fff; position: relative; z-index: 1050; box-shadow: 0 1px 0 rgba(16, 24, 40, .06); }
.siro-topbar { background: var(--siro-navy-2); color: rgba(255,255,255,.72); font-size: 12px; letter-spacing: .02em; }
.siro-topbar .container { min-height: 38px; }
.siro-topbar-right { display: flex; gap: 28px; }
.siro-topbar a { color: rgba(255,255,255,.88); border: 0; }
.siro-topbar a:hover { color: #fff; }
.siro-navbar { min-height: 88px; padding: 0; background: #fff; }
.siro-header .navbar-brand, .siro-header .navbar-brand.siro-brand { position: static !important; left: auto !important; margin: 0 !important; display: flex !important; align-items: center; gap: 12px; padding: 8px 0; }
.siro-brand img, .siro-header .navbar-brand img, .navbar-sticky-on .siro-brand img { width: 100px !important; max-width: 100px !important; height: 100px !important; margin: 0 !important; object-fit: contain;}
.siro-brand span { display: flex; flex-direction: column; line-height: 1.08; color: var(--siro-navy); }
.siro-brand strong { font-size: 20px; letter-spacing: -.03em; }
.siro-brand small { font-size: 10px; text-transform: uppercase; letter-spacing: .13em; color: var(--siro-muted); margin-top: 4px; }
.siro-header .navbar-nav .nav-link { color: #283248 !important; text-transform: none !important; font-size: 14px; font-weight: 600; padding: 32px 12px !important; border: 0 !important; background: transparent !important; }
.siro-header .navbar-nav .nav-item.active > .nav-link, .siro-header .navbar-nav .nav-link:hover { color: var(--siro-navy) !important; }
.siro-header .navbar-nav .nav-item.active > .nav-link:after { content: ''; display: block; width: 18px; height: 2px; background: var(--siro-blue); margin: 7px auto -9px; }
.siro-nav-cta { display: inline-flex; align-items: center; justify-content: center; background: var(--siro-navy); color: #fff !important; padding: 13px 18px; border-radius: 8px; font-size: 13px; font-weight: 700; border: 0 !important; white-space: nowrap; }
.siro-nav-cta:hover { background: var(--siro-blue); color: #fff !important; }
.siro-job-count { background: var(--siro-blue); color: #fff; font-size: 10px; min-width: 18px; height: 18px; line-height: 18px; display: inline-block; text-align: center; border-radius: 99px; margin-left: 4px; }
.siro-header .dropdown-menu { border: 0; box-shadow: 0 20px 50px rgba(10, 20, 50, .14); border-radius: 0 0 14px 14px; margin-top: 0; }
.siro-header .navbar-nav .dropdown-menu:before { display: none; }
.siro-mega-menu { width: 760px; left: -130px; padding: 0; overflow: hidden; }
.siro-menu-label { display: block; color: var(--siro-blue); font-size: 10px; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; margin-bottom: 15px; }
.siro-menu-service { display: block; padding: 11px 12px; border-radius: 8px; border: 0 !important; text-transform: none !important; color: var(--siro-ink) !important; }
.siro-menu-service:hover { background: var(--siro-soft); }
.siro-menu-service strong { display: block; font-size: 13px; margin-bottom: 2px; }
.siro-menu-service small { display: block; color: var(--siro-muted); font-size: 10px; line-height: 1.45; text-transform: none; }
.siro-menu-all { display: inline-flex; align-items: center; color: var(--siro-navy) !important; font-weight: 700; font-size: 12px; margin: 12px 12px 0; border: 0 !important; text-transform: none !important; }
.siro-menu-feature { background: var(--siro-navy); color: #fff; padding: 38px 34px; }
.siro-menu-feature h4 { color: #fff; font-size: 24px; line-height: 1.2; margin-bottom: 14px; }
.siro-menu-feature p { color: rgba(255,255,255,.72); font-size: 13px; }
.siro-menu-feature a { color: #fff !important; font-weight: 700; font-size: 12px; border: 0 !important; text-transform: none !important; }
.siro-sector-menu { min-width: 280px; padding: 10px; }
.siro-sector-menu .dropdown-item { display: flex; justify-content: space-between; align-items: center; text-transform: none !important; font-size: 13px; font-weight: 600; padding: 11px 12px; border-radius: 7px; }
.siro-sector-menu .dropdown-item i { color: var(--siro-blue); font-size: 11px; }
.siro-sector-menu .siro-menu-viewall { margin-top: 6px; border-top: 1px solid var(--siro-line); border-radius: 0; padding-top: 14px; color: var(--siro-blue); }
.siro-header .navbar-toggler { border: 0; padding: 8px; }
.siro-header .navbar-toggler span { width: 24px; height: 2px; background: var(--siro-navy); display: block; margin: 5px 0; }

/* Typography and buttons */
.siro-eyebrow { display: inline-block; color: var(--siro-blue); font-size: 11px; text-transform: uppercase; letter-spacing: .16em; font-weight: 800; margin-bottom: 14px; }
.siro-eyebrow-light { color: #72d6f3; }
.siro-section-heading { max-width: 680px; margin-bottom: 40px; }
.siro-section-heading h2 { color: var(--siro-navy); font-size: clamp(30px, 4vw, 48px); line-height: 1.12; margin-bottom: 18px; }
.siro-section-heading p { color: var(--siro-muted); font-size: 17px; line-height: 1.75; margin-bottom: 0; }
.siro-section-heading.text-center { max-width: 760px; }
.siro-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 18px; border-radius: 8px; font-weight: 700; font-size: 13px; text-transform: none; border: 1px solid transparent !important; transition: .2s ease; }
.siro-btn-primary { background: var(--siro-blue); color: var(--siro-navy-2) !important; }
.siro-btn-primary:hover { background: #fff; color: var(--siro-navy) !important; box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.siro-btn-outline { background: transparent; color: var(--siro-navy) !important; border-color: #c9d0da !important; }
.siro-btn-outline:hover { background: var(--siro-navy); color: #fff !important; border-color: var(--siro-navy) !important; }
.siro-text-link { font-weight: 700; font-size: 13px; border: 0 !important; }
.siro-text-link-light { color: rgba(255,255,255,.88) !important; }
.siro-text-link-light:hover { color: #fff !important; }

/* Home hero */
.siro-home-hero { background: var(--siro-navy-2); color: #fff; overflow: hidden; }
.siro-home-hero:before { content: ''; position: absolute; width: 420px; height: 420px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; left: -220px; top: -220px; }
.siro-home-hero:after { content: ''; position: absolute; width: 700px; height: 700px; border: 1px solid rgba(13,172,224,.15); border-radius: 50%; left: -410px; top: -365px; }
.siro-home-copy { padding: 100px 50px 100px 0; position: relative; z-index: 2; }
.siro-home-copy h1 { color: #fff; font-size: clamp(42px, 5.3vw, 74px); line-height: 1.02; margin-bottom: 26px; max-width: 780px; }
.siro-home-copy .lead { color: rgba(255,255,255,.76); font-size: 18px; max-width: 650px; margin-bottom: 32px; }
.siro-home-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.siro-home-visual { height: 100%; min-height: 680px; position: relative; background-size: cover; background-position: center; }
.siro-home-visual:after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,16,47,.2), transparent 35%); }
.siro-hero-caption { position: absolute; left: 32px; bottom: 32px; right: 32px; z-index: 2; background: rgba(255,255,255,.94); color: var(--siro-navy); padding: 18px 20px; border-radius: 12px; backdrop-filter: blur(8px); box-shadow: var(--siro-shadow); }
.siro-hero-caption small { display: block; color: var(--siro-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 4px; }
.siro-hero-caption strong { font-size: 15px; }

/* Trust strip */
.siro-trust { background: #fff; border-bottom: 1px solid var(--siro-line); }
.siro-trust-item { min-height: 94px; display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--siro-navy); font-size: 13px; font-weight: 700; border-right: 1px solid var(--siro-line); }
.siro-trust .col-6:last-child .siro-trust-item { border-right: 0; }
.siro-trust-item i { color: var(--siro-blue); font-size: 20px; }

/* Generic sections */
.siro-section { padding: 100px 0; }
.siro-section + .siro-section { border-top: 1px solid rgba(223,228,235,.5); }
.siro-services { background: var(--siro-soft); }
.siro-service-card { display: block; height: 100%; background: #fff; color: var(--siro-ink) !important; border-radius: 14px; overflow: hidden; border: 1px solid #e5e9ef; transition: transform .25s ease, box-shadow .25s ease; }
.siro-service-card:hover { transform: translateY(-5px); box-shadow: var(--siro-shadow); }
.siro-service-image { height: 235px; background-size: cover; background-position: center; }
.siro-service-body { padding: 26px 24px 28px; }
.siro-service-body > span { color: var(--siro-blue); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }
.siro-service-body h3 { color: var(--siro-navy); font-size: 22px; line-height: 1.2; margin: 10px 0 12px; }
.siro-service-body p { color: var(--siro-muted); font-size: 14px; min-height: 76px; }
.siro-service-body strong { color: var(--siro-navy); font-size: 12px; }

/* Split positioning */
.siro-split-dark { background: var(--siro-navy); color: #fff; padding: 0; }
.siro-split-dark .container { max-width: 1320px; }
.siro-photo-panel { height: 100%; min-height: 650px; background-size: cover; background-position: center 55%; position: relative; }
.siro-photo-panel:after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(8,13,37,.6)); }
.siro-photo-note { position: absolute; left: 28px; bottom: 28px; z-index: 2; background: #fff; color: var(--siro-navy); padding: 17px 19px; border-radius: 10px; min-width: 240px; }
.siro-photo-note span { display: block; color: var(--siro-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.siro-photo-note strong { font-size: 15px; }
.siro-content-panel { padding: 90px 50px 90px 70px; }
.siro-content-panel h2 { color: #fff; font-size: clamp(34px, 4vw, 52px); line-height: 1.1; margin-bottom: 22px; }
.siro-content-panel > p { color: rgba(255,255,255,.72); font-size: 17px; }
.siro-check-list { list-style: none; padding: 0; margin: 30px 0 36px; }
.siro-check-list li { display: flex; gap: 14px; align-items: flex-start; padding: 10px 0; color: rgba(255,255,255,.9); font-weight: 600; font-size: 14px; }
.siro-check-list i { width: 26px; height: 26px; border-radius: 50%; background: rgba(13,172,224,.18); color: #70d8f5; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 26px; }
.siro-check-list-dark li { color: var(--siro-ink); }
.siro-check-list-dark i { background: var(--siro-blue-soft); color: var(--siro-blue); }

/* Sectors */
.siro-sectors { background: #fff; }
.siro-sector-card { display: block; min-height: 260px; height: 100%; padding: 30px; border: 1px solid var(--siro-line); border-radius: 14px; color: var(--siro-ink) !important; position: relative; background: #fff; transition: .2s ease; }
.siro-sector-card:hover { background: var(--siro-navy); border-color: var(--siro-navy); transform: translateY(-3px); box-shadow: var(--siro-shadow); }
.siro-sector-number { color: var(--siro-blue); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.siro-sector-card h3 { color: var(--siro-navy); font-size: 24px; margin: 42px 0 12px; }
.siro-sector-card p { color: var(--siro-muted); font-size: 14px; max-width: 300px; }
.siro-card-arrow { position: absolute; right: 28px; bottom: 25px; color: var(--siro-blue); }
.siro-sector-card:hover h3, .siro-sector-card:hover p { color: #fff; }
.siro-sector-card:hover p { opacity: .72; }

/* Process */
.siro-process { background: var(--siro-soft); }
.siro-process-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid #cfd6df; }
.siro-process-step { position: relative; padding: 34px 25px 15px 0; }
.siro-process-step:before { content: ''; position: absolute; width: 9px; height: 9px; background: var(--siro-blue); border-radius: 50%; top: -5px; left: 0; box-shadow: 0 0 0 6px var(--siro-soft); }
.siro-process-step > span { color: var(--siro-blue); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.siro-process-step h3 { color: var(--siro-navy); font-size: 18px; margin: 12px 0 8px; }
.siro-process-step p { color: var(--siro-muted); font-size: 13px; line-height: 1.65; padding-right: 15px; }

/* Work / cases */
.siro-work { background: #fff; }
.siro-work .siro-section-heading { margin-bottom: 0; }
.siro-work-card { display: block; color: var(--siro-ink) !important; border: 0 !important; }
.siro-work-img { height: 330px; background-size: cover; background-position: center; border-radius: 14px; transition: transform .25s ease; }
.siro-work-card:hover .siro-work-img { transform: translateY(-4px); }
.siro-work-meta { padding: 18px 4px; }
.siro-work-meta span { color: var(--siro-blue); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.siro-work-meta h3 { color: var(--siro-navy); font-size: 20px; margin-top: 7px; }

/* Reviews */
.siro-reviews { background: var(--siro-navy-2); color: #fff; }
.siro-reviews .siro-section-heading h2 { color: #fff; }
.siro-reviews .siro-section-heading p { color: rgba(255,255,255,.65); }
.siro-review-card { height: 100%; border: 1px solid rgba(255,255,255,.12); padding: 30px; border-radius: 14px; background: rgba(255,255,255,.04); }
.siro-stars { color: #ffca4b; font-size: 12px; letter-spacing: 3px; margin-bottom: 20px; }
.siro-review-card p { color: rgba(255,255,255,.82); font-size: 15px; min-height: 145px; }
.siro-review-card strong { display: block; color: #fff; font-size: 13px; }
.siro-review-card > span { color: rgba(255,255,255,.45); font-size: 10px; }

/* B2C note */
.siro-b2c-note { padding: 70px 0; background: #fff; }
.siro-b2c-box { display: flex; justify-content: space-between; gap: 60px; align-items: center; border: 1px solid var(--siro-line); background: #fff; padding: 42px 46px; border-radius: 16px; }
.siro-b2c-box h2 { color: var(--siro-navy); font-size: 29px; margin-bottom: 10px; }
.siro-b2c-box p { max-width: 800px; margin: 0; color: var(--siro-muted); font-size: 14px; }
.siro-b2c-action { flex: 0 0 auto; }

/* Knowledge */
.siro-knowledge { background: var(--siro-soft); }
.siro-knowledge .siro-section-heading { margin-bottom: 0; }
.siro-article-card { display: block; background: #fff; border: 1px solid #e4e8ee; border-radius: 14px; overflow: hidden; height: 100%; color: var(--siro-ink) !important; }
.siro-article-image { height: 220px; background-size: cover; background-position: center; }
.siro-article-body { padding: 25px; }
.siro-article-body > span { color: var(--siro-blue); font-size: 10px; font-weight: 800; letter-spacing: .09em; }
.siro-article-body h3 { color: var(--siro-navy); font-size: 21px; line-height: 1.25; margin: 10px 0; }
.siro-article-body p { color: var(--siro-muted); font-size: 13px; }
.siro-article-body strong { color: var(--siro-navy); font-size: 12px; }

/* Quote band */
.siro-quote-band { background: var(--siro-blue); padding: 72px 0; color: var(--siro-navy-2); }
.siro-quote-band .siro-eyebrow-light { color: var(--siro-navy); opacity: .72; }
.siro-quote-band h2 { color: var(--siro-navy); font-size: clamp(32px, 4vw, 49px); max-width: 780px; line-height: 1.1; margin-bottom: 14px; }
.siro-quote-band p { max-width: 750px; color: rgba(11,16,47,.78); margin-bottom: 0; }
.siro-quote-band .siro-btn-primary { background: var(--siro-navy); color: #fff !important; }
.siro-quote-band .siro-btn-primary:hover { background: #fff; color: var(--siro-navy) !important; }
.siro-contact-inline { display: block; margin-top: 14px; color: var(--siro-navy) !important; font-size: 12px; font-weight: 700; border: 0 !important; }

/* Inner hero */
.siro-inner-hero { background: var(--siro-navy-2); color: #fff; overflow: hidden; }
.siro-inner-hero h1 { color: #fff; font-size: clamp(40px, 5vw, 68px); line-height: 1.04; margin-bottom: 24px; }
.siro-hero-lead { color: rgba(255,255,255,.72); font-size: 17px; max-width: 620px; }
.siro-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 30px; }
.siro-inner-hero-image { min-height: 560px; height: 100%; background-size: cover; background-position: center; margin-right: calc((100vw - 1140px)/-2); }
.siro-inner-hero-image:after { content: ''; position: absolute; inset: 0; }

/* Service detail */
.siro-feature-image { min-height: 520px; height: 100%; background-size: cover; background-position: center; border-radius: 16px; box-shadow: var(--siro-shadow); }
.siro-scope-grid { margin-top: 26px; }
.siro-scope-item { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; font-size: 14px; font-weight: 600; color: #344052; }
.siro-scope-item i { color: var(--siro-blue); padding-top: 5px; }
.siro-value { background: var(--siro-soft); }
.siro-value-card { padding: 26px; height: 100%; background: #fff; border: 1px solid #e1e6ed; border-radius: 14px; }
.siro-value-card > i { color: var(--siro-blue); font-size: 25px; margin-bottom: 30px; }
.siro-value-card h3 { color: var(--siro-navy); font-size: 19px; }
.siro-value-card p { color: var(--siro-muted); font-size: 13px; margin-bottom: 0; }

/* FAQ */
.siro-faq { background: #fff; }
.siro-faq-item { border-top: 1px solid var(--siro-line); }
.siro-faq-item:last-child { border-bottom: 1px solid var(--siro-line); }
.siro-faq-question { display: flex; align-items: center; justify-content: space-between; width: 100%; text-align: left; padding: 22px 0; border: 0; background: transparent; color: var(--siro-navy); font-size: 16px; font-weight: 700; cursor: pointer; }
.siro-faq-question i { color: var(--siro-blue); transition: transform .2s ease; }
.siro-faq-question[aria-expanded="true"] i { transform: rotate(45deg); }
.siro-faq-answer { padding: 0 50px 20px 0; }
.siro-faq-answer p { color: var(--siro-muted); font-size: 14px; }

/* Sector pages */
.siro-side-card { background: var(--siro-navy); color: #fff; padding: 34px; border-radius: 16px; }
.siro-side-card h3 { color: #fff; font-size: 25px; margin-bottom: 20px; }
.siro-side-card ul { list-style: none; padding: 0; margin: 0; }
.siro-side-card li { border-top: 1px solid rgba(255,255,255,.12); }
.siro-side-card li:last-child { border-bottom: 1px solid rgba(255,255,255,.12); }
.siro-side-card li a { color: rgba(255,255,255,.9) !important; border: 0 !important; display: flex; justify-content: space-between; align-items: center; padding: 14px 0; font-size: 13px; font-weight: 600; }
.siro-side-card li a:hover { color: #fff !important; }
.siro-split-soft { background: var(--siro-soft); }
.siro-split-soft .siro-section-heading { margin-bottom: 20px; }

/* Footer */
.siro-footer { background: #090e2d; color: #fff; position: relative; padding-bottom: 0; }
.siro-footer-main { padding: 80px 0 55px; }
.siro-footer-brand { display: flex; align-items: center; gap: 14px; border: 0 !important; color: #fff !important; margin-bottom: 22px; }
.siro-footer-brand img { width: 64px; height: 64px; object-fit: contain; }
.siro-footer-brand span { display: flex; flex-direction: column; line-height: 1.15; }
.siro-footer-brand strong { font-size: 17px; }
.siro-footer-brand small { color: rgba(255,255,255,.5); font-size: 10px; margin-top: 5px; }
.siro-footer-intro { color: rgba(255,255,255,.58); font-size: 13px; max-width: 360px; }
.siro-footer h4 { color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 20px; }
.siro-footer ul { list-style: none; margin: 0; padding: 0; }
.siro-footer ul li { margin-bottom: 9px; }
.siro-footer ul a { color: rgba(255,255,255,.6) !important; border: 0 !important; font-size: 12px; }
.siro-footer ul a:hover { color: #fff !important; }
.siro-socials { display: flex; gap: 8px; margin-top: 24px; }
.siro-socials a { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.16) !important; color: #fff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }
.siro-socials a:hover { background: var(--siro-blue); color: var(--siro-navy) !important; border-color: var(--siro-blue) !important; }
.siro-footer-contact > a, .siro-footer-contact > div { display: flex; gap: 13px; align-items: center; margin-bottom: 16px; color: #fff !important; border: 0 !important; }
.siro-footer-contact i { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--siro-blue); }
.siro-footer-contact span { display: flex; flex-direction: column; font-size: 13px; font-weight: 700; }
.siro-footer-contact small { color: rgba(255,255,255,.45); font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; }
.siro-footer-bottom { border-top: 1px solid rgba(255,255,255,.09); display: flex; justify-content: space-between; gap: 20px; padding: 22px 0; color: rgba(255,255,255,.42); font-size: 10px; }
.siro-footer-bottom > div:last-child { display: flex; gap: 16px; flex-wrap: wrap; justify-content: flex-end; }
.siro-footer-bottom a { color: rgba(255,255,255,.52) !important; border: 0 !important; }
.siro-mobile-cta { position: fixed; bottom: 12px; left: 12px; right: 12px; height: 52px; z-index: 10000; background: var(--siro-blue); color: var(--siro-navy) !important; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.24); border: 0 !important; font-weight: 800; }

/* Legacy page uplift: keeps database-driven pages usable while visually matching the redesign. */
.innerpage-banner { min-height: 380px; display: flex; align-items: flex-end; padding-bottom: 60px !important; border: 0; }
.innerpage-banner:before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,16,47,.88), rgba(11,16,47,.35)); }
.innerpage-banner .container { position: relative; z-index: 2; }
.innerpage-banner .innerpage-title { font-family: 'Manrope', sans-serif; text-transform: none !important; font-weight: 700; font-size: clamp(38px, 5vw, 64px); line-height: 1.05; }
.breadcrumbs { float: none; margin: 14px auto; padding-left: 0; }
.breadcrumbs li, .breadcrumbs li a { font-family: 'Manrope', sans-serif; font-size: 11px; }
.breadcrumbs li a { color: var(--siro-muted); }
.bg-dark { background-color: var(--siro-navy) !important; }
.btn-primary, .btn-secondary, .btn-grad { border-radius: 8px; font-family: 'Manrope', sans-serif; text-transform: none; font-weight: 700; letter-spacing: 0; }
.btn-primary { background: var(--siro-navy); border-color: var(--siro-navy); }
.btn-secondary, .btn-grad { background: var(--siro-blue); border-color: var(--siro-blue); color: var(--siro-navy); }
.service-block h2, .why-us h2, section h2.text-uppercase, section .text-uppercase { text-transform: none !important; letter-spacing: -.025em; }
.blue-border { border: 1px solid var(--siro-line); border-radius: 12px; overflow: hidden; }
.divider, .arrow.arrow-up { display: none; }
.ctc-bar { display: none !important; }
.back-top { border-radius: 50%; width: 42px; height: 42px; padding: 10px; }

/* Forms */
.form-control { min-height: 48px; border: 1px solid #d8dee7; border-radius: 8px; font-family: 'Manrope', sans-serif; box-shadow: none; }
.form-control:focus { border-color: var(--siro-blue); box-shadow: 0 0 0 3px rgba(13,172,224,.12); }
textarea.form-control { min-height: 140px; }
label { font-weight: 700; font-size: 12px; color: #354057; }

@media (max-width: 1199px) {
  .siro-navbar { min-height: 76px; }
  .siro-brand img, .siro-header .navbar-brand img, .navbar-sticky-on .siro-brand img { width: 50px !important; max-width: 50px !important; height: 50px !important; }
  .siro-header .navbar-collapse { position: absolute; top: 76px; left: 0; right: 0; background: #fff; padding: 12px 20px 24px; border-top: 1px solid var(--siro-line); box-shadow: 0 20px 40px rgba(0,0,0,.1); }
  .siro-header .navbar-nav { align-items: stretch !important; }
  .siro-header .navbar-nav .nav-link { padding: 12px 6px !important; }
  .siro-header .navbar-nav .nav-item.active > .nav-link:after { display: none; }
  .siro-mega-menu { width: 100%; left: 0; box-shadow: none !important; border: 1px solid var(--siro-line) !important; border-radius: 10px !important; }
  .siro-menu-feature { display: none; }
  .siro-process-grid { grid-template-columns: repeat(3, 1fr); row-gap: 20px; }
  .siro-content-panel { padding: 70px 30px 70px 50px; }
  .siro-inner-hero-image { margin-right: -30px; }
}

@media (max-width: 991px) {
  body { padding-bottom: 70px; }
  .siro-home-copy { padding: 70px 0 55px; }
  .siro-home-visual { min-height: 520px; }
  .siro-trust-item { border-bottom: 1px solid var(--siro-line); }
  .siro-section { padding: 75px 0; }
  .siro-content-panel { padding: 55px 15px; }
  .siro-photo-panel { min-height: 520px; }
  .siro-inner-hero-image { min-height: 440px; margin: 0 -30px; }
  .siro-b2c-box { display: block; }
  .siro-b2c-action { margin-top: 25px; }
  .siro-footer-bottom { display: block; padding-bottom: 82px; }
  .siro-footer-bottom > div:last-child { justify-content: flex-start; margin-top: 12px; }
  .innerpage-banner { min-height: 300px; }
}

@media (max-width: 767px) {
  .siro-brand span { display: none; }
  .siro-home-copy h1 { font-size: 44px; }
  .siro-home-copy .lead { font-size: 16px; }
  .siro-home-visual { min-height: 420px; }
  .siro-hero-caption { left: 16px; right: 16px; bottom: 16px; }
  .siro-trust-item { min-height: 86px; flex-direction: column; gap: 6px; text-align: center; font-size: 11px; padding: 10px; }
  .siro-section { padding: 58px 0; }
  .siro-section-heading h2 { font-size: 34px; }
  .siro-service-image { height: 220px; }
  .siro-photo-panel { min-height: 430px; }
  .siro-process-grid { grid-template-columns: 1fr; border-top: 0; }
  .siro-process-step { border-left: 1px solid #cfd6df; padding: 0 0 30px 28px; margin-left: 4px; }
  .siro-process-step:before { left: -5px; top: 5px; }
  .siro-work-img { height: 280px; }
  .siro-b2c-box { padding: 30px 24px; }
  .siro-quote-band { padding: 55px 0; }
  .siro-inner-hero .py-lg-7 { padding-top: 65px !important; padding-bottom: 50px !important; }
  .siro-inner-hero h1 { font-size: 43px; }
  .siro-feature-image { min-height: 390px; }
  .siro-faq-answer { padding-right: 0; }
  .siro-footer-main { padding: 60px 0 35px; }
}

/* Contact & quote forms */
.siro-form-title { color: var(--siro-navy); font-size: clamp(34px, 4vw, 48px); margin-bottom: 14px; }
.siro-form-intro { color: var(--siro-muted); font-size: 15px; max-width: 700px; margin-bottom: 28px; }
.siro-form-card { background: #fff; border: 1px solid var(--siro-line); border-radius: 16px; padding: 32px; box-shadow: 0 18px 45px rgba(13, 24, 52, .06); }
.siro-form-card .text-uppercase { text-transform: none !important; }
.siro-form-card .btn { min-height: 48px; border-radius: 8px; font-size: 13px; font-weight: 700; }
.siro-contact-card, .siro-quote-help { background: var(--siro-navy); color: #fff; border-radius: 16px; padding: 34px; position: sticky; top: 110px; }
.siro-contact-card h3 { color: #fff; font-size: 27px; margin-bottom: 26px; }
.siro-contact-card > a, .siro-contact-card > div { display: flex; gap: 14px; align-items: flex-start; color: #fff !important; border: 0 !important; margin: 18px 0; }
.siro-contact-card > a > i, .siro-contact-card > div > i { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--siro-blue); flex: 0 0 36px; margin-top: 2px; }
.siro-contact-card span { display: flex; flex-direction: column; font-size: 13px; font-weight: 700; line-height: 1.55; }
.siro-contact-card small { color: rgba(255,255,255,.5); text-transform: uppercase; letter-spacing: .1em; font-size: 9px; font-weight: 600; }
.siro-contact-card hr, .siro-quote-help hr { border-color: rgba(255,255,255,.12); margin: 28px 0; }
.siro-contact-card h4 { color: #fff; font-size: 19px; }
.siro-contact-card p { color: rgba(255,255,255,.62); font-size: 13px; }
.siro-quote-help .siro-eyebrow { margin-bottom: 26px; }
.siro-mini-step { display: flex; gap: 16px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.11); }
.siro-mini-step b { color: var(--siro-blue); font-size: 11px; letter-spacing: .08em; }
.siro-mini-step strong { display: block; color: #fff; font-size: 14px; margin-bottom: 5px; }
.siro-mini-step p { color: rgba(255,255,255,.58); font-size: 12px; margin: 0; }
.siro-help-link { color: #fff !important; border: 0 !important; font-weight: 700; font-size: 14px; }
.siro-quote-form-section { background: var(--siro-soft); }
.siro-quote-form-section .siro-form-card { box-shadow: none; }

@media (max-width: 991px){
  .siro-contact-card, .siro-quote-help { position: static; }
  .siro-form-card { padding: 24px; }
}

/* Projects */
.siro-projects { background: var(--siro-soft); }
.siro-project-card { display: block; height: 100%; background: #fff; border: 1px solid var(--siro-line); border-radius: 14px; overflow: hidden; color: var(--siro-ink) !important; transition: transform .2s ease, box-shadow .2s ease; }
.siro-project-card:hover { transform: translateY(-4px); box-shadow: var(--siro-shadow); }
.siro-project-image { height: 280px; background-size: cover; background-position: center; }
.siro-project-body { padding: 26px; }
.siro-project-body > span { color: var(--siro-blue); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }
.siro-project-body h2 { color: var(--siro-navy); font-size: 23px; margin: 9px 0 12px; }
.siro-project-body p { color: var(--siro-muted); font-size: 13px; min-height: 70px; }
.siro-project-body strong { color: var(--siro-navy); font-size: 12px; }
.siro-pagination { margin-top: 20px; }
.siro-empty-state { text-align: center; padding: 60px 20px; border: 1px dashed #cbd3de; border-radius: 14px; }
.siro-project-detail { background: #fff; }
.siro-project-detail-image { display: block; margin-bottom: 24px; border: 0 !important; }
.siro-project-detail-image img { width: 100%; border-radius: 14px; }
.siro-project-sidebar { position: sticky; top: 110px; padding: 30px; background: var(--siro-soft); border-radius: 14px; }
.siro-project-sidebar h2 { color: var(--siro-navy); font-size: 30px; }
.siro-project-sidebar .lead { color: var(--siro-muted); font-size: 15px; }
.siro-project-description, .siro-project-description p { color: var(--siro-muted); font-size: 13px; }
.siro-project-sidebar hr { border-color: var(--siro-line); margin: 25px 0; }
.siro-video { border-radius: 14px; overflow: hidden; }
@media(max-width:991px){ .siro-project-sidebar{position:static;} }

/* Knowledge centre */
.siro-knowledge-page { background: var(--siro-soft); }
.siro-knowledge-card { display: block; height: 100%; background: #fff; border: 1px solid var(--siro-line); border-radius: 14px; overflow: hidden; color: var(--siro-ink) !important; transition: transform .2s ease, box-shadow .2s ease; }
.siro-knowledge-card:hover { transform: translateY(-4px); box-shadow: var(--siro-shadow); }
.siro-knowledge-image { height: 240px; background-size: cover; background-position: center; }
.siro-knowledge-body { padding: 26px; }
.siro-knowledge-body > span { color: var(--siro-blue); font-size: 10px; font-weight: 800; letter-spacing: .09em; }
.siro-knowledge-body h2 { color: var(--siro-navy); font-size: 22px; line-height: 1.3; margin: 10px 0 12px; }
.siro-knowledge-body p { color: var(--siro-muted); font-size: 13px; min-height: 72px; }
.siro-knowledge-body strong { color: var(--siro-navy); font-size: 12px; }
.siro-article-detail { background: #fff; }
.siro-article-meta { display: flex; justify-content: space-between; gap: 20px; color: var(--siro-muted); font-size: 11px; border-bottom: 1px solid var(--siro-line); padding-bottom: 18px; margin-bottom: 35px; }
.siro-article-meta a { border: 0 !important; font-weight: 700; }
.siro-article-hero-image { width: 100%; border-radius: 14px; margin-bottom: 45px; }
.siro-article-content { color: #3f4b5d; font-size: 16px; line-height: 1.85; }
.siro-article-content h2 { color: var(--siro-navy); font-size: 32px; margin: 45px 0 16px; }
.siro-article-content h3 { color: var(--siro-navy); font-size: 24px; margin: 35px 0 14px; }
.siro-article-content p, .siro-article-content li { color: #4f5a6a; }
.siro-article-content a { color: var(--siro-navy); }
.siro-article-intro { font-size: 20px; color: var(--siro-navy) !important; line-height: 1.65; font-weight: 600; }
.siro-article-gallery { border-top: 1px solid var(--siro-line); margin-top: 45px; padding-top: 35px; }
.siro-article-gallery h2 { color: var(--siro-navy); font-size: 28px; }
.siro-article-gallery img { width: 100%; border-radius: 10px; }
.siro-article-end { margin-top: 55px; padding: 28px 0; border-top: 1px solid var(--siro-line); border-bottom: 1px solid var(--siro-line); display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.siro-article-end span { font-weight: 700; color: var(--siro-navy); }
@media(max-width:767px){ .siro-article-meta,.siro-article-end{display:block;} .siro-article-meta a,.siro-article-end .siro-btn{margin-top:14px;} }

/* Jobs */
.siro-jobs { background: var(--siro-soft); }
.siro-job-card { display: grid; grid-template-columns: 54px 1fr 24px; align-items: center; gap: 18px; padding: 22px 24px; background: #fff; border: 1px solid var(--siro-line) !important; border-radius: 12px; color: var(--siro-navy) !important; }
.siro-job-card > span { width: 48px; height: 48px; border-radius: 50%; background: var(--siro-blue-soft); color: var(--siro-blue); display: flex; align-items: center; justify-content: center; }
.siro-job-card small { color: var(--siro-muted); text-transform: uppercase; letter-spacing: .1em; font-size: 9px; }
.siro-job-card h2 { color: var(--siro-navy); font-size: 20px; margin: 3px 0 0; }
.siro-job-card:hover { box-shadow: 0 12px 30px rgba(13,24,52,.08); }
.siro-job-detail h2 { color: var(--siro-navy); font-size: 38px; }
.siro-job-copy, .siro-job-copy p, .siro-job-copy li { color: var(--siro-muted); }
.siro-job-copy h2, .siro-job-copy h3, .siro-job-copy h4 { color: var(--siro-navy); }
.siro-job-apply { margin-top: 40px; padding: 28px; background: var(--siro-soft); border-radius: 12px; }
.siro-job-apply h3 { color: var(--siro-navy); }
.siro-job-sidebar { position: sticky; top: 110px; padding: 30px; border-radius: 14px; background: var(--siro-navy); color: #fff; }
.siro-job-sidebar, .siro-job-sidebar p, .siro-job-sidebar li { color: rgba(255,255,255,.75); }
.siro-job-sidebar h2, .siro-job-sidebar h3, .siro-job-sidebar h4, .siro-job-sidebar strong { color: #fff; }
.siro-job-sidebar hr { border-color: rgba(255,255,255,.12); }
@media(max-width:991px){ .siro-job-sidebar{position:static;} }
