:root {
  --ink: #122039;
  --ink-soft: #4b5b70;
  --navy: #10233f;
  --navy-2: #18375d;
  --gold: #b78b4a;
  --gold-light: #e7d4b4;
  --paper: #f7f4ee;
  --white: #ffffff;
  --line: rgba(16, 35, 63, 0.14);
  --shadow: 0 24px 60px rgba(16, 35, 63, 0.12);
  --radius: 22px;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { max-width: 100%; scroll-behavior: smooth; overflow-x: hidden; }
body { max-width: 100%; margin: 0; color: var(--ink); background: var(--white); font-family: Inter, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif; line-height: 1.65; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #d6a556; outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 10px 16px; background: var(--navy); color: white; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; z-index: 50; top: 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; min-height: 78px; padding: 10px max(24px, calc((100vw - var(--max)) / 2)); background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.brand { width: 154px; height: 58px; display: grid; place-items: center start; overflow: visible; text-decoration: none; }
.brand img { width: 146px; max-width: 100%; height: auto; max-height: 58px; object-fit: contain; object-position: left center; }
.site-header nav { display: flex; justify-content: flex-end; align-items: center; gap: clamp(13px, 1.8vw, 24px); }
.site-header nav a { text-decoration: none; font-size: .9rem; font-weight: 650; letter-spacing: .02em; }
.site-header nav a:hover { color: #8d672f; }
.nav-cta { padding: 10px 16px; color: white !important; background: var(--navy); border-radius: 999px; }
.language-switch { display: flex; align-items: center; gap: 7px; color: #778398; white-space: nowrap; }
.language-switch button { padding: 5px 3px; color: #6b7788; background: transparent; border: 0; cursor: pointer; font-size: .82rem; }
.language-switch button[aria-pressed="true"] { color: var(--navy); font-weight: 800; }
.menu-toggle { display: none; width: 42px; height: 42px; background: transparent; border: 0; }
.menu-toggle > span:not(.sr-only) { display: block; width: 22px; height: 2px; margin: 6px auto; background: var(--navy); transition: transform .2s ease; }

.section { max-width: var(--max); margin: 0 auto; padding: 112px 34px; }
.eyebrow { margin: 0 0 16px; color: #9a7037; font-size: .72rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow.light { color: var(--gold-light); }
h1, h2, h3, p { max-width: 100%; overflow-wrap: anywhere; word-break: normal; }
h1, h2, h3 { margin-top: 0; font-family: Georgia, "Noto Serif SC", "Songti SC", serif; line-height: 1.15; }
h1 { margin-bottom: 28px; font-size: clamp(3rem, 5.6vw, 5.4rem); font-weight: 500; letter-spacing: -.045em; }
h1 span { color: #a87839; }
h2 { margin-bottom: 22px; font-size: clamp(2.15rem, 3.8vw, 3.65rem); font-weight: 500; letter-spacing: -.035em; }
h3 { margin-bottom: 12px; font-size: 1.45rem; font-weight: 600; }
.section-intro { display: grid; grid-template-columns: 1.25fr .75fr; column-gap: 70px; align-items: end; margin-bottom: 52px; }
.section-intro .eyebrow { grid-column: 1 / -1; }
.section-intro h2, .section-intro p { margin-bottom: 0; }
.section-intro > p:last-child { color: var(--ink-soft); }
.section-intro.compact { display: block; max-width: 780px; }

.hero { min-width: 0; display: grid; grid-template-columns: minmax(0, .84fr) minmax(480px, 1.16fr); min-height: calc(100vh - 78px); background: linear-gradient(110deg, #f8f5ef 0%, #fff 53%, #eef1f4 100%); }
.hero-copy { min-width: 0; align-self: center; padding: 90px 44px 90px max(34px, calc((100vw - var(--max)) / 2)); }
.hero-lead { max-width: 690px; margin: 0 0 34px; color: #3f5169; font-size: clamp(1.05rem, 1.6vw, 1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin: 32px 0 24px; }
.hero-note { max-width: 620px; margin: 0; color: #6a7687; font-size: .84rem; }
.hero-visual { min-width: 0; position: relative; min-height: 580px; margin: 0; overflow: hidden; background: #dce2e6; }
.hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.24), transparent 28%), linear-gradient(0deg, rgba(9,29,51,.35), transparent 38%); pointer-events: none; }
.hero-visual img { width: 100%; height: 100%; object-fit: cover; }
.hero-visual figcaption { position: absolute; z-index: 1; right: 24px; bottom: 20px; left: 24px; color: rgba(255,255,255,.9); font-size: .72rem; letter-spacing: .04em; text-align: right; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border: 0; border-radius: 999px; text-decoration: none; font-weight: 760; cursor: pointer; }
.button-primary { color: white; background: var(--navy); box-shadow: 0 12px 28px rgba(16,35,63,.16); }
.button-primary:hover { background: var(--navy-2); transform: translateY(-1px); }
.button-secondary { color: var(--navy); background: white; border: 1px solid var(--line); }
.button-light { color: var(--navy); background: white; }
.text-link { color: var(--navy); font-weight: 800; text-decoration: none; border-bottom: 1px solid rgba(16,35,63,.28); }

.proof-strip { display: grid; grid-template-columns: repeat(3, 1fr); max-width: var(--max); margin: -38px auto 0; position: relative; z-index: 3; background: var(--navy); color: white; box-shadow: var(--shadow); }
.proof-strip div { display: grid; justify-items: center; gap: 5px; padding: 28px 20px; border-right: 1px solid rgba(255,255,255,.18); }
.proof-strip div:last-child { border-right: 0; }
.proof-strip strong { font-family: Georgia, "Noto Serif SC", serif; font-size: clamp(1.55rem, 2.4vw, 2.25rem); color: #ecd4a9; font-weight: 500; }
.proof-strip span { color: #dce3ed; font-size: .86rem; }

.services { padding-top: 130px; }
.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.service-card { min-height: 300px; display: grid; grid-template-rows: auto 1fr auto; gap: 25px; padding: 34px; background: #f7f5f0; border: 1px solid transparent; border-radius: var(--radius); transition: transform .25s ease, box-shadow .25s ease; }
.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.service-number { color: #9f753c; font-size: .72rem; font-weight: 850; letter-spacing: .14em; }
.service-card p { margin-bottom: 0; color: var(--ink-soft); }
.service-card a { align-self: end; width: max-content; font-weight: 850; text-decoration: none; border-bottom: 1px solid currentColor; }
.service-card-pr { grid-column: 1 / -1; min-height: 370px; padding: clamp(38px, 5vw, 68px); color: white; background: linear-gradient(120deg, #0f2543 0%, #193f68 75%, #b48a4c 160%); position: relative; overflow: hidden; }
.service-card-pr::after { content: "PR"; position: absolute; right: 5%; bottom: -23%; color: rgba(255,255,255,.055); font-family: Georgia, serif; font-size: min(28vw, 320px); line-height: 1; }
.service-card-pr > * { position: relative; z-index: 1; }
.service-card-pr h3 { max-width: 750px; font-size: clamp(2.5rem, 5vw, 4.5rem); }
.service-card-pr p { max-width: 720px; color: #e1e8f1; font-size: 1.08rem; }
.service-card-pr a, .service-card-pr .service-number, .card-kicker { color: #ecd3aa; }
.card-kicker { font-size: .77rem !important; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }

.journeys { padding: 120px 0; overflow: hidden; background: #0b1930; color: white; }
.journeys-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, .6fr); gap: 46px 82px; max-width: var(--max); margin: 0 auto 52px; padding: 0 34px; align-items: end; }
.journeys-intro .eyebrow { grid-column: 1 / -1; margin-bottom: -30px; color: #dcc08e; }
.journeys-intro h2 { margin: 0; color: #fff; }
.journeys-intro > p:last-child { margin: 0; color: #c9d3df; }
.journey-marquee { overflow: hidden; width: 100%; }
.journey-track { display: flex; width: max-content; gap: 18px; padding: 0 18px; animation: journey-scroll 48s linear infinite; }
.journey-track:hover { animation-play-state: paused; }
.journey-track figure { width: clamp(290px, 28vw, 460px); position: relative; flex: 0 0 auto; margin: 0; overflow: hidden; border-radius: 16px; background: #182b48; transform: translateZ(0); transition: transform .35s ease, box-shadow .35s ease; }
.journey-track figure:hover { z-index: 2; transform: scale(1.035); box-shadow: 0 28px 64px rgba(0,0,0,.4); }
.journey-track img { width: 100%; aspect-ratio: 1.42; object-fit: cover; }
.journey-track figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 42px 20px 18px; color: white; background: linear-gradient(transparent, rgba(6,16,30,.82)); font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
@keyframes journey-scroll { to { transform: translateX(calc(-50% - 9px)); } }

.pr-plans { padding-top: 130px; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.pricing-card { display: flex; flex-direction: column; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 14px 34px rgba(16,35,63,.05); }
.pricing-card.is-featured { color: white; background: linear-gradient(145deg, #10233f, #1d4976); border-color: transparent; box-shadow: 0 28px 64px rgba(16,35,63,.24); }
.plan-kicker { margin: 0 0 20px; color: #a27a41; font-size: .68rem; font-weight: 850; letter-spacing: .13em; }
.is-featured .plan-kicker, .is-featured .pricing-card p { color: #ead6ae; }
.pricing-card h3 { font-size: 1.8rem; }
.pricing-card > p:not(.plan-kicker):not(.price):not(.not-included) { color: var(--ink-soft); }
.is-featured > p:not(.plan-kicker):not(.price):not(.not-included) { color: #dbe7f4; }
.price { margin: 4px 0 20px; color: var(--navy); font-family: Georgia, serif; font-size: 2.5rem; line-height: 1; }
.is-featured .price { color: white; }
.price small { font-family: Inter, "Noto Sans SC", sans-serif; font-size: .84rem; }
.pricing-card ul { min-height: 124px; padding: 0; margin: 4px 0 18px; list-style: none; }
.pricing-card li { position: relative; padding: 7px 0 7px 24px; font-size: .9rem; }
.pricing-card li::before { content: "✓"; position: absolute; left: 0; color: #a27a41; font-weight: 900; }
.is-featured li::before { color: #ecd3aa; }
.not-included { margin: 0 0 20px; color: #8b5e5e; font-size: .82rem; }
.is-featured .not-included { color: #e5c6c6; }
.type-selector { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 8px 0 18px; }
.type-selector button { padding: 9px 4px; color: var(--ink); background: #f5f4f1; border: 1px solid #e2dfd8; border-radius: 9px; cursor: pointer; font-size: .75rem; font-weight: 800; line-height: 1.35; }
.type-selector button span { color: #8e6936; }
.type-selector button.is-selected { color: white; background: var(--navy); border-color: var(--navy); }
.type-selector button.is-selected span { color: #ecd3aa; }
.plan-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: auto; }
.pricing-card .button { min-height: 40px; padding: 9px 13px; font-size: .82rem; }
.is-featured .button-secondary { color: white; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.35); }
.is-featured .text-button { color: #e8cf9d; }
.plan-details { display: grid; gap: 8px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); animation: details-in .28s ease both; }
.is-featured .plan-details { border-color: rgba(255,255,255,.2); }
.plan-details div { display: grid; gap: 3px; }
.plan-details strong { font-size: .82rem; }
.plan-details span { color: var(--ink-soft); font-size: .82rem; }
.is-featured .plan-details span { color: #dce7f3; }
@keyframes details-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

.why { max-width: none; padding-right: max(34px, calc((100vw - var(--max)) / 2)); padding-left: max(34px, calc((100vw - var(--max)) / 2)); background: var(--paper); }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.value-grid article { padding: 36px 34px 12px 0; }
.value-grid article + article { padding-left: 34px; border-left: 1px solid var(--line); }
.value-grid span { display: block; margin-bottom: 42px; color: #a27a41; font-family: Georgia, serif; }
.value-grid p { margin: 0; color: var(--ink-soft); }

.location { display: grid; grid-template-columns: 1.06fr .94fr; align-items: stretch; gap: 0; }
.map-card { margin: 0; min-height: 480px; position: relative; overflow: hidden; background: #eceff2; }
.map-card img { width: 100%; height: 100%; object-fit: cover; }
.map-card iframe { display: block; width: 100%; height: 100%; min-height: inherit; border: 0; filter: saturate(.78) contrast(1.05); }
.map-card figcaption { position: absolute; left: 18px; bottom: 16px; padding: 7px 11px; color: #4d5c6f; background: rgba(255,255,255,.93); font-size: .68rem; }
.location-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 6vw, 86px); color: white; background: var(--navy); }
.location-copy .eyebrow { color: #d6b681; }
.location-copy address { margin: 0 0 22px; font-family: Georgia, serif; font-size: 1.5rem; font-style: normal; line-height: 1.5; }
.location-copy p { color: #dce4ed; }
.location-copy .button { align-self: flex-start; margin-top: 12px; }
.credentials { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 60px; padding-top: 64px; padding-bottom: 64px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
#credentials { scroll-margin-top: 78px; }
.credentials h2 { margin-bottom: 0; font-size: clamp(2rem, 3vw, 3rem); }
.credentials-copy > p { margin: 10px 0 28px; color: var(--ink-soft); }
.credential-demos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.credential-demo { min-height: 250px; display: flex; flex-direction: column; padding: 26px; background: #f7f4ee; border: 1px solid #d8c5a7; border-radius: 14px; }
.credential-demo.credential-real { background: linear-gradient(145deg, #fbf9f4, #efe8d9); }
.credential-demo::before { content: ""; width: 44px; height: 3px; margin-bottom: 22px; background: var(--gold); }
.credential-demo h3 { margin-bottom: 24px; font-size: 1.25rem; }
.demo-label { margin-bottom: 10px; color: #8b6633; font-size: .65rem; font-weight: 850; letter-spacing: .16em; }
.demo-warning { margin: auto 0 20px; padding: 13px 0; color: #7a2727; border-top: 1px solid rgba(122,39,39,.2); border-bottom: 1px solid rgba(122,39,39,.2); }
.demo-warning strong, .demo-warning span, .demo-pending span { display: block; }
.demo-warning strong { font-size: .75rem; letter-spacing: .06em; }
.demo-warning span { font-weight: 850; }
.demo-pending { margin: 0; color: #687486; font-size: .72rem; }
.credential-real p { margin: 0 0 16px; }
.credential-open { align-self: flex-start; margin-top: auto; padding: 10px 0; color: var(--navy); background: transparent; border: 0; border-bottom: 1px solid currentColor; cursor: pointer; font-weight: 800; }

.consult { max-width: none; display: grid; grid-template-columns: .86fr 1.14fr; gap: 80px; padding-right: max(34px, calc((100vw - var(--max)) / 2)); padding-left: max(34px, calc((100vw - var(--max)) / 2)); color: white; background: linear-gradient(130deg, #10233f, #17395f); }
.consult-copy p { max-width: 560px; color: #d6e0ec; }
.consult-form { padding: clamp(28px, 4vw, 50px); color: var(--ink); background: white; border-radius: var(--radius); box-shadow: 0 30px 70px rgba(0,0,0,.18); }
.consult-form label:not(.consent) { display: block; margin-bottom: 22px; font-weight: 760; }
.consult-form label span { display: block; margin-bottom: 8px; }
.consult-form select, .consult-form textarea { width: 100%; padding: 13px 14px; color: var(--ink); background: #fbfbfa; border: 1px solid #cbd3dd; border-radius: 9px; }
.consult-form input { width: 100%; padding: 13px 14px; color: var(--ink); background: #fbfbfa; border: 1px solid #cbd3dd; border-radius: 9px; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-row label { min-width: 0; }
.consult-form textarea { resize: vertical; }
.consent { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 22px; color: #4a596d; font-size: .88rem; }
.consent input { margin-top: 5px; }
.form-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.text-button { padding: 8px; color: #6d7785; background: transparent; border: 0; text-decoration: underline; cursor: pointer; }
.form-status { min-height: 28px; margin: 18px 0 0; font-size: .9rem; font-weight: 760; }
.form-status[data-state="success"] { color: #1d7447; }
.form-status[data-state="error"] { color: #b13d3d; }

.site-footer { display: grid; grid-template-columns: auto 1fr; gap: 12px 30px; align-items: center; padding: 44px max(24px, calc((100vw - var(--max)) / 2)); color: #c7d0dc; background: #0a172a; font-size: .8rem; }
.footer-brand { grid-row: span 3; filter: grayscale(1) brightness(3); }
.site-footer p { margin: 0; }
.footer-note { max-width: 850px; color: #8797ac; }

.floating-contact { position: fixed; z-index: 40; right: 22px; bottom: 22px; display: grid; gap: 10px; }
.floating-contact a, .floating-contact button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 10px 15px; color: white; border: 0; border-radius: 999px; box-shadow: 0 15px 34px rgba(0,0,0,.2); font-weight: 800; font-size: .82rem; text-decoration: none; cursor: pointer; }
.whatsapp-float { background: #25d366; }
.wechat-float { background: var(--navy); }
.contact-icon { font-size: 1rem; line-height: 1; letter-spacing: -.28em; }
.contact-modal, .credential-modal { width: min(92vw, 460px); max-height: min(88vh, 780px); padding: 38px; color: var(--ink); border: 0; border-radius: 20px; box-shadow: 0 30px 100px rgba(0,0,0,.38); }
.credential-modal { width: min(94vw, 890px); }
.contact-modal::backdrop, .credential-modal::backdrop { background: rgba(7,17,32,.72); backdrop-filter: blur(7px); }
.modal-close { position: absolute; top: 16px; right: 18px; width: 36px; height: 36px; color: var(--navy); background: #f1eee7; border: 0; border-radius: 50%; cursor: pointer; font-size: 1.45rem; line-height: 1; }
.qr-pending { display: grid; place-items: center; min-height: 230px; padding: 26px; color: #5c6b7d; background: repeating-linear-gradient(45deg, #f7f4ee, #f7f4ee 10px, #ede8dd 10px, #ede8dd 20px); border: 1px dashed #af9568; border-radius: 14px; text-align: center; }
.credential-modal img { width: 100%; max-height: 72vh; margin-top: 20px; object-fit: contain; }

/* service detail pages */
.service-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: center; min-height: 640px; padding: 100px max(34px, calc((100vw - var(--max)) / 2)); color: white; background: radial-gradient(circle at 85% 15%, rgba(193,150,83,.32), transparent 28%), linear-gradient(130deg, #0e203a, #183b63); }
.service-hero h1 { max-width: 900px; }
.service-intro { max-width: 760px; color: #dbe4ee; font-size: 1.15rem; }
.service-hero .text-link { color: #ecd7b3; border-color: rgba(236,215,179,.4); }
.service-boundary { padding: 30px; color: #e4ebf4; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius); }
.service-boundary strong { display: block; margin-bottom: 10px; color: #efd4a5; }
.detail-section { max-width: var(--max); margin: 0 auto; padding: 100px 34px; }
.detail-section.tinted { max-width: none; padding-right: max(34px, calc((100vw - var(--max)) / 2)); padding-left: max(34px, calc((100vw - var(--max)) / 2)); background: var(--paper); }
.detail-heading { max-width: 760px; margin-bottom: 44px; }
.detail-heading h2 { margin-bottom: 0; }
.feature-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.feature-item { padding: 30px; border: 1px solid var(--line); border-radius: 16px; }
.feature-item p { margin: 0; color: var(--ink-soft); }
.audience-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 34px; padding: 0; margin: 0; list-style: none; }
.audience-list li, .materials-list li { position: relative; padding: 14px 0 14px 30px; border-bottom: 1px solid var(--line); }
.audience-list li::before, .materials-list li::before { content: "✓"; position: absolute; left: 0; color: #a77837; font-weight: 900; }
.process-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 0; margin: 0; list-style: none; counter-reset: process; }
.process-list li { counter-increment: process; min-height: 220px; padding: 30px; background: var(--navy); color: white; border-radius: 16px; }
.process-list li::before { content: "0" counter(process); display: block; margin-bottom: 44px; color: #e7c995; font-family: Georgia, serif; }
.process-list p { margin-bottom: 0; color: #dbe3ed; font-size: .92rem; }
.split-detail { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: start; }
.materials-list { padding: 0; margin: 0; list-style: none; columns: 2; column-gap: 34px; }
.materials-list li { break-inside: avoid; }
.detail-note { padding: 32px; color: #e5ebf3; background: var(--navy); border-radius: 16px; }
.detail-note strong { display: block; color: #eccf9c; margin-bottom: 10px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 22px 0; cursor: pointer; font-weight: 850; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; float: right; color: #9f7438; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 880px; margin: 0 0 24px; color: var(--ink-soft); }
.detail-cta { padding: 92px max(34px, calc((100vw - 900px)) / 2); text-align: center; color: white; background: linear-gradient(115deg, #9a713c, #c39a5c); }
.detail-cta p { max-width: 720px; margin: 0 auto 26px; }

.error-page { min-height: 100vh; display: grid; place-items: center; padding: 28px; text-align: center; background: var(--paper); }
.error-page main { max-width: 720px; }
.error-page .brand { margin: 0 auto 46px; }
.error-page h1 { font-size: clamp(2.6rem, 7vw, 5rem); }
.error-page .language-switch { justify-content: center; margin-top: 34px; }
noscript { display: block; padding: 30px; color: white; background: #8f3030; text-align: center; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: auto 1fr auto auto; }
  .menu-toggle { display: block; grid-column: 3; }
  .language-switch { grid-column: 4; }
  .site-header nav { position: fixed; inset: 78px 0 auto; display: none; padding: 30px; flex-direction: column; align-items: stretch; background: white; border-bottom: 1px solid var(--line); box-shadow: 0 20px 40px rgba(16,35,63,.12); }
  .site-header nav.is-open { display: flex; }
  .site-header nav a { padding: 10px 0; }
  .nav-cta { padding: 12px 18px !important; text-align: center; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding: 90px 34px 70px; }
  .hero-visual { min-height: 520px; }
  .proof-strip { margin-top: 0; }
  .section-intro { grid-template-columns: 1fr; gap: 14px; align-items: start; }
  .value-grid { grid-template-columns: 1fr; }
  .value-grid article, .value-grid article + article { padding: 28px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .value-grid span { margin-bottom: 18px; }
  .location, .consult, .service-hero, .split-detail, .journeys-intro { grid-template-columns: 1fr; }
  .credentials { grid-template-columns: 1fr; gap: 10px; }
  .pricing-grid { grid-template-columns: 1fr; max-width: 660px; }
  .service-hero { gap: 36px; min-height: auto; }
  .process-list { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .site-header { grid-template-columns: auto 1fr auto; min-width: 0; min-height: 70px; padding: 7px 16px; gap: 9px; }
  #credentials { scroll-margin-top: 70px; }
  .site-header nav { top: 70px; }
  .brand { width: 116px; height: 54px; }
  .brand img { width: 112px; height: auto; max-height: 54px; }
  .site-header > .language-switch { position: absolute; top: 17px; right: 62px; gap: 3px; }
  .language-switch button { font-size: .76rem; }
  .menu-toggle { grid-column: 3; width: 38px; }
  .section, .detail-section { padding: 78px 22px; }
  h1 { font-size: clamp(2.55rem, 13vw, 4rem); }
  h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .hero-copy { width: 100%; min-width: 0; padding: 70px 22px 58px; }
  .hero-copy > * { max-width: 100%; }
  .hero-copy p { word-break: break-word; }
  .hero-visual { min-height: 400px; }
  .hero-visual img { object-position: 65% center; }
  .proof-strip { grid-template-columns: 1fr; }
  .proof-strip div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .proof-strip div:last-child { border-bottom: 0; }
  .service-grid, .feature-list, .audience-list, .process-list { grid-template-columns: 1fr; }
  .credential-demos { grid-template-columns: 1fr; }
  .service-card-pr { min-height: 440px; }
  .service-card { padding: 28px; }
  .location { padding-right: 0; padding-left: 0; }
  .location-copy { padding: 50px 24px; }
  .map-card { min-height: 360px; }
  .consult { gap: 40px; padding: 78px 22px; }
  .consult-form { padding: 24px 18px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .journeys { padding: 78px 0; }
  .journeys-intro { gap: 18px; margin-bottom: 34px; padding: 0 22px; }
  .journeys-intro .eyebrow { margin-bottom: 0; }
  .journey-track { gap: 12px; padding: 0 12px; animation-duration: 34s; }
  .journey-track figure { width: min(76vw, 330px); }
  .floating-contact { right: 14px; bottom: 14px; gap: 8px; }
  .floating-contact a, .floating-contact button { min-height: 40px; padding: 9px 12px; font-size: .76rem; }
  .contact-modal, .credential-modal { padding: 30px 20px 24px; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-brand { grid-row: auto; }
  .service-hero { padding: 78px 22px; }
  .materials-list { columns: 1; }
  .detail-cta { padding: 72px 22px; }
}

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


/* V5.1: typographic brand lock-up. It deliberately avoids shrinking the supplied square logo into a header. */
.site-header { gap: clamp(14px, 1.8vw, 28px); }
.site-header .brand { position: relative; width: 218px; height: 50px; align-items: center; padding-left: 56px; }
.site-header .brand img { display: none; }
.site-header .brand::before { content: "CG"; position: absolute; left: 0; top: 4px; display: grid; place-items: center; width: 43px; height: 43px; color: #fff; background: radial-gradient(circle at 68% 24%, #63c7ed 0 7%, #145eb8 25%, #082850 72%); border: 1px solid rgba(5,35,76,.16); border-radius: 50%; box-shadow: inset 0 0 0 5px rgba(255,255,255,.1), 0 8px 22px rgba(15,50,96,.18); font-family: Georgia, serif; font-size: .84rem; font-weight: 700; letter-spacing: -.12em; }
.site-header .brand::after { content: "CG IMMIGRATION\A 升越移民 · SINGAPORE"; white-space: pre; color: var(--navy); font-family: Arial, "Noto Sans SC", sans-serif; font-size: .89rem; font-weight: 850; letter-spacing: .055em; line-height: 1.55; }
.site-header nav { gap: clamp(9px, 1.05vw, 17px); }
.site-header nav a { font-size: .82rem; white-space: nowrap; }
.nav-login { padding: 9px 5px; color: var(--navy) !important; font-weight: 850 !important; }
.nav-login::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 7px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(-45deg) translateY(-1px); }

.updates { padding-bottom: 92px; }
.updates-intro { align-items: end; }
.update-refresh { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: #0f5d71; font-size: .8rem; font-weight: 750; }
.update-refresh::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #16a477; box-shadow: 0 0 0 5px rgba(22,164,119,.12); animation: heartbeat 2.2s ease-in-out infinite; }
.updates-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.update-card { position: relative; min-height: 280px; display: flex; flex-direction: column; padding: 28px; overflow: hidden; color: #edf5ff; background: linear-gradient(150deg, #112b4b, #153e63); border: 1px solid rgba(150,202,231,.18); border-radius: 18px; box-shadow: 0 16px 36px rgba(13,41,68,.12); transition: transform .32s ease, box-shadow .32s ease; }
.update-card::before { content: ""; position: absolute; inset: auto -24% -66% auto; width: 220px; aspect-ratio: 1; border: 1px solid rgba(115,208,240,.22); border-radius: 50%; box-shadow: 0 0 0 28px rgba(115,208,240,.045), 0 0 0 65px rgba(115,208,240,.025); }
.update-card:hover { transform: translateY(-7px); box-shadow: 0 24px 46px rgba(13,41,68,.2); }
.update-card > * { position: relative; z-index: 1; }
.update-meta { margin-bottom: 24px; color: #86d2ec; font-size: .68rem; font-weight: 800; letter-spacing: .13em; }
.update-card h3 { font-size: 1.38rem; }
.update-card p:not(.update-meta) { color: #c8dae9; font-size: .9rem; line-height: 1.75; }
.update-card a { margin-top: auto; padding-top: 20px; color: #fff; font-size: .82rem; font-weight: 800; text-decoration: none; }
.updates-footnote { max-width: 800px; margin: 22px 0 0; color: #79889c; font-size: .73rem; line-height: 1.65; }

.ecosystem { position: relative; isolation: isolate; min-height: 920px; display: grid; place-items: center; overflow: hidden; color: #fff; background: #071b35; }
.ecosystem::before { content: ""; position: absolute; z-index: -3; inset: 0; background: radial-gradient(circle at 14% 22%, rgba(42,150,216,.35), transparent 26%), radial-gradient(circle at 82% 80%, rgba(184,133,55,.3), transparent 24%), linear-gradient(137deg, #07162d, #0c2b52 58%, #06182f); }
.ecosystem-grid-lines { position: absolute; z-index: -2; inset: -30%; background-image: linear-gradient(rgba(123,203,237,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(123,203,237,.065) 1px, transparent 1px); background-size: 50px 50px; transform: rotate(-10deg); animation: gridDrift 18s linear infinite; }
.ecosystem-glow { position: absolute; z-index: -1; width: 42vw; min-width: 420px; aspect-ratio: 1; border-radius: 50%; filter: blur(12px); opacity: .55; animation: glowFloat 13s ease-in-out infinite alternate; }
.ecosystem-glow-one { top: -20%; left: -8%; background: radial-gradient(circle, rgba(71,207,249,.28), transparent 66%); }
.ecosystem-glow-two { right: -10%; bottom: -18%; background: radial-gradient(circle, rgba(237,174,80,.26), transparent 64%); animation-delay: -6s; }
.ecosystem-inner { width: min(1160px, calc(100% - 44px)); padding: 110px 0 96px; text-align: center; }
.ecosystem h2 { max-width: 790px; margin: 0 auto 20px; font-size: clamp(2.4rem, 5vw, 4.65rem); }
.ecosystem-lead { max-width: 720px; margin: 0 auto; color: #d2e6f5; line-height: 1.8; }
.ecosystem-orbit { position: relative; width: min(820px, 100%); aspect-ratio: 1.35; margin: 58px auto 26px; }
.ecosystem-orbit::before, .ecosystem-orbit::after { content: ""; position: absolute; top: 50%; left: 50%; border: 1px solid rgba(138,218,242,.24); border-radius: 50%; transform: translate(-50%, -50%); }
.ecosystem-orbit::before { width: 54%; aspect-ratio: 1; box-shadow: 0 0 42px rgba(80,192,235,.09); }
.ecosystem-orbit::after { width: 88%; aspect-ratio: 1; border-style: dashed; animation: orbitSpin 36s linear infinite; }
.ecosystem-orbit article { position: absolute; z-index: 1; width: 136px; display: grid; justify-items: center; gap: 8px; color: #eaf7ff; font-size: .8rem; letter-spacing: .03em; animation: nodeFloat 4.6s ease-in-out infinite; }
.ecosystem-orbit article:nth-of-type(1) { top: 1%; left: 15%; animation-delay: -.2s; }.ecosystem-orbit article:nth-of-type(2) { top: 0; right: 15%; animation-delay: -1.1s; }.ecosystem-orbit article:nth-of-type(3) { top: 28%; right: 1%; animation-delay: -2.1s; }.ecosystem-orbit article:nth-of-type(4) { bottom: 6%; right: 14%; animation-delay: -3.2s; }.ecosystem-orbit article:nth-of-type(5) { bottom: 4%; left: 14%; animation-delay: -1.8s; }.ecosystem-orbit article:nth-of-type(6) { top: 28%; left: 1%; animation-delay: -2.8s; }.ecosystem-orbit article:nth-of-type(7) { top: 17%; left: 31%; animation-delay: -1.5s; }.ecosystem-orbit article:nth-of-type(8) { top: 17%; right: 31%; animation-delay: -3.8s; }
.eco-icon { width: 54px; height: 54px; display: grid; place-items: center; color: #b8efff; background: linear-gradient(145deg, rgba(103,208,241,.32), rgba(26,85,137,.5)); border: 1px solid rgba(174,238,255,.5); border-radius: 17px; box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 14px 25px rgba(0,0,0,.18); font-family: Georgia, serif; font-size: 1.65rem; }
.ecosystem-core { position: absolute; top: 50%; left: 50%; z-index: 2; width: 178px; height: 178px; display: grid; align-content: center; place-items: center; gap: 4px; background: radial-gradient(circle at 68% 22%, #1c75c8, #0a2d58 62%, #061b38); border: 1px solid rgba(178,237,255,.65); border-radius: 50%; box-shadow: inset 0 0 0 11px rgba(255,255,255,.05), 0 0 0 15px rgba(104,212,244,.06), 0 0 70px rgba(61,184,238,.3); transform: translate(-50%, -50%); animation: corePulse 4.5s ease-in-out infinite; }
.ecosystem-core span { font-family: Georgia, serif; font-size: 2.75rem; font-weight: 700; letter-spacing: -.16em; }.ecosystem-core strong { font-size: .65rem; letter-spacing: .15em; }.ecosystem-core small { color: #b6dff0; font-size: .68rem; }
.ecosystem-note { max-width: 740px; margin: 0 auto; color: #a7c8dc; font-size: .74rem; line-height: 1.7; }

.social-section { padding-top: 92px; }
.social-qr-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; max-width: 830px; }
.social-qr-card { position: relative; min-height: 168px; display: flex; align-items: center; gap: 24px; padding: 20px; color: var(--ink); overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 18px; text-decoration: none; box-shadow: 0 10px 28px rgba(10,40,75,.07); transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.social-qr-card:hover { transform: translateY(-6px); border-color: #87c6df; box-shadow: 0 20px 38px rgba(10,40,75,.13); }.social-qr-card::after { content: ""; position: absolute; inset: auto -45px -70px auto; width: 150px; aspect-ratio: 1; background: radial-gradient(circle, rgba(88,203,226,.2), transparent 65%); pointer-events: none; transition: transform .4s ease; }.social-qr-card:hover::after { transform: scale(1.45); }
.qr-image { flex: 0 0 124px; width: 124px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; background: #f6fafc; border-radius: 12px; }.qr-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }.social-qr-card:hover .qr-image img { transform: scale(1.08); }
.qr-placeholder { position: relative; color: #ee4255; background: linear-gradient(135deg, #fff3f4, #ffe4e8); border: 1px dashed #f1acb4; }.qr-placeholder i { position: absolute; top: 19px; left: 20px; font-style: normal; font-size: 1rem; font-weight: 900; letter-spacing: .08em; }.qr-placeholder em { color: #cc7783; font-size: 2rem; font-style: normal; font-weight: 850; letter-spacing: .12em; }
.social-copy { display: grid; gap: 8px; }.social-copy b { font-size: 1.15rem; }.social-copy small { color: #708096; line-height: 1.5; }.social-arrow { position: absolute; top: 21px; right: 22px; color: #246d93; font-size: 1.1rem; }
.modal-qr { width: min(290px, 100%); display: block; margin: 20px auto; border-radius: 12px; }

.phone-field { display: flex; align-items: center; overflow: hidden; border: 1px solid #bdc8d5; border-radius: 8px; }.phone-field:focus-within { border-color: #245d92; outline: 3px solid rgba(36,93,146,.15); }.phone-field span { padding: 13px 12px; color: #275078; background: #edf3f8; border-right: 1px solid #bdc8d5; font-weight: 800; }.phone-field input { min-width: 0; border: 0 !important; border-radius: 0 !important; outline: 0 !important; box-shadow: none !important; }

.bottom-reveal { position: fixed; z-index: 35; right: 22px; bottom: 18px; width: min(470px, calc(100vw - 44px)); display: flex; align-items: center; gap: 13px; padding: 12px 14px; color: #f5fbff; visibility: hidden; background: rgba(6,29,57,.94); border: 1px solid rgba(146,218,242,.28); border-radius: 18px; box-shadow: 0 18px 50px rgba(0,0,0,.24); backdrop-filter: blur(18px); opacity: 0; transform: translateY(120%); transition: opacity .45s ease, transform .55s cubic-bezier(.2,.9,.22,1), visibility .45s; }.bottom-reveal.is-visible { visibility: visible; opacity: 1; transform: translateY(0); }.bottom-reveal-mark { width: 39px; height: 39px; display: grid; flex: 0 0 auto; place-items: center; color: white; background: linear-gradient(135deg, #1d78c9, #0b315f); border-radius: 50%; font-family: Georgia, serif; font-size: .78rem; font-weight: 700; letter-spacing: -.1em; }.bottom-reveal span:not(.bottom-reveal-mark) { display: grid; gap: 2px; margin-right: auto; }.bottom-reveal b { font-size: .74rem; letter-spacing: .11em; }.bottom-reveal small { color: #b8d6e5; font-size: .68rem; }.bottom-reveal a { padding: 9px 10px; color: #102d4f; background: #d9f4fb; border-radius: 99px; font-size: .75rem; font-weight: 800; text-decoration: none; white-space: nowrap; }

@keyframes heartbeat { 50% { transform: scale(1.35); opacity: .55; } } @keyframes gridDrift { to { transform: rotate(-10deg) translate(50px, 50px); } } @keyframes glowFloat { to { transform: translate(7%, 10%) scale(1.16); } } @keyframes orbitSpin { to { transform: translate(-50%, -50%) rotate(360deg); } } @keyframes nodeFloat { 50% { transform: translateY(-10px); } } @keyframes corePulse { 50% { box-shadow: inset 0 0 0 11px rgba(255,255,255,.06), 0 0 0 20px rgba(104,212,244,.08), 0 0 95px rgba(61,184,238,.38); } }

@media (max-width: 1170px) { .site-header .brand { width: 166px; padding-left: 48px; }.site-header .brand::before { width: 38px; height: 38px; }.site-header .brand::after { font-size: .7rem; }.site-header nav { gap: 10px; }.site-header nav a { font-size: .75rem; }.nav-cta { padding: 9px 11px; } }
@media (max-width: 900px) { .updates-grid { grid-template-columns: 1fr; }.update-card { min-height: 220px; }.ecosystem { min-height: auto; }.ecosystem-orbit { width: min(680px, 100%); }.social-qr-grid { max-width: none; } }
@media (max-width: 680px) { .site-header .brand { width: 180px; height: 45px; }.site-header .brand::before { top: 4px; width: 37px; height: 37px; }.site-header .brand::after { font-size: .73rem; }.site-header .menu-toggle { display: block !important; }.hero { overflow: hidden; }.hero-copy h1 { overflow-wrap: anywhere; word-break: break-all; font-size: clamp(2.4rem, 12vw, 3.25rem); }.updates { padding-top: 78px; padding-bottom: 72px; }.updates-grid { gap: 12px; }.update-card { min-height: 0; padding: 23px; }.ecosystem-inner { width: min(100% - 28px, 560px); padding: 80px 0 64px; }.ecosystem h2 { font-size: 2.35rem; }.ecosystem-orbit { width: 100%; aspect-ratio: .82; margin: 46px auto 22px; }.ecosystem-orbit::before { width: 54%; }.ecosystem-orbit::after { width: 80%; }.ecosystem-orbit article { width: 82px; gap: 5px; font-size: .63rem; line-height: 1.25; }.eco-icon { width: 39px; height: 39px; border-radius: 12px; font-size: 1.15rem; }.ecosystem-orbit article:nth-of-type(1) { top: 1%; left: 8%; }.ecosystem-orbit article:nth-of-type(2) { top: 1%; right: 8%; }.ecosystem-orbit article:nth-of-type(3) { top: 30%; right: -4%; }.ecosystem-orbit article:nth-of-type(4) { bottom: 4%; right: 7%; }.ecosystem-orbit article:nth-of-type(5) { bottom: 4%; left: 7%; }.ecosystem-orbit article:nth-of-type(6) { top: 30%; left: -4%; }.ecosystem-orbit article:nth-of-type(7) { top: 17%; left: 27%; }.ecosystem-orbit article:nth-of-type(8) { top: 17%; right: 27%; }.ecosystem-core { width: 126px; height: 126px; }.ecosystem-core span { font-size: 2rem; }.ecosystem-core strong { font-size: .48rem; }.ecosystem-core small { font-size: .58rem; }.social-section { padding-top: 72px; }.social-qr-grid { grid-template-columns: 1fr; }.social-qr-card { min-height: 138px; gap: 16px; }.qr-image { flex-basis: 96px; width: 96px; }.bottom-reveal { right: 14px; bottom: 14px; width: calc(100vw - 28px); }.bottom-reveal a { padding: 8px; font-size: .68rem; } }

/* V5.2 — restore the supplied company logo and replace the V5.1 pseudo-brand. */
.site-header { min-height: 88px; }
.site-header .brand { width: 328px; height: 76px; padding: 0; overflow: visible; }
.site-header .brand::before, .site-header .brand::after { content: none; }
.site-header .brand img { display: block; width: 328px; max-width: none; height: auto; max-height: none; object-fit: contain; }
.hero-rotator { position: relative; display: inline-grid; min-width: 7.8em; color: #a87839; vertical-align: bottom; }
.hero-copy h1 > span:first-child { color: var(--navy); }
.rotator-word { grid-area: 1 / 1; display: block; opacity: 0; transform: translateY(18%); transition: opacity .55s ease, transform .55s cubic-bezier(.2,.75,.2,1); }
.rotator-word.is-active { opacity: 1; transform: translateY(0); }

.updates { max-width: none; padding: 118px max(34px, calc((100vw - var(--max)) / 2)); background: linear-gradient(135deg, #fbfaf7, #f4f8fc 58%, #fbf8f4); }
.updates-heading { max-width: var(--max); display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: end; margin: 0 auto 30px; }.updates-heading p { margin: 0; color: #52627a; line-height: 1.85; }
.updates-filter { max-width: var(--max); display: flex; flex-wrap: wrap; gap: 8px; margin: 0 auto 24px; }.updates-filter button { padding: 9px 15px; color: #476078; background: rgba(255,255,255,.72); border: 1px solid #d9e0ea; border-radius: 99px; font-size: .78rem; font-weight: 750; cursor: pointer; transition: background .25s ease, color .25s ease, border-color .25s ease; }.updates-filter button.is-active, .updates-filter button:hover { color: #fff; background: #16375f; border-color: #16375f; }
.updates-layout { max-width: var(--max); display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(330px, .96fr); gap: 18px; margin: 0 auto; }.updates-feature { position: relative; min-height: 390px; display: flex; flex-direction: column; padding: clamp(32px,4vw,54px); overflow: hidden; color: #eff7ff; background: linear-gradient(145deg, #0b2749, #204f7c); border-radius: 20px; box-shadow: 0 22px 50px rgba(21,55,91,.2); }.updates-feature::after { content: ""; position: absolute; width: 390px; aspect-ratio: 1; right: -145px; bottom: -240px; border: 1px solid rgba(169,231,255,.26); border-radius: 50%; box-shadow: 0 0 0 38px rgba(169,231,255,.055), 0 0 0 90px rgba(169,231,255,.03); animation: subtleOrbit 16s linear infinite; }.updates-feature > * { position: relative; z-index: 1; }.updates-feature .update-meta { color: #b3ddf6; }.updates-feature h3 { max-width: 650px; margin: 14px 0 18px; font-size: clamp(1.8rem, 3vw, 3rem); }.updates-feature p:not(.update-meta) { max-width: 620px; color: #d4e6f3; line-height: 1.8; }.updates-feature a { width: fit-content; margin-top: auto; padding-top: 24px; color: #fff; font-size: .84rem; font-weight: 800; text-decoration: none; }.feature-label { width: fit-content; padding: 6px 10px; color: #082448; background: #d7f0fb; border-radius: 99px; font-size: .68rem; font-weight: 850; letter-spacing: .08em; }
.updates-timeline { display: grid; align-content: start; gap: 0; padding: 10px 0; }.timeline-item { position: relative; display: grid; grid-template-columns: 90px 1fr; column-gap: 16px; padding: 16px 20px 16px 0; border-bottom: 1px solid #dce5ed; transition: transform .25s ease; }.timeline-item::before { content: ""; position: absolute; top: 29px; left: 0; width: 8px; height: 8px; background: #b78748; border: 4px solid #f3f7fb; border-radius: 50%; box-shadow: 0 0 0 1px #bbcad8; }.timeline-item:hover { transform: translateX(5px); }.timeline-item .update-meta { grid-column: 1; margin: 1px 0 0 18px; color: #7d8ca0; font-size: .67rem; font-weight: 800; letter-spacing: .07em; }.timeline-item h3, .timeline-item > p, .timeline-item a { grid-column: 2; }.timeline-item h3 { margin: 0 0 7px; color: #142e50; font-family: Arial, "Noto Sans SC", sans-serif; font-size: .99rem; line-height: 1.45; }.timeline-item > p { margin: 0; color: #64748a; font-size: .8rem; line-height: 1.6; }.timeline-item a { margin-top: 7px; color: #2c668d; font-size: .74rem; font-weight: 800; text-decoration: none; }
.updates-archive { max-width: var(--max); margin: 18px auto 0; border-top: 1px solid #d8e0e8; border-bottom: 1px solid #d8e0e8; }.updates-archive summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; color: #173555; cursor: pointer; font-weight: 800; list-style: none; }.updates-archive summary::-webkit-details-marker { display: none; }.updates-archive summary small { color: #718197; font-size: .76rem; font-weight: 600; }.updates-archive summary::after { content: "+"; font-size: 1.35rem; }.updates-archive[open] summary::after { content: "−"; }.archive-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 26px; padding: 0 0 16px; }.archive-list .timeline-item { grid-template-columns: 1fr; padding-left: 16px; }.archive-list .timeline-item::before { left: 0; }.archive-list .timeline-item .update-meta, .archive-list .timeline-item h3, .archive-list .timeline-item > p, .archive-list .timeline-item a { grid-column: 1; }.archive-list .timeline-item .update-meta { margin-left: 0; }.updates-footnote { max-width: var(--max); margin: 20px auto 0; }

.ecosystem { min-height: 0; color: #182a50; background: linear-gradient(135deg, #faf9ff 0%, #eef5ff 52%, #faf4ff 100%); }.ecosystem::before { background: none; }.ecosystem-grid-lines, .ecosystem-glow { display: none; }.ecosystem-blob { position: absolute; z-index: -1; width: 45vw; max-width: 660px; min-width: 350px; aspect-ratio: 1; border-radius: 50%; filter: blur(18px); opacity: .32; animation: v52Blob 24s ease-in-out infinite alternate; animation-play-state: paused; }.ecosystem.is-active .ecosystem-blob { animation-play-state: running; }.ecosystem-blob-one { top: -25%; left: -12%; background: radial-gradient(circle, #95b9ff, transparent 68%); }.ecosystem-blob-two { right: -14%; bottom: -30%; background: radial-gradient(circle, #d5b6fb, transparent 68%); animation-delay: -12s; }.ecosystem-inner { width: min(1180px, calc(100% - 44px)); padding: 108px 0 82px; }.ecosystem h2 { max-width: 760px; color: #15284d; font-size: clamp(2.35rem, 4.5vw, 4.1rem); }.ecosystem-lead { color: #526787; }.ecosystem-grid { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 14px; margin: 56px auto 28px; }.ecosystem-grid article { min-height: 132px; display: grid; align-content: center; justify-items: center; gap: 11px; padding: 18px 10px; color: #233a60; background: rgba(255,255,255,.68); border: 1px solid rgba(117,141,190,.2); border-radius: 18px; box-shadow: 0 16px 34px rgba(70,86,143,.08); backdrop-filter: blur(10px); transition: transform .3s ease, box-shadow .3s ease; animation: ecoLift 6s ease-in-out infinite; animation-play-state: paused; }.ecosystem.is-active .ecosystem-grid article { animation-play-state: running; }.ecosystem-grid article:hover { transform: translateY(-7px); box-shadow: 0 22px 38px rgba(70,86,143,.16); }.ecosystem-grid article:nth-child(2n) { animation-delay: -2s; }.ecosystem-grid article:nth-child(3n) { animation-delay: -4s; }.ecosystem-grid article b { font-size: .88rem; }.ecosystem-grid .eco-icon { width: 47px; height: 47px; color: #276da5; background: #e2f0fb; border: 0; border-radius: 15px; box-shadow: none; font-size: 1.4rem; }.eco-medical .eco-icon { color: #ad536d; background:#feeaf0; }.eco-education .eco-icon { color:#6c5bbb; background:#efeafe; }.eco-business .eco-icon { color:#347e84; background:#e3f7f4; }.eco-finance .eco-icon { color:#9b6a28; background:#fff4dd; }.eco-project .eco-icon { color:#4b6ac4; background:#e9eeff; }.eco-office .eco-icon { color:#8c597b; background:#f8eaf4; }.eco-vcc .eco-icon { color:#3672a0; background:#e6f3fc; }.eco-trust .eco-icon { color:#6f7560; background:#eff2e8; }.eco-legacy .eco-icon { color:#af6d52; background:#ffede5; }.ecosystem-core { grid-column: 3; grid-row: 2; min-height: 132px; display: grid; place-items: center; padding: 16px; background: rgba(255,255,255,.86); border: 1px solid rgba(112,139,192,.25); border-radius: 18px; box-shadow: 0 18px 40px rgba(77,93,158,.13); }.ecosystem-core img { width: min(100%, 170px); height: auto; }.ecosystem-note { color: #6c7d99; }

.consult { position: relative; overflow: hidden; isolation: isolate; background: #0c2448 url("assets/visuals/contact-singapore-v52.png") center / cover no-repeat; }.consult::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(100deg, rgba(8,28,56,.94), rgba(10,40,76,.8) 54%, rgba(9,31,61,.48)); }.consult::after { content: ""; position: absolute; z-index: -1; inset: -20%; background: repeating-radial-gradient(circle at 12% 58%, transparent 0 48px, rgba(127,211,244,.12) 49px 50px, transparent 51px 84px); opacity: .42; animation: dataFlow 25s linear infinite; }.consult-copy, .consult-form { position: relative; z-index: 1; }.consult-copy h2 { max-width: 640px; }.consult-form { backdrop-filter: blur(16px); }.site-footer { display: flex; flex-direction: column; gap: 13px; padding: 54px 24px; text-align: center; }.footer-brand { display: block; width: min(420px, 92vw); height: auto; grid-row: auto; padding: 9px 26px; background: #fff; border-radius: 12px; filter: none; }.footer-brand img { display: block; width: 100%; height: auto; }.bottom-reveal { left: 50%; right: auto; width: min(640px, calc(100vw - 44px)); justify-content: center; padding: 10px 14px; transform: translate(-50%, 130%); }.bottom-reveal.is-visible { transform: translate(-50%, 0); }.bottom-reveal img { width: min(330px, 58vw); height: auto; padding: 4px 11px; background: #fff; border-radius: 9px; }.bottom-reveal a { margin-left: 8px; }
@keyframes subtleOrbit { to { transform: rotate(360deg); } } @keyframes v52Blob { to { transform: translate(11%, 8%) scale(1.13); } } @keyframes ecoLift { 50% { transform: translateY(-4px); } } @keyframes dataFlow { to { transform: translateX(80px); } }
@media (max-width: 1180px) { .site-header { grid-template-columns: auto 1fr auto auto; }.site-header .brand { width: 260px; height: 66px; }.site-header .brand img { width: 260px; }.menu-toggle { display: block; grid-column: 3; }.site-header > .language-switch { grid-column: 4; }.site-header nav { position: fixed; inset: 88px 0 auto; display: none; padding: 28px max(24px, calc((100vw - 920px)/2)); flex-direction: column; align-items: stretch; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--line); box-shadow: 0 20px 40px rgba(16,35,63,.12); }.site-header nav.is-open { display: flex; }.site-header nav a { padding: 10px 0; font-size: .94rem; }.updates-heading { grid-template-columns: 1fr; gap: 12px; }.ecosystem-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }.ecosystem-core { grid-column: 2; grid-row: 2; } }
@media (max-width: 680px) { .site-header { min-height: 72px; }.site-header .brand { width: 232px; height: 58px; }.site-header .brand img { width: 232px; }.site-header nav { top:72px; }.site-header > .language-switch { top: 18px; right: 64px; }.updates { padding: 78px 22px; }.updates-layout { grid-template-columns: 1fr; }.updates-feature { min-height: 330px; }.updates-timeline { padding-top: 0; }.timeline-item { grid-template-columns: 1fr; padding-left: 18px; }.timeline-item .update-meta, .timeline-item h3, .timeline-item > p, .timeline-item a { grid-column: 1; }.timeline-item .update-meta { margin-left: 0; }.timeline-item::before { left: 0; }.archive-list { grid-template-columns: 1fr; }.updates-archive summary { align-items: flex-start; }.updates-archive summary small { max-width: 55%; text-align: right; }.ecosystem-inner { padding: 78px 0 62px; }.ecosystem-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-top: 36px; }.ecosystem-grid article, .ecosystem-core { min-height: 105px; border-radius: 15px; }.ecosystem-core { grid-column: 1 / -1; grid-row: auto; order: -1; }.ecosystem-core img { width: 185px; }.ecosystem-grid .eco-icon { width: 39px; height: 39px; border-radius: 12px; font-size: 1.15rem; }.ecosystem-grid article b { font-size: .78rem; }.consult { padding-top: 86px; padding-bottom: 86px; }.bottom-reveal { width: calc(100vw - 28px); padding: 8px 10px; }.bottom-reveal img { width: min(270px, 60vw); }.bottom-reveal a { font-size: .66rem; } }

/* V5.3 — restrained motion, original logo retained, and a deliberate premium hierarchy. */
.site-header .brand { width: min(26vw, 328px); min-width: 180px; }
.site-header .brand img { width: 100%; }
.hero-copy .eyebrow { color: #476c9a; letter-spacing: .19em; }
.hero-rotator { min-width: 8.6em; height: 1.18em; overflow: hidden; color: #9d7139; }
.rotator-word { transform: translateY(120%); filter: blur(3px); }
.rotator-word.is-active { transform: translateY(0); filter: blur(0); }

.updates-timeline { height: 410px; overflow: hidden; mask-image: linear-gradient(to bottom, transparent, #000 7%, #000 89%, transparent); }
.updates-cadence { max-width: var(--max); display: flex; align-items: center; gap: 13px; margin: 0 auto 20px; color: #5e728c; font-size: .75rem; }.updates-cadence span { padding: 5px 8px; color: #27607f; background: #e8f4f9; border-radius: 99px; font-weight: 850; letter-spacing: .11em; }.updates-cadence b { font-weight: 650; }
.timeline-track { display: grid; animation: newsTicker 46s linear infinite; }
.updates-timeline:hover .timeline-track, .updates-timeline:focus-within .timeline-track { animation-play-state: paused; }
.timeline-track .timeline-item { background: linear-gradient(90deg, rgba(255,255,255,.88), rgba(255,255,255,.36)); }

.ecosystem-grid { display: block; height: 660px; margin-top: 48px; animation: ecosystemOrbit 58s linear infinite; animation-play-state: paused; }
.ecosystem.is-active .ecosystem-grid { animation-play-state: running; }
.ecosystem-grid article { position: absolute; width: 152px; min-height: 126px; margin: 0; padding: 16px 9px; background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(235,242,255,.62)); border: 1px solid rgba(109,136,202,.28); box-shadow: 0 24px 45px rgba(61,79,143,.14), inset 0 1px 0 rgba(255,255,255,.9); animation: ecosystemCounter 58s linear infinite; animation-play-state: paused; }
.ecosystem.is-active .ecosystem-grid article, .ecosystem.is-active .ecosystem-core { animation-play-state: running; }
.ecosystem-grid:hover, .ecosystem-grid:hover article, .ecosystem-grid:hover .ecosystem-core { animation-play-state: paused; }
.ecosystem-grid article:hover { transform: translateY(-8px) scale(1.03); }
.ecosystem-grid article:nth-child(1) { top: 0; left: calc(50% - 76px); }.ecosystem-grid article:nth-child(2) { top: 9%; right: 17%; }.ecosystem-grid article:nth-child(3) { top: 35%; right: 1%; }.ecosystem-grid article:nth-child(4) { bottom: 13%; right: 11%; }.ecosystem-grid article:nth-child(5) { bottom: 0; left: calc(50% - 76px); }.ecosystem-grid article:nth-child(6) { bottom: 13%; left: 11%; }.ecosystem-grid article:nth-child(7) { top: 35%; left: 1%; }.ecosystem-grid article:nth-child(8) { top: 9%; left: 17%; }.ecosystem-grid article:nth-child(9) { top: 19%; left: 3%; }
.ecosystem-grid .eco-icon { box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 9px 18px rgba(60,87,143,.13); }
.ecosystem-core { position: absolute; top: 50%; left: 50%; z-index: 2; width: 164px; min-height: 164px; padding: 0; overflow: hidden; transform: translate(-50%, -50%); border-radius: 50%; box-shadow: 0 24px 58px rgba(57,74,142,.24), inset 0 0 0 9px rgba(255,255,255,.78); animation: ecosystemCoreCounter 58s linear infinite; animation-play-state: paused; }
.ecosystem-core img { width: 205px; max-width: none; transform: translateY(-17px); }

.brand-finale { position: relative; display: grid; place-content: center; min-height: min(48vw, 540px); overflow: hidden; color: #f4f7ff; text-align: center; background: radial-gradient(circle at 50% 43%, #23497a 0, #102d56 30%, #06172e 77%); isolation: isolate; }
.brand-finale::before { content: "CG"; position: absolute; z-index: -1; top: 50%; left: 50%; color: rgba(175,210,255,.055); font: 900 clamp(18rem, 48vw, 52rem)/.65 Arial, sans-serif; letter-spacing: -.13em; transform: translate(-55%,-45%); }
.brand-finale::after { content: ""; position: absolute; inset: 18% -10%; z-index: -1; border-top: 1px solid rgba(200,225,255,.16); border-bottom: 1px solid rgba(200,225,255,.1); transform: rotate(-8deg); animation: finaleGlow 10s ease-in-out infinite alternate; }
.brand-finale p { margin: 0; font: 800 clamp(2.3rem, 7.5vw, 7.7rem)/.88 Arial, sans-serif; letter-spacing: .13em; text-indent: .13em; }.brand-finale span { margin-top: 20px; color: #b9d1ec; font-size: clamp(.72rem, 1.5vw, 1rem); font-weight: 700; letter-spacing: .35em; }

@keyframes newsTicker { to { transform: translateY(-50%); } } @keyframes ecosystemOrbit { to { transform: rotate(360deg); } } @keyframes ecosystemCounter { to { transform: rotate(-360deg); } } @keyframes ecosystemCoreCounter { from { transform: translate(-50%, -50%) rotate(0); } to { transform: translate(-50%, -50%) rotate(-360deg); } } @keyframes finaleGlow { to { transform: rotate(-8deg) translateX(5%); opacity: .55; } }
@media (max-width: 680px) { .site-header .brand { width: min(52vw, 210px); min-width: 0; height: auto; }.site-header .brand img { width: 100%; }.hero-copy h1 { max-width: 100%; font-size: 2.05rem; letter-spacing: -.055em; white-space: normal; }.hero-rotator { min-width: 7.5em; }.updates-cadence { align-items: flex-start; flex-direction: column; gap: 7px; }.updates-timeline { height: 360px; }.ecosystem-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); height: auto; animation: none; }.ecosystem-grid article { position: static; width: auto; min-height: 110px; animation: none; }.ecosystem-core { position: static; width: auto; min-height: 120px; grid-column: 1 / -1; grid-row: auto; transform: none; border-radius: 20px; animation: none; }.ecosystem-core img { width: 180px; transform: translateY(-14px); }.brand-finale { min-height: 310px; }.brand-finale p { letter-spacing: .08em; text-indent: .08em; }.brand-finale span { letter-spacing: .22em; } }
@media (prefers-reduced-motion: reduce) { .timeline-track, .ecosystem-grid, .ecosystem-grid article, .ecosystem-core, .brand-finale::after { animation: none !important; } }

/* V5.4 — original CG mark, two-row ecosystem, and a quieter footer. */
.site-header .brand { width: 64px; min-width: 64px; height: 64px; padding: 0; background: transparent; border: 0; border-radius: 0; }
.site-header .brand img { width: 64px; height: 64px; object-fit: contain; }

.ecosystem-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); height: auto; gap: 15px; animation: none; perspective: 1200px; }
.ecosystem-grid::before { content: ""; position: absolute; z-index: -1; inset: 30% 8%; border: 1px solid rgba(93,121,191,.14); border-radius: 50%; transform: rotate(-8deg); animation: ecosystemField 30s linear infinite; }
.ecosystem-grid article { position: static; width: auto; min-height: 128px; transform-style: preserve-3d; animation: ecosystemCardTurn 11s ease-in-out infinite; }
.ecosystem-grid article:nth-child(1) { grid-column: 1; grid-row: 1; animation-delay: -1s; }.ecosystem-grid article:nth-child(2) { grid-column: 2; grid-row: 1; animation-delay: -2.1s; }.ecosystem-grid article:nth-child(3) { grid-column: 3; grid-row: 1; animation-delay: -3.2s; }.ecosystem-grid article:nth-child(4) { grid-column: 4; grid-row: 1; animation-delay: -4.3s; }.ecosystem-grid article:nth-child(5) { grid-column: 5; grid-row: 1; animation-delay: -5.4s; }.ecosystem-grid article:nth-child(6) { grid-column: 1; grid-row: 2; animation-delay: -6.5s; }.ecosystem-grid article:nth-child(7) { grid-column: 2; grid-row: 2; animation-delay: -7.6s; }.ecosystem-grid article:nth-child(8) { grid-column: 4; grid-row: 2; animation-delay: -8.7s; }.ecosystem-grid article:nth-child(9) { grid-column: 5; grid-row: 2; animation-delay: -9.8s; }
.ecosystem-core { position: static; grid-column: 3; grid-row: 2; width: auto; min-height: 128px; padding: 16px; transform: none; border-radius: 19px; animation: ecosystemCardTurn 11s ease-in-out infinite -5s; }.ecosystem-core img { width: 118px; max-width: 100%; transform: none; }

.site-footer { position: relative; min-height: 190px; justify-content: center; background: #0a1830; }.site-footer .footer-rule { width: min(180px, 42vw); height: 1px; margin: 0 auto 6px; background: linear-gradient(90deg, transparent, #8fb7dd, transparent); }.site-footer p:first-of-type { color: #dbeafd; letter-spacing: .08em; }.site-footer .footer-note { max-width: 620px; color: #8197b6; }

@keyframes ecosystemCardTurn { 0%,100% { transform: perspective(1000px) rotateY(-3deg) rotateX(1deg) translateY(0); } 50% { transform: perspective(1000px) rotateY(3deg) rotateX(-1deg) translateY(-7px); } } @keyframes ecosystemField { to { transform: rotate(352deg); } }
@media (max-width: 680px) { .site-header .brand { width: 52px; min-width: 52px; height: 52px; }.site-header .brand img { width: 52px; height: 52px; }.ecosystem-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }.ecosystem-grid::before { display: none; }.ecosystem-grid article { grid-column: auto !important; grid-row: auto !important; }.ecosystem-core { grid-column: 1 / -1; grid-row: auto; } }

/* The cards now travel to the adjacent card position: top row → right edge → lower row → left edge. */
.ecosystem-grid article { animation: none; transition: transform 3.4s cubic-bezier(.22,.72,.18,1), box-shadow .35s ease; will-change: transform; }
.ecosystem-grid article[data-eco-slot="0"] { grid-column: 1; grid-row: 1; }.ecosystem-grid article[data-eco-slot="1"] { grid-column: 2; grid-row: 1; }.ecosystem-grid article[data-eco-slot="2"] { grid-column: 3; grid-row: 1; }.ecosystem-grid article[data-eco-slot="3"] { grid-column: 4; grid-row: 1; }.ecosystem-grid article[data-eco-slot="4"] { grid-column: 5; grid-row: 1; }.ecosystem-grid article[data-eco-slot="5"] { grid-column: 5; grid-row: 2; }.ecosystem-grid article[data-eco-slot="6"] { grid-column: 4; grid-row: 2; }.ecosystem-grid article[data-eco-slot="7"] { grid-column: 2; grid-row: 2; }.ecosystem-grid article[data-eco-slot="8"] { grid-column: 1; grid-row: 2; }
.ecosystem-grid article:hover { transform: none; box-shadow: 0 26px 50px rgba(61,79,143,.2); }

/* V5.6 — short premium headline cadence and a continuous conveyor-style ecosystem route. */
.hero-rotator { min-width: 4.7em; color: #a67532; }.rotator-word { transition-duration: .42s; transition-timing-function: cubic-bezier(.18,.8,.25,1); }.rotator-word.is-active { text-shadow: 0 8px 24px rgba(158,113,48,.16); }
.ecosystem-grid article { transition: transform 6s linear, box-shadow .35s ease; }
.credential-preview { color: inherit; text-decoration: none; cursor: zoom-in; }.credential-preview img { display: block; width: 100%; height: 168px; margin: 12px 0 0; object-fit: cover; object-position: top; border: 1px solid rgba(95,113,146,.18); border-radius: 10px; background: #fff; transition: transform .3s ease, box-shadow .3s ease; }.credential-preview:hover img { transform: scale(1.018); box-shadow: 0 14px 28px rgba(30,52,89,.16); }
.social-qr-card.wechat-qr { width: 100%; border: 0; font: inherit; text-align: left; cursor: pointer; }
.brand-finale small { margin-top: 15px; color: rgba(211,226,244,.72); font-size: .68rem; font-weight: 800; letter-spacing: .28em; }
@media (min-width: 681px) { .hero-copy h1 { font-size: clamp(3rem, 3.35vw, 3.35rem); line-height: 1.15; } }
@media (max-width: 680px) { .credential-preview img { height: 135px; }.brand-finale small { letter-spacing: .18em; } }

/* V5.7 — each outcome moves through a deliberate left-to-right editorial track. */
.hero-rotator { min-width: 8.4em; overflow: visible; }.rotator-word { --word-x: 0em; opacity: 0; transform: translateX(calc(var(--word-x) - .32em)); transition: opacity .46s ease, transform .7s cubic-bezier(.2,.78,.18,1); }.rotator-word:nth-child(2) { --word-x: 1.12em; }.rotator-word:nth-child(3) { --word-x: 2.24em; }.rotator-word.is-active { opacity: 1; transform: translateX(var(--word-x)); }.rotator-word.is-leaving { opacity: 0; transform: translateX(calc(var(--word-x) + 1.65em)); pointer-events: none; }
.wecom-icon { display: inline-grid; width: 21px; height: 21px; place-items: center; background: #fff; border-radius: 50%; }.wecom-icon svg { display: block; width: 17px; height: 17px; filter: drop-shadow(0 2px 4px rgba(41,137,214,.3)); }
@media (max-width: 680px) { .hero-rotator { min-width: 7.6em; }.rotator-word:nth-child(2) { --word-x: .85em; }.rotator-word:nth-child(3) { --word-x: 1.7em; } }

/* V5.8 — supplied final-cover visual with restrained water, travelling light, and a glass consultation panel. */
.brand-finale { min-height: min(56.25vw, 650px); background: linear-gradient(90deg, rgba(4,17,40,.68), rgba(5,25,58,.24) 52%, rgba(2,15,38,.62)), url("assets/visuals/cg-final-cover-1920x1080.png") center / cover no-repeat; }.brand-finale::before { z-index: 0; color: rgba(204,230,255,.06); }.brand-finale::after { display: none; }.brand-finale > p, .brand-finale > span:not(.finale-water):not(.finale-light), .brand-finale > small { position: relative; z-index: 2; text-shadow: 0 6px 28px rgba(1,13,34,.6); }
.finale-water, .finale-light { position: absolute; z-index: 1; pointer-events: none; }.finale-water { inset: 44% -18% -35%; background: repeating-radial-gradient(ellipse at 50% 93%, rgba(152,218,255,.18) 0 1px, transparent 2px 44px), linear-gradient(180deg, transparent, rgba(15,102,167,.13)); transform-origin: 50% 100%; animation: waterRipple 11s ease-in-out infinite; }.finale-light { inset: -35%; background: conic-gradient(from 205deg at 50% 51%, transparent 0 24deg, rgba(152,220,255,.18) 34deg, transparent 49deg 104deg, rgba(181,231,255,.14) 115deg, transparent 136deg 360deg), radial-gradient(circle at 50% 51%, rgba(211,246,255,.62) 0, rgba(111,205,255,.22) 3%, transparent 14%); mix-blend-mode: screen; animation: globeLight 15s linear infinite; }
.consult-form { background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(225,240,255,.58)); border: 1px solid rgba(255,255,255,.56); box-shadow: 0 30px 70px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.72); }.consult-form input, .consult-form select, .consult-form textarea { background: rgba(255,255,255,.66); border-color: rgba(139,164,197,.44); backdrop-filter: blur(7px); }.consult-form input:focus, .consult-form select:focus, .consult-form textarea:focus { background: rgba(255,255,255,.86); border-color: #6c9ec6; outline: 2px solid rgba(139,205,244,.28); outline-offset: 1px; }
@keyframes waterRipple { 0%,100% { transform: translateY(0) scale(1.02,1); opacity: .5; } 50% { transform: translateY(-1.8%) scale(1.1,.94); opacity: .84; } } @keyframes globeLight { to { transform: rotate(360deg); } }
@media (max-width: 680px) { .brand-finale { min-height: 360px; background-position: 55% center; }.finale-light { inset: -60%; }.consult-form { background: rgba(244,250,255,.72); } }

/* V5.91: a continuous, left-to-right planning vocabulary for the first-screen theme. */
main#main { display: flex; flex-direction: column; }
.hero { order: 1; }
.services { order: 2; }
.updates { order: 3; }
.proof-strip { order: 4; }
.pr-plans { display: none; }
.journeys { order: 5; position: relative; overflow: hidden; }
.journeys::after { content: ""; position: absolute; z-index: 0; right: -6%; bottom: -26%; width: min(540px, 46vw); aspect-ratio: 1; opacity: .055; background: url("assets/cg-immigration-logo-mark.png") center / contain no-repeat; pointer-events: none; }
.journeys > * { position: relative; z-index: 1; }
.ecosystem { order: 6; }.why { order: 7; }.location { order: 8; }.credentials { order: 9; }.social-section { order: 10; }.blog-section { order: 11; }.consult { order: 12; }.brand-finale { order: 13; }
.hero-route-rotator { position: relative; display: inline-flex; align-items:baseline; min-width: 7em; height: 1.24em; overflow: hidden; color: #8056c7; vertical-align: bottom; white-space: nowrap; }
.route-quote { display: inline-block; color: #9f835f; font-weight: 500; }
.route-quote:last-child { position: absolute; right: 0; top: 0; }
.route-word { position: absolute; left: 1em; top: 0; min-width: 5em; opacity: 0; transform: translateX(-1.6em); color: #6548d8; background: linear-gradient(92deg, #1e8de1 0%, #7062d8 48%, #b652c5 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; transition: transform .82s cubic-bezier(.16,.82,.21,1), opacity .38s ease; }
.route-word.is-active { opacity: 1; transform: translateX(0); }
.route-word.is-leaving { opacity: 0; transform: translateX(8.5em); }
.hero-copy h1 { letter-spacing: -.05em; }
.service-subline { margin: 10px 0 14px; color: #94764b !important; font-size: .78rem; font-weight: 760; line-height: 1.55; }
.service-card-pr .service-subline { color: #e6cfa4 !important; }
.blog-section { padding-top: clamp(86px, 11vw, 150px); padding-bottom: clamp(86px, 11vw, 150px); color: #132843; background: linear-gradient(145deg, #f5f3f8 0%, #f9f8f4 54%, #ecf4fb 100%); }
.blog-heading { display: flex; align-items: end; justify-content: space-between; gap: 36px; max-width: 1280px; margin: 0 auto 46px; padding: 0 24px; }
.blog-heading h2 { margin: 0; font-family: Georgia, "Noto Serif SC", serif; font-size: clamp(3rem, 5vw, 5.6rem); font-weight: 500; letter-spacing: -.065em; line-height: .98; }
.blog-heading > p { max-width: 480px; margin: 0; color: #637084; }
.blog-feature-grid { display: grid; grid-template-columns: 1.14fr .86fr; gap: 1px; max-width: 1232px; margin: 0 auto; background: rgba(23,50,81,.15); border: 1px solid rgba(23,50,81,.13); }
.blog-feature, .blog-list { background: rgba(255,255,255,.78); }
.blog-feature { display: flex; min-height: 430px; flex-direction: column; align-items: flex-start; padding: clamp(32px, 5vw, 66px); background: radial-gradient(circle at 86% 18%, rgba(123,103,217,.24), transparent 34%), linear-gradient(145deg, #102b51, #234b72); color: #fff; }
.blog-meta { margin: 0 0 22px; color: #d9bd87; font-size: .69rem; font-weight: 850; letter-spacing: .15em; }
.blog-feature h3 { max-width: 680px; margin: 0; font-family: Georgia, "Noto Serif SC", serif; font-size: clamp(2rem, 3.4vw, 3.75rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.12; }
.blog-feature > p:not(.blog-meta) { max-width: 520px; margin: 24px 0 32px; color: #dce7f0; }
.blog-feature a { margin-top: auto; color: #f1d49d; font-weight: 800; text-decoration: none; border-bottom: 1px solid currentColor; }
.blog-list { display: grid; grid-template-rows: repeat(3, 1fr); }
.blog-list article { display: grid; align-content: center; padding: 28px clamp(28px, 4vw, 52px); border-bottom: 1px solid rgba(22,48,77,.13); transition: background .3s ease, padding-left .3s ease; }
.blog-list article:last-child { border-bottom: 0; }
.blog-list article:hover { padding-left: calc(clamp(28px, 4vw, 52px) + 9px); background: rgba(204,221,242,.38); }
.blog-list p { margin: 0 0 8px; color: #9b7b43; font-size: .67rem; font-weight: 850; letter-spacing: .13em; }
.blog-list h3 { margin: 0; max-width: 460px; font-family: Georgia, "Noto Serif SC", serif; font-size: clamp(1.16rem, 1.8vw, 1.62rem); font-weight: 500; line-height: 1.28; }
.blog-topic-strip { display: flex; flex-wrap: wrap; gap: 10px; max-width: 1232px; margin: 18px auto 0; padding: 0 24px; }
.blog-topic-strip span, .footer-social span { color: #59708a; font-size: .68rem; font-weight: 850; letter-spacing: .12em; }
.blog-topic-strip span { padding: 10px 13px; border: 1px solid rgba(37,68,105,.17); border-radius: 99px; background: rgba(255,255,255,.53); }
.footer-social { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px 20px; }
@media (max-width: 760px) { .hero-route-rotator { min-width: 6.55em; font-size: .94em; }.route-word { min-width: 4.75em; }.journeys::after { width: 360px; right: -29%; bottom: -12%; }.blog-heading { display: grid; gap: 17px; }.blog-feature-grid { grid-template-columns: 1fr; margin: 0 20px; }.blog-feature { min-height: 370px; }.blog-topic-strip { margin-top: 16px; }.blog-list article { min-height: 155px; } }
@media (prefers-reduced-motion: reduce) { .route-word { transition: none; }.route-word:not(.is-active) { display: none; }.blog-list article { transition: none; } }

/* V5.91 self-employed EP preparation prompt: deliberately framed as readiness, not an approval prediction. */
.ep-estimator { background: linear-gradient(135deg, #f7f4ee, #eef6fb); }
.ep-estimator-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ep-estimator-form fieldset { display: grid; gap: 14px; min-width: 0; padding: 24px; border: 1px solid rgba(22,55,87,.15); border-radius: 16px; background: rgba(255,255,255,.7); }
.ep-estimator-form legend { padding: 0 7px; color: #87663a; font-size: .72rem; font-weight: 850; letter-spacing: .07em; }
.ep-estimator-form label { display: grid; gap: 6px; color: #536276; font-size: .78rem; font-weight: 760; }
.ep-estimator-form input { width: 100%; padding: 12px 13px; border: 1px solid #c9d3df; border-radius: 9px; color: #142b48; background: rgba(255,255,255,.88); }
.ep-estimator-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 18px; margin-top: 4px; }
.ep-estimator-actions output { color: #2e557d; font-weight: 800; }
.ep-estimator-disclaimer { max-width: 980px; margin: 22px 0 0; color: #69788a; font-size: .78rem; line-height: 1.7; }
@media (max-width: 760px) { .ep-estimator-form { grid-template-columns: 1fr; }.ep-estimator-actions { grid-column: auto; align-items: flex-start; flex-direction: column; } }

/* V5.92 hero: one disciplined horizontal word rail, with CG as the guiding mark rather than extra headline copy. */
.hero-identity { display: inline-flex; align-items: center; gap: 9px; margin: -1px 0 16px; color: #536b8a; font-size: .72rem; font-weight: 850; letter-spacing: .12em; }
.identity-mark { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50% 50% 50% 9px; color: #fff; background: linear-gradient(135deg, #123663, #2d74d8 55%, #a15cce); font-size: .6rem; letter-spacing: -.04em; box-shadow: 0 8px 20px rgba(38,95,179,.22); }
.hero-identity i { color: #b18441; font-size: 1rem; font-style: normal; }
.hero-word-window { display: inline-block; position: relative; width: 4.5em; height: 1.22em; overflow: hidden; vertical-align: bottom; border-bottom: 1px solid rgba(65,90,126,.22); }
.hero-word-window::after { content: ""; position: absolute; top: 13%; right: 0; bottom: 13%; width: 1px; background: linear-gradient(transparent, #9f7b48, transparent); opacity: .6; }
.hero-word-window .hero-rotator { display: block; position: absolute; inset: 0; min-width: 0; height: 1.22em; overflow: hidden; color: inherit; }
.hero-word-window .rotator-word { --word-x: 0em !important; position: absolute; top: 0; left: 0; width: max-content; opacity: 0; transform: translateX(-1.7em); transition: transform 1.15s cubic-bezier(.16,.8,.18,1), opacity .34s ease; }
.hero-word-window .rotator-word.is-active { opacity: 1; transform: translateX(0); }
.hero-word-window .rotator-word.is-leaving { opacity: 0; transform: translateX(4.8em); }
.hero-word-window .rotator-word:nth-child(1) { color: #a67532; }
.hero-word-window .rotator-word:nth-child(2) { color: #596ee5; background: linear-gradient(90deg, #3d82e7, #7954d7); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.hero-word-window .rotator-word:nth-child(3) { color: #b852ee; background: linear-gradient(90deg, #8d47e7, #dc57ef); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.credential-demos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wecom-icon { overflow: hidden; }
.wecom-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }

/* V5.92 blog: Wix-inspired editorial discovery canvas, intentionally using draft art instead of pretending unverified articles are published. */
.blog-section { overflow: hidden; padding-top: clamp(86px, 11vw, 150px); color: #10131c; background: #f8f8f6; }
.wix-blog-header { display: grid; grid-template-columns: 1.12fr .88fr; gap: 44px; max-width: 1232px; margin: 0 auto 38px; padding: 0 24px; }
.wix-blog-header .eyebrow { grid-column: 1 / -1; margin: 0; color: #5d45d6; }
.wix-blog-header h2 { margin: 0; max-width: 700px; font-family: Inter, "Noto Sans SC", sans-serif; font-size: clamp(3.15rem, 6.2vw, 6.9rem); font-weight: 760; letter-spacing: -.09em; line-height: .91; }
.wix-blog-header > div { align-self: end; max-width: 405px; padding-bottom: 9px; }
.wix-blog-header > div p { margin: 0 0 19px; color: #5d6575; line-height: 1.7; }
.wix-blog-header a { display: inline-flex; gap: 8px; color: #172653; font-size: .83rem; font-weight: 850; text-decoration: none; border-bottom: 1px solid currentColor; }
.blog-tabs { display: flex; gap: 8px; max-width: 1232px; margin: 0 auto 18px; padding: 0 24px; overflow-x: auto; }
.blog-tabs button { flex: 0 0 auto; padding: 9px 13px; border: 1px solid #d6d7dd; border-radius: 99px; color: #3c4556; background: transparent; font-size: .68rem; font-weight: 850; letter-spacing: .08em; transition: color .25s ease, background .25s ease, border-color .25s ease; }
.blog-tabs button:hover, .blog-tabs button.is-active { border-color: #171d2b; color: #fff; background: #171d2b; }
.wix-blog-grid { display: grid; grid-template-columns: 1.15fr .85fr; grid-auto-rows: 340px; gap: 18px; max-width: 1232px; margin: 0 auto; padding: 0 24px; }
.wix-blog-card { display: grid; grid-template-columns: 42% 58%; min-width: 0; overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 15px 40px rgba(37,45,68,.08); cursor: pointer; transition: transform .35s cubic-bezier(.2,.75,.2,1), box-shadow .35s ease; }
.wix-blog-card:focus-visible { outline: 3px solid #5a63ca; outline-offset: 4px; }
.wix-blog-card:hover { transform: translateY(-6px); box-shadow: 0 26px 58px rgba(37,45,68,.15); }
.wix-blog-feature { grid-row: span 2; grid-template-columns: 1fr; }
.wix-blog-feature .blog-art { min-height: 350px; }
.wix-blog-feature .blog-card-copy { align-content: start; padding-top: 31px; }
.blog-art { position: relative; overflow: hidden; display: grid; place-items: center; min-height: 100%; background: #d8d5ff; }
.blog-art span { position: relative; z-index: 2; color: rgba(18,23,40,.88); font-family: Georgia, serif; font-size: clamp(2rem, 4.2vw, 4.7rem); font-weight: 500; letter-spacing: -.07em; }
.art-orbit { background: radial-gradient(circle at 70% 24%, #f0bcff, transparent 22%), linear-gradient(135deg, #bdc3ff, #e8ddff 56%, #ffebdc); }
.art-orbit span { display: grid; width: 132px; height: 132px; place-items: center; border: 1px solid rgba(29,27,68,.72); border-radius: 50%; color: #2b236e; font-family: Inter, sans-serif; font-size: 2.1rem; font-weight: 850; transform: rotate(-14deg); }
.art-orbit i, .art-orbit b { position: absolute; border-radius: 50%; border: 1px solid rgba(42,36,109,.55); }
.art-orbit i { width: 240px; height: 240px; transform: rotate(28deg) scaleX(1.5); }.art-orbit b { width: 315px; height: 315px; transform: rotate(-20deg) scaleX(.72); }
.art-lilac { background: linear-gradient(145deg, #f2edff, #bfa8ff); }.art-lilac i { position: absolute; width: 110%; height: 42%; bottom: -19%; border-radius: 50% 50% 0 0; background: #5b42d8; transform: rotate(-13deg); }
.art-citrus { background: #e7ff88; }.art-citrus span { font-family: Inter, sans-serif; font-weight: 900; color: #1c3227; }.art-citrus b { position: absolute; width: 68px; height: 68px; border-radius: 50%; background: #ff714a; transform: translate(52px, 52px); }
.art-sky { background: linear-gradient(135deg, #c3f1ff, #f1fbff); }.art-sky i { position: absolute; width: 105px; height: 105px; border: 18px solid #1e78e4; border-radius: 50%; transform: translate(68px, -47px); }
.blog-card-copy { display: grid; align-content: center; min-width: 0; padding: 26px; }
.blog-card-copy p { margin: 0 0 12px; color: #6a5cbf; font-size: .65rem; font-weight: 850; letter-spacing: .12em; }
.blog-card-copy h3 { margin: 0 0 20px; font-family: Inter, "Noto Sans SC", sans-serif; font-size: clamp(1.15rem, 1.75vw, 1.7rem); font-weight: 760; letter-spacing: -.045em; line-height: 1.14; }
.blog-card-copy span { color: #6c7380; font-size: .7rem; font-weight: 750; letter-spacing: .04em; }
.blog-editorial-note { max-width: 1232px; margin: 20px auto 0; padding: 0 24px; color: #7d8491; font-size: .75rem; }
@media (max-width: 760px) { .hero-identity { margin-bottom: 12px; }.hero-word-window { width: 4.35em; }.credential-demos { grid-template-columns: 1fr; }.wix-blog-header { grid-template-columns: 1fr; gap: 20px; }.wix-blog-header h2 { max-width: 500px; font-size: clamp(3rem, 15vw, 4.7rem); }.wix-blog-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }.wix-blog-card, .wix-blog-feature { grid-row: auto; grid-template-columns: 1fr; }.wix-blog-card .blog-art { min-height: 220px; }.wix-blog-feature .blog-art { min-height: 280px; }.blog-card-copy { min-height: 190px; }.blog-tabs { padding-right: 0; } }
@media (prefers-reduced-motion: reduce) { .hero-word-window .rotator-word { transition: none; }.wix-blog-card { transition: none; } }
@media (prefers-reduced-motion: reduce) { .finale-water, .finale-light { animation: none !important; } }

/* V5.93 — linked colour fields, a slower editorial word rail, moving insights and a unified social/intake close. */
.site-header { min-height: 68px; padding-top: 5px; padding-bottom: 5px; }
.site-header .brand { width: 54px; min-width: 54px; height: 54px; }
.site-header .brand img { width: 54px; height: 54px; }

main#main { display: block; background: #fff; }
.hero { order: 1; min-height: calc(100vh - 68px); position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(circle at 7% 18%, rgba(117,106,255,.42), transparent 31%), radial-gradient(circle at 58% 4%, rgba(75,207,245,.34), transparent 34%), radial-gradient(circle at 88% 76%, rgba(255,170,142,.38), transparent 34%), linear-gradient(128deg, #f5f1ff 0%, #eef9ff 48%, #fff2ec 100%); background-size: 145% 145%; animation: cgColourFlow 17s ease-in-out infinite alternate; }
.hero::before, .services::before { content: ""; position: absolute; z-index: -1; width: clamp(360px, 46vw, 760px); aspect-ratio: 1; border-radius: 46% 54% 62% 38%; filter: blur(34px); pointer-events: none; animation: cgBlobDrift 14s ease-in-out infinite alternate; }
.hero::before { left: -20%; bottom: -40%; background: linear-gradient(135deg, rgba(110,93,255,.23), rgba(55,206,237,.28), rgba(255,177,139,.2)); }
.hero-copy { position: relative; z-index: 2; }
.hero-visual { align-self: stretch; min-height: 540px; margin: 28px 28px 28px 0; border-radius: 30px; box-shadow: 0 30px 80px rgba(45,51,112,.18); }
.hero-title-lockup { position: relative; display: inline-block; padding-top: 34px; color: var(--navy) !important; }
.hero-title-lockup > span:last-child { color: var(--navy); }
.hero-identity { position: absolute; left: 0; top: 2px; display: inline-flex; align-items: center; gap: 8px; margin: 0; transform: translate(-24%, -36%) rotate(-5deg); color: #435f8d; font-family: Inter, "Noto Sans SC", sans-serif; font-size: .66rem; font-weight: 850; letter-spacing: .1em; white-space: nowrap; }
.hero-identity::after { content: ""; position: absolute; left: 28px; top: 31px; width: 72px; height: 1px; background: linear-gradient(90deg, rgba(63,92,144,.52), transparent); transform: rotate(17deg); transform-origin: left; }
.identity-mark { width: 29px; height: 29px; }
.hero-identity i { display: inline-block; color: #9b7039; font-size: 1.05rem; transform: rotate(-11deg); }
.hero-word-window { width: min(11.8em, 100%); height: 1.28em; border-bottom-color: rgba(67,82,138,.2); }
.hero-word-window::after { right: 1px; opacity: .42; }
.hero-word-window .hero-rotator { height: 1.28em; }
.hero-word-window .rotator-word { top: 0; left: .05em; opacity: 0; transform: translateX(-.35em); transition: none; will-change: transform, opacity; }
.hero-word-window .rotator-word.is-active { opacity: 1; animation: heroWordRail 8.6s linear both; }
.hero-word-window .rotator-word.is-leaving { opacity: 0; transform: translateX(7.4em); }
.hero-lead { max-width: 650px; }

.services { order: 2; max-width: none; position: relative; isolation: isolate; overflow: hidden; padding-right: max(34px, calc((100vw - var(--max)) / 2)); padding-left: max(34px, calc((100vw - var(--max)) / 2)); background: radial-gradient(circle at 13% 90%, rgba(255,174,146,.38), transparent 31%), radial-gradient(circle at 73% 22%, rgba(104,94,255,.35), transparent 31%), radial-gradient(circle at 97% 79%, rgba(67,210,235,.34), transparent 30%), linear-gradient(128deg, #fff2eb, #f3efff 48%, #eafaff); background-size: 145% 145%; animation: cgColourFlow 17s ease-in-out infinite alternate-reverse; }
.services::before { right: -22%; top: -30%; background: linear-gradient(135deg, rgba(255,176,139,.24), rgba(105,90,255,.23), rgba(55,206,237,.27)); animation-delay: -7s; }
.services .section-intro, .services .service-grid { position: relative; z-index: 1; max-width: var(--max); margin-right: auto; margin-left: auto; }
.services .service-card:not(.service-card-pr) { background: rgba(255,255,255,.7); border-color: rgba(103,103,173,.14); box-shadow: 0 18px 45px rgba(70,65,130,.08); backdrop-filter: blur(18px); }
.updates { order: 3; }.proof-strip { order: 4; }.blog-section { order: 5; }.ecosystem { order: 6; }.why { order: 7; }.credentials { order: 8; }.journeys { order: 9; }.location { order: 10; }.consult { order: 11; }.brand-finale { order: 12; }

.credentials { max-width: none; grid-template-columns: 1fr; gap: 18px; padding-right: max(34px, calc((100vw - var(--max)) / 2)); padding-left: max(34px, calc((100vw - var(--max)) / 2)); background: #fbfaf7; }
.credentials > div, .credentials-copy { width: min(100%, var(--max)); margin-inline: auto; }
.credentials-copy > p { max-width: 820px; }
.credential-compact-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.credential-compact-grid .credential-demo { min-height: 270px; padding: 18px; border-radius: 17px; }
.credential-compact-grid .credential-demo::before { margin-bottom: 14px; }
.credential-compact-grid .credential-demo h3 { min-height: 2.7em; margin-bottom: 10px; font-family: Inter, "Noto Sans SC", sans-serif; font-size: 1.03rem; }
.credential-compact-grid .credential-preview img { height: 88px; margin-top: auto; object-fit: cover; object-position: top; }
.credential-compact-grid .credential-demo p { font-size: .72rem; line-height: 1.5; }
.partner-draft { color: #243955; background: linear-gradient(145deg, #f0f4ff, #fff8ef); border-style: dashed; }
.partner-mark { width: 58px; height: 58px; display: grid; place-items: center; margin: 2px 0 18px; color: #5144c5; background: linear-gradient(145deg, #d9d4ff, #eef2ff); border-radius: 18px; font-size: .68rem; font-weight: 900; letter-spacing: .08em; box-shadow: 0 13px 28px rgba(81,68,197,.13); }
.partner-mark-insurance { color: #1b7288; background: linear-gradient(145deg, #cff4f4, #e9fbff); }
.partner-draft strong { margin-top: auto; color: #82673f; font-size: .62rem; letter-spacing: .08em; }

.blog-section { max-width: none; padding-right: 0; padding-left: 0; }
.insight-viewport { width: 100%; overflow: hidden; padding: 6px 0 30px; mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.insight-track { display: flex; width: max-content; gap: 18px; padding: 0 9px; animation: insightRail var(--insight-duration, 105s) linear infinite; }
.insight-viewport:hover .insight-track, .insight-viewport:focus-within .insight-track { animation-play-state: paused; }
.insight-track .wix-blog-card { flex: 0 0 330px; width: 330px; height: 440px; grid-template-columns: 1fr; grid-template-rows: 52% 48%; }
.insight-track .wix-blog-feature { flex-basis: 500px; width: 500px; grid-template-columns: 1fr; grid-template-rows: 58% 42%; }
.insight-track .wix-blog-feature .blog-art { min-height: 0; }
.insight-track .wix-blog-feature .blog-card-copy { padding-top: 25px; }
.insight-track .wix-blog-card.is-wide { flex-basis: 560px; width: 560px; grid-template-columns: 46% 54%; grid-template-rows: 1fr; }
.insight-track .blog-art { min-height: 0; }
.art-rose { background: linear-gradient(145deg, #ffd4e0, #f6e8ff 58%, #c9c7ff); }
.art-indigo { background: radial-gradient(circle at 70% 25%, #bc9cff, transparent 23%), linear-gradient(140deg, #5146c8, #253a86); }.art-indigo span { color: #fff; }
.art-mint { background: linear-gradient(135deg, #c9ffe4, #b9e9ee); }.art-mint span { color: #174c50; }
.art-blue { background: linear-gradient(145deg, #bde7ff, #99b7ff); }.art-blue span { color: #173c77; }
.art-gold { background: radial-gradient(circle at 24% 72%, #fff5bd, transparent 28%), linear-gradient(145deg, #e9c47a, #ffecc5); }.art-gold span { color: #5b4120; font-size: clamp(1.4rem, 2.5vw, 2.4rem); }

.consult { position: relative; isolation: isolate; overflow: hidden; gap: clamp(42px, 6vw, 80px); background: radial-gradient(circle at 13% 18%, rgba(112,86,231,.7), transparent 30%), radial-gradient(circle at 87% 76%, rgba(61,194,226,.5), transparent 34%), radial-gradient(circle at 57% 8%, rgba(242,148,127,.34), transparent 27%), linear-gradient(132deg, #102852, #173e67 56%, #372360); }
.consult::before { content: ""; position: absolute; z-index: -1; inset: -60%; background: conic-gradient(from 140deg, transparent, rgba(132,210,255,.13), transparent 23%, rgba(215,163,255,.17), transparent 54%, rgba(255,188,142,.12), transparent 76%); animation: consultAura 22s linear infinite; }
.consult-copy { align-self: center; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.consult:hover .consult-copy { transform: translateY(-8px); }
.consult-social { display: grid; gap: 10px; margin-top: 30px; }
.consult-social-card { width: 100%; display: grid; grid-template-columns: 58px 1fr auto; align-items: center; gap: 14px; padding: 11px 14px; color: #f6fbff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 16px; backdrop-filter: blur(15px); text-align: left; text-decoration: none; cursor: pointer; transition: transform .35s ease, background .35s ease, border-color .35s ease; }
.consult-social-card:hover { transform: translateX(9px); background: rgba(255,255,255,.17); border-color: rgba(255,255,255,.38); }
.consult-social-icon { width: 58px; height: 58px; display: grid; place-items: center; overflow: hidden; color: #fff; background: #fff; border-radius: 12px; font-size: .66rem; font-weight: 900; letter-spacing: .06em; }
.consult-social-icon img { width: 100%; height: 100%; object-fit: cover; }
.consult-social-red { color: #fff; background: linear-gradient(145deg, #ff5969, #d9274a); }
.consult-social-card > span:nth-child(2) { display: grid; gap: 3px; }
.consult-social-card b { font-size: .9rem; }.consult-social-card small { color: #c8daeb; font-size: .68rem; }.consult-social-card i { font-style: normal; }
.consult-form { transition: transform .7s cubic-bezier(.2,.8,.2,1), box-shadow .7s ease; }
.consult:hover .consult-form { transform: translateY(-10px) rotateX(1deg); box-shadow: 0 38px 90px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.78); }

.brand-finale { min-height: min(56.25vw, 720px); place-content: end center; padding: 0 26px 30px; background: linear-gradient(90deg, rgba(2,12,34,.1), rgba(2,15,38,.02) 54%, rgba(2,15,38,.22)), url("assets/visuals/cg-final-cover-v593.png") center / cover no-repeat; }
.brand-finale::before, .brand-finale::after { display: none; }
.brand-finale > p, .brand-finale > span:not(.finale-water):not(.finale-light) { display: none; }
.brand-finale > small { position: relative; z-index: 3; margin: 0; padding: 9px 15px; color: rgba(236,247,255,.88); background: rgba(4,20,50,.42); border: 1px solid rgba(174,222,255,.24); border-radius: 99px; backdrop-filter: blur(12px); text-shadow: none; }
.finale-water { inset: 58% -12% -28%; opacity: .7; background: repeating-radial-gradient(ellipse at 50% 100%, transparent 0 31px, rgba(162,224,255,.2) 32px 33px, transparent 35px 58px); mix-blend-mode: screen; animation: waterRippleV593 9s ease-in-out infinite; }
.finale-light { inset: -30%; background: linear-gradient(112deg, transparent 30%, rgba(166,225,255,.2) 45%, rgba(255,255,255,.38) 49%, transparent 55%), radial-gradient(circle at 50% 57%, rgba(189,235,255,.36), transparent 10%); mix-blend-mode: screen; animation: finaleSweep 12s ease-in-out infinite; }

@keyframes heroWordRail { 0% { opacity: 0; transform: translateX(-.3em); } 6% { opacity: 1; } 90% { opacity: 1; } 100% { opacity: 0; transform: translateX(7.2em); } }
@keyframes cgColourFlow { to { background-position: 95% 65%; } }
@keyframes cgBlobDrift { to { transform: translate(18%, -13%) rotate(24deg) scale(1.12); } }
@keyframes insightRail { to { transform: translateX(calc(-50% - 9px)); } }
@keyframes consultAura { to { transform: rotate(360deg); } }
@keyframes waterRippleV593 { 0%,100% { transform: translateY(0) scaleX(1); opacity: .5; } 50% { transform: translateY(-2.3%) scaleX(1.08); opacity: .82; } }
@keyframes finaleSweep { 0%,100% { transform: translateX(-18%) rotate(-3deg); opacity: .35; } 50% { transform: translateX(18%) rotate(3deg); opacity: .75; } }

@media (max-width: 1080px) {
  .credential-compact-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .hero-visual { margin-right: 18px; }
}
@media (max-width: 760px) {
  .site-header { min-height: 62px; }.site-header nav { top: 62px; }.site-header .brand { width: 46px; min-width: 46px; height: 46px; }.site-header .brand img { width: 46px; height: 46px; }
  .site-header > .language-switch { right: 58px; }.site-header .menu-toggle { position: absolute; right: 10px; top: 10px; }
  .hero-copy { padding-top: 78px; }.hero-copy h1 { font-size: clamp(2rem, 10vw, 2.7rem); }.hero-lead { font-size: .98rem; word-break: break-all; }.hero-visual { margin: 0; border-radius: 0; }.hero-title-lockup { padding-top: 30px; }.hero-identity { transform: translate(-4%, -36%) rotate(-4deg); }.hero-word-window { width: 8.4em; }.hero-word-window .rotator-word.is-active { animation-duration: 8.6s; }
  .services { padding-right: 22px; padding-left: 22px; }
  .credential-compact-grid { grid-template-columns: 1fr; }.credential-compact-grid .credential-demo { min-height: 230px; }.credential-compact-grid .credential-preview img { height: 96px; }
  .insight-track .wix-blog-card, .insight-track .wix-blog-feature { flex-basis: min(84vw, 350px); width: min(84vw, 350px); height: 420px; }.insight-track .wix-blog-card.is-wide { flex-basis: min(90vw, 440px); width: min(90vw, 440px); grid-template-columns: 1fr; grid-template-rows: 48% 52%; }
  .consult { gap: 34px; }.consult:hover .consult-copy, .consult:hover .consult-form { transform: none; }
  .brand-finale { min-height: 430px; background-position: 48% center; }.brand-finale > small { font-size: .56rem; letter-spacing: .15em; }
}
@media (prefers-reduced-motion: reduce) {
  .hero, .services, .hero::before, .services::before, .hero-word-window .rotator-word, .insight-track, .consult::before, .finale-water, .finale-light { animation: none !important; }
  .hero-word-window .rotator-word:not(:first-child) { display: none; }.hero-word-window .rotator-word:first-child { opacity: 1; transform: none; }
  .insight-viewport { overflow-x: auto; mask-image: none; }
}

/* V5.95 — 总管复核版：严格对应 1–6 项反馈。 */
.site-header { grid-template-columns: auto 1fr auto; }
.header-tools { display: flex; align-items: center; gap: 14px; white-space: nowrap; }
.header-tools .nav-login { padding: 7px 13px; color: var(--navy); border: 1px solid rgba(16,35,63,.16); border-radius: 999px; font-size: .84rem; font-weight: 800; text-decoration: none; transition: color .25s ease, background .25s ease, transform .25s ease; }
.header-tools .nav-login:hover { color: #fff; background: var(--navy); transform: translateY(-1px); }

.hero-visual { align-self: center; min-height: 0; height: min(68vh, 620px); margin: 56px 58px 56px 18px; border-radius: 28px; }
.hero-contact-link { position: relative; min-width: 168px; padding: 11px 38px 11px 2px; border-bottom: 1px solid rgba(16,35,63,.28); transition: transform .35s cubic-bezier(.2,.8,.2,1), color .3s ease; }
.hero-contact-link::after { content: "↗"; position: absolute; right: 8px; opacity: 0; transform: translate(-8px,7px); transition: opacity .3s ease, transform .35s cubic-bezier(.2,.8,.2,1); }
.hero-contact-link:hover { color: #5268c9; transform: translateY(-5px); }
.hero-contact-link:hover::after { opacity: 1; transform: translate(0,0); }
.hero-word-window .rotator-word.is-active { animation-duration: 7.2s; }

.service-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.service-card { min-height: 355px; padding: 34px 30px; background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(243,241,255,.68)); border: 1px solid rgba(92,89,162,.15); box-shadow: 0 20px 55px rgba(62,58,125,.08); backdrop-filter: blur(18px); }
.service-card-pr { grid-column: 1 / -1; min-height: 390px; color: #fff; background: radial-gradient(circle at 86% 18%, rgba(131,113,255,.36), transparent 30%), linear-gradient(122deg,#0e2343 0%,#183e6a 68%,#493c87 128%); border-color: rgba(255,255,255,.18); box-shadow: 0 30px 75px rgba(17,33,72,.24); }
.service-card h3 { font-size: clamp(1.75rem,2.5vw,2.5rem); }
.service-subline { display: flex; flex-wrap: wrap; gap: 3px; align-items: center; }
.service-card .service-subline a { align-self: auto; color: #564eb4; border-bottom: 1px solid rgba(86,78,180,.26); font-size: .88rem; font-weight: 760; }
.service-card .service-subline a:hover { color: #232f78; border-bottom-color: currentColor; }
.service-more { position: relative; padding-right: 28px; transform: translateX(0); transition: transform .34s cubic-bezier(.2,.8,.2,1), text-shadow .34s ease; }
.service-more::after { content: "→"; position: absolute; right: 0; opacity: 0; transform: translateX(-8px); transition: opacity .28s ease, transform .34s ease; }
.service-card:hover .service-more { transform: translateX(-5px) translateY(-3px); text-shadow: 0 8px 20px rgba(47,47,116,.24); }
.service-card:hover .service-more::after { opacity: 1; transform: translateX(0); }
.service-card-programmes { background: radial-gradient(circle at 86% 12%, rgba(124,105,255,.2), transparent 32%), linear-gradient(145deg, rgba(255,255,255,.86), rgba(235,247,255,.7)); }

.insight-viewport { padding: 60px 0 70px; }
.insight-track { align-items: center; }
.insight-track .wix-blog-card { height: 410px; transition: transform .46s cubic-bezier(.2,.8,.2,1), box-shadow .42s ease; }
.insight-track > .wix-blog-card:nth-child(15n+1) { flex-basis: 590px; width: 590px; height: 560px; }
.insight-track > .wix-blog-card:nth-child(15n+2) { flex-basis: 540px; width: 540px; height: 330px; grid-template-columns: 46% 54%; grid-template-rows: 1fr; }
.insight-track > .wix-blog-card:nth-child(15n+3), .insight-track > .wix-blog-card:nth-child(15n+8), .insight-track > .wix-blog-card:nth-child(15n+14) { flex-basis: 300px; width: 300px; height: 390px; }
.insight-track > .wix-blog-card:nth-child(15n+4), .insight-track > .wix-blog-card:nth-child(15n+10) { flex-basis: 560px; width: 560px; height: 310px; grid-template-columns: 45% 55%; grid-template-rows: 1fr; }
.insight-track > .wix-blog-card:nth-child(15n+5), .insight-track > .wix-blog-card:nth-child(15n+9), .insight-track > .wix-blog-card:nth-child(15n+13) { flex-basis: 350px; width: 350px; height: 490px; }
.insight-track > .wix-blog-card:nth-child(15n+6), .insight-track > .wix-blog-card:nth-child(15n+11), .insight-track > .wix-blog-card:nth-child(15n+15) { flex-basis: 390px; width: 390px; height: 430px; }
.insight-track > .wix-blog-card:hover, .insight-track > .wix-blog-card:focus-within { z-index: 4; transform: translateY(-13px) scale(1.045); box-shadow: 0 36px 85px rgba(28,31,80,.25); }

.consult { align-items: start; }
.consult-copy, .consult-form { transform-origin: center; transition: transform .7s cubic-bezier(.2,.8,.2,1), opacity .7s ease, box-shadow .7s ease; }
.consult.is-scrolling-down .consult-copy { transform: scale(1.035) translateY(-6px); }
.consult.is-scrolling-down .consult-form { transform: scale(.965); opacity: .9; }
.consult.is-scrolling-up .consult-copy { transform: scale(.965); opacity: .9; }
.consult.is-scrolling-up .consult-form { transform: scale(1.035) translateY(-6px); box-shadow: 0 42px 100px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.8); }
.consult-social { grid-template-columns: repeat(2,minmax(0,1fr)); }
.consult-social-card { grid-template-columns: 48px 1fr auto; padding: 10px 12px; }
.consult-social-icon { width: 48px; height: 48px; }
.social-xhs { color: #fff; background: linear-gradient(145deg,#ff566c,#cd1f41); }
.social-facebook { color: #fff; background: linear-gradient(145deg,#3184ff,#1552a9); font-size: 1.25rem; text-transform: lowercase; }
.social-tiktok { color: #fff; background: linear-gradient(145deg,#12131a,#25283a); font-size: 1.1rem; }
.social-lemon8 { color: #142014; background: linear-gradient(145deg,#fff55f,#b8ef56); }
.social-placeholder { opacity: .72; cursor: default; }
.social-placeholder:hover { transform: none; }
.form-intro { margin-bottom: 24px; }
.form-intro h3 { margin-bottom: 8px; font-size: clamp(1.75rem,2.5vw,2.35rem); }
.form-intro p:last-child { margin: 0; color: #586b80; font-size: .85rem; }
.consult-form .consent { display: grid; grid-template-columns: 20px 1fr; align-items: start; gap: 12px; }
.consult-form .consent input { width: 18px; height: 18px; min-height: 18px; margin: 3px 0 0; padding: 0; accent-color: #244f7b; }

.brand-finale { min-height: min(56.25vw,720px); place-content: center; padding: 28px; background: linear-gradient(90deg,rgba(2,12,34,.08),rgba(2,15,38,.01) 54%,rgba(2,15,38,.14)), url("assets/visuals/cg-final-cover-v595.png") center / cover no-repeat; }
.brand-finale::before, .brand-finale::after { display: none; }
.brand-finale > p, .brand-finale > span:not(.finale-water):not(.finale-light), .brand-finale > small { display: block; position: relative; z-index: 3; text-shadow: 0 8px 34px rgba(1,13,34,.72); }
.brand-finale > p { margin: 0; color: rgba(255,255,255,.88); font-size: clamp(2.3rem,7vw,7rem); letter-spacing: .16em; opacity: .2; }
.brand-finale > span:not(.finale-water):not(.finale-light) { margin-top: 10px; color: rgba(229,243,255,.82); font-size: clamp(.72rem,1.4vw,1rem); letter-spacing: .35em; }
.brand-finale > small { margin-top: 18px; padding: 0; color: rgba(232,245,255,.72); background: none; border: 0; border-radius: 0; backdrop-filter: none; letter-spacing: .28em; }
.finale-water { inset: 57% -12% -28%; opacity: .62; }

@media (max-width: 1080px) {
  .site-header nav { gap: 11px; }.site-header nav a { font-size: .82rem; }
  .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.service-card-pr { grid-column: 1 / -1; }
  .hero-visual { margin-right: 28px; }
}
@media (max-width: 760px) {
  .site-header { position: fixed; top: 0; right: 0; left: 0; width: 100%; }
  main#main { padding-top: 62px; }
  .header-tools { position: absolute; right: 58px; gap: 7px; }.header-tools .language-switch { position: static; }.header-tools .nav-login { padding: 5px 9px; font-size: .74rem; }
  .hero-visual { height: 360px; margin: 0; border-radius: 0; }
  .hero-word-window .rotator-word.is-active { animation-duration: 7.2s; }
  .service-grid { grid-template-columns: 1fr; }.service-card-pr { grid-column: auto; }.service-card { min-height: 320px; }
  .insight-track > .wix-blog-card:nth-child(n) { flex-basis: min(82vw,350px); width: min(82vw,350px); height: 420px; grid-template-columns: 1fr; grid-template-rows: 48% 52%; }
  .insight-track > .wix-blog-card:nth-child(15n+1) { flex-basis: min(90vw,420px); width: min(90vw,420px); height: 510px; }
  .consult-social { grid-template-columns: 1fr; }.consult.is-scrolling-down .consult-copy, .consult.is-scrolling-down .consult-form, .consult.is-scrolling-up .consult-copy, .consult.is-scrolling-up .consult-form { transform: none; opacity: 1; }
  .brand-finale { min-height: 430px; background-position: center; }.brand-finale > p { font-size: clamp(1.65rem,9vw,3.4rem); }
}

/* V6 — shared hero fields, a composed service grid, faster Insights and restored orbital finale light. */
.header-tools .nav-login { margin-left: clamp(14px, 1.5vw, 26px); }
.hero { background: radial-gradient(circle at 7% 18%, rgba(117,106,255,.42), transparent 31%), radial-gradient(circle at 58% 4%, rgba(75,207,245,.34), transparent 34%), radial-gradient(circle at 88% 76%, rgba(255,170,142,.38), transparent 34%), linear-gradient(128deg, #f5f1ff 0%, #eef9ff 48%, #fff2ec 100%); }
.hero::after { content: ""; position: absolute; z-index: 0; right: 0; bottom: -1px; left: 0; height: min(14vw, 160px); pointer-events: none; background: linear-gradient(180deg, transparent, rgba(11,25,48,.42)); }
.journeys { position: relative; background: #0b1930; }
.journeys::before { content: ""; position: absolute; z-index: 0; top: 0; right: 0; left: 0; height: min(14vw, 160px); pointer-events: none; background: linear-gradient(180deg, rgba(11,25,48,.42), transparent); }
.journeys > * { position: relative; z-index: 1; }
.hero-actions { gap: 14px; align-items: center; }
.hero-pill-action { position: relative; min-width: 188px; padding: 14px 45px 14px 23px; border: 1px solid rgba(22,43,86,.86); border-radius: 999px; background: #102d56; box-shadow: 0 12px 26px rgba(30,48,97,.16); color: #fff; transition: transform .38s cubic-bezier(.2,.8,.2,1), box-shadow .38s ease, background .3s ease; }
.hero-pill-action::after { content: "↗"; position: absolute; right: 20px; opacity: 0; transform: translate(-9px, 6px); transition: opacity .26s ease, transform .38s cubic-bezier(.2,.8,.2,1); }
.hero-pill-action:hover, .hero-pill-action:focus-visible { transform: translateY(-6px); background: #234f8a; box-shadow: 0 20px 38px rgba(30,48,97,.25); }
.hero-pill-action:hover::after, .hero-pill-action:focus-visible::after { opacity: 1; transform: translate(0,0); }

.service-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.service-card { grid-column: span 3; min-height: 338px; border-radius: 24px; overflow: hidden; }
.service-card-pr { grid-column: span 8; min-height: 412px; }
.service-card-programmes { grid-column: span 4; min-height: 412px; color: #13274a; background: radial-gradient(circle at 85% 10%, rgba(134,108,255,.28), transparent 34%), linear-gradient(160deg, rgba(248,250,255,.98), rgba(221,238,255,.88)); }
.service-card-programmes::before { content: "IMMIGRATION"; position: absolute; right: -8px; bottom: 38px; color: rgba(49,77,155,.08); font-size: clamp(2.3rem, 5vw, 5.2rem); font-weight: 900; letter-spacing: .05em; transform: rotate(-90deg); transform-origin: right bottom; }
.service-card-programmes > * { position: relative; z-index: 1; }
.service-card:nth-child(2) { background: linear-gradient(155deg, rgba(255,255,255,.95), rgba(236,231,255,.78)); }
.service-card:nth-child(3) { background: linear-gradient(155deg, rgba(229,243,255,.9), rgba(244,249,255,.8)); }
.service-card:nth-child(4) { background: linear-gradient(155deg, rgba(255,249,235,.94), rgba(255,239,240,.76)); }
.service-card:nth-child(5) { background: linear-gradient(155deg, rgba(245,238,255,.96), rgba(227,244,247,.78)); }
.service-card:hover { transform: translateY(-9px); box-shadow: 0 33px 75px rgba(40,50,112,.18); }

.insight-viewport { padding-block: 32px; }
.insight-track { align-items: center; animation-duration: var(--insight-duration, 75s); }
.insight-track .wix-blog-feature, .insight-track > .wix-blog-card:nth-child(15n+1) { flex: 0 0 620px; width: 620px; height: 660px; grid-template-rows: 61% 39%; }
.insight-pair { display: grid; flex: 0 0 392px; width: 392px; height: 660px; grid-template-rows: repeat(2, minmax(0,1fr)); gap: 18px; }
.insight-pair .wix-blog-card { width: auto; height: auto; min-height: 0; grid-template-rows: 1fr; }
.insight-pair .is-feature02 { grid-template-columns: 42% 58%; grid-template-rows: 1fr; }
.insight-pair .is-feature02 .blog-art { min-height: 0; }
.insight-pair .blog-card-copy { min-height: 0; padding: 24px; }
.insight-viewport:hover .insight-track { animation-play-state: running; }
.insight-track:has(.wix-blog-card:hover), .insight-track:has(.wix-blog-card:focus-within) { animation-play-state: paused; }

.consult-social { grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px; }
.consult-social-card { min-height: 84px; }
.consult-social-card:nth-child(1) { grid-column: span 4; }.consult-social-card:nth-child(2) { grid-column: span 2; }.consult-social-card:nth-child(3) { grid-column: span 2; }.consult-social-card:nth-child(4) { grid-column: span 4; }.consult-social-card:nth-child(5) { grid-column: span 3; }
.consult-copy, .consult-form { transform-origin: center center; }
.consult.is-scrolling-down .consult-copy { transform: scale(1.12) translateY(-10px); }.consult.is-scrolling-down .consult-form { transform: scale(.87) translateY(12px); opacity: .78; }
.consult.is-scrolling-up .consult-copy { transform: scale(.87) translateY(12px); opacity: .78; }.consult.is-scrolling-up .consult-form { transform: scale(1.12) translateY(-10px); opacity: 1; }

.brand-finale { background: linear-gradient(90deg, rgba(2,12,34,.08), rgba(2,15,38,.01) 54%, rgba(2,15,38,.14)), url("assets/visuals/cg-final-cover-v6.png") center / cover no-repeat; }
.brand-finale > p { color: rgba(233,248,255,.96); opacity: .86; text-shadow: 0 0 12px rgba(130,220,255,.88), 0 0 35px rgba(75,174,255,.72), 0 8px 34px rgba(1,13,34,.72); }
.finale-light { inset: -35%; background: conic-gradient(from 205deg at 50% 51%, transparent 0 24deg, rgba(152,220,255,.22) 34deg, transparent 49deg 104deg, rgba(181,231,255,.18) 115deg, transparent 136deg 360deg), radial-gradient(circle at 50% 51%, rgba(211,246,255,.72) 0, rgba(111,205,255,.28) 3%, transparent 14%); mix-blend-mode: screen; animation: globeLight 15s linear infinite; }
@keyframes globeLight { to { transform: rotate(360deg); } }

@media (max-width: 1080px) { .service-card { grid-column: span 6; }.service-card-pr, .service-card-programmes { grid-column: span 6; }.insight-track .wix-blog-feature { flex-basis: 520px; width: 520px; }.insight-pair { flex-basis: 340px; width: 340px; }.consult-social-card:nth-child(n) { grid-column: span 3; } }
@media (max-width: 760px) { .header-tools .nav-login { margin-left: 9px; }.hero-pill-action { min-width: 0; padding-inline: 20px 39px; }.service-grid { grid-template-columns: 1fr; }.service-card, .service-card-pr, .service-card-programmes { grid-column: auto; min-height: 320px; }.insight-track .wix-blog-feature, .insight-track > .wix-blog-card:nth-child(15n+1) { flex-basis: min(88vw,420px); width: min(88vw,420px); height: 540px; }.insight-pair { flex-basis: min(82vw,350px); width: min(82vw,350px); height: 620px; }.consult-social { grid-template-columns: 1fr; }.consult-social-card:nth-child(n) { grid-column: auto; }.consult.is-scrolling-down .consult-copy, .consult.is-scrolling-down .consult-form, .consult.is-scrolling-up .consult-copy, .consult.is-scrolling-up .consult-form { transform: none; opacity: 1; } }

/* Previous-release history — continuous home palette, revised service hierarchy and PR social showcase. */
.header-tools .nav-login { margin-left: clamp(28px, 2.6vw, 54px); }
.hero { animation: homeHeroPalette 15s ease-in-out infinite; }
.journeys { animation: homeJourneyPalette 15s ease-in-out infinite; }
.hero-word-window .rotator-word { transition-duration: .72s, .26s; }
.hero-word-window .rotator-word.is-leaving { transform: translateX(3.7em); }
@keyframes homeHeroPalette {
  0%, 30% { background: radial-gradient(circle at 7% 18%, rgba(117,106,255,.42), transparent 31%), radial-gradient(circle at 58% 4%, rgba(75,207,245,.34), transparent 34%), radial-gradient(circle at 88% 76%, rgba(255,170,142,.38), transparent 34%), linear-gradient(128deg, #f5f1ff 0%, #eef9ff 48%, #fff2ec 100%); }
  36%, 63% { background: radial-gradient(circle at 12% 72%, rgba(113,202,219,.38), transparent 34%), radial-gradient(circle at 78% 12%, rgba(148,116,255,.32), transparent 33%), radial-gradient(circle at 94% 78%, rgba(251,199,142,.30), transparent 32%), linear-gradient(130deg, #eefbff 0%, #f1f3ff 49%, #fff7e8 100%); }
  69%, 96% { background: radial-gradient(circle at 9% 15%, rgba(247,176,201,.34), transparent 31%), radial-gradient(circle at 58% 80%, rgba(130,196,255,.31), transparent 36%), radial-gradient(circle at 90% 18%, rgba(176,139,255,.31), transparent 34%), linear-gradient(128deg, #fff3f6 0%, #f3efff 49%, #edfaff 100%); }
  100% { background: radial-gradient(circle at 7% 18%, rgba(117,106,255,.42), transparent 31%), radial-gradient(circle at 58% 4%, rgba(75,207,245,.34), transparent 34%), radial-gradient(circle at 88% 76%, rgba(255,170,142,.38), transparent 34%), linear-gradient(128deg, #f5f1ff 0%, #eef9ff 48%, #fff2ec 100%); }
}
@keyframes homeJourneyPalette {
  0%, 30% { background: radial-gradient(circle at 11% 22%, rgba(89,93,201,.38), transparent 32%), radial-gradient(circle at 84% 75%, rgba(38,140,183,.28), transparent 35%), linear-gradient(126deg, #0b1930, #162c58 56%, #1a4161); }
  36%, 63% { background: radial-gradient(circle at 10% 80%, rgba(49,175,182,.31), transparent 36%), radial-gradient(circle at 84% 16%, rgba(117,94,218,.34), transparent 34%), linear-gradient(126deg, #0a233b, #173760 55%, #27265a); }
  69%, 96% { background: radial-gradient(circle at 18% 18%, rgba(161,93,170,.27), transparent 34%), radial-gradient(circle at 82% 76%, rgba(63,156,204,.30), transparent 37%), linear-gradient(126deg, #151c42, #243263 55%, #124252); }
  100% { background: radial-gradient(circle at 11% 22%, rgba(89,93,201,.38), transparent 32%), radial-gradient(circle at 84% 75%, rgba(38,140,183,.28), transparent 35%), linear-gradient(126deg, #0b1930, #162c58 56%, #1a4161); }
}

.service-card-pr { grid-column: span 7; min-height: 360px; }
.service-card-programmes { grid-column: 8 / span 5; min-height: 360px; }
.service-card-programmes::before { right: -2px; bottom: 26px; font-size: clamp(2rem, 4.15vw, 4.6rem); }
.service-card:nth-child(2), .service-card:nth-child(3), .service-card:nth-child(4), .service-card:nth-child(5) { min-height: 326px; }
.service-card:nth-child(2) { background: linear-gradient(155deg, #fbfcff, #e7e3ff); }.service-card:nth-child(3) { background: linear-gradient(155deg, #effaff, #e8f3ff); }.service-card:nth-child(4) { background: linear-gradient(155deg, #fffaf0, #fff0f4); }.service-card:nth-child(5) { background: linear-gradient(155deg, #f9f2ff, #e8f8f7); }

.phone-field { height: 48px; align-items: stretch; }
.phone-field span { display: grid; align-items: center; min-height: 100%; padding: 0 12px; line-height: 1; }
.phone-field input { height: 100%; padding: 0 14px !important; line-height: normal; }

.footer-icon-links { gap: 14px; }
.footer-social-link { position: relative; display: grid; width: 38px; height: 38px; place-items: center; overflow: visible; color: #9bb2d0; border: 1px solid rgba(155,178,208,.34); border-radius: 50%; font-family: Arial, sans-serif; font-size: .82rem; font-weight: 850; letter-spacing: 0; text-decoration: none; transition: transform .28s cubic-bezier(.2,.8,.2,1), color .28s ease, background .28s ease, box-shadow .28s ease; }
.footer-social-link::after { content: attr(data-label); position: absolute; top: calc(100% + 9px); left: 50%; padding: 4px 7px; color: #fff; background: rgba(4,17,42,.88); border-radius: 5px; font-size: .62rem; font-weight: 700; letter-spacing: .03em; opacity: 0; pointer-events: none; transform: translate(-50%,-4px); transition: opacity .2s ease, transform .2s ease; white-space: nowrap; }
.footer-social-link:hover, .footer-social-link:focus-visible { color: #fff; background: #3d67b5; box-shadow: 0 9px 20px rgba(25,76,156,.36); outline: 0; transform: translateY(-5px) scale(1.08); }
.footer-social-link:hover::after, .footer-social-link:focus-visible::after { opacity: 1; transform: translate(-50%,0); }
.footer-social-xhs { font-size: .58rem; }

.xhs-showcase { display: grid; grid-template-columns: minmax(270px,.72fr) minmax(560px,1.28fr); gap: clamp(32px,6vw,96px); align-items: center; min-height: 720px; padding: clamp(72px,9vw,128px) max(30px,calc((100vw - var(--max))/2)); overflow: hidden; color: #122344; background: radial-gradient(circle at 5% 8%, rgba(193,164,255,.25), transparent 29%), radial-gradient(circle at 94% 88%, rgba(130,194,255,.22), transparent 30%), linear-gradient(135deg, #fff 0%, #f5f2ff 51%, #f9fcff 100%); }
.xhs-copy { position: relative; z-index: 3; }.xhs-copy h2 { max-width: 460px; margin: 12px 0 18px; font-size: clamp(2.5rem,4vw,4.45rem); line-height: 1.05; letter-spacing: -.055em; }.xhs-copy > p:not(.eyebrow) { max-width: 420px; color: #54657d; font-size: 1.05rem; line-height: 1.8; }.xhs-copy .button { margin-top: 18px; }
.xhs-stage { position: relative; min-height: 570px; }.xhs-phone { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; width: min(28vw,330px); min-width: 260px; overflow: hidden; color: #17233d; background: #fff; border: 11px solid #111b31; border-radius: 38px; box-shadow: 0 30px 70px rgba(40,47,99,.28), inset 0 0 0 1px rgba(255,255,255,.3); transform: translate(-50%,-50%); animation: xhsPhoneFloat 4.6s ease-in-out infinite; }
.xhs-phone::before { content: ''; position: absolute; z-index: 3; top: 7px; left: 50%; width: 36%; height: 18px; background: #111b31; border-radius: 999px; transform: translateX(-50%); }.xhs-phone-top { display: flex; justify-content: space-between; padding: 31px 16px 11px; color: #63718a; font-size: .7rem; font-weight: 800; letter-spacing: .04em; }.xhs-phone > img { width: 100%; aspect-ratio: 3/4; object-fit: cover; transition: opacity .25s ease, transform .38s ease; }.xhs-phone > img.is-changing { opacity: .18; transform: translateX(12px); }.xhs-phone-body { display: grid; gap: 9px; min-height: 105px; padding: 15px 16px 17px; }.xhs-phone-body strong { font-size: .9rem; line-height: 1.45; }.xhs-phone-body span { color: #8995aa; font-size: .88rem; }
.xhs-floating-cards { position: absolute; inset: 0; }.xhs-floating-card { position: absolute; z-index: 1; display: block; width: clamp(96px,9.2vw,132px); overflow: hidden; color: #fff; border: 1px solid rgba(255,255,255,.74); border-radius: 14px; box-shadow: 0 18px 38px rgba(42,48,103,.22); text-decoration: none; transform: translateZ(0); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, outline-color .2s ease; animation: xhsCardFloat 4.6s ease-in-out infinite; }.xhs-floating-card img { display: block; width: 100%; aspect-ratio: 3/4; object-fit: cover; }.xhs-floating-card span { position: absolute; right: 0; bottom: 0; left: 0; padding: 12px 9px 9px; background: linear-gradient(transparent,rgba(8,19,43,.82)); font-size: .66rem; font-weight: 800; opacity: 0; transition: opacity .25s ease; }.xhs-floating-card:hover, .xhs-floating-card:focus-visible, .xhs-floating-card.is-active { z-index: 4; outline: 3px solid rgba(107,81,230,.34); outline-offset: 3px; box-shadow: 0 28px 54px rgba(45,48,106,.32); transform: translateY(-11px) scale(1.075) rotate(0deg); }.xhs-floating-card:hover span, .xhs-floating-card:focus-visible span, .xhs-floating-card.is-active span { opacity: 1; }.xhs-floating-card:nth-child(1) { top: 1%; left: 2%; transform: rotate(-5deg); animation-delay: -.8s; }.xhs-floating-card:nth-child(2) { top: 4%; right: 2%; transform: rotate(4deg); animation-delay: -2s; }.xhs-floating-card:nth-child(3) { top: 38%; left: 0; transform: rotate(3deg); animation-delay: -1.4s; }.xhs-floating-card:nth-child(4) { top: 39%; right: 1%; transform: rotate(-4deg); animation-delay: -3s; }.xhs-floating-card:nth-child(5) { bottom: 0; left: 7%; transform: rotate(2deg); animation-delay: -2.6s; }
.xhs-showcase:hover .xhs-phone, .xhs-showcase:hover .xhs-floating-card, .xhs-showcase:focus-within .xhs-phone, .xhs-showcase:focus-within .xhs-floating-card { animation-play-state: paused; }
@keyframes xhsPhoneFloat { 0%,100% { margin-top: -7px; } 50% { margin-top: 7px; } } @keyframes xhsCardFloat { 0%,100% { margin-top: 0; } 50% { margin-top: -7px; } }

@media (max-width: 1080px) { .service-card-pr { grid-column: span 6; }.service-card-programmes { grid-column: span 6; }.xhs-showcase { grid-template-columns: 1fr; gap: 26px; }.xhs-copy { max-width: 620px; }.xhs-stage { width: min(100%,760px); margin: 0 auto; } }
@media (max-width: 760px) { .header-tools .nav-login { margin-left: 9px; }.xhs-showcase { min-height: 0; padding: 74px 22px 78px; }.xhs-copy h2 { font-size: clamp(2.35rem,11vw,3.2rem); }.xhs-stage { min-height: 650px; }.xhs-phone { width: min(70vw,300px); min-width: 0; }.xhs-floating-cards { top: auto; bottom: 0; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 8px; height: 138px; }.xhs-floating-card, .xhs-floating-card:nth-child(n) { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: auto; border-radius: 9px; transform: none; animation: none; }.xhs-floating-card:hover, .xhs-floating-card:focus-visible, .xhs-floating-card.is-active { transform: translateY(-6px) scale(1.03); }.xhs-floating-card span { display: none; }.footer-social-link { width: 34px; height: 34px; } }

/* Previous-release home colour field, service balance and glass form. */
main#main {
  background:
    radial-gradient(ellipse 68% 62% at 5% 6%, rgba(132, 142, 255, .46) 0%, rgba(179, 184, 255, .16) 35%, transparent 68%),
    radial-gradient(ellipse 70% 64% at 95% 12%, rgba(151, 222, 255, .42) 0%, rgba(213, 242, 255, .14) 39%, transparent 71%),
    radial-gradient(ellipse 72% 66% at 74% 100%, rgba(255, 202, 171, .40) 0%, rgba(255, 223, 199, .16) 36%, transparent 70%),
    linear-gradient(128deg, #eef2ff 0%, #f4f8ff 46%, #fff8ee 100%);
  background-size: 170% 170%;
  background-attachment: fixed;
  animation: v62-home-colour-field 22s cubic-bezier(.45, .05, .55, .95) infinite;
}
.hero,
.services {
  background: transparent !important;
  animation: none !important;
}
.hero::after,
.hero::before,
.services::before { display: none; }
.hero { margin-bottom: 0; }
.services { padding-top: clamp(76px, 8vw, 126px); }
@keyframes v62-home-colour-field {
  0%, 28% { background-position: 0% 0%; }
  34%, 61% { background-position: 100% 10%; }
  67%, 94% { background-position: 46% 100%; }
  100% { background-position: 0% 0%; }
}

.hero-title-lockup { padding-top: 0; }
.service-card-pr { grid-column: span 5; min-height: 332px; }
.service-card-programmes { grid-column: 6 / span 7; min-height: 332px; }
.service-card-programmes::before { right: 6px; bottom: 24px; font-size: clamp(2.1rem, 4.45vw, 4.9rem); }
.service-card-pr h3 { font-size: clamp(2rem, 3.2vw, 3.5rem); }

.consult-form {
  background: linear-gradient(138deg, rgba(255,255,255,.50), rgba(223,235,255,.24)) !important;
  border: 1px solid rgba(255,255,255,.62);
  box-shadow: 0 30px 76px rgba(24,39,79,.18), inset 0 1px 0 rgba(255,255,255,.70);
  backdrop-filter: blur(26px) saturate(132%);
  -webkit-backdrop-filter: blur(26px) saturate(132%);
}
.consult-form input,
.consult-form select,
.consult-form textarea {
  background: linear-gradient(135deg, rgba(255,255,255,.62), rgba(247,251,255,.40)) !important;
  border-color: rgba(176,194,220,.50) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.66);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.phone-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: stretch;
  height: 52px;
  box-sizing: border-box;
  background: rgba(255,255,255,.34);
  border-color: rgba(176,194,220,.56);
}
.phone-field span {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0 15px;
  line-height: 1;
  background: rgba(230,240,251,.46);
}
.phone-field input {
  display: block;
  min-height: 0;
  height: 100% !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 15px !important;
  line-height: 1.2 !important;
}

@media (max-width: 1080px) {
  .service-card-pr, .service-card-programmes { grid-column: span 6; min-height: 330px; }
}
@media (max-width: 760px) {
  main#main { background-attachment: scroll; }
  .services { padding-top: 72px; }
  .service-card-pr, .service-card-programmes { grid-column: auto; min-height: 310px; }
}

/* Current editorial service-direction layout with PR as the primary decision card. */
.services .section-intro {
  position: relative;
  grid-template-columns: minmax(0, .88fr) minmax(320px, .72fr);
  gap: 22px 84px;
  padding-bottom: 34px;
  border-bottom: 1px solid rgba(35,57,101,.14);
}
.services .section-intro .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -10px;
  color: #9b7137;
  letter-spacing: .22em;
}
.services .section-intro h2 {
  position: relative;
  margin: 0;
  letter-spacing: -.065em;
}
.services .section-intro h2::after {
  content: "01—06";
  display: block;
  margin-top: 16px;
  color: #8093b0;
  font-family: Inter, sans-serif;
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .2em;
}
.services .section-intro > p:last-child {
  max-width: 460px;
  margin: 0 0 5px auto;
  padding-left: 22px;
  color: #526a88;
  border-left: 2px solid rgba(172,132,72,.56);
  font-size: .94rem;
  line-height: 1.85;
}
.services .service-grid { gap: 16px; margin-top: 28px; }
.services .service-card {
  position: relative;
  min-height: 332px;
  gap: 20px;
  padding: 28px 28px 26px;
  overflow: hidden;
  border: 1px solid rgba(102,122,160,.18);
  border-radius: 20px;
  box-shadow: 0 16px 42px rgba(33,52,92,.075);
  transition: transform .38s cubic-bezier(.2,.8,.2,1), box-shadow .38s ease, border-color .32s ease;
}
.services .service-card::before {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  width: 26px;
  height: 26px;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .18;
  transition: transform .42s cubic-bezier(.2,.8,.2,1), opacity .3s ease;
}
.services .service-card:hover { transform: translateY(-9px); border-color: rgba(83,113,181,.42); box-shadow: 0 28px 66px rgba(31,49,91,.17); }
.services .service-card:hover::before { opacity: .54; transform: scale(3.7); }
.services .service-card > * { position: relative; z-index: 1; }
.services .service-card .service-number {
  width: max-content;
  padding: 5px 9px;
  color: #986d2f;
  background: rgba(183,139,66,.10);
  border: 1px solid rgba(174,129,57,.18);
  border-radius: 999px;
  font-size: .62rem;
  letter-spacing: .13em;
}
.services .service-card h3 { margin: 4px 0 10px; font-size: clamp(1.65rem, 2.2vw, 2.35rem); line-height: 1.08; letter-spacing: -.045em; }
.services .service-card .service-subline { min-height: 48px; margin-bottom: 16px; color: #69758b; font-size: .79rem; line-height: 1.75; }
.services .service-card .service-subline a { display: inline; padding: 0; color: #5e5bc1; background: none; border: 0; border-radius: 0; font-size: inherit; font-weight: 800; }
.services .service-card > div > p:last-child { max-width: 34ch; font-size: .89rem; line-height: 1.75; }
.services .service-card > .service-more {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 36px;
  padding: 0 14px;
  color: #153461;
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(38,72,120,.18);
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .02em;
  transition: color .28s ease, background .28s ease, transform .28s ease;
}
.services .service-card > .service-more::after { content: "↗"; font-size: .95rem; transition: transform .28s ease; }
.services .service-card > .service-more:hover { color: #fff; background: #183d70; transform: translateX(4px); }
.services .service-card > .service-more:hover::after { transform: translate(2px,-2px); }

.services .service-card-pr {
  grid-column: span 7;
  min-height: 452px;
  padding: clamp(38px, 4.4vw, 62px);
  color: #fff;
  background: radial-gradient(circle at 83% 18%, rgba(115,132,255,.62), transparent 29%), linear-gradient(126deg, #071d3a 0%, #123e70 58%, #355b9c 100%);
  border-color: rgba(166,207,247,.24);
  box-shadow: 0 28px 68px rgba(16,43,83,.24);
}
.services .service-card-pr::before { top: -34%; right: -15%; width: 360px; height: 360px; border-color: rgba(191,223,255,.42); opacity: .48; box-shadow: 0 0 0 28px rgba(161,211,255,.05), 0 0 0 62px rgba(161,211,255,.035); }
.services .service-card-pr::after { content: "01"; right: 3%; bottom: -21%; color: rgba(221,239,255,.10); font-family: Georgia, "Noto Serif SC", serif; font-size: min(27vw, 305px); font-weight: 600; letter-spacing: -.12em; }
.services .service-card-pr:hover { border-color: rgba(222,239,255,.60); box-shadow: 0 38px 82px rgba(15,47,95,.34); }
.services .service-card-pr .service-number { color: #f5d89e; background: rgba(239,204,139,.10); border-color: rgba(239,204,139,.30); }
.services .service-card-pr .card-kicker { margin: 2px 0 14px; color: #f5d89e; }
.services .service-card-pr h3 { max-width: 620px; margin-bottom: 16px; font-size: clamp(3.1rem, 5vw, 5.2rem); letter-spacing: -.075em; }
.services .service-card-pr .service-subline { max-width: 610px; min-height: 0; margin-bottom: 18px; color: #f3d89f; font-size: .92rem; }
.services .service-card-pr > div > p:last-child { max-width: 47ch; color: #d9e8f7; font-size: 1rem; }
.services .service-card-pr > .service-more { color: #102f5b; background: #f4d8a2; border-color: #f4d8a2; }
.services .service-card-pr > .service-more:hover { color: #fff; background: #5c77d2; border-color: #5c77d2; }

.services .service-card-programmes {
  grid-column: 8 / span 5;
  min-height: 452px;
  padding: 38px;
  color: #173252;
  background: radial-gradient(circle at 96% 0%, rgba(142,124,255,.25), transparent 35%), linear-gradient(145deg, rgba(255,255,255,.88), rgba(222,235,255,.72));
  border-color: rgba(137,151,214,.27);
}
.services .service-card-programmes::before { content: ""; top: auto; right: -50px; bottom: -50px; width: 170px; height: 170px; color: #5d65be; border-width: 22px; opacity: .12; }
.services .service-card-programmes::after { content: "PATHWAYS"; right: -42px; bottom: 23px; color: rgba(55,76,153,.075); font-family: Inter, sans-serif; font-size: clamp(1.6rem, 3.7vw, 4rem); font-weight: 900; letter-spacing: .09em; transform: rotate(-90deg); transform-origin: right bottom; }
.services .service-card-programmes h3 { margin-top: 24px; font-size: clamp(2.15rem, 3.15vw, 3.35rem); }
.services .service-card-programmes .service-subline { min-height: 0; }
.services .service-card-programmes > div > p:last-child { max-width: 31ch; }

.services .service-card:nth-child(3) { background: linear-gradient(148deg, rgba(255,255,255,.92), rgba(235,244,255,.70)); }
.services .service-card:nth-child(4) { background: linear-gradient(148deg, rgba(247,244,255,.93), rgba(237,234,255,.72)); }
.services .service-card:nth-child(5) { background: linear-gradient(148deg, rgba(255,252,245,.94), rgba(255,239,231,.72)); }
.services .service-card:nth-child(6) { background: linear-gradient(148deg, rgba(244,252,250,.93), rgba(228,245,244,.72)); }

@media (max-width: 1080px) {
  .services .section-intro { grid-template-columns: 1fr; gap: 14px; }
  .services .section-intro > p:last-child { margin-left: 0; }
  .services .service-card-pr, .services .service-card-programmes { grid-column: span 6; min-height: 390px; }
  .services .service-card-pr h3 { font-size: clamp(2.75rem, 5.2vw, 4.25rem); }
}
@media (max-width: 760px) {
  .services .section-intro { padding-bottom: 26px; }
  .services .section-intro .eyebrow { margin-bottom: 0; }
  .services .section-intro h2::after { margin-top: 10px; }
  .services .section-intro > p:last-child { padding-left: 16px; font-size: .86rem; }
  .services .service-grid { gap: 13px; margin-top: 20px; }
  .services .service-card, .services .service-card-pr, .services .service-card-programmes { grid-column: auto; min-height: 300px; padding: 28px 24px; }
  .services .service-card-pr { min-height: 382px; }
  .services .service-card-pr h3 { font-size: clamp(2.7rem, 13vw, 4.15rem); }
  .services .service-card-programmes h3 { margin-top: 16px; }
}

/* Linked subtitles and a complete Follow CG channel set. */
.services .service-card .service-subline { min-height: 0; }
.services .service-card-pr .service-subline { font-size: .84rem; }
.services .service-card:nth-child(3) .service-subline,
.services .service-card:nth-child(4) .service-subline,
.services .service-card:nth-child(5) .service-subline { font-size: .72rem; line-height: 1.82; }
.services .service-card .service-subline a { position: relative; display: inline; text-decoration: none; }
.services .service-card .service-subline a::after { content: ""; position: absolute; right: 0; bottom: -2px; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.services .service-card .service-subline a:hover::after,
.services .service-card .service-subline a:focus-visible::after { transform: scaleX(1); }
.consult-social { grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px; }
.consult-social-card:nth-child(1) { grid-column: span 4; }
.consult-social-card:nth-child(2) { grid-column: span 2; }
.consult-social-card:nth-child(3), .consult-social-card:nth-child(4), .consult-social-card:nth-child(5) { grid-column: span 2; }
.consult-social-card:nth-child(6), .consult-social-card:nth-child(7) { grid-column: span 3; }
.social-douyin { color: #fff; background: linear-gradient(145deg, #111827, #2c3855); font-size: .9rem; }
 .social-instagram { color: #fff; background: linear-gradient(145deg, #5635a8, #df567a 55%, #f4a34f); font-size: 1.1rem; }
@media (max-width: 1080px) { .consult-social-card:nth-child(n) { grid-column: span 3; } }
@media (max-width: 760px) { .consult-social { grid-template-columns: 1fr; }.consult-social-card:nth-child(n) { grid-column: auto; } }

/* V6.54 — Global mobility atlas. The hero and service direction share one three-phase colour field. */
body:has(.hero-atlas) main#main {
  position: relative;
  background-size: 180% 180%;
  animation: cg-shared-palette 30s ease-in-out infinite !important;
}
body:has(.hero-atlas) .hero, body:has(.hero-atlas) .services { background: transparent !important; animation: none !important; }
body:has(.hero-atlas) .hero { position: relative; isolation: isolate; grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr); min-height: calc(100svh - 78px); overflow: hidden; }
body:has(.hero-atlas) .hero-copy { position: relative; z-index: 2; }
body:has(.hero-atlas) .hero::before { content: ""; position: absolute; z-index: 0; inset: 0; display: block; background: radial-gradient(circle at 75% 48%, rgba(47,125,210,.13), transparent 30%); animation: cg-palette-breath 30s ease-in-out infinite; pointer-events: none; }
body:has(.hero-atlas) .services { position: relative; overflow: hidden; }
body:has(.hero-atlas) .services > * { position: relative; z-index: 1; }
.hero-atlas { position: relative; z-index: 1; min-height: 100%; overflow: hidden; pointer-events: none; }
.atlas-caption { position: absolute; top: 16%; right: 9%; color: #526c98; font-size: .62rem; font-weight: 800; letter-spacing: .21em; }
.atlas-globe { position: absolute; top: 16%; right: 12%; width: min(34vw, 490px); aspect-ratio: 1; border: 1px solid rgba(24,72,122,.35); border-radius: 50%; background: radial-gradient(circle at 33% 28%, rgba(255,255,255,.94) 0 2%, rgba(255,255,255,.48) 12%, rgba(126,189,236,.2) 42%, rgba(56,126,194,.05) 70%); box-shadow: inset -34px -23px 70px rgba(51,105,175,.13), 0 28px 75px rgba(40,90,153,.17); animation: atlas-drift 10s ease-in-out infinite; }
.atlas-globe::before, .atlas-globe::after { content: ""; position: absolute; inset: 7%; border: 1px solid rgba(27,75,122,.24); border-radius: 50%; }.atlas-globe::before { transform: rotate(62deg) scaleX(.46); }.atlas-globe::after { transform: rotate(-31deg) scaleX(.72); }
.atlas-globe em { position: absolute; top: 48%; left: 49%; width: 9px; height: 9px; border-radius: 50%; background: #c39450; box-shadow: 0 0 0 7px rgba(195,148,80,.16), 0 0 24px rgba(195,148,80,.75); font-size: 0; }
.atlas-latitude, .atlas-longitude { position: absolute; display: block; border: 1px solid rgba(37,90,141,.22); border-radius: 50%; }.atlas-latitude-one { top: 29%; right: 4%; left: 4%; height: 30%; }.atlas-latitude-two { top: 44%; right: 3%; left: 3%; height: 8%; }.atlas-longitude-one { top: 4%; bottom: 4%; left: 28%; width: 30%; }.atlas-longitude-two { top: 2%; bottom: 2%; left: 45%; width: 11%; }
.atlas-orbit { position: absolute; display: block; border: 1px dashed rgba(55,111,172,.36); border-radius: 50%; }.atlas-orbit-one { top: 8%; right: 5%; width: min(44vw, 620px); aspect-ratio: 1; animation: atlas-orbit 26s linear infinite; }.atlas-orbit-two { right: 20%; bottom: 13%; width: min(21vw, 290px); aspect-ratio: 1; animation: atlas-orbit 18s linear infinite reverse; }
.atlas-route { position: absolute; display: block; height: 1px; background: linear-gradient(90deg, transparent, rgba(39,104,176,.65), transparent); transform-origin: 0 50%; }.atlas-route-one { top: 39%; left: 8%; width: 75%; transform: rotate(27deg); }.atlas-route-two { top: 70%; left: 25%; width: 62%; transform: rotate(-37deg); }
.atlas-marker { position: absolute; display: inline-flex; align-items: center; gap: 8px; color: #305789; font-size: .59rem; font-weight: 800; letter-spacing: .1em; }.atlas-marker b { display: grid; place-items: center; width: 25px; aspect-ratio: 1; border: 1px solid rgba(48,87,137,.46); border-radius: 50%; color: #9c7039; background: rgba(255,255,255,.55); font-size: .64rem; }.atlas-marker i { font-style: normal; }.atlas-marker-one { top: 24%; left: 13%; }.atlas-marker-two { top: 66%; left: 14%; }.atlas-marker-three { right: 8%; bottom: 12%; }
@keyframes atlas-drift { 50% { transform: translate(-9px, 12px) scale(1.025); } } @keyframes atlas-orbit { to { transform: rotate(360deg); } }
@keyframes cg-shared-palette {
  0%, 3% { background-image: radial-gradient(ellipse 67% 62% at 5% 8%, rgba(132,142,255,.47), transparent 68%), radial-gradient(ellipse 70% 64% at 95% 12%, rgba(151,222,255,.43), transparent 71%), radial-gradient(ellipse 72% 66% at 74% 100%, rgba(255,202,171,.40), transparent 70%), linear-gradient(128deg,#eef2ff 0%,#f4f8ff 46%,#fff8ee 100%); background-position: 0% 0%; }
  16%, 29% { background-image: radial-gradient(ellipse 67% 62% at 5% 8%, rgba(150,126,255,.57), transparent 67%), radial-gradient(ellipse 70% 64% at 95% 12%, rgba(116,211,255,.53), transparent 70%), radial-gradient(ellipse 72% 66% at 74% 100%, rgba(255,188,142,.48), transparent 69%), linear-gradient(128deg,#e9edff 0%,#eef8ff 46%,#fff2e5 100%); background-position: 42% 13%; }
  34%, 37% { background-image: radial-gradient(ellipse 65% 67% at 10% 84%, rgba(125,213,218,.43), transparent 66%), radial-gradient(ellipse 72% 66% at 93% 10%, rgba(163,141,255,.45), transparent 71%), radial-gradient(ellipse 69% 63% at 68% 94%, rgba(255,212,139,.39), transparent 70%), linear-gradient(128deg,#ebfbfb 0%,#edf4ff 46%,#fff9e9 100%); background-position: 100% 9%; }
  50%, 63% { background-image: radial-gradient(ellipse 65% 67% at 10% 84%, rgba(102,204,211,.54), transparent 66%), radial-gradient(ellipse 72% 66% at 93% 10%, rgba(144,116,249,.55), transparent 71%), radial-gradient(ellipse 69% 63% at 68% 94%, rgba(255,195,109,.48), transparent 70%), linear-gradient(128deg,#e1f7f7 0%,#e6efff 46%,#fff3d9 100%); background-position: 82% 44%; }
  68%, 71% { background-image: radial-gradient(ellipse 68% 65% at 8% 14%, rgba(247,176,201,.42), transparent 68%), radial-gradient(ellipse 70% 68% at 92% 82%, rgba(130,196,255,.38), transparent 70%), radial-gradient(ellipse 70% 63% at 85% 10%, rgba(176,139,255,.37), transparent 70%), linear-gradient(128deg,#fff3f6 0%,#f3efff 49%,#edfaff 100%); background-position: 46% 100%; }
  84%, 97% { background-image: radial-gradient(ellipse 68% 65% at 8% 14%, rgba(245,152,191,.52), transparent 68%), radial-gradient(ellipse 70% 68% at 92% 82%, rgba(99,180,247,.50), transparent 70%), radial-gradient(ellipse 70% 63% at 85% 10%, rgba(153,113,244,.49), transparent 70%), linear-gradient(128deg,#ffebf1 0%,#eee9ff 49%,#e5f7ff 100%); background-position: 16% 72%; }
  100% { background-image: radial-gradient(ellipse 67% 62% at 5% 8%, rgba(132,142,255,.47), transparent 68%), radial-gradient(ellipse 70% 64% at 95% 12%, rgba(151,222,255,.43), transparent 71%), radial-gradient(ellipse 72% 66% at 74% 100%, rgba(255,202,171,.40), transparent 70%), linear-gradient(128deg,#eef2ff 0%,#f4f8ff 46%,#fff8ee 100%); background-position: 0% 0%; }
}
@keyframes cg-palette-breath { 0%, 3%, 34%, 37%, 68%, 71%, 100% { opacity: .34; transform: scale(.985); } 16%, 50%, 84% { opacity: .78; transform: scale(1.035); } }
@media (max-width: 980px) { body:has(.hero-atlas) .hero { grid-template-columns: 1fr; }.hero-atlas { position: absolute; inset: 0; opacity: .64; }.atlas-globe { top: 12%; right: -6%; width: 57vw; }.atlas-orbit-one { right: -4%; width: 72vw; }.atlas-marker-one { left: 51%; }.atlas-marker-two { left: 56%; } }
@media (max-width: 680px) { body:has(.hero-atlas) { overflow-x: hidden; } body:has(.hero-atlas) .hero-copy { box-sizing: border-box; width: 100%; max-width: 100%; overflow: hidden; }.atlas-caption { top: 13%; right: 7%; font-size: .5rem; }.atlas-globe { top: 13%; right: -22%; width: 77vw; }.atlas-orbit-one { right: -22%; width: 94vw; }.atlas-orbit-two { width: 42vw; }.atlas-marker { display: none; }.atlas-route-one { left: 42%; width: 79%; }.atlas-route-two { left: 41%; width: 70%; } }

/* V6-7 — refined global mobility instrument. */
.hero-atlas {
  --atlas-rx: 0deg;
  --atlas-ry: 0deg;
  contain: layout paint;
  isolation: isolate;
  perspective: 1100px;
}
.atlas-stage {
  position: absolute;
  inset: 0;
  transform: rotateX(var(--atlas-rx)) rotateY(var(--atlas-ry));
  transform-style: preserve-3d;
  transition: transform .3s cubic-bezier(.2,.8,.2,1);
  animation: atlas-stage-float 11s ease-in-out infinite;
  will-change: transform;
}
.atlas-halo {
  position: absolute;
  top: 6%;
  right: -1%;
  width: min(48vw, 690px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(88,158,224,.22), rgba(104,137,210,.08) 43%, transparent 72%);
  filter: blur(18px);
  opacity: .72;
}
.atlas-grid {
  position: absolute;
  inset: 8% 0 5% 8%;
  background-image: linear-gradient(rgba(38,91,148,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(38,91,148,.08) 1px, transparent 1px);
  background-size: 38px 38px;
  -webkit-mask-image: radial-gradient(circle at 66% 46%, #000 4%, transparent 72%);
  mask-image: radial-gradient(circle at 66% 46%, #000 4%, transparent 72%);
  opacity: .52;
}
.atlas-caption { z-index: 7; top: 12%; right: 8%; }
.atlas-globe {
  z-index: 4;
  top: 12%;
  right: 8%;
  width: min(38vw, 540px);
  overflow: hidden;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.96) 0 2%, rgba(255,255,255,.52) 13%, transparent 30%),
    radial-gradient(circle at 50% 55%, rgba(84,165,226,.23), rgba(44,105,171,.08) 60%, rgba(20,58,107,.14) 100%);
  box-shadow: inset -36px -26px 74px rgba(36,84,151,.16), inset 0 1px rgba(255,255,255,.82), 0 34px 90px rgba(30,72,132,.2);
  animation: atlas-breathe 7.2s ease-in-out infinite;
  will-change: transform;
}
.atlas-globe::before { animation: atlas-meridian 36s linear infinite; }
.atlas-globe::after { animation: atlas-meridian 28s linear infinite reverse; }
.atlas-orbit { z-index: 3; border-style: solid; box-shadow: inset 0 0 30px rgba(78,139,201,.04); will-change: transform; }
.atlas-orbit::before,
.atlas-orbit::after { content: ""; position: absolute; border-radius: 50%; background: #c49a5b; box-shadow: 0 0 0 5px rgba(196,154,91,.1), 0 0 18px rgba(196,154,91,.5); }
.atlas-orbit::before { top: 13%; left: 10%; width: 6px; height: 6px; }
.atlas-orbit::after { right: 15%; bottom: 9%; width: 4px; height: 4px; }
.atlas-orbit-one { top: 5%; right: 1%; width: min(46vw, 650px); border-color: rgba(42,103,168,.38); animation: atlas-spin 32s linear infinite; }
.atlas-orbit-two { right: 15%; bottom: 8%; width: min(25vw, 350px); border-color: rgba(58,117,179,.3); animation: atlas-spin-reverse 22s linear infinite; }
.atlas-orbit-three { position: absolute; top: 22%; right: 5%; width: min(33vw, 455px); aspect-ratio: 1; border: 1px solid rgba(183,139,77,.24); transform: rotate(28deg) scaleY(.62); animation: atlas-spin-tilted 15s linear infinite; }
.atlas-route { z-index: 5; overflow: visible; opacity: .7; }
.atlas-route::after { content: ""; position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(95,166,222,.13), 0 0 17px rgba(48,119,187,.8); animation: atlas-route-flow 8.5s linear infinite; }
.atlas-route-two::after { animation-delay: -4.2s; animation-duration: 7.4s; }
.atlas-sweep { position: absolute; z-index: 5; top: 12%; right: 8%; width: min(38vw,540px); aspect-ratio: 1; border-radius: 50%; background: conic-gradient(from 0deg, transparent 0 83%, rgba(255,255,255,.28) 92%, transparent 98%); opacity: .58; animation: atlas-sweep 9s cubic-bezier(.4,0,.2,1) infinite; mix-blend-mode: screen; }
.atlas-core { position: absolute; z-index: 4; top: 50%; left: 50%; width: 29%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.66); border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.92), rgba(83,159,219,.19) 34%, rgba(31,80,137,.08) 68%, transparent 70%); transform: translate(-50%,-50%); box-shadow: 0 0 38px rgba(74,150,211,.2); }
.atlas-core i { position: absolute; inset: 12%; border: 1px solid rgba(49,110,171,.22); border-radius: 50%; }
.atlas-core i:nth-child(2) { inset: 28%; border-color: rgba(188,143,79,.34); }
.atlas-core i:nth-child(3) { inset: 43%; background: #bf9458; border: 0; box-shadow: 0 0 18px rgba(191,148,88,.62); }
.atlas-marker { z-index: 7; }
.atlas-marker b { animation: atlas-marker-pulse 2.6s ease-in-out infinite; }
.atlas-marker-two b { animation-delay: -.7s; }
.atlas-marker-three b { animation-delay: -1.4s; }
@keyframes atlas-stage-float { 50% { transform: translate3d(0,-5px,0) rotateX(var(--atlas-rx)) rotateY(var(--atlas-ry)); } }
@keyframes atlas-breathe { 50% { transform: scale(1.025); opacity: .96; } }
@keyframes atlas-meridian { to { transform: rotate(422deg) scaleX(.46); } }
@keyframes atlas-spin { to { transform: rotate(360deg); } }
@keyframes atlas-spin-reverse { to { transform: rotate(-360deg); } }
@keyframes atlas-spin-tilted { from { transform: rotate(28deg) scaleY(.62); } to { transform: rotate(388deg) scaleY(.62); } }
@keyframes atlas-route-flow { 0% { transform: translateX(0) scale(.7); opacity: 0; } 12%,82% { opacity: 1; } 100% { transform: translateX(70vw) scale(1); opacity: 0; } }
@keyframes atlas-sweep { 0%,18% { transform: rotate(0); opacity: 0; } 28%,76% { opacity: .58; } 86%,100% { transform: rotate(360deg); opacity: 0; } }
@keyframes atlas-marker-pulse { 50% { transform: scale(1.16); box-shadow: 0 0 0 8px rgba(195,148,80,.08), 0 0 20px rgba(195,148,80,.3); } }
.hero-atlas.is-paused *, .hero-atlas.is-paused *::before, .hero-atlas.is-paused *::after { animation-play-state: paused !important; }
@media (max-width: 980px) {
  .atlas-halo { right: -16%; width: min(68vw,520px); }
  .atlas-grid, .atlas-orbit-three { display: none; }
  .atlas-globe, .atlas-sweep { top: 12%; right: -4%; width: min(52vw,390px); }
  .atlas-orbit-one { right: -8%; width: min(68vw,510px); }
  .atlas-orbit-two { right: 8%; width: min(32vw,250px); }
}
@media (max-width: 680px) {
  .hero-atlas { max-height: 310px; }
  .atlas-caption, .atlas-grid, .atlas-sweep, .atlas-orbit-two, .atlas-orbit-three, .atlas-route-two { display: none; }
  .atlas-halo { top: 4%; right: -29%; width: min(98vw,390px); }
  .atlas-globe { top: 12%; right: -18%; width: min(82vw,330px); }
  .atlas-orbit-one { top: 3%; right: -24%; width: min(98vw,390px); }
  .atlas-route-one { top: 54%; left: 43%; width: 64%; }
}
@media (update: slow) {
  .atlas-sweep, .atlas-route::after, .atlas-marker b { animation: none !important; }
  .atlas-orbit-two, .atlas-orbit-three { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-atlas *, .hero-atlas *::before, .hero-atlas *::after { animation: none !important; transition: none !important; }
  .atlas-stage { transform: none !important; }
}

/* V6-8 — branded lock-up and a quieter CG orbital sculpture. */
.brand.brand-lockup {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 11px;
  width: clamp(196px, 17vw, 238px);
  min-width: 196px;
  height: 58px;
  padding: 0;
  overflow: visible;
  text-decoration: none;
}
.brand.brand-lockup::before,
.brand.brand-lockup::after { content: none !important; display: none !important; }
.brand.brand-lockup > img {
  display: block;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  max-width: 46px;
  max-height: 46px;
  object-fit: contain;
  filter: drop-shadow(0 7px 16px rgba(31,71,135,.14));
}
.brand-lockup-copy { display: grid; min-width: 0; gap: 3px; line-height: 1; }
.brand-lockup-copy strong { color: #132e55; font-size: .96rem; font-weight: 760; letter-spacing: .16em; white-space: nowrap; }
.brand-lockup-copy small { color: #58708e; font-size: .5rem; font-weight: 800; letter-spacing: .12em; white-space: nowrap; }
.brand.brand-lockup:hover .brand-lockup-copy strong,
.brand.brand-lockup:focus-visible .brand-lockup-copy strong { color: #345f9f; }

body:has(.hero-atlas) .hero { grid-template-columns: minmax(0,.92fr) minmax(430px,1.08fr); }
.hero-atlas { min-height: 560px; }
.atlas-stage { animation: atlas-stage-float 12s ease-in-out infinite; }
.atlas-halo { top: 7%; right: 1%; width: min(45vw,640px); filter: blur(16px); opacity: .62; }
.atlas-globe {
  top: 13%;
  right: 9%;
  width: min(35vw,500px);
  overflow: visible;
  border-color: rgba(43,99,158,.26);
  background: radial-gradient(circle at 33% 27%, rgba(255,255,255,.93) 0 3%, rgba(255,255,255,.42) 15%, transparent 34%), radial-gradient(circle at 52% 56%, rgba(100,184,235,.2), rgba(73,119,187,.09) 57%, rgba(35,67,126,.12) 100%);
  box-shadow: inset -32px -22px 66px rgba(39,76,142,.13), inset 0 1px rgba(255,255,255,.85), 0 30px 82px rgba(30,72,132,.17);
  animation: atlas-breathe 8.4s ease-in-out infinite;
}
.atlas-globe::before,
.atlas-globe::after { content: none; display: none; }
.atlas-orbit-one {
  top: 7%;
  right: 1.5%;
  width: min(45vw,630px);
  border-color: rgba(50,105,171,.26);
  transform: rotate(-12deg) scaleY(.82);
  animation: atlas-single-orbit 34s linear infinite;
  box-shadow: inset 0 0 34px rgba(78,139,201,.035);
}
.atlas-orbit-one::before { top: 15%; left: 11%; width: 5px; height: 5px; }
.atlas-orbit-one::after { right: 17%; bottom: 11%; width: 3px; height: 3px; }
.atlas-sweep {
  top: 13%;
  right: 9%;
  width: min(35vw,500px);
  opacity: .24;
  background: conic-gradient(from 0deg, transparent 0 88%, rgba(255,255,255,.22) 94%, transparent 99%);
  animation: atlas-sweep 13s cubic-bezier(.4,0,.2,1) infinite;
}
.atlas-logo-shell {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 35%;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 50%;
  background: rgba(255,255,255,.5);
  box-shadow: 0 18px 44px rgba(35,72,137,.17), inset 0 1px rgba(255,255,255,.95), 0 0 52px rgba(105,154,232,.16);
  transform: translate(-50%,-50%);
  backdrop-filter: blur(10px);
}
.atlas-logo { display: block; width: 76%; height: 76%; object-fit: contain; filter: drop-shadow(0 10px 20px rgba(35,69,132,.17)); }
@keyframes atlas-single-orbit { from { transform: rotate(-12deg) scaleY(.82); } to { transform: rotate(348deg) scaleY(.82); } }
@keyframes atlas-breathe { 50% { transform: scale(1.018); opacity: .98; } }

@media (max-width: 1100px) {
  .brand.brand-lockup { width: 202px; min-width: 202px; gap: 9px; }
  .brand.brand-lockup > img { flex-basis: 42px; width: 42px; height: 42px; }
  .brand-lockup-copy strong { font-size: .86rem; }
  .brand-lockup-copy small { font-size: .43rem; }
}
@media (max-width: 980px) {
  body:has(.hero-atlas) .hero { grid-template-columns: 1fr; }
  .hero-atlas { position: relative; inset: auto; min-height: 390px; opacity: 1; }
  .atlas-halo { top: -8%; right: 50%; width: min(76vw,520px); transform: translateX(50%); }
  .atlas-globe, .atlas-sweep { top: 2%; right: 50%; width: min(52vw,390px); transform: translateX(50%); }
  .atlas-orbit-one { top: -5%; right: calc(50% - min(34vw,255px)); width: min(68vw,510px); }
}
@media (max-width: 680px) {
  .brand.brand-lockup { width: 166px; min-width: 166px; height: 48px; gap: 8px; }
  .brand.brand-lockup > img { flex-basis: 38px; width: 38px; height: 38px; }
  .brand-lockup-copy strong { font-size: .78rem; letter-spacing: .1em; }
  .brand-lockup-copy small { font-size: .39rem; letter-spacing: .075em; }
  .hero-atlas { position: relative; inset: auto; min-height: 292px; max-height: 292px; opacity: 1; }
  .atlas-stage { inset: 0; }
  .atlas-halo { top: -2%; right: 50%; width: min(92vw,340px); transform: translateX(50%); }
  .atlas-globe { top: 4%; right: 50%; width: min(72vw,276px); transform: translateX(50%); }
  .atlas-orbit-one { top: -1%; right: calc(50% - min(44vw,167px)); width: min(88vw,334px); }
  .atlas-sweep { display: none; }
}
@media (max-width: 410px) {
  .brand.brand-lockup { width: 140px; min-width: 140px; }
  .brand-lockup-copy small { display: none; }
}

/* V6-9 — quieter kinetic brand core and featured insurance direction. */
.atlas-stage{filter:drop-shadow(0 28px 55px rgba(31,74,130,.12))}
.atlas-globe{background:radial-gradient(circle at 36% 28%,rgba(255,255,255,.9) 0 4%,rgba(151,222,234,.52) 18%,rgba(105,116,229,.24) 48%,rgba(255,255,255,.08) 73%),linear-gradient(145deg,rgba(255,255,255,.68),rgba(128,183,223,.18));border-color:rgba(255,255,255,.74);box-shadow:inset -26px -30px 68px rgba(38,81,151,.14),inset 15px 14px 30px rgba(255,255,255,.75),0 36px 90px rgba(43,84,151,.2);animation:atlas-breathe 7s ease-in-out infinite}
.atlas-globe::before{inset:-9%;border:1px solid rgba(70,106,175,.22);transform:rotate(-17deg) scaleY(.78);animation:atlas-single-orbit 19s linear infinite}
.atlas-globe::after{inset:7%;border:0;background:conic-gradient(from 210deg,transparent 0 67%,rgba(255,255,255,.8) 76%,rgba(117,215,217,.48) 84%,transparent 92%);filter:blur(2px);transform:none;animation:atlas-single-orbit 12s linear infinite reverse}
.atlas-logo-shell{width:45%;height:38%;aspect-ratio:auto;overflow:hidden;border:0;background:transparent;box-shadow:none;backdrop-filter:none}
.atlas-logo{display:block;width:100%;height:auto;object-fit:initial;transform:translateY(-2%);filter:drop-shadow(0 18px 24px rgba(43,62,139,.26));animation:atlas-mark-pulse 6s ease-in-out infinite}
.atlas-orbit-one{border-style:solid;border-color:rgba(77,111,177,.17);box-shadow:0 0 0 18px rgba(255,255,255,.06);animation-duration:34s}
.atlas-sweep{opacity:.34}
.service-card-insurance{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;background:linear-gradient(135deg,rgba(21,62,93,.98),rgba(31,102,111,.92));color:#fff}
.service-card-insurance .service-number,.service-card-insurance .card-kicker{color:#dcb878}.service-card-insurance p{color:rgba(255,255,255,.7)}.service-card-insurance a{color:#fff}.service-card-insurance .service-more{border-color:rgba(255,255,255,.28)}
@keyframes atlas-mark-pulse{50%{transform:scale(1.06) rotate(1.4deg);filter:drop-shadow(0 22px 32px rgba(54,68,167,.38))}}
@media(max-width:680px){.service-card-insurance{grid-template-columns:1fr}.atlas-orbit-one{box-shadow:0 0 0 10px rgba(255,255,255,.05)}}
.fo-page .brand-lockup-copy strong,.fo-page .brand-lockup-copy small,.vcc-page .brand-lockup-copy strong,.vcc-page .brand-lockup-copy small,.ep-score-page .brand-lockup-copy strong,.ep-score-page .brand-lockup-copy small,.insurance-page .brand-lockup-copy strong,.insurance-page .brand-lockup-copy small{color:rgba(255,255,255,.84)!important}

/* V7.0 — one breathing sphere, one orbit and gentle pointer parallax. */
.atlas-globe::before,.atlas-globe::after,.atlas-sweep{content:none!important;display:none!important}
.atlas-logo-shell{width:45%;height:45%;aspect-ratio:1;overflow:visible}
.atlas-logo{width:100%;height:100%;object-fit:contain;transform:none;animation:none}

/* V7.1 refinement — replace the two gold orbit dots with a continuous spectral route. */
.atlas-orbit-one::before{content:""!important;display:block!important;inset:-2px!important;width:auto!important;height:auto!important;border:0!important;border-radius:50%!important;background:conic-gradient(from 215deg,transparent 0 60%,rgba(117,215,217,.1) 67%,rgba(118,128,236,.78) 74%,rgba(255,255,255,.9) 77%,rgba(117,215,217,.18) 82%,transparent 89%)!important;box-shadow:0 0 32px rgba(94,139,226,.13)!important;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));animation:atlas-route-spectrum 9s ease-in-out infinite!important}
.atlas-orbit-one::after{content:""!important;display:block!important;inset:17%!important;width:auto!important;height:auto!important;border:1px solid rgba(87,173,206,.14)!important;border-radius:50%!important;background:transparent!important;box-shadow:inset 0 0 28px rgba(122,130,230,.08),0 0 24px rgba(117,215,217,.07)!important}
@keyframes atlas-route-spectrum{0%,100%{opacity:.58;transform:rotate(-7deg)}50%{opacity:1;transform:rotate(7deg)}}

/* Featured insurance direction: a legible editorial panel plus a purpose-built protection map. */
.service-card-insurance{grid-template-columns:minmax(310px,.92fr) minmax(360px,1.08fr)!important;grid-template-rows:auto 1fr auto!important;grid-template-areas:"number number" "visual copy" "visual action";gap:18px 48px!important;align-items:center!important;min-height:470px!important;padding:40px 46px!important;background:radial-gradient(circle at 12% 20%,rgba(101,222,207,.2),transparent 28%),radial-gradient(circle at 86% 82%,rgba(93,114,222,.24),transparent 34%),linear-gradient(132deg,#0a2b4b,#124e63 56%,#233f72)!important;border-color:rgba(255,255,255,.18)!important;box-shadow:0 30px 74px rgba(20,49,91,.2)!important;overflow:hidden}
.service-card-insurance .service-number{grid-area:number;color:#9ee6da!important}.service-card-insurance .insurance-copy{grid-area:copy;align-self:end;position:relative;z-index:2}
.service-card-insurance .insurance-copy h3{margin:7px 0 15px;color:#fff;font-size:clamp(2.15rem,3.25vw,3.65rem);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.service-card-insurance .insurance-copy>p:not(.card-kicker):not(.service-subline){max-width:620px;color:rgba(255,255,255,.9)!important;font-size:1rem;line-height:1.75}
.service-card-insurance .service-subline{margin:0 0 12px}.service-card-insurance .service-subline a{color:#c9f4ee!important;border-color:rgba(201,244,238,.4)!important;font-size:.9rem}
.service-card-insurance .service-more{grid-area:action;align-self:start!important;color:#fff!important;border:1px solid rgba(255,255,255,.38)!important;border-radius:999px;padding:11px 42px 11px 17px}
.service-card-insurance .service-more::after{right:15px;top:50%;transform:translate(-7px,-50%)}.service-card-insurance:hover .service-more::after{transform:translate(0,-50%)}
.insurance-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.insurance-tags span{padding:6px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:rgba(255,255,255,.84);background:rgba(255,255,255,.07);font-size:.7rem;letter-spacing:.03em}
.insurance-visual{grid-area:visual;position:relative;align-self:stretch;min-height:330px;isolation:isolate}.insurance-visual::before{content:"";position:absolute;inset:6% 4%;border-radius:38% 62% 55% 45%/46% 38% 62% 54%;background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.17),transparent 32%),linear-gradient(145deg,rgba(255,255,255,.08),rgba(89,206,199,.08));filter:blur(.2px);animation:insurance-field 9s ease-in-out infinite}
.insurance-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(185,240,235,.24);border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg);box-shadow:0 0 28px rgba(91,220,207,.08)}.insurance-ring.ring-one{width:72%;aspect-ratio:1;animation:insurance-orbit 18s linear infinite}.insurance-ring.ring-two{width:48%;aspect-ratio:1;border-style:dashed;animation:insurance-orbit-reverse 13s linear infinite}
.insurance-axis{position:absolute;left:15%;right:15%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);transform:rotate(-21deg);box-shadow:0 0 18px rgba(158,230,221,.24)}
.insurance-core{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:124px;aspect-ratio:1;border:1px solid rgba(255,255,255,.52);border-radius:50%;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.94),rgba(140,221,218,.62) 25%,rgba(89,112,211,.45) 57%,rgba(14,45,79,.18) 72%);box-shadow:inset -15px -18px 36px rgba(19,49,95,.22),0 0 0 14px rgba(255,255,255,.045),0 22px 45px rgba(2,22,49,.3);transform:translate(-50%,-50%);animation:insurance-core 5.5s ease-in-out infinite}.insurance-core b{font-family:Georgia,serif;font-size:2rem;color:#15345b}.insurance-core small{position:absolute;top:calc(100% + 16px);width:180px;text-align:center;color:rgba(255,255,255,.68);font-size:.55rem;letter-spacing:.18em}
.insurance-node{position:absolute;padding:7px 9px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#dffbf8;background:rgba(9,38,70,.38);box-shadow:0 10px 22px rgba(3,21,48,.18);backdrop-filter:blur(8px);font-size:.56rem;font-weight:850;letter-spacing:.14em}.node-health{left:5%;top:23%}.node-income{right:1%;top:37%}.node-family{left:13%;bottom:15%}
@keyframes insurance-orbit{to{transform:translate(-50%,-50%) rotate(342deg)}}@keyframes insurance-orbit-reverse{to{transform:translate(-50%,-50%) rotate(-378deg)}}@keyframes insurance-core{50%{transform:translate(-50%,-50%) scale(1.045);box-shadow:inset -15px -18px 36px rgba(19,49,95,.22),0 0 0 19px rgba(255,255,255,.035),0 27px 55px rgba(2,22,49,.34)}}@keyframes insurance-field{50%{transform:scale(1.04) rotate(2deg);opacity:.78}}
@media(max-width:900px){.service-card-insurance{grid-template-columns:1fr!important;grid-template-areas:"number" "visual" "copy" "action";padding:34px 30px!important}.insurance-visual{min-height:300px}.service-card-insurance .insurance-copy h3{font-size:clamp(2.1rem,7vw,3rem)}}
@media(max-width:560px){.service-card-insurance{min-height:0!important;padding:29px 23px!important;gap:14px!important}.insurance-visual{min-height:255px}.insurance-core{width:104px}.insurance-node{font-size:.5rem}.service-card-insurance .insurance-copy h3{font-size:2.15rem}}
@media(prefers-reduced-motion:reduce){.atlas-orbit-one::before,.insurance-visual::before,.insurance-ring,.insurance-core{animation:none!important}}
