/*
Theme Name: Tari Smart Solutions
Theme URI: https://example.com/tari-smart-solutions
Author: Tari Smart Solutions
Description: A Bootstrap-powered WordPress theme for a smart technology and IT solutions company.
Version: 1.0.0
Text Domain: tari-smart-solutions
*/

:root { --ink: #071526; --navy: #0b2342; --blue: #1264f3; --cyan: #21d6ef; --mist: #eaf2ff; --muted: #60718a; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; background: #fff; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
a { text-decoration: none; }
.site-header { background: rgba(7,21,38,.96); backdrop-filter: blur(16px); }
.navbar { min-height: 82px; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(135deg, var(--cyan), var(--blue)); color: #06162b; font-weight: 900; }
.navbar-brand { letter-spacing: -.04em; font-weight: 800; }
.navbar .nav-link { color: #cfddf2; font-size: .94rem; font-weight: 600; padding: .65rem 0; }
.navbar .nav-link:hover, .navbar .nav-link:focus { color: #fff; }
.btn-primary { --bs-btn-bg: var(--blue); --bs-btn-border-color: var(--blue); --bs-btn-hover-bg: #0957dd; --bs-btn-hover-border-color: #0957dd; border-radius: 10px; font-weight: 700; }
.hero { position: relative; isolation: isolate; overflow: hidden; padding: 7.5rem 0 6.5rem; color: white; background: radial-gradient(circle at 88% 30%, #123f76 0, #091d39 30%, #071526 72%); }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(48,185,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(48,185,255,.07) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to right, black 0%, transparent 70%); }
.hero-copy { max-width: 650px; }
.eyebrow { color: var(--cyan); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hero h1 { margin: .65rem 0 1.25rem; font-size: clamp(2.8rem, 6vw, 5.2rem); line-height: .98; letter-spacing: -.065em; font-weight: 800; }
.hero p { max-width: 530px; color: #c5d5eb; font-size: 1.14rem; line-height: 1.7; }
.hero-art { position: absolute; width: min(57vw, 860px); right: -8vw; bottom: -17%; z-index: -1; opacity: .88; mix-blend-mode: screen; pointer-events: none; }
.stat-row { border-top: 1px solid rgba(255,255,255,.17); margin-top: 4rem; padding-top: 1.7rem; }
.stat-value { font-weight: 800; font-size: 1.55rem; letter-spacing: -.04em; }.stat-label { color: #9cb2cf; font-size: .83rem; }
.section { padding: 6rem 0; content-visibility: auto; contain-intrinsic-size: 760px; }.section-soft { position: relative; overflow: hidden; background: #f4f8ff; }.section-soft::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(circle at 18% 22%, rgba(18,100,243,.12) 0 2px, transparent 2.5px), radial-gradient(circle at 80% 72%, rgba(33,214,239,.13) 0 2px, transparent 2.5px); background-size: 28px 28px, 34px 34px; mask-image: linear-gradient(120deg, transparent, black 32%, transparent 74%); }.section-soft .container { position: relative; }.section-title { max-width: 650px; font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.055em; line-height: 1.03; font-weight: 800; }
.section-lead { color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
.service-card { position: relative; overflow: hidden; height: 100%; padding: 2rem; border: 1px solid #dce7f6; border-radius: 18px; background: white; transition: transform .2s ease, box-shadow .2s ease; }.service-card::after { content: ""; position: absolute; width: 130px; height: 130px; right: -55px; bottom: -55px; border: 1px solid rgba(18,100,243,.18); border-radius: 50%; box-shadow: 0 0 0 20px rgba(33,214,239,.05), 0 0 0 42px rgba(18,100,243,.035); }.service-card:hover { transform: translateY(-5px); box-shadow: 0 18px 42px rgba(20,59,108,.1); }
.service-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #e7f4ff; color: #0964eb; font-size: 1.3rem; }.service-card h3 { margin-top: 1.4rem; font-size: 1.15rem; font-weight: 800; }.service-card p { color: var(--muted); line-height: 1.65; margin-bottom: 0; }
.solution-panel { position: relative; overflow: hidden; padding: 2.75rem; border-radius: 24px; color: #fff; background: linear-gradient(135deg, #092140, #0d4aa0); }.solution-panel::before { content: ""; position: absolute; width: 420px; height: 420px; top: -230px; right: -80px; border-radius: 50%; border: 1px solid rgba(114,233,255,.48); box-shadow: 0 0 0 35px rgba(114,233,255,.06), 0 0 0 80px rgba(114,233,255,.035); }.solution-panel > * { position: relative; }.solution-panel p { color: #c8dcf9; }.check-list { margin: 1.5rem 0 0; padding: 0; list-style: none; }.check-list li { margin-bottom: .9rem; color: #dcecff; }.check-list i { color: var(--cyan); margin-right: .65rem; }
.process-item { position: relative; padding: 1.6rem 1.3rem; border-top: 2px solid #bbd6ff; }.process-number { color: var(--blue); font-size: .78rem; font-weight: 800; letter-spacing: .1em; }.process-item h3 { margin-top: .6rem; font-size: 1.15rem; font-weight: 800; }.process-item p { color: var(--muted); font-size: .94rem; }
.smart-home-section { background: linear-gradient(180deg, #fff 0%, #edf6ff 100%); }.smart-home-demo { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(270px, .75fr); gap: 1rem; padding: 1rem; border: 1px solid #cfe1fa; border-radius: 24px; background: rgba(255,255,255,.7); box-shadow: 0 22px 55px rgba(25,72,134,.1); }.home-plan { overflow: hidden; border-radius: 18px; background: #09213d; color: #fff; }.home-plan-header { display: flex; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.3rem; border-bottom: 1px solid rgba(255,255,255,.12); font-weight: 700; }.plan-status { color: #a8d5ff; font-size: .8rem; font-weight: 600; }.plan-status i { color: #41f0b6; font-size: .6rem; vertical-align: 1px; }.rooms-grid { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 360px; }.room { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 1.3rem; border: 1px solid rgba(180,218,255,.15); color: #d8e8ff; text-align: left; background: linear-gradient(145deg, rgba(24,71,119,.55), rgba(9,33,61,.2)); transition: background .22s ease, box-shadow .22s ease, transform .22s ease; }.room:hover, .room:focus-visible, .room.is-active { z-index: 1; outline: none; background: linear-gradient(145deg, rgba(25,113,202,.72), rgba(13,59,105,.68)); box-shadow: inset 0 0 0 2px #35d9f5, 0 0 34px rgba(29,203,239,.24); }.room.is-lit { background: radial-gradient(circle at 68% 40%, rgba(113,234,255,.4), transparent 26%), linear-gradient(145deg, rgba(25,113,202,.7), rgba(13,59,105,.68)); }.room-label { font-weight: 750; }.room-icon { margin: auto; color: #b9efff; font-size: 3.1rem; filter: drop-shadow(0 0 14px rgba(42,225,255,.65)); }.room-state { color: #aac9e9; font-size: .82rem; }.home-controls { padding: .75rem; }.control-heading { display: flex; justify-content: space-between; align-items: baseline; padding: .35rem .35rem 1rem; font-size: .95rem; font-weight: 800; }.control-heading small { color: var(--muted); font-size: .72rem; font-weight: 600; }.home-control { display: flex; align-items: center; width: 100%; gap: .8rem; padding: .8rem; border: 0; border-radius: 13px; color: var(--ink); text-align: left; background: transparent; transition: background .2s ease; }.home-control:hover, .home-control:focus-visible { outline: none; background: #e7f2ff; }.control-glyph { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 11px; color: #0964eb; background: #dceeff; }.home-control strong, .home-control small { display: block; }.home-control strong { font-size: .9rem; }.home-control small { color: var(--muted); font-size: .75rem; }.home-control .bi-chevron-right { margin-left: auto; color: #7a8ca5; }.toggle { width: 37px; height: 22px; margin-left: auto; border-radius: 999px; background: #bbc9da; transition: background .2s ease; }.toggle::after { content: ""; display: block; width: 16px; height: 16px; margin: 3px; border-radius: 50%; background: #fff; transition: transform .2s ease; }.home-control.is-on .toggle { background: #0e70f5; }.home-control.is-on .toggle::after { transform: translateX(15px); }.climate-slider { display: flex; align-items: center; gap: .6rem; padding: .15rem .7rem .8rem 3.2rem; color: #718199; font-size: .7rem; }.climate-slider input { flex: 1; accent-color: #0e70f5; }.scene-button { width: 100%; margin-top: .55rem; padding: .8rem; border: 1px solid #aad0ff; border-radius: 12px; color: #0754c2; font-size: .84rem; font-weight: 800; background: #eff7ff; }.scene-button:hover, .scene-button:focus-visible { outline: none; color: #fff; background: #0e70f5; border-color: #0e70f5; }
.rooms-grid { grid-template-areas: "living kitchen" "living bedroom" "entry bedroom"; grid-template-columns: 1.15fr .85fr; grid-template-rows: 1fr 1fr .72fr; min-height: 390px; }.room-living { grid-area: living; }.room-kitchen { grid-area: kitchen; }.room-bedroom { grid-area: bedroom; }.room-entry { grid-area: entry; }.switch-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .45rem; margin: 0 .25rem .7rem; }.light-switch { display: grid; grid-template-columns: 19px 1fr auto; align-items: center; gap: .35rem; padding: .62rem; border: 1px solid #d6e3f4; border-radius: 11px; color: #647590; font-size: .72rem; font-weight: 750; background: #fff; }.light-switch em { color: #8494a8; font-size: .65rem; font-style: normal; }.light-switch.is-on { color: #075bd3; border-color: #9ed8ff; background: #eff9ff; }.light-switch.is-on i, .light-switch.is-on em { color: #0e70f5; }.light-summary { margin-left: auto; }
.smart-home-demo { grid-template-columns: 54px minmax(0,1.4fr) minmax(270px,.75fr); background: #08131c; border-color: #183345; }.floor-nav { display: flex; flex-direction: column; gap: .7rem; padding: .35rem; border-right: 1px solid #1d3b4d; }.floor-nav button { width: 39px; height: 39px; border: 0; clip-path: polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%); color: #7da1b9; background: #112838; }.floor-nav button:hover, .floor-nav button.is-active { color: #d9faff; background: #0f90ba; filter: drop-shadow(0 0 10px rgba(29,209,244,.45)); }.home-plan { position: relative; }.live-strip { display: flex; gap: .9rem; flex-wrap: wrap; padding: 0 .8rem .7rem; color: #9cb7c9; font-size: .67rem; }.live-strip i { color: #30e8b0; margin-right: .2rem; }.camera-card { display: none; position: absolute; z-index: 4; right: 1rem; bottom: 1rem; width: 205px; min-height: 120px; padding: .7rem; border: 1px solid rgba(127,236,255,.7); border-radius: 9px; color: #e7fbff; background: linear-gradient(145deg,rgba(29,71,87,.94),rgba(10,24,34,.98)), repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 5px); box-shadow: 0 16px 32px rgba(0,0,0,.35); }.camera-card.is-visible { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; }.camera-card > .bi { align-self: center; color: #80efff; font-size: 2rem; }.camera-card small { color: #a8c2d1; font-size: .65rem; }.camera-live { color: #fff; font-size: .63rem; font-weight: 800; letter-spacing: .07em; }.camera-live i { color: #ff4f68; font-size: .5rem; }.home-controls { border-radius: 16px; background: #fff; }.home-plan-header { padding-bottom: .45rem; }
.home-plan { min-height: 510px; background: #1f2529; }.isometric-floorplan { position: absolute; inset: 48px 0 0; width: 100%; height: calc(100% - 48px); object-fit: cover; object-position: center; opacity: .86; }.home-plan-header, .live-strip { position: relative; z-index: 3; background: rgba(8,19,28,.9); }.rooms-grid { position: absolute; z-index: 2; inset: 88px 9% 5% 9%; padding: 0; background: transparent; }.room { opacity: 0; }.room:hover, .room:focus-visible, .room.is-active { opacity: 1; background: rgba(32,212,238,.14); box-shadow: inset 0 0 0 2px #35d9f5, 0 0 34px rgba(29,203,239,.24); }.room.is-lit { opacity: 1; background: radial-gradient(circle at 50% 50%, rgba(255,230,99,.65), rgba(255,230,99,.08) 54%, transparent 72%); box-shadow: 0 0 28px rgba(255,200,48,.48); }.room.is-lit .room-icon, .room.is-lit .room-label, .room.is-lit .room-state { opacity: 0; }.room::after, .room::before { display: none; }
.rooms-grid { display: block; inset: 88px 0 0; min-height: 0; background: transparent; }.room { position: absolute; display: grid; place-items: center; width: 54px; height: 54px; padding: 0; border: 0; border-radius: 50%; background: transparent; opacity: 1; box-shadow: none; }.room-living { left: 30%; top: 44%; }.room-kitchen { left: 52%; top: 33%; }.room-bedroom { left: 62%; top: 56%; }.room-entry { left: 40%; top: 68%; }.room:hover, .room:focus-visible, .room.is-active { background: transparent; box-shadow: none; }.room.is-lit { background: transparent; box-shadow: none; }.room-icon { position: relative; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; margin: 0; border: 2px solid #e6c45b; border-radius: 50%; color: #fff2ad; font-size: 1.05rem; background: #dc9e00; filter: drop-shadow(0 0 13px rgba(255,194,24,.95)); }.room.is-lit .room-icon { opacity: 1; color: #fff9d4; background: #e6aa06; filter: drop-shadow(0 0 20px rgba(255,206,45,1)); }.room:not(.is-lit) .room-icon { color: #c8d4d9; border-color: #91a2aa; background: #3e515d; filter: none; }.room-label { display: block; position: absolute; top: 48px; left: 50%; transform: translateX(-50%); width: max-content; color: #fff; font-size: .62rem; letter-spacing: .05em; text-shadow: 0 1px 4px #000; }.room-state { display: none; }.room::after, .room::before { display: none; }
.home-plan { padding: .55rem; background: #24313a; }.home-plan-header { padding: .7rem .8rem 1rem; border: 0; }.rooms-grid { gap: .45rem; padding: .45rem; border-radius: 15px; background: repeating-linear-gradient(0deg, rgba(48,66,75,.07) 0 1px, transparent 1px 32px), repeating-linear-gradient(90deg, rgba(48,66,75,.07) 0 1px, transparent 1px 32px), #dfe7e6; }.room { overflow: hidden; align-items: center; justify-content: center; padding: 1rem; border: 3px solid #526069; border-radius: 4px; color: #25333a; background: #f7f8f5; box-shadow: 0 2px 0 rgba(26,40,48,.13); }.room::before { content: ""; position: absolute; width: 56px; height: 56px; right: -13px; bottom: -13px; border: 2px solid rgba(43,61,70,.13); border-radius: 50%; }.room:hover, .room:focus-visible, .room.is-active { color: #25333a; background: #fff; box-shadow: inset 0 0 0 2px #45c9e1, 0 0 0 2px rgba(68,215,239,.35); }.room.is-lit { background: radial-gradient(circle at 50% 47%, rgba(255,247,186,.98) 0 18%, rgba(255,232,112,.58) 19%, rgba(255,248,205,.15) 54%, transparent 72%), #f6f4dd; box-shadow: inset 0 0 34px rgba(255,201,36,.5), 0 2px 0 rgba(26,40,48,.13); }.room-label { position: absolute; top: .7rem; left: .75rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }.room-icon { margin: 0; color: #697a82; font-size: 3.3rem; filter: none; transition: color .2s ease, filter .2s ease; }.room.is-lit .room-icon { color: #da9d00; filter: drop-shadow(0 0 8px rgba(255,180,0,.52)); }.room-state { position: absolute; bottom: .7rem; left: .75rem; color: #65747b; font-size: .72rem; }.room.is-lit .room-state { color: #876513; }.room::after { content: ""; position: absolute; right: .7rem; top: .7rem; width: 13px; height: 13px; border: 2px solid #78909a; border-radius: 50%; background: #fff; }.room.is-lit::after { border-color: #e29c00; background: #ffe684; box-shadow: 0 0 11px #ffca28; }.home-plan-header small { color: #9fb4c2; font-size: .7rem; font-weight: 500; }.plan-status { padding: .35rem .55rem; border-radius: 999px; color: #d7f8ee; font-size: .68rem; background: rgba(45,183,139,.15); }
.cta { overflow: hidden; position: relative; border-radius: 24px; padding: 4rem; color: #fff; background: #071b35; }.cta::after { content: ""; position: absolute; width: 390px; height: 390px; border-radius: 50%; top: -220px; right: -100px; background: radial-gradient(circle, rgba(33,214,239,.55), transparent 67%); }.cta h2 { max-width: 590px; position: relative; z-index: 1; font-weight: 800; letter-spacing: -.055em; }.cta p { position: relative; z-index: 1; max-width: 540px; color: #b9cdea; }
.site-footer { padding: 3.5rem 0 2rem; color: #aac0dc; background: #061222; }.footer-title { color: #fff; font-weight: 800; }.footer-link { color: #aac0dc; }.footer-link:hover { color: var(--cyan); }.footer-rule { border-color: rgba(255,255,255,.12); }
@media (max-width: 991px) {
  .hero { min-height: auto; padding-top: 5.5rem; }
  .hero-art { opacity: .3; width: 900px; right: -300px; }
  .navbar-collapse { padding: .6rem 0 1.1rem; }
  .navbar .nav-link { padding: .7rem 0; }
  .navbar .btn { display: inline-flex; margin-top: .65rem; }
  .cta { padding: 2.5rem; }
  .smart-home-demo { grid-template-columns: 1fr; }
  .floor-nav { flex-direction: row; border-right: 0; border-bottom: 1px solid #1d3b4d; }.floor-nav button { flex: 0 0 39px; }
}

/* Actual lighting state: the plan is dim by default and only switched-on rooms reveal brightness. */
.home-plan::before { content: ""; position: absolute; z-index: 2; inset: 88px 0 0; pointer-events: none; background: rgba(3,8,12,.58); }
.rooms-grid { z-index: 3; }.room { background: transparent !important; mix-blend-mode: normal; }.room.is-lit { background: radial-gradient(ellipse at center, rgba(255,236,159,.22) 0%, rgba(255,218,82,.08) 38%, transparent 77%) !important; backdrop-filter: brightness(2.25) saturate(1.16) contrast(1.04); -webkit-backdrop-filter: brightness(2.25) saturate(1.16) contrast(1.04); mask-image: radial-gradient(ellipse at center, #000 18%, rgba(0,0,0,.96) 48%, transparent 92%); -webkit-mask-image: radial-gradient(ellipse at center, #000 18%, rgba(0,0,0,.96) 48%, transparent 92%); }.room-bedroom.is-lit, .room-entry.is-lit, .room-garage.is-lit { background: radial-gradient(ellipse at center, rgba(255,236,159,.2) 0%, rgba(255,218,82,.07) 42%, transparent 80%) !important; }
@media (max-width: 575px) {
  .navbar { min-height: 70px; }
  .brand-mark { width: 34px; height: 34px; border-radius: 10px; }
  .hero { padding: 4.5rem 0 3.75rem; }
  .hero-art { width: 720px; max-width: none; right: -365px; bottom: -7%; opacity: .27; }
  .hero h1 { font-size: clamp(2.6rem, 13vw, 3.7rem); line-height: 1; }
  .hero p { font-size: 1rem; }
  .hero .btn { width: 100%; min-height: 50px; display: inline-flex; justify-content: center; align-items: center; }
  .stat-row { margin-top: 3rem; }
  .stat-value { font-size: 1.25rem; }
  .section { padding: 4.25rem 0; }
  .section-title { font-size: clamp(2rem, 10vw, 2.6rem); }
  .service-card { padding: 1.5rem; }
  .solution-panel { padding: 2rem 1.5rem; }
  .process-item { padding: 1.5rem 0; }
  .cta { padding: 2.25rem 1.5rem; border-radius: 18px; }
  .cta .btn { width: 100%; }
  .smart-home-demo { padding: .6rem; border-radius: 18px; }.home-plan-header { padding: .9rem; }.plan-status { display: none; }.rooms-grid { min-height: 300px; }.room { padding: .85rem; }.room-icon { font-size: 2.25rem; }.room-state { font-size: .68rem; }.home-controls { padding: .6rem; }
}

/* Final interactive floor-plan layer: preserve the 3D plan, overlay only device hotspots. */
.home-plan { position: relative; min-height: 510px; padding: .55rem; overflow: hidden; background: #1f2529; }
.isometric-floorplan { position: absolute; z-index: 1; inset: 48px 0 0; display: block; width: 100%; max-width: none; height: calc(100% - 48px); object-fit: cover; object-position: center; opacity: 1; }
.home-plan-header, .live-strip { position: relative; z-index: 4; background: rgba(8,19,28,.9); }
.rooms-grid { position: absolute; z-index: 3; inset: 88px 0 0; display: block; min-height: 0; padding: 0; background: transparent !important; }
.room { position: absolute; display: grid; place-items: center; width: 54px; height: 54px; padding: 0 !important; overflow: visible; border: 0 !important; border-radius: 50%; color: transparent; background: transparent !important; box-shadow: none !important; opacity: 1 !important; }
.room-living { left: 40%; top: 53%; }.room-kitchen { left: 48%; top: 30%; }.room-bedroom { left: 21%; top: 31%; }.room-entry { left: 40%; top: 77%; }
.room-icon { position: relative; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; margin: 0 !important; border: 2px solid #91a2aa; border-radius: 50%; color: #c8d4d9 !important; font-size: 1.05rem !important; background: #3e515d; filter: none !important; }
.room.is-lit .room-icon { color: #fff9d4 !important; border-color: #f5d65a; background: #e6aa06; filter: drop-shadow(0 0 20px rgba(255,206,45,1)) !important; }
.room-label { display: block; position: absolute; top: 48px; left: 50%; transform: translateX(-50%); width: max-content; color: #fff !important; font-size: .62rem !important; letter-spacing: .05em; text-shadow: 0 1px 4px #000; }.room-state, .room::after, .room::before { display: none !important; }

/* Room lighting is rendered on the architecture itself—no device icons on the plan. */
.room { width: auto; height: auto; border-radius: 9px; cursor: pointer; }.room-living { left: 36%; top: 43%; width: 25%; height: 27%; }.room-kitchen { left: 35%; top: 13%; width: 32%; height: 25%; }.room-bedroom { left: 12%; top: 14%; width: 22%; height: 34%; }.room-entry { left: 35%; top: 70%; width: 16%; height: 15%; }.room-garage { left: 67%; top: 26%; width: 27%; height: 48%; }.room-icon, .room-label, .room-state { display: none !important; }.room:hover, .room:focus-visible { outline: 1px dashed rgba(91,224,255,.9); outline-offset: -6px; }.room.is-lit { background: radial-gradient(ellipse at center, rgba(255,246,185,.62) 0%, rgba(255,215,74,.25) 42%, transparent 75%) !important; box-shadow: inset 0 0 50px rgba(255,193,23,.56) !important; }.room.is-lit::after { content: ""; display: block !important; position: absolute; inset: 0; border: 1px solid rgba(255,222,103,.86); border-radius: 9px; background: transparent; box-shadow: 0 0 18px rgba(255,194,20,.42); }
.room, .room:hover, .room:focus-visible { outline: 0 !important; background: transparent !important; box-shadow: none !important; }.room::after { display: none !important; }.room.is-lit { background: radial-gradient(circle at 30% 42%, rgba(255,238,167,.72) 0%, rgba(255,214,85,.25) 18%, transparent 48%), radial-gradient(circle at 70% 56%, rgba(255,239,174,.6) 0%, rgba(255,205,59,.18) 18%, transparent 50%) !important; box-shadow: none !important; mix-blend-mode: screen; }.room-bedroom.is-lit { background: radial-gradient(circle at 46% 45%, rgba(255,237,161,.72), rgba(255,203,58,.2) 24%, transparent 62%) !important; }.room-entry.is-lit { background: radial-gradient(circle at 50% 42%, rgba(255,236,155,.65), rgba(255,204,56,.18) 30%, transparent 72%) !important; }.room-garage.is-lit { background: radial-gradient(circle at 32% 38%, rgba(255,235,148,.6), rgba(255,201,42,.16) 22%, transparent 54%), radial-gradient(circle at 70% 43%, rgba(255,235,148,.58), rgba(255,201,42,.15) 22%, transparent 54%) !important; }

/* Actual lighting state: plan dark by default; light is revealed only within switched-on rooms. */
.home-plan::before { content: ""; position: absolute; z-index: 2; inset: 88px 0 0; pointer-events: none; background: rgba(3,8,12,.35); }.rooms-grid { z-index: 3; }.room { background: transparent !important; mix-blend-mode: normal; }.room-dining { left: 56%; top: 13%; width: 24%; height: 22%; }.room-outdoor { left: 7%; top: 68%; width: 27%; height: 23%; }.room.is-lit { background: radial-gradient(ellipse at center, rgba(255,241,175,.45) 0%, rgba(255,215,78,.16) 42%, transparent 80%) !important; backdrop-filter: brightness(3) saturate(1.22) contrast(1.08); -webkit-backdrop-filter: brightness(3) saturate(1.22) contrast(1.08); mask-image: radial-gradient(ellipse at center, #000 16%, rgba(0,0,0,.98) 54%, transparent 95%); -webkit-mask-image: radial-gradient(ellipse at center, #000 16%, rgba(0,0,0,.98) 54%, transparent 95%); }.room-bedroom.is-lit, .room-entry.is-lit, .room-garage.is-lit, .room-dining.is-lit, .room-outdoor.is-lit { background: radial-gradient(ellipse at center, rgba(255,241,175,.42) 0%, rgba(255,215,78,.14) 45%, transparent 82%) !important; }
.home-plan::before { display: none; }.isometric-floorplan { filter: none; }.light-scene { position: absolute; z-index: 2; inset: 88px 0 0; pointer-events: none; opacity: 0; background-image: url('/wp-content/themes/tari-smart-solutions/assets/images/smart-home-floorplan.jpg'); background-size: cover; background-position: center; transition: opacity .35s ease; }.light-scene.is-active { opacity: 1; }.scene-bedroom { clip-path: polygon(7% 23%, 29% 16%, 35% 38%, 29% 46%, 14% 47%, 8% 37%); }.scene-kitchen { clip-path: polygon(32% 21%, 55% 12%, 62% 31%, 59% 34%, 34% 42%, 31% 30%); }.scene-dining { clip-path: polygon(57% 10%, 72% 7%, 80% 29%, 62% 34%, 57% 24%); }.scene-garage { clip-path: polygon(71% 35%, 84% 31%, 97% 60%, 74% 69%, 66% 50%); }.scene-living { clip-path: polygon(29% 41%, 59% 33%, 67% 53%, 68% 65%, 57% 71%, 38% 72%, 34% 58%); }.scene-entry { clip-path: polygon(11% 69%, 29% 63%, 35% 85%, 26% 92%, 16% 89%); }.scene-outdoor { clip-path: polygon(7% 69%, 18% 66%, 27% 87%, 40% 91%, 56% 82%, 65% 79%, 68% 87%, 50% 96%, 17% 98%, 8% 88%); }.room.is-lit { background: transparent !important; backdrop-filter: none; -webkit-backdrop-filter: none; mask-image: none; -webkit-mask-image: none; }

/* Real room renders supplied for the lighting demo. Each transparent image is the
   physical room in its illuminated state; hidden means the room is genuinely off. */
.light-scene { display: none !important; }
.home-plan::before { display: none !important; }
.room-render { position: absolute; z-index: 2; display: block; max-width: none; height: auto; pointer-events: none; opacity: 0; transition: opacity .32s ease-in-out; }
.room-render.is-active { opacity: 1; }
.render-bedroom { left: 6%; top: 14%; width: 31%; }
.render-bathroom { left: 10%; top: 42%; width: 25%; }
.render-kitchen { left: 28%; top: 12%; width: 39%; }
.render-dining { left: 55%; top: 8%; width: 29%; }
.render-living { left: 27%; top: 35%; width: 43%; }
.render-entry { left: 7%; top: 61%; width: 32%; }
.render-garage { left: 64%; top: 23%; width: 34%; }
.render-outdoor { left: 3%; top: 66%; width: 74%; }
.rooms-grid { z-index: 3; }
.room, .room:hover, .room:focus-visible, .room.is-lit { background: transparent !important; box-shadow: none !important; outline: 0 !important; }
.room-bathroom { left: 13%; top: 46%; width: 20%; height: 18%; }
.room-dining { left: 57%; top: 13%; width: 25%; height: 21%; }
.room-outdoor { left: 5%; top: 68%; width: 60%; height: 28%; }
@media (max-width: 991px) { .home-plan { min-height: 480px; } }

/* One coordinate system: all room art is mapped inside the exact same canvas as
   the underlying 1536 × 1024 plan. This keeps its natural size and position. */
.room-render-stage { position: absolute; z-index: 2; inset: 48px 0 0; overflow: hidden; pointer-events: none; }
.room-render { position: absolute; max-width: none; height: auto; pointer-events: none; opacity: 0; transition: opacity .32s ease-in-out; }
.room-render.is-active { opacity: 1; }
.render-bedroom { left: 6.5%; top: 10.5%; width: 25%; }
.render-kitchen { left: 27%; top: 8.5%; width: 30%; }
.render-dining { left: 55%; top: 4.5%; width: 23%; }
.render-garage { left: 60%; top: 21%; width: 36%; }
.render-living { left: 27%; top: 25%; width: 38%; }
.render-bathroom { left: 13%; top: 41%; width: 18%; }
.render-entry { left: 10%; top: 58%; width: 22%; }
.render-outdoor { left: 0; top: 65%; width: 100%; }

/* Pixel-registered measurements from the supplied room artwork to the master
   1536 × 1024 floor plan. The base and every overlay share this canvas. */
.isometric-floorplan { object-fit: fill; filter: brightness(.20) saturate(.72) !important; }
.room-render-stage { inset: 48px 0 0; }
.room-render { object-fit: fill; }
.render-bedroom { left: 10.02%; top: 17.10%; width: 25.23%; height: 29.10%; }
.render-bathroom { left: 13.22%; top: 41.61%; width: 18.28%; height: 25.52%; }
.render-kitchen { left: 32.48%; top: 13.00%; width: 29.84%; height: 30.10%; }
.render-dining { left: 56.79%; top: 7.24%; width: 22.89%; height: 31.03%; }
.render-living { left: 28.57%; top: 33.14%; width: 38.00%; height: 44.34%; }
.render-entry { left: 15.46%; top: 62.12%; width: 22.22%; height: 29.74%; }
.render-garage { left: 60.31%; top: 30.10%; width: 36.05%; height: 41.20%; }
.render-outdoor { left: 8.37%; top: 68.07%; width: 60.60%; height: 29.72%; }

/* Public-page content imported from Tari Smart Solutions. */
.inner-hero { padding: 6.5rem 0 5.25rem; color: #fff; background: radial-gradient(circle at 82% 18%, #1c5ba6 0, #0a2241 35%, #071526 78%); }
.inner-hero h1 { max-width: 830px; margin: .65rem 0 1rem; font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 800; letter-spacing: -.06em; line-height: 1; }
.inner-hero p { max-width: 650px; margin: 0; color: #c8d9ef; font-size: 1.15rem; line-height: 1.7; }
.page-copy { max-width: 980px; }.page-copy h2 { margin: 0 0 1rem; font-size: clamp(1.7rem, 3.5vw, 2.45rem); font-weight: 800; letter-spacing: -.045em; }.page-copy h2:not(:first-child) { margin-top: 2.3rem; }.page-copy h3 { font-size: 1.2rem; font-weight: 800; }.page-copy p { color: #53657d; font-size: 1.05rem; line-height: 1.8; }
.page-card { height: 100%; padding: 2rem; border: 1px solid #d7e6f8; border-radius: 18px; background: #f6faff; }.page-card p { margin-bottom: 1.7rem; }.page-card p:last-child { margin-bottom: 0; }
.service-page-card h2 { margin: .75rem 0 1rem; font-size: 1.65rem; }.service-page-card .eyebrow { display: block; margin-top: 1.3rem; }.service-page-card .check-list { margin-top: 1.25rem; }.service-page-card .check-list li { color: #334b67; }
.feature-list { margin: 1.15rem 0 0; padding: 0; list-style: none; }.feature-list li { display: flex; gap: .65rem; align-items: flex-start; padding: .65rem 0; color: #405774; }.feature-list i { color: #0964eb; }
.contact-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; padding: 1.5rem; border: 1px solid #d7e6f8; border-radius: 18px; background: #f6faff; }.contact-form label { display: grid; gap: .45rem; color: #193757; font-size: .86rem; font-weight: 750; }.contact-form label:has(textarea) { grid-column: 1 / -1; }.contact-form input, .contact-form textarea { width: 100%; padding: .8rem .9rem; border: 1px solid #cbdcf1; border-radius: 10px; color: #071526; font: inherit; background: #fff; }.contact-form input:focus, .contact-form textarea:focus { outline: 2px solid rgba(18,100,243,.22); border-color: #1264f3; }.contact-form .btn { justify-self: start; }
@media (max-width: 575px) { .inner-hero { padding: 4.5rem 0 3.5rem; }.contact-form { grid-template-columns: 1fr; padding: 1rem; }.contact-form label:has(textarea) { grid-column: auto; } }

/* Dark visual system for the complete Tari site. */
body { color: #e7f0fb; background: #06111d; }
.section { background: #081522; }.section-soft, .smart-home-section { background: linear-gradient(180deg, #0a1928, #06111d); }.section-soft::before { opacity: .35; }
.section-title, .service-card h3, .process-item h3, .page-copy h2, .page-copy h3 { color: #f3f8ff; }.section-lead, .service-card p, .process-item p, .page-copy p { color: #a9bad0; }
.service-card, .page-card { border-color: #193451; background: linear-gradient(150deg, #0e2235, #081522); box-shadow: 0 16px 36px rgba(0,0,0,.2); }.service-card:hover { box-shadow: 0 20px 42px rgba(0,0,0,.38); }.service-icon { background: #123555; color: #69dcff; }
.solution-panel { background: linear-gradient(135deg, #082442, #0a3f68); }.solution-panel p { color: #c5e1fa; }.check-list li, .service-page-card .check-list li, .feature-list li { color: #c0d2e8; }.feature-list i { color: #4dddf6; }
.inner-hero { background: radial-gradient(circle at 82% 18%, #174d79 0, #091d35 37%, #050c15 83%); }.page-card { background: #0b1c2d; }.page-copy hr { border-color: #1a3955; opacity: 1; }
.home-controls { background: #0d1d2e; }.control-heading, .home-control { color: #edf6ff; }.home-control:hover, .home-control:focus-visible { background: #142c44; }.home-control small, .control-heading small { color: #a6b9d0; }.control-glyph { color: #62dfff; background: #133753; }.light-switch { border-color: #244868; color: #abc4de; background: #0c1d2e; }.light-switch.is-on { color: #72e6ff; border-color: #227ca0; background: #103550; }.scene-button { color: #83ddff; border-color: #267da4; background: #102941; }
.contact-form { border-color: #1b3c59; background: #0b1c2d; }.contact-form label { color: #c4d8ed; }.contact-form input, .contact-form textarea { border-color: #244966; color: #eff8ff; background: #071522; }
.page-image-panel { position: relative; overflow: hidden; min-height: 290px; border: 1px solid #1a4564; border-radius: 20px; background: #06111d; }.page-image-panel::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,14,24,.1), rgba(5,14,24,.42)); pointer-events: none; }.page-image-panel img { width: 100%; height: 100%; min-height: 290px; object-fit: cover; object-position: center; }.page-image-panel span { position: absolute; z-index: 1; left: 1.3rem; bottom: 1.15rem; padding: .45rem .7rem; border: 1px solid rgba(124,230,255,.42); border-radius: 999px; color: #d9f7ff; font-size: .75rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; background: rgba(4,17,29,.72); }.service-hero-image { min-height: 360px; }.service-hero-image img { min-height: 360px; object-fit: contain; background: radial-gradient(circle, #163653, #07111d 72%); }.contact-banner { min-height: 230px; }.contact-banner img { min-height: 230px; object-position: center 55%; }
.service-thumb { height: 185px; margin: -2rem -2rem 1.65rem; overflow: hidden; border-bottom: 1px solid #1c4562; background: #071522; }.service-thumb img { width: 100%; height: 100%; object-fit: cover; }.service-page-card .service-icon { margin-top: 0; }

/* Detailed solution sections from the supplied content brief. */
.page-intro { max-width: 760px; margin: 0 0 2.5rem; }.page-intro h2 { margin-bottom: .85rem; }.detail-grid { display: grid; gap: 1.2rem; }.detail-card { display: grid; grid-template-columns: minmax(190px, .72fr) minmax(0, 1.28fr); overflow: hidden; border: 1px solid #1b3d5b; border-radius: 18px; background: linear-gradient(135deg, #0c1c2c, #081522); }.detail-card-image { min-height: 220px; overflow: hidden; background: #091725; }.detail-card-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.05); }.detail-card-copy { padding: 1.75rem; }.detail-card-copy h3 { margin: .35rem 0 .75rem; color: #f0f7ff; font-size: 1.35rem; font-weight: 800; letter-spacing: -.025em; }.detail-card-copy p { margin: 0; color: #a9bed4; line-height: 1.72; }.detail-number { color: #4de0fb; font-size: .72rem; font-weight: 850; letter-spacing: .14em; }
@media (max-width: 575px) { .detail-card { grid-template-columns: 1fr; }.detail-card-image { min-height: 190px; }.detail-card-copy { padding: 1.35rem; } }

/* Homepage automation slider. */
.automation-carousel { position: relative; overflow: hidden; min-height: 650px; color: #fff; background: #06111d; }.automation-carousel .carousel-item { position: relative; height: 650px; }.automation-carousel .carousel-item > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }.carousel-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,11,20,.94) 0%, rgba(3,11,20,.72) 38%, rgba(3,11,20,.12) 78%), linear-gradient(0deg, rgba(3,11,20,.35), transparent 45%); }.carousel-copy { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; max-width: 1140px; padding-top: 1.5rem; padding-bottom: 3.5rem; }.carousel-copy h1 { max-width: 670px; margin: .7rem 0 1.1rem; font-size: clamp(3rem, 6.3vw, 5.7rem); font-weight: 850; letter-spacing: -.07em; line-height: .96; }.carousel-copy p { max-width: 540px; margin-bottom: 1.75rem; color: #c5d7e9; font-size: 1.12rem; line-height: 1.7; }.automation-carousel .carousel-indicators { z-index: 4; justify-content: flex-start; width: 1140px; max-width: calc(100% - 2rem); margin: 0 auto 2rem; }.automation-carousel .carousel-indicators button { width: 48px; height: 4px; margin: 0 .35rem 0 0; border: 0; border-radius: 999px; background: #aac3da; }.automation-carousel .carousel-indicators button.active { background: #42def7; }.automation-carousel .carousel-control-prev, .automation-carousel .carousel-control-next { z-index: 4; width: 8%; }.automation-carousel .carousel-control-prev-icon, .automation-carousel .carousel-control-next-icon { width: 2.8rem; height: 2.8rem; border: 1px solid rgba(198,241,255,.55); border-radius: 50%; background-color: rgba(4,14,24,.5); background-size: 46%; }
@media (max-width: 767px) { .automation-carousel, .automation-carousel .carousel-item { min-height: 560px; height: 560px; }.carousel-copy { justify-content: flex-end; padding: 2rem 1.2rem 5rem; }.carousel-copy h1 { font-size: clamp(2.7rem, 12vw, 4.2rem); }.carousel-copy p { font-size: 1rem; }.automation-carousel .carousel-control-prev, .automation-carousel .carousel-control-next { display: none; } }

/* Reference-inspired solution pages: Urbanist display type and alternating editorial panels. */
body { font-family: Montserrat, ui-sans-serif, system-ui, sans-serif; }.inner-hero h1, .carousel-copy h1, .solution-hero-reference h1, .solution-feature h2 { font-family: Urbanist, ui-sans-serif, sans-serif; }
.solution-hero-reference { position: relative; height: min(65vw, 660px); min-height: 480px; overflow: hidden; color: #fff; background: #071522; }.solution-hero-reference > img { width: 100%; height: 100%; object-fit: cover; }.solution-hero-reference::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,13,23,.9), rgba(4,13,23,.28) 68%), linear-gradient(0deg, rgba(4,13,23,.35), transparent 48%); }.solution-hero-reference-copy { position: absolute; z-index: 1; left: max(1.25rem, calc((100% - 1140px) / 2)); right: 1.25rem; bottom: 15%; max-width: 720px; }.solution-hero-reference-copy span { color: #63ddf3; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }.solution-hero-reference h1 { margin: .7rem 0 0; font-size: clamp(3.6rem, 7vw, 6.8rem); font-weight: 400; letter-spacing: -.06em; line-height: .9; text-transform: uppercase; }
.solution-reference-pages { background: #071522; }.solution-reference-intro { max-width: 820px; margin: 0 auto; padding: 5rem 1.25rem; text-align: center; }.solution-reference-intro p { margin: 0; color: #c0d2e6; font-size: clamp(1.12rem, 2vw, 1.38rem); font-weight: 300; line-height: 1.85; }.solution-feature { display: grid; grid-template-columns: 1fr 1fr; min-height: 500px; background: #0a1928; }.solution-feature.is-reversed { direction: rtl; background: #06111d; }.solution-feature.is-reversed > * { direction: ltr; }.solution-feature-art { min-height: 500px; overflow: hidden; background: #0d2133; }.solution-feature-art img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.06); transition: transform .6s ease; }.solution-feature:hover .solution-feature-art img { transform: scale(1.035); }.solution-feature-copy { display: flex; flex-direction: column; justify-content: center; max-width: 590px; padding: clamp(2.5rem, 6vw, 6.5rem); }.solution-feature h2 { margin: .55rem 0 1rem; color: #fff; font-size: clamp(2.2rem, 4vw, 3.55rem); font-weight: 400; letter-spacing: -.045em; line-height: .98; }.solution-feature p { margin: 0 0 1.5rem; color: #b8c9dc; font-size: 1rem; line-height: 1.85; }.solution-feature-copy > a:not(.btn) { align-self: flex-start; color: #69ddf5; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.solution-feature-copy > a:not(.btn) i { margin-left: .35rem; }.solution-reference-cta { display: block; min-height: 0; background: linear-gradient(135deg, #083355, #071522); }.solution-reference-cta .solution-feature-copy { margin: 0 auto; max-width: 760px; text-align: center; align-items: center; }.solution-reference-cta .solution-feature-copy .btn { margin-top: .5rem; }
@media (max-width: 767px) { .solution-hero-reference { min-height: 480px; height: 70vh; }.solution-hero-reference h1 { font-size: clamp(3.1rem, 15vw, 4.7rem); }.solution-feature, .solution-feature.is-reversed { grid-template-columns: 1fr; direction: ltr; }.solution-feature-art { min-height: 280px; }.solution-feature-copy { max-width: none; padding: 3rem 1.5rem; }.solution-feature h2 { font-size: clamp(2.3rem, 11vw, 3.3rem); }.solution-reference-intro { padding: 3.5rem 1.5rem; text-align: left; } }

/* Each feature has its own matching visual, softly blended into its copy. */
.solution-feature-art { position: relative; }.solution-feature-art::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, transparent 35%, #0a1928 100%); }.solution-feature.is-reversed .solution-feature-art::after { background: linear-gradient(270deg, transparent 35%, #06111d 100%); }
@media (max-width: 767px) { .solution-feature-art::after, .solution-feature.is-reversed .solution-feature-art::after { background: linear-gradient(0deg, #0a1928 0%, transparent 55%); }.solution-feature.is-reversed .solution-feature-art::after { background: linear-gradient(0deg, #06111d 0%, transparent 55%); } }

/* Feature capability icons modelled on the reference solution pages. */
.capability-icons { display: flex; flex-wrap: wrap; gap: 1rem; margin: 0 0 1.65rem; }.capability-icons > div { display: grid; justify-items: center; gap: .4rem; width: 76px; text-align: center; }.capability-icons img { width: 54px; height: 54px; object-fit: contain; filter: drop-shadow(0 4px 12px rgba(0,0,0,.35)); }.capability-icons span { color: #d9e8f8; font-size: .65rem; font-weight: 700; line-height: 1.12; }.solution-feature.is-reversed .capability-icons span { color: #d9e8f8; }

/* High-contrast image-to-content panels, matching the supplied reference. */
.solution-reference-pages { background: #fff; }.solution-reference-intro { max-width: 960px; color: #111; }.solution-reference-intro p { color: #272727; font-family: Urbanist, sans-serif; font-size: clamp(1.25rem, 2.2vw, 1.6rem); font-weight: 300; line-height: 1.7; }.solution-feature, .solution-feature.is-reversed { grid-template-columns: minmax(48%, 1fr) minmax(52%, 1.08fr); min-height: 540px; direction: ltr; background: #fff; }.solution-feature-art { min-height: 540px; }.solution-feature-art::after, .solution-feature.is-reversed .solution-feature-art::after { background: linear-gradient(90deg, transparent 34%, #fff 95%); }.solution-feature-copy { max-width: 760px; padding: clamp(2.5rem, 5.5vw, 6rem) clamp(2.25rem, 6vw, 7rem) clamp(2.5rem, 5.5vw, 5rem) clamp(1.5rem, 4vw, 4.25rem); }.solution-feature h2 { color: #090909; font-size: clamp(2.6rem, 4.4vw, 4.5rem); font-weight: 400; line-height: 1.03; }.solution-feature p { color: #202020; font-family: Urbanist, sans-serif; font-size: clamp(1.05rem, 1.55vw, 1.32rem); font-weight: 300; line-height: 1.5; }.solution-feature .detail-support { margin-top: -.55rem; color: #5b5b5b; font-size: .96rem; line-height: 1.6; }.solution-feature-copy > a:not(.btn) { color: #0f7f9f; }.capability-icons { gap: 1.25rem; }.capability-icons > div { width: 80px; }.capability-icons img { width: 57px; height: 57px; filter: none; }.capability-icons span, .solution-feature.is-reversed .capability-icons span { color: #0a0a0a; font-size: .7rem; }.solution-reference-cta, .solution-reference-cta.solution-feature { display: block; min-height: 0; background: #0a1928; }.solution-reference-cta .solution-feature-copy { margin: 0 auto; }.solution-reference-cta h2 { color: #fff; }.solution-reference-cta p { color: #d0ddec; }
@media (max-width: 767px) { .solution-feature, .solution-feature.is-reversed { grid-template-columns: 1fr; }.solution-feature-art { min-height: 320px; }.solution-feature-art::after, .solution-feature.is-reversed .solution-feature-art::after { background: linear-gradient(0deg, #fff 0%, transparent 58%); }.solution-feature-copy { padding: 2.75rem 1.5rem; }.solution-feature h2 { font-size: clamp(2.6rem, 12vw, 3.7rem); }.solution-reference-cta .solution-feature-copy { text-align: center; } }

/* Alternate full-size visual placement across each solution page. */
@media (min-width: 768px) { .solution-feature.is-reversed { direction: rtl; }.solution-feature.is-reversed > * { direction: ltr; }.solution-feature.is-reversed .solution-feature-art::after { background: linear-gradient(270deg, transparent 34%, #fff 95%); } }

/* Restore the dark Tari visual system for the image-to-content solution panels. */
.solution-reference-pages { background: #071522; }.solution-reference-intro p { color: #c4d4e5; }.solution-feature, .solution-feature.is-reversed { background: #0a1928; }.solution-feature.is-reversed { background: #06111d; }.solution-feature h2 { color: #f5f9ff; }.solution-feature p { color: #bacadd; }.solution-feature .detail-support { color: #91a8bf; }.solution-feature-art::after { background: linear-gradient(90deg, transparent 34%, #0a1928 96%); }.solution-feature.is-reversed .solution-feature-art::after { background: linear-gradient(270deg, transparent 34%, #06111d 96%); }.capability-icons span, .solution-feature.is-reversed .capability-icons span { color: #e3effb; }
@media (max-width: 767px) { .solution-feature-art::after { background: linear-gradient(0deg, #0a1928 0%, transparent 58%); }.solution-feature.is-reversed .solution-feature-art::after { background: linear-gradient(0deg, #06111d 0%, transparent 58%); } }
.site-header { background: transparent; border-bottom: 1px solid rgba(210,240,255,.08); backdrop-filter: blur(8px); }
.carousel-copy h1 { max-width: 620px; font-size: clamp(2.65rem, 4.8vw, 4.45rem); line-height: 1; }
.carousel-copy p { max-width: 500px; font-size: 1rem; }

/* Keep the carousel fully visible behind the transparent navigation. */
body.home .site-header { position: absolute !important; top: 0; left: 0; right: 0; z-index: 1035; border-bottom-color: rgba(255,255,255,.13); }.automation-carousel .carousel-shade { background: linear-gradient(90deg, rgba(3,11,20,.68) 0%, rgba(3,11,20,.42) 42%, rgba(3,11,20,.08) 78%), linear-gradient(0deg, rgba(3,11,20,.16), transparent 48%); }.automation-carousel .carousel-item > img { filter: brightness(1.08) saturate(1.05); }

/* The navigation floats transparently above every page hero and slider. */
.site-header,.site-header.home-header{position:absolute!important;inset:0 0 auto!important;z-index:1050!important;background:transparent!important;border-bottom:1px solid rgba(218,244,255,.16)!important;backdrop-filter:blur(5px)}
.site-header .navbar{position:relative;z-index:1}
@media(max-width:991.98px){.site-header .navbar-collapse{margin-top:.35rem;padding:.65rem 1rem 1rem;border:1px solid rgba(166,225,255,.18);border-radius:14px;background:rgba(2,7,12,.86);backdrop-filter:blur(16px)}}

/* A consistent, compact page-hero treatment for About, Solutions, and Contact. */
:root{--page-hero-height:clamp(390px,34vw,460px)}
.about-reference-hero,.solution-hero-reference,.inner-hero{height:var(--page-hero-height);min-height:var(--page-hero-height)}
.about-reference-hero{align-items:center}
.about-reference-hero .container{padding:5.5rem 1.5rem 1rem;text-align:center}
.about-reference-hero .eyebrow,.about-reference-hero p{margin-left:auto;margin-right:auto}
.about-reference-hero h1{max-width:760px;margin:.45rem auto .9rem;font-size:clamp(3.2rem,7vw,5.2rem)}
.solution-hero-reference-copy{top:50%;bottom:auto;left:1.25rem;right:1.25rem;max-width:850px;margin:auto;transform:translateY(-38%);text-align:center}
.solution-hero-reference h1{font-size:clamp(3rem,5.8vw,5.2rem)}
.inner-hero{display:flex;align-items:center;padding:5.5rem 0 1rem;text-align:center}
.inner-hero .container{width:100%}.inner-hero .eyebrow,.inner-hero h1,.inner-hero p{margin-left:auto;margin-right:auto}
@media(max-width:767.98px){:root{--page-hero-height:390px}.about-reference-hero .container{padding-top:5.5rem}.solution-hero-reference-copy{transform:translateY(-30%)}.solution-hero-reference h1{font-size:clamp(2.65rem,11vw,4rem)}.inner-hero{padding-top:5rem}}

/* About page: editorial reference layout in Tari's dark visual system. */
.about-reference-hero{background:#071522;padding:clamp(7rem,14vw,12rem) 0 clamp(4rem,8vw,7rem);border-bottom:1px solid rgba(121,207,255,.16)}
.about-reference-hero .eyebrow,.about-editorial .eyebrow,.about-statement .eyebrow{color:#26c6ff}
.about-reference-hero h1{max-width:920px;margin:.4rem 0 1rem;font-family:Montserrat,Arial,sans-serif;font-size:clamp(4.5rem,11.5vw,8.2rem);font-weight:700;line-height:.88;letter-spacing:-.075em;color:#f5fbff}
.about-reference-hero p{max-width:500px;margin:1.7rem 0 0;color:#b9c8d8;font-size:1.08rem}
.about-editorial{padding:clamp(4.5rem,9vw,8.5rem) 0;background:#071522}
.about-editorial-alt{background:#0a1928}
.about-editorial h2,.about-statement h2{font-family:Montserrat,Arial,sans-serif;color:#f4f9ff;line-height:1.02;letter-spacing:-.045em}
.about-editorial h2{margin:.75rem 0 1.45rem;font-size:clamp(2.2rem,4vw,3.55rem);font-weight:600}
.about-editorial p{color:#aebfd0;font-size:1.05rem;line-height:1.8}
.about-image{position:relative;margin:0;min-height:380px;overflow:hidden;background:#102335}
.about-image:after{content:'';position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,#071522)}
.about-image img{display:block;width:100%;height:100%;min-height:380px;object-fit:cover;filter:brightness(1.08) saturate(1.05);transition:transform .7s ease}
.about-image:hover img{transform:scale(1.035)}
.about-editorial-alt .about-image:after{background:linear-gradient(transparent,#0a1928)}
.about-values{display:grid;gap:1px;background:rgba(135,202,255,.16);border:1px solid rgba(135,202,255,.16)}
.about-values article{padding:2.25rem;background:#0c2031}
.about-values span{display:block;margin-bottom:.85rem;color:#26c6ff;font-family:Montserrat,Arial,sans-serif;font-size:.77rem;font-weight:700;letter-spacing:.12em}
.about-values h3{margin:0 0 .65rem;color:#f4f9ff;font-family:Montserrat,Arial,sans-serif;font-size:1.55rem;font-weight:600}
.about-values p{margin:0;font-size:.96rem;line-height:1.65}
.about-statement{padding:clamp(5rem,10vw,9rem) 0;background:linear-gradient(115deg,#0b2841,#071522 58%,#092238);text-align:center}
.about-statement .container{max-width:940px}
.about-statement h2{margin:1rem auto 1.4rem;font-size:clamp(2.6rem,5vw,4.5rem);font-weight:600}
.about-statement p{max-width:780px;margin:0 auto;color:#c2d2df;font-size:clamp(1.08rem,1.8vw,1.35rem);line-height:1.75}
.about-approach .btn{margin-top:1rem}
@media (max-width:767.98px){.about-reference-hero{padding-top:7rem}.about-reference-hero h1{font-size:clamp(3.8rem,19vw,5.6rem)}.about-image,.about-image img{min-height:275px}.about-editorial{padding:4.5rem 0}.about-editorial p{font-size:1rem}.about-statement{padding:5rem 0}}

/* Full-bleed About imagery follows the solution-page image and content rhythm. */
.about-reference-hero{position:relative;min-height:min(67vw,680px);display:flex;align-items:flex-end;overflow:hidden;padding:0;color:#fff;background:#071522}
.about-reference-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(1.08) saturate(1.06)}
.about-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,11,20,.84),rgba(3,11,20,.36) 62%,rgba(3,11,20,.08)),linear-gradient(0deg,rgba(3,11,20,.58),transparent 60%)}
.about-reference-hero .container{position:relative;z-index:1;width:100%;padding-bottom:clamp(4rem,10vw,8rem)}
.about-reference-hero h1{margin:.45rem 0 1rem}
.about-full-feature{display:grid;grid-template-columns:minmax(48%,1fr) minmax(52%,1.08fr);min-height:560px;background:#0a1928}
.about-full-feature-reverse{direction:rtl;background:#06111d}
.about-full-feature-reverse>*{direction:ltr}
.about-full-art{position:relative;min-height:560px;overflow:hidden;background:#0a1c2d}
.about-full-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 35%,#0a1928 97%);pointer-events:none}
.about-full-feature-reverse .about-full-art:after{background:linear-gradient(270deg,transparent 35%,#06111d 97%)}
.about-full-art>img:not(.about-brand-stamp){width:100%;height:100%;display:block;object-fit:cover;object-position:center;background:#06111d;filter:brightness(1.08) saturate(1.06)}
.about-full-copy{display:flex;flex-direction:column;justify-content:center;max-width:760px;padding:clamp(3rem,6vw,6.5rem) clamp(1.75rem,6vw,7rem)}
.about-full-copy h2{margin:.75rem 0 1.4rem;font-family:Montserrat,Arial,sans-serif;color:#f5faff;font-size:clamp(2.4rem,4.2vw,4.15rem);font-weight:600;line-height:1.03;letter-spacing:-.055em}
.about-full-copy p{color:#b5c7d9;font-size:1.04rem;line-height:1.8}
.about-full-copy .about-values{margin-top:1.4rem}
.about-full-copy .about-values article{padding:1.45rem 1.6rem}
.about-full-copy .about-values h3{font-size:1.25rem}
.about-full-copy .about-values p{font-size:.91rem}
@media(max-width:767.98px){.about-reference-hero{min-height:610px}.about-reference-hero .container{padding-bottom:4.5rem}.about-full-feature,.about-full-feature-reverse{grid-template-columns:1fr;direction:ltr}.about-full-art{min-height:310px}.about-full-art:after,.about-full-feature-reverse .about-full-art:after{background:linear-gradient(0deg,#0a1928,transparent 58%)}.about-full-feature-reverse .about-full-art:after{background:linear-gradient(0deg,#06111d,transparent 58%)}.about-full-copy{padding:3.2rem 1.5rem}.about-full-copy h2{font-size:clamp(2.45rem,11vw,3.7rem)}}

/* Expandable security sensor view in the interactive home demo. */
.security-sensors{display:none;margin:.15rem .2rem .55rem;padding:.7rem;border:1px solid #1f5973;border-radius:12px;background:linear-gradient(145deg,#0b2537,#091a29)}
.security-sensors.is-visible{display:grid;gap:.38rem;animation:security-panel-in .24s ease-out}
.security-sensors-head{display:flex;align-items:center;justify-content:space-between;padding:.15rem .15rem .45rem;color:#e6f8ff;font-size:.78rem;font-weight:800}
.security-sensors-head i{margin-right:.35rem;color:#55e1f6}.security-sensors-head small{color:#6fe3b5;font-size:.62rem;font-weight:700}
.sensor-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.55rem;border:1px solid rgba(102,204,235,.15);border-radius:8px;color:#effbff;text-align:left;background:rgba(5,18,29,.5);transition:background .2s ease,border-color .2s ease}
.sensor-item:hover{border-color:#2780a6;background:#12364b}.sensor-item>i{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#69e9f7;background:#123d56;font-size:.83rem}.sensor-item span{display:grid;gap:.08rem}.sensor-item strong{font-size:.7rem;line-height:1.1}.sensor-item small{color:#9eb8c8;font-size:.61rem;line-height:1.15}.sensor-item em{margin-left:auto;color:#75ebb5;font-size:.57rem;font-style:normal;font-weight:800;text-transform:uppercase}
.home-control.is-expanded{background:#143149}
@keyframes security-panel-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}

/* Shield mode replaces the floor plan with four focused security-status frames. */
.security-status-view{display:none;position:absolute;inset:0;padding:clamp(1.2rem,3vw,2.6rem);background:radial-gradient(circle at 75% 10%,rgba(22,110,139,.28),transparent 36%),#071522}
.security-status-view.is-visible{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:minmax(102px,1fr);gap:.8rem;animation:security-panel-in .28s ease-out}
.security-status-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;color:#edfaff;font-size:clamp(.9rem,1.4vw,1.12rem);font-weight:800;letter-spacing:.02em}
.security-status-title>span i{margin-right:.45rem;color:#4de4f3}.security-status-title small{padding:.35rem .6rem;border-radius:999px;color:#76efb8;font-size:.66rem;background:rgba(23,133,100,.22)}
.security-status-card{display:grid;grid-template-columns:50px 1fr auto;gap:.9rem;align-items:center;min-height:120px;padding:1.15rem;border:1px solid rgba(73,212,242,.35);border-radius:16px;background:linear-gradient(145deg,rgba(16,54,75,.94),rgba(7,26,40,.96));box-shadow:inset 0 1px rgba(149,235,255,.08),0 12px 24px rgba(0,0,0,.18)}
.security-status-card>i{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;color:#5fe8f7;background:#154b68;font-size:1.4rem;box-shadow:0 0 22px rgba(63,220,241,.16)}
.security-status-card div{display:grid;gap:.17rem}.security-status-card span{color:#f1fbff;font-size:clamp(.83rem,1.2vw,1rem);font-weight:800}.security-status-card strong{color:#a5c9db;font-size:.74rem;font-weight:650}.security-status-card small{color:#8faabd;font-size:.68rem;line-height:1.35}.security-status-card em{align-self:start;color:#72ecb6;font-size:.65rem;font-style:normal;font-weight:800;text-transform:uppercase}.security-status-card em i{margin-right:.2rem;font-size:.58rem}
.security-status-card.sensor-warning{border-color:rgba(248,179,68,.65);background:linear-gradient(145deg,rgba(83,55,23,.94),rgba(35,29,18,.98))}.security-status-card.sensor-warning>i{color:#ffd271;background:#68471d}.security-status-card.sensor-warning em{color:#ffd271}
.smart-home-demo.security-mode{grid-template-columns:54px minmax(0,1fr)}
.smart-home-demo.security-mode .home-controls{display:none}.smart-home-demo.security-mode .isometric-floorplan,.smart-home-demo.security-mode .room-render-stage,.smart-home-demo.security-mode .rooms-grid,.smart-home-demo.security-mode .home-plan-header,.smart-home-demo.security-mode .live-strip{display:none}
.smart-home-demo.security-mode .home-plan{min-height:540px}
@media(max-width:767.98px){.smart-home-demo.security-mode{grid-template-columns:1fr}.smart-home-demo.security-mode .floor-nav{display:flex;flex-direction:row;justify-content:center;border-right:0;border-bottom:1px solid #1d3b4d}.security-status-view.is-visible{grid-template-columns:1fr;grid-template-rows:auto;grid-auto-rows:minmax(95px,1fr);gap:.75rem;overflow:auto}.security-status-card{min-height:95px;padding:.85rem;grid-template-columns:42px 1fr auto}.security-status-card>i{width:42px;height:42px;font-size:1.15rem}.security-status-card small{font-size:.62rem}}

/* Camera mode: six simulated live feeds mapped to the supplied home plan. */
.camera-status-view{display:none;position:absolute;inset:0;padding:clamp(1.1rem,2.7vw,2.2rem);background:radial-gradient(circle at 72% 9%,rgba(23,92,132,.32),transparent 38%),#071522}
.camera-status-view.is-visible{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto repeat(2,minmax(0,1fr));gap:.85rem;animation:security-panel-in .28s ease-out}
.camera-status-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;color:#edfaff;font-size:clamp(.9rem,1.4vw,1.12rem);font-weight:800;letter-spacing:.02em}
.camera-status-title>span i{margin-right:.45rem;color:#57e8f5}.camera-status-title small{color:#77edba;font-size:.65rem;font-weight:800}.camera-status-title small i{margin-right:.25rem;font-size:.52rem;color:#ff5369}
.camera-feed{position:relative;display:grid;grid-template-columns:1fr auto;align-content:end;min-height:145px;padding:1rem;overflow:hidden;border:1px solid rgba(78,211,241,.42);border-radius:12px;color:#effbff;background:#092033;isolation:isolate;box-shadow:inset 0 1px rgba(160,244,255,.08),0 10px 22px rgba(0,0,0,.22)}
.camera-feed::after{content:'';position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.055) 0 1px,transparent 1px 5px);mix-blend-mode:overlay;animation:camera-scan 6s linear infinite}
.camera-feed video{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.78) contrast(1.1);transition:transform 1.2s ease}
.camera-feed:hover video{transform:scale(1.06)}.camera-feed::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(2,10,18,.9),rgba(2,10,18,.05) 70%)}
.camera-feed-live{position:absolute;top:.7rem;left:.75rem;padding:.22rem .4rem;border-radius:4px;color:#fff;font-size:.57rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:rgba(8,16,25,.66)}.camera-feed-live i{margin-right:.2rem;color:#ff5067;font-size:.5rem;animation:live-pulse 1.2s ease-in-out infinite}
.camera-feed strong{font-size:.78rem;line-height:1.1}.camera-feed small{color:#b7cddb;font-size:.6rem;line-height:1.1}
.smart-home-demo.camera-mode{grid-template-columns:54px minmax(0,1fr)}.smart-home-demo.camera-mode .home-controls{display:none}.smart-home-demo.camera-mode .isometric-floorplan,.smart-home-demo.camera-mode .room-render-stage,.smart-home-demo.camera-mode .rooms-grid,.smart-home-demo.camera-mode .home-plan-header,.smart-home-demo.camera-mode .live-strip{display:none}.smart-home-demo.camera-mode .home-plan{min-height:540px}
@keyframes camera-scan{0%,100%{transform:translateY(-3%)}50%{transform:translateY(3%)}}@keyframes live-pulse{50%{opacity:.35}}
@media(max-width:767.98px){.smart-home-demo.camera-mode{grid-template-columns:1fr}.smart-home-demo.camera-mode .floor-nav{display:flex;flex-direction:row;justify-content:center;border-right:0;border-bottom:1px solid #1d3b4d}.camera-status-view.is-visible{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto repeat(3,minmax(135px,1fr));gap:.65rem;overflow:auto}.camera-feed{min-height:135px;padding:.7rem}.camera-feed strong{font-size:.68rem}.camera-feed small{font-size:.54rem}}

/* Square sensor tiles for the security dashboard. */
.security-status-view.is-visible{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:1fr}
.security-status-view.is-visible{gap:1.1rem}

/* Deep dark mode for the smart-home security view. */
.smart-home-demo.security-mode{background:#020a12;border-color:#12354b}
.smart-home-demo.security-mode .home-plan{background:#030d17}
.security-status-view{background:radial-gradient(circle at 70% 8%,rgba(13,70,101,.24),transparent 34%),#030d17}
.security-status-card{background:linear-gradient(145deg,#082033,#04131f);border-color:#15516e;box-shadow:inset 0 1px rgba(183,244,255,.06),0 14px 30px rgba(0,0,0,.34)}
.security-status-card.sensor-warning{background:linear-gradient(145deg,#4b310e,#1d160a);border-color:#a66b12}

/* Project-wide black dark theme. */
:root{--ink:#eef8ff;--navy:#05080c;--mist:#0b1118;--muted:#9caebe}
html,body{background:#020305}
body{color:#eaf3fa;background:#020305}
main,.section,.section-soft,.smart-home-section,.solution-reference-pages,.about-editorial,.about-editorial-alt{background:#020305}
.site-header{background:rgba(2,3,5,.78);border-bottom-color:rgba(148,220,255,.12)}
.navbar .nav-link{color:#c9d8e7}.dropdown-menu{background:#070b10;border-color:#1a3142}
.hero,.inner-hero,.about-reference-hero{background-color:#020305}
.service-card,.page-card,.contact-form,.detail-card{background:linear-gradient(145deg,#080d13,#030609);border-color:#172b3a}
.service-card:hover{box-shadow:0 22px 44px rgba(0,0,0,.56)}
.service-icon,.control-glyph{background:#0b2637}
.process-item{border-color:#16384c}
.solution-panel,.solution-reference-cta,.about-statement{background:linear-gradient(135deg,#06101a,#020305)}
.home-controls{background:#050a10}
.smart-home-demo,.smart-home-demo.security-mode{background:#020508;border-color:#123044}
.home-plan{background:#020609}
.site-footer{background:#010203}

/* Glowing 3D Tari brand mark. */
.brand-logo-link{display:flex;align-items:center;line-height:0}
.brand-logo{display:block;width:142px;height:62px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(38,202,255,.18));transition:filter .25s ease,transform .25s ease}
.brand-logo-link:hover .brand-logo{transform:translateY(-1px);filter:drop-shadow(0 1px 4px rgba(56,222,255,.28))}
.footer-logo-link{display:inline-flex;align-items:center;line-height:0}.footer-logo{display:block;width:190px;height:76px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(38,202,255,.14))}
@media(max-width:575px){.brand-logo{width:116px;height:52px}}
.smart-home-demo.security-mode .home-plan{min-height:700px}
.security-status-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.55rem;min-height:0;padding:1rem;aspect-ratio:1/1}
.security-status-card>i{width:42px;height:42px;font-size:1.15rem}.security-status-card div{gap:.16rem}.security-status-card span{font-size:.82rem}.security-status-card strong{font-size:.68rem}.security-status-card small{font-size:.61rem}.security-status-card em{position:absolute;top:.8rem;right:.8rem;font-size:.55rem}
@media(max-width:900px){.security-status-view.is-visible{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto}.smart-home-demo.security-mode .home-plan{min-height:760px}}
@media(max-width:767.98px){.security-status-view.is-visible{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;overflow:auto}.smart-home-demo.security-mode .home-plan{min-height:660px}.security-status-card{padding:.8rem}.security-status-card span{font-size:.75rem}.security-status-card small{font-size:.57rem}}

/* Final shared hero dimensions: About exactly matches Contact and the solution pages. */
:root{--compact-page-hero-height:400px}
.site-header,.site-header.home-header{position:absolute!important;inset:0 0 auto!important;z-index:1050!important;background:transparent!important;border-bottom:1px solid rgba(218,244,255,.16)!important;backdrop-filter:blur(5px)}
.about-reference-hero,.solution-hero-reference,.inner-hero{box-sizing:border-box;height:var(--compact-page-hero-height)!important;min-height:var(--compact-page-hero-height)!important}
.about-reference-hero{display:flex!important;align-items:center!important}
.about-reference-hero .container{padding:5.25rem 1.5rem 0!important;text-align:center}
.about-reference-hero .eyebrow,.about-reference-hero h1,.about-reference-hero p{margin-left:auto!important;margin-right:auto!important}
.solution-hero-reference-copy{top:50%!important;bottom:auto!important;left:1.25rem!important;right:1.25rem!important;margin:auto!important;transform:translateY(-38%)!important;text-align:center}
.inner-hero{display:flex!important;align-items:center!important;padding:5rem 0 0!important;text-align:center}
.inner-hero .container{width:100%}.inner-hero .eyebrow,.inner-hero h1,.inner-hero p{margin-left:auto!important;margin-right:auto!important}
@media(max-width:767.98px){:root{--compact-page-hero-height:380px}.about-reference-hero .container{padding-top:5rem!important}.solution-hero-reference-copy{transform:translateY(-30%)!important}}
.about-reference-hero h1{font-weight:500!important}
.inner-hero.has-page-hero{position:relative;overflow:hidden;isolation:isolate;background:#020305}
.inner-hero.has-page-hero .page-hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}
.inner-hero.has-page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,7,13,.7),rgba(2,7,13,.32) 48%,rgba(2,7,13,.62)),linear-gradient(0deg,rgba(2,7,13,.34),transparent 65%)}

/* Floating primary menu and transparent secondary Solutions menu. */
.site-header,.site-header.home-header{position:fixed!important;inset:0 0 auto!important;z-index:1050!important;background:rgba(2,5,9,.12)!important;border-bottom:1px solid rgba(218,244,255,.16)!important;backdrop-filter:blur(7px)}
.navbar .dropdown-menu{background:rgba(3,8,14,.48)!important;border:1px solid rgba(150,225,255,.2)!important;box-shadow:0 16px 34px rgba(0,0,0,.28);backdrop-filter:blur(18px)}
.navbar .dropdown-item{color:#dcecf8}.navbar .dropdown-item:hover,.navbar .dropdown-item:focus{background:rgba(40,169,232,.16);color:#fff}.navbar .dropdown-divider{border-color:rgba(190,233,255,.16)}
