:root {
  --forest: #081A33;
  --forest-dark: #061426;
  --green: #146CFF;
  --green-bright: #55C2FF;
  --mint: #EAF2FF;
  --mint-2: #F4F7FB;
  --lime: #DCEBFF;
  --ink: #0B172A;
  --muted: #607089;
  --line: #DCE5F0;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(8, 26, 51, 0.12);
  --shadow-soft: 0 14px 40px rgba(20, 108, 255, 0.08);
  --radius-xl: 32px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.skip-link {
  position: fixed;
  left: 16px;
  top: -80px;
  z-index: 9999;
  padding: 10px 16px;
  background: var(--forest-dark);
  color: white;
  border-radius: 10px;
  transition: top .2s ease;
}
.skip-link:focus { top: 16px; }

.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(220, 229, 240, 0.82);
  transition: box-shadow .25s ease, background .25s ease;
}
.site-header.is-scrolled { box-shadow: 0 10px 30px rgba(8, 26, 51, .08); background: rgba(255,255,255,.96); }
.site-header.compact { position: relative; }
.nav-shell { min-height: 82px; display: flex; align-items: center; gap: 26px; }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; text-decoration: none; }
.brand img { width: 190px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.site-nav a { position: relative; text-decoration: none; font-size: .94rem; font-weight: 700; color: #2A3B55; }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; border-radius: 2px; background: var(--green); transition: right .2s ease; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { right: 0; }
.nav-cta { flex-shrink: 0; }
.nav-toggle { display: none; border: 0; background: transparent; padding: 8px; margin-left: auto; }
.nav-toggle span { width: 25px; height: 2px; background: var(--forest); display: block; margin: 5px 0; border-radius: 4px; transition: transform .2s ease, opacity .2s ease; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 24px;
  border: 1px solid var(--green);
  border-radius: 14px;
  background: linear-gradient(135deg, var(--green), var(--forest));
  color: white;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(20, 108, 255, .20);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover, .button:focus-visible { transform: translateY(-2px); box-shadow: 0 15px 30px rgba(20, 108, 255, .27); }
.button-small { min-height: 43px; padding-inline: 18px; font-size: .9rem; border-radius: 12px; }
.button-ghost { background: rgba(255,255,255,.9); color: var(--forest); box-shadow: none; }
.button-ghost:hover { background: white; }

.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 15px; color: var(--green); font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .14em; }
.eyebrow span { width: 28px; height: 2px; background: currentColor; border-radius: 4px; }
.eyebrow.light { color: #91CEFF; }

.hero {
  position: relative;
  overflow: hidden;
  min-height: 730px;
  display: flex;
  align-items: center;
  padding: 88px 0 80px;
  background:
    radial-gradient(circle at 75% 16%, rgba(20,108,255,.12), transparent 27%),
    radial-gradient(circle at 9% 70%, rgba(85,194,255,.10), transparent 22%),
    linear-gradient(180deg, #FBFCFF 0%, #F3F7FC 100%);
}
.hero-orb { position: absolute; border-radius: 50%; border: 1px solid rgba(20,108,255,.20); pointer-events: none; }
.hero-orb-one { width: 420px; height: 420px; right: -150px; top: 90px; }
.hero-orb-two { width: 160px; height: 160px; left: -50px; bottom: 60px; }
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 70px; align-items: center; position: relative; z-index: 2; }
.hero h1 { margin: 0; font-size: clamp(3rem, 6vw, 5.9rem); line-height: .99; letter-spacing: -.055em; max-width: 750px; }
.hero h1 strong { color: var(--green); font-weight: 900; }
.hero-lead { max-width: 680px; margin: 28px 0 0; color: var(--muted); font-size: 1.14rem; line-height: 1.85; }
.hero-actions { display: flex; gap: 13px; flex-wrap: wrap; margin-top: 34px; }
.trust-row { display: flex; gap: 34px; flex-wrap: wrap; margin-top: 42px; padding-top: 27px; border-top: 1px solid var(--line); }
.trust-row div { display: grid; gap: 2px; }
.trust-row strong { color: var(--forest-dark); font-size: .98rem; }
.trust-row span { color: var(--muted); font-size: .82rem; }

.hero-visual { position: relative; min-height: 520px; display: flex; align-items: center; justify-content: center; }
.visual-shell { width: min(100%, 570px); background: white; border: 1px solid rgba(126, 194, 153, .38); border-radius: 30px; overflow: hidden; box-shadow: var(--shadow); transform: rotate(1.4deg); }
.visual-topbar { height: 52px; display: flex; align-items: center; gap: 7px; padding: 0 18px; background: #f7fbf8; border-bottom: 1px solid var(--line); }
.visual-topbar span { width: 9px; height: 9px; border-radius: 50%; background: #bed9c8; }
.visual-topbar small { margin-left: auto; color: #718178; font-size: .72rem; font-weight: 700; }
.visual-canvas { position: relative; min-height: 430px; padding: 28px; background: linear-gradient(135deg, #F8FAFD, #EDF4FF); }
.code-panel { position: absolute; top: 34px; left: 28px; width: 62%; min-height: 205px; padding: 24px; background: linear-gradient(145deg, #0A2345, #103E78); border-radius: 22px; box-shadow: 0 25px 45px rgba(4, 61, 34, .22); color: white; }
.code-title { display: flex; align-items: center; gap: 9px; font-size: .84rem; font-weight: 800; margin-bottom: 27px; }
.code-title i { width: 10px; height: 10px; border-radius: 50%; background: #56dc91; box-shadow: 0 0 0 5px rgba(86,220,145,.14); }
.code-line { height: 9px; border-radius: 8px; background: rgba(255,255,255,.17); margin: 13px 0; }
.code-line::before { content: ""; display: block; width: 26%; height: 100%; border-radius: inherit; background: #6ce4a0; }
.code-line.w90 { width: 90%; }.code-line.w68 { width: 68%; }.code-line.w78 { width: 78%; }
.code-status { display: flex; align-items: center; gap: 8px; margin-top: 25px; color: #d3f7df; font-size: .72rem; }
.code-status span { width: 7px; height: 7px; border-radius: 50%; background: #62e798; }
.property-panel { position: absolute; right: 23px; bottom: 34px; width: 50%; height: 250px; border-radius: 22px; background: linear-gradient(160deg, #daf4e3, #ffffff); border: 1px solid rgba(119, 188, 146, .35); box-shadow: 0 18px 40px rgba(8, 90, 49, .12); overflow: hidden; }
.building { position: absolute; left: 50%; top: 46%; width: 145px; height: 118px; transform: translate(-50%, -50%); background: #f8fffa; border: 6px solid #1769C8; border-radius: 8px 8px 4px 4px; box-shadow: 15px 14px 0 #9BC9FF; }
.roof { position: absolute; width: 128px; height: 64px; left: 1px; top: -48px; background: #155BB0; clip-path: polygon(50% 0, 100% 75%, 100% 100%, 0 100%, 0 75%); }
.window { position: absolute; width: 23px; height: 23px; border: 4px solid #1769C8; background: #DCEEFF; }.w1 { left: 18px; top: 18px; }.w2 { right: 18px; top: 18px; }.w3 { left: 18px; top: 60px; }.w4 { right: 18px; top: 60px; }
.door { position: absolute; width: 31px; height: 49px; background: #1769C8; bottom: 0; left: 51px; }
.property-label { position: absolute; bottom: 13px; left: 0; right: 0; text-align: center; color: var(--forest-dark); font-weight: 850; font-size: .8rem; }
.support-bubble { position: absolute; left: 36px; bottom: 27px; display: flex; align-items: center; gap: 12px; padding: 13px 18px; border-radius: 16px; background: white; box-shadow: 0 14px 32px rgba(5, 75, 42, .13); border: 1px solid var(--line); }
.support-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--green); font-weight: 900; }
.support-bubble div:last-child { display: grid; }
.support-bubble strong { font-size: .78rem; }.support-bubble span { color: var(--muted); font-size: .66rem; }
.floating-card { position: absolute; z-index: 3; padding: 11px 16px; border-radius: 14px; background: white; border: 1px solid var(--line); box-shadow: var(--shadow-soft); color: var(--forest-dark); font-size: .78rem; font-weight: 800; }
.floating-card span { color: var(--green); margin-right: 8px; }
.floating-card-one { left: -20px; top: 72px; }.floating-card-two { right: -8px; bottom: 44px; }

section { scroll-margin-top: 92px; }
.service-strip, .software-section, .property-section, .hospitality-section, .about-section { padding: 110px 0; }
.section-heading { max-width: 720px; margin-bottom: 42px; }
.section-heading.center { text-align: center; margin-inline: auto; }
.section-heading.center .eyebrow { justify-content: center; }
.section-heading h2, .section-copy h2 { margin: 0; font-size: clamp(2.25rem, 4.5vw, 4.2rem); line-height: 1.08; letter-spacing: -.045em; }
.section-heading p, .section-copy > p { color: var(--muted); font-size: 1.04rem; line-height: 1.8; }

.service-strip { background: white; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.service-card { position: relative; min-height: 360px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(180deg, white, #FBFCFF); box-shadow: var(--shadow-soft); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; overflow: hidden; }
.service-card::after { content: ""; position: absolute; width: 130px; height: 130px; border-radius: 50%; right: -75px; bottom: -80px; background: rgba(43,191,112,.08); transition: transform .25s ease; }
.service-card:hover { transform: translateY(-7px); border-color: #a8d7b9; box-shadow: var(--shadow); }
.service-card:hover::after { transform: scale(1.45); }
.icon-badge { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 17px; color: white; background: linear-gradient(145deg, var(--green-bright), var(--forest)); box-shadow: 0 10px 24px rgba(8, 122, 66, .18); }
.icon-badge svg, .product-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.service-number { position: absolute; top: 25px; right: 25px; margin: 0; color: #b8cfc0; font-size: .74rem; font-weight: 900; letter-spacing: .1em; }
.service-card h3 { margin: 30px 0 12px; font-size: 1.34rem; }
.service-card p:not(.service-number) { margin: 0; color: var(--muted); font-size: .93rem; }
.service-card a { position: absolute; left: 28px; bottom: 28px; text-decoration: none; color: var(--green); font-size: .85rem; font-weight: 850; }

.software-section { background: linear-gradient(135deg, #EFF5FF, #FBFCFF); border-block: 1px solid var(--line); }
.two-column { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }
.check-list { list-style: none; padding: 0; margin: 30px 0; display: grid; gap: 14px; }
.check-list li { position: relative; padding-left: 34px; color: #344b40; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #BBD8F5; color: var(--green); font-size: .75rem; font-weight: 900; }
.text-link { color: var(--green); font-weight: 900; text-decoration: none; }
.product-stack { display: grid; gap: 16px; }
.product-card { display: grid; grid-template-columns: 66px 1fr; gap: 18px; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255,255,255,.92); box-shadow: var(--shadow-soft); }
.product-card.product-featured { background: linear-gradient(145deg, #081A33, #0D4FC7); color: white; border-color: transparent; transform: translateX(-18px); }
.product-icon { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 18px; background: var(--mint); color: var(--green); }
.product-featured .product-icon { background: rgba(255,255,255,.14); color: #d0ffe1; }
.product-card span { display: block; color: var(--green); text-transform: uppercase; letter-spacing: .1em; font-size: .68rem; font-weight: 900; }
.product-featured span { color: #b7efd0; }
.product-card h3 { margin: 4px 0 6px; font-size: 1.18rem; }
.product-card p { margin: 0; color: var(--muted); font-size: .87rem; }
.product-featured p { color: rgba(255,255,255,.78); }

.property-section { background: white; }
.property-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 26px; }
.location-card { display: grid; grid-template-columns: 1fr 1fr; min-height: 390px; border-radius: var(--radius-xl); overflow: hidden; background: linear-gradient(145deg, #092A54, #0D5DCC); color: white; box-shadow: var(--shadow); }
.location-map { position: relative; min-height: 350px; background: linear-gradient(165deg, #0D4F9F, #071F42); overflow: hidden; }
.map-shape { position: absolute; display: block; border-radius: 40% 60% 55% 45% / 55% 35% 65% 45%; background: rgba(198, 242, 214, .14); border: 1px solid rgba(225,255,236,.19); }
.shape-one { width: 170px; height: 225px; left: 18%; top: 14%; transform: rotate(-18deg); }
.shape-two { width: 100px; height: 150px; left: 49%; top: 41%; transform: rotate(18deg); }
.shape-three { width: 85px; height: 90px; left: 53%; top: 9%; }
.map-pin { position: absolute; width: 18px; height: 18px; border-radius: 50% 50% 50% 0; background: #55C2FF; transform: rotate(-45deg); box-shadow: 0 0 0 8px rgba(139,236,174,.12); }
.pin-one { left: 39%; top: 31%; }.pin-two { left: 57%; top: 59%; }.pin-three { left: 42%; top: 73%; }
.location-copy { padding: 42px 34px; display: flex; flex-direction: column; justify-content: center; }
.location-copy > span { color: #9DD4FF; font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .13em; }
.location-copy h3 { margin: 9px 0 24px; font-size: 1.9rem; line-height: 1.16; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-list span { padding: 8px 11px; border-radius: 999px; border: 1px solid rgba(255,255,255,.17); background: rgba(255,255,255,.08); color: #E8F4FF; font-size: .75rem; }
.property-types { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mini-card { min-height: 184px; padding: 26px; border-radius: var(--radius-lg); border: 1px solid var(--line); background: var(--mint-2); }
.mini-card span { color: var(--forest); font-size: 1.02rem; font-weight: 900; }
.mini-card p { margin: 12px 0 0; color: var(--muted); font-size: .87rem; }

.hospitality-section { background: linear-gradient(180deg, #F8FAFD, #eef9f2); border-block: 1px solid var(--line); }
.hospitality-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 76px; align-items: center; }
.hospitality-visual { position: relative; min-height: 480px; }
.room-scene { position: absolute; inset: 0 40px 35px 0; border-radius: var(--radius-xl); background: linear-gradient(165deg, #DCEBFF, #A9CCF3); overflow: hidden; box-shadow: var(--shadow); }
.room-scene::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 24%; background: #b98f6f; clip-path: polygon(0 42%, 100% 0, 100% 100%, 0 100%); opacity: .44; }
.room-window { position: absolute; right: 42px; top: 45px; width: 170px; height: 180px; border: 12px solid white; background: linear-gradient(#91c8b0, #d4ead9); box-shadow: 0 13px 20px rgba(49,85,63,.12); }
.room-window::before, .room-window::after { content: ""; position: absolute; background: rgba(255,255,255,.85); }.room-window::before { width: 8px; top: 0; bottom: 0; left: 50%; }.room-window::after { height: 8px; left: 0; right: 0; top: 50%; }
.room-window span { position: absolute; bottom: 0; left: 0; right: 0; height: 48%; background: linear-gradient(150deg, transparent 49%, #3d8a60 50%); opacity: .7; }
.room-bed { position: absolute; left: 45px; bottom: 75px; width: 300px; height: 115px; border-radius: 18px 18px 7px 7px; background: #fff; box-shadow: 0 18px 25px rgba(83,64,47,.16); }
.room-bed::before { content: ""; position: absolute; top: 38px; left: 0; right: 0; bottom: 0; background: linear-gradient(120deg, #eaf6ee, #c9e6d2); border-radius: 12px 12px 7px 7px; }
.pillow { position: absolute; top: 10px; width: 80px; height: 48px; border-radius: 14px; background: #f7f7f2; box-shadow: 0 3px 10px rgba(0,0,0,.06); z-index: 2; }.p1 { left: 29px; }.p2 { left: 119px; }
.room-table { position: absolute; right: 50px; bottom: 80px; width: 74px; height: 54px; background: #7e5d47; border-radius: 5px; }.room-table::after { content: ""; position: absolute; width: 7px; height: 47px; background: #6b4b38; left: 34px; top: 54px; }.room-table span { position: absolute; width: 26px; height: 22px; border-radius: 50% 50% 40% 40%; background: #2B82D8; top: -18px; left: 24px; }
.room-lamp { position: absolute; right: 67px; bottom: 151px; width: 39px; height: 45px; background: #f4d497; clip-path: polygon(20% 0, 80% 0, 100% 100%, 0 100%); }
.stay-badge { position: absolute; right: 0; bottom: 0; padding: 18px 22px; border-radius: 18px; background: #0C4FA8; color: white; box-shadow: var(--shadow); display: grid; }
.stay-badge strong { font-size: .9rem; }.stay-badge span { color: #CBE5FF; font-size: .72rem; }
.stay-options { display: grid; gap: 12px; margin: 28px 0 30px; }
.stay-options div { display: grid; padding: 16px 18px; border: 1px solid rgba(113,171,232,.25); border-radius: 15px; background: rgba(255,255,255,.7); }
.stay-options strong { color: var(--forest); }.stay-options span { color: var(--muted); font-size: .85rem; }

.about-section { background: white; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.values-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.value-card { min-height: 170px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg, white, #F3F7FC); }
.value-card strong { display: block; margin-bottom: 8px; color: var(--forest); font-size: 1.1rem; }
.value-card span { color: var(--muted); font-size: .87rem; }

.contact-section { padding: 110px 0; background: linear-gradient(145deg, #07182F, #0F56D9); color: white; overflow: hidden; position: relative; }
.contact-section::before { content: ""; position: absolute; width: 500px; height: 500px; border-radius: 50%; border: 1px solid rgba(255,255,255,.08); right: -220px; top: -180px; }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; position: relative; z-index: 2; }
.contact-copy h2 { margin: 0; font-size: clamp(2.45rem, 5vw, 4.6rem); line-height: 1.05; letter-spacing: -.045em; }
.contact-copy > p { color: #BFD3EA; }
.contact-cards { display: grid; gap: 11px; margin-top: 30px; }
.contact-cards a, .contact-cards div { display: grid; padding: 14px 17px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); text-decoration: none; }
.contact-cards span { color: #8CC7FF; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.contact-cards strong { color: white; font-size: .94rem; }
.contact-form { padding: 32px; border-radius: var(--radius-xl); background: white; color: var(--ink); box-shadow: 0 30px 80px rgba(0,0,0,.22); }
.contact-form label { display: grid; gap: 8px; margin-bottom: 15px; color: #254033; font-size: .8rem; font-weight: 800; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; border: 1px solid rgba(113,171,232,.28); border-radius: 12px; background: #071A31; color: var(--ink); padding: 12px 14px; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--green); box-shadow: 0 0 0 4px rgba(10, 138, 75, .1); }
.contact-form textarea { resize: vertical; min-height: 130px; }
.form-submit { border: 0; width: 100%; }
.form-note { margin: 11px 0 0; color: #75847b; text-align: center; font-size: .72rem; }

.site-footer { padding: 65px 0 20px; background: #071A31; }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 45px; padding-bottom: 40px; }
.footer-brand img { width: 188px; }.footer-brand p { max-width: 320px; color: var(--muted); font-size: .88rem; }
.footer-grid h3 { margin: 8px 0 16px; color: var(--forest); font-size: .88rem; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 10px; }
.footer-grid a, .footer-grid span { color: var(--muted); text-decoration: none; font-size: .84rem; }
.footer-grid a:hover { color: var(--green); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid var(--line); color: #6f8177; font-size: .75rem; }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
.js .reveal.is-visible { opacity: 1; transform: none; }

.legal-body { background: #07182F; }
.legal-main { padding: 60px 0 90px; }
.legal-card { max-width: 880px; padding: 52px; border-radius: var(--radius-xl); background: white; box-shadow: var(--shadow-soft); }
.legal-card h1 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.3rem); letter-spacing: -.05em; }
.legal-card h2 { margin-top: 35px; color: var(--forest); font-size: 1.25rem; }
.legal-card p { color: var(--muted); }
.legal-card a { color: var(--green); font-weight: 750; }
.legal-updated { font-size: .82rem; }
.legal-footer { padding: 25px; text-align: center; background: var(--forest-dark); color: #BBD8F5; font-size: .8rem; }
.not-found { min-height: 100vh; display: grid; place-items: center; padding: 30px; background: linear-gradient(145deg, #07182F, #fff); text-align: center; }
.not-found main { max-width: 600px; }.not-found img { margin: 0 auto 45px; }.not-found h1 { font-size: clamp(2.3rem, 6vw, 4.5rem); margin: 0 0 10px; }.not-found p:not(.eyebrow) { color: var(--muted); margin-bottom: 28px; }

@media (max-width: 1080px) {
  .site-nav { gap: 18px; }
  .site-nav a { font-size: .87rem; }
  .hero-grid, .two-column, .hospitality-grid, .contact-grid { gap: 46px; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card { min-height: 320px; }
  .hero h1 { font-size: clamp(3rem, 7vw, 5rem); }
  .product-card.product-featured { transform: none; }
}

@media (max-width: 850px) {
  .nav-shell { min-height: 72px; }
  .brand img { width: 165px; }
  .nav-toggle { display: block; }
  .nav-cta { display: none; }
  .site-nav { display: none; position: absolute; left: 20px; right: 20px; top: 76px; padding: 18px; flex-direction: column; align-items: stretch; gap: 0; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: var(--shadow); }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: 12px 9px; }
  .site-nav a::after { display: none; }
  .hero { padding-top: 55px; }
  .hero-grid, .two-column, .property-layout, .hospitality-grid, .about-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero-copy { text-align: center; }.hero-copy .eyebrow { justify-content: center; }.hero-lead { margin-inline: auto; }.hero-actions, .trust-row { justify-content: center; }
  .hero-visual { min-height: 470px; }
  .visual-shell { max-width: 560px; }
  .two-column, .property-layout, .hospitality-grid, .about-grid, .contact-grid { gap: 42px; }
  .hospitality-visual { order: 2; }
  .contact-copy { text-align: center; }.contact-copy .eyebrow { justify-content: center; }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }.footer-grid > div:last-child { grid-column: 2 / 4; }
}

@media (max-width: 620px) {
  .container { width: min(100% - 26px, var(--container)); }
  .hero { min-height: auto; padding-bottom: 65px; }
  .hero h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
  .hero-lead { font-size: 1rem; }
  .hero-actions { display: grid; }.hero-actions .button { width: 100%; }
  .trust-row { gap: 18px; }.trust-row div { min-width: 120px; }
  .hero-visual { min-height: 380px; }
  .visual-shell { transform: none; }
  .visual-canvas { min-height: 325px; padding: 16px; }
  .code-panel { left: 14px; top: 22px; width: 65%; min-height: 165px; padding: 18px; }
  .property-panel { right: 12px; bottom: 20px; width: 51%; height: 190px; }
  .building { width: 104px; height: 86px; border-width: 4px; box-shadow: 10px 9px 0 #9BC9FF; }
  .roof { width: 92px; height: 46px; top: -35px; }.window { width: 16px; height: 16px; border-width: 3px; }.w1 { left: 12px; top: 13px; }.w2 { right: 12px; top: 13px; }.w3 { left: 12px; top: 44px; }.w4 { right: 12px; top: 44px; }.door { width: 24px; height: 37px; left: 36px; }
  .support-bubble { left: 12px; bottom: 15px; padding: 10px 12px; }.support-bubble span { display: none; }
  .floating-card-one { left: 2px; top: 20px; }.floating-card-two { right: 0; bottom: -3px; }
  .service-strip, .software-section, .property-section, .hospitality-section, .about-section, .contact-section { padding: 78px 0; }
  .section-heading h2, .section-copy h2, .contact-copy h2 { font-size: clamp(2.15rem, 11vw, 3.2rem); }
  .service-grid, .property-types, .values-grid, .form-row { grid-template-columns: 1fr; }
  .service-card { min-height: 330px; }
  .location-card { grid-template-columns: 1fr; }.location-map { min-height: 260px; }.location-copy { padding: 28px; }
  .room-scene { inset: 0 10px 35px 0; }.room-bed { width: 230px; left: 22px; }.room-window { right: 22px; width: 130px; }
  .contact-form { padding: 23px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1 / 3; }.footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .legal-card { padding: 32px 23px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* v1.3 content updates */
.service-grid-two { grid-template-columns: repeat(2, 1fr); max-width: 880px; margin-inline: auto; }
.software-layout { align-items: start; }
.systems-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.system-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255,255,255,.94); box-shadow: var(--shadow-soft); }
.system-card.featured { background: linear-gradient(145deg, #081A33, #0D4FC7); color: white; border-color: transparent; }
.system-label { display: inline-block; color: var(--green); text-transform: uppercase; letter-spacing: .1em; font-size: .68rem; font-weight: 900; }
.system-card.featured .system-label { color: #B9D8FF; }
.system-card h3 { margin: 8px 0 14px; font-size: 1.22rem; line-height: 1.2; }
.system-card ul { margin: 0; padding-left: 18px; display: grid; gap: 8px; }
.system-card li { color: var(--muted); font-size: .9rem; }
.system-card.featured li, .system-card.featured h3 { color: white; }
.support-section { padding: 110px 0; background: white; }
.support-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 68px; align-items: start; }
.support-points { display: grid; gap: 12px; margin-top: 28px; }
.support-points div { display: grid; padding: 16px 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--mint-2); }
.support-points strong { color: var(--forest); }
.support-points span { color: var(--muted); font-size: .85rem; }
.reference-section { padding: 110px 0; background: linear-gradient(180deg, #F8FAFD, #EEF4FB); border-block: 1px solid var(--line); }
.reference-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.reference-card { min-height: 150px; padding: 26px; border-radius: var(--radius-lg); border: 1px solid var(--line); background: white; box-shadow: var(--shadow-soft); display: grid; align-content: center; gap: 8px; text-align: center; }
.reference-card strong { color: var(--forest); font-size: 1.08rem; }
.reference-card span { color: var(--muted); font-size: .84rem; }
.quick-contact .button { width: 100%; border: 0; }
.quick-contact select[disabled], .quick-contact textarea[disabled] { color: #607068; }

@media (max-width: 1080px) {
  .service-grid-two, .systems-grid, .reference-grid { grid-template-columns: repeat(2, 1fr); }
  .support-grid { gap: 42px; }
}

@media (max-width: 850px) {
  .support-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .service-grid-two, .systems-grid, .reference-grid { grid-template-columns: 1fr; }
  .support-section, .reference-section { padding: 78px 0; }
}


/* v1.5 IT support and quotation form refinements */
.service-card { display: flex; flex-direction: column; }
.service-card a { position: static; margin-top: auto; padding-top: 24px; z-index: 1; }
.quote-status { margin-top: 16px; padding: 15px 16px; border: 1px solid #B8D0F5; border-radius: 14px; background: #EFF5FF; color: var(--forest-dark); text-align: left; }
.quote-status[hidden] { display: none; }
.quote-status strong, .quote-status span { display: block; }
.quote-status span { margin-top: 4px; color: var(--muted); font-size: .84rem; }
.quote-status a { display: inline-block; margin-top: 9px; color: var(--green); font-size: .82rem; font-weight: 850; }


/* v1.6 SEO public service pages */
.system-link { display: inline-block; margin-top: 16px; color: var(--green); font-size: .82rem; font-weight: 850; text-decoration: none; }
.system-card.featured .system-link { color: #C9E2FF; }
.seo-services-section { padding: 110px 0; background: #fff; }
.seo-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.seo-service-card { display: flex; min-height: 220px; flex-direction: column; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg, #fff, var(--mint-2)); box-shadow: var(--shadow-soft); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.seo-service-card:hover { transform: translateY(-4px); border-color: #B8D0F5; box-shadow: var(--shadow); }
.seo-service-card strong { color: var(--forest); font-size: 1.18rem; }
.seo-service-card span { margin-top: 10px; color: var(--muted); font-size: .9rem; }
.seo-service-card em { margin-top: auto; padding-top: 20px; color: var(--green); font-size: .8rem; font-style: normal; font-weight: 850; }
.seo-page-hero { padding: 92px 0 72px; background: linear-gradient(145deg, #F7FAFF, #EDF4FF); border-bottom: 1px solid var(--line); }
.seo-page-hero .container { max-width: 980px; text-align: center; }
.seo-page-hero h1 { margin: 0; font-size: clamp(2.7rem, 6vw, 5.2rem); line-height: 1.03; letter-spacing: -.052em; }
.seo-page-hero p:not(.eyebrow) { max-width: 780px; margin: 24px auto 0; color: var(--muted); font-size: 1.08rem; line-height: 1.8; }
.seo-detail-section { padding: 92px 0; }
.seo-detail-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 54px; align-items: start; }
.seo-detail-copy h2 { margin: 0 0 18px; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.08; letter-spacing: -.04em; }
.seo-detail-copy h3 { margin-top: 30px; color: var(--forest); }
.seo-detail-copy p { color: var(--muted); line-height: 1.8; }
.seo-detail-copy ul { padding-left: 20px; display: grid; gap: 10px; color: var(--muted); }
.seo-side-card { position: sticky; top: 110px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--mint-2); box-shadow: var(--shadow-soft); }
.seo-side-card h2 { margin-top: 0; color: var(--forest); font-size: 1.5rem; }
.seo-side-card p { color: var(--muted); }
.seo-side-links { display: grid; gap: 10px; margin-top: 18px; }
.seo-side-links a { padding: 11px 13px; border-radius: 12px; background: #fff; border: 1px solid var(--line); color: var(--forest); text-decoration: none; font-size: .86rem; font-weight: 800; }
.seo-cta { padding: 52px 0 92px; }
.seo-cta-box { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: 38px; border-radius: var(--radius-xl); background: linear-gradient(145deg, #07182F, #0F56D9); color: #fff; }
.seo-cta-box h2 { margin: 0 0 8px; font-size: clamp(1.8rem, 3vw, 2.8rem); }
.seo-cta-box p { margin: 0; color: #D7E7FF; }
@media (max-width: 1080px) { .seo-service-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 850px) { .seo-detail-grid { grid-template-columns: 1fr; } .seo-side-card { position: static; } .seo-cta-box { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .seo-services-section, .seo-detail-section { padding: 78px 0; } .seo-service-grid { grid-template-columns: 1fr; } .seo-page-hero { padding: 68px 0 54px; } .seo-page-hero p:not(.eyebrow) { font-size: 1rem; } .seo-cta { padding-bottom: 70px; } .seo-cta-box { padding: 28px 22px; } .seo-cta-box .button { width: 100%; } }


/* v1.7 TechLodge blue software identity */
.modules-section { padding: 110px 0; background: linear-gradient(180deg,#f7faff,#eef4fb); border-block:1px solid var(--line); }
.module-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:42px; }
.module-card { position:relative; overflow:hidden; min-height:190px; padding:24px; border:1px solid var(--line); border-radius:var(--radius-lg); background:rgba(255,255,255,.94); box-shadow:var(--shadow-soft); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.module-card::after { content:""; position:absolute; width:90px; height:90px; right:-35px; bottom:-35px; border-radius:50%; background:rgba(20,108,255,.08); transition:transform .3s ease; }
.module-card:hover { transform:translateY(-6px); border-color:#a9c8fa; box-shadow:var(--shadow); }
.module-card:hover::after { transform:scale(1.35); }
.module-card > span { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#eaf2ff; color:var(--green); font-weight:900; font-size:.72rem; }
.module-card h3 { margin:18px 0 8px; color:var(--forest); font-size:1.12rem; }
.module-card p { margin:0; color:var(--muted); font-size:.88rem; }
.visual-shell { animation: softwareFloat 5.5s ease-in-out infinite; }
.floating-card-one { animation: softwareFloat 4.8s ease-in-out infinite reverse; }
.floating-card-two { animation: softwareFloat 5.8s ease-in-out infinite; }
.code-line { position:relative; overflow:hidden; }
.code-line::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(85,194,255,.55),transparent); transform:translateX(-120%); animation:codeScan 2.8s ease-in-out infinite; }
.support-icon { animation:pulseTech 2.4s ease-in-out infinite; }
@keyframes softwareFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes codeScan { 0%,20%{transform:translateX(-120%)} 70%,100%{transform:translateX(120%)} }
@keyframes pulseTech { 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} }
@media (prefers-reduced-motion:reduce){ .visual-shell,.floating-card-one,.floating-card-two,.code-line::after,.support-icon{animation:none!important} }
@media (max-width:1080px){.module-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.modules-section{padding:78px 0}.module-grid{grid-template-columns:1fr}}

/* v1.8 — TechLodge dark navy / electric blue redesign */
:root {
  --forest: #0B2E63;
  --forest-dark: #06162C;
  --green: #2488FF;
  --green-bright: #62C4FF;
  --mint: #102C50;
  --mint-2: #0D2543;
  --lime: #173B67;
  --ink: #F5F9FF;
  --muted: #AFC2DA;
  --line: rgba(121, 170, 226, .22);
  --white: #081A33;
  --shadow: 0 28px 80px rgba(0, 9, 26, .42);
  --shadow-soft: 0 16px 42px rgba(0, 24, 66, .35);
}
body { background: #07182F; color: #F5F9FF; }
.site-header { background: rgba(6, 22, 44, .90); border-bottom-color: rgba(96, 163, 239, .18); }
.site-header.is-scrolled { background: rgba(6, 22, 44, .97); box-shadow: 0 12px 34px rgba(0,0,0,.25); }
.brand { background: rgba(255,255,255,.97); padding: 7px 12px; border-radius: 15px; box-shadow: 0 10px 28px rgba(0,0,0,.18); }
.brand img { width: 178px; }
.site-nav a { color: #E8F2FF; }
.nav-toggle span { background: #E8F2FF; }
.hero { background: radial-gradient(circle at 82% 22%, rgba(36,136,255,.30), transparent 32%), radial-gradient(circle at 28% 15%, rgba(98,196,255,.12), transparent 26%), linear-gradient(145deg,#06162C 0%,#08234A 56%,#0B3D83 100%); }
.hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 45%,rgba(73,166,255,.05)); }
.hero h1, .section-heading h2, .section-copy h2, .contact-copy h2 { color:#F8FBFF; }
.hero-lead, .section-heading > p, .section-copy > p { color:#B8CAE0; }
.hero h1 strong { color:#4AA5FF; }
.trust-row { border-top-color: rgba(151,190,235,.22); }
.trust-row strong { color:#F4F9FF; }.trust-row span { color:#AFC2DA; }
.button { background: linear-gradient(135deg,#3AA3FF,#126BEE); border-color:#4BAAFF; box-shadow:0 12px 30px rgba(20,108,255,.30); }
.button-ghost { background:rgba(8,30,61,.72); color:#F4F9FF; border-color:rgba(108,180,255,.58); }
.button-ghost:hover { background:#0D2C56; }
.visual-shell { background:linear-gradient(145deg,rgba(255,255,255,.97),#EAF3FF); border-color:rgba(126,182,244,.40); box-shadow:0 35px 90px rgba(0,8,30,.42); }
.code-panel { background:linear-gradient(145deg,#0A2345,#103E78); box-shadow:0 25px 50px rgba(0,25,70,.38); }
.code-title i,.code-status span { background:#35A7FF; }.code-line { background:linear-gradient(90deg,#61C7FF,#2B83FF); opacity:.9; }
.property-panel { background:linear-gradient(145deg,#EAF4FF,#CFE4FF); }
.building { border-color:#1769C8; box-shadow:15px 14px 0 #9BC9FF; }.roof,.door { background:#155BB0; }.window { border-color:#1769C8; background:#DCEEFF; }
.support-icon { background:#147BFF; }
.service-strip,.software-section,.property-section,.about-section { background:#07182F; }
.hospitality-section { background:linear-gradient(180deg,#081A33,#0A2140); border-block-color:var(--line); }
.service-card,.system-card,.module-card,.product-card,.mini-card,.value-card { background:linear-gradient(145deg,#0C2442,#0A1D36); border-color:var(--line); box-shadow:0 16px 38px rgba(0,8,28,.22); }
.service-card p,.system-card li,.module-card p,.product-card p,.mini-card p,.value-card span { color:#AFC2DA; }
.service-card h3,.system-card h3,.module-card h3,.product-card h3,.mini-card span,.value-card strong { color:#F5F9FF; }
.system-card.featured,.product-card.product-featured { background:linear-gradient(145deg,#0B2A55,#0D5DCC); }
.check-list li::before { background:#123A69; color:#55B7FF; }
.location-card { background:linear-gradient(145deg,#0A2A54,#0D5DCC); }
.location-map { background:linear-gradient(165deg,#0D4F9F,#071F42); }
.map-shape { background:rgba(126,190,255,.12); border-color:rgba(184,220,255,.22); }.map-pin { background:#55C2FF; box-shadow:0 0 0 8px rgba(85,194,255,.14); }
.tag-list span { color:#E8F4FF; }
.room-scene { background:linear-gradient(165deg,#DCEBFF,#A9CCF3); }.stay-badge { background:#0C4FA8; }.stay-badge span { color:#CBE5FF; }
.stay-options div { border-color:rgba(113,171,232,.25); background:#0C2442; }.stay-options strong { color:#F5F9FF; }
.contact-section { background:radial-gradient(circle at 85% 20%,rgba(55,149,255,.30),transparent 28%),linear-gradient(145deg,#05152B,#0B3F87); }
.contact-copy > p { color:#BFD3EA; }.contact-cards span { color:#8CC7FF; }
.contact-form { background:#0B2341; color:#F5F9FF; border:1px solid rgba(113,171,232,.25); }.contact-form label { color:#D9E9FA; }
.contact-form input,.contact-form select,.contact-form textarea { background:#071A31; border-color:rgba(113,171,232,.28); color:#F5F9FF; }.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:#2488FF; box-shadow:0 0 0 4px rgba(36,136,255,.15); }.form-note { color:#9EB4CE; }
.site-footer { background:#051426; }.footer-grid h3 { color:#E8F3FF; }.footer-grid a,.footer-grid span,.footer-brand p { color:#9FB5CF; }.footer-bottom { border-top-color:var(--line); color:#829AB5; }
.legal-body,.not-found { background:#07182F; }.legal-card { background:#0B2341; }.legal-card h2 { color:#E8F3FF; }.legal-card p { color:#AFC2DA; }.legal-footer { background:#041020; color:#BBD8F5; }
/* eliminate the last legacy green accents */
.eyebrow.light { color:#91CEFF; }
.contact-form option { background:#071A31; color:#F5F9FF; }
@media (max-width: 900px) { .site-nav { background:#071A31; border-color:var(--line); } .site-nav a { color:#E8F2FF; } }

/* v1.9 DARK NEON BLUE REDESIGN */
:root{--page:#031a35;--page2:#062a58;--electric:#139cff;--cyan:#47c9ff;--panel:#082d60;--panel2:#0b3976;--text:#f7fbff;--soft:#b9d1ec;--line2:rgba(75,177,255,.24)}
body{background:radial-gradient(circle at 72% 12%,#0b4ea3 0,#062b5c 25%,#031a35 58%,#021328 100%);color:var(--text)}
.site-header,.site-header.is-scrolled{background:rgba(3,20,43,.88);border-color:var(--line2);box-shadow:none}.site-nav a{color:#eaf5ff}.nav-toggle span{background:white}.brand{position:relative;padding:4px 12px}.brand img{width:170px;max-height:74px;object-fit:contain}.brand:after{content:"";position:absolute;left:15%;right:2%;top:8px;height:34px;border-top:2px solid #29a9ff;border-radius:50%;transform:rotate(-5deg);pointer-events:none}
.hero{min-height:760px;background:radial-gradient(circle at 76% 42%,rgba(16,125,255,.36),transparent 33%),linear-gradient(135deg,#03172f,#052a5a 55%,#073a78);border-bottom:1px solid var(--line2);overflow:hidden}.hero-grid{grid-template-columns:.86fr 1.14fr;gap:42px}.hero-copy h1{color:white;font-size:clamp(3.3rem,5.4vw,5.4rem);line-height:.98}.hero-copy h1 strong{color:#27a9ff}.hero-lead,.trust-row span{color:#c3d7ec}.eyebrow{color:#42bcff}.button{background:linear-gradient(135deg,#39b6ff,#086dff);border-color:#29a9ff;box-shadow:0 10px 32px rgba(0,120,255,.3)}.button-ghost{background:transparent;color:white;border-color:#249cff}.trust-row{border-top-color:var(--line2)}.trust-row strong{color:white}
.visual-shell{background:linear-gradient(145deg,#082a57,#031b3b);border:1px solid rgba(52,172,255,.65);box-shadow:0 0 60px rgba(0,122,255,.34),0 30px 70px rgba(0,0,0,.3);transform:perspective(1200px) rotateY(-4deg) rotateX(1deg)}.visual-topbar{background:#08244a;border-bottom-color:var(--line2)}.visual-topbar small{color:#9ed8ff}.dashboard-mockup{display:grid;grid-template-columns:150px 1fr;min-height:390px;padding:0!important;background:linear-gradient(145deg,#062451,#082f66)!important;position:relative}.dash-side{padding:25px 16px;background:#061d40;display:flex;flex-direction:column;gap:16px;color:#b9d9f7}.dash-side b{color:white;font-size:1.05rem;margin-bottom:10px}.dash-side span:first-of-type{background:#0b65ca;color:white;padding:8px;border-radius:8px}.dash-main{padding:24px;color:white}.dash-search{margin-left:auto;width:190px;background:#0a3a78;color:#8fc8ff;padding:8px 13px;border-radius:18px;font-size:.7rem}.dash-main h3{margin:10px 0 18px}.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kpi-row>div,.chart-card{background:linear-gradient(145deg,#0a3a78,#092f64);border:1px solid rgba(80,180,255,.13);border-radius:12px;padding:14px}.kpi-row small{display:block;color:#a8c7e7}.kpi-row strong{display:block;font-size:1.25rem}.kpi-row em{font-style:normal;color:#35f58c;font-size:.72rem}.chart-card{margin-top:12px;height:175px}.chart-bars{height:120px;display:flex;align-items:flex-end;gap:13px;padding:12px}.chart-bars i{display:block;width:12%;border-radius:8px 8px 2px 2px;background:linear-gradient(#3cc6ff,#0874ff);box-shadow:0 0 15px rgba(29,159,255,.35)}.chart-bars i:nth-child(1){height:34%}.chart-bars i:nth-child(2){height:55%}.chart-bars i:nth-child(3){height:44%}.chart-bars i:nth-child(4){height:72%}.chart-bars i:nth-child(5){height:63%}.chart-bars i:nth-child(6){height:88%}.phone-mock{position:absolute;left:-55px;bottom:-54px;width:145px;padding:16px 10px;background:#041b3b;border:2px solid #2cb8ff;border-radius:27px;box-shadow:0 0 30px rgba(0,146,255,.5);transform:rotate(-6deg);color:white}.phone-mock b{display:block;text-align:center;font-size:.78rem;margin-bottom:10px}.phone-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.phone-grid span{padding:12px 3px;background:#0a3e7d;border-radius:8px;text-align:center;font-size:.55rem}.floating-card{background:#082d60;color:white;border-color:#1f9cff;box-shadow:0 0 28px rgba(0,137,255,.24)}.floating-card span{color:#4bc7ff}
section,.service-strip,.software-section,.property-section,.hospitality-section,.about-section{background:transparent!important;border-color:var(--line2)!important}.section-heading h2,.section-copy h2,.service-card h3,.system-card h3,.mini-card span,.value-card strong,.stay-options strong{color:white}.section-heading p,.section-copy p,.service-card p,.system-card p,.mini-card p,.value-card span,.check-list li{color:#b8cce3}.service-card,.system-card,.mini-card,.value-card,.product-card,.stay-options div{background:linear-gradient(145deg,rgba(8,45,96,.9),rgba(5,29,63,.92))!important;border-color:var(--line2)!important;box-shadow:0 16px 40px rgba(0,0,0,.18)}.service-card a,.system-link,.text-link{color:#45c1ff}.icon-badge,.product-icon{background:#0b4c97;color:#5acaff}.check-list li:before{background:#0c4b94;color:#69d4ff}.location-card,.room-scene{background:linear-gradient(145deg,#072755,#0a4a98)!important}.contact-section{background:linear-gradient(145deg,#02152d,#073d82)}.contact-form{background:#061f43;color:white;border:1px solid var(--line2)}.contact-form label{color:#d7eaff}.contact-form input,.contact-form select,.contact-form textarea{background:#041831;color:white;border-color:var(--line2)}.site-footer{background:#011126;border-top:1px solid var(--line2)}.footer-grid h3{color:#55c7ff}.footer-brand p,.footer-grid a{color:#a9bfd8}.not-found{background:#031a35;color:white}
@media(max-width:900px){.dashboard-mockup{grid-template-columns:100px 1fr}.kpi-row{grid-template-columns:1fr}.kpi-row>div:nth-child(n+2){display:none}.phone-mock{left:-20px}.hero{min-height:auto}.brand img{width:145px}}

/* v2.0 approved dark-neon homepage refinement */
.site-header,.site-header.is-scrolled{background:rgba(2,18,39,.94)!important;border-bottom:1px solid rgba(46,160,255,.18)!important;backdrop-filter:blur(18px)}
.brand{background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important;min-width:230px;height:84px;position:relative;overflow:visible}
.brand img{display:none!important}
.brand::before{content:"TechLodge";position:absolute;left:0;top:25px;color:#fff;font-size:36px;font-weight:700;letter-spacing:-1.6px;line-height:1;font-family:Arial,Helvetica,sans-serif;white-space:nowrap}
.brand::after{content:""!important;position:absolute!important;left:0!important;top:8px!important;width:220px!important;height:46px!important;border:0!important;border-top:3px solid #37a9ff!important;border-radius:50% 55% 0 0!important;transform:rotate(-4deg)!important;box-shadow:82px -4px 0 -1px transparent!important;opacity:1!important}
.brand{border-top:0}
.brand:focus-visible{outline:2px solid #39b8ff;outline-offset:5px}
.nav-shell{min-height:92px}
.site-nav{gap:30px}.site-nav a{font-size:.96rem;font-weight:650}
.hero{padding-top:84px!important;min-height:760px!important;background:radial-gradient(circle at 73% 40%,rgba(0,125,255,.34),transparent 32%),radial-gradient(circle at 48% 10%,rgba(0,91,220,.16),transparent 30%),linear-gradient(135deg,#02162f 0%,#032a5a 58%,#073b79 100%)!important}
.hero-grid{grid-template-columns:.82fr 1.18fr!important;gap:34px!important}.hero-copy h1{font-size:clamp(3.4rem,5.55vw,5.55rem)!important}.hero-lead{font-size:1.1rem!important;line-height:1.7!important}.hero-visual{min-height:535px!important}
.visual-shell{transform:perspective(1200px) rotateY(-2deg);box-shadow:0 0 0 1px rgba(55,176,255,.32),0 0 55px rgba(0,120,255,.24),0 30px 70px rgba(0,0,0,.3)!important}.visual-shell:hover{transform:perspective(1200px) rotateY(0deg) translateY(-4px)}
.dashboard-mockup{background:linear-gradient(145deg,#06265a,#031c40)!important}.dash-main,.chart-card,.kpi-row>div,.phone-mock{background:linear-gradient(145deg,#0a3a7b,#062754)!important;border-color:rgba(66,180,255,.25)!important}.phone-mock{box-shadow:0 0 32px rgba(0,137,255,.35)!important}
.service-strip{padding-top:88px!important;padding-bottom:72px!important}.software-section{padding-top:88px!important;padding-bottom:42px!important}.software-modules-continuation{padding-top:26px!important;padding-bottom:90px!important;background:transparent!important;border-top:0!important}.software-modules-continuation .section-heading{max-width:840px;margin-inline:auto}.module-grid{margin-top:36px!important}.module-card{background:linear-gradient(145deg,rgba(8,48,101,.88),rgba(4,27,60,.94))!important;border:1px solid rgba(51,166,255,.18)!important;box-shadow:0 16px 38px rgba(0,0,0,.18)!important}.module-card:hover{transform:translateY(-5px);border-color:rgba(67,190,255,.55)!important;box-shadow:0 20px 48px rgba(0,104,255,.18)!important}.module-card h3{color:#fff!important}.module-card p{color:#b9cee5!important}.module-card>span{color:#4bc2ff!important}
body,main,.service-strip,.software-section,.modules-section,.support-section,.references-section,.about-section,.contact-section{background-color:#031a36!important}.support-section,.references-section,.about-section{background:linear-gradient(180deg,#031a36,#04244b)!important}.contact-section{background:linear-gradient(145deg,#02152d,#073d82)!important}.site-footer{background:#011126!important}
@media(max-width:900px){.brand{min-width:175px;height:70px}.brand::before{font-size:28px;top:23px}.brand::after{width:170px!important;height:38px!important;top:9px!important}.nav-shell{min-height:78px}.hero{padding-top:58px!important}.hero-grid{grid-template-columns:1fr!important}.hero-visual{min-height:430px!important}}
@media(max-width:620px){.brand{min-width:150px;height:62px}.brand::before{font-size:24px;top:20px}.brand::after{width:145px!important;height:32px!important}.hero-copy h1{font-size:clamp(2.75rem,13vw,4rem)!important}.hero-visual{min-height:360px!important}}

/* V2.1 visual polish: dark hospitality references + animated icon language */
.reference-section{background:radial-gradient(circle at 18% 10%,rgba(20,108,255,.20),transparent 30%),linear-gradient(145deg,#06162d,#08264c 58%,#06172f);border-block:1px solid rgba(77,168,255,.22);color:#eaf5ff;overflow:hidden;position:relative}
.reference-section .section-heading h2,.reference-section .section-heading p{color:#fff}.reference-section .section-heading p{color:#a9c9e8}
.reference-grid{gap:18px}.reference-card{position:relative;min-height:120px;padding:26px 24px 24px 76px;border:1px solid rgba(77,168,255,.28);border-radius:22px;background:linear-gradient(145deg,rgba(10,43,82,.88),rgba(7,27,54,.76));box-shadow:0 18px 45px rgba(0,0,0,.20),inset 0 1px rgba(255,255,255,.04);color:#fff;overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.reference-card:before{content:'✦';position:absolute;left:24px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#29b6ff,#146cff);color:white;box-shadow:0 0 24px rgba(41,182,255,.45);animation:tlFloat 3.2s ease-in-out infinite}
.reference-card:after{content:'';position:absolute;width:90px;height:90px;border:1px solid rgba(54,175,255,.18);border-radius:50%;right:-35px;top:-35px;animation:tlPulse 4s ease-in-out infinite}
.reference-card:hover{transform:translateY(-7px);border-color:rgba(77,190,255,.65);box-shadow:0 24px 55px rgba(0,92,210,.20)}
.reference-card strong{font-size:1.02rem;letter-spacing:.01em}
.icon-badge,.module-card>span,.support-points div:before{animation:tlFloat 3.4s ease-in-out infinite}.module-card:nth-child(2n)>span,.icon-badge:nth-child(2n){animation-delay:.5s}
@keyframes tlFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes tlPulse{0%,100%{transform:scale(.92);opacity:.45}50%{transform:scale(1.08);opacity:1}}
@media(prefers-reduced-motion:reduce){.reference-card:before,.reference-card:after,.icon-badge,.module-card>span{animation:none}}

/* v2.4 SEO discovery links */
.seo-discovery-links{padding:64px 0;background:linear-gradient(180deg,#07152f,#081a3a)}.seo-discovery-links h2{text-align:center;margin:0 0 28px;color:#fff}.seo-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.seo-link-grid a{display:flex;flex-direction:column;gap:7px;padding:20px;border:1px solid rgba(72,150,255,.22);border-radius:18px;background:rgba(10,32,69,.72);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.seo-link-grid a:hover{transform:translateY(-3px);border-color:#3b8cff;box-shadow:0 14px 32px rgba(0,88,255,.16)}.seo-link-grid strong{color:#fff;font-size:1.05rem}.seo-link-grid span{color:#a9b9d6;font-size:.92rem}@media(max-width:760px){.seo-link-grid{grid-template-columns:1fr}.seo-discovery-links{padding:44px 0}}
