/* SWFIT site v2: "live console" direction + coastline route. Tokens from the SWFIT design system. */
:root{--sw-ink:#0e1c33;--sw-ink2:#0a1526;--sw-soft:#1e3556;--sw-bolt:#e8641c;--sw-bolt-hi:#f07c33;--sw-wash:#fdefe6;
  --sw-mist:#f2f5f9;--sw-line:#dce3ec;--sw-body:#3b4a5f;--sw-muted:#6b778a;--sw-ok:#1e9e6a;
  --sw-display:"Poppins",system-ui,sans-serif;--sw-sans:"Public Sans",system-ui,sans-serif;--sw-mono:"IBM Plex Mono",ui-monospace,monospace;
  --sw-ease:cubic-bezier(.16,1,.3,1)}

/* ---------- Header v2: white glass, dark logo ---------- */
header.elementor-location-header{background:rgba(255,255,255,.88)!important;-webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid transparent;box-shadow:none!important}
header.elementor-location-header.swfit-scrolled{background:rgba(255,255,255,.92)!important;border-bottom-color:var(--sw-line);box-shadow:0 6px 24px rgba(14,28,51,.06)!important}
.sw-header .elementor-nav-menu--main .elementor-item{color:var(--sw-ink)!important;font:500 15px var(--sw-display)!important;padding:10px 14px!important}
.sw-header .elementor-nav-menu--main .elementor-item:hover,.sw-header .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--sw-bolt)!important}
.sw-header .elementor-nav-menu--main .elementor-item::after{display:none!important}
.sw-header .elementor-nav-menu--dropdown{background:#fff!important;border:1px solid var(--sw-line);border-radius:14px!important;box-shadow:0 18px 40px rgba(14,28,51,.12)!important;padding:8px!important}
.sw-header .elementor-nav-menu--dropdown a{color:var(--sw-ink)!important;font:500 14px var(--sw-sans)!important;border-radius:8px;padding:9px 14px!important}
.sw-header .elementor-nav-menu--dropdown a:hover{background:var(--sw-mist)!important;color:var(--sw-bolt)!important}
.sw-header .elementor-menu-toggle{background:transparent!important;color:var(--sw-ink)!important}
.sw-header .elementor-menu-toggle svg{fill:var(--sw-ink)!important}
.sw-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{margin-top:10px}
.sw-phone a{font:500 14px var(--sw-mono)!important;color:var(--sw-ink)!important;text-decoration:none!important;white-space:nowrap}
.sw-phone a:hover{color:var(--sw-bolt)!important}
.sw-header .menu_cta{display:none!important}
.sw-logo img{height:58px!important;width:auto!important;max-width:none!important;display:block}
.sw-topbar{position:relative;z-index:2}
.sw-top-phone{display:inline-flex;align-items:center;gap:8px;color:#c9d4e3!important;text-decoration:none!important;font:500 13px var(--sw-sans)}
.sw-top-phone svg{color:var(--sw-bolt-hi);flex:none}
.sw-top-phone b{font:600 13px var(--sw-sans);color:#fff;letter-spacing:.01em}
.sw-top-phone:hover b{color:var(--sw-bolt-hi)}
.sw-top-meta{display:flex;gap:18px;margin:0;font:400 13px var(--sw-sans);color:#8fa0b8}
.sw-top-meta a{color:#c9d4e3!important;text-decoration:none}.sw-top-meta a:hover{color:#fff!important}
.sw-top-meta span{padding-left:18px;border-left:1px solid rgba(255,255,255,.15)}
@media (max-width:767px){.sw-logo img{height:44px!important}.sw-top-phone span{display:none}}
.sw-nav .elementor-nav-menu--main>.elementor-nav-menu{flex-wrap:nowrap!important}
.sw-nav .elementor-nav-menu--main .elementor-item{padding:10px 11px!important;white-space:nowrap}

footer.elementor-location-footer .elementor-social-icon{background:var(--sw-ink)!important}
footer.elementor-location-footer .elementor-social-icon:hover{background:var(--sw-bolt)!important}

/* ---------- Type ---------- */
.sw-sec{position:relative}
.sw-h1 .elementor-heading-title{font:800 clamp(42px,5.4vw,74px)/1.0 var(--sw-display)!important;letter-spacing:-.035em!important;color:var(--sw-ink)!important}
.sw-h1 .elementor-heading-title em{font-style:normal;color:var(--sw-bolt)}
.sw-h2 .elementor-heading-title{font:700 clamp(30px,3.5vw,48px)/1.08 var(--sw-display)!important;letter-spacing:-.025em!important;color:var(--sw-ink)!important;max-width:20ch}
.sw-h2.sw-on-dark .elementor-heading-title{color:#fff!important}
.sw-eyebrow .elementor-heading-title{font:600 13px var(--sw-display)!important;letter-spacing:.12em!important;text-transform:uppercase;color:#c4541a!important;margin-bottom:14px!important}
.sw-eyebrow-hi .elementor-heading-title{color:var(--sw-bolt-hi)!important}
.sw-lede,.sw-lede p{font:400 20px/1.55 var(--sw-sans)!important;color:var(--sw-body)!important;max-width:32ch;margin-top:20px}
.sw-lede-sm p{font:400 18px/1.6 var(--sw-sans)!important;color:var(--sw-body)!important;max-width:44ch;margin-top:18px}
.sw-aside p{color:var(--sw-body)!important;font-size:17px;line-height:1.6;margin:0}
.sw-head{margin-bottom:48px}
.sw-kicker{display:inline-flex;align-items:center;gap:10px;font:600 13px var(--sw-display);letter-spacing:.12em;text-transform:uppercase;color:var(--sw-soft);margin:0 0 18px}
.sw-kicker i{width:8px;height:8px;border-radius:50%;background:var(--sw-ok);box-shadow:0 0 0 4px rgba(30,158,106,.18);animation:sw-pulse 2s infinite}
@keyframes sw-pulse{50%{box-shadow:0 0 0 8px rgba(30,158,106,0)}}

/* ---------- Buttons ---------- */
.sw-btn .elementor-button{background:var(--sw-bolt)!important;color:#fff!important;font:600 15px var(--sw-display)!important;padding:14px 22px!important;border-radius:10px!important;border:0!important}
.sw-btn .elementor-button:hover{background:#c4541a!important}
.sw-btn-ghost .elementor-button{background:transparent!important;color:var(--sw-ink)!important;box-shadow:inset 0 0 0 1.5px var(--sw-line)!important}
.sw-btn-ghost .elementor-button:hover{background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--sw-ink)!important;transform:none}
.sw-cta-row{margin-top:30px}

/* ---------- Hero + console ---------- */
.sw-hero{background:linear-gradient(180deg,#fff 0%,var(--sw-mist) 100%)}
.sw-trust{margin-top:40px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.sw-trust span{font:500 12px var(--sw-mono);color:var(--sw-muted);text-transform:uppercase;letter-spacing:.08em}
.sw-trust img{height:26px;width:auto;filter:grayscale(1);opacity:.62;mix-blend-mode:multiply}
.sw-console{background:var(--sw-ink2);border-radius:20px;color:#dfe6f0;box-shadow:0 30px 70px rgba(14,28,51,.28);overflow:hidden;font-family:var(--sw-mono)}
.sw-console-bar{display:flex;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px;color:#8fa0b8}
.sw-console-bar b{color:#fff;font-weight:500}.sw-live{color:var(--sw-ok)}
.sw-feed{list-style:none;margin:0;padding:0;height:360px;overflow:hidden;position:relative}
.sw-feed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(transparent,var(--sw-ink2));pointer-events:none}
.sw-ev{display:grid;grid-template-columns:52px 1fr auto;gap:14px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;line-height:1.45;animation:sw-in .5s var(--sw-ease)}
@keyframes sw-in{from{opacity:0;transform:translateY(-10px)}}
.sw-ev time{color:#6f82a0}.sw-ev .what{color:#fff}.sw-ev .where{display:block;color:#7f90aa;font-size:12px;margin-top:2px}
.sw-tag{font-size:11px;padding:3px 8px;border-radius:999px;align-self:start;white-space:nowrap}
.sw-tag.fixed{background:rgba(30,158,106,.16);color:#5fd3a2}.sw-tag.watch{background:rgba(240,124,51,.16);color:var(--sw-bolt-hi)}
.sw-console-foot{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.08)}
.sw-console-foot div{padding:16px 18px;border-right:1px solid rgba(255,255,255,.06)}.sw-console-foot div:last-child{border:0}
.sw-console-foot b{display:block;font:600 21px var(--sw-mono);color:#fff}
.sw-console-foot span{font-size:11px;color:#8fa0b8;text-transform:uppercase;letter-spacing:.06em}
.sw-console-note{font:400 12px var(--sw-sans);color:var(--sw-muted);margin-top:12px;text-align:right}

/* ---------- Bento ---------- */
.sw-cell{background:var(--sw-mist);border-radius:18px;padding:30px!important;min-height:250px;justify-content:space-between!important;transition:transform .25s var(--sw-ease)}
.sw-cell:hover{transform:translateY(-3px)}
.sw-cell h3.elementor-heading-title{font:700 24px/1.15 var(--sw-display)!important;color:var(--sw-ink)!important;letter-spacing:-.015em;margin-bottom:10px!important}
.sw-cell .elementor-widget-text-editor p{font-size:16px;color:var(--sw-body);max-width:40ch;margin:0}
.sw-more a{font:600 14px var(--sw-display);color:var(--sw-bolt)!important;text-decoration:none}
.sw-cell-dark{background:var(--sw-ink)}
.sw-cell-dark h3.elementor-heading-title{color:#fff!important;font-size:32px!important;max-width:16ch}
.sw-cell-dark .elementor-widget-text-editor p{color:#c9d4e3}
.sw-cell-dark .sw-more a{color:var(--sw-bolt-hi)!important}
.sw-cell-warm{background:var(--sw-wash)}
.sw-meter{display:flex;gap:6px;margin-top:22px}
.sw-meter span{flex:1;height:34px;border-radius:6px;background:rgba(255,255,255,.07);position:relative;overflow:hidden}
.sw-meter span::after{content:"";position:absolute;left:0;right:0;bottom:0;background:var(--sw-bolt);opacity:.85;height:var(--h)}
.sw-ping{font:500 13px var(--sw-mono);color:#8fa0b8;margin:10px 0 0}

/* ---------- Coastline route ---------- */
.sw-route{position:relative;background:var(--sw-ink);border-radius:22px;padding:28px 30px 24px;color:#c9d4e3;overflow:hidden}
.sw-route::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 50% at 100% 0%,rgba(232,100,28,.28),transparent 60%);pointer-events:none}
.sw-route-h{position:relative;font:600 13px var(--sw-display);letter-spacing:.12em;text-transform:uppercase;color:#8fa0b8;margin:0 0 16px}
.sw-stops{position:relative;list-style:none;margin:0;padding:0}
.sw-stops::before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:2px;background:linear-gradient(var(--sw-bolt),var(--sw-bolt-hi));transform-origin:top}
.sw-stops li{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0 8px 32px;font:600 19px var(--sw-display);color:#fff}
.sw-stops li a{color:inherit;text-decoration:none}.sw-stops li a:hover{color:var(--sw-bolt-hi)}
.sw-stops li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:12px;border-radius:50%;background:var(--sw-ink);border:2px solid var(--sw-bolt-hi)}
.sw-stops li small{font:400 12px var(--sw-mono);color:#8fa0b8;white-space:nowrap}
.sw-stops li.hq{color:var(--sw-bolt-hi)}
.sw-stops li.hq::before{background:var(--sw-bolt);box-shadow:0 0 0 6px rgba(232,100,28,.25)}
.sw-stops li.here{color:#fff}
.sw-stops li.here::before{background:#fff;border-color:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.18)}
.sw-stops li.here small{color:#fff}
.sw-route-legend{position:relative;margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font:400 13px var(--sw-sans);color:#8fa0b8}
.sw-route-legend b{color:#fff;font-weight:600}
.sw-route.sw-anim .sw-stops::before{animation:sw-draw 1.6s var(--sw-ease) both}
.sw-route.sw-anim .sw-stops li{opacity:0;animation:sw-stop .5s var(--sw-ease) forwards;animation-delay:var(--d)}
@keyframes sw-draw{from{transform:scaleY(0)}}@keyframes sw-stop{to{opacity:1}}
.sw-facts{display:flex;gap:40px;margin:28px 0 30px}
.sw-facts dt{font:600 36px/1 var(--sw-mono);color:var(--sw-ink);letter-spacing:-.03em}
.sw-facts dd{margin:6px 0 0;font-size:14px;color:var(--sw-muted);max-width:18ch}

/* ---------- Results ---------- */
.sw-case{background:#fff;border-radius:18px;padding:28px!important;border:1px solid var(--sw-line);text-decoration:none!important;transition:box-shadow .2s,transform .2s var(--sw-ease)}
.sw-case:hover{box-shadow:0 14px 34px rgba(14,28,51,.12);transform:translateY(-3px)}
.sw-case-stat .elementor-heading-title{font:600 42px/1 var(--sw-mono)!important;color:var(--sw-ink)!important;letter-spacing:-.04em!important}
.sw-case-label p{font-size:15px;color:var(--sw-body);margin:12px 0 0}
.sw-case-who{margin-top:auto!important}
.sw-case-who .elementor-heading-title{font:600 12px var(--sw-display)!important;text-transform:uppercase;letter-spacing:.1em!important;color:var(--sw-muted)!important;padding-top:18px;margin-top:18px;border-top:1px solid var(--sw-line)}
.sw-quote{margin:48px 0 0;display:grid;grid-template-columns:auto 1fr;gap:24px;max-width:880px;border:0;padding:0;background:none}
.sw-qmark{font:800 96px/.8 var(--sw-display);color:var(--sw-bolt)}
.sw-quote p{font:600 26px/1.35 var(--sw-display);color:var(--sw-ink);letter-spacing:-.015em;margin:0}
.sw-quote cite{display:block;margin-top:14px;font:400 15px var(--sw-sans);font-style:normal;color:var(--sw-muted)}

/* ---------- Chips ---------- */
.sw-chips{display:flex;flex-wrap:wrap;gap:10px}
.sw-chips a{font:500 16px var(--sw-display);color:var(--sw-ink);text-decoration:none;padding:12px 18px;border-radius:999px;border:1.5px solid var(--sw-line);background:#fff;transition:all .15s}
.sw-chips a:hover,.sw-chips a[aria-current]{border-color:var(--sw-bolt);color:var(--sw-bolt);background:var(--sw-wash)}

/* ---------- Blog loop on v2 ---------- */
.sw-blog .e-loop-item > .e-con{box-shadow:none!important;border:1px solid var(--sw-line);border-radius:18px!important}
.sw-blog .e-loop-item > .e-con:hover{box-shadow:0 14px 34px rgba(14,28,51,.12)!important}

/* ---------- Closing band ---------- */
.sw-close{background:var(--sw-ink)!important;border-radius:28px;overflow:hidden}
.sw-close::before{content:"";position:absolute;right:-120px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(232,100,28,.35),transparent 65%);pointer-events:none}
.sw-ticks{list-style:none;display:grid;gap:12px;margin:24px 0 0;padding:0;color:#c9d4e3;font-size:17px}
.sw-ticks li{display:flex;gap:12px}
.sw-ticks li::before{content:"";width:18px;height:18px;flex:none;margin-top:4px;border-radius:50%;background:var(--sw-bolt) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
.sw-book{background:#fff;border-radius:18px;padding:28px!important}
.sw-book-h .elementor-heading-title{font:700 22px var(--sw-display)!important;color:var(--sw-ink)!important;margin-bottom:6px!important}
.sw-book-note p{font-size:13px;color:var(--sw-muted);text-align:center;margin:10px 0 0}
.sw-book-note a{color:var(--sw-ink);font-weight:600}
.sw-book .gform_wrapper{margin:0!important}
.sw-book .gform_wrapper .gform_footer{margin-top:14px!important;padding:0!important}
.sw-book .gform_wrapper .gform_button{width:100%}

/* ---------- Footer v2 (light) ---------- */
footer.sw-footer,footer.elementor-location-footer{background:#fff}
.sw-foot-blurb p{color:var(--sw-body)!important;font-size:15px}
.sw-foot-head .elementor-heading-title{font:600 12px var(--sw-display)!important;letter-spacing:.12em!important;text-transform:uppercase;color:var(--sw-muted)!important}
.sw-foot-links a{display:block;color:var(--sw-ink)!important;text-decoration:none;font-size:15px;line-height:2.1}
.sw-foot-links a:hover{color:var(--sw-bolt)!important}
.sw-foot-base p{font-size:13px;color:var(--sw-muted)!important;margin:0}
.sw-foot-base a{color:var(--sw-muted)!important;text-decoration:none}.sw-foot-base a:hover{color:var(--sw-ink)!important}

/* ---------- Inner pages ---------- */
.sw-h1-md .elementor-heading-title{font-size:clamp(36px,4.3vw,58px)!important;line-height:1.04!important}
.sw-h2-sm .elementor-heading-title{font-size:clamp(26px,2.6vw,36px)!important}
.sw-h3 .elementor-heading-title{font:700 clamp(24px,2.4vw,32px)/1.12 var(--sw-display)!important;letter-spacing:-.02em!important;color:var(--sw-ink)!important}
.sw-body p{font-size:17px;line-height:1.65;color:var(--sw-body);margin:16px 0 0;max-width:52ch}
.sw-photo img{width:100%!important;border-radius:20px!important;aspect-ratio:4/3;object-fit:cover;filter:saturate(.88) contrast(1.02);box-shadow:0 24px 50px rgba(14,28,51,.16)}
.sw-hero-media{position:relative}
.sw-photo-hero img{aspect-ratio:5/4}
.sw-float{position:absolute;left:-28px;bottom:-28px;background:var(--sw-ink2);color:#dfe6f0;border-radius:16px;padding:18px 22px;min-width:250px;box-shadow:0 20px 44px rgba(14,28,51,.3)}
.sw-float b{display:block;font:500 11px var(--sw-mono);text-transform:uppercase;letter-spacing:.1em;color:#8fa0b8;margin-bottom:10px}
.sw-float ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sw-float li{display:flex;gap:10px;font:500 14px var(--sw-display);color:#fff}
.sw-float li::before{content:"";width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--sw-ok);box-shadow:0 0 0 3px rgba(30,158,106,.2);flex:none}
.sw-icon img{width:56px!important;height:56px!important;object-fit:contain}
.sw-cell-sm{min-height:0;padding:26px!important;gap:16px;justify-content:flex-start!important;background:#fff;border:1px solid var(--sw-line)}
.sw-cell-item{min-height:0;justify-content:flex-start!important;gap:14px;background:#fff;border:1px solid var(--sw-line)}
.sw-cell-h .elementor-heading-title{font:700 19px/1.25 var(--sw-display)!important;color:var(--sw-ink)!important;letter-spacing:-.01em}
.sw-cell-item .sw-body p{font-size:15.5px;margin-top:0}
.sw-logos{display:flex;gap:28px;align-items:center;flex-wrap:wrap;padding:20px 28px;background:#fff;border-radius:16px;border:1px solid var(--sw-line)}
.sw-logos img{height:34px;width:auto;filter:grayscale(1);opacity:.7}
.sw-guide{background:var(--sw-ink)!important;border-radius:28px;overflow:hidden}
.sw-guide::before{content:"";position:absolute;left:-140px;bottom:-200px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(232,100,28,.3),transparent 65%);pointer-events:none}
.sw-guide-cover img{width:100%!important;border-radius:8px;transform:rotate(-3deg);box-shadow:0 24px 50px rgba(0,0,0,.4)}
.sw-on-dark-t p{color:#c9d4e3!important;font-size:17px;max-width:52ch;margin:14px 0 0}
.sw-btn-ghost-dark .elementor-button{color:#fff!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)!important}
.sw-btn-ghost-dark .elementor-button:hover{box-shadow:inset 0 0 0 1.5px #fff!important}
.sw-faq .e-n-accordion-item{background:#fff!important;border:1px solid var(--sw-line)!important;border-radius:14px!important;margin-bottom:10px}
.sw-faq .e-n-accordion-item-title{padding:20px 22px!important}
.sw-faq .e-n-accordion-item-title-text{font:600 17px var(--sw-display)!important;color:var(--sw-ink)!important}
.sw-faq .e-n-accordion-item[open] .e-n-accordion-item-title-text{color:var(--sw-bolt)!important}
.sw-faq .e-n-accordion-item > .e-con{padding:0 22px 20px!important;border:0!important}
.sw-faq p{font-size:16px;color:var(--sw-body);margin:0}
/* Converted legacy heroes */
.sw-hero-old .elementor-widget-heading .elementor-heading-title{color:var(--sw-ink)}
.sw-hero-old .elementor-widget-text-editor,.sw-hero-old .elementor-widget-text-editor p,.sw-hero-old .elementor-widget-post-info{color:var(--sw-body)!important}
.sw-hero-old .elementor-widget-text-editor a,.sw-hero-old .cat a{color:var(--sw-ink)!important;font-weight:500}
.sw-hero-old .elementor-heading-title[class] span{color:inherit}
.sw-hero-old .elementor-widget-heading:not(.sw-h1) .elementor-heading-title{font-family:var(--sw-display)}
.sw-hero-old .sw-h1 .elementor-heading-title{text-align:left}
.sw-hero-old .elementor-widget-ucaddon_underline_link_hover_effect a{color:var(--sw-ink)!important}

/* Lists, tables, dark cells */
.sw-cell.sw-cell-dark{justify-content:flex-start!important;gap:12px}
.sw-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sw-list li{position:relative;padding-left:22px;font-size:16px;line-height:1.5;color:var(--sw-body)}
.sw-list li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:2px;background:var(--sw-bolt);transform:rotate(45deg)}
.sw-list-links a{color:var(--sw-ink);font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--sw-wash)}
.sw-list-links a:hover{color:var(--sw-bolt);border-color:var(--sw-bolt)}
.sw-cell-dark .sw-cell-h .elementor-heading-title{color:#fff!important}
.sw-cell-dark .sw-body p,.sw-cell-dark .sw-body{color:#c9d4e3!important}
.sw-cell-dark .sw-body strong{color:#fff}
.sw-cell-h a{color:inherit;text-decoration:none}
.sw-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--sw-line);border-radius:16px;overflow:hidden;font-size:15.5px}
.sw-table th{background:var(--sw-ink);color:#fff;font:600 13px var(--sw-display);text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:14px 18px}
.sw-table td{padding:16px 18px;border-top:1px solid var(--sw-line);color:var(--sw-body)}
.sw-table td:not(:first-child){font-family:var(--sw-mono);color:var(--sw-ink)}
@media (max-width:767px){.sw-float{position:relative;left:auto;bottom:auto;margin-top:-30px;margin-left:16px;margin-right:16px}}

@media (max-width:1024px){.sw-facts{gap:24px}.sw-quote p{font-size:22px}}
@media (max-width:767px){
  .sw-console-note{text-align:left}.sw-feed{height:300px}
  .sw-cell{min-height:0}.sw-close{border-radius:20px}
  .sw-quote{grid-template-columns:1fr}.sw-qmark{font-size:64px}
  .sw-stops li{font-size:17px}
}
@media (prefers-reduced-motion:reduce){.sw-kicker i,.sw-ev{animation:none}.sw-route.sw-anim .sw-stops li{opacity:1;animation:none}.sw-route.sw-anim .sw-stops::before{animation:none}}

/* Header layout fixes */
.sw-topbar > .e-con-inner{justify-content:space-between!important;align-items:center}
.sw-header > .e-con-inner{gap:40px!important}
.sw-header .sw-nav{margin-left:8px}
.sw-header .elementor-nav-menu--main>.elementor-nav-menu{justify-content:center}
@media (max-width:1024px){
  .sw-header > .e-con-inner > .e-con:nth-child(2){flex-grow:1!important;align-items:flex-end!important}
  .sw-header .elementor-menu-toggle{margin-left:auto!important}
}

/* About */
.sw-statrow{display:grid;grid-template-columns:repeat(4,1fr);margin:0;background:#fff;border:1px solid var(--sw-line);border-radius:18px;overflow:hidden}
.sw-statrow div{padding:26px 28px;border-right:1px solid var(--sw-line)}
.sw-statrow div:last-child{border-right:0}
.sw-statrow dt{font:600 34px/1 var(--sw-mono);color:var(--sw-ink);letter-spacing:-.03em;white-space:nowrap}
.sw-statrow dd{margin:8px 0 0;font-size:14px;color:var(--sw-muted)}
.sw-video .elementor-wrapper{border-radius:20px;overflow:hidden;box-shadow:0 24px 50px rgba(14,28,51,.18)}
.sw-team-card{gap:4px}
.sw-team-photo img{width:100%!important;aspect-ratio:4/5;object-fit:cover;object-position:center 22%;border-radius:16px!important;border:0!important;background:var(--sw-mist);filter:saturate(.95);margin-bottom:14px}
.sw-team-role p{font-size:14px;color:var(--sw-muted);margin:0 0 10px}
.sw-bio-link a,.sw-bio-link *{font:600 13px var(--sw-display)!important;color:var(--sw-bolt)!important;text-transform:none!important;letter-spacing:0!important}
.sw-hire{background:var(--sw-mist);border-radius:16px;padding:22px 26px!important}
.sw-hire-t p{margin:0;font-size:16px;color:var(--sw-body)}
.sw-hire-t strong{color:var(--sw-ink)}
@media (max-width:767px){.sw-statrow{grid-template-columns:1fr 1fr}.sw-statrow div:nth-child(2){border-right:0}.sw-statrow div:nth-child(-n+2){border-bottom:1px solid var(--sw-line)}}

/* Mobile header: push menu toggle to the right */
@media (max-width:1024px){
  .sw-header > .e-con-inner{justify-content:space-between!important;gap:12px!important}
  .sw-header > .e-con-inner > .e-con:nth-child(2){margin-left:auto}
  .sw-header > .e-con-inner > .e-con:nth-child(3){flex-grow:0!important}
}
@media (max-width:767px){
  .sw-header > .e-con-inner > .e-con:nth-child(3){display:none!important}
  .sw-header > .e-con-inner > .e-con:nth-child(2){flex-grow:1!important}
  .sw-header .elementor-menu-toggle{margin-left:auto!important;margin-right:0!important}
}

/* Header: logo left, nav fills the middle, CTA flush right (aligned to the 1200px content edge) */
.sw-header > .e-con-inner{justify-content:space-between!important;align-items:center!important}
.sw-header > .e-con-inner > .e-con:nth-child(1){flex:0 0 auto!important;width:auto!important}
.sw-header > .e-con-inner > .e-con:nth-child(2){flex:1 1 auto!important;width:auto!important;align-items:flex-start!important}
.sw-header > .e-con-inner > .e-con:nth-child(3){flex:0 0 auto!important;width:auto!important;margin-left:auto!important}
.sw-header .elementor-nav-menu--main>.elementor-nav-menu{justify-content:flex-start!important}
.sw-header .sw-logo{line-height:0}
@media (max-width:1024px){
  .sw-header > .e-con-inner > .e-con:nth-child(2){align-items:flex-end!important}
  .sw-header .elementor-widget-nav-menu{width:auto;margin-left:auto}
}

/* Blog archive + post cards */
.sw-lede-wide p{max-width:60ch!important}
.sw-blog-chips a.is-active{border-color:var(--sw-ink);background:var(--sw-ink);color:#fff}
.sw-pc{display:flex!important;background:#fff;border:1px solid var(--sw-line);border-radius:18px;overflow:hidden;height:100%;text-decoration:none!important;transition:box-shadow .2s,transform .25s var(--sw-ease)}
.sw-pc:hover{box-shadow:0 18px 40px rgba(14,28,51,.12);transform:translateY(-4px)}
.sw-pc-img img{width:100%!important;aspect-ratio:16/9;object-fit:cover;border-radius:0!important;display:block;transition:transform .4s var(--sw-ease)}
.sw-pc:hover .sw-pc-img img{transform:scale(1.03)}
.sw-pc-img{overflow:hidden}
.sw-pc-body{flex-grow:1}
.sw-pc-cat .elementor-icon-list-items{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sw-pc-cat .elementor-icon-list-text,.sw-pc-cat a{font:600 12px var(--sw-display)!important;letter-spacing:.1em;text-transform:uppercase;color:#c4541a!important;text-decoration:none!important}
.sw-pc-title .elementor-heading-title{font:700 21px/1.25 var(--sw-display)!important;color:var(--sw-ink)!important;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sw-pc:hover .sw-pc-title .elementor-heading-title{color:var(--sw-bolt)!important}
.sw-pc-exc p,.sw-pc-exc .elementor-widget-container{font-size:15.5px!important;line-height:1.55;color:var(--sw-body)!important;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sw-pc-date{margin-top:auto!important}
.sw-pc-date .elementor-icon-list-text{font:500 13px var(--sw-mono)!important;color:var(--sw-muted)!important}
.sw-pc-date .elementor-icon-list-icon{display:none}
.sw-blog-grid .elementor-pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;font:600 15px var(--sw-display)}
.sw-blog-grid .elementor-pagination .page-numbers{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 14px;border-radius:10px;border:1.5px solid var(--sw-line);color:var(--sw-ink)!important;text-decoration:none}
.sw-blog-grid .elementor-pagination .page-numbers.current{background:var(--sw-ink);border-color:var(--sw-ink);color:#fff!important}
.sw-blog-grid .elementor-pagination a.page-numbers:hover{border-color:var(--sw-bolt);color:var(--sw-bolt)!important}

/* About hero: team mosaic */
.sw-mosaic{position:relative;display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:520px}
.sw-mosaic figure{position:relative;margin:0;border-radius:18px;overflow:hidden;background:var(--sw-mist);box-shadow:0 18px 40px rgba(14,28,51,.14)}
.sw-mosaic .sw-m0{grid-row:1 / span 2}
.sw-mosaic img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;transition:transform .5s var(--sw-ease)}
.sw-mosaic figure:hover img{transform:scale(1.04)}
.sw-mosaic figcaption{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 12px;border-radius:10px;background:rgba(10,21,38,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;line-height:1.2}
.sw-mosaic figcaption b{display:block;font:600 14px var(--sw-display)}
.sw-mosaic figcaption span{font:400 12px var(--sw-sans);color:#c9d4e3}
.sw-mosaic .sw-m0 figcaption b{font-size:17px}
.sw-mosaic-tag{position:absolute;top:-18px;right:18px;margin:0;display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--sw-line);border-radius:999px;padding:8px 14px;font:600 13px var(--sw-display);color:var(--sw-ink);box-shadow:0 10px 24px rgba(14,28,51,.1)}
.sw-mosaic-tag i{width:8px;height:8px;border-radius:50%;background:var(--sw-ok);box-shadow:0 0 0 4px rgba(30,158,106,.18)}
@media (max-width:767px){.sw-mosaic{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto}.sw-mosaic .sw-m0{grid-row:auto;grid-column:1 / span 2;aspect-ratio:4/3}.sw-mosaic figure:not(.sw-m0){aspect-ratio:4/5}}
.sw-mosaic figure:not(.sw-m0) figcaption{left:8px;right:auto;bottom:8px;padding:5px 10px;border-radius:8px}
.sw-mosaic figure:not(.sw-m0) figcaption b{font-size:12.5px;white-space:nowrap}
.sw-mosaic figure:not(.sw-m0) figcaption span{display:none}
.sw-mosaic figure:not(.sw-m0):hover figcaption span{display:block;font-size:11px;margin-top:2px}
.sw-mosaic figure:not(.sw-m0) img{object-position:center 15%}

/* About hero: equal-size team grid (replaces the big-tile mosaic) */
.sw-mosaic-even{grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(2,1fr)!important;height:auto!important;aspect-ratio:6/5}
.sw-mosaic-even .sw-m0{grid-row:auto!important}
.sw-mosaic-even figure figcaption{left:8px!important;right:auto!important;bottom:8px!important;padding:5px 10px!important;border-radius:8px!important}
.sw-mosaic-even figure figcaption b{font-size:12.5px!important;white-space:nowrap}
.sw-mosaic-even figure figcaption span{display:none!important}
.sw-mosaic-even figure:hover figcaption span{display:block!important;font-size:11px;margin-top:2px}
.sw-mosaic-even img{object-position:center 15%!important}
.sw-mosaic-card{display:flex;flex-direction:column;justify-content:space-between;padding:18px;border-radius:18px;background:var(--sw-ink);color:#fff!important;text-decoration:none!important;box-shadow:0 18px 40px rgba(14,28,51,.14);transition:background .2s}
.sw-mosaic-card:hover{background:var(--sw-soft)}
.sw-mosaic-card i{width:10px;height:10px;border-radius:50%;background:var(--sw-ok);box-shadow:0 0 0 5px rgba(30,158,106,.2)}
.sw-mosaic-card b{font:700 19px/1.2 var(--sw-display);letter-spacing:-.01em}
.sw-mosaic-card span{font:600 13px var(--sw-display);color:var(--sw-bolt-hi)}
@media (max-width:767px){.sw-mosaic-even{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:auto!important;aspect-ratio:auto}.sw-mosaic-even figure,.sw-mosaic-even .sw-m0{grid-column:auto!important;aspect-ratio:4/5!important}.sw-mosaic-card{aspect-ratio:4/5}}

/* Photo tiles open the bio popups */
.sw-bio-tile{display:block;min-height:0;border-radius:18px;text-decoration:none!important;cursor:pointer}
.sw-bio-tile figure{height:100%}
.sw-bio-tile figcaption em{display:none;font:600 11px var(--sw-display);font-style:normal;color:var(--sw-bolt-hi);margin-top:3px}
.sw-bio-tile:hover figcaption em,.sw-bio-tile:focus-visible figcaption em{display:block}
.sw-bio-tile:focus-visible{outline:3px solid var(--sw-bolt-hi);outline-offset:3px}
@media (max-width:767px){.sw-bio-tile figure{aspect-ratio:4/5}.sw-bio-tile figcaption em{display:block}}

/* Brand orange for the pulsing status dots (was green) */
@keyframes sw-pulse-orange{50%{box-shadow:0 0 0 8px rgba(232,100,28,0)}}
.sw-kicker i,.sw-mosaic-card i,.sw-mosaic-tag i{background:var(--sw-bolt)!important;box-shadow:0 0 0 4px rgba(232,100,28,.22)!important;animation:sw-pulse-orange 2s infinite!important}
.sw-float li::before{background:var(--sw-bolt)!important;box-shadow:0 0 0 3px rgba(232,100,28,.25)!important}

/* ===== Blog v3 (shared by swfit.io and bostonmit.com; only --sw-* tokens) ===== */
.sw-blog-hero .sw-archive-title .elementor-heading-title{margin:14px 0 0}
/* cards */
.sw-blog-grid .sw-pc{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.sw-blog-grid .sw-pc:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(15,23,32,.4)}
.sw-blog-grid .sw-pc-img{overflow:hidden}
.sw-blog-grid .sw-pc-img img{width:100%!important;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .5s ease}
.sw-blog-grid .sw-pc:hover .sw-pc-img img{transform:scale(1.04)}
.sw-blog-grid .sw-pc-body{flex-grow:1}
.sw-blog-grid .sw-pc-date{margin-top:auto!important}
/* featured first card, every page */
.sw-blog-feature .elementor-loop-container>.e-loop-item:first-of-type{grid-column:1/-1}
.sw-blog-feature .e-loop-item:first-of-type .sw-pc{flex-direction:row!important;min-height:380px}
.sw-blog-feature .e-loop-item:first-of-type .sw-pc-img{flex:0 0 58%;max-width:58%}
.sw-blog-feature .e-loop-item:first-of-type .sw-pc-img img{height:100%;aspect-ratio:auto;min-height:380px}
.sw-blog-feature .e-loop-item:first-of-type .sw-pc-body{padding:40px 44px!important;justify-content:center;gap:16px!important}
.sw-blog-feature .e-loop-item:first-of-type .sw-pc-title .elementor-heading-title{font-size:30px!important;line-height:1.2!important;-webkit-line-clamp:4!important}
.sw-blog-feature .e-loop-item:first-of-type .sw-pc-exc{font-size:16.5px}
@media (max-width:900px){
  .sw-blog-feature .e-loop-item:first-of-type .sw-pc{flex-direction:column!important;min-height:0}
  .sw-blog-feature .e-loop-item:first-of-type .sw-pc-img{flex:none;max-width:100%}
  .sw-blog-feature .e-loop-item:first-of-type .sw-pc-img img{min-height:0;aspect-ratio:16/9}
  .sw-blog-feature .e-loop-item:first-of-type .sw-pc-body{padding:24px!important}
  .sw-blog-feature .e-loop-item:first-of-type .sw-pc-title .elementor-heading-title{font-size:22px!important}}
/* pagination */
.sw-blog-grid .elementor-pagination{margin-top:48px;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.sw-blog-grid .elementor-pagination .page-numbers{min-width:40px;height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--sw-line);border-radius:10px;font:600 14px var(--sw-display);color:var(--sw-ink);text-decoration:none;margin:0!important}
.sw-blog-grid .elementor-pagination .page-numbers.current{background:var(--sw-ink);border-color:var(--sw-ink);color:#fff}
.sw-blog-grid .elementor-pagination a.page-numbers:hover{border-color:var(--sw-bolt);color:var(--sw-bolt)}
.sw-blog-grid .elementor-pagination .dots{border:0}

/* single post: header */
.sw-post-hero{padding-bottom:40px}
.sw-crumb{font:600 13px var(--sw-display);color:var(--sw-muted);text-decoration:none}
.sw-crumb:hover{color:var(--sw-bolt)}
.sw-crumb-sep{color:var(--sw-muted);margin-left:8px;font-size:13px}
.sw-post-cat,.sw-post-cat p{margin:0;font:700 12px var(--sw-display)!important;letter-spacing:.1em;text-transform:uppercase}
.sw-post-cat a{color:var(--sw-bolt)!important;text-decoration:none!important}
.sw-post-title .elementor-heading-title{font-size:clamp(32px,4.2vw,50px)!important;line-height:1.1!important;letter-spacing:-.025em;margin:0}
.elementor-widget.sw-post-meta,.sw-post-meta{margin:0!important;font:500 13.5px var(--sw-mono)!important;color:var(--sw-muted)}
.sw-post-meta p{margin:0}
.elementor-widget.sw-post-meta+.elementor-widget.sw-post-meta:before{content:"\00b7";margin:0 12px;color:var(--sw-muted)}
.sw-post-meta[data-readtime]:empty{display:none}
.sw-post-author:before{content:"By "}
/* single post: article */
.sw-post-img img{width:100%!important;aspect-ratio:2/1;object-fit:cover;border-radius:16px;display:block}
.sw-article{font-family:var(--sw-sans);font-size:18px;line-height:1.72;color:var(--sw-body);max-width:740px}
.sw-article p{margin:0 0 1.15em}
.sw-article h2{font:700 28px/1.25 var(--sw-display);color:var(--sw-ink);letter-spacing:-.02em;margin:1.9em 0 .6em;scroll-margin-top:120px}
.sw-article h3{font:700 20px/1.3 var(--sw-display);color:var(--sw-ink);margin:1.5em 0 .4em}
.sw-article a{color:var(--sw-bolt);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:600}
.sw-article ul,.sw-article ol{padding-left:1.25em;margin:0 0 1.2em}
.sw-article li{margin:.35em 0}
.sw-article li::marker{color:var(--sw-bolt)}
.sw-article strong{color:var(--sw-ink)}
.sw-article img{border-radius:12px;height:auto}
.sw-article blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid var(--sw-bolt);font-style:normal;color:var(--sw-ink)}
.sw-article>.elementor-widget-container>ul:first-of-type,.sw-article>ul:first-of-type{list-style:none;padding:22px 26px;margin:1.4em 0 1.6em;background:var(--sw-mist);
  border:1px solid var(--sw-line);border-radius:14px;font-size:16.5px}
.sw-article>.elementor-widget-container>ul:first-of-type li,.sw-article>ul:first-of-type li{position:relative;padding-left:26px;margin:.5em 0}
.sw-article>.elementor-widget-container>ul:first-of-type li:before,.sw-article>ul:first-of-type li:before{content:"";position:absolute;left:2px;top:.62em;width:10px;height:10px;
  border-radius:3px;background:var(--sw-bolt)}
/* author + nav */
.sw-author .elementor-author-box{padding:26px;border:1px solid var(--sw-line);border-radius:16px;background:#fff;gap:20px;align-items:flex-start}
.sw-author .elementor-author-box__avatar img{width:72px!important;height:72px!important;border-radius:50%}
.sw-author .elementor-author-box__name{font:700 18px var(--sw-display)!important;color:var(--sw-ink)!important;margin:0 0 6px!important}
.sw-author .elementor-author-box__name:before{content:"Written by";display:block;font:600 11px var(--sw-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sw-muted);margin-bottom:4px}
.sw-author .elementor-author-box__bio{font:400 15px/1.6 var(--sw-sans)!important;color:var(--sw-body)}
.sw-postnav .elementor-post-navigation{gap:16px;border:0!important}
.sw-postnav .elementor-post-navigation>div{flex:1;border:1px solid var(--sw-line);border-radius:14px;padding:18px 20px;background:#fff}
.sw-postnav .elementor-post-navigation__separator-wrapper{display:none}
.sw-postnav .post-navigation__prev--label,.sw-postnav .post-navigation__next--label{font:600 11.5px var(--sw-mono)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--sw-muted)!important}
.sw-postnav .post-navigation__prev--title,.sw-postnav .post-navigation__next--title{font:700 15.5px/1.35 var(--sw-display)!important;color:var(--sw-ink)!important;white-space:normal!important}
.sw-postnav a:hover .post-navigation__prev--title,.sw-postnav a:hover .post-navigation__next--title{color:var(--sw-bolt)!important}
/* sidebar */
.sw-post-side{position:sticky!important;top:110px}
.sw-toc{border-left:2px solid var(--sw-line);padding:2px 0 2px 18px}
.sw-toc p{margin:0 0 12px;font:600 11.5px var(--sw-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sw-muted)}
.sw-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:t}
.sw-toc li{counter-increment:t;display:flex;gap:10px;font:600 14px/1.4 var(--sw-display)}
.sw-toc li:before{content:counter(t,decimal-leading-zero);font:500 12px/1.7 var(--sw-mono);color:var(--sw-muted)}
.sw-toc a{color:var(--sw-body);text-decoration:none}
.sw-toc a:hover,.sw-toc a.is-active{color:var(--sw-bolt)}
.sw-side-cta{background:var(--sw-ink)!important;border-radius:16px}
.sw-side-cta .sw-cell-h .elementor-heading-title{color:#fff!important;font-size:20px!important}
.sw-side-cta .sw-body p{color:rgba(255,255,255,.75)!important;font-size:15px}
@media (max-width:1024px){.sw-post-side{position:static!important}.sw-toc{display:none}}
.sw-post-hero .elementor-widget.sw-post-meta{width:auto!important;max-width:none!important;flex:0 0 auto!important}
.bm-dark .sw-post-meta,.bm-dark .sw-crumb,.bm-dark .sw-crumb-sep{color:#9aa7b3!important}
.bm-dark .sw-post-cat a{color:var(--sw-bolt-hi)!important}
.elementor-widget.sw-post-meta{display:inline-flex!important;align-items:center}
.sw-post-meta[data-readtime]:not(:empty):before{content:"\00b7";margin:0 12px}
.sw-postnav .elementor-post-navigation>div:not(:has(a)){visibility:hidden}
.sw-side-cta .sw-kicker,.sw-side-cta .bm-stat{color:rgba(255,255,255,.85)!important;border-color:rgba(255,255,255,.18)!important}

/* ===== Pricing calculator (SWFIT): contrast + same-tab quote (ported from BMIT 2026-10-01) */
/* Pricing calculator (cyber-harbor-pricing-calculator plugin): readable type on BMIT fonts */
.chpc{--text-muted:#4b5a68;--text-primary:#0e1c33;--brand:#c4541a;font-family:"Public Sans",system-ui,sans-serif!important;font-size:16px!important;color:#0e1c33}
.chpc *:not(.chpc-total-value){font-family:inherit}
.chpc h2,.chpc h3,.chpc h4,.chpc .chpc-step-title,.chpc .chpc-panel-title,.chpc .chpc-sub-heading,.chpc .chpc-total-label{font-family:"Poppins",system-ui,sans-serif!important;color:#0e1c33}
.chpc .chpc-step-title{font-size:22px!important;font-weight:700!important;letter-spacing:-.01em}
.chpc .chpc-step-subtitle,.chpc .chpc-field-hint,.chpc .chpc-muted,.chpc .chpc-phase-desc,.chpc .chpc-disclaimer,.chpc .chpc-consult-note,.chpc .chpc-backup-detail{font-size:14px!important;line-height:1.5!important;color:#4b5a68!important}
.chpc label,.chpc .chpc-checkbox-label,.chpc .chpc-field,.chpc .chpc-estimate-row,.chpc .chpc-check-row{font-size:15px!important;color:#1f2a35}
.chpc input,.chpc select{font-size:16px!important;font-family:inherit!important;color:#0e1c33!important}
.chpc .chpc-total-value{font-family:"IBM Plex Mono",monospace!important;color:#c4541a!important}
.chpc .chpc-badge{font-size:12px!important}
.chpc .chpc-btn{font-family:"Poppins",system-ui,sans-serif!important;font-size:15px!important;font-weight:600!important}
.chpc .chpc-btn-primary{background:#e8641c!important;color:#ffffff!important;border-color:#e8641c!important}
.chpc .chpc-model-tab.active{background:#0e1c33!important;color:#fff!important;border-color:#0e1c33!important}

/* calculator: calmer type, sticky estimate */
.chpc .chpc-btn,.chpc .chpc-model-tab{letter-spacing:0!important;text-transform:none!important}
.chpc .chpc-panel-title{font:700 20px "Poppins",system-ui,sans-serif!important;letter-spacing:-.01em!important;text-transform:none!important}
.chpc .chpc-panel{position:sticky;top:110px;align-self:flex-start}
.chpc .chpc-model-tab:not(.active){background:#fff!important;color:#0e1c33!important;border:1px solid #d5dce3!important}

/* Pricing calculator v2: contrast (Nick: "too washed out") */
.chpc,.chpc p,.chpc span,.chpc label,.chpc li,.chpc div{font-weight:400}
.chpc{background:transparent!important}
.chpc .chpc-layout{background:transparent!important;padding:0!important}
.chpc .chpc-step{background:#fff!important;border:1px solid #d5dce3!important;border-radius:16px!important;box-shadow:0 1px 2px rgba(15,23,32,.04)}
.chpc .chpc-step-subtitle,.chpc .chpc-field-hint,.chpc .chpc-muted,.chpc .chpc-phase-desc,.chpc .chpc-consult-note,.chpc .chpc-backup-detail{color:#33404d!important}
.chpc label,.chpc .chpc-checkbox-label,.chpc .chpc-field label{font-weight:600!important;color:#0e1c33!important}
.chpc .chpc-project-estimate,.chpc .chpc-callout{background:#fdf3ec!important;border:1px solid #f6d6c2!important;border-radius:12px!important;color:#0e1c33!important}
.chpc .chpc-project-estimate *{color:#0e1c33!important;font-size:15px!important}
.chpc .chpc-project-estimate strong,.chpc .chpc-project-estimate b{color:#c4541a!important;font-weight:700!important}
.chpc input,.chpc select{border:1px solid #c3ccd5!important;border-radius:10px!important;background:#fff!important}
/* estimate panel: dark, like the site's technical cards */
.chpc .chpc-panel{background:#0e1c33!important;border:1px solid #0e1c33!important;border-radius:18px!important;color:#e6ebef!important;box-shadow:0 30px 60px -36px rgba(15,23,32,.55)}
.chpc .chpc-panel-inner{background:transparent!important}
.chpc .chpc-panel *{border-color:#2b3f5c!important}
.chpc .chpc-panel .chpc-panel-title{color:#fff!important}
.chpc .chpc-panel .chpc-estimate-row,.chpc .chpc-panel .chpc-estimate-row span{color:#c3cad1!important;font-size:15px!important}
.chpc .chpc-panel .chpc-estimate-row span:last-child{color:#fff!important;font-family:"IBM Plex Mono",monospace!important}
.chpc .chpc-panel .chpc-total-label{color:#8a949e!important;font:500 12px "IBM Plex Mono",monospace!important;letter-spacing:.08em!important}
.chpc .chpc-panel .chpc-total-value{color:#f07c33!important;font-weight:600!important}
.chpc .chpc-panel .chpc-total-unit{color:#8a949e!important}
.chpc .chpc-panel .chpc-disclaimer{color:#8a949e!important;font-style:normal!important}
.chpc .chpc-panel .chpc-btn,.chpc .chpc-blueprint-toggle{width:100%!important;justify-content:center;border-radius:10px!important;padding:13px 18px!important;letter-spacing:0!important;text-transform:none!important}
.chpc .chpc-panel .chpc-btn-primary{background:#e8641c!important;color:#ffffff!important;border:0!important}
.chpc .chpc-panel .chpc-btn-ghost,.chpc .chpc-blueprint-toggle{background:transparent!important;color:#fff!important;border:1px solid #3a4f6c!important}
.chpc .chpc-panel .chpc-btn-ghost:hover,.chpc .chpc-blueprint-toggle:hover{border-color:#f07c33!important;color:#f07c33!important}
.chpc .chpc-panel .chpc-blueprint-body,.chpc .chpc-panel .chpc-phases *{color:#c3cad1!important}
.chpc .chpc-panel input{background:#14263f!important;color:#fff!important;border-color:#2b3f5c!important}

/* ===== Compare pages (SWFIT, 2026-10-01) */
.swc-card{background:#fff!important}
.swc-hi{background:var(--sw-ink)!important;border-color:var(--sw-ink)!important}
.swc-hi .sw-cell-h .elementor-heading-title{color:#fff!important}
.swc-checks{list-style:none;margin:6px 0 0;padding:14px 0 0;border-top:1px solid var(--sw-line);display:grid;gap:10px}
.swc-hi .swc-checks{border-color:rgba(255,255,255,.14)}
.swc-checks li{position:relative;padding-left:24px;font-size:15.5px;line-height:1.5;color:#1e2b3d}
.swc-hi .swc-checks li{color:#d5deea}
.swc-checks li:before{content:"";position:absolute;left:0;top:.35em;width:14px;height:14px;border-radius:50%;background:var(--sw-wash) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23c4541a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat}
.swc-table table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--sw-line);border-radius:12px;overflow:hidden;font-size:15.5px;background:#fff}
.swc-table th,.swc-table td{padding:13px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--sw-line);color:#1e2b3d}
.swc-table th{background:var(--sw-ink);color:#fff;font:600 14px var(--sw-display)}
.swc-table th:nth-child(2){background:var(--sw-bolt)}
.swc-table td:nth-child(2){background:#fdf6f1;font-weight:600}
.swc-table td:first-child{width:22%;color:var(--sw-muted);font:500 12.5px var(--sw-mono);text-transform:uppercase;letter-spacing:.04em}
.swc-table tr:last-child td{border-bottom:0}
.swc-note{margin-top:24px;padding:18px 20px;border-left:3px solid var(--sw-bolt);background:#fff;border-radius:0 12px 12px 0}
.swc-note span{display:block;font:500 11.5px var(--sw-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sw-muted);margin-bottom:6px}
.swc-note p{margin:0;font-size:15.5px;color:#33435a;line-height:1.55}
.swc-note ul{margin:8px 0 0;padding-left:18px;font-size:14.5px}
.swc-note a{color:var(--sw-bolt-dark,#c4541a);font-weight:600}
.swc-tag{display:inline-block;margin:0;font:500 11.5px var(--sw-mono);letter-spacing:.08em;text-transform:uppercase;color:#c4541a;background:var(--sw-wash);padding:5px 10px;border-radius:999px}
.swc-tile{background:#fff!important;transition:transform .2s,border-color .2s}
.swc-tile:hover{transform:translateY(-3px);border-color:var(--sw-bolt)!important}
.swc-lnk{font:600 14px var(--sw-display);color:#c4541a;border-bottom:1px solid rgba(196,84,26,.35)}
@media (max-width:767px){.swc-table{overflow-x:auto}}
.swc-table th:nth-child(3){background:var(--sw-ink)!important;color:#fff!important}
/* >>> leadforms */
/* ===== Lead forms + calculator email estimate (SWFIT, ported from BMIT 2026-10-01) */
.bm-lf{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.bm-lf label{display:block;font:600 13px var(--sw-sans);color:var(--sw-ink,#1a2129)}
.bm-lf label span{font-weight:400;color:var(--sw-muted,#5b6670)}
.bm-lf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bm-lf input,.bm-lf textarea{display:block;margin-top:5px!important;width:100%;box-sizing:border-box;border:1px solid #d5dbe0!important;border-radius:8px!important;background:#f7f9fa!important;padding:11px 12px!important;font:400 15px var(--sw-sans)!important;color:#1a2129!important;transition:border-color .15s,background .15s}
.bm-lf textarea{resize:vertical;min-height:84px}
.bm-lf input:focus,.bm-lf textarea:focus{outline:0;border-color:var(--sw-bolt)!important;background:#fff!important;box-shadow:0 0 0 3px rgba(232,100,28,.18)}
.bm-lf .is-bad{border-color:#c2410c!important;background:#fff7ed!important}
.bm-lf-btn,.bm-lf-btn:focus,.bm-lf-btn:active{margin-top:4px;background:var(--sw-bolt)!important;color:#fff!important;border:0!important;border-radius:8px;font:700 16px var(--sw-display);padding:14px 20px;cursor:pointer;transition:background .15s}
.bm-lf-btn:hover{background:var(--sw-bolt-hi)!important}.bm-lf-btn:focus-visible{outline:2px solid var(--sw-ink);outline-offset:2px}.bm-lf-btn:disabled{opacity:.7;cursor:wait}
.bm-lf-err{margin:0;color:#c2410c;font-size:14px}
.bm-lf-fine{margin:0;font-size:13px;color:var(--sw-muted,#5b6670);text-align:center}
.bm-lf-ai{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.bm-lf-done{display:flex;flex-direction:column;gap:6px}
.bm-lf-ok{margin:0;font-weight:700;color:var(--sw-ok)}.bm-lf-next{margin:0;color:var(--sw-ink,#1a2129)}
.bm-lf-cal{width:100%;height:640px;border:0;border-radius:10px;background:#fff;margin-top:6px}
@media (max-width:520px){.bm-lf-row{grid-template-columns:1fr}.bm-lf-cal{height:720px}}
/* Pricing calculator: email-this-estimate form (bm.js) */
.chpc-email-form.bm-est{display:flex!important;flex-direction:column;gap:8px;margin-top:10px}
.chpc-email-form.bm-est[hidden]{display:none!important}
.bm-est input{width:100%!important;box-sizing:border-box;background:#0b1117!important;border:1px solid #2a3540!important;border-radius:8px!important;color:#e8eef2!important;padding:11px 12px!important;font:400 15px var(--sw-sans)!important;min-width:0}
.bm-est input::placeholder{color:#7d8a95}
.bm-est input:focus{outline:0;border-color:var(--sw-bolt)!important;box-shadow:0 0 0 3px rgba(232,100,28,.2)}
.bm-est input.is-bad{border-color:#f97316!important}
.bm-est .bm-est-send{width:100%}
.bm-est-msg{margin:0;color:#fdba74;font-size:13px}
.bm-est-ok{margin:0;color:#7ee2a8;font-size:14px;line-height:1.45}

:root,html{color-scheme:only light}
.bm-lf-btn,.bm-est .bm-est-send{letter-spacing:normal!important;white-space:normal!important;text-transform:none!important;line-height:1.3!important}
/* <<< leadforms */
/* >>> breakfix */
.swc-faq{display:flex;flex-direction:column;gap:10px;max-width:880px}
.swc-faq details{background:#fff;border:1px solid var(--sw-line);border-radius:14px;padding:0 22px}
.swc-faq summary{cursor:pointer;list-style:none;padding:20px 28px 20px 0;font:600 17px var(--sw-display);color:var(--sw-ink);position:relative}
.swc-faq summary::-webkit-details-marker{display:none}
.swc-faq summary::after{content:"+";position:absolute;right:0;top:16px;font:500 24px var(--sw-display);color:var(--sw-bolt)}
.swc-faq details[open] summary{color:var(--sw-bolt)}.swc-faq details[open] summary::after{content:"2"}
.swc-faq p{margin:0 0 20px;font-size:16px;line-height:1.6;color:var(--sw-body)}
/* <<< breakfix */
/* >>> itiles */
.bm-igrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.bm-itile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:3px;align-items:center;padding:16px 18px;
  background:#fff;border:1px solid var(--sw-line);border-radius:14px;text-decoration:none!important;transition:transform .2s,border-color .2s,box-shadow .2s}
.bm-itile:hover{transform:translateY(-2px);border-color:var(--sw-bolt);box-shadow:0 14px 30px -22px rgba(14,28,51,.4)}
.bm-itile .bm-cico{grid-row:1 / span 2;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--sw-wash);color:var(--sw-bolt)}
.bm-itile b{font:600 15.5px/1.25 var(--sw-display);color:var(--sw-ink)}
.bm-itile small{font:500 11.5px/1.35 var(--sw-mono);color:var(--sw-muted);letter-spacing:.01em}
.bm-itile-all{background:var(--sw-ink);border-color:var(--sw-ink);grid-template-columns:1fr auto;position:relative}
.bm-itile-all b{color:#fff}.bm-itile-all small{color:#9fb0c8}
.bm-iarrow{grid-row:1 / span 2;grid-column:2;color:var(--sw-bolt-hi);font-size:22px}
@media (max-width:1024px){.bm-igrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.bm-igrid{grid-template-columns:1fr}}
/* <<< itiles */
