:root {
  --ink: #151515;
  --muted: #686b70;
  --soft: #8a8f97;
  --line: #dedfdf;
  --blue: #287fe3;
  --teal: #20b89c;
  --paper: #fbfbfa;
  --panel: #f2f3f3;
  --deep: #142330;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { min-width: 320px; margin: 0; color: var(--ink); background: var(--paper); font-family: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.inner-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(20,20,20,.09); background: rgba(251,251,250,.88); backdrop-filter: blur(18px); }
.download-page .inner-header { background: #fbfbfa; backdrop-filter: none; }
.header-shell { display: grid; min-height: 72px; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(36px,4.7vw,74px); padding: 0 clamp(24px,4.2vw,72px); }
.brand { display: inline-flex; width: fit-content; align-items: center; }
.brand img { display: block; width: 148px; }
.main-nav { display: flex; justify-self: start; gap: clamp(20px,2.1vw,34px); font-size: 14px; font-weight: 500; }
.main-nav a { position: relative; padding: 27px 0; }
.main-nav a::after { position: absolute; right: 0; bottom: 19px; left: 0; height: 1px; background: var(--ink); content: ""; opacity: 0; transform: scaleX(.35); transition: opacity .2s ease, transform .2s ease; }
.main-nav a:hover::after, .main-nav a[aria-current="page"]::after { opacity: 1; transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 11px; font-size: 14px; }
.header-link { padding: 9px 11px; }
.header-phone { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 16px; font-weight: 700; line-height: 1; white-space: nowrap; transition: color .2s ease; }
.header-phone::before { width: 17px; height: 19px; flex: 0 0 auto; background: currentColor; content: ""; -webkit-mask: url("phone-icon.svg") center / contain no-repeat; mask: url("phone-icon.svg") center / contain no-repeat; }
.header-phone:hover { color: var(--ink); }
.header-cta { padding: 10px 16px 11px; border-radius: 999px; color: white; background: var(--ink); transition: background .2s ease, transform .2s ease; }
.header-cta:hover { background: var(--blue); transform: translateY(-2px); }
.menu-button { display: none; width: 40px; height: 40px; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: transparent; }
.menu-button span, .menu-button::before, .menu-button::after { display: block; width: 15px; height: 1px; background: var(--ink); content: ""; }
.menu-button span { margin: 4px 0; }

.page-hero { position: relative; overflow: hidden; padding: clamp(92px,11vw,150px) clamp(24px,4.2vw,72px) clamp(90px,10vw,142px); }
.page-hero::before { position: absolute; top: -30%; right: -12%; width: min(56vw,800px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(40,127,227,.12), rgba(32,184,156,.045) 45%, transparent 70%); content: ""; pointer-events: none; }
.hero-shell { position: relative; z-index: 1; display: grid; width: min(1280px,100%); grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); align-items: center; gap: clamp(55px,8vw,118px); margin: 0 auto; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 22px; color: #71757a; font-family: "DM Mono", monospace; font-size: 13px; letter-spacing: .055em; text-transform: uppercase; }
.eyebrow::before { width: 7px; height: 7px; border-radius: 50%; background: linear-gradient(135deg,var(--blue),var(--teal)); content: ""; }
.hero-copy h1 { max-width: 780px; margin: 0; font-size: clamp(42px,4vw,58px); font-weight: 500; letter-spacing: -.072em; line-height: 1.1; text-wrap: balance; }
.hero-lead { max-width: 650px; margin: 30px 0 0; color: var(--muted); font-size: 18px; line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.button-primary, .button-secondary { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 20px; border-radius: 999px; font-size: 14px; font-weight: 600; }
.button-primary { gap: 16px; color: white; background: var(--ink); }
.button-primary::after { font-family: Arial,sans-serif; font-size: 20px; content: "\2192"; transition: transform .2s ease; }
.button-primary:hover::after { transform: translateX(4px); }
.button-secondary { border: 1px solid #d5d6d6; background: rgba(255,255,255,.65); }

/* Enterprise opener: an editorial work-order statement, not a derivative product mockup. */
.enterprise-brief { position: relative; display: flex; min-height: min(820px,calc(100vh - 72px)); align-items: center; padding: clamp(96px,10vw,148px) clamp(24px,4.2vw,72px); overflow: hidden; color: #f7f8f7; background: #142129; }
.enterprise-brief::before { position: absolute; inset: 0; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); content: ""; pointer-events: none; }
.enterprise-brief-shell { position: relative; z-index: 1; display: grid; width: min(1200px,100%); grid-template-columns: minmax(0,1.22fr) minmax(280px,.5fr); align-items: stretch; gap: clamp(64px,10vw,166px); margin: 0 auto; }
.enterprise-brief-copy { display: flex; min-width: 0; min-height: 470px; flex-direction: column; justify-content: flex-end; padding-bottom: clamp(38px,4vw,58px); }
.enterprise-brief .eyebrow { color: #b3c0c3; }
.enterprise-brief .eyebrow::before { background: #48b6e6; }
.enterprise-brief-copy h1 { max-width: 760px; margin: 0; color: #f7f8f7; font-size: clamp(44px,4vw,58px); font-weight: 500; letter-spacing: -.06em; line-height: 1.1; overflow-wrap: anywhere; text-wrap: balance; }
.enterprise-brief-copy > p { max-width: 565px; margin: 32px 0 0; color: #b7c0c4; font-size: 18px; line-height: 1.8; overflow-wrap: anywhere; }
.enterprise-brief .button-primary { color: #172128; background: #f7f8f7; }
.enterprise-brief .button-primary:hover { color: #fff; background: var(--blue); }
.enterprise-context { display: flex; min-height: 470px; flex-direction: column; padding: 3px 0 3px clamp(25px,3vw,46px); color: #f7f8f7; border-left: 1px solid rgba(255,255,255,.27); background: transparent; }
.enterprise-context-label { margin: 0; color: #9daeb4; font-family: "DM Mono", monospace; font-size: 11px; letter-spacing: .075em; }
.enterprise-context-title { margin-top: auto; padding-top: 70px; font-size: clamp(35px,3.15vw,48px); font-weight: 500; letter-spacing: -.06em; line-height: 1.08; }
.enterprise-context-title span, .enterprise-context-title strong { display: block; font: inherit; }
.enterprise-context-title strong { color: #65a7ff; }
.enterprise-context-copy { max-width: 295px; margin: 23px 0 0; color: #a9b6ba; font-size: 14px; line-height: 1.75; }
.enterprise-context-footer { display: flex; gap: 14px; margin-top: auto; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.2); color: #c4ced0; font-family: "DM Mono", monospace; font-size: 11px; letter-spacing: .05em; }
.enterprise-context-footer span + span::before { margin-right: 14px; color: #6f8186; content: "/"; }

/* About: a company point of view and a work philosophy, not a simulated product surface. */
.about-manifesto { padding: clamp(82px,8vw,118px) clamp(24px,4.2vw,72px) clamp(78px,9vw,134px); background: #e8eef3; }
.about-manifesto-shell, .about-origin-shell, .about-shift-shell, .about-commitment-shell, .about-closing-shell { width: min(1200px,100%); margin: 0 auto; }
.about-manifesto-meta { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.about-manifesto .eyebrow { margin: 0; color: #64727c; }
.about-manifesto-meta > span, .about-section-index, .about-closing p { margin: 0; color: #65737c; font-family: "DM Mono",monospace; font-size: 11px; letter-spacing: .065em; text-transform: uppercase; }
.about-manifesto h1 { max-width: 1050px; margin: clamp(58px,5vw,82px) 0 0; color: #142330; font-size: clamp(42px,4vw,58px); font-weight: 500; letter-spacing: -.07em; line-height: 1.1; text-wrap: balance; }
.about-manifesto-foot { display: grid; max-width: 900px; grid-template-columns: minmax(0,1fr) auto; gap: clamp(36px,8vw,112px); align-items: end; margin: clamp(48px,6vw,82px) 0 0 auto; padding-top: 0; }
.about-manifesto-foot p { max-width: 570px; margin: 0; color: #50606a; font-size: 17px; line-height: 1.85; }
.about-manifesto-foot a { display: inline-flex; align-items: center; gap: 17px; padding: 11px 0; border-bottom: 1px solid #233946; color: #1d3441; font-size: 14px; font-weight: 600; white-space: nowrap; transition: color .2s ease, border-color .2s ease; }
.about-manifesto-foot a span { font-size: 18px; transition: transform .2s ease; }
.about-manifesto-foot a:hover { border-color: var(--blue); color: var(--blue); }
.about-manifesto-foot a:hover span { transform: translateY(4px); }

.about-origin { padding: clamp(96px,12vw,174px) clamp(24px,4.2vw,72px); background: #fbfbfa; }
.about-origin-shell { display: grid; grid-template-columns: minmax(180px,.38fr) minmax(0,1.62fr); gap: clamp(56px,10vw,160px); }
.about-origin-content { display: grid; grid-template-columns: minmax(0,.92fr) minmax(300px,.78fr); gap: clamp(45px,7vw,104px); }
.about-origin h2 { max-width: 570px; margin: -11px 0 0; color: #17242f; font-size: clamp(38px,3.9vw,56px); font-weight: 500; letter-spacing: -.066em; line-height: 1.08; }
.about-origin-copy { padding-top: 3px; border-top: 1px solid #cbd1d2; }
.about-origin-copy p { margin: 23px 0 0; color: #586269; font-size: 16px; line-height: 1.93; }
.about-origin-copy p:first-child { margin-top: 21px; }

.about-shift { padding: clamp(96px,11vw,158px) clamp(24px,4.2vw,72px); background: #f0f2f0; }
.about-shift-heading { display: grid; grid-template-columns: minmax(180px,.42fr) minmax(0,1.58fr); gap: clamp(56px,10vw,160px); align-items: start; }
.about-shift-heading h2 { max-width: 760px; margin: -9px 0 0; color: #17242f; font-size: clamp(40px,4.45vw,62px); font-weight: 500; letter-spacing: -.068em; line-height: 1.06; }
.about-shift-narrative { display: grid; grid-template-columns: minmax(0,.95fr) minmax(410px,.85fr); gap: clamp(76px,12vw,182px); align-items: center; margin-top: clamp(76px,10vw,142px); }
.about-shift-proposition { max-width: 480px; }
.about-shift-proposition > p { margin: 0; color: #748087; font-family: "DM Mono",monospace; font-size: 11px; letter-spacing: .065em; }
.about-shift-proposition strong { display: block; margin-top: 29px; color: #17242f; font-size: clamp(38px,4vw,56px); font-weight: 500; letter-spacing: -.065em; line-height: 1.08; }
.about-shift-proposition > span { display: block; max-width: 380px; margin-top: 29px; color: #667176; font-size: 16px; line-height: 1.85; }
.about-shift-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.about-shift-list li { display: grid; grid-template-columns: 42px 1fr; gap: 22px; padding: 0 0 29px; }
.about-shift-list li + li { padding-top: 29px; border-top: 1px solid rgba(104,121,126,.28); }
.about-shift-list span { color: #708089; font-family: "DM Mono",monospace; font-size: 11px; letter-spacing: .05em; }
.about-shift-list strong { display: block; color: #1b2932; font-size: 24px; font-weight: 500; letter-spacing: -.05em; }
.about-shift-list p { max-width: 350px; margin: 10px 0 0; color: #667176; font-size: 14px; line-height: 1.75; }

/* The company story brings origin and method together, so the page advances instead of repeating its premise. */
.about-story { padding: clamp(94px,10vw,146px) clamp(24px,4.2vw,72px); background: #f2f4f2; }
.about-story-shell { width: min(1200px,100%); margin: 0 auto; }
.about-story-heading { display: grid; grid-template-columns: minmax(180px,.42fr) minmax(0,1.58fr); gap: clamp(56px,10vw,160px); }
.about-story-heading h2 { max-width: 790px; margin: -10px 0 0; color: #17242f; font-size: clamp(40px,4.35vw,61px); font-weight: 500; letter-spacing: -.066em; line-height: 1.07; }
.about-story-heading div > p { max-width: 495px; margin: 24px 0 0; color: #687278; font-size: 16px; line-height: 1.8; }
.about-story-body { display: grid; grid-template-columns: minmax(260px,.65fr) minmax(420px,1.35fr); gap: clamp(74px,12vw,180px); align-items: start; margin-top: clamp(74px,9vw,120px); }
.about-story-context { max-width: 390px; }
.about-story-label { margin: 0 0 24px; color: #75828a; font-family: "DM Mono",monospace; font-size: 11px; letter-spacing: .065em; }
.about-story-context p:not(.about-story-label) { margin: 0; color: #5f6a70; font-size: 15px; line-height: 1.9; }
.about-story-context p + p { margin-top: 21px; }
.about-story-method { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(24px,4vw,58px); margin: 0; padding: 0; list-style: none; }
.about-story-method li { min-height: 190px; }
.about-story-method li strong { display: block; color: #1b2932; font-size: 23px; font-weight: 500; letter-spacing: -.05em; }
.about-story-method li p { margin: 12px 0 0; color: #677176; font-size: 14px; line-height: 1.75; }

.about-method { padding: clamp(98px,11vw,158px) clamp(24px,4.2vw,72px); background: #f0f2f0; }
.about-method-shell { width: min(1200px,100%); margin: 0 auto; }
.about-method-heading { display: grid; grid-template-columns: minmax(180px,.42fr) minmax(0,1.58fr); gap: clamp(56px,10vw,160px); }
.about-method-heading h2 { max-width: 780px; margin: -10px 0 0; color: #17242f; font-size: clamp(40px,4.35vw,61px); font-weight: 500; letter-spacing: -.066em; line-height: 1.07; }
.about-method-heading div > p { max-width: 475px; margin: 25px 0 0; color: #687278; font-size: 16px; line-height: 1.82; }
.about-method-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(32px,6vw,92px); margin: clamp(82px,10vw,132px) 0 0; padding: 0; list-style: none; }
.about-method-list li { min-height: 260px; }
.about-method-list span { display: flex; align-items: center; gap: 10px; color: #65817e; font-family: "DM Mono",monospace; font-size: 11px; letter-spacing: .045em; }
.about-method-list span::before { width: 8px; height: 8px; border-radius: 50%; background: var(--teal); content: ""; }
.about-method-list li:nth-child(2) span { color: #5c7e9f; }
.about-method-list li:nth-child(2) span::before { background: var(--blue); }
.about-method-list li:nth-child(3) span { color: #758177; }
.about-method-list li:nth-child(3) span::before { background: #7b9892; }
.about-method-list strong { display: block; margin-top: 54px; color: #17242f; font-size: clamp(28px,2.4vw,35px); font-weight: 500; letter-spacing: -.055em; }
.about-method-list p { max-width: 275px; margin: 18px 0 0; color: #677176; font-size: 15px; line-height: 1.8; }

.about-why { padding: clamp(100px,11vw,160px) clamp(24px,4.2vw,72px); background: #f0f2f0; }
.about-why-shell { width: min(1200px,100%); margin: 0 auto; }
.about-why-heading { display: grid; grid-template-columns: minmax(205px,.46fr) minmax(0,1.54fr); gap: clamp(56px,10vw,160px); align-items: start; }
.about-why-heading h2 { max-width: 790px; margin: -12px 0 0; color: #17242f; font-size: clamp(38px,3.9vw,56px); font-weight: 500; letter-spacing: -.067em; line-height: 1.06; }
.about-why-stages { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.26fr) minmax(0,.78fr); gap: clamp(36px,7vw,114px); margin-top: clamp(86px,10vw,142px); }
.about-why-stages article { min-height: 188px; }
.about-why-stages span { display: block; color: #17242f; font-size: clamp(27px,2.4vw,35px); font-weight: 500; letter-spacing: -.05em; }
.about-why-stages article:nth-child(2) span { color: #287fe3; }
.about-why-stages p { max-width: 390px; margin: 23px 0 0; color: #687277; font-size: 16px; line-height: 1.85; }
.about-why-conclusion { max-width: 830px; margin: clamp(62px,8vw,108px) 0 0 auto; color: #1c2d36; font-size: clamp(29px,3.15vw,43px); font-weight: 500; letter-spacing: -.06em; line-height: 1.15; }
.about-why-conclusion::before { display: inline-block; width: 9px; height: 9px; margin: 0 15px 7px 0; border-radius: 50%; background: var(--teal); content: ""; }

.about-commitment { padding: clamp(100px,12vw,174px) clamp(24px,4.2vw,72px); color: #f6f8f8; background: #142129; }
.about-commitment .about-section-index { color: #9aaeb5; }
.about-commitment-heading { width: 100%; margin: 0; text-align: left; }
.about-commitment-heading .about-section-index { display: block; width: 100%; }
.about-commitment-heading > p:last-child { max-width: 380px; margin: 0; color: #9eafb5; font-size: 15px; line-height: 1.75; }
.about-commitment-columns { display: grid; width: min(880px,100%); gap: clamp(58px,6vw,82px); margin: clamp(34px,4vw,48px) auto 0; }
.about-commitment-item { display: block; }
.about-commitment-item > span { display: flex; align-items: baseline; gap: 12px; color: #c8d2d5; }
.about-commitment-item > span b { font-size: 24px; font-weight: 500; letter-spacing: -.05em; }
.about-commitment-item > span small { color: #7f959d; font-family: "DM Mono",monospace; font-size: 10px; letter-spacing: .075em; text-transform: uppercase; }
.about-commitment-item h2 { max-width: 720px; margin: 24px 0 0; color: #f5f7f7; font-size: clamp(36px,3.65vw,52px); font-weight: 500; letter-spacing: -.073em; line-height: 1.08; }
.about-commitment-item.vision > span b { color: #71a7fb; }
.about-commitment-item.vision > span small { color: #77a3dc; }
.about-commitment-item p { max-width: 430px; margin: 20px 0 0; color: #b2c0c4; font-size: 15px; line-height: 1.82; }

.about-together { padding: clamp(94px,11vw,154px) clamp(24px,4.2vw,72px); background: #f4f5f3; }
.about-together-shell { display: grid; width: min(1200px,100%); grid-template-columns: minmax(0,.92fr) minmax(300px,.58fr); align-items: end; gap: clamp(60px,12vw,180px); margin: 0 auto; }
.about-together h2 { max-width: 690px; margin: 0; color: #17242f; font-size: clamp(36px,3.35vw,48px); font-weight: 500; letter-spacing: -.067em; line-height: 1.1; }
.about-together-copy { max-width: 450px; padding-bottom: 4px; }
.about-together-copy p { margin: 0; color: #5f696e; font-size: 16px; line-height: 1.9; }
.about-together-copy p + p { margin-top: 20px; }

.about-closing { padding: clamp(88px,10vw,142px) clamp(24px,4.2vw,72px); background: #f6f6f3; }
.about-closing-shell { display: flex; flex-direction: column; align-items: flex-start; }
.about-closing h2 { max-width: 1050px; margin: 26px 0 0; color: #19262f; font-size: clamp(43px,5.2vw,72px); font-weight: 500; letter-spacing: -.07em; line-height: 1.07; }
.about-closing .button-primary { margin-top: 47px; }

.hero-visual { position: relative; min-height: 510px; padding: 26px; overflow: hidden; border: 1px solid rgba(64,112,167,.12); border-radius: 30px; background: radial-gradient(circle at 80% 10%, rgba(70,156,244,.19), transparent 30%), linear-gradient(145deg,#f8fafc,#eaf2fa); box-shadow: 0 35px 90px rgba(38,78,124,.15); }
.hero-visual::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(58,116,181,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(58,116,181,.055) 1px,transparent 1px); background-size: 18px 18px; mask-image: linear-gradient(to bottom,black,transparent 80%); content: ""; }
.visual-window { position: relative; z-index: 1; overflow: hidden; border: 1px solid rgba(54,83,119,.13); border-radius: 18px; background: rgba(255,255,255,.92); box-shadow: 0 22px 58px rgba(33,76,127,.14); }
.window-bar { display: flex; height: 38px; align-items: center; gap: 6px; padding: 0 13px; border-bottom: 1px solid #e7e9ec; background: #f3f4f5; }
.window-bar i { width: 8px; height: 8px; border-radius: 50%; background: #ff5f57; }
.window-bar i:nth-child(2) { background: #febc2e; }
.window-bar i:nth-child(3) { background: #28c840; }
.visual-body { padding: 20px; }
.visual-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 17px; border-bottom: 1px solid #e9edf2; font-size: 14px; font-weight: 600; }
.visual-badge { padding: 5px 8px; border-radius: 99px; color: #267ee5; background: #eaf3ff; font-family: "DM Mono", monospace; font-size: 10px; font-weight: 400; }
.visual-list { display: grid; gap: 10px; margin-top: 17px; }
.visual-row { display: grid; min-height: 54px; grid-template-columns: 31px 1fr auto; align-items: center; gap: 11px; padding: 8px 11px; border: 1px solid #e4ebf5; border-radius: 11px; background: rgba(255,255,255,.85); color: #53647a; font-size: 12px; }
.visual-row b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; color: white; background: linear-gradient(135deg,var(--blue),var(--teal)); font-family: "DM Mono", monospace; font-size: 10px; font-weight: 500; }
.visual-row b.is-sequence { border: 1px solid #dde1e4; color: #747a80; background: #eef0f1; }
.visual-row small { color: #8996a7; font-family: "DM Mono", monospace; font-size: 10px; }
.visual-float { position: absolute; z-index: 2; right: 7px; bottom: 21px; width: 58%; padding: 16px; border: 1px solid rgba(38,116,210,.13); border-radius: 15px; background: rgba(255,255,255,.9); box-shadow: 0 20px 48px rgba(38,82,137,.15); backdrop-filter: blur(14px); }
.float-label { display: flex; align-items: center; gap: 8px; color: #287fe3; font-size: 12px; font-weight: 600; }
.float-label::before { width: 7px; height: 7px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 5px rgba(32,184,156,.1); content: ""; }
.float-metric { margin-top: 14px; font-size: 28px; font-weight: 500; letter-spacing: -.05em; }
.float-copy { margin: 5px 0 0; color: #7b8796; font-size: 11px; }

/* Ecosystem poster: a brand composition, deliberately free of simulated interfaces and diagram components. */
.ecosystem-visual { min-height: 510px; padding: 0; border: 0; border-radius: 28px; background: #17242f; box-shadow: none; }
.ecosystem-visual::before { display: none; }
.ecosystem-poster { position: relative; width: 100%; height: 510px; margin: 0; overflow: hidden; color: white; background: #17242f; }
.poster-glyph { position: absolute; top: -50px; right: -15px; color: transparent; font-size: 380px; font-weight: 500; letter-spacing: -.15em; line-height: 1; -webkit-text-stroke: 1px rgba(204,224,232,.22); }
.poster-topline { position: absolute; z-index: 1; top: 28px; right: 30px; left: 30px; display: flex; justify-content: space-between; color: #9ab0bd; font-family: "DM Mono",monospace; font-size: 10px; letter-spacing: .06em; }
.poster-topline span:first-child::before { display: inline-block; width: 7px; height: 7px; margin-right: 9px; border-radius: 50%; background: var(--teal); content: ""; vertical-align: 1px; }
.poster-copy { position: absolute; z-index: 1; top: 112px; left: 32px; }
.poster-copy p { margin: 0; font-size: clamp(30px,3.25vw,46px); font-weight: 500; letter-spacing: -.065em; line-height: 1.12; }
.poster-copy > span { display: block; max-width: 290px; margin-top: 21px; color: #aebfc9; font-size: 13px; line-height: 1.75; }
.poster-roles { position: absolute; z-index: 1; right: 31px; bottom: 96px; left: 32px; display: flex; border-top: 1px solid rgba(212,227,232,.3); border-bottom: 1px solid rgba(212,227,232,.3); }
.poster-roles span { flex: 1; padding: 15px 0 16px; color: #dce5e8; font-size: 13px; }
.poster-roles span + span { padding-left: 16px; border-left: 1px solid rgba(212,227,232,.3); }
.poster-mark { position: absolute; z-index: 1; right: 31px; bottom: 28px; left: 32px; display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
.poster-mark span { color: #64d2c5; font-size: 24px; font-weight: 500; letter-spacing: -.05em; }
.poster-mark strong { color: #afc1ca; font-size: 12px; font-weight: 400; }

.content-section { padding: clamp(88px,11vw,150px) clamp(24px,4.2vw,72px); }
.content-section.alt { background: #f1f2f2; }
.content-section.blue { background: #f0f6fd; }
.content-section.dark { color: white; background: #17242f; }
.section-shell { width: min(1200px,100%); margin: 0 auto; }
.section-heading { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); align-items: end; gap: clamp(35px,7vw,90px); }
.section-heading h2 { max-width: 760px; margin: 0; font-size: clamp(37px,4vw,56px); font-weight: 500; letter-spacing: -.062em; line-height: 1.12; text-wrap: balance; }
.section-heading p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.8; }
.dark .section-heading p { color: #bdc9d3; }
.section-kicker { margin: 0 0 18px; color: #6f757b; font-family: "DM Mono", monospace; font-size: 13px; letter-spacing: .055em; }
.dark .section-kicker { color: #90b5d6; }

.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 70px; }
.feature-card { position: relative; min-height: 270px; padding: 27px; overflow: hidden; border-radius: 20px; background: white; box-shadow: inset 0 0 0 1px rgba(20,31,43,.045); transition: box-shadow .3s ease, translate .3s ease; }
.feature-card:hover { box-shadow: 0 20px 48px rgba(28,52,79,.09); translate: 0 -5px; }
.feature-card.tinted { background: #eaf2fb; }
.feature-card.mint { background: #eaf5f1; }
.feature-card.deep { color: white; background: linear-gradient(145deg,#225f9d,#18394e); }
.feature-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: #287fe3; background: #eaf3ff; font-family: "DM Mono",monospace; font-size: 12px; }
.feature-icon.is-sequence { color: #747a80; background: #eceeef; }
.deep .feature-icon { color: white; background: rgba(255,255,255,.13); }
.deep .feature-icon.is-sequence { color: #e2e5e7; background: rgba(255,255,255,.12); }
.feature-card h3 { margin: 70px 0 12px; font-size: 22px; font-weight: 600; letter-spacing: -.045em; }
.feature-card p { margin: 0; color: #626b73; font-size: 15px; line-height: 1.75; }
.feature-card.deep p { color: #c9d9e5; }
.feature-grid.four { grid-template-columns: repeat(4,1fr); }
.feature-grid.two { grid-template-columns: repeat(2,1fr); }
.feature-grid.four .feature-card { min-height: 240px; }
.feature-grid.four .feature-card h3 { margin-top: 52px; font-size: 19px; }

.split-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(420px,1.15fr); align-items: start; gap: clamp(60px,10vw,135px); }
.sticky-copy { position: sticky; top: 125px; }
.sticky-copy h2 { margin: 0; font-size: clamp(38px,4vw,56px); font-weight: 500; letter-spacing: -.06em; line-height: 1.12; }
.sticky-copy p { max-width: 500px; margin: 27px 0 0; color: var(--muted); font-size: 17px; line-height: 1.8; }
.company-copy { padding-top: 2px; border-top: 1px solid var(--line); }
.company-copy p { margin: 26px 0 0; color: #515960; font-size: 17px; line-height: 1.95; }
.stack-list { border-top: 1px solid var(--line); }
.stack-item { display: grid; grid-template-columns: 50px 1fr; gap: 16px; padding: 28px 0 31px; border-bottom: 1px solid var(--line); }
.stack-index { color: #7b8188; font-family: "DM Mono",monospace; font-size: 12px; font-weight: 500; }
.stack-item h3 { margin: 0; font-size: 23px; font-weight: 500; letter-spacing: -.04em; }
.stack-item p { margin: 10px 0 0; color: var(--muted); font-size: 15px; line-height: 1.75; }

.process { display: grid; grid-template-columns: repeat(7,1fr); margin-top: 72px; }
.process-step { position: relative; min-height: 172px; padding: 21px 17px; border-top: 1px solid #cdd9e5; border-bottom: 1px solid #cdd9e5; border-left: 1px solid #cdd9e5; background: rgba(255,255,255,.58); }
.process-step:last-child { border-right: 1px solid #cdd9e5; }
.process-step::after { position: absolute; z-index: 2; top: 50%; right: -7px; width: 13px; height: 13px; border-top: 1px solid #9bb9da; border-right: 1px solid #9bb9da; background: #f0f6fd; content: ""; transform: translateY(-50%) rotate(45deg); }
.process-step:last-child::after { display: none; }
.process-step span { color: #7b8188; font-family: "DM Mono",monospace; font-size: 12px; font-weight: 500; }
.process-step strong { display: block; margin-top: 72px; font-size: 16px; font-weight: 600; }

.statement { padding: clamp(95px,13vw,180px) clamp(24px,4.2vw,72px); color: white; background: radial-gradient(circle at 85% 15%,rgba(45,142,235,.38),transparent 30%),#142430; }
.statement-shell { width: min(1180px,100%); margin: 0 auto; }
.statement blockquote, .statement h1 { max-width: 980px; margin: 0; font-size: clamp(42px,4vw,58px); font-weight: 500; letter-spacing: -.065em; line-height: 1.1; }
.statement p { max-width: 650px; margin: 38px 0 0; color: #bfd0dc; font-size: 16px; line-height: 1.8; }

.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin-top: 70px; background: #dfe3e5; }
.metric { min-height: 210px; padding: 24px; background: #f8f9f9; }
.metric strong { display: block; font-size: clamp(34px,4vw,54px); font-weight: 500; letter-spacing: -.06em; }
.metric span { display: block; margin-top: 55px; color: #606970; font-size: 14px; }

.case-grid, .news-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin-top: 70px; }
.case-card, .news-card { position: relative; min-height: 380px; padding: 30px; overflow: hidden; border-radius: 22px; background: #eceeed; }
.case-card:nth-child(2), .news-card:nth-child(2n) { background: #e9f1fa; }
.case-label, .news-meta { color: #626c74; font-family: "DM Mono",monospace; font-size: 13px; letter-spacing: .035em; }
.case-card h3, .news-card h3 { max-width: 530px; margin: 90px 0 0; font-size: 30px; font-weight: 500; letter-spacing: -.055em; line-height: 1.22; }
.case-card p, .news-card p { max-width: 520px; margin: 18px 0 0; color: #606b74; font-size: 15px; line-height: 1.75; }
.case-link, .news-link { position: absolute; right: 28px; bottom: 26px; display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; color: white; background: var(--ink); font-size: 20px; transition: background .2s ease, transform .2s ease; }
.case-card:hover .case-link, .news-card:hover .news-link { background: var(--blue); transform: translateX(3px); }

.article-hero { padding: 108px clamp(24px,4.2vw,72px) 82px; border-bottom: 1px solid var(--line); }
.article-hero.news-only { display: flex; min-height: calc(100vh - 72px); align-items: center; }
.article-shell { width: min(1060px,100%); margin: 0 auto; }
.article-hero h1 { max-width: 900px; margin: 20px 0 0; font-size: clamp(42px,4vw,58px); font-weight: 500; letter-spacing: -.07em; line-height: 1.1; }
.article-lead { max-width: 720px; margin: 30px 0 0; color: var(--muted); font-size: 17px; line-height: 1.8; }

/* Newsroom: useful, transparent empty state before the first official posts are published. */
.news-page { overflow: hidden; }
.news-shell { width: min(1200px,100%); margin: 0 auto; }
.news-hero { padding: clamp(104px,13vw,176px) clamp(24px,4.2vw,72px) clamp(80px,10vw,132px); border-bottom: 1px solid var(--line); }
.news-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.54fr); align-items: end; gap: clamp(54px,10vw,156px); }
.news-hero .eyebrow { margin-bottom: 20px; }
.news-hero h1 { max-width: 700px; margin: 0; font-size: clamp(42px,4vw,58px); font-weight: 500; letter-spacing: -.065em; line-height: 1.1; }
.news-lead { max-width: 620px; margin: 30px 0 0; color: var(--muted); font-size: 18px; line-height: 1.8; }
.news-status-list { border-top: 1px solid #cdd1d1; border-bottom: 1px solid #cdd1d1; }
.news-status { display: flex; align-items: flex-start; gap: 13px; padding: 22px 0; }
.news-status + .news-status { border-top: 1px solid #cdd1d1; }
.news-status-dot { flex: none; width: 9px; height: 9px; margin-top: 7px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 5px rgba(32,184,156,.11); }
.news-status strong { display: block; font-size: 15px; font-weight: 600; }
.news-status:hover strong { color: var(--blue); }
.news-status p { max-width: 300px; margin: 7px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.news-focus-section { padding: clamp(88px,11vw,150px) clamp(24px,4.2vw,72px); background: #f4f5f3; }
.news-section-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,.56fr); align-items: end; gap: clamp(40px,9vw,140px); }
.news-section-heading .section-kicker { grid-column: 1 / -1; margin-bottom: 2px; }
.news-section-heading h2, .news-next h2 { margin: 0; font-size: clamp(39px,4.4vw,62px); font-weight: 500; letter-spacing: -.055em; line-height: 1.1; }
.news-section-heading > p:last-child { max-width: 385px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
.news-focus-list { margin-top: clamp(56px,7vw,86px); border-top: 1px solid #cfd1cf; }
.news-focus-item { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 22px; padding: 26px 0 29px; border-bottom: 1px solid #cfd1cf; }
.news-focus-item > span { padding-top: 5px; color: #798087; font-family: "DM Mono",monospace; font-size: 12px; }
.news-focus-item div { display: grid; grid-template-columns: minmax(170px,.57fr) minmax(280px,.43fr); gap: 32px; align-items: baseline; }
.news-focus-item h3 { margin: 0; font-size: 24px; font-weight: 500; letter-spacing: -.035em; }
.news-focus-item p { max-width: 440px; margin: 0; color: #606970; font-size: 15px; line-height: 1.75; }
.news-next-section { padding: clamp(82px,10vw,134px) clamp(24px,4.2vw,72px); background: #17242f; }
.news-next { color: white; }
.news-next .section-kicker { color: #92b2cb; }
.news-next-content { display: flex; align-items: end; justify-content: space-between; gap: 52px; }
.news-next h2 { max-width: 710px; }
.news-next p { max-width: 600px; margin: 25px 0 0; color: #bfccd5; font-size: 16px; line-height: 1.8; }
.news-next-actions { display: flex; flex: none; flex-wrap: wrap; gap: 10px; }
.news-next .button-primary { background: white; color: var(--ink); }
.news-next .button-secondary { border-color: rgba(255,255,255,.35); color: white; background: transparent; }
.news-next .button-secondary:hover { border-color: white; background: rgba(255,255,255,.1); }
.article-body { padding: 95px clamp(24px,4.2vw,72px) 140px; }
.article-grid { display: grid; width: min(1060px,100%); grid-template-columns: 210px minmax(0,1fr); gap: 70px; margin: 0 auto; }
.article-aside { position: sticky; top: 110px; height: fit-content; color: #70777d; font-family: "DM Mono",monospace; font-size: 12px; line-height: 2; }
.article-content h2 { margin: 72px 0 20px; font-size: 34px; font-weight: 500; letter-spacing: -.05em; }
.article-content h2:first-child { margin-top: 0; }
.article-content p { margin: 0 0 20px; color: #515960; font-size: 16px; line-height: 1.9; }
.article-content ul { margin: 24px 0; padding: 0; list-style: none; }
.article-content li { position: relative; padding: 13px 0 13px 28px; border-bottom: 1px solid #e6e7e7; color: #41484f; font-size: 15px; line-height: 1.65; }
.article-content li::before { position: absolute; top: 21px; left: 4px; width: 7px; height: 7px; border-radius: 50%; background: linear-gradient(135deg,var(--blue),var(--teal)); content: ""; }
.value-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 40px 0; }
.value-box { min-height: 130px; padding: 18px; border-radius: 14px; background: #eef3f8; }
.value-box strong { display: block; font-size: 24px; font-weight: 500; letter-spacing: -.04em; }
.value-box span { display: block; margin-top: 30px; color: #66727c; font-size: 13px; }
.customer-quote { margin: 55px 0 0; padding: 35px; border-radius: 20px; color: white; background: linear-gradient(145deg,#225f9d,#153d52); }
.customer-quote blockquote { margin: 0; font-size: 24px; font-weight: 500; letter-spacing: -.04em; line-height: 1.55; }
.customer-quote cite { display: block; margin-top: 24px; color: #c6dce8; font-size: 13px; font-style: normal; }

.cta-band { padding: 110px clamp(24px,4.2vw,72px); background: linear-gradient(180deg,#edf3f7 0%,#f4f5f3 100%); }
.cta-shell { display: flex; width: min(1200px,100%); align-items: end; justify-content: space-between; gap: 50px; margin: 0 auto; }
.cta-shell h2 { max-width: 790px; margin: 0; font-size: clamp(38px,4.4vw,61px); font-weight: 500; letter-spacing: -.065em; line-height: 1.12; }
.enterprise-cta { display: flex; min-height: clamp(620px,72vh,820px); align-items: center; padding-block: 92px; }
.enterprise-cta .cta-shell h2 { max-width: 875px; font-size: clamp(34px,3.15vw,46px); letter-spacing: -.048em; line-height: 1.22; }
.cta-copy { max-width: 780px; margin: 20px 0 0; color: #626b73; font-size: 16px; line-height: 1.8; }

.site-footer { padding: 60px clamp(24px,4.2vw,72px) 24px; border-top: 1px solid #dfe2e1; color: #202123; background: #f4f5f3; }
.footer-inner { width: min(1280px,100%); margin: 0 auto; }
.footer-top { display: grid; grid-template-columns: 1.35fr 1.12fr .95fr .9fr .95fr; gap: clamp(30px,3.6vw,58px); padding-bottom: 54px; }
.footer-brand img { width: 168px; }
.footer-brand p { max-width: 290px; margin: 23px 0 0; color: #656864; font-size: 14px; line-height: 1.75; }
.footer-contacts { display: grid; gap: 14px; margin-top: 20px; color: #656864; font-size: 13px; line-height: 1.75; }
.footer-contacts span, .footer-contacts a { display: block; }
.footer-contacts a { width: fit-content; overflow-wrap: anywhere; }
.footer-contacts a:hover { color: var(--blue); }
.footer-column h2 { margin: 0 0 23px; color: #202123; font-family: inherit; font-size: 14px; font-weight: 600; letter-spacing: .01em; }
.footer-column a { display: block; width: fit-content; margin: 0 0 12px; color: #555854; font-size: 15px; line-height: 1.4; }
.footer-column a:hover { color: #111; }
.footer-column .footer-parent-link { margin-bottom: 10px; color: #383c38; font-weight: 600; }
.footer-subnav { margin: 0 0 22px; padding-left: 14px; border-left: 0; }
.footer-column .footer-subnav a { margin-bottom: 8px; color: #747873; font-size: 13px; line-height: 1.45; }
.footer-column .footer-subnav a:last-child { margin-bottom: 0; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px 30px; border-top: 1px solid #d5d5d0; padding-top: 21px; color: #6f726d; font-family: "DM Mono",monospace; font-size: 11px; letter-spacing: .035em; }
.footer-bottom > span:first-child, .footer-legal { font-family: "Noto Sans SC",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; letter-spacing: 0; }
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px; }
.footer-legal a { transition: color .2s ease; }
.footer-legal a:hover { color: #202123; }
.footer-police-link { display: inline-flex; align-items: center; gap: 5px; }
.footer-police-link img { display: block; width: 16px; height: 16px; object-fit: contain; }

.status-banner { display: flex; align-items: center; gap: 12px; margin-bottom: 32px; padding: 15px 18px; border: 1px solid #d8e4ef; border-radius: 14px; color: #516170; background: #f0f6fc; font-size: 14px; line-height: 1.65; }
.status-banner::before { flex: none; width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg,var(--blue),var(--teal)); content: ""; }
.status-pill { display: inline-flex; width: fit-content; margin-top: 34px; padding: 7px 10px; border-radius: 999px; color: #697078; background: rgba(255,255,255,.72); font-size: 12px; }
.form-anchor { display: block; scroll-margin-top: 110px; }
.auth-shell { display: grid; width: min(1120px,100%); min-height: calc(100vh - 72px); grid-template-columns: minmax(0,1fr) minmax(380px,.72fr); align-items: center; gap: clamp(60px,9vw,130px); margin: 0 auto; padding: 80px clamp(24px,4.2vw,72px); }
.auth-copy h1 { margin: 0; font-size: clamp(42px,4vw,58px); font-weight: 500; letter-spacing: -.07em; line-height: 1.1; }
.auth-copy p { max-width: 580px; margin: 28px 0 0; color: var(--muted); font-size: 17px; line-height: 1.8; }
.auth-card { padding: clamp(26px,3.4vw,42px); border: 1px solid #dee3e7; border-radius: 24px; background: rgba(255,255,255,.92); box-shadow: 0 30px 90px rgba(35,71,109,.12); }
.auth-card h2 { margin: 0 0 9px; font-size: 28px; font-weight: 500; letter-spacing: -.045em; }
.auth-card > p { margin: 0 0 28px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.resource-list { margin-top: 65px; border-top: 1px solid var(--line); }
.resource-item { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 20px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.resource-item > span:first-child { color: #7b8188; font-family: "DM Mono",monospace; font-size: 12px; }
.resource-item h3 { margin: 0; font-size: 21px; font-weight: 500; letter-spacing: -.035em; }
.resource-item p { margin: 7px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.resource-item a { display: inline-flex; align-items: center; gap: 8px; color: #287fe3; font-size: 13px; font-weight: 600; }
.resource-item a::after { content: "\2192"; }

.form-section { padding: clamp(82px,10vw,130px) clamp(24px,4.2vw,72px); background: #eef4fa; }
.form-shell { display: grid; width: min(1120px,100%); grid-template-columns: .75fr 1.25fr; gap: clamp(45px,8vw,100px); margin: 0 auto; }
.form-intro h2 { margin: 0; font-size: clamp(36px,4.2vw,55px); font-weight: 500; letter-spacing: -.06em; line-height: 1.12; }
.form-intro p { margin: 24px 0 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
.form-card { padding: clamp(24px,3vw,38px); border: 1px solid #dde4eb; border-radius: 22px; background: rgba(255,255,255,.92); box-shadow: 0 24px 65px rgba(35,71,109,.1); }
.field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.field { display: grid; gap: 8px; }
.field.full { grid-column: 1 / -1; }
.field label { color: #4f5962; font-size: 13px; font-weight: 600; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #d9dfe5; border-radius: 11px; padding: 13px 14px; outline: 0; color: #20262c; background: #fbfcfd; font-size: 14px; transition: border-color .2s ease, box-shadow .2s ease; }
.field textarea { min-height: 118px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #76a9e6; box-shadow: 0 0 0 4px rgba(40,127,227,.09); }
.form-note { margin: 18px 0 0; color: #7a828a; font-size: 12px; line-height: 1.65; }
.form-submit { min-height: 48px; margin-top: 22px; padding: 0 20px; border: 0; border-radius: 999px; color: white; background: #171717; font-weight: 600; cursor: pointer; }
.form-submit[disabled] { color: #71777d; background: #e1e4e6; cursor: not-allowed; }

.code-panel { margin-top: 58px; overflow: hidden; border-radius: 18px; color: #dfe9f2; background: #16232d; box-shadow: 0 24px 65px rgba(20,35,47,.16); }
.code-panel-header { display: flex; align-items: center; justify-content: space-between; padding: 15px 18px; border-bottom: 1px solid rgba(255,255,255,.08); color: #9db3c4; font-family: "DM Mono",monospace; font-size: 12px; }
.code-panel pre { margin: 0; padding: 25px; overflow: auto; font-family: "DM Mono",monospace; font-size: 13px; line-height: 1.85; }
.code-key { color: #78d9c3; }
.code-value { color: #8ebfff; }

.legal-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: clamp(40px,8vw,100px); }
.legal-nav { position: sticky; top: 105px; height: fit-content; border-top: 1px solid var(--line); }
.legal-nav a { display: block; padding: 13px 0; border-bottom: 1px solid var(--line); color: #687078; font-size: 13px; }
.legal-content { max-width: 780px; }
.legal-content section { padding: 0 0 44px; }
.legal-content section { scroll-margin-top: 110px; }
.legal-content h2 { margin: 0 0 17px; font-size: 28px; font-weight: 500; letter-spacing: -.045em; }
.legal-content p, .legal-content li { color: #555e66; font-size: 15px; line-height: 1.9; }
.legal-content ul { padding-left: 20px; }
.agreement-content { max-width: 860px; }
.agreement-content .agreement-notice { margin: 0 0 58px; padding: 24px 26px; border-left: 2px solid #287fe3; color: #35444f; background: #f1f6fb; }
.agreement-content section + section { border-top: 1px solid #e3e7e7; }
.agreement-content h2 { padding-top: 42px; }
.agreement-content p { margin: 0 0 16px; }
.agreement-content strong { color: #273843; font-weight: 650; }

html.js-motion [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .75s cubic-bezier(.16,1,.3,1), transform .75s cubic-bezier(.16,1,.3,1); }
html.js-motion [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
html.js-motion [data-reveal] > .feature-card, html.js-motion [data-reveal] > .case-card, html.js-motion [data-reveal] > .news-card { opacity: 0; transform: translateY(20px); }
html.js-motion [data-reveal].is-visible > .feature-card, html.js-motion [data-reveal].is-visible > .case-card, html.js-motion [data-reveal].is-visible > .news-card { animation: card-in .65s cubic-bezier(.16,1,.3,1) forwards; }
html.js-motion [data-reveal].is-visible > :nth-child(2) { animation-delay: .09s; }
html.js-motion [data-reveal].is-visible > :nth-child(3) { animation-delay: .16s; }
html.js-motion [data-reveal].is-visible > :nth-child(4) { animation-delay: .23s; }
@keyframes card-in { to { opacity: 1; transform: translateY(0); } }

/* Partners: a relationship-led hero rather than a product-interface illustration. */
.partners-hero { min-height: 720px; }
.partners-hero::before { top: -48%; right: -9%; width: min(66vw,920px); background: radial-gradient(circle,rgba(58,146,232,.15),rgba(32,184,156,.055) 42%,transparent 69%); }
.partners-hero .hero-shell { grid-template-columns: minmax(0,.91fr) minmax(460px,1.09fr); gap: clamp(64px,9vw,142px); }
.partners-hero .hero-copy h1 { max-width: 650px; font-size: 58px; }
.partners-hero .hero-lead { max-width: 560px; }
.partner-stage { position: relative; display: flex; width: 100%; min-width: 0; min-height: 520px; flex-direction: column; justify-content: space-between; padding: clamp(30px,3.4vw,48px); overflow: hidden; border-radius: 28px; color: #f6f9f9; background: #142631; box-shadow: 0 36px 90px rgba(22,54,76,.2); isolation: isolate; }
.partner-stage::before { position: absolute; z-index: -1; top: -19%; right: -9%; width: 72%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 40%,rgba(69,165,255,.63),rgba(35,149,199,.26) 33%,transparent 68%); content: ""; filter: blur(1px); }
.partner-stage::after { position: absolute; z-index: -1; right: 4%; bottom: -27%; width: 66%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,rgba(36,206,167,.35),transparent 65%); content: ""; }
.partner-stage-meta { margin: 0; color: #a4b3bd; font-family: "DM Mono",monospace; font-size: 12px; letter-spacing: .075em; }
.partner-stage-title { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; gap: 12px; margin: auto 0; font-size: clamp(42px,3.8vw,56px); font-weight: 500; letter-spacing: -.075em; line-height: 1.08; }
.partner-stage-title span:nth-child(2) { text-align: center; }
.partner-stage-title strong { color: #69b3ff; font: inherit; text-align: right; }
.partner-stage-copy { max-width: 290px; margin: 0 0 30px 30%; color: #c4d1d8; font-size: 15px; line-height: 1.75; }
.partner-stage-foot { display: flex; justify-content: space-between; gap: 20px; color: #c5d1d8; font-size: 13px; }
.partner-stage-foot span:last-child { color: #83c8ff; }

/* Service partners use a discovery-led editorial composition, distinct from agent collaboration. */
.service-partner-hero { min-height: 720px; }
.service-partner-hero::before { top: -32%; right: -16%; width: min(64vw,940px); background: radial-gradient(circle,rgba(51,145,245,.12),rgba(37,201,174,.06) 43%,transparent 71%); }
.service-partner-hero .hero-shell { grid-template-columns: minmax(0,.92fr) minmax(460px,1.08fr); gap: clamp(64px,9vw,142px); }
.service-partner-hero .hero-copy h1 { font-size: 58px; }
.service-stage { position: relative; display: flex; width: 100%; min-width: 0; min-height: 520px; flex-direction: column; padding: clamp(30px,3.4vw,48px); overflow: hidden; border: 1px solid #d6e4ef; border-radius: 28px; color: #172d3b; background: linear-gradient(145deg,#f5fbff 0%,#e9f4fb 53%,#e8f7f2 100%); box-shadow: 0 36px 90px rgba(38,92,137,.13); }
.service-stage::before { position: absolute; top: 13%; right: -15%; width: 62%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 32% 36%,rgba(65,151,240,.28),rgba(65,151,240,.08) 45%,transparent 68%); content: ""; }
.service-stage::after { position: absolute; right: 10%; bottom: -34%; width: 50%; aspect-ratio: 1; border: 1px solid rgba(41,129,216,.18); border-radius: 50%; content: ""; }
.service-stage-head, .service-stage-foot { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 20px; color: #738897; font-family: "DM Mono",monospace; font-size: 12px; letter-spacing: .06em; }
.service-stage-head span:last-child { color: #287fe3; }
.service-stage-main { position: relative; z-index: 1; margin: auto 0 25px; font-size: clamp(35px,3.45vw,51px); font-weight: 500; letter-spacing: -.075em; line-height: 1.12; }
.service-stage-main p { margin: 0; }
.service-stage-main strong { display: block; margin-top: 4px; color: #287fe3; font: inherit; }
.service-stage-copy { position: relative; z-index: 1; max-width: 300px; margin: 0 0 36px; color: #58707e; font-size: 15px; line-height: 1.75; }
.service-stage-foot { color: #536e7e; font-family: inherit; font-size: 13px; letter-spacing: 0; }

/* Product partners are framed around product integration into real work, not channel or service discovery. */
.product-partner-hero { min-height: 720px; }
.product-partner-hero::before { top: -40%; right: -12%; width: min(65vw,940px); background: radial-gradient(circle,rgba(44,145,231,.15),rgba(47,205,165,.07) 45%,transparent 71%); }
.product-partner-hero .hero-shell { grid-template-columns: minmax(0,.92fr) minmax(460px,1.08fr); gap: clamp(64px,9vw,142px); }
.product-partner-hero .hero-copy h1 { font-size: 58px; }
.product-stage { position: relative; display: flex; width: 100%; min-width: 0; min-height: 520px; flex-direction: column; padding: clamp(30px,3.4vw,48px); overflow: hidden; border: 1px solid #dce7e6; border-radius: 28px; color: #172a35; background: #f5faf8; box-shadow: 0 36px 90px rgba(31,91,83,.13); }
.product-stage-shape { position: absolute; pointer-events: none; }
.product-stage-shape-a { top: -23%; right: -7%; width: 62%; aspect-ratio: 1; border-radius: 33% 67% 62% 38% / 42% 38% 62% 58%; background: linear-gradient(145deg,rgba(38,126,227,.86),rgba(48,199,174,.62)); transform: rotate(18deg); }
.product-stage-shape-b { right: 11%; bottom: -37%; width: 52%; aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.6); box-shadow: 0 0 0 38px rgba(255,255,255,.17); }
.product-stage-head, .product-stage-foot { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 20px; color: #668189; font-family: "DM Mono",monospace; font-size: 12px; letter-spacing: .06em; }
.product-stage-head span:last-child { color: #287fe3; }
.product-stage-main { position: relative; z-index: 1; margin: auto 0 25px; font-size: clamp(35px,3.45vw,51px); font-weight: 500; letter-spacing: -.075em; line-height: 1.12; }
.product-stage-main p { margin: 0; }
.product-stage-main strong { display: block; margin-top: 4px; color: #167fbe; font: inherit; }
.product-stage-copy { position: relative; z-index: 1; max-width: 300px; margin: 0 0 36px; color: #466773; font-size: 15px; line-height: 1.75; }
.product-stage-foot { color: #52717a; font-family: inherit; font-size: 13px; letter-spacing: 0; }

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

@media (max-width: 1040px) {
  .hero-shell { grid-template-columns: 1fr; }
  .hero-copy { max-width: 850px; }
  .hero-visual { width: min(760px,100%); min-height: 470px; }
  .about-origin-shell, .about-shift-heading { grid-template-columns: 1fr; gap: 43px; }
  .about-origin-content { grid-template-columns: minmax(0,.88fr) minmax(290px,1.12fr); }
  .about-shift-narrative { grid-template-columns: 1fr; gap: 64px; }
  .about-story-heading { grid-template-columns: 1fr; gap: 43px; }
  .about-story-body { grid-template-columns: 1fr; gap: 62px; }
  .about-method-heading { grid-template-columns: 1fr; gap: 43px; }
  .about-why-heading { grid-template-columns: 1fr; gap: 43px; }
  .feature-grid.four, .feature-grid.two { grid-template-columns: repeat(2,1fr); }
  .process { grid-template-columns: repeat(4,1fr); }
  .process-step:nth-child(4) { border-right: 1px solid #cdd9e5; }
  .process-step:nth-child(4)::after { display: none; }
  .footer-top { grid-template-columns: 1.2fr repeat(2,1fr); }
  .footer-brand { grid-row: span 2; }
  .auth-shell { grid-template-columns: 1fr; }
  .news-hero-grid { grid-template-columns: 1fr; align-items: start; gap: 52px; }
  .news-status { max-width: 430px; }
  .news-next-content { align-items: flex-start; flex-direction: column; }
  .ecosystem-visual { min-height: 510px; padding: 0; }
}

@media (max-width: 780px) {
  .header-shell { min-height: 64px; grid-template-columns: 1fr auto; gap: 15px; padding: 0 18px; }
  .brand img { width: 130px; }
  .main-nav, .header-actions { display: none; }
  .menu-button { display: grid; }
  .inner-header.menu-open .main-nav { position: absolute; top: 64px; right: 0; left: 0; display: grid; gap: 0; padding: 10px 18px 18px; border-bottom: 1px solid var(--line); background: rgba(251,251,250,.98); }
  .inner-header.menu-open .main-nav a { padding: 13px 0; }
  .inner-header.menu-open .main-nav a::after { display: none; }
  .page-hero { padding: 76px 18px 88px; }
  .enterprise-brief { min-height: 0; padding: 82px 18px 76px; }
  .enterprise-brief-shell { grid-template-columns: 1fr; gap: 62px; }
  .enterprise-brief-copy { min-height: 0; padding-bottom: 0; }
  .enterprise-brief-copy h1 { max-width: 100%; font-size: 36px; letter-spacing: -.045em; line-height: 1.12; }
  .enterprise-brief-copy > p { width: 100%; margin-top: 23px; font-size: 16px; overflow-wrap: anywhere; word-break: break-word; }
  .enterprise-context { min-height: 340px; padding: 2px 0 2px 22px; }
  .enterprise-context-title { margin-top: 52px; padding-top: 0; font-size: clamp(31px,8.5vw,39px); }
  .enterprise-context-copy { margin-top: 17px; font-size: 13px; }
  .enterprise-context-footer { margin-top: 42px; padding-top: 18px; }
  .about-manifesto { padding: 62px 18px 74px; }
  .about-manifesto-meta { align-items: flex-start; }
  .about-manifesto-meta > span { font-size: 9px; text-align: right; }
  .about-manifesto h1 { margin-top: 48px; font-size: clamp(38px,10.4vw,50px); letter-spacing: -.07em; line-height: 1.1; }
  .about-manifesto-foot { grid-template-columns: 1fr; gap: 25px; margin-top: 46px; }
  .about-manifesto-foot p { font-size: 15px; line-height: 1.8; }
  .about-manifesto-foot a { width: fit-content; font-size: 13px; }
  .about-origin { padding: 82px 18px; }
  .about-origin-shell { gap: 37px; }
  .about-origin-content { grid-template-columns: 1fr; gap: 42px; }
  .about-origin h2 { margin: 0; font-size: clamp(34px,10vw,43px); letter-spacing: -.06em; }
  .about-origin-copy p { margin-top: 19px; font-size: 15px; line-height: 1.85; }
  .about-story { padding: 82px 18px; }
  .about-story-heading { gap: 37px; }
  .about-story-heading h2 { margin: 0; font-size: clamp(36px,10.5vw,46px); line-height: 1.09; }
  .about-story-heading div > p { margin-top: 19px; font-size: 15px; }
  .about-story-body { gap: 52px; margin-top: 56px; }
  .about-story-context p:not(.about-story-label) { font-size: 15px; line-height: 1.85; }
  .about-story-method { grid-template-columns: 1fr; gap: 28px; }
  .about-story-method li { min-height: 0; }
  .about-story-method li strong { font-size: 22px; }
  .about-story-method li p { max-width: 315px; margin-top: 8px; font-size: 13px; }
  .about-method { padding: 82px 18px; }
  .about-method-heading { gap: 37px; }
  .about-method-heading h2 { margin: 0; font-size: clamp(36px,10.5vw,46px); line-height: 1.09; }
  .about-method-heading div > p { margin-top: 19px; font-size: 15px; }
  .about-method-list { grid-template-columns: 1fr; gap: 38px; margin-top: 58px; }
  .about-method-list li { min-height: 0; }
  .about-method-list strong { margin-top: 19px; font-size: 25px; }
  .about-method-list p { max-width: 315px; margin-top: 10px; font-size: 14px; }
  .about-why { padding: 82px 18px; }
  .about-why-heading { gap: 37px; }
  .about-why-heading h2 { margin: 0; font-size: clamp(35px,10vw,43px); line-height: 1.09; }
  .about-why-stages { grid-template-columns: 1fr; gap: 38px; margin-top: 58px; }
  .about-why-stages article { min-height: 0; }
  .about-why-stages span { font-size: 27px; }
  .about-why-stages p { max-width: 315px; margin-top: 10px; font-size: 15px; }
  .about-why-conclusion { margin-top: 64px; font-size: clamp(28px,8.8vw,37px); line-height: 1.18; }
  .about-shift { padding: 82px 18px; }
  .about-shift-heading { gap: 37px; }
  .about-shift-heading h2 { margin: 0; font-size: clamp(38px,11vw,48px); line-height: 1.08; }
  .about-shift-narrative { gap: 53px; margin-top: 58px; }
  .about-shift-proposition strong { margin-top: 23px; font-size: clamp(35px,10.5vw,44px); }
  .about-shift-proposition > span { margin-top: 22px; font-size: 15px; }
  .about-shift-list li { grid-template-columns: 34px 1fr; gap: 15px; padding-bottom: 22px; }
  .about-shift-list li + li { padding-top: 22px; }
  .about-shift-list strong { font-size: 21px; }
  .about-shift-list p { max-width: 310px; margin-top: 7px; font-size: 13px; }
  .about-commitment { padding: 86px 18px; }
  .about-commitment-heading { display: grid; grid-template-columns: 1fr; gap: 0; }
  .about-commitment-heading > p:last-child { max-width: 300px; margin-top: 22px; font-size: 13px; text-align: left; }
  .about-commitment-columns { margin-top: 52px; }
  .about-commitment-item { grid-template-columns: 1fr; gap: 16px; min-height: 0; padding: 29px 0 33px; }
  .about-commitment-item > span { padding-top: 0; }
  .about-commitment-item + .about-commitment-item { padding-top: 32px; }
  .about-commitment-item h2 { margin-top: 23px; font-size: clamp(37px,10.8vw,46px); }
  .about-commitment-item p { max-width: 315px; margin-top: 0; font-size: 14px; }
  .about-together { padding: 82px 18px; }
  .about-together-shell { grid-template-columns: 1fr; gap: 30px; }
  .about-together h2 { font-size: clamp(34px,9.4vw,40px); line-height: 1.1; }
  .about-together-copy { padding-bottom: 0; }
  .about-together-copy p { font-size: 15px; line-height: 1.85; }
  .about-closing { padding: 82px 18px; }
  .about-closing h2 { margin-top: 23px; font-size: clamp(38px,11.2vw,48px); line-height: 1.09; }
  .about-closing .button-primary { margin-top: 35px; }
  .hero-shell { gap: 55px; }
  .hero-copy h1 { font-size: clamp(40px,11vw,53px); }
  .hero-lead { font-size: 16px; }
  .hero-visual { min-height: 420px; padding: 13px; border-radius: 20px; }
  .ecosystem-visual { min-height: 470px; padding: 0; border-radius: 20px; }
  .ecosystem-poster { height: 470px; }
  .poster-glyph { top: 5px; right: -22px; font-size: 290px; }
  .poster-topline { top: 21px; right: 20px; left: 20px; }
  .poster-topline span:last-child { display: none; }
  .poster-copy { top: 89px; left: 21px; }
  .poster-copy p { font-size: clamp(30px,9vw,38px); }
  .poster-copy > span { max-width: 250px; margin-top: 16px; font-size: 12px; }
  .poster-roles { right: 20px; bottom: 84px; left: 20px; display: grid; grid-template-columns: 1fr; }
  .poster-roles span { padding: 8px 0; font-size: 12px; }
  .poster-roles span + span { padding-left: 0; border-top: 1px solid rgba(212,227,232,.2); border-left: 0; }
  .poster-mark { right: 20px; bottom: 21px; left: 20px; align-items: end; }
  .poster-mark span { font-size: 22px; }
  .poster-mark strong { max-width: 135px; font-size: 11px; line-height: 1.5; }
  .visual-body { padding: 14px; }
  .visual-float { width: 68%; right: 2px; bottom: 13px; }
  .content-section { padding: 82px 18px; }
  .section-heading { grid-template-columns: 1fr; gap: 25px; }
  .section-heading h2, .sticky-copy h2 { font-size: clamp(34px,10vw,43px); }
  .feature-grid, .feature-grid.four, .feature-grid.two { grid-template-columns: 1fr; margin-top: 48px; }
  .feature-card, .feature-grid.four .feature-card { min-height: 225px; }
  .feature-card h3, .feature-grid.four .feature-card h3 { margin-top: 45px; }
  .split-layout { grid-template-columns: 1fr; gap: 55px; }
  .sticky-copy { position: static; }
  .process { grid-template-columns: 1fr; margin-top: 48px; }
  .process-step { min-height: 112px; border-right: 1px solid #cdd9e5; border-bottom: 0; }
  .process-step:last-child { border-bottom: 1px solid #cdd9e5; }
  .process-step::after { top: auto; right: auto; bottom: -7px; left: 50%; transform: translateX(-50%) rotate(135deg); }
  .process-step:nth-child(4)::after { display: block; }
  .process-step strong { margin-top: 35px; }
  .statement { padding: 90px 18px; }
  .metric-grid { grid-template-columns: repeat(2,1fr); }
  .metric { min-height: 170px; }
  .case-grid, .news-grid { grid-template-columns: 1fr; margin-top: 48px; }
  .case-card, .news-card { min-height: 320px; padding: 24px; }
  .case-card h3, .news-card h3 { margin-top: 70px; font-size: 26px; }
  .article-hero { padding: 75px 18px 60px; }
  .article-hero h1 { font-size: clamp(38px,11vw,52px); }
  .news-hero { padding: 84px 18px 78px; }
  .news-hero-grid { gap: 44px; }
  .news-hero h1 { font-size: clamp(42px,12vw,52px); line-height: 1.12; }
  .news-lead { margin-top: 24px; font-size: 16px; }
  .news-status { padding: 18px 0; }
  .news-focus-section { padding: 78px 18px; }
  .news-section-heading { grid-template-columns: 1fr; gap: 23px; }
  .news-section-heading .section-kicker { grid-column: auto; }
  .news-section-heading h2, .news-next h2 { font-size: clamp(34px,10vw,45px); }
  .news-focus-list { margin-top: 49px; }
  .news-focus-item { grid-template-columns: 36px minmax(0,1fr); gap: 12px; padding: 23px 0 25px; }
  .news-focus-item div { grid-template-columns: 1fr; gap: 9px; }
  .news-focus-item h3 { font-size: 21px; }
  .news-focus-item p { font-size: 14px; }
  .news-next-section { padding: 78px 18px; }
  .news-next-content { gap: 34px; }
  .news-next-actions { width: 100%; flex-direction: column; }
  .news-next-actions a { width: 100%; }
  .article-body { padding: 65px 18px 90px; }
  .article-grid { grid-template-columns: 1fr; gap: 30px; }
  .article-aside { position: static; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
  .value-strip { grid-template-columns: 1fr; }
  .cta-band { padding: 80px 18px; }
  .cta-shell { align-items: start; flex-direction: column; }
  .enterprise-cta { display: block; min-height: 0; padding-block: 74px; }
  .enterprise-cta .cta-shell h2 { font-size: clamp(30px,8vw,36px); line-height: 1.22; }
  .footer-top { grid-template-columns: repeat(2,1fr); gap: 40px 18px; }
  .footer-brand { grid-row: auto; grid-column: span 2; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; font-size: 10px; }
  .footer-legal { justify-content: flex-start; }
  .resource-item { grid-template-columns: 42px 1fr; }
  .resource-item a { grid-column: 2; }
  .form-shell, .legal-layout { grid-template-columns: 1fr; }
  .field-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .legal-nav { position: static; }
}

/* Download page */
.download-page { overflow-x: hidden; background: #121719; }
.download-stage { position: relative; display: flex; min-height: calc(100svh - 72px); align-items: center; overflow: hidden; padding: clamp(56px,6vw,104px) clamp(24px,4.2vw,72px); color: #f6f8f7; background: radial-gradient(circle at 4% 87%,rgba(31,160,177,.25),transparent 29%),radial-gradient(circle at 94% 14%,rgba(47,128,237,.25),transparent 26%),#121719; }
.download-stage::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size: 48px 48px; content: ""; mask-image: linear-gradient(90deg,black,rgba(0,0,0,.2) 58%,transparent); opacity: .36; pointer-events: none; }
.download-stage-shell { position: relative; z-index: 1; display: grid; width: min(1180px,100%); grid-template-columns: minmax(0,.84fr) minmax(520px,1.16fr); align-items: center; gap: clamp(56px,7vw,120px); margin: 0 auto; }
.download-stage-intro { max-width: 475px; }
.download-stage-kicker { display: flex; align-items: center; gap: 10px; margin: 0; color: #a9b9be; font-family: "DM Mono",monospace; font-size: 11px; letter-spacing: .14em; }
.download-stage-kicker span, .download-station-note span { width: 7px; height: 7px; border-radius: 50%; background: linear-gradient(135deg,#45a2ff,#50dcc3); box-shadow: 0 0 0 6px rgba(80,220,195,.11); }
.download-stage h1 { max-width: 580px; margin: 27px 0 0; color: #fff; font-size: clamp(42px,4vw,58px); font-weight: 500; letter-spacing: -.078em; line-height: 1.1; }
.download-stage-lead { max-width: 410px; margin: 26px 0 0; color: #bac4c6; font-size: 17px; line-height: 1.8; }
.download-stage-values { display: flex; gap: 0; margin: 42px 0 0; padding: 0; color: #dbe4e5; list-style: none; }
.download-stage-values li { padding: 0 17px; border-left: 1px solid rgba(255,255,255,.26); font-size: 14px; letter-spacing: .02em; }
.download-stage-values li:first-child { padding-left: 0; border-left: 0; }
.download-station { padding: clamp(28px,3.5vw,44px); border: 1px solid rgba(255,255,255,.45); border-radius: 28px; color: #192024; background: rgba(255,255,255,.96); }
.download-station-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 25px; border-bottom: 1px solid #dfe5e4; }
.download-station-head p { margin: 0 0 8px; color: #68787d; font-family: "DM Mono",monospace; font-size: 10px; letter-spacing: .12em; }
.download-station-head h2 { margin: 0; color: #161d20; font-size: clamp(26px,2.4vw,34px); font-weight: 500; letter-spacing: -.055em; }
.download-station-head > span { padding-bottom: 4px; color: #7f8c91; font-family: "DM Mono",monospace; font-size: 9px; letter-spacing: .08em; white-space: nowrap; }
.download-station-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 28px; }
.download-platform-option { display: grid; grid-template-rows: auto 1fr auto; min-width: 0; padding: 0 clamp(20px,2.5vw,34px) 0 0; }
.download-platform-option + .download-platform-option { padding: 0 0 0 clamp(20px,2.5vw,34px); border-left: 1px solid #dfe5e4; }
.download-platform-option header { display: grid; grid-template-columns: 39px minmax(0,1fr); align-items: center; gap: 11px; }
.download-platform-option .download-platform-icon { width: 39px; height: 39px; border-radius: 12px; }
.download-platform-option small, .download-platform-option strong { display: block; }
.download-platform-option small { margin-bottom: 3px; color: #7e8a8f; font-size: 10px; }
.download-platform-option strong { color: #1a2023; font-size: 14px; font-weight: 600; }
.download-station-qr { display: block; width: min(100%,174px); aspect-ratio: 1; margin: 27px auto 21px; object-fit: contain; }
.download-platform-option > p { margin: 0; color: #283033; font-size: 13px; font-weight: 600; line-height: 1.55; text-align: center; }
.download-platform-option > p span { color: #849095; font-size: 11px; font-weight: 400; }
.download-station-note { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 30px 0 0; padding-top: 23px; border-top: 1px solid #dfe5e4; color: #7c898e; font-size: 11px; }
.download-station-note span { width: 5px; height: 5px; box-shadow: none; }
.download-shell { width: min(1210px,100%); margin: 0 auto; }
.download-hero { display: flex; min-height: calc(100vh - 72px); align-items: center; padding: clamp(48px,6.2vw,86px) clamp(24px,4.2vw,72px); background: #fbfbfa; }
.download-split { display: grid; grid-template-columns: minmax(430px,.96fr) minmax(430px,1.04fr); align-items: center; gap: clamp(64px,8vw,118px); }
.download-copy h1, .download-copy h2 { margin: 0; font-size: clamp(42px,4vw,58px); font-weight: 500; letter-spacing: -.072em; line-height: 1.1; text-wrap: balance; }
.download-copy h2 { font-size: clamp(42px,4.5vw,64px); }
.download-lead { max-width: 620px; margin: 27px 0 0; color: #61666b; font-size: 17px; line-height: 1.82; }

.download-showcase { position: relative; min-height: 610px; overflow: hidden; border-radius: 32px; isolation: isolate; }
.download-showcase::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.21) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.21) 1px,transparent 1px); background-size: 26px 26px; content: ""; opacity: .38; mask-image: linear-gradient(to bottom,black,transparent 88%); }
.download-showcase-primary { background: radial-gradient(circle at 74% 10%,rgba(255,255,255,.62),transparent 26%),radial-gradient(circle at 8% 90%,rgba(49,170,195,.38),transparent 35%),linear-gradient(145deg,#7189e9 0%,#7ebde1 48%,#dceaf2 100%); box-shadow: 0 34px 88px rgba(60,105,157,.18); }
.download-showcase-secondary { background: radial-gradient(circle at 16% 5%,rgba(255,255,255,.78),transparent 29%),radial-gradient(circle at 85% 85%,rgba(47,174,181,.24),transparent 34%),linear-gradient(145deg,#e7edf7 0%,#c9e2ee 53%,#aee1d5 100%); }
.download-scene { margin: 0; background: #dbe6ec; box-shadow: 0 34px 88px rgba(47,74,95,.2); }
.download-scene::before { display: none; }
.download-scene::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg,rgba(15,30,40,.02) 42%,rgba(11,28,40,.62) 100%); content: ""; pointer-events: none; }
.download-scene > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 53%; transition: transform 1.1s cubic-bezier(.16,1,.3,1); }
.download-scene:hover > img { transform: scale(1.025); }
.download-scene-caption { position: absolute; z-index: 3; right: 25px; bottom: 25px; left: 25px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; padding: 16px 17px; border: 1px solid rgba(255,255,255,.25); border-radius: 18px; color: white; background: rgba(16,31,42,.4); backdrop-filter: blur(16px); }
.download-scene-caption > span { display: inline-flex; align-items: center; min-height: 31px; padding: 0 11px; border-radius: 99px; color: #d9fff7; background: rgba(32,184,156,.22); font-size: 10px; white-space: nowrap; }
.download-scene-caption strong, .download-scene-caption small { display: block; }
.download-scene-caption strong { font-size: 14px; font-weight: 600; }
.download-scene-caption small { margin-top: 5px; color: rgba(255,255,255,.68); font-size: 9px; }
.download-scene-status { position: absolute; z-index: 3; top: 22px; left: 22px; display: flex; min-height: 32px; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid rgba(255,255,255,.43); border-radius: 99px; color: #23333f; background: rgba(255,255,255,.78); backdrop-filter: blur(12px); font-size: 10px; font-weight: 600; }
.download-scene-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 5px rgba(32,184,156,.12); }
.download-workflow-visual { min-height: 590px; border: 1px solid rgba(56,124,183,.12); background: #eef6fb; box-shadow: 0 34px 88px rgba(47,98,144,.16); }
.download-workflow-visual::after { background: linear-gradient(180deg,transparent 66%,rgba(224,241,248,.9) 100%); }
.download-workflow-visual > img { object-position: center; }
.download-workflow-caption { position: absolute; z-index: 3; right: 21px; bottom: 20px; left: 21px; display: flex; min-height: 43px; align-items: center; justify-content: center; gap: 9px; padding: 8px 12px; border: 1px solid rgba(65,129,176,.13); border-radius: 999px; color: #547083; background: rgba(255,255,255,.82); box-shadow: 0 12px 35px rgba(41,90,126,.1); backdrop-filter: blur(14px); font-family: "DM Mono",monospace; font-size: 9px; white-space: nowrap; }
.download-workflow-caption i { width: 19px; height: 1px; background: linear-gradient(90deg,#8bbcff,#62d1cc); }
.download-workflow-caption span:last-child { color: #168d81; }
.download-orbit { position: absolute; z-index: -1; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; }
.download-orbit-one { top: -60px; right: -130px; width: 390px; height: 390px; }
.download-orbit-two { bottom: -170px; left: -170px; width: 470px; height: 470px; }

.download-phone { position: absolute; z-index: 2; overflow: hidden; border: 8px solid rgba(24,29,36,.94); border-radius: 42px; color: #182331; background: #f6f8fb; box-shadow: 0 35px 75px rgba(25,50,87,.28),inset 0 0 0 1px rgba(255,255,255,.7); }
.download-phone::before { position: absolute; z-index: 5; top: 8px; left: 50%; width: 82px; height: 20px; border-radius: 999px; background: #171b20; content: ""; transform: translateX(-50%); }
.download-phone-main { bottom: -36px; left: 50%; width: 310px; height: 574px; transform: translateX(-50%); }
.download-phone-detail { bottom: -31px; left: 50%; width: 330px; height: 590px; transform: translateX(-50%); }
.download-phone-top { position: relative; z-index: 4; display: flex; height: 39px; align-items: center; justify-content: space-between; padding: 8px 22px 0; color: #20252c; font-family: "DM Mono",monospace; font-size: 9px; font-weight: 600; }
.download-phone-top i { position: absolute; right: 34px; width: 12px; height: 7px; border: 1px solid #20252c; border-radius: 2px; }
.download-phone-top b { width: 4px; height: 4px; margin-left: auto; margin-right: 18px; border-radius: 50%; background: #20252c; box-shadow: -7px 0 0 #20252c,-12px 1px 0 -1px #20252c; }
.download-appbar, .download-detail-bar { display: grid; height: 52px; grid-template-columns: 36px 1fr 36px; align-items: center; padding: 0 16px; border-bottom: 1px solid #e6eaf0; background: rgba(255,255,255,.88); }
.download-appbar > strong, .download-detail-bar > strong { justify-self: center; font-size: 14px; font-weight: 600; }
.download-mini-mark, .download-avatar { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 10px; color: white; background: linear-gradient(135deg,var(--blue),var(--teal)); font-size: 11px; }
.download-avatar { justify-self: end; border-radius: 50%; font-family: "DM Mono",monospace; font-size: 8px; }
.download-mobile-body { padding: 17px 15px 25px; }
.download-mobile-kicker { margin: 0 0 10px; color: #79899b; font-family: "DM Mono",monospace; font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.download-task-card { padding: 17px; border: 1px solid #dce7f2; border-radius: 18px; background: white; box-shadow: 0 14px 30px rgba(50,82,122,.08); }
.download-task-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.download-task-head span { font-size: 15px; font-weight: 650; }
.download-task-head em, .download-detail-summary > span { padding: 5px 7px; border-radius: 999px; color: #149a7f; background: #e4f7f2; font-size: 8px; font-style: normal; white-space: nowrap; }
.download-task-card > p { margin: 8px 0 13px; color: #64768b; font-size: 10px; }
.download-address { display: flex; align-items: center; gap: 6px; padding: 10px; border-radius: 10px; color: #536a81; background: #f3f7fb; font-size: 9px; }
.download-address > span:first-child { color: #2790de; font-size: 15px; }
.download-task-progress { height: 4px; margin-top: 17px; overflow: hidden; border-radius: 99px; background: #e8edf2; }
.download-task-progress i { display: block; width: 57%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--blue),var(--teal)); animation: download-progress 3.8s ease-in-out infinite alternate; }
.download-task-meta { display: flex; justify-content: space-between; margin-top: 9px; color: #7d8c9b; font-size: 8px; }
.download-task-meta span:last-child { color: #297ed7; font-weight: 600; }
.download-next-label { margin-top: 21px; }
.download-next-card { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 13px; border: 1px solid #e2e8ef; border-radius: 14px; background: rgba(255,255,255,.84); }
.download-next-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; color: #277fdc; background: #eaf3fd; }
.download-next-card strong, .download-next-card small { display: block; }
.download-next-card strong { font-size: 10px; }
.download-next-card small { margin-top: 4px; color: #8a97a5; font-size: 8px; }
.download-next-card b { color: #8a97a5; font-size: 8px; font-weight: 500; }
.download-home-indicator { position: absolute; z-index: 5; bottom: 6px; left: 50%; width: 92px; height: 4px; border-radius: 99px; background: #1d2228; transform: translateX(-50%); }

.download-float-card { position: absolute; z-index: 3; display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 10px; min-width: 210px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.58); border-radius: 16px; background: rgba(255,255,255,.82); box-shadow: 0 20px 45px rgba(27,64,108,.18); backdrop-filter: blur(14px); animation: download-float 5s ease-in-out infinite; }
.download-float-card strong, .download-float-card small { display: block; }
.download-float-card strong { font-size: 10px; }
.download-float-card small { margin-top: 4px; color: #778594; font-size: 8px; }
.download-float-top { top: 116px; right: 22px; }
.download-float-bottom { bottom: 76px; left: 20px; animation-delay: -2.5s; }
.download-live-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 6px rgba(32,184,156,.12); animation: download-pulse 2.2s ease-out infinite; }
.download-check { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: white; background: linear-gradient(135deg,var(--blue),var(--teal)); font-size: 12px; }

.download-platforms { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; max-width: 580px; margin-top: 34px; }
.download-platform { display: grid; min-height: 74px; grid-template-columns: 38px 1fr auto; align-items: center; gap: 11px; padding: 12px 13px; border: 1px solid #dedfdf; border-radius: 16px; background: rgba(255,255,255,.78); scroll-margin-top: 110px; }
.download-platform-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; color: white; background: #171717; }
.download-platform-icon svg { width: 22px; height: 22px; fill: currentColor; }
/* Apple's mark occupies less of its viewBox than Android's; increase only its vector mark for equal optical weight. */
#apple .download-platform-icon svg { width: 26px; height: 26px; shape-rendering: geometricPrecision; transform: translateY(1px); }
.download-platform small, .download-platform strong { display: block; }
.download-platform small { margin-bottom: 2px; color: #85898d; font-size: 9px; }
.download-platform strong { font-size: 13px; font-weight: 600; }
.download-platform em { padding: 5px 7px; border-radius: 999px; color: #6d7378; background: #eff0ef; font-size: 8px; font-style: normal; white-space: nowrap; }
.download-qr-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; max-width: 610px; margin-top: 34px; }
.download-qr-card { padding: 14px; border: 1px solid #dedfdf; border-radius: 19px; background: rgba(255,255,255,.78); scroll-margin-top: 110px; }
.download-qr-head { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 11px; padding-bottom: 13px; border-bottom: 1px solid #e7e8e7; }
.download-qr-head small, .download-qr-head strong { display: block; }
.download-qr-head small { margin-bottom: 2px; color: #85898d; font-size: 9px; }
.download-qr-head strong { font-size: 13px; font-weight: 600; }
.download-qr-body { display: grid; grid-template-columns: 92px minmax(0,1fr); align-items: center; gap: 13px; padding-top: 14px; }
.download-qr-placeholder { position: relative; display: grid; width: 92px; height: 92px; place-items: center; border-radius: 14px; background: #f1f4f4; }
.download-qr-code { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: contain; }
.download-qr-copy strong { display: block; font-size: 11px; line-height: 1.45; }
.download-qr-copy p { margin: 5px 0 9px; color: #83898e; font-size: 9px; line-height: 1.45; }
.download-qr-copy em { display: inline-flex; padding: 5px 7px; border-radius: 999px; color: #6f787d; background: #eff1f1; font-size: 8px; font-style: normal; white-space: nowrap; }
.download-notify-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 23px; padding-bottom: 3px; border-bottom: 1px solid #202224; font-size: 14px; font-weight: 600; }
.download-notify-link span { font-size: 16px; transition: transform .2s ease; }
.download-notify-link:hover span { transform: translate(2px,-2px); }
.download-release-note { display: flex; align-items: center; gap: 9px; margin: 23px 0 0; color: #8a8e92; font-size: 11px; }
.download-release-note span { width: 6px; height: 6px; border-radius: 50%; background: linear-gradient(135deg,var(--blue),var(--teal)); }

.download-flow-section { padding: clamp(105px,11vw,155px) clamp(24px,4.2vw,72px); border-top: 1px solid #e4e5e4; background: #f7f7f5; }
.download-split-reverse { grid-template-columns: minmax(420px,1fr) minmax(430px,.96fr); }
.download-step-list { display: grid; gap: 0; max-width: 600px; margin: 42px 0 0; padding: 0; border-top: 1px solid #d9dcdd; list-style: none; }
.download-step-list li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 21px 0; border-bottom: 1px solid #d9dcdd; }
.download-step-list > li > span { padding-top: 2px; color: #7c8389; font-family: "DM Mono",monospace; font-size: 11px; }
.download-step-list strong, .download-step-list small { display: block; }
.download-step-list strong { font-size: 16px; font-weight: 600; }
.download-step-list small { margin-top: 7px; color: #747a80; font-size: 12px; line-height: 1.55; }

.download-detail-bar { grid-template-columns: 30px 1fr 30px; }
.download-detail-bar > span { font-size: 21px; }
.download-detail-bar > i { justify-self: end; color: #657485; font-size: 9px; font-style: normal; letter-spacing: 1px; }
.download-detail-body { padding: 14px; }
.download-detail-summary { position: relative; padding: 15px; border: 1px solid #e0e8f0; border-radius: 15px; background: white; }
.download-detail-summary > div > small { color: #7f8d9b; font-size: 8px; }
.download-detail-summary h3 { margin: 4px 0 0; font-size: 13px; }
.download-detail-summary > span { position: absolute; top: 14px; right: 13px; }
.download-detail-summary > p { margin: 14px 0 0; color: #65809a; font-size: 9px; }
.download-proof-head { display: flex; justify-content: space-between; margin: 17px 1px 9px; font-size: 9px; }
.download-proof-head span { color: #287fdc; font-family: "DM Mono",monospace; }
.download-proof-row { position: relative; display: grid; min-height: 63px; grid-template-columns: 34px 1fr auto; align-items: center; gap: 9px; margin-bottom: 8px; padding: 9px 10px; overflow: hidden; border: 1px solid #e0e8f1; border-radius: 13px; background: rgba(255,255,255,.9); }
.download-proof-row > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 10px; color: #178d79; background: #e7f7f2; font-size: 12px; }
.download-proof-row div strong, .download-proof-row div small { display: block; }
.download-proof-row div strong { font-size: 9px; }
.download-proof-row div small { margin-top: 4px; color: #8b97a4; font-size: 7px; }
.download-proof-row em { color: #178f79; font-size: 7px; font-style: normal; }
.download-proof-row.is-active > span { color: #287fdc; background: #eaf3fd; }
.download-proof-row.is-active > em { color: #287fdc; }
.download-scan-line { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: linear-gradient(90deg,transparent,var(--blue),var(--teal),transparent); animation: download-scan 2.8s ease-in-out infinite; }
.download-media-strip { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.download-media-strip > div { position: relative; height: 65px; overflow: hidden; border: 1px solid rgba(255,255,255,.7); border-radius: 12px; background: linear-gradient(145deg,#8a9ca9,#e9ecec); }
.download-media-strip > div:last-child { background: linear-gradient(145deg,#75bbca,#e8f5f0); }
.download-media-strip span { position: absolute; z-index: 2; bottom: 6px; left: 7px; color: white; font-family: "DM Mono",monospace; font-size: 7px; }
.download-media-strip i { position: absolute; inset: 8px; border: 1px solid rgba(255,255,255,.7); border-radius: 7px; }
.download-submit-state { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding: 9px 11px; border-radius: 10px; color: #7b8997; background: #edf3f8; font-size: 8px; }
.download-submit-state .download-live-dot { width: 5px; height: 5px; box-shadow: 0 0 0 4px rgba(32,184,156,.1); }
.download-ai-review { position: absolute; z-index: 4; right: 21px; bottom: 58px; display: grid; min-width: 220px; grid-template-columns: 31px 1fr auto; align-items: center; gap: 10px; padding: 13px; border: 1px solid rgba(255,255,255,.74); border-radius: 16px; background: rgba(255,255,255,.87); box-shadow: 0 20px 45px rgba(33,77,111,.17); backdrop-filter: blur(13px); }
.download-ai-review > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 10px; color: white; background: linear-gradient(135deg,var(--blue),var(--teal)); font-size: 11px; }
.download-ai-review small, .download-ai-review strong { display: block; }
.download-ai-review small { color: #778899; font-size: 7px; }
.download-ai-review strong { margin-top: 3px; font-size: 9px; }
.download-ai-review em { color: #2780da; font-family: "DM Mono",monospace; font-size: 8px; font-style: normal; }

.download-closing { padding: clamp(95px,12vw,160px) clamp(24px,4.2vw,72px); color: white; background: radial-gradient(circle at 86% 12%,rgba(32,184,156,.28),transparent 28%),radial-gradient(circle at 12% 95%,rgba(40,127,227,.3),transparent 32%),#13212c; }
.download-closing-inner { text-align: center; }
.download-closing p { margin: 0 0 19px; color: #8eb5d1; font-family: "DM Mono",monospace; font-size: 11px; letter-spacing: .08em; }
.download-closing h2 { margin: 0; font-size: clamp(42px,5vw,70px); font-weight: 500; letter-spacing: -.07em; }
.download-closing span { display: block; max-width: 600px; margin: 24px auto 0; color: #bdccd6; font-size: 15px; line-height: 1.8; }
.download-closing .button-primary { width: fit-content; margin: 31px auto 0; color: #17232d; background: white; }

@keyframes download-progress { from { width: 43%; } to { width: 72%; } }
@keyframes download-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes download-pulse { 0% { box-shadow: 0 0 0 0 rgba(32,184,156,.32); } 65%,100% { box-shadow: 0 0 0 8px rgba(32,184,156,0); } }
@keyframes download-scan { 0%,100% { opacity: .25; transform: translateX(-45%); } 50% { opacity: 1; transform: translateX(45%); } }

@media (max-width: 1040px) {
  .download-stage { min-height: auto; }
  .download-stage-shell { grid-template-columns: 1fr; gap: 56px; }
  .download-stage-intro { max-width: 680px; }
  .download-stage h1 { max-width: 650px; }
  .download-stage-lead { max-width: 520px; }
  .download-station { width: min(680px,100%); }
  .download-split, .download-split-reverse { grid-template-columns: 1fr; gap: 68px; }
  .download-copy { max-width: 780px; }
  .download-showcase { width: min(680px,100%); min-height: 600px; }
  .download-hero .download-copy { grid-row: 1; }
  .download-hero .download-showcase { grid-row: 2; }
  .download-flow-section .download-showcase { justify-self: end; }
}

@media (max-width: 600px) {
  .download-stage { padding: 72px 18px 80px; }
  .download-stage-shell { gap: 48px; }
  .download-stage-kicker { font-size: 10px; }
  .download-stage h1 { font-size: clamp(42px,11.5vw,52px); line-height: 1.1; }
  .download-stage-lead { margin-top: 22px; font-size: 15px; }
  .download-stage-values { flex-wrap: wrap; gap: 10px 0; margin-top: 30px; }
  .download-stage-values li { padding: 0 12px; font-size: 13px; }
  .download-station { padding: 24px 20px; border-radius: 22px; }
  .download-station-head { align-items: start; padding-bottom: 20px; }
  .download-station-head > span { padding-top: 4px; font-size: 8px; }
  .download-station-options { margin-top: 23px; }
  .download-platform-option { padding-right: 16px; }
  .download-platform-option + .download-platform-option { padding-left: 16px; }
  .download-platform-option header { grid-template-columns: 34px minmax(0,1fr); gap: 8px; }
  .download-platform-option .download-platform-icon { width: 34px; height: 34px; border-radius: 10px; }
  .download-platform-option small { font-size: 9px; }
  .download-platform-option strong { font-size: 12px; }
  .download-station-qr { width: min(100%,142px); margin: 21px auto 16px; }
  .download-platform-option > p { font-size: 12px; }
  .download-platform-option > p span { font-size: 10px; }
  .download-station-note { margin-top: 24px; padding-top: 19px; font-size: 10px; text-align: center; }
  .download-simple-hero { min-height: auto; padding: 70px 18px 82px; }
  .download-simple-heading h1 { max-width: 440px; margin-right: auto; margin-left: auto; font-size: clamp(34px,9.2vw,40px); line-height: 1.12; }
  .download-simple-heading > p:last-child { margin-top: 20px; font-size: 14px; }
  .download-simple-shell .download-qr-grid { margin-top: 36px; }
  .download-simple-shell .download-qr-card { padding: 16px; }
  .download-simple-shell .download-qr-body { grid-template-columns: 104px minmax(0,1fr); gap: 15px; }
  .download-simple-shell .download-qr-placeholder { width: 104px; height: 104px; }
  .download-hero { min-height: auto; padding: 65px 18px 82px; }
  .download-flow-section { padding: 88px 18px; }
  .download-split, .download-split-reverse { gap: 52px; }
  .download-copy h1 { font-size: clamp(40px,12.2vw,53px); }
  .download-copy h2 { font-size: clamp(38px,11.5vw,51px); }
  .download-lead { font-size: 15px; }
  .download-platforms { grid-template-columns: 1fr; }
  .download-qr-grid { grid-template-columns: 1fr; }
  .download-showcase { min-height: 510px; border-radius: 24px; }
  .download-workflow-visual { min-height: 480px; }
  .download-workflow-caption { right: 10px; bottom: 10px; left: 10px; gap: 5px; padding: 7px 8px; font-size: 8px; }
  .download-workflow-caption i { width: 10px; }
  .download-scene-caption { right: 14px; bottom: 14px; left: 14px; padding: 13px; }
  .download-scene-status { top: 14px; left: 14px; }
  .download-phone-main { width: 270px; height: 520px; }
  .download-phone-detail { width: 286px; height: 535px; }
  .download-float-card { min-width: 184px; padding: 10px; }
  .download-float-top { top: 84px; right: 8px; }
  .download-float-bottom { bottom: 40px; left: 8px; }
  .download-ai-review { right: 8px; bottom: 35px; min-width: 200px; }
  .download-platform { min-height: 70px; }
  .download-step-list { margin-top: 32px; }
  .download-closing { padding: 90px 18px; }
  .download-closing h2 { max-width: 330px; margin-right: auto; margin-left: auto; font-size: clamp(36px,10.5vw,43px); line-height: 1.1; overflow-wrap: anywhere; }
  .download-closing span { max-width: 320px; font-size: 13px; overflow-wrap: anywhere; }
}

@media (max-width: 420px) {
  .download-station-head { display: block; }
  .download-station-head > span { display: block; margin-top: 10px; }
  .download-station-options { grid-template-columns: 1fr; }
  .download-platform-option, .download-platform-option + .download-platform-option { display: grid; grid-template-columns: 128px minmax(0,1fr); grid-template-rows: auto 1fr; column-gap: 18px; padding: 0; }
  .download-platform-option + .download-platform-option { margin-top: 24px; padding-top: 24px; border-top: 1px solid #dfe5e4; border-left: 0; }
  .download-platform-option header { grid-column: 1 / -1; }
  .download-station-qr { grid-row: 2; width: 128px; margin: 20px 0 0; }
  .download-platform-option > p { align-self: center; margin-top: 20px; text-align: left; }
}

@media (max-width: 1040px) {
  .partners-hero .hero-shell { grid-template-columns: 1fr; }
  .service-partner-hero .hero-shell { grid-template-columns: 1fr; }
  .product-partner-hero .hero-shell { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .partners-hero .hero-shell, .service-partner-hero .hero-shell, .product-partner-hero .hero-shell { width: 100%; max-width: 100%; gap: 48px; }
  .partners-hero .hero-copy h1, .service-partner-hero .hero-copy h1, .product-partner-hero .hero-copy h1 { font-size: clamp(40px,11vw,53px); }
  .partner-stage, .service-stage, .product-stage { width: calc(100vw - 36px); max-width: calc(100vw - 36px); }
  .service-stage { min-height: 430px; padding: 27px 23px; border-radius: 22px; }
  .service-stage-head { font-size: 10px; }
  .service-stage-main { margin-bottom: 23px; font-size: clamp(33px,10.2vw,40px); }
  .service-stage-copy { max-width: 210px; margin-bottom: 30px; font-size: 14px; }
  .service-stage-foot { gap: 8px; font-size: 11px; }
  .product-stage { min-height: 430px; padding: 27px 23px; border-radius: 22px; }
  .product-stage-head { font-size: 10px; }
  .product-stage-main { margin-bottom: 23px; font-size: clamp(33px,10.2vw,40px); }
  .product-stage-copy { max-width: 210px; margin-bottom: 30px; font-size: 14px; }
  .product-stage-foot { gap: 8px; font-size: 11px; }
}

/* News archive and detail pages. */
.news-archive-hero { padding: clamp(96px,12vw,164px) clamp(24px,4.2vw,72px) clamp(74px,9vw,122px); border-bottom: 1px solid var(--line); background: #fbfbfa; }
.news-archive-hero-inner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 42px; }
.news-archive-hero .eyebrow { justify-content: flex-start; margin-bottom: 20px; }
.news-archive-hero h1 { max-width: 720px; margin: 0; font-size: clamp(46px,5vw,68px); font-weight: 500; line-height: 1.08; }
.news-archive-count { display: flex; min-width: 198px; align-items: flex-end; gap: 16px; padding: 0 0 7px 20px; border-left: 1px solid #cfd3d0; }
.news-archive-count span { color: var(--blue); font-family: "DM Mono", monospace; font-size: 48px; line-height: .9; }
.news-archive-count p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.news-archive-section { padding: clamp(82px,10vw,142px) clamp(24px,4.2vw,72px); background: #f4f5f3; }
.news-archive-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(270px,.42fr); align-items: end; gap: clamp(42px,9vw,154px); }
.news-archive-heading .section-kicker { margin-bottom: 20px; }
.news-archive-heading h2, .news-more-heading h2 { margin: 0; font-size: clamp(38px,4.2vw,60px); font-weight: 500; line-height: 1.1; }
.news-archive-heading > p { max-width: 392px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
.news-archive-list { margin-top: clamp(56px,7vw,90px); border-top: 1px solid #cbd0cc; }
.news-archive-item { border-bottom: 1px solid #cbd0cc; }
.news-archive-link { display: grid; grid-template-columns: minmax(0,1fr) minmax(290px,.62fr); align-items: stretch; gap: clamp(40px,7vw,130px); padding: clamp(30px,4.1vw,58px) 0; }
.news-archive-link > * { min-width: 0; }
.news-archive-copy { display: flex; min-height: 262px; flex-direction: column; align-items: flex-start; }
.news-archive-meta, .news-detail-meta { display: flex; flex-wrap: wrap; gap: 10px; color: #6d7779; font-family: "DM Mono", monospace; font-size: 11px; line-height: 1.4; }
.news-archive-meta span + span, .news-detail-meta span + span { padding-left: 10px; border-left: 1px solid #c8cfcc; }
.news-archive-meta b { padding: 2px 7px; border: 1px solid rgba(40,127,227,.34); border-radius: 999px; color: #287fe3; font-family: "Noto Sans SC", sans-serif; font-size: 10px; font-weight: 500; line-height: 1.2; }
.news-archive-copy h2 { max-width: 670px; margin: 27px 0 0; color: var(--ink); font-size: clamp(25px,2.25vw,34px); font-weight: 500; line-height: 1.28; overflow-wrap: anywhere; transition: color .2s ease; }
.news-archive-copy p { max-width: 610px; margin: 17px 0 0; color: #606a6c; font-size: 15px; line-height: 1.8; }
.news-archive-action { display: inline-flex; align-items: center; gap: 12px; margin-top: auto; color: #2b3332; font-size: 14px; font-weight: 600; }
.news-archive-action i { font-family: Arial, sans-serif; font-size: 21px; font-style: normal; line-height: 1; transition: transform .2s ease; }
.news-archive-visual { position: relative; min-height: 262px; margin: 0; overflow: hidden; border: 1px solid #d7dedf; background: #edf2f3; }
.news-archive-visual::after { position: absolute; inset: 0; border: 11px solid rgba(255,255,255,.36); content: ""; pointer-events: none; }
.news-archive-visual img { display: block; width: 100%; height: 100%; min-height: 262px; object-fit: cover; object-position: var(--news-cover-position); transform: scale(1.025); transition: transform .55s cubic-bezier(.16,1,.3,1); }
.news-archive-visual figcaption { position: absolute; z-index: 1; right: 17px; bottom: 14px; padding: 5px 8px; color: #57646b; background: rgba(255,255,255,.82); font-family: "DM Mono", monospace; font-size: 9px; }
.news-archive-link:hover .news-archive-copy h2 { color: var(--blue); }
.news-archive-link:hover .news-archive-action i { transform: translateX(4px); }
.news-archive-link:hover .news-archive-visual img { transform: scale(1.075); }

.news-article-hero { padding: clamp(68px,9vw,118px) clamp(24px,4.2vw,72px) clamp(54px,7vw,94px); border-bottom: 1px solid var(--line); background: #fbfbfa; }
.news-detail-shell { width: min(960px,100%); margin: 0 auto; }
.news-back-link { display: inline-flex; align-items: center; gap: 10px; color: #5f696b; font-size: 14px; }
.news-back-link span { font-family: Arial, sans-serif; font-size: 20px; line-height: 1; transition: transform .2s ease; }
.news-back-link:hover { color: var(--blue); }
.news-back-link:hover span { transform: translateX(-3px); }
.news-detail-meta { margin-top: clamp(52px,7vw,86px); }
.news-article-hero h1 { max-width: 860px; margin: 20px 0 0; font-size: clamp(40px,4.7vw,62px); font-weight: 500; line-height: 1.14; overflow-wrap: anywhere; }
.news-article-lead { max-width: 720px; margin: 28px 0 0; color: #596466; font-size: 18px; line-height: 1.8; }
.news-article-cover { position: relative; width: min(1200px,calc(100% - 48px)); height: clamp(275px,45vw,560px); margin: 0 auto; overflow: hidden; border: 1px solid #d9e0e2; background: #edf2f3; }
.news-article-cover img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--news-cover-position); }
.news-article-cover figcaption { position: absolute; right: 20px; bottom: 18px; padding: 7px 10px; color: #4f5d62; background: rgba(255,255,255,.84); font-family: "DM Mono", monospace; font-size: 10px; }
.news-article-body { padding: clamp(68px,9vw,120px) clamp(24px,4.2vw,72px) clamp(88px,11vw,150px); background: #fff; }
.news-article-layout { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: clamp(42px,8vw,130px); }
.news-article-aside { display: grid; align-content: start; gap: 10px; padding-top: 7px; color: #727c7f; font-family: "DM Mono", monospace; font-size: 11px; line-height: 1.55; }
.news-article-content { max-width: 650px; }
.news-article-content p { margin: 0 0 25px; color: #313a3b; font-size: 17px; line-height: 2; }
.news-original-panel { margin-top: 48px; padding: 28px 0 0; border-top: 1px solid #d9ddda; }
.news-original-panel p { max-width: 530px; margin: 0; color: #697274; font-size: 14px; line-height: 1.8; }
.news-original-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 11px 15px 11px 17px; border-radius: 999px; color: #fff; background: var(--ink); font-size: 14px; font-weight: 600; transition: background .2s ease; }
.news-original-link span { font-family: Arial, sans-serif; font-size: 17px; }
.news-original-link:hover { background: var(--blue); }
.news-more-section { padding: clamp(72px,9vw,116px) clamp(24px,4.2vw,72px); border-top: 1px solid #dfe3e1; background: #f4f5f3; }
.news-more-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.news-more-heading .section-kicker { margin: 0 0 18px; }
.news-more-list { margin-top: 50px; border-top: 1px solid #cbd0cc; }
.news-more-list a { display: grid; grid-template-columns: 100px minmax(0,1fr) 28px; gap: 26px; align-items: center; padding: 22px 0; border-bottom: 1px solid #cbd0cc; }
.news-more-list span { color: #6e7979; font-family: "DM Mono", monospace; font-size: 11px; }
.news-more-list strong { font-size: 17px; font-weight: 500; line-height: 1.55; transition: color .2s ease; }
.news-more-list i { color: #4a5555; font-family: Arial, sans-serif; font-size: 21px; font-style: normal; transition: transform .2s ease; }
.news-more-list a:hover strong { color: var(--blue); }
.news-more-list a:hover i { transform: translateX(4px); }

@media (max-width: 780px) {
  .news-archive-hero { padding: 82px 18px 73px; }
  .news-archive-hero-inner { grid-template-columns: 1fr; gap: 48px; }
  .news-archive-hero h1 { font-size: clamp(42px,12vw,54px); }
  .news-archive-count { min-width: 0; width: fit-content; padding-left: 15px; }
  .news-archive-count span { font-size: 40px; }
  .news-archive-section { padding: 76px 18px; }
  .news-archive-heading { grid-template-columns: 1fr; gap: 25px; }
  .news-archive-heading h2, .news-more-heading h2 { font-size: clamp(34px,10vw,45px); }
  .news-archive-heading > p { font-size: 15px; }
  .news-archive-list { margin-top: 50px; }
  .news-archive-link { grid-template-columns: 1fr; gap: 23px; padding: 31px 0; }
  .news-archive-copy { min-height: 0; }
  .news-archive-copy h2 { margin-top: 20px; font-size: 25px; }
  .news-archive-copy p { margin-top: 13px; font-size: 14px; }
  .news-archive-action { margin-top: 24px; }
  .news-archive-visual, .news-archive-visual img { min-height: 214px; }
  .news-article-hero { padding: 56px 18px 57px; }
  .news-detail-meta { margin-top: 50px; }
  .news-article-hero h1 { font-size: clamp(36px,10.5vw,49px); line-height: 1.16; }
  .news-article-lead { margin-top: 22px; font-size: 16px; }
  .news-article-cover { width: calc(100% - 36px); height: 245px; }
  .news-article-cover figcaption { right: 12px; bottom: 11px; font-size: 8px; }
  .news-article-body { padding: 67px 18px 85px; }
  .news-article-layout { grid-template-columns: 1fr; gap: 28px; }
  .news-article-aside { grid-template-columns: repeat(2,max-content); gap: 16px; padding: 0 0 20px; border-bottom: 1px solid #d9ddda; }
  .news-article-content p { margin-bottom: 21px; font-size: 16px; line-height: 1.9; }
  .news-original-panel { margin-top: 36px; }
  .news-more-section { padding: 70px 18px; }
  .news-more-list { margin-top: 42px; }
  .news-more-list a { grid-template-columns: 1fr 24px; gap: 8px 14px; }
  .news-more-list span { grid-column: 1 / -1; }
  .news-more-list strong { font-size: 16px; }
}

@media (max-width: 600px) {
  .partners-hero { min-height: 0; }
  .partners-hero .hero-shell { gap: 48px; }
  .partners-hero .hero-copy h1 { max-width: 340px; font-size: clamp(40px,11vw,53px); line-height: 1.1; }
  .partners-hero .hero-lead { max-width: 350px; }
  .partner-stage { min-height: 430px; padding: 27px 23px; border-radius: 22px; }
  .partner-stage-title { gap: 6px; font-size: clamp(38px,11.5vw,44px); }
  .partner-stage-copy { max-width: 224px; margin-left: 21%; font-size: 14px; }
  .partner-stage-meta, .partner-stage-foot { font-size: 10px; }
  .service-partner-hero { min-height: 0; }
  .service-partner-hero .hero-shell { width: 100%; max-width: 100%; gap: 48px; }
  .service-stage { width: calc(100vw - 36px); max-width: calc(100vw - 36px); min-height: 430px; padding: 27px 23px; border-radius: 22px; }
  .service-stage-head { font-size: 10px; }
  .service-stage-main { margin-bottom: 23px; font-size: clamp(33px,10.2vw,40px); }
  .service-stage-copy { max-width: 210px; margin-bottom: 30px; font-size: 14px; }
  .service-stage-foot { gap: 8px; font-size: 11px; }
  .product-partner-hero { min-height: 0; }
  .product-partner-hero .hero-shell { width: 100%; max-width: 100%; gap: 48px; }
  .product-stage { width: calc(100vw - 36px); max-width: calc(100vw - 36px); min-height: 430px; padding: 27px 23px; border-radius: 22px; }
  .product-stage-head { font-size: 10px; }
  .product-stage-main { margin-bottom: 23px; font-size: clamp(33px,10.2vw,40px); }
  .product-stage-copy { max-width: 210px; margin-bottom: 30px; font-size: 14px; }
  .product-stage-foot { gap: 8px; font-size: 11px; }
}
