/* 0910 v2.0 — editorial brand consultancy.
   White paper / Tiffany #5FBFBB / yellow #FFD932. Existing Manrope + Noto Sans SC.
   Display 64–112px; section 40–54px; body 16–18px. 1280px measure, 96px rhythm.
   Chinese: proposition → practice → proof. English: proposition → clients → work.
*/
html.agency-v2 { --agency-ink:#242a2e; --agency-muted:#5b6268; --agency-rule:#d8e3df; --agency-paper:#f5f8f6; scroll-padding-top:92px; }
.agency-v2 body { color:var(--agency-ink); background:#fff; }
.agency-v2 :is(.hero,.section,.iceberg-section) { min-height:0 !important; scroll-snap-align:none !important; }
.agency-v2 main > :is(.section,.iceberg-section) { padding-block:96px !important; }
.agency-v2 main > section > .container { width:100%; max-width:1408px !important; padding-inline:64px !important; }
.agency-v2 :is(.section-title,.contact-title) { font-size:clamp(36px,3.7vw,54px) !important; line-height:1.2 !important; letter-spacing:-.045em; font-weight:600 !important; }
.agency-v2 :is(.section-label,.agency-label) { display:block; width:fit-content; text-align:left; justify-self:start; align-self:flex-start; margin:0 0 18px; color:var(--agency-tiffany) !important; font:600 11px/1.5 var(--p-font-display); letter-spacing:.12em; text-transform:uppercase; }
.agency-v2 .section-subtitle { font-size:16px; line-height:1.85; max-width:58ch; }
.agency-v2 #site-nav { height:88px !important; background:#fff !important; box-shadow:none !important; border-bottom:1px solid var(--agency-rule); }
.agency-v2 .nav-inner { height:88px !important; max-width:1408px; width:100%; padding-inline:64px !important; gap:28px !important; }
.agency-v2 .nav-logo img { height:42px; }
.agency-v2 .nav-links { gap:30px !important; margin-inline:auto; }
.agency-v2 .nav-links a { font-size:13px; font-weight:550; }
.agency-v2 .nav-links > a { min-height:44px; display:inline-flex; align-items:center; }
.agency-v2 .nav-right { gap:18px; }
.agency-v2 .home-language-switch { background:transparent; border:0; padding:0; }
.agency-v2 .home-language-switch a { min-height:44px; min-width:36px; padding-inline:4px; border-radius:0; font-size:12px; box-shadow:none !important; }
.agency-v2 .home-language-switch a[aria-current=true] { background:transparent; border-bottom:2px solid #5FBFBB; }
.agency-v2 #site-nav .btn-primary { border-radius:0 !important; background:var(--agency-ink) !important; color:#fff !important; box-shadow:none; padding:13px 22px; font-size:12px; min-height:44px; }
.agency-v2 .agency-nav-directory { position:relative; }
.agency-v2 .agency-nav-directory summary { min-height:44px; display:flex; align-items:center; gap:16px; cursor:pointer; font-size:13px; font-weight:550; list-style:none; }
.agency-v2 summary::-webkit-details-marker { display:none; }
.agency-v2 .agency-nav-directory[open] summary span { rotate:45deg; }
.agency-v2 .agency-nav-panel { position:absolute; right:0; top:58px; width:340px; padding:24px; display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; background:#fff; border:1px solid var(--agency-rule); box-shadow:0 16px 30px #102e2d12; }
.agency-v2 .agency-nav-panel a { display:flex; align-items:center; min-height:44px; white-space:normal; }
.agency-v2 #hero#hero.agency-hero { position:relative; display:block !important; max-width:1408px; margin:88px auto 0; padding:74px 64px 0 !important; background:#fff !important; overflow:hidden; isolation:isolate; }
.agency-v2 #hero.agency-hero::before,.agency-v2 #hero.agency-hero::after { display:none !important; }
.agency-v2 #hero.agency-hero .hero-content { display:block; position:relative; z-index:2; width:100%; max-width:none !important; padding:0 !important; }
.agency-v2 .agency-hero-overline { display:block; font:600 11px/1.4 var(--p-font-display); letter-spacing:.15em; margin-bottom:38px; color:var(--agency-muted); }
.agency-v2 #hero.agency-hero .hero-eyebrow { position:absolute; right:0; top:0; margin:0; font-size:11px; letter-spacing:.04em; color:var(--agency-muted); }
.agency-v2 #hero.agency-hero .hero-title { max-width:85%; font-size:clamp(60px,6.4vw,92px) !important; line-height:1.13 !important; letter-spacing:-.06em !important; margin:0 0 28px; font-weight:600 !important; color:var(--agency-ink); }
.agency-v2 #hero.agency-hero .hero-title em { position:relative; display:inline-block; color:var(--agency-ink); font-style:normal; font-weight:600; background:none; -webkit-text-fill-color:currentColor; }
.agency-v2 #hero.agency-hero .hero-title em::after { content:""; display:block; width:72px; height:5px; margin-top:20px; background:#5FBFBB; }
.agency-v2 #hero.agency-hero .hero-tagline { font-size:16px; line-height:1.85; max-width:540px; color:var(--agency-muted); margin:0; }
.agency-v2 #hero.agency-hero .hero-tagline .hl { color:inherit; }
.agency-v2 #hero.agency-hero .hero-actions { margin-top:30px; display:flex; align-items:center; gap:30px; }
.agency-v2 .hero-actions .btn-accent { background:#5FBFBB !important; color:var(--agency-ink) !important; border:0 !important; border-radius:12px !important; box-shadow:none !important; padding:13px 15px 13px 22px; gap:22px; font-size:13px; }
.agency-v2 .hero-actions .btn-accent .cta-label { min-width:0; }
.agency-v2 .hero-actions .btn-accent :is(.arrow,.cta-arrow) { border-radius:8px !important; min-width:34px; min-height:34px; }
.agency-v2 .hero-actions .btn-outline { background:transparent; border:0; border-radius:0; padding:12px 0; font-size:13px; box-shadow:none; border-bottom:1px solid #9eb5ae; }
.agency-v2 .agency-hero-art { position:absolute; z-index:0; width:400px; height:425px; right:58px; top:145px; opacity:.10; pointer-events:none; }
.agency-v2 .agency-hero-art img { width:100%; height:100%; object-fit:contain; }
.agency-v2 .agency-spark { position:absolute; width:36px; height:36px; background:#FFD932; right:0; top:12px; opacity:1; }
.agency-v2 .agency-hero-foot { position:relative; z-index:2; display:flex; justify-content:space-between; gap:24px; margin-top:54px; border-top:1px solid var(--agency-rule); padding:22px 0; font-size:12px; color:var(--agency-muted); }
.agency-v2 .agency-hero-foot a { color:var(--agency-ink); display:flex; align-items:center; gap:24px; min-height:44px; margin:-11px 0; }
.agency-v2 .agency-hero-foot a span { font-size:20px; }
.agency-v2 [data-edition=en] #hero.agency-hero .hero-title { font-size:clamp(72px,8vw,116px) !important; line-height:1.02 !important; letter-spacing:-.075em !important; }
.agency-v2 [data-edition=en] #hero#hero.agency-hero { padding-top:64px !important; }
.agency-v2 [data-edition=en] .agency-hero-art { right:80px; width:370px; opacity:.11; }
.agency-v2 [data-edition=en] #hero.agency-hero .hero-tagline { max-width:600px; }
/* Two business entrances; the larger brand-green GEM block leads the visual hierarchy. */
.agency-v2 #practice { background:#fff; }
.agency-v2 #practice > .container { display:grid; grid-template-columns:1fr; gap:32px; }
.agency-v2 #practice .agency-section-intro { display:grid; grid-template-columns:1.15fr .85fr; gap:0 64px; align-items:end; }
.agency-v2 #practice .agency-section-intro > .agency-label { grid-column:1/-1; }
.agency-v2 #practice .agency-section-intro .section-title { font-size:clamp(30px,2.7vw,40px) !important; margin:0; }
.agency-v2 #practice .agency-section-intro > p { font-size:16px; line-height:1.85; color:var(--agency-muted); max-width:46ch; margin:0 0 3px; }
.agency-v2 #practice .agency-practice-list { --practice-small-abbr:96px; --practice-large-abbr:128px; --practice-small-heading:24px; --practice-large-heading:28px; --practice-rest-width:.5fr; --practice-rest-abbr:calc((var(--practice-small-abbr) + var(--practice-large-abbr)) / 2); --practice-rest-heading:calc((var(--practice-small-heading) + var(--practice-large-heading)) / 2); display:grid; grid-template-columns:minmax(0,var(--practice-geo-width,var(--practice-rest-width))) minmax(0,var(--practice-gem-width,var(--practice-rest-width))); gap:20px; border:0; }
.agency-v2 #practice .agency-practice-row { display:grid; grid-template-columns:minmax(0,1fr) 48px; grid-template-rows:auto 1fr; gap:44px 20px; align-items:start; min-width:0; min-height:360px; padding:36px; border:0; border-radius:0; background:#FFD932; color:var(--agency-ink); text-decoration:none; }
.agency-v2 #practice .agency-practice-row[href="#gem"] { background:var(--agency-brand); }
.agency-v2 body.product-home #practice .agency-practice-abbr { display:block; grid-column:1; grid-row:1; color:var(--agency-ink) !important; font:600 var(--practice-geo-abbr,var(--practice-rest-abbr))/.95 var(--p-font-display); letter-spacing:-.065em; }
.agency-v2 body.product-home #practice .agency-practice-row[href="#gem"] .agency-practice-abbr { font-size:var(--practice-gem-abbr,var(--practice-rest-abbr)); }
.agency-v2 #practice .agency-practice-row > div { grid-column:1/-1; grid-row:2; align-self:end; }
.agency-v2 #practice .agency-practice-row h3 { color:var(--agency-ink); font-size:var(--practice-geo-heading,var(--practice-rest-heading)); font-weight:600; line-height:1.4; margin:0 0 10px; }
.agency-v2 #practice .agency-practice-row[href="#gem"] h3 { font-size:var(--practice-gem-heading,var(--practice-rest-heading)); }
.agency-v2 #practice .agency-practice-row p { max-width:54ch; color:var(--agency-ink); font-size:14px; line-height:1.7; margin:0; }
.agency-v2 #practice .agency-circle-arrow { display:grid; grid-column:2; grid-row:1; place-items:center; width:48px; height:48px; margin-top:4px; color:var(--agency-ink); border:1px solid #242A2E66; border-radius:50%; font-size:23px; transition:transform .18s,background .18s; }
.agency-v2 #practice .agency-practice-row:hover .agency-circle-arrow { background:#fff; transform:translate(3px,-3px); }
.agency-v2 #practice .agency-practice-row:focus-visible { outline:3px solid #242A2E !important; outline-offset:5px; }
.agency-v2 #practice .agency-boundary { grid-column:1; margin:-12px 0 0; color:var(--agency-muted); font-size:11px; line-height:1.7; }
@media(max-width:1100px) {
 .agency-v2 #practice .agency-section-intro { gap:0 36px; }
 .agency-v2 #practice .agency-practice-list { --practice-small-abbr:80px; --practice-large-abbr:104px; --practice-small-heading:21px; --practice-large-heading:24px; gap:16px; }
 .agency-v2 #practice .agency-practice-row { min-height:320px; padding:28px; gap:36px 16px; }
 .agency-v2 #practice .agency-practice-row p { font-size:13px; }
}
@media(max-width:800px) {
 .agency-v2 #practice .agency-section-intro { grid-template-columns:1fr; gap:0; }
 .agency-v2 #practice .agency-section-intro > p { margin:18px 0 0; max-width:56ch; }
 .agency-v2 #practice .agency-practice-row { grid-template-columns:minmax(0,1fr) 40px; padding:24px; gap:32px 8px; }
 .agency-v2 #practice .agency-circle-arrow { width:40px; height:40px; font-size:21px; }
 .agency-v2 #practice .agency-practice-list { --practice-small-abbr:68px; --practice-large-abbr:88px; }
}
@media(min-width:601px) and (max-width:700px) {
 .agency-v2 #practice .agency-practice-list { --practice-small-abbr:48px; --practice-large-abbr:64px; --practice-small-heading:20px; --practice-large-heading:22px; }
}
@media(max-width:600px) {
 .agency-v2 #practice > .container { gap:26px; }
 .agency-v2 #practice .agency-section-intro .section-title { font-size:30px !important; }
 .agency-v2 #practice .agency-section-intro > p { font-size:14px; }
 .agency-v2 #practice .agency-practice-list { grid-template-columns:1fr; gap:16px; }
 .agency-v2 #practice .agency-practice-row { min-height:244px; gap:30px 12px; }
 .agency-v2 #practice .agency-practice-row[href="#gem"] { min-height:280px; }
 .agency-v2 #practice .agency-practice-row > div { padding-right:24px; }
 .agency-v2 body.product-home #practice .agency-practice-abbr { font-size:72px; }
 .agency-v2 body.product-home #practice .agency-practice-row[href="#gem"] .agency-practice-abbr { font-size:88px; }
 .agency-v2 #practice .agency-practice-row h3 { font-size:21px; }
 .agency-v2 #practice .agency-practice-row[href="#gem"] h3 { font-size:23px; }
 .agency-v2 #practice .agency-boundary { margin:-10px 0 0; font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .agency-v2 #practice :is(.agency-practice-list,.agency-practice-abbr,.agency-practice-row h3,.agency-circle-arrow) { transition:none !important; }
 .agency-v2 #practice .agency-practice-row:hover .agency-circle-arrow { transform:none; }
}

/* Review variant: compare white type inside the two practice blocks without changing the default. */
html.practice-white.agency-v2 body.product-home #practice :is(.agency-practice-abbr,.agency-practice-row h3,.agency-practice-row p,.agency-circle-arrow) { color:#fff !important; }
html.practice-white.agency-v2 body.product-home #practice .agency-circle-arrow { border-color:#ffffffb8; text-shadow:0 1px 2px #0003; }
html.practice-white.agency-v2 body.product-home #practice .agency-practice-row:hover .agency-circle-arrow { background:#ffffff33; }
/* Hover or keyboard focus gives the chosen service more room; the two services are equal at rest. */
@media(min-width:601px) {
 .agency-v2 #practice .agency-practice-list { transition:grid-template-columns .45s cubic-bezier(.22,1,.36,1); }
 .agency-v2 #practice :is(.agency-practice-abbr,.agency-practice-row h3) { transition:font-size .45s cubic-bezier(.22,1,.36,1); }
 .agency-v2 #practice .agency-practice-list:has(> .agency-practice-row[href="#geo"]:focus-visible) { --practice-geo-width:.58fr; --practice-gem-width:.42fr; --practice-geo-abbr:var(--practice-large-abbr); --practice-gem-abbr:var(--practice-small-abbr); --practice-geo-heading:var(--practice-large-heading); --practice-gem-heading:var(--practice-small-heading); }
 .agency-v2 #practice .agency-practice-list:has(> .agency-practice-row[href="#gem"]:focus-visible) { --practice-gem-width:.58fr; --practice-geo-width:.42fr; --practice-gem-abbr:var(--practice-large-abbr); --practice-geo-abbr:var(--practice-small-abbr); --practice-gem-heading:var(--practice-large-heading); --practice-geo-heading:var(--practice-small-heading); }
}
@media(min-width:601px) and (hover:hover) and (pointer:fine) {
 .agency-v2 #practice .agency-practice-list:not(:has(> .agency-practice-row:focus-visible)):has(> .agency-practice-row[href="#geo"]:hover) { --practice-geo-width:.58fr; --practice-gem-width:.42fr; --practice-geo-abbr:var(--practice-large-abbr); --practice-gem-abbr:var(--practice-small-abbr); --practice-geo-heading:var(--practice-large-heading); --practice-gem-heading:var(--practice-small-heading); }
 .agency-v2 #practice .agency-practice-list:not(:has(> .agency-practice-row:focus-visible)):has(> .agency-practice-row[href="#gem"]:hover) { --practice-gem-width:.58fr; --practice-geo-width:.42fr; --practice-gem-abbr:var(--practice-large-abbr); --practice-geo-abbr:var(--practice-small-abbr); --practice-gem-heading:var(--practice-large-heading); --practice-geo-heading:var(--practice-small-heading); }
}
.agency-v2 #clients { background:#fff; padding-block:52px !important; }
.agency-v2 .agency-client-heading { display:grid !important; grid-template-columns:1fr auto; align-items:end; gap:6px 24px; text-align:left; margin:0 0 24px !important; }
.agency-v2 .agency-client-heading .section-label { grid-column:1/-1; margin:0 0 6px; }
.agency-v2 .agency-client-heading .section-title { font-size:28px !important; letter-spacing:-.03em; margin:0; }
.agency-v2 .agency-client-heading .section-subtitle { font-size:12px; text-align:right; margin:0; }
.agency-v2 .agency-client-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); align-items:center; border-top:1px solid var(--agency-rule); }
.agency-v2 .agency-client-logo { height:96px; display:grid; place-items:center; border-bottom:1px solid var(--agency-rule); }
.agency-v2 .agency-client-logo img { width:120px; max-width:72%; height:44px; object-fit:contain; filter:grayscale(1); opacity:.82; transition:filter .2s,opacity .2s; }
.agency-v2 .agency-client-logo:hover img { filter:none; opacity:1; }
.agency-v2 .agency-client-directory { max-width:1408px; margin:auto; padding-inline:64px !important; }
.agency-v2 .agency-client-directory > summary { display:flex; align-items:center; justify-content:space-between; width:100%; list-style:none; cursor:pointer; min-height:52px; font-size:12px; color:var(--agency-muted); }
.agency-v2 .agency-client-directory[open] > summary span { rotate:45deg; }
.agency-v2 #clients .logo-marquee-stack { width:100%; padding:0; margin:10px 0 0; }
.agency-v2 #case-studies { background:var(--agency-paper); }
.agency-v2 .case-heading { display:grid; grid-template-columns:1.3fr .7fr; gap:0 60px; align-items:end; margin-bottom:38px; }
.agency-v2 .case-heading > .agency-label { grid-column:1/-1; }
.agency-v2 .case-heading > h2 { margin:0; }
.agency-v2 .case-heading > p { max-width:34ch; margin:0 0 5px; color:var(--agency-muted); font-size:16px; }
.agency-v2 .case-reader { border:0; background:transparent; }
.agency-v2 .experience-tabs { width:fit-content; max-width:100%; padding:0; gap:0; border-radius:0; border:0; background:transparent; margin-bottom:24px; }
.agency-v2 .experience-tabs button { flex:none; min-height:48px; padding:12px 24px; border-radius:0; border-bottom:1px solid #a4bfb5; font-size:13px; color:var(--agency-muted); }
.agency-v2 .experience-tabs button[aria-selected=true] { color:var(--agency-ink); background:#FFD932; box-shadow:none; border-color:#FFD932; }
.agency-v2 .case-panel-layout { grid-template-columns:.8fr 1.2fr; gap:40px; min-height:0; border-top:1px solid #cbdad4; padding-top:32px; }
.agency-v2 .case-copy { padding:20px 24px 20px 0; }
.agency-v2 .case-copy h3 { font-size:32px; font-weight:550; line-height:1.35; letter-spacing:-.035em; }
.agency-v2 .case-copy > p { font-size:15px; line-height:1.85; max-width:45ch; }
.agency-v2 .case-category { font-size:11px !important; letter-spacing:.08em; margin-bottom:24px; text-transform:uppercase; }
.agency-v2 .case-evidence { background:#e6eeea; padding:30px; border-radius:0; border:0; min-width:0; }
.agency-v2 .case-evidence img { max-height:340px; border-radius:0; object-fit:contain; }
.agency-v2 .case-evidence-pair { padding:22px; gap:18px; }
.agency-v2 .case-metric strong { font-size:clamp(28px,3.2vw,44px); font-weight:500; color:var(--agency-tiffany); }
.agency-v2 .case-outcome strong { font-weight:500; font-size:27px; color:var(--agency-tiffany); }
.agency-v2 .evidence-source { font-size:11px; color:var(--agency-muted); margin-top:20px; }
.agency-v2 #testimonials { background:#fff; padding-top:72px !important; }
.agency-v2 .quote-deck .testimonial-card { border-radius:0; border-width:1px 0 0; background:#f7f9f7; box-shadow:none; }
.agency-v2 .quote-deck .testimonial-card.is-current { background:#eef6f1; }
.agency-v2 .quote-deck .testimonial-card:first-child { background:#f7f9f7; }
.agency-v2 .quote-deck .tm-quote { font-weight:400; }
.agency-v2 .agency-product { background:#f4f7f5; }
.agency-v2 .agency-product > .container { display:grid; grid-template-columns:.65fr 1.35fr; align-items:center; gap:64px; }
.agency-v2 .agency-product-heading p { color:var(--agency-muted); font-size:16px; line-height:1.8; max-width:30ch; margin-top:24px; }
.agency-v2 #product-proof .product-scene { width:100%; max-width:100%; min-width:0; padding:0; background:transparent; margin:0; }
.agency-v2 #product-proof .product-window { width:100%; min-height:0; border-radius:0; background:#fff; border:1px solid #c9dcd4; box-shadow:0 16px 34px #294a3610; }
.agency-v2 #product-proof .product-zoom img { width:100%; max-height:510px; object-fit:contain; }
.agency-v2 #product-proof .experience-tabs { width:100%; margin:12px 0; }
.agency-v2 #product-proof .experience-tabs button { flex:1; padding-inline:8px; }
.agency-v2 #product-proof figcaption { font-size:11px; color:var(--agency-muted); }
.agency-v2 :is(#gem,#geo,#technology,#iceberg,#platforms,#advantages,#awards,#vision) { background:#fff !important; border-top:1px solid #e0e8e3; }
.agency-v2 #gem .gem-workspace { border-radius:0; border:0; background:#f4f7f5; }
.agency-v2 #gem .gem-panel-visual { border-radius:0; }
.agency-v2 #services { background:#f2f6f3 !important; }
.agency-v2 .services-grid { gap:0 !important; border-top:1px solid #b8d0c5; }
.agency-v2 .services-grid .service-card { background:transparent !important; border:0; border-right:1px solid #cdded5; border-radius:0 !important; box-shadow:none !important; padding:30px 24px !important; }
.agency-v2 .services-grid .service-card:last-child { border-right:0; }
.agency-v2 .service-num { font-size:14px; color:var(--agency-tiffany) !important; margin-bottom:24px; }
.agency-v2 #service-tiers { background:#fff !important; }
.agency-v2 .service-tier { border-radius:0 !important; box-shadow:none !important; background:#fff !important; }
.agency-v2 .service-tier.featured { background:#f1f8f3 !important; border-color:#5FBFBB !important; }
.agency-v2 #technology.has-agent-art .tech-agent-grid > div { border-radius:0 !important; box-shadow:none !important; border-width:0 0 1px !important; background:#f6f9f6 !important; }
.agency-v2 #about { background:#f7f9f6 !important; }
.agency-v2 #about .about-visual { background:#e6f2ec; border:0; border-radius:0; }
.agency-v2 #insight { background:#f1f6f2 !important; }
.agency-v2 :focus-visible { outline:3px solid #08766c; outline-offset:5px; }
/* The desktop opening fills the visible window; short windows can grow with content. */
@media(min-width:1025px) {
 .agency-v2 #hero#hero.agency-hero { display:flex !important; flex-direction:column; justify-content:flex-start; align-items:stretch; min-height:min(calc(100vh - 88px), 860px) !important; min-height:min(calc(100svh - 88px), 860px) !important; --hero-pad-top:clamp(40px,10svh,120px); padding-top:var(--hero-pad-top) !important; gap:54px; --hero-art-top:121px; }
 .agency-v2 #hero.agency-hero .hero-content { flex:0 0 auto; }
 .agency-v2 #hero.agency-hero .agency-hero-foot { flex:0 0 auto; margin-top:auto; }
 /* 背景 G 锚定在文字块上（原包为 top:50% + translateY(-50%)，即锚在首屏垂直中心，
    窗口一高就掉到文字下方）。--hero-art-top 取自设计稿构图的「文字块顶 → G 顶」差值，
    不是 G 与文字块的几何中心重合（设计稿本身中心差约 102px）。 */
 .agency-v2 #hero.agency-hero .agency-hero-art { top:calc(var(--hero-pad-top) + var(--hero-art-top)); transform:none; }
}
@media(min-width:1025px) and (max-height:760px) {
 .agency-v2 #hero#hero.agency-hero { --hero-pad-top:32px; padding-top:var(--hero-pad-top) !important; gap:28px; --hero-art-top:63px; }
 .agency-v2 #hero.agency-hero .agency-hero-art { top:calc(var(--hero-pad-top) + var(--hero-art-top)); }
 .agency-v2 #hero#hero.agency-hero { min-height:min(calc(100vh - 88px), 760px) !important; min-height:min(calc(100svh - 88px), 760px) !important; }
 .agency-v2 #hero.agency-hero .agency-hero-overline { margin-bottom:24px; }
 .agency-v2 #hero.agency-hero .hero-title { font-size:clamp(60px,10svh,76px) !important; margin-bottom:20px; }
 .agency-v2 [data-edition=en] #hero.agency-hero .hero-title { font-size:clamp(72px,12svh,92px) !important; }
 .agency-v2 #hero.agency-hero .hero-title em::after { margin-top:14px; }
 .agency-v2 #hero.agency-hero .hero-actions { margin-top:24px; }
}
@media(max-width:1200px) {
 .agency-v2 .nav-inner { padding-inline:40px !important; gap:20px !important; }
 .agency-v2 .nav-links { gap:18px !important; }
 .agency-v2 .nav-right { gap:10px; }
 .agency-v2 .nav-logo img { height:36px; }
 .agency-v2 main > section > .container { padding-inline:40px !important; }
 .agency-v2 #hero#hero.agency-hero { padding-inline:40px !important; }
 .agency-v2 .agency-client-directory { padding-inline:40px !important; }
 .agency-v2 .agency-hero-art { right:30px; width:300px; opacity:.08; }
 .agency-v2 .agency-product > .container { gap:40px; grid-template-columns:.7fr 1.3fr; }
}
@media(max-width:1024px) {
 .agency-v2 #site-nav { height:76px !important; }
 .agency-v2 .nav-inner { height:76px !important; }
 .agency-v2 .nav-links { gap:0 !important; }
 .agency-v2 .nav-links.open { padding:24px; background:#fff !important; }
 .agency-v2 .nav-links > a { padding:10px 4px; min-height:48px; }
 .agency-v2 .nav-right .lead-plan-cta { display:none; }
 .agency-v2 .agency-nav-directory { width:100%; }
 .agency-v2 .agency-nav-directory summary { min-height:48px; padding:10px 4px; font-size:15px; }
 .agency-v2 .agency-nav-panel { position:static; width:100%; border:0; padding:12px 0; gap:0 20px; box-shadow:none; }
 .agency-v2 #hero#hero.agency-hero { margin-top:76px; }
 .agency-v2 #hero.agency-hero .hero-title { font-size:64px !important; max-width:100%; }
 .agency-v2 [data-edition=en] #hero.agency-hero .hero-title { font-size:86px !important; }
 .agency-v2 #hero.agency-hero .hero-eyebrow { display:none; }
 .agency-v2 .agency-hero-art { top:180px; width:280px; opacity:.07 !important; }
 .agency-v2 .case-panel-layout { grid-template-columns:1fr 1.2fr; gap:24px; }
 .agency-v2 .case-copy { padding-right:0; }
 .agency-v2 .case-copy h3 { font-size:26px; }
 .agency-v2 .agency-product > .container { grid-template-columns:1fr; }
 .agency-v2 .agency-product-heading { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; align-items:end; }
 .agency-v2 .agency-product-heading .agency-label { grid-column:1/-1; }
 .agency-v2 .agency-product-heading p { margin:0 0 5px; }
 .agency-v2 .agency-client-logo img { max-width:78%; }
}
@media(max-width:700px) {
 .agency-v2 main > :is(.section,.iceberg-section) { padding-block:56px !important; }
 .agency-v2 main > section > .container { padding-inline:24px !important; }
 .agency-v2 #site-nav { height:72px !important; }
 .agency-v2 .nav-inner { padding-inline:24px !important; height:72px !important; }
 .agency-v2 .nav-logo img { max-width:143px; height:auto; }
 .agency-v2 .nav-right { margin-right:2px; }
 .agency-v2 #hero#hero.agency-hero { margin-top:72px; padding:42px 24px 0 !important; }
 .agency-v2 [data-edition=en] #hero#hero.agency-hero { padding-top:42px !important; }
 .agency-v2 .agency-hero-overline { font-size:10px; letter-spacing:.12em; margin-bottom:30px; }
 .agency-v2 #hero.agency-hero .hero-title { font-size:clamp(38px,8.8vw,60px) !important; line-height:1.2 !important; letter-spacing:-.06em !important; margin-bottom:24px; }
 .agency-v2 [data-edition=en] #hero.agency-hero .hero-title { font-size:clamp(49px,12vw,80px) !important; line-height:1.05 !important; }
 .agency-v2 #hero.agency-hero .hero-tagline { font-size:14px; line-height:1.9; }
 .agency-v2 #hero.agency-hero .hero-actions { gap:18px; margin-top:26px; flex-wrap:wrap; }
 .agency-v2 .hero-actions .btn-accent { width:auto; min-height:54px; padding:10px 12px 10px 16px; font-size:12px; }
 .agency-v2 .hero-actions .btn-outline { font-size:12px; min-height:44px; width:auto; }
 .agency-v2 .agency-hero-art { width:210px !important; height:220px; top:125px; right:-30px !important; opacity:.055 !important; }
 .agency-v2 .agency-spark { display:none; }
 .agency-v2 .agency-hero-foot { margin-top:32px; padding:18px 0; font-size:10px; gap:12px; align-items:center; }
 .agency-v2 .agency-hero-foot a { white-space:nowrap; gap:8px; }
 .agency-v2 #clients { padding-block:34px !important; }
 .agency-v2 .agency-client-heading { grid-template-columns:1fr; gap:4px; margin-bottom:22px !important; }
 .agency-v2 .agency-client-heading .section-title { font-size:25px !important; }
 .agency-v2 .agency-client-heading .section-subtitle { text-align:left; font-size:11px; margin-top:6px; }
 .agency-v2 .agency-client-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .agency-v2 .agency-client-logo { height:78px; }
 .agency-v2 .agency-client-logo img { width:90px; max-width:78%; height:35px; }
 .agency-v2 .agency-client-directory { padding-inline:24px !important; }
 .agency-v2 .case-heading { grid-template-columns:1fr; gap:0; margin-bottom:24px; }
 .agency-v2 .case-heading .section-title { font-size:34px !important; }
 .agency-v2 .case-heading > p { font-size:14px; margin-top:18px; }
 .agency-v2 .experience-tabs { width:100%; }
 .agency-v2 .experience-tabs button { flex:1; font-size:11px; padding:12px 10px; white-space:normal; }
 .agency-v2 .case-panel-layout { grid-template-columns:1fr; gap:20px; padding-top:0; border-top:0; }
 .agency-v2 .case-copy { padding:4px 0 0; }
 .agency-v2 .case-copy h3 { font-size:27px; }
 .agency-v2 .case-copy > p { font-size:14px; }
 .agency-v2 .case-category { margin-bottom:14px; }
 .agency-v2 .case-evidence { padding:18px; }
 .agency-v2 .case-evidence-pair { gap:12px; }
 .agency-v2 .case-metric strong { font-size:32px; }
 .agency-v2 .case-outcome strong { font-size:24px; }
 .agency-v2 .evidence-source { font-size:10px; line-height:1.8; }
 .agency-v2 .agency-product-heading { display:block; }
 .agency-v2 .agency-product-heading p { margin-top:20px; max-width:none; font-size:14px; }
 .agency-v2 .agency-product > .container { gap:30px; }
 .agency-v2 #product-proof .product-scene-label { font-size:12px; }
 .agency-v2 .services-grid .service-card { padding:24px 16px !important; }
 .agency-v2 .section-label,.agency-v2 .agency-label { margin-bottom:18px; font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .agency-v2 *, .agency-v2 *::before, .agency-v2 *::after { scroll-behavior:auto !important; }
 .agency-v2 .agency-circle-arrow,.agency-v2 .agency-client-logo img { transition:none; }
}

.agency-v2 .agency-client-heading .section-label { text-align:left; margin-inline:0; }
.agency-v2 .agency-client-scope { font-size:13px; color:var(--agency-muted); line-height:1.8; margin-bottom:20px; }
@media(max-width:700px) { .agency-v2 #hero .hero-actions { flex-direction:row !important; justify-content:flex-start !important; align-items:center !important; } .agency-v2 #hero .hero-actions > a { flex:0 1 auto; margin:0; } }

/* Strategic agents: scientific artwork beneath a floating, readable text layer. */
.agency-v2 #technology .agency-agent-section { margin-top:56px !important; padding-top:36px; border-top:1px solid #cdded6; }
.agency-v2 #technology .agency-agent-heading { display:flex; justify-content:space-between; gap:24px; align-items:baseline; text-align:left !important; margin-bottom:24px !important; }
.agency-v2 #technology .agency-agent-heading > div:first-child { color:var(--agency-tiffany) !important; font-size:24px !important; font-weight:550 !important; letter-spacing:-.035em; }
.agency-v2 #technology .agency-agent-heading > div:last-child { font-size:11px !important; color:var(--agency-muted) !important; letter-spacing:.04em; }
.agency-v2 #technology.has-agent-art .tech-agent-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; column-gap:16px !important; row-gap:24px !important; }
.agency-v2 #technology.has-agent-art .tech-agent-grid > .agency-agent-card { position:relative; isolation:isolate; display:flex !important; flex-direction:column; justify-content:flex-start; align-items:stretch; min-width:0; min-height:340px; margin:0 !important; padding:88px 22px 36px !important; background:transparent !important; border:0 !important; border-bottom:1px solid #d8e6e1 !important; border-radius:0 !important; text-align:left !important; box-shadow:none !important; transform:none !important; overflow:visible; }
.agency-v2 #technology .agency-agent-figure { position:absolute; z-index:0; inset:0; aspect-ratio:auto; margin:0; background:transparent; overflow:hidden; pointer-events:none; }
.agency-v2 #technology .agency-agent-figure::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg,#ffffffed 0%,#ffffffa8 45%,#ffffff24 100%); }
.agency-v2 #technology .agency-agent-figure .agent-card-art { display:block !important; position:absolute; inset:auto; left:-8%; top:0; grid-column:auto; grid-row:auto; width:135% !important; height:100% !important; max-width:none !important; max-height:none !important; aspect-ratio:auto; object-fit:contain !important; object-position:center; margin:0 !important; border-radius:0 !important; background:transparent !important; mix-blend-mode:multiply; opacity:.82; -webkit-mask:none; mask:none; transform:none !important; transition:none; }
.agency-v2 #technology :is(.agency-agent-title,.agency-agent-fullname,.agency-agent-description) { position:relative; z-index:1; text-shadow:0 2px 18px #fff,0 1px 4px #fff; }
.agency-v2 #technology .agency-agent-title { margin:0 0 10px; font-size:30px; color:var(--agency-tiffany); font-weight:650; line-height:1.3; letter-spacing:-.035em; }
.agency-v2 #technology .agency-agent-fullname { min-height:35px; margin:0 0 24px; font-size:11px; font-weight:500; line-height:1.55; color:var(--agency-muted); letter-spacing:.01em; overflow-wrap:anywhere; }
.agency-v2 #technology .agency-agent-description { margin:0; color:var(--agency-muted); font-size:14px; font-weight:500; line-height:1.9; }
@media(max-width:1100px) {
 .agency-v2 #technology.has-agent-art .tech-agent-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; column-gap:24px !important; }
 .agency-v2 #technology.has-agent-art .tech-agent-grid > .agency-agent-card { min-height:300px; padding:76px 28px 32px !important; }
 .agency-v2 #technology .agency-agent-fullname { min-height:0; }
}
@media(max-width:600px) {
 .agency-v2 #technology .agency-agent-section { margin-top:36px !important; padding-top:26px; }
 .agency-v2 #technology .agency-agent-heading { display:block; margin-bottom:18px !important; }
 .agency-v2 #technology .agency-agent-heading > div:first-child { font-size:22px !important; }
 .agency-v2 #technology .agency-agent-heading > div:last-child { margin-top:8px !important; font-size:10px !important; }
 .agency-v2 #technology.has-agent-art .tech-agent-grid { column-gap:12px !important; row-gap:12px !important; }
 .agency-v2 #technology.has-agent-art .tech-agent-grid > .agency-agent-card { min-height:272px; padding:70px 10px 30px !important; }
 .agency-v2 #technology .agency-agent-figure .agent-card-art { width:160% !important; left:-25%; opacity:.72; }
 .agency-v2 #technology .agency-agent-title { font-size:21px; }
 .agency-v2 #technology .agency-agent-fullname { min-height:44px; font-size:10px; margin-bottom:18px; line-height:1.45; }
 .agency-v2 #technology .agency-agent-description { font-size:12px; line-height:1.8; }
}

/* Closing chapter — the hero's white field and quiet, complete brand mark. */
.agency-v2 body.product-home #contact { background:#fff !important; color:var(--agency-ink); border-top:1px solid #d8e3df; padding-block:88px !important; overflow:hidden; }
.agency-v2 body.product-home #contact > .container { position:relative; z-index:2; }
.agency-v2 body.product-home #contact > .container > .reveal { max-width:66%; }
.agency-v2 body.product-home #contact .contact-title { font-size:clamp(46px,4.8vw,70px) !important; font-weight:600 !important; line-height:1.18 !important; letter-spacing:-.05em; color:var(--agency-tiffany); margin:0 0 30px; }
.agency-v2 body.product-home #contact .contact-title .accent-text { display:inline; color:var(--agency-ink); background:linear-gradient(transparent 81%,#ffd932 81%,#ffd932 96%,transparent 96%); -webkit-box-decoration-break:clone; box-decoration-break:clone; padding-bottom:3px; }
.agency-v2 body.product-home #contact .contact-sub { max-width:58ch; font-size:16px; line-height:1.9; color:var(--agency-muted); margin:0; }
.agency-v2 body.product-home #contact > .container > .reveal + .reveal { margin-top:32px !important; gap:16px !important; }
.agency-v2 body.product-home #contact::before { content:none; display:none; }
.agency-v2 body.product-home #contact::after { content:""; display:block; position:absolute; z-index:1; width:clamp(220px,26vw,370px); height:auto; aspect-ratio:550/580; top:50%; right:max(64px,calc((100vw - 1280px)/2)); bottom:auto; left:auto; transform:translateY(-50%); background:url('../assets/genoptima-mark-mono.png') center/contain no-repeat; opacity:.14; -webkit-mask:none; mask:none; pointer-events:none; }
.agency-v2 body.product-home #contact :is(.btn-accent,.contact-consult,button) { min-height:58px; border-radius:8px !important; font-size:15px; font-weight:650; padding:14px 22px !important; }
.agency-v2 body.product-home #contact .btn-accent { background:#ffd932 !important; color:var(--agency-ink) !important; border:1px solid #ffd932 !important; box-shadow:none !important; gap:24px; }
.agency-v2 body.product-home #contact .btn-accent .arrow { background:#173e32; color:#ffd932; border-radius:50%; width:28px; height:28px; display:inline-grid; place-items:center; transition:transform .2s; }
.agency-v2 body.product-home #contact .btn-accent:hover { background:#ffe257 !important; border-color:#ffe257 !important; transform:translateY(-2px); }
.agency-v2 body.product-home #contact .btn-accent:hover .arrow { transform:rotate(-35deg); }
.agency-v2 body.product-home #contact :is(.contact-consult,button:not(.btn-accent)) { background:#fff !important; color:var(--agency-tiffany) !important; border:1px solid #84c8b7 !important; box-shadow:none; }
.agency-v2 body.product-home #contact :is(.contact-consult,button:not(.btn-accent)):hover { background:#e4fff5 !important; border-color:#5FBFBB !important; }
.agency-v2 body.product-home .site-footer { background:#fff !important; color:var(--agency-muted); border-top:1px solid #bdeee0; padding-block:56px 24px; }
.agency-v2 body.product-home .site-footer > .container { max-width:1408px; padding-inline:64px; }
.agency-v2 body.product-home .site-footer .footer-top { grid-template-columns:1.05fr .8fr 1.4fr; gap:56px; }
.agency-v2 body.product-home .site-footer .footer-logo { filter:none !important; opacity:1; height:46px; width:auto; max-width:190px; padding:0; background:transparent; margin-bottom:24px; }
.agency-v2 body.product-home .site-footer .footer-desc { color:var(--agency-muted); font-size:13px; line-height:1.9; }
.agency-v2 body.product-home .site-footer :is(.footer-col h5,.footer-social-group h6) { color:var(--agency-tiffany) !important; font-size:13px; font-weight:650; }
.agency-v2 body.product-home .site-footer .footer-social-group h6 { font-size:11px; }
.agency-v2 body.product-home .site-footer .footer-col > a { display:block; width:fit-content; min-height:32px; margin-bottom:4px; color:var(--agency-muted); font-size:13px; }
.agency-v2 body.product-home .site-footer .footer-col > a:hover { color:var(--agency-tiffany); text-decoration:underline; text-underline-offset:4px; }
.agency-v2 body.product-home .site-footer .footer-col > p { color:var(--agency-muted) !important; font-size:12px !important; line-height:1.85; white-space:normal; }
.agency-v2 body.product-home .site-footer .social-links { gap:10px; }
.agency-v2 body.product-home .site-footer .social-link { width:34px; height:34px; background:transparent; border:0; border-radius:50%; box-shadow:none; color:var(--agency-ink); }
.agency-v2 body.product-home .site-footer .social-link:hover { background:#dcfff3; transform:translateY(-2px); }
.agency-v2 body.product-home .site-footer .social-link img { filter:none !important; opacity:1; }
.agency-v2 body.product-home .footer-office-entry summary { min-height:44px; padding:9px 4px; color:var(--agency-muted); border-color:#d3eadf; }
.agency-v2 body.product-home .footer-office-entry summary:hover { color:var(--agency-tiffany); background:#f0fff8; }
.agency-v2 body.product-home .footer-office-entry[open] summary { color:var(--agency-muted); background:#fff5ad; }
.agency-v2 body.product-home .footer-office-entry summary:focus-visible { outline:2px solid #008e83; }
.agency-v2 body.product-home .site-footer .footer-office-panel { color:var(--agency-ink); background:#fff; border:1px solid #bde5d2; border-radius:10px; box-shadow:0 16px 40px #28694d1f; }
.agency-v2 body.product-home .site-footer .footer-office-panel :is(p,strong) { color:var(--agency-muted) !important; }
.agency-v2 body.product-home .site-footer .footer-office-panel a { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home .site-footer .footer-office-hint { color:var(--agency-muted) !important; }
.agency-v2 body.product-home .site-footer .footer-divider { border-color:#dcece3; background:#dcece3; margin-block:34px 20px; }
.agency-v2 body.product-home .site-footer .footer-bottom { color:var(--agency-muted); }
.agency-v2 body.product-home .site-footer .footer-bottom a { color:var(--agency-tiffany); }
.agency-v2 body.product-home .site-footer .footer-bottom div { color:var(--agency-muted); }
.agency-v2 body.product-home .site-footer .footer-icp a { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home .site-footer .footer-icp a:hover { opacity:1; color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home #contact .global-retained-offer { max-width:60%; margin:26px 0 0; text-align:left; color:var(--agency-muted); }
@media(max-width:1100px) {
 .agency-v2 body.product-home #contact { padding-block:68px !important; }
 .agency-v2 body.product-home #contact .contact-title { font-size:52px !important; }
 .agency-v2 body.product-home #contact > .container > .reveal { max-width:70%; }
 .agency-v2 body.product-home #contact::after { width:24%; right:40px; opacity:.11; }
 .agency-v2 body.product-home .site-footer > .container { padding-inline:40px; }
 .agency-v2 body.product-home .site-footer .footer-top { gap:34px; }
}
@media(max-width:768px) {
 .agency-v2 body.product-home #contact { padding-block:48px !important; }
 .agency-v2 body.product-home #contact > .container > .reveal { max-width:100%; }
 .agency-v2 body.product-home #contact .contact-title { font-size:clamp(36px,6.3vw,48px) !important; max-width:95%; margin-bottom:24px; }
 .agency-v2 body.product-home #contact .contact-sub { font-size:14px; line-height:1.9; max-width:55ch; }
 .agency-v2 body.product-home #contact .global-retained-offer { max-width:100%; font-size:12px; }
 .agency-v2 body.product-home #contact::after { width:168px; right:24px; top:auto; bottom:28px; transform:none; opacity:.055; }
 .agency-v2 body.product-home #contact :is(.btn-accent,.contact-consult,button) { min-height:54px; padding:12px 18px !important; font-size:13px; }
 .agency-v2 body.product-home #contact > .container > .reveal + .reveal { gap:12px !important; margin-top:28px !important; }
 .agency-v2 body.product-home .site-footer { padding-block:40px 24px; }
 .agency-v2 body.product-home .site-footer > .container { padding-inline:24px; }
 .agency-v2 body.product-home .site-footer .footer-top { grid-template-columns:1fr; gap:34px; }
 .agency-v2 body.product-home .site-footer .footer-logo { height:42px; }
 .agency-v2 body.product-home .site-footer .footer-col > a { min-height:38px; }
}
@media(prefers-reduced-motion:reduce) {
 .agency-v2 body.product-home #contact .btn-accent:hover,.agency-v2 body.product-home #contact .btn-accent:hover .arrow,.agency-v2 body.product-home .site-footer .social-link:hover { transform:none; }
}

/* One brand green for text; reading copy uses neutral ink. Homepage scope only. */
html.agency-v2, .agency-v2 body.product-home {
 --agency-brand:#5FBFBB;
 --agency-tiffany:var(--agency-brand);
 --p-tiffany:var(--agency-brand);
 --accent:var(--agency-brand);
 --agency-ink:#242A2E;
 --agency-muted:#5B6268;
 --p-ink:var(--agency-ink);
 --p-ink-2:#42494E;
 --p-muted:var(--agency-muted);
}
.agency-v2 body.product-home :is(.section-subtitle,.stat-source-note,.tier-description,.case-copy > p:not(.case-category),.case-outcome p,.case-metric span,.case-evidence-pair span,.gem-definition p,.gem-service-copy p,.gem-sample figcaption,.gem-platform-note,.gem-flow,.geo-card p,.tech-cap-grid p,.service-card p,.vision-card p,.vision-en,.vision-core,.strategy-card p,.about-stat .label,.about-tag,.quote-hint,.quote-mini-excerpt,.quote-dock-label,.office-row-title,.office-chip,.office-static-list,.viewer-toolbar,.evidence-viewer) { color:var(--agency-muted) !important; }
.agency-v2 body.product-home :is(.section-label,.agency-label,.agency-practice-abbr,.material-label,.case-category,.case-metric strong,.case-outcome strong,.service-num,.tier-audience,.tier-name span,.product-scene-label strong,.gem-definition strong,.gem-service-copy h3,.about-stat .num,.about-content h3 .accent-text,.quote-total strong,.quote-mini-number,.stat-suffix,.vision-card.next-gen) { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home :is(.tier-name,.product-scene-label,.quote-total,.viewer-toolbar button,.hero-actions .btn-outline,.quote-browser .quote-arrow,.quote-deck .tm-quote) { color:var(--agency-ink) !important; }
.agency-v2 body.product-home #gem .section-title { color:var(--agency-ink) !important; }
.agency-v2 body.product-home #gem .gem-flow a { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home .home-language-switch a { color:var(--agency-muted) !important; }
.agency-v2 body.product-home :is(.homepage-global-link,.home-language-switch a[aria-current="true"],.home-language-switch a:hover) { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home :is(.nav-links a,.nav-links a.is-active,.agency-nav-directory summary) { color:var(--agency-ink) !important; }
.agency-v2 body.product-home :is(.nav-links a:hover,.nav-links a.active,.agency-nav-directory summary:hover) { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home .experience-tabs button { color:var(--agency-muted) !important; }
.agency-v2 body.product-home .experience-tabs button:hover:not([aria-selected="true"]) { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home .experience-tabs button[aria-selected="true"] { color:var(--agency-ink) !important; }
.agency-v2 body.product-home .quote-deck :is(.tm-tag,.tm-platform) { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home .quote-deck .is-current :is(.tm-tag,.tm-platform) { color:var(--agency-ink) !important; }
.agency-v2 body.product-home .quote-dock-item[aria-current="true"] .quote-dock-label { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home .quote-deck :is(.testimonial-card,.tm-quote)::before,
.agency-v2 body.product-home .quote-deck .tm-quote::after { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home :is(.btn-accent,.brand-test-cta) { color:var(--agency-ink) !important; }
.agency-v2 body.product-home .hero-actions .btn-accent :is(.arrow,.cta-arrow) { color:var(--agency-ink) !important; }
.agency-v2 body.product-home #global .office-name { fill:var(--agency-ink) !important; }
.agency-v2 body.product-home #insight .reveal > span[style*="#089e9a"] { color:var(--agency-tiffany) !important; }

.agency-v2 body.product-home #insight .container > .reveal[style*="max-width"] { color:var(--agency-muted) !important; }
.agency-v2 body.product-home #insight .container > .reveal[style*="max-width"] strong { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home .lead-modal-close { color:var(--agency-muted) !important; }
.agency-v2 body.product-home #qr-modal .hl { color:var(--agency-tiffany) !important; }

.agency-v2 body.product-home #gem { color:var(--agency-ink) !important; }
.agency-v2 body.product-home :is(.strategy-num,.hl) { color:var(--agency-tiffany) !important; }
.agency-v2 body.product-home #qr-close { color:var(--agency-muted) !important; }
.agency-v2 body.product-home #lead-modal .ff-btn-submit { color:var(--agency-ink) !important; }

/* Confirmed GEM/GEO block treatment · Chinese and English homepages. */
.agency-v2 body.product-home #practice .agency-practice-row[href="#geo"] :is(.agency-practice-abbr,h3,p,.agency-circle-arrow) { color:#4B5356 !important; }
.agency-v2 body.product-home #practice .agency-practice-row[href="#geo"] .agency-circle-arrow { border-color:#4B5356 !important; }
.agency-v2 body.product-home #practice .agency-practice-row[href="#gem"] :is(.agency-practice-abbr,h3,p,.agency-circle-arrow) { color:#FFFFFF !important; }
.agency-v2 body.product-home #practice .agency-practice-row[href="#gem"] .agency-circle-arrow { border-color:#FFFFFFB8 !important; }
/* Hover foreground for both cards: ink on the white disc (GEM's white rest ink would be invisible there). */
html:not(.practice-white).agency-v2 body.product-home #practice .agency-practice-row:hover .agency-circle-arrow { color:#4B5356 !important; border-color:#4B5356 !important; }

/* ----------------------------------------------------------------------------
   中文站交付说明：本文件相对原始包共三处功能性改动（回滚点分别在下方注明）
   前三处都是为了「让页面在超高/超宽窗口下仍保持设计稿构图」。
   [1] 首屏高度上限
       改动点：L189 的 .agency-hero min-height（桌面）、L200（矮窗口）。
       原值：min-height:calc(100vh - 88px) / calc(100svh - 88px)（完全跟随视口）。
       原因：原包首屏随视口高度无限拉伸。1963x1680 窗口下首屏被拉到 1592px，
            文字底到导览行出现 942px 空白（设计稿同位置约 231px）。
       改后：min(…, 860px)，即首屏最多约「文字块 + 392px」，与设计稿比例一致；
            桌面 860px、矮窗口 760px。视口高度 ≤948px 时 min() 取视口值，
            行为与原包完全一致（设计稿视口 1450x944 实测仍为 856px，未受影响）。
       回滚：去掉 min() 与上限值，恢复 calc(100vh - 88px) / calc(100svh - 88px)。
   [2] 首屏背景 G 与文字块对齐
       改动点：L195（桌面）与 L199（矮窗口）的 .agency-hero-art 定位，
              偏移量由 --hero-art-top 在 L189 / L198 给出。
       原值：top:50%; transform:translateY(-50%)（锚在首屏垂直中心）。
       原因：窗口一高，文字块贴在顶部而 G 留在中腰，两者完全分离
            （1963x1680 实测中心偏差 445px、重叠 0px）。
       改后：G 锚定在文字块上，偏移取自设计稿构图（非垂直居中，非线性居中）。
       回滚：把两处 top 改回 50% 并恢复 transform:translateY(-50%)。
   [3] 导航栏与正文对齐
       改动点：L15 的 .nav-inner（max-width / padding-inline），
              L208、L246 的断点内边距。
       原值：.nav-inner { max-width:1536px; padding-inline:40px }，
            断点为 28px / 20px；正文为 1408px/64px。
       原因：两套容器左右边缘在任何宽度下都不重合，宽窗口偏差最大 88px。
       改后：默认 1408px / 64px，≤1200px 为 40px，≤700px 为 24px。
       回滚：把上述三行的数值改回原值即可。
   -------------------------------------------------------------------------- */


/* ============================================================================
   备用字体度量对齐（2026-09-12 追加，可整块删除以回退）
   背景：实测"设计字体 ↔ 系统备用字体"切换会使文字在固定高度的行框内上下移动
        1–2px（盒高不变，故不产生布局偏移记录）。在字体尚未就绪的极短窗口内
        可能出现该位移。
   做法：为本地系统字体声明"度量对齐"的 @font-face（size-adjust / ascent-override /
        descent-override 由浏览器实测得出），并把它插到字体栈中设计字体之后。
        这样即便发生替换，备用字体的度量与设计字体一致 → 文字不移动。
   数值来源：canvas measureText 实测（100px/weight 600，中英混排样本）
        Noto Sans SC ↔ 微软雅黑：size-adjust 96.79%、ascent 116%、descent 29%
        Manrope     ↔ Arial   ：size-adjust 99.11%、ascent 107%、descent 30%
   ========================================================================== */
@font-face {
  font-family: "Noto Sans SC Fallback";
  src: local("Microsoft YaHei"), local("微软雅黑"), local("Noto Sans SC"), local("sans-serif");
  size-adjust: 96.79%;
  ascent-override: 116%;
  descent-override: 29%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Manrope Fallback";
  src: local("Arial"), local("Helvetica"), local("sans-serif");
  size-adjust: 99.11%;
  ascent-override: 107%;
  descent-override: 30%;
  line-gap-override: 0%;
}
:root {
  --p-font-display: "Manrope", "Manrope Fallback", "Noto Sans SC", "Noto Sans SC Fallback", "PingFang SC", sans-serif;
  --p-font-body: "Noto Sans SC", "Noto Sans SC Fallback", "Manrope", "Manrope Fallback", "PingFang SC", sans-serif;
  --font-sans: "Inter", "Manrope Fallback", "Noto Sans SC", "Noto Sans SC Fallback", "PingFang SC", sans-serif;
}
