:root {
  --brand: #00a0e9;
  --ink: #202428;
  --brand-strong: #006d9f;
  --brand-deep: #00587f;
  --brand-soft: #e5f5fc;
  --coral: #dd765f;
  --rose: #f4e6e1;
  --sky: #e5f2f9;
  --paper: #f7f9fa;
  --white: #fff;
  --muted: #606b73;
  --line: #dbe4e9;
  --site-gutter: clamp(24px, 4.5%, 100px);
  --font: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif;
  color-scheme: light;
}
* { box-sizing: border-box; letter-spacing: 0; }
html { scroll-padding-top: 96px; }
body { margin: 0; font-family: var(--font); line-height: 1.7; color: var(--ink); background: var(--white); -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
p, h1, h2, h3, figure { margin: 0; }
h1, h2, h3 { line-height: 1.4; font-weight: 700; overflow-wrap: anywhere; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--brand-strong); outline-offset: 5px; }
::selection { background: #b9e4f8; color: #162c38; }
.shell { width: min(1240px, calc(100% - 112px)); margin-inline: auto; }
.site-header > .shell, .site-footer > .shell { width: calc(100% - var(--site-gutter) * 2); max-width: none; }
.section { padding-block: 92px; }
.icon { display: inline-block; width: 20px; height: 20px; object-fit: contain; flex: 0 0 20px; vertical-align: middle; }
.eyebrow { color: var(--brand-strong); font-size: 11px; font-weight: 700; line-height: 1.5; margin-bottom: 23px; }
h2 { font-size: 36px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 22px; min-height: 50px; padding: 13px 22px; border: 1px solid transparent; border-radius: 4px; font-size: 13px; font-weight: 700; white-space: normal; transition: background .18s ease, box-shadow .18s ease; }
.button-dark { background: var(--brand-strong); color: var(--white); }
.button-dark:hover { background: var(--brand-deep); }
.button-dark .icon { filter: brightness(0) invert(1); }
.button-outline { background: var(--white); border-color: #a8bdc9; }
.button-outline:hover { background: var(--paper); }
.button-small { min-height: 43px; padding: 9px 17px; gap: 17px; font-size: 12px; }
.inline-link { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 44px; padding: 10px 18px; font-size: 13px; font-weight: 700; border: 1px solid currentColor; border-radius: 4px; transition: background .2s ease, transform .2s ease; }
.inline-link:hover { color: var(--brand-strong); }
.icon-button { display: inline-flex; justify-content: center; align-items: center; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 4px; background: transparent; }
.icon-button:hover { background: var(--brand-soft); }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 16px; background: var(--white); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.site-header { position: sticky; inset-block-start: 0; z-index: 30; background: var(--white); border-bottom: 1px solid var(--line); }
.header-inner { min-height: 80px; display: flex; justify-content: space-between; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; width: 120px; height: 72px; }
.brand-logo { width: 110px; height: auto; max-height: 66px; object-fit: contain; }
.site-footer .brand { width: 150px; height: 90px; }
.site-footer .brand-logo { width: 140px; max-height: 85px; }
.site-nav { display: flex; align-items: center; gap: 25px; font-size: 13px; }
.site-nav > a:not(.button) { padding-block: 20px; }
.site-nav a[aria-current], .site-nav > a:not(.button):hover { color: var(--brand-strong); }
.menu-toggle { display: none; }
.hero { position: relative; isolation: isolate; overflow: hidden; background: #087da9; color: var(--white); }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; z-index: -2; }
.hero::after { position: absolute; inset: 0; content: ""; background: #10232e9e; z-index: -1; }
.hero-inner { min-height: min(620px, calc(100svh - 158px)); position: relative; display: flex; align-items: center; justify-content: flex-end; padding-block: 54px; }
.hero-copy { width: 52%; padding-left: 32px; }
.hero-copy .eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 18px; color: var(--white); }
.mini-mark { width: 6px; height: 6px; background: var(--brand); }
.hero h1 { font-size: 50px; line-height: 1.3; margin-bottom: 19px; }
.hero-headline { font-size: 39px; font-weight: 500; line-height: 1.43; }
.hero-headline span { color: #d6efff; font-weight: 700; }
.hero-description { margin-top: 23px; font-size: 14px; color: var(--white); line-height: 1.95; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-top: 31px; }
.hero-actions .button-dark { background: var(--white); color: var(--brand-deep); }
.hero-actions .button-dark:hover { background: var(--brand-soft); }
.hero-actions .button-dark .icon { filter: none; }
.hero-actions .inline-link:hover { color: #d6efff; }
.hero-actions .inline-link .icon { filter: brightness(0) invert(1); }
.hero-caption { position: absolute; left: 0; bottom: 22px; padding: 5px 10px; background: rgba(255,255,255,.88); font-size: 10px; color: #53616b; }
.image-credit { text-decoration: underline; text-underline-offset: 3px; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 44px; margin-bottom: 43px; }
.section-heading .eyebrow { margin-bottom: 15px; }
.section-heading > p { max-width: 420px; font-size: 13px; line-height: 1.95; color: var(--muted); padding-bottom: 5px; }
.service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.service-card { display: flex; flex-direction: column; position: relative; min-width: 0; padding: 30px 32px; border: 1px solid transparent; border-radius: 6px; min-height: 350px; transition: border-color .2s ease, box-shadow .2s ease; }
.service-card:hover, .service-card:focus-within { border-color: var(--brand); box-shadow: 0 6px 20px #182d3b0c; }
.service-card-green { background: var(--brand-soft); }
.service-card-coral { background: var(--rose); }
.service-card-blue { background: var(--sky); }
.service-card-neutral { background: var(--paper); border-color: var(--line); }
.service-featured { background: var(--brand); color: var(--ink); }
.service-featured:hover { border-color: var(--brand-deep); }
.service-card-top { display: flex; align-items: center; gap: 10px; font: 10px/1.4 Arial,sans-serif; margin-bottom: 27px; }
.service-card-top .icon:first-child { width: 25px; height: 25px; flex-basis: 25px; }
.service-featured .icon { filter: none; }
.service-card h3 { font-size: 26px; margin-bottom: 11px; }
.service-card h3 a { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.service-card > p { font-size: 13px; line-height: 1.85; max-width: 480px; }
.service-tags { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 17px 0 0; padding: 0; list-style: none; font-size: 12px; color: var(--muted); }
.category-service-links { list-style: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; padding: 0; margin: 22px 0; }
.category-service-links a { display: flex; align-items: center; justify-content: space-between; gap: 7px; min-height: 40px; border-bottom: 1px solid #20242826; font-size: 12px; }
.promotion-channels { grid-template-columns: 1fr; }
.promotion-channels a { padding-block: 9px; }
.promotion-channels small { display: block; font-size: 11px; margin-top: 2px; }
.category-service-links .icon, .category-more .icon { width: 15px; height: 15px; flex-basis: 15px; }
.service-card h3 a:hover { color: var(--brand-deep); }
.category-more { display: flex; align-items: center; gap: 12px; width: fit-content; min-height: 44px; font-size: 12px; font-weight: 700; margin-top: auto; }
.category-directory-list { border-top: 1px solid var(--line); }
.category-directory-list article { padding: 26px 0 30px; border-bottom: 1px solid var(--line); }
.category-directory-list h3 { font-size: 21px; }
.category-directory-list h3 a { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.category-directory-list h3 a:hover { color: var(--brand-strong); }
.category-directory-list p { font-size: 14px; color: var(--muted); margin-top: 12px; line-height: 1.95; }
.category-directory-list .inline-link { margin-top: 15px; color: var(--brand-strong); }
.solutions { background: var(--paper); }
.scenario-tabs { display: flex; gap: 28px; border-bottom: 1px solid #cbdce5; margin-bottom: 38px; }
.scenario-tabs button { padding: 14px 3px 18px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #616c75; font-size: 14px; }
.scenario-tabs button.active { color: var(--brand-strong); border-bottom-color: var(--brand); font-weight: 700; }
.scenario-layout { display: grid; grid-template-columns: 1fr .88fr; gap: 100px; align-items: center; }
.scenario-panels { min-width: 0; min-height: 350px; }
.scenario-panel:not([hidden]) + .scenario-panel:not([hidden]) { margin-top: 38px; border-top: 1px solid var(--line); padding-top: 38px; }
.scenario-label { color: #a74732; font-size: 11px; font-weight: 700; margin-bottom: 15px; }
.scenario-panel h3 { font-size: 29px; margin-bottom: 17px; max-width: 480px; }
.scenario-panel > p:not(.scenario-label) { font-size: 13px; color: var(--muted); line-height: 1.9; max-width: 500px; }
.check-list { list-style: none; padding: 0; margin: 23px 0 0; }
.check-list li { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; font-size: 12px; }
.check-list .icon { width: 16px; height: 16px; flex-basis: 16px; margin-top: 3px; }
.scenario-links { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 25px; }
.scenario-links a { display: inline-flex; align-items: center; gap: 9px; color: var(--brand-strong); font-size: 12px; font-weight: 700; padding-bottom: 5px; border-bottom: 1px solid #a8c9d9; }
.scenario-links .icon { width: 15px; height: 15px; flex-basis: 15px; }
.scenario-image { position: relative; height: 360px; overflow: hidden; }
.scenario-image > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.scenario-image figcaption { position: absolute; bottom: 18px; left: 18px; font-size: 11px; padding: 9px 14px; background: #ffffffed; }
.visibility { background: var(--ink); color: var(--white); }
.visibility-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 105px; }
.visibility .eyebrow { color: #94d8f4; }
.visibility h2 { font-size: 39px; }
.visibility-grid > div:first-child > p:not(.eyebrow) { color: #d5e5ec; font-size: 13px; line-height: 1.9; margin: 22px 0 24px; }
.visibility .inline-link { color: #e3f6fd; }
.visibility .inline-link .icon { filter: invert(1); }
.visibility-list article { display: grid; grid-template-columns: 76px 1fr; gap: 21px; border-bottom: 1px solid #ffffff26; padding: 23px 0; }
.visibility-list article:first-child { padding-top: 5px; }
.visibility-list article:last-child { border-bottom: 0; padding-bottom: 0; }
.visibility-list article > span { color: #efa78e; font: 700 17px/1.6 Arial,sans-serif; }
.visibility-list h3 { font-size: 18px; margin-bottom: 9px; }
.visibility-list p { font-size: 12px; color: #d5e5ec; line-height: 1.9; }
.process-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; list-style: none; margin: 52px 0 0; padding: 0; }
.process-list li { padding-top: 25px; border-top: 1px solid var(--line); }
.step-number { font: 36px/1 Arial,sans-serif; color: #006d9f; }
.process-list li:nth-child(even) .step-number { color: #a74732; }
.process-list h3 { font-size: 19px; margin: 30px 0 13px; }
.process-list p { color: var(--muted); font-size: 12px; line-height: 1.9; max-width: 245px; }
.about-band { background: #ecf5fa; padding-block: 69px; }
.about-band .shell { display: grid; grid-template-columns: 1.05fr 1fr; gap: 115px; align-items: center; }
.about-band h2 { font-size: 31px; }
.about-band p:not(.eyebrow) { font-size: 14px; line-height: 2; color: #52616c; margin-bottom: 22px; }
.guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.guide-card { min-width: 0; }
.guide-graphic { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 245px; padding: 36px 38px; background: #f2e5df; overflow: hidden; }
.guide-graphic > span:first-child { font-size: 39px; line-height: 1.22; font-weight: 600; }
.guide-graphic b { color: #bf614d; font-weight: 600; }
.guide-graphic .graphic-word { font: 700 62px/.92 Arial,sans-serif; color: #ba726744; }
.guide-graphic-1 { background: #e5f2f9; }
.guide-graphic-1 b { color: #006d9f; }
.guide-graphic-1 .graphic-word { color: #3986a83d; }
.guide-meta { display: flex; justify-content: space-between; margin: 22px 0 12px; color: var(--muted); font-size: 10px; }
.guide-card h3 { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; font-size: 20px; margin-bottom: 12px; }
.guide-card h3 .icon { margin-top: 4px; }
.guide-card:hover h3 { color: var(--brand-strong); }
.guide-card p { color: var(--muted); font-size: 12px; line-height: 1.9; }
.faq-section { border-top: 1px solid var(--line); padding-top: 70px; }
.faq-grid { display: grid; grid-template-columns: .8fr 1.25fr; gap: 82px; }
.faq-grid h2 { font-size: 30px; }
.faq-list { border-top: 1px solid #ccdce5; }
.faq-list details { border-bottom: 1px solid #ccdce5; }
.faq-list summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 21px 0; font-size: 14px; font-weight: 600; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary .icon { width: 17px; height: 17px; flex-basis: 17px; transition: transform .16s ease; }
.faq-list details[open] summary .icon { transform: rotate(45deg); }
.faq-list details > p { font-size: 13px; line-height: 1.95; color: var(--muted); padding: 0 36px 22px 0; }
.contact { background: #edf7fc; }
.contact-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 115px; }
.contact-intro h2 { font-size: 40px; }
.contact-intro > p:not(.eyebrow) { font-size: 13px; color: var(--muted); line-height: 1.9; margin: 22px 0; }
.contact-location { display: flex; align-items: flex-start; gap: 14px; margin-top: 49px; font-size: 13px; }
.contact-location .icon { margin-top: 4px; }
.contact-location small { font-size: 11px; color: var(--muted); }
.contact-people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 36px; }
.contact-person { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; align-items: center; padding-top: 18px; border-top: 1px solid #cadce6; }
.contact-person > img { width: 92px; height: 92px; aspect-ratio: 1; object-fit: contain; background: var(--white); border: 1px solid #cadce6; }
.contact-person h3 { font-size: 14px; margin-bottom: 2px; }
.contact-person p { color: var(--muted); font-size: 11px; margin-bottom: 8px; }
.contact-person a { display: block; width: fit-content; max-width: 100%; color: var(--brand-strong); font-size: 12px; overflow-wrap: anywhere; }
.contact-person a:hover { text-decoration: underline; text-underline-offset: 3px; }
.brief-form fieldset { margin: 0 0 26px; padding: 0; border: 0; min-width: 0; }
.brief-form legend { padding: 0 0 13px; font-size: 13px; font-weight: 600; }
.form-heading { font-size: 16px; font-weight: 700; margin-bottom: 24px; }
.brief-form .service-option-group { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.brief-form .service-option-group legend { color: var(--brand-strong); padding-bottom: 10px; }
.service-options { display: flex; gap: 13px 19px; flex-wrap: wrap; }
.service-option { display: flex; align-items: center; gap: 6px; font-size: 12px; cursor: pointer; min-height: 28px; }
.service-option input { accent-color: var(--brand-strong); width: 16px; height: 16px; margin: 0; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.brief-form label:not(.service-option) { display: block; font-size: 12px; margin-bottom: 21px; font-weight: 600; }
.brief-form input:not([type=checkbox]), .brief-form textarea, .brief-form select { margin-top: 9px; width: 100%; display: block; min-height: 45px; padding: 11px 13px; font-size: 13px; font-weight: 400; background: #ffffffb3; border: 1px solid #c8dce8; border-radius: 4px; }
.brief-form textarea { resize: vertical; min-height: 110px; }
.brief-form select { min-width: 0; }
.brief-form ::placeholder { color: #637583; }
.form-bottom { display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.form-bottom p { font-size: 10px; line-height: 1.8; color: var(--muted); }
.form-bottom p a { text-decoration: underline; }
.form-error { color: #ad3e2e; font-size: 12px; }
.form-error:not(:empty) { margin: 8px 0 16px; }
.form-status { font-size: 12px; color: #196c4b; }
.form-status:not(:empty) { margin: 8px 0 16px; }
.site-footer { padding: 65px 0 24px; background: #fff; }
.footer-main { display: grid; grid-template-columns: 2.2fr 1fr 1fr; gap: 52px; padding-bottom: 45px; }
.footer-main > div > p { color: var(--muted); font-size: 12px; margin: 19px 0 17px; }
.location { font-size: 11px; color: var(--muted); display: flex; align-items: center; gap: 7px; }
.location .icon { width: 14px; height: 14px; flex-basis: 14px; }
.footer-main nav h2 { font-size: 12px; margin-bottom: 16px; }
.footer-main nav a { display: block; width: fit-content; padding: 4px 0; font-size: 11px; color: var(--muted); overflow-wrap: anywhere; }
.footer-main nav a:hover { color: var(--brand-strong); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 25px; font-size: 10px; color: #65717a; padding-top: 23px; border-top: 1px solid var(--line); }
.back-top { display: inline-flex; align-items: center; gap: 8px; }
.back-top .icon { width: 15px; height: 15px; flex-basis: 15px; }
.status-message { position: fixed; bottom: 22px; right: 22px; padding: 14px 20px; background: var(--ink); color: white; border-radius: 4px; z-index: 50; max-width: calc(100% - 44px); font-size: 13px; }
.status-message:empty { display: none; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; font-size: 11px; color: #617480; margin-bottom: 37px; }
.breadcrumb a:hover { color: var(--brand-strong); }
.detail-hero { padding-block: 30px 65px; background: var(--brand-soft); }
.detail-hero-coral { background: var(--rose); }
.detail-hero-blue { background: var(--sky); }
.detail-hero-neutral { background: var(--paper); }
.detail-hero h1 { font-size: 48px; }
.detail-hero .eyebrow { margin-bottom: 17px; }
.detail-headline { font-size: 26px; margin-top: 18px; }
.detail-summary { font-size: 14px; color: #5c6d77; margin-top: 13px; max-width: 660px; line-height: 1.85; }
.detail-hero .button { margin-top: 29px; }
.detail-layout { display: grid; grid-template-columns: 240px 1fr; gap: 90px; align-items: start; padding-block: 67px 82px; }
.detail-aside { position: sticky; top: 111px; }
.detail-aside h2 { font-size: 12px; color: var(--muted); margin-bottom: 15px; }
.detail-aside nav a { display: flex; align-items: center; justify-content: space-between; padding: 13px 14px; font-size: 13px; border-bottom: 1px solid var(--line); }
.detail-aside nav a[aria-current] { color: var(--brand-strong); background: var(--brand-soft); font-weight: 600; }
.detail-aside nav a:hover { color: var(--brand-strong); }
.detail-aside nav .icon { width: 15px; height: 15px; flex-basis: 15px; }
.detail-aside > p { margin-top: 29px; font-size: 13px; font-weight: 600; }
.detail-aside > span { display: block; font-size: 12px; line-height: 1.9; color: var(--muted); margin-top: 10px; }
.detail-content { min-width: 0; }
.detail-content > section { margin-bottom: 50px; }
.detail-content h2 { font-size: 26px; margin-bottom: 23px; }
.answer-block p:not(.eyebrow) { font-size: 15px; color: #526571; line-height: 2; }
.answer-block .eyebrow { margin-bottom: 13px; }
.deliverable-list { border-top: 1px solid var(--line); }
.deliverable-list article { display: grid; grid-template-columns: 145px 1fr; gap: 25px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.deliverable-list h3 { font-size: 16px; }
.deliverable-list p { font-size: 13px; color: var(--muted); line-height: 1.9; }
.preparations { padding: 22px 24px 15px; background: var(--paper); }
.preparations li { font-size: 13px; }
.cta-band { background: #eaf5fb; padding-block: 48px; }
.cta-band .shell { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.cta-band .eyebrow { margin-bottom: 12px; }
.cta-band h2 { font-size: 26px; }
.article-header { padding-block: 30px 50px; border-bottom: 1px solid var(--line); }
.article-header h1 { font-size: 40px; max-width: 940px; }
.article-meta { color: var(--muted); font-size: 11px; margin-top: 23px; }
.article-intro { max-width: 830px; font-size: 16px; color: #526571; line-height: 2; margin-top: 31px; }
.article-layout { display: grid; grid-template-columns: 230px 1fr; gap: 95px; padding-block: 55px 80px; align-items: start; }
.article-toc { position: sticky; top: 110px; }
.article-toc h2 { font-size: 12px; color: var(--muted); margin-bottom: 15px; }
.article-toc a { display: block; font-size: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.article-toc a:hover { color: var(--brand-strong); }
.article-body section { margin-bottom: 43px; scroll-margin-top: 106px; }
.article-body h2 { font-size: 25px; margin-bottom: 15px; }
.article-body p { font-size: 15px; line-height: 2.1; color: #51616d; }
.article-sources { padding-top: 24px; border-top: 1px solid var(--line); }
.article-sources ul { padding-left: 16px; }
.article-sources li { margin-bottom: 13px; font-size: 12px; }
.article-sources a { text-decoration: underline; text-underline-offset: 4px; }
.article-sources .icon { width: 13px; height: 13px; margin-left: 7px; }
.article-sources p { font-size: 11px; color: var(--muted); }
.about-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 90px; }
.about-layout h2 { font-size: 31px; }
.prose p { font-size: 15px; line-height: 2; color: #51616d; margin-bottom: 19px; }
.company-facts { border-top: 1px solid var(--line); margin-top: 34px; }
.company-facts > div { display: grid; grid-template-columns: 86px 1fr; gap: 26px; border-bottom: 1px solid var(--line); padding: 17px 0; font-size: 12px; }
.company-facts dt { color: var(--muted); }
.company-facts dd { margin: 0; }
.about-services { background: var(--paper); }
.about-service-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 35px; }
.about-service-links a { display: flex; align-items: center; gap: 9px; padding: 20px 10px; font-size: 13px; border-bottom: 1px solid #bfd2de; }
.about-service-links a .icon:last-child { margin-left: auto; width: 14px; height: 14px; flex-basis: 14px; }
.about-service-links a:hover { background: var(--brand-soft); }
.narrow { max-width: 880px; }
.narrow > h1 { font-size: 40px; }
.privacy-copy { margin-top: 45px; }
.privacy-copy h2 { margin-top: 35px; margin-bottom: 13px; font-size: 23px; }
.not-found { min-height: 55vh; }
.not-found h1 { font-size: 42px; }
.not-found p:not(.eyebrow) { margin: 23px 0 30px; }

@media (min-width: 1700px) {
  .hero-inner { min-height: 660px; }
  .hero-image { object-position: center 46%; }
}
@media (max-width: 1150px) {
  .shell { width: calc(100% - 64px); }
  .site-nav { gap: 16px; font-size: 12px; }
  .hero h1 { font-size: 42px; }
  .hero-headline { font-size: 32px; }
  .hero-copy { width: 53%; padding-left: 23px; }
  .hero-actions { gap: 20px; }
  .section-heading > p { max-width: 350px; }
  .service-card { padding: 24px 20px; }
  .service-card-top { gap: 6px; font-size: 9px; }
  .scenario-layout, .visibility-grid, .contact-grid, .about-band .shell { gap: 65px; }
  .service-tags { gap: 10px; }
  .guide-graphic { padding: 30px; }
  .guide-graphic .graphic-word { font-size: 48px; }
  .guide-graphic > span:first-child { font-size: 33px; }
  .detail-layout, .article-layout { gap: 55px; grid-template-columns: 210px 1fr; }
}
@media (max-width: 900px) {
  h2 { font-size: 30px; }
  .section { padding-block: 70px; }
  .header-inner { min-height: 72px; }
  .site-nav { gap: 15px; font-size: 12px; }
  .brand { width: 112px; height: 64px; }
  .brand-logo { width: 100px; max-height: 60px; }
  .hero h1 { font-size: 36px; }
  .hero-headline { font-size: 29px; }
  .hero-copy { padding-left: 16px; width: 55%; }
  .hero-description { font-size: 12px; }
  .hero-actions { gap: 15px; }
  .hero-actions .button { padding-inline: 16px; gap: 15px; }
  .hero-actions .inline-link { font-size: 11px; }
  .section-heading { gap: 25px; }
  .section-heading > p { font-size: 12px; max-width: 310px; }
  .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .scenario-layout { gap: 35px; grid-template-columns: 1fr .85fr; }
  .scenario-panel h3 { font-size: 25px; }
  .scenario-image { height: 340px; }
  .scenario-links { gap: 16px; }
  .visibility-grid { gap: 50px; }
  .visibility h2 { font-size: 33px; }
  .visibility-list article { grid-template-columns: 58px 1fr; gap: 15px; }
  .visibility-list article > span { font-size: 14px; }
  .visibility-list h3 { font-size: 16px; }
  .about-band .shell { gap: 60px; }
  .about-band h2 { font-size: 26px; }
  .about-band p:not(.eyebrow) { font-size: 12px; }
  .guide-card h3 { font-size: 18px; }
  .guide-graphic { min-height: 205px; padding: 24px; }
  .guide-graphic > span:first-child { font-size: 30px; }
  .guide-graphic .graphic-word { font-size: 43px; }
  .faq-grid { gap: 40px; grid-template-columns: .8fr 1.2fr; }
  .faq-grid h2 { font-size: 26px; }
  .faq-list summary { font-size: 13px; }
  .contact-grid { gap: 45px; grid-template-columns: .85fr 1.1fr; }
  .contact-intro h2 { font-size: 31px; }
  .form-bottom { flex-direction: column; align-items: flex-start; gap: 16px; }
  .form-bottom .button { align-self: flex-end; }
  .form-row { gap: 13px; }
  .detail-layout, .article-layout { grid-template-columns: 175px 1fr; gap: 35px; }
  .detail-content h2 { font-size: 24px; }
  .deliverable-list article { grid-template-columns: 1fr; gap: 12px; }
  .about-layout { gap: 45px; }
  .about-service-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .header-inner { gap: 0; flex-wrap: wrap; }
  .menu-toggle:not([hidden]) { display: inline-flex; margin-right: -9px; }
  .menu-close-icon { display: none; }
  .menu-toggle[aria-expanded=true] .menu-close-icon { display: inline-block; }
  .menu-toggle[aria-expanded=true] .menu-open-icon { display: none; }
  .site-nav { flex-basis: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-bottom: 15px; }
  .site-nav > a:not(.button) { padding-block: 8px; }
  .site-nav .button { flex-basis: 100%; }
  .nav-enhanced .site-nav { display: none; }
  .nav-enhanced .site-nav.is-open { display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100dvh - 80px); overflow-y: auto; padding: 14px 20px 22px; background: var(--white); border-bottom: 1px solid var(--line); gap: 0; box-shadow: 0 18px 28px #25334414; }
  .nav-enhanced .site-nav.is-open > a:not(.button) { min-height: 47px; padding: 10px 0; border-bottom: 1px solid var(--line); }
  .nav-enhanced .site-nav.is-open .button { margin-top: 17px; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 92px; }
  .shell { width: calc(100% - 40px); }
  .section { padding-block: 57px; }
  .header-inner { min-height: 69px; }
  .hero-inner { min-height: 592px; height: calc(100svh - 160px); max-height: 620px; align-items: flex-start; padding-top: 42px; padding-bottom: 175px; }
  .hero-image { object-position: center; }
  .hero-copy { width: 100%; padding: 0; }
  .hero-copy .eyebrow { margin-bottom: 17px; font-size: 10px; }
  .hero h1 { font-size: 36px; margin-bottom: 15px; }
  .hero-headline { font-size: 30px; }
  .hero-description { margin-top: 17px; font-size: 12px; line-height: 1.85; }
  .hero-actions { gap: 21px; margin-top: 23px; }
  .hero-actions .button { min-height: 46px; font-size: 12px; }
  .hero-caption { font-size: 9px; bottom: 17px; }
  .section-heading { display: block; margin-bottom: 30px; }
  .section-heading h2 { font-size: 28px; }
  .eyebrow { margin-bottom: 15px; font-size: 10px; }
  .section-heading > p { font-size: 12px; margin-top: 19px; max-width: 100%; padding: 0; }
  .desktop-only { display: none; }
  .service-grid { grid-template-columns: 1fr; gap: 12px; }
  .service-card { min-height: 310px; padding: 23px; }
  .service-card h3 { font-size: 22px; }
  .service-card-top { margin-bottom: 22px; font-size: 10px; }
  .service-card p { max-width: 100%; }
  .service-tags { font-size: 10px; margin-top: 20px; }
  .category-service-links { gap: 0 18px; }
  .category-service-links a { font-size: 11px; }
  .scenario-tabs { gap: 0; justify-content: space-between; margin-bottom: 27px; }
  .scenario-tabs button { font-size: 13px; padding: 11px 4px 15px; }
  .scenario-layout { display: flex; flex-direction: column; align-items: stretch; gap: 32px; }
  .scenario-panel h3 { font-size: 25px; max-width: 330px; }
  .scenario-panels { min-height: 344px; }
  .scenario-panel p:not(.scenario-label) { font-size: 12px; }
  .scenario-image { height: 246px; }
  .scenario-image img { object-position: center 63%; }
  .scenario-image figcaption { font-size: 10px; left: 13px; bottom: 13px; }
  .scenario-links { gap: 23px; }
  .visibility-grid { display: block; }
  .visibility h2 { font-size: 30px; }
  .visibility-list { margin-top: 39px; }
  .visibility-list article { grid-template-columns: 62px 1fr; padding-block: 22px; }
  .visibility-list h3 { font-size: 17px; }
  .process-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 24px; margin-top: 32px; }
  .process-list h3 { margin-top: 24px; font-size: 18px; }
  .process-list p { font-size: 11px; }
  .step-number { font-size: 30px; }
  .about-band { padding-block: 52px; }
  .about-band .shell { display: block; }
  .about-band h2 { font-size: 26px; }
  .about-band .shell > div:last-child { margin-top: 25px; }
  .guide-grid { grid-template-columns: 1fr; gap: 38px; }
  .guide-graphic { min-height: 210px; padding: 28px; }
  .guide-graphic > span:first-child { font-size: 34px; }
  .guide-graphic .graphic-word { font-size: 50px; }
  .guide-card h3 { font-size: 19px; }
  .faq-grid { display: block; }
  .faq-list { margin-top: 30px; }
  .faq-list summary { padding-block: 20px; gap: 16px; font-size: 13px; }
  .faq-list details > p { font-size: 12px; padding-right: 22px; }
  .contact-grid { display: block; }
  .contact-intro h2 { font-size: 31px; }
  .contact-location { margin: 30px 0 37px; }
  .contact-people { gap: 14px; margin-top: 30px; }
  .brief-form { margin-top: 40px; }
  .contact-person { display: block; }
  .contact-person > img { width: 96px; height: 96px; margin-bottom: 11px; }
  .contact-person h3 { font-size: 13px; }
  .contact-person a { font-size: 11px; }
  .form-row { gap: 16px; }
  .service-options { gap: 11px 18px; }
  .form-bottom { flex-direction: row; align-items: center; gap: 20px; }
  .form-bottom p { font-size: 9px; max-width: 155px; }
  .form-bottom .button { flex-shrink: 0; gap: 10px; padding: 12px 14px; font-size: 12px; min-height: 45px; }
  .site-footer { padding-top: 49px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 34px 30px; padding-bottom: 30px; }
  .footer-main > div { grid-column: span 2; }
  .footer-main nav h2 { font-size: 12px; margin-bottom: 12px; }
  .footer-main nav a { font-size: 11px; padding-block: 5px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; font-size: 10px; position: relative; }
  .footer-bottom .back-top { position: absolute; right: 0; top: 19px; font-size: 9px; }
  .detail-hero { padding: 23px 0 43px; }
  .breadcrumb { margin-bottom: 28px; font-size: 10px; }
  .detail-hero h1 { font-size: 35px; }
  .detail-headline { font-size: 24px; margin-top: 17px; }
  .detail-summary { font-size: 13px; }
  .detail-layout { display: flex; flex-direction: column; gap: 35px; padding-block: 38px 55px; }
  .detail-aside { position: static; width: 100%; }
  .detail-aside nav { display: flex; flex-wrap: wrap; gap: 8px; }
  .detail-aside nav a { padding: 9px 11px; background: var(--paper); border: 0; font-size: 11px; gap: 9px; }
  .detail-aside nav .icon { width: 12px; height: 12px; flex-basis: 12px; }
  .detail-aside > p { margin-top: 22px; }
  .detail-content > section { margin-bottom: 35px; }
  .detail-content h2 { font-size: 23px; margin-bottom: 18px; }
  .answer-block p:not(.eyebrow) { font-size: 14px; }
  .detail-content .faq-list { margin-top: 0; }
  .deliverable-list h3 { font-size: 16px; }
  .deliverable-list p { font-size: 12px; }
  .cta-band { padding-block: 39px; }
  .cta-band .shell { display: block; }
  .cta-band h2 { font-size: 24px; }
  .cta-band .button { margin-top: 25px; }
  .article-header { padding-block: 24px 35px; }
  .article-header h1 { font-size: 30px; }
  .article-intro { font-size: 14px; margin-top: 24px; }
  .article-layout { display: block; padding-block: 30px 50px; }
  .article-toc { position: static; margin-bottom: 35px; }
  .article-toc a { font-size: 12px; padding-block: 9px; }
  .article-body h2 { font-size: 23px; }
  .article-body p { font-size: 14px; }
  .article-body section { margin-bottom: 33px; }
  .about-layout { display: block; }
  .about-layout h2 { font-size: 27px; margin-bottom: 27px; }
  .prose p { font-size: 14px; }
  .about-service-links { grid-template-columns: 1fr; gap: 5px; }
  .about-service-links a { padding-block: 17px; }
  .narrow > h1 { font-size: 33px; }
  .not-found h1 { font-size: 32px; }
}
@media (max-width: 370px) {
  .shell { width: calc(100% - 32px); }
  .hero h1 { font-size: 31px; }
  .hero-headline { font-size: 26px; }
  .hero-description { font-size: 11px; }
  .hero-actions { gap: 14px; }
  .hero-actions .button { padding-inline: 13px; gap: 9px; font-size: 11px; }
  .hero-actions .inline-link { gap: 7px; font-size: 10px; }
  .hero-actions .icon { width: 17px; height: 17px; flex-basis: 17px; }
  .hero-inner { min-height: 0; height: calc(100svh - 143px); padding-top: 27px; padding-bottom: 125px; }
  .guide-graphic .graphic-word { font-size: 41px; }
  .guide-graphic > span:first-child { font-size: 29px; }
  .guide-card h3 { font-size: 18px; }
  .form-bottom { flex-direction: column; align-items: flex-start; }
  .form-bottom p { max-width: none; font-size: 10px; }
  .scenario-tabs button { font-size: 12px; }
}
@media (max-height: 730px) and (min-width: 701px) {
  .hero-inner { min-height: 0; padding-block: 32px; }
  .hero h1 { font-size: 39px; }
  .hero-headline { font-size: 30px; }
  .hero-description { margin-top: 16px; }
  .hero-actions { margin-top: 22px; }
}
@media (max-height: 770px) and (max-width: 700px) {
  .hero-inner { height: calc(100svh - 141px); min-height: 0; padding-top: 28px; padding-bottom: 120px; }
  .hero h1 { font-size: 33px; }
  .hero-headline { font-size: 27px; }
  .hero-actions { margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Action links are framed controls; content links and image credits remain text. */
.category-more, .scenario-links a { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; min-height: 44px; border: 1px solid #8fa9b7; border-radius: 4px; background: #ffffff9c; text-decoration: none; }
.category-more { align-self: flex-start; margin-top: auto; }
.category-service-links { gap: 9px; margin-bottom: 24px; }
.category-service-links a { height: 100%; min-height: 46px; border: 1px solid #a9c3d0; border-radius: 4px; padding: 11px 13px; background: #ffffffa8; transition: background .2s ease, border-color .2s ease; }
.category-service-links a:hover, .category-service-links a:focus-visible { background: var(--white); border-color: var(--brand-deep); }
.category-service-links li { border: 0; }
.category-service-links .icon { flex-shrink: 0; }
.button, .category-more, .scenario-links a { transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.button .icon, .inline-link .icon, .category-more .icon, .scenario-links .icon { transition: transform .2s ease; }
.button:hover .icon, .inline-link:hover .icon, .category-more:hover .icon, .scenario-links a:hover .icon { transform: translateX(3px); }
.button:active, .inline-link:active, .category-more:active { transform: translateY(1px); }
.hero-actions .inline-link:hover, .visibility .inline-link:hover { background: #ffffff1c; color: var(--white); }
.service-card, .guide-card { transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.guide-action { margin-top: 22px; }
.guide-card .guide-graphic > span:first-child { font-size: 30px; }
.guide-card .guide-graphic .graphic-word { font-size: 42px; }
.article-directory { margin-top: 36px; }
.pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.pagination > span { font-size: 13px; color: var(--muted); }
.service-audience p { color: var(--muted); }
.site-header.is-scrolled { box-shadow: 0 4px 18px #2024280d; }
.site-header { transition: box-shadow .2s ease; }
.scenario-panel[role="tabpanel"]:not([hidden]) { animation: panel-enter .35s ease both; }
.fx-reveal.is-pending { opacity: 0; transform: translateY(20px); }
.fx-reveal.is-visible { animation: reveal-enter .65s cubic-bezier(.2,.7,.2,1) var(--fx-delay,0ms) backwards; }
@keyframes reveal-enter { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes panel-enter { from { opacity: .4; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .service-card:hover, .guide-card:hover { transform: translateY(-4px); }
  .button:hover, .category-more:hover, .scenario-links a:hover { transform: translateY(-2px); }
}
@media (max-width: 700px) {
  .inline-link, .category-more, .scenario-links a { padding: 10px 13px; font-size: 12px; }
  .hero-actions { gap: 12px; }
  .category-service-links a { font-size: 13px; padding: 10px 12px; }
  .guide-card .guide-graphic > span:first-child { font-size: 24px; }
  .guide-card .guide-graphic .graphic-word { font-size: 34px; }
  .guide-action { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce), print {
  .fx-reveal.is-pending, .fx-reveal.is-visible { opacity: 1 !important; transform: none !important; animation: none !important; }
}
@media print {
  .hero { color: var(--ink); background: var(--white); }
  .hero-copy .eyebrow, .hero-headline span, .hero-description { color: var(--ink); }
  .site-header, .site-footer, .cta-band, .brief-form, .hero-image, .scenario-image, .scenario-tabs, .article-toc, .status-message { display: none !important; }
  .shell { width: 100%; }
  .hero-inner { min-height: auto; height: auto; }
  .hero-copy { width: 100%; }
  .hero::after { display: none; }
  .section { padding-block: 20px; }
  .article-layout, .detail-layout { display: block; }
  .detail-aside { position: static; }
}

/* Service navigation and illustrative work surfaces share the live CMS content. */
.service-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 38px; }
.service-tabs button { display: flex; align-items: center; gap: 14px; position: relative; min-width: 0; min-height: 98px; padding: 20px 24px; border: 0; background: transparent; text-align: left; transition: background .2s ease, color .2s ease; }
.service-tabs button + button { border-left: 1px solid var(--line); }
.service-tabs button > .icon:first-child { width: 26px; height: 26px; flex-basis: 26px; }
.service-tabs button > span { min-width: 0; }
.service-tabs strong { display: block; font-size: 18px; font-weight: 700; }
.service-tabs small { display: block; margin-top: 3px; color: var(--muted); font: 10px/1.5 Arial, sans-serif; }
.service-tabs .service-tab-arrow { width: 16px; height: 16px; flex-basis: 16px; margin-left: auto; opacity: .35; transition: transform .2s ease; }
.service-tabs button::after { position: absolute; bottom: -1px; left: 0; right: 0; height: 3px; background: var(--brand); content: ""; transform: scaleX(0); transition: transform .25s ease; }
.service-tabs button:hover { background: #f4f8fa; }
.service-tabs button[aria-selected="true"] { color: var(--brand-strong); background: #f0f8fc; }
.service-tabs button[aria-selected="true"]::after { transform: scaleX(1); }
.service-tabs button[aria-selected="true"] .service-tab-arrow { opacity: 1; transform: translateY(2px); }
.service-deck { display: grid; gap: 52px; }
.service-panel { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); align-items: center; gap: 60px; min-width: 0; }
.service-showcase.is-enhanced .service-deck { gap: 0; }
.service-showcase.is-enhanced .service-panel { grid-area: 1 / 1; }
/* Hidden panels reserve the largest natural height so switching never moves the next section. */
.service-showcase.is-enhanced .service-panel[hidden] { display: grid !important; visibility: hidden; pointer-events: none; }
.service-showcase.is-enhanced .service-panel:not([hidden]) .service-copy { animation: panel-enter .35s ease both; }
.service-showcase.is-enhanced .service-panel:not([hidden]) .service-scene { animation: service-scene-enter .5s ease both; }
.service-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding-block: 10px; }
.service-copy > .eyebrow { margin-bottom: 12px; font-size: 11px; }
.service-copy h3 { font-size: 32px; margin-bottom: 16px; }
.service-copy h3 a:hover { color: var(--brand-strong); }
.service-summary { color: var(--muted); font-size: 14px; line-height: 1.95; }
.service-copy .category-service-links { width: 100%; margin: 24px 0 28px; gap: 10px; }
.service-copy .category-service-links a { background: var(--white); border-color: var(--line); min-height: 54px; padding: 12px 15px; font-size: 13px; }
.service-copy .category-service-links a:hover, .service-copy .category-service-links a:focus-visible { border-color: var(--brand); background: #f3fafd; }
.service-copy .promotion-channels a { min-height: 68px; }
.service-copy .promotion-channels small { color: var(--muted); font-size: 11px; margin-top: 4px; line-height: 1.6; overflow-wrap: anywhere; }
.service-copy .category-more { margin-top: 0; min-height: 48px; padding: 12px 20px; font-size: 13px; color: var(--white); background: var(--brand-strong); border-color: var(--brand-strong); }
.service-copy .category-more:hover { background: var(--brand-deep); }
.service-copy .category-more .icon { filter: brightness(0) invert(1); }
.service-visual { position: relative; min-width: 0; margin: 0; align-self: center; }
.service-scene { position: relative; height: 416px; isolation: isolate; overflow: hidden; }
.service-scene::before { content: ""; position: absolute; inset: 40px 0 20px 8px; background: #f1f5f7; z-index: -1; }
.service-visual figcaption { display: flex; justify-content: space-between; gap: 10px; font-size: 10px; line-height: 1.6; color: #6a7882; padding: 14px 4px 0; }
.scene-browser { position: absolute; background: #fff; border: 1px solid #dce5ea; border-radius: 7px; box-shadow: 0 14px 34px #283b4814; overflow: hidden; }
.scene-toolbar { height: 55px; display: flex; gap: 10px; align-items: center; padding: 8px 16px; border-bottom: 1px solid #e5eaee; color: #57656f; font-size: 10px; }
.scene-toolbar > img:first-child { width: 46px; height: 31px; object-fit: contain; }
.scene-toolbar > .icon:last-child { margin-left: auto; opacity: .55; width: 15px; height: 15px; }
.scene-website { top: 48px; left: 18px; right: 44px; transform: rotate(-3deg); }
.scene-site-photo { position: relative; height: 166px; overflow: hidden; }
.scene-site-photo > img { width: 100%; height: 100%; object-fit: cover; }
.scene-site-photo > strong { position: absolute; left: 14px; bottom: 14px; font-size: 17px; color: #202428; background: #fff; padding: 6px 10px; }
.scene-site-modules { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 20px 14px 25px; }
.scene-site-modules > span { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 9px; }
.scene-site-modules .icon { width: 23px; height: 23px; flex-basis: 23px; }
.scene-phone { position: absolute; width: 134px; overflow: hidden; border: 5px solid #27353d; border-radius: 19px; background: #fff; box-shadow: 0 12px 25px #20374426; }
.scene-phone-site { right: 8px; bottom: 8px; height: 246px; transform: rotate(7deg); }
.scene-phone-speaker { width: 38px; height: 5px; border-radius: 5px; background: #27353d; position: absolute; top: 7px; left: calc(50% - 19px); z-index: 2; }
.scene-phone-photo { height: 122px; width: 100%; object-fit: cover; margin-top: 19px; }
.scene-phone-site > strong { display: block; font-size: 10px; padding: 10px 8px 0; }
.scene-phone-lines { margin: 8px; }
.scene-phone-lines i { display: block; height: 3px; margin-top: 5px; background: #d9e9f1; }
.scene-phone-lines i:last-child { width: 70%; }
.scene-phone-site > .icon { margin: 5px 8px; height: 14px; width: 14px; }
.scene-film { display: flex; gap: 15px; position: absolute; left: 12px; right: 8px; top: 95px; height: 226px; padding: 16px; background: #263840; transform: rotate(-7deg); }
.scene-film > img { width: calc(50% - 7.5px); height: 100%; object-fit: cover; border-block: 6px solid #fff; }
.scene-phone-video { top: 17px; left: calc(50% - 86px); width: 172px; height: 336px; transform: rotate(4deg); }
.scene-video-photo { width: 100%; height: 100%; object-fit: cover; }
.scene-video-title { position: absolute; left: 10px; right: 10px; bottom: 16px; color: #fff; padding: 12px; background: #202d38eb; }
.scene-video-title > img { filter: brightness(0) invert(1); margin-bottom: 8px; }
.scene-video-title strong { display: block; font-size: 17px; }
.scene-video-title span { display: block; font-size: 9px; margin-top: 4px; }
.scene-timeline { position: absolute; left: 45px; right: 22px; bottom: 7px; height: 66px; padding: 13px; display: flex; gap: 14px; align-items: center; background: #fff; border: 1px solid #dce5ea; border-radius: 4px; box-shadow: 0 10px 22px #283b4812; transform: rotate(-3deg); }
.scene-timeline > div { display: grid; grid-template-columns: 1.5fr 1fr 1.2fr; gap: 5px; flex: 1; height: 32px; }
.scene-timeline span { background: #7ac4e4; border-radius: 2px; }
.scene-timeline span:nth-child(2) { background: #e0a188; }
.scene-timeline span:nth-child(3) { background: #95c3b4; }
.scene-timeline > i { position: absolute; left: 57%; top: 5px; bottom: 5px; width: 2px; background: #202428; }
@keyframes service-scene-enter { from { opacity: .3; transform: translateX(-10px); } to { opacity: 1; transform: none; } }
@media (max-width: 1100px) {
  .service-tabs button { padding: 17px 16px; gap: 10px; }
  .service-tabs strong { font-size: 16px; }
  .service-panel { gap: 34px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr); }
  .service-copy h3 { font-size: 28px; }
  .scene-website { left: 8px; right: 23px; }
}
@media (max-width: 760px) {
  .service-showcase .section-heading { margin-bottom: 30px; }
  .service-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 20px; }
  .service-tabs button { min-height: 78px; padding: 14px; gap: 10px; }
  .service-tabs button:nth-child(3) { border-left: 0; }
  .service-tabs button:nth-child(n+3) { border-top: 1px solid var(--line); }
  .service-tabs button > .icon:first-child { width: 22px; height: 22px; flex-basis: 22px; }
  .service-tabs strong { font-size: 15px; }
  .service-tabs small { font-size: 8px; }
  .service-tabs .service-tab-arrow { width: 13px; height: 13px; flex-basis: 13px; }
  .service-panel { grid-template-columns: minmax(0, 1fr); align-content: start; gap: 25px; }
  .service-visual { width: min(100%, 470px); justify-self: center; }
  .service-scene { height: 352px; }
  .service-copy { padding: 0; }
  .service-copy h3 { font-size: 26px; margin-bottom: 12px; }
  .service-copy > .eyebrow { margin-bottom: 8px; }
  .service-copy .category-service-links { margin: 20px 0 23px; }
  .service-copy .category-service-links a { font-size: 12px; padding: 11px 12px; }
  .scene-toolbar { height: 45px; padding: 6px 12px; }
  .scene-toolbar > img:first-child { width: 38px; height: 26px; }
  .scene-website { top: 22px; left: 8px; right: 27px; }
  .scene-site-photo { height: 143px; }
  .scene-site-photo > strong { font-size: 14px; }
  .scene-site-modules { gap: 7px; padding: 17px 9px; }
  .scene-phone-site { width: 112px; height: 213px; right: 2px; bottom: 6px; }
  .scene-phone-photo { height: 104px; }
  .scene-phone-site > strong { font-size: 8px; }
  .scene-phone-video { height: 289px; width: 151px; left: calc(50% - 75px); top: 6px; }
  .scene-film { top: 74px; height: 202px; }
  .scene-timeline { left: 17px; right: 13px; bottom: 7px; height: 60px; }
}
@media (max-width: 380px) {
  .service-tabs button { padding-inline: 10px; gap: 8px; }
  .service-tabs strong { font-size: 14px; }
  .service-tabs .service-tab-arrow { display: none; }
  .scene-toolbar { font-size: 9px; }
  .scene-toolbar > img:first-child { width: 33px; }
}
@media print {
  .service-tabs, .service-visual { display: none !important; }
  .service-showcase.is-enhanced .service-deck { display: block; }
  .service-showcase.is-enhanced .service-panel, .service-showcase.is-enhanced .service-panel[hidden] { display: block !important; visibility: visible; margin-bottom: 24px; }
}

.news-heading { align-items: center; margin-bottom: 28px; }
.news-heading .news-intro { margin-top: 18px; color: var(--muted); font-size: 14px; }
.news-heading > .button { flex-shrink: 0; }
.news-topics { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 30px; }
.news-topics a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border: 1px solid var(--line); border-radius: 4px; color: #50636f; font-size: 13px; transition: background .2s, border-color .2s, color .2s; }
.news-topics a:hover, .news-topics a[aria-current] { background: #eff8fc; border-color: var(--brand); color: var(--brand-strong); }
.news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; row-gap: 34px; }
.news-item { display: flex; flex-direction: column; align-items: flex-start; padding: 27px 0 10px; border-top: 1px solid #cedce4; }
.news-item-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; width: 100%; margin-bottom: 18px; font-size: 12px; color: var(--muted); }
.news-item-meta > span { color: var(--brand-strong); }
.news-tags { display: flex; flex-wrap: wrap; gap: 7px; max-width: 100%; }
.news-tags a { display: inline-flex; align-items: center; min-height: 32px; padding: 5px 10px; border: 1px solid #d2e4ec; border-radius: 4px; color: var(--brand-strong); background: #f5fbfe; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; transition: color .2s, border-color .2s, background .2s; }
.news-tags a:hover { color: #fff; border-color: var(--brand-strong); background: var(--brand-strong); }
.news-tags a:focus-visible { outline: 2px solid var(--brand-strong); outline-offset: 3px; }
.article-tags { margin-bottom: 22px; }
.article-tags-bottom { align-items: center; gap: 8px; margin: 40px 0 0; padding-top: 22px; border-top: 1px solid var(--line); }
.article-tags-label { color: var(--ink); font-size: 12px; font-weight: 600; margin-right: 4px; }
.news-item h3 { font-size: 22px; line-height: 1.65; margin-bottom: 14px; }
.news-item > p { font-size: 14px; margin-bottom: 24px; }
.news-read { margin-top: auto; min-height: 44px; padding: 10px 16px; font-size: 12px; }
.news-cover { width: 100%; display: block; margin-bottom: 22px; overflow: hidden; aspect-ratio: 16 / 10; }
.news-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.news-cover:hover img { transform: scale(1.025); }
.news-directory .news-topics { margin-top: 30px; }
.news-empty { text-align: center; color: var(--muted); padding: 70px 0; border-top: 1px solid var(--line); }
.article-body img, .article-body video { max-width: 100%; height: auto; }
.article-page .article-body img { display: block; width: auto; max-width: min(100%, 640px); height: auto; max-height: 480px; object-fit: contain; margin: 24px auto; }
.article-body video { display: block; width: 100%; margin: 24px 0; background: #101820; }
.contact-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 72px; align-items: start; }
.contact-location { margin-top: 32px; }
.contact-person { display: block; padding-top: 20px; }
.contact-person > img { width: 108px; height: 108px; margin-bottom: 13px; }
.contact-person h3 { font-size: 16px; }
.contact-person p { margin: 4px 0 8px; font-size: 12px; }
.contact-person a { font-size: 13px; line-height: 1.8; }
.inquiry-layout { border-left: 1px solid #c8dce8; padding-left: 36px; }
.inquiry-layout .form-heading { font-size: 24px; margin: 0 0 22px; }
.service-picker { margin-bottom: 22px; }
.service-picker summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; min-height: 46px; border: 1px solid #c8dce8; border-radius: 4px; background: #ffffffb3; font-size: 13px; cursor: pointer; }
.service-picker summary::-webkit-details-marker { display: none; }
.service-picker summary > span { min-width: 0; overflow-wrap: anywhere; }
.service-picker summary .icon { flex-shrink: 0; transition: transform .2s; }
.service-picker[open] summary { border-color: var(--brand); }
.service-picker[open] summary .icon { transform: rotate(180deg); }
.service-picker-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; padding: 22px 0 0; }
.service-picker .service-option-group { margin: 0; padding: 0; border: 0; }
.service-picker .service-options { display: grid; gap: 7px; }
.service-picker .service-option { align-items: flex-start; line-height: 1.7; }
.service-picker .service-option input { flex-shrink: 0; margin-top: 2px; }
.inquiry-layout .form-row { gap: 18px; }
.inquiry-layout .form-row > label { min-width: 0; }
.inquiry-layout textarea { min-height: 116px; }
.inquiry-layout .form-bottom { flex-direction: row; align-items: center; justify-content: space-between; }
.inquiry-layout .captcha-field { margin-bottom: 22px; }
.inquiry-layout .captcha-field > label { margin: 0 0 9px; }
.captcha-control { display: flex; gap: 12px; max-width: 350px; }
.inquiry-layout .captcha-control input { margin: 0; min-width: 0; flex: 1; }
.captcha-refresh { flex: 0 0 120px; width: 120px; height: 45px; padding: 0; border: 1px solid #c8dce8; border-radius: 4px; overflow: hidden; cursor: pointer; background: white; }
.captcha-refresh img { width: 120px; height: 45px; object-fit: contain; }
.inquiry-submit { min-width: 148px; justify-content: center; }
.inquiry-layout :disabled { opacity: .65; cursor: wait; }

/* Sanhui: a light digital studio, shared by the CMS homepage and inner pages. */
:root { --brand:#00a0e9; --brand-strong:#007eb8; --brand-deep:#006c9d; --ink:#17191b; --muted:#60666a; --line:#d9dcde; --paper:#f1f2f3; --site-gutter:clamp(20px,2.8%,80px); }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
html:has(dialog[open]) { overflow:hidden; }
body { background:#fff; color:var(--ink); font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif; letter-spacing:0; }
h1, h2, h3 { text-wrap:balance; }
.shell, .s-home .shell { width:calc(100% - var(--site-gutter)*2); max-width:none; }
.site-header { background:#ffffffed; border-bottom:1px solid transparent; backdrop-filter:blur(16px); }
.site-header.is-scrolled { border-color:var(--line); box-shadow:none; }
.site-header.has-reading-progress::after { content:""; position:absolute; inset:auto 0 -1px; height:2px; background:var(--brand); transform:scaleX(var(--reading-progress,0)); transform-origin:left; pointer-events:none; }
.header-inner { min-height:86px; gap:40px; }
.site-header .brand { width:224px; height:76px; }
.site-header .brand-logo { width:220px; max-height:68px; height:auto; }
.site-nav { display:flex; align-items:center; gap:34px; font-size:14px; }
.site-nav > a { white-space:nowrap; flex-shrink:0; }
.site-nav > a:not(.button) { position:relative; padding:12px 0; }
.site-nav > a:not(.button)::after { content:""; position:absolute; left:50%; bottom:3px; width:4px; height:4px; border-radius:50%; background:var(--brand); opacity:0; transition:opacity .2s; }
.site-nav > a:not(.button):hover, .site-nav > a[aria-current] { color:var(--brand-strong); }
.site-nav > a[aria-current]::after { opacity:1; }
.button { border-radius:3px; min-height:50px; gap:26px; padding:13px 24px; font-size:14px; font-weight:500; transition:background .25s,color .25s,transform .25s,border-color .25s; }
.button, .inline-link { white-space:nowrap; flex-shrink:0; max-width:100%; }
.button .icon { transition:transform .25s; }
.button:hover .icon { transform:translate(3px,-2px); }
.button:active { transform:translateY(1px) scale(.985); }
.icon-button { transition:background .2s,transform .2s; }
.icon-button:active { transform:scale(.94); }
.button-dark { background:var(--brand-strong); color:#fff; border-color:var(--brand-strong); }
.button-dark:hover { background:var(--brand-deep); border-color:var(--brand-deep); box-shadow:none; }
.button-outline { border-color:#aeb3b6; background:transparent; color:var(--ink); }
.button-outline:hover { background:var(--ink); border-color:var(--ink); color:#fff; }
.button-outline:hover > .icon { filter:brightness(0) invert(1); }
.button-small { min-height:44px; padding:10px 18px; font-size:13px; }
.n-eyebrow { font:12px/1.5 Arial,"Microsoft YaHei",sans-serif; color:var(--muted); margin-bottom:14px; }
.n-hero { isolation:isolate; position:relative; height:calc(100svh - 240px); min-height:400px; max-height:1000px; overflow:hidden; background:#f1f3f5; }
.n-scene-source, .n-stage { position:absolute; inset:0; }
.n-scene-source > div, .n-scene-source img { width:100%; height:100%; }
.n-scene-source > :not(:first-child) { display:none; }
.n-scene-source img { display:block; object-fit:cover; }
.n-stage { z-index:1; opacity:0; }
.n-hero[data-scene="ready"] .n-stage { opacity:1; }
.n-hero[data-scene="ready"] .n-scene-source { visibility:hidden; }
.n-stage canvas { display:block; width:100%; height:100%; }
.n-hero-bottom { position:absolute; z-index:2; bottom:24px; left:0; right:0; display:flex; justify-content:flex-end; align-items:center; pointer-events:none; }
.n-hero-bottom [hidden] { display:none; }
.n-motion { background:#ffffffde; border:1px solid #ffffffb3; border-radius:50%; width:44px; height:44px; pointer-events:auto; }
.n-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:36px; margin-bottom:38px; }
.n-section-heading :is(h1,h2) { font-size:42px; font-weight:650; line-height:1.45; }
.n-section-heading > p { color:var(--muted); font-size:15px; }
.n-section-heading > .button { flex-shrink:0; }
.n-services { padding-top:88px; }
.n-services > .n-section-heading h1 { max-width:690px; }
.n-service-stack { isolation:isolate; }
:is(.n-promotion,.n-promotion-page,.n-promotion-detail,[data-business="3"]) { --business-bg:#e4f2fb; --business-accent:#086d99; --business-line:#bfd9e9; }
:is(.n-service-4,[data-business="4"]) { --business-bg:#fff0e3; --business-accent:#994b28; --business-line:#e7cbb6; }
:is(.n-service-5,[data-business="5"]) { --business-bg:#e4f2e9; --business-accent:#28684e; --business-line:#bed9c8; }
:is(.n-service-6,[data-business="6"]) { --business-bg:#f4e7ee; --business-accent:#87516e; --business-line:#dfc4d3; }
:is(.n-promotion,.n-promotion-page,.n-promotion-detail,.n-service-panel,.detail-hero[data-business]) { --muted:#546269; }
.n-promotion { padding:34px 0 80px; border-top:1px solid var(--business-line); background:var(--business-bg); }
.n-promotion .n-section-heading .n-eyebrow { color:var(--business-accent); }
.n-promotion .n-section-heading h3 { font-size:42px; line-height:1.2; font-weight:650; }
.n-geo-feature { padding:12px 0 56px; }
.n-geo-intro { max-width:780px; text-align:center; margin:0 auto 34px; }
.n-geo-intro .n-eyebrow { color:var(--business-accent); }
.n-geo-intro h2 { font-size:40px; line-height:1.35; font-weight:650; margin-bottom:18px; }
.n-geo-intro > p:not(.n-eyebrow) { font-size:17px; line-height:1.9; color:var(--muted); }
.n-promotion-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:24px; }
.n-media-gallery { max-width:1440px; margin:0 auto; min-width:0; }
.n-gallery-stage { display:flex; position:relative; align-items:center; justify-content:center; aspect-ratio:1769/776; background:#f5f4fa; border:1px solid #e2e2eb; border-radius:6px; overflow:hidden; }
.n-gallery-stage > img { width:100%; height:100%; object-fit:contain; }
.n-gallery-expand { position:absolute; bottom:16px; right:16px; display:grid; place-items:center; width:44px; height:44px; background:#fff; border:1px solid #d6e0e6; border-radius:50%; box-shadow:0 3px 18px #15243712; transition:transform .2s; }
.n-gallery-stage:hover .n-gallery-expand { transform:scale(1.08); }
.n-gallery-thumbs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; padding-top:16px; }
.n-gallery-thumbs > a { min-width:0; padding:5px; border:1px solid var(--line); border-radius:4px; background:#fff; transition:border-color .2s,box-shadow .2s; }
.n-gallery-thumbs img { width:100%; height:80px; object-fit:contain; background:#f5f4fa; }
.n-gallery-thumbs span { display:block; text-align:center; font-size:12px; padding:10px 2px 4px; line-height:1.5; }
.n-gallery-thumbs a[aria-pressed="true"] { border-color:var(--brand); box-shadow:inset 0 0 0 1px var(--brand); color:var(--brand-deep); }
.n-gallery-thumbs a:hover { border-color:var(--brand); }
.n-promotion-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 24px; }
.n-promotion-card { display:flex; flex-direction:column; min-width:0; }
.n-promotion-picture { display:block; aspect-ratio:3/2; overflow:hidden; background:var(--paper); border-radius:5px; }
.n-promotion-picture img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.n-promotion-card:hover .n-promotion-picture img { transform:scale(1.025); }
.n-promotion-copy { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding-top:22px; }
.n-promotion-copy h3 { font-size:25px; line-height:1.4; font-weight:600; margin-bottom:12px; }
.n-promotion-copy > p { color:var(--muted); font-size:14px; line-height:1.9; margin-bottom:22px; }
.n-promotion-copy > .button { margin-top:auto; }
.n-promotion-page, .n-promotion-detail { padding:40px 0 80px; background:var(--business-bg); }
.n-promotion-page-title { max-width:950px; margin:48px auto; text-align:center; }
.n-promotion-page-title h1 { font-size:52px; font-weight:650; line-height:1.3; margin-bottom:20px; }
.n-promotion-page-title > p:not(.n-eyebrow) { color:var(--muted); font-size:20px; line-height:1.75; }
.n-promotion-page-title > .n-promotion-description { font-size:16px; max-width:740px; margin:18px auto 26px; }
.n-promotion-detail-picture { max-width:1080px; margin:0 auto; }
.n-promotion-detail-picture img { display:block; width:100%; height:auto; border-radius:6px; }
.n-promotion-body { max-width:1080px; margin:42px auto 0; }
.n-promotion-body > p { font-size:17px; line-height:1.95; color:var(--muted); margin-bottom:18px; }
.n-promotion-scope { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; padding:30px 0 42px; }
.n-promotion-scope section { padding-top:22px; border-top:2px solid var(--brand); }
.n-promotion-scope h2 { font-size:21px; font-weight:600; margin-bottom:12px; }
.n-promotion-scope p { color:var(--muted); line-height:1.85; font-size:14px; }
.n-image-dialog { position:fixed; inset:0; width:min(96vw,1920px); height:min(94svh,1200px); max-width:96vw; max-height:94svh; padding:0; border:1px solid #dce1e8; border-radius:8px; background:#f5f6f8; color:var(--ink); }
.n-image-dialog[open] { display:grid; grid-template-rows:64px minmax(0,1fr) 62px; }
.n-image-dialog::backdrop { background:#14212dcc; }
.n-image-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 20px; border-bottom:1px solid var(--line); background:#fff; }
.n-image-dialog-header h2 { font-size:17px; line-height:1.5; font-weight:600; }
.n-image-dialog-header > div { display:flex; gap:8px; flex-shrink:0; }
.n-image-dialog .icon-button { width:42px; height:42px; flex-shrink:0; }
.n-image-viewport { display:flex; align-items:center; justify-content:center; min-width:0; min-height:0; padding:16px; overflow:auto; overscroll-behavior:contain; }
.n-image-viewport > img { display:block; width:100%; height:100%; object-fit:contain; }
.n-image-viewport.is-zoomed { display:block; }
.n-image-viewport.is-zoomed > img { width:auto; height:auto; max-width:none; max-height:none; margin:0 auto; }
.n-image-dialog [data-image-zoom][aria-pressed="true"] { background:#dff1fb; }
.n-image-dialog-footer { display:flex; gap:22px; align-items:center; justify-content:center; border-top:1px solid var(--line); background:#fff; font-size:14px; }
.n-image-previous img { transform:rotate(180deg); }
.n-partners { padding:72px 0; border-top:1px solid var(--line); }
.n-partners:not(:has(.n-partner)) { display:none; }
.n-partner-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.n-partner { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; min-width:0; min-height:180px; padding:26px 24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .2s; text-align:center; }
.n-partner > img:not(.icon) { width:180px; max-width:100%; height:70px; object-fit:contain; }
.n-partner > span { line-height:1.7; font-size:14px; }
.n-partner > .icon { position:absolute; top:12px; right:12px; opacity:0; transition:opacity .2s; }
.n-partner:hover, .n-partner:focus-visible { background:#f2f8fc; }
.n-partner:hover > .icon, .n-partner:focus-visible > .icon { opacity:1; }
@media (max-width:1100px) {
  .n-promotion-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .n-partner-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .n-promotion { padding:28px 0 48px; }
  .n-promotion .n-section-heading h3 { font-size:30px; }
  .n-geo-feature { padding-bottom:36px; }
  .n-geo-intro h2 { font-size:30px; }
  .n-geo-intro > p:not(.n-eyebrow) { font-size:15px; text-align:left; }
  .n-promotion-actions { gap:8px; }
  .n-promotion-actions .button { gap:10px; padding:12px 16px; }
  .n-gallery-expand { width:36px; height:36px; bottom:8px; right:8px; }
  .n-gallery-thumbs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding-top:10px; }
  .n-gallery-thumbs img { height:52px; }
  .n-gallery-thumbs span { font-size:11px; }
  .n-promotion-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .n-promotion-copy { padding-top:18px; }
  .n-promotion-copy h3 { font-size:23px; }
  .n-promotion-page-title { margin:28px auto 32px; }
  .n-promotion-page-title h1 { font-size:32px; }
  .n-promotion-page-title > p:not(.n-eyebrow) { font-size:17px; }
  .n-promotion-page-title > .n-promotion-description { font-size:15px; text-align:left; }
  .n-promotion-scope { grid-template-columns:minmax(0,1fr); gap:20px; }
  .n-promotion-body > p { font-size:15px; }
  .n-image-dialog { width:100vw; max-width:100vw; height:100svh; max-height:100svh; border:0; border-radius:0; }
  .n-image-dialog-header { padding:10px 12px; }
  .n-image-dialog-header h2 { font-size:15px; }
  .n-image-viewport { padding:8px; }
  .n-partner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .n-partner { padding:22px 14px; min-height:160px; }
}
.n-service-start { height:0; pointer-events:none; }
.n-service-panel { position:sticky; top:84px; padding:30px 0 32px; background:var(--business-bg); border-top:1px solid var(--business-line); box-shadow:0 -12px 35px #172a3b05; }
.n-service-heading { display:grid; grid-template-columns:1fr 1fr 56px; gap:25px; align-items:center; margin-bottom:22px; }
.n-service-heading h3 { font-size:42px; line-height:1.2; font-weight:650; }
.n-service-heading .n-eyebrow { margin-bottom:9px; color:var(--business-accent); }
.n-service-line { font-size:20px; line-height:1.6; color:var(--muted); }
.n-round-link { width:54px; height:54px; border:1px solid var(--business-line); border-radius:50%; transition:transform .25s,background .25s; }
.n-round-link:hover { background:#fff; transform:rotate(45deg); }
.n-service-media { display:block; height:255px; overflow:hidden; background:#f9fbfc; }
.n-service-media img { width:100%; height:100%; object-fit:cover; object-position:50% 57%; transition:transform .7s cubic-bezier(.2,.6,.2,1); }
.n-service-media:hover img { transform:scale(1.035); }
.n-service-5 .n-service-media img { object-position:50% 62%; }
.n-service-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; margin:22px 0 0; padding:0; gap:15px 32px; }
.n-service-directory li { min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.n-service-directory a { display:flex; justify-content:space-between; gap:20px; padding:10px 0; }
.n-service-directory strong { display:block; font-size:18px; font-weight:600; }
.n-service-directory small { display:block; font-size:13px; color:var(--muted); line-height:1.8; margin-top:8px; max-width:450px; }
.n-service-directory .icon { flex-shrink:0; margin-top:5px; transition:transform .2s; }
.n-service-directory a:hover { color:var(--business-accent); }
.n-service-directory a:hover .icon { transform:translate(3px,-3px); }
.n-preview-trigger { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:38px; margin-top:auto; padding:8px 14px; font:inherit; font-size:12px; color:var(--business-accent); background:#ffffffb8; border:1px solid var(--business-line); border-radius:4px; cursor:pointer; transition:background .2s,border-color .2s,transform .2s; }
.n-preview-trigger[hidden] { display:none; }
.n-preview-trigger:hover,.n-preview-trigger:focus-visible { background:#fff; border-color:var(--business-accent); }
.n-preview-trigger .icon { transition:transform .25s; }
.n-preview-trigger:hover .icon { transform:rotate(90deg); }
.n-preview-trigger:active { transform:scale(.98); }
.n-service-4 .n-service-directory { grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; }
.n-service-4 .n-service-directory strong { font-size:17px; }
.n-service-6 .n-service-directory { grid-template-columns:1fr; }
.n-service-6 .n-service-directory small { max-width:none; }
.n-process { padding:90px 0; position:relative; background:#fff; }
.n-process-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px; padding:0; margin:48px 0 0; list-style:none; counter-reset:delivery; }
.n-process-list li { counter-increment:delivery; position:relative; border-top:1px solid #c7d6dd; padding-top:25px; }
.n-process-list li::before { content:counter(delivery,decimal-leading-zero); display:block; font:14px/1.5 Consolas,monospace; color:var(--brand-strong); margin-bottom:16px; }
.n-process-list li::after { content:""; position:absolute; inset:-1px 0 auto; height:2px; background:var(--brand); transform:scaleX(0); transform-origin:left; transition:transform .8s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms); }
.n-process-list li.is-revealed::after,.n-process-list li:hover::after { transform:scaleX(1); }
.n-process-list h3 { font-size:21px; font-weight:600; margin-bottom:13px; }
.n-process-list p { color:var(--muted); font-size:14px; max-width:340px; line-height:1.9; }
.n-store-cases { padding:80px 0 88px; background:#f3f6f7; border-top:1px solid var(--line); }
.n-store-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 32px; }
.n-store-item { min-width:0; }
.n-store-cover { position:relative; display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:16/10; overflow:hidden; background:#fff; border:1px solid #e2e8eb; border-radius:4px; padding:24px; }
.n-store-cover > img { width:100%; height:100%; max-width:460px; object-fit:contain; transition:transform .4s; }
.n-store-cover:hover > img,.n-store-cover:focus-visible > img { transform:scale(1.025); }
.n-store-platform { position:absolute; left:20px; top:20px; font-size:12px; color:var(--brand-strong); background:#fff; padding:5px 8px; border:1px solid var(--line); border-radius:3px; }
.n-store-cover-action { position:absolute; display:grid; place-items:center; right:20px; bottom:20px; width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid var(--line); transition:background .2s; }
.n-store-cover:hover .n-store-cover-action,.n-store-cover:focus-visible .n-store-cover-action { background:var(--brand); border-color:var(--brand); }
.n-store-cover:hover .n-store-cover-action .icon,.n-store-cover:focus-visible .n-store-cover-action .icon { filter:brightness(0) invert(1); }
.n-store-caption { padding-top:24px; }
.n-store-caption .n-eyebrow { margin-bottom:8px; }
.n-store-caption h3 { font-size:25px; line-height:1.6; font-weight:600; overflow-wrap:anywhere; }
.n-store-caption h3 a:hover { color:var(--brand-strong); }
.n-store-description { font-size:14px; color:var(--muted); line-height:1.9; margin-top:12px; max-width:680px; }
.n-store-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.n-store-directory,.n-store-page { padding:28px 0 80px; }
.n-case-topics { margin-bottom:32px; }
.n-store-page-heading { text-align:center; padding:28px 0 42px; }
.n-store-page-heading h1 { font-size:46px; line-height:1.5; overflow-wrap:anywhere; }
.n-store-page-heading > p:last-of-type { max-width:780px; margin:18px auto 0; font-size:16px; line-height:1.9; color:var(--muted); }
.n-store-page-heading .n-store-actions { justify-content:center; margin-top:26px; }
.n-store-gallery { max-width:1100px; margin-inline:auto; }
.n-store-main-picture { margin:0; display:grid; place-items:center; padding:30px; height:min(620px,72svh); background:#f3f6f7; border:1px solid var(--line); }
.n-store-main-picture > img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; }
.n-store-thumbnails { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:18px; }
.n-store-thumbnail { display:block; flex:0 0 80px; width:80px; height:80px; overflow:hidden; border:2px solid var(--line); border-radius:4px; padding:3px; background:#fff; }
.n-store-thumbnail img { display:block; width:100%; height:100%; object-fit:contain; }
.n-store-thumbnail:hover,.n-store-thumbnail[aria-pressed="true"] { border-color:var(--brand); }
.n-store-body { max-width:960px; margin:36px auto 0; line-height:1.9; font-size:16px; color:var(--muted); }
.n-store-body p + p { margin-top:16px; }
.n-store-page-navigation { margin:32px auto 0; max-width:960px; padding-top:26px; border-top:1px solid var(--line); }
.n-films { padding:80px 0 88px; border-top:1px solid var(--line); background:#fff; }
.n-film-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 32px; }
.n-film-item { min-width:0; }
.n-film-cover { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#e5ecef; border-radius:3px; }
.n-film-poster { display:block; width:100%; height:100%; object-fit:contain; }
.n-film-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:#fffffff2; box-shadow:0 4px 20px #19212620; transition:background .2s,transform .3s; }
.n-film-play .icon { width:25px; height:25px; margin-left:3px; }
.n-film-cover:hover .n-film-play,.n-film-cover:focus-visible .n-film-play { background:var(--brand); transform:translate(-50%,-50%) scale(1.08); }
.n-film-cover:hover .n-film-play .icon,.n-film-cover:focus-visible .n-film-play .icon { filter:brightness(0) invert(1); }
.n-film-duration { position:absolute; bottom:14px; right:14px; padding:4px 8px; border-radius:3px; color:#fff; background:#192126d9; font:12px/1.5 Consolas,monospace; }
.n-film-caption { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-top:20px; }
.n-film-caption > div { min-width:0; }
.n-film-category { color:var(--brand-strong); font-size:12px; line-height:1.6; margin:0 0 8px; }
.n-film-caption h3 { font-size:23px; line-height:1.6; font-weight:600; overflow-wrap:anywhere; }
.n-film-caption h3 a:hover { color:var(--brand-strong); }
.n-film-description { color:var(--muted); font-size:14px; line-height:1.9; margin-top:10px; max-width:650px; }
.n-film-detail { flex-shrink:0; width:44px; height:44px; border:1px solid #cbd5db; border-radius:50%; }
.n-film-detail:hover { color:var(--brand); background:#edf6fa; }
.n-video-dialog { width:min(1100px,calc(100% - 48px)); max-height:calc(100dvh - 32px); padding:0; border:0; border-radius:6px; margin:auto; background:#fff; color:var(--ink); box-shadow:0 24px 90px #17242c30; }
.n-video-dialog[open] { display:flex; flex-direction:column; animation:dialog-enter .3s cubic-bezier(.16,1,.3,1); }
.n-video-dialog::backdrop { background:#192126b3; }
.n-video-top { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 24px; flex-shrink:0; }
.n-video-top > div { min-width:0; }
.n-video-top h2 { font-size:22px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.n-video-top .n-film-category { margin-bottom:4px; }
.n-video-top .icon-button,.n-video-navigation .icon-button { flex-shrink:0; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; }
.n-video-player { display:block; width:100%; min-height:0; aspect-ratio:16/9; max-height:calc(100dvh - 225px); object-fit:contain; background:#101517; flex:0 1 auto; }
.n-video-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 24px; flex-shrink:0; }
.n-video-navigation { display:flex; align-items:center; gap:12px; }
.n-video-navigation > span { min-width:46px; font:13px/1.5 Consolas,monospace; text-align:center; color:var(--muted); }
[data-video-previous] .icon { transform:rotate(180deg); }
.n-video-navigation .icon-button:disabled { opacity:.4; cursor:default; }
.n-video-error { margin:12px 24px; color:#b52e2e; font-size:14px; }
.n-film-directory,.n-film-page { padding:28px 0 80px; }
.n-film-directory-heading { padding:24px 0 48px; }
.n-film-directory-heading h1 { font-size:50px; line-height:1.4; }
.n-film-directory-heading > p:last-child,.n-film-page-heading > p:last-child { font-size:16px; line-height:1.9; color:var(--muted); margin-top:18px; }
.n-film-page-heading { padding:26px 0 32px; }
.n-film-page-heading h1 { font-size:42px; line-height:1.5; overflow-wrap:anywhere; }
.n-film-runtime { display:inline-block; border-left:1px solid var(--line); padding-left:14px; margin-left:14px; font-family:Consolas,monospace; }
.n-film-full-player { display:block; width:100%; aspect-ratio:16/9; max-height:78svh; object-fit:contain; background:#101517; }
.n-film-player-wrap { position:relative; }
.n-film-player-wrap .n-film-play { border:0; cursor:pointer; }
.n-film-player-wrap .n-film-play:hover,.n-film-player-wrap .n-film-play:focus-visible { background:var(--brand); }
.n-film-player-wrap .n-film-play:hover .icon,.n-film-player-wrap .n-film-play:focus-visible .icon { filter:brightness(0) invert(1); }
.n-film-page-content { display:flex; align-items:flex-start; justify-content:space-between; gap:48px; padding-block:32px; border-bottom:1px solid var(--line); }
.n-film-page-content > div { max-width:900px; color:var(--muted); font-size:15px; line-height:1.9; }
.n-film-page-content p + p { margin-top:12px; }
.n-film-page-content .button { flex-shrink:0; }
.n-film-page-navigation { padding-top:26px; }
.n-news { padding:80px 0 88px; background:#f5f7f8; }
.news-topics { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 32px; }
.news-topics a { padding:9px 17px; border:1px solid #cedae0; background:#fff; border-radius:4px; font-size:13px; min-height:40px; }
.news-topics a:hover, .news-topics a[aria-current] { background:var(--brand-strong); color:#fff; border-color:var(--brand-strong); }
.n-news-list { display:grid; grid-template-columns:1fr 1fr; gap:44px; }
.n-news-item { display:grid; grid-template-columns:42% minmax(0,1fr); gap:26px; align-items:start; padding-bottom:24px; border-bottom:1px solid #ccd8de; }
.n-news-cover { aspect-ratio:4/4.6; overflow:hidden; }
.n-news-cover img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.n-news-cover:hover img { transform:scale(1.04); }
.n-news-item:focus-within .n-news-cover img { transform:scale(1.04); }
.n-news-item:hover .n-news-content .button,.n-news-item:focus-within .n-news-content .button { background:#fff; border-color:var(--brand); }
.n-questions { padding:80px 0 88px; background:#fff; }
.n-question-list { border-top:1px solid var(--line); counter-reset:question; }
.n-question { counter-increment:question; border-bottom:1px solid var(--line); }
.n-question summary { display:flex; align-items:center; gap:28px; list-style:none; padding:26px 8px; font-size:21px; line-height:1.5; font-weight:550; cursor:pointer; transition:color .2s; }
.n-question summary::-webkit-details-marker { display:none; }
.n-question summary::before { content:counter(question,decimal-leading-zero); font:12px/1.5 Consolas,monospace; color:var(--brand-strong); flex:0 0 24px; }
.n-question summary > span { flex:1; min-width:0; white-space:normal; overflow-wrap:anywhere; }
.n-question summary .icon { flex:0 0 22px; transition:transform .3s; }
.n-question[open] summary { color:var(--brand-strong); }
.n-question[open] summary .icon { transform:rotate(45deg); }
.n-question-answer { padding:0 60px 28px; max-width:1040px; color:#53656e; font-size:15px; line-height:2; }
.n-question-answer p { margin:0; }
.n-question[open] .n-question-answer { animation:answer-enter .28s ease-out; }
.n-selected-services { display:flex; flex-wrap:wrap; gap:8px; margin:-8px 0 26px; }
.n-selected-services[hidden] { display:none; }
.n-selected-services button { display:inline-flex; align-items:center; gap:12px; max-width:100%; min-height:36px; padding:7px 12px; border:1px solid #add7ea; border-radius:4px; background:#e9f7fd; color:var(--brand-strong); font:inherit; font-size:12px; cursor:pointer; }
.n-selected-services button span { overflow-wrap:anywhere; }
.n-selected-services button img { flex-shrink:0; }
.n-selected-services button:hover { background:#d5eef9; }
.n-service-dialog { width:min(940px,calc(100% - 48px)); max-height:calc(100dvh - 48px); padding:0; border:1px solid #d4e0e6; border-radius:8px; margin:auto; color:var(--ink); background:#fff; box-shadow:0 24px 90px #17242c30; }
.n-service-dialog[open] { display:flex; flex-direction:column; animation:dialog-enter .3s cubic-bezier(.16,1,.3,1); }
.n-service-dialog::backdrop { background:#1921268c; animation:backdrop-enter .25s ease; }
.n-preview-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 32px 0; flex-shrink:0; }
.n-preview-top .n-eyebrow { margin:0; color:var(--brand-strong); font-size:13px; }
.n-preview-top .icon-button { width:40px; height:40px; border-radius:50%; background:#eef3f6; }
.n-preview-heading { padding:4px 32px 22px; flex-shrink:0; }
.n-preview-heading h2 { font-size:32px; line-height:1.4; font-weight:650; }
.n-preview-heading > p { color:var(--muted); font-size:14px; line-height:1.8; margin-top:10px; }
.n-preview-body { overflow:auto; overscroll-behavior:contain; padding:24px 32px 32px; min-height:160px; background:#f5f8fa; border-block:1px solid #e1e8ec; }
.n-preview-body [role="status"] { color:var(--muted); padding-block:32px; font-size:14px; }
.n-preview-body [role="status"]:empty,.n-preview-audience:empty,.n-preview-preparation:empty { display:none; }
.n-preview-body[aria-busy="true"]::after { content:""; display:block; width:28px; height:28px; border:2px solid #d1e4ed; border-top-color:var(--brand); border-radius:50%; animation:preview-loading .7s linear infinite; }
.n-preview-audience { color:#526874; font-size:14px; line-height:1.9; margin-bottom:26px; }
.n-preview-deliverables { display:grid; grid-template-columns:1fr 1fr; gap:28px 36px; counter-reset:deliverable; }
.n-preview-deliverables article { counter-increment:deliverable; border-top:1px solid #bfd1dc; padding-top:18px; }
.n-preview-deliverables h3 { display:flex; align-items:center; gap:12px; font-size:18px; line-height:1.5; }
.n-preview-deliverables h3::before { content:counter(deliverable,decimal-leading-zero); font:11px Consolas,monospace; color:var(--brand-strong); }
.n-preview-deliverables p { font-size:14px; line-height:1.9; color:#586c76; margin-top:10px; }
.n-preview-preparation { margin-top:32px; padding-top:24px; border-top:1px solid #d5e0e6; }
.n-preview-preparation h3 { font-size:15px; font-weight:600; margin-bottom:14px; }
.n-preview-preparation ul { display:grid; grid-template-columns:1fr 1fr; padding-left:18px; gap:10px 35px; color:#526874; font-size:13px; }
.n-preview-preparation li::marker { color:var(--brand); }
.n-preview-actions { padding:20px 32px; display:flex; justify-content:space-between; gap:16px; flex-shrink:0; background:#fff; }
.n-preview-actions .button { min-height:44px; font-size:13px; }
@keyframes answer-enter { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
@keyframes dialog-enter { from { opacity:0; transform:translateY(18px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes backdrop-enter { from { opacity:0; } to { opacity:1; } }
@keyframes preview-loading { to { transform:rotate(360deg); } }
@media (hover:hover) and (pointer:fine) {
  .n-news-item.is-revealed:hover { transform:translateY(-5px); }
  .n-service-directory li:hover strong { color:var(--brand-strong); }
  .n-question summary:hover { color:var(--brand-strong); }
  .button:hover { transform:translateY(-2px); }
}
.n-news-content { min-width:0; }
.n-news-content time { font:12px/1.5 Consolas,monospace; color:var(--muted); }
.n-news-content h3 { font-size:22px; line-height:1.6; margin-top:14px; }
.n-news-content h3 a:hover { color:var(--brand-strong); }
.n-news-content > p { font-size:13px; line-height:1.8; color:var(--muted); margin-top:15px; }
.n-news-content .button { margin-top:22px; min-height:40px; padding:8px 14px; font-size:12px; }
.s-contact { background:#fff; padding-top:110px; border-top:1px solid var(--line); }
.s-heading { margin-bottom:54px; }
.s-contact-heading { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:32px; }
.s-contact-heading > .button { flex-shrink:0; }
.s-heading h2 { font-size:88px; line-height:1.2; font-weight:500; }
.s-inquiry { padding:0 0 42px; background:transparent; border:0; }
.s-inquiry fieldset { border:0; padding:0; margin:0; min-width:0; }
.s-inquiry legend { font-size:13px; padding:0; margin-bottom:14px; }
.s-category-selection { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.s-inquiry label.s-category-option { display:flex; position:relative; align-items:center; justify-content:center; cursor:pointer; min-height:52px; padding:12px 32px; border:1px solid #cad8df; border-radius:4px; background:#fff; font-weight:500; font-size:14px; margin:0; }
.s-category-option input { position:absolute; opacity:0; width:18px; height:18px; }
.s-category-option .icon { position:absolute; right:14px; opacity:0; }
.s-category-option:has(input:checked) { background:#eaf7fe; border-color:var(--brand); color:var(--brand-strong); }
.s-category-option:has(input:checked) .icon { opacity:1; }
.s-category-option:has(input:focus-visible) { outline:3px solid var(--brand); outline-offset:3px; }
@media (min-width:601px) and (max-width:900px) { .s-category-selection { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.s-service-picker { margin:18px 0 24px; }
.s-service-picker summary { width:max-content; max-width:100%; min-height:36px; display:flex; align-items:center; gap:16px; padding:6px 12px; border:1px solid #cbd8df; border-radius:4px; background:#f8fafb; cursor:pointer; font-size:12px; white-space:nowrap; }
.s-service-picker summary > span { flex:0 0 auto; overflow-wrap:normal; }
.s-service-picker summary .icon { width:16px; height:16px; flex:0 0 16px; }
.s-service-picker .service-picker-options { padding:22px 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; border-bottom:1px solid var(--line); }
.service-options { display:grid; gap:10px; }
.service-option { display:flex; align-items:center; gap:8px; font-size:13px; cursor:pointer; }
.service-option input { width:16px; height:16px; margin:0; accent-color:var(--brand-strong); }
.s-form-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.s-form-row > label { min-width:0; }
.s-inquiry label:not(.s-category-option,.service-option,.s-privacy-choice) { display:block; font-size:13px; font-weight:500; margin-bottom:22px; }
.s-inquiry input:not([type=checkbox]), .s-inquiry textarea, .s-inquiry select { display:block; width:100%; min-width:0; min-height:48px; margin-top:10px; padding:12px 14px; border:1px solid #c7d5dd; background:#f9fbfc; border-radius:4px; font-size:14px; }
.s-inquiry textarea { min-height:115px; resize:vertical; }
.s-inquiry input:focus, .s-inquiry textarea:focus, .s-inquiry select:focus { border-color:var(--brand); background:#fff; }
.s-submit-row { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; }
.s-inquiry .captcha-field { display:flex; align-items:center; gap:18px; }
.s-inquiry .captcha-field > label { margin:0; }
.captcha-control { display:flex; align-items:center; gap:12px; }
.s-inquiry .captcha-control input { margin:0; width:160px; }
.captcha-refresh { border:1px solid #d2dde3; background:#fff; padding:0; flex-shrink:0; }
.captcha-refresh img { width:120px; height:45px; }
.s-inquiry .s-privacy { display:flex; align-items:center; flex-wrap:wrap; gap:0 4px; margin:12px 0 0; font-size:13px; line-height:1.6; color:var(--muted); }
.s-inquiry label.s-privacy-choice { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin:0; padding:4px 0; font-size:inherit; font-weight:400; cursor:pointer; }
.s-privacy-choice span { white-space:nowrap; }
.s-privacy input { flex:0 0 18px; width:18px; height:18px; margin:0; accent-color:var(--brand); cursor:inherit; }
.s-privacy a { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; color:var(--brand-strong); }
.s-privacy a:hover { color:var(--brand-deep); }
.s-inquiry .inquiry-submit { min-width:240px; min-height:54px; gap:55px; }
.s-inquiry :disabled { opacity:.65; cursor:wait; }
.form-error { color:#b33037; font-size:14px; }
.form-status { color:#197152; font-size:14px; }
.form-error:not(:empty), .form-status:not(:empty) { padding-top:18px; }
.s-contact-people { border-top:1px solid var(--line); padding:52px 0 64px; display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.s-contact-person { display:flex; align-items:center; justify-content:space-between; gap:20px; min-width:0; }
.s-contact-person + .s-contact-person { padding-left:0; }
.s-contact-person h3 { font-size:16px; font-weight:500; margin-bottom:6px; }
.s-contact-person h3 span { font-size:12px; color:var(--muted); margin-left:15px; }
.s-contact-phone { font:38px/1.5 Arial,sans-serif; }
.s-technical-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; }
.s-contact-email { font:13px/1.7 Arial,sans-serif; overflow-wrap:anywhere; }
.s-contact-person .s-wechat { flex-shrink:0; font-size:12px; min-height:40px; padding:8px 12px; gap:8px; }
.s-footer { background:#17191b; color:#fff; padding:72px 0 30px; border-top:0; }
.s-footer-row { display:flex; align-items:center; justify-content:space-between; gap:36px; }
.s-footer-main { display:flex; align-items:flex-start; gap:90px; }
.s-footer-main .s-footer-row { flex:1; min-width:0; flex-wrap:wrap; }
.s-footer-account { display:flex; flex:0 0 129px; flex-direction:column; align-items:center; gap:14px; font-size:12px; color:#e7eaec; }
.s-footer-account > img { display:block; width:129px; height:129px; background:#fff; }
.s-footer-account:hover, .s-footer-account:focus-visible { color:var(--brand-strong); }
@media (max-width:700px) { .s-footer-main { flex-wrap:wrap; align-items:flex-start; gap:26px; }.s-footer-main .s-footer-row { flex-basis:100%; }.s-footer-account { flex-basis:129px; } }
.s-footer-name { width:100%; font-size:56px; line-height:1.2; font-weight:500; }
.s-footer-row nav { display:flex; flex-wrap:wrap; gap:20px 26px; font-size:14px; color:#c2c8cc; padding-block:16px; }
.s-footer-row nav a:hover { color:var(--brand-strong); }
.s-back-top { border:1px solid #60666a; border-radius:50%; flex-shrink:0; width:50px; height:50px; }
.s-back-top .icon { filter:brightness(0) invert(1); }
.s-back-top:hover { background:var(--brand-strong); }
.s-footer-legal { display:flex; flex-wrap:wrap; gap:20px; color:#a1aaaf; font-size:12px; margin-top:52px; padding-top:24px; border-top:1px solid #3b3f42; }
.s-qr-dialog { width:min(390px,calc(100% - 40px)); border:0; padding:25px; border-radius:6px; box-shadow:0 24px 100px #0006; }
.s-qr-dialog::backdrop { background:#14263088; }
.s-dialog-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.s-dialog-heading h2 { font-size:21px; }
.s-qr-dialog > img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.s-reveal { transition:opacity .55s ease,transform .75s cubic-bezier(.16,1,.3,1),clip-path .85s cubic-bezier(.16,1,.3,1); transition-delay:var(--reveal-delay,0ms); }
.s-reveal.is-pending { opacity:0; transform:translateY(28px); }
.s-reveal[data-reveal="fade"].is-pending { transform:none; }
.s-reveal[data-reveal="title"].is-pending { transform:translateY(22px); clip-path:inset(0 0 75% 0); }
.s-reveal[data-reveal="title"].is-revealed { clip-path:inset(-4px -4px -4px -4px); }
.s-reveal[data-reveal="media"].is-pending { transform:scale(.98); clip-path:inset(0 8%); }
.s-reveal[data-reveal="media"].is-revealed { clip-path:inset(0); }
.s-reveal[data-reveal="media"].is-pending img { transform:scale(1.08); }
.s-reveal[data-reveal="rise"].is-pending { transform:translateY(40px); }
/* Inner routes use the same light materials and full-width section boundaries. */
.detail-hero, .detail-hero-green, .detail-hero-coral, .detail-hero-blue, .detail-hero-neutral { background:#f1f2f3; color:var(--ink); padding:42px 0 80px; border-bottom:0; }
.detail-hero[data-business] { background:#f1f2f3; border-color:var(--business-line); }
.detail-hero[data-business] :is(.eyebrow,.detail-headline) { color:var(--business-accent); }
.detail-hero h1 { font-size:72px; line-height:1.2; font-weight:500; margin:30px 0 26px; }
.detail-headline { font-size:26px; margin-bottom:18px; color:var(--brand-strong); }
.detail-summary { max-width:850px; color:#5c707c; font-size:16px; }
.detail-hero .button { margin-top:26px; }
.detail-layout { gap:80px; padding-block:90px; }
.detail-content { max-width:1200px; }
.detail-content h2 { font-size:28px; }
.detail-content > section { border-radius:0; }
.category-directory-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; border-top:0; }
.category-directory-list > article { background:#f7fafb; border:1px solid #dee7ec; border-radius:5px; padding:28px; }
.category-directory-list > article h3 { font-size:23px; }
.category-directory-list > article p { font-size:15px; line-height:1.9; }
.category-directory-list > article .button { font-size:13px; }
.news-directory { background:#fff; padding:42px 0 100px; }
.news-directory h1 { font-size:88px; font-weight:500; line-height:1.2; margin-block:24px; }
.article-head h1 { font-size:52px; font-weight:500; line-height:1.4; }
.news-grid { gap:50px 28px; }
.news-item.guide-card { border:0; border-radius:0; box-shadow:none; background:transparent; padding:0; }
.news-item .news-cover { border-radius:0; }
.news-item.guide-card h3 { font-size:24px; line-height:1.5; font-weight:500; }
.cta-band { background:#f1f2f3; padding-block:88px; }
.cta-band .shell { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }
.cta-band h2 { font-size:52px; line-height:1.35; font-weight:500; max-width:850px; }
.shell.narrow { max-width:none; }
.section:has(.privacy-copy) { padding-block:55px 100px; }
.section:has(.privacy-copy) h1 { font-size:88px; font-weight:500; margin-bottom:45px; }
.privacy-copy { max-width:1120px; margin-left:auto; }
.article-body { min-width:0; overflow-wrap:anywhere; }
.article-body h2 { scroll-margin-top:120px; }
.article-body > h2:not(:first-child) { margin-top:43px; }
.article-body h3 { font-size:18px; line-height:1.6; margin-bottom:8px; }
.article-body p + h3 { margin-top:22px; }
.article-body > p + p { margin-top:16px; }
.article-body > ul, .article-body > ol { padding-left:24px; line-height:2; }
.article-body > .button { margin-top:32px; }
.article-layout > .article-toc[hidden] + .article-body { grid-column:1 / -1; }
.detail-cta { background:#eef5f8; color:var(--ink); }
@media (min-width:1900px) { .n-section-heading :is(h1,h2) { font-size:48px; }.n-service-media { height:320px; }.n-service-panel { padding-bottom:42px; }.n-service-directory small { font-size:15px; } }
@media (max-width:1200px) { .site-nav { gap:19px; font-size:13px; }.n-service-4 .n-service-directory { grid-template-columns:repeat(3,minmax(0,1fr)); }.n-service-line { font-size:18px; }.n-service-media { height:235px; }.n-news-item { grid-template-columns:1fr; }.n-news-cover { aspect-ratio:16/9; }.n-news-content h3 { margin-top:10px; }.s-contact-phone { font-size:25px; }.s-contact-person { flex-wrap:wrap; }.s-contact-person + .s-contact-person { padding-left:30px; }.n-process-list { gap:24px; }.s-footer-row { flex-wrap:wrap; } }
@media (max-width:1100px) {
  .header-inner { min-height:72px; gap:0; flex-wrap:wrap; }.site-header .brand { height:64px; width:188px; }.site-header .brand-logo { width:184px; max-height:56px; }
  .menu-toggle:not([hidden]) { display:inline-flex; margin-right:-9px; }.menu-close-icon { display:none; }.menu-toggle[aria-expanded=true] .menu-close-icon { display:inline-block; }.menu-toggle[aria-expanded=true] .menu-open-icon { display:none; }
  .site-nav { flex-basis:100%; flex-wrap:wrap; justify-content:space-between; gap:12px; padding-bottom:15px; }.site-nav > a:not(.button) { padding-block:8px; }.site-nav > a:not(.button)::after { display:none; }.site-nav .button { flex-basis:100%; }
  .nav-enhanced .site-nav { display:none; }.nav-enhanced .site-nav.is-open { display:flex; flex-direction:column; align-items:stretch; position:absolute; top:100%; left:0; right:0; height:calc(100dvh - 73px); max-height:calc(100dvh - 73px); overflow-y:auto; padding:28px var(--site-gutter) 32px; background:#fff; border-bottom:1px solid var(--line); gap:0; box-shadow:none; justify-content:flex-start; font-size:22px; }
  .nav-enhanced .site-nav.is-open > a:not(.button) { min-height:47px; padding:10px 0; border-bottom:1px solid var(--line); }.nav-enhanced .site-nav.is-open .button { margin-top:17px; }
}
@media (max-width:700px) { .news-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:900px) {
  .n-hero { min-height:400px; height:calc(100svh - 210px); }
  .n-service-panel { position:relative; top:auto; padding-block:28px; }.n-section-heading :is(h1,h2) { font-size:34px; }.n-service-heading h3 { font-size:34px; }.n-service-directory strong { font-size:17px; }.n-service-heading { grid-template-columns:1fr 1fr 48px; }.n-round-link { width:46px; height:46px; }
  .n-services { padding-top:60px; }.n-process { padding-block:60px; }.n-process-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }.n-news,.n-questions { padding-block:60px; }
  .s-form-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }.s-service-picker .service-picker-options { grid-template-columns:1fr 1fr; }.s-contact { padding-top:60px; }.s-heading h2 { font-size:34px; }.s-contact-people { gap:25px; }.s-contact-person + .s-contact-person { padding-left:25px; }
  .detail-hero h1 { font-size:42px; }.detail-layout { gap:30px; }.category-directory-list { grid-template-columns:1fr; }.detail-content { max-width:none; }
}
.home-work-description { margin-top:14px; color:var(--muted); font-size:16px; line-height:1.8; }
.home-work-store .home-work-media.home-store-spread { display:grid; padding:56px var(--site-gutter); background:#eef0f1; }
.home-store-pictures { width:100%; max-width:1540px; justify-self:center; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:clamp(12px,3%,54px); min-height:0; }
.home-store-pictures img { aspect-ratio:1; object-fit:contain; background:#fff; }
@media (max-width:600px) {
  :root { --site-gutter:20px; }.n-hero { min-height:430px; height:calc(100svh - 140px); max-height:620px; }
  .n-hero-bottom { bottom:18px; gap:8px; }.n-motion { padding:10px; flex-shrink:0; }
  .n-services { padding-top:42px; }.n-section-heading { align-items:flex-start; flex-wrap:wrap; gap:22px; margin-bottom:28px; }.n-section-heading :is(h1,h2) { font-size:29px; max-width:340px; }.n-section-heading > .button { min-height:42px; padding:10px 15px; font-size:12px; }.n-eyebrow { font-size:11px; margin-bottom:11px; }
  .n-service-panel { padding:26px 0 22px; }.n-service-heading { grid-template-columns:1fr 42px; gap:12px; margin-bottom:18px; }.n-service-heading h3 { font-size:29px; }.n-service-line { grid-column:1; grid-row:2; font-size:15px; }.n-round-link { grid-row:1/3; grid-column:2; width:40px; height:40px; }.n-service-media { height:auto; aspect-ratio:1.65; }.n-service-directory, .n-service-4 .n-service-directory { grid-template-columns:1fr; gap:0; margin-top:16px; }.n-service-directory li + li { border-top:1px solid #dce4e8; }.n-service-directory a { padding:16px 0; gap:15px; }.n-service-directory strong, .n-service-4 .n-service-directory strong { font-size:17px; }.n-service-directory small { font-size:13px; margin-top:5px; }
  .n-process { padding-block:44px; }.n-process-list { margin-top:30px; gap:28px 22px; }.n-process-list h3 { font-size:18px; }.n-process-list p { font-size:13px; }.n-process-list li { padding-top:16px; }.n-news { padding-block:44px; }.n-news-list { grid-template-columns:1fr; gap:35px; }.n-news-item { gap:19px; }.n-news-content h3 { font-size:21px; }.n-news-content > p { margin-top:10px; }.n-news-content .button { margin-top:16px; }.news-topics { gap:8px; margin-bottom:24px; }.news-topics a { padding:8px 12px; font-size:12px; }
  .s-contact { padding-top:42px; }.s-heading h2 { font-size:30px; }.s-category-selection { grid-template-columns:1fr 1fr; gap:12px; }.s-inquiry label.s-category-option { min-height:48px; padding-inline:24px; font-size:13px; }.s-form-row { gap:0 14px; }.s-inquiry label:not(.s-category-option,.service-option,.s-privacy-choice) { font-size:12px; margin-bottom:18px; }.s-inquiry input:not([type=checkbox]), .s-inquiry select, .s-inquiry textarea { font-size:14px; padding-inline:10px; }.s-submit-row { align-items:stretch; flex-direction:column; gap:22px; }.s-inquiry .captcha-field { gap:10px; }.s-inquiry .captcha-field > label { flex-shrink:0; margin:0; }.s-inquiry .captcha-control { gap:10px; min-width:0; }.s-inquiry .captcha-control input { width:100%; }.s-inquiry .inquiry-submit { width:100%; }.s-contact-people { grid-template-columns:1fr; gap:24px; padding-block:28px; }.s-contact-person { flex-wrap:nowrap; gap:12px; }.s-contact-person + .s-contact-person { border:0; border-top:1px solid var(--line); padding:24px 0 0; }.s-contact-phone { font-size:23px; }.s-contact-person h3 span { margin-left:10px; }.s-contact-person .s-wechat { gap:5px; font-size:11px; padding:8px; }.s-technical-links { flex-direction:column; align-items:flex-start; gap:2px; }.s-contact-email { font-size:12px; }
  .s-footer-row { gap:24px; }.s-footer-name { font-size:22px; }.s-footer-row nav { gap:12px 20px; font-size:12px; }.s-footer { padding-top:28px; }.s-back-top { margin-left:auto; }.s-footer-legal { line-height:1.9; }
  .detail-hero { padding:26px 0 40px; }.detail-hero h1 { font-size:34px; }.detail-headline { font-size:21px; }.detail-summary { font-size:14px; }.detail-layout { padding-block:38px; }.detail-content h2 { font-size:24px; }.category-directory-list > article { padding:22px; }.category-directory-list > article h3 { font-size:22px; }.news-directory h1, .article-head h1 { font-size:32px; }
  .n-service-directory li { padding-bottom:16px; width:100%; }.n-service-directory a { width:100%; }.n-preview-trigger { min-height:42px; margin-top:0; padding:9px 14px; }
  .n-questions { padding-block:44px; }.n-question summary { gap:14px; padding:22px 8px 22px 0; font-size:17px; }.n-question summary::before { flex-basis:18px; }.n-question-answer { padding:0 0 24px 32px; font-size:14px; }
  .n-service-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); }.n-preview-top { padding:12px 18px 0; }.n-preview-heading { padding:4px 18px 18px; }.n-preview-heading h2 { font-size:24px; }.n-preview-heading > p { font-size:13px; }.n-preview-body { padding:20px 18px; min-height:100px; }.n-preview-deliverables { grid-template-columns:1fr; gap:22px; }.n-preview-deliverables h3 { font-size:17px; }.n-preview-deliverables p { font-size:13px; }.n-preview-preparation ul { grid-template-columns:1fr; }.n-preview-actions { padding:14px 18px; gap:8px; }.n-preview-actions .button { padding:10px 12px; font-size:12px; gap:8px; }.n-preview-top .icon-button { width:36px; height:36px; }
}
@media (max-width:360px) { .s-contact-phone { font-size:20px; }.s-inquiry .captcha-field { flex-wrap:wrap; }.s-service-picker .service-picker-options { grid-template-columns:minmax(0,1fr); }.n-process-list { grid-template-columns:1fr; } }
@media (max-width:389px) { .s-category-selection { grid-template-columns:minmax(0,1fr); } }
@media (max-width:900px) { .n-store-cases { padding-block:60px; }.n-store-grid { gap:36px 22px; }.n-store-caption h3 { font-size:22px; }.n-store-cover { padding:18px; }.n-store-page-heading h1 { font-size:36px; }.n-films { padding-block:60px; }.n-film-grid { gap:36px 22px; }.n-film-caption { gap:16px; }.n-film-caption h3 { font-size:20px; }.n-film-page-content { gap:28px; }.n-film-page-heading h1 { font-size:36px; } }
@media (max-width:600px) {
  .n-films { padding-block:44px; }.n-film-grid { grid-template-columns:1fr; gap:32px; }.n-film-caption { padding-top:16px; }.n-film-description { font-size:13px; margin-top:8px; }.n-film-play { width:52px; height:52px; }.n-film-duration { right:10px; bottom:10px; }.n-film-caption h3 { font-size:20px; }
  .n-store-cases { padding-block:44px; }.n-store-grid { grid-template-columns:1fr; gap:36px; }.n-store-cover { padding:20px; aspect-ratio:4/3; }.n-store-platform { left:12px; top:12px; }.n-store-cover-action { right:12px; bottom:12px; }.n-store-caption { padding-top:18px; }.n-store-caption h3 { font-size:22px; }.n-store-description { font-size:13px; }.n-store-actions { gap:10px; margin-top:18px; }.n-store-actions .button { padding:10px 14px; font-size:13px; gap:12px; }
  .n-store-directory,.n-store-page { padding:20px 0 44px; }.n-store-page-heading { padding:20px 0 28px; }.n-store-page-heading h1 { font-size:30px; }.n-store-page-heading > p:last-of-type { font-size:14px; }.n-store-main-picture { padding:14px; height:auto; aspect-ratio:1; }.n-store-thumbnails { gap:10px; margin-top:14px; }.n-store-thumbnail { width:68px; height:68px; flex-basis:68px; }.n-store-body { margin-top:26px; font-size:14px; }
  .n-video-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); }.n-video-top { padding:14px; gap:12px; }.n-video-top h2 { font-size:17px; }.n-video-top .n-film-category { font-size:11px; }.n-video-bottom { padding:12px; gap:12px; }.n-video-navigation { gap:4px; }.n-video-navigation > span { min-width:37px; }.n-video-bottom .button { padding:10px 12px; gap:8px; font-size:12px; }.n-video-error { margin:10px 14px; font-size:12px; }
  .n-film-directory,.n-film-page { padding:20px 0 44px; }.n-film-directory-heading { padding:20px 0 30px; }.n-film-directory-heading h1 { font-size:34px; }.n-film-directory-heading > p:last-child,.n-film-page-heading > p:last-child { font-size:14px; }.n-film-page-heading { padding:20px 0 24px; }.n-film-page-heading h1 { font-size:29px; }.n-film-page-content { flex-direction:column; gap:24px; padding-block:24px; }.n-film-page-content > div { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.s-reveal,.s-home *,.s-home *::before,.s-home *::after,.s-home dialog::backdrop,.n-film-play,.n-video-dialog { transition:none!important; animation:none!important; }.s-reveal.is-pending { opacity:1; transform:none; clip-path:none; }.n-service-panel { position:relative; top:auto; }.n-process-list li::after { transform:scaleX(1); } }
@media print { .n-hero,.s-inquiry { display:none; }.n-service-panel { position:relative; top:auto; }.s-reveal.is-pending { opacity:1; transform:none; } }

/* Full-width studio layout: large images and type carry the hierarchy. */
.studio-home { background:#fff; overflow:clip; }
.studio-caption { color:var(--muted); font:12px/1.5 Consolas,"Microsoft YaHei",monospace; letter-spacing:0; text-transform:uppercase; }
.studio-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:56px; }
.studio-heading .studio-caption { margin-bottom:18px; }
.studio-heading h1,.studio-heading h2 { font-size:72px; line-height:1.25; letter-spacing:0; font-weight:500; }
.studio-actions { display:flex; gap:10px; flex-wrap:wrap; }
.studio-actions .button { min-height:46px; padding:11px 18px; gap:18px; font-size:13px; }
.home-services { padding-block:28px 120px; }
.home-services-heading { display:block; padding-bottom:22px; }
.home-services-heading h1 { margin-top:62px; max-width:1200px; }
.home-service-links { display:grid; grid-template-columns:minmax(0,1fr); }
.home-service-link { min-height:148px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.7fr) 64px; align-items:center; gap:48px; padding:24px 0; border-top:1px solid var(--line); transition:color .25s; }
.home-service-link:last-child { border-bottom:1px solid var(--line); }
.home-service-name { display:grid; gap:10px; }
.home-service-link h2 { font-size:44px; line-height:1.2; font-weight:400; transition:transform .35s; }
.home-service-arrow { display:grid; place-items:center; width:64px; height:64px; border:1px solid #c9ced1; border-radius:50%; transition:background .3s,border-color .3s; }
.home-service-arrow .icon { width:30px; height:30px; transition:transform .3s; }
.home-service-link p { max-width:380px; color:var(--muted); font-size:16px; line-height:1.8; }
.home-service-link:is(:hover,:focus-visible) { color:var(--brand-strong); }
.home-service-link:is(:hover,:focus-visible) h2 { transform:translateX(6px); }
.home-service-link:is(:hover,:focus-visible) .home-service-arrow { background:var(--brand-strong); border-color:var(--brand-strong); }
.home-service-link:is(:hover,:focus-visible) .icon { transform:translate(2px,-2px); filter:brightness(0) invert(1); }
.home-work { background:#fff; padding-block:20px 115px; }
.home-work-grid { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:84px; }
.home-work-item { min-width:0; }
.home-work-media { position:relative; display:block; overflow:hidden; background:#f1f2f3; height:clamp(420px,74svh,940px); aspect-ratio:auto; }
.home-work-store .home-work-media { height:clamp(380px,66svh,820px); aspect-ratio:auto; }
.home-work-media img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.16,1,.3,1); }
.home-store-pictures > img { height:auto; object-fit:contain; }
.home-work-item:hover .home-work-media img { transform:scale(1.025); }
.home-work-media .n-film-play { width:88px; height:88px; }
.work-platform { position:absolute; right:var(--site-gutter); bottom:24px; padding:0; color:#5f676c; background:transparent; font-size:12px; }
.home-work-caption { display:flex; align-items:end; justify-content:space-between; gap:28px; padding-top:32px; }
.home-work-caption h3 { font-size:36px; font-weight:500; line-height:1.4; }
.home-work-caption .studio-caption { margin-bottom:8px; }
.home-work-caption .icon-button { flex:none; border:1px solid #b4babc; border-radius:50%; width:54px; height:54px; }
.home-studio { background:#f4f6f7; color:var(--ink); }
.home-studio-head { padding-block:64px 56px; text-align:center; }
.home-studio-heading { min-width:0; }
.home-studio .studio-caption { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:12px 20px; margin-bottom:26px; color:var(--brand-strong); font:500 14px/1.6 var(--font); }
.home-studio .studio-caption::before { content:""; width:24px; height:2px; background:var(--brand); }
.home-studio .studio-caption span { color:var(--muted); font:11px/1.6 Consolas,monospace; }
.home-studio h2 { margin:0; font-size:52px; line-height:1.35; letter-spacing:0; font-weight:500; text-wrap:balance; }
.home-studio-bottom { width:100%; max-width:660px; margin:24px auto 0; }
.home-studio-bottom p { color:#58636a; font-size:16px; line-height:1.95; text-wrap:balance; }
.home-studio-bottom .button { margin-top:26px; min-width:152px; gap:28px; border-radius:2px; }
.home-studio-bottom .icon { transition:transform .25s; }
.home-studio-bottom .button:is(:hover,:focus-visible) .icon { transform:translate(2px,-2px); }
.home-studio-media { position:relative; width:100%; height:300px; overflow:hidden; background:#e4e8ea; }
.home-studio-media > img { width:100%; height:100%; object-fit:cover; object-position:50% 51%; transition:transform 1s ease; }
.home-studio-media:hover > img { transform:scale(1.025); }
.home-studio-media figcaption { position:absolute; bottom:20px; right:var(--site-gutter); display:flex; align-items:center; flex-wrap:wrap; gap:8px 18px; padding:8px 12px; background:#ffffffeb; color:#31383c; font-size:11px; line-height:1.6; }
.home-studio-media figcaption a { text-decoration:underline; text-underline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .home-studio-media:hover > img,.home-studio-bottom .button:is(:hover,:focus-visible) .icon { transform:none; } }
.home-insights { padding-block:120px; }
.home-insight-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.home-insight { position:relative; display:flex; flex-direction:column; gap:24px; min-width:0; }
.home-insight-image { display:block; width:100%; height:auto; aspect-ratio:1.5; overflow:hidden; background:#f1f2f3; }
.home-insight-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.home-insight:hover .home-insight-image img { transform:scale(1.06); }
.home-insight h3 { margin-top:16px; font-size:24px; line-height:1.55; font-weight:500; }
.home-insight .icon-button { margin-top:auto; width:44px; height:44px; border:1px solid #b4babc; border-radius:50%; }
.nav-group { position:relative; }
.nav-group summary { display:flex; align-items:center; gap:5px; padding:12px 0; cursor:pointer; list-style:none; white-space:nowrap; }
.nav-group summary::-webkit-details-marker { display:none; }
.nav-group summary .icon { transition:transform .2s; opacity:.6; }
.nav-group[open] summary .icon { transform:rotate(45deg); }
.nav-dropdown { position:absolute; z-index:20; top:calc(100% + 16px); left:-24px; min-width:250px; padding:16px; background:#fff; border:1px solid var(--line); box-shadow:0 16px 32px #17191b12; }
.nav-enhanced .site-nav.is-open .nav-dropdown { padding:10px 0 14px; }
.nav-dropdown a { display:flex; flex-direction:column; gap:6px; padding:14px 10px; font-size:16px; }
.nav-dropdown a:hover { background:#eef8fb; color:var(--brand-strong); }
.nav-dropdown small { color:var(--muted); font-size:11px; }
.inquiry-panel { margin-top:0; border-top:1px solid var(--line); }
.inquiry-panel > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 8px 28px 0; cursor:pointer; font-size:24px; font-weight:400; list-style:none; }
.inquiry-panel > summary::-webkit-details-marker { display:none; }
.inquiry-panel > summary .icon { transition:transform .25s; }
.inquiry-panel[open] > summary .icon { transform:rotate(45deg); }
.business-page { background:#fff; }
.business-head { padding-block:38px 90px; border-bottom:1px solid var(--line); }
.business-head > .studio-caption { margin-top:38px; }
.business-head h1 { margin-top:24px; font-size:112px; line-height:1.15; font-weight:500; letter-spacing:0; }
.business-lead { max-width:720px; margin-top:34px; color:var(--muted); font-size:23px; line-height:1.8; }
.business-body { max-width:none; padding-block:90px 30px; }
.business-body > section { padding-block:0 56px; border-bottom:1px solid var(--line); }

/* The supplied procedural world fills the hero without the standalone editor UI. */
.n-hero.entropy-reel { height:calc(100svh - 150px); min-height:420px; max-height:none; background:#030505; }
.entropy-reel .n-scene-source { z-index:2; pointer-events:none; }
.entropy-reel .n-scene-source > figure { position:absolute; inset:0; margin:0; }
.entropy-reel .n-scene-source img { width:100%; height:100%; object-fit:contain; object-position:72% 50%; background:#030505; }
.entropy-reel[data-scene="ready"] .n-scene-source { visibility:hidden; }
.entropy-reel .n-stage { z-index:1; overflow:hidden; touch-action:pan-y; cursor:grab; }
.entropy-reel .n-stage.is-dragging { cursor:grabbing; }
.entropy-reel[data-scene="ready"] .n-stage { opacity:1; }
.entropy-reel .entropy-identity { position:absolute; z-index:3; top:50%; left:6%; width:32%; margin:0; transform:translateY(-50%); color:#e1eeee; pointer-events:none; }
.entropy-kicker { margin:0 0 22px; color:#aababb; font-size:13px; line-height:1.5; letter-spacing:0; }
.entropy-heading { margin:0; font-size:64px; line-height:1.2; font-weight:500; letter-spacing:0; overflow-wrap:anywhere; }
.entropy-heading span { display:block; }
.entropy-heading span + span { color:var(--brand); margin-top:8px; }
.entropy-description { margin:28px 0 0; max-width:27em; color:#b5c2c3; font-size:17px; line-height:1.9; letter-spacing:0; overflow-wrap:anywhere; }
.entropy-reel .n-hero-bottom { z-index:3; left:auto; right:var(--site-gutter); bottom:28px; width:auto; }
.entropy-reel .n-hero-bottom[hidden] { display:none; }
.entropy-reel .n-motion { width:48px; height:48px; border-color:#d6e6e655; background:#111b1bcc; box-shadow:none; }
.entropy-reel .n-motion .icon { filter:brightness(0) invert(1); }
.entropy-reel .n-stage canvas { display:block; width:100%; height:100%; }
@media (min-width:1900px) { .entropy-heading { font-size:80px; } }
@media (max-width:1200px) { .entropy-heading { font-size:48px; }.entropy-description { font-size:15px; } }
@media (max-width:900px) {
  .entropy-heading { font-size:36px; }
}
@media (max-width:900px) and (orientation:portrait) {
  .entropy-reel .entropy-identity { top:40px; left:var(--site-gutter); width:calc(100% - var(--site-gutter)*2); transform:none; }
  .entropy-heading { font-size:56px; }
  .entropy-kicker { margin-bottom:14px; }
  .entropy-description { margin-top:18px; max-width:36em; font-size:16px; line-height:1.8; }
  .entropy-reel .n-scene-source img { object-position:53% 70%; }
}
@media (max-width:600px) {
  .n-hero.entropy-reel { min-height:370px; height:calc(100svh - 130px); max-height:none; }
  .entropy-reel .entropy-identity { top:32px; }
  .entropy-heading { font-size:44px; }
  .entropy-description { font-size:14px; line-height:1.8; }
  .entropy-reel .n-hero-bottom { bottom:16px; }
}
@media (max-width:360px) { .entropy-reel .entropy-identity { top:28px; }.entropy-heading { font-size:38px; } }
@media (max-width:900px) and (orientation:landscape) {
  .n-hero.entropy-reel { min-height:230px; height:calc(100svh - 130px); }
  .entropy-reel .entropy-identity { top:50%; }
  .entropy-kicker { font-size:11px; margin-bottom:10px; }
  .entropy-heading { font-size:28px; }
  .entropy-heading span + span { margin-top:4px; }
  .entropy-description { font-size:12px; line-height:1.65; margin-top:14px; }
}
.business-body > section + section { padding-top:56px; }
.business-body h2 { margin-bottom:32px; font-size:44px; font-weight:500; }
.business-body p,.business-body li { color:var(--muted); font-size:18px; line-height:1.95; max-width:80ch; }
.business-body .deliverable-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 45px; }
.business-body .deliverable-list article { display:block; padding-block:22px; border-top:1px solid var(--line); }
.business-body .deliverable-list h3 { font-size:18px; margin-bottom:6px; }
.business-directory { padding-block:60px 110px; }
.platform-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.platform-directory > a { display:flex; justify-content:space-between; gap:20px; padding:26px 10px 26px 0; border-bottom:1px solid var(--line); }
.platform-directory > a:nth-child(even) { padding-left:30px; border-left:1px solid var(--line); }
.platform-directory h3,.development-links h3 { font-size:22px; }
.platform-directory p,.development-links p { max-width:380px; margin-top:7px; color:var(--muted); line-height:1.8; }
.development-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.development-links > a { display:flex; flex-direction:column; gap:16px; min-height:280px; padding:26px 0; border-top:1px solid var(--line); transition:transform .25s; }
.development-links > a:hover { transform:translateY(-4px); }
.development-links .button { margin-top:auto; align-self:flex-start; min-height:40px; padding:9px 13px; font-size:12px; }
.business-next { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 0; border-top:1px solid var(--line); }
.business-next h2 { margin:0; font-size:22px; }
.business-promotion-services { padding-bottom:100px; }
.business-promotion-services .n-geo-feature { padding-top:0; }
.business-promotion-services .n-promotion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.business-promotion-services .n-promotion-card { background:transparent; border:0; }
.business-promotion-services .n-promotion-card .n-promotion-copy { padding:26px 0; }
.business-promotion-services .n-promotion-card .n-promotion-copy p { min-height:78px; }
.business-promotion-services .n-geo-intro { text-align:left; margin:0 0 34px; max-width:700px; }
.business-promotion-services .n-geo-intro h2 { text-align:left; }
.business-promotion-services .n-promotion-actions { justify-content:flex-start; }
.business-page .n-store-cases,.business-page .n-films { padding-block:35px 90px; }
.store-stages { margin-top:26px; border-top:1px solid var(--line); }
.store-stages details { border-bottom:1px solid var(--line); }
.store-stages summary { padding:20px 0; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-size:21px; list-style:none; }
.store-stages summary::after { content:"+"; font-size:24px; color:var(--brand-strong); }
.store-stages details[open] summary::after { content:"−"; }
.store-stages details p { padding:0 0 24px; max-width:750px; }
.development-comparison { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.development-comparison article { border-top:3px solid var(--brand); padding-top:24px; }
.development-comparison h3 { font-size:24px; }
.development-comparison .comparison-purpose { color:var(--brand-strong); font-size:14px; padding-block:10px 24px; }
.video-formats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.video-formats article { border-top:1px solid #a9bcc5; padding-top:24px; }
.video-formats h3 { font-size:23px; margin-bottom:15px; }
.video-formats span { display:block; color:#697d87; margin-top:22px; font-size:12px; }
.about-copy .about-intro { font-size:34px; line-height:1.5; color:var(--ink); }
.about-copy .deliverable-list { grid-template-columns:1fr 1fr; }
.about-copy .deliverable-list article { display:block; }
.business-page .n-store-cases,.business-page .n-films { background:#f1f2f3; }
.studio-home .s-contact { background:#fff; padding-block:100px 20px; }
@media (min-width:1900px) { .studio-heading h1,.studio-heading h2 { font-size:88px; }.home-studio-head { padding-block:72px 64px; }.home-studio h2 { font-size:60px; }.home-studio-media { height:360px; }.business-head h1 { font-size:132px; } }
@media (min-width:601px) and (max-width:1100px) { .nav-enhanced .site-nav.is-open .nav-group { width:100%; border-bottom:1px solid var(--line); }.nav-dropdown { position:static; box-shadow:none; border:0; }.nav-group summary { min-height:47px; } }
@media (max-width:900px) {
 .studio-heading h1,.studio-heading h2 { font-size:52px; }
 .home-service-link { gap:28px; grid-template-columns:minmax(0,1fr) minmax(0,.85fr) 52px; }
 .home-service-link h2 { font-size:34px; }
 .home-service-arrow { width:52px; height:52px; }
 .home-work-grid { gap:64px; }
 .home-studio-head { padding-block:56px; }
 .home-studio h2 { font-size:40px; }
 .home-studio-bottom p { font-size:15px; }
 .home-insight-list { gap:20px; }
 .home-insight h3 { font-size:20px; }
 .s-heading h2 { font-size:60px; }
 .s-footer-main { gap:45px; }
 .s-footer-name { font-size:42px; }
 .nav-dropdown { position:static; box-shadow:none; border:0; border-top:1px solid var(--line); margin-top:5px; }
 .business-head { padding-block:35px 60px; }
 .business-head h1 { font-size:80px; }
 .development-links { grid-template-columns:1fr; }
 .development-comparison,.video-formats { grid-template-columns:1fr; }
}
@media (max-width:600px) {
 .studio-heading { align-items:start; flex-direction:column; gap:24px; margin-bottom:32px; }
 .studio-heading h1,.studio-heading h2 { font-size:40px; }
 .studio-heading .studio-caption { font-size:11px; }
 .nav-enhanced .site-nav.is-open .nav-group { width:100%; border-bottom:1px solid var(--line); }
 .nav-group summary { min-height:47px; }
 .home-services { padding-block:25px 68px; }
 .home-services-heading h1 { margin-top:36px; }
 .home-service-link { grid-template-columns:minmax(0,1fr) 48px; gap:16px 20px; min-height:160px; padding:22px 0; }
 .home-service-link h2 { font-size:30px; }
 .home-service-link p { font-size:14px; grid-column:1; }
 .home-service-arrow { grid-column:2; grid-row:1/3; width:48px; height:48px; }
 .home-service-arrow .icon { width:25px; height:25px; }
 .home-service-name { gap:8px; }
 .home-work { padding-block:10px 64px; }
 .home-work-grid { grid-template-columns:1fr; }
 .home-work-media { height:auto; aspect-ratio:4/3; }
 .home-work-store .home-work-media.home-store-spread { height:auto; aspect-ratio:auto; min-height:240px; padding:34px 20px 46px; }
 .home-store-pictures { gap:10px; }
 .work-platform { bottom:16px; font-size:10px; }
 .home-work-caption { padding-top:24px; gap:14px; }
 .home-work-caption h3 { font-size:25px; }
 .home-work-caption .icon-button { width:44px; height:44px; }
 .home-work-description { font-size:14px; }
 .home-work-media .n-film-play { width:64px; height:64px; }
 .home-studio-head { padding-block:46px 40px; text-align:left; }
 .home-studio .studio-caption { justify-content:flex-start; gap:10px 12px; margin-bottom:24px; font-size:12px; }
 .home-studio .studio-caption span { font-size:10px; }
 .home-studio h2 { font-size:34px; }
 .home-studio-bottom { margin-top:26px; max-width:none; }
 .home-studio-bottom p { font-size:15px; }
 .home-studio-bottom .button { margin-top:22px; }
 .home-studio-media { height:240px; }
 .home-studio-media figcaption { bottom:14px; font-size:10px; gap:6px 12px; }
 .home-insights { padding-block:64px; }
 .home-insight-list { grid-template-columns:1fr; gap:40px; }
 .home-insight { gap:18px; }
 .home-insight-image { aspect-ratio:1.65; }
 .home-insight h3 { font-size:23px; }
 .home-insight .icon-button { width:44px; height:44px; }
 .studio-home .s-contact { padding-block:64px 0; }
 .s-heading h2 { font-size:44px; }
 .s-heading { margin-bottom:36px; }
 .s-footer { padding-block:48px 24px; }
 .s-footer-name { font-size:36px; }
 .s-footer-row nav { font-size:13px; gap:20px; }
 .s-footer-legal { margin-top:36px; }
 .cta-band { padding-block:54px; }
 .cta-band .shell { align-items:flex-start; flex-direction:column; gap:26px; }
 .cta-band h2 { font-size:32px; }
 .section:has(.privacy-copy) { padding-block:32px 64px; }
 .section:has(.privacy-copy) h1 { font-size:44px; }
 .business-body { padding-block:48px 15px; }
 .business-head h1 { font-size:52px; }
 .business-body h2 { font-size:26px; }
 .business-lead { font-size:17px; }
 .business-body .deliverable-list { grid-template-columns:1fr; }
 .business-body p,.business-body li { font-size:14px; }
 .platform-directory { grid-template-columns:1fr; }
 .platform-directory > a,.platform-directory > a:nth-child(even) { padding:20px 0; border-left:0; }
 .platform-directory h3 { font-size:18px; }
 .business-promotion-services .n-promotion-grid { grid-template-columns:1fr; }
 .business-promotion-services .n-geo-feature { padding-bottom:34px; }
 .business-next { align-items:start; flex-direction:column; }
}
@media (max-width:360px) { .studio-heading h1,.studio-heading h2 { font-size:34px; }.home-studio h2 { font-size:30px; }.s-heading h2 { font-size:38px; }.home-work-caption h3 { font-size:22px; }.s-footer-name { font-size:30px; } }


/* 关于/隐私正文页沿用文章的左侧目录 + 右侧正文结构，避免宽屏下左侧留空。 */
.page-section .page-layout { padding-block:0 96px; }
.page-section .page-layout .privacy-copy { margin:0; max-width:none; }
.page-section .page-layout .privacy-copy h2, .page-section .page-layout .privacy-copy h3 { scroll-margin-top:120px; }
.article-toc a.is-sub { padding-left:15px; font-size:11px; color:var(--muted); }
@media (max-width:900px) { .page-section .page-layout { padding-block:0 48px; } }

.reports-home { padding-block:88px; background:var(--paper); border-block:1px solid var(--line); }
.reports-directory { padding-block:64px 88px; }
.reports-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:36px; }
.reports-heading > div { min-width:0; max-width:760px; }
.reports-heading .studio-caption { color:var(--brand-strong); margin-bottom:12px; }
.reports-heading h1, .reports-heading h2 { font-size:42px; line-height:1.35; font-weight:500; }
.reports-intro { margin-top:16px; color:var(--muted); font-size:15px; line-height:1.9; }
.reports-heading > .button { flex-shrink:0; }
.reports-list { display:grid; gap:32px; }
.report-entry { display:grid; grid-template-columns:minmax(0,0.85fr) minmax(0,1.4fr); gap:42px; align-items:center; border-top:1px solid var(--line); padding-top:32px; min-width:0; }
.report-entry-image { display:block; overflow:hidden; aspect-ratio:1.6; background:var(--white); }
.report-entry-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.report-entry-image:hover img { transform:scale(1.035); }
.report-entry-content { min-width:0; }
.report-entry-content:only-child { grid-column:1 / -1; }
.report-entry-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; color:var(--muted); font-size:12px; margin-bottom:14px; }
.report-entry h3 { font-size:28px; line-height:1.6; font-weight:500; }
.report-entry h3 a:hover { color:var(--brand-strong); }
.report-entry-content > p { margin-top:16px; color:var(--muted); font-size:14px; line-height:1.95; }
.report-entry .news-tags { margin-top:18px; }
.report-entry-content > .button { margin-top:24px; }
@media (max-width:900px) {
  .report-entry { gap:26px; grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr); }
  .report-entry h3 { font-size:23px; }
}
@media (max-width:600px) {
  .reports-home, .reports-directory { padding-block:52px; }
  .reports-heading { align-items:flex-start; flex-direction:column; gap:20px; margin-bottom:28px; }
  .reports-heading h1, .reports-heading h2 { font-size:34px; }
  .reports-intro { font-size:14px; }
  .report-entry { grid-template-columns:minmax(0,1fr); padding-top:24px; gap:22px; }
  .report-entry h3 { font-size:23px; }
}


/* Native business categories and chronological news archive. */
.news-browser { display:grid; grid-template-columns:210px minmax(0,1fr); gap:54px; margin-top:36px; align-items:start; }
.news-browser-aside { position:sticky; top:110px; }
.news-browser-aside > h2 { font-size:15px; font-weight:600; margin-bottom:16px; }
.news-directory .news-browser .news-topics { display:flex; flex-direction:column; flex-wrap:nowrap; gap:0; margin:0; padding:0; border-top:1px solid var(--line); }
.news-browser .news-topics a { justify-content:space-between; gap:16px; min-height:48px; padding:12px 14px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; font-size:14px; }
.news-browser .news-topics a > small { font-size:12px; font-weight:400; }
.news-browser .news-topics a:hover, .news-browser .news-topics a[aria-current] { color:var(--brand-strong); background:var(--brand-soft); border-color:var(--line); }
.news-browser-content { min-width:0; }
.news-business-section + .news-business-section { margin-top:42px; }
.news-business-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:20px; margin-bottom:22px; }
.news-business-heading h2 { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; font-size:25px; font-weight:500; }
.news-business-heading h2 span { color:var(--muted); font-size:12px; font-weight:400; }
.news-business-heading > a { flex-shrink:0; color:var(--brand-strong); font-size:13px; padding-block:10px; }
.news-business-heading > a:hover { text-decoration:underline; text-underline-offset:4px; }
.news-business-stories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.news-business-story { display:grid; grid-template-columns:128px minmax(0,1fr); gap:18px; align-items:start; min-width:0; }
.news-business-image { display:block; aspect-ratio:1.6; overflow:hidden; background:var(--paper); }
.news-business-image img { width:100%; height:100%; object-fit:cover; }
.news-business-story > div { min-width:0; }
.news-business-story > div:only-child { grid-column:1/-1; }
.news-business-story time { display:block; margin-bottom:7px; color:var(--muted); font-size:11px; }
.news-business-story h3 { font-size:17px; line-height:1.7; font-weight:500; }
.news-business-story h3 a:hover { color:var(--brand-strong); }
.news-business-archive { margin-top:46px; border-top:1px solid var(--line); padding-top:20px; }
.news-business-archive > summary { cursor:pointer; color:var(--brand-strong); font-size:16px; padding-block:10px; }
.news-business-archive[open] > summary { margin-bottom:24px; }
.news-item-category { color:var(--brand-strong); font-size:12px; font-weight:600; }
.news-item-category:hover { text-decoration:underline; text-underline-offset:4px; }
.news-item > .news-tags { margin-bottom:16px; }
.news-browser-content > .news-result-count { margin:0 0 24px; color:var(--muted); font-size:13px; }
.news-back-business { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding-block:10px; margin-bottom:20px; color:var(--brand-strong); font-size:13px; }
@media (max-width:1150px) {
  .news-browser { grid-template-columns:180px minmax(0,1fr); gap:34px; }
  .news-business-story { grid-template-columns:96px minmax(0,1fr); gap:14px; }
}
@media (max-width:900px) {
  .news-browser { grid-template-columns:minmax(0,1fr); gap:30px; margin-top:28px; }
  .news-browser-aside { position:static; }
  .news-directory .news-browser .news-topics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-left:1px solid var(--line); }
  .news-browser .news-topics a { border-right:1px solid var(--line); font-size:12px; padding:10px; }
  .news-business-story { grid-template-columns:112px minmax(0,1fr); }
}
@media (max-width:600px) {
  .news-directory .news-browser .news-topics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .news-browser .news-topics a { font-size:13px; }
  .news-business-heading { margin-bottom:18px; padding-top:16px; }
  .news-business-heading h2 { font-size:23px; gap:10px; }
  .news-business-stories { grid-template-columns:minmax(0,1fr); gap:22px; }
  .news-business-story { grid-template-columns:108px minmax(0,1fr); gap:16px; }
  .news-business-story h3 { font-size:16px; }
  .news-business-section + .news-business-section { margin-top:32px; }
  .news-business-archive { margin-top:34px; }
}

/* Current native news navigation group. */
.nav-news > summary[aria-current] { color:var(--brand-strong); }
