:root {
  --blue: #4b68f0;
  --blue-deep: #3452d8;
  --ink: #172138;
  --navy: #111b35;
  --muted: #647087;
  --line: #e4e8f1;
  --pale: #f5f7fc;
  --mint: #b9f1d7;
  --radius: 26px;
  --ease: cubic-bezier(.22,1,.36,1);
  color: var(--ink);
  background: #fff;
  font-family: Inter, "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 115px; }
body { margin: 0; min-width: 320px; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, summary, select { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: wait; }
img { display: block; max-width: 100%; }
button { color: inherit; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3, h4 { font-weight: 650; letter-spacing: -.047em; text-wrap: balance; }
p { line-height: 1.65; }
:focus-visible { outline: 3px solid #4b68f0; outline-offset: 5px; border-radius: 4px; }
[hidden] { display: none !important; }
::selection { color: #182869; background: #dfe6ff; }
.container { max-width: 1280px; width: calc(100% - 96px); margin: 0 auto; }
.icon { display: inline-block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; vertical-align: middle; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; left: 16px; top: -100px; background: white; padding: 16px 22px; border: 2px solid var(--blue); border-radius: 10px; }
.skip-link:focus { top: 16px; }
.blue-text { color: var(--blue); }
.muted-text { color: #8590a4; }
.eyebrow { display: flex; align-items: center; gap: 9px; font-size: 11px; font-weight: 750; letter-spacing: .14em; color: var(--blue); line-height: 1.5; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); display: inline-block; flex-shrink: 0; box-shadow: 0 0 0 4px rgba(75,104,240,.09); }
.button { display: inline-flex; min-height: 54px; justify-content: center; align-items: center; padding: 16px 24px; gap: 22px; border-radius: 12px; border: 1px solid transparent; font-size: 15px; font-weight: 600; line-height: 1.3; transition: background .22s, box-shadow .22s, transform .22s; }
.button-primary { background: var(--blue); color: #fff; box-shadow: 0 7px 16px rgba(75,104,240,.16); }
.button-primary:hover { background: var(--blue-deep); transform: translateY(-2px); box-shadow: 0 10px 22px rgba(75,104,240,.24); }
.button .icon { width: 21px; }
.text-button { display: inline-flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; border: 0; padding: 0; background: none; line-height: 1.5; }
.text-button .icon { width: 19px; transition: transform .22s; }
.text-button:hover .icon { transform: translateX(4px); }
.text-button:hover { color: var(--blue); }
.site-header { z-index: 40; position: sticky; top: 0; border-bottom: 1px solid rgba(228,232,241,.85); background: rgba(255,255,255,.94); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; height: 86px; }
.brand { display: inline-flex; flex-shrink: 0; }
.brand img { width: 100px; height: auto; }
.desktop-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.desktop-nav a { font-size: 13px; color: #4b566b; font-weight: 500; white-space: nowrap; position: relative; padding: 12px 0; }
.desktop-nav a::after { position: absolute; left: 0; right: 0; bottom: 3px; height: 2px; background: var(--blue); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.desktop-nav a:hover { color: var(--blue); }
.desktop-nav a:hover::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 18px; margin-left: 20px; }
.header-contact { display: inline-flex; align-items: center; gap: 10px; color: var(--blue); font-size: 13px; font-weight: 600; white-space: nowrap; }
.header-contact .icon { width: 18px; }
.login-link { border: 1px solid #dce1ee; padding: 11px 16px; min-height: 43px; border-radius: 10px; display: inline-flex; align-items: center; gap: 13px; font-size: 14px; font-weight: 600; transition: border-color .2s, background .2s; white-space: nowrap; }
.login-link:hover { border-color: #9aaef8; background: #f4f6ff; }
.login-link .icon { width: 16px; height: 16px; }
.menu-toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 10px; background: white; }
.mobile-nav { padding: 12px 24px 24px; border-top: 1px solid var(--line); background: white; max-height: calc(100dvh - 74px); overflow-y: auto; }
.mobile-nav a { display: flex; justify-content: space-between; padding: 14px 2px; color: var(--ink); border-bottom: 1px solid var(--line); font-size: 16px; }
.hero { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); align-items: center; gap: 26px; padding-top: 52px; padding-bottom: 58px; min-height: 695px; }
.hero-copy { padding-bottom: 8px; min-width: 0; }
.hero h1 { font-size: clamp(45px,4.45vw,65px); line-height: 1.08; margin-top: 26px; letter-spacing: -.058em; font-weight: 670; }
.hero-lead { margin-top: 26px; color: #5e6b82; font-size: 18px; line-height: 1.65; letter-spacing: -.01em; }
.hero-buttons { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 29px; }
.hero-buttons .button { min-height: 57px; padding: 17px 22px; }
.hero-note { margin-top: 24px; color: #778299; font-size: 12px; line-height: 1.7; }
.hero-visual { position: relative; height: 565px; min-width: 0; isolation: isolate; }
.hero-orbit { pointer-events: none; position: absolute; z-index: -1; border-radius: 50%; }
.orbit-one { width: 500px; height: 500px; left: 0; top: 30px; background: radial-gradient(ellipse, #dce5ff 0%, #f3f6ff 58%, transparent 72%); }
.orbit-two { width: 410px; height: 410px; left: 53px; top: 35px; border: 1px solid #e6ebff; transform: rotate(-16deg); }
.hero-photo { position: absolute; inset: 16px 43px 76px 38px; border-radius: 150px 30px 30px 30px; overflow: hidden; background: #ccc6b9; transform: rotate(-4deg); box-shadow: 0 28px 48px rgba(43,55,75,.14); }
.hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,24,34,.17), transparent 38%, rgba(13,25,34,.7)); }
.hero-photo>img { width: 100%; height: 100%; object-fit: cover; object-position: 46% 50%; }
.photo-tag { position: absolute; z-index: 1; top: 24px; right: 25px; color: white; display: flex; align-items: center; gap: 8px; font-size: 9px; font-weight: 700; letter-spacing: .12em; padding: 10px 13px; background: rgba(18,31,39,.26); backdrop-filter: blur(10px); border-radius: 50px; border: 1px solid rgba(255,255,255,.25); }
.photo-tag .status-dot { background: #b3e7d0; box-shadow: none; width: 5px; height: 5px; }
.photo-caption { position: absolute; z-index: 1; bottom: 73px; left: 30px; color: white; font-size: 25px; line-height: 1.18; letter-spacing: -.04em; font-weight: 500; }
.hero-phone { position: absolute; width: 238px; height: 433px; right: 1px; top: 78px; padding: 9px; background: #f9fbff; border: 5px solid #f0f2f8; outline: 1px solid #cdd4e3; border-radius: 36px; transform: rotate(7deg); box-shadow: 12px 30px 50px rgba(23,37,82,.22), inset 0 0 0 1px white; animation: phone-float 7s ease-in-out infinite; }
.phone-island { position: absolute; width: 72px; height: 18px; top: 10px; left: 50%; transform: translateX(-50%); background: #182036; border-radius: 20px; }
.phone-topline { display: flex; justify-content: space-between; font-size: 9px; padding: 8px 10px 13px; font-weight: 700; }
.phone-signal { letter-spacing: 1px; }
.phone-content { padding: 11px 11px 8px; }
.guest-brand { color: #5a6884; font-size: 9px; font-weight: 700; letter-spacing: .16em; display: flex; justify-content: space-between; }
.guest-brand span { font-size: 18px; line-height: .6; color: var(--blue); }
.guest-welcome { font-size: 28px; line-height: 1.12; margin-top: 19px; font-weight: 600; letter-spacing: -.055em; }
.guest-location { margin-top: 11px; display: flex; align-items: center; gap: 4px; font-size: 9px; color: #738099; margin-bottom: 21px; }
.guest-location .icon { width: 12px; height: 12px; }
.guest-action { display: flex; align-items: center; gap: 10px; border: 1px solid #e6eaf4; background: #fff; border-radius: 10px; padding: 12px 10px; font-size: 10px; margin-bottom: 7px; font-weight: 500; }
.guest-action .icon { width: 17px; height: 17px; color: var(--blue); }
.guest-action .icon:last-child { width: 13px; height: 13px; margin-left: auto; color: #97a1b4; }
.guest-action.primary-action { background: var(--blue); color: white; border-color: var(--blue); }
.guest-action.primary-action .icon { color: white; }
.guest-note { text-align: center; color: #788398; font-size: 8px; margin-top: 15px; }
.guest-stars { text-align: center; color: var(--blue); font-size: 18px; letter-spacing: 2px; margin-top: 5px; }
.guest-powered { text-align: center; font-size: 7px; color: #74829b; margin-top: 15px; }
.guest-powered strong { color: #3e558a; }
.phone-home { position: absolute; width: 66px; height: 4px; bottom: 6px; left: calc(50% - 33px); border-radius: 20px; background: #26334b; }
.floating-review { position: absolute; z-index: 2; left: -12px; bottom: 24px; display: flex; align-items: flex-start; gap: 12px; background: #fff; border: 1px solid #e5eafa; box-shadow: 0 14px 48px rgba(26,45,98,.13); border-radius: 15px; padding: 18px 17px; width: 375px; animation: review-float 6s ease-in-out infinite; }
.review-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 35px; height: 35px; border-radius: 10px; background: #eef2ff; color: var(--blue); }
.review-icon .icon { width: 18px; height: 18px; }
.review-heading { display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 700; }
.review-heading>span { color: #52735e; background: #ecf8f0; font-size: 10px; padding: 3px 6px; border-radius: 5px; white-space: nowrap; }
.floating-review p { font-size: 10px; margin-top: 7px; color: #5e6a82; line-height: 1.5; }
.review-meta { font-size: 9px; color: #8b95a8; margin-top: 8px; }
.review-meta span { margin: 0 4px; }
.review-check { position: absolute; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #b7edd1; color: #24573a; top: -8px; right: 19px; border: 2px solid white; }
.review-check .icon { width: 12px; height: 12px; stroke-width: 2.5; }
.visual-caption { position: absolute; bottom: -4px; left: 4px; font-size: 9px; color: #8792a9; }
.motion-toggle { position: absolute; bottom: -7px; right: 0; width: 27px; height: 27px; border: 1px solid #e3e8f1; background: white; border-radius: 50%; color: #637089; display: flex; justify-content: center; align-items: center; }
.motion-toggle .icon { width: 12px; height: 12px; }
.motion-toggle[aria-pressed="true"] { background: #eaf0ff; border-color: #a7b6f1; }
.audience-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fcfdff; }
.audience-inner { min-height: 100px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.audience-inner>span { font-size: 11px; color: #8490a6; line-height: 1.65; }
.audience-inner>span strong { color: #647088; font-weight: 500; }
.audience-inner>a { display: flex; align-items: center; gap: 12px; font-size: 13px; color: #657088; font-weight: 500; }
.audience-inner .icon { width: 24px; height: 24px; color: #8390ad; }
.audience-inner>a:hover { color: var(--blue); }
.section { padding-top: 105px; padding-bottom: 105px; }
.section h2, .analytics-section h2, .contact-section h2 { font-size: clamp(34px,3.25vw,46px); line-height: 1.15; }
.section-heading { margin-bottom: 40px; }
.section-heading .eyebrow { margin-bottom: 18px; }
.split-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.split-heading>p { color: var(--muted); font-size: 15px; padding-bottom: 4px; max-width: 360px; }
.centered { text-align: center; max-width: 780px; margin-left: auto; margin-right: auto; }
.centered .eyebrow { justify-content: center; }
.centered>p { color: var(--muted); margin-top: 19px; font-size: 16px; }
.feature-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 20px; }
.feature-card { position: relative; border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; overflow: hidden; transition: border-color .3s, box-shadow .3s; }
.feature-card:hover { border-color: #c6d1f8; box-shadow: 0 12px 40px rgba(63,88,144,.045); }
.feature-card h3 { font-size: 29px; line-height: 1.2; margin-top: 18px; }
.feature-card p { font-size: 14px; color: var(--muted); max-width: 445px; margin-top: 14px; }
.card-label { display: inline-flex; align-items: center; gap: 10px; color: #536386; font-size: 10px; font-weight: 700; letter-spacing: .11em; }
.card-label .icon { width: 17px; height: 17px; color: var(--blue); }
.location-card { grid-column: span 3; background: linear-gradient(135deg,#f1f5ff,#f8faff); padding-bottom: 25px; }
.survey-card { grid-column: span 3; background: #fafbfe; }
.mini-floorplan { height: 181px; display: grid; grid-template-columns: 1fr 1.5fr .75fr; grid-template-rows: 145px 24px; gap: 6px; margin-top: 27px; max-width: 460px; }
.plan-room { position: relative; border: 1px solid #c6d3ec; border-radius: 8px; background: #fff; overflow: hidden; }
.plan-room>span:first-child { position: absolute; top: 11px; left: 12px; font-size: 10px; color: #627393; z-index: 1; }
.plan-bath { background: repeating-linear-gradient(0deg, transparent, transparent 17px, #e7edf7 17px, #e7edf7 18px), repeating-linear-gradient(90deg,#f7f9ff, #f7f9ff 17px, #e7edf7 17px, #e7edf7 18px); }
.plan-bath::after { content: ""; position: absolute; width: 36px; height: 62px; background: #fefeff; border: 1px solid #c9d3e6; border-radius: 16px 16px 9px 9px; left: 20px; top: 53px; }
.plan-bed { position: absolute; width: 96px; height: 76px; bottom: 17px; left: 50%; transform: translateX(-50%); border: 1px solid #d6dded; background: linear-gradient(#f4f6fc 40%,#e6edfc 40%); border-radius: 7px 7px 4px 4px; display: flex; justify-content: center; gap: 7px; padding-top: 9px; }
.plan-bed i { display: block; width: 29px; height: 17px; background: white; border: 1px solid #d7dfef; border-radius: 4px; }
.plan-balcony { background: #eef5f1; border-color: #d1dfda; }
.plan-balcony::after { content: ""; position: absolute; height: 56px; width: 56px; border: 6px solid #d2e7dc; border-radius: 50%; background: #e4f0ea; left: 15px; bottom: 17px; }
.plan-point { position: absolute; bottom: 39px; right: 13px; z-index: 2; width: 15px; height: 15px; background: var(--blue); border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 5px #4b68f023; }
.plan-bedroom .plan-point { bottom: 33px; }
.plan-balcony .plan-point { bottom: 48px; right: 25px; }
.plan-caption { display: flex; justify-content: space-between; grid-column: 1/-1; margin-top: 4px; font-size: 10px; color: #637292; }
.plan-caption>span { color: #8190a9; }
.survey-demo { background: #fff; border: 1px solid #e8ebf5; box-shadow: 0 10px 30px rgba(69,93,145,.06); padding: 20px 23px 15px; margin-top: 23px; border-radius: 15px; }
.demo-kicker { color: #94a0b6; font-size: 8px; letter-spacing: .12em; font-weight: 600; }
.survey-demo>strong { display: block; margin-top: 8px; font-size: 16px; letter-spacing: -.02em; }
.survey-scale { display: flex; gap: 8px; margin-top: 19px; }
.survey-scale button { min-height: 41px; flex: 1; display: flex; justify-content: center; align-items: center; gap: 5px; border: 1px solid #e6eaf4; background: #f7f9fc; border-radius: 9px; font-size: 14px; transition: background .2s, color .2s, transform .2s; }
.survey-scale button:hover { transform: translateY(-2px); background: #e7edff; }
.survey-scale button.is-selected { color: white; background: var(--blue); border-color: var(--blue); }
.survey-scale .icon { width: 13px; height: 13px; }
.scale-labels { display: flex; justify-content: space-between; margin-top: 7px; font-size: 8px; color: #8490a7; }
.survey-demo .survey-feedback { font-size: 10px; color: #77849b; margin-top: 12px; line-height: 1.45; min-height: 30px; max-width: none; }
.compact-card { grid-column: span 2; min-height: 302px; }
.feature-icon { display: flex; align-items: center; justify-content: center; background: #f0f3ff; border-radius: 13px; width: 45px; height: 45px; color: var(--blue); }
.compact-card h3 { font-size: 24px; margin-top: 22px; }
.compact-card p { font-size: 13px; margin-top: 13px; }
.brand-swatches { display: flex; align-items: center; gap: 6px; margin-top: 23px; }
.brand-swatches i { display: block; width: 25px; height: 25px; border-radius: 50%; background: var(--blue); border: 3px solid white; box-shadow: 0 0 0 1px #edf0f7; }
.brand-swatches i:nth-child(2) { background: #17213c; }
.brand-swatches i:nth-child(3) { background: #b9e9d3; }
.brand-swatches>span { color: #6c7991; font-size: 18px; font-weight: 600; margin-left: 7px; letter-spacing: -.05em; }
.small-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 25px; }
.small-tags>span { font-size: 9px; color: #64728c; border: 1px solid #e7ebf4; padding: 7px 10px; border-radius: 6px; white-space: nowrap; }
.mini-display { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 19px; border: 1px solid #e8edf5; padding: 12px; border-radius: 9px; font-size: 10px; }
.available { display: flex; gap: 5px; align-items: center; color: #347051; font-size: 9px; font-weight: 600; }
.available i { width: 5px; height: 5px; border-radius: 50%; background: #4fae7a; }
.analytics-section { background: #111c37; color: white; padding: 96px 0; position: relative; overflow: hidden; }
.analytics-section::before { content: ""; position: absolute; right: -110px; top: -290px; width: 900px; height: 900px; background: radial-gradient(ellipse,#3654a640,transparent 70%); pointer-events: none; }
.analytics-inner { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 76px; position: relative; }
.analytics-copy .eyebrow { color: #95aafd; }
.analytics-copy h2 { margin-top: 24px; }
.analytics-copy h2>span { color: #98afff; }
.analytics-copy>p { font-size: 16px; color: #b0bdd6; margin-top: 23px; max-width: 400px; }
.analytics-value { display: flex; align-items: flex-start; gap: 13px; border-top: 1px solid #ffffff1f; margin-top: 26px; padding-top: 24px; }
.analytics-value>.icon { color: #a5baff; width: 20px; margin-top: 2px; }
.analytics-value strong { display: block; color: #eef2ff; font-size: 13px; font-weight: 550; }
.analytics-value p { font-size: 13px; line-height: 1.65; margin-top: 8px; color: #9caecf; }
.light-link { color: #e9efff; margin-top: 33px; }
.light-link:hover { color: #b9c8ff; }
.dashboard { color: var(--ink); background: white; border-radius: 17px; box-shadow: 0 24px 80px #00000022; min-width: 0; transform: rotate(-1deg); }
.dashboard-top { display: flex; gap: 10px; align-items: center; padding: 15px 20px; border-bottom: 1px solid #e8edf5; }
.dashboard-top>strong { font-size: 13px; font-weight: 600; }
.dashboard-mark { background: var(--blue); border-radius: 7px; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; color: white; }
.dashboard-mark .icon { width: 16px; height: 16px; }
.demo-pill { padding: 4px 8px; background: #f0f3fb; color: #727f98; border-radius: 5px; font-size: 9px; font-weight: 550; }
.dashboard-period { font-size: 10px; margin-left: auto; color: #6e7b92; }
.dashboard-body { padding: 22px; }
.dashboard-tabs { display: flex; background: #f1f4fa; padding: 4px; border-radius: 8px; margin-bottom: 24px; width: max-content; max-width: 100%; }
.dashboard-tabs button { border: none; padding: 9px 13px; border-radius: 6px; color: #6f7c95; font-size: 10px; font-weight: 550; background: transparent; transition: background .2s; white-space: nowrap; }
.dashboard-tabs button[aria-selected="true"] { background: white; color: var(--blue); box-shadow: 0 2px 7px #42548612; }
.dashboard-stats { display: flex; align-items: center; gap: 32px; margin-bottom: 22px; }
.dashboard-stats>div>span { display: block; font-size: 10px; color: #718098; }
.dashboard-stats strong { display: block; font-size: 36px; letter-spacing: -.065em; line-height: 1.2; margin-top: 6px; font-weight: 600; }
.dashboard-stats small { font-size: 14px; margin-left: 5px; color: #9faabe; font-weight: 500; }
.dashboard-stats>.dashboard-tag { margin-left: auto; color: var(--blue); display: flex; align-items: center; gap: 5px; background: #f0f3ff; padding: 8px 10px; border-radius: 7px; }
.dashboard-tag>.icon { width: 14px; height: 14px; }
.dashboard-stats>.dashboard-tag>span { font-size: 9px; color: #51639b; max-width: 70px; }
.chart-head { display: flex; justify-content: space-between; align-items: center; font-size: 10px; }
.chart-head strong { font-weight: 600; }
.chart-head span { font-size: 9px; color: #7f8ba2; }
.chart-head i { display: inline-block; width: 5px; height: 5px; background: var(--blue); border-radius: 50%; margin-right: 4px; }
.bar-chart { margin-top: 17px; height: 109px; display: flex; position: relative; }
.bar-chart::before { position: absolute; inset: 0 0 0 28px; content: ""; background: repeating-linear-gradient(0deg,transparent,transparent 35px,#edf1f8 35px,#edf1f8 36px); }
.chart-lines { display: flex; flex-direction: column; justify-content: space-between; width: 28px; color: #a0acc1; font-size: 8px; }
.chart-bars { display: flex; align-items: flex-end; flex: 1; gap: 9px; position: relative; }
.chart-bars i { flex: 1; height: var(--bar); background: #bfccff; border-radius: 4px 4px 0 0; transition: height .65s var(--ease), background .3s; min-height: 4px; }
.chart-bars i:nth-child(3n) { background: #88a0f8; }
.chart-bars i:nth-last-child(-n+3) { background: var(--blue); }
.chart-dates { display: flex; justify-content: space-between; margin: 8px 0 0 28px; font-size: 8px; color: #8592aa; }
.demo-review-row { display: flex; align-items: center; gap: 8px; padding-top: 17px; margin-top: 17px; border-top: 1px solid #e8edf6; min-width: 0; }
.demo-avatar { background: #eff2fc; display: inline-flex; width: 28px; height: 28px; justify-content: center; align-items: center; border-radius: 50%; font-size: 10px; color: #8190b1; flex-shrink: 0; }
.demo-review-row>div { min-width: 0; }
.demo-review-row strong { font-size: 10px; display: block; font-weight: 600; }
.demo-review-row>div>span { display: block; font-size: 9px; color: #7c89a0; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.demo-stars { margin-left: auto; color: var(--blue); font-size: 11px; white-space: nowrap; }
.dashboard-disclaimer { background: #f5f7fc; border-top: 1px solid #e9edf6; border-radius: 0 0 17px 17px; padding: 11px 21px; font-size: 8px; color: #7e8ba2; line-height: 1.5; }
.scenario-stage { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #e2e8f7; border-radius: 28px; background: #f7f9fd; overflow: hidden; }
.scenario-settings { padding: 40px 45px; }
.scenario-object { display: flex; align-items: center; gap: 11px; color: #8592ac; font-size: 9px; }
.scenario-object>.icon { width: 32px; height: 32px; color: #7d93c3; }
.scenario-object strong { display: block; font-size: 14px; color: #526582; margin-top: 3px; }
.scenario-object .demo-pill { margin-left: auto; }
.scenario-settings h3 { font-size: 30px; line-height: 1.2; margin-top: 30px; }
.location-tabs { display: flex; gap: 7px; margin-top: 26px; }
.location-tabs button { background: white; border: 1px solid #dfe6f6; border-radius: 9px; padding: 12px 17px; font-size: 12px; font-weight: 600; transition: background .2s, color .2s; }
.location-tabs button[aria-selected="true"] { background: var(--blue); color: white; border-color: var(--blue); box-shadow: 0 5px 10px #4b68f023; }
#location-panel { margin-top: 23px; min-height: 143px; }
#location-description { color: var(--muted); font-size: 14px; line-height: 1.65; min-height: 47px; }
.scenario-context { display: flex; gap: 10px; align-items: center; margin-top: 23px; background: white; border: 1px solid #e7ebf5; padding: 13px 14px; border-radius: 9px; }
.scenario-context>.icon { color: var(--blue); width: 19px; height: 19px; }
.scenario-context span { display: block; font-size: 9px; color: #8391ac; }
.scenario-context strong { display: block; font-size: 12px; font-weight: 600; margin-top: 5px; }
.scenario-steps { display: flex; align-items: center; gap: 9px; margin-top: 29px; color: #8290aa; }
.scenario-steps>span { font-size: 8px; white-space: nowrap; }
.scenario-steps b { display: block; font-size: 10px; color: #60769d; font-weight: 600; margin-bottom: 4px; }
.scenario-steps>i { font-style: normal; padding: 0 5px; }
.scenario-preview { background: #eaf0ff; display: flex; align-items: center; justify-content: center; position: relative; min-height: 490px; padding: 32px 35px 52px; overflow: hidden; }
.scenario-preview-dots { position: absolute; width: 520px; height: 520px; border: 1px solid #d7e1ff; border-radius: 50%; left: calc(50% - 260px); top: calc(50% - 260px); }
.scenario-preview-dots::after { content: ""; position: absolute; inset: 30px; border: 1px solid #dbe4ff; border-radius: 50%; }
.scenario-web { background: white; border: 1px solid #dce4f5; border-radius: 16px; width: 345px; max-width: 100%; box-shadow: 0 18px 50px #355b9d1a; position: relative; transform: rotate(2deg); }
.mini-browser { display: flex; align-items: center; gap: 4px; border-bottom: 1px solid #edf0f8; padding: 14px; }
.mini-browser>i { width: 5px; height: 5px; background: #dce3f2; border-radius: 50%; }
.mini-browser>span { font-size: 9px; color: #95a2b9; margin-left: 12px; }
.mini-browser .icon { width: 12px; height: 12px; margin-left: auto; color: #96a7c2; }
.scenario-screen { padding: 26px; }
.screen-intro { display: flex; align-items: center; justify-content: space-between; color: #7f90ad; font-size: 8px; letter-spacing: .17em; font-weight: 700; }
.screen-intro>.icon { width: 19px; height: 19px; color: var(--blue); }
.scenario-screen h4 { font-size: 23px; line-height: 1.25; margin-top: 16px; font-weight: 600; }
.screen-location { display: flex; align-items: center; gap: 5px; margin-top: 10px; color: #8c9ab2; font-size: 9px; }
.screen-location>.icon { width: 12px; height: 12px; }
.screen-actions { display: grid; gap: 9px; margin-top: 26px; }
.screen-actions>div { display: flex; align-items: center; gap: 11px; border-radius: 9px; border: 1px solid #e8ecf6; padding: 15px 12px; font-size: 11px; color: #536687; }
.screen-actions>div:first-child { background: var(--blue); color: white; border-color: var(--blue); }
.screen-actions .icon { width: 17px; height: 17px; }
.screen-actions .icon:last-child { margin-left: auto; width: 13px; height: 13px; }
.screen-powered { color: #91a0b8; font-size: 8px; margin-top: 23px; text-align: center; }
.scenario-hint { position: absolute; left: 50%; transform: translateX(-50%); bottom: 28px; white-space: nowrap; font-size: 10px; color: #6882b2; display: flex; gap: 7px; align-items: center; }
.scenario-hint>.icon { width: 14px; height: 14px; }
.scenario-web.is-changing { animation: screen-change .4s var(--ease); }
.section-soft { background: #f7f9fc; }
.industry-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.industry-card { background: white; border: 1px solid #e4e9f3; border-radius: 22px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .25s, transform .25s; }
.industry-card:hover { box-shadow: 0 16px 40px #293c6a0d; transform: translateY(-4px); }
.industry-art { height: 195px; position: relative; background: #e3e7eb; overflow: hidden; }
.industry-art>img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.industry-card:hover .industry-art>img { transform: scale(1.04); }
.industry-art>span { display: flex; justify-content: center; align-items: center; width: 39px; height: 39px; background: #ffffffdf; color: #4b648e; backdrop-filter: blur(8px); position: absolute; bottom: 14px; left: 18px; border: 1px solid #ffffff90; border-radius: 11px; }
.industry-art>span .icon { width: 20px; height: 20px; }
.industry-content { padding: 27px; display: flex; flex-direction: column; flex: 1; }
.small-label { color: #8b99b1; letter-spacing: .11em; font-size: 9px; font-weight: 650; }
.industry-card h3 { font-size: 23px; margin-top: 12px; line-height: 1.25; }
.industry-card p { color: var(--muted); font-size: 13px; margin-top: 13px; margin-bottom: 24px; }
.industry-card .text-button { color: var(--blue); font-size: 12px; margin-top: auto; }
.industry-footnote { text-align: center; font-size: 12px; color: #7b89a1; margin-top: 28px; }
.clinic-art { background: linear-gradient(115deg, #e8edf4, #d9e3ef 72%,#eef3f7); }
.door-line { height: 100%; width: 32%; position: absolute; top: 0; right: 0; background: #e6eef3; border-left: 8px solid #ccd7e2; box-shadow: -9px 0 12px #334b7520; }
.clinic-tablet { position: absolute; border: 7px solid #263547; background: #fff; border-radius: 13px; width: 190px; left: calc(50% - 112px); top: 26px; box-shadow: 8px 12px 18px #1d2f442b; padding: 16px; transform: rotate(-4deg); }
.clinic-tablet>span { color: #7e8fa7; font-size: 8px; letter-spacing: .15em; }
.clinic-tablet>strong { display: block; font-size: 14px; letter-spacing: -.03em; margin-top: 8px; }
.clinic-tablet>i { display: flex; align-items: center; justify-content: center; gap: 6px; font-style: normal; margin-top: 14px; font-size: 10px; padding: 7px; border-radius: 5px; color: #276049; background: #d9f2e5; }
.clinic-tablet b { width: 5px; height: 5px; background: #3d9d71; border-radius: 50%; }
.roadmap-panel { background: linear-gradient(115deg,#26439d,#3554bf); border-radius: 30px; padding: 46px; color: white; overflow: hidden; position: relative; }
.roadmap-panel::before { position: absolute; width: 700px; height: 700px; content: ""; border: 1px solid #ffffff10; border-radius: 50%; top: -290px; right: -180px; pointer-events: none; }
.roadmap-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 45px; position: relative; }
.roadmap-badge { display: inline-flex; gap: 8px; align-items: center; font-size: 9px; letter-spacing: .12em; font-weight: 600; padding: 8px 11px; border: 1px solid #ffffff36; border-radius: 30px; color: #e7eeff; }
.roadmap-badge>span { width: 5px; height: 5px; background: #b9f1d7; border-radius: 50%; }
.roadmap-head h2 { margin-top: 22px; }
.roadmap-head>p { color: #c6d4ff; font-size: 14px; line-height: 1.7; padding-bottom: 4px; }
.roadmap-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 36px; position: relative; }
.roadmap-grid>article { background: #ffffff0c; border: 1px solid #ffffff24; padding: 28px; border-radius: 17px; }
.roadmap-card-top { display: flex; justify-content: space-between; align-items: center; color: #aec1f7; }
.roadmap-card-top>span { font-size: 9px; letter-spacing: .11em; font-weight: 650; }
.roadmap-card-top>.icon { width: 22px; height: 22px; color: #c5d4ff; }
.roadmap-grid h3 { font-size: 27px; line-height: 1.25; margin-top: 18px; }
.roadmap-grid p { color: #ccd8ff; font-size: 13px; margin-top: 14px; }
.routing-demo { display: flex; align-items: center; gap: 7px; margin-top: 28px; }
.routing-demo>span { font-size: 9px; padding: 9px 12px; background: #ffffff0d; border: 1px solid #ffffff2a; border-radius: 8px; color: #e4ebff; }
.routing-demo>i { color: #abc0fc; font-size: 12px; font-style: normal; }
.routing-demo>span:last-child { background: #bcf1d820; border-color: #bcf1d85c; color: #daffef; }
.integration-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 28px; }
.integration-tags>span { padding: 9px 12px; font-size: 9px; border: 1px solid #ffffff2a; border-radius: 8px; background: #ffffff0d; color: #e4ebff; }
.integration-tags>span:first-child { background: #fff2d71a; color: #fff2d7; border-color: #ffe8b44f; }
.roadmap-note { display: flex; align-items: flex-start; gap: 8px; margin-top: 23px; color: #bfceff; font-size: 10px; line-height: 1.6; }
.roadmap-note .icon { width: 14px; height: 14px; margin-top: 1px; }
.pricing-section { display: grid; grid-template-columns: 1.07fr 1fr; gap: 90px; align-items: center; padding-top: 15px; }
.pricing-copy h2 { margin-top: 20px; }
.pricing-copy>p { color: var(--muted); margin-top: 24px; font-size: 15px; max-width: 450px; }
.pricing-factors { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 27px; max-width: 410px; }
.pricing-factors>span { padding: 9px 13px; font-size: 11px; border: 1px solid #e6eaf5; color: #6f7d98; border-radius: 7px; }
.price-card { padding: 35px; border: 1px solid #cfdaff; border-radius: 24px; box-shadow: 0 14px 55px #375ec311; background: linear-gradient(130deg,#fff 55%,#f5f7ff); }
.price-card-top { display: flex; align-items: center; justify-content: space-between; }
.price-card-top .icon { color: var(--blue); width: 25px; height: 25px; }
.price-card h3 { font-size: 39px; line-height: 1.15; margin-top: 27px; }
.price-card>p { font-size: 14px; color: var(--muted); margin-top: 18px; }
.price-scope { display: grid; gap: 14px; padding-top: 25px; border-top: 1px solid #e1e8f8; margin-top: 24px; font-size: 12px; color: #506380; }
.price-scope>div { display: flex; gap: 9px; align-items: flex-start; line-height: 1.5; }
.price-scope .icon { width: 17px; height: 17px; color: var(--blue); }
.price-card>.button { width: 100%; margin-top: 29px; justify-content: space-between; }
.price-note { display: block; text-align: center; margin-top: 14px; font-size: 10px; color: #8a97ac; }
.launch-section { padding: 5px 0 78px; }
.launch-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; }
.launch-heading h2 { font-size: 30px; letter-spacing: -.04em; }
.launch-heading>span { font-size: 13px; color: #8591a8; }
.launch-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 45px; margin-top: 30px; }
.launch-grid article { padding-top: 25px; border-top: 1px solid #dce3f0; }
.launch-grid article>span { color: var(--blue); display: block; font-size: 12px; font-weight: 600; }
.launch-grid h3 { font-size: 20px; letter-spacing: -.03em; margin-top: 20px; }
.launch-grid p { font-size: 13px; color: var(--muted); margin-top: 12px; }
.faq-section { display: grid; grid-template-columns: .8fr 1.4fr; gap: 80px; border-top: 1px solid var(--line); padding-top: 82px; }
.faq-section h2 { margin-top: 20px; }
.faq-section>div>p { color: #8390a8; font-size: 13px; line-height: 1.8; margin-top: 24px; }
.faq-section p>a { color: var(--blue); display: inline-flex; gap: 5px; align-items: center; margin-top: 3px; }
.faq-section p>a .icon { width: 15px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 24px; font-size: 15px; font-weight: 550; line-height: 1.5; cursor: pointer; padding: 22px 0; }
summary::-webkit-details-marker { display: none; }
.faq-list summary>span { width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: #7d8cab; }
.faq-list summary .icon { transition: transform .25s; width: 18px; height: 18px; }
.faq-list details[open] summary .icon { transform: rotate(45deg); }
.faq-list details[open] summary { color: var(--blue); }
.faq-list details>p { padding: 0 35px 23px 0; font-size: 13px; color: var(--muted); line-height: 1.8; }
.contact-section { background: #14213f; color: white; padding: 83px 0 87px; position: relative; overflow: hidden; }
.contact-section::before { position: absolute; content: ""; width: 700px; height: 700px; left: -220px; bottom: -490px; border-radius: 50%; border: 100px solid #ffffff03; pointer-events: none; }
.contact-inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 110px; align-items: center; }
.contact-copy { padding-bottom: 26px; position: relative; }
.contact-copy .eyebrow { color: #9eaff0; }
.contact-copy h2 { font-size: 54px; margin-top: 25px; line-height: 1.12; }
.contact-copy h2>span { color: #a4b8ff; }
.contact-copy>p { color: #b1bfdc; font-size: 16px; max-width: 400px; margin-top: 26px; }
.contact-expect { display: grid; gap: 23px; margin-top: 38px; }
.contact-expect>div { display: flex; align-items: center; gap: 15px; font-size: 12px; color: #c6d2ec; }
.contact-expect b { display: flex; justify-content: center; align-items: center; flex-shrink: 0; width: 29px; height: 29px; border-radius: 9px; border: 1px solid #8ba5e92e; color: #94aae0; font-size: 10px; font-weight: 500; }
.contact-email { display: inline-flex; align-items: center; gap: 20px; margin-top: 56px; font-size: 23px; letter-spacing: -.03em; color: white; }
.contact-email:hover { color: #a4b8ff; }
.contact-email .icon { width: 19px; height: 19px; color: #a4b8ff; }
.contact-email-note { display: block; color: #8398c0; font-size: 11px; margin-top: 8px; }
.contact-card { padding: 34px; border-radius: 24px; background: white; color: var(--ink); box-shadow: 0 25px 60px #00000015; position: relative; min-width: 0; }
.contact-card h3 { font-size: 28px; line-height: 1.2; }
.form-subtitle { color: #7c8aa0; font-size: 12px; margin-top: 10px; line-height: 1.65; max-width: 390px; }
#contact-form { margin-top: 24px; }
.form-field { display: flex; flex-direction: column; margin-bottom: 17px; min-width: 0; }
.form-field>label { color: #5b6a81; font-size: 11px; font-weight: 600; line-height: 1.5; margin-bottom: 7px; }
.form-field label>span, .contact-method legend>span { color: #6d88db; }
input[type="text"], input[type="tel"], input[type="email"], textarea, select { border: 1px solid #dce3ef; padding: 13px 14px; border-radius: 8px; outline: none; min-height: 46px; width: 100%; background: #fbfcfe; color: #293a54; font-size: 13px; line-height: 1.5; transition: background .2s, border-color .2s, box-shadow .2s; }
textarea { resize: vertical; min-height: 93px; max-height: 320px; }
input::placeholder, textarea::placeholder { color: #99a6bc; }
input:focus, select:focus, textarea:focus { border-color: #6985f0; box-shadow: 0 0 0 3px #4b68f015; background: white; }
[aria-invalid="true"] { border-color: #bf4353 !important; }
.field-error { font-size: 11px; line-height: 1.5; color: #af3045; margin-top: 6px; }
.field-error:empty { display: none; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-method { margin: 0; padding: 0; border: 0; min-width: 0; }
.contact-method legend { padding: 0; font-size: 11px; font-weight: 600; color: #5b6a81; margin-bottom: 9px; }
.method-switch { display: flex; gap: 16px; margin: 0 0 10px; }
.method-switch label { position: relative; display: inline-flex; gap: 8px; align-items: center; cursor: pointer; font-size: 11px; color: #6d7e99; }
.method-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.method-switch label>span { display: inline-flex; align-items: center; gap: 6px; padding-bottom: 6px; border-bottom: 2px solid transparent; }
.method-switch .icon { width: 14px; height: 14px; }
.method-switch input:checked+span { color: var(--blue); border-bottom-color: var(--blue); }
.method-switch input:focus-visible+span { outline: 2px solid var(--blue); outline-offset: 5px; border-radius: 3px; }
.message-details { margin: -1px 0 18px; }
.message-details summary { display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: #6c7e9f; cursor: pointer; padding: 6px 0; list-style: none; }
.message-details summary>.icon { width: 14px; height: 14px; }
.message-details[open] summary>.icon { transform: rotate(45deg); }
.message-details .form-field { margin: 7px 0 0; }
.form-honeypot { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.consent-field { margin-bottom: 19px; }
.consent-label { display: flex; gap: 10px; align-items: flex-start; font-size: 11px; line-height: 1.65; color: #7c8ba3; }
.consent-label input { margin: 3px 0 0; width: 16px; height: 16px; flex-shrink: 0; accent-color: var(--blue); cursor: pointer; }
.consent-label a { color: #4c67b0; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: #c1cef1; }
.consent-label a:hover { color: var(--blue); }
.submit-button { width: 100%; justify-content: space-between; border: 0; font-size: 14px; }
.submit-button[disabled] { background: #768bee; transform: none; box-shadow: none; }
.submit-button[disabled]>.icon { display: none; }
.spinner { width: 19px; height: 19px; border: 2px solid #ffffff55; border-top-color: white; border-radius: 50%; animation: spin .75s linear infinite; flex-shrink: 0; }
.form-alert { padding: 11px 13px; border-radius: 8px; color: #9b3344; background: #fff0f1; font-size: 12px; line-height: 1.6; margin-bottom: 13px; }
.form-alert a { text-decoration: underline; }
.form-bottom-note { font-size: 10px; color: #91a0b7; margin-top: 11px; text-align: center; line-height: 1.5; }
.form-success { min-height: 540px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; outline: none; }
.success-mark { display: flex; align-items: center; justify-content: center; width: 65px; height: 65px; border-radius: 18px; background: #e3f6ec; color: #338c60; margin-bottom: 32px; }
.success-mark .icon { width: 30px; height: 30px; stroke-width: 2; }
.form-success .eyebrow { font-size: 10px; }
.form-success h3 { font-size: 37px; margin-top: 19px; }
.form-success>p { font-size: 14px; color: #6d7f9a; margin-top: 21px; }
.request-number { margin-top: 27px; border: 1px solid var(--line); border-radius: 9px; padding: 12px 15px; font-size: 11px; color: #7d8ca5; width: 100%; display: flex; gap: 10px; flex-wrap: wrap; }
.request-number>strong { color: #4b65ac; font-size: 11px; letter-spacing: .01em; }
.form-success>.success-footnote { font-size: 10px; color: #94a0b4; margin-top: 14px; }
.form-success .text-button { margin-top: 30px; color: var(--blue); font-size: 12px; }
.site-footer { padding: 37px 0 25px; }
.footer-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 30px; border-bottom: 1px solid var(--line); gap: 30px; }
.footer-top .brand img { width: 85px; }
.footer-top p { font-size: 11px; color: #8895ab; margin-top: 12px; }
.footer-nav { display: flex; align-items: center; gap: 30px; font-size: 12px; color: #5b6d88; }
.footer-nav>a:last-child { color: var(--blue); display: flex; align-items: center; gap: 6px; }
.footer-nav .icon { width: 14px; height: 14px; }
.footer-nav a:hover { color: var(--blue); }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; padding-top: 24px; color: #8593aa; font-size: 10px; }
.footer-bottom>div { display: flex; gap: 23px; flex-wrap: wrap; }
.footer-bottom a:hover { text-decoration: underline; color: #506b9c; }
.mobile-cta { display: none; }
/* Content stays visible without JS. Only the progressive enhancement opts in. */
.motion-ready [data-reveal] { opacity: 0; transform: translateY(23px); transition: opacity .75s var(--ease), transform .75s var(--ease); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: none; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state: paused !important; }
.motion-paused { scroll-behavior: auto; }
@keyframes phone-float { 0%,100% { transform: translateY(0) rotate(7deg); } 50% { transform: translateY(-9px) rotate(5.5deg); } }
@keyframes review-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes screen-change { from { opacity: .55; transform: translateY(5px) rotate(2deg); } to { opacity: 1; transform: translateY(0) rotate(2deg); } }
@keyframes spin { to { transform: rotate(360deg); } }

@media (min-width:1600px) {
  .hero h1 { font-size: 68px; }
  .hero { min-height: 740px; }
}
@media (max-width:1200px) {
  .container { width: calc(100% - 64px); }
  .header-inner { gap: 20px; }
  .desktop-nav { gap: 20px; }
  .header-contact { display: none; }
  .header-actions { margin-left: 10px; }
  .hero { gap: 13px; min-height: 650px; }
  .hero h1 { font-size: clamp(44px,4.8vw,60px); }
  .hero-lead { font-size: 16px; }
  .hero-visual { height: 525px; }
  .hero-photo { inset: 20px 34px 75px 19px; }
  .hero-phone { width: 224px; height: 421px; right: 0; top: 65px; }
  .guest-welcome { font-size: 26px; }
  .phone-content { padding: 10px 8px; }
  .hero-buttons { gap: 18px; }
  .hero-buttons .button { font-size: 13px; gap: 13px; }
  .hero-buttons .text-button { font-size: 12px; }
  .floating-review { width: 335px; left: -12px; bottom: 16px; padding: 15px 13px; gap: 8px; }
  .floating-review .review-heading { font-size: 10px; gap: 7px; }
  .floating-review p { font-size: 9px; }
  .photo-caption { left: 22px; font-size: 23px; }
  .orbit-one { width: 400px; height: 460px; }
  .orbit-two { width: 350px; height: 410px; left: 10px; }
  .visual-caption { bottom: -13px; font-size: 8px; }
  .motion-toggle { bottom: -18px; }
  .audience-inner { gap: 15px; }
  .audience-inner>a { font-size: 11px; gap: 8px; }
  .audience-inner .icon { width: 21px; height: 21px; }
  .analytics-inner { gap: 50px; }
  .feature-card { padding: 27px; }
  .feature-card h3 { font-size: 26px; }
  .compact-card h3 { font-size: 23px; }
  .compact-card p { font-size: 12px; }
  .small-tags { gap: 5px; }
  .small-tags>span { font-size: 8px; padding: 6px 7px; }
  .scenario-settings { padding: 35px; }
  .scenario-steps { gap: 5px; }
  .scenario-steps>i { padding: 0 3px; }
  .scenario-preview { padding-left: 25px; padding-right: 25px; }
  .pricing-section { gap: 60px; }
  .contact-inner { gap: 65px; }
  .contact-copy h2 { font-size: 48px; }
  .contact-card { padding: 29px; }
  .industry-content { padding: 23px; }
  .industry-card h3 { font-size: 22px; }
  .roadmap-panel { padding: 38px; }
  .roadmap-grid>article { padding: 24px; }
}
@media (max-width:960px) {
  .container { width: calc(100% - 48px); }
  .desktop-nav { gap: 18px; }
  .desktop-nav a { font-size: 12px; }
  .hero { gap: 14px; padding-top: 35px; padding-bottom: 48px; min-height: 600px; }
  .hero h1 { font-size: 43px; }
  .hero .eyebrow { font-size: 9px; }
  .hero-lead { font-size: 15px; }
  .hero-visual { height: 475px; }
  .hero-phone { width: 201px; height: 384px; top: 57px; border-radius: 30px; padding: 6px; }
  .phone-island { width: 62px; height: 15px; top: 8px; }
  .phone-topline { font-size: 8px; padding-top: 6px; padding-bottom: 10px; }
  .guest-welcome { font-size: 24px; margin-top: 15px; }
  .guest-location { font-size: 8px; margin-bottom: 14px; margin-top: 8px; }
  .guest-action { font-size: 9px; padding: 10px 8px; }
  .guest-action .icon { width: 15px; height: 15px; }
  .guest-note { font-size: 7px; margin-top: 10px; }
  .guest-stars { font-size: 16px; }
  .guest-powered { margin-top: 11px; font-size: 6px; }
  .hero-photo { inset: 16px 22px 65px 10px; border-top-left-radius: 100px; }
  .photo-tag { font-size: 7px; top: 23px; right: 19px; gap: 6px; padding: 8px 10px; }
  .photo-caption { font-size: 20px; left: 18px; bottom: 64px; }
  .floating-review { width: 304px; left: -16px; gap: 8px; bottom: 10px; }
  .review-icon { width: 29px; height: 29px; }
  .review-heading>span { font-size: 8px; }
  .floating-review p { font-size: 8px; }
  .review-meta { font-size: 8px; }
  .review-check { right: 11px; }
  .orbit-one { width: 100%; height: 400px; }
  .orbit-two { width: 100%; height: 390px; left: 0; transform: none; }
  .hero-buttons { gap: 17px; }
  .hero-buttons .button { min-height: 52px; }
  .hero-note { margin-top: 20px; }
  .audience-inner>span { display: none; }
  .audience-inner { min-height: 78px; justify-content: space-between; gap: 12px; }
  .audience-inner>a { font-size: 10px; }
  .section { padding-top: 80px; padding-bottom: 80px; }
  .split-heading { gap: 30px; }
  .split-heading>p { font-size: 13px; max-width: 270px; }
  .section h2, .analytics-section h2 { font-size: 35px; }
  .feature-grid { gap: 15px; }
  .feature-card { padding: 23px; }
  .feature-card h3 { font-size: 25px; }
  .feature-card p { font-size: 13px; }
  .compact-card { padding: 21px; }
  .compact-card h3 { font-size: 20px; }
  .compact-card p { font-size: 12px; }
  .feature-card .card-label { font-size: 9px; }
  .survey-demo { padding: 17px; }
  .survey-scale { gap: 5px; }
  .mini-floorplan { height: 183px; }
  .mini-display { padding: 10px 6px; gap: 5px; font-size: 8px; }
  .available { font-size: 8px; gap: 3px; }
  .analytics-section { padding: 72px 0; }
  .analytics-inner { grid-template-columns: .9fr 1.1fr; gap: 28px; }
  .analytics-copy>p { font-size: 14px; }
  .analytics-value p { font-size: 11px; }
  .analytics-value strong { font-size: 12px; }
  .dashboard-body { padding: 17px; }
  .dashboard-tabs button { padding: 8px 9px; font-size: 9px; }
  .dashboard-stats { gap: 20px; }
  .dashboard-stats>.dashboard-tag { display: none; }
  .dashboard-disclaimer { font-size: 7px; }
  .chart-bars { gap: 6px; }
  .scenario-settings { padding: 30px 25px; }
  .scenario-settings h3 { font-size: 28px; }
  .scenario-steps { flex-wrap: wrap; }
  .scenario-steps>span { font-size: 7px; }
  .location-tabs { gap: 5px; }
  .location-tabs button { padding: 11px 12px; font-size: 11px; }
  #location-description { font-size: 13px; }
  .scenario-context { padding: 12px 10px; }
  .scenario-context span { font-size: 8px; }
  .scenario-preview { padding-left: 20px; padding-right: 20px; }
  .scenario-screen { padding: 22px; }
  .scenario-screen h4 { font-size: 22px; }
  .screen-actions>div { padding: 13px 9px; font-size: 10px; }
  .screen-powered { font-size: 7px; }
  .industry-grid { gap: 16px; }
  .industry-art { height: 164px; }
  .industry-content { padding: 22px; }
  .industry-card h3 { font-size: 21px; }
  .industry-card p { font-size: 12px; }
  .industry-card .text-button { font-size: 10px; gap: 7px; }
  .small-label { font-size: 7px; }
  .clinic-tablet { transform: rotate(-4deg) scale(.85); transform-origin: center top; }
  .roadmap-panel { padding: 30px; }
  .roadmap-head { gap: 30px; }
  .roadmap-head>p { font-size: 12px; }
  .roadmap-grid h3 { font-size: 24px; }
  .roadmap-grid p { font-size: 12px; }
  .roadmap-grid>article { padding: 22px; }
  .routing-demo { gap: 5px; }
  .routing-demo>span { padding: 7px 8px; font-size: 8px; }
  .integration-tags>span { font-size: 8px; padding: 7px 8px; }
  .pricing-section { padding-top: 0; gap: 40px; }
  .pricing-copy>p { font-size: 14px; }
  .price-card { padding: 27px; }
  .price-card h3 { font-size: 34px; }
  .price-scope { font-size: 11px; }
  .price-card .button { font-size: 13px; padding: 15px 18px; }
  .launch-grid { gap: 25px; }
  .launch-heading h2 { font-size: 26px; }
  .launch-heading>span { font-size: 11px; }
  .launch-grid h3 { font-size: 18px; }
  .faq-section { gap: 45px; }
  .faq-list summary { font-size: 13px; }
  .contact-inner { gap: 36px; grid-template-columns: .9fr 1.1fr; }
  .contact-copy h2 { font-size: 41px; }
  .contact-copy>p { font-size: 14px; }
  .contact-expect>div { font-size: 11px; gap: 11px; }
  .contact-card { padding: 25px; }
  .contact-card h3 { font-size: 25px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .footer-nav { gap: 20px; font-size: 11px; }
  .footer-bottom { font-size: 9px; }
  .footer-bottom>div { gap: 15px; }
}
@media (max-width:760px) {
  html { scroll-padding-top: 94px; }
  .container { width: calc(100% - 40px); }
  .header-inner { height: 73px; gap: 16px; }
  .brand img { width: 83px; }
  .desktop-nav { display: none; }
  .menu-toggle { display: flex; }
  .header-actions { margin-left: auto; gap: 10px; }
  .login-link { min-height: 42px; font-size: 12px; padding: 11px 13px; }
  .hero { grid-template-columns: minmax(0,1fr); padding-top: 40px; padding-bottom: 42px; gap: 24px; }
  .hero-copy { max-width: 510px; }
  .hero h1 { font-size: clamp(42px,6.8vw,56px); margin-top: 22px; }
  .hero .eyebrow { font-size: 10px; }
  .hero-lead { font-size: 16px; margin-top: 22px; }
  .hero-buttons { gap: 24px; margin-top: 25px; }
  .hero-buttons .button { font-size: 14px; min-height: 54px; }
  .hero-buttons .text-button { font-size: 13px; }
  .hero-note { font-size: 11px; }
  .hero-visual { width: 100%; max-width: 450px; margin: 0 auto; height: 510px; }
  .hero-photo { inset: 15px 35px 69px 25px; border-top-left-radius: 130px; }
  .hero-phone { width: 224px; height: 421px; right: 14px; top: 63px; border-radius: 33px; padding: 8px; }
  .phone-island { width: 67px; height: 16px; }
  .phone-topline { font-size: 9px; padding: 8px 8px 14px; }
  .guest-welcome { font-size: 27px; margin-top: 15px; }
  .guest-location { font-size: 9px; margin-bottom: 18px; margin-top: 10px; }
  .guest-action { font-size: 10px; padding: 11px 9px; }
  .guest-action>.icon { width: 17px; height: 17px; }
  .guest-note { font-size: 8px; margin-top: 13px; }
  .guest-stars { font-size: 18px; }
  .guest-powered { font-size: 7px; margin-top: 13px; }
  .floating-review { bottom: 14px; left: 2px; width: 333px; padding: 16px; }
  .floating-review p { font-size: 9px; }
  .review-icon { width: 32px; height: 32px; }
  .review-meta { font-size: 8px; }
  .photo-tag { font-size: 8px; }
  .photo-caption { bottom: 77px; font-size: 23px; left: 24px; }
  .visual-caption { bottom: -13px; left: 9px; }
  .motion-toggle { right: 16px; }
  .audience-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 21px 14px; padding: 25px 0; }
  .audience-inner>a { font-size: 11px; gap: 10px; }
  .audience-inner .icon { width: 21px; height: 21px; }
  .section { padding-top: 67px; padding-bottom: 67px; }
  .section-heading { margin-bottom: 28px; }
  .split-heading { flex-direction: column; align-items: flex-start; gap: 20px; }
  .split-heading>p { max-width: 450px; font-size: 14px; }
  .split-heading>p br { display: none; }
  .section h2, .analytics-section h2 { font-size: 35px; }
  .section-heading .eyebrow { margin-bottom: 16px; }
  .feature-grid { grid-template-columns: 1fr 1fr; gap: 15px; }
  .location-card, .survey-card { grid-column: span 2; }
  .feature-card { padding: 28px; }
  .feature-card h3 { font-size: 28px; }
  .feature-card p { font-size: 14px; max-width: none; }
  .mini-floorplan { max-width: none; height: 180px; margin-top: 25px; }
  .survey-demo { padding: 23px; }
  .survey-demo>strong { font-size: 17px; }
  .survey-scale button { min-height: 45px; font-size: 16px; }
  .survey-scale { gap: 8px; }
  .survey-demo .survey-feedback { font-size: 11px; min-height: 16px; }
  .scale-labels { font-size: 9px; }
  .compact-card { grid-column: span 1; padding: 25px; min-height: 300px; }
  .compact-card h3 { font-size: 23px; }
  .compact-card p { font-size: 13px; }
  .compact-card:last-child { grid-column: span 2; min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; align-items: start; }
  .compact-card:last-child>.feature-icon { grid-column: 1; }
  .compact-card:last-child>h3 { grid-column: 1; margin-top: 18px; }
  .compact-card:last-child>p { grid-column: 2; grid-row: 1/3; margin-top: 5px; }
  .compact-card:last-child>.mini-display { grid-column: 2; grid-row: 2/4; align-self: end; margin-top: 25px; }
  .mini-display { font-size: 10px; padding: 11px; }
  .mini-display .available { font-size: 9px; }
  .small-tags>span { font-size: 9px; padding: 7px 8px; }
  .analytics-inner { grid-template-columns: 1fr; gap: 36px; }
  .analytics-copy { max-width: 540px; }
  .analytics-copy>p { max-width: none; font-size: 15px; }
  .analytics-value p { font-size: 13px; }
  .analytics-value strong { font-size: 13px; }
  .dashboard { width: 100%; max-width: 570px; margin: 0 auto; }
  .dashboard-body { padding: 22px; }
  .dashboard-tabs button { font-size: 11px; padding: 10px 14px; }
  .dashboard-stats>.dashboard-tag { display: flex; }
  .dashboard-stats strong { font-size: 40px; }
  .dashboard-stats { gap: 35px; }
  .bar-chart { height: 135px; }
  .bar-chart::before { background-size: 100% 45px; }
  .chart-bars { gap: 9px; }
  .dashboard-disclaimer { font-size: 8px; }
  .demo-review-row strong { font-size: 11px; }
  .demo-review-row>div>span { font-size: 10px; }
  .centered h2 { font-size: 34px; }
  .centered>p { font-size: 14px; }
  .scenario-stage { grid-template-columns: 1fr; border-radius: 22px; }
  .scenario-settings { padding: 29px; }
  .scenario-settings h3 { font-size: 28px; margin-top: 25px; }
  .location-tabs { gap: 8px; }
  .location-tabs button { font-size: 12px; padding: 12px 18px; }
  #location-description { font-size: 14px; min-height: 44px; }
  #location-panel { min-height: 0; }
  .scenario-context { padding: 14px; }
  .scenario-context span { font-size: 10px; }
  .scenario-context strong { font-size: 13px; }
  .scenario-steps { gap: 13px; margin-top: 25px; }
  .scenario-steps>span { font-size: 9px; }
  .scenario-preview { padding: 31px 35px 55px; min-height: 455px; }
  .scenario-web { max-width: 360px; width: 100%; }
  .scenario-screen { padding: 25px; }
  .scenario-screen h4 { font-size: 26px; }
  .screen-actions>div { font-size: 12px; padding: 15px 12px; }
  .screen-location { font-size: 10px; }
  .screen-powered { font-size: 8px; }
  .scenario-hint { bottom: 24px; font-size: 10px; }
  .industry-grid { grid-template-columns: 1fr; gap: 22px; }
  .industry-card { display: grid; grid-template-columns: .85fr 1.15fr; }
  .industry-art { height: 100%; min-height: 235px; }
  .industry-content { padding: 25px; }
  .industry-card h3 { font-size: 24px; }
  .industry-card p { font-size: 13px; }
  .industry-card .text-button { font-size: 12px; margin-top: 0; }
  .small-label { font-size: 8px; }
  .clinic-tablet { top: 45px; left: calc(50% - 95px); transform: rotate(-5deg) scale(.8); }
  .roadmap-panel { padding: 30px; border-radius: 23px; }
  .roadmap-head { flex-direction: column; align-items: flex-start; gap: 20px; }
  .roadmap-head>p { font-size: 14px; }
  .roadmap-head>p br { display: none; }
  .roadmap-grid { grid-template-columns: 1fr; gap: 17px; margin-top: 24px; }
  .roadmap-grid>article { padding: 25px; }
  .roadmap-grid h3 { font-size: 28px; }
  .roadmap-grid p { font-size: 14px; }
  .routing-demo>span { font-size: 10px; padding: 9px 11px; }
  .integration-tags>span { font-size: 10px; padding: 9px 11px; }
  .roadmap-note { font-size: 11px; line-height: 1.7; }
  .pricing-section { grid-template-columns: 1fr; padding-top: 0; gap: 28px; }
  .pricing-copy>p { max-width: 520px; }
  .price-card { padding: 30px; }
  .price-card h3 { font-size: 39px; }
  .price-scope { font-size: 13px; }
  .price-card .button { font-size: 14px; }
  .price-card-top .card-label { font-size: 10px; }
  .price-note { font-size: 10px; }
  .launch-section { padding: 2px 0 62px; }
  .launch-heading { display: block; }
  .launch-heading h2 { font-size: 28px; }
  .launch-heading>span { display: block; margin-top: 12px; font-size: 13px; }
  .launch-grid { grid-template-columns: 1fr; gap: 25px; }
  .launch-grid article { padding-top: 21px; display: grid; grid-template-columns: 38px 1fr; gap: 0 6px; }
  .launch-grid h3 { font-size: 22px; margin-top: 0; }
  .launch-grid article>span { padding-top: 5px; }
  .launch-grid p { grid-column: 2; font-size: 14px; margin-top: 9px; }
  .faq-section { grid-template-columns: 1fr; gap: 24px; padding-top: 60px; }
  .faq-section h2 br { display: none; }
  .faq-section>div>p br { display: none; }
  .faq-section>div>p a { margin-left: 7px; }
  .faq-list summary { font-size: 15px; gap: 20px; }
  .faq-list details>p { font-size: 14px; padding-right: 15px; }
  .contact-section { padding: 64px 0; }
  .contact-inner { grid-template-columns: 1fr; gap: 36px; }
  .contact-copy { padding-bottom: 0; }
  .contact-copy h2 { font-size: 43px; }
  .contact-copy>p { max-width: 530px; font-size: 15px; }
  .contact-expect { margin-top: 26px; gap: 15px; }
  .contact-expect>div { font-size: 13px; }
  .contact-email { margin-top: 28px; font-size: 22px; }
  .contact-card { padding: 30px; }
  .contact-card h3 { font-size: 30px; }
  .form-subtitle { font-size: 14px; max-width: 500px; }
  .form-row { grid-template-columns: 1fr 1fr; gap: 14px; }
  .form-field>label, .contact-method legend { font-size: 12px; }
  input[type="text"], input[type="tel"], input[type="email"], textarea, select { font-size: 16px; min-height: 49px; padding: 12px 13px; }
  .method-switch label { font-size: 13px; }
  .method-switch { gap: 25px; }
  .form-field { margin-bottom: 19px; }
  .field-error { font-size: 12px; }
  .message-details summary { font-size: 12px; }
  .consent-label { font-size: 12px; gap: 11px; line-height: 1.7; }
  .consent-label input { width: 18px; height: 18px; }
  .submit-button { min-height: 55px; font-size: 15px; }
  .form-bottom-note { font-size: 11px; line-height: 1.6; }
  .form-success { min-height: 470px; }
  .footer-top { align-items: flex-start; }
  .footer-nav { display: grid; grid-template-columns: 1fr; gap: 18px; }
  .footer-bottom { flex-direction: column; font-size: 10px; }
  .footer-bottom>div { gap: 12px 20px; line-height: 1.6; }
  .site-footer { padding-bottom: 105px; }
  .mobile-cta { display: flex; position: fixed; bottom: 12px; left: 12px; right: 12px; z-index: 35; background: #ffffffed; backdrop-filter: blur(12px); padding: 9px 10px 9px 16px; border: 1px solid #e2e7f4; box-shadow: 0 5px 25px #14244520; border-radius: 14px; justify-content: space-between; align-items: center; gap: 16px; }
  .mobile-cta>span { font-size: 12px; font-weight: 500; color: #5e7393; }
  .mobile-cta .button { padding: 12px 16px; min-height: 43px; font-size: 13px; gap: 13px; border-radius: 9px; }
}
@media (max-width:450px) {
  .container { width: calc(100% - 36px); }
  .hero { padding-top: 30px; gap: 25px; }
  .hero h1 { font-size: clamp(35px,9.8vw,44px); letter-spacing: -.065em; }
  .hero-lead { font-size: 15px; }
  .hero-buttons { gap: 20px; }
  .hero-buttons .button { font-size: 13px; padding: 16px 17px; gap: 13px; }
  .hero-buttons .text-button { font-size: 11px; gap: 7px; }
  .hero-buttons .text-button .icon { width: 15px; }
  .hero-note { font-size: 11px; margin-top: 21px; }
  .hero-visual { height: 455px; }
  .hero-photo { inset: 13px 30px 55px 12px; border-top-left-radius: 112px; }
  .hero-phone { width: 199px; height: 382px; top: 49px; right: 12px; padding: 6px; border-radius: 30px; }
  .phone-topline { font-size: 8px; padding: 8px 6px 9px; }
  .phone-island { width: 59px; height: 15px; top: 8px; }
  .phone-content { padding: 10px 7px; }
  .guest-brand { font-size: 8px; }
  .guest-welcome { font-size: 24px; }
  .guest-location { font-size: 8px; margin-top: 9px; margin-bottom: 15px; }
  .guest-action { font-size: 9px; padding: 10px 8px; gap: 7px; }
  .guest-action>.icon { width: 15px; height: 15px; }
  .guest-note { font-size: 7px; margin-top: 11px; }
  .guest-stars { font-size: 16px; }
  .guest-powered { font-size: 6px; margin-top: 11px; }
  .photo-tag { font-size: 6px; gap: 6px; right: 18px; top: 22px; }
  .photo-caption { font-size: 21px; left: 19px; bottom: 63px; }
  .floating-review { width: min(303px,calc(100% - 24px)); padding: 14px 11px; left: 0; bottom: 2px; gap: 7px; }
  .review-icon { width: 28px; height: 28px; border-radius: 8px; }
  .floating-review .review-heading { font-size: 9px; gap: 9px; }
  .floating-review p { font-size: 8px; }
  .review-meta { font-size: 7px; }
  .visual-caption { font-size: 7px; left: 0; bottom: -23px; }
  .motion-toggle { right: 2px; bottom: -21px; }
  .audience-inner { gap: 18px 11px; }
  .audience-inner>a { font-size: 10px; gap: 7px; }
  .audience-inner .icon { width: 18px; height: 18px; }
  .section h2, .analytics-section h2 { font-size: 30px; }
  .eyebrow { font-size: 9px; }
  .section-heading>p, .split-heading>p { font-size: 13px; }
  .feature-card { padding: 24px; }
  .feature-card h3 { font-size: 25px; }
  .feature-card p { font-size: 13px; }
  .feature-grid { grid-template-columns: 1fr; }
  .location-card, .survey-card, .compact-card { grid-column: 1; }
  .compact-card { min-height: 0; }
  .compact-card:last-child { grid-column: 1; display: block; }
  .compact-card h3 { font-size: 25px; margin-top: 20px; }
  .compact-card:last-child>p { margin-top: 13px; }
  .compact-card:last-child>.mini-display { margin-top: 19px; }
  .small-tags>span { font-size: 10px; }
  .survey-demo { padding: 16px; margin-top: 21px; }
  .survey-scale button { min-height: 39px; font-size: 14px; }
  .survey-scale { gap: 5px; }
  .survey-demo .survey-feedback { font-size: 10px; }
  .plan-room>span:first-child { font-size: 8px; left: 8px; top: 9px; }
  .plan-balcony::after { width: 42px; height: 42px; left: 6px; bottom: 25px; }
  .plan-bed { width: 72px; height: 75px; }
  .plan-bed i { width: 24px; }
  .plan-bath::after { left: 13px; width: 29px; }
  .plan-point { right: 7px; }
  .plan-balcony .plan-point { right: 15px; bottom: 48px; }
  .plan-caption { font-size: 8px; }
  .dashboard-body { padding: 16px; }
  .dashboard-top { padding: 14px 16px; gap: 8px; }
  .dashboard-top>strong { font-size: 11px; }
  .dashboard-tabs { width: 100%; margin-bottom: 20px; }
  .dashboard-tabs button { padding: 9px 7px; font-size: 9px; flex: 1; }
  .dashboard-stats { gap: 28px; }
  .dashboard-stats strong { font-size: 36px; }
  .dashboard-stats>.dashboard-tag { padding: 7px; gap: 3px; }
  .dashboard-tag>.icon { display: none; }
  .dashboard-stats>.dashboard-tag>span { font-size: 8px; max-width: 46px; }
  .dashboard-stats>div>span { font-size: 9px; }
  .demo-review-row strong { font-size: 10px; }
  .demo-review-row>div>span { font-size: 8px; }
  .demo-stars { font-size: 9px; }
  .dashboard-disclaimer { font-size: 7px; padding: 10px 16px; }
  .chart-bars { gap: 5px; }
  .chart-head { font-size: 9px; }
  .scenario-settings { padding: 25px 22px; }
  .scenario-settings h3 { font-size: 26px; }
  .location-tabs { gap: 6px; }
  .location-tabs button { font-size: 11px; padding: 11px 13px; flex: 1; }
  #location-description { font-size: 13px; }
  .scenario-context { padding: 12px 10px; gap: 8px; }
  .scenario-context span { font-size: 8px; }
  .scenario-context strong { font-size: 12px; }
  .scenario-steps { gap: 6px; }
  .scenario-steps>span { font-size: 8px; }
  .scenario-preview { min-height: 447px; padding: 28px 25px 52px; }
  .scenario-screen { padding: 24px 20px; }
  .scenario-screen h4 { font-size: 24px; }
  .screen-actions>div { font-size: 11px; gap: 8px; padding: 14px 10px; }
  .screen-powered { font-size: 7px; }
  .scenario-hint { font-size: 9px; }
  .industry-card { display: flex; }
  .industry-art { height: 180px; min-height: 0; }
  .industry-content { padding: 26px; }
  .small-label { font-size: 8px; }
  .industry-card h3 { font-size: 25px; }
  .industry-card p { font-size: 14px; }
  .industry-card .text-button { font-size: 13px; }
  .clinic-tablet { top: 20px; transform: rotate(-4deg); }
  .industry-footnote { font-size: 11px; }
  .roadmap-panel { padding: 27px 23px; margin-left: -5px; margin-right: -5px; }
  .roadmap-badge { font-size: 8px; }
  .roadmap-grid>article { padding: 23px 20px; }
  .roadmap-grid h3 { font-size: 24px; }
  .roadmap-grid p { font-size: 13px; }
  .routing-demo { gap: 5px; }
  .routing-demo>span { font-size: 8px; padding: 8px 7px; }
  .integration-tags>span { font-size: 9px; padding: 8px 9px; }
  .roadmap-note { font-size: 10px; }
  .price-card { padding: 25px; }
  .price-card h3 { font-size: 35px; }
  .price-scope { font-size: 12px; }
  .price-card .button { font-size: 13px; }
  .price-card-top .card-label { font-size: 8px; }
  .price-note { font-size: 9px; }
  .launch-heading h2 { font-size: 27px; }
  .launch-grid h3 { font-size: 21px; }
  .faq-list summary { font-size: 14px; gap: 17px; padding: 21px 0; }
  .faq-list details>p { font-size: 13px; }
  .contact-copy h2 { font-size: 39px; }
  .contact-card { padding: 26px 22px; }
  .contact-card h3 { font-size: 27px; }
  .form-subtitle { font-size: 13px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .consent-label { font-size: 11px; }
  .form-bottom-note { font-size: 10px; }
  .footer-top { gap: 20px; }
  .footer-top p { max-width: 130px; font-size: 10px; }
  .footer-nav { font-size: 10px; gap: 16px; }
  .mobile-cta>span { font-size: 10px; }
  .mobile-cta .button { font-size: 12px; }
}
@media (max-width:360px) {
  .hero h1 { font-size: 34px; }
  .hero-buttons { gap: 16px; }
  .hero-buttons .text-button { font-size: 11px; }
  .hero-visual { height: 429px; }
  .hero-phone { right: 12px; width: 186px; transform-origin: center; }
  .guest-action { font-size: 8px; }
  .guest-location { font-size: 7px; }
  .photo-caption { font-size: 19px; left: 17px; }
  .photo-tag { padding: 7px; font-size: 6px; }
  .floating-review { width: calc(100% - 2px); }
  .review-heading>span { font-size: 7px; }
  .photo-caption { bottom: 60px; }
  .hero-photo { right: 14px; }
  .dashboard-stats>.dashboard-tag { display: none; }
  .location-tabs button { font-size: 10px; padding: 11px 10px; }
  .scenario-steps { gap: 3px; }
  .scenario-steps>span { font-size: 7px; }
  .scenario-steps>i { padding: 0 2px; }
  .routing-demo>span { font-size: 7px; padding: 7px 6px; }
  .roadmap-grid>article { padding: 21px 17px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .motion-ready [data-reveal] { opacity: 1; transform: none; }
}

.legal-body { background: #f6f8fd; }
.legal-header { display: flex; justify-content: space-between; align-items: center; padding-top: 26px; padding-bottom: 26px; }
.legal-layout { max-width: 1050px; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 13px 26px; margin: 10px 0 26px; color: #5d72a0; font-size: 13px; line-height: 1.5; }
.legal-nav a:hover { text-decoration: underline; }
.legal-article { background: white; padding: 48px; border: 1px solid #e1e7f3; border-radius: 24px; overflow-wrap: anywhere; }
.legal-article header { border-bottom: 1px solid #e3e9f3; padding-bottom: 30px; margin-bottom: 32px; }
.legal-article h1 { font-size: 38px; line-height: 1.17; color: #253858; }
.legal-article header p { color: #7888a3; margin-top: 15px; }
.legal-article h2 { font-size: 22px; letter-spacing: -.025em; margin-top: 37px; margin-bottom: 17px; line-height: 1.4; }
.legal-article p, .legal-article li, .legal-article td { color: #586b86; font-size: 14px; line-height: 1.8; }
.legal-article>p { margin: 15px 0; }
.legal-article ul { padding-left: 24px; }
.legal-article li { margin: 10px 0; }
.legal-table { overflow: auto; margin: 20px 0; border: 1px solid #e3e9f3; border-radius: 10px; }
.legal-table table { width: 100%; border-collapse: collapse; }
.legal-table td { padding: 14px 18px; border: 1px solid #e3e9f3; }
.legal-footer { padding-top: 30px; padding-bottom: 36px; color: #8998af; font-size: 12px; display: flex; justify-content: space-between; }
.not-found { padding: 90px 0; max-width: 800px; }
.not-found .eyebrow { margin-top: 65px; }
.not-found h1 { font-size: 48px; margin-top: 20px; line-height: 1.15; }
.not-found p { margin-top: 23px; color: #788ba9; }
.not-found .button { margin-top: 35px; }
@media (max-width:760px) {
  .legal-header { padding-top: 18px; padding-bottom: 18px; }
  .legal-nav { font-size: 11px; gap: 12px 17px; }
  .legal-article { padding: 28px 23px; border-radius: 17px; }
  .legal-article h1 { font-size: 28px; }
  .legal-article h2 { font-size: 21px; }
  .legal-article p, .legal-article li, .legal-article td { font-size: 13px; }
  .not-found h1 { font-size: 37px; }
}


/* v2: role-first navigation, live device mockups and transparent estimates. */
.desktop-nav { gap: 22px; }
.desktop-nav a { font-size: 12px; }
.desktop-nav a[aria-current="page"] { color: var(--blue); }
.desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
.header-actions { margin-left: 8px; gap: 20px; }
.hero { grid-template-columns: minmax(0,1fr) minmax(0,1.07fr); gap: 36px; padding-top: 45px; padding-bottom: 44px; min-height: 695px; }
.hero-brandline { display: flex; align-items: center; gap: 18px; }
.hero-brandline img { width: 77px; height: auto; }
.hero-brandline>span { border-left: 1px solid #dbe0ed; padding-left: 18px; font-size: 9px; line-height: 1.6; color: #6d7992; letter-spacing: .14em; font-weight: 700; }
.hero h1 { font-size: clamp(40px,4.3vw,62px); margin-top: 25px; line-height: 1.075; }
.hero-lead { font-size: 17px; margin-top: 24px; line-height: 1.65; }
.hero-lead strong { font-weight: 550; color: #4c5b79; }
.hero-buttons { gap: 22px; margin-top: 29px; }
.hero-buttons .button { font-size: 14px; }
.hero-trust { display: flex; gap: 8px 19px; flex-wrap: wrap; margin-top: 24px; }
.hero-trust>span { display: inline-flex; gap: 6px; align-items: center; font-size: 11px; color: #7b869b; }
.hero-trust .icon { width: 13px; height: 13px; color: #6c82ab; }
.hero-scene { height: 592px; isolation: isolate; }
.scene-photo { position: absolute; inset: 20px 3px 69px 34px; border-radius: 35px 80px 35px 35px; overflow: hidden; background: #343d41; }
.scene-photo:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(19,26,37,.25),rgba(12,24,40,.36) 42%,rgba(11,27,44,.45)); }
.scene-photo>img { width: 100%; height: 100%; object-fit: cover; object-position: 35% 50%; }
.scene-photo-top { position: absolute; z-index: 1; left: 27px; top: 29px; display: flex; align-items: center; gap: 8px; color: white; font-size: 9px; letter-spacing: .15em; font-weight: 600; }
.scene-dot { display: block; width: 6px; height: 6px; background: #c6f8e0; border-radius: 50%; box-shadow: 0 0 0 4px #d2fff022; }
.scene-photo>p { position: absolute; z-index: 1; top: 78px; left: 27px; color: #e7ebe9; font-size: 23px; line-height: 1.3; letter-spacing: -.035em; }
.scene-photo>p strong { color: white; font-weight: 570; }
.device-laptop { position: absolute; z-index: 2; width: 95%; left: -20px; top: 206px; transform: perspective(1800px) rotateY(-6deg) rotateZ(-2deg); }
.laptop-lid { padding: 11px 9px 10px; background: linear-gradient(150deg,#273448,#0d1524); border: 2px solid #788298; border-radius: 14px 14px 6px 6px; position: relative; box-shadow: 0 16px 36px #132a3a40; }
.laptop-camera { position: absolute; top: 3px; left: 50%; width: 3px; height: 3px; border-radius: 50%; background: #61749e; }
.laptop-screen { aspect-ratio: 1.6; display: grid; grid-template-columns: 19% 81%; background: #f5f7fd; border-radius: 5px; overflow: hidden; container-type: inline-size; }
.mock-sidebar { border-right: 1px solid #e4e9f3; padding: 3.8cqw 1.6cqw 1.6cqw; background: #fff; display: flex; flex-direction: column; }
.mock-sidebar>img { width: 12cqw; height: auto; margin-bottom: 5cqw; }
.mock-nav { display: flex; align-items: center; gap: 1cqw; font-size: 1.42cqw; color: #7b869b; white-space: nowrap; margin-bottom: 1.7cqw; padding: 1.4cqw .6cqw; border-radius: 1cqw; }
.mock-nav .icon { width: 2cqw; height: 2cqw; }
.mock-nav.active { color: #4863df; background: #eff2ff; font-weight: 600; }
.mock-sidebar-bottom { display: flex; align-items: center; gap: 1cqw; font-size: 1.3cqw; color: #8c96a9; margin-top: auto; white-space: nowrap; }
.mock-sidebar-bottom .icon { width: 1.9cqw; height: 1.9cqw; }
.mock-dashboard { padding: 3.5cqw 2.8cqw; }
.mock-dash-head { display: flex; align-items: center; justify-content: space-between; gap: 1cqw; }
.mock-dash-head>strong { font-size: 2.55cqw; font-weight: 680; letter-spacing: -.05em; }
.mock-dash-head>span { font-size: 1.3cqw; padding: 1cqw 1.5cqw; border: 1px solid #e2e7f2; border-radius: .8cqw; background: white; color: #728097; }
.mock-dash-head>span>span { margin-left: 1.5cqw; }
.mock-context { font-size: 1.3cqw; color: #8c98ae; margin-top: 1.4cqw; }
.mock-context span { margin: 0 .7cqw; }
.mock-kpis { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5cqw; margin: 2.6cqw 0 2cqw; }
.mock-kpis>div { padding: 1.8cqw 1.6cqw; border: 1px solid #e6eaf4; background: white; border-radius: 1.2cqw; }
.mock-kpis span { display: block; font-size: 1.2cqw; color: #7a869c; white-space: nowrap; }
.mock-kpis b { display: block; margin: 1cqw 0 .6cqw; font-size: 3.3cqw; font-weight: 650; line-height: 1.2; }
.mock-kpis small { font-size: 1.5cqw; color: #9ba5b8; }
.mock-kpis em { font-size: 1cqw; font-style: normal; color: #70819f; white-space: nowrap; }
.mock-chart { background: white; padding: 1.6cqw 1.8cqw; border-radius: 1.2cqw; border: 1px solid #e6eaf4; }
.mock-chart>div:first-child { display: flex; align-items: center; justify-content: space-between; }
.mock-chart b { font-size: 1.45cqw; font-weight: 600; }
.mock-chart>div>span { color: #8c98ae; font-size: 1.1cqw; }
.mock-line-chart { display: block; width: 100%; height: 16.5cqw; margin-top: 1.8cqw; }
.chart-stroke { stroke-dasharray: 460; stroke-dashoffset: 460; animation: draw-chart 1.8s ease forwards .25s; }
.mock-axis { display: flex; justify-content: space-between; padding: 0 .2cqw; }
.mock-lower { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.5cqw; margin-top: 1.6cqw; }
.mock-lower>div { background: white; border: 1px solid #e6eaf4; border-radius: 1.2cqw; padding: 1.6cqw; }
.mock-lower b { display: block; font-size: 1.4cqw; font-weight: 600; margin-bottom: 1cqw; }
.mock-lower>div:first-child>span { display: grid; grid-template-columns: 13cqw 1fr 2.5cqw; align-items: center; gap: .6cqw; font-size: 1.1cqw; color: #8a95ab; margin: 1.1cqw 0; }
.mock-lower i { display: block; height: .7cqw; width: var(--mock-bar); border-radius: 1cqw; background: #667cf1; }
.mock-lower em { font-style: normal; font-size: 1.2cqw; color: #6f7c93; }
.mock-last-review .mock-stars { display: block; font-size: 1.8cqw; letter-spacing: .14em; color: #e6ad4f; }
.mock-last-review p { font-size: 1.35cqw; line-height: 1.6; margin: .6cqw 0; color: #6a7890; }
.mock-last-review small { color: #8997ad; font-size: 1.05cqw; }
.laptop-base { height: 12px; background: linear-gradient(#aeb9c8,#e5eaf1 32%,#8896ab); border-radius: 1px 1px 45% 45% / 1px 1px 100% 100%; margin: -1px -20px 0; position: relative; box-shadow: 1px 9px 16px #12284438; }
.laptop-base>i { display: block; position: absolute; top: 0; width: 17%; left: 41.5%; height: 4px; border-radius: 0 0 6px 6px; background: #8792a6; }
.device-phone { position: absolute; z-index: 3; right: -8px; top: 159px; width: 33%; aspect-ratio: .47; background: linear-gradient(140deg,#fafbfd,#cdd6e8); padding: 6px; border: 1px solid #b4bed2; border-radius: 28px; box-shadow: 7px 21px 35px #142a4e40; transform: rotate(7deg); container-type: inline-size; animation: review-device-float 7s ease-in-out infinite; }
.review-phone-top { display: flex; justify-content: space-between; height: 10cqw; align-items: center; padding: 0 7cqw; color: #1b263f; font-size: 4cqw; font-weight: 650; }
.review-phone-top i { position: absolute; width: 31cqw; height: 7cqw; background: #19253d; border-radius: 15px; left: 35cqw; top: 4cqw; }
.review-phone-screen { padding: 7cqw 7cqw 6cqw; background: #f9faff; border-radius: 0 0 20px 20px; }
.phone-hotel { display: flex; justify-content: space-between; font-size: 4cqw; letter-spacing: .14em; color: #6b7a99; font-weight: 600; }
.phone-hotel>span { font-size: 7cqw; color: #667bf2; line-height: 1; }
.phone-section-label { display: block; margin-top: 9cqw; font-size: 3cqw; color: #8c97ad; letter-spacing: .1em; }
.review-phone-screen h2 { font-size: 10cqw; line-height: 1.18; margin-top: 3cqw; letter-spacing: -.055em; }
.phone-location { display: flex; align-items: center; gap: 2cqw; font-size: 3.4cqw; color: #8090ad; margin-top: 4cqw; white-space: nowrap; }
.phone-location .icon { width: 4cqw; height: 4cqw; }
.phone-review-card { background: white; border: 1px solid #e4e8f4; border-radius: 5cqw; margin-top: 6cqw; text-align: center; padding: 6cqw 3cqw; }
.phone-review-card>span { color: #6b7a95; font-size: 4cqw; }
.phone-review-stars { font-size: 10cqw; color: #5771f1; letter-spacing: 1cqw; line-height: 1.5; }
.phone-review-card b { display: block; color: #6b7d9b; font-size: 3.8cqw; font-weight: 500; }
.phone-field-label { color: #5e6c87; font-size: 3.8cqw; margin: 7cqw 0 3cqw; }
.phone-comment { border: 1px solid #dfe5f3; background: white; padding: 5cqw; border-radius: 4cqw; font-size: 4.2cqw; line-height: 1.65; color: #677897; min-height: 34cqw; }
.typing-caret { display: inline-block; width: 1px; height: 4cqw; background: var(--blue); margin-left: 1cqw; animation: cursor-blink 1.5s steps(2) 4; }
.phone-consent { display: flex; align-items: center; gap: 2cqw; margin: 4cqw 0 5cqw; color: #8c99b1; font-size: 2.8cqw; }
.phone-consent .icon { width: 5cqw; height: 5cqw; background: #536ff0; color: white; border-radius: 1cqw; padding: 1cqw; }
.phone-submit { background: var(--blue); border-radius: 4cqw; color: white; padding: 5cqw 5cqw; display: flex; justify-content: space-between; align-items: center; font-size: 4.5cqw; font-weight: 550; }
.phone-submit .icon { width: 5cqw; height: 5cqw; }
.phone-powered { margin-top: 6cqw; text-align: center; color: #95a1b6; font-size: 3cqw; }
.phone-powered strong { color: #6e7f9f; }
.review-phone-home { position: absolute; bottom: 3px; left: 35%; width: 30%; height: 3px; background: #25324e; border-radius: 5px; }
.scene-connection { position: absolute; z-index: 4; top: 159px; left: 4px; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid #e3e8f7; background: white; box-shadow: 0 10px 35px #192f4320; border-radius: 13px; transform: rotate(-2deg); }
.scene-connection .icon:first-child { color: var(--blue); width: 22px; height: 22px; }
.scene-connection>span { color: #8090a5; font-size: 9px; line-height: 1.6; }
.scene-connection strong { color: #3c4e6a; font-size: 10px; font-weight: 600; }
.scene-connection .icon:last-child { width: 17px; height: 17px; color: #3d8c73; background: #dff7eb; border-radius: 50%; padding: 3px; }
.scene-caption { position: absolute; left: 30px; bottom: 0; font-size: 10px; color: #8b96aa; }
.scene-motion { bottom: -7px; right: 1px; }
@keyframes draw-chart { to { stroke-dashoffset: 0; } }
@keyframes review-device-float { 0%,100% { transform: translateY(0) rotate(7deg); } 50% { transform: translateY(-7px) rotate(6deg); } }
@keyframes cursor-blink { 50% { opacity: 0; } }
.motion-paused .device-phone,.motion-paused .typing-caret,.motion-paused .chart-stroke { animation-play-state: paused; }

/* Audience is the first decision, not an industry directory. */
.audience-section { background: #f5f7fc; border-top: 1px solid #e8ecf4; border-bottom: 1px solid #e8ecf4; padding: 41px 0 46px; }
.audience-heading { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-bottom: 25px; }
.audience-heading h2 { font-size: 25px; line-height: 1.3; letter-spacing: -.04em; }
.audience-heading h2>span { color: #8a95aa; }
.audience-heading>p { font-size: 13px; color: #7f8ba1; }
.audience-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.audience-card { background: white; border: 1px solid #e1e7f1; padding: 27px 27px 24px; border-radius: 19px; display: flex; flex-direction: column; transition: border-color .25s,box-shadow .25s,transform .25s; }
.audience-card:hover { transform: translateY(-5px); border-color: #b9c6fb; box-shadow: 0 14px 35px #4763b013; }
.audience-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 19px; }
.audience-icon { display: grid; place-items: center; width: 37px; height: 37px; background: #eef2ff; color: #5974f0; border-radius: 10px; }
.audience-arrow { color: #b0bad0; }
.audience-arrow .icon { width: 20px; }
.audience-card h3 { font-size: 25px; letter-spacing: -.04em; }
.audience-card>p { font-size: 14px; color: #77849c; margin-top: 13px; max-width: 31ch; }
.audience-more { display: flex; gap: 13px; align-items: center; font-size: 12px; color: #506cea; font-weight: 600; padding-top: 24px; margin-top: auto; }
.audience-more .icon { width: 16px; }
.section { padding-top: 100px; padding-bottom: 96px; }

/* The effect block is explicitly a model, not manufactured customer statistics. */
.effect-section { background: #131e38; color: white; padding: 86px 0 66px; --effect-before:100%; --effect-after:50%; }
.effect-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 50px; }
.effect-heading .eyebrow { color: #99adff; }
.effect-heading h2 { margin-top: 19px; font-size: 51px; line-height: 1.12; }
.effect-heading h2 span { color: #abbcff; }
.effect-heading>p { color: #a4b1cc; font-size: 15px; padding-bottom: 5px; }
.effect-results { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; border-top: 1px solid #ffffff1a; border-bottom: 1px solid #ffffff1a; padding: 32px 0; margin-top: 40px; }
.effect-results>article { border-right: 1px solid #ffffff1a; padding: 0 20px 0 0; }
.effect-results>article:last-child { border: 0; }
.effect-results>article>span { color: #a6b6d4; font-size: 12px; }
.effect-results strong { display: block; font-size: 76px; font-weight: 550; letter-spacing: -.055em; line-height: 1.2; margin: 13px 0 5px; }
.effect-results strong small { font-size: 30px; margin-left: 8px; color: #aebfff; font-weight: 450; letter-spacing: -.04em; }
.effect-results p { font-size: 12px; color: #a6b6d4; }
.effect-workbench { display: grid; grid-template-columns: 1.25fr 1fr; margin-top: 34px; gap: 36px; }
.effect-control-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.effect-control-head h3 { font-size: 20px; font-weight: 500; letter-spacing: -.035em; }
.effect-reset { background: transparent; border: none; color: #abbaf1; font-size: 11px; padding: 10px 0; text-decoration: underline; text-underline-offset: 3px; }
.effect-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 22px; }
.effect-fields>label { display: block; font-size: 12px; line-height: 1.5; color: #b1bed6; }
.effect-fields>label>div { display: flex; align-items: center; background: #ffffff06; border: 1px solid #40506d; border-radius: 10px; margin-top: 8px; padding: 0 12px; height: 50px; }
.effect-fields input { width: 80px; min-width: 0; color: white; background: transparent; border: none; padding: 9px 0; font-size: 22px; font-variant-numeric: tabular-nums; appearance: textfield; }
.effect-fields input::-webkit-inner-spin-button { appearance: none; }
.effect-fields input:focus { outline-offset: 3px; }
.effect-fields input[aria-invalid="true"] { color: #ffbcae; outline: 1px solid #e6a392; }
.effect-fields label>div>span { margin-left: auto; color: #b0bed7; font-size: 10px; }
.effect-advanced { margin-top: 18px; }
.effect-advanced summary,.effect-method summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; font-size: 12px; color: #b7c4e0; padding: 12px 0; }
.effect-advanced summary::-webkit-details-marker,.effect-method summary::-webkit-details-marker { display: none; }
.effect-advanced summary .icon,.effect-method summary .icon { width: 16px; height: 16px; }
.effect-advanced[open] summary .icon,.effect-method[open] summary .icon { transform: rotate(45deg); }
.meeting-fields { grid-template-columns: repeat(3,minmax(0,1fr)); margin: 10px 0 12px; gap: 12px; }
.meeting-fields input { width: 45px; }
.effect-advanced>p { color: #a3b2d1; font-size: 11px; }
.effect-error { color: #ffc3b4; font-size: 12px; margin-top: 12px; }
.effect-summary { border-radius: 19px; padding: 27px 30px; background: #233152; border: 1px solid #ffffff12; }
.effect-model-badge { display: flex; align-items: center; gap: 7px; font-size: 9px; color: #aec0fd; letter-spacing: .12em; }
.effect-model-badge .icon { width: 15px; height: 15px; }
.effect-summary h3 { font-size: 24px; font-weight: 500; line-height: 1.3; margin-top: 14px; }
.effect-bars { margin-top: 24px; }
.effect-bars>div { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 11px; color: #b6c3dc; margin-bottom: 14px; }
.effect-bars strong { font-size: 12px; color: #d5dfff; font-weight: 500; }
.effect-bars i { flex: 0 0 100%; position: relative; height: 5px; border-radius: 6px; background: #34466b; overflow: hidden; }
.effect-bars i:after { content: ""; position: absolute; inset: 0 auto 0 0; transition: width .3s; border-radius: 6px; }
.effect-bar-before:after { width: var(--effect-before); background: #8c9ab5; }
.effect-bar-after:after { width: var(--effect-after); background: #a7c5ff; }
.effect-increase .effect-bar-after:after { background: #ffb9a9; }
.effect-increase #effect-percent { color: #ffc5b7; }
.effect-cta { width: 100%; background: #e1e8ff; color: #233663; font-size: 13px; margin-top: 12px; min-height: 48px; }
.effect-cta:hover { background: white; transform: translateY(-2px); }
.effect-transfer-note { display: block; color: #aabbdb; font-size: 10px; line-height: 1.6; margin-top: 10px; text-align: center; }
.effect-method { border-bottom: 1px solid #ffffff1a; margin-top: 26px; }
.effect-method summary { padding: 16px 0; }
.effect-method>div { max-width: 980px; color: #aabbd8; font-size: 12px; padding-bottom: 18px; }
.effect-method p+p { margin-top: 12px; }
.effect-insight { display: flex; gap: 15px; align-items: flex-start; max-width: 890px; margin-top: 24px; }
.effect-insight>span { color: #91a6ff; background: #ffffff0a; padding: 10px; border-radius: 10px; }
.effect-insight .icon { width: 20px; height: 20px; }
.effect-insight p { color: #9cacca; font-size: 12px; }
.effect-insight strong { color: #ced9f3; font-weight: 550; }
.effect-noscript { margin-top: 20px; color: #bac9e5; font-size: 12px; }

/* Four clearly visible agreement stages alongside the existing contact form. */
.contact-section { margin-top: 15px; }
.contact-inner { align-items: start; gap: 80px; }
.contact-copy h2 { font-size: 49px; }
.contact-copy>p { font-size: 16px; max-width: 450px; }
.contact-expect { margin-top: 30px; gap: 0; }
.contact-expect>div { align-items: flex-start; gap: 18px; padding: 17px 0; border-bottom: 1px solid #ffffff14; }
.contact-expect>div:last-child { border-bottom: 0; }
.contact-expect>div>b { background: #ffffff08; color: #becafa; font-size: 16px; min-width: 40px; width: 40px; height: 40px; border: 1px solid #ffffff15; border-radius: 11px; display: grid; place-items: center; font-weight: 500; }
.contact-expect>div>span { display: flex; flex-direction: column; padding-top: 0; }
.contact-expect strong { color: #eef2ff; font-size: 17px; font-weight: 500; }
.contact-expect small { color: #a0aec7; font-size: 13px; line-height: 1.65; margin-top: 7px; max-width: 345px; }
.consent-label { font-size: 12px; line-height: 1.7; gap: 13px; cursor: pointer; padding: 12px 0; }
.consent-label input { width: 20px; height: 20px; min-width: 20px; margin-top: 1px; }
.launch-section { margin-top: 0; margin-bottom: 0; padding-top: 78px; padding-bottom: 78px; }
.launch-heading h2 { font-size: 37px; }
.footer-nav { flex-wrap: wrap; justify-content: flex-end; max-width: 790px; gap: 19px 25px; }
.footer-nav a { font-size: 12px; }

/* Three independent role pages; content, rather than a label swap, changes. */
.role-hero { min-height: 690px; gap: 68px; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); padding-top: 36px; }
.role-breadcrumb { display: inline-flex; align-items: center; gap: 8px; color: #8a95a9; font-size: 11px; }
.role-breadcrumb .icon { width: 12px; height: 12px; }
.role-breadcrumb>span { color: #526583; }
.role-eyebrow { margin-top: 31px; letter-spacing: .12em; }
.role-eyebrow .icon { width: 17px; height: 17px; }
.role-hero h1 { font-size: clamp(38px,3.85vw,57px); margin-top: 22px; line-height: 1.11; }
.role-hero .hero-lead { font-size: 17px; max-width: 560px; }
.role-visual { position: relative; padding: 65px 22px 55px; isolation: isolate; }
.role-visual-backdrop { position: absolute; inset: 25px -10px 5px 26px; border-radius: 45px 85px 45px 45px; background: radial-gradient(ellipse at 75% 5%,#cad7ff,#edf2ff 65%); z-index: -1; transform: rotate(4deg); }
.role-visual-eyebrow { position: absolute; top: 5px; left: 24px; color: #7b8dae; font-size: 10px; display: flex; align-items: center; gap: 8px; }
.role-visual-eyebrow>span { width: 6px; height: 6px; border-radius: 50%; background: #7191f1; }
.role-board { border: 1px solid #dfe6f5; border-radius: 22px; background: white; padding: 27px; box-shadow: 0 20px 55px #29457917; transform: rotate(-2deg); }
.role-board-header { display: flex; justify-content: space-between; align-items: center; }
.role-board-header img { width: 65px; height: auto; }
.role-board-header>span { font-size: 10px; padding: 7px 10px; color: #8494b1; border-radius: 7px; background: #f4f7fe; }
.role-board h2 { font-size: 28px; line-height: 1.25; margin: 28px 0 17px; }
.role-board-rule { height: 1px; background: #e8edf6; margin-bottom: 7px; }
.role-board-row { display: flex; align-items: center; gap: 12px; padding: 20px 0; border-bottom: 1px solid #eaf0f8; }
.role-board-icon { border-radius: 11px; background: #f0f4ff; color: #5978ed; padding: 10px; }
.role-board-icon .icon { width: 20px; height: 20px; }
.role-board-row>div { min-width: 0; }
.role-board-row>div>span { display: block; font-size: 10px; color: #8d9bb5; margin-bottom: 5px; }
.role-board-row strong { display: block; font-size: 13px; color: #4e6284; font-weight: 500; line-height: 1.45; }
.role-board-row>b { font-size: 11px; color: #b2bfd4; font-weight: 500; margin-left: auto; }
.role-board-bottom { display: flex; align-items: center; gap: 9px; margin-top: 24px; color: #637d99; font-size: 11px; line-height: 1.5; }
.role-board-bottom .icon { width: 16px; height: 16px; color: #539b7d; background: #eaf9f1; padding: 3px; border-radius: 50%; }
.role-visual-note { margin-top: 26px; font-size: 9px; text-align: center; color: #7c90b2; }
.role-value-strip { background: #f5f7fd; border-block: 1px solid #e7ecf6; padding: 26px 0; }
.role-value-strip>.container { display: flex; justify-content: space-between; gap: 20px; }
.role-value-strip span { display: flex; align-items: center; gap: 10px; color: #617594; font-size: 13px; }
.role-value-strip .icon { width: 17px; height: 17px; color: #5878ed; }
.role-benefits .split-heading>p { max-width: 365px; font-size: 14px; }
.role-benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.role-benefit { padding: 29px; border: 1px solid #e3e9f3; border-radius: 22px; display: flex; flex-direction: column; transition: transform .3s,border-color .3s; background: #fff; }
.role-benefit:hover { transform: translateY(-4px); border-color: #bdccf8; }
.role-benefit-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.role-benefit-top>span { color: #5d7bed; }
.role-benefit-top>b { color: #b2bfd3; font-weight: 500; font-size: 12px; }
.role-benefit h3 { font-size: 25px; line-height: 1.2; }
.role-benefit>p { color: #7383a0; font-size: 14px; margin: 18px 0 24px; }
.role-benefit-note { margin-top: auto; font-size: 11px; line-height: 1.7; color: #8596b0; padding-top: 17px; border-top: 1px solid #e7edf7; }
.role-story { background: #15213b; color: white; padding: 76px 0; }
.role-story-heading .eyebrow { color: #9baff9; }
.role-story-heading h2 { font-size: 43px; margin: 18px 0; line-height: 1.2; }
.role-story-heading>p { max-width: 800px; color: #a0b0ce; font-size: 15px; }
.role-story-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 39px 0 33px; }
.role-story-grid>article { border-top: 1px solid #7186ab55; padding: 25px 34px 0 0; margin-right: 25px; }
.role-story-grid>article>span { color: #9aadf4; font-size: 11px; }
.role-story-grid h3 { font-size: 25px; margin: 15px 0; font-weight: 500; }
.role-story-grid p { font-size: 13px; color: #9daecc; }
.role-story .text-button { color: #c5d3ff; font-size: 13px; }
.role-switcher { padding-top: 55px; padding-bottom: 55px; display: flex; align-items: center; gap: 28px; justify-content: space-between; }
.role-switcher h2 { font-size: 28px; margin-top: 10px; }
.role-switcher>div:last-child { display: flex; gap: 14px; }
.role-switcher a { display: flex; gap: 12px; padding: 20px; border: 1px solid #e3e9f4; border-radius: 13px; color: #516b9a; align-items: center; font-size: 13px; }
.role-switcher a:hover { border-color: #a7bbf8; background: #f7f9ff; }
.role-switcher a .icon { width: 18px; height: 18px; }
.audience-team .role-visual-backdrop { background: radial-gradient(ellipse at 75% 5%,#cfeade,#f0f7f5 65%); }
.audience-manager .role-visual-backdrop { background: radial-gradient(ellipse at 75% 5%,#d0dded,#edf3fb 65%); }

/* Responsive refinements apply after the original component styles. */
@media (max-width:1200px) {
 .container { width: calc(100% - 64px); }
 .header-inner { gap: 18px; }
 .desktop-nav { gap: 17px; }
 .header-actions { gap: 14px; margin-left: 0; }
 .header-contact { font-size: 12px; }
 .hero { gap: 24px; }
 .hero h1 { font-size: clamp(38px,4.35vw,52px); }
 .hero-lead { font-size: 15px; }
 .hero-buttons { gap: 16px; }
 .hero-buttons .button { font-size: 12px; padding-inline: 16px; }
 .hero-buttons .text-button { font-size: 12px; }
 .hero-scene { height: 550px; }
 .device-laptop { top: 218px; left: -7px; width: 94%; }
 .device-phone { top: 175px; right: -5px; width: 34%; border-radius: 25px; }
 .scene-photo { inset: 20px 0 45px 20px; }
 .scene-photo>p { font-size: 21px; }
 .scene-connection { top: 173px; left: 6px; }
 .scene-caption { bottom: 3px; left: 15px; font-size: 9px; }
 .scene-motion { bottom: -3px; }
 .contact-inner { gap: 45px; }
 .contact-copy h2 { font-size: 43px; }
 .role-hero { gap: 30px; }
 .role-board { padding: 23px; }
 .role-board h2 { font-size: 25px; }
 .role-switcher { flex-direction: column; align-items: flex-start; }
}
@media (max-width:1080px) {
 .desktop-nav { display: none; }
 .menu-toggle { display: inline-flex; }
 .header-actions { margin-left: auto; }
 .hero { min-height: 590px; padding-block: 40px; }
 .hero h1 { font-size: 43px; }
 .hero-lead { font-size: 14px; }
 .hero-trust { flex-direction: column; gap: 10px; }
 .hero-scene { height: 490px; }
 .scene-photo { inset: 15px 0 40px 10px; }
 .scene-photo-top { left: 20px; top: 24px; font-size: 8px; }
 .scene-photo>p { left: 20px; top: 65px; font-size: 20px; }
 .device-laptop { top: 191px; }
 .device-phone { top: 157px; }
 .scene-connection { top: 145px; padding: 9px 12px; }
 .scene-caption { font-size: 8px; bottom: 0; }
 .section { padding-block: 76px; }
 .audience-card { padding: 23px; }
 .audience-card h3 { font-size: 22px; }
 .audience-card>p { font-size: 13px; }
 .effect-heading h2 { font-size: 44px; }
 .effect-heading>p { font-size: 13px; }
 .effect-workbench { gap: 25px; grid-template-columns: 1.2fr 1fr; }
 .effect-summary { padding: 24px; }
 .effect-fields { gap: 12px; }
 .effect-fields>label { font-size: 10px; }
 .effect-fields input { width: 60px; }
 .effect-fields label>div>span { font-size: 9px; }
 .effect-results strong { font-size: 64px; }
 .contact-copy h2 { font-size: 39px; }
 .contact-copy>p { font-size: 14px; }
 .contact-expect strong { font-size: 16px; }
 .contact-expect small { font-size: 12px; }
 .role-hero h1 { font-size: 42px; }
 .role-hero .hero-lead { font-size: 15px; }
 .role-benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .role-board-row strong { font-size: 12px; }
 .role-board-header>span { font-size: 8px; }
}
@media (max-width:900px) {
 .hero { grid-template-columns: 1fr; padding-top: 42px; padding-bottom: 45px; gap: 20px; }
 .hero-copy { max-width: 670px; }
 .hero h1 { font-size: 59px; }
 .hero-lead { font-size: 18px; }
 .hero-buttons .button { font-size: 14px; padding-inline: 22px; }
 .hero-buttons .text-button { font-size: 14px; }
 .hero-trust { flex-direction: row; gap: 18px; }
 .hero-scene { width: 630px; max-width: 100%; height: 590px; margin: 0 auto; }
 .scene-photo { inset: 20px 6px 60px 40px; }
 .scene-photo-top { font-size: 9px; top: 28px; left: 27px; }
 .scene-photo>p { font-size: 25px; top: 82px; left: 27px; }
 .device-laptop { top: 219px; left: 0; width: 91%; }
 .device-phone { top: 157px; right: 4px; width: 32%; }
 .scene-connection { top: 174px; left: 25px; padding: 12px 16px; }
 .scene-caption { font-size: 10px; left: 20px; }
 .effect-workbench { grid-template-columns: 1fr; }
 .effect-fields>label { font-size: 12px; }
 .effect-fields label>div>span { font-size: 11px; }
 .effect-summary { display: block; }
 .effect-heading { align-items: flex-start; flex-direction: column; gap: 22px; }
 .effect-heading>p { font-size: 15px; }
 .effect-control-head h3 { font-size: 23px; }
 .effect-summary h3 { font-size: 26px; }
 .role-hero { grid-template-columns: 1fr; gap: 25px; }
 .role-hero h1 { font-size: 54px; }
 .role-hero .hero-lead { font-size: 17px; }
 .role-visual { max-width: 540px; width: 100%; margin: 0 auto; }
 .role-board { padding: 30px; }
 .role-board h2 { font-size: 30px; }
 .role-board-row strong { font-size: 15px; }
 .role-board-header>span { font-size: 11px; }
 .role-story-grid { gap: 20px; }
 .role-story-grid>article { margin-right: 0; padding-right: 0; }
 .contact-inner { grid-template-columns: 1fr; gap: 40px; }
 .contact-copy h2 { font-size: 48px; }
 .contact-expect { display: grid; grid-template-columns: 1fr 1fr; column-gap: 25px; }
 .contact-expect>div { padding: 18px 0; border-bottom: 0; }
 .contact-copy>p { max-width: 560px; }
 .contact-card { width: 100%; max-width: 680px; margin: 0 auto; }
 .contact-copy .contact-email { margin-top: 22px; }
}
@media (max-width:760px) {
 .container { width: calc(100% - 40px); }
 .header-inner { height: 72px; }
 .brand img { width: 84px; }
 .header-contact { display: none; }
 .header-actions { gap: 10px; }
 .hero { padding-top: 33px; padding-bottom: 32px; gap: 25px; min-height: 0; }
 .hero-copy { padding-bottom: 0; }
 .hero h1 { font-size: clamp(37px,7.6vw,53px); margin-top: 23px; }
 .hero-brandline img { width: 67px; }
 .hero-brandline>span { font-size: 8px; padding-left: 14px; }
 .hero-brandline { gap: 14px; }
 .hero-lead { font-size: 15px; margin-top: 22px; }
 .hero-lead strong { font-size: 15px; }
 .hero-buttons { gap: 19px; margin-top: 24px; }
 .hero-buttons .button { font-size: 13px; min-height: 53px; padding: 15px 17px; gap: 15px; }
 .hero-buttons .text-button { font-size: 12px; gap: 7px; }
 .hero-trust { font-size: 10px; gap: 10px 15px; margin-top: 20px; }
 .hero-trust>span { font-size: 10px; }
 .hero-scene { height: auto; aspect-ratio: 1.02; margin-top: 7px; width: 100%; }
 .scene-photo { inset: 0 7px 40px 18px; border-radius: 24px 60px 24px 24px; }
 .scene-photo-top { font-size: 7px; left: 18px; top: 20px; letter-spacing: .11em; }
 .scene-photo>p { font-size: clamp(17px,3.8vw,24px); left: 18px; top: 50px; }
 .device-laptop { top: 38%; left: 1%; width: 91%; }
 .laptop-lid { padding: 8px 5px 6px; border-radius: 10px 10px 4px 4px; }
 .laptop-base { height: 9px; margin-inline: -8px; }
 .laptop-base>i { height: 3px; }
 .device-phone { width: 33%; top: 29%; right: 6px; border-radius: 21px; padding: 4px; }
 .review-phone-screen { border-radius: 0 0 15px 15px; }
 .review-phone-top i { top: 5cqw; height: 6cqw; }
 .review-phone-home { height: 2px; bottom: 2px; }
 .scene-connection { top: 29%; left: 12px; padding: 7px 10px; gap: 8px; border-radius: 9px; }
 .scene-connection>span { font-size: 7px; }
 .scene-connection strong { font-size: 8px; }
 .scene-connection .icon:first-child { width: 16px; height: 16px; }
 .scene-connection .icon:last-child { width: 13px; height: 13px; padding: 2px; }
 .scene-caption { bottom: 1px; left: 9px; font-size: 8px; }
 .scene-motion { bottom: -7px; right: 2px; width: 29px; height: 29px; }
 .audience-section { padding: 30px 0; }
 .audience-heading { align-items: flex-start; gap: 17px; margin-bottom: 20px; flex-direction: column; }
 .audience-heading h2 { font-size: 25px; }
 .audience-heading>p { font-size: 12px; }
 .audience-heading>p br { display: none; }
 .audience-cards { grid-template-columns: 1fr; gap: 12px; }
 .audience-card { display: grid; grid-template-columns: 1fr auto; column-gap: 15px; padding: 21px; border-radius: 15px; }
 .audience-card-top { display: contents; }
 .audience-icon { grid-column: 2; grid-row: 1 / 3; width: 38px; height: 38px; }
 .audience-arrow { display: none; }
 .audience-card h3 { grid-row: 1; grid-column: 1; font-size: 23px; }
 .audience-card>p { grid-row: 2; grid-column: 1; font-size: 12px; max-width: 45ch; margin-top: 9px; }
 .audience-more { grid-row: 3; grid-column: 1 / -1; padding-top: 13px; font-size: 11px; }
 .section { padding-block: 61px; }
 .effect-section { padding: 58px 0 40px; }
 .effect-heading h2 { font-size: 38px; margin-top: 17px; }
 .effect-heading>p { font-size: 13px; }
 .effect-heading>p br { display: none; }
 .effect-results { gap: 0; padding: 10px 0; margin-top: 28px; grid-template-columns: 1fr; }
 .effect-results>article { border: 0; border-bottom: 1px solid #ffffff1a; padding: 22px 0; display: grid; grid-template-columns: 1fr 1fr; align-items: center; column-gap: 18px; }
 .effect-results>article:last-child { border-bottom: 0; }
 .effect-results strong { grid-column: 1; grid-row: 1 / 3; font-size: 61px; margin: 0; }
 .effect-results strong small { font-size: 24px; }
 .effect-results>article>span { grid-column: 2; grid-row: 1; font-size: 12px; line-height: 1.5; color: #d5dff3; }
 .effect-results p { grid-column: 2; grid-row: 2; font-size: 10px; padding-top: 4px; }
 .effect-workbench { margin-top: 27px; }
 .effect-control-head h3 { font-size: 19px; }
 .effect-reset { font-size: 10px; }
 .effect-fields { gap: 14px 12px; }
 .effect-fields>label { font-size: 11px; }
 .effect-fields label>div>span { font-size: 9px; }
 .effect-fields>label>div { padding-inline: 10px; }
 .effect-fields input { width: 48px; font-size: 21px; }
 .meeting-fields { grid-template-columns: 1fr; }
 .meeting-fields>label>div { max-width: none; }
 .effect-summary { padding: 25px; }
 .effect-summary h3 { font-size: 25px; }
 .effect-method summary { font-size: 11px; gap: 15px; }
 .effect-method>div { font-size: 11px; }
 .effect-insight { gap: 10px; }
 .effect-insight>span { padding: 8px; }
 .effect-insight p { font-size: 11px; }
 .contact-inner { gap: 30px; }
 .contact-copy h2 { font-size: 39px; }
 .contact-copy>p { font-size: 14px; }
 .contact-expect { grid-template-columns: 1fr; margin-top: 22px; }
 .contact-expect>div { padding: 15px 0; gap: 15px; border-bottom: 1px solid #ffffff14; }
 .contact-expect>div>b { width: 39px; min-width: 39px; height: 39px; font-size: 14px; }
 .contact-expect strong { font-size: 16px; }
 .contact-expect small { font-size: 12px; margin-top: 4px; max-width: none; }
 .contact-card { padding: 27px 23px; border-radius: 19px; }
 .consent-label { font-size: 12px; }
 .form-row { grid-template-columns: 1fr; gap: 0; }
 .form-field input,.form-field select,.form-field textarea { font-size: 16px; }
 .launch-section { padding-block: 55px; }
 .launch-heading h2 { font-size: 28px; }
 .launch-grid h3 { font-size: 23px; }
 .footer-nav { max-width: 100%; gap: 15px 20px; }
 .footer-nav a { font-size: 11px; }
 .mobile-cta>span { max-width: 130px; font-size: 10px; }
 .mobile-cta .button { padding: 13px 15px; font-size: 12px; gap: 12px; }
 .role-hero { padding-top: 25px; gap: 18px; }
 .role-eyebrow { margin-top: 26px; }
 .role-hero h1 { font-size: clamp(34px,7.3vw,50px); }
 .role-hero .hero-lead { font-size: 15px; }
 .role-visual { padding: 52px 14px 35px 6px; }
 .role-visual-backdrop { inset: 19px 5px 0 20px; border-radius: 32px 66px 32px 32px; }
 .role-visual-eyebrow { left: 8px; top: 6px; font-size: 9px; }
 .role-board { padding: 24px; border-radius: 18px; }
 .role-board-header>span { font-size: 9px; }
 .role-board h2 { font-size: 26px; margin-top: 23px; }
 .role-board-row { padding: 17px 0; gap: 10px; }
 .role-board-icon { padding: 9px; }
 .role-board-row strong { font-size: 12px; }
 .role-board-row>div>span { font-size: 10px; }
 .role-board-bottom { font-size: 10px; }
 .role-visual-note { font-size: 8px; margin-top: 19px; }
 .role-value-strip { padding-block: 19px; }
 .role-value-strip>.container { flex-direction: column; gap: 13px; }
 .role-value-strip span { font-size: 12px; }
 .role-benefit-grid { grid-template-columns: 1fr; gap: 14px; }
 .role-benefit { padding: 26px; }
 .role-benefit h3 { font-size: 26px; }
 .role-benefit>p { font-size: 14px; }
 .role-benefit-note { font-size: 12px; }
 .role-story { padding-block: 55px; }
 .role-story-heading .eyebrow { font-size: 9px; }
 .role-story-heading h2 { font-size: 33px; }
 .role-story-heading>p { font-size: 14px; }
 .role-story-grid { grid-template-columns: 1fr; gap: 25px; }
 .role-story-grid h3 { margin: 12px 0; }
 .role-story-grid p { font-size: 14px; }
 .role-switcher { padding-block: 42px; gap: 25px; }
 .role-switcher h2 { font-size: 25px; }
 .role-switcher>div:last-child { width: 100%; flex-direction: column; gap: 10px; }
 .role-switcher a { font-size: 13px; padding: 17px; }
 .role-switcher a .icon:last-child { margin-left: auto; }
}
@media (max-width:380px) {
 .container { width: calc(100% - 32px); }
 .hero h1 { font-size: 36px; }
 .hero-lead,.hero-lead strong { font-size: 13px; }
 .hero-buttons { gap: 15px; }
 .hero-buttons .button { font-size: 12px; padding-inline: 14px; gap: 10px; }
 .hero-buttons .text-button { font-size: 11px; }
 .hero-trust { gap: 9px; }
 .hero-trust>span { font-size: 9px; }
 .hero-scene { aspect-ratio: .94; }
 .scene-photo-top { font-size: 6px; }
 .scene-photo>p { font-size: 16px; top: 43px; }
 .device-laptop { top: 40%; }
 .device-phone { top: 31%; border-radius: 17px; }
 .scene-connection { top: 29%; }
 .scene-caption { font-size: 7px; }
 .effect-heading h2 { font-size: 34px; }
 .effect-control-head { align-items: start; }
 .effect-control-head h3 { font-size: 17px; max-width: 155px; }
 .effect-reset { padding-top: 3px; }
 .effect-fields>label { font-size: 10px; }
 .effect-fields label>div>span { font-size: 8px; }
 .effect-fields input { width: 42px; }
 .contact-copy h2 { font-size: 34px; }
 .contact-card { padding: 24px 18px; }
 .role-hero h1 { font-size: 33px; }
 .role-board { padding: 21px; }
 .role-board-row strong { font-size: 11px; }
 .role-board h2 { font-size: 24px; }
 .role-visual-note { font-size: 7px; }
}
@media (prefers-reduced-motion: reduce) {
 .device-phone,.chart-stroke,.typing-caret { animation: none !important; }
 .chart-stroke { stroke-dashoffset: 0; }
}

/* Final scene-fit pass: disclosures stay outside the devices. */
.mock-line-chart { height: 13cqw; }
.mock-lower { margin-top: 1.2cqw; }
.mock-lower>div { padding-block: 1.3cqw; }
.review-phone-screen h2 { font-size: 8.7cqw; }
.phone-section-label { margin-top: 7cqw; }
.phone-review-card { padding-block: 5cqw; }
@media (min-width:1201px) {
 .device-laptop { width: 92%; top: 191px; left: -10px; }
 .device-phone { width: 31%; top: 152px; right: -2px; }
 .scene-connection { top: 151px; left: 7px; }
 .scene-caption { bottom: 3px; }
}
@media (max-width:760px) {
 .hero:not(.role-hero) .hero-buttons { display: grid; grid-template-columns: auto 1fr; gap: 12px; }
 .hero:not(.role-hero) .hero-buttons .button { padding-inline: 14px; font-size: 12px; gap: 13px; }
 .hero:not(.role-hero) .hero-buttons .text-button { justify-content: center; font-size: 11px; white-space: nowrap; }
 .hero:not(.role-hero) .hero-buttons .text-button .icon { width: 15px; height: 15px; }
 .scene-motion { width: 34px; height: 34px; }
}
@media (max-width:340px) {
 .hero:not(.role-hero) .hero-buttons { grid-template-columns: 1fr; gap: 15px; }
 .hero:not(.role-hero) .hero-buttons .button { justify-self: start; padding-inline: 18px; }
 .hero:not(.role-hero) .hero-buttons .text-button { justify-content: flex-start; }
}
.effect-has-error .effect-results { opacity: .5; }

.effect-disclaimer { color: #afbedb; font-size: 11px; margin-top: 25px; line-height: 1.7; }
.effect-method { margin-top: 5px; }

/* Keep the hardware frame from cropping dashboard rows or the demo disclosure. */
.mock-dashboard { padding-top: 3cqw; padding-bottom: 2cqw; }
.mock-kpis>div { padding-top: 1.35cqw; padding-bottom: 1.35cqw; }
.mock-context { margin-top: 1cqw; }
.mock-lower>div:first-child>span { margin-block: .8cqw; }
.device-phone { display: flex; flex-direction: column; }
.review-phone-top { flex-shrink: 0; }
.review-phone-screen { flex: 1; }
.scene-caption { bottom: -20px; z-index: 5; }
.scene-motion { bottom: -24px; }
@media (max-width:760px) {
 .scene-caption { bottom: -7px; }
 .scene-motion { bottom: -14px; }
}


/* v3: a single landing page, a full-width 2:1 walkthrough and unchanged lead form. */
.landing-v3 .hero-copy h1 { margin-top: 0; }
.landing-v3 .scene-photo>p { top: 25px; }
.landing-v3 .contact-copy h2 { margin-top: 0; }
.landing-v3 .contact-inner { align-items: start; }
.landing-v3 .contact-card { margin-top: 0; }
.landing-v3 .contact-copy { padding-bottom: 0; }
.audiences-v3 { padding-top: 68px; padding-bottom: 95px; }
.audience-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.audience-benefits article { border:1px solid var(--line); border-radius:22px; padding:30px; scroll-margin-top:120px; background:#fafbfe; }
.audience-benefits article:nth-child(2) { background:#f0f4ff; }
.audience-benefits article:nth-child(3) { background:#f3f8f5; }
.audience-number { display:flex; justify-content:space-between; align-items:center; color:#93a0b4; font-size:13px; margin-bottom:28px; }
.audience-number .icon { color:var(--blue); width:25px; height:25px; }
.audience-benefits .eyebrow { font-size:10px; }
.audience-benefits h3 { margin:16px 0; font-size:28px; line-height:1.2; }
.audience-benefits p { font-size:14px; color:var(--muted); }
.audience-bottom { padding-top:22px; margin-top:24px; border-top:1px solid #dfe5ed; color:#63718b; font-size:11px; line-height:1.5; }
.journey-section { padding-top:25px; }
.journey-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; padding-bottom:40px; }
.journey-heading h2 { font-size:clamp(32px,3.2vw,46px); line-height:1.17; margin-top:16px; }
.journey-heading>p { font-size:15px; color:var(--muted); padding-bottom:5px; }
.journey-shell { --journey-progress:0%; position:relative; width:100%; max-width:1920px; margin-inline:auto; background:#fff; }
.journey-topbar { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:16px max(24px,calc((100vw - 1280px)/2)); border-top:1px solid var(--line); background:#fff; }
.journey-tabs { display:flex; align-items:center; gap:8px; min-width:0; }
.journey-tabs button { min-height:46px; display:flex; align-items:center; gap:10px; border:1px solid transparent; padding:10px 16px; background:none; font-size:13px; border-radius:9px; white-space:nowrap; transition:background .25s; }
.journey-tabs button>span { font-size:11px; color:#8b99b2; }
.journey-tabs button[aria-selected="true"] { color:var(--blue); background:#eef2ff; border-color:#dfe6ff; }
.journey-tabs button[aria-selected="true"]>span { color:var(--blue); }
.journey-fullscreen { display:grid; place-items:center; border:1px solid var(--line); background:white; border-radius:10px; width:44px; height:44px; flex-shrink:0; }
.journey-stage { position:relative; aspect-ratio:2/1; isolation:isolate; overflow:hidden; background:#776554; --guest-accent:#4b68f0; --guest-font:Arial,sans-serif; }
.journey-stage:focus-visible { outline-offset:-4px; }
.journey-stage[data-theme="terra"] { --guest-accent:#a95126; }
.journey-stage[data-theme="green"] { --guest-accent:#597e38; }
.journey-stage[data-font="serif"] { --guest-font:Georgia,"Times New Roman",serif; }
.journey-stage[data-font="mono"] { --guest-font:"Courier New",monospace; }
.journey-images { position:absolute; inset:0; }
.journey-frame { position:absolute; inset:0; width:100%; opacity:0; transition:opacity .8s ease; z-index:0; pointer-events:none; }
.journey-frame.is-current { opacity:1; z-index:2; pointer-events:auto; }
.j-photo,.device-scene>img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; max-width:none; }
.j-photo { animation:j-camera 14s ease-in-out infinite alternate; animation-play-state:paused; transform-origin:38% 48%; }
.journey-shell.is-running .journey-frame.is-current .j-photo { animation-play-state:running; }
@keyframes j-camera { from { transform:scale(1.055) translateX(.3%); } to { transform:scale(1.005) translateX(-.15%); } }
.j-room { opacity:0; transition:opacity 1.2s ease; }
.j-room.is-current { opacity:1; }
.door-person { opacity:0; transition:opacity .35s ease; }
.door-person.is-current { opacity:1; }
.door-closed { opacity:1; transition:opacity .48s ease,filter .48s ease; }
.door-frame.is-open .door-closed { opacity:0; filter:blur(2px); }
.journey-shade { position:absolute; inset:0; z-index:3; background:linear-gradient(90deg,transparent 45%,rgba(31,27,22,.08) 56%,rgba(32,27,23,.45) 72%,rgba(30,27,23,.66)); pointer-events:none; }
.journey-pane { position:absolute; z-index:4; right:4.5%; top:50%; transform:translateY(-50%); width:32%; max-width:440px; color:white; }
.journey-kicker { font-size:10px; font-weight:600; letter-spacing:.11em; color:#f0ebe5; display:block; margin-bottom:14px; line-height:1.5; }
.journey-pane h3 { color:white; font-size:clamp(26px,2.35vw,38px); line-height:1.08; letter-spacing:-.04em; margin-bottom:20px; }
.journey-pane>p { color:#f0ebe7; font-size:15px; line-height:1.65; margin-top:16px; }
.journey-pane>small { color:#e8e1da; display:block; margin-top:22px; font-size:11px; line-height:1.6; }
.guest-demo-form { background:rgba(251,249,246,.93); color:#2d323e; padding:19px; border:1px solid #ffffff5a; border-radius:19px; box-shadow:0 18px 60px #00000017; font-family:var(--guest-font); transition:border-color .3s; }
.guest-form-identity { display:flex; align-items:center; gap:10px; padding-bottom:15px; border-bottom:1px solid #d4d4d280; margin-bottom:15px; }
.guest-form-identity>div { width:34px; height:34px; display:grid; place-items:center; background:white; border:1px solid #dddeda; border-radius:50%; color:var(--guest-accent); }
.guest-form-identity p { font-size:13px; line-height:1.5; }
.guest-form-identity strong { display:block; font-weight:600; }
.guest-form-identity p span { display:block; font-size:10px; color:#6b6c73; }
.demo-label { margin-left:auto; background:#e9e9e3; border-radius:5px; padding:4px 7px; font:10px Arial,sans-serif; color:#565e68; }
.guest-question { padding:0; margin:0 0 14px; border:0; min-width:0; }
.guest-question legend { font-size:12px; line-height:1.4; font-weight:600; }
.guest-question p { font-size:10px; color:#747780; margin:3px 0 9px; }
.guest-rating { display:grid; grid-template-columns:repeat(5,1fr); border-radius:9px; padding:3px; background:#fff; border:1px solid #dddfe3; }
.guest-rating label,.guest-tags label { position:relative; cursor:pointer; min-width:0; }
.guest-rating input,.guest-tags input { position:absolute; width:1px; height:1px; opacity:0; }
.guest-rating label span { display:grid; place-items:center; min-height:33px; font-size:13px; border-radius:7px; }
.guest-rating input:checked+span { background:var(--guest-accent); color:white; }
.guest-rating input:focus-visible+span,.guest-tags input:focus-visible+span { outline:3px solid var(--guest-accent); outline-offset:2px; }
.guest-tags>div { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.guest-tags span { display:block; border:1px solid #d9dadb; background:#fff; font-size:10px; padding:6px 9px; border-radius:15px; }
.guest-tags input:checked+span { background:var(--guest-accent); border-color:var(--guest-accent); color:white; }
.guest-comment-label { display:block; font-size:12px; font-weight:600; margin-bottom:8px; }
.guest-demo-form textarea { display:block; width:100%; resize:vertical; min-height:57px; max-height:104px; border:1px solid #d9dade; border-radius:9px; background:#fff; padding:10px; font-family:var(--guest-font); font-size:12px; line-height:1.4; color:#293343; }
.guest-demo-form textarea::placeholder { color:#7e8188; }
.guest-form-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:12px; }
.guest-form-footer>span { font:10px/1.5 Arial,sans-serif; max-width:215px; color:#646a73; }
.guest-form-footer button { display:flex; align-items:center; gap:8px; padding:9px 12px; font-size:11px; border:none; background:var(--guest-accent); color:white; border-radius:8px; }
.guest-form-footer .icon { width:15px; height:15px; }
.style-controls { display:grid; grid-template-columns:1.25fr 1fr; gap:18px; margin-top:15px; }
.style-controls fieldset { border:none; padding:0; margin:0; min-width:0; }
.style-controls legend { font-size:10px; margin-bottom:8px; color:#f5f1ea; }
.theme-options,.font-options { display:flex; gap:9px; justify-content:space-between; }
.theme-options button { border:none; background:none; padding:0; color:white; display:flex; flex-direction:column; align-items:center; gap:6px; font-size:8px; min-width:42px; }
.theme-options i { display:block; width:30px; height:30px; border-radius:50%; background:var(--swatch); box-shadow:inset 0 0 0 1px #ffffff40; outline:2px solid transparent; outline-offset:3px; }
.theme-options button[aria-pressed="true"] i { outline-color:#fff; }
.font-options button { display:flex; flex-direction:column; align-items:center; font-size:8px; color:#efeeeb; background:#ffffff15; border:1px solid #ffffff30; border-radius:7px; padding:5px; min-width:37px; }
.font-options b { font-size:17px; margin-bottom:1px; font-weight:500; }
.font-options button[aria-pressed="true"] { background:#fff; color:#333940; }
.font-options button:nth-child(2) b { font-family:Georgia,serif; }
.font-options button:nth-child(3) b { font-family:"Courier New",monospace; }
.staff-now { padding:21px; margin-top:28px; border-radius:16px; border:1px solid #ffffff40; background:#ffffff17; backdrop-filter:blur(12px); }
.staff-now>span { font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:#e6e4df; }
.staff-now strong { font-size:22px; display:block; margin-top:8px; }
.staff-now p { font-size:13px; margin-top:5px; color:#eeeae4; }
.person-switch,.device-switch { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.person-switch button,.device-switch button,.sign-toggle { border:1px solid #ffffff40; background:#ffffff10; border-radius:8px; color:white; padding:11px 12px; font-size:11px; }
.person-switch button[aria-pressed="true"],.device-switch button[aria-pressed="true"] { background:white; color:#283438; }
.device-scene { position:absolute; inset:0; opacity:0; transition:opacity .9s ease; pointer-events:none; }
.device-scene.is-current { opacity:1; pointer-events:auto; }
.device-overlay { position:absolute; inset:0; width:100%; height:100%; }
.device-frame { background:#554337; }
.journey-stage[data-step="3"] .journey-shade { background:linear-gradient(90deg,rgba(28,23,20,.65),rgba(33,27,23,.4) 28%,transparent 55%); }
.device-pane { left:5%; right:auto; top:50%; width:29%; }
.device-pane h3 { font-size:clamp(30px,3vw,49px); }
.sign-toggle { display:block; margin-top:14px; background:#f5f8f0; color:#2a3a29; font-weight:600; }
.tablet-screen-live { width:400px; height:260px; border-radius:15px; padding:28px; background:#fafaf6; color:#253930; font-family:Arial,sans-serif; }
.tablet-screen-live>span { display:block; font-size:11px; letter-spacing:.12em; color:#557b61; }
.tablet-screen-live strong { display:block; font-size:29px; line-height:1.15; margin-top:20px; }
.tablet-screen-live p { font-size:13px; color:#65806b; margin-top:8px; }
.tablet-ratings { display:flex; gap:8px; margin-top:23px; }
.tablet-ratings button { flex:1; min-height:38px; border:1px solid #cedace; color:#47614b; font-size:18px; border-radius:9px; background:white; }
.tablet-ratings button[aria-pressed="true"] { background:#4a7353; border-color:#4a7353; color:white; }
.tablet-screen-live small { display:block; margin-top:14px; color:#748478; font-size:10px; }
.sign-screen-live { width:113px; height:200px; background:#14251f; color:#f1fff4; border-radius:3px; text-align:center; padding:19px 8px; font-family:Arial,sans-serif; display:flex; flex-direction:column; align-items:center; }
.sign-screen-live>span:first-child { font-size:5px; letter-spacing:.12em; color:#b0c8bb; }
.sign-screen-live>strong { font-size:13px; line-height:1.25; margin-top:12px; }
.sign-clock { font-size:20px; color:#e1efdc; margin-top:17px; font-weight:300; }
.sign-status { background:#9bdab5; color:#183425; padding:9px 6px; margin-top:14px; width:100%; font-size:12px; border-radius:4px; }
.sign-screen-live small { font-size:5px; margin-top:auto; color:#c4d3c8; }
.sign-screen-live.is-busy { background:#321d1d; }
.sign-screen-live.is-busy .sign-status { background:#f4b2aa; color:#541918; }
.journey-bottom { background:#fff; border-bottom:1px solid var(--line); }
.journey-progress { height:3px; background:#e9edf5; overflow:hidden; }
.journey-progress i { display:block; height:100%; background:var(--blue); width:var(--journey-progress); }
.journey-bottom-inner { display:flex; align-items:center; gap:24px; justify-content:space-between; padding:14px max(24px,calc((100vw - 1280px)/2)); }
.journey-play { display:flex; align-items:center; gap:9px; border:0; background:transparent; font-size:12px; padding:10px 0; min-height:40px; color:#6c7890; }
.journey-play .icon { width:16px; height:16px; }
.journey-step-label { color:#7b8799; font-size:12px; margin-left:auto; }
.journey-navigation { display:flex; gap:9px; }
.journey-navigation button { border:1px solid var(--line); background:#fff; border-radius:10px; min-height:42px; min-width:42px; padding:10px 16px; font-size:12px; display:flex; align-items:center; gap:20px; }
.journey-navigation button:last-child { background:var(--blue); border-color:var(--blue); color:#fff; }
.journey-navigation .icon { width:18px; height:18px; }
.journey-navigation button:first-child .icon { transform:rotate(180deg); }
.journey-noscript { background:#f5f7fc; padding:20px; font-size:14px; }
.journey-shell:fullscreen { overflow:auto; max-width:none; background:#fff; }
.journey-shell:fullscreen .journey-stage { aspect-ratio:2/1; max-height:calc(100dvh - 146px); min-height:550px; }
.request-stage { display:grid; grid-template-columns:1fr 1fr; border:1px solid #e2e7f4; border-radius:26px; overflow:hidden; background:#f7f9ff; }
.request-guest { margin:38px auto; width:calc(100% - 90px); max-width:395px; background:white; border:1px solid #e2e8f3; box-shadow:0 20px 70px #33519710; border-radius:20px; padding:28px; }
.request-brand { display:flex; justify-content:space-between; color:#8693a7; font-size:10px; letter-spacing:.12em; align-items:center; }
.request-brand .icon { color:var(--blue); }
.request-room { display:flex; align-items:center; gap:6px; font-size:10px; color:#7284a0; margin-top:22px; }
.request-room .icon { width:14px; height:14px; }
.request-guest h3 { font-size:30px; margin:13px 0 23px; }
.request-buttons { display:grid; gap:9px; }
.request-buttons button { display:flex; align-items:center; gap:11px; background:#f7f9ff; border:1px solid #e3e8f6; color:#3c5279; border-radius:11px; padding:15px 13px; font-size:12px; text-align:left; min-height:52px; }
.request-buttons button[aria-pressed="true"] { background:var(--blue); color:white; border-color:var(--blue); }
.request-buttons button .icon:last-child { margin-left:auto; width:14px; }
.request-buttons button .icon { width:18px; height:18px; }
.request-guest>small { display:block; margin-top:18px; text-align:center; color:#7c88a0; font-size:10px; line-height:1.5; }
.request-team { align-self:center; padding:40px 48px 40px 15px; }
.request-team h3 { font-size:30px; line-height:1.2; margin:15px 0 24px; }
.request-team .eyebrow { font-size:10px; }
.request-preview { background:#fff; padding:23px; border:1px solid #dce4f3; border-radius:15px; }
.request-preview-top { display:flex; align-items:center; gap:9px; font-size:11px; color:#8897ae; margin-bottom:17px; }
.request-preview-top .icon { width:17px; height:17px; color:var(--blue); }
.request-preview-top strong { color:#687b98; font-size:11px; font-weight:500; }
.request-preview-top>span { margin-left:auto; background:#f0f3fa; padding:3px 7px; border-radius:5px; font-size:9px; }
.request-preview h4 { font-size:21px; margin-bottom:16px; }
.request-preview>div:not(:first-child) { display:flex; gap:20px; font-size:12px; margin-top:8px; justify-content:space-between; align-items:flex-start; }
.request-preview>div>strong { text-align:right; font-weight:500; }
.request-preview>div>span { color:#7c8ba2; }
.request-preview>p { font-size:12px; color:#7a8ba2; margin-top:17px; padding-top:14px; border-top:1px solid #e9edf4; }
.request-roadmap { display:flex; gap:9px; margin:18px 0 22px; font-size:11px; color:#71829a; line-height:1.65; }
.request-roadmap .icon { width:16px; height:16px; margin-top:1px; }
.metrics-section { padding:85px 0; }
.metrics-example-label { display:flex; align-items:flex-start; gap:9px; color:#b5c4e4; font-size:12px; line-height:1.6; margin:35px 0 23px; }
.metrics-example-label .icon { width:17px; height:17px; margin-top:1px; }
.metrics-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #ffffff20; border-radius:21px; overflow:hidden; }
.metrics-grid article { padding:34px; border-right:1px solid #ffffff20; background:#ffffff03; }
.metrics-grid article:last-child { border:0; }
.metrics-grid article>span { font-size:10px; color:#a2b6df; letter-spacing:.1em; line-height:1.6; display:block; }
.metrics-grid article>strong { display:block; font-size:88px; font-weight:450; letter-spacing:-.065em; line-height:1.2; margin:21px 0; color:#d9e2ff; }
.metrics-grid article>strong>small { font-size:43px; margin-left:9px; }
.metrics-grid h3 { font-size:25px; line-height:1.2; color:white; margin-bottom:17px; }
.metrics-grid p { font-size:13px; color:#b5c2dc; min-height:108px; }
.metric-proof { padding:14px 0; border-top:1px solid #ffffff20; border-bottom:1px solid #ffffff20; display:flex; align-items:center; gap:18px; color:#a8b6cf; font-size:12px; margin:20px 0 15px; }
.metric-proof b { color:#e1e9ff; font-weight:500; }
.metric-proof .icon { width:17px; }
.metrics-grid article>small { display:block; font-size:11px; color:#9aaed1; line-height:1.6; }
.metrics-bottom { display:flex; justify-content:space-between; gap:35px; align-items:center; margin-top:29px; }
.metrics-bottom p { color:#a1b4d7; font-size:12px; }
.metrics-bottom .text-button { color:#e4ebff; white-space:nowrap; }
.integrations-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.integrations-grid article { border:1px solid var(--line); border-radius:24px; overflow:hidden; display:flex; flex-direction:column; background:#f9faff; }
.integration-copy { padding:32px 35px 0; }
.future-badge { font-size:9px; letter-spacing:.13em; background:#edf1fd; color:#6979a0; display:inline-block; border:1px solid #dde5fb; padding:7px 10px; border-radius:6px; }
.integration-copy h3 { font-size:30px; line-height:1.17; margin-top:20px; }
.integration-copy p { color:var(--muted); font-size:14px; margin:16px 0 10px; }
.routing-stage { display:flex; justify-content:center; align-items:center; gap:27px; padding:28px 28px 20px; flex:1; background:radial-gradient(ellipse at 70% 70%,#dce6ff,transparent 65%); min-height:390px; }
.routing-path { flex:1; max-width:190px; }
.routing-path>div { display:flex; align-items:center; gap:11px; color:#597198; background:#fff; padding:14px 12px; border:1px solid #e1e8f4; border-radius:10px; box-shadow:0 6px 20px #2d4c7810; }
.routing-path .icon { width:19px; height:19px; color:var(--blue); }
.routing-path span { font-size:11px; font-weight:600; line-height:1.5; }
.routing-path small { display:block; font-size:9px; font-weight:400; margin-top:4px; color:#8291aa; }
.routing-path i { display:block; height:22px; width:1px; background:#afbfeb; margin-left:24px; }
.routing-iphone { width:184px; flex-shrink:0; border:5px solid #1b2029; border-radius:30px; background:#fafafa; box-shadow:10px 20px 45px #283f5a26; overflow:hidden; transform:rotate(3deg); }
.routing-iphone img { width:100%; height:auto; }
.integration-caption { padding:17px 32px; color:#7b88a1; font-size:10px; line-height:1.55; border-top:1px solid #e3e8f3; background:white; }
.system-visual { position:relative; flex:1; min-height:390px; margin-top:25px; overflow:hidden; display:flex; align-items:center; flex-direction:column; justify-content:center; }
.system-visual>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.72); }
.system-connection { position:relative; z-index:1; display:flex; align-items:center; gap:17px; border:1px solid #ffffff7d; background:#fffef9ed; backdrop-filter:blur(14px); border-radius:18px; padding:25px; width:calc(100% - 56px); justify-content:space-between; box-shadow:0 15px 60px #00000025; }
.system-connection>div { display:flex; align-items:center; flex-direction:column; gap:13px; }
.system-connection>div>img { height:39px; width:auto; }
.system-connection>div>strong { font-size:24px; color:#9e6913; line-height:39px; }
.system-connection>div>span { font-size:9px; color:#67778f; text-align:center; }
.connection-arrows { color:#8296bc; font-size:29px; }
.system-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; z-index:1; position:relative; margin-top:20px; padding:0 20px; }
.system-tags>span { border:1px solid #ffffff80; background:#ffffffc9; padding:8px 12px; border-radius:8px; color:#4b5d71; font-size:10px; }
@media (min-width:1200px) and (max-width:1399px) {
 .journey-pane { width:32%; right:3.5%; }
 .journey-pane h3 { font-size:27px; margin-bottom:15px; }
 .journey-kicker { font-size:9px; margin-bottom:10px; }
 .guest-demo-form { padding:14px; }
 .guest-form-identity { padding-bottom:11px; margin-bottom:11px; }
 .guest-question { margin-bottom:10px; }
 .guest-rating label span { min-height:29px; }
 .style-controls { margin-top:11px; gap:12px; }
 .theme-options button { font-size:7px; }
 .device-pane { left:4%; }
 .device-pane h3 { font-size:36px; }
}
@media (max-width:1199px) {
 .journey-topbar { padding:12px 25px; }
 .journey-tabs { gap:3px; }
 .journey-tabs button { font-size:11px; padding:10px 12px; gap:6px; }
 .journey-stage { aspect-ratio:auto; padding-top:50%; overflow:hidden; min-height:0; background:#766250; }
 .journey-images { height:0; padding-top:50%; bottom:auto; }
 .journey-frame { height:auto; aspect-ratio:2/1; bottom:auto; }
 .journey-images .journey-frame { height:100%; aspect-ratio:auto; }
 .journey-shade { height:0; padding-top:50%; bottom:auto; background:linear-gradient(0deg,#76625055,transparent 60%); }
 .journey-pane { position:relative; top:auto; right:auto; left:auto; width:100%; max-width:none; transform:none; padding:28px 8% 35px; display:grid; grid-template-columns:1fr 1.15fr; gap:0 35px; align-items:start; }
 .journey-kicker { grid-column:1; padding-top:13px; }
 .journey-pane h3 { grid-column:1; grid-row:2; font-size:32px; }
 .shared-guest-pane .guest-demo-form { grid-column:2; grid-row:1/5; }
 .style-controls { grid-column:1; grid-row:3; margin-top:0; }
 .journey-pane>p { grid-column:1; grid-row:3; margin-top:0; }
 .journey-pane>small { grid-column:1; grid-row:5; }
 .staff-now { grid-column:2; grid-row:1/4; margin-top:0; }
 .person-switch { grid-column:2; grid-row:4; margin-top:14px; }
 .device-switch { grid-column:2; grid-row:2; margin-top:0; }
 .sign-toggle { grid-column:2; grid-row:3; margin-top:15px; width:fit-content; }
 .device-pane>small { grid-column:2; grid-row:4; margin-top:16px; }
 .journey-stage[data-step="3"] .journey-shade { background:transparent; }
 .journey-shell:fullscreen .journey-stage { max-height:none; aspect-ratio:auto; min-height:0; }
 .audience-benefits article { padding:25px; }
 .audience-benefits h3 { font-size:24px; }
 .metrics-grid article { padding:28px; }
 .metrics-grid p { min-height:128px; }
 .request-team { padding-right:30px; }
 .integration-copy { padding:28px 28px 0; }
 .integration-copy h3 { font-size:27px; }
 .routing-stage { gap:16px; padding:25px 20px; }
 .routing-iphone { width:161px; }
 .system-connection { width:calc(100% - 38px); padding:20px 16px; gap:11px; }
}
@media (max-width:900px) {
 .audience-benefits { grid-template-columns:1fr; gap:14px; }
 .audience-benefits article { display:grid; grid-template-columns:1fr 1.25fr; gap:0 24px; }
 .audience-number { display:none; }
 .audience-benefits .eyebrow { grid-column:1; }
 .audience-benefits h3 { grid-column:1; grid-row:2/4; margin-bottom:0; }
 .audience-benefits p { grid-column:2; grid-row:1/3; }
 .audience-bottom { grid-column:2; grid-row:3; margin-top:12px; padding-top:12px; }
 .journey-heading { display:block; }
 .journey-heading>p { margin-top:20px; }
 .journey-tabs { overflow:auto; scrollbar-width:thin; flex:1; }
 .journey-tabs button { padding:10px; }
 .journey-pane { padding:24px 6% 30px; gap:0 25px; }
 .journey-pane h3 { font-size:27px; }
 .journey-pane>p { font-size:13px; }
 .style-controls { grid-template-columns:1fr; gap:13px; }
 .theme-options { justify-content:flex-start; gap:18px; }
 .font-options { justify-content:flex-start; gap:10px; }
 .staff-now { padding:17px; }
 .staff-now strong { font-size:18px; }
 .person-switch button { font-size:10px; padding:9px; }
 .request-guest { width:calc(100% - 45px); padding:23px; }
 .request-team { padding-right:24px; padding-left:0; }
 .request-team h3 { font-size:25px; }
 .metrics-grid article { padding:23px; }
 .metrics-grid h3 { font-size:22px; }
 .metrics-grid p { font-size:12px; min-height:142px; }
 .metrics-grid article>strong { font-size:74px; }
 .metrics-bottom { display:block; }
 .metrics-bottom .text-button { margin-top:20px; }
 .integrations-grid { gap:18px; }
 .integration-copy { padding:25px 24px 0; }
 .integration-copy h3 { font-size:24px; }
 .integration-copy p { font-size:13px; }
 .routing-path { max-width:135px; }
 .routing-path>div { gap:7px; padding:11px 9px; }
 .routing-path .icon { width:15px; }
 .routing-path span { font-size:10px; }
 .routing-path small { font-size:8px; }
 .routing-iphone { width:140px; border-radius:25px; border-width:4px; }
 .routing-stage { gap:12px; min-height:325px; padding-inline:14px; }
 .system-visual { min-height:325px; }
 .system-connection { width:calc(100% - 28px); gap:8px; padding:18px 11px; }
 .system-connection>div>strong { font-size:18px; }
 .system-connection>div>img { height:32px; }
 .system-connection>div>span { font-size:8px; max-width:85px; }
 .connection-arrows { font-size:23px; }
 .integration-caption { padding:15px 24px; }
}
@media (max-width:600px) {
 .landing-v3 .scene-photo>p { top:21px; }
 .audiences-v3 { padding-top:25px; padding-bottom:55px; }
 .audience-benefits article { display:block; padding:24px; }
 .audience-benefits h3 { font-size:27px; margin-top:13px; margin-bottom:15px; }
 .audience-benefits p { font-size:13px; }
 .audience-bottom { font-size:10px; margin-top:19px; padding-top:15px; }
 .journey-heading { padding-bottom:27px; }
 .journey-heading h2 { font-size:32px; }
 .journey-heading>p { font-size:13px; }
 .journey-topbar { padding:10px 16px; gap:8px; }
 .journey-tabs { gap:2px; }
 .journey-tabs button { font-size:10px; min-height:38px; gap:6px; padding:8px 10px; }
 .journey-tabs button>span { font-size:9px; }
 .journey-fullscreen { width:35px; height:35px; }
 .journey-fullscreen .icon { width:17px; height:17px; }
 .journey-pane { display:block; padding:24px 22px 28px; }
 .journey-pane h3 { font-size:29px; margin-bottom:19px; max-width:440px; }
 .journey-kicker { font-size:9px; padding:0; margin-bottom:12px; }
 .guest-demo-form { max-width:430px; padding:18px; }
 .guest-form-identity p { font-size:13px; }
 .guest-question legend,.guest-comment-label { font-size:12px; }
 .guest-rating label span { min-height:38px; }
 .guest-tags span { font-size:10px; padding:7px 10px; }
 .guest-demo-form textarea { font-size:16px; min-height:70px; }
 .guest-form-footer button { padding:12px; }
 .style-controls { display:grid; grid-template-columns:1.2fr 1fr; margin-top:20px; gap:18px; max-width:440px; }
 .theme-options { justify-content:space-between; gap:5px; }
 .theme-options button { font-size:7px; }
 .font-options { gap:4px; justify-content:space-between; }
 .font-options button { min-width:32px; }
 .style-controls legend { font-size:11px; margin-bottom:11px; }
 .staff-now { margin-top:25px; }
 .person-switch { margin-top:16px; }
 .person-switch button { min-height:40px; font-size:11px; }
 .device-switch { margin-top:20px; }
 .device-pane>p { margin-top:16px; font-size:14px; }
 .sign-toggle { margin-top:13px; }
 .journey-pane>small { margin-top:17px; }
 .journey-bottom-inner { padding:12px 16px; gap:10px; flex-wrap:wrap; }
 .journey-step-label { font-size:10px; order:3; margin:0; width:100%; }
 .journey-play { font-size:11px; gap:5px; margin-right:auto; }
 .journey-navigation { gap:6px; }
 .journey-navigation button { padding:10px 12px; font-size:11px; min-height:40px; gap:12px; }
 .request-stage { grid-template-columns:1fr; }
 .request-guest { width:calc(100% - 40px); margin:23px auto; max-width:380px; }
 .request-team { padding:10px 24px 28px; }
 .request-team h3 { font-size:28px; }
 .request-team .eyebrow { font-size:9px; }
 .request-preview { padding:20px; }
 .request-buttons button { font-size:13px; min-height:54px; }
 .request-room { font-size:10px; }
 .metrics-section { padding:60px 0; }
 .metrics-example-label { font-size:11px; margin-top:25px; }
 .metrics-grid { display:block; }
 .metrics-grid article { border-right:0; border-bottom:1px solid #ffffff20; padding:27px; }
 .metrics-grid p { min-height:0; font-size:13px; }
 .metrics-grid article>strong { font-size:76px; margin:15px 0; }
 .metrics-grid h3 { font-size:27px; }
 .metrics-grid article>small { font-size:11px; }
 .metrics-grid article>span { font-size:9px; }
 .metrics-bottom p { font-size:11px; }
 .metrics-bottom .text-button { white-space:normal; font-size:13px; }
 .integrations-grid { grid-template-columns:1fr; }
 .integration-copy { padding:27px 25px 0; }
 .integration-copy h3 { font-size:30px; }
 .routing-stage { padding:25px; gap:22px; min-height:385px; }
 .routing-iphone { width:165px; border-width:5px; border-radius:28px; }
 .routing-path { max-width:160px; }
 .routing-path span { font-size:11px; }
 .routing-path small { font-size:8px; }
 .routing-path>div { padding:12px 9px; }
 .system-visual { min-height:330px; }
 .system-connection { padding:24px 16px; width:calc(100% - 42px); }
 .system-connection>div>strong { font-size:23px; }
 .system-connection>div>span { max-width:105px; font-size:9px; }
 .integration-caption { font-size:10px; }
}
@media (max-width:360px) {
 .journey-pane { padding-inline:16px; }
 .journey-pane h3 { font-size:26px; }
 .guest-demo-form { padding:14px; }
 .guest-form-footer>span { font-size:9px; }
 .style-controls { gap:12px; }
 .theme-options button { font-size:6px; min-width:38px; }
 .font-options button { min-width:29px; font-size:7px; padding:4px; }
 .routing-stage { gap:13px; padding:20px 14px; min-height:340px; }
 .routing-iphone { width:136px; }
 .routing-path span { font-size:10px; }
 .system-connection>div>strong { font-size:20px; }
}
.motion-paused .j-photo { animation-play-state:paused!important; }
@media (prefers-reduced-motion:reduce) {
 .journey-shell * { animation:none!important; transition:none!important; }
}

/* A readable, touch-sized counterpart to the perspective tablet screen. */
.device-mobile-rating { display:none; }
@media(max-width:600px) {
 .device-mobile-rating { display:block; margin-top:24px; }
 .device-mobile-rating>span { font-size:12px; }
 .device-mobile-rating>div { display:flex; gap:8px; margin-top:10px; }
 .device-mobile-rating button { border:1px solid #ffffff70; background:#ffffff15; color:white; min-height:44px; flex:1; border-radius:8px; }
 .device-mobile-rating button[aria-pressed="true"] { background:white; color:#294937; }
 .device-mobile-rating>small { display:block; font-size:10px; margin-top:10px; color:#eee7e0; }
}

@media(max-width:600px) {
}

@media(max-width:1199px) { }

/* v4 refinement. Original photographs; no synthetic mirrors or blur-up placeholders. */
.landing-v4 .desktop-nav a { font-size:15px; line-height:1.2; font-weight:500; }
.landing-v4 .scene-photo { position:relative; }
.landing-v4 .scene-photo::after { content:""; position:absolute; inset:0 0 auto; height:34%; background:linear-gradient(180deg,#0d162970 0%,#0d162936 45%,transparent 100%); pointer-events:none; }
.landing-v4 .scene-photo>p { display:inline-flex; flex-direction:column; gap:4px; padding:14px 18px; border-radius:20px; background:linear-gradient(180deg,#0c163050,#0c16302d); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); box-shadow:0 22px 45px #0811212c; }
.landing-v4 .scene-photo-copy { display:block; }
.landing-v4 .scene-photo>p strong { display:block; }
.landing-v4 .analytics-dialog-head button { display:grid; place-items:center; padding:0; line-height:1; }
.landing-v4 .analytics-dialog-head button .icon { width:18px; height:18px; stroke-width:2.2; }
@media(min-width:1100px) {
 .landing-v4 .contact-copy>p { margin-top:19px; }
 .landing-v4 .contact-process { margin-top:28px; }
 .landing-v4 .contact-step { padding:16px 0; }
 .landing-v4 .contact-step>span { font-size:8.5px; }
 .landing-v4 .contact-step h3 { margin-top:8px; font-size:19px; }
 .landing-v4 .contact-step p { margin-top:8px; font-size:12px; line-height:1.62; }
 .landing-v4 .contact-step-featured { margin-top:10px; padding:20px; }
 .landing-v4 .contact-step-featured h3 { font-size:22px; }
 .landing-v4 .contact-principle { margin-top:18px; font-size:17px; line-height:1.45; }
}

.landing-v4 .hero-lead { max-width:550px; }
.landing-v4 .hero-lead strong { font-size:inherit; }
.landing-v4 .scene-photo>p { top:24px; max-width:90%; font-size:clamp(20px,1.9vw,28px); line-height:1.2; }
.landing-v4 .device-laptop { transform:none; top:192px; left:-22px; width:96%; }
.landing-v4 .laptop-screen { display:block; aspect-ratio:1600/980; container-type:normal; }
.dashboard-open { display:block; width:100%; height:100%; border:0; padding:0; background:#f2f5fb; cursor:zoom-in; border-radius:4px; overflow:hidden; }
.dashboard-open img { display:block; width:100%; height:auto; filter:none; }
.dashboard-open:focus-visible { outline:3px solid #4b68f0; outline-offset:-3px; }
.landing-v4 .device-phone { width:29%; right:-12px; top:240px; }
.landing-v4 .scene-connection { display:none; }
.landing-v4 .scene-caption { display:flex; align-items:center; gap:14px; left:0; bottom:-10px; }
.scene-caption>span { font-size:9px; color:#728099; }
.dashboard-caption { display:flex; align-items:center; gap:6px; background:none; border:0; padding:7px 0; font-size:11px; color:#4b68f0; }
.dashboard-caption .icon { width:14px; height:14px; }
.analytics-dialog { border:1px solid #e2e8f4; padding:0; width:min(1420px,96vw); max-width:96vw; max-height:93dvh; border-radius:22px; background:white; color:#17233b; margin:auto; box-shadow:0 35px 120px #0005; }
.analytics-dialog::backdrop { background:#0c1938c9; }
.analytics-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:20px 25px; background:white; position:sticky; top:0; z-index:1; border-bottom:1px solid var(--line); }
.analytics-dialog-head h2 { font-size:23px; }
.analytics-dialog-head p { font-size:12px; color:#728099; margin-top:5px; }
.analytics-dialog-head button { border:1px solid var(--line); background:#f5f7fb; font-size:29px; width:44px; height:44px; flex-shrink:0; border-radius:12px; }
.analytics-dialog-body img { display:block; width:100%; height:auto; }
.dashboard-modal-open { overflow:hidden; }
.audiences-heading { display:block; max-width:1000px; }
.audiences-heading .eyebrow { max-width:900px; line-height:1.8; font-size:10px; letter-spacing:.09em; }
.audiences-heading>p { font-size:15px; line-height:1.65; color:var(--muted); margin-top:20px; }
.audience-benefits article { display:flex; flex-direction:column; }
.audience-benefits .audience-number { margin-bottom:25px; }
.audience-benefits h3 { font-size:28px; letter-spacing:-.03em; line-height:1.2; }
.audience-benefits p { flex:1; line-height:1.7; }
.audience-bottom { min-height:52px; margin-top:25px; }

/* A four-scene walkthrough. Steady images stay sharp; only opacity is animated. */
.journey-frame { transition:opacity .6s ease; }
.j-photo { animation:none; transform:none; filter:none; }
.door-closed { transition:opacity .45s ease; }
.door-frame.is-open .door-closed { filter:none; }
.journey-stage[data-step="0"] .journey-shade { background:linear-gradient(90deg,transparent 46%,#322a2333 59%,#302924d9 77%,#302924ed); }
.journey-stage[data-step="1"] { background:#514235; }
.journey-stage[data-theme="blue"][data-step="1"] { background:#3b403f; }
.journey-stage[data-theme="green"][data-step="1"] { background:#454b3f; }
.j-room { width:65%; object-fit:cover; object-position:46% 50%; transition:opacity .7s ease; }
.journey-stage[data-step="1"] .journey-shade { background:linear-gradient(90deg,transparent 47%,#3a322900 53%,#3c342bc4 62%,#3c342b 66%); }
.journey-stage[data-theme="blue"][data-step="1"] .journey-shade { background:linear-gradient(90deg,transparent 48%,#30363400 53%,#303634d9 63%,#303634 66%); }
.journey-stage[data-theme="green"][data-step="1"] .journey-shade { background:linear-gradient(90deg,transparent 48%,#3b403300 53%,#3b4033d9 63%,#3b4033 66%); }
.shared-guest-pane { width:35%; right:3.5%; max-width:530px; }
.shared-guest-pane h3 { font-size:clamp(25px,2.25vw,35px); line-height:1.15; margin-bottom:16px; letter-spacing:-.033em; }
.guest-demo-form { padding:16px; border-radius:16px; background:#f9f8f5; font-family:var(--guest-font); }
.guest-form-identity { height:51px; padding-bottom:12px; margin-bottom:12px; gap:9px; }
.guest-form-identity>div { flex:0 0 32px; width:32px; height:32px; }
.guest-form-identity p { min-width:0; font-size:12px; line-height:18px; margin:0; }
.guest-form-identity strong { line-height:18px; height:18px; white-space:nowrap; }
.guest-form-identity p span { font-size:10px; line-height:16px; height:16px; white-space:nowrap; }
.guest-question { margin:0 0 10px; min-width:0; display:block; }
.guest-question legend { float:left; width:100%; font-size:12px; line-height:17px; height:34px; display:flex; align-items:flex-end; padding:0; font-weight:600; }
.guest-question>p { clear:both; font-size:10px; line-height:15px; height:15px; margin:3px 0 7px; }
.guest-rating { clear:both; }
.guest-rating label span { height:32px; min-height:32px; line-height:18px; font-size:13px; }
.guest-tags legend { height:17px; }
.guest-tags>div { clear:both; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:0; padding-top:8px; }
.guest-tags label { text-align:center; }
.guest-tags span { display:flex; align-items:center; justify-content:center; height:29px; padding:4px 3px; font-size:10px; line-height:15px; }
.guest-comment-label { margin:0 0 6px; height:17px; font-size:12px; line-height:17px; }
.guest-demo-form textarea { font-size:12px; line-height:18px; height:56px; min-height:56px; max-height:56px; resize:none; padding:8px; margin:0; }
.guest-form-footer { height:48px; padding-top:10px; gap:8px; }
.guest-form-footer>span { font:10px/14px Arial,sans-serif; max-width:245px; }
.guest-form-footer button { font-family:Arial,sans-serif; height:35px; flex-shrink:0; }
.style-controls { margin-top:14px; gap:12px 20px; }
.style-controls legend { line-height:14px; height:14px; margin-bottom:9px; }
.theme-options button { min-height:45px; font-size:8px; }
.theme-options i { width:26px; height:26px; }
.font-options button { height:45px; flex:1; min-width:34px; line-height:12px; }
.font-options b { line-height:20px; height:20px; font-size:17px; }
.style-description { grid-column:1/-1; border-top:1px solid #ffffff2f; padding-top:12px; }
.style-description p { font-size:13px; line-height:1.5; margin:0 0 5px; color:white; }
.style-description strong { font-size:11px; line-height:1.65; color:#e4e4df; font-weight:400; display:block; }
.staff-now { background:#30292080; backdrop-filter:none; }
.device-photo-plane { position:absolute; top:0; left:0; transform-origin:0 0; }
.device-photo-plane>img { display:block; width:100%; height:100%; max-width:none; }
[data-project-screen] { position:absolute; top:0; left:0; transform-origin:0 0; overflow:hidden; box-sizing:border-box; }
.tablet-screen-live { border-radius:11px; padding:30px; background:#fafaf7; }
.tablet-screen-live>span { font:11px/16px Arial,sans-serif; letter-spacing:.12em; }
.tablet-screen-live strong { margin-top:24px; font:600 31px/37px Arial,sans-serif; }
.tablet-screen-live p { margin-top:10px; font:15px/21px Arial,sans-serif; }
.tablet-ratings { margin-top:28px; gap:10px; }
.tablet-ratings button { min-height:44px; font:20px Arial,sans-serif; }
.tablet-screen-live small { margin-top:18px; font:12px/18px Arial,sans-serif; }
.sign-screen-live { padding:32px 18px; border-radius:6px; }
.sign-screen-live>span:first-child { font-size:11px; line-height:16px; }
.sign-screen-live>strong { font-size:28px; line-height:34px; margin-top:27px; }
.sign-clock { font-size:46px; line-height:55px; margin-top:28px; }
.sign-status { font-size:25px; line-height:30px; padding:18px 10px; margin-top:24px; }
.sign-screen-live small { font-size:11px; line-height:15px; }
.journey-shell:fullscreen .journey-stage { max-height:none; min-height:0; }
.journey-shell:fullscreen { max-width:1920px; }

/* Four categories, stable context card, no changes to real request handling. */
.request-section .centered { max-width:950px; }
.request-section .centered>p { max-width:820px; margin:20px auto 0; }
.request-category-tabs { display:flex; width:max-content; max-width:100%; margin:0 auto 28px; border:1px solid #dfe5f3; padding:5px; border-radius:13px; background:#f2f5fc; gap:4px; }
.request-category-tabs button { padding:13px 22px; min-height:46px; background:transparent; border:1px solid transparent; color:#6d7e98; font-size:14px; border-radius:9px; }
.request-category-tabs button[aria-selected="true"] { background:#fff; border-color:#e1e7f1; color:var(--blue); box-shadow:0 4px 12px #22336608; }
.request-stage { background:linear-gradient(120deg,#eff4ff,#f9fafc); }
.request-guest { width:calc(100% - 70px); max-width:460px; padding:28px; }
.request-guest h3 { min-height:72px; display:flex; align-items:center; margin:10px 0 18px; font-size:30px; line-height:1.2; }
.request-buttons button { min-height:60px; font-size:13px; line-height:1.35; }
.request-buttons button span { flex:1; min-width:0; }
.request-team h3 { font-size:31px; }
.request-preview { min-height:269px; }
.request-preview h4 { line-height:1.3; min-height:55px; display:flex; align-items:center; margin:0 0 12px; font-size:22px; }
.request-preview>div:not(:first-child) { line-height:1.5; }
.request-preview>div>strong { overflow-wrap:anywhere; max-width:77%; }
.request-preview>div:first-child>strong { max-width:none; }
.request-context-note { color:#708098; font-size:12px; line-height:1.7; margin:19px 0; max-width:390px; }

/* Guest outcome owns 56% of the composition; the three supporting steps form a sequence. */
.value-section { padding:100px 0 80px; background:radial-gradient(ellipse at 86% 36%,#243859 0,transparent 52%),#101a2d; color:#fff; }
.value-heading { max-width:1100px; }
.value-heading .eyebrow { color:#9cafd3; font-size:10px; letter-spacing:.12em; }
.value-heading h2 { margin-top:23px; font-size:clamp(34px,3.45vw,49px); line-height:1.16; letter-spacing:-.04em; }
.value-heading h2>span { color:#a5b9e9; }
.value-heading>p { color:#adbbd2; font-size:16px; line-height:1.8; max-width:840px; margin-top:26px; }
.value-flow { display:flex; align-items:center; gap:18px; margin:38px 0 28px; flex-wrap:wrap; color:#a5b4ce; font-size:12px; }
.value-flow .icon { width:17px; height:17px; color:#6c80a6; }
.value-flow strong { color:#e8efff; font-weight:500; }
.value-composition { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:22px; }
.value-support { display:grid; gap:15px; }
.value-card { background:#ffffff04; border:1px solid #ffffff20; border-radius:20px; padding:28px 30px; display:flex; flex-direction:column; }
.value-kicker { display:flex; justify-content:space-between; align-items:center; gap:14px; color:#9cafcc; font-size:10px; line-height:1.5; letter-spacing:.12em; }
.value-kicker .icon { width:21px; height:21px; flex-shrink:0; color:#99b1ed; }
.value-card h3 { font-size:27px; letter-spacing:-.035em; line-height:1.18; margin:17px 0 13px; }
.value-card>p { font-size:13px; line-height:1.75; color:#afbdd3; max-width:440px; flex:1; }
.value-bottom { display:block; color:#899cbc; font-size:10px; line-height:1.6; padding-top:18px; margin-top:20px; border-top:1px solid #ffffff15; }
.value-main { border:1px solid #c5d4ff38; background:radial-gradient(ellipse at 65% 75%,#7d9dd43f,transparent 65%),linear-gradient(160deg,#273855,#192943 70%); border-radius:25px; padding:36px 38px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.value-main .value-kicker { color:#c2d0ed; }
.value-main .value-kicker .icon { color:#b7cdff; width:27px; height:27px; }
.value-main-copy { margin-top:66px; position:relative; z-index:1; }
.value-main h3 { font-size:clamp(34px,3.3vw,49px); line-height:1.15; letter-spacing:-.04em; }
.value-main h3>span { color:#d5e3ff; }
.value-main-copy>p { color:#c0cce0; font-size:16px; line-height:1.85; margin-top:30px; max-width:455px; }
.value-main-scene { position:relative; margin:auto -38px 0; height:280px; min-height:220px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.care-orbit { width:380px; height:380px; border:1px solid #c7daf522; border-radius:50%; position:absolute; left:calc(50% - 190px); top:calc(50% - 190px); }
.care-orbit::before,.care-orbit::after { content:""; position:absolute; border:1px solid #c7daf519; border-radius:50%; }
.care-orbit::before { inset:38px; }
.care-orbit::after { inset:76px; }
.care-dot { position:absolute; width:8px; height:8px; border-radius:50%; background:#b9d0fb; right:18%; top:24%; box-shadow:0 0 0 6px #c7daf518; }
.care-receipt { display:flex; align-items:center; gap:16px; border:1px solid #d5e4ff33; border-radius:15px; background:#a1bde211; padding:23px; position:relative; width:80%; }
.care-receipt>.icon { width:35px; height:35px; padding:7px; border-radius:50%; background:#aeced925; color:#bfdedb; }
.care-receipt strong { font-size:14px; font-weight:500; line-height:1.5; display:block; }
.care-receipt span { display:block; margin-top:5px; font-size:12px; color:#a9b9d1; }
.value-main>.value-bottom { margin-top:0; color:#b8c8e4; padding-top:23px; }
.value-conclusion { text-align:center; margin:58px auto 0; max-width:950px; color:#94a7c6; font-size:clamp(20px,2vw,28px); line-height:1.5; letter-spacing:-.02em; }
.value-conclusion strong { font-weight:500; color:#edf3ff; }

/* Crisp native notification mockup: no tiny raster text or JPEG chat. */
.integrations-grid { align-items:stretch; }
.integration-copy { padding:34px 33px 0; }
.integration-label { display:block; font-size:10px; letter-spacing:.11em; color:#687d9c; }
.integration-copy h3 { margin:19px 0 16px; }
.integration-copy p { line-height:1.75; }
.routing-visual-card,.integration-system-card { display:flex; flex-direction:column; }
.routing-stage { flex:1; min-height:450px; padding:32px 25px; }
.max-phone { width:218px; aspect-ratio:auto; border:5px solid #273144; border-radius:33px; background:#fafbfc; padding:0; box-shadow:0 20px 45px #22345320; overflow:hidden; transform:none; flex-shrink:0; }
.max-status { height:35px; display:flex; justify-content:space-between; align-items:center; padding:5px 14px 0; font-size:9px; color:#18222f; }
.max-status>i { width:61px; height:17px; border-radius:14px; background:#111824; position:absolute; left:50%; transform:translateX(-50%); }
.max-phone { position:relative; }
.max-chat-head { display:flex; gap:6px; align-items:center; padding:10px 9px; border-bottom:1px solid #e9edf3; background:white; }
.max-chat-head>span { font-size:24px; line-height:20px; color:#364359; }
.max-chat-head>img { width:24px; height:24px; padding:3px; background:#f3f5ff; border-radius:50%; }
.max-chat-head>div { min-width:0; }
.max-chat-head strong { font-size:10px; display:block; font-weight:600; white-space:nowrap; color:#182338; }
.max-chat-head small { display:block; font-size:8px; color:#8190a4; margin-top:3px; }
.max-chat-body { padding:16px 10px 20px; min-height:325px; display:flex; flex-direction:column; background:#f7f8fb; }
.max-date { align-self:center; font-size:8px; color:#8190a4; background:#edf0f5; padding:4px 9px; border-radius:7px; }
.max-message { padding:13px 11px 8px; background:#eaf0fb; margin-top:24px; border-radius:12px 12px 12px 3px; color:#233247; font-size:10px; line-height:1.55; }
.max-message>strong { font-weight:600; }
.max-message>p { margin:10px 0 0; }
.max-message>span { display:block; text-align:right; margin-top:7px; color:#8594aa; font-size:7px; }
.max-open { background:#e8eefa; color:#516ead; border-radius:7px; padding:9px; display:flex; justify-content:center; gap:8px; align-items:center; font-size:9px; margin-top:5px; }
.max-open .icon { width:12px; height:12px; }
.max-compose { display:flex; justify-content:space-between; gap:9px; padding:9px 12px; align-items:center; color:#8290a4; font-size:10px; border-top:1px solid #e9edf3; }
.max-compose>span:nth-child(2) { flex:1; background:white; padding:6px 7px; border-radius:12px; }
.max-home { width:80px; height:3px; margin:3px auto 7px; border-radius:3px; background:#273144; }
.channel-chips { display:flex; flex-wrap:wrap; gap:8px; padding:0 30px 10px; }
.channel-chips>span { display:flex; align-items:center; gap:5px; font-size:10px; background:#f0f4fc; color:#5d7395; border-radius:7px; border:1px solid #e3e9f3; padding:8px 10px; }
.channel-chips .icon { width:13px; height:13px; }
.system-visual { flex:1; min-height:460px; }
.system-visual>img { filter:none; }
.system-connection { box-shadow:0 20px 60px #26364920; background:#fcfdffff; backdrop-filter:none; }
.system-targets { display:flex; flex-direction:column; gap:15px; }
.system-targets>strong { font-size:22px!important; letter-spacing:-.02em; }
.integration-caption { min-height:53px; }

/* No diagnosis is required from the prospective client. */
.landing-v4 .contact-inner { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:start; }
.landing-v4 .contact-copy h2 { font-size:clamp(37px,3.7vw,53px); line-height:1.12; }
.landing-v4 .contact-copy>p { max-width:520px; margin-top:25px; font-size:15px; line-height:1.8; }
.contact-process { margin-top:35px; }
.contact-step { padding:20px 0; border-bottom:1px solid #ffffff1a; }
.contact-step>span { color:#879dc4; font-size:9px; line-height:1.5; letter-spacing:.12em; }
.contact-step h3 { font-size:20px; line-height:1.3; margin-top:10px; color:#eef3ff; letter-spacing:-.025em; }
.contact-step p { font-size:13px; line-height:1.75; color:#a4b3cf; margin-top:10px; }
.contact-step-featured { margin-top:20px; padding:24px; border:1px solid #aac4fd36; border-radius:16px; background:#89adff0a; }
.contact-step-featured>span { color:#a9c1f5; }
.contact-step-featured h3 { font-size:24px; color:#eef4ff; }
.contact-step-featured p { color:#bdcbe4; }
.contact-principle { color:#93a8cc; font-size:19px; line-height:1.55; margin-top:27px; letter-spacing:-.025em; }
.contact-principle strong { color:#e6efff; font-weight:500; }
.landing-v4 .contact-card { position:sticky; top:104px; margin-top:0; padding:38px; }
.landing-v4 .form-subtitle { line-height:1.7; margin-top:12px; font-size:13px; }
.landing-v4 .form-bottom-note { font-size:11px; line-height:1.6; }
.faq-list p { line-height:1.8; }
.faq-list p+p { padding-top:0; margin-top:-5px; }

@media (min-width:1200px) and (max-width:1399px) {
 .shared-guest-pane { width:36%; right:3%; }
 .shared-guest-pane h3 { font-size:25px; margin-bottom:12px; }
 .guest-demo-form { padding:13px; }
 .guest-form-identity { height:45px; margin-bottom:7px; padding-bottom:9px; }
 .guest-question { margin-bottom:8px; }
 .guest-form-footer { height:43px; padding-top:8px; }
 .style-controls { gap:8px 16px; margin-top:10px; }
 .style-description { padding-top:8px; }
 .style-description strong { font-size:10px; line-height:1.55; }
 .style-description p { font-size:12px; margin-bottom:3px; }
 .shared-guest-pane .journey-kicker { margin-bottom:8px; }
}
@media(max-width:1199px) {
 .landing-v4 .device-laptop { top:181px; left:-8px; width:94%; }
 .landing-v4 .device-phone { top:217px; right:-5px; width:29%; }
 .landing-v4 .scene-photo>p { font-size:21px; }
 .shared-guest-pane { width:100%; right:auto; max-width:none; }
 .shared-guest-pane h3 { font-size:29px; }
 .journey-stage { background:#3c352f; }
 .journey-stage[data-step="1"] .journey-shade,.journey-stage[data-step="0"] .journey-shade,
 .journey-stage[data-theme="blue"][data-step="1"] .journey-shade,.journey-stage[data-theme="green"][data-step="1"] .journey-shade { background:none; }
 .j-room { width:100%; object-position:50% 49%; }
 .style-description strong { font-size:12px; }
 .style-controls { grid-row:3; margin-top:0; }
 .journey-shell:fullscreen .journey-stage { aspect-ratio:auto; }
 .request-guest { width:calc(100% - 46px); padding:24px; }
 .request-team { padding:30px 25px 30px 0; }
 .value-card { padding:25px; }
 .value-card h3 { font-size:25px; }
 .value-main { padding:31px; }
 .value-main-copy { margin-top:50px; }
 .value-main h3 { font-size:39px; }
 .value-main-scene { margin-inline:-31px; }
 .landing-v4 .contact-inner { gap:40px; }
 .landing-v4 .contact-card { padding:28px; }
 .routing-stage { gap:17px; padding:25px 18px; }
 .max-phone { width:195px; }
 .max-chat-head strong { font-size:9px; }
 .routing-path { max-width:145px; }
}
@media(max-width:960px) {
 .audience-benefits { grid-template-columns:1fr; }
 .audience-benefits article { display:grid; grid-template-columns:1fr 1.4fr; gap:8px 28px; padding:28px; }
 .audience-benefits .audience-number { display:none; }
 .audience-benefits .eyebrow { grid-column:1; grid-row:1; }
 .audience-benefits h3 { grid-column:1; grid-row:2/4; font-size:26px; margin:3px 0; }
 .audience-benefits p { grid-column:2; grid-row:1/3; font-size:14px; }
 .audience-bottom { grid-column:2; grid-row:3; min-height:0; margin-top:9px; padding-top:14px; }
 .value-composition { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }
 .value-main { padding:27px; }
 .value-main h3 { font-size:32px; }
 .value-main-copy>p { font-size:14px; line-height:1.8; }
 .value-card { padding:23px; }
 .value-card h3 { font-size:23px; }
 .value-card>p { font-size:12px; }
 .value-main-scene { margin-inline:-27px; }
 .care-receipt { padding:16px; gap:10px; }
 .care-receipt strong { font-size:12px; }
 .care-receipt span { font-size:10px; }
 .max-phone { width:170px; border-radius:28px; }
 .max-status { font-size:8px; padding-inline:10px; }
 .max-status>i { width:48px; height:15px; }
 .max-chat-head { padding:9px 7px; gap:4px; }
 .max-chat-head>img { width:20px; height:20px; }
 .max-chat-head strong { font-size:8px; }
 .max-chat-head small { font-size:7px; }
 .max-chat-body { padding:12px 7px 15px; }
 .max-message { font-size:9px; padding:10px; }
 .routing-path { max-width:110px; }
 .routing-path>div { padding:11px 8px; }
 .routing-path span { font-size:10px; }
 .channel-chips { padding-inline:23px; }
 .landing-v4 .contact-inner { grid-template-columns:1fr; gap:36px; }
 .landing-v4 .contact-card { position:static; max-width:650px; width:100%; padding:36px; }
 .contact-process { display:grid; grid-template-columns:1fr 1fr; column-gap:27px; }
 .contact-step-featured { margin-top:10px; }
 .contact-principle { grid-column:1/-1; }
}
@media(max-width:1000px) and (min-width:761px) {
 .landing-v4 .device-laptop { top:200px; }
 .landing-v4 .device-phone { top:252px; }
 .landing-v4 .scene-photo>p { font-size:24px; }
}
@media(max-width:700px) {
 .value-section { padding:65px 0; }
 .value-composition { grid-template-columns:1fr; }
 .value-main { order:-1; min-height:570px; padding:30px; }
 .value-main h3 { font-size:40px; }
 .value-main-copy { margin-top:35px; }
 .value-main-copy>p { max-width:480px; font-size:15px; }
 .value-main-scene { margin-inline:-30px; height:180px; min-height:170px; }
 .value-card { padding:27px; }
 .value-card h3 { font-size:28px; }
 .value-card>p { font-size:14px; max-width:none; }
 .value-flow { font-size:10px; gap:9px 10px; margin:26px 0 24px; }
 .value-flow .icon { width:13px; height:13px; }
 .value-conclusion { font-size:21px; margin-top:38px; }
 .value-heading .eyebrow { font-size:9px; line-height:1.7; }
 .value-heading>p { font-size:14px; line-height:1.8; }
 .value-heading h2 { font-size:34px; }
 .request-category-tabs { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:3px; }
 .request-category-tabs button { font-size:13px; padding:11px 8px; }
}
@media(max-width:600px) {
 .landing-v4 .hero-lead,.landing-v4 .hero-lead strong { font-size:15px; }
 .landing-v4 .scene-photo>p { font-size:clamp(17px,4vw,23px); top:18px; left:19px; }
 .landing-v4 .device-laptop { top:40%; width:90%; left:1%; }
 .landing-v4 .device-phone { top:45%; right:0; width:28%; }
 .landing-v4 .scene-caption { display:flex; flex-direction:column; align-items:flex-start; gap:0; bottom:-14px; left:3%; }
 .scene-caption>span { font-size:8px; }
 .dashboard-caption { font-size:10px; padding:4px 0; }
 .landing-v4 .scene-motion { bottom:-12px; }
 .analytics-dialog { border-radius:15px; }
 .analytics-dialog-head { padding:15px; gap:10px; }
 .analytics-dialog-head h2 { font-size:18px; }
 .analytics-dialog-head p { font-size:11px; }
 .analytics-dialog-body { overflow:auto; }
 .analytics-dialog-body img { min-width:900px; }
 .audiences-heading .eyebrow { font-size:9px; }
 .audience-benefits article { display:flex; padding:25px; gap:0; }
 .audience-benefits h3 { font-size:28px; margin:17px 0; }
 .audience-benefits p { font-size:14px; }
 .audience-bottom { font-size:11px; margin-top:22px; padding-top:19px; }
 .shared-guest-pane { padding:25px 22px 30px; }
 .shared-guest-pane h3 { font-size:27px; line-height:1.17; }
 .guest-demo-form { max-width:100%; padding:16px; }
 .guest-question legend { font-size:12px; }
 .guest-form-identity p { font-size:12px; }
 .guest-demo-form textarea { font-size:16px; height:70px; min-height:70px; max-height:70px; line-height:20px; }
 .guest-form-footer { height:49px; }
 .style-controls { margin-top:20px; grid-template-columns:1.2fr 1fr; }
 .style-description { padding-top:15px; }
 .style-description p { font-size:14px; }
 .style-description strong { font-size:12px; }
 .device-photo-plane .tablet-ratings button { font-size:20px; }
 .request-stage { grid-template-columns:1fr; }
 .request-guest { width:calc(100% - 40px); max-width:none; margin:22px auto; padding:23px; }
 .request-guest h3 { font-size:29px; }
 .request-team { padding:6px 22px 28px; }
 .request-team h3 { font-size:29px; }
 .request-preview h4 { font-size:21px; }
 .request-buttons button { font-size:13px; }
 .request-preview>div:not(:first-child) { font-size:12px; }
 .request-category-tabs { margin-bottom:19px; }
 .integrations-grid { grid-template-columns:1fr; }
 .routing-stage { gap:22px; padding:28px 20px; }
 .max-phone { width:200px; border-radius:31px; }
 .max-chat-head strong { font-size:9px; }
 .max-message { font-size:10px; }
 .routing-path { max-width:140px; }
 .max-chat-head>img { width:24px; height:24px; }
 .integration-copy h3 { font-size:29px; }
 .system-visual { min-height:360px; }
 .system-targets>strong { font-size:22px!important; }
 .landing-v4 .contact-inner { gap:35px; }
 .landing-v4 .contact-copy h2 { font-size:38px; }
 .landing-v4 .contact-copy>p { font-size:14px; }
 .contact-process { display:block; margin-top:26px; }
 .contact-step { padding:21px 0; }
 .contact-step h3 { font-size:22px; }
 .contact-step p { font-size:13px; }
 .contact-step-featured { padding:24px; margin-top:20px; }
 .contact-principle { font-size:20px; }
 .landing-v4 .contact-card { padding:27px 24px; }
}
@media(max-width:360px) {
 .landing-v4 .hero-lead,.landing-v4 .hero-lead strong { font-size:13px; }
 .landing-v4 .scene-photo>p { font-size:16px; }
 .landing-v4 .device-phone { top:46%; }
 .shared-guest-pane { padding-inline:16px; }
 .guest-demo-form { padding:12px; }
 .guest-form-identity p span { font-size:9px; }
 .guest-form-identity>div { width:28px; height:28px; flex-basis:28px; }
 .guest-form-identity strong { font-size:11px; }
 .guest-form-footer>span { font-size:9px; line-height:13px; }
 .value-main h3 { font-size:33px; }
 .value-main { padding:24px; }
 .value-main-scene { margin-inline:-24px; }
 .max-phone { width:169px; }
 .max-message { font-size:9px; }
 .max-chat-head strong { font-size:8px; }
 .routing-stage { padding-inline:12px; gap:12px; }
 .routing-path { max-width:110px; }
 .landing-v4 .contact-copy h2 { font-size:33px; }
}
@media(prefers-reduced-motion:reduce) {
 .landing-v4 * { scroll-behavior:auto!important; }
}

/* Final alignment pass: the disclosure is below the hardware, never on its edge. */
.landing-v4 .hero-scene { margin-bottom:42px; }
.landing-v4 .scene-caption { bottom:-51px; }
.landing-v4 .scene-motion { bottom:-53px; }
.guest-question legend { float:none; display:block; }
.guest-question>p { clear:none; }
@media(min-width:1400px) {
 .shared-guest-pane h3 { font-size:31px; }
}
@media(max-width:600px) {
 .landing-v4 .hero-scene { margin-bottom:48px; }
 .landing-v4 .scene-caption { bottom:-54px; }
 .landing-v4 .scene-motion { bottom:-55px; }
}

@media(min-width:1200px) {
 .journey-stage[data-step="1"] .guest-demo-form { padding:14px; }
 .journey-stage[data-step="1"] .guest-form-identity { height:40px; padding-bottom:8px; margin-bottom:7px; }
 .journey-stage[data-step="1"] .guest-question legend { height:17px; line-height:17px; }
 .journey-stage[data-step="1"] .guest-question { margin-bottom:6px; }
 .journey-stage[data-step="1"] .guest-demo-form textarea { height:44px; min-height:44px; max-height:44px; }
 .journey-stage[data-step="1"] .guest-form-footer { height:40px; padding-top:7px; }
}

@media(min-width:1200px) and (max-width:1279px) {
 .landing-v4 .device-phone { right:-5px; }
}

/* Align the form with the heading in normal document flow. */
.landing-v4 .contact-card { position:relative; top:auto; }

/* Keep the motion control clear of the phone and dashboard caption. */
.landing-v4 .scene-motion { right:36%; z-index:6; }

/* v4.2: full-width 2:1 photographs. Navigation adapts to the viewport, not the photos. */
.landing-v4 .journey-shell,
.landing-v4 .journey-shell:fullscreen { width:100%; max-width:none; margin-inline:0; }
.landing-v4 .journey-stage { width:100%; margin-inline:0; }
.landing-v4 .journey-topbar { position:sticky; top:var(--journey-header-offset,87px); z-index:25; width:100%; margin-inline:0; background:rgba(255,255,255,.96); box-shadow:0 5px 18px #16274608; }
.landing-v4 .journey-tabs { padding:4px; }
.landing-v4 .journey-shell:fullscreen .journey-topbar { top:0; }
.landing-v4 .journey-bottom-slot { position:relative; min-height:70px; }
.landing-v4 .journey-bottom { width:100%; margin-inline:0; }
.landing-v4 .journey-bottom-inner { flex-wrap:nowrap; padding:10px max(24px,calc((100vw - 1280px)/2)); gap:20px; }
.landing-v4 .journey-navigation button { min-height:44px; }
.landing-v4 .journey-step-label { width:auto; order:0; white-space:nowrap; }
.landing-v4 .journey-bottom.is-docked { position:fixed; z-index:30; left:var(--journey-dock-left,24px); bottom:var(--journey-dock-bottom,14px); width:var(--journey-dock-width,580px); max-width:calc(100% - 24px); background:rgba(255,255,255,.97); border:1px solid #dce3f0; border-radius:16px; box-shadow:0 10px 38px #10254226; }
.landing-v4 .journey-bottom.is-docked .journey-progress { margin:0 16px; height:2px; }
.landing-v4 .journey-bottom.is-docked .journey-bottom-inner { padding:8px 14px; gap:16px; }
.landing-v4 .journey-bottom.is-docked .journey-play { color:#53647d; }
.landing-v4 .journey-bottom.is-docked .journey-step-label { font-size:11px; }
.landing-v4 .door-number-plane { position:absolute; top:0; left:0; transform-origin:0 0; pointer-events:none; z-index:2; }
.landing-v4 .door-number-plane svg { display:block; width:100%; height:100%; }
.landing-v4 .door-frame .door-person { z-index:1; }
.landing-v4 .door-frame .door-closed { z-index:3; }
@media(min-width:1200px) {
 .landing-v4 .journey-stage,
 .landing-v4 .journey-shell:fullscreen .journey-stage { aspect-ratio:2/1; min-height:0; max-height:none; }
}
@media(max-width:760px) {
 .landing-v4 .journey-topbar { top:var(--journey-header-offset,73px); padding:8px 12px; }
 .landing-v4 .journey-topbar .journey-tabs { gap:1px; }
 .landing-v4 .journey-tabs button { font-size:10px; padding:8px; gap:5px; min-height:40px; }
 .landing-v4 .journey-bottom-inner { padding:8px 16px; gap:10px; }
 .landing-v4 .journey-bottom.is-docked .journey-bottom-inner { padding:8px 10px; gap:9px; }
 .landing-v4 .journey-step-label { font-size:10px; }
 .landing-v4 .journey-play { margin-right:auto; }
 .landing-v4 .journey-play span { display:none; }
 .landing-v4 .journey-play { width:40px; padding:10px; }
 .landing-v4 .journey-play .icon { width:18px; height:18px; }
 .landing-v4 .journey-bottom.is-docked .journey-step-label { font-size:10px; }
 .landing-v4 .journey-navigation { gap:5px; }
 .landing-v4 .journey-navigation button { padding:8px 11px; gap:9px; }
 .landing-v4 .journey-topbar .journey-tabs button>span { display:none; }
 .landing-v4 .journey-fullscreen { width:36px; height:40px; }
}
@media(max-width:360px) {
 .landing-v4 .journey-bottom .journey-step-label { display:none; }
 .landing-v4 .journey-topbar { padding-inline:7px; gap:4px; }
 .landing-v4 .journey-tabs button { font-size:9px; padding-inline:6px; }
}

/* On wide screens the floating controls join the sticky tabs, not the photo.
   This also leaves the tablet survey and the left-hand device controls unobstructed. */
@media(min-width:1200px) {
 .landing-v4 .journey-bottom.is-docked.is-header-docked { top:var(--journey-dock-top); bottom:auto; border:0; border-radius:0; box-shadow:none; background:transparent; }
 .landing-v4 .journey-bottom.is-header-docked .journey-bottom-inner { padding:8px 0; gap:14px; }
 .landing-v4 .journey-bottom.is-header-docked .journey-step-label { display:none; }
 .landing-v4 .journey-bottom.is-header-docked .journey-play { margin-right:auto; }
 .landing-v4 .journey-bottom.is-header-docked .journey-progress { margin-inline:0; border-radius:2px; }
}
/* The v4.1 relative-position hero photo protruded by 2px at 320px. */
@media(max-width:360px) {
 .landing-v4 .hero-scene .scene-photo { left:0; }
}


/* v4.3 refinements */
.landing-v4 .footer-nav { display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; }
.landing-v4 .footer-nav a { font-size:15px; line-height:1.2; font-weight:500; }
.landing-v4 .footer-nav a .icon { width:14px; height:14px; }
.landing-v4 .phone-topline { margin:6px 0 0; font:500 11px/1.45 Arial,sans-serif; color:#6f7b91; }
.landing-v4 .review-phone-screen h2 { margin:10px 0 14px; }
.landing-v4 .phone-action-list { display:grid; gap:8px; }
.landing-v4 .phone-action-card { display:grid; grid-template-columns:32px minmax(0,1fr) 12px; gap:10px; align-items:center; padding:10px 11px; border:1px solid #dbe4f1; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(17,37,72,.05); }
.landing-v4 .phone-action-card.is-active { border-color:#4b68f0; background:linear-gradient(180deg,#eff3ff 0%,#f8faff 100%); box-shadow:0 12px 26px rgba(75,104,240,.16); }
.landing-v4 .phone-action-icon { width:32px; height:32px; border-radius:11px; background:#f1f5fb; display:grid; place-items:center; color:#3855d7; }
.landing-v4 .phone-action-card.is-active .phone-action-icon { background:#4b68f0; color:#fff; }
.landing-v4 .phone-action-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.landing-v4 .phone-action-copy strong { font:600 12px/1.25 Arial,sans-serif; color:#15233f; }
.landing-v4 .phone-action-copy span { font:11px/1.35 Arial,sans-serif; color:#6e7a8f; }
.landing-v4 .phone-action-arrow { width:12px; height:12px; color:#93a0b6; }
.landing-v4 .phone-action-card.is-active .phone-action-arrow { color:#4b68f0; }
.landing-v4 .phone-powered { margin-top:12px; }
.landing-v4 .guest-rating { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; }
.landing-v4 .guest-rating label span.star-mark { display:grid; place-items:center; height:34px; min-height:34px; font-size:20px; line-height:1; }
.landing-v4 .tablet-ratings button, .landing-v4 .device-mobile-rating [data-device-rate] { font-size:23px; line-height:1; }
.landing-v4 .contact-direct-box { display:grid; grid-template-columns:minmax(0,max-content) minmax(290px,360px); gap:18px; align-items:start; margin-top:22px; }
.landing-v4 .callback-mini { padding:18px; border:1px solid #dce4f2; border-radius:18px; background:#f8fafc; box-shadow:0 18px 34px rgba(16,37,66,.06); }
.landing-v4 .callback-mini-title { font-size:15px; font-weight:700; color:#17233b; margin-bottom:12px; }
.landing-v4 .callback-mini-fields { display:grid; gap:10px; }
.landing-v4 .callback-mini-fields input { width:100%; min-height:46px; padding:0 14px; border:1px solid #d3ddeb; border-radius:14px; background:#fff; color:#17233b; }
.landing-v4 .callback-mini-button { width:100%; justify-content:center; margin-top:12px; }
.landing-v4 .callback-mini small { display:block; margin-top:10px; font-size:11px; line-height:1.5; color:#6e7a8f; }
.landing-v4 .callback-mini-status { display:block; min-height:19px; margin-top:10px; font-size:12px; line-height:1.45; color:#4660db; }
.landing-v4 .callback-mini-status[data-state="error"] { color:#c04d43; }
.landing-v4 .callback-mini-status[data-state="success"] { color:#2d7d53; }
.landing-v4 .callback-mini-status[data-state="pending"] { color:#4660db; }
@media (max-width: 1099px) {
  .landing-v4 .contact-direct-box { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .landing-v4 .phone-action-card { grid-template-columns:28px minmax(0,1fr) 10px; gap:8px; padding:9px 10px; border-radius:14px; }
  .landing-v4 .phone-action-icon { width:28px; height:28px; border-radius:10px; }
  .landing-v4 .phone-action-copy strong { font-size:11px; }
  .landing-v4 .phone-action-copy span { font-size:10px; }
}


/* v4.4: compact hero phone + callback modal */
.landing-v4 .device-phone { overflow:hidden; aspect-ratio:.47; }
.landing-v4 .review-phone-top { flex-shrink:0; }
.landing-v4 .review-phone-screen { min-height:0; overflow:hidden; padding:5.5cqw 5.7cqw 5cqw; }
.landing-v4 .phone-topline { margin:2.6cqw 0 0; font-size:3.25cqw; line-height:1.25; white-space:nowrap; }
.landing-v4 .review-phone-screen h2 { margin:3.6cqw 0 4.6cqw; font-size:8.9cqw; line-height:1.04; }
.landing-v4 .phone-action-list { gap:2.7cqw; }
.landing-v4 .phone-action-card { grid-template-columns:10.5cqw minmax(0,1fr) 4cqw; gap:3cqw; min-height:18.4cqw; padding:3.1cqw 3.5cqw; border-radius:5.2cqw; box-shadow:0 2.6cqw 7cqw rgba(17,37,72,.045); }
.landing-v4 .phone-action-card.is-active { box-shadow:0 3cqw 8cqw rgba(75,104,240,.14); }
.landing-v4 .phone-action-icon { width:10.5cqw; height:10.5cqw; border-radius:3.5cqw; }
.landing-v4 .phone-action-icon .icon { width:5.3cqw; height:5.3cqw; }
.landing-v4 .phone-action-copy { gap:1cqw; }
.landing-v4 .phone-action-copy strong { font:600 3.55cqw/1.18 Arial,sans-serif; letter-spacing:-.01em; }
.landing-v4 .phone-action-copy span { font:3cqw/1.22 Arial,sans-serif; }
.landing-v4 .phone-action-arrow { width:3.8cqw; height:3.8cqw; }
.landing-v4 .phone-powered { margin-top:3.1cqw; font-size:2.6cqw; line-height:1.25; white-space:nowrap; }
.landing-v4 .review-phone-home { z-index:3; }
.landing-v4 .contact-direct-box { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:24px; }
.landing-v4 .contact-direct-email { display:flex; flex-direction:column; align-items:flex-start; }
.landing-v4 .callback-open { display:flex; align-items:center; gap:12px; min-height:58px; padding:9px 14px 9px 10px; border:1px solid #ffffff2b; border-radius:16px; background:#ffffff0b; color:#fff; text-align:left; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.landing-v4 .callback-open:hover { background:#ffffff13; border-color:#ffffff42; transform:translateY(-1px); }
.landing-v4 .callback-open-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:12px; background:#4b68f0; color:#fff; }
.landing-v4 .callback-open-icon .icon { width:18px; height:18px; }
.landing-v4 .callback-open>span:nth-child(2) { display:flex; flex-direction:column; gap:3px; min-width:0; }
.landing-v4 .callback-open strong { font-size:13px; line-height:1.2; font-weight:650; }
.landing-v4 .callback-open small { font-size:10px; line-height:1.35; color:#aebbd2; }
.landing-v4 .callback-open-arrow { width:15px; height:15px; margin-left:4px; }
.callback-dialog { border:0; padding:0; width:min(460px,calc(100vw - 28px)); max-width:none; border-radius:26px; background:transparent; color:#17233b; overflow:visible; margin:auto; }
.callback-dialog::backdrop { background:rgba(10,21,44,.72); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); }
.callback-dialog-card { position:relative; padding:34px; border:1px solid #dce4f2; border-radius:26px; background:#fff; box-shadow:0 32px 100px rgba(5,18,44,.35); }
.callback-dialog-close { position:absolute; top:16px; right:16px; width:40px; height:40px; display:grid; place-items:center; padding:0; border:1px solid #e0e6ef; border-radius:12px; background:#f6f8fb; color:#34425a; }
.callback-dialog-close .icon { width:16px; height:16px; }
.callback-dialog-icon { width:46px; height:46px; display:grid; place-items:center; margin-bottom:19px; border-radius:15px; background:#eef2ff; color:#4b68f0; }
.callback-dialog-icon .icon { width:21px; height:21px; }
.callback-dialog .eyebrow { margin-bottom:10px; color:#6d7c96; }
.callback-dialog h2 { max-width:320px; font-size:31px; line-height:1.08; letter-spacing:-.035em; }
.callback-dialog-card>p { margin:15px 0 24px; font-size:14px; line-height:1.65; color:#687892; }
.callback-form { display:grid; gap:14px; }
.callback-form-field { display:grid; gap:7px; }
.callback-form-field label { font-size:11px; font-weight:600; color:#4d5d76; }
.callback-form-field input { width:100%; min-height:50px; padding:0 15px; border:1px solid #d5deeb; border-radius:15px; background:#fbfcfe; color:#17233b; font-size:14px; outline:0; }
.callback-form-field input:focus { border-color:#6b80f3; box-shadow:0 0 0 3px rgba(75,104,240,.1); background:#fff; }
.callback-form-status { display:block; min-height:18px; font-size:12px; line-height:1.45; color:#536bd9; }
.callback-form-status[data-state=error] { color:#b84740; }
.callback-form-status[data-state=success] { color:#287652; }
.callback-form-submit { width:100%; justify-content:center; min-height:52px; margin-top:1px; }
.callback-form-legal { margin:0!important; font-size:10px!important; line-height:1.55!important; color:#8794a8!important; }
.callback-form-legal a { color:#6577a0; text-decoration:underline; text-underline-offset:2px; }
.callback-dialog-card.is-success > :not(.callback-dialog-close):not(.callback-success) { display:none; }
.callback-success { min-height:300px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; outline:0; }
.callback-success[hidden] { display:none; }
.callback-success-mark { width:58px; height:58px; display:grid; place-items:center; margin-bottom:24px; border-radius:18px; background:#e3f6ec; color:#338c60; }
.callback-success-mark .icon { width:27px; height:27px; stroke-width:2.2; }
.callback-success .eyebrow { margin-bottom:12px; color:#338c60; }
.callback-success h2 { margin:0; font-size:31px; line-height:1.08; letter-spacing:-.035em; }
.callback-success p { margin:15px 0 0; max-width:340px; font-size:14px; line-height:1.65; color:#687892; }
.callback-dialog-open { overflow:hidden; }
@media(max-width:1099px){
 .landing-v4 .contact-direct-box { align-items:flex-start; }
 .landing-v4 .callback-open { width:min(100%,360px); }
}
@media(max-width:640px){
 .callback-dialog-card { padding:28px 20px 22px; border-radius:22px; }
 .callback-dialog h2 { font-size:27px; }
 .landing-v4 .callback-open { width:100%; }
}



/* Annotated hero, 2026-09-30. One background, one layout and ONE control row.
   The image layer alone is darkened; screens/text keep their own opacity. */
.landing-v4 {
  --hero-content-width: 1560px;
  --hero-gutter: 48px;
  --hero-header-height: 87px;
  --section-overline-size: 12px;
}
.landing-v4 .site-header {
  background: rgba(255,255,255,.85);
  -webkit-backdrop-filter: blur(32px);
  backdrop-filter: blur(32px);
  border-bottom-color: rgba(255,255,255,.35);
}
.landing-v4 .site-header .header-inner {
  width: calc(100% - var(--hero-gutter) * 2);
  max-width: var(--hero-content-width);
}
.landing-v4 .hero.hero-panorama {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 0;
  isolation: isolate;
  color: #fff;
  background: #24302e;
}
.hero-panorama .hero-background {
  position: absolute;
  inset: calc(-1 * var(--hero-header-height)) 0 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
  border-radius: 0;
}
.hero-panorama .hero-background img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  filter: none;
  transform: none;
  border-radius: 0;
}
.hero-panorama .hero-background::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #000000;
  opacity: .2;
  pointer-events: none;
}
.landing-v4 .hero-panorama .hero-layout {
  width: calc(100% - var(--hero-gutter) * 2);
  max-width: var(--hero-content-width);
  min-height: clamp(640px, 42vw, 860px);
  margin: 0 auto;
  padding: 32px 0 44px;
  display: grid;
  grid-template-columns: minmax(0,.38fr) minmax(0,.62fr);
  align-items: center;
  gap: 44px;
}
.landing-v4 .hero-panorama .hero-copy {
  position: relative;
  max-width: none;
  padding: 0;
  margin-top: 24px;
  min-width: 0;
  z-index: 2;
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.landing-v4 .hero-panorama .hero-copy h1 {
  margin-top: 0;
  color: #fff;
}
.landing-v4 .hero-panorama .hero-lead,
.landing-v4 .hero-panorama .hero-lead strong {
  color: #fff;
}
.landing-v4 .hero-panorama .hero-buttons .text-button { color: #fff; }
.landing-v4 .hero-panorama .hero-trust>span,
.landing-v4 .hero-panorama .hero-trust .icon { color: rgba(255,255,255,.9); }
.landing-v4 .hero-panorama .hero-sectors {
  max-width: 590px;
  margin-top: 18px;
  color: rgba(255,255,255,.65);
  font-size: 14px;
  line-height: 1.7;
}
.landing-v4 .hero-panorama .hero-sectors strong { color: inherit; font-weight:600; }
.landing-v4 .hero-panorama .hero-scene {
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
  margin: 0;
  overflow: visible;
  isolation: isolate;
}
.hero-panorama .hero-scene-message {
  padding: 0;
  margin: 0 4% 18px auto;
  width: fit-content;
  max-width: 94%;
  font-size: clamp(20px,1.55vw,30px);
  line-height: 1.23;
  letter-spacing: -.025em;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}
.hero-panorama .hero-scene-message strong { display: block; color:#fff; font-weight:600; }
.hero-panorama .hero-hardware {
  width: 100%;
  aspect-ratio: 1.57;
  position: relative;
  isolation: isolate;
}
.landing-v4 .hero-panorama .device-laptop {
  width: 94%;
  left: max(2%,16px);
  top: 2%;
  bottom: auto;
  transform: none;
  will-change: auto;
}
.landing-v4 .hero-panorama .laptop-lid,
.landing-v4 .hero-panorama .laptop-screen,
.landing-v4 .hero-panorama .dashboard-open,
.landing-v4 .hero-panorama .dashboard-open img,
.landing-v4 .hero-panorama .hero-dashboard-vector {
  transform: none;
  filter: none;
  backface-visibility: visible;
  will-change: auto;
}
.landing-v4 .hero-panorama .laptop-lid { box-shadow:0 18px 40px rgba(0,0,0,.22); }
.landing-v4 .hero-panorama .laptop-screen { aspect-ratio:1600/980; }
.landing-v4 .hero-panorama .dashboard-open { height:100%; background:#f2f5fb; }
.landing-v4 .hero-panorama .dashboard-open img,
.landing-v4 .hero-panorama .hero-dashboard-vector {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  image-rendering: auto;
}
.landing-v4 .hero-panorama .laptop-base { margin-inline:-16px; }
/* Keep layout geometry fixed. Only the inner SVG translation is animated;
   the separate vector tilt never resets at a loop boundary. */
.landing-v4 .hero-panorama .device-phone {
  top: 3%;
  right: 4.5%;
  bottom: auto;
  left: auto;
  width: 27%;
  aspect-ratio: 450 / 957.4468;
  display: block;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: none;
  box-shadow: none;
  transform: none;
  animation: none;
  will-change: auto;
  contain: none;
  container-type: normal;
  isolation: auto;
  backface-visibility: visible;
}
/* Motion uses SVG animateTransform, not CSS layer animation. The vector is
   painted at the current screen resolution instead of moving a cached bitmap.
   initHeroPhoneMotion handles pause, reduced motion and off-screen visibility. */
.hero-panorama .phone-vector-float {
  will-change: auto;
}
.hero-panorama .hero-phone-vector {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  transform: none;
  filter: none;
  will-change: auto;
  backface-visibility: visible;
  text-rendering: auto;
  shape-rendering: auto;
}
.hero-panorama .phone-vector-interface,
.hero-panorama .phone-vector-interface * {
  filter: none;
  backface-visibility: visible;
}
.hero-panorama .hero-scene-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 16px 2% 0;
  position: relative;
}
.landing-v4 .hero-panorama .scene-caption {
  position: static;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 6px 14px;
  margin: 0;
  padding: 0;
  max-width: calc(100% - 52px);
}
/* Preserve the existing caption font sizes (13/11 desktop, 10/8 phone). */
.landing-v4 .hero-panorama .dashboard-caption {
  color:#fff;
  font-size:13px;
  padding:7px 0;
  text-shadow:0 1px 5px rgba(0,0,0,.3);
}
.landing-v4 .hero-panorama .scene-caption>span {
  color:rgba(255,255,255,.6);
  font-size:11px;
}
.landing-v4 .hero-panorama .scene-motion {
  position: static;
  margin: 0;
  flex: 0 0 34px;
  color:#fff;
  border-color:rgba(255,255,255,.4);
  background:rgba(255,255,255,.10);
}
/* Keep the typography updates from the user's latest version. */
.landing-v4 .eyebrow,
.landing-v4 .audiences-heading .eyebrow,
.landing-v4 .value-heading .eyebrow,
.landing-v4 .role-story-heading .eyebrow,
.landing-v4 .contact-copy .eyebrow,
.landing-v4 .analytics-copy .eyebrow,
.landing-v4 .callback-dialog .eyebrow,
.landing-v4 .integration-label,
.landing-v4 .contact-step>span {
  font-size:var(--section-overline-size);
  letter-spacing:.14em;
  line-height:1.5;
}
@media(max-width:1280px) {
  .landing-v4 { --hero-gutter:32px; }
  .landing-v4 .hero-panorama .hero-layout { gap:30px; }
}
@media(max-width:1080px) {
  .landing-v4 .hero-panorama .hero-layout {
    grid-template-columns:1fr;
    min-height:0;
    gap:40px;
    padding:42px 0;
  }
  .landing-v4 .hero-panorama .hero-copy { max-width:720px; margin-top:0; }
  .landing-v4 .hero-panorama .hero-scene { max-width:900px; margin:0 auto; }
  .landing-v4 .hero-panorama .hero-background img { object-position:60% 50%; }
  .hero-panorama .hero-scene-message { font-size:24px; }
}
@media(max-width:760px) {
  .landing-v4 { --hero-gutter:20px; --hero-header-height:73px; --section-overline-size:10px; }
  .landing-v4 .hero-panorama .hero-layout { padding:34px 0 30px; gap:32px; }
  .landing-v4 .hero-panorama .hero-sectors { font-size:12px; }
  .landing-v4 .hero-panorama .hero-copy { text-shadow:0 2px 6px rgba(0,0,0,.5); }
  .landing-v4 .hero-panorama .hero-hardware { aspect-ratio:1.36; }
  .landing-v4 .hero-panorama .device-laptop { width:88%; left:max(2%,8px); top:auto; bottom:3%; }
  .landing-v4 .hero-panorama .laptop-base { margin-inline:-8px; }
  .landing-v4 .hero-panorama .device-phone { width:30%; top:3%; right:4.5%; padding:0; border-radius:0; }
  .landing-v4 .hero-panorama .review-phone-screen { border-radius:0 0 17px 17px; }
  .landing-v4 .hero-panorama .hero-scene-message { font-size:20px; }
  .landing-v4 .hero-panorama .scene-caption { gap:2px 10px; }
  .landing-v4 .integration-label,
  .landing-v4 .contact-step>span,
  .landing-v4 .eyebrow { letter-spacing:.12em; }
}
@media(max-width:600px) {
  .landing-v4 .hero-panorama .dashboard-caption { font-size:10px; padding:4px 0; }
  .landing-v4 .hero-panorama .scene-caption>span { font-size:8px; }
  .hero-panorama .hero-scene-footer { gap:10px; margin-top:10px; }
}


/* September 30, second markup: targeted visual refinements. */
.landing-v4 .site-header .login-link {
  color:#4b68f0;
  background:#ffffff;
  border-color:#ffffff;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.landing-v4 .site-header .login-link:hover,
.landing-v4 .site-header .login-link:focus-visible {
  color:#ffffff;
  background:#4b68f0;
  border-color:#4b68f0;
}
.landing-v4 .hero-panorama .hero-copy h1,
.landing-v4 .hero-panorama .hero-copy h1 .blue-text { color:#ffffff; }
/* Blur only the backdrop below the copy, never the text or the devices.
   A 50%-to-0% alpha mask fades to the right without a hard panel boundary. */
.hero-panorama .hero-background::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:48%;
  pointer-events:none;
  -webkit-backdrop-filter:blur(22px);
  backdrop-filter:blur(22px);
  -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.5) 0%,rgba(0,0,0,.5) 15%,transparent 100%);
  mask-image:linear-gradient(to right,rgba(0,0,0,.5) 0%,rgba(0,0,0,.5) 15%,transparent 100%);
}
.landing-v4 .hero-panorama .scene-motion {
  flex:0 0 44px;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  aspect-ratio:1;
  border-radius:50%;
  border:1.5px solid rgba(255,255,255,.8);
  color:#fff;
  background:rgba(255,255,255,.22);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  box-shadow:0 5px 16px rgba(0,0,0,.14);
  transition:background .2s ease,border-color .2s ease;
}
.landing-v4 .hero-panorama .scene-motion:hover { background:rgba(255,255,255,.36); }
.landing-v4 .hero-panorama .scene-motion .icon { width:23px; height:23px; stroke-width:2.4; }
.landing-v4 .hero-panorama .scene-motion .motion-play { display:none; }
.landing-v4 .hero-panorama .scene-motion[aria-pressed="true"] { color:#4b68f0; background:#fff; border-color:#fff; }
.landing-v4 .hero-panorama .scene-motion[aria-pressed="true"] .motion-pause { display:none; }
.landing-v4 .hero-panorama .scene-motion[aria-pressed="true"] .motion-play { display:block; }

/* The dashboard opens directly; dismiss control is outside the image/scrollbar. */
.landing-v4 .analytics-dialog {
  width:min(1420px,calc(100vw - 48px));
  max-width:none;
  max-height:calc(100dvh - 112px);
  padding:0;
  margin:auto;
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
}
.landing-v4 .analytics-dialog-body {
  max-height:calc(100dvh - 112px);
  overflow:auto;
  overscroll-behavior:contain;
  background:#f2f5fb;
  border:1px solid #e2e8f4;
  border-radius:20px;
  box-shadow:0 30px 95px rgba(0,0,0,.25);
}
.landing-v4 .analytics-dialog-close {
  position:absolute;
  top:-48px;
  right:0;
  z-index:2;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  border:1px solid #e2e8f4;
  border-radius:50%;
  color:#17233b;
  background:#ffffff;
  box-shadow:0 5px 16px rgba(0,0,0,.16);
}
.landing-v4 .analytics-dialog-close .icon { width:20px; height:20px; stroke-width:2; }
.landing-v4 .analytics-dialog-close:hover,
.landing-v4 .analytics-dialog-close:focus-visible { background:#4b68f0; color:#fff; border-color:#4b68f0; }

.landing-v4 .value-kicker {
  font-size:var(--section-overline-size);
  line-height:1.5;
  letter-spacing:.14em;
}
.landing-v4 .integrations-section { --integration-tag-size:12px; }
.landing-v4 .system-connection .system-targets>span {
  font-size:var(--integration-tag-size);
  max-width:none;
  line-height:1.4;
}
.landing-v4 .channel-chips>span,
.landing-v4 .system-tags>span {
  display:inline-flex;
  align-items:center;
  gap:.5em;
  font-size:var(--integration-tag-size);
  line-height:1.4;
  padding:.7em .95em;
  border-radius:.65em;
}
.landing-v4 .channel-chips .icon { width:1.2em; height:1.2em; }
.landing-v4 .channel-chips,
.landing-v4 .system-tags { gap:8px; flex-wrap:wrap; }

/* Center the trigger against the WHOLE email + note, with no inherited margins. */
.landing-v4 .contact-direct-box {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:20px 22px;
}
.landing-v4 .contact-direct-box .contact-direct-email {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:0;
}
.landing-v4 .contact-direct-box .contact-email,
.landing-v4 .contact-direct-box .contact-email-note { margin:0; }
.landing-v4 .contact-direct-box .callback-open {
  align-self:center;
  margin:0;
  max-width:100%;
}
@media(max-width:1080px) {
  .hero-panorama .hero-background::before { width:100%; }
}
@media(max-width:760px) {
  .landing-v4 .value-kicker { letter-spacing:.12em; }
}
@media(max-width:600px) {
  .landing-v4 .analytics-dialog { width:calc(100vw - 28px); }
  .landing-v4 .analytics-dialog-body { border-radius:14px; }
}
