@keyframes i18n-reveal-fallback {
  to {
    visibility: visible;
  }
}

/* Last-resort overflow guard for the fixed desktop artboard at narrow widths. */
@media (min-width: 701px) and (max-width: 1439px) {
  .pricing .caro, .pricing .caro-vp { width: 100%; max-width: 100%; overflow: hidden; }
  .reports .report-carousel, .reports .report-stage { width: 100%; max-width: 100%; margin-left: 0; }
  .comments { overflow: hidden; }
  .comments .comment-carousel { width: 100%; max-width: 100%; margin-left: 0; overflow: hidden; }
}

html.i18n-pending body {
  visibility: hidden;
  animation: i18n-reveal-fallback 0s 3s forwards;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0
}

:root {
  --paper: #F7F5F0;
  --paper2: #FAF9F6;
  --card: #FFFFFF;
  --ink: #1A2333;
  --body: #3A4358;
  --mute: #6B7080;
  --line: #E7E3D9;
  --indigo: #2847C4;
  --indigo-d: #1f3aa8;
  --verm: #BA3B1D;
  --jade: #0C7A5F;
  --amber: #B07A0E;
  --serif: Georgia, "Times New Roman", serif;
  --mono: ui-monospace, "SF Mono", Menlo, monospace;
  --pingfang: PingFangSC-Regular, sans-serif;
  --pingfang-light: PingFangSC-Light, sans-serif;
  --pingfang-bold: PingFangSC-SemiBold, sans-serif;
  --pingfang-medium: PingFangSC-Medium, sans-serif;

  --glow1: rgba(40, 71, 196, .06);
  --glow2: rgba(176, 122, 14, .05);
  --glow3: rgba(14, 138, 109, .045)
}

/* 高对比变体 */
@media (prefers-contrast:more) {
  :root {
    --mute: #4A4F5E;
    --line: rgba(26, 35, 51, .4)
  }
}

html {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth
}

@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto
  }
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--indigo);
  outline-offset: 2px;
  border-radius: 6px
}

body {
  background: var(--paper);
  color: var(--body);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1.0625rem;
  line-height: 1.6;
  overflow-x: hidden;
  background-image: radial-gradient(760px 420px at 8% -6%, var(--glow1), transparent 60%), radial-gradient(680px 420px at 98% 4%, var(--glow2), transparent 60%), radial-gradient(720px 460px at 50% 118%, var(--glow3), transparent 62%);
  background-attachment: fixed
}

h1,
h2,
h3,
.serif {
  font-family: var(--serif);
  color: var(--ink);
  letter-spacing: -.01em;
  text-wrap: balance
}

a {
  color: inherit;
  text-decoration: none
}

.eb {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--indigo)
}

.ico {
  stroke: currentColor;
  stroke-width: 1.6;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  display: block
}

html[lang="ja"] body {
  font-family: "Hiragino Sans", "Yu Gothic", system-ui, -apple-system, "Segoe UI", sans-serif
}

html[lang="zh"] body {
  font-family: "PingFang SC", system-ui, -apple-system, "Segoe UI", sans-serif
}

html[lang="zh"] {
  --serif: Georgia, "Songti SC", "Noto Serif CJK SC", serif
}

html[lang="ja"] {
  --serif: Georgia, "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif CJK JP", serif
}

/* CJK 排印：方块字关闭负字距；mono 微标签提字号、收字距保可读 */
html[lang="zh"] h1,
html[lang="ja"] h1,
html[lang="zh"] h2,
html[lang="ja"] h2,
html[lang="zh"] h3,
html[lang="ja"] h3,
html[lang="zh"] .serif,
html[lang="ja"] .serif {
  letter-spacing: 0
}

html[lang="zh"] .eb,
html[lang="ja"] .eb {
  font-size: 12px;
  letter-spacing: .12em
}


html[lang="zh"] .wcap,
html[lang="ja"] .wcap {
  font-size: 11px;
  letter-spacing: .08em
}

html[lang="zh"] .fhead,
html[lang="ja"] .fhead {
  font-size: 11.5px;
  letter-spacing: .08em
}

.wrap {
  max-width: 940px;
  margin: 0 auto;
  padding: 0 24px
}

/* ══ v2 rework: full-screen pages ══ */
:root {
  --toph: 71px
}

.page {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  padding: 68px 24px;
  position: relative;
  scroll-margin-top: var(--toph)
}

#p-hero {
  min-height: calc(100svh - var(--toph));
  padding: 28px 24px 64px
}

@supports not (min-height:100svh) {
  #p-hero {
    min-height: calc(100vh - var(--toph))
  }
}

.page>.sec-h {
  margin-bottom: 34px
}

#p-how video::-webkit-media-controls-volume-slider,
#p-how video::-webkit-media-controls-mute-button {
  display: none
}

/* pricing carousel */
.caro {
  --cw: 320px;
  width: 100%;
  overflow: hidden;
  padding: 22px 0 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  outline-offset: 4px
}

@media(max-width:720px) {
  .caro {
    --cw: min(84vw, 320px)
  }
}

.caro-vp {
  width: var(--cw)
}

.caro-strip {
  display: flex;
  align-items: stretch;
  transition: transform .75s cubic-bezier(.24, 1.18, .34, 1)
}

.pcard {
  --d: 0;
  --ad: 0;
  flex: 0 0 var(--cw);
  box-sizing: border-box;
  margin: 26px 0;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 26px 26px 22px;
  box-shadow: 0 22px 54px -30px rgba(26, 35, 51, .38);
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: pointer;
  transform: rotate(calc(var(--d)*4deg)) scale(.8);
  opacity: .75;
  transition: transform .75s cubic-bezier(.24, 1.18, .34, 1), opacity .4s, box-shadow .3s
}

.pcard.on {
  transform: scale(1.045);
  opacity: 1;
  z-index: 2;
  cursor: auto;
  border-color: color-mix(in srgb, var(--indigo) 34%, var(--line));
  box-shadow: 0 30px 70px -32px rgba(40, 71, 196, .4)
}

@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .caro.fan .pcard {
    transform: rotate(calc(var(--d)*13deg)) translateY(calc(var(--ad)*22px)) scale(.66)
  }

  .caro.fan .pcard.on {
    transform: scale(1.05)
  }
}

.pc-name {
  font-size: 17px;
  font-weight: 800;
  color: var(--ink)
}

.pc-role {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13.5px;
  color: var(--mute);
  margin: 2px 0 14px;
  display: block
}

.pc-price {
  font-family: var(--serif);
  font-size: 40px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1;
  margin-bottom: 12px
}

.pc-price em {
  font-style: normal;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--mute);
  font-weight: 400
}

.pc-pitch {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--body);
  margin-bottom: 16px;
  flex: 1
}

.pc-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 750;
  padding: 0 16px;
  border: 1.5px solid var(--indigo);
  color: var(--indigo);
  transition: background .15s, color .15s
}

.pc-cta:hover {
  background: var(--indigo);
  color: #fff
}

.pcard.hot .pc-cta {
  background: var(--indigo);
  color: #fff;
  border-color: var(--indigo)
}

.pcard.hot .pc-cta:hover {
  background: var(--indigo-d)
}

.pc-sub {
  font-size: 11px;
  color: var(--mute);
  text-align: center;
  margin-top: 9px;
  font-family: var(--mono)
}

.pc-badge {
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--verm);
  color: #fff;
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 4px 12px;
  white-space: nowrap
}

.caro-nav {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 100px;
  padding: 7px 12px;
  box-shadow: 0 10px 26px -18px rgba(26, 35, 51, .4)
}

.caro-nav>button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: none;
  background: none;
  border-radius: 50%;
  color: var(--mute);
  cursor: pointer;
  transition: background .12s, color .12s;
  padding: 0;
  font-family: inherit
}

.caro-nav>button:hover {
  background: var(--paper2);
  color: var(--ink)
}

.caro-nav>button svg {
  width: 15px;
  height: 15px
}

.caro-dots {
  display: flex;
  gap: 7px;
  align-items: center
}

.caro-dots button {
  width: 7px;
  height: 7px;
  border-radius: 100px;
  background: var(--line);
  padding: 0;
  border: none;
  cursor: pointer;
  transition: width .3s, background .3s
}

.caro-dots button[aria-current="true"] {
  width: 22px;
  background: var(--indigo)
}

.pr-more {
  text-align: center;
  margin-top: 22px
}

@media(prefers-reduced-motion:reduce) {

  .caro-strip,
  .pcard {
    transition: none
  }
}

/* faq */
.faq {
  width: min(680px, 100%);
  margin: 0 auto
}

.fq {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  margin-bottom: 12px
}

.fq summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  font-weight: 700;
  color: var(--ink);
  font-size: 15px;
  min-height: 44px
}

.fq summary::-webkit-details-marker {
  display: none
}

.fq summary:after {
  content: "+";
  font-family: var(--mono);
  font-size: 19px;
  color: var(--mute);
  transition: transform .18s;
  flex: none
}

.fq[open] summary:after {
  transform: rotate(45deg)
}

.fq .fa {
  padding: 0 20px 18px;
  font-size: 14px;
  color: var(--body);
  line-height: 1.62
}

@media(prefers-reduced-motion:reduce) {
  .fq summary:after {
    transition: none
  }
}

/* Home_2 visual system: editorial landing page */
:root { --h2-paper:#faf5f0; --h2-hover: #000000; --h2-ink:#282d32; --h2-muted:#91969b; --h2-teal:#286464; --h2-orange:#ff5a00; --h2-deep:#20272d; --h2-green-light: #32e132; --h2-green-light-2: #00b900;}
html { scroll-behavior:smooth; }
body { background:var(--h2-paper); color:var(--h2-ink); font-family: var(--pingfang); overflow-x:hidden; }
.page { padding:0 max(24px, calc((100vw - 1200px)/2)); scroll-margin-top:76px; }
.hero { min-height:690px; display:grid; grid-template-columns:minmax(0, 1fr) 320px; gap:70px; align-items:center; padding-top:70px; padding-bottom:90px; }
.hero-copy { max-width:660px; }
.eyebrow { color:var(--h2-ink); font-size:14px; letter-spacing:.02em; margin-bottom:22px; }
.hero h1 { font-family: var(--pingfang-bold); font-size:clamp(44px, 5vw, 72px); line-height:1.07; letter-spacing:-1px; font-weight:700; margin:0 0 30px; }
.hero h1 span, .section-heading h2 span, .faq h2 span { color:var(--h2-orange); }
.hero-lead { color:var(--h2-muted); font-size:20px; line-height:1.45; max-width:610px; margin-bottom:34px; }
.hero-form { display:flex; width:min(540px,100%); height:58px; border:3px solid var(--h2-teal); border-radius:30px; overflow:hidden; background:#fff; transition:background-color .15s ease, border-color .15s ease; }
.hero-form input { flex:1; min-width:0; border:0; outline:0; padding:0 22px; font-size:16px; color:var(--h2-ink); background:#fff; }
.hero-form input::placeholder { color:#cfd1d2; }
.hero-form .go { width:58px; min-height:58px; margin:-3px -3px -3px 0; border-radius:50%; background:var(--h2-teal); box-shadow:none; font-size:28px; padding:0; }
.hero-form .go:hover { background:#1d5353; transform:none; }
.hero-form:focus-within { border-color:var(--h2-green-light-2); background:var(--h2-green-light-2); }
.hero-form:focus-within .go,
.hero-form:focus-within .go:hover { background:var(--h2-green-light-2); }
.hero-note { color:var(--h2-muted); font-size:13px; margin-top:16px; }

.maya-card { width:320px; background:var(--h2-orange); border-radius:10px; padding:10px 14px 16px; color:#000; display:flex; flex-direction:column; align-self:center; position: relative;}
.maya-card .maya-content { flex:1; display:flex; flex-direction:column; gap:10px; padding: 0 10px 40px; position: relative;}
.maya-card img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:5px; margin-bottom:10px; }
.maya-card strong { font-size:32px; line-height:1; margin-bottom:12px; }
.maya-card b { font-size:13px; margin-bottom:5px; }
.maya-card small { font-size:11px; line-height:1.25; max-width:220px; }
.maya-card em { font-style:normal; font-size:11px; color:#fff; bottom: 0px; position: absolute;padding-bottom: 10px;}
.maya-card em i { display:inline-block; width:7px; height:7px; background:#44e03c; border-radius:50%; margin-right:6px; }

.geo { min-height:600px; display:grid; grid-template-columns:360px minmax(0,1fr); gap:110px; align-items:center; padding-left: max(24px, calc((100vw - 1200px) / 2)); padding-right: max(24px, calc((100vw - 1200px) / 2));}
.geo-label { font-size:80px; line-height:1; font-weight:700; letter-spacing:-3px; }
.geo-label span { color:var(--h2-orange); }
.geo-copy { max-width:650px; }
.geo-copy h2 { font-size:42px; line-height:1.08; margin:0 0 30px; }
.geo-copy p:not(.eyebrow) { font-size:18px; line-height:1.45; margin:0 0 20px; max-width:620px; }


.pricing { background:var(--h2-deep); color:#fff; min-height:730px; padding-top:95px; padding-bottom:90px; }
.pricing .section-heading, .reports .section-heading { text-align:center; max-width:780px; margin:0 auto 48px; }
.pricing .eyebrow, .reports .eyebrow { color:#fff; }
.section-heading h2 { font-size:52px; line-height:1.08; margin:0 0 18px; }
.section-heading > p:last-child { color:var(--h2-muted); font-size:19px; line-height:1.4; }
.pricing .section-heading > p:last-child { color:#a9adb0; }
.caro { padding:0; overflow:visible; }
.caro-vp { width:100%; overflow:visible; }
.caro-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; transform:none!important; }
.pcard { min-height:420px; margin:0; padding:0 10px 10px; border:0; border-radius:10px; background:#faf5f0; color:var(--h2-ink); box-shadow:none; opacity:1; transform:none!important; cursor:default; overflow:hidden; transition:background-color .15s ease; }
.pcard.on { transform:none; border:0; box-shadow:none; }
.pcard:focus-within { background:#fff; }
@media (hover:hover) {
  .pcard:hover { background:#fff; }
}
.pc-head { min-height:138px; padding:25px 15px 18px; color:#fff; display:flex; flex-direction:column; justify-content:flex-end; border-radius:8px; position:relative; overflow:hidden; background:var(--h2-teal); border-radius: 16px;}
.pc-head:after { content:""; position:absolute; inset:0; opacity:.16; background:linear-gradient(155deg, transparent 30%, #fff 31%, transparent 33%, transparent 57%, #fff 58%, transparent 60%); }
.pc-head strong, .pc-head span, .pc-head b { position:relative; z-index:1; }
.pc-head strong { font-size:32px; line-height:1.05; margin-bottom:7px; }
.pc-head span { font-size:15px; line-height:1.2; font-family:var(--pingfang-light); font-weight:400; }
.pc-head.autopilot { background:var(--h2-orange); }
.pc-head.managed { background:#080808; }
.pc-head b { position:absolute; top:7px; left:50%; transform:translateX(-50%); background:#ffe132; color:#111; border-radius:12px; padding:3px 11px; font-size:10px; font-weight:400; white-space:nowrap; font-family: PingFangSC-Regular;}
.pc-price { font-family: var(--pingfang-bold); font-size:40px; color:#000; letter-spacing:0; font-weight:600; padding:22px 15px 10px; display:flex; align-items:center; gap:8px; }
.pc-price .pc-currency,
.pc-price small { font-family:PingFangSC-Light, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; font-size:18px; color:#282D32; letter-spacing:0; font-weight:200; }
.pcard > p { min-height:114px; padding:0 15px; color:#4d5256; font-size:14px; line-height:1.42; }
.pcard .pc-sub { display:block; margin:0; padding:0; font:inherit; color:inherit; text-align:left; line-height:inherit; }
.pc-cta { margin:10px 0 0; width:100%; min-height:44px; border:1.5px solid var(--h2-orange); border-radius:9px; color:var(--h2-orange); font-size:14px; }
.pc-cta:hover { background:var(--h2-orange); color:#fff; }
.pcard.hot .pc-cta { background:var(--h2-orange); border-color:var(--h2-orange); color:#fff; }
.pcard.hot .pc-cta:hover { background:var(--h2-orange); color:#fff; }
.caro-nav { display:none; }
.pr-more { margin-top:26px; text-align:center; }
.pricing-more { color:var(--h2-orange); }
.how { min-height:950px; padding-top:100px; padding-bottom:110px; }
.how .section-heading { text-align:center; max-width:900px; margin:0 auto 50px; }
.how .section-heading h2 { font-size:50px; }
.how .section-heading > p:last-child { color:var(--h2-muted); }
.video-frame { max-width:960px; margin:0 auto; border-radius:12px; overflow:hidden; background:#433c35; }
.stage-bar { height:42px; padding:0 16px; background:#24201c; display:flex; align-items:center; gap:7px; }
.stage-bar i { width:10px; height:10px; border-radius:50%; background:#ff5f57; }
.stage-bar i:nth-child(2) { background:#febc2e; }.stage-bar i:nth-child(3) { background:#28c840; }
.stage-bar span { color:#aaa; font-size:12px; margin-left:8px; }
.video-frame video { width:100%; aspect-ratio:16/9; display:block; background:url('/assets/img/tutorial-poster.webp') center/cover no-repeat; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:36px; max-width:960px; margin:62px auto 0; }
.steps article { text-align:left; }.steps article b { color:var(--h2-teal); font-size:48px; }.steps h3 { font-size:20px; line-height:1.18; margin:9px 0 11px; }.steps p { color:#565b60; font-size:15px; line-height:1.42; }
.reports { background:var(--h2-orange); color:#fff; min-height:770px; padding-top:100px; padding-bottom:100px; }
.reports .section-heading > p:last-child { color:#fff; }
.report-stage { max-width:960px; height:460px; margin:0 auto; position:relative; overflow:hidden; border-radius:12px; }
.report-stage > img { width:100%; height:100%; object-fit:cover; filter:saturate(.9); transition:opacity .24s ease; }
.report-stage > img.is-fading { opacity:0; }
.report-card { position:absolute; background:rgba(25,26,20,.60); border-radius:12px; padding:20px; color:#fff; backdrop-filter: blur(20px) saturate(1.0) }
.report-card.primary { left:25%; top:25%; width:310px; }.report-card.secondary { right:-20px; top:25%; width:260px; }
.report-card strong { display:block; font-size:30px; }.report-card span { display:block; font-size:14px; }.report-card b { display:block; color:#ffe132; font-size:58px; line-height:1.1; text-align:right; }
.report-card b small { color:#fff; font-size:14px; }.report-card p { font-size:13px; line-height:1.35; }.report-card a { display:inline-flex; background:#00b900; color:#fff; border-radius:14px; padding:5px 12px; font-size:11px; margin-top:10px; }
.comments { padding-top:100px; padding-bottom:110px; }.comments .section-heading { text-align:center; }.comments .section-heading > p:last-child { color:var(--h2-muted); }
.comment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; width:100%; max-width:960px; min-width:0; margin:0 auto; }
.comment-grid figure { min-height:320px; background:#fff; border-radius:10px; padding:20px; display:flex; flex-direction:column; }
.stars { color:#ffd632; letter-spacing:2px; font-size:20px; }.comment-grid blockquote { color:#31363a; font-size:17px; line-height:1.4; margin:14px 0; }
.comment-grid figcaption { margin-top:auto; background:var(--h2-paper); border-radius:8px; padding:11px; }
.comment-grid figcaption strong { display:block; font-size:36px; font-family: var(--pingfang-bold); font-weight: 600;}
.comment-grid figcaption span { font-size:20px; font-family: PingFangSC-Semibold; font-weight: 600;}
.faq { padding-top:100px; padding-bottom:110px; }.faq .section-heading { text-align:center; max-width:850px; margin:0 auto 42px; }.faq-list { max-width:960px; margin:0 auto; }.fq { border:1px solid #e1d9d2; background:#fff; border-radius:10px; margin:0 0 12px; }.fq summary { min-height:60px; padding:16px 20px; font-size:19px; }.fq summary:after { color:#d8d1ca; }.fq .fa { font-size:16px; color:#3e4448; padding:0 20px 20px; }
@media(max-width:900px) { .hero { grid-template-columns:1fr 260px; gap:30px; }.maya-card { width:260px; }.geo { gap:50px; }.geo-label { font-size:66px; }.caro-strip { gap:12px; }.pc-head strong { font-size:26px; }.pc-head span { font-size:13px; }.report-card.primary { left:13%; }.steps { gap:18px; } }
@media(max-width:700px) { .page { padding-left:20px; padding-right:20px; }.hero { min-height:auto; display:flex; flex-direction:column; align-items:stretch; gap:42px; padding-top:58px; padding-bottom:72px; }.hero h1 { font-size:44px; }.hero-lead { font-size:17px; }.maya-card { width:min(300px,100%); align-self:center; }.geo { min-height:auto; display:flex; flex-direction:column; align-items:stretch; gap:35px; }.geo-label { font-size:68px; }.geo-copy h2 { font-size:35px; }.geo-copy p:not(.eyebrow) { font-size:16px; }.pricing { padding-top:76px; padding-bottom:72px; }
.section-heading h2, .how .section-heading h2 { font-size:38px; }.section-heading > p:last-child { font-size:16px; }
.caro-strip { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; padding:0 2px 10px; transform:none!important; }.pcard { flex:0 0 min(82vw,320px); scroll-snap-align:center; }.caro-nav { display:none; }.how { padding-top:78px; padding-bottom:84px; }.steps { grid-template-columns:1fr 1fr; gap:30px 20px; margin-top:44px; }.steps h3 { font-size:17px; }.steps p { font-size:14px; }.reports { padding-top:78px; padding-bottom:80px; }.report-stage { height:370px; }.report-card.primary { left:7%; top:23%; width:240px; }.report-card.secondary { right:-78px; top:23%; width:220px; }.report-card strong { font-size:24px; }.report-card b { font-size:44px; }.comments, .faq { padding-top:78px; padding-bottom:84px; }.comment-grid { display:flex; width:100%; max-width:100%; overflow-x:auto; gap:16px; scroll-snap-type:x mandatory; }.comment-grid figure { flex:0 0 84vw; scroll-snap-align:center; }.faq .section-heading { margin-bottom:30px; }.fq summary { font-size:17px; }.fq .fa { font-size:15px; }}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.caro-strip, .comment-grid { scroll-behavior:auto; } .report-stage > img { transition:none; } .report-stage > img.is-fading { opacity:1; } }
/* Layout bounds */
.page { width:100%; max-width:1200px; margin-left:auto; margin-right:auto; padding-left:0; padding-right:0; box-sizing:border-box; }
.pricing.page { max-width:1440px; padding-left:0; padding-right:0; }
.pricing .section-heading, .pricing .pr-more { max-width:1200px; margin-left:auto; margin-right:auto; }
.pricing .caro { max-width:1440px; margin-left:auto; margin-right:auto; }

/* Narrow desktop overflow guard (kept last so it wins over exported artboard rules). */
@media (min-width: 701px) and (max-width: 1439px) {
  .pricing .caro, .pricing .caro-vp { width: 100%; max-width: 100%; overflow: hidden; }
  .comments { overflow: hidden; }
  .comments .comment-carousel { overflow: hidden; width: 100%; max-width: 100%; margin-left: 0; }
  .reports .report-carousel { width: 100%; max-width: 100%; margin-left: 0; }
  .reports .report-stage { width: 100%; max-width: 100%; }
  .status-foot-inner { width: 100%; max-width: 1120px; }
}

/* Fluid tablet and narrow-desktop layout.
 * The large desktop artboard above is intentionally fixed at 1200px, but it
 * must give way before that width so 701–1439px viewports never scroll
 * horizontally or clip the hero and full-bleed sections.
 */
@media (min-width: 701px) and (max-width: 1439px) {
  .page {
    width: min(100% - 48px, 1200px);
    max-width: 1200px;
  }

  #p-hero {
    min-height: 0;
    padding: clamp(56px, 8vw, 96px) 0 72px;
  }

  .hero {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 0;
    grid-template-columns: minmax(0, 1fr) clamp(260px, 28vw, 340px);
    gap: clamp(28px, 4vw, 56px);
    align-items: center;
  }

  .hero-copy { max-width: none; }
  .hero h1 {
    font-size: clamp(48px, 6.2vw, 80px);
    line-height: 1.02;
    margin-bottom: 24px;
  }
  .hero-lead {
    max-width: 680px;
    margin-bottom: 36px;
    font-size: clamp(19px, 2.2vw, 28px);
    line-height: 1.4;
  }
  .hero-form { width: min(540px, 100%); }

  .maya-card {
    width: 100%;
    height: auto;
    align-self: center;
  }
  .maya-card img { width: 100%; height: auto; }

  .geo {
    width: 100%;
    height: auto;
    min-height: 620px;
    padding: 90px 0;
    grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
    gap: clamp(36px, 7vw, 105px);
    align-items: center;
  }
  .geo-label { font-size: clamp(78px, 11vw, 160px); line-height: .98; }
  .geo-copy { max-width: none; padding-top: 0; }
  .geo-copy h2 {
    width: auto;
    font-size: clamp(40px, 5vw, 60px);
    line-height: 1.02;
    margin-bottom: 34px;
    white-space: normal;
  }
  .geo-copy p:not(.eyebrow) {
    max-width: 680px;
    font-size: clamp(18px, 2vw, 24px);
    line-height: 1.45;
  }

  .pricing.page, .reports.page {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: max(24px, calc((100vw - 1200px) / 2));
    padding-right: max(24px, calc((100vw - 1200px) / 2));
  }
  .pricing, .reports { height: auto; min-height: 0; }
  .pricing { padding-top: 88px; padding-bottom: 88px; }
  .reports { padding-top: 88px; padding-bottom: 88px; }
  .pricing .section-heading, .reports .section-heading { margin-bottom: 44px; }
  .section-heading h2 { font-size: clamp(38px, 4.4vw, 52px); }
  .pricing .caro, .pricing .caro-vp { width: 100%; max-width: 100%; overflow: hidden; }
  .pricing .caro-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .pcard { min-width: 0; }

  .how, .comments, .faq {
    width: min(100% - 48px, 1200px);
    height: auto;
    min-height: 0;
    padding-top: 88px;
    padding-bottom: 96px;
  }
  .video-frame { width: 100%; height: auto; }
  .video-frame video { width: 100%; height: auto; aspect-ratio: 16 / 9; }
  .steps { width: 100%; max-width: 960px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .steps article { width: auto; height: auto; min-height: 280px; }
  .reports .report-carousel, .reports .report-stage { width: 100%; max-width: 1200px; }
  .reports .report-stage { height: min(56.25vw, 675px); }
  .report-stage > img { width: 100%; height: 100%; }
  .report-strip { padding-left: max(24px, 12vw); padding-right: max(24px, 12vw); }
  .report-card { flex-basis: min(600px, 52vw); width: min(600px, 52vw); }
  .comment-grid { width: 100%; max-width: 100%; }
  .faq-list { width: 100%; max-width: 960px; }
}

/* Home_2 resolution=1 measurements: the 1600px artboard maps directly to desktop CSS. */
@media(min-width:701px) {
  .page { width:1200px; max-width:1200px; padding-left:0; padding-right:0; }
  #p-hero { min-height:0; padding:100px 0 0; }

  .hero { height:820px; min-height:0; padding:120px 0 0; grid-template-columns:820px 340px; gap:40px; align-items:start; }
  .hero-copy { max-width:820px; }
  .hero-copy > .eyebrow, .hero-note { display:none; }
  .hero h1 { font-size:80px; line-height:80px; letter-spacing:0; margin:0 0 30px; }
  .hero-lead { max-width:720px; margin:0 0 60px; font-size:28px; line-height:40px; }
  .hero-form { width:540px; height:60px; border:4px solid var(--h2-teal); border-radius:40px; background:var(--h2-teal); }
  .hero-form input { height:52px; border-radius:34px; padding:0 30px; font-size:24px; line-height:40px; }
  .hero-form .go { width:60px; min-height:60px; margin:-4px -4px -4px 0; background:var(--h2-teal); font-size:31px; }
  .maya-card { width:340px; height:580px; padding:10px; border-radius:0; align-self:start; }
  .maya-card img { width:320px; height:320px; margin:0 0 0; border-radius:0; }
  .maya-card strong { font-size:60px; line-height:84px; margin:0; }
  .maya-card b { font-size:20px; line-height:28px; margin:0; }
  .maya-card small { font-size:16px; line-height:20px; max-width:300px; margin-top:2px; }
  .maya-card em { font-size:16px; line-height:22px;}
  .maya-card em i { width:12px; height:12px; margin-right:10px; }

  .geo { min-height:800px; padding: 0 0 160px; grid-template-columns:395px 700px; gap:105px; align-items:start; border-top:0; }
  .geo-label { font-size:160px; line-height:160px; letter-spacing:0; }
  .geo-copy { max-width:700px; padding-top:150px; }
  .geo-copy > .eyebrow { display:none; }
  .geo-copy h2 { width:800px; font-size:60px; line-height:60px; margin:0 0 60px; white-space:nowrap; }
  .geo-copy p:not(.eyebrow) { max-width:700px; margin:0 0 20px; font-size:24px; line-height:36px; }

  .pricing.page, .reports.page { width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); box-sizing:border-box; padding-left:max(24px, calc((100vw - 1200px) / 2)); padding-right:max(24px, calc((100vw - 1200px) / 2)); }
  .pricing, .how, .reports, .comments, .faq { display:block; }
  .pricing { height:1300px; min-height:0; padding-top:120px; padding-bottom:0; }
  .pricing .section-heading, .reports .section-heading { max-width:1000px; margin:0 auto 60px; }
  .pricing .eyebrow, .reports .eyebrow { font-size:24px; line-height:33px; margin-bottom:30px; }
  .section-heading h2 { font-size:80px; line-height:80px; letter-spacing:0; margin:0 0 30px; }
  .section-heading > p:last-child { font-size:32px; line-height:45px; }
  .pricing .section-heading > p:last-child { color:#91969b; }
  .pricing .caro { width:1420px; max-width:none; margin:0 auto; overflow:visible; }
  .pricing .caro { margin-left:-110px; margin-right:-110px; }
  .pricing .caro-vp { width:1420px; max-width:none; overflow:visible; }
  .pricing .caro-strip { display:grid; grid-template-columns:repeat(4, 340px); gap:20px; width:1420px; transform:none !important; }
  .pricing .pcard { width:340px; height:600px; min-height:600px; padding:10px; border-radius:16px; }
  .pricing .pc-head { width:320px; height:200px; min-height:200px; padding:40px 20px 20px; border-radius:16px; justify-content:flex-start; }
  .pricing .pc-head strong { font-size:56px; line-height:78px; margin:0; }
  .pricing .pc-head span { font-size:24px; line-height:33px; }
  .pricing .pc-head b { top:10px; font-size:14px; line-height:20px; }
  .pricing .pc-price { font-size:60px; line-height:84px; padding:20px 20px 0; }
  .pricing .pc-price .pc-currency,
  .pricing .pc-price small { font-size:28px; }
  .pricing .pcard > p { min-height:140px; padding:0 20px; font-size:20px; line-height:28px; }
  .pricing .pcard .pc-sub { min-height:0; padding:0; }
  .pricing .pc-cta { width:300px; height:60px; min-height:60px; margin:10px auto 0; border-radius:0; font-size:24px; }
  .pricing .caro-nav { display:none; }
  .pricing .pr-more { margin-top:26px; font-size:18px; }

  .how { height:2100px; min-height:0; padding:120px 0 0; }
  .how .section-heading { max-width:1000px; margin:0 auto 60px; }
  .how .eyebrow, .comments .eyebrow, .faq .eyebrow { font-size:24px; line-height:33px; margin-bottom:30px; }
  .how .section-heading h2 { font-size:80px; line-height:80px; margin-bottom:30px; white-space:normal; }
  .how .section-heading > p:last-child { font-size:32px; line-height:45px; }
  .video-frame { width:1200px; max-width:1200px; height:675px; margin:0 auto; border-radius:0; }
  .video-frame .stage-bar { display:none; }
  .video-frame video { width:1200px; height:675px; aspect-ratio:auto; }
  .steps { display:grid; grid-template-columns:repeat(2, 590px); grid-template-rows:repeat(2, 360px); gap:20px; width:1200px; max-width:1200px; margin:60px auto 0; }
  .steps article { width:590px; height:360px; min-height:360px; padding:10px 20px; border-radius:16px; background:#fff; overflow:hidden; }
  .steps article:first-child { background:var(--h2-teal); color:#fff; }
  .steps article:nth-child(n+2) { background:#fff; }
  .steps article b { display:block; color:var(--h2-teal); font-size:60px; line-height:84px; }
  .steps article:first-child b { color:#fff; }
  .steps h3 { color:var(--h2-teal); font-size:32px; line-height:45px; margin:0 0 10px; }
  .steps article:first-child h3 { color:#fff; }
  .steps p { color:#282d32; font-size:20px; line-height:28px; }
  .steps article:first-child p { color:#eae6e0; }

  .reports { height:1300px; min-height:0; padding-top:120px; padding-bottom:0; }
  .reports .section-heading { margin-bottom:49px; }
  .reports .section-heading h2, .comments .section-heading h2 { white-space:nowrap; }
  .reports .section-heading h2 { margin-bottom:19px; }
  .reports .section-heading > p:last-child { color:#faf5f0; }
  .reports .report-carousel { width:1200px; max-width:1200px; margin:0 auto; }
  .reports .report-stage { width:1200px; max-width:1200px; height:675px; margin:0; border-radius:0; }
  .report-stage > img { width:1200px; height:675px; }
  .report-strip { position:absolute; inset:0; display:flex; align-items:center; gap:120px; width:max-content; padding:0 300px; transition:transform .4s ease; }
  .report-card { position:relative; flex:0 0 600px; width:600px; height:360px; min-height:360px; padding:20px; border-radius:16px; background:rgba(25,26,20,.60); backdrop-filter: blur(20px) saturate(1.0)}
  .report-card:nth-child(even) { transform:none; }
  .report-card strong { font-size:60px; line-height:60px; }
  .report-card span { font-size:28px; line-height:40px; }
  .report-card b { font-size:120px; line-height:1.1; }
  .report-card b small { font-size:24px; }
  .report-card p { font-size:20px; line-height:28px; max-width:440px; }
  .report-link { border-radius:0; padding:5px 12px; font-size:18px; line-height:25px; }
  .report-note { height:22px; margin:15px 0 0; color:#faf5f0; font-size:16px; line-height:22px; text-align:center; }
  .report-nav { display:flex; justify-content:center; align-items:center; gap:20px; margin-top:23px; }
  .report-nav button { width:60px; height:60px; border-radius:50%; font-size:28px; }
  
  .comments { height:1200px; padding-top:120px; padding-bottom:0; overflow:visible; }
  .comments .section-heading { max-width:1000px; margin:0 auto 60px; }
  .comments .section-heading h2 { font-size:80px; line-height:80px; }
  .comments .section-heading > p:last-child { font-size:32px; line-height:45px; }
  .comment-grid { display:flex; gap:40px; width:1400px; max-width:none; height:520px; margin:0; overflow:visible; }
  .comment-grid figure { flex:0 0 380px; width:380px; height:520px; min-height:520px; padding:30px; border-radius:16px; }
  .comment-grid figure:nth-child(3) { flex-basis:320px; width:320px; }
  .stars { font-size:32px; line-height:32px; letter-spacing:2px; }
  .comment-grid blockquote { font-size:24px; line-height:32px; margin:21px 0; }
  .comment-grid figcaption { border-radius:0; padding:0; background:transparent; }
  .comment-grid figcaption strong { font-size:36px; line-height:48px; font-weight:600; }
  .comment-grid figcaption span { font-size:20px; line-height:30px; font-weight: 600;}

  .faq { padding-top:120px; padding-bottom:160px; width:1200px; max-width:1200px; }
  .faq .section-heading { max-width:1000px; margin:0 auto 60px; }
  .faq .section-heading h2 { font-size:80px; line-height:80px; margin-bottom:0; }
  .faq-list { width:1200px; max-width:1200px; margin:0; }
  .fq { min-height:100px; margin:0 0 20px; border:2px solid #eae6e0; border-radius:16px; }
  .fq summary { min-height:96px; padding:0 40px; font-size:32px; line-height:45px; }
  .fq summary:after { content:"v"; font-family:var(--pingfang); font-size:28px; color:#91969b; }
  .fq[open] summary:after { content:"^"; }
  .fq .fa { padding:0 40px 24px; font-size:28px; line-height:40px; }

}

@media(max-width:700px) {
  .page { padding-left: 24px; padding-right: 24px;}
  .hero, .geo, .pricing, .how, .reports, .comments, .faq { height:auto; min-height:0; }
  .hero { padding-top:58px; padding-bottom:72px; }
  .hero .hero-form {background: var(--h2-teal); height: 60px;
    border: 4px solid var(--h2-teal);
    border-radius: 40px;} 
  .hero .hero-form input {
    border-radius: 40px;
  }
  .hero .hero-form:focus-within { background: var(--h2-green-light-2); border-color: var(--h2-green-light-2); }
  .hero-copy > .eyebrow { display:block; }
  .hero h1 { font-size:44px; line-height:1.08; }
  .hero-lead { font-size:17px; line-height:1.45; margin-bottom:34px; }
  .hero-note { display:block; }
  .maya-card { width:min(300px,100%); height:auto; padding:10px; border-radius:10px; }
  .maya-card img { width:100%; height:auto; border-radius:5px; }
  .maya-card strong { font-size:32px; line-height:1; margin:0 0 12px; }
  .maya-card b { font-size:13px; line-height:normal; }
  .maya-card small { font-size:11px; line-height:1.25; }
  .maya-card em { font-size:11px; padding-top:18px; }
  .geo { padding-top:74px; padding-bottom:78px; padding-left:24px; padding-right:24px; }
  .geo-copy { padding-top:0; }
  .geo-copy > .eyebrow { display:block; }
  .geo-label { font-size:68px; line-height:1; }
  
  .pricing .caro, .pricing .caro-vp { width:100%; max-width:100%; }
  .pricing .caro-strip { display:grid; padding-left: 24px;
    padding-right: 24px; gap:14px; grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .pricing .pcard { flex:0 0 min(82vw,320px); width:auto; height:auto; min-height:420px; padding:10px 10px 10px; }
  .pricing .pc-head { width:auto; height:auto; min-height:138px; padding:25px 15px 18px; }
  .pricing .pc-head strong { font-size:32px; line-height:1.05; }
  .pricing .pc-head span { font-size:15px; line-height:1.2; }
  .pricing .pc-price { font-size:40px; line-height:1.2; padding:22px 15px 10px; }
  .pricing .pcard > p { min-height:114px; padding:0 15px; font-size:14px; line-height:1.42; }
  .pricing .pc-cta { width:100%; height:auto; min-height:44px; font-size:14px; }
  .pricing .caro-nav { display:none; }
  
  .video-frame { width:100%; height:auto; }
  .video-frame video { width:100%; height:auto; aspect-ratio:16/9; }
  .steps { width:100%; max-width:100%; grid-template-columns:1fr; grid-template-rows:auto; gap:30px 20px; margin-top:44px; }
  .steps article { width:auto; height:auto; min-height:220px; padding:18px 16px; }
  .steps article b { font-size:32px; line-height:1.5; }
  .steps h3 { font-size:17px; line-height:1.18; }
  .steps p { font-size:14px; line-height:1.42; }
  .steps article:first-child b {
    color: #fff;
  }
  .steps article:first-child h3, .steps article:first-child p {
    color: #fff;
  }
  .steps article:nth-child(n+2) {
    background: #fff;
    border-radius: 16px;
  }
  .steps h3 {
    color: var(--h2-teal);
    font-size: 18px;
    line-height: 1.2;
    margin: 0 0 10px;
  }
  .steps article:first-child {
    background: var(--h2-teal);
    color: #fff;
    border-radius: 16px;
  }

  .reports .report-carousel, .reports .report-stage { width:100%; max-width:100%; }
  .reports .report-stage { height:370px; }
  .report-stage > img { width:100%; height:100%; }
  .report-strip { position:absolute; inset:0; display:flex; align-items:center; gap:16px; width:max-content; padding:0 30px; transition:transform .4s ease; }
  .report-card { position:relative; flex:0 0 280px; flex-basis:280px; width:280px; height:auto; min-height:250px; padding:20px; }
  .report-card strong { font-size:24px; line-height:1.1; }
  .report-card span { font-size:14px; line-height:1.2; }
  .report-note {text-align: center;}
  
  .report-card p { font-size:15px; line-height:1.4; }
  .report-link { font-size:11px; line-height:1.2; }
  .report-note { height:auto; margin:12px 0 0; font-size:12px; line-height:1.4; }
  .report-nav { margin-top:18px; justify-content:center; display:flex; }
  .comments { padding-top:78px; padding-bottom:84px; }
  .comment-grid { width:100%; max-width:100%; height:auto; overflow-x:auto; gap:16px; }
  .comment-grid figure, .comment-grid figure:nth-child(3) { flex:0 0 84vw; width:84vw; height:auto; min-height:320px; padding:20px; }
  .stars { font-size:20px; }
  .comment-grid blockquote { font-size:17px; line-height:1.4; }
  .comment-grid figcaption strong { font-size:30px; line-height:1; }
  .comment-grid figcaption span { font-size:14px; line-height:1.2; }
  .faq { padding-top:78px; padding-bottom:84px; }
  .faq-list { width:100%; max-width:100%; }
  .fq { min-height:0; margin-bottom:12px; border-width:1px; border-radius:10px; }
  .fq summary { min-height:60px; padding:16px 20px; font-size:17px; line-height:1.35; }
  .fq .fa { padding:0 20px 20px; font-size:15px; line-height:1.62; }
  
}

/* Home_2 exported layers: keep the artwork at the resolution=1 measurements. */
.geo { position:relative; overflow:hidden; }
.geo-dots { position:absolute; z-index:0; left:0; top:0; width:800px; height:672px; object-fit:contain; pointer-events:none; }
.geo-label, .geo-copy { position:relative; z-index:1; }
.geo h2, .section-heading h2, .steps h3, .faq summary { font-family:var(--pingfang); }
.pricing .section-heading h2, .reports .section-heading h2 { color:#fff; }
.comments .section-heading h2, .faq .section-heading h2 { color:var(--h2-ink); }
.pc-head > img { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; border-radius: 16px;}
.pc-head > img + strong, .pc-head > img + b + strong { position:relative; z-index:1; }
.pc-head > img ~ span { position:relative; z-index:1; }
.video-frame { position:relative; }
.play-button { position:absolute; z-index:3; top:50%; left:50%; width:120px; height:120px; transform:translate(-50%, -50%); pointer-events:none; }
.steps article { position:relative; }
.step-icon { position:absolute; z-index:0; top:20px; right:20px; width:200px; height:200px; object-fit:contain; pointer-events:none; }
.steps article > b, .steps article > h3, .steps article > p { position:relative; z-index:1; }
.hero-form .go img { display:block; width:24px; height:32px; object-fit:contain; }
.report-nav button img { display:block; width:60px; height:60px; object-fit:contain; }
.report-nav button { padding:0; border:0; background:none; }

@media(min-width:701px) {
  .fq summary:after { content:""; width:40px; height:24px; background:url('/assets/img/home/btn_sh1@2x.png') center/40px 24px no-repeat; transform:none; }
  .fq[open] summary:after { content:""; background-image:url('/assets/img/home/btn_sh2@2x.png'); transform:none; }
}

/* Home_2 final visual corrections. */
.maya-card { border-radius:16px; overflow:hidden; }
.maya-card img { border-radius:12px; }
.maya-card strong { color:#fff; }
.comment-grid figcaption { background:#FAF5F0; border-radius:16px; padding:16px 20px; }
.report-link, .report-nav button, .comment-nav button { cursor:pointer; }

@media(min-width:701px) {
  .pricing .pcard { display:flex; flex-direction:column; box-sizing:border-box; }
  .pricing .pcard > p { margin:0; }
  .pricing .pcard .pc-sub { margin:0; padding:0; text-align:left; }
  .pricing .pcard > .pc-cta { margin-top:auto; margin-left:auto; margin-right:auto; margin-bottom:10px; border-radius:14px; align-self:center; }

  .report-card { display:grid; grid-template-columns:minmax(0,1fr) 150px; grid-template-rows:auto auto 1fr auto; column-gap:20px; align-items:start; box-sizing:border-box; }
  .report-card > strong { grid-column:1; grid-row:1; margin:0; }
  .report-card > span { grid-column:1; grid-row:2; margin:0; }
  .report-card > p { grid-column:1; grid-row:3; max-width:none; margin:16px 0 0; align-self:start; }
  .report-card > b { grid-column:2; grid-row:1 / span 2; position:static; display:flex; flex-direction:column; align-items:flex-start; margin:0; color:#ffe132; font-size:120px; line-height:.9; text-align:left; }
  .report-card > b small { display:block; margin-top:8px; color:#fff; font-size:24px; line-height:28px; }
  .report-card > .report-score-label { grid-column:2; grid-row:3; position:static; align-self:start; justify-self:start; display:inline-flex; background:#fff; color:#282d32; border-radius:12px; padding:6px 10px; font-size:16px; line-height:22px; white-space:nowrap; }
  .report-card > .report-link { grid-column:1; grid-row:4; align-self:end; justify-self:start; margin:16px 0 0; background:#00b900; color:#fff; border-radius:14px; padding:10px 16px; font-size:18px; line-height:25px; }
  .report-card > .report-link:hover { background:var(--h2-green-light); }

  .comment-carousel { width:100vw; max-width:none; margin-left:calc((1200px - 100vw)/2); margin-right:0; }
  .comment-viewport { width:100%; }
  .comment-nav { width:min(1200px,100%); margin:60px auto 0; }

}

@media(max-width:700px) {
  .maya-card img { border-radius:12px; }
  .pricing .pcard > p { margin-bottom:0; }
  .pricing .pcard .pc-sub { margin:0; padding:0; text-align:left; }
  .pricing .pcard > .pc-cta { margin-top:auto; margin-left:auto; margin-right:auto; margin-bottom:10px; border-radius:14px; align-self:center; }

  .report-card { display:grid; grid-template-columns:minmax(0,1fr) 84px; grid-template-rows:auto auto 1fr auto; column-gap:12px; box-sizing:border-box; }
  .report-card > strong { grid-column:1; grid-row:1; }
  .report-card > span { grid-column:1; grid-row:2; }
  .report-card > p { grid-column:1; grid-row:3; margin:12px 0 0; }
  .report-card > b { grid-column:2; grid-row:1 / span 2; position:static; display:flex; flex-direction:column; align-items:flex-start; margin:0; font-size:44px; line-height:.95; text-align:left; }
  .report-card > b small { display:block; margin-top:4px; font-size:13px; line-height:16px; }
  .report-card > .report-score-label { grid-column:2; grid-row:3; position:static; align-self:start; justify-self:start; display:inline-flex; background:#fff; color:#282d32; border-radius:8px; padding:4px 6px; font-size:11px; line-height:15px; white-space:nowrap; }
  .report-card > .report-link { grid-column:1; grid-row:4; margin:10px 0 0; background:#00b900; border-radius:10px; padding:7px 10px; font-size:11px; line-height:1.2; }
  .report-card > .report-link:hover { background:var(--h2-green-light); }

}

/* Home_2 final interaction and alignment pass. */
@media(min-width:701px) {
  .geo-dots { left:-200px; }
  .pcard .pc-sub { display:block; min-height:0; margin:0; padding:0; font:inherit; color:inherit; text-align:left; line-height:inherit; }
  .pricing .pc-cta { margin-top:10px; }
  .report-card { overflow:hidden; }
  .report-card > .report-score-label { position:absolute; top:20px; right:20px; display:block; color:#fff; font-size:16px; line-height:22px; }
  .report-card > b { position:absolute; top:48px; right:20px; display:block; margin:0; }
  .report-card > p { max-width:440px; margin-top:42px; }
  .report-card > .report-link { display:inline-flex; align-items:center; background:#286464; color:#fff; border-radius:4px; padding:10px 16px; font-size:18px; line-height:25px; margin-top:12px; }
  .report-card > .report-link:hover { background:#1f5050; }
  .report-note { color:#000; }
  .comment-carousel { width:calc(100vw - max(24px, calc((100vw - 1200px) / 2))); max-width:none; margin:0; overflow:visible; }
  .comment-viewport { width:100%; overflow:hidden; }
  .comment-grid { width:max-content; max-width:none; height:520px; overflow:visible; transform:translateX(0); transition:transform .4s ease; }
  .comment-grid figure, .comment-grid figure:nth-child(3) { flex:0 0 380px; width:380px; }
  .comment-nav { display:flex; justify-content:center; gap:20px; margin-top:60px; }
  .comment-nav button { width:60px; height:60px; padding:0; border:0; border-radius:50%; background:none; cursor:pointer; }
  .comment-nav button img { display:block; width:60px; height:60px; object-fit:contain; }
  .comment-nav button:disabled,
  .report-nav button:disabled { opacity:.35; cursor:default; }
}

.report-card .report-score-label { font-weight:400; }
.report-card .report-link { text-decoration:none; }
.report-note { color:#000; }
.comment-nav { display:flex; justify-content:center; gap:20px; margin-top:60px; }
.comment-nav button { width:60px; height:60px; padding:0; border:0; border-radius:50%; background:none; cursor:pointer; }
.comment-nav button img { display:block; width:60px; height:60px; object-fit:contain; }
.comment-nav button:disabled,
.report-nav button:disabled { opacity:.35; cursor:default; }
.comment-grid { will-change:transform; }
.comment-nav button:focus-visible, .report-nav button:focus-visible, .report-link:focus-visible { outline:3px solid #ffcf33; outline-offset:3px; }

@media(max-width:700px) {
  .geo-dots { left:-80px; }
  .pricing .pcard .pc-sub { min-height:0; margin:0; padding:0; font:inherit; color:inherit; text-align:left; line-height:inherit; }
  .pricing .pc-cta { margin-top:10px; }
  .report-card > .report-score-label { position:absolute; top:20px; right:20px; font-size:11px; line-height:15px; }
  .report-card > b { position:absolute; top:38px; right:20px; font-size:44px; }
  .report-card > p { margin-top:32px; }
  .report-card > .report-link { display:inline-flex; background:#286464; color:#fff; border-radius:4px; padding:7px 10px; font-size:11px; line-height:1.2; margin-top:8px; }
  .comment-carousel { width:100%; max-width:100%; overflow:visible; }
  .comment-viewport { width:100%; overflow:hidden; }
  .comment-grid { width:max-content; max-width:none; height:auto; overflow:visible; transition:transform .35s ease; }
  .comment-grid figure, .comment-grid figure:nth-child(3) { flex:0 0 calc(100vw - 64px); width:calc(100vw - 64px); }
  .comment-nav { margin-top:18px; }
  .comment-nav button, .comment-nav button img { width:30px; height:30px; }
}

@media(max-width:700px) {
  .geo-dots { width:400px; height:336px; left:-80px; top:0; }
  .play-button { width:60px; height:60px; }
  .step-icon { width:96px; height:96px; top:14px; right:14px; }
  .report-nav button img { width:30px; height:30px; }
  .fq summary:after { content:""; width:20px; height:12px; background:url('/assets/img/home/btn_sh1@2x.png') center/20px 12px no-repeat; transform:none; }
  .fq[open] summary:after { content:""; background-image:url('/assets/img/home/btn_sh2@2x.png'); transform:none; }
}

/* Home_2 final cascade overrides. */
@media(min-width:701px) {
  .pricing .pcard { display:flex; flex-direction:column; box-sizing:border-box; }
  .pricing .pcard > p { margin:0; }
  .pricing .pcard .pc-sub { margin:0; padding:0; text-align:left; }
  .pricing .pcard > .pc-cta { margin-top:auto; margin-left:auto; margin-right:auto; margin-bottom:10px; border-radius:14px; align-self:center; }

  .report-card { display:grid; grid-template-columns:minmax(0,1fr) 150px; grid-template-rows:auto auto 1fr auto; column-gap:20px; align-items:start; box-sizing:border-box; }
  .report-card > strong { grid-column:1; grid-row:1; margin:0; }
  .report-card > span { grid-column:1; grid-row:2; margin:0; }
  .report-card > p { grid-column:1; grid-row:3; max-width:none; margin:16px 0 0; align-self:start; }
  .report-card > b { grid-column:2; grid-row:1 / span 2; position:static; display:flex; flex-direction:column; align-items:flex-start; margin:0; color:#ffe132; font-size:120px; line-height:.9; text-align:left; }
  .report-card > b small { display:block; margin-top:8px; color:#fff; font-size:24px; line-height:28px; }
  .report-card > .report-score-label { grid-column:2; grid-row:3; position:static; align-self:start; justify-self:start; display:inline-flex; background:#fff; color:#282d32; border-radius:12px; padding:6px 10px; font-size:16px; line-height:22px; white-space:nowrap; }
  .report-card > .report-link { grid-column:1; grid-row:4; align-self:end; justify-self:start; margin:16px 0 0; background:#00b900; color:#fff; border-radius:14px; padding:10px 16px; font-size:18px; line-height:25px; cursor:pointer; }
  .report-card > .report-link:hover { background:var(--h2-green-light); }

  .comment-carousel { width:100vw; max-width:none; margin-left:calc((1200px - 100vw)/2); margin-right:0; }
  .comment-viewport { width:100%; }
  .comment-grid figcaption { background:#FAF5F0; border-radius:16px; padding:16px 20px; }
  .comment-nav { width:min(1200px,100%); margin:60px auto 0; }

}

@media(max-width:700px) {  
  .report-card > .report-link { grid-column:1; grid-row:4; margin:10px 0 0; background:#00b900; border-radius:10px; padding:7px 10px; font-size:11px; line-height:1.2; cursor:pointer; }
  .comment-grid figcaption { background:#FAF5F0; border-radius:16px; padding:12px 14px; } 
  
}

/* Home_2 report cards: two explicit columns and a shared footer baseline. */
@media(min-width:701px) {
  .reports .report-carousel {
    width:100vw;
    max-width:none;
    margin-left:calc((1200px - 100vw) / 2);
    margin-right:0;
    overflow:hidden;
  }

  .reports .report-stage {
    width:1200px;
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
    overflow:visible;
  }

  .reports .report-strip {
    padding-left:300px;
    padding-right:300px;
  }

  .reports .report-note,
  .reports .report-nav {
    width:1200px;
    max-width:calc(100% - 48px);
    margin-left:auto;
    margin-right:auto;
  }

  .report-card {
    display:grid;
    grid-template-columns:minmax(0, 1fr) 140px;
    grid-template-rows:1fr;
    column-gap:20px;
    align-items:stretch;
    padding:30px;
    overflow:hidden;
    z-index:2;
  }

  .report-copy {
    min-width:0;
    min-height:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .report-copy > strong {
    margin:0;
    font-size:60px;
    line-height:60px;
  }

  .report-copy > span {
    margin:0;
    font-size:28px;
    line-height:40px;
  }

  .report-copy > p {
    max-width:none;
    margin:16px 0 0;
    font-size:20px;
    line-height:28px;
  }

  .report-copy > .report-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:240px;
    height:36px;
    min-height:36px;
    margin-top:auto;
    padding:0 12px;
    border-radius:18px;
    background:#00b900;
    color:#fff;
    font-size:18px;
    line-height:25px;
    text-align:center;
  }

  .report-copy > .report-link:hover { background:var(--h2-green-light); }

  .report-score {
    width:140px;
    min-width:140px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    text-align:right;
  }

  .report-score > b {
    display:block;
    margin:0;
    color:#ffe132;
    font-size:120px;
    line-height:.9;
    text-align:right;
  }

  .report-score > small {
    display:block;
    margin-top:8px;
    color:#fff;
    font-size:24px;
    line-height:28px;
  }

  .report-score > .report-score-label {
    display:flex;
    align-items:center;
    justify-content:center;
    width:140px;
    height:28px;
    min-height:28px;
    margin-top:12px;
    padding:0 8px;
    border:1px solid #fff;
    border-radius:14px;
    background:transparent;
    color:#fff;
    font-size:14px;
    line-height:1;
    text-align:center;
    white-space:nowrap;
  }

}

@media(max-width:700px) {
  .report-card {
    display:grid;
    grid-template-columns:minmax(0, 1fr) 84px;
    grid-template-rows:1fr;
    column-gap:12px;
    height:250px;
    min-height:250px;
    padding:20px;
    align-items:stretch;
  }

  .report-copy {
    min-width:0;
    min-height:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .report-copy > strong {
    font-size:24px;
    line-height:1.1;
  }

  .report-copy > span {
    font-size:14px;
    line-height:1.2;
  }

  .report-copy > p {
    margin:12px 0 0;
    font-size:15px;
    line-height:1.4;
  }

  .report-copy > .report-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:min(240px, 100%);
    height:36px;
    min-height:36px;
    margin-top:auto;
    padding:0 8px;
    border-radius:18px;
    background:#00b900;
    color:#fff;
    font-size:11px;
    line-height:1.2;
    text-align:center;
  }

  .report-score {
    width:84px;
    min-width:84px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    text-align:right;
  }

  .report-score > b {
    display:block;
    margin:0;
    color:#ffe132;
    font-size:44px;
    line-height:.95;
    text-align:right;
  }

  .report-score > small {
    display:block;
    margin-top:4px;
    color:#fff;
    font-size:13px;
    line-height:16px;
  }

  .report-score > .report-score-label {
    display:flex;
    align-items:center;
    justify-content:center;
    width:84px;
    height:24px;
    min-height:24px;
    margin-top:8px;
    padding:0 4px;
    border:1px solid #fff;
    border-radius:12px;
    background:transparent;
    color:#fff;
    font-size:10px;
    line-height:1;
    text-align:center;
    white-space:nowrap;
  }
}

/* Home_2 carousel starting positions and two-sided comment overflow. */
@media(min-width:701px) {
  .comments .comment-carousel {
    width:100vw;
    max-width:none;
    margin-left:calc((1200px - 100vw) / 2);
    margin-right:0;
    overflow:hidden;
  }

  .comments .comment-viewport {
    width:100%;
    overflow:hidden;
  }

  .comments .comment-grid {
    padding-left:max(24px, calc((100vw - 1200px) / 2));
  }

  .comments .comment-nav {
    width:1200px;
    max-width:calc(100% - 48px);
    margin-left:auto;
    margin-right:auto;
  }
}

/* Final responsive overrides for viewports below the 1440px desktop artboard. */
@media (min-width: 701px) and (max-width: 1439px) {
  .page { width: min(100% - 48px, 1200px); max-width: 1200px; }

  .hero { height: auto; min-height: 0; padding: 0; grid-template-columns: minmax(0, 1fr) clamp(260px, 28vw, 340px); gap: clamp(28px, 4vw, 56px); align-items: center; }
  .hero-copy { max-width: none; }
  .hero h1 { font-size: clamp(48px, 6.2vw, 80px); line-height: 1.02; margin-bottom: 24px; }
  .hero-lead { max-width: 680px; margin-bottom: 36px; font-size: clamp(19px, 2.2vw, 28px); line-height: 1.4; }
  .hero-form { width: min(540px, 100%); }

  .maya-card { width: 100%; height: auto; align-self: center; }
  .maya-card img { width: 100%; height: auto; } 
  
  
  .geo { height: auto; min-height: 620px; padding: 90px 0; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); gap: clamp(36px, 7vw, 105px); }
  .geo-label { font-size: clamp(78px, 11vw, 160px); line-height: .98; }
  .geo-copy { max-width: none; padding-top: 0; }
  .geo-copy h2 { width: auto; font-size: clamp(40px, 5vw, 60px); line-height: 1.02; margin-bottom: 34px; white-space: normal; }
  .geo-copy p:not(.eyebrow) { max-width: 680px; font-size: clamp(18px, 2vw, 24px); line-height: 1.45; }
 
 
  .pricing.page, .reports.page { width: 100%; max-width: none; margin-left: 0; margin-right: 0; padding-left: max(24px, calc((100vw - 1200px) / 2)); padding-right: max(24px, calc((100vw - 1200px) / 2)); }
  .pricing, .reports { height: auto; min-height: 0; }
  .pricing { padding-top: 88px; padding-bottom: 88px; }
  .reports { padding-top: 88px; padding-bottom: 88px; }
  .pricing .section-heading, .reports .section-heading { margin-bottom: 44px; }
  .section-heading h2 { font-size: clamp(38px, 4.4vw, 52px); }
  .pricing .caro-strip { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .pricing .caro, .pricing .caro .caro-vp {
    margin: auto;
    width: 100%;
  }
 
  .pcard { min-width: 0; margin: auto;}
  .how, .comments, .faq { width: min(100% - 48px, 1200px); height: auto; min-height: 0; padding-top: 88px; padding-bottom: 96px; }

  .how .section-heading h2 {
    font-size: clamp(40px, 5vw, 60px);
    line-height: 1.02;
    margin-bottom: 30px;
    white-space: normal;
  }
  .comments { overflow: hidden; }
  .comments .comment-carousel { overflow: hidden; }
  .video-frame { width: 100%; height: auto; }
  .video-frame video { width: 100%; height: auto; aspect-ratio: 16 / 9; }
  .steps { width: 100%; max-width: 960px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .steps article { width: auto; height: auto; min-height: 280px; }
  .reports .report-carousel, .reports .report-stage { width: 100%; max-width: 1200px; }
  .reports .report-stage { height: min(56.25vw, 675px); }
  .report-stage > img { width: 100%; height: 100%; }
  .report-strip { padding-left: max(24px, 12vw); padding-right: max(24px, 12vw); }
  .report-card { flex-basis: min(600px, 52vw); width: min(600px, 52vw); }
  .comment-grid { width: 100%; max-width: 100%; }
  .faq-list { width: 100%; max-width: 960px; }
}