/* V22: actual product imagery, editorial spacing and quiet Tiffany light.
   Corners: controls 999px, media 18px, inputs inherited from the working forms.
   This layer only targets homepages. Inner-page functionality remains native. */
.product-home {
  --p-font-display: 'Manrope', 'Noto Sans SC', 'PingFang SC', sans-serif;
  --p-font-body: 'Noto Sans SC', 'Manrope', 'PingFang SC', sans-serif;
  --p-ink: #102725;
  --p-muted: #4e6a69;
  color: var(--p-ink);
}
.product-home .site-nav { background: rgba(255,255,255,.92); border-bottom: 1px solid #e8eeed; }
.product-home .nav-right .lead-plan-cta { border-radius: 999px; padding-inline: 20px; box-shadow: none; }
.product-home .hero.product-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, .97fr) minmax(0, 1.03fr);
  gap: 30px;
  min-height: 100svh;
  padding: 116px max(40px,calc((100vw - 1320px)/2)) 44px !important;
  align-items: center;
  overflow: hidden;
  background: #fff;
}
.product-home .product-hero::before, .product-home .product-hero::after { display: none; }
.product-home .product-hero .hero-bg {
  z-index: -1; inset: -15% -20% -24% 28%; width:auto; height:auto; opacity:1;
  background: radial-gradient(ellipse at 72% 59%,#42ded0 0%,#b1f7e9 30%,#ecfffb 52%,rgba(255,255,255,0) 72%);
  filter: blur(24px); mask-image:none; pointer-events:none;
}
.product-home .product-hero .hero-content { width:100%; max-width:590px; padding:0; margin:0; z-index:2; }
.product-home .product-hero .hero-eyebrow {
  display:block; width:auto; padding:0; margin:0 0 24px; border:0;
  font-size:13px; line-height:1.5; font-weight:500; letter-spacing:.025em; color:#527771; text-transform:none;
}
.product-home .product-hero .hero-title {
  margin:0 0 28px; max-width:none; font-size:clamp(44px,4.1vw,62px) !important;
  font-weight:650; line-height:1.17 !important; letter-spacing:-.045em; text-wrap:initial;
}
.product-home .hero-title em { color:#087e77; font-style:normal; font-weight:inherit; }
.product-home .product-hero .hero-tagline { max-width:540px; margin:0; font-size:17px; line-height:1.9; font-weight:400; color:#4a6660; }
.product-home .hero-tagline .hl { font-weight:550; color:#183e38; }
.product-home .product-hero .hero-actions { gap:12px; margin-top:34px; display:flex; flex-wrap:wrap; }
.product-home .hero-actions :is(.brand-test-cta,.btn-outline) {
  min-height:54px; border-radius:999px; padding:11px 20px; font-size:14px; line-height:1.2; gap:12px;
  white-space:nowrap; box-shadow:none; color:#0b302b;
}
.product-home .hero-actions .brand-test-cta {
  border:1px solid #20b9ae;
  background:linear-gradient(120deg,#5FBFBB,#6bd9c6);
  box-shadow:inset 0 1px 0 #abeee2,0 5px 16px #087d7214;
  transition:transform .25s,box-shadow .25s,background .25s;
}
.product-home .hero-actions .brand-test-cta:hover { transform:translateY(-2px); box-shadow:inset 0 1px 0 #c4f3e9,0 8px 24px #087d722b; }
.product-home .hero-actions .brand-test-cta .arrow { border-radius:50%; width:30px; height:30px; font-size:19px; background:#ffffff50; }
.product-home .hero-actions .brand-test-cta .cta-arrow { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; border:0; border-radius:50%; width:30px; height:30px; font-size:19px; background:#ffffff50; }
.product-home .hero-actions .btn-outline { background:#ffffff98; border:1px solid #b7cdc6; }
.product-home .hero-actions .btn-outline:hover { background:#f2faf7; border-color:#579e92; }
.product-home .hero-actions a:active { transform:translateY(1px); }
.product-home .hero-proof.product-scene {
  display:block; position:relative; width:min(67vw,920px); max-width:none; min-height:0; margin:0; padding:0;
  border:0; background:none; box-shadow:none; transform:none;
}
.product-scene::before, .product-scene::after { display:none !important; }
.product-scene-label { display:flex; align-items:center; gap:14px; margin:0 0 13px 7px; font-size:12px; color:#437e73; }
.product-scene-label strong { font-size:18px; letter-spacing:-.02em; color:#184b43; font-weight:700; }
.product-home .product-window {
  overflow:hidden; width:100%; border:1px solid #c4ddd6; border-radius:18px; padding:7px; background:#ffffffe0;
  box-shadow:0 35px 75px -35px #205f5166,0 12px 32px -24px #0c413b5c,inset 0 1px 0 white;
  transform:perspective(1800px) rotateY(-9deg) rotateX(3deg); transform-origin:left center;
}
.product-home .product-window .experience-panel { overflow:hidden; border-radius:11px; background:#f4f8f7; }
.product-home .product-zoom { display:block; width:100%; padding:0; margin:0; border:0; background:none; cursor:zoom-in; color:inherit; font:inherit; }
.product-home .product-window img { display:block; width:100%; height:auto; aspect-ratio:1180/648; object-fit:cover; object-position:top left; margin:0; padding:0; border:0; border-radius:0; opacity:1; box-shadow:none; transform:none; }
.product-home .experience-tabs { display:flex; flex-wrap:wrap; gap:4px; width:fit-content; padding:4px; border:1px solid #d4e5df; border-radius:999px; background:#ffffffa8; }
.product-home .experience-tabs button {
  flex:0 0 auto; padding:10px 18px; min-height:42px; border:0; border-radius:999px; background:transparent;
  font:500 13px/1.2 var(--p-font-body); color:#536f66; cursor:pointer; white-space:nowrap; transition:background .2s,color .2s,box-shadow .2s;
}
.product-home .experience-tabs button[aria-selected="true"] { background:#123e35; color:#fff; box-shadow:0 2px 5px #0c43381a; }
.product-home .experience-tabs button:hover:not([aria-selected="true"]) { background:#edf5ef; color:#164c40; }
.product-home .experience-tabs button:active { transform:translateY(1px); }
.product-home .experience-panel[hidden] { display:none !important; }
.product-home .experience-panel:focus-visible { outline-offset:6px; }
.product-home .product-scene > .experience-tabs { margin:22px 0 0 24px; }
.product-home .product-scene figcaption { display:block; min-height:0; margin:12px 0 0 29px; padding:0; border:0; color:#52756b; font-size:11px; line-height:1.6; text-align:left; background:none; }

/* Keep the desktop chapter contract, vary composition within that space. */
.product-home .screen-panel:not(.hero) { background-color:#fff; border:0; }
.product-home .screen-heading { display:block !important; max-width:780px; text-align:left !important; }
.product-home .screen-heading .section-subtitle { max-width:740px; margin-left:0 !important; }
.product-home .section-title { font-weight:600; letter-spacing:-.025em; }
.product-home #vision { background:linear-gradient(160deg,#fff 60%,#f2faf7); }
.product-home #vision > .container { display:grid; grid-template-columns:1fr 1fr; gap:24px 7%; align-items:center; }
.product-home #vision .screen-heading { margin:0 !important; }
.product-home #vision .section-title { font-size:clamp(34px,3.3vw,52px); margin-bottom:24px; }
.product-home #vision .section-subtitle { font-size:15px; color:#5b706a; }
.product-home .vision-grid { margin:0 !important; display:grid; grid-template-columns:1fr; gap:0; border:0; }
.product-home .vision-card { padding:20px 0; background:none; border:0; border-bottom:1px solid #d9e5df; display:grid; grid-template-columns:90px 1fr; column-gap:22px; min-height:0; }
.product-home .vision-card h3 { grid-row:1 / 4; margin:0; font-size:25px; font-weight:550; align-self:center; }
.product-home .vision-card p, .product-home .vision-card .vision-en, .product-home .vision-card .vision-core { margin:0; font-size:13px; color:#4e6a69; }
.product-home .vision-card.next-gen { background:none; padding:20px 0; border:0; color:#107f74; }
.product-home .vision-icon,.product-home .vision-badge,.product-home .vision-arrow { display:none; }
.product-home .vision-strategy { grid-column:1/-1; margin-top:38px !important; border:0; gap:40px; }
.product-home .strategy-card { border:0; padding:16px 0 0; border-top:1px solid #a7cfc2; }
.product-home .strategy-num { display:none; }
.product-home .strategy-card h4 { font-size:18px; font-weight:600; }
.product-home .strategy-card p { color:#496b65; font-size:13px; }
.product-home #insight { background:#f1fcfa; }
.product-home #insight .stats-grid { border:0; gap:28px; }
.product-home #insight .stat-card { border:0; padding:26px 0; background:none; }
.product-home #insight .stat-number { font-weight:500; letter-spacing:-.05em; }
.product-home #insight .stat-unit { padding-top:20px; border-top:1px solid #c5dacf; }
.product-home #insight .container > .reveal[style*="max-width"] { border:0 !important; color:#173f34; }

/* GEM is an ad-format explorer. It makes no claim that sample ads are our results. */
.product-home #gem.gem-experience { color:#193f35; background:#f2f8f3; }
.product-home #gem::before,.product-home #gem .container::before { display:none; }
.product-home #gem > .container { display:grid; grid-template-columns:minmax(0,.68fr) minmax(0,1.75fr); column-gap:48px; align-items:start; }
.product-home .gem-heading { align-self:center; }
.product-home .material-label { display:block; margin-bottom:18px; color:#128477; font-size:14px; font-weight:600; letter-spacing:.08em; }
.product-home #gem .section-title { color:#143e32; font-size:clamp(30px,2.75vw,42px); line-height:1.2; }
.product-home .gem-definition { max-width:none; margin-top:28px; color:#557264; }
.product-home .gem-definition strong { font-size:12px; color:#248070; letter-spacing:0; font-weight:500; margin-bottom:10px; }
.product-home .gem-definition p { color:#557264; font-size:14px; line-height:1.8; }
.product-home .gem-workspace { min-width:0; }
.product-home .gem-workspace .experience-tabs { margin-bottom:22px; }
.product-home .gem-panel-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:28px; align-items:center; min-height:330px; }
.product-home .gem-sample { margin:0; min-width:0; }
.product-home .gem-sample .product-zoom { overflow:hidden; border-radius:16px; border:1px solid #d3dfd7; background:white; }
.product-home .gem-sample img { display:block; width:100%; height:280px; object-fit:contain; }
.product-home #gem-panel-0 .gem-sample .product-zoom { background:#0b0c0b; padding:12px; }
.product-home #gem-panel-0 .gem-sample img { object-fit:contain; }
.product-home #gem-panel-2 .gem-sample img { object-fit:cover; object-position:left; }
.product-home .gem-sample figcaption { padding:12px 4px 0; font-size:11px; color:#4e6a69; line-height:1.7; }
.product-home .gem-service-copy { min-width:0; }
.product-home .gem-service-copy article > span { display:none; }
.product-home .gem-service-copy h3 { font-size:22px; line-height:1.4; margin:0 0 15px; font-weight:600; color:#184d3d; }
.product-home .gem-service-copy p { font-size:13px; line-height:1.8; color:#536e60; }
.product-home .gem-service-context { margin-top:22px; padding-top:18px; border-top:1px solid #caddce; }
.product-home .gem-service-context h3 { font-size:14px; margin-bottom:6px; }
.product-home .gem-service-context strong { display:none; }
.product-home .gem-service-context p { margin:0; font-size:12px; }
.product-home #gem .gem-platform-note { grid-column:1/-1; margin:24px 0 12px; color:#526d5f; font-size:11px; line-height:1.7; }
.product-home #gem .gem-flow { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:14px; padding:18px 0 0; border:0; border-top:1px solid #ccded2; margin:0; font-size:12px; color:#536e60; }
.product-home #gem .gem-flow i { display:none; }
.product-home #gem .gem-flow span + span::before { content:'→'; margin-right:14px; color:#8dac9b; }
.product-home #gem .gem-flow a { margin-left:auto; color:#164d3c; background:none; border:0; padding:0 0 0 20px; min-height:32px; font-size:13px; align-content:center; }

.product-home #geo > .container > .reveal:first-child { display:block; max-width:760px; }
.product-home #geo .section-subtitle { margin-left:0 !important; }
.product-home #geo .geo-grid { border:0; gap:20px 54px; }
.product-home .geo-card { border:0; border-top:1px solid #d3e5dd; padding:22px 0; min-height:0; background:none; }
.product-home .geo-card::before { display:none; }
.product-home .geo-card h3 { font-size:24px; font-weight:500; }
.product-home .geo-card p { font-size:14px; color:#466661; }
.product-home .geo-icon { width:28px; height:28px; padding:0; background:none; border-radius:0; }
.product-home #technology { background:#f0fcf9 !important; }
.product-home .tech-cap-grid { gap:20px !important; }
.product-home .tech-cap-grid > div { padding:22px 0 !important; border:0 !important; background:none !important; border-radius:0 !important; }
.product-home .tech-cap-grid > div > div:first-child { background:#e5f2ec !important; border-radius:10px !important; }
.product-home .tech-agent-grid { gap:20px !important; }
.product-home .tech-agent-grid > div { background:#fff !important; border:1px solid #d9e5de !important; border-radius:12px !important; padding:20px !important; }
.product-home .tech-agent-grid > div h4, .product-home .tech-agent-grid > div > div:nth-child(n+3) { color:#38574c !important; }
.product-home #service-tiers { background:#fff !important; }
.product-home .service-tier { border-color:#d5e1dc; }
.product-home .service-tier.featured { background:#f2f8f4; border-radius:12px; }
.product-home #services { background:linear-gradient(115deg,#e8fff7,#fff 55%,#d6faf2); }
.product-home #services .service-card { border:0; border-top:1px solid #9ad9ce; background:transparent; }
.product-home #services .service-num { color:#008d86; font-size:48px; font-weight:500; }
.product-home #services .service-card p { color:#466965; }
.product-home #platforms { background:#fff; }
.product-home .pf-chip { border-radius:12px; border-color:#e2eae5; background:#f9fbf9; }
.product-home #advantages { background:#f2fbfa; }
.product-home #about { background:#fff; }
.product-home .about-visual { border-radius:18px; background:radial-gradient(ellipse at 30% 30%,#89e6d8,#e5fff6 68%); border:1px solid #d9e8df; }
.product-home #awards { background:#f2fcfa !important; }
.product-home #clients { background:#fff; }
.product-home #clients .logo-grid-item { border:0; border-radius:0; }
.product-home #testimonials { background:#effbf8 !important; }
.product-home .quote-deck .testimonial-card { background:#fff; border:1px solid #d5e9e3; border-radius:14px; }
.product-home .quote-deck .testimonial-card .tm-quote,
.product-home .quote-deck .testimonial-card .tm-client { color:var(--p-ink); }
.product-home .quote-deck .testimonial-card .tm-industry { color:var(--p-muted); }
.product-home .quote-controls button { border-radius:50%; }
.product-home #contact { background:radial-gradient(ellipse at 75% 40%,#a1f0dd,transparent 60%),#f4fffc; }

/* Case reader uses original answer screenshots and explicit metric definitions. */
.product-home #case-studies { background:#fff; }
.product-home .case-heading { display:flex; align-items:flex-end; gap:32px; justify-content:space-between; margin-bottom:24px; }
.product-home .case-heading .section-title { font-size:clamp(30px,2.7vw,42px); }
.product-home .case-heading .section-title br { display:none; }
.product-home .case-heading p { font-size:13px; color:#5e756b; margin:0; }
.product-home .case-reader { position:relative; }
.product-home .case-reader > .experience-tabs { margin-bottom:18px; }
.product-home .case-panel-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr); gap:60px; align-items:center; min-height:340px; }
.product-home .case-copy { padding:12px 0; }
.product-home .case-category { font-size:12px; color:#318674; margin:0 0 18px; }
.product-home .case-copy h3 { font-weight:550; letter-spacing:-.025em; font-size:clamp(27px,2.3vw,36px); line-height:1.3; margin:0 0 20px; }
.product-home .case-copy > p:not(.case-category) { font-size:14px; line-height:1.8; color:#536f64; max-width:460px; }
.product-home .case-metric { display:flex; flex-direction:column; gap:8px; margin-top:28px; }
.product-home .case-metric strong { font-size:32px; line-height:1.2; letter-spacing:-.03em; color:#147d68; font-weight:500; }
.product-home .case-metric span { font-size:12px; color:#577669; }
.product-home .case-evidence { min-width:0; margin:0; padding:22px; background:linear-gradient(120deg,#edf6f0,#f9fcf9); border:1px solid #deebe3; border-radius:18px; }
.product-home .case-evidence img { display:block; max-width:100%; width:auto; max-height:326px; margin:auto; object-fit:contain; }
.product-home .case-evidence > div { min-width:0; }
.product-home .case-evidence .product-zoom { width:auto; max-width:100%; margin:auto; box-shadow:0 12px 34px -22px #1c433e77; }
.product-home .case-evidence-pair { display:flex; justify-content:center; gap:20px; padding:14px 20px; }
.product-home .case-evidence-pair img { max-height:294px; }
.product-home .case-evidence-pair span { display:block; font-size:11px; color:#6b8074; margin-top:10px; text-align:center; }
.product-home .evidence-source { font-size:11px; line-height:1.7; color:#60786c; margin:20px 0 0; }

.evidence-viewer { border:1px solid #bfd3c8; border-radius:16px; padding:0; width:min(1200px,94vw); max-width:94vw; max-height:92dvh; background:#f7faf7; color:#183d32; box-shadow:0 30px 100px #071b1a40; }
.evidence-viewer::backdrop { background:#102a23b8; backdrop-filter:blur(10px); }
.viewer-toolbar { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:12px 20px; border-bottom:1px solid #d7e4da; }
.viewer-toolbar p { margin:0; font-size:13px; line-height:1.6; }
.viewer-toolbar button { display:flex; align-items:center; gap:12px; padding:10px 16px; min-height:44px; flex-shrink:0; border:1px solid #cadfd1; border-radius:999px; background:white; color:#204c3b; cursor:pointer; font:inherit; font-size:13px; }
.viewer-toolbar button span { font-size:24px; line-height:1; }
.viewer-image { overflow:auto; padding:20px; max-height:calc(92dvh - 76px); }
.viewer-image img { display:block; max-width:100%; width:auto; max-height:calc(90dvh - 120px); object-fit:contain; margin:auto; }

@media (min-width:1100px) and (min-height:680px) {
 .product-home .screen-panel { padding-block:28px !important; }
 .product-home .hero.product-hero { padding-top:112px !important; padding-bottom:32px !important; }
 .product-home .hero-proof.product-scene { width:min(64vw,880px); }
 .product-home .gem-panel-layout { min-height:318px; }
 .product-home #gem .gem-definition { margin-top:22px; }
 .product-home #gem .gem-platform-note { margin-top:18px; }
 .product-home #gem .gem-flow { padding-top:12px; }
}
@media (min-width:1100px) and (max-height:800px) {
 .product-home .hero-proof.product-scene { width:min(64vw,820px); }
 .product-home .product-hero .hero-title { font-size:clamp(42px,4vw,57px) !important; }
 .product-home .gem-sample img { height:242px; }
 .product-home .gem-panel-layout { min-height:288px; gap:20px; }
 .product-home #gem > .container { column-gap:32px; }
 .product-home .case-panel-layout { min-height:308px; }
 .product-home .case-evidence img { max-height:280px; }
 .product-home .case-evidence-pair img { max-height:265px; }
 .product-home .case-copy h3 { font-size:29px; margin-bottom:14px; }
 .product-home .case-metric { margin-top:20px; }
}
@media (max-width:1099px) {
 .product-home .hero.product-hero { grid-template-columns:1fr; min-height:0; padding:116px 40px 58px !important; gap:46px; }
 .product-home .hero-proof.product-scene { width:100%; max-width:940px; margin:0 auto; }
 .product-home .product-window { transform:none; }
 .product-home .product-scene > .experience-tabs { margin-inline:auto; }
 .product-home .product-scene figcaption { margin-left:0; text-align:center; }
 .product-home #gem > .container { grid-template-columns:1fr; row-gap:28px; }
 .product-home .gem-heading { max-width:670px; }
 .product-home .gem-heading .section-title br { display:none; }
 .product-home .gem-definition { margin-top:16px; }
 .product-home .gem-definition p { font-size:15px; }
 .product-home .gem-panel-layout { grid-template-columns:1.2fr 1fr; }
 .product-home .gem-sample img { height:300px; }
 .product-home #vision > .container { gap:28px; }
 .product-home .case-heading { display:block; }
 .product-home .case-heading p { margin-top:14px; }
 .product-home .case-panel-layout { gap:28px; }
}
@media (max-width:768px) {
 .product-home .hero.product-hero { padding:108px 22px 48px !important; gap:38px; }
 .product-home .product-hero .hero-eyebrow { margin-bottom:21px; font-size:11px; }
 .product-home .product-hero .hero-title { font-size:clamp(34px,8.8vw,50px) !important; letter-spacing:-.045em; margin-bottom:22px; line-height:1.2 !important; }
 .product-home .product-hero .hero-tagline { font-size:14px; line-height:1.9; }
 .product-home .product-hero .hero-tagline br { display:none; }
 .product-home .product-hero .hero-actions { margin-top:27px; gap:10px; }
 .product-home .hero-actions :is(.brand-test-cta,.btn-outline) { min-height:50px; padding:10px 15px; font-size:12px; gap:8px; }
 .product-home .hero-actions .brand-test-cta .arrow { width:25px; height:25px; font-size:17px; }
 .product-home .product-scene-label { margin-left:3px; font-size:10px; gap:10px; }
 .product-home .product-window { padding:4px; border-radius:10px; box-shadow:0 22px 42px -28px #205f5166; }
 .product-home .product-window .experience-panel { border-radius:6px; }
 .product-home .product-scene > .experience-tabs { margin-top:18px; }
 .product-home .experience-tabs { gap:0; padding:3px; max-width:100%; }
 .product-home .experience-tabs button { padding:10px 14px; min-height:42px; font-size:12px; }
 .product-home .product-scene figcaption { margin-top:10px; font-size:10px; }
 .product-home .product-hero .hero-bg { inset:20% -60% -10% -5%; filter:blur(18px); }
 .product-home #vision > .container { grid-template-columns:1fr; }
 .product-home #vision .section-title { font-size:32px; }
 .product-home #vision .section-subtitle { font-size:15px; }
 .product-home .vision-card { grid-template-columns:86px 1fr; }
 .product-home .vision-strategy { margin-top:4px !important; gap:12px; }
 .product-home .vision-grid { margin-top:6px !important; }
 .product-home .vision-card h3 { font-size:22px; }
 .product-home .vision-strategy .strategy-card { padding-top:20px; }
 .product-home #insight .stats-grid { gap:18px; }
 .product-home #insight .stat-card { padding:14px 0; }
 .product-home .gem-panel-layout { grid-template-columns:1fr; gap:24px; }
 .product-home .gem-workspace .experience-tabs { margin-bottom:22px; }
 .product-home .gem-sample img { height:auto; max-height:320px; }
 .product-home #gem-panel-2 .gem-sample img { aspect-ratio:1180/648; object-fit:contain; }
 .product-home .gem-service-copy h3 { font-size:24px; margin-bottom:12px; }
 .product-home .gem-service-copy p { font-size:14px; }
 .product-home .gem-service-context { margin-top:18px; padding-top:14px; }
 .product-home .gem-service-context h3 { font-size:15px; }
 .product-home #gem .gem-flow { gap:12px; font-size:11px; }
 .product-home #gem .gem-flow a { flex-basis:100%; margin:6px 0 0; padding:0; }
 .product-home #geo .geo-grid { gap:12px; }
 .product-home .geo-card { padding:20px 0; }
 .product-home .geo-card h3 { font-size:22px; }
 .product-home .tech-cap-grid { gap:0 22px !important; }
 .product-home .tech-agent-grid { gap:14px !important; }
 .product-home .case-heading { margin-bottom:24px; }
 .product-home .case-heading .section-title br { display:block; }
 .product-home .case-panel-layout { grid-template-columns:1fr; gap:24px; }
 .product-home .case-copy { padding:8px 0 0; }
 .product-home .case-category { margin-bottom:12px; }
 .product-home .case-copy h3 { font-size:28px; margin-bottom:16px; }
 .product-home .case-metric { margin-top:20px; }
 .product-home .case-metric strong { font-size:29px; }
 .product-home .case-evidence { padding:16px; border-radius:12px; }
 .product-home .case-evidence img { max-height:340px; }
 .product-home .case-evidence-pair { gap:12px; padding:12px; }
 .product-home .case-evidence-pair img { max-height:260px; }
 .product-home .evidence-source { font-size:11px; margin-top:18px; }
 .viewer-toolbar { padding:10px 12px; gap:12px; }
 .viewer-toolbar p { font-size:11px; }
 .viewer-toolbar button { padding:8px 12px; }
 .viewer-image { padding:8px; }
}
@media (max-width:360px) {
 .product-home .hero.product-hero { padding-inline:18px !important; }
 .product-home .hero-actions { flex-direction:column; align-items:flex-start; }
 .product-home .experience-tabs button { padding-inline:11px; font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
 .product-home *, .product-home *::before, .product-home *::after { scroll-behavior:auto !important; }
 .product-home .hero-actions a:hover,.product-home .hero-actions a:active { transform:none; }
 .product-home .experience-tabs button,.product-home .hero-actions a { transition:none; }
}

/* Era labels are indivisible; narrow layouts move the complete text group. */
.product-home .vision-card { grid-template-columns:125px minmax(0,1fr); }
.product-home .vision-card h3 { white-space:nowrap; overflow-wrap:normal; word-break:keep-all; }
.product-home .tech-agent-grid { background:transparent !important; border:0; }
.product-home .tech-agent-grid > div > div:nth-child(2) { color:#173e31 !important; }
.product-home .tech-agent-grid > div > div:first-child { border-radius:8px !important; border-color:#c6e1d3 !important; background:#edf6ef !important; }
.product-home .global-retained-offer { margin-top:20px; font-size:14px; color:#527266; }
@media (max-width:768px) {
 .product-home .vision-card { grid-template-columns:112px minmax(0,1fr); column-gap:16px; }
}
@media (max-width:420px) {
 .product-home .vision-card { grid-template-columns:1fr; row-gap:7px; }
 .product-home .vision-card h3 { grid-row:auto; margin-bottom:6px; }
 .product-home .vision-card .vision-core { width:fit-content; }
}
/* A wide product scene must not create a scrollable clipping ancestor. */
.product-home .hero.product-hero { overflow:clip; }
.product-home .hero-scroll { display:none !important; }
.product-home .hero-tagline .hl { display:inline !important; margin:0 !important; width:auto; }
.product-home .product-scene-label strong { line-height:1.3; }

/* English uses the same visual system, with room for longer labels. */
html[lang^="en"] .product-home { --p-font-body:'Manrope','Noto Sans SC',sans-serif; }
html[lang^="en"] .product-home .product-hero .hero-title { letter-spacing:-.035em; }
.product-home .product-scene-label a { color:inherit; text-decoration:none; text-underline-offset:4px; }
.product-home .product-scene-label a:hover { text-decoration:underline; }
.product-home .product-scene-label .product-service-link { margin-left:auto; margin-right:16px; font-size:12px; font-weight:600; }
.product-home.genoptima-global-ui #clients .global-logo-card { border:0; border-radius:0; background:transparent; box-shadow:none; }
@media (max-width:768px) {
 .product-home .hero-actions .brand-test-cta .cta-arrow { width:25px; height:25px; font-size:17px; }
 html[lang^="en"] .product-home .product-scene > .experience-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; border-radius:24px; }
 html[lang^="en"] .product-home .product-scene > .experience-tabs button { padding:10px 5px; min-height:44px; white-space:normal; line-height:1.3; text-wrap:balance; }
 .product-home .product-scene-label .product-service-link { margin-right:0; font-size:11px; }
}
@media (min-width:1100px) and (min-height:680px) and (max-height:800px) {
 .product-home .hero-proof.product-scene { width:min(60vw,760px); }
 .product-home .hero.product-hero { padding-top:96px !important; padding-bottom:24px !important; }
 .product-home #iceberg { padding-block:16px !important; }
}

/* Four coordinated scientific artworks replace the Agent glyphs when installed. */
.product-home #technology.has-agent-art .tech-agent-grid > div {
  position:relative; overflow:hidden; padding:124px 20px 18px !important;
  border:1px solid #d7e6df !important; background:#fff !important; border-radius:14px !important;
}
.product-home .tech-agent-grid .agent-card-art {
  display:block; position:absolute; inset:0 0 auto; width:100%; height:120px; max-width:none;
  object-fit:contain; object-position:center; border:0; border-radius:0; margin:0;
  mask-image:linear-gradient(#000 72%,transparent); -webkit-mask-image:linear-gradient(#000 72%,transparent);
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.product-home #technology.has-agent-art .tech-agent-grid > div:hover .agent-card-art { transform:scale(1.035); }
.product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(2) { font-size:15px !important; line-height:1.35 !important; font-weight:600; min-height:40px; }
.product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(3) { margin-top:4px !important; color:#147b68 !important; font-size:13px !important; }
.product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(4) { margin-top:12px !important; font-size:12px !important; }
@media (min-width:1100px) and (min-height:680px) {
 .product-home #technology.has-agent-art .tech-cap-grid > div { display:grid; grid-template-columns:32px minmax(0,1fr); gap:6px 14px; padding:12px 0 !important; align-content:start; }
 .product-home #technology.has-agent-art .tech-cap-grid > div > div:first-child { grid-row:1/3; width:30px !important; height:30px !important; margin:0 !important; }
 .product-home #technology.has-agent-art .tech-cap-grid h4 { margin:0 !important; line-height:1.4; font-size:15px !important; }
 .product-home #technology.has-agent-art .tech-cap-grid p { font-size:12px !important; line-height:1.65 !important; }
 .product-home #technology.has-agent-art .tech-strategy { margin-top:14px !important; }
 .product-home #technology.has-agent-art .tech-strategy > div:first-child { margin-bottom:14px !important; }
}
@media (max-width:768px) {
 .product-home #technology.has-agent-art .tech-agent-grid > div { padding:172px 22px 24px !important; }
 .product-home .tech-agent-grid .agent-card-art { height:164px; }
 .product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(2) { font-size:17px !important; min-height:0; }
 .product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(4) { font-size:14px !important; }
}
@media (prefers-reduced-motion:reduce) {
 .product-home .tech-agent-grid .agent-card-art { transition:none; }
 .product-home #technology.has-agent-art .tech-agent-grid > div:hover .agent-card-art { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
 .product-home #rotating-platform { opacity:1 !important; transform:none !important; transition:none !important; }
}

/* Brighter chapters use the content to create scale, rather than empty padding. */
.product-home #services :is(.section-title,h3),
.product-home #global .section-title { color:var(--p-ink) !important; }
.product-home #services .section-subtitle,
.product-home #global .section-subtitle { color:#426761; }
.product-home #global { background:linear-gradient(140deg,#fff 12%,#edfff8 60%,#c0f5e8 100%); }
.product-home #global :is(.office-row-title,.office-chip,.office-static-list) { color:#295951; }
.product-home #global .office-chip { border-color:#a4d8cd; background:#ffffffb8; }
.product-home #contact { background:linear-gradient(110deg,#f7fffc 0%,#e4fcf4 58%,#ccf8eb 100%); }
.product-home #contact .contact-title { color:#092f2e; }
.product-home #contact .contact-title .accent-text { color:#007e77; }
.product-home #contact .contact-sub { color:#315c57; }
.product-home .quote-deck .testimonial-card:first-child { background:linear-gradient(135deg,#d9fff0,#effffc 75%); border-color:#84d9c6; }
.product-home .quote-deck .testimonial-card::before { color:#16aaa1; opacity:.35; }
.product-home .quote-deck .testimonial-card .tm-platform { color:#007c75; background:#def9ef; }
.product-home .case-evidence { background:linear-gradient(130deg,#d0fbee,#eefffa); border:0; }
.product-home .case-metric strong { color:#00837c; font-weight:600; }
.product-home .service-tier.featured { background:linear-gradient(140deg,#d5ffee,#f4fff8); border-color:#7dd7c7; }
.product-home .about-visual { background:radial-gradient(ellipse at 28% 30%,#76e4d2,#d3fff1 68%); border:0; }
.product-home .product-window { border-color:#aadace; box-shadow:0 38px 75px -40px #00776c66,0 10px 28px -22px #007c6b55; }
@media (min-width:1100px) and (min-height:801px) {
 .product-home .screen-panel > .container { padding-block:20px; }
 .product-home .section-title { font-size:clamp(38px,3.3vw,52px); }
 .product-home #services .service-card { padding-block:38px !important; }
 .product-home #services .service-card h3 { font-size:26px; }
 .product-home .case-panel-layout { min-height:420px; }
 .product-home .case-copy h3 { font-size:38px; }
 .product-home .case-metric strong { font-size:44px; }
 .product-home .case-evidence img { max-height:405px; }
 .product-home .case-evidence-pair img { max-height:370px; }
 .product-home .quote-deck .testimonial-card { min-height:clamp(320px,42svh,430px); }
 .product-home .quote-deck .tm-quote { font-size:21px; line-height:1.75; }
 .product-home #global .world-map-container { min-height:420px; }
}

/* Keep the original English report fully legible inside each image viewer. */
html[lang^="en"] .product-home .product-window img { object-fit:contain; background:#fff; }
@media (max-width:768px) {
 html[lang^="en"] .product-home .hero-tagline br { display:initial; }
}
/* The office network uses the same light surface as the surrounding chapter. */
.product-home #global .office-name { fill:#163e3b; stroke:#effff9; stroke-width:3; font-weight:650; }
.product-home #global .map-dot .office-leader { stroke:#478b81; }
.product-home #global .route-strong { stroke:#078d83; }
.product-home #global .route-soft { stroke:#39b3a7; }
.product-home #global .map-dot circle.dot-core { fill:#5FBFBB; stroke:#fff; stroke-width:1.5; }
.product-home #global .map-dot.is-hub circle.dot-core { fill:#ffd932; stroke:#8f7a0a; stroke-width:1; }
.product-home #global .map-dot.is-china circle.dot-core { fill:#087f77; stroke:#fff; }

/* September 10: continuous product-led layout. The fixed chapter height is retired. */
html.screen-desktop { scroll-snap-type:none; scroll-padding-top:80px; }
.product-home { --p-content:1360px; --p-section:72px; }
.product-home .screen-panel:not(.hero) {
 min-height:0 !important; height:auto; padding-block:var(--p-section) !important;
 justify-content:flex-start; scroll-snap-align:none; scroll-margin-top:72px;
}
.product-home .screen-panel > .container {
 width:100%; max-width:var(--p-content); padding:0 32px; margin-inline:auto;
}
.product-home .screen-panel .section-title {
 font-size:clamp(32px,3.1vw,46px); line-height:1.2; letter-spacing:-.03em;
}
.product-home .screen-heading { max-width:920px; margin-bottom:28px !important; }
.product-home .screen-panel .section-subtitle { font-size:16px; line-height:1.75; margin-top:14px !important; }
.product-home .hero.product-hero {
 min-height:0 !important; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
 padding:132px max(32px,calc((100vw - 1296px)/2)) 64px !important;
 gap:40px; align-items:center;
}
.product-home .product-hero .hero-content { max-width:none; }
.product-home .product-hero .hero-title { font-size:clamp(42px,4.25vw,62px) !important; line-height:1.15 !important; letter-spacing:-.035em; margin-bottom:24px; }
.product-home .product-hero .hero-eyebrow { margin-bottom:20px; font-size:13px; }
.product-home .product-hero .hero-tagline { font-size:16px; line-height:1.85; }
.product-home .product-hero .hero-actions { margin-top:28px; }
.product-home .hero-proof.product-scene { width:100%; max-width:none; }
.product-home .product-window { transform:none; padding:6px; border-radius:14px; box-shadow:0 24px 56px -32px #08786a70; }
.product-home .product-window .experience-panel { aspect-ratio:1180/760; border-radius:9px; }
.product-home .product-window .product-zoom { height:100%; }
.product-home .product-window img { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; object-position:center; background:#fff; }
.product-home .product-scene-label { margin:0 0 14px; }
.product-home .product-scene > .experience-tabs { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:18px 0 0; padding:4px; }
.product-home .product-scene > .experience-tabs button { padding:10px 6px; min-height:44px; white-space:normal; }
.product-home .product-scene figcaption { margin:10px 0 0; }
.product-home .hero.product-hero .hero-bg { inset:-25% -28% -35% 26%; filter:blur(12px); }
.product-home #vision > .container { gap:24px 60px; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); }
.product-home #vision .section-title { font-size:clamp(32px,3.2vw,46px); margin-bottom:18px; }
.product-home .vision-card { grid-template-columns:114px minmax(0,1fr); padding:20px 0; }
.product-home .vision-card h3 { font-size:31px; }
.product-home .vision-card p,.product-home .vision-card .vision-en,.product-home .vision-card .vision-core { font-size:14px; line-height:1.7; }
.product-home .vision-strategy { gap:28px; margin-top:18px !important; }
.product-home .strategy-card { padding-top:20px; }
.product-home .strategy-card h4 { font-size:20px; }
.product-home .strategy-card p { font-size:14px; line-height:1.75; }
.product-home #insight .stats-grid { gap:28px; margin-top:32px; }
.product-home #insight .stat-card { padding:16px 0 20px; }
.product-home #insight .stat-number { font-size:clamp(54px,6vw,84px); font-weight:550; }
.product-home #insight .stat-unit { margin-top:14px; padding-top:14px; }
.product-home #insight .container > .reveal[style*="max-width"] { max-width:none !important; margin-top:24px !important; padding:20px 24px !important; background:#dff6ec !important; border-radius:10px; }
.product-home #gem > .container { grid-template-columns:minmax(0,.78fr) minmax(0,1.52fr); column-gap:44px; }
.product-home #gem .section-title { font-size:clamp(32px,3vw,44px); }
.product-home .gem-definition { padding-left:0; margin-top:20px; }
.product-home .gem-definition p { font-size:15px; }
.product-home .gem-panel-layout { min-height:0; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:24px; }
.product-home .gem-sample img { height:330px; }
.product-home .gem-service-copy h3 { font-size:24px; }
.product-home .gem-service-copy p { font-size:14px; line-height:1.75; }
.product-home #gem .gem-platform-note { margin-top:24px; }
.product-home #geo .geo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 36px; margin-top:28px; }
.product-home .geo-card { display:grid; grid-template-columns:46px minmax(0,1fr); gap:8px 18px; padding:24px 0 !important; }
.product-home .geo-icon { grid-column:1; grid-row:1/4; width:40px; height:40px; margin:0; }
.product-home .geo-card > :not(.geo-icon) { grid-column:2; }
.product-home .geo-card h3 { margin:0; font-size:25px; }
.product-home .geo-card p { font-size:15px; margin:0; line-height:1.75; }
.product-home #iceberg > .container { column-gap:48px; }
.product-home #iceberg .iceberg-visual-wrapper { height:240px; }
.product-home #iceberg .iceberg-img { object-fit:contain; }
.product-home .iceberg-peak,.product-home .iceberg-depth { padding:24px 28px; }
.product-home .iceberg-feature-text { font-size:13px; }
.product-home .iceberg-feature-text strong { font-size:15px; }

/* Scientific art has the scale of a product illustration, with its text alongside. */
.product-home #technology .tech-cap-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px !important; margin-top:26px !important; }
.product-home #technology.has-agent-art .tech-cap-grid > div { padding:18px 0 !important; }
.product-home #technology.has-agent-art .tech-cap-grid h4 { font-size:17px !important; }
.product-home #technology.has-agent-art .tech-cap-grid p { font-size:13px !important; line-height:1.75 !important; }
.product-home #technology.has-agent-art .tech-strategy { margin-top:24px !important; }
.product-home #technology.has-agent-art .tech-strategy > div:first-child { text-align:left !important; margin-bottom:20px !important; }
.product-home .tech-agent-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:20px !important; }
.product-home #technology.has-agent-art .tech-agent-grid > div {
 display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); grid-template-rows:1fr auto 1fr;
 column-gap:12px; align-items:start; padding:20px 24px 20px 8px !important;
 border-radius:14px !important; border-color:#cee4dd !important;
}
.product-home #technology .tech-agent-grid .agent-card-art {
 position:static; grid-column:1; grid-row:1/4; align-self:center;
 width:100%; height:220px; object-fit:contain; object-position:center; mask-image:none; -webkit-mask-image:none;
}
.product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(2) { grid-column:2; align-self:end; min-height:0; font-size:20px !important; line-height:1.35 !important; margin:0 !important; }
.product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(3) { grid-column:2; margin:9px 0 0 !important; font-size:14px !important; }
.product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(4) { grid-column:2; margin:16px 0 0 !important; font-size:14px !important; line-height:1.8 !important; }
.product-home .service-tier-grid { margin-top:28px; }
.product-home .service-tier { padding:24px 0; }
.product-home .tier-description { font-size:14px; }
.product-home .services-grid { gap:28px; margin-top:32px; }
.product-home #services .service-card { padding:28px 0 8px !important; }
.product-home #services .service-num { font-size:72px; margin-bottom:24px; color:#00877f; }
.product-home #services .service-card h3 { font-size:25px; }
.product-home #services .service-card p { font-size:15px; line-height:1.8; }
.product-home #platforms .platform-group { margin-top:24px; }
.product-home #platforms .pf-chip { min-height:58px; padding:12px 18px; background:#f0faf6; border-color:#dceee7; }
.product-home .cmp-cell { padding:24px 28px; }
.product-home .about-layout { gap:44px; margin-top:28px; }
.product-home .about-content p { font-size:15px; line-height:1.85; }
.product-home .about-visual { min-height:360px; }
.product-home .case-heading { gap:24px; margin-bottom:24px; }
.product-home .case-panel-layout { min-height:0; grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); gap:44px; }
.product-home .case-copy h3 { font-size:clamp(30px,2.6vw,38px); }
.product-home .case-copy > p:not(.case-category) { font-size:15px; }
.product-home .case-metric strong { font-size:42px; }
.product-home .case-evidence { padding:26px; border-radius:14px; }
.product-home .case-evidence img { max-height:380px; }
.product-home .case-evidence-pair img { max-height:350px; }
.product-home #clients > .container { margin-bottom:24px; }
.product-home #clients .logo-marquee-stack { width:calc(100% - 64px); max-width:1296px; }
.product-home #testimonials .quote-deck { margin-top:28px; }
.product-home .quote-deck .testimonial-card { min-height:310px; padding:28px; }
.product-home .quote-deck .tm-quote { font-size:18px; line-height:1.8; }
.product-home #global .world-map-container { grid-template-columns:minmax(0,1fr) 270px; gap:28px; min-height:0; margin-top:28px; }
.product-home #global .world-map-svg { max-height:none; width:100%; }
.product-home #contact { position:relative; isolation:isolate; overflow:hidden; }
.product-home #contact::after { content:''; display:block; position:absolute; z-index:-1; right:-4%; top:-10%; width:46%; height:128%; background:url('../assets/genoptima-mark-mono.png') center/contain no-repeat; opacity:.88; pointer-events:none; }
.product-home #contact > .container { display:block; }
.product-home #contact > .container > .reveal { max-width:670px; }
.product-home #contact .contact-title { font-size:clamp(38px,4vw,58px); line-height:1.2; }
.product-home #contact .contact-sub { font-size:15px; line-height:1.85; }
.product-home #contact > .container > .reveal + .reveal { justify-content:flex-start !important; margin-top:28px !important; }
.product-home #contact :is(.btn-accent,.contact-consult) { min-height:52px; padding:13px 22px !important; border-radius:10px; }

@media(max-width:1099px) {
 .product-home { --p-section:56px; }
 .product-home .hero.product-hero { grid-template-columns:1fr; padding:108px 32px 48px !important; gap:32px; }
 .product-home .product-hero .hero-content { max-width:760px; }
 .product-home .hero-proof.product-scene { max-width:960px; }
 .product-home .product-window .experience-panel { aspect-ratio:1180/690; }
 .product-home #gem > .container { grid-template-columns:1fr; row-gap:28px; }
 .product-home .gem-heading { max-width:none; }
 .product-home .gem-panel-layout { grid-template-columns:1.25fr 1fr; }
 .product-home #vision > .container { gap:24px 32px; }
 .product-home .tech-agent-grid { gap:16px !important; }
 .product-home #technology.has-agent-art .tech-agent-grid > div { grid-template-columns:1fr; padding:12px 22px 24px !important; }
 .product-home #technology .tech-agent-grid .agent-card-art { grid-column:1; grid-row:auto; height:220px; }
 .product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(n+2) { grid-column:1; }
 .product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(2) { font-size:18px !important; }
 .product-home #global .world-map-container { display:block; }
 .product-home #global .offices-summary { margin-top:24px; }
}
@media(max-width:768px) {
 .product-home { --p-section:44px; }
 .product-home .screen-panel > .container { padding-inline:22px; }
 .product-home .screen-panel .section-title { font-size:31px; letter-spacing:-.025em; }
 .product-home .screen-panel .section-subtitle { font-size:14px; line-height:1.8; }
 .product-home .screen-heading { margin-bottom:24px !important; }
 .product-home .hero.product-hero { padding:102px 22px 40px !important; }
 .product-home .product-hero .hero-title { font-size:clamp(34px,7.5vw,50px) !important; }
 .product-home .product-hero .hero-eyebrow { font-size:11px; margin-bottom:18px; }
 .product-home .product-hero .hero-tagline { font-size:14px; }
 .product-home .product-scene-label strong { font-size:17px; }
 .product-home .product-window { padding:4px; }
 .product-home .product-window .experience-panel { aspect-ratio:1180/760; }
 .product-home .product-scene > .experience-tabs { border-radius:18px; margin-top:14px; }
 .product-home .product-scene > .experience-tabs button { min-height:44px; border-radius:14px; font-size:11px; line-height:1.35; }
 .product-home .product-scene figcaption { font-size:10px; }
 .product-home #vision > .container { grid-template-columns:1fr; gap:24px; }
 .product-home #vision .section-title { font-size:31px; }
 .product-home .vision-strategy { margin-top:0 !important; gap:20px; }
 .product-home .strategy-card,.product-home .strategy-card + .strategy-card { padding:20px 0 0; }
 .product-home #insight .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:20px; }
 .product-home #insight .stat-number { font-size:49px; }
 .product-home #insight .stat-card { padding:12px 0; }
 .product-home #insight .stat-unit { font-size:14px; padding-top:12px; }
 .product-home #insight .stat-label { font-size:12px; }
 .product-home #insight .container > .reveal[style*="max-width"] { padding:18px !important; }
 .product-home .gem-panel-layout { grid-template-columns:1fr; gap:22px; }
 .product-home .gem-sample img { height:auto; max-height:360px; }
 .product-home #geo .geo-grid { grid-template-columns:1fr; gap:12px; }
 .product-home .geo-card { grid-template-columns:36px minmax(0,1fr); gap:8px 14px; padding-block:20px !important; }
 .product-home .geo-card h3 { font-size:23px; }
 .product-home .geo-card p { font-size:14px; }
 .product-home #iceberg .iceberg-visual-wrapper { height:200px; }
 .product-home .iceberg-peak,.product-home .iceberg-depth { padding:22px; }
 .product-home .iceberg-depth-features { gap:18px; }
 .product-home #technology .tech-cap-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px !important; margin-top:22px !important; }
 .product-home #technology.has-agent-art .tech-cap-grid > div { padding:12px 0 !important; }
 .product-home #technology.has-agent-art .tech-cap-grid h4 { font-size:16px !important; line-height:1.45; }
 .product-home #technology.has-agent-art .tech-cap-grid p { font-size:12px !important; }
 .product-home #technology.has-agent-art .tech-agent-grid > div { padding:10px 20px 22px !important; }
 .product-home #technology .tech-agent-grid .agent-card-art { height:180px; }
 .product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(4) { font-size:13px !important; }
 .product-home .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 22px; margin-top:22px; }
 .product-home #services .service-card { padding:20px 0 0 !important; }
 .product-home #services .service-num { font-size:49px; margin-bottom:16px; }
 .product-home #services .service-card h3 { font-size:21px; }
 .product-home #services .service-card p { font-size:13px; line-height:1.8; }
 .product-home #platforms .pf-chip { min-height:48px; padding:9px 12px; }
 .product-home .about-layout { gap:26px; }
 .product-home .about-visual { min-height:270px; }
 .product-home .case-heading { display:block; }
 .product-home .case-panel-layout { grid-template-columns:1fr; gap:26px; }
 .product-home .case-copy { padding:0; }
 .product-home .case-copy h3 { font-size:28px; }
 .product-home .case-metric strong { font-size:36px; }
 .product-home .case-evidence { padding:18px; }
 .product-home .case-evidence img { max-height:300px; }
 .product-home .case-evidence-pair { gap:12px; }
 .product-home .case-evidence-pair img { max-height:270px; }
 .product-home #clients .logo-marquee-stack { width:calc(100% - 44px); }
 .product-home .quote-deck .testimonial-card { min-height:290px; padding:26px; }
 .product-home .quote-deck .tm-quote { font-size:17px; }
 .product-home #contact > .container > .reveal { max-width:100%; }
 .product-home #contact .contact-title { font-size:34px; }
 .product-home #contact::after { right:-65px; top:auto; bottom:-70px; width:250px; height:265px; opacity:.13; }
}
@media(max-width:520px) {
 .product-home .tech-agent-grid { grid-template-columns:1fr !important; }
 .product-home #technology.has-agent-art .tech-agent-grid > div { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); column-gap:10px; padding:18px 18px 18px 0 !important; }
 .product-home #technology .tech-agent-grid .agent-card-art { grid-column:1; grid-row:1/4; height:190px; }
 .product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(n+2) { grid-column:2; }
 .product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(2) { font-size:16px !important; overflow-wrap:anywhere; }
 .product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(3) { font-size:13px !important; }
 .product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(4) { font-size:12px !important; margin-top:12px !important; }
}

/* The original bright yellow marks action and selection within the Tiffany system. */
.product-home .experience-tabs button[aria-selected="true"] { background:#ffd932; color:#163932; box-shadow:none; }
.product-home .hero-actions .brand-test-cta :is(.arrow,.cta-arrow),
.product-home #contact .btn-accent .arrow { background:#ffd932; color:#15372f; }
.product-home .service-tier.featured .tier-name { background:linear-gradient(transparent 66%,#ffe36a 66%); width:fit-content; }
.product-home .quote-deck .testimonial-card:first-child .tm-platform { background:#fff0a3; color:#354a27; }
.product-home .quote-controls button:hover { background:#ffd932; color:#15372f; border-color:#e0bf2d; }
.product-home #technology.has-agent-art .tech-agent-grid > div > div { min-width:0; }
.product-home #technology.has-agent-art .tech-agent-grid > div > div:nth-child(2) { overflow-wrap:anywhere !important; white-space:normal !important; }
@media(max-width:768px) {
 .product-home .services-grid .service-card:last-child:nth-child(odd) { grid-column:1/-1; }
}

/* About: a centered, high-contrast group of four existing business metrics. */
.product-home #about .about-visual {
 min-height:0; padding:32px 28px 12px;
 background:linear-gradient(135deg,#e8faf4,#c8f2e7); border:1px solid #c8e6dd;
}
.product-home #about .about-visual > img { max-width:200px !important; margin:0 auto 28px !important; }
.product-home #about .about-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin-top:0; padding:0; border-top:1px solid #aed6ca; }
.product-home #about .about-stat { text-align:center; padding:24px 12px; border:0; }
.product-home #about .about-stat:nth-child(even) { border-left:1px solid #b7dbcf; }
.product-home #about .about-stat:nth-child(n+3) { border-top:1px solid #b7dbcf; }
.product-home #about .about-stat .num { font-family:var(--p-font-display); font-size:44px; line-height:1.15; font-weight:650; letter-spacing:-.03em; color:#123f36; font-variant-numeric:tabular-nums; }
.product-home #about .about-stat .label { margin-top:8px; font-size:14px; line-height:1.5; color:#385d52; font-weight:500; }
.product-home #about .about-content h3 .accent-text { color:#078178; }
.product-home #about .about-tag { color:#2c655b; background:#f3faf7; border-color:#d4e7df; }
@media(max-width:768px) {
 .product-home #about .about-visual { padding:26px 22px 8px; }
 .product-home #about .about-stat { padding:22px 10px; }
 .product-home #about .about-stat .num { font-size:38px; }
.product-home #about .about-stat .label { font-size:13px; }
}

/* Customer reading dock: real excerpts, visible volume, and pointer proximity. */
.product-home #testimonials .screen-heading { margin-bottom:24px !important; }
.product-home .quote-overview { display:flex; align-items:center; gap:20px; border-top:1px solid #c8e3da; padding-top:20px; }
.product-home .quote-overview p { margin:0; }
.product-home .quote-total { display:flex; align-items:baseline; gap:8px; color:#294f46; font-size:14px; white-space:nowrap; }
.product-home .quote-total strong { color:#123f36; font-family:var(--p-font-display); font-size:32px; font-weight:650; line-height:1; letter-spacing:-.03em; }
.product-home .quote-hint { color:#476b60; font-size:13px; }
.product-home .quote-overview .quote-position { position:absolute; width:1px; height:1px; min-width:0; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.product-home #testimonials .testimonial-grid.quote-deck { position:relative; grid-auto-columns:calc((100% - 66px) / 3.1); gap:22px; margin-top:6px; padding:22px 12px 24px; scroll-padding-inline:12px; scroll-snap-type:x proximity; scrollbar-width:none; }
.product-home .quote-deck::-webkit-scrollbar { display:none; }
.product-home .quote-deck .testimonial-card { position:relative; min-width:0; min-height:318px; padding:52px 26px 26px; border:1px solid #d2e5dd; background:#fff; color:#153d33; border-radius:14px; scroll-snap-align:center; scale:var(--quote-scale,1); translate:0 var(--quote-lift,0); transform-origin:50% 80%; transition:scale 240ms cubic-bezier(.16,1,.3,1),translate 240ms cubic-bezier(.16,1,.3,1),border-color 180ms,background-color 180ms; }
.product-home .quote-deck .testimonial-card:first-child { background:#fff; border-color:#d2e5dd; transform-origin:0 80%; scroll-snap-align:start; }
.product-home .quote-deck .testimonial-card:last-child { transform-origin:100% 80%; scroll-snap-align:end; }
.product-home .quote-deck .testimonial-card.is-current { background:#e1f8ee; border-color:#51bba1; }
.product-home .quote-deck .testimonial-card::before { top:13px; left:25px; font-size:46px; line-height:1; color:#21927b; opacity:.7; }
.product-home .quote-brand-logo { position:absolute; top:20px; left:26px; width:140px; height:38px; object-fit:contain; object-position:left center; mix-blend-mode:multiply; }
.product-home .quote-deck .testimonial-card.has-brand-logo::before { display:none; }
.product-home .quote-deck .has-brand-logo .tm-quote::before { content:"\201c"; color:#07877a; }
.product-home .quote-deck .has-brand-logo .tm-quote::after { content:"\201d"; color:#07877a; }
.product-home .quote-deck .tm-quote { font-size:19px; line-height:1.72; font-weight:500; margin-bottom:28px; }
.product-home .quote-deck .tm-meta { border-top:1px solid #d2e7dd; padding-top:18px; }
.product-home .quote-deck .tm-client { font-size:14px; }
.product-home .quote-deck .tm-industry { font-size:12px; }
.product-home .quote-deck .tm-tag,.product-home .quote-deck .tm-platform { display:inline-flex; align-self:flex-start; margin-top:10px; padding:5px 10px; font-size:11px; line-height:1.5; border-radius:20px; color:#246054; background:#edf7f2; }
.product-home .quote-deck .is-current :is(.tm-tag,.tm-platform) { color:#374320; background:#ffe575; }
.product-home .quote-browser { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:14px; width:fit-content; max-width:100%; margin:0 auto; }
.product-home .quote-browser .quote-arrow { border-radius:50%; background:#fff; border-color:#accfc2; color:#1b4c40; }
.product-home .quote-browser .quote-arrow:last-child { background:#ffd932; border-color:transparent; }
.product-home .quote-browser .quote-arrow:disabled { opacity:.3; }
.product-home .quote-dock { min-width:0; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; padding:30px 16px 14px; margin-top:-12px; }
.product-home .quote-dock::-webkit-scrollbar { display:none; }
.product-home .quote-dock-track { position:relative; display:flex; gap:9px; width:max-content; }
.product-home .quote-browser .quote-dock-item { position:relative; display:flex; flex-direction:column; flex:0 0 65px; align-items:center; justify-content:flex-start; gap:8px; width:65px; height:auto; min-height:99px; padding:0; border:0; border-radius:0; background:transparent; color:#456357; }
.product-home .quote-browser .quote-dock-item:hover { background:transparent; color:#163f32; border-color:transparent; }
.product-home .quote-miniature { display:flex; flex-direction:column; width:55px; height:64px; padding:7px; background:#fff; border:1px solid #b9d6c9; border-radius:7px; text-align:left; transform:translateY(var(--quote-lift,0)) scale(var(--quote-scale,1)); transform-origin:50% 100%; transition:transform 220ms cubic-bezier(.16,1,.3,1),background-color 180ms,border-color 180ms; }
.product-home .quote-mini-number { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:#2e6554; font:600 7px/1.3 var(--p-font-body); margin-bottom:5px; }
.product-home .quote-mini-logo { display:block; width:40px; height:20px; object-fit:contain; object-position:left center; margin-bottom:4px; mix-blend-mode:multiply; }
.product-home .quote-mini-excerpt { overflow:hidden; max-height:30px; font-size:4px; line-height:1.7; color:#557369; }
.product-home .quote-dock-label { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:10px; line-height:1.4; width:100%; text-align:center; }
.product-home .quote-dock-item[aria-current="true"] .quote-miniature { background:#ffd932; border-color:#c9ad34; }
.product-home .quote-dock-item[aria-current="true"] .quote-dock-label { color:#163f32; font-weight:700; }
.product-home .quote-dock-item[aria-current="true"]::after { content:""; position:absolute; left:calc(50% - 2px); bottom:-5px; width:4px; height:4px; background:#098876; border-radius:50%; }
.product-home :is(.quote-deck,.testimonial-card,.quote-dock-item,.quote-arrow):focus-visible { outline:2px solid #08776a; outline-offset:4px; }
.product-home #testimonials .stat-source-note { margin-top:12px !important; font-size:11px; color:#547369; }

/* Footer office directory keeps the original contact nodes in accessible disclosures. */
.product-home .site-footer { padding-block:52px 24px; }
.product-home .site-footer > .container { width:100%; max-width:1360px; padding-inline:32px; }
.product-home .site-footer .footer-top { display:grid; grid-template-columns:1.1fr .7fr 1.45fr; gap:48px; align-items:start; }
.product-home .footer-top > * { min-width:0; }
.product-home .site-footer .footer-logo { height:42px; width:auto; margin-bottom:20px; }
.product-home .site-footer .footer-desc { max-width:35ch; font-size:13px; line-height:1.85; margin-bottom:22px; }
.product-home .site-footer .footer-social-group { margin-top:18px; }
.product-home .site-footer .footer-social-group h6 { margin-bottom:9px; font-size:11px; }
.product-home .site-footer .social-link { width:29px; height:29px; }
.product-home .site-footer .footer-col h5 { color:#e2f1e9; font-size:13px; margin:0 0 15px; }
.product-home .site-footer .footer-col > a { font-size:13px; margin-bottom:12px; }
.product-home .site-footer .footer-col > p { font-size:12px !important; line-height:1.8; color:#b9cec4 !important; overflow-wrap:anywhere; }
.product-home .office-directory { display:flex; flex-direction:column; gap:24px; }
.product-home .footer-office-group { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px 14px; }
.product-home .footer-office-group > h5 { grid-column:1/-1; margin:0 0 8px !important; }
.product-home .footer-office-entry { min-width:0; }
.product-home .footer-office-entry summary { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:39px; padding:5px 0; color:#b8d1c6; border-bottom:1px solid #294239; list-style:none; cursor:pointer; font-size:12px; line-height:1.5; }
.product-home .footer-office-entry summary::-webkit-details-marker { display:none; }
.product-home .footer-office-entry summary::after { content:""; flex:0 0 5px; width:5px; height:5px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; rotate:45deg; margin:-3px 3px 0 0; transition:rotate 160ms; }
.product-home .footer-office-entry[open] summary { color:#ffd932; }
.product-home .footer-office-entry[open] summary::after { rotate:225deg; }
.product-home .footer-office-entry summary:hover { color:#fff; }
.product-home .footer-office-entry summary:focus-visible { outline:2px solid #ffd932; outline-offset:3px; }
.product-home .footer-office-panel { position:absolute; z-index:30; width:340px; max-width:100%; padding:22px; background:#f2fcf6; color:#173f30; border-radius:12px; box-shadow:0 14px 42px #0004; }
.product-home .site-footer .footer-office-panel p { margin:0; color:#305949; font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.product-home .footer-office-panel strong { color:#103f2f; font-size:14px; }
.product-home .site-footer .footer-office-panel a { color:#087366; }
.product-home .site-footer .footer-office-hint { margin:0 !important; font-size:11px !important; color:#92b4a5 !important; }
.product-home .site-footer .footer-divider { margin-block:30px 18px; }
.product-home .site-footer .footer-bottom { font-size:11px; gap:16px; }
.product-home #global { background:linear-gradient(135deg,#fff 25%,#f3fffd 68%,#defff7); }
.product-home #global .network-map-bg { fill:#fff; }
.product-home #global .network-map-image { opacity:1; }
.product-home #global .world-map-container { width:100%; max-width:100%; }
.product-home #global .section-subtitle .hide-on-mobile { display:block; }
.product-home #global .network-map-vignette { fill:none; }
.product-home #global .route-strong { stroke:#5FBFBB; opacity:.85; }
.product-home #global .route-soft { stroke:#67d7ca; opacity:.9; }
.product-home #global .office-name { fill:#14594e; stroke:#fff; }
.product-home #global .office-chip { background:#fff; border-color:#bbe9df; color:#1d6155; }
.product-home #global .office-chip:hover { background:#fff6c4; border-color:#ebd46b; }
.product-home .case-outcome { margin-top:24px; padding-top:20px; border-top:1px solid #c9e1d7; }
.product-home .case-outcome strong { display:block; color:#143e32; font-size:24px; font-weight:650; line-height:1.4; letter-spacing:-.02em; }
.product-home .case-copy .case-outcome p { margin:8px 0 0; color:#537267; font-size:13px; line-height:1.7; }
@media(max-width:1100px) {
 .product-home #testimonials .testimonial-grid.quote-deck { grid-auto-columns:calc((100% - 24px) / 2.2); }
 .product-home .quote-browser { width:100%; }
 .product-home .site-footer .footer-top { grid-template-columns:1.1fr .8fr 1.4fr; gap:28px; }
 .product-home .footer-office-group { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:768px) {
 .product-home .quote-overview { flex-wrap:wrap; gap:12px; padding-top:18px; }
 .product-home .quote-total strong { font-size:28px; }
 .product-home .quote-hint { order:3; width:100%; font-size:12px; }
 .product-home #testimonials .testimonial-grid.quote-deck { grid-auto-columns:88%; gap:15px; padding:16px 5px 18px; scroll-padding-inline:5px; }
 .product-home .quote-deck .testimonial-card { padding:48px 22px 24px; min-height:334px; }
 .product-home .quote-deck .tm-quote { font-size:17px; line-height:1.75; }
 .product-home .quote-browser { gap:5px; }
 .product-home .quote-dock { padding:25px 10px 12px; }
 .product-home .quote-dock-track { gap:7px; }
 .product-home .quote-browser .quote-dock-item { flex-basis:59px; width:59px; }
 .product-home #testimonials .stat-source-note { text-align:left !important; }
 .product-home .site-footer { padding-block:36px 20px; }
 .product-home .site-footer > .container { padding-inline:22px; }
 .product-home .site-footer .footer-top { grid-template-columns:minmax(0,1fr); gap:30px; }
 .product-home .site-footer .footer-brand-col { grid-column:1/-1; }
 .product-home .site-footer .footer-desc { max-width:45ch; }
 .product-home .site-footer .footer-col:not(.office-directory) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
 .product-home .site-footer .footer-col:not(.office-directory) > :is(h5,p) { grid-column:1/-1; }
 .product-home .footer-office-group { grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px 12px; }
 .product-home .office-directory { gap:22px; }
 .product-home .footer-office-panel { width:100%; max-width:100%; right:0; left:auto !important; padding:18px; }
 .product-home .site-footer .footer-bottom { align-items:flex-start; text-align:left; }
}
@media(prefers-reduced-motion:reduce) {
 .product-home .quote-deck .testimonial-card { scale:1 !important; translate:none !important; transition:background-color 120ms,border-color 120ms; }
 .product-home .quote-miniature { transform:none !important; transition:background-color 120ms; }
}
