.product-page { --product-surface:#f2faf7; }
.product-hero { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; padding-block:82px 64px; }
.product-copy .eyebrow { margin-bottom:22px; }
.product-copy h1 { font-size:clamp(34px,3.45vw,48px); font-weight:600; line-height:1.45; letter-spacing:-1.4px; }
.product-intro { margin-top:25px; font-size:15px; line-height:1.95; color:var(--muted); }
.product-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.product-note { font-size:11px; color:var(--muted); margin-top:19px; }
.product-stage { position:relative; min-width:0; padding:26px; border:1px solid #dceee8; border-radius:28px; background:linear-gradient(145deg,#f0fbf6,#edf7f7); box-shadow:var(--shadow-raised); }
.stage-label { display:flex; justify-content:space-between; gap:12px; color:#6c9187; font-size:9px; margin-bottom:25px; }
.stage-label>span:first-child { letter-spacing:1.5px; }
.store-preview { background:white; border:1px solid #e0eae6; border-radius:18px; padding:25px; box-shadow:0 16px 35px #0b585f16; transform:rotate(-2deg); }
.store-preview-head { display:flex; gap:12px; align-items:center; padding-bottom:22px; border-bottom:1px solid var(--line); }
.product-icon { display:inline-grid; place-items:center; flex-shrink:0; width:44px; height:44px; border-radius:12px; background:var(--deep); color:#8af1d1; font-size:26px; }
.store-preview-head>div { flex:1; min-width:0; }
.store-preview-head strong { font-size:13px; display:block; }
.store-preview-head small { font-size:10px; color:var(--muted); }
.status-chip { padding:4px 7px; font-size:8px; color:var(--teal-dark); background:#eaf9f3; border-radius:6px; white-space:nowrap; }
.store-preview-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-block:22px; }
.store-preview-actions>div { padding:18px 14px; border-radius:12px; background:var(--deep); color:white; }
.store-preview-actions>div:last-child { background:#effaf6; color:var(--deep); border:1px solid #d6eee5; }
.store-preview-actions span { font-size:7px; letter-spacing:1px; opacity:.7; display:block; }
.store-preview-actions strong { display:block; font-size:14px; margin-block:10px 4px; }
.store-preview-actions small { font-size:8px; opacity:.7; display:block; }
.preview-person { display:flex; gap:12px; align-items:center; padding-block:8px 20px; }
.person-avatar { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#e8f7ef; color:var(--teal-dark); flex-shrink:0; }
.preview-person>div { flex:1; }
.preview-person strong,.preview-person b { font-size:12px; }
.preview-person small { display:block; font-size:9px; color:var(--muted); font-weight:400; }
.preview-person b { color:var(--deep); text-align:right; }
.preview-receipt { display:flex; gap:12px; align-items:center; border-top:1px solid var(--line); padding-top:18px; }
.preview-receipt>span { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:#e9f9f3; color:var(--teal-dark); }
.preview-receipt strong { font-size:11px; }
.preview-receipt small { display:block; color:var(--muted); font-size:9px; }
.stage-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:9px; color:#6c9187; margin-top:27px; }
.feature-jumps { display:flex; flex-wrap:wrap; gap:14px 30px; padding-block:19px; border-block:1px solid var(--line); font-size:12px; color:var(--muted); }
.feature-jumps a:hover { color:var(--teal-dark); }
.product-detail { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; padding-block:78px; border-bottom:1px solid var(--line); }
.detail-copy .eyebrow { font-size:10px; margin-bottom:17px; }
.detail-copy h2,.history-section h2,.product-crosslink h2,.pricing-heading h2 { font-size:34px; font-weight:500; line-height:1.5; letter-spacing:-.7px; }
.detail-copy>p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.95; margin-top:20px; }
.detail-list { list-style:none; padding:0; margin:25px 0 0; display:grid; gap:20px; }
.detail-list li { position:relative; padding-left:23px; }
.detail-list li::before { content:""; position:absolute; top:9px; left:0; height:6px; width:6px; border-radius:50%; background:var(--teal); }
.detail-list strong { font-size:13px; font-weight:600; display:block; }
.detail-list span { font-size:12px; color:var(--muted); display:block; margin-top:4px; }
.detail-board { min-width:0; padding:30px; border-radius:24px; border:1px solid #e0eee7; background:var(--product-surface); box-shadow:var(--shadow-card); }
.board-caption { color:#6c9187; font-size:10px; margin-bottom:24px; }
.return-card { background:white; padding:30px; text-align:center; border-radius:16px; border:1px solid #e1ede8; box-shadow:var(--shadow-raised); }
.return-card .person-avatar { width:56px; height:56px; font-size:22px; margin-bottom:12px; }
.return-card h3 { font-size:23px; font-weight:600; }
.return-card p { font-size:12px; color:var(--muted); }
.return-card .subtle { font-size:10px; color:#7a9d92; }
.previous-round { padding-block:18px; margin-top:15px; border-block:1px solid var(--line); }
.previous-round span { display:block; font-size:10px; color:var(--muted); }
.previous-round strong { display:block; font-size:13px; margin-top:3px; }
.sample-button { display:block; padding:12px; border-radius:9px; background:var(--deep); color:white; font-size:12px; text-align:center; margin-top:20px; }
.return-card>small { display:block; font-size:9px; color:var(--muted); margin-top:12px; }
.board-footnote { font-size:10px; color:var(--muted); text-align:center; margin-top:22px; }
.service-path { list-style:none; margin:0; padding:0; display:grid; gap:24px; }
.service-path li { display:flex; align-items:center; gap:18px; }
.service-path li>span { display:grid; place-items:center; width:35px; height:35px; border:1px solid #cfe9de; border-radius:10px; color:var(--teal-dark); background:white; font-size:12px; flex-shrink:0; }
.service-path strong { display:block; font-size:14px; font-weight:500; }
.service-path small { color:var(--muted); font-size:11px; }
.balance-change { background:white; border-radius:15px; padding:24px; margin-top:30px; border:1px solid #dcebe4; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.balance-change>span { font-size:12px; color:var(--muted); }
.balance-change strong { color:var(--deep); font-size:33px; font-weight:500; }
.balance-change i { font-size:18px; color:#95bbac; font-style:normal; }
.balance-change small { font-size:11px; }
.version-compare { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center; }
.version-compare>div { background:white; border:1px solid #dcebe4; border-radius:14px; padding:22px 18px; }
.version-compare>div:last-child { border-color:var(--teal); }
.version-compare span { font-size:11px; color:var(--teal-dark); }
.version-compare strong { font-size:26px; display:block; color:var(--deep); font-weight:500; margin-top:13px; }
.version-compare p { font-size:11px; color:var(--muted); margin-top:3px; }
.version-compare small { display:block; font-size:9px; margin-top:21px; color:var(--muted); }
.notification-preview,.detected-result { margin-top:22px; display:flex; gap:12px; align-items:center; padding:16px; border-radius:12px; border:1px solid #d7eae0; background:#fff9; }
.notification-preview>span,.detected-result>span { font-size:22px; color:var(--teal-dark); }
.notification-preview strong,.detected-result strong { font-size:12px; font-weight:500; }
.notification-preview small,.detected-result small { display:block; font-size:10px; color:var(--muted); }
.insights-section { padding-block:78px; }
.insights-section .section-top { margin-bottom:32px; }
.insight-grid,.plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.insight-grid article { padding:30px; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-card); }
.insight-grid article>span { color:var(--teal-dark); font-size:11px; }
.insight-grid h3 { font-weight:500; font-size:21px; line-height:1.6; margin-block:18px 12px; }
.insight-grid p { color:var(--muted); font-size:12px; }
.pricing-section { padding-block:35px 80px; }
.pricing-heading { text-align:center; margin-bottom:35px; }
.pricing-heading .eyebrow { margin-bottom:14px; }
.pricing-heading>p:last-child { color:var(--muted); font-size:13px; margin-top:15px; }
.plan-card { border:1px solid #dcebe4; border-radius:20px; padding:30px; box-shadow:var(--shadow-card); }
.plan-name { font-size:10px; color:var(--teal-dark); letter-spacing:1.6px; }
.plan-card h3 { font-size:14px; margin-top:13px; font-weight:500; }
.plan-price { font-size:35px; letter-spacing:-1px; font-weight:600; margin-block:20px 9px; }
.plan-price small { font-size:11px; color:var(--muted); font-weight:400; letter-spacing:0; }
.plan-fee { padding:12px 0; border-block:1px solid var(--line); color:var(--deep); font-size:12px; }
.plan-card>p:not(.plan-fee) { color:var(--muted); font-size:11px; margin-top:18px; }
.plan-card .button { display:flex; margin-top:25px; }
.pricing-caption { text-align:center; font-size:10px; color:var(--muted); margin-top:22px; }
.product-crosslink { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:40px; margin-bottom:65px; border:1px solid #d8eae1; border-radius:24px; background:var(--product-surface); }
.product-crosslink .eyebrow { margin-bottom:12px; }
.product-crosslink h2 { font-size:27px; }
.product-crosslink p:not(.eyebrow) { color:var(--muted); font-size:12px; margin-top:12px; }
.product-crosslink .button { flex-shrink:0; }
.app-product-preview { max-width:350px; margin:auto; background:white; padding:26px; border:1px solid #dde9e3; border-radius:25px; box-shadow:var(--shadow-raised); }
.app-preview-title p { color:var(--muted); font-size:9px; }
.app-preview-title h2 { font-size:19px; font-weight:600; margin-top:5px; }
.app-total { background:linear-gradient(120deg,#0d7375,#0b585f); color:white; border-radius:14px; padding:20px; margin-block:22px 5px; }
.app-total>span { font-size:10px; color:#b7e0d7; }
.app-total strong { display:block; font-size:30px; font-weight:500; margin-top:12px; }
.app-total small { display:block; font-size:9px; color:#b7e0d7; font-weight:400; margin-top:5px; }
.subscription-line { display:flex; gap:12px; align-items:center; border-bottom:1px solid var(--line); padding-block:16px; }
.subscription-line:last-child { border-bottom:0; padding-bottom:0; }
.service-logo { width:34px; height:34px; border-radius:10px; background:#e6f5ef; color:var(--teal-dark); display:inline-grid; place-items:center; font-size:21px; flex-shrink:0; }
.service-logo.netflix { color:#e32b37; background:#fff0f1; font-size:18px; font-weight:700; }
.service-logo.spotify { color:#16844b; background:#edf8ef; font-size:26px; }
.subscription-line>div { flex:1; }
.subscription-line strong { font-size:11px; font-weight:600; display:block; }
.subscription-line small { font-size:8px; color:var(--muted); display:block; }
.subscription-line b { font-size:11px; color:var(--deep); }
.detect-orbit { height:240px; position:relative; max-width:290px; margin:auto; border:1px solid #cce8dc; border-radius:50%; }
.detect-orbit::before { content:""; position:absolute; inset:35px; border:1px solid #cce8dc; border-radius:50%; }
.detect-orbit>.service-logo { position:absolute; height:44px; width:44px; border:5px solid var(--product-surface); z-index:1; }
.detect-orbit>.netflix { top:20px; left:21px; }
.detect-orbit>.spotify { top:27px; right:11px; }
.detect-orbit>.service-logo:nth-child(3) { bottom:-5px; left:calc(50% - 22px); }
.detect-center { position:absolute; inset:75px 60px; display:flex; flex-direction:column; justify-content:center; align-items:center; background:var(--deep); color:white; border-radius:16px; box-shadow:0 15px 28px #0b585f25; font-size:20px; font-weight:600; }
.detect-center>span { font-size:8px; letter-spacing:2px; color:#93dec9; font-weight:400; }
.calendar-week,.calendar-dates { display:grid; grid-template-columns:repeat(7,1fr); text-align:center; gap:7px; }
.calendar-week { color:#739388; font-size:10px; margin-bottom:12px; }
.calendar-dates span { min-height:42px; display:grid; place-items:center; font-size:12px; border-radius:9px; position:relative; }
.calendar-dates .bill-day { background:#d9f3e8; color:var(--deep); font-weight:600; }
.bill-day i { position:absolute; width:4px; height:4px; border-radius:50%; background:var(--teal-dark); bottom:5px; }
.calendar-event { display:flex; gap:15px; align-items:center; border-top:1px solid #dcebe4; padding-block:20px; }
.calendar-event:first-of-type { margin-top:20px; }
.calendar-event:last-child { padding-bottom:0; }
.event-date { display:block; text-align:center; font-size:22px; font-weight:500; line-height:1.3; color:var(--deep); width:34px; }
.event-date small { font-size:8px; display:block; font-weight:400; color:var(--muted); }
.calendar-event>div { flex:1; }
.calendar-event strong { font-size:13px; font-weight:500; }
.calendar-event small { display:block; font-size:10px; color:var(--muted); }
.calendar-event b { font-size:13px; font-weight:500; }
.detail-copy p.product-scope { font-size:10px; padding-left:13px; border-left:2px solid #c8e8da; }
.membership-preview { background:white; border:1px solid #dcebe4; border-radius:20px; max-width:330px; margin:auto; padding:26px; box-shadow:var(--shadow-raised); }
.membership-preview h3 { font-size:18px; margin-top:17px; }
.membership-preview>p { color:var(--muted); font-size:12px; }
.membership-balance { background:#edf9f3; border:1px solid #d8eee2; border-radius:12px; padding:18px; margin-top:24px; }
.membership-balance>span { font-size:10px; color:var(--muted); }
.membership-balance strong { display:block; color:var(--deep); font-size:38px; font-weight:500; line-height:1.3; margin-top:10px; }
.membership-balance small { font-size:12px; color:#769389; font-weight:400; }
.membership-preview dl { margin-block:20px; font-size:10px; display:grid; gap:8px; }
.membership-preview dl>div { display:flex; justify-content:space-between; gap:10px; }
.membership-preview dt { color:var(--muted); }
.membership-preview dd { margin:0; }
.membership-options { display:flex; justify-content:space-around; color:var(--teal-dark); font-size:10px; margin-top:18px; }
.history-section { padding-block:78px; }
.history-section>div:first-child { max-width:550px; }
.history-section .eyebrow { margin-bottom:18px; }
.history-section p:not(.eyebrow) { color:var(--muted); font-size:14px; margin-top:20px; }
.history-track { display:flex; align-items:center; margin-top:35px; padding:30px; border:1px solid #dcebe4; border-radius:18px; background:var(--product-surface); }
.history-track>div { flex:1; }
.history-track span { font-size:10px; color:var(--teal-dark); }
.history-track strong { font-size:18px; font-weight:500; display:block; margin-top:13px; }
.history-track small { color:var(--muted); font-size:11px; }
.history-track i { height:1px; flex:0 1 90px; margin-inline:25px; background:#c8e4d8; }
@media(min-width:761px) and (max-width:1000px) {
  .product-hero { gap:30px; }
  .product-copy h1 { font-size:33px; }
  .product-intro { font-size:13px; }
  .product-stage,.detail-board { padding:20px; }
  .store-preview { padding:18px; }
  .store-preview-head .status-chip { display:none; }
  .store-preview-actions { gap:8px; }
  .store-preview-actions strong { font-size:12px; }
  .product-detail { gap:40px; }
  .detail-copy h2 { font-size:29px; }
  .version-compare>div { padding:16px 12px; }
  .version-compare strong { font-size:22px; }
  .plan-card,.insight-grid article { padding:22px; }
  .plan-card h3 { min-height:50px; }
  .plan-price { font-size:29px; }
}
@media(max-width:760px) {
  .product-hero { grid-template-columns:1fr; gap:40px; padding-block:45px; }
  .product-copy h1 { font-size:34px; letter-spacing:-.8px; }
  .product-copy .eyebrow { margin-bottom:16px; }
  .product-intro { font-size:13px; }
  .product-intro br { display:none; }
  .product-actions { gap:10px; }
  .product-stage { padding:22px; }
  .product-detail { grid-template-columns:1fr; gap:30px; padding-block:48px; }
  .detail-copy h2,.history-section h2,.pricing-heading h2 { font-size:29px; }
  .detail-copy>p:not(.eyebrow) { font-size:13px; }
  .detail-board { padding:22px; }
  .feature-jumps { gap:13px 21px; font-size:11px; }
  .insights-section { padding-block:48px; }
  .insight-grid,.plan-grid { grid-template-columns:1fr; gap:16px; }
  .insight-grid article { padding:25px; }
  .insight-grid h3 { font-size:21px; margin-top:10px; }
  .pricing-section { padding-block:20px 48px; }
  .plan-card { padding:25px; }
  .plan-price { margin-top:14px; }
  .product-crosslink { flex-direction:column; align-items:flex-start; padding:28px; margin-bottom:40px; }
  .product-crosslink h2 { font-size:25px; }
  .history-section { padding-block:48px; }
  .history-track { flex-direction:column; align-items:stretch; padding:25px; }
  .history-track i { flex:none; width:1px; height:28px; margin:16px 0 12px 7px; }
}
@media(max-width:380px) {
  .product-copy h1 { font-size:29px; }
  .product-stage,.detail-board { padding:17px; }
  .store-preview { padding:15px; }
  .stage-label { font-size:8px; letter-spacing:0; }
  .stage-label>span:first-child { letter-spacing:.5px; }
  .store-preview-head { gap:8px; }
  .store-preview-head .status-chip { display:none; }
  .store-preview-head strong { font-size:11px; }
  .store-preview-actions strong { font-size:11px; }
  .store-preview-actions>div { padding:12px; }
  .preview-person { gap:8px; }
  .preview-person strong { font-size:10px; }
  .person-avatar { width:32px; height:32px; }
  .version-compare { gap:7px; }
  .version-compare>div { padding:17px 10px; }
  .version-compare strong { font-size:23px; }
  .app-product-preview { padding:20px; }
  .app-preview-title h2 { font-size:17px; }
  .detect-center { inset:75px 45px; }
  .calendar-week,.calendar-dates { gap:4px; }
  .return-card { padding:23px; }
  .service-path strong { font-size:12px; }
}

/* Product pages have distinct rhythms: app showcase, feature band, calendar,
   and membership mosaic; merchant signup lanes and a service workflow. */
.product-page { --product-on-dark:#9FD8C9; }
.app-editorial-hero { padding-block:64px 35px; }
.app-editorial-heading { text-align:center; max-width:1000px; margin:auto; }
.app-editorial-heading .eyebrow { margin-bottom:20px; }
.app-editorial-heading h1 { font-size:clamp(38px,4.5vw,64px); line-height:1.38; letter-spacing:-1.9px; font-weight:600; }
.app-editorial-heading h1>.hero-opening,.app-editorial-heading h1>.teal-text { display:block; }
.app-editorial-heading .eyebrow,.detect-heading .eyebrow,.membership-feature-heading .eyebrow,.history-heading .eyebrow { justify-content:center; }
.app-editorial-heading>p:not(.eyebrow) { color:var(--muted); font-size:15px; line-height:1.95; margin-block:20px 25px; }
.app-panorama { display:grid; grid-template-columns:1fr 350px 1fr; gap:48px; max-width:1000px; margin:46px auto 22px; position:relative; padding:28px 20px; align-items:center; }
.app-panorama::before { content:""; position:absolute; inset:70px 0 45px; border-radius:50%; background:radial-gradient(ellipse,#d7f2e4 0%,#f0f8f2 45%,#fff 72%); z-index:-1; }
.panorama-phone { position:relative; background:white; border:1px solid #dbe8e1; border-radius:36px; box-shadow:0 8px 20px #0b585f10,0 35px 65px #0b585f20; padding-top:16px; }
.preview-island { width:78px; height:17px; background:var(--deep); border-radius:20px; margin:0 auto 8px; }
.panorama-phone .app-product-preview { border:0; box-shadow:none; background:none; padding-top:8px; border-radius:0 0 36px 36px; }
.panorama-phone .app-total { background:var(--deep); }
.panorama-caption { display:block; text-align:center; color:#70958a; font-size:9px; padding-bottom:14px; }
.panorama-side { display:grid; gap:22px; min-width:0; }
.panorama-left { transform:translateY(-18px); }
.panorama-right { transform:translateY(25px); }
.panorama-note,.panorama-bill { padding:23px; background:white; border:1px solid #dceae3; border-radius:18px; box-shadow:0 14px 32px #0b585f10; }
.panorama-left .panorama-note { background:var(--deep); color:white; border-color:var(--deep); transform:rotate(-5deg); }
.panorama-right .panorama-note { background:#eaf7ef; transform:rotate(4deg); }
.panorama-symbol { font-size:23px; color:var(--teal); }
.panorama-note p { font-size:12px; margin-top:12px; }
.panorama-note strong { display:block; font-size:16px; font-weight:500; }
.panorama-note small { display:block; font-size:9px; color:#7a968a; margin-top:5px; }
.panorama-left .panorama-note small { color:var(--product-on-dark); }
.panorama-service { display:flex; align-items:center; gap:12px; padding-inline:12px; font-size:11px; color:#688176; }
.panorama-service i { margin-left:auto; font-style:normal; font-size:20px; color:#8fbaaa; }
.panorama-bill>p { color:#688176; font-size:10px; }
.panorama-date { font-size:38px; color:var(--deep); margin-top:7px; line-height:1.4; }
.panorama-date>span { font-size:10px; display:block; }
.panorama-bill .subscription-line { padding-top:18px; border-bottom:0; }
.panorama-bill .subscription-line small { font-size:7px; }
.app-free-note { text-align:center; font-size:11px; color:var(--muted); }
.app-free-note>span { color:var(--teal-dark); padding-inline:10px; }
.detect-feature { background:var(--deep); color:white; padding-block:74px 46px; margin-top:50px; overflow:hidden; }
.detect-heading { text-align:center; }
.detect-feature .eyebrow,.business-checkin-feature .eyebrow { color:#85d7b5; }
.detect-heading h2 { font-size:40px; font-weight:500; line-height:1.45; margin-top:16px; letter-spacing:-.8px; }
.detect-heading h2>span { color:#7de9b8; }
.detect-heading>p:not(.eyebrow) { color:#a1bfb0; font-size:13px; margin-top:18px; }
.detect-flow { display:grid; grid-template-columns:1fr 40px 190px 40px 1fr; gap:32px; align-items:center; max-width:930px; margin:40px auto 38px; }
.detect-sources { text-align:center; }
.detect-sources .service-logo { height:52px; width:52px; margin-inline:4px; border-radius:14px; }
.detect-sources p { color:#a1bfb0; font-size:11px; margin-top:17px; }
.flow-arrow { color:#719b87; font-size:30px; text-align:center; }
.detect-engine { display:grid; justify-items:center; align-content:center; min-height:184px; border:1px solid #ffffff26; border-radius:28px; background:var(--deep); box-shadow:0 0 65px #38c79116; }
.detect-engine strong { font-size:21px; margin-top:8px; }
.detect-engine>span { font-size:8px; letter-spacing:3px; color:#8acbab; }
.detect-output { background:#f5fbf6; padding:23px; border-radius:17px; color:var(--deep); box-shadow:0 16px 38px #0b585f26; transform:rotate(2deg); }
.detect-output>strong { display:block; font-size:19px; margin-block:18px 12px; }
.detect-output>div { display:flex; justify-content:space-between; gap:12px; font-size:10px; padding-block:6px; border-top:1px solid #dfebe3; }
.detect-output b { font-weight:500; }
.detect-output>small { display:block; font-size:8px; color:#7d9787; margin-top:10px; }
.detect-explainer { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; border-top:1px solid #ffffff26; padding-top:25px; }
.detect-explainer strong { display:block; font-size:14px; font-weight:500; }
.detect-explainer p>span { display:block; font-size:11px; color:#a1bfb0; margin-top:7px; }
.detect-scope { text-align:center; color:#789f8b; font-size:9px; margin-top:30px; }
.app-calendar-feature { padding-block:80px 66px; }
.calendar-feature-heading { display:grid; grid-template-columns:1.4fr 1fr; column-gap:50px; align-items:center; margin-bottom:35px; }
.calendar-feature-heading .eyebrow { grid-column:1 / -1; margin-bottom:14px; }
.calendar-feature-heading h2 { font-size:35px; font-weight:500; letter-spacing:-.7px; }
.calendar-feature-heading>p:last-child { font-size:13px; color:var(--muted); }
.calendar-showcase { display:grid; grid-template-columns:1.75fr 1fr; border:1px solid #dce9e0; border-radius:24px; overflow:hidden; box-shadow:var(--shadow-raised); }
.calendar-month { padding:35px; }
.month-title { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:32px; }
.month-title strong { font-weight:500; font-size:19px; color:var(--deep); }
.month-title strong span { color:#809589; padding-left:5px; }
.month-title>span { color:#809589; font-size:9px; }
.calendar-month .calendar-week { margin-bottom:10px; }
.full-month { gap:7px; }
.full-month>span { min-height:63px; border:1px solid #edf2ed; background:#fcfdfb; align-content:center; gap:1px; font-size:12px; }
.full-month .empty-date { background:none; border-color:transparent; }
.full-month .bill-day { background:#e1f2e7; border-color:#d5e9db; color:var(--deep); }
.full-month b { font-size:13px; font-weight:500; }
.full-month small { font-size:8px; }
.full-month .bill-day i { bottom:4px; background:#59856d; }
.calendar-agenda { background:var(--deep); color:white; padding:35px; }
.calendar-agenda .eyebrow { color:#93cdb0; font-size:9px; }
.calendar-agenda h3 { margin-top:10px; font-size:24px; font-weight:500; }
.calendar-agenda .calendar-event { border-color:#ffffff26; padding-block:22px; }
.calendar-agenda .event-date,.calendar-agenda .calendar-event strong { color:white; }
.calendar-agenda .calendar-event small { color:#a0bbaa; }
.agenda-note { display:flex; gap:17px; align-items:center; color:#a0bbaa; margin-top:20px; }
.agenda-note>span { color:#81d2a7; font-size:27px; }
.agenda-note p { font-size:10px; }
.agenda-note strong { font-weight:500; color:white; font-size:12px; }
.calendar-footer-notes { display:flex; justify-content:space-between; gap:25px; color:var(--muted); font-size:11px; margin-top:23px; }
.calendar-footer-notes strong { color:var(--deep); margin-right:10px; font-weight:500; }
.app-membership-feature { padding-block:25px 70px; }
.membership-feature-heading { text-align:center; margin-bottom:33px; }
.membership-feature-heading h2 { font-size:40px; line-height:1.45; font-weight:500; margin-top:16px; letter-spacing:-1px; }
.membership-feature-heading>p:last-child { color:var(--muted); font-size:13px; margin-top:18px; }
.membership-bento { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:18px; }
.membership-bento>div,.membership-bento>article { border-radius:22px; min-width:0; }
.bento-label { display:block; font-size:9px; color:#769184; letter-spacing:1.2px; }
.bento-phone { grid-row:span 2; background:#edf6ed; padding:26px 26px 0; overflow:hidden; border:1px solid #dae7d9; }
.bento-phone .bento-label { text-align:center; font-size:9px; letter-spacing:0; }
.bento-phone .membership-preview { margin-top:22px; border-radius:28px 28px 0 0; border-bottom:0; padding:18px 25px 26px; }
.bento-phone .preview-island { margin-bottom:22px; }
.bento-checkin { grid-column:span 2; background:var(--deep); color:white; padding:30px; }
.bento-checkin .bento-label { color:#a0d8b6; }
.membership-bento h3 { font-size:24px; line-height:1.5; font-weight:500; margin-top:17px; letter-spacing:-.4px; }
.bento-phone h3 { font-size:16px; letter-spacing:0; }
.membership-bento article>p { font-size:11px; line-height:1.9; color:#758b7c; margin-top:17px; }
.bento-checkin>p { color:#b0c6b7!important; }
.scan-sequence { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:23px; font-size:11px; }
.scan-sequence i { font-style:normal; color:#689780; }
.scan-sequence>span,.scan-sequence>strong { padding:9px 13px; border-radius:8px; background:#ffffff0c; border:1px solid #ffffff26; font-weight:400; }
.scan-sequence>strong { background:#bcf0cd; color:var(--deep); border-color:#bcf0cd; }
.bento-renew { padding:27px; background:#eff8f2; border:1px solid #dcebe0; }
.bento-control { padding:27px; background:#f8f9f4; border:1px solid #e6e9da; }
.bento-action-label { display:block; font-size:11px; color:var(--deep); margin-top:22px; }
.membership-feature-scope { font-size:10px; color:#8a9b8f; max-width:850px; text-align:center; margin:22px auto 0; }
.app-history-feature { background:#f1f5ec; border-block:1px solid #e3eadb; padding-block:65px; margin-bottom:65px; }
.history-heading { text-align:center; }
.history-heading h2 { font-size:35px; font-weight:500; line-height:1.5; margin-top:15px; color:var(--deep); }
.history-heading>p:last-child { color:#718373; font-size:13px; margin-top:17px; }
.app-history-feature .history-track { background:none; border:0; border-radius:0; max-width:930px; margin:24px auto 0; text-align:center; padding-bottom:0; }
.app-history-feature .history-track strong { color:var(--deep); }
.business-signup-feature { padding-block:75px 60px; }
.business-signup-heading,.checkin-heading { display:flex; justify-content:space-between; align-items:end; gap:45px; margin-bottom:32px; }
.business-signup-heading h2,.checkin-heading h2 { font-size:34px; line-height:1.5; font-weight:500; letter-spacing:-.7px; margin-top:14px; }
.business-signup-heading>p,.checkin-heading>p { font-size:13px; color:var(--muted); }
.signup-lanes { display:grid; grid-template-columns:1.2fr 1fr; gap:22px; }
.signup-lanes article { border-radius:22px; padding:32px; min-width:0; }
.signup-self-lane { background:var(--deep); color:white; box-shadow:var(--shadow-raised); }
.signup-assisted-lane { background:#f3f8f2; border:1px solid #dfeadd; }
.lane-tag { font-size:9px; color:#7e9d86; letter-spacing:1.2px; }
.signup-self-lane .lane-tag { color:#a6dbb7; }
.signup-lanes h3 { font-size:25px; font-weight:500; margin-top:16px; }
.signup-lanes article>p { font-size:12px; color:#728476; margin-top:12px; }
.signup-self-lane>p { color:#bad0c0!important; }
.signup-lane-flow { display:flex; align-items:center; gap:12px; font-size:12px; margin-top:36px; }
.signup-lane-flow i { color:#80b691; font-style:normal; }
.signup-lane-flow strong { background:#c3f2cf; color:var(--deep); padding:9px 14px; border-radius:8px; font-weight:500; }
.signup-payment-chips { display:flex; flex-wrap:wrap; gap:9px; margin-top:25px; }
.signup-payment-chips span { font-size:10px; border:1px solid #ffffff26; padding:7px 11px; border-radius:8px; }
.signup-self-lane>small { display:block; font-size:9px; color:#a3bda7; margin-top:20px; }
.assisted-demo { background:white; border:1px solid #dce9dc; border-radius:13px; padding:18px; margin-top:25px; }
.assisted-demo>span { font-size:9px; color:var(--muted); }
.assisted-demo>div:not(.assisted-demo-person) { display:flex; justify-content:space-between; border:1px solid #dbe7de; border-radius:7px; padding:9px 12px; color:var(--deep); font-size:12px; margin-top:5px; }
.assisted-demo b { color:#90aa97; font-weight:400; }
.assisted-demo-person { display:flex; align-items:center; gap:12px; margin-top:14px; }
.assisted-demo-person p { flex:1; }
.assisted-demo-person strong { font-size:12px; }
.assisted-demo-person small { display:block; color:var(--muted); font-size:9px; }
.assisted-demo-person>span:last-child { color:var(--teal-dark); font-size:9px; }
.returning-strip { display:flex; align-items:center; gap:18px; border:1px solid #dfe9df; padding:23px; border-radius:16px; margin-top:22px; }
.returning-strip>div:first-of-type { flex:1; }
.returning-strip strong { font-size:13px; font-weight:500; }
.returning-strip p { font-size:10px; color:var(--muted); margin-top:4px; }
.returning-strip-round { padding-inline:25px; border-left:1px solid #e1eae2; font-size:11px; }
.returning-strip-round small { display:block; color:var(--muted); font-size:9px; margin-top:4px; }
.returning-strip-action { padding:12px 16px; border-radius:9px; background:#edf6ec; color:var(--deep); font-size:11px; white-space:nowrap; }
.business-checkin-feature { background:var(--deep); color:white; padding-block:64px 30px; }
.checkin-heading>p { color:#a5bfae; }
.checkin-steps { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #ffffff26; border-radius:20px; background:#ffffff03; overflow:hidden; }
.checkin-steps li { padding:28px; border-right:1px solid #ffffff26; }
.checkin-steps li:last-child { border:0; }
.checkin-steps li>span { color:#84b796; font-size:9px; letter-spacing:1.4px; }
.checkin-steps h3 { margin-top:18px; font-size:24px; font-weight:500; }
.checkin-steps p { color:#b0c9b6; font-size:12px; margin-top:16px; }
.checkin-person { display:flex; align-items:center; gap:13px; margin-top:21px; }
.checkin-person .person-avatar { background:#ffffff12; color:#b0edc1; }
.checkin-person strong { font-size:12px; }
.checkin-person small { display:block; color:#b0c9b6; font-size:10px; }
.checkin-credit { display:flex; align-items:baseline; gap:18px; margin-top:17px; }
.checkin-credit b { font-size:32px; font-weight:500; color:#b0edc1; }
.checkin-credit i { color:#699c78; font-style:normal; }
.checkin-credit small { font-size:10px; color:#a5bfae; }
.checkin-bottom { display:flex; justify-content:space-between; gap:24px; color:#83a28c; font-size:10px; margin-top:24px; }
.package-editorial .detail-board { grid-column:1; grid-row:1; }
.package-editorial .detail-copy { grid-column:2; grid-row:1; }
.business-marketing-page .plan-card:last-child { background:var(--deep); color:white; border-color:var(--deep); }
.business-marketing-page .plan-card:last-child .plan-name { color:#a6dbb7; }
.business-marketing-page .plan-card:last-child .plan-price small,.business-marketing-page .plan-card:last-child>p:not(.plan-fee) { color:#b0c9b6; }
.business-marketing-page .plan-card:last-child .plan-fee { color:#c1f3ce; border-color:#ffffff26; }
.business-marketing-page .plan-card:last-child .button { border-color:#ffffff26; background:#ffffff07; color:white; }
@media (max-width:1000px) and (min-width:761px) {
  .app-panorama { grid-template-columns:1fr 310px 1fr; gap:22px; padding-inline:0; }
  .panorama-note,.panorama-bill { padding:17px; }
  .panorama-note strong { font-size:14px; }
  .panorama-service { padding:0; gap:8px; }
  .panorama-bill .subscription-line { gap:6px; flex-wrap:wrap; }
  .detect-flow { grid-template-columns:1fr 20px 140px 20px 1fr; gap:15px; }
  .detect-engine { min-height:165px; }
  .detect-sources .service-logo { width:40px; height:40px; margin-inline:0; }
  .detect-output { padding:17px; }
  .calendar-month,.calendar-agenda { padding:24px; }
  .calendar-showcase { grid-template-columns:1.55fr 1fr; }
  .calendar-agenda .calendar-event { gap:10px; }
  .membership-bento { gap:13px; grid-template-columns:1.15fr 1fr 1fr; }
  .bento-phone { padding:22px 18px 0; }
  .bento-checkin { padding:25px; }
  .bento-renew,.bento-control { padding:23px; }
  .bento-renew h3,.bento-control h3 { font-size:21px; }
  .business-signup-heading>p br,.checkin-heading>p br { display:none; }
  .business-signup-heading>p,.checkin-heading>p { max-width:43%; }
  .returning-strip { gap:14px; padding:18px; flex-wrap:wrap; }
  .returning-strip-round { padding-inline:15px; }
  .checkin-steps li { padding:24px; }
  .checkin-steps h3 { font-size:21px; }
}
@media (max-width:760px) {
  .app-editorial-hero { padding-block:44px 25px; }
  .app-editorial-heading h1 { font-size:34px; letter-spacing:-.9px; }
  .app-editorial-heading .hero-life { display:block; }
  .app-editorial-heading>p:not(.eyebrow) { font-size:13px; }
  .app-panorama { grid-template-columns:1fr; gap:20px; padding:0 15px; margin-top:32px; }
  .app-panorama::before { inset:80px -10px 0; }
  .panorama-phone { width:min(100%,350px); margin:auto; grid-row:1; }
  .panorama-side { transform:none; }
  .panorama-left { grid-template-columns:1fr 1fr; align-items:center; gap:14px; }
  .panorama-left .panorama-note { grid-column:span 2; transform:none; display:flex; align-items:center; gap:12px; padding:14px; }
  .panorama-left .panorama-note p { margin:0; font-size:10px; }
  .panorama-left .panorama-note strong { display:inline; font-size:13px; }
  .panorama-left .panorama-note small { font-size:9px; margin:0 0 0 auto; }
  .panorama-service { font-size:9px; gap:8px; padding:0; }
  .panorama-service .service-logo { width:28px; height:28px; font-size:17px; }
  .panorama-service i,.panorama-right { display:none; }
  .app-free-note { font-size:9px; margin-top:24px; }
  .app-free-note>span { padding-inline:5px; }
  .detect-feature { padding-block:48px 30px; margin-top:30px; }
  .detect-heading h2 { font-size:29px; }
  .detect-heading>p:not(.eyebrow) { font-size:12px; }
  .detect-heading br { display:none; }
  .detect-flow { grid-template-columns:1fr; gap:18px; justify-items:center; margin-block:30px; }
  .detect-sources { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; }
  .detect-sources p { flex-basis:100%; margin-top:7px; }
  .flow-arrow { transform:rotate(90deg); font-size:24px; line-height:1; }
  .detect-engine { min-height:145px; width:155px; border-radius:22px; }
  .detect-engine img { width:44px; height:44px; }
  .detect-output { transform:none; width:min(100%,300px); }
  .detect-explainer { grid-template-columns:1fr; gap:22px; }
  .detect-explainer p { display:grid; grid-template-columns:110px 1fr; gap:15px; }
  .detect-explainer strong { font-size:13px; }
  .detect-explainer p>span { margin:0; }
  .detect-scope { font-size:8px; }
  .app-calendar-feature { padding-block:48px 38px; }
  .calendar-feature-heading { grid-template-columns:1fr; gap:0; margin-bottom:25px; }
  .calendar-feature-heading h2 { font-size:28px; }
  .calendar-feature-heading>p:last-child { font-size:12px; margin-top:15px; }
  .calendar-showcase { grid-template-columns:1fr; border-radius:18px; }
  .calendar-month { padding:22px 16px; }
  .month-title { margin-bottom:23px; gap:12px; }
  .month-title strong { font-size:16px; }
  .full-month { gap:4px; }
  .full-month>span { min-height:47px; font-size:11px; border-radius:6px; }
  .full-month small { font-size:6px; }
  .full-month b { font-size:12px; }
  .calendar-agenda { padding:25px; }
  .calendar-agenda h3 { font-size:23px; }
  .calendar-agenda .calendar-event { padding-block:17px; }
  .agenda-note { margin-top:10px; }
  .calendar-footer-notes { flex-direction:column; gap:12px; font-size:10px; }
  .app-membership-feature { padding-block:15px 40px; }
  .membership-feature-heading h2 { font-size:30px; }
  .membership-feature-heading>p:last-child { font-size:12px; }
  .membership-bento { grid-template-columns:1fr 1fr; gap:13px; }
  .bento-phone { grid-column:span 2; grid-row:auto; padding-inline:22px; }
  .bento-phone .membership-preview { max-width:280px; }
  .bento-checkin { padding:25px; }
  .bento-checkin h3 { font-size:24px; }
  .scan-sequence { gap:6px; font-size:9px; }
  .scan-sequence>span,.scan-sequence>strong { padding:8px 9px; }
  .bento-renew,.bento-control { padding:21px 17px; }
  .bento-renew h3,.bento-control h3 { font-size:19px; }
  .membership-bento article>p { font-size:10px; }
  .membership-bento article>p br { display:none; }
  .bento-label { font-size:8px; letter-spacing:.7px; }
  .membership-feature-scope { text-align:left; font-size:9px; }
  .app-history-feature { padding-block:44px; margin-bottom:40px; }
  .history-heading h2 { font-size:28px; }
  .history-heading>p:last-child { font-size:12px; }
  .app-history-feature .history-track { text-align:left; margin-top:23px; padding:0; }
  .business-signup-feature { padding-block:48px; }
  .business-signup-heading,.checkin-heading { flex-direction:column; align-items:start; gap:18px; margin-bottom:26px; }
  .business-signup-heading h2,.checkin-heading h2 { font-size:28px; }
  .business-signup-heading>p,.checkin-heading>p { font-size:12px; }
  .business-signup-heading>p br,.checkin-heading>p br { display:none; }
  .signup-lanes { grid-template-columns:1fr; gap:17px; }
  .signup-lanes article { padding:25px; }
  .signup-lanes h3 { font-size:23px; }
  .signup-lane-flow { font-size:10px; gap:8px; margin-top:26px; }
  .signup-payment-chips { gap:7px; }
  .signup-payment-chips span { font-size:9px; padding:7px 8px; }
  .returning-strip { flex-wrap:wrap; padding:21px; gap:13px; }
  .returning-strip>div:first-of-type { flex-basis:calc(100% - 60px); }
  .returning-strip-round { border:0; padding:10px 0 0; flex:1; }
  .returning-strip-action { font-size:10px; padding:10px; }
  .business-checkin-feature { padding-block:45px 28px; }
  .checkin-steps { grid-template-columns:1fr; }
  .checkin-steps li { padding:25px; border-right:0; border-bottom:1px solid #ffffff26; }
  .checkin-steps h3 { font-size:23px; margin-top:12px; }
  .checkin-bottom { flex-direction:column; gap:12px; }
  .package-editorial .detail-board,.package-editorial .detail-copy { grid-column:auto; grid-row:auto; }
}
@media (max-width:380px) {
  .app-editorial-heading h1 { font-size:28px; }
  .app-panorama { padding-inline:0; }
  .panorama-left .panorama-note { flex-wrap:wrap; }
  .panorama-left .panorama-note small { flex-basis:100%; margin-left:30px; }
  .full-month>span { min-height:42px; }
  .full-month small { font-size:5px; }
  .calendar-month { padding-inline:13px; }
  .calendar-feature-heading h2 { font-size:24px; }
  .bento-renew,.bento-control { grid-column:span 2; padding:24px; }
  .bento-renew h3,.bento-control h3 { font-size:24px; }
  .bento-renew h3 br,.bento-control h3 br { display:none; }
  .scan-sequence { font-size:8px; gap:5px; }
  .scan-sequence>span,.scan-sequence>strong { padding:7px; }
  .returning-strip-round { flex-basis:100%; }
}

/* Slow entrances use compositor properties so the reading layout stays steady. */
.product-page { --product-ease:cubic-bezier(.16,1,.3,1); --float-distance:7px; }
.product-page .motion-reveal {
  opacity:0;
  pointer-events:none;
  translate:0 var(--motion-y,32px);
  scale:var(--motion-scale,1);
  transition:opacity 1.1s var(--product-ease) var(--motion-delay,0ms),
    translate 1.35s var(--product-ease) var(--motion-delay,0ms),
    scale 1.35s var(--product-ease) var(--motion-delay,0ms),
    box-shadow .6s var(--product-ease),border-color .6s;
}
.product-page [data-motion-depth="true"].motion-reveal { --motion-y:42px; --motion-scale:.975; }
.product-page .motion-reveal.motion-visible {
  opacity:1;
  pointer-events:auto;
  translate:0 0;
  scale:1;
}
.product-page .motion-reveal.motion-immediate { transition:none; }
.product-page [data-motion-interactive="true"].motion-reveal { translate:0 0; scale:1; }
.product-reading-progress {
  position:absolute;
  bottom:-1px;
  left:0;
  width:100%;
  height:2px;
  background:var(--gradient);
  transform:scaleX(0);
  transform-origin:left center;
  pointer-events:none;
}
.app-panorama .panorama-phone {
  animation:product-phone-float 9s ease-in-out infinite;
  animation-play-state:paused;
}
.app-panorama .panorama-note {
  animation:product-card-float 8s ease-in-out infinite;
  animation-play-state:paused;
}
.app-panorama .panorama-right .panorama-note { animation-delay:-3s; }
.detect-feature .flow-arrow {
  animation:product-signal 3.8s ease-in-out infinite;
  animation-play-state:paused;
}
.detect-feature .flow-arrow:nth-child(4) { animation-delay:.55s; }
.detect-feature .detect-engine img {
  animation:product-detect-breathe 6s ease-in-out infinite;
  animation-play-state:paused;
}
.calendar-showcase .bill-day i {
  animation:product-calendar-pulse 5s ease-in-out infinite;
  animation-play-state:paused;
}
.calendar-showcase .bill-day:nth-child(21) i { animation-delay:1.1s; }
.calendar-showcase .bill-day:nth-child(26) i { animation-delay:2.2s; }
.motion-active .panorama-phone,.motion-active .panorama-note,.motion-active .flow-arrow,
.motion-active .detect-engine img,.motion-active .bill-day i { animation-play-state:running; }
.motion-paused .panorama-phone,.motion-paused .panorama-note,.motion-paused .flow-arrow,
.motion-paused .detect-engine img,.motion-paused .bill-day i { animation-play-state:paused; }
@keyframes product-phone-float {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(calc(-1 * var(--float-distance))); }
}
@keyframes product-card-float {
  0%,100% { translate:0 0; }
  50% { translate:0 var(--float-distance); }
}
@keyframes product-signal {
  0%,100% { opacity:.45; }
  45%,60% { opacity:1; }
}
@keyframes product-detect-breathe {
  0%,100% { scale:1; }
  50% { scale:1.06; }
}
@keyframes product-calendar-pulse {
  0%,100% { scale:1; opacity:.7; }
  50% { scale:1.55; opacity:1; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .membership-bento>article,.signup-lanes>article,.plan-card,.insight-grid>article {
    transition:transform .65s var(--product-ease),box-shadow .65s var(--product-ease),
      opacity 1.1s var(--product-ease) var(--motion-delay,0ms),
      translate 1.35s var(--product-ease) var(--motion-delay,0ms),
      scale 1.35s var(--product-ease) var(--motion-delay,0ms);
  }
  .membership-bento>article:hover,.signup-lanes>article:hover,.plan-card:hover,.insight-grid>article:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 40px #0b585f18;
  }
}
@media (max-width:760px) {
  .product-page { --float-distance:4px; }
  .product-page .motion-reveal { --motion-y:22px; }
  .product-page [data-motion-depth="true"].motion-reveal { --motion-y:28px; --motion-scale:.985; }
}
@media (prefers-reduced-motion:reduce) {
  .product-page .motion-reveal { opacity:1; pointer-events:auto; translate:none; scale:1; }
  .product-reading-progress { display:none; }
}
