:root {
  --paper: #f7f4ee;
  --paper-deep: #eee8de;
  --cream: #fffdf8;
  --ink: #1e2923;
  --muted: #657067;
  --line: #d9d4ca;
  --forest: #214b3c;
  --forest-dark: #17362c;
  --sage: #dbe6dc;
  --sage-light: #edf2ec;
  --clay: #bd6b46;
  --clay-light: #ead3c6;
  --gold: #c7a568;
  --brand-purple: #8855FF;
  --shadow: 0 24px 80px rgba(31, 45, 37, .13);
  --radius-sm: 14px;
  --radius: 24px;
  --radius-lg: 36px;
  --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: var(--clay-light); color: var(--ink); }

.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.section { padding: 128px 0; }
.section-pad { padding: 78px 0 92px; }
.section-light { background: var(--cream); }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 1000; padding: 12px 18px; border-radius: 10px; background: var(--ink); color: white; transition: top .2s; }
.skip-link:focus { top: 12px; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(247, 244, 238, .88); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(33, 75, 60, .08); }
.nav-wrap { height: 76px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 760; letter-spacing: -.04em; font-size: 23px; width: fit-content; }
.brand img { width: 29px; height: 29px; object-fit: contain; }
.main-nav { display: flex; align-items: center; gap: 28px; color: #465148; font-size: 14px; font-weight: 600; }
.main-nav a, .text-link { transition: color .2s; }
.main-nav a:hover, .text-link:hover { color: var(--clay); }
.nav-actions { display: flex; justify-content: flex-end; align-items: center; gap: 22px; font-size: 14px; font-weight: 650; }
.menu-toggle { display: none; border: 0; background: transparent; width: 42px; height: 42px; padding: 10px; }
.menu-toggle span { display: block; height: 1.5px; background: var(--ink); margin: 7px 0; transition: transform .2s; }

.button { min-height: 52px; padding: 0 23px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; font-weight: 720; font-size: 14px; letter-spacing: -.01em; border: 1px solid transparent; transition: transform .2s, box-shadow .2s, background .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--brand-purple); color: white; box-shadow: 0 12px 30px rgba(136,85,255,.25); }
.button-primary:hover { background: #7442eb; box-shadow: 0 16px 34px rgba(136,85,255,.32); }
.button-secondary { background: transparent; color: var(--ink); border-color: #bbb8af; }
.button-secondary:hover { background: white; border-color: var(--ink); }
.button-dark { background: var(--forest-dark); color: white; }
.button-dark:hover { background: var(--forest); box-shadow: 0 12px 30px rgba(23,54,44,.22); }
.button-cream { background: var(--cream); color: var(--forest-dark); }
.button-outline-light { border-color: rgba(255,255,255,.5); color: white; }
.button-outline-light:hover { background: white; color: var(--forest); }
.button-small { min-height: 42px; padding-inline: 18px; font-size: 13px; }
.button-full { width: 100%; }

.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; text-transform: uppercase; letter-spacing: .14em; font-size: 11px; font-weight: 780; color: var(--forest); }
.eyebrow span { width: 27px; height: 1px; background: currentColor; }
.eyebrow-light { color: #dcebe1; }
.kicker { margin: 0 0 12px; color: var(--clay); text-transform: uppercase; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2 { letter-spacing: -.055em; line-height: .99; font-weight: 620; }
h1 { font-size: clamp(54px, 6.2vw, 92px); max-width: 820px; margin-bottom: 28px; }
h1 em, h2 em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
h2 { font-size: clamp(44px, 5vw, 72px); margin-bottom: 24px; }
h3 { letter-spacing: -.035em; line-height: 1.08; }

.hero { overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 72px; min-height: 660px; }
.hero-lede { max-width: 650px; font-size: 19px; line-height: 1.65; color: var(--muted); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 34px 0 29px; }
.hero-points { display: flex; flex-wrap: wrap; gap: 11px 25px; padding: 0; margin: 0; list-style: none; color: #556158; font-size: 13px; font-weight: 600; }
.check { display: inline-grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: var(--sage); color: var(--forest); margin-right: 6px; font-size: 11px; }
.hero-image-wrap { position: relative; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); min-height: 610px; }
.hero-image-wrap > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-image-wrap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(12,25,20,.23)); pointer-events: none; }
.floating-card { position: absolute; z-index: 2; display: flex; align-items: center; gap: 11px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.55); border-radius: 15px; background: rgba(255,253,248,.92); box-shadow: 0 13px 32px rgba(19,33,26,.16); backdrop-filter: blur(12px); }
.floating-card strong { display: block; font-size: 13px; }
.floating-card small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.floating-card-top { top: 22px; right: 22px; }
.floating-card-bottom { bottom: 22px; left: 22px; }
.pulse-dot { width: 10px; height: 10px; border-radius: 50%; background: #42a677; box-shadow: 0 0 0 5px rgba(66,166,119,.16); }
.mini-icon { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--forest); color: white; font-size: 9px; font-weight: 800; }

.trust-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.22); padding: 28px 0; }
.trust-inner { text-align: center; }
.trust-inner > p { margin-bottom: 18px; font-size: 11px; text-transform: uppercase; letter-spacing: .13em; color: var(--muted); font-weight: 700; }
.trust-names { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 17px; color: #7a817b; font-size: 13px; font-weight: 760; letter-spacing: .1em; }
.trust-names i { width: 4px; height: 4px; border-radius: 50%; background: #bab8b1; }

.section-heading { margin-bottom: 64px; }
.section-heading.centered { text-align: center; max-width: 820px; margin-left: auto; margin-right: auto; }
.section-heading.centered .eyebrow { justify-content: center; }
.section-heading > p:last-child { color: var(--muted); max-width: 610px; font-size: 17px; line-height: 1.65; margin: 0 auto; }
.split-heading { display: grid; grid-template-columns: 1.2fr .7fr; align-items: end; gap: 70px; }
.split-heading h2 { margin: 0; max-width: 720px; }
.split-heading > p { color: var(--muted); line-height: 1.7; font-size: 17px; margin: 0 0 8px; }

.two-part-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.product-panel { position: relative; min-height: 720px; border-radius: var(--radius-lg); overflow: hidden; padding: 46px; }
.hardware-panel { background: var(--forest-dark); color: white; }
.software-panel { background: var(--paper-deep); color: var(--ink); }
.panel-number { position: absolute; top: 42px; right: 44px; font-family: Georgia, serif; font-style: italic; font-size: 15px; opacity: .55; }
.panel-copy { position: relative; z-index: 2; max-width: 460px; }
.panel-copy h3 { font-size: 36px; margin: 0 0 20px; }
.panel-copy > p:not(.kicker) { color: #c7d2cc; line-height: 1.65; }
.software-panel .panel-copy > p:not(.kicker) { color: var(--muted); }
.clean-list { list-style: none; padding: 0; margin: 25px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; font-size: 13px; }
.clean-list li::before { content: "—"; margin-right: 8px; color: var(--clay); }
.hardware-object { position: absolute; z-index: 1; left: 20%; right: 20%; bottom: -20%; height: 58%; display: grid; place-items: center; }
.hardware-object img { height: 100%; width: auto; object-fit: contain; position: relative; z-index: 1; filter: drop-shadow(0 30px 34px rgba(0,0,0,.38)); }
.object-glow { position: absolute; width: 80%; aspect-ratio: 1; border-radius: 50%; background: rgba(189,107,70,.32); filter: blur(50px); }
.phone-object { position: absolute; z-index: 1; width: 64%; left: 18%; bottom: -28%; transform: rotate(-2deg); filter: drop-shadow(0 34px 38px rgba(45,40,32,.2)); }

.editorial-section { background: var(--paper); }
.editorial-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.editorial-image { position: relative; }
.editorial-image img { width: 100%; height: 750px; object-fit: cover; border-radius: var(--radius-lg); }
.image-caption { position: absolute; bottom: 20px; left: 20px; right: 20px; padding: 15px 18px; border-radius: 14px; background: rgba(255,253,248,.89); backdrop-filter: blur(8px); color: var(--muted); font-size: 12px; }
.editorial-copy h2 { max-width: 760px; }
.large-copy { font-family: Georgia, serif; color: #56625a; font-size: 22px; line-height: 1.55; }
.benefit-list { margin-top: 45px; border-top: 1px solid var(--line); }
.benefit-list > div { display: grid; grid-template-columns: 50px 1fr; gap: 16px; padding: 23px 0; border-bottom: 1px solid var(--line); }
.benefit-list > div > strong { font-family: Georgia, serif; font-style: italic; color: var(--clay); font-weight: 400; }
.benefit-list span { display: flex; flex-direction: column; gap: 7px; }
.benefit-list b { font-size: 16px; }
.benefit-list small { color: var(--muted); line-height: 1.55; font-size: 13px; }

.demo-section { position: relative; overflow: hidden; background: var(--forest-dark); color: white; }
.demo-section::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 35%, rgba(93,145,119,.35), transparent 31%), radial-gradient(circle at 8% 90%, rgba(189,107,70,.16), transparent 25%); }
.demo-grid { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: center; }
.demo-copy h2 { max-width: 620px; }
.demo-copy > p:not(.eyebrow) { max-width: 580px; color: #bdcbc3; font-size: 17px; line-height: 1.7; }
.demo-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 32px; margin: 42px 0; }
.demo-feature-grid > div { display: grid; grid-template-columns: 32px 1fr; gap: 12px; }
.demo-feature-grid span { color: #e2b797; font-family: Georgia, serif; font-style: italic; }
.demo-feature-grid p { display: flex; flex-direction: column; margin: 0; color: #aebdb4; font-size: 12px; line-height: 1.45; }
.demo-feature-grid strong { color: white; font-size: 14px; margin-bottom: 5px; }
.interactive-demo { display: flex; flex-direction: column; align-items: center; }
.phone-shell { width: min(390px, 90vw); padding: 11px; border-radius: 52px; background: #0e1210; box-shadow: 0 45px 90px rgba(0,0,0,.45), inset 0 0 0 2px #303733; position: relative; }
.phone-speaker { position: absolute; z-index: 5; width: 105px; height: 28px; border-radius: 20px; background: #080a09; top: 19px; left: 50%; transform: translateX(-50%); }
.demo-screen { position: relative; overflow: hidden; border-radius: 42px; background: #ebe7de; height: 735px; color: var(--ink); }
.demo-hero { height: 290px; position: relative; overflow: hidden; }
.demo-hero img { width: 100%; height: 100%; object-fit: cover; }
.demo-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(14,24,20,.65)); }
.demo-property-copy { position: absolute; left: 26px; right: 25px; bottom: 22px; color: white; }
.demo-property-copy small { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .13em; margin-bottom: 7px; }
.demo-property-copy h3 { font-family: Georgia, serif; font-weight: 400; font-size: 32px; margin: 0 0 5px; }
.demo-property-copy p { font-size: 13px; margin: 0; opacity: .88; }
.demo-body { padding: 14px; display: grid; gap: 9px; }
.demo-block { width: 100%; min-height: 72px; border: 0; border-radius: 18px; background: rgba(255,253,248,.9); display: grid; grid-template-columns: 44px 1fr 14px; align-items: center; gap: 10px; padding: 10px 15px; text-align: left; color: var(--ink); cursor: pointer; box-shadow: 0 4px 13px rgba(72,62,45,.06); transition: transform .18s, background .18s; }
.demo-block:hover { transform: translateY(-2px); background: white; }
.demo-block-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #ece5da; font-size: 19px; }
.demo-block > span:nth-child(2) { font-family: Georgia, serif; font-size: 17px; }
.demo-block small { display: block; margin-top: 4px; font-family: Inter, sans-serif; color: #818078; font-size: 9px; }
.demo-block b { font-size: 25px; font-weight: 300; color: #817c72; }
.demo-social { padding-top: 6px; text-align: center; color: #817c72; font-size: 10px; }
.demo-social div { display: flex; justify-content: center; gap: 12px; margin-top: 8px; }
.demo-social i { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #cfc9bf; border-radius: 50%; font-style: normal; }
.demo-sheet { position: absolute; z-index: 10; left: 0; right: 0; bottom: 0; min-height: 440px; padding: 31px 25px; border-radius: 30px 30px 0 0; background: #fffdf8; transform: translateY(105%); transition: transform .35s cubic-bezier(.2,.8,.2,1); box-shadow: 0 -20px 70px rgba(23,42,33,.25); }
.demo-sheet.open { transform: translateY(0); }
.sheet-close { position: absolute; top: 16px; right: 18px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--paper-deep); color: var(--ink); font-size: 20px; cursor: pointer; }
.sheet-icon { width: 55px; height: 55px; border-radius: 18px; background: var(--sage); color: var(--forest); display: grid; place-items: center; font-size: 25px; margin-bottom: 23px; }
.sheet-label { font-size: 9px; letter-spacing: .13em; font-weight: 800; color: var(--clay); margin-bottom: 8px; }
.demo-sheet h4 { font-family: Georgia, serif; font-size: 31px; font-weight: 400; margin: 0 0 10px; }
.demo-sheet > p:not(.sheet-label) { color: var(--muted); font-size: 13px; line-height: 1.5; }
.sheet-content { margin-top: 25px; }
.wifi-card { padding: 19px; border-radius: 16px; background: var(--paper); display: flex; justify-content: space-between; align-items: center; }
.wifi-card span { display: flex; flex-direction: column; gap: 5px; }
.wifi-card small { color: var(--muted); }
.wifi-card button { border: 0; border-radius: 999px; padding: 10px 14px; background: var(--forest); color: white; }
.ai-chat { display: grid; gap: 10px; }
.ai-chat div { max-width: 88%; padding: 13px 15px; border-radius: 15px 15px 4px 15px; background: var(--forest); color: white; justify-self: end; font-size: 12px; line-height: 1.5; }
.ai-chat p { max-width: 93%; padding: 13px 15px; border-radius: 15px 15px 15px 4px; background: var(--paper-deep); font-size: 12px; line-height: 1.5; margin: 0; }
.sheet-links { display: grid; gap: 8px; }
.sheet-links div { padding: 14px 15px; background: var(--paper); border-radius: 13px; display: flex; justify-content: space-between; font-size: 12px; }
.demo-hint { display: flex; align-items: center; gap: 9px; color: #aebdb4; font-size: 11px; margin: 17px 0 0; text-transform: uppercase; letter-spacing: .12em; }
.demo-hint span { width: 8px; height: 8px; background: #6bbb91; border-radius: 50%; box-shadow: 0 0 0 5px rgba(107,187,145,.13); }

.feature-section { background: var(--cream); }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.feature-card { min-height: 370px; padding: 38px; border-radius: var(--radius); background: var(--paper); position: relative; overflow: hidden; }
.feature-card h3 { font-size: 26px; margin: 19px 0 13px; }
.feature-card > p, .feature-copy p { color: var(--muted); line-height: 1.6; max-width: 470px; }
.feature-icon { width: 44px; height: 44px; border-radius: 14px; background: var(--sage); color: var(--forest); display: grid; place-items: center; font-size: 20px; }
.feature-wide { grid-column: 1 / -1; display: grid; grid-template-columns: .8fr 1.2fr; gap: 30px; min-height: 470px; align-items: center; background: var(--paper-deep); }
.property-collage { height: 390px; position: relative; }
.property-collage img { position: absolute; border-radius: 22px; box-shadow: 0 24px 50px rgba(35,43,36,.2); object-fit: cover; }
.property-collage img:nth-child(1) { width: 44%; height: 78%; left: 2%; top: 10%; transform: rotate(-5deg); }
.property-collage img:nth-child(2) { width: 44%; height: 85%; left: 29%; top: 3%; z-index: 2; }
.property-collage img:nth-child(3) { width: 42%; height: 73%; right: 0; top: 16%; transform: rotate(5deg); }
.wifi-rings { width: 190px; height: 160px; position: absolute; bottom: -8px; right: 25px; display: flex; justify-content: center; align-items: flex-end; }
.wifi-rings i { position: absolute; bottom: 35px; border: 2px solid var(--forest); border-bottom: 0; border-radius: 120px 120px 0 0; opacity: .12; }
.wifi-rings i:nth-child(1) { width: 160px; height: 95px; }
.wifi-rings i:nth-child(2) { width: 110px; height: 65px; }
.wifi-rings i:nth-child(3) { width: 60px; height: 35px; }
.wifi-rings b { width: 14px; height: 14px; border-radius: 50%; background: var(--clay); margin-bottom: 15px; }
.chat-preview { position: absolute; bottom: 28px; right: 28px; left: 38px; display: grid; gap: 8px; }
.chat-preview div { justify-self: end; max-width: 75%; padding: 12px 15px; border-radius: 14px 14px 4px 14px; background: var(--forest); color: white; font-size: 11px; }
.chat-preview p { max-width: 78%; padding: 12px 15px; border-radius: 14px 14px 14px 4px; background: white; box-shadow: 0 10px 25px rgba(28,44,35,.08); font-size: 11px; margin: 0; }
.guide-lines { position: absolute; bottom: 34px; right: 35px; left: 38px; display: grid; gap: 10px; }
.guide-lines i { display: block; height: 13px; border-radius: 999px; background: #d9d8d1; }
.guide-lines i:nth-child(2) { width: 74%; }.guide-lines i:nth-child(3) { width: 89%; }.guide-lines i:nth-child(4) { width: 57%; }
.feature-video { grid-column: 1 / -1; height: 620px; padding: 0; background: #13231c; }
.feature-video video { width: 100%; height: 100%; object-fit: cover; opacity: .78; }
.feature-video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(10,22,17,.78)); }
.video-card-copy { position: absolute; z-index: 2; left: 48px; right: 48px; bottom: 44px; color: white; }
.video-card-copy span { font-size: 11px; text-transform: uppercase; letter-spacing: .13em; color: #d5e7dc; }
.video-card-copy h3 { font-size: clamp(35px, 4vw, 58px); max-width: 700px; margin-bottom: 0; }

.mini-tapps-section { position: relative; height: 820px; overflow: hidden; color: white; background: #0c0e0d; }
.mini-tapps-bg, .mini-tapps-bg::after { position: absolute; inset: 0; }
.mini-tapps-bg img { width: 100%; height: 100%; object-fit: cover; }
.mini-tapps-bg::after { content: ""; background: linear-gradient(90deg, rgba(3,6,5,.92) 0%, rgba(3,6,5,.68) 38%, rgba(3,6,5,.08) 68%); }
.mini-tapps-content { position: relative; height: 100%; display: flex; align-items: center; }
.mini-copy { max-width: 570px; }
.mini-copy h2 { max-width: 560px; }
.mini-copy > p:not(.eyebrow) { color: #c4cdc8; font-size: 17px; line-height: 1.7; }
.amenity-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.amenity-tags span { padding: 10px 14px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; font-size: 11px; }

.how-section { background: var(--paper); }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.step-card { min-height: 480px; border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; display: flex; flex-direction: column; }
.step-card > span { font-family: Georgia, serif; font-style: italic; color: var(--clay); }
.step-card h3 { font-size: 25px; margin: 25px 0 12px; }
.step-card p { color: var(--muted); line-height: 1.6; font-size: 14px; }
.step-visual { height: 230px; margin: 25px 0 0; border-radius: 18px; background: var(--paper-deep); display: grid; place-items: center; position: relative; overflow: hidden; }
.step-build { align-content: center; gap: 13px; padding: 36px; }
.step-build i { height: 32px; border-radius: 9px; background: white; width: 85%; box-shadow: 0 5px 18px rgba(37,43,38,.08); }
.step-build i:nth-child(2) { width: 100%; }.step-build i:nth-child(3) { width: 68%; }
.step-ai { color: var(--forest); font-size: 90px; background: var(--sage); }
.step-ai small { position: absolute; font-size: 11px; font-weight: 800; letter-spacing: .2em; }
.step-install img { width: 47%; height: 135%; object-fit: contain; transform: rotate(12deg); filter: drop-shadow(0 22px 20px rgba(20,30,25,.25)); }

.portfolio-section { background: var(--cream); }
.portfolio-wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; padding: 75px; border-radius: var(--radius-lg); background: var(--sage-light); overflow: hidden; }
.portfolio-copy h2 { max-width: 600px; }
.portfolio-copy > p:not(.eyebrow) { color: var(--muted); line-height: 1.7; max-width: 540px; }
.portfolio-list { list-style: none; padding: 0; margin: 29px 0 35px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; font-size: 13px; }
.portfolio-list span { margin-right: 8px; color: var(--clay); }
.portfolio-visual { position: relative; }
.dashboard-card { padding: 22px; border-radius: 25px; background: white; box-shadow: var(--shadow); transform: rotate(2deg); }
.dash-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; border-bottom: 1px solid #ecebe7; color: var(--muted); font-size: 11px; }
.brand-mini { font-size: 15px; }.brand-mini img { width: 19px; height: 19px; }
.dash-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 18px 0; }
.dash-stats div { padding: 15px; border-radius: 13px; background: var(--paper); display: flex; flex-direction: column; gap: 7px; }
.dash-stats small { color: var(--muted); font-size: 9px; }.dash-stats strong { font-size: 25px; }
.property-list { display: grid; gap: 5px; }
.property-list > div { display: grid; grid-template-columns: 47px 1fr 20px; align-items: center; gap: 11px; padding: 9px; border-radius: 12px; }
.property-list > div:hover { background: var(--paper); }
.property-list img { width: 47px; height: 42px; object-fit: cover; border-radius: 9px; }
.property-list span { display: flex; flex-direction: column; gap: 4px; font-size: 11px; }.property-list small { color: var(--muted); font-size: 8px; }.property-list i { color: #9c9d98; font-style: normal; font-size: 10px; }
.portfolio-badge { position: absolute; right: -35px; bottom: -38px; width: 160px; height: 160px; border-radius: 50%; display: flex; align-items: center; justify-content: center; gap: 9px; background: var(--clay); color: white; box-shadow: 0 18px 35px rgba(189,107,70,.28); transform: rotate(-7deg); }
.portfolio-badge strong { font-family: Georgia, serif; font-size: 43px; font-weight: 400; }.portfolio-badge span { font-size: 9px; text-transform: uppercase; line-height: 1.4; letter-spacing: .08em; }

.properties-section { background: var(--paper); }
.property-showcase { display: grid; grid-template-columns: 1.1fr .9fr; grid-template-rows: 330px 330px; gap: 18px; }
.property-card { position: relative; border-radius: var(--radius); overflow: hidden; }
.property-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(10,21,16,.75)); }
.property-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s; }
.property-card:hover img { transform: scale(1.035); }
.property-card > div { position: absolute; z-index: 2; left: 28px; right: 25px; bottom: 24px; color: white; }
.property-card p { font-size: 9px; letter-spacing: .14em; font-weight: 780; margin-bottom: 7px; opacity: .78; }
.property-card h3 { font-family: Georgia, serif; font-size: 27px; font-weight: 400; margin: 0 0 5px; }
.property-card span { font-size: 11px; opacity: .82; }
.property-tall { grid-row: 1 / 3; }
.proof-note { margin: 20px 0 0; color: var(--muted); font-size: 11px; text-align: center; }

.pricing-section { background: var(--cream); }
.billing-toggle { width: fit-content; margin: 32px auto 0; padding: 5px; border-radius: 999px; background: var(--paper-deep); display: flex; }
.billing-toggle button { border: 0; padding: 11px 17px; border-radius: 999px; background: transparent; color: var(--muted); font-weight: 700; font-size: 12px; cursor: pointer; }
.billing-toggle button.active { background: white; color: var(--ink); box-shadow: 0 4px 12px rgba(40,43,39,.08); }
.billing-toggle button span { color: var(--clay); font-size: 9px; margin-left: 4px; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; align-items: stretch; }
.price-card { position: relative; padding: 38px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.price-card.featured { border: 2px solid var(--clay); transform: translateY(-12px); box-shadow: 0 24px 55px rgba(67,54,42,.12); }
.price-card.portfolio-price { background: var(--forest-dark); color: white; border-color: var(--forest-dark); }
.popular-pill { position: absolute; top: -14px; right: 25px; padding: 8px 13px; border-radius: 999px; background: var(--brand-purple); color: white; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.plan-label { color: var(--clay); font-size: 10px; letter-spacing: .14em; font-weight: 820; }
.price-top h3 { min-height: 74px; font-size: 24px; margin-bottom: 26px; }
.price { display: flex; align-items: flex-start; gap: 4px; margin-bottom: 10px; }
.price > span { font-size: 20px; font-weight: 600; margin-top: 9px; }
.price > strong { font-family: Georgia, serif; font-weight: 400; font-size: 65px; letter-spacing: -.06em; line-height: 1; }
.price div { display: flex; flex-direction: column; align-self: flex-end; margin-bottom: 7px; }
.price small { font-size: 9px; font-weight: 800; }.price em { font-style: normal; font-size: 9px; color: var(--muted); }
.additional { min-height: 39px; color: var(--muted); font-size: 11px; line-height: 1.45; margin-bottom: 24px; }
.annual-billing-detail { margin: -1px 0 8px; color: var(--clay); font-size: 10px; line-height: 1.4; font-weight: 750; }
.annual-billing-detail[hidden] { display: none !important; }
.additional strong { color: var(--ink); }
.portfolio-price .additional, .portfolio-price .price em { color: #aebeb5; }.portfolio-price .additional strong { color: white; }
.custom-price { min-height: 77px; display: flex; flex-direction: column; justify-content: center; margin-bottom: 10px; }
.custom-price strong { font-family: Georgia, serif; font-size: 48px; font-weight: 400; }.custom-price span { color: #aebeb5; font-size: 10px; margin-top: 4px; }
.price-card ul { list-style: none; padding: 27px 0 0; margin: 29px 0 0; border-top: 1px solid var(--line); display: grid; gap: 14px; font-size: 12px; }
.portfolio-price ul { border-color: rgba(255,255,255,.14); }
.price-card li::before { content: "✓"; color: var(--clay); margin-right: 9px; }
.faq-section { background: var(--paper); }
.faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 100px; }
.faq-intro h2 { font-size: 54px; }
.faq-intro > p:not(.eyebrow) { color: var(--muted); line-height: 1.7; }
.faq-list { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { list-style: none; padding: 25px 4px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-size: 16px; font-weight: 650; }
summary::-webkit-details-marker { display: none; }
summary span { font-size: 24px; font-weight: 300; transition: transform .25s; }
details[open] summary span { transform: rotate(45deg); }
details p { color: var(--muted); line-height: 1.7; padding: 0 45px 25px 4px; font-size: 14px; }

.final-cta { padding: 50px 0; background: var(--cream); }
.final-cta-inner { min-height: 600px; display: grid; grid-template-columns: 1fr .75fr; gap: 60px; align-items: center; padding: 65px; border-radius: var(--radius-lg); background: var(--forest); color: white; overflow: hidden; }
.cta-copy h2 { max-width: 750px; }.cta-copy > p:not(.eyebrow) { color: #c3d0c9; font-size: 18px; line-height: 1.65; }.cta-copy small { display: block; color: #9fb1a6; font-size: 10px; }
.cta-media { height: 470px; border-radius: 26px; overflow: hidden; transform: rotate(3deg); box-shadow: 0 30px 60px rgba(0,0,0,.26); }
.cta-media video { width: 100%; height: 100%; object-fit: cover; }

.site-footer { padding: 82px 0 24px; background: var(--paper); }
.footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3, 1fr); gap: 50px; }
.footer-brand { margin-bottom: 17px; }
.footer-grid > div:first-child p, .footer-grid > div:last-child p { color: var(--muted); line-height: 1.6; font-size: 12px; max-width: 280px; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; font-size: 12px; }
.footer-grid strong { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 7px; }
.footer-grid a:not(.brand):hover { color: var(--clay); }
.footer-social-label { margin-top: 5px; color: var(--muted); font-size: 11px; }
.footer-social-links { display: flex; align-items: center; gap: 9px; }
.footer-social-links a {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--forest);
  transition: color .2s, border-color .2s, transform .2s;
}
.footer-social-links a:hover { border-color: var(--clay); color: var(--clay); transform: translateY(-2px); }
.footer-social-links svg { width: 16px; height: 16px; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 30px; margin-top: 60px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: .1s; }.delay-2 { transition-delay: .2s; }

@media (max-width: 1080px) {
  .nav-wrap { grid-template-columns: 1fr auto; }
  .main-nav, .nav-actions .text-link { display: none; }
  .nav-actions { grid-column: 2; grid-row: 1; margin-right: 52px; }
  .menu-toggle { display: block; position: absolute; right: 23px; top: 17px; z-index: 2; }
  .main-nav { position: fixed; display: flex; flex-direction: column; align-items: flex-start; inset: 76px 0 auto; padding: 30px 24px 42px; background: var(--paper); transform: translateY(-130%); transition: transform .3s; border-bottom: 1px solid var(--line); }
  .nav-open .main-nav { transform: translateY(0); }
  .nav-open .menu-toggle span:first-child { transform: translateY(4.25px) rotate(45deg); }
  .nav-open .menu-toggle span:last-child { transform: translateY(-4.25px) rotate(-45deg); }
  .hero-grid { grid-template-columns: 1fr; gap: 55px; }
  .hero-image-wrap { min-height: 580px; }
  .two-part-grid { grid-template-columns: 1fr; }
  .product-panel { min-height: 680px; }
  .editorial-grid, .demo-grid, .portfolio-wrap, .faq-grid { grid-template-columns: 1fr; }
  .editorial-image img { height: 620px; }
  .demo-copy { max-width: 760px; }
  .portfolio-wrap { padding: 55px; }
  .portfolio-visual { max-width: 620px; margin: 0 auto; }
  .faq-grid { gap: 45px; }
  .faq-intro { max-width: 700px; }
  .pricing-grid { grid-template-columns: 1fr 1fr; }
  .portfolio-price { grid-column: 1 / -1; }
  .final-cta-inner { grid-template-columns: 1fr; }
  .cta-media { height: 400px; transform: none; }
}

@media (max-width: 760px) {
  .container { width: min(calc(100% - 30px), var(--container)); }
  .section { padding: 88px 0; }.section-pad { padding: 52px 0 72px; }
  .nav-wrap { height: 68px; }.site-header .brand { font-size: 21px; }.nav-actions { display: none; }.menu-toggle { top: 13px; right: 11px; }.main-nav { inset: 68px 0 auto; }
  h1 { font-size: clamp(48px, 15vw, 68px); }.hero-lede { font-size: 17px; }.hero-grid { min-height: unset; gap: 42px; }.hero-image-wrap { min-height: 470px; border-radius: 25px; }.floating-card-top { top: 13px; right: 13px; }.floating-card-bottom { bottom: 13px; left: 13px; }.floating-card { max-width: 210px; padding: 10px 12px; }
  .trust-names { gap: 11px; font-size: 9px; }.trust-inner > p { line-height: 1.5; }
  .section-heading { margin-bottom: 42px; }.split-heading { grid-template-columns: 1fr; gap: 20px; }.split-heading > p { font-size: 15px; }
  .product-panel { padding: 30px; min-height: 650px; }.panel-copy h3 { font-size: 30px; }.clean-list { grid-template-columns: 1fr; }.hardware-object { height: 48%; left: 16%; right: 16%; bottom: -11%; }.phone-object { width: 82%; left: 9%; bottom: -20%; }
  .editorial-grid { gap: 45px; }.editorial-image img { height: 540px; }.large-copy { font-size: 20px; }
  .demo-grid { gap: 55px; }.demo-feature-grid { grid-template-columns: 1fr; }.demo-screen { height: 700px; }.phone-shell { border-radius: 45px; }.demo-screen { border-radius: 36px; }
  .feature-grid { grid-template-columns: 1fr; }.feature-wide { grid-column: auto; grid-template-columns: 1fr; min-height: 700px; }.property-collage { height: 340px; }.feature-video { grid-column: auto; height: 530px; }.video-card-copy { left: 28px; right: 28px; bottom: 28px; }
  .mini-tapps-section { height: 740px; }.mini-tapps-bg::after { background: linear-gradient(90deg, rgba(3,6,5,.92) 0%, rgba(3,6,5,.74) 65%, rgba(3,6,5,.35)); }.mini-tapps-bg img { object-position: 62% center; }
  .steps-grid { grid-template-columns: 1fr; }.step-card { min-height: 450px; }
  .portfolio-wrap { padding: 35px 25px; gap: 45px; }.portfolio-list { grid-template-columns: 1fr; }.dash-stats div { padding: 11px; }.dash-stats strong { font-size: 20px; }.portfolio-badge { width: 125px; height: 125px; right: -15px; bottom: -25px; }.portfolio-badge strong { font-size: 34px; }
  .property-showcase { grid-template-columns: 1fr; grid-template-rows: repeat(4, 360px); }.property-tall { grid-row: auto; }
  .pricing-grid { grid-template-columns: 1fr; }.price-card.featured { transform: none; }.portfolio-price { grid-column: auto; }.price-card { padding: 31px; }
  .faq-intro h2 { font-size: 44px; }
  .final-cta { padding: 25px 0; }.final-cta-inner { padding: 45px 25px; border-radius: 26px; }.cta-media { height: 340px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }.footer-grid > div:first-child { grid-column: 1 / -1; }.footer-bottom { flex-direction: column; gap: 8px; }
}

@media (max-width: 460px) {
  .hero-actions .button { width: 100%; }.hero-points { display: grid; gap: 10px; }.hero-image-wrap { min-height: 400px; }.hero-image-wrap > img { object-position: 58% center; }.floating-card-top { display: none; }.floating-card-bottom { right: 13px; }
  .product-panel { min-height: 625px; }.panel-copy > p:not(.kicker) { font-size: 14px; }.panel-number { right: 29px; top: 28px; }
  .editorial-image img { height: 460px; }
  .phone-shell { width: 100%; padding: 8px; }.demo-screen { height: 675px; }.demo-hero { height: 255px; }.demo-block { min-height: 70px; }
  .feature-card { padding: 28px; }.feature-wide { min-height: 650px; }.property-collage img:nth-child(1) { width: 51%; }.property-collage img:nth-child(2) { width: 51%; left: 25%; }.property-collage img:nth-child(3) { width: 48%; }
  .mini-tapps-section { height: 720px; }.amenity-tags span { padding: 8px 11px; }
  .portfolio-wrap { width: calc(100% - 18px); }.dashboard-card { padding: 13px; }.property-list > div { grid-template-columns: 40px 1fr 12px; }.property-list img { width: 40px; height: 38px; }.portfolio-badge { display: none; }
  .footer-grid { grid-template-columns: 1fr; }.footer-grid > div:first-child { grid-column: auto; }
}

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

/* --- V2 refinements --- */
h1 em, h2 em { font-family: inherit; font-style: normal; font-weight: inherit; }
.hero-single-note { max-width: 355px; }
.hero-single-note .mini-icon { font-size: 10px; letter-spacing: .08em; }
.hero-single-note strong { line-height: 1.35; }
.hero-single-note small { line-height: 1.45; }

.trust-strip { padding: 20px 0; background: rgba(255,255,255,.42); }
.trust-inner > p { display: none; }
.trust-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.trust-tags span { padding: 11px 16px; border-radius: 999px; border: 1px solid var(--line); background: white; color: #536056; font-size: 12px; font-weight: 700; }

.clean-list { align-items: start; }
.hardware-object { left: 18%; right: 18%; bottom: -6%; height: 52%; }
.phone-object { width: 74%; left: 15%; bottom: -12%; }
.phone-object img { width: 100%; height: auto; }

.eyebrow-no-line { gap: 0; }
.eyebrow-no-line::before { display: none; }
.editorial-grid-stretch { align-items: stretch; }
.editorial-grid-stretch .editorial-image { min-height: 100%; }
.editorial-grid-stretch .editorial-image img { height: 100%; min-height: 770px; }
.image-caption-centered { left: 50%; right: auto; bottom: 26px; transform: translateX(-50%); text-align: center; max-width: 290px; width: calc(100% - 40px); }

.demo-social-links { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 4px; }
.demo-link-pill { min-height: 42px; padding: 0 14px; border-radius: 14px; border: 1px solid #d6d0c5; background: rgba(255,253,248,.92); color: #5e645d; font-size: 11px; font-weight: 700; }
.demo-sheet { inset: 0; min-height: 100%; height: 100%; padding: 0; border-radius: 0; transform: translateX(102%); display: flex; flex-direction: column; }
.demo-sheet.open { transform: translateX(0); }
.sheet-topbar { display: flex; align-items: center; gap: 10px; padding: 18px 18px 14px; border-bottom: 1px solid #ece7dd; }
.sheet-top-copy { display: flex; flex-direction: column; gap: 3px; }
.sheet-top-copy small { color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-size: 9px; }
.sheet-top-copy span { font-family: Georgia, serif; font-size: 25px; }
.sheet-scroll { padding: 22px 22px 28px; overflow: auto; }
.sheet-text { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.sheet-content { margin-top: 22px; }
.wifi-screen-card { display: grid; gap: 16px; }
.wifi-top-note { font-size: 10px; text-transform: uppercase; letter-spacing: .14em; color: var(--clay); font-weight: 800; }
.wifi-account-box { display: grid; gap: 12px; padding: 16px; border-radius: 18px; background: var(--paper); }
.wifi-account-box div { display: grid; gap: 4px; }
.wifi-account-box strong { font-size: 13px; }
.wifi-account-box small { color: var(--muted); font-size: 12px; }
.wifi-qr-layout { display: grid; grid-template-columns: 128px 1fr; gap: 16px; align-items: center; padding: 16px; border-radius: 18px; background: #f9f6ef; }
.fake-qr { width: 128px; height: 128px; border-radius: 10px; background:
    linear-gradient(90deg, #111 0 8px, transparent 8px 16px, #111 16px 24px, transparent 24px 32px, #111 32px 40px, transparent 40px 48px, #111 48px 56px, transparent 56px 64px, #111 64px 72px, transparent 72px 80px, #111 80px 88px, transparent 88px 96px, #111 96px 104px, transparent 104px 112px, #111 112px 120px, transparent 120px),
    linear-gradient(#111 0 8px, transparent 8px 16px, #111 16px 24px, transparent 24px 32px, #111 32px 40px, transparent 40px 48px, #111 48px 56px, transparent 56px 64px, #111 64px 72px, transparent 72px 80px, #111 80px 88px, transparent 88px 96px, #111 96px 104px, transparent 104px 112px, #111 112px 120px, transparent 120px), white; box-shadow: inset 0 0 0 6px white; }
.wifi-help-copy strong { display: block; margin-bottom: 7px; font-size: 14px; }
.wifi-help-copy p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.ai-screen-chat { display: grid; gap: 10px; }
.ai-msg { padding: 14px 15px; border-radius: 16px; font-size: 12px; line-height: 1.55; }
.ai-msg-user { justify-self: end; max-width: 74%; background: var(--forest); color: white; border-bottom-right-radius: 4px; }
.ai-msg-bot { max-width: 92%; background: var(--paper); color: var(--ink); border-bottom-left-radius: 4px; }
.detailed-links div { padding: 16px 15px; background: var(--paper); }
.detailed-links span { font-size: 13px; }

.feature-card { display: flex; flex-direction: column; }
.feature-card > p, .feature-copy p { max-width: none; }
.feature-card > p { margin-bottom: 0; }
.feature-video-split { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr .82fr; align-items: center; gap: 36px; min-height: 540px; background: #12211a; padding: 44px; }
.feature-video-split::after { display: none; }
.feature-video-copy { position: relative; z-index: 2; color: white; }
.feature-video-copy span { font-size: 11px; text-transform: uppercase; letter-spacing: .13em; color: #d5e7dc; }
.feature-video-copy h3 { font-size: clamp(34px, 4vw, 56px); max-width: 620px; margin: 18px 0 16px; }
.feature-video-copy p { margin: 0; max-width: 540px; color: #b8c5be; line-height: 1.7; }
.feature-video-frame { display: flex; justify-content: center; }
.feature-video-frame video { width: min(100%, 320px); height: 100%; max-height: 430px; object-fit: contain; border-radius: 28px; background: #0b130f; box-shadow: 0 30px 60px rgba(0,0,0,.28); opacity: 1; }

.amenity-tags-icons span { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; }

.step-install-icon { background: var(--sage-light); }
.install-plate { width: 130px; height: 170px; border-radius: 26px; background: white; border: 1px solid #d9d4ca; position: relative; box-shadow: 0 18px 35px rgba(33,45,36,.08); }
.install-waves { position: absolute; top: 36px; left: 50%; transform: translateX(-50%); width: 62px; height: 42px; }
.install-waves::before, .install-waves::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); border: 3px solid var(--forest); border-bottom: 0; border-radius: 80px 80px 0 0; }
.install-waves::before { width: 60px; height: 36px; top: 0; }
.install-waves::after { width: 34px; height: 20px; top: 12px; }
.install-dot { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); width: 48px; height: 48px; border-radius: 14px; background: var(--paper); box-shadow: inset 0 0 0 1px #ddd4c8; }
.install-dot::before { content: ""; position: absolute; inset: 12px; border-radius: 50%; background: var(--clay); }

.portfolio-list li { display: flex; align-items: flex-start; line-height: 1.45; }
.portfolio-badge-text { display: flex; align-items: center; justify-content: center; padding: 20px; text-align: center; }
.portfolio-badge-text span { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; line-height: 1.5; }

.section-heading-properties { max-width: 980px; }
.section-heading-properties h2 { max-width: 920px; margin-left: auto; margin-right: auto; }

.final-cta .cta-copy small { display: none; }

@media (max-width: 1080px) {
  .editorial-grid-stretch .editorial-image img { min-height: 620px; }
  .feature-video-split { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .trust-tags { gap: 9px; }
  .trust-tags span { font-size: 10px; padding: 9px 12px; }
  .phone-object { width: 82%; left: 9%; bottom: -10%; }
  .editorial-grid-stretch .editorial-image img { min-height: 540px; }
  .image-caption-centered { max-width: 240px; }
  .wifi-qr-layout { grid-template-columns: 1fr; }
  .fake-qr { margin: 0 auto; }
  .feature-video-split { padding: 28px; min-height: unset; }
}

@media (max-width: 460px) {
  .hero-single-note { max-width: 255px; }
  .editorial-grid-stretch .editorial-image img { min-height: 460px; }
  .phone-object { width: 88%; left: 6%; bottom: -8%; }
  .demo-link-pill { flex: 1 1 calc(50% - 8px); justify-content: center; }
  .sheet-top-copy span { font-size: 22px; }
  .feature-video-frame video { width: 100%; }
}

.sheet-topbar .sheet-close, .demo-sheet .sheet-close { position: static; width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 50%; background: var(--paper-deep); color: var(--ink); font-size: 26px; line-height: 1; }


/* --- V3 refinements --- */
.floating-card-center { left: 50%; right: auto; transform: translateX(-50%); bottom: 26px; max-width: 420px; width: calc(100% - 54px); }
.tap-icon-wrap { width: 40px; height: 40px; border-radius: 14px; background: var(--sage); color: var(--forest); display: grid; place-items: center; flex: 0 0 40px; }
.tap-icon { font-size: 18px; line-height: 1; }
.hero-single-note { align-items: center; }

.trust-tags-inline { display: flex; align-items: center; justify-content: space-between; gap: 22px; width: min(900px, 100%); margin: 0 auto; }
.trust-tags-inline span { padding: 0; border: 0; background: transparent; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #556158; }
.trust-tags-inline i { width: 1px; height: 14px; background: #c8c1b7; }

.two-part-grid { gap: 22px; }
.product-panel { min-height: 630px; }
.panel-copy { max-width: 47%; }
.hardware-object-right { left: auto; right: 26px; bottom: 30px; width: 41%; height: auto; display: flex; justify-content: center; align-items: flex-end; }
.hardware-object-right img { width: 100%; height: auto; max-height: 500px; object-fit: contain; filter: drop-shadow(0 28px 34px rgba(0,0,0,.32)); }
.phone-object-right { position: absolute; right: 18px; left: auto; bottom: -6px; width: 40%; transform: none; }
.phone-object-right img { width: 100%; height: auto; }
.software-panel .panel-copy { position: relative; z-index: 3; }

.image-caption-thin { padding: 12px 18px; max-width: 430px; white-space: nowrap; }

.demo-social-block { width: 100%; min-height: 72px; border-radius: 18px; background: rgba(255,253,248,.9); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 14px; padding: 10px 15px; box-shadow: 0 4px 13px rgba(72,62,45,.06); }
.demo-social-copy { display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: center; }
.demo-social-copy > span:nth-child(2) { font-family: Georgia, serif; font-size: 17px; color: var(--ink); }
.demo-social-copy small { display: block; margin-top: 4px; font-family: Inter, sans-serif; color: #818078; font-size: 9px; }
.demo-social-icons { display: flex; gap: 8px; }
.demo-social-icons i { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #ece5da; color: #5f645d; font-style: normal; font-size: 11px; font-weight: 800; }

.wifi-screen-reference { gap: 18px; }
.wifi-qr-big { display: flex; justify-content: center; padding: 6px 0 2px; }
.wifi-qr-sim { width: 230px; height: 230px; border-radius: 28px; background:
    linear-gradient(90deg, #1e1e3d 0 10px, transparent 10px 20px, #1e1e3d 20px 30px, transparent 30px 40px, #1e1e3d 40px 50px, transparent 50px 60px, #1e1e3d 60px 70px, transparent 70px 80px, #1e1e3d 80px 90px, transparent 90px 100px, #1e1e3d 100px 110px, transparent 110px 120px, #1e1e3d 120px 130px, transparent 130px 140px, #1e1e3d 140px 150px, transparent 150px 160px, #1e1e3d 160px 170px, transparent 170px 180px, #1e1e3d 180px 190px, transparent 190px 200px),
    linear-gradient(#1e1e3d 0 10px, transparent 10px 20px, #1e1e3d 20px 30px, transparent 30px 40px, #1e1e3d 40px 50px, transparent 50px 60px, #1e1e3d 60px 70px, transparent 70px 80px, #1e1e3d 80px 90px, transparent 90px 100px, #1e1e3d 100px 110px, transparent 110px 120px, #1e1e3d 120px 130px, transparent 130px 140px, #1e1e3d 140px 150px, transparent 150px 160px, #1e1e3d 160px 170px, transparent 170px 180px, #1e1e3d 180px 190px, transparent 190px 200px), white; box-shadow: inset 0 0 0 16px white; position: relative; }
.wifi-qr-sim::after { content: "Tapplify"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 8px 12px; border-radius: 999px; background: white; color: #262a4f; font-weight: 700; font-size: 14px; box-shadow: 0 4px 18px rgba(0,0,0,.08); }
.wifi-note-copy { color: var(--muted); font-size: 12px; line-height: 1.55; }
.wifi-field-card { display: grid; grid-template-columns: 1fr 46px; align-items: center; gap: 12px; padding: 16px 0; border-bottom: 1px solid #e4ddd3; }
.wifi-field-card label { display: block; color: #767068; font-size: 12px; margin-bottom: 8px; }
.wifi-field-card strong { font-size: 16px; }
.wifi-field-card button { width: 46px; height: 46px; border-radius: 14px; border: 0; background: #ded0c0; color: #665e55; font-size: 18px; }
.demo-menu-links { gap: 9px; }
.demo-menu-links div { min-height: 72px; border-radius: 18px; display: grid; grid-template-columns: 1fr 14px; align-items: center; gap: 10px; padding: 10px 15px; box-shadow: 0 4px 13px rgba(72,62,45,.06); }
.demo-menu-links span { display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 10px; }
.demo-menu-links span i { width: 28px; height: 28px; border-radius: 50%; background: #ece5da; color: #62675f; display: grid; place-items: center; font-style: normal; font-size: 13px; }
.demo-menu-links b { font-size: 24px; font-weight: 300; color: #817c72; }

.feature-wide-compact { min-height: 390px; }
.feature-wide-compact .property-collage { height: 300px; }
.feature-video-tall { grid-template-columns: .9fr 1.1fr; min-height: 610px; padding: 0; overflow: hidden; }
.feature-video-tall .feature-video-copy { padding: 46px; }
.feature-video-frame-large { height: 100%; align-self: stretch; }
.feature-video-frame-large video { width: 100%; max-height: none; height: 100%; object-fit: cover; border-radius: 0; background: transparent; box-shadow: none; }

.portfolio-list-six { grid-template-columns: 1fr 1fr; }
.property-list img { object-fit: cover; }

@media (max-width: 1080px) {
  .panel-copy { max-width: 50%; }
  .feature-video-tall { grid-template-columns: 1fr; }
  .feature-video-frame-large { min-height: 420px; }
}

@media (max-width: 760px) {
  .trust-tags-inline { justify-content: center; gap: 10px; flex-wrap: wrap; }
  .trust-tags-inline i { display: none; }
  .product-panel { min-height: 700px; }
  .panel-copy { max-width: 100%; }
  .hardware-object-right { right: 18px; left: 18px; width: auto; bottom: 18px; }
  .hardware-object-right img { max-height: 250px; }
  .phone-object-right { right: 14px; width: 42%; bottom: -6px; }
  .image-caption-thin { white-space: normal; max-width: 300px; }
  .wifi-qr-sim { width: 190px; height: 190px; }
  .feature-wide-compact { min-height: 340px; }
  .feature-wide-compact .property-collage { height: 250px; }
  .feature-video-tall .feature-video-copy { padding: 30px; }
  .feature-video-frame-large { min-height: 350px; }
  .portfolio-list-six { grid-template-columns: 1fr; }
}

@media (max-width: 460px) {
  .floating-card-center { width: calc(100% - 30px); }
  .demo-social-block { grid-template-columns: 1fr; }
  .demo-social-icons { justify-content: flex-start; }
  .phone-object-right { width: 46%; }
}

/* --- V5 refinements requested --- */
.hero-single-note-small { max-width: 340px; width: calc(100% - 120px); padding: 12px 14px; gap: 10px; }
.hero-single-note-small .tap-icon-wrap { width: 34px; height: 34px; border-radius: 12px; flex: 0 0 34px; }
.hero-single-note-small .tap-icon { font-size: 15px; }
.hero-single-note-small strong { font-size: 13px; line-height: 1.35; }
.hero-single-note-small small { font-size: 11px; line-height: 1.45; }

.clean-list-single { grid-template-columns: 1fr; gap: 10px; }
.clean-list-single li { position: relative; padding-left: 16px; line-height: 1.45; }
.clean-list-single li::before { position: absolute; left: 0; top: 0; margin-right: 0; }

.product-panel { min-height: 640px; }
.panel-copy { max-width: 50%; }
.hardware-object-top,
.phone-object-top { bottom: auto; top: 175px; }
.hardware-object-top { width: 34%; right: 30px; left: auto; height: auto; }
.hardware-object-top img { max-height: 360px; }
.phone-object-top { width: 31%; right: 34px; left: auto; }
.phone-object-top img { max-height: 385px; object-fit: contain; }
.software-panel .panel-copy,
.hardware-panel .panel-copy { z-index: 3; }

.demo-social-block-minimal { min-height: 64px; display: flex; align-items: center; justify-content: center; padding: 10px 12px; }
.demo-social-icons-line { display: flex; align-items: center; justify-content: center; gap: 28px; width: 100%; }
.demo-social-icons-line i { background: none; border: 0; width: auto; height: auto; font-style: normal; font-size: 18px; font-weight: 700; color: #66665f; line-height: 1; }

.wifi-screen-clean { gap: 18px; }
.wifi-qr-sim-clean { background:
  linear-gradient(90deg, #232644 0 9px, transparent 9px 18px, #232644 18px 27px, transparent 27px 36px, #232644 36px 45px, transparent 45px 54px, #232644 54px 63px, transparent 63px 72px, #232644 72px 81px, transparent 81px 90px, #232644 90px 99px, transparent 99px 108px, #232644 108px 117px, transparent 117px 126px, #232644 126px 135px, transparent 135px 144px, #232644 144px 153px, transparent 153px 162px, #232644 162px 171px, transparent 171px 180px),
  linear-gradient(#232644 0 9px, transparent 9px 18px, #232644 18px 27px, transparent 27px 36px, #232644 36px 45px, transparent 45px 54px, #232644 54px 63px, transparent 63px 72px, #232644 72px 81px, transparent 81px 90px, #232644 90px 99px, transparent 99px 108px, #232644 108px 117px, transparent 117px 126px, #232644 126px 135px, transparent 135px 144px, #232644 144px 153px, transparent 153px 162px, #232644 162px 171px, transparent 171px 180px), white;
}
.wifi-qr-sim-clean::after { display: none; }
.wifi-note-copy { text-align: center; }
.wifi-field-card { border-bottom: 1px solid #e6e0d6; }
.wifi-field-card button { background: #ece5da; }

.feature-wide-equal { min-height: 370px; align-items: center; }
.property-collage-compact { height: 250px; }
.property-collage-compact img:nth-child(1) { width: 39%; height: 78%; left: 4%; top: 12%; }
.property-collage-compact img:nth-child(2) { width: 40%; height: 86%; left: 30%; top: 2%; }
.property-collage-compact img:nth-child(3) { width: 39%; height: 72%; right: 1%; top: 14%; }

.standalone-video-section { background: var(--cream); }
.standalone-video-card { display: grid; grid-template-columns: .92fr 1.08fr; min-height: 560px; border-radius: var(--radius-lg); overflow: hidden; background: #13231c; }
.standalone-video-copy { color: white; padding: 46px; display: flex; flex-direction: column; justify-content: center; }
.standalone-video-copy span { font-size: 11px; text-transform: uppercase; letter-spacing: .13em; color: #d5e7dc; }
.standalone-video-copy h3 { font-size: clamp(34px, 4vw, 56px); margin: 18px 0 16px; max-width: 520px; }
.standalone-video-copy p { margin: 0; max-width: 520px; color: #b8c5be; line-height: 1.7; }
.standalone-video-frame { background: #0f1713; display: flex; align-items: center; justify-content: center; height: 100%; }
.standalone-video-frame video { width: 100%; height: 100%; object-fit: contain; background: #0f1713; }

@media (max-width: 1080px) {
  .panel-copy { max-width: 52%; }
  .hardware-object-top { width: 36%; }
  .phone-object-top { width: 33%; }
  .standalone-video-card { grid-template-columns: 1fr; }
  .standalone-video-frame { min-height: 420px; }
}

@media (max-width: 760px) {
  .hero-single-note-small { width: calc(100% - 64px); max-width: 300px; }
  .product-panel { min-height: 690px; }
  .panel-copy { max-width: 100%; }
  .hardware-object-top { top: auto; bottom: 24px; left: 18px; right: 18px; width: auto; }
  .hardware-object-top img { max-height: 240px; }
  .phone-object-top { top: auto; bottom: 16px; right: 18px; width: 42%; }
  .phone-object-top img { max-height: 280px; }
  .feature-wide-equal { min-height: 370px; }
  .property-collage-compact { height: 220px; }
  .standalone-video-copy { padding: 30px; }
  .standalone-video-frame { min-height: 340px; }
}

@media (max-width: 460px) {
  .hero-single-note-small { width: calc(100% - 38px); }
  .demo-social-icons-line { gap: 20px; }
  .demo-social-icons-line i { font-size: 16px; }
  .phone-object-top { width: 46%; }
}

/* --- V6: alignment, interactive demo and responsive refinement --- */
.hero-image-wrap {
  aspect-ratio: 3 / 2;
  min-height: 0;
  background: #b8aa96;
}
.hero-image-wrap > img { object-fit: cover; object-position: center; }
.hero-single-note-small {
  width: min(285px, calc(100% - 90px));
  max-width: 285px;
  left: 58%;
  bottom: 18px;
  padding: 10px 12px;
  border-radius: 13px;
}
.hero-single-note-small .tap-icon-wrap { width: 31px; height: 31px; flex-basis: 31px; border-radius: 10px; }
.hero-single-note-small strong { font-size: 11.5px; }
.hero-single-note-small small { font-size: 9.5px; margin-top: 2px; }

.product-panel { min-height: 680px; }
.panel-copy { max-width: 52%; }
.panel-copy h3 { min-height: 116px; margin-bottom: 18px; }
.panel-copy > p:not(.kicker) { min-height: 100px; margin-bottom: 0; }
.clean-list-single { margin-top: 18px; }
.hardware-object-top,
.phone-object-top {
  top: 330px;
  bottom: auto;
  transform: translateY(-50%);
  z-index: 2;
}
.hardware-object-top { width: 38%; right: 25px; }
.hardware-object-top img { max-height: 410px; }
.phone-object-top { width: 38%; right: 24px; }
.phone-object-top img { max-height: 430px; }

.demo-social-block-minimal { min-height: 66px; }
.demo-social-icons-line { gap: 34px; }
.demo-social-icons-line a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1.5px solid #696a63;
  border-radius: 50%;
  color: #696a63;
}
.demo-social-icons-line svg { width: 19px; height: 19px; }
.demo-social-icons-line a:first-child svg { fill: none; stroke: currentColor; stroke-width: 1.7; }
.demo-social-icons-line a:nth-child(2) svg,
.demo-social-icons-line a:nth-child(3) svg { fill: currentColor; stroke: none; }

.wifi-real-qr {
  width: 230px;
  height: 230px;
  object-fit: contain;
  padding: 14px;
  border-radius: 24px;
  background: white;
  box-shadow: 0 10px 28px rgba(31, 36, 57, .08);
  image-rendering: pixelated;
}
.nested-demo-list { display: grid; gap: 9px; }
.nested-demo-button {
  width: 100%;
  min-height: 72px;
  border: 0;
  border-radius: 18px;
  background: rgba(247,244,238,.95);
  display: grid;
  grid-template-columns: 44px 1fr 14px;
  align-items: center;
  gap: 10px;
  padding: 10px 15px;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
  box-shadow: 0 4px 13px rgba(72,62,45,.06);
}
.nested-demo-button > span:nth-child(2) { font-family: Georgia, serif; font-size: 17px; }
.nested-demo-button small { display: block; margin-top: 4px; font-family: Inter, sans-serif; color: #818078; font-size: 9px; }
.nested-demo-button b { font-size: 25px; font-weight: 300; color: #817c72; }
.demo-image-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.demo-image-card {
  position: relative;
  min-height: 132px;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 17px;
  background: #ddd6ca;
  cursor: pointer;
  text-align: left;
}
.demo-image-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(12,22,18,.78)); }
.demo-image-card img { width: 100%; height: 132px; object-fit: cover; }
.demo-image-card > span { position: absolute; z-index: 2; left: 12px; right: 10px; bottom: 10px; color: white; display: flex; flex-direction: column; gap: 2px; }
.demo-image-card strong { font-size: 12px; }
.demo-image-card small { font-size: 8px; opacity: .82; }
.demo-detail-card { display: grid; gap: 10px; }
.demo-detail-card p { margin: 0; padding: 14px 15px; border-radius: 15px; background: var(--paper); color: #58625b; font-size: 12px; line-height: 1.55; }
.demo-detail-card strong { color: var(--ink); }

.feature-card { min-height: 360px; }
.feature-wide-equal { height: 360px; min-height: 360px; }
.property-collage-compact { height: 238px; }

.standalone-video-card {
  height: 440px;
  min-height: 0;
  grid-template-columns: 1fr .72fr;
}
.standalone-video-copy { padding: 42px; }
.standalone-video-frame { min-width: 0; overflow: hidden; }
.standalone-video-frame video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #0f1713;
}

@media (max-width: 1080px) {
  .hero-image-wrap { aspect-ratio: 3 / 2; min-height: 0; }
  .product-panel { min-height: 660px; }
  .panel-copy { max-width: 53%; }
  .hardware-object-top,
  .phone-object-top { top: 325px; }
  .standalone-video-card { grid-template-columns: 1fr .72fr; height: 430px; }
}

@media (max-width: 760px) {
  .hero-image-wrap { aspect-ratio: 3 / 2; min-height: 0; }
  .hero-single-note-small { left: 61%; width: min(250px, calc(100% - 62px)); }

  .product-panel { min-height: 650px; }
  .panel-copy { max-width: 100%; }
  .panel-copy h3,
  .panel-copy > p:not(.kicker) { min-height: 0; }
  .hardware-object-top,
  .phone-object-top { top: auto; transform: none; }
  .hardware-object-top { left: auto; right: 18px; bottom: 25px; width: 43%; }
  .hardware-object-top img { max-height: 250px; }
  .phone-object-top { right: 18px; bottom: 18px; width: 43%; }
  .phone-object-top img { max-height: 280px; }
  .clean-list-single { max-width: 50%; }

  .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .feature-card {
    min-height: 238px;
    padding: 20px;
    border-radius: 18px;
  }
  .feature-card h3 { font-size: 19px; margin: 14px 0 9px; }
  .feature-card > p,
  .feature-copy p {
    font-size: 12px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .feature-icon { width: 38px; height: 38px; border-radius: 12px; font-size: 17px; }
  .feature-wide-equal {
    grid-column: 1 / -1;
    height: 275px;
    min-height: 275px;
    grid-template-columns: .95fr 1.05fr;
    gap: 12px;
  }
  .property-collage-compact { height: 195px; }

  .steps-grid {
    display: flex;
    overflow-x: auto;
    gap: 12px;
    scroll-snap-type: x mandatory;
    padding: 0 15px 12px;
    margin-inline: -15px;
    scrollbar-width: none;
  }
  .steps-grid::-webkit-scrollbar { display: none; }
  .step-card {
    flex: 0 0 min(82vw, 360px);
    min-height: 390px;
    scroll-snap-align: center;
  }
  .step-visual { height: 175px; }

  .standalone-video-card {
    height: 360px;
    grid-template-columns: 1.05fr .95fr;
    border-radius: 24px;
  }
  .standalone-video-copy { padding: 24px 20px; }
  .standalone-video-copy h3 { font-size: 25px; margin: 12px 0 10px; }
  .standalone-video-copy p { font-size: 12px; line-height: 1.5; }
  .standalone-video-copy span { font-size: 9px; }
  .standalone-video-frame { min-height: 0; }
}

@media (max-width: 460px) {
  .hero-single-note-small { width: min(225px, calc(100% - 46px)); left: 62%; padding: 8px 10px; }
  .hero-single-note-small small { display: none; }
  .product-panel { min-height: 620px; }
  .clean-list-single { max-width: 55%; font-size: 11px; }
  .hardware-object-top { width: 41%; bottom: 22px; }
  .phone-object-top { width: 44%; bottom: 15px; }
  .demo-social-icons-line { gap: 30px; }
  .demo-social-icons-line a { width: 36px; height: 36px; }
  .wifi-real-qr { width: 205px; height: 205px; }
  .feature-card { min-height: 225px; padding: 17px; }
  .feature-wide-equal { height: 260px; min-height: 260px; }
  .property-collage-compact { height: 180px; }
  .standalone-video-card { height: 340px; }
  .standalone-video-copy { padding: 20px 16px; }
  .standalone-video-copy h3 { font-size: 22px; }
}

/* --- V7: precise card alignment and cleaner nested demo content --- */
@media (min-width: 761px) {
  .product-panel .panel-copy {
    display: grid;
    grid-template-rows: 27px 122px 112px auto;
    align-content: start;
  }
  .product-panel .panel-copy .kicker {
    margin: 0;
    align-self: start;
  }
  .product-panel .panel-copy h3 {
    min-height: 0;
    margin: 0;
    align-self: start;
  }
  .product-panel .panel-copy > p:not(.kicker) {
    min-height: 0;
    margin: 0;
    align-self: start;
  }
  .product-panel .clean-list-single {
    margin-top: 0;
    align-self: start;
  }
}

.hero-single-note-small {
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}

.demo-detail-card {
  gap: 0;
  background: transparent;
}
.demo-detail-card p {
  padding: 13px 0;
  border-radius: 0;
  border-bottom: 1px solid #e8e2d8;
  background: transparent;
  box-shadow: none;
}
.demo-detail-card p:first-child { padding-top: 4px; }
.demo-detail-card p:last-child {
  padding-bottom: 4px;
  border-bottom: 0;
}

.local-text-list {
  display: grid;
  gap: 9px;
}
.local-text-button {
  width: 100%;
  min-height: 68px;
  border: 1px solid #e5dfd5;
  border-radius: 17px;
  background: #fffdf8;
  display: grid;
  grid-template-columns: 1fr 14px;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
  box-shadow: none;
}
.local-text-button span {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.local-text-button strong {
  font-family: Georgia, serif;
  font-size: 17px;
  font-weight: 400;
}
.local-text-button small {
  color: #818078;
  font-size: 10px;
}
.local-text-button b {
  color: #817c72;
  font-size: 24px;
  font-weight: 300;
}
.local-text-button:hover {
  border-color: #c9c1b6;
  background: white;
}

@media (max-width: 760px) {
  .product-panel .panel-copy { display: block; }
  .product-panel .panel-copy .kicker { margin-bottom: 12px; }
  .product-panel .panel-copy h3 { margin-bottom: 18px; }
  .product-panel .panel-copy > p:not(.kicker) { margin-bottom: 0; }
  .product-panel .clean-list-single { margin-top: 18px; }
  .hero-single-note-small { left: 50%; }
}

/* --- V8: safe alignment and line-free nested detail views --- */
@media (min-width: 761px) {
  .product-panel .panel-copy {
    display: grid;
    grid-template-rows: 28px 164px 126px auto;
    align-content: start;
  }
  .product-panel .panel-copy .kicker,
  .product-panel .panel-copy h3,
  .product-panel .panel-copy > p:not(.kicker),
  .product-panel .clean-list-single {
    margin: 0;
    min-height: 0;
    align-self: start;
  }
  .product-panel .panel-copy h3 {
    padding-top: 2px;
  }
  .product-panel .panel-copy > p:not(.kicker) {
    padding-top: 4px;
  }
}

.demo-detail-card {
  display: grid;
  gap: 12px;
  background: transparent;
}
.demo-detail-card p,
.demo-detail-card p:first-child,
.demo-detail-card p:last-child {
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #58625b;
  font-size: 12px;
  line-height: 1.62;
}
.demo-detail-card strong { color: var(--ink); }

/* --- V9: shared row alignment for the two product cards --- */
@media (min-width: 761px) {
  .two-part-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto auto auto;
    column-gap: 22px;
    row-gap: 0;
    align-items: stretch;
  }

  .two-part-grid .product-panel {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 1 / span 4;
    min-width: 0;
  }

  .two-part-grid .product-panel:first-child { grid-column: 1; }
  .two-part-grid .product-panel:nth-child(2) { grid-column: 2; }

  .two-part-grid .product-panel .panel-copy {
    display: contents;
  }

  .two-part-grid .product-panel .panel-copy .kicker,
  .two-part-grid .product-panel .panel-copy h3,
  .two-part-grid .product-panel .panel-copy > p:not(.kicker),
  .two-part-grid .product-panel .clean-list-single {
    width: 52%;
    max-width: none;
    min-height: 0;
    margin: 0;
    align-self: start;
  }

  .two-part-grid .product-panel .panel-copy .kicker {
    grid-row: 1;
    padding: 0 0 12px;
  }

  .two-part-grid .product-panel .panel-copy h3 {
    grid-row: 2;
    padding: 0 0 20px;
  }

  .two-part-grid .product-panel .panel-copy > p:not(.kicker) {
    grid-row: 3;
    padding: 0 0 20px;
  }

  .two-part-grid .product-panel .clean-list-single {
    grid-row: 4;
    padding: 0;
  }
}

@media (min-width: 761px) and (max-width: 1080px) {
  .two-part-grid .product-panel .panel-copy .kicker,
  .two-part-grid .product-panel .panel-copy h3,
  .two-part-grid .product-panel .panel-copy > p:not(.kicker),
  .two-part-grid .product-panel .clean-list-single {
    width: 54%;
  }
}

/* --- V10: responsive-only polish; desktop remains unchanged --- */
.hero-actions-mobile,
.mini-mobile-image { display: none; }

@media (max-width: 760px) {
  /* Hero: copy, image, then CTAs */
  .hero-grid { gap: 24px; }
  .hero-copy .hero-actions { display: none; }
  .hero-actions-mobile {
    display: flex;
    width: 100%;
    margin: 2px 0 0;
    gap: 10px;
  }
  .hero-actions-mobile .button { flex: 1 1 0; }
  .hero-image-wrap { aspect-ratio: 4 / 3; }
  .hero-image-wrap > img { object-position: 55% center; }
  .hero-single-note-small {
    width: min(205px, calc(100% - 74px));
    max-width: 205px;
    padding: 8px 10px;
    gap: 8px;
    bottom: 14px;
  }
  .hero-single-note-small .tap-icon-wrap {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    border-radius: 10px;
  }
  .hero-single-note-small strong { font-size: 10px; line-height: 1.32; }
  .hero-single-note-small small { display: none; }

  /* Product cards: compact editorial visual stage */
  .product-panel {
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 28px;
  }
  .product-panel .panel-copy { display: block; }
  .product-panel .panel-copy .kicker { margin-bottom: 11px; }
  .product-panel .panel-copy h3 { margin: 0 0 16px; }
  .product-panel .panel-copy > p:not(.kicker) { margin: 0; }
  .product-panel .clean-list-single {
    max-width: none;
    width: 100%;
    margin: 18px 0 0;
    font-size: 12px;
  }
  .hardware-object-top,
  .phone-object-top {
    position: relative;
    inset: auto;
    width: 100%;
    height: 175px;
    margin: 20px 0 0;
    transform: none;
    border-radius: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  .hardware-object-top {
    background: radial-gradient(circle at 50% 55%, rgba(189,107,70,.22), rgba(255,255,255,.025) 61%, transparent 72%);
  }
  .phone-object-top {
    background: linear-gradient(145deg, rgba(255,255,255,.34), rgba(219,214,203,.18));
    filter: none;
  }
  .hardware-object-top img {
    width: auto;
    max-width: 72%;
    max-height: 150px;
  }
  .phone-object-top img {
    width: auto;
    max-width: 72%;
    max-height: 205px;
    transform: translateY(16px);
    filter: drop-shadow(0 18px 20px rgba(45,40,32,.17));
  }
  .hardware-object-top .object-glow { width: 48%; }

  /* Built around real properties: equal-size horizontal cards */
  .feature-grid {
    display: flex;
    overflow-x: auto;
    gap: 12px;
    scroll-snap-type: x mandatory;
    padding: 0 15px 14px;
    margin-inline: -15px;
    scrollbar-width: none;
  }
  .feature-grid::-webkit-scrollbar { display: none; }
  .feature-grid .feature-card,
  .feature-grid .feature-wide-equal {
    flex: 0 0 min(82vw, 340px);
    width: min(82vw, 340px);
    height: 280px;
    min-height: 280px;
    scroll-snap-align: center;
    grid-column: auto;
    padding: 24px;
  }
  .feature-grid .feature-wide-equal {
    display: grid;
    grid-template-columns: 1.05fr .85fr;
    gap: 12px;
  }
  .feature-grid .property-collage-compact { height: 185px; }

  /* Mini Tapps: image becomes a visible content block */
  .mini-tapps-section {
    height: auto;
    padding: 86px 0;
    background: #0c0e0d;
  }
  .mini-tapps-bg { display: none; }
  .mini-tapps-content { height: auto; display: block; }
  .mini-copy { max-width: none; }
  .mini-mobile-image {
    display: block;
    margin: 28px 0 24px;
    height: 320px;
    overflow: hidden;
    border-radius: 25px;
    box-shadow: 0 24px 55px rgba(0,0,0,.26);
  }
  .mini-mobile-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 63% center;
  }
  .amenity-tags-icons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 22px;
    margin-top: 26px;
  }
  .amenity-tags-icons span {
    padding: 0;
    border: 0;
    border-radius: 0;
    font-size: 13px;
    line-height: 1.4;
  }
  .amenity-tags-icons span:last-child {
    grid-column: 1 / -1;
    justify-self: center;
  }

  /* Mobile video: contained, centered and not touching the edge */
  .standalone-video-card {
    height: 350px;
    grid-template-columns: 1.05fr .95fr;
  }
  .standalone-video-frame {
    min-height: 0;
    margin: 14px 14px 14px 0;
    border-radius: 18px;
    overflow: hidden;
  }
  .standalone-video-frame video {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  /* Properties and pricing become swipeable carousels */
  .property-showcase,
  .pricing-grid {
    display: flex;
    overflow-x: auto;
    gap: 13px;
    scroll-snap-type: x mandatory;
    padding: 0 15px 16px;
    margin-inline: -15px;
    scrollbar-width: none;
  }
  .property-showcase::-webkit-scrollbar,
  .pricing-grid::-webkit-scrollbar { display: none; }
  .property-showcase .property-card {
    flex: 0 0 min(82vw, 350px);
    width: min(82vw, 350px);
    height: 365px;
    min-height: 365px;
    scroll-snap-align: center;
    grid-row: auto;
  }
  .pricing-grid .price-card {
    flex: 0 0 min(84vw, 365px);
    width: min(84vw, 365px);
    scroll-snap-align: center;
  }
  .pricing-grid .price-card.featured {
    order: -1;
    transform: none;
  }

  /* Footer: compact columns instead of one long list */
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px 24px;
  }
  .footer-grid > div:first-child,
  .footer-grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 460px) {
  .hero-actions-mobile { flex-direction: column; }
  .hero-actions-mobile .button { width: 100%; }
  .hero-single-note-small {
    width: min(185px, calc(100% - 60px));
    max-width: 185px;
  }
  .hero-single-note-small strong { font-size: 9px; }

  .product-panel { padding: 24px; }
  .hardware-object-top,
  .phone-object-top { height: 160px; }
  .hardware-object-top img { max-height: 137px; }
  .phone-object-top img { max-height: 190px; }

  .feature-grid .feature-card,
  .feature-grid .feature-wide-equal {
    flex-basis: 84vw;
    width: 84vw;
    height: 270px;
    min-height: 270px;
  }
  .feature-grid .feature-wide-equal { grid-template-columns: 1fr .72fr; }
  .feature-grid .property-collage-compact { height: 165px; }

  .mini-mobile-image { height: 285px; }
  .amenity-tags-icons { gap: 13px 16px; }

  .standalone-video-card {
    height: 330px;
    grid-template-columns: 1.02fr .98fr;
  }
  .standalone-video-copy { padding: 20px 14px 20px 18px; }
  .standalone-video-copy h3 { font-size: 20px; }
  .standalone-video-copy p { font-size: 11px; }
  .standalone-video-frame { margin: 12px 12px 12px 0; }

  .property-showcase .property-card { flex-basis: 84vw; width: 84vw; }
  .pricing-grid .price-card { flex-basis: 87vw; width: 87vw; }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 20px;
  }
  .footer-grid > div:first-child,
  .footer-grid > div:last-child { grid-column: 1 / -1; }
}

/* --- V11: responsive refinements only; desktop remains unchanged --- */
.ai-included-note { display: none; }

@media (max-width: 760px) {
  /* How Tapplify Works: clean PNG first, compact card second. */
  .two-part-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .product-panel,
  .hardware-panel,
  .software-panel {
    min-height: 0;
    padding: 0;
    overflow: visible;
    border-radius: 0;
    background: transparent;
    display: flex;
    flex-direction: column;
  }
  .product-panel .panel-number { display: none; }
  .product-panel .panel-copy {
    order: 2;
    width: 100%;
    max-width: none;
    padding: 28px;
    border-radius: 26px;
    overflow: hidden;
  }
  .hardware-panel .panel-copy {
    background: var(--forest-dark);
    color: white;
  }
  .software-panel .panel-copy {
    background: var(--paper-deep);
    color: var(--ink);
  }
  .product-panel .panel-copy h3 {
    margin: 0 0 16px;
  }
  .product-panel .panel-copy > p:not(.kicker) {
    margin: 0;
  }
  .product-panel .clean-list-single {
    margin: 20px 0 0;
  }

  .hardware-object-top,
  .phone-object-top {
    order: 1;
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: none;
    filter: none;
    transform: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .hardware-object-top .object-glow { display: none; }
  .hardware-object-top img {
    width: min(86%, 330px);
    max-width: none;
    height: auto;
    max-height: none;
    object-fit: contain;
    filter: none;
    transform: none;
  }
  .phone-object-top img {
    width: min(72%, 285px);
    max-width: none;
    height: auto;
    max-height: none;
    object-fit: contain;
    filter: none;
    transform: none;
  }

  /* Mini Tapps: eyebrow, title, subtitle, then image. */
  .mini-copy {
    display: flex;
    flex-direction: column;
  }
  .mini-copy .eyebrow { order: 1; }
  .mini-copy h2 { order: 2; }
  .mini-copy > p:not(.eyebrow) {
    order: 3;
    margin-bottom: 0;
  }
  .mini-mobile-image {
    order: 4;
    margin: 30px 0 0;
  }
  .mini-copy .amenity-tags-icons { display: none; }

  /* Designed for mobile: full-width copy followed by a large portrait video. */
  .standalone-video-card {
    display: block;
    height: auto;
    min-height: 0;
    padding: 0 0 16px;
    border-radius: 28px;
    overflow: hidden;
  }
  .standalone-video-copy {
    width: 100%;
    padding: 30px 28px 26px;
  }
  .standalone-video-copy h3 {
    max-width: none;
  }
  .standalone-video-copy p {
    max-width: none;
  }
  .standalone-video-frame {
    width: calc(100% - 28px);
    height: min(145vw, 610px);
    min-height: 440px;
    margin: 0 auto;
    border-radius: 22px;
    overflow: hidden;
    background: #0f1713;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .standalone-video-frame video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #0f1713;
  }

  /* Pricing keeps the natural order and makes the AI plan obvious. */
  .pricing-grid .price-card:nth-child(1) { order: 1; }
  .pricing-grid .price-card.featured { order: 2; }
  .pricing-grid .price-card:nth-child(3) { order: 3; }
  .pricing-grid .price-card.featured {
    padding-top: 54px;
    overflow: visible;
  }
  .pricing-grid .price-card.featured .popular-pill {
    top: 14px;
    right: 22px;
  }
  .ai-included-note {
    display: flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin: -8px 0 20px;
    padding: 9px 12px;
    border-radius: 999px;
    background: var(--sage-light);
    color: var(--forest);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .01em;
  }
  .ai-included-note span { color: var(--clay); }
}

@media (max-width: 460px) {
  .two-part-grid { gap: 42px; }
  .product-panel .panel-copy { padding: 24px; }
  .hardware-object-top img { width: min(90%, 310px); }
  .phone-object-top img { width: min(76%, 270px); }

  .mini-mobile-image { height: 300px; }

  .standalone-video-card { border-radius: 25px; }
  .standalone-video-copy { padding: 26px 22px 22px; }
  .standalone-video-frame {
    width: calc(100% - 20px);
    height: 150vw;
    min-height: 430px;
    max-height: 590px;
    border-radius: 20px;
  }

  .pricing-grid .price-card.featured { padding-top: 52px; }
  .pricing-grid .price-card.featured .popular-pill {
    top: 13px;
    right: 18px;
  }
}

/* --- V13: lead forms and live CTA links --- */
body.modal-open { overflow: hidden; }

.form-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 24px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, visibility .22s ease;
}
.form-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.form-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 23, 18, .72);
  backdrop-filter: blur(12px);
}
.form-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 800px);
  max-height: calc(100dvh - 48px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 42px;
  border-radius: 30px;
  background: var(--cream);
  box-shadow: 0 30px 100px rgba(6, 18, 12, .34);
  transform: translateY(18px) scale(.985);
  transition: transform .22s ease;
}
.form-modal.is-open .form-modal-dialog { transform: translateY(0) scale(1); }
.form-modal-close {
  position: sticky;
  top: 0;
  z-index: 3;
  float: right;
  width: 42px;
  height: 42px;
  margin: -6px -6px 0 18px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(255, 253, 248, .94);
  color: var(--ink);
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
}
.form-modal-close:hover { border-color: var(--ink); }
.form-modal-heading { padding-right: 38px; }
.form-modal-heading .eyebrow { margin-bottom: 16px; }
.form-modal-heading h2 {
  max-width: 570px;
  margin-bottom: 16px;
  font-size: clamp(38px, 5vw, 58px);
}
.form-modal-heading > p:last-child {
  max-width: 560px;
  margin-bottom: 28px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
}
.tapplify-form-shell {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: white;
}
.tapplify-form-shell [hidden] { display: none !important; }
.tapplify-form { display: grid; gap: 20px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-field { display: grid; gap: 8px; }
.form-field label {
  color: var(--ink);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.35;
}
.form-field label > span { color: var(--clay); }
.form-field label > small {
  margin-left: 5px;
  color: #8b918c;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  border: 1px solid #d6d1c8;
  border-radius: 13px;
  background: var(--cream);
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  transition: border-color .18s, box-shadow .18s, background .18s;
}
.form-field input,
.form-field select { height: 52px; padding: 0 14px; }
.form-field textarea {
  min-height: 118px;
  padding: 14px;
  line-height: 1.55;
  resize: vertical;
}
.form-field input::placeholder,
.form-field textarea::placeholder { color: #999d99; opacity: 1; }
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  outline: none;
  border-color: var(--brand-purple);
  background: white;
  box-shadow: 0 0 0 3px rgba(136,85,255,.11);
}
.form-field-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.form-privacy-copy {
  margin: -2px 0 0;
  color: #7c827d;
  font-size: 10px;
  line-height: 1.55;
}
.form-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.form-submit-row .button { min-width: 190px; }
.form-required-note { color: #8b918c; font-size: 10px; }
.form-preview-note {
  margin: -3px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(136,85,255,.07);
  color: #6e6a77;
  font-size: 10px;
  line-height: 1.5;
}
.form-preview-note strong { color: var(--brand-purple); }
.form-success {
  min-height: 360px;
  padding: 46px 28px;
  text-align: center;
}
.form-success-icon {
  width: 66px;
  height: 66px;
  margin: 0 auto 25px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--sage);
  color: var(--forest);
  font-size: 28px;
  font-weight: 800;
}
.form-success .eyebrow { justify-content: center; margin-bottom: 13px; }
.form-success h3 { margin: 0 0 14px; font-size: 34px; }
.form-success > p:not(.eyebrow) {
  max-width: 520px;
  margin: 0 auto 28px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

@media (max-width: 760px) {
  .form-modal { padding: 10px; align-items: end; }
  .form-modal-dialog {
    width: 100%;
    max-height: calc(100dvh - 20px);
    padding: 28px 20px 22px;
    border-radius: 26px 26px 18px 18px;
  }
  .form-modal-close {
    width: 40px;
    height: 40px;
    margin-top: -2px;
  }
  .form-modal-heading { padding-right: 22px; }
  .form-modal-heading h2 { font-size: 39px; }
  .form-modal-heading > p:last-child { font-size: 14px; margin-bottom: 20px; }
  .tapplify-form-shell { padding: 19px 16px; border-radius: 18px; }
  .tapplify-form { gap: 18px; }
  .form-grid { grid-template-columns: 1fr; gap: 18px; }
  .form-submit-row { align-items: stretch; flex-direction: column; gap: 10px; }
  .form-submit-row .button { width: 100%; }
  .form-required-note { text-align: center; }
  .form-success { min-height: 320px; padding: 38px 12px; }
  .form-success h3 { font-size: 30px; }
}

/* --- V14: optional hardware purchasing clarity --- */
.hardware-purchase-note {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: start;
  gap: 11px;
  max-width: 360px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.15);
}
.software-panel + .hardware-purchase-note { border-color: var(--line); }
.hardware-purchase-note-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.11);
  color: var(--clay);
  font-size: 14px;
}
.hardware-purchase-note p { margin: 0; }
.hardware-purchase-note strong {
  display: block;
  color: white;
  font-size: 12px;
  line-height: 1.45;
}
.hardware-purchase-note small {
  display: block;
  margin-top: 4px;
  color: #aebdb4;
  font-size: 10px;
  line-height: 1.5;
}

.hardware-addon-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 210px;
  align-items: center;
  min-height: 230px;
  margin-top: 42px;
  padding: 36px 42px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--paper-deep);
}
.hardware-addon-copy { position: relative; z-index: 2; max-width: 720px; }
.hardware-addon-label {
  margin: 0 0 12px;
  color: var(--clay);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.hardware-addon-copy h3 {
  margin: 0 0 11px;
  font-size: clamp(28px, 3vw, 38px);
}
.hardware-addon-copy > p:not(.hardware-addon-label) {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.65;
}
.hardware-addon-copy > span {
  display: block;
  margin-top: 15px;
  color: var(--forest);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .02em;
}
.hardware-addon-visual {
  position: absolute;
  right: 18px;
  bottom: -54px;
  width: 210px;
  height: 290px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
}
.hardware-addon-visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 22px 25px rgba(27,35,30,.18));
}

@media (max-width: 1080px) {
  .hardware-addon-card { grid-template-columns: 1fr 170px; }
  .hardware-addon-copy { max-width: 590px; }
  .hardware-addon-visual { width: 175px; right: 8px; }
}

@media (max-width: 760px) {
  .hardware-purchase-note {
    max-width: none;
    margin-top: 18px;
    padding-top: 16px;
  }
  .hardware-purchase-note strong { font-size: 11px; }
  .hardware-purchase-note small { font-size: 9.5px; }

  .hardware-addon-card {
    display: block;
    min-height: 0;
    margin-top: 28px;
    padding: 28px 24px 0;
    border-radius: 24px;
  }
  .hardware-addon-copy > p:not(.hardware-addon-label) { font-size: 14px; }
  .hardware-addon-copy > span { font-size: 10px; line-height: 1.5; }
  .hardware-addon-visual {
    position: relative;
    right: auto;
    bottom: auto;
    width: min(58%, 190px);
    height: 210px;
    margin: 8px auto -36px;
  }
}

/* --- V15: hardware purchasing copy and collision-safe placement --- */
@media (min-width: 761px) {
  .two-part-grid {
    grid-template-rows: auto auto auto auto auto;
  }

  .two-part-grid .product-panel {
    grid-row: 1 / span 5;
  }

  .two-part-grid .hardware-purchase-note {
    grid-row: 5;
    width: 52%;
    max-width: none;
    min-width: 0;
    margin: 22px 0 0;
    padding-top: 18px;
    align-self: start;
  }
}

@media (min-width: 761px) and (max-width: 1080px) {
  .two-part-grid .hardware-purchase-note {
    width: 54%;
  }
}

@media (max-width: 760px) {
  .hardware-purchase-note {
    clear: both;
    position: relative;
    margin-top: 20px;
  }
}

/* --- V16: 15-day proof-of-value trial strategy --- */
.trial-meta {
  display: block;
  max-width: 650px;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}
.trial-meta span { margin-right: 3px; color: var(--brand-purple); font-weight: 800; }
.trial-meta i { width: 3px; height: 3px; border-radius: 50%; background: #a49f96; }
.trial-meta-mobile { display: none; }

.trial-banner { padding: 24px 0; }
.trial-banner-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  text-align: center;
}
.trial-banner-inner strong {
  color: var(--forest-dark);
  font-family: Georgia, serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -.02em;
}
.trial-banner-inner span { color: var(--muted); font-size: 13px; line-height: 1.55; }

.demo-trial-cta { margin-top: 8px; }
.demo-trial-cta p { margin: 0 0 16px; color: #aebdb4; font-size: 13px; line-height: 1.55; }
.demo-trial-cta strong { color: white; }

.proof-trial-section { background: var(--cream); }
.proof-trial-heading { margin-bottom: 54px; }
.proof-trial-grid {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 52px;
  align-items: stretch;
}
.proof-trial-flow {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
}
.proof-step {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 16px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.proof-step:first-child { border-top: 1px solid var(--line); }
.proof-step > span {
  font-family: Georgia, serif;
  font-style: italic;
  color: var(--brand-purple);
  font-size: 16px;
}
.proof-step h3 { margin: 0 0 7px; font-size: 22px; }
.proof-step p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.proof-trial-button { align-self: flex-start; margin-top: 28px; }
.proof-trial-visual {
  position: relative;
  min-height: 520px;
  padding: 38px;
  border-radius: var(--radius-lg);
  background: var(--sage-light);
  overflow: hidden;
}
.proof-trial-visual::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -70px;
  top: -70px;
  border-radius: 50%;
  background: rgba(136,85,255,.10);
}
.trial-report-card {
  position: relative;
  z-index: 2;
  max-width: 590px;
  margin: 10px auto 0;
  padding: 26px;
  border-radius: 25px;
  background: white;
  box-shadow: var(--shadow);
  transform: rotate(1deg);
}
.trial-report-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.trial-report-top > div { display: flex; flex-direction: column; gap: 5px; }
.trial-report-top small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.trial-report-top strong { font-size: 20px; }
.trial-report-top > span {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(136,85,255,.1);
  color: var(--brand-purple);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .12em;
}
.trial-report-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 22px 0; }
.trial-report-stats > div { padding: 15px; border-radius: 14px; background: var(--paper); display: flex; flex-direction: column; gap: 5px; }
.trial-report-stats small { color: var(--muted); font-size: 9px; }
.trial-report-stats strong { font-size: 28px; line-height: 1; }
.trial-report-stats em { color: #7b817c; font-size: 8px; font-style: normal; }
.trial-report-activity { padding-top: 18px; border-top: 1px solid var(--line); }
.trial-report-label { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 16px; }
.trial-report-label span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.trial-report-label strong { font-size: 12px; }
.trial-bar { display: grid; grid-template-columns: 105px 1fr 24px; align-items: center; gap: 10px; margin: 11px 0; font-size: 10px; }
.trial-bar > span { color: #535e56; }
.trial-bar i { position: relative; height: 7px; border-radius: 999px; background: #ede9e2; overflow: hidden; }
.trial-bar i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--bar); border-radius: inherit; background: var(--brand-purple); opacity: .72; }
.trial-bar b { font-size: 10px; text-align: right; }
.trial-report-note { margin: 18px 0 0; color: #96948d; font-size: 8px; line-height: 1.45; }
.trial-proof-badge {
  position: absolute;
  z-index: 3;
  right: 26px;
  bottom: 25px;
  width: 155px;
  height: 155px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--forest-dark);
  color: white;
  transform: rotate(-7deg);
  box-shadow: 0 20px 45px rgba(23,54,44,.22);
}
.trial-proof-badge span { font-size: 10px; line-height: 1.6; color: #cbd8d1; }
.trial-proof-badge strong { margin-top: 3px; font-family: Georgia, serif; font-size: 15px; font-weight: 500; }

.steps-grid-trial { grid-template-columns: repeat(4, 1fr); }
.steps-grid-trial .step-card { min-height: 450px; padding: 26px; }
.steps-grid-trial .step-visual { height: 195px; }
.step-insights { align-content: center; gap: 10px; padding: 34px; }
.step-insights strong { color: var(--brand-purple); font-family: Georgia, serif; font-size: 56px; font-weight: 500; }
.step-insights i { display: block; height: 9px; border-radius: 999px; background: #d7d2ca; }
.step-insights i:nth-of-type(1) { width: 88%; }
.step-insights i:nth-of-type(2) { width: 68%; }
.step-insights i:nth-of-type(3) { width: 77%; }

.dashboard-insight-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 9px;
  margin: -6px 0 15px;
  padding: 11px 13px;
  border-radius: 12px;
  background: rgba(136,85,255,.07);
}
.dashboard-insight-row span { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.dashboard-insight-row strong { font-size: 10px; }
.dashboard-insight-row em { color: var(--brand-purple); font-size: 9px; font-style: normal; font-weight: 700; }

.pricing-trial-callout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 24px auto 0;
  padding: 11px 15px;
  border-radius: 999px;
  background: rgba(136,85,255,.08);
  color: var(--ink);
  font-size: 11px;
}
.pricing-trial-callout span { color: var(--brand-purple); font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.pricing-trial-callout strong { font-weight: 720; }
.pricing-trial-callout small { color: var(--muted); font-size: 10px; }

@media (max-width: 1080px) {
  .proof-trial-grid { grid-template-columns: 1fr; gap: 34px; }
  .proof-trial-visual { min-height: 500px; }
  .steps-grid-trial { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .trial-meta-desktop { display: none; }
  .trial-meta-mobile {
    display: block;
    margin: 0;
    padding: 2px 10px 0;
    text-align: center;
    font-size: 9.5px;
    line-height: 1.55;
  }
  .trial-meta-mobile i { display: none; }
  .trial-meta-mobile span { display: inline; }

  .trial-banner { padding: 20px 0; }
  .trial-banner-inner { flex-direction: column; gap: 6px; }
  .trial-banner-inner strong { font-size: 18px; }
  .trial-banner-inner span { max-width: 320px; font-size: 11px; }

  .demo-trial-cta { margin-top: 22px; }

  .proof-trial-section { padding-top: 88px; padding-bottom: 88px; }
  .proof-trial-heading { margin-bottom: 38px; }
  .proof-trial-grid { gap: 28px; }
  .proof-step { grid-template-columns: 40px 1fr; padding: 18px 0; }
  .proof-step h3 { font-size: 19px; }
  .proof-step p { font-size: 12px; }
  .proof-trial-button { width: 100%; margin-top: 22px; }
  .proof-trial-visual { min-height: 430px; padding: 18px; border-radius: 25px; }
  .trial-report-card { padding: 18px; border-radius: 20px; transform: none; }
  .trial-report-stats { gap: 6px; }
  .trial-report-stats > div { padding: 11px; }
  .trial-report-stats strong { font-size: 23px; }
  .trial-bar { grid-template-columns: 88px 1fr 20px; gap: 7px; }
  .trial-proof-badge { width: 116px; height: 116px; right: 16px; bottom: 15px; }
  .trial-proof-badge span { font-size: 8px; }
  .trial-proof-badge strong { font-size: 12px; }

  .steps-grid-trial {
    display: flex;
    grid-template-columns: none;
  }
  .steps-grid-trial .step-card { min-height: 390px; }
  .steps-grid-trial .step-visual { height: 175px; }

  .dashboard-insight-row { grid-template-columns: 1fr auto; }
  .dashboard-insight-row span { grid-column: 1 / -1; }

  .pricing-trial-callout {
    display: flex;
    width: 100%;
    border-radius: 20px;
    flex-direction: column;
    gap: 4px;
    padding: 13px 15px;
  }
}

/* --- V17: lead with the product-in-action video; reuse the original hero image later --- */
.standalone-image-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 760px) {
  .standalone-image-frame {
    width: calc(100% - 28px);
    height: 58vw;
    min-height: 250px;
    max-height: 390px;
    margin: 0 auto;
    border-radius: 22px;
    overflow: hidden;
  }
  .standalone-image-frame img {
    object-position: 56% center;
  }
}

@media (max-width: 460px) {
  .standalone-image-frame {
    width: calc(100% - 20px);
    height: 62vw;
    min-height: 230px;
    max-height: 330px;
    border-radius: 20px;
  }
}

/* --- V18: guest-experience video becomes the hero visual --- */
.hero-video-wrap {
  background: #0f1713;
  aspect-ratio: 4 / 5;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-video-wrap::after {
  background: linear-gradient(180deg, transparent 65%, rgba(12,25,20,.16));
}
.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #0f1713;
}

@media (max-width: 760px) {
  .hero-video-wrap {
    aspect-ratio: 4 / 5;
  }
  .hero-video {
    object-fit: contain;
  }
}

/* --- V19 real live demo --- */
.live-demo-phone { overflow: hidden; }
.live-demo-screen { background: #fff; }
.live-demo-frame { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.demo-live-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.demo-external-link { color: #f1eee7; font-size: 13px; font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(241,238,231,.42); padding-bottom: 3px; }
.demo-external-link:hover { border-bottom-color: #f1eee7; }
.live-demo-fallback { max-width: 390px; margin: 12px auto 0; color: #93a49b; font-size: 11px; line-height: 1.55; text-align: center; }
.live-demo-fallback a { color: #d7e2dc; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 760px) {
  .demo-live-actions { align-items: stretch; gap: 14px; }
  .demo-live-actions .button { width: 100%; justify-content: center; }
  .demo-external-link { width: 100%; text-align: center; border-bottom: 0; padding: 4px 0; }
  .live-demo-fallback { padding: 0 12px; }
}

/* --- V20: clearer positioning, premium hero balance, real-demo QR and simple setup --- */
@media (min-width: 1081px) {
  .hero-grid {
    grid-template-columns: 1fr .82fr;
    align-items: stretch;
    gap: 68px;
    min-height: 650px;
  }
  .hero-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 0;
  }
  .hero-copy h1 {
    max-width: 690px;
    font-size: clamp(54px, 5.15vw, 79px);
    line-height: 1.01;
    text-wrap: balance;
  }
  .hero-lede {
    max-width: 640px;
    font-size: 18px;
    line-height: 1.62;
    text-wrap: pretty;
  }
  .hero-copy .trial-meta-desktop {
    margin-top: auto;
    padding-top: 20px;
  }
  .hero-media {
    height: 100%;
    min-height: 0;
    display: flex;
    align-items: stretch;
    justify-content: center;
  }
  .hero-video-wrap {
    height: 100%;
    width: auto;
    aspect-ratio: 9 / 16;
    min-height: 0;
    max-width: 100%;
    border-radius: 30px;
    overflow: hidden;
    background: transparent;
    box-shadow: 0 28px 72px rgba(23, 38, 31, .18);
  }
  .hero-video-wrap::after { display: none; }
  .hero-video {
    position: static;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: transparent;
  }
}

#product .section-heading.centered { max-width: 1020px; }
#product .section-heading > p:last-child { max-width: 900px; }
#product .section-heading h2 { text-wrap: balance; }

.live-demo-device-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}
.live-demo-device-row .phone-shell {
  flex: 0 1 350px;
  width: min(350px, 100%);
}
.live-demo-qr-card {
  flex: 0 0 158px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: rgba(255,255,255,.055);
  text-align: center;
  box-shadow: 0 18px 45px rgba(0,0,0,.16);
}
.live-demo-qr-card img {
  display: block;
  width: 126px;
  max-width: 100%;
  aspect-ratio: 1;
  margin: 0 auto 14px;
  padding: 8px;
  border-radius: 14px;
  background: #fff;
}
.live-demo-qr-card strong {
  display: block;
  margin-bottom: 7px;
  color: #fff;
  font-family: Georgia, serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.18;
}
.live-demo-qr-card p {
  margin: 0;
  color: #aebdb4;
  font-size: 10px;
  line-height: 1.5;
}

.step-property-info {
  align-content: center;
  gap: 11px;
  padding: 34px;
}
.step-property-info i {
  display: block;
  height: 11px;
  border-radius: 999px;
  background: #d8d4cd;
}
.step-property-info i:nth-child(1) { width: 92%; }
.step-property-info i:nth-child(2) { width: 72%; }
.step-property-info i:nth-child(3) { width: 83%; }
.step-property-info small {
  width: fit-content;
  margin-top: 6px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(136,85,255,.10);
  color: var(--brand-purple);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .12em;
}
.step-publish {
  display: grid;
  grid-template-columns: 1fr 72px;
  grid-template-rows: auto auto;
  align-content: center;
  gap: 11px 12px;
  padding: 30px;
}
.publish-link {
  align-self: center;
  padding: 12px 14px;
  border-radius: 11px;
  background: #fff;
  color: #6c716d;
  font-size: 10px;
  box-shadow: 0 7px 20px rgba(37,43,38,.07);
}
.publish-qr {
  grid-row: 1 / span 2;
  grid-column: 2;
  width: 72px;
  height: 72px;
  padding: 9px;
  border-radius: 12px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 5px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(37,43,38,.07);
}
.publish-qr i { display: block; border: 4px solid var(--forest); border-radius: 2px; }
.step-publish small {
  grid-column: 1;
  width: fit-content;
  padding: 7px 9px;
  border-radius: 999px;
  background: var(--sage);
  color: var(--forest);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .1em;
}
.setup-dashboard-note {
  margin: 28px auto 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  text-align: center;
}

@media (min-width: 761px) and (max-width: 1080px) {
  .hero-copy h1 { text-wrap: balance; }
  .live-demo-device-row { gap: 18px; }
  .live-demo-device-row .phone-shell { flex-basis: 335px; width: min(335px, 100%); }
  .live-demo-qr-card { flex-basis: 145px; padding: 14px; }
  .live-demo-qr-card img { width: 112px; }
}

@media (max-width: 760px) {
  .hero-copy { display: block; }
  .hero-copy h1 {
    max-width: 100%;
    font-size: clamp(46px, 13.2vw, 62px);
    line-height: 1.01;
    text-wrap: balance;
  }
  .hero-lede { max-width: 100%; text-wrap: pretty; }
  .hero-media { height: auto; display: flex; justify-content: center; }
  .hero-video-wrap {
    width: min(78vw, 330px);
    height: auto;
    aspect-ratio: 9 / 16;
    min-height: 0;
    border-radius: 26px;
    background: transparent;
    box-shadow: 0 24px 55px rgba(23,38,31,.16);
  }
  .hero-video-wrap::after { display: none; }
  .hero-video { position: static; width: 100%; height: 100%; object-fit: cover; background: transparent; }

  #product .section-heading.centered { max-width: 100%; }
  #product .section-heading > p:last-child { max-width: 100%; }

  .live-demo-device-row { display: block; }
  .live-demo-device-row .phone-shell { width: 100%; max-width: 390px; margin: 0 auto; }
  .live-demo-qr-card { display: none; }

  .step-property-info { padding: 28px; }
  .step-publish { padding: 25px; grid-template-columns: 1fr 64px; }
  .publish-qr { width: 64px; height: 64px; }
  .setup-dashboard-note { max-width: 290px; margin-top: 22px; font-size: 11px; }
}

/* --- V21: conversion flow, compact hero, clean live demo, visual rhythm --- */
@media (min-width: 1081px) {
  .hero.section-pad {
    padding-top: 28px;
    padding-bottom: 34px;
  }
  .hero-grid {
    min-height: clamp(520px, calc(100svh - 145px), 590px);
    height: clamp(520px, calc(100svh - 145px), 590px);
    align-items: stretch;
    gap: 60px;
  }
  .hero-copy .eyebrow { margin-bottom: 15px; }
  .hero-copy h1 {
    max-width: 690px;
    margin-bottom: 18px;
    font-size: clamp(50px, 4.55vw, 70px);
    line-height: 1.005;
  }
  .hero-lede {
    max-width: 640px;
    font-size: 16.5px;
    line-height: 1.52;
  }
  .hero-copy .hero-actions { margin: 23px 0 13px; }
  .hero-copy .trial-meta-desktop {
    margin-top: auto;
    padding-top: 8px;
  }
  .hero-media { height: 100%; }
  .hero-video-wrap {
    height: 100%;
    max-height: 590px;
    background: transparent;
    box-shadow: none;
    border: 0;
  }
  .hero-video {
    background: transparent;
  }
}

/* Keep the live property scrollable, but visually clip its browser scrollbar. */
.live-demo-screen { overflow: hidden; }
.live-demo-frame {
  width: calc(100% + 18px);
  max-width: none;
  margin-left: -6px;
  margin-right: -12px;
}

.live-demo-qr-card { padding-bottom: 15px; }
.ai-demo-callout {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 9px;
  align-items: start;
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.12);
  text-align: left;
}
.ai-demo-callout > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(136,85,255,.18);
  color: #c9b6ff;
  font-size: 13px;
}
.ai-demo-callout p { margin: 0; }
.ai-demo-callout strong {
  margin: 0 0 4px;
  color: #fff;
  font-family: inherit;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.35;
}
.ai-demo-callout small {
  display: block;
  color: #9eaea5;
  font-size: 8.5px;
  line-height: 1.45;
}

/* Revised section rhythm after reordering. */
.standalone-image-section { background: var(--paper); }
.properties-section { background: var(--cream); }
.proof-trial-section { background: var(--paper-deep); }

/* Show the complete hardware product in the pricing add-on card. */
.hardware-addon-card {
  min-height: 280px;
  padding-top: 40px;
  padding-bottom: 40px;
}
.hardware-addon-visual {
  right: 26px;
  bottom: 12px;
  width: 205px;
  height: 255px;
  align-items: center;
}
.hardware-addon-visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 1080px) and (min-width: 761px) {
  .hardware-addon-card { min-height: 260px; }
  .hardware-addon-visual {
    right: 12px;
    bottom: 10px;
    width: 175px;
    height: 225px;
  }
}

@media (max-width: 760px) {
  .live-demo-frame {
    width: calc(100% + 16px);
    margin-left: -5px;
    margin-right: -11px;
  }
  .hardware-addon-card {
    padding-bottom: 24px;
  }
  .hardware-addon-visual {
    position: relative;
    right: auto;
    bottom: auto;
    width: min(62%, 205px);
    height: 235px;
    margin: 10px auto 0;
  }
}

/* --- V24: multilingual navigation and six-property proof grid --- */
.language-switcher {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border: 1px solid rgba(33, 75, 60, .14);
  border-radius: 999px;
  background: rgba(255, 253, 248, .7);
}
.language-switcher button {
  min-width: 31px;
  height: 28px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  transition: background .2s, color .2s;
}
.language-switcher button:hover { color: var(--forest); }
.language-switcher button[aria-pressed="true"] {
  background: var(--forest-dark);
  color: #fff;
}
.language-switcher-mobile { display: none; }

.property-showcase {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, 390px);
}
.property-card > div { bottom: 26px; }
.property-card h3 { margin-bottom: 10px; }
.property-card span {
  display: block;
  max-width: 94%;
  font-size: 12px;
  line-height: 1.48;
  opacity: .94;
}

@media (max-width: 1080px) and (min-width: 761px) {
  .property-showcase {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, 380px);
  }
}

@media (max-width: 760px) {
  .language-switcher-mobile {
    display: inline-flex;
    margin-top: 8px;
  }
  .property-showcase {
    display: flex;
    grid-template-columns: none;
    grid-template-rows: none;
  }
  .property-showcase .property-card {
    height: 390px;
    min-height: 390px;
  }
  .property-card > div { left: 24px; right: 22px; bottom: 23px; }
  .property-card h3 { font-size: 25px; }
  .property-card span { max-width: 100%; font-size: 11.5px; }
}

/* --- V25: editorial bento, unified form and refined mobile rhythm --- */
.feature-icon-wifi svg {
  width: 23px;
  height: 23px;
  display: block;
}

.form-modal-dialog { background: var(--paper); }
.form-modal-close { background: rgba(247, 244, 238, .96); }
.tapplify-form-shell {
  padding: 0;
  border: 0;
  background: transparent;
}
.form-field input,
.form-field select,
.form-field textarea,
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { background: var(--cream); }

@media (min-width: 1081px) {
  .property-showcase {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(3, 230px);
    gap: 18px;
  }
  .property-wolm { grid-column: 1 / 3; grid-row: 1 / 3; }
  .property-tiny { grid-column: 3; grid-row: 1 / 3; }
  .property-suite { grid-column: 4; grid-row: 1 / 3; }
  .property-ayesha { grid-column: 1 / 3; grid-row: 3; }
  .property-urban { grid-column: 3; grid-row: 3; }
  .property-kabin { grid-column: 4; grid-row: 3; }

  .property-card::after {
    background: linear-gradient(180deg, transparent 28%, rgba(10,21,16,.82));
  }
  .property-urban > div,
  .property-kabin > div { left: 21px; right: 18px; bottom: 19px; }
  .property-urban h3,
  .property-kabin h3 { font-size: 22px; margin-bottom: 7px; }
  .property-urban span,
  .property-kabin span { max-width: 100%; font-size: 10.4px; line-height: 1.38; }
  .property-tiny h3,
  .property-suite h3 { font-size: 24px; }
  .property-tiny span,
  .property-suite span { max-width: 100%; font-size: 11px; line-height: 1.42; }
}

@media (max-width: 760px) {
  .section { padding: 72px 0; }
  .section-pad { padding: 42px 0 58px; }

  h2,
  .faq-intro h2 {
    font-size: clamp(32px, 8.8vw, 38px);
    line-height: 1.045;
    letter-spacing: -.045em;
    text-wrap: balance;
  }
  .hero-copy h1 {
    max-width: 100%;
    font-size: clamp(38px, 10.8vw, 44px);
    line-height: 1.045;
    letter-spacing: -.045em;
    text-wrap: balance;
  }
  .hero-lede { font-size: 16px; line-height: 1.58; }
  .hero-grid { gap: 32px; }
  .section-heading { margin-bottom: 35px; }
  .section-heading > p:last-child { font-size: 15px; line-height: 1.6; }
  .eyebrow { margin-bottom: 17px; }

  .editorial-grid { gap: 32px; }
  .editorial-grid-stretch .editorial-image img,
  .editorial-image img { height: 400px; min-height: 0; }
  .large-copy { font-size: 18px; line-height: 1.55; }

  .demo-grid { gap: 42px; }
  .demo-screen { height: 700px; }
  .phone-shell { border-radius: 39px; }
  .demo-screen { border-radius: 31px; }

  .mini-tapps-section { padding: 70px 0; }
  .mini-mobile-image { height: 265px; margin-top: 24px; }

  .standalone-video-frame {
    height: 105vw;
    min-height: 340px;
    max-height: 420px;
  }

  .form-modal-heading h2 { font-size: clamp(32px, 8.8vw, 38px); }
  .tapplify-form-shell { padding: 0; border-radius: 0; }
  .form-modal-dialog { padding: 27px 20px 22px; }
  .form-success { min-height: 280px; padding: 32px 10px; }

  .cta-media { height: 290px; }
}

@media (max-width: 460px) {
  .hero-copy h1 { font-size: clamp(37px, 10.5vw, 42px); }
  .editorial-grid-stretch .editorial-image img,
  .editorial-image img { height: 370px; }
  .demo-screen { height: 675px; }
  .mini-mobile-image { height: 245px; }
  .standalone-video-frame {
    height: 103vw;
    min-height: 330px;
    max-height: 400px;
  }
}

/* --- V26: immersive mobile demo, product hardware and restored responsive flow --- */
.demo-trial-cta-mobile,
.live-demo-launch,
.live-demo-cover,
.live-demo-overlay { display: none; }

.hardware-addon-card {
  grid-template-columns: minmax(0, 1fr) minmax(390px, .72fr);
  gap: 34px;
  min-height: 330px;
  padding: 38px 42px;
}
.hardware-addon-products {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
  min-width: 0;
}
.hardware-product {
  min-width: 0;
  height: 270px;
  margin: 0;
  padding: 18px 16px 16px;
  overflow: hidden;
  border: 1px solid rgba(33, 75, 60, .11);
  border-radius: 22px;
  background: rgba(255, 253, 248, .62);
  display: grid;
  grid-template-rows: 160px minmax(0, 1fr);
}
.hardware-product-image {
  height: 160px;
  min-height: 160px;
  padding: 10px;
  overflow: hidden;
  display: grid;
  place-items: center;
}
.hardware-product-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 22px rgba(27,35,30,.17));
}
.hardware-product-main .hardware-product-image img {
  width: 84%;
  height: 84%;
  transform: translateY(-14px);
  filter: drop-shadow(0 7px 16px rgba(27,35,30,.16));
}
.hardware-product-mini .hardware-product-image img { filter: drop-shadow(0 16px 20px rgba(27,35,30,.14)); }
.hardware-product figcaption {
  min-width: 0;
  margin-top: 12px;
  display: grid;
  grid-template-rows: 22px minmax(28px, auto);
  align-content: start;
}
.hardware-product figcaption strong {
  display: block;
  color: var(--forest-dark);
  font-family: Georgia, serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.18;
}
.hardware-product figcaption span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: .055em;
  text-transform: uppercase;
}

@media (max-width: 1080px) and (min-width: 761px) {
  .hardware-addon-card {
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
  }
  .hardware-product {
    height: 252px;
    grid-template-rows: 140px minmax(0, 1fr);
  }
  .hardware-product-image { height: 140px; min-height: 140px; }
  .hardware-product-main .hardware-product-image img { transform: translateY(-8px); }
}

@media (max-width: 760px) {
  #product .section-heading.centered,
  #product .section-heading.centered > * { text-align: left; }
  #product .section-heading.centered .eyebrow { justify-content: flex-start; }

  .demo-copy .demo-feature-grid,
  .demo-trial-cta-desktop,
  .interactive-demo .demo-hint { display: none; }
  .demo-trial-cta-mobile {
    display: block;
    width: 100%;
    margin-top: 0;
  }
  .demo-grid { gap: 36px; }
  .interactive-demo { width: 100%; }
  .live-demo-screen { isolation: isolate; }
  .live-demo-frame { display: none; pointer-events: none; }
  .live-demo-cover {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .live-demo-launch {
    position: absolute;
    inset: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 24px;
    border: 0;
    background: linear-gradient(180deg, transparent 66%, rgba(9, 19, 15, .18) 100%);
    color: #fff;
    text-align: left;
    cursor: pointer;
  }
  .live-demo-launch-glass {
    position: relative;
    width: min(100%, 335px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    padding: 18px 66px 18px 19px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 21px;
    background: rgba(8, 18, 14, .58);
    -webkit-backdrop-filter: blur(14px) saturate(1.15);
    backdrop-filter: blur(14px) saturate(1.15);
    box-shadow: 0 16px 38px rgba(0,0,0,.18);
    transform: translateY(-78px);
  }
  .live-demo-launch-glass > span {
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: .82;
  }
  .live-demo-launch-glass strong {
    max-width: 250px;
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.13;
  }
  .live-demo-launch-glass i {
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.46);
    border-radius: 50%;
    font-size: 16px;
    font-style: normal;
  }
  .live-demo-launch-glass i::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 6px;
    height: 6px;
    margin: -3px 0 0 -3px;
    border-radius: 50%;
    background: #8855ff;
    box-shadow: 0 0 0 3px rgba(136,85,255,.14), 0 0 11px rgba(136,85,255,.72);
    animation: live-demo-orbit 3.2s linear infinite;
  }

  body.live-demo-open { overflow: hidden; }
  .live-demo-overlay:not([hidden]) {
    position: fixed;
    inset: 0;
    z-index: 3000;
    height: 100vh;
    height: 100dvh;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    background: #fff;
  }
  .live-demo-overlay-bar {
    position: relative;
    z-index: 3;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: max(9px, env(safe-area-inset-top)) 14px 9px 18px;
    border-bottom: 1px solid rgba(33, 75, 60, .11);
    background: var(--paper);
    box-shadow: 0 4px 16px rgba(19,35,28,.07);
  }
  .live-demo-overlay-bar > span {
    color: var(--forest-dark);
    font-family: Georgia, serif;
    font-size: 14px;
  }
  .live-demo-back {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 3px 4px 3px 10px;
    border: 0;
    background: transparent;
    color: var(--forest-dark);
    font: inherit;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
  }
  .live-demo-back b {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(33, 75, 60, .18);
    border-radius: 50%;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
  }
  .live-demo-overlay-frame {
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 0;
    background: #fff;
  }
  .live-demo-swipe-zone {
    position: absolute;
    z-index: 4;
    top: 54px;
    bottom: 0;
    left: 0;
    width: 24px;
    touch-action: pan-y;
  }

  .hardware-addon-card {
    display: block;
    padding: 30px 24px 24px;
  }
  .hardware-addon-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    margin-top: 25px;
  }
  .hardware-product {
    height: 250px;
    padding: 14px 11px 13px;
    border-radius: 18px;
    grid-template-rows: 132px minmax(0, 1fr);
  }
  .hardware-product-image { height: 132px; min-height: 132px; padding: 8px; }
  .hardware-product-main .hardware-product-image img { transform: translateY(-8px); }
  .hardware-product figcaption { grid-template-rows: 20px minmax(38px, auto); }
  .hardware-product figcaption strong { font-size: 15px; }
  .hardware-product figcaption span { font-size: 7.5px; letter-spacing: .045em; }

  .faq-list details { position: relative; }
  .faq-list summary { cursor: pointer; }
  .faq-list details[open] summary span { transform: rotate(45deg); }
}

@keyframes live-demo-orbit {
  from { transform: rotate(0deg) translateX(19px); }
  to { transform: rotate(360deg) translateX(19px); }
}

@media (prefers-reduced-motion: reduce) {
  .live-demo-launch-glass i::after {
    animation: none;
    transform: rotate(315deg) translateX(19px);
  }
}

/* --- V30: desktop alignment and responsive refinement pass --- */
.mobile-demo-ui { display: none; }

@media (min-width: 761px) {
  #product .hardware-panel .hardware-object-top {
    top: 304px;
  }

  .live-demo-phone-stack {
    flex: 0 1 350px;
    width: min(350px, 100%);
  }

  .live-demo-device-row .live-demo-phone-stack .phone-shell {
    flex: none;
    width: 100%;
  }

  .live-demo-phone-stack .demo-hint {
    width: 100%;
    justify-content: center;
    margin: 14px 0 0;
    padding: 0 10px;
    font-size: 10px;
    line-height: 1.35;
    text-align: center;
    white-space: nowrap;
  }
}

@media (min-width: 761px) and (max-width: 1080px) {
  .live-demo-phone-stack {
    flex-basis: 335px;
    width: min(335px, 100%);
  }

  .live-demo-phone-stack .demo-hint {
    font-size: 9.5px;
    letter-spacing: .1em;
  }
}

@media (max-width: 760px) {
  .hero-actions-mobile {
    width: min(78vw, 330px);
    margin: 2px auto 0;
  }

  .hero-actions-mobile .button {
    flex: 0 0 auto;
    width: 100%;
  }

  #product .two-part-grid {
    gap: 18px;
  }

  #product .hardware-object-top,
  #product .phone-object-top {
    display: none;
  }

  #product .product-panel .panel-copy {
    order: 1;
  }

  .mobile-demo-ui {
    position: absolute;
    inset: 0 0 auto 0;
    z-index: 5;
    display: block;
    padding: 11px 14px 0;
    pointer-events: none;
  }

  .mobile-demo-statusbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
  }

  .mobile-demo-time {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
  }

  .mobile-demo-status-icons {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .mobile-demo-signal {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    height: 12px;
  }

  .mobile-demo-signal i {
    display: block;
    width: 2px;
    border-radius: 999px;
    background: #fff;
  }

  .mobile-demo-signal i:nth-child(1) { height: 4px; opacity: .72; }
  .mobile-demo-signal i:nth-child(2) { height: 6px; opacity: .82; }
  .mobile-demo-signal i:nth-child(3) { height: 8px; opacity: .9; }
  .mobile-demo-signal i:nth-child(4) { height: 10px; }

  .mobile-demo-wifi {
    position: relative;
    width: 14px;
    height: 10px;
    display: block;
  }

  .mobile-demo-wifi i {
    position: absolute;
    left: 50%;
    display: block;
    border: 1.4px solid transparent;
    border-top-color: #fff;
    border-radius: 50%;
    transform: translateX(-50%);
  }

  .mobile-demo-wifi i:nth-child(1) {
    top: -4px;
    width: 14px;
    height: 14px;
  }

  .mobile-demo-wifi i:nth-child(2) {
    top: -1px;
    width: 9px;
    height: 9px;
  }

  .mobile-demo-wifi i:nth-child(3) {
    top: 6px;
    width: 3px;
    height: 3px;
    border: 0;
    border-radius: 50%;
    background: #fff;
  }

  .mobile-demo-battery {
    position: relative;
    width: 22px;
    height: 11px;
    display: block;
    border: 1.5px solid #fff;
    border-radius: 3px;
  }

  .mobile-demo-battery::after {
    content: "";
    position: absolute;
    right: -3px;
    top: 2.5px;
    width: 2px;
    height: 4px;
    border-radius: 0 2px 2px 0;
    background: #fff;
  }

  .mobile-demo-battery b {
    position: absolute;
    left: 1.5px;
    top: 1.5px;
    bottom: 1.5px;
    width: 72%;
    display: block;
    border-radius: 1.5px;
    background: #fff;
  }

  .mobile-demo-island {
    width: 102px;
    height: 29px;
    margin: 8px auto 0;
    border-radius: 999px;
    background: rgba(17, 21, 19, .92);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 10px 24px rgba(0,0,0,.18);
  }

  .steps-grid-trial {
    gap: 10px;
    padding: 0 12px 10px;
    margin-inline: -12px;
  }

  .steps-grid-trial .step-card {
    flex: 0 0 min(62vw, 270px);
    min-height: 295px;
    padding: 20px 18px;
    border-radius: 20px;
  }

  .steps-grid-trial .step-card > span {
    font-size: 13px;
  }

  .steps-grid-trial .step-card h3 {
    margin: 18px 0 9px;
    font-size: 20px;
  }

  .steps-grid-trial .step-card p {
    font-size: 12px;
    line-height: 1.55;
  }

  .steps-grid-trial .step-visual {
    height: 132px;
  }

  .step-build,
  .step-property-info,
  .step-install-icon {
    padding: 22px;
  }

  .step-property-info {
    gap: 8px;
  }

  .step-property-info i {
    height: 9px;
  }

  .step-property-info small,
  .step-publish small {
    font-size: 7px;
    padding: 6px 8px;
  }

  .step-publish {
    padding: 19px;
    grid-template-columns: 1fr 52px;
    gap: 9px 10px;
  }

  .publish-link {
    padding: 10px 11px;
    border-radius: 9px;
    font-size: 9px;
  }

  .publish-qr {
    width: 52px;
    height: 52px;
    padding: 7px;
    gap: 4px;
    border-radius: 10px;
  }

  .publish-qr i {
    border-width: 3px;
  }

  .mini-mobile-image img {
    object-position: 54% center;
  }

  .proof-trial-button {
    width: min(78vw, 330px);
    align-self: flex-start;
    justify-content: center;
  }
}

@media (max-width: 460px) {
  .hero-actions-mobile,
  .proof-trial-button {
    width: min(84vw, 320px);
  }

  .mobile-demo-ui {
    padding-left: 12px;
    padding-right: 12px;
  }

  .mobile-demo-island {
    width: 94px;
    height: 27px;
  }

  .steps-grid-trial .step-card {
    flex-basis: min(66vw, 255px);
    min-height: 286px;
    padding: 18px 16px;
  }

  .steps-grid-trial .step-card h3 {
    font-size: 18px;
  }

  .steps-grid-trial .step-visual {
    height: 124px;
  }

  .mini-mobile-image img {
    object-position: 51% center;
  }
}

/* --- V30.1: fix mobile status bar placement and fully reveal desktop Main Touchpoint --- */
@media (max-width: 760px) {
  .mobile-demo-ui {
    inset: 11px 11px auto 11px;
  }
}

@media (max-width: 460px) {
  .mobile-demo-ui {
    inset: 8px 8px auto 8px;
    padding-top: 10px;
  }
}

@media (min-width: 761px) {
  .hardware-product-main {
    grid-template-rows: 178px minmax(0, 1fr);
  }

  .hardware-product-main .hardware-product-image {
    height: 178px;
    min-height: 178px;
    padding: 12px 10px 0;
    align-items: start;
    overflow: visible;
  }

  .hardware-product-main .hardware-product-image img {
    width: 78%;
    height: auto;
    max-width: 78%;
    max-height: 168px;
    transform: translateY(-14px);
  }

  .hardware-product-main figcaption {
    margin-top: 6px;
  }
}

@media (min-width: 761px) and (max-width: 1080px) {
  .hardware-product-main {
    grid-template-rows: 165px minmax(0, 1fr);
  }

  .hardware-product-main .hardware-product-image {
    height: 165px;
    min-height: 165px;
  }

  .hardware-product-main .hardware-product-image img {
    max-height: 154px;
  }
}

/* --- V30.2: final mobile top-bar spacing polish --- */
@media (max-width: 760px) {
  .mobile-demo-ui {
    inset: 16px 16px auto 16px;
    padding: 8px 2px 0;
  }

  .mobile-demo-statusbar {
    padding: 0 2px;
  }

  .mobile-demo-status-icons {
    gap: 7px;
  }

  .mobile-demo-island {
    margin-top: 5px;
    transform: translateY(-2px);
  }
}

@media (max-width: 460px) {
  .mobile-demo-ui {
    inset: 13px 13px auto 13px;
    padding-top: 8px;
  }

  .mobile-demo-statusbar {
    padding: 0 1px;
  }

  .mobile-demo-time {
    font-size: 10.5px;
  }

  .mobile-demo-status-icons {
    gap: 6px;
  }

  .mobile-demo-island {
    width: 92px;
    height: 26px;
    margin-top: 4px;
    transform: translateY(-3px);
  }
}

/* --- V30.3: definitive responsive phone chrome fix from visual QA photo --- */
@media (max-width: 760px) {
  .mobile-demo-ui {
    inset: 20px 24px auto 24px;
    padding: 0;
    z-index: 6;
  }

  .mobile-demo-statusbar {
    padding: 0;
  }

  .mobile-demo-time {
    font-size: 10px;
  }

  .mobile-demo-status-icons {
    gap: 5px;
  }

  .mobile-demo-signal {
    gap: 1px;
    height: 10px;
  }

  .mobile-demo-signal i { width: 1.5px; }
  .mobile-demo-signal i:nth-child(1) { height: 3px; }
  .mobile-demo-signal i:nth-child(2) { height: 5px; }
  .mobile-demo-signal i:nth-child(3) { height: 7px; }
  .mobile-demo-signal i:nth-child(4) { height: 9px; }

  .mobile-demo-wifi {
    width: 12px;
    height: 8px;
  }

  .mobile-demo-wifi i:nth-child(1) {
    top: -4px;
    width: 12px;
    height: 12px;
  }

  .mobile-demo-wifi i:nth-child(2) {
    top: -1px;
    width: 8px;
    height: 8px;
  }

  .mobile-demo-battery {
    width: 20px;
    height: 10px;
  }

  .mobile-demo-battery::after {
    right: -2px;
    top: 2px;
    width: 1.5px;
    height: 3.5px;
  }

  .mobile-demo-battery b {
    left: 1px;
    top: 1px;
    bottom: 1px;
  }

  .mobile-demo-island {
    width: 96px;
    height: 25px;
    margin-top: 2px;
    transform: translateY(-6px);
  }
}

@media (max-width: 460px) {
  .mobile-demo-ui {
    inset: 17px 21px auto 21px;
  }

  .mobile-demo-time {
    font-size: 9.5px;
  }

  .mobile-demo-status-icons {
    gap: 4px;
  }

  .mobile-demo-island {
    width: 88px;
    height: 24px;
    margin-top: 1px;
    transform: translateY(-7px);
  }
}


/* --- V30: conversion-readiness refinement; preserve the existing premium visual system --- */
.hero-demo-cta {
  border-color: rgba(33, 75, 60, .28);
  background: rgba(255, 253, 248, .45);
}
.hero-demo-cta:hover {
  background: var(--cream);
  border-color: rgba(33, 75, 60, .5);
}

.launch-proof-strip {
  padding: 18px 0;
  background: rgba(255, 253, 248, .5);
}
.launch-proof-inner {
  display: flex;
  justify-content: center;
}
.launch-proof-highlights {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 10px;
  color: #5f685f;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
  white-space: nowrap;
}
.launch-proof-highlights span {
  display: inline-flex;
  align-items: center;
}
.launch-proof-highlights i {
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: rgba(33,75,60,.34);
  flex: 0 0 auto;
}

/* Named customer proof */
.property-card .property-quote {
  display: block;
  max-width: 96%;
  margin: 0;
  color: rgba(255,255,255,.94);
  font-size: 12px;
  line-height: 1.48;
}
.property-attribution {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px 8px;
  margin: 12px 0 0;
  color: rgba(255,255,255,.92);
}
.property-attribution strong {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .01em;
}
.property-attribution span {
  display: inline;
  max-width: none;
  color: rgba(255,255,255,.72);
  font-size: 9.5px;
  line-height: 1.35;
}
.property-attribution span::before {
  content: "·";
  margin-right: 8px;
  color: rgba(255,255,255,.5);
}

.hardware-addon-note {
  width: fit-content;
  margin: 18px 0 0;
  padding: 10px 13px;
  border: 1px solid rgba(33,75,60,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.52);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.hardware-addon-note strong { color: var(--forest-dark); }

@media (min-width: 1081px) {
  .property-urban .property-quote,
  .property-kabin .property-quote { font-size: 10.2px; line-height: 1.38; }
  .property-urban .property-attribution,
  .property-kabin .property-attribution { margin-top: 8px; }
  .property-urban .property-attribution strong,
  .property-kabin .property-attribution strong { font-size: 9.5px; }
  .property-urban .property-attribution span,
  .property-kabin .property-attribution span { font-size: 8.7px; }
  .property-tiny .property-quote,
  .property-suite .property-quote { font-size: 10.8px; line-height: 1.4; }
}

@media (max-width: 760px) {
  .hero-actions-mobile {
    flex-direction: column;
    gap: 10px;
  }
  .hero-actions-mobile .hero-demo-cta {
    background: transparent;
  }
  .launch-proof-strip { padding: 16px 0; }
  .launch-proof-highlights {
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 8px;
    padding: 0 2px;
    font-size: 8.5px;
    letter-spacing: .035em;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .launch-proof-highlights::-webkit-scrollbar { display: none; }
  .launch-proof-highlights span {
    flex: 0 0 auto;
  }
  .launch-proof-highlights i {
    display: inline-block;
  }

  /* Pricing is a decision surface, not a discovery carousel. Stack plans for direct comparison. */
  .pricing-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    overflow: visible;
    padding: 0;
    margin-inline: 0;
    scroll-snap-type: none;
  }
  .pricing-grid .price-card,
  .pricing-grid .price-card.featured {
    width: 100%;
    flex: none;
    scroll-snap-align: none;
    order: initial;
  }
  .pricing-grid .price-card:nth-child(1) { order: 1; }
  .pricing-grid .price-card.featured { order: 2; }
  .pricing-grid .price-card:nth-child(3) { order: 3; }

  .property-card .property-quote { font-size: 11.5px; line-height: 1.47; }
  .property-attribution { margin-top: 10px; }
  .property-attribution strong { font-size: 10.5px; }
  .property-attribution span { font-size: 9.5px; }
  .hardware-addon-note { border-radius: 14px; }
}

/* --- V30.2: premium mobile Property Guide Essentials + Mini Tapp focal crop --- */
.feature-primary-mobile-visual { display: none; }

@media (max-width: 760px) {
  .feature-section .feature-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    overflow: visible;
    scroll-snap-type: none;
    padding: 0;
    margin-inline: 0;
  }

  .feature-section .feature-grid .feature-card,
  .feature-section .feature-grid .feature-wide-equal {
    width: 100%;
    max-width: none;
    flex: none;
    scroll-snap-align: none;
  }

  .feature-section .feature-primary-guide {
    order: 1;
    height: auto;
    min-height: 410px;
    padding: 27px 27px 0;
    border-radius: 28px;
    background: #17362c;
    color: #fff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .feature-section .feature-primary-guide .feature-icon {
    color: #b9a0ff;
  }

  .feature-section .feature-primary-guide h3 {
    color: #fff;
    font-size: 25px;
    margin: 16px 0 10px;
    letter-spacing: -.025em;
  }

  .feature-section .feature-primary-guide > p {
    color: rgba(255,255,255,.75);
    font-size: 13px;
    line-height: 1.58;
    margin: 0;
  }

  .feature-primary-mobile-visual {
    display: block;
    height: 205px;
    margin: 22px -27px 0;
    overflow: hidden;
    background: #0c211a;
  }

  .feature-primary-mobile-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 34%;
    display: block;
  }

  .feature-section .feature-support-row {
    height: auto;
    min-height: 0;
    padding: 19px 18px;
    border-radius: 19px;
    border: 1px solid rgba(23,54,44,.12);
    background: rgba(255,255,255,.5);
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-areas:
      "icon title"
      "icon body";
    column-gap: 14px;
    row-gap: 4px;
    align-items: start;
  }

  .feature-section .feature-support-row .feature-icon {
    grid-area: icon;
    width: 42px;
    height: 42px;
    margin: 1px 0 0;
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: #f0ebe1;
    color: #214b3c;
    font-size: 18px;
  }

  .feature-section .feature-support-row .feature-icon svg {
    width: 22px;
    height: 22px;
  }

  .feature-section .feature-support-row h3,
  .feature-section .feature-support-row .feature-copy h3 {
    grid-area: title;
    margin: 0;
    font-size: 17px;
    line-height: 1.25;
    letter-spacing: -.015em;
  }

  .feature-section .feature-support-row > p,
  .feature-section .feature-support-row .feature-copy p {
    grid-area: body;
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.52;
  }

  .feature-section .feature-support-property {
    order: 4;
  }

  .feature-section .feature-support-property .feature-copy {
    display: contents;
  }

  .feature-section .feature-support-property .property-collage {
    display: none;
  }

  .feature-section .feature-support-wifi { order: 3; }
  .feature-section .feature-support-ai { order: 2; }
  .feature-section .feature-support-extras { display: none; }

  .mini-mobile-image img {
    object-position: 88% center;
  }
}

@media (max-width: 460px) {
  .feature-section .feature-primary-guide {
    min-height: 390px;
    padding: 24px 23px 0;
  }

  .feature-primary-mobile-visual {
    height: 195px;
    margin: 20px -23px 0;
  }

  .feature-section .feature-support-row {
    padding: 17px 16px;
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 12px;
  }

  .feature-section .feature-support-row .feature-icon {
    width: 40px;
    height: 40px;
  }

  .mini-mobile-image img {
    object-position: 90% center;
  }
}


/* --- V30.3: restore post-hero product reinforcement strip and soften responsive phone chrome alignment --- */
@media (max-width: 760px) {
  .mobile-demo-ui {
    inset: 18px 22px auto 22px;
    padding: 0;
    z-index: 6;
  }

  .mobile-demo-statusbar {
    padding: 0 8px;
  }

  .mobile-demo-time {
    font-size: 10px;
  }

  .mobile-demo-status-icons {
    gap: 5px;
  }

  .mobile-demo-island {
    width: 94px;
    height: 25px;
    margin-top: 3px;
    transform: translateY(-3px);
  }
}

@media (max-width: 460px) {
  .mobile-demo-ui {
    inset: 16px 20px auto 20px;
  }

  .mobile-demo-statusbar {
    padding: 0 7px;
  }

  .mobile-demo-time {
    font-size: 9.8px;
  }

  .mobile-demo-status-icons {
    gap: 4px;
  }

  .mobile-demo-island {
    width: 88px;
    height: 24px;
    margin-top: 2px;
    transform: translateY(-3px);
  }
}
