:root {
  --navy: #061f31;
  --deep: #0a2f3b;
  --teal: #087d70;
  --green: #21a87c;
  --mint: #dff6ed;
  --paper: #f5f8f6;
  --ink: #17333b;
  --muted: #637b80;
  --line: #dce8e3;
  --white: #fff;
  --gold: #e8b76e;
  --danger: #c96c65;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.shell { width: min(1180px, calc(100% - 40px)); margin: auto; }
.nav { position: sticky; z-index: 20; top: 0; display: flex; height: 82px; align-items: center; justify-content: space-between; gap: 24px; background: #f5f8f6eb; backdrop-filter: blur(18px); transition: box-shadow .25s, background .25s; }
.nav:before { position: fixed; z-index: -1; top: 0; right: 0; left: 0; height: 82px; background: inherit; content: ""; }
.nav.scrolled { background: #ffffffef; box-shadow: 0 10px 34px #092f3b12; }
.brand img { display: block; width: 142px; }
.nav nav { display: flex; align-items: center; gap: 28px; }
.nav a, .footer a { color: var(--ink); font-size: .82rem; font-weight: 750; text-decoration: none; }
.nav-actions { display: flex; align-items: center; gap: 18px; }
.login-link { color: var(--teal) !important; }
.nav-cta { padding: 12px 19px; border-radius: 999px; color: #fff !important; background: var(--teal); box-shadow: 0 10px 24px #087d7026; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 15px 23px; border-radius: 13px; font-size: .88rem; font-weight: 850; text-decoration: none; }
.primary { color: #fff; background: var(--teal); box-shadow: 0 14px 32px #087d7030; }
.ghost { border: 1px solid var(--line); color: var(--ink); background: #fff; }
.light-button { color: var(--teal); background: #fff; }
.eyebrow { display: inline-block; color: var(--teal); font-size: .69rem; font-weight: 900; letter-spacing: .16em; }
.eyebrow.light { color: #80dfc0; }

.hero { position: relative; overflow: hidden; padding: 72px 0 0; background: radial-gradient(circle at 8% 3%, #d8f6eb 0, transparent 27%), radial-gradient(circle at 94% 12%, #dceff4 0, transparent 28%), linear-gradient(180deg, #fff 0, #f4f8f6 78%); }
.hero:before { position: absolute; inset: 0; opacity: .34; background-image: linear-gradient(#0b70690b 1px, transparent 1px), linear-gradient(90deg, #0b70690b 1px, transparent 1px); background-size: 42px 42px; content: ""; mask-image: linear-gradient(to bottom, #000 0, transparent 70%); }
.hero-inner { position: relative; }
.hero-grid { display: grid; min-height: 590px; grid-template-columns: .94fr 1.06fr; align-items: center; gap: 54px; }
.hero-copy { position: relative; z-index: 2; text-align: left; }
.launch-badge { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; color: #536b70; background: #fff; box-shadow: 0 10px 28px #092f3b0a; font-size: .72rem; font-weight: 700; }
.launch-badge span { padding: 4px 7px; border-radius: 999px; color: var(--teal); background: var(--mint); font-size: .58rem; font-weight: 900; letter-spacing: .08em; }
.hero h1 { max-width: 650px; margin: 27px 0 22px; color: var(--navy); font-size: clamp(3.6rem, 6vw, 6.1rem); line-height: .92; letter-spacing: -.065em; }
.hero h1 em, .section-heading h2 em, .implementation h2 em { color: var(--teal); font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.hero-lead { max-width: 650px; margin: 0; color: var(--muted); font-size: 1.08rem; line-height: 1.72; }
.hero-actions { display: flex; margin: 30px 0 22px; justify-content: flex-start; gap: 12px; }
.trust-row { display: flex; justify-content: flex-start; gap: 18px; flex-wrap: wrap; color: #617a75; font-size: .7rem; font-weight: 750; }
.trust-row span:before { margin-right: 7px; color: var(--green); content: "✓"; }

.product-stage { position: relative; width: min(1020px, 100%); min-height: 530px; margin: 42px auto 0; overflow: visible; border: 1px solid #d7e5df; border-radius: 27px 27px 0 0; text-align: left; background: #fff; box-shadow: 0 38px 90px #06273524; }
.stage-bar { display: grid; height: 62px; padding: 0 25px; border-bottom: 1px solid var(--line); grid-template-columns: 1fr auto 1fr; align-items: center; }
.stage-brand { color: var(--teal); font-size: .82rem; font-weight: 950; letter-spacing: .12em; }
.stage-property { color: var(--navy); font-size: .75rem; font-weight: 800; }
.stage-live { justify-self: end; color: var(--green); font-size: .6rem; font-weight: 900; letter-spacing: .06em; }
.stage-layout { display: grid; min-height: 468px; grid-template-columns: 176px 1fr; }
.stage-nav { display: flex; padding: 31px 22px; border-right: 1px solid var(--line); flex-direction: column; gap: 9px; background: #f8faf9; }
.stage-nav span, .stage-nav b { padding: 11px 13px; border-radius: 9px; font-size: .68rem; }
.stage-nav b { color: var(--teal); background: var(--mint); }
.stage-nav span { color: #78908e; font-weight: 700; }
.stage-main { padding: 35px; }
.stage-heading { display: flex; justify-content: space-between; align-items: flex-start; }
.stage-heading div { display: flex; flex-direction: column; gap: 7px; }
.stage-heading small { color: var(--teal); font-size: .55rem; font-weight: 900; letter-spacing: .12em; }
.stage-heading strong { color: var(--navy); font-family: Georgia, serif; font-size: 1.55rem; font-weight: 500; }
.stage-heading > span { padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); font-size: .62rem; }
.metric-grid { display: grid; margin: 27px 0 20px; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.metric-grid article { display: grid; padding: 19px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.metric-grid small { color: var(--muted); font-size: .6rem; }
.metric-grid b { margin-top: 9px; color: var(--navy); font-family: Georgia, serif; font-size: 1.7rem; font-weight: 500; }
.metric-grid span { color: #8da09e; font-size: .6rem; }
.activity-card { padding: 20px; border: 1px solid var(--line); border-radius: 16px; }
.activity-card header { display: flex; padding-bottom: 13px; border-bottom: 1px solid var(--line); justify-content: space-between; font-size: .67rem; }
.activity-card header span { color: var(--green); font-weight: 800; }
.activity-card p { display: grid; margin: 0; padding: 13px 0; border-bottom: 1px solid #edf2ef; grid-template-columns: 12px 1fr auto; align-items: center; gap: 10px; }
.activity-card p:last-child { border-bottom: 0; }
.activity-card p > span { display: flex; flex-direction: column; }
.activity-card p b { color: var(--navy); font-size: .67rem; }
.activity-card p small, .activity-card time { color: #8ba09d; font-size: .56rem; }
.dot { width: 7px; height: 7px; border-radius: 50%; }
.dot.green { background: var(--green); }
.dot.gold { background: var(--gold); }
.dot.teal { background: var(--teal); }
.module-ribbon { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.module-track { display: flex; width: max-content; min-height: 82px; align-items: center; gap: 42px; animation: ribbon-scroll 28s linear infinite; }
.module-ribbon span { color: #708987; font-size: .7rem; font-weight: 800; white-space: nowrap; }
.module-ribbon span:before { margin-right: 8px; color: var(--green); content: "●"; font-size: .46rem; }
@keyframes ribbon-scroll { to { transform: translateX(-50%); } }

.section { padding: 110px 0; }
.section-heading { max-width: 760px; margin-bottom: 46px; }
.section-heading.centered { margin-right: auto; margin-left: auto; text-align: center; }
.section-heading.compact { margin-bottom: 34px; }
.section-heading h2, .security h2, .cta h2, .implementation h2 { margin: 13px 0 15px; color: var(--navy); font-size: clamp(2.35rem, 4.6vw, 4.4rem); line-height: 1.02; letter-spacing: -.045em; }
.section-heading p, .security p, .implementation .section-heading p { color: var(--muted); line-height: 1.7; }
.change-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.change-card { padding: 40px; border-radius: 27px; }
.change-card.old { border: 1px solid var(--line); background: #fff; }
.change-card.new { color: #fff; background: var(--navy); box-shadow: 0 26px 60px #061f3124; }
.card-label { font-size: .64rem; font-weight: 900; letter-spacing: .13em; }
.old .card-label { color: var(--danger); }
.new .card-label { color: #82dfc0; }
.change-card h3 { margin: 17px 0 27px; color: var(--navy); font-size: clamp(1.45rem, 2.5vw, 2.15rem); line-height: 1.2; }
.change-card.new h3 { color: #fff; }
.change-card ul { display: grid; margin: 0; padding: 0; gap: 14px; list-style: none; }
.change-card li { position: relative; padding-left: 24px; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.old li:before, .new li:before { position: absolute; left: 0; font-weight: 900; }
.old li:before { color: var(--danger); content: "×"; }
.new li { color: #c8dad6; }
.new li:before { color: #7ae0bb; content: "✓"; }

.modules { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.experience-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.experience-grid article { position: relative; padding: 34px; border: 1px solid var(--line); border-radius: 24px; background: #fff; }
.experience-grid .featured-experience { border-color: #9ed8c4; background: linear-gradient(180deg, #f1fbf7, #fff); }
.experience-number { position: absolute; top: 25px; right: 27px; color: #a3b6b3; font-family: Georgia, serif; font-size: .8rem; }
.experience-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; color: var(--teal); background: var(--mint); font-family: Georgia, serif; font-size: 1.25rem; font-weight: 700; }
.experience-grid h3 { margin: 28px 0 11px; color: var(--navy); font-size: 1.18rem; }
.experience-grid p { min-height: 94px; margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.65; }
.tag-row { display: flex; margin-top: 23px; gap: 7px; flex-wrap: wrap; }
.tag-row span { padding: 7px 9px; border: 1px solid var(--line); border-radius: 999px; color: #67807d; background: #fff; font-size: .58rem; font-weight: 800; }
.platform-map { display: grid; margin-top: 20px; padding: 12px; border: 1px solid var(--line); border-radius: 25px; grid-template-columns: repeat(4, 1fr); gap: 0; background: #f3f8f5; }
.platform-map article { display: grid; min-width: 0; padding: 23px 21px; grid-template-columns: 34px 1fr; gap: 12px; }
.platform-map article + article { border-left: 1px solid var(--line); }
.platform-map article > span { display: grid; width: 34px; height: 34px; border-radius: 10px; place-items: center; color: var(--teal); background: #fff; font-family: Georgia, serif; font-size: .67rem; box-shadow: 0 6px 18px #092f3b0b; }
.platform-map article div { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.platform-map small { color: var(--teal); font-size: .54rem; font-weight: 900; letter-spacing: .11em; }
.platform-map b { color: var(--navy); font-size: .75rem; }
.platform-map p { margin: 0; color: var(--muted); font-size: .65rem; line-height: 1.5; }

.motion-ready .reveal { opacity: 0; transform: translateY(26px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1); }
.motion-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }

.security { padding: 100px 0; color: #fff; background: radial-gradient(circle at 80% 20%, #0d5a5860, transparent 34%), var(--navy); }
.security-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 90px; }
.security h2 { color: #fff; }
.security p { color: #aac4c0; }
.checks { display: grid; gap: 12px; }
.checks p { display: grid; margin: 0; padding: 20px 22px; border: 1px solid #ffffff1f; border-radius: 16px; grid-template-columns: 40px 1fr; column-gap: 14px; background: #ffffff08; }
.checks .check-icon { grid-row: 1 / 3; display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; color: #82dfc0; background: #ffffff0d; font-family: Georgia, serif; font-size: .73rem; }
.checks b { font-size: .86rem; }
.checks small { margin-top: 5px; color: #aec6c2; font-size: .7rem; }

.pricing-heading { max-width: 860px; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 18px; }
.price-card { position: relative; display: flex; min-width: 0; padding: 31px; border: 1px solid var(--line); border-radius: 24px; flex-direction: column; background: #fff; box-shadow: 0 16px 46px #092f3b0a; }
.price-card.featured { border: 2px solid var(--teal); box-shadow: 0 22px 58px #087d701c; }
.popular { position: absolute; top: -13px; right: 22px; padding: 7px 12px; border-radius: 999px; color: #fff; background: var(--teal); font-size: .61rem; font-weight: 900; letter-spacing: .1em; }
.plan-top { display: flex; min-height: 72px; flex-direction: column; }
.plan-name { color: var(--navy); font-family: Georgia, serif; font-size: 1.7rem; }
.plan-audience { margin-top: 7px; color: var(--muted); font-size: .76rem; line-height: 1.4; }
.price { display: grid; margin: 21px 0 5px; grid-template-columns: auto 1fr; align-items: end; }
.price small { grid-column: 1 / -1; margin-bottom: 3px; color: var(--teal); font-size: .65rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.price strong { color: var(--navy); font-family: Georgia, serif; font-size: 2.3rem; font-weight: 500; letter-spacing: -.035em; }
.price span { padding: 0 0 5px 7px; color: var(--muted); font-size: .65rem; }
.capacity { min-height: 35px; margin: 0; padding-bottom: 17px; border-bottom: 1px solid var(--line); color: #4e696d; font-size: .7rem; font-weight: 750; line-height: 1.4; }
.price-card ul { display: grid; margin: 21px 0 28px; padding: 0; gap: 13px; list-style: none; }
.price-card li { position: relative; padding-left: 21px; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.price-card li:before { position: absolute; left: 0; color: var(--green); font-weight: 900; content: "✓"; }
.price-card .button { width: 100%; margin-top: auto; }
.plan-button { border: 1px solid var(--teal); color: var(--teal); background: #fff; }
.estimator { display: grid; margin-top: 28px; padding: 34px; border: 1px solid var(--line); border-radius: 25px; grid-template-columns: .9fr 1.2fr .8fr; align-items: center; gap: 34px; background: #fff; box-shadow: 0 20px 60px #092f3b0c; }
.estimator-copy h3 { margin: 10px 0 10px; color: var(--navy); font-size: 1.5rem; }
.estimator-copy p { margin: 0; color: var(--muted); font-size: .77rem; line-height: 1.6; }
.estimator-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.estimator-form label:not(.check-label) { display: flex; color: var(--navy); flex-direction: column; gap: 6px; font-size: .65rem; font-weight: 800; }
.estimator-form select, .estimator-form input[type="number"] { width: 100%; min-height: 44px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: #f9fbfa; font: inherit; font-weight: 650; }
.check-label { display: flex; grid-column: 1 / -1; align-items: center; gap: 8px; color: var(--muted); font-size: .66rem; font-weight: 700; }
.check-label input { accent-color: var(--teal); }
.estimate-result { padding: 25px; border-radius: 19px; color: #fff; background: var(--navy); }
.estimate-result > span { display: block; color: #8ee4c5; font-size: .6rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.estimate-result > strong { display: block; margin: 7px 0 2px; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.estimate-result > small { color: #b8ceca; font-size: .62rem; }
.estimate-result div { display: flex; margin-top: 17px; padding-top: 14px; border-top: 1px solid #ffffff1c; justify-content: space-between; color: #d5e5e1; font-size: .68rem; }
.estimate-result p { margin: 12px 0 0; color: #9bb6b2; font-size: .59rem; line-height: 1.4; }
.pricing-notes { display: grid; margin-top: 18px; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.pricing-notes article { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: #edf5f1; }
.pricing-notes article > span { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 13px; color: var(--teal); background: #fff; font-family: Georgia, serif; font-size: .94rem; font-weight: 700; }
.pricing-notes b, .pricing-notes small { display: block; }
.pricing-notes b { color: var(--navy); font-size: .78rem; }
.pricing-notes small { margin-top: 4px; color: var(--muted); font-size: .67rem; line-height: 1.45; }
.pricing-legal { max-width: 900px; margin: 20px auto 0; color: #74898b; font-size: .68rem; line-height: 1.55; text-align: center; }

.implementation { padding: 110px 0; color: #fff; background: linear-gradient(145deg, #087d70, #07504f); }
.implementation .section-heading { max-width: 900px; }
.implementation h2 { color: #fff; }
.implementation h2 em { color: #b9f0dc; }
.implementation .section-heading p { color: #d0e9e3; }
.steps { position: relative; display: grid; margin: 58px 0 34px; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.steps:before { position: absolute; top: 19px; right: 8%; left: 8%; height: 1px; background: #ffffff45; content: ""; }
.steps article { position: relative; }
.steps article > span { position: relative; z-index: 1; display: grid; width: 40px; height: 40px; place-items: center; border: 4px solid #087d70; border-radius: 50%; color: var(--teal); background: #fff; font-family: Georgia, serif; font-size: .7rem; font-weight: 700; box-shadow: 0 0 0 1px #ffffff66; }
.steps h3 { margin: 20px 0 8px; font-size: .9rem; }
.steps p { margin: 0; color: #cce4df; font-size: .72rem; line-height: 1.55; }
.setup-table-wrap { overflow-x: auto; border: 1px solid #ffffff28; border-radius: 20px; background: #063b3c70; }
.setup-table { width: 100%; border-collapse: collapse; }
.setup-table caption { padding: 20px; color: #fff; font-size: .78rem; font-weight: 850; text-align: left; }
.setup-table th, .setup-table td { min-width: 135px; padding: 15px 20px; border-top: 1px solid #ffffff18; color: #d9ede8; font-size: .73rem; text-align: left; }
.setup-table thead th { color: #8ee4c5; font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }
.setup-table tbody th { color: #fff; }
.implementation-note { margin: 18px 0 0; color: #c8e1dc; font-size: .67rem; line-height: 1.55; text-align: center; }

.demo-panel { display: grid; overflow: hidden; border-radius: 30px; grid-template-columns: 1.15fr .85fr; color: #fff; background: var(--navy); box-shadow: 0 28px 70px #061f3126; }
.demo-copy { padding: 56px; background: radial-gradient(circle at 0 100%, #0b5e5c70, transparent 45%); }
.demo-copy h2 { margin: 13px 0 17px; max-width: 600px; font-size: clamp(2.4rem, 4vw, 4rem); line-height: 1; letter-spacing: -.045em; }
.demo-copy > p { color: #bbd0cc; line-height: 1.65; }
.demo-copy ul { display: grid; margin: 28px 0 0; padding: 0; gap: 12px; list-style: none; }
.demo-copy li { position: relative; padding-left: 23px; color: #d6e7e3; font-size: .78rem; }
.demo-copy li:before { position: absolute; left: 0; color: #7ee1bd; content: "✓"; }
.demo-card { display: flex; padding: 50px; justify-content: center; flex-direction: column; background: #f1f8f5; }
.demo-card > span { color: var(--teal); font-size: .65rem; font-weight: 900; letter-spacing: .12em; }
.demo-card h3 { margin: 13px 0 10px; color: var(--navy); font-family: Georgia, serif; font-size: 2rem; font-weight: 500; line-height: 1.1; }
.demo-card p { margin: 0 0 24px; color: var(--muted); font-size: .82rem; line-height: 1.6; }
.demo-card .light-button { color: #fff; background: var(--teal); }
.demo-card small { margin-top: 13px; color: #738b88; font-size: .64rem; text-align: center; }

.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.faq-grid details { padding: 21px 23px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.faq-grid summary { color: var(--navy); font-size: .82rem; font-weight: 800; cursor: pointer; }
.faq-grid p { margin: 13px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.6; }

.portal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.portal-grid a { display: flex; min-height: 190px; padding: 27px; border: 1px solid var(--line); border-radius: 22px; flex-direction: column; color: var(--ink); background: #fff; text-decoration: none; transition: transform .2s, border-color .2s; }
.portal-grid a:hover { border-color: #79cbb0; transform: translateY(-4px); }
.portal-grid span { color: var(--navy); font-family: Georgia, serif; font-size: 1.45rem; }
.portal-grid small { margin-top: 10px; color: var(--muted); line-height: 1.5; }
.portal-grid b { margin-top: auto; color: var(--teal); font-size: .82rem; }
.cta { padding: 78px 0; color: #fff; background: linear-gradient(135deg, #087d70, #0c5a58); }
.cta .shell { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.cta h2 { max-width: 720px; color: #fff; }
.cta p { max-width: 650px; color: #d6eeea; line-height: 1.65; }

.footer { display: grid; padding: 55px 0 30px; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 35px; }
.footer-brand img { width: 100px; }
.footer-brand p { color: var(--muted); font-size: .76rem; }
.footer nav { display: flex; align-items: flex-start; flex-direction: column; gap: 11px; }
.footer nav b { margin-bottom: 4px; color: var(--navy); font-size: .67rem; letter-spacing: .1em; text-transform: uppercase; }
.footer nav a { color: var(--muted); font-size: .7rem; }
.footer > small { grid-column: 1 / -1; padding-top: 22px; border-top: 1px solid var(--line); color: #7d9292; font-size: .66rem; }

.legal { min-height: 75vh; padding: 72px 0 100px; }
.legal article { max-width: 820px; margin: auto; padding: 48px; border: 1px solid var(--line); border-radius: 24px; background: #fff; }
.legal h1 { margin: 12px 0 22px; color: var(--navy); font-family: Georgia, serif; font-size: clamp(2.3rem, 5vw, 4rem); font-weight: 500; }
.legal h2 { margin: 30px 0 8px; color: var(--navy); font-size: 1rem; }
.legal p, .legal li { color: var(--muted); font-size: .9rem; line-height: 1.75; }
.legal .updated { font-size: .72rem; }
.legal .button { margin-top: 16px; }
.back { display: inline-block; margin-bottom: 24px; color: var(--teal); font-size: .8rem; font-weight: 800; text-decoration: none; }

@media (max-width: 1050px) {
  .hero-grid { gap: 22px; }
  .hero h1 { font-size: clamp(3.3rem, 6.4vw, 5.2rem); }
  .estimator { grid-template-columns: 1fr 1fr; }
  .platform-map { grid-template-columns: 1fr 1fr; }
  .platform-map article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .platform-map article:nth-child(4) { border-top: 1px solid var(--line); }
  .estimate-result { grid-column: 1 / -1; }
}

@media (max-width: 850px) {
  .nav nav { display: none; }
  .hero { padding-top: 48px; }
  .hero-grid { min-height: auto; grid-template-columns: 1fr; }
  .hero-copy { text-align: center; }
  .hero h1 { font-size: clamp(3.2rem, 12vw, 5rem); }
  .hero h1, .hero-lead { margin-right: auto; margin-left: auto; }
  .hero-actions, .trust-row { justify-content: center; }
  .product-stage { min-height: 450px; }
  .stage-layout { min-height: 390px; grid-template-columns: 120px 1fr; }
  .stage-nav { padding: 24px 14px; }
  .stage-main { padding: 25px; }
  .module-track { gap: 30px; }
  .change-grid, .security-grid, .demo-panel { grid-template-columns: 1fr; }
  .experience-grid, .pricing-grid, .portal-grid { grid-template-columns: 1fr; }
  .experience-grid { max-width: 580px; margin: auto; }
  .price-card { max-width: 580px; width: 100%; margin: auto; }
  .pricing-grid { gap: 28px; }
  .security-grid { gap: 45px; }
  .steps { grid-template-columns: 1fr 1fr; }
  .steps:before { display: none; }
  .pricing-notes { grid-template-columns: 1fr; }
  .footer { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer nav:last-of-type { grid-column: 2; }
  .cta .shell { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 28px, 1180px); }
  .nav { height: 70px; }
  .brand img { width: 124px; }
  .login-link { display: none; }
  .nav-cta { padding: 10px 14px; font-size: .7rem !important; }
  .hero h1 { font-size: 3.05rem; }
  .hero-lead { font-size: .96rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .launch-badge { font-size: .61rem; }
  .launch-badge { align-items: flex-start; border-radius: 18px; text-align: left; }
  .product-stage { min-height: 420px; margin-top: 50px; }
  .stage-bar { padding: 0 15px; grid-template-columns: 1fr 1fr; }
  .stage-property { justify-self: end; }
  .stage-live, .stage-nav { display: none; }
  .stage-layout { min-height: 358px; grid-template-columns: 1fr; }
  .stage-main { padding: 20px 16px; }
  .stage-heading > span { display: none; }
  .metric-grid { gap: 7px; }
  .metric-grid article { padding: 13px 10px; }
  .metric-grid small { min-height: 27px; }
  .metric-grid b { font-size: 1.3rem; }
  .activity-card { padding: 14px; }
  .section { padding: 75px 0; }
  .platform-map { grid-template-columns: 1fr; }
  .platform-map article + article { border-top: 1px solid var(--line); border-left: 0; }
  .section-heading h2, .security h2, .cta h2, .implementation h2 { font-size: 2.55rem; }
  .change-card { padding: 30px 24px; }
  .estimator { padding: 25px 20px; grid-template-columns: 1fr; }
  .estimator-form { grid-template-columns: 1fr; }
  .estimator-form .check-label { grid-column: auto; }
  .estimate-result { grid-column: auto; }
  .steps { grid-template-columns: 1fr; }
  .setup-table th, .setup-table td { min-width: 115px; padding: 13px; }
  .demo-copy, .demo-card { padding: 35px 25px; }
  .faq-grid { grid-template-columns: 1fr; }
  .footer { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer nav:last-of-type { grid-column: auto; }
  .footer > small { grid-column: 1 / -1; }
  .legal { padding: 35px 0 70px; }
  .legal article { padding: 28px 22px; }
}

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

/* 2026 editorial system — quiet, precise and product-led */
:root {
  --navy: #101f27;
  --deep: #152c34;
  --teal: #087c70;
  --green: #15936f;
  --mint: #eaf6f2;
  --paper: #ffffff;
  --ink: #1c272d;
  --muted: #647077;
  --line: #e2e7e9;
}

body { color: var(--ink); background: #fff; letter-spacing: -.006em; }
.shell { width: min(1200px, calc(100% - 56px)); }
.nav { height: 72px; border-bottom: 1px solid transparent; background: #ffffffed; backdrop-filter: blur(16px); }
.nav:before { height: 72px; }
.nav.scrolled { border-bottom-color: var(--line); background: #fff; box-shadow: none; }
.brand img { width: 126px; }
.nav nav { gap: 32px; }
.nav a, .footer a { color: #313d42; font-size: .78rem; font-weight: 650; }
.nav-actions { gap: 21px; }
.login-link { color: #334047 !important; }
.nav-cta { padding: 11px 17px; border: 1px solid #111d23; border-radius: 9px; color: #fff !important; background: #111d23; box-shadow: none; }
.button { min-height: 46px; padding: 13px 21px; border-radius: 9px; font-size: .82rem; font-weight: 720; letter-spacing: -.01em; }
.primary { color: #fff; background: #111d23; box-shadow: none; }
.primary:hover, .nav-cta:hover { background: #24343c; }
.ghost { border-color: #cfd6d9; color: #223139; background: #fff; }
.eyebrow { color: var(--teal); font-size: .64rem; font-weight: 760; letter-spacing: .13em; }

.hero { padding: 96px 0 0; overflow: hidden; border-bottom: 0; background: #fff; }
.hero:before { display: none; }
.hero-inner { text-align: center; }
.hero-grid { display: block; min-height: 0; }
.hero-copy { max-width: 980px; margin: 0 auto; text-align: center; }
.launch-badge { display: inline-flex; padding: 8px 12px; border-color: #dce2e4; border-radius: 999px; color: #4f5d63; background: #fff; box-shadow: none; font-size: .7rem; font-weight: 600; text-decoration: none; }
.launch-badge span { width: 7px; height: 7px; padding: 0; border-radius: 50%; background: var(--teal); }
.launch-badge b { margin-left: 2px; color: #23343b; font-weight: 700; }
.hero h1 { max-width: 1000px; margin: 35px auto 25px; color: #111a1f; font-family: inherit; font-size: clamp(4rem, 6.75vw, 6.65rem); font-weight: 600; line-height: .96; letter-spacing: -.072em; }
.hero h1 em, .section-heading h2 em, .implementation h2 em { color: var(--teal); font-family: inherit; font-style: normal; font-weight: inherit; }
.hero-lead { max-width: 700px; margin: 0 auto; color: #5f6c72; font-size: 1.08rem; line-height: 1.62; }
.hero-actions { margin: 29px 0 22px; justify-content: center; }
.trust-row { justify-content: center; gap: 26px; color: #6b777c; font-size: .68rem; font-weight: 600; }
.trust-row span:before { margin-right: 8px; color: var(--teal); content: "✓"; }

.platform-rail { display: grid; width: min(1080px, 100%); margin: 70px auto 30px; padding: 18px 22px; border: 1px solid var(--line); border-radius: 12px; grid-template-columns: 1fr 54px 1fr 54px 1.12fr 54px 1fr 54px 1fr; align-items: center; background: #fafbfb; text-align: left; }
.rail-node { display: grid; min-width: 0; grid-template-columns: 38px 1fr; grid-template-rows: auto auto; align-items: center; column-gap: 11px; }
.rail-node > span { display: grid; width: 38px; height: 38px; grid-row: 1 / 3; border: 1px solid #d9e0e2; border-radius: 8px; place-items: center; color: #4f5d63; background: #fff; font-size: .58rem; font-weight: 780; letter-spacing: .06em; }
.rail-node b { color: #1b2a31; font-size: .68rem; font-weight: 740; }
.rail-node small { margin-top: 3px; overflow: hidden; color: #7a858a; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.rail-node.rail-core > span { border-color: var(--teal); color: #fff; background: var(--teal); font-size: .82rem; }
.rail-node.rail-core > span img { display: block; width: 25px; height: 25px; filter: brightness(0) invert(1); }
.rail-node.rail-core b { color: var(--teal); }
.rail-connection { position: relative; display: block; height: 1px; overflow: hidden; background: #cad5d7; }
.rail-connection:after { position: absolute; top: -2px; left: -5px; width: 5px; height: 5px; border-radius: 50%; background: var(--teal); content: ""; animation: rail-signal 4.8s linear infinite; }
.rail-connection:nth-of-type(2):after { animation-delay: 1.2s; }
.rail-connection:nth-of-type(3):after { animation-delay: 2.4s; }
.rail-connection:nth-of-type(4):after { animation-delay: 3.6s; }
@keyframes rail-signal { from { left: -5px; } to { left: calc(100% + 5px); } }

.product-stage { width: min(1100px, 100%); min-height: 520px; margin: 0 auto; overflow: hidden; border-color: #d7dddf; border-radius: 14px 14px 0 0; box-shadow: 0 28px 70px #1a2b3214; }
.stage-bar { height: 54px; padding: 0 20px; background: #fbfcfc; }
.stage-chrome { display: flex; justify-self: start; gap: 6px; }
.stage-chrome i { display: block; width: 8px; height: 8px; border-radius: 50%; background: #d4dadd; }
.stage-chrome i:nth-child(2) { background: #c2cbce; }
.stage-chrome i:nth-child(3) { background: #afbcbe; }
.stage-property { color: #34434a; font-size: .7rem; font-weight: 680; }
.stage-live { display: flex; align-items: center; gap: 7px; color: #52625f; font-size: .58rem; font-weight: 720; letter-spacing: .03em; text-transform: uppercase; }
.stage-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.stage-layout { min-height: 466px; grid-template-columns: 178px 1fr; }
.stage-nav { padding: 27px 18px; background: #fafbfb; }
.stage-nav span, .stage-nav b { padding: 10px 12px; border-radius: 7px; }
.stage-nav b { color: #223239; background: #edf2f1; }
.stage-heading strong, .metric-grid b { font-family: inherit; font-weight: 650; }
.stage-heading strong { font-size: 1.45rem; letter-spacing: -.03em; }
.metric-grid article, .activity-card { border-radius: 9px; box-shadow: none; }
.metric-grid b { font-size: 1.55rem; }
.stage-float { display: none; }

.module-ribbon { border-color: var(--line); background: #fff; }
.module-ribbon .shell { display: flex; min-height: 86px; align-items: center; gap: 36px; }
.module-ribbon p { flex: 0 0 auto; margin: 0; color: #929b9f; font-size: .56rem; font-weight: 780; letter-spacing: .14em; }
.module-track { width: auto; min-height: 0; justify-content: space-between; flex: 1; gap: 18px; animation: none; }
.module-ribbon span { color: #344148; font-size: .67rem; font-weight: 650; }
.module-ribbon span:before { display: none; }

.section { padding: 122px 0; }
.section-heading { max-width: 810px; margin-bottom: 52px; }
.section-heading h2, .security h2, .cta h2, .implementation h2 { margin: 15px 0 17px; color: #15242b; font-family: inherit; font-size: clamp(2.55rem, 4.8vw, 4.65rem); font-weight: 590; line-height: 1.01; letter-spacing: -.056em; }
.section-heading p, .security p, .implementation .section-heading p { color: #68757b; font-size: .94rem; line-height: 1.7; }

.change-section { padding-top: 132px; }
.change-grid { gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; }
.change-card { padding: 46px 48px; border: 0; border-radius: 0; }
.change-card.old { border: 0; background: #fff; }
.change-card.new { border-left: 1px solid var(--line); color: var(--ink); background: #f6f8f8; box-shadow: none; }
.card-label { font-size: .59rem; font-weight: 780; letter-spacing: .12em; }
.old .card-label { color: #8a6060; }
.new .card-label { color: var(--teal); }
.change-card h3 { margin: 20px 0 30px; color: #19282f; font-size: clamp(1.45rem, 2.35vw, 2.05rem); font-weight: 600; letter-spacing: -.035em; }
.change-card.new h3 { color: #19282f; }
.change-card li { color: #68757b; font-size: .8rem; }
.new li { color: #526067; }

.modules { border-color: var(--line); background: #f7f8f8; }
.experience-grid { gap: 0; overflow: hidden; border: 1px solid #dfe4e6; border-radius: 14px; }
.experience-grid article { padding: 38px; border: 0; border-radius: 0; background: #fff; }
.experience-grid article + article { border-left: 1px solid var(--line); }
.experience-grid .featured-experience { border-color: var(--line); background: #fff; }
.experience-number { top: 31px; right: 32px; color: #a2abad; font-family: inherit; }
.experience-icon { width: 44px; height: 44px; border: 1px solid #dce4e3; border-radius: 9px; color: var(--teal); background: #f5f8f7; font-family: inherit; font-size: .9rem; }
.experience-grid h3 { margin-top: 30px; font-size: 1.08rem; }
.experience-grid p { font-size: .78rem; }
.tag-row span { border-radius: 6px; background: #fafbfb; font-weight: 650; }
.platform-map { margin-top: 18px; padding: 0; overflow: hidden; border-radius: 14px; background: #fff; }
.platform-map article { padding: 28px 24px; }
.platform-map article > span { border: 1px solid var(--line); border-radius: 7px; font-family: inherit; box-shadow: none; }

.security { padding: 112px 0; background: #10242c; }
.security-grid { gap: 110px; }
.security h2 { color: #fff; }
.security p { color: #aebec2; }
.checks p { padding: 22px 0; border: 0; border-bottom: 1px solid #ffffff1b; border-radius: 0; background: transparent; }
.checks .check-icon { border: 1px solid #ffffff21; border-radius: 8px; background: transparent; font-family: inherit; }

.pricing-grid { gap: 14px; }
.price-card { padding: 32px; border-radius: 13px; box-shadow: none; }
.price-card.featured { border: 1px solid var(--teal); box-shadow: inset 0 3px var(--teal); }
.popular { top: 18px; border-radius: 5px; background: var(--teal); }
.plan-name, .price strong { font-family: inherit; font-weight: 620; }
.plan-name { font-size: 1.42rem; }
.price strong { font-size: 2.05rem; }
.plan-button { border-color: #cdd5d7; color: #223139; }
.estimator { padding: 38px; border-radius: 13px; box-shadow: none; }
.estimator-form select, .estimator-form input[type="number"] { border-radius: 7px; }
.estimate-result { border-radius: 10px; background: #10242c; }
.estimate-result > strong { font-family: inherit; font-weight: 620; }
.pricing-notes article { border-radius: 10px; background: #f7f9f8; }
.pricing-notes article > span { border: 1px solid var(--line); border-radius: 7px; font-family: inherit; box-shadow: none; }

.implementation { padding: 116px 0; color: var(--ink); background: #f5f7f7; }
.implementation h2 { color: #15242b; }
.implementation h2 em { color: var(--teal); }
.implementation .section-heading p { color: #68757b; }
.steps:before { background: #cfd8da; }
.steps article > span { border: 1px solid #d3dcde; border-radius: 8px; color: var(--teal); background: #fff; font-family: inherit; box-shadow: none; }
.steps h3 { color: #1f3037; }
.steps p { color: #68757b; }
.setup-table-wrap { border-color: #dbe2e3; border-radius: 12px; background: #fff; }
.setup-table caption, .setup-table tbody th { color: #23343b; }
.setup-table th, .setup-table td { border-color: #e5e9ea; color: #5d6b70; }
.setup-table thead th { color: var(--teal); }
.implementation-note { color: #718086; }

.demo-panel { border: 1px solid #20343c; border-radius: 15px; background: #10242c; box-shadow: none; }
.demo-copy { background: transparent; }
.demo-copy h2 { font-weight: 570; letter-spacing: -.05em; }
.demo-card { border-left: 1px solid #dfe5e6; background: #f7f9f8; }
.demo-card h3 { font-family: inherit; font-size: 1.8rem; font-weight: 600; letter-spacing: -.035em; }
.demo-card .light-button { color: #fff; background: #111d23; }
.faq-grid details { border-radius: 9px; }
.portal-grid { gap: 12px; }
.portal-grid a { min-height: 178px; border-radius: 10px; transition: border-color .2s, background .2s; }
.portal-grid a:hover { border-color: #90aaa5; background: #fafcfc; transform: none; }
.portal-grid span { font-family: inherit; font-size: 1.25rem; font-weight: 610; }
.cta { padding: 90px 0; background: #10242c; }
.footer-brand img { width: 92px; }
.legal article { border-radius: 12px; }
.legal h1 { font-family: inherit; font-weight: 600; }

@media (max-width: 850px) {
  .hero { padding-top: 70px; }
  .hero h1 { font-size: clamp(3.4rem, 11vw, 5.4rem); }
  .platform-rail { grid-template-columns: 1fr 1fr; gap: 18px; padding: 22px; }
  .rail-connection { display: none; }
  .rail-node.rail-core { grid-column: 1 / -1; grid-row: 1; justify-self: center; width: min(240px, 100%); }
  .module-ribbon .shell { align-items: flex-start; flex-direction: column; gap: 16px; padding-top: 24px; padding-bottom: 24px; }
  .module-track { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
  .experience-grid { border: 0; gap: 12px; }
  .experience-grid article, .experience-grid article + article { border: 1px solid var(--line); border-radius: 11px; }
  .change-card.new { border-top: 1px solid var(--line); border-left: 0; }
  .demo-card { border-top: 1px solid #dfe5e6; border-left: 0; }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 32px, 1200px); }
  .nav { height: 66px; }
  .nav:before { height: 66px; }
  .brand img { width: 112px; }
  .hero { padding-top: 56px; }
  .launch-badge { max-width: 100%; border-radius: 9px; line-height: 1.35; text-align: left; }
  .hero h1 { margin-top: 29px; font-size: 3rem; line-height: .98; }
  .hero-lead { font-size: .95rem; }
  .hero-actions { flex-direction: column; }
  .trust-row { gap: 11px 18px; }
  .platform-rail { margin-top: 48px; grid-template-columns: 1fr; }
  .rail-node.rail-core { grid-column: 1; }
  .product-stage { min-height: 412px; border-radius: 10px 10px 0 0; }
  .stage-bar { grid-template-columns: auto 1fr; }
  .stage-chrome { margin-right: 12px; }
  .stage-property { justify-self: start; }
  .stage-main { padding: 20px 15px; }
  .metric-grid article { padding: 14px 10px; }
  .section, .change-section { padding: 88px 0; }
  .section-heading h2, .security h2, .cta h2, .implementation h2 { font-size: 2.65rem; }
  .change-card { padding: 33px 25px; }
  .experience-grid article { padding: 30px 26px; }
  .price-card { padding: 29px 25px; }
  .estimator { padding: 28px 22px; }
  .security, .implementation { padding: 90px 0; }
}
