:root {
  --ink: #171820;
  --muted: #6e7180;
  --line: rgba(22, 24, 32, .12);
  --lime: #c9ff52;
  --violet: #7458ff;
  --cyan: #67e8f9;
  --paper: #f8f7f4;
}

html { scroll-behavior: smooth; background: var(--paper) !important; }
body.gosen-home { margin: 0; color: var(--ink); background: var(--paper); font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif; overflow-x: hidden; }
.gosen-home * { box-sizing: border-box; }
.gosen-home a { color: inherit; text-decoration: none; }
.site-shell { width: 100%; overflow: hidden; background: var(--paper); }

.gosen-header { position: absolute; z-index: 30; top: 0; left: 0; width: 100%; height: 6.5000rem; padding: 0 clamp(1.2500rem, 3.5vw, 3.7500rem); display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 0.8125rem; }
.brand-mark-logo { display: block; flex: 0 0 2.6250rem; width: 2.6250rem; height: 2.6250rem; overflow: hidden; border-radius: 0.2500rem; }
.brand-mark-logo img { display: block; width: 2.6250rem; height: 2.6250rem; max-width: 100%; object-fit: contain; mix-blend-mode: multiply; }
.brand-mark { width: 2.6250rem; height: 2.6250rem; position: relative; display: grid; place-items: center; transform: rotate(-8deg); }
.brand-mark:before { content: ""; position: absolute; inset: 0.1875rem; border: 0.1250rem solid currentColor; border-radius: 0.6875rem 0.9375rem 0.6250rem 1.0000rem; transform: rotate(8deg); }
.brand-mark i { position: absolute; display: block; width: 0.3750rem; height: 0.3750rem; border-radius: 50%; background: currentColor; }
.brand-mark i:nth-child(1) { left: 0.7500rem; top: 0.8125rem; }
.brand-mark i:nth-child(2) { right: 0.7500rem; top: 0.8125rem; }
.brand-mark i:nth-child(3) { width: 0.8125rem; height: 0.1250rem; bottom: 0.7500rem; border-radius: 0.1250rem; }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { font-size: 1.3750rem; letter-spacing: .16em; font-weight: 800; }
.brand-copy small { margin-top: 0.3750rem; font-size: 0.6250rem; letter-spacing: .42em; opacity: .62; }
.desktop-nav { display: flex; align-items: center; gap: clamp(1.5000rem, 3vw, 3.0000rem); font-size: 0.8750rem; font-weight: 600; }
.desktop-nav > a { position: relative; }
.desktop-nav > a:not(.nav-contact):after { content: ""; position: absolute; left: 0; bottom: -0.5000rem; width: 0; height: 0.0625rem; background: var(--ink); transition: width .3s; }
.desktop-nav > a:hover:after { width: 100%; }
.nav-contact { background: var(--ink); color: #fff !important; border-radius: 6.1875rem; padding: 0.6250rem 1.0000rem; transition: transform .25s, background .25s; }
.nav-contact:hover { transform: translateY(-0.1250rem); background: var(--violet); }
.nav-contact span { margin-left: 0.8750rem; }
.arrow-round { width: 1.5000rem; height: 1.5000rem; margin-left: 0.7500rem !important; display: inline-flex; flex: 0 0 1.5000rem; align-items: center; justify-content: center; border: 0.0625rem solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(255,255,255,.1); transition: transform .28s ease, background .28s ease; }
.arrow-round:before { content: "→"; display: block; font-size: 0.8750rem; line-height: 1; transform: rotate(-45deg); transform-origin: center; }
a:hover .arrow-round { transform: translate(0.1250rem, -0.1250rem); background: rgba(255,255,255,.2); }
.arrow-line { position: relative; display: inline-block; width: 1.1250rem; height: 1.1250rem; margin-left: 0.5000rem !important; vertical-align: middle; transition: transform .28s ease; }
.arrow-line:before { content: "→"; position: absolute; inset: 0; display: grid; place-items: center; font-size: 1.0000rem; line-height: 1; }
.arrow-diagonal:before { transform: rotate(-45deg); }
.arrow-down:before { transform: rotate(90deg); }
.arrow-up:before { transform: rotate(-90deg); }
a:hover .arrow-diagonal { transform: translate(0.1250rem, -0.1250rem); }
a:hover .arrow-down { transform: translateY(0.1875rem); }
a:hover .arrow-up { transform: translateY(-0.1875rem); }
.menu-button { display: none; width: 2.7500rem; height: 2.7500rem; padding: 0; border: 0; border-radius: 50%; background: var(--ink); }
.menu-button span { display: block; width: 1.1250rem; height: 0.0625rem; margin: 0.3125rem auto; background: #fff; }

.hero { position: relative; min-height: 52.5000rem; height: 100vh; max-height: 67.5000rem; padding: 8.5000rem clamp(1.2500rem, 4.5vw, 5.0000rem) 4.0000rem; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; isolation: isolate; background:
  radial-gradient(circle at 15% 10%, rgba(255, 176, 219, .7), transparent 29%),
  radial-gradient(circle at 80% 20%, rgba(103, 232, 249, .72), transparent 35%),
  radial-gradient(circle at 72% 82%, rgba(141, 118, 255, .32), transparent 28%),
  linear-gradient(135deg, #fff2f8 0%, #f2fbff 53%, #e5e9ff 100%);
}
.hero:after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .23; background-image: url("../img/bg-rep-04.png"); mix-blend-mode: multiply; pointer-events: none; }
.ambient { position: absolute; z-index: -1; border-radius: 50%; filter: blur(0.3750rem); animation: drift 9s ease-in-out infinite alternate; }
.ambient-one { width: 20.0000rem; height: 20.0000rem; left: 38%; top: 7%; background: rgba(255,255,255,.72); }
.ambient-two { width: 13.7500rem; height: 13.7500rem; right: 4%; bottom: 7%; background: rgba(255,148,213,.34); animation-delay: -4s; }
.grid-plane { position: absolute; z-index: -1; right: -4%; bottom: -24%; width: 68%; height: 70%; opacity: .24; background-image: linear-gradient(rgba(38,39,48,.35) 0.0625rem, transparent 0.0625rem), linear-gradient(90deg, rgba(38,39,48,.35) 0.0625rem, transparent 0.0625rem); background-size: 2.6250rem 2.6250rem; transform: perspective(37.5000rem) rotateX(66deg) rotateZ(-10deg); transform-origin: center; mask-image: linear-gradient(to top, #000 20%, transparent 80%); }
.hero-copy { position: relative; z-index: 3; padding-left: clamp(0.0000rem, 2vw, 1.7500rem); }
.eyebrow, .overline { display: flex; align-items: center; gap: 0.7500rem; font-size: 0.6875rem; font-weight: 800; letter-spacing: .24em; }
.eyebrow span { display: inline-block; width: 1.7500rem; height: 0.1250rem; background: var(--ink); }
.hero h1 { margin: 1.7500rem 0 1.6875rem; font-size: clamp(3.2500rem, 5vw, 5.5000rem); line-height: 1.05; letter-spacing: -.07em; font-weight: 750; }
.hero h1 span { color: transparent; -webkit-text-stroke: 0.0875rem var(--ink); }
.hero-intro { margin: 0; color: #42444e; font-size: clamp(1.0000rem, 1.2vw, 1.2500rem); line-height: 1.9; letter-spacing: .04em; }
.hero-intro b { color: var(--ink); font-weight: 700; }
.hero-actions { display: flex; align-items: center; gap: 2.1250rem; margin-top: 2.6250rem; }
.primary-button { display: inline-flex; align-items: center; justify-content: space-between; min-width: 10.2500rem; padding: 0.8750rem 1.0000rem; border-radius: 0.3125rem; background: var(--ink); color: #fff !important; font-size: 0.8750rem; font-weight: 700; box-shadow: 0 0.7500rem 1.8750rem rgba(24,25,32,.17); transition: transform .25s, background .25s; }
.primary-button:hover { transform: translateY(-0.1875rem); background: var(--violet); }
.text-link { font-size: 0.8125rem; font-weight: 700; border-bottom: 0.0625rem solid currentColor; padding: 0.3750rem 0; }
.text-link span { margin-left: 0.5000rem; }
.hero-meta { display: flex; gap: 3.1250rem; margin-top: 4.6250rem; }
.hero-meta div { display: flex; flex-direction: column; gap: 0.5000rem; }
.hero-meta small { color: #878994; font-size: 0.5625rem; letter-spacing: .2em; font-weight: 700; }
.hero-meta strong { font-size: 0.7500rem; letter-spacing: .05em; }

.code-stage { position: relative; z-index: 2; width: 100%; min-height: 37.5000rem; perspective: 75.0000rem; transform-style: preserve-3d; }
.code-window { position: absolute; left: 5%; top: 10%; width: min(42.5000rem, 95%); height: 29.0625rem; overflow: hidden; border: 0.0625rem solid rgba(255,255,255,.18); border-radius: 1.1250rem; color: #e8e9ff; background: linear-gradient(145deg, rgba(19,20,28,.96), rgba(32,29,53,.95)); box-shadow: 0 3.0000rem 5.6250rem rgba(32,24,70,.36), -1.1250rem 1.1250rem 2.8125rem rgba(71,211,255,.12), inset 0 0.0625rem rgba(255,255,255,.12); transform: rotateY(-11deg) rotateX(4deg) rotateZ(1.4deg); transform-style: preserve-3d; animation: terminal-float 6s ease-in-out infinite; }
.window-glow { position: absolute; inset: auto -5.0000rem -8.1250rem auto; width: 17.5000rem; height: 17.5000rem; background: #7155ff; border-radius: 50%; filter: blur(5.0000rem); opacity: .25; }
.window-bar { position: relative; height: 3.3750rem; padding: 0 1.1875rem; display: flex; align-items: center; border-bottom: 0.0625rem solid rgba(255,255,255,.08); background: rgba(255,255,255,.035); font: 0.6250rem/1 monospace; letter-spacing: .08em; color: #8f91a5; }
.window-bar > span { margin: auto; }
.window-bar b { color: #baff57; font-size: 0.5625rem; }
.window-dots { display: flex; gap: 0.4375rem; }
.window-dots i { width: 0.5000rem; height: 0.5000rem; border-radius: 50%; background: #ff6c7b; }
.window-dots i:nth-child(2) { background: #ffd15c; }
.window-dots i:nth-child(3) { background: #79df72; }
.code-body { height: 23.3750rem; display: flex; position: relative; overflow: hidden; font: 0.7500rem/1.75 "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
.code-body:before, .code-body:after { content: ""; position: absolute; z-index: 2; left: 0; right: 0; height: 3.2500rem; pointer-events: none; }
.code-body:before { top: 0; background: linear-gradient(#171722, transparent); }
.code-body:after { bottom: 0; background: linear-gradient(transparent, #191824); }
.line-numbers { width: 3.0000rem; flex: 0 0 3.0000rem; padding: 1.3750rem 0.7500rem 1.3750rem 0; color: #56586b; text-align: right; border-right: 0.0625rem solid rgba(255,255,255,.06); white-space: pre-line; }
.code-stream { flex: 1; margin: 0; padding: 1.3750rem 1.1250rem; overflow: hidden; color: #d9d9e7; white-space: pre; background: transparent; transform: translateZ(0.0625rem); }
.code-stream .kw { color: #ff79bd; }
.code-stream .fn { color: #9de1ff; }
.code-stream .str { color: #cbf875; }
.code-stream .num { color: #b69cff; }
.code-stream .cm { color: #666a7c; font-style: italic; }
.code-status { height: 2.3125rem; padding: 0 1.0625rem; display: flex; align-items: center; gap: 1.3750rem; color: #71748a; border-top: 0.0625rem solid rgba(255,255,255,.06); font: 0.5000rem/1 monospace; letter-spacing: .12em; }
.code-status span:first-child { margin-right: auto; color: #aeb0c4; }
.code-status i { display: inline-block; width: 0.3125rem; height: 0.3125rem; margin-right: 0.4375rem; border-radius: 50%; background: #a9f34c; box-shadow: 0 0 0.5000rem #a9f34c; animation: blink 1.2s infinite; }
.orbit { position: absolute; z-index: -1; border: 0.0625rem solid rgba(73,50,181,.24); border-radius: 50%; transform: rotateX(67deg) rotateZ(-13deg); }
.orbit-one { width: 41.8750rem; height: 19.3750rem; left: 0; top: 9.0625rem; }
.orbit-two { width: 31.8750rem; height: 14.3750rem; left: 5.0000rem; top: 11.4375rem; border-color: rgba(12,161,191,.24); }
.floating-tag { position: absolute; z-index: 4; padding: 0.5625rem 0.7500rem; border: 0.0625rem solid rgba(24,25,32,.2); background: rgba(255,255,255,.6); box-shadow: 0 0.5000rem 1.8750rem rgba(63,44,130,.1); backdrop-filter: blur(0.6250rem); font: 0.5625rem/1 monospace; letter-spacing: .13em; animation: tag-float 5s ease-in-out infinite; }
.tag-one { right: 0; top: 4.6875rem; transform: rotate(7deg); }
.tag-two { left: 2%; bottom: 4.0625rem; animation-delay: -2s; }
.floating-dot { position: absolute; border-radius: 50%; box-shadow: inset -0.5000rem -0.6250rem 0.9375rem rgba(34,20,100,.18), 0 0.7500rem 1.7500rem rgba(71,34,180,.18); animation: tag-float 4s ease-in-out infinite alternate; }
.dot-one { width: 2.3750rem; height: 2.3750rem; right: 1%; top: 13.7500rem; background: var(--lime); }
.dot-two { width: 1.2500rem; height: 1.2500rem; left: -2%; top: 5.0000rem; background: #ff85ce; animation-delay: -1s; }
.scroll-cue { position: absolute; left: clamp(1.7500rem, 6vw, 6.8750rem); bottom: 1.7500rem; display: flex; align-items: center; gap: 0.8125rem; font-size: 0.5000rem; letter-spacing: .2em; font-weight: 700; writing-mode: vertical-rl; }
.scroll-cue i { width: 0.0625rem; height: 2.3750rem; background: var(--ink); animation: scroll-line 2s infinite; }

.services { padding: 7.0000rem clamp(1.2500rem, 4.5vw, 5.5000rem) 7.5000rem; background: #f7f6f2; }
.section-heading { display: grid; grid-template-columns: .65fr 1.35fr .8fr; gap: 2.5000rem; align-items: end; max-width: 90.0000rem; margin: 0 auto 4.6875rem; }
.section-index { color: #888b96; font: 0.6875rem/1 monospace; }
.section-heading > div p { margin: 1.2500rem 0 0; font-size: 0.6250rem; letter-spacing: .22em; font-weight: 800; }
.section-heading h2, .method h2, .about h2, .contact h2 { margin: 0; font-size: clamp(2.5000rem, 4.3vw, 4.5000rem); line-height: 1.15; letter-spacing: -.055em; font-weight: 720; }
.section-heading h2 em, .method h2 em, .contact h2 em { font-style: normal; color: var(--violet); }
.section-lead { max-width: 19.3750rem; margin: 0; color: var(--muted); font-size: 0.8750rem; line-height: 1.9; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 24.3750rem; gap: 0.8750rem; max-width: 90.0000rem; margin: auto; }
.service-card { position: relative; min-width: 0; padding: 1.2500rem; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; border: 0.0625rem solid var(--line); border-radius: 0.5625rem; background: #fff; transition: transform .35s ease, box-shadow .35s ease; }
.service-card:hover { z-index: 2; transform: translateY(-0.5000rem); box-shadow: 0 1.5625rem 3.7500rem rgba(24,25,32,.12); }
.feature-card { grid-column: span 2; background: var(--lime); }
.ai-card { grid-column: span 2; background: linear-gradient(135deg, #eeeaff, #dffbff); }
.dark-card { color: #fff; background: #1b1b25; }
.card-top { display: flex; justify-content: space-between; position: relative; z-index: 2; font: 0.6250rem/1 monospace; }
.card-top i { font-style: normal; }
.arrow-card { position: relative; width: 2.0000rem; height: 2.0000rem; display: grid; place-items: center; border: 0.0625rem solid currentColor; border-radius: 50%; opacity: .72; transition: transform .3s ease, opacity .3s ease, background .3s ease; }
.arrow-card:before { content: "→"; font-size: 1.0000rem; line-height: 1; transform: rotate(-45deg); }
.service-card:hover .arrow-card { transform: translate(0.1250rem, -0.1250rem); opacity: 1; background: rgba(255,255,255,.3); }
.service-card small { display: block; margin-bottom: 0.6250rem; color: var(--muted); font: 0.5625rem/1 monospace; letter-spacing: .18em; }
.dark-card small { color: #8d90a0; }
.service-card h3 { margin: 0 0 0.7500rem; font-size: 1.3125rem; letter-spacing: -.02em; }
.service-card p { max-width: 29.3750rem; margin: 0; color: var(--muted); font-size: 0.7500rem; line-height: 1.8; }
.dark-card p { color: #a6a8b4; }
.ip-face { position: absolute; width: 11.8750rem; height: 11.8750rem; right: 11%; top: 3.4375rem; border: 0.1875rem solid var(--ink); border-radius: 45% 55% 48% 52%; transform: rotate(-5deg); }
.ip-face:before, .ip-face:after { content: ""; position: absolute; top: -1.4375rem; width: 3.0000rem; height: 3.7500rem; border: 0.1875rem solid var(--ink); background: var(--lime); transform: rotate(22deg); z-index: -1; }
.ip-face:before { left: 1.2500rem; border-radius: 70% 20% 40% 30%; }
.ip-face:after { right: 0.9375rem; transform: rotate(-26deg); border-radius: 20% 70% 30% 40%; }
.face-eye { position: absolute; top: 4.5000rem; width: 0.7500rem; height: 1.1875rem; border-radius: 50%; background: var(--ink); }
.face-eye.left { left: 3.4375rem; }.face-eye.right { right: 3.4375rem; }
.face-smile { position: absolute; left: 4.8125rem; top: 6.6250rem; width: 2.3125rem; height: 1.1875rem; border-bottom: 0.1875rem solid var(--ink); border-radius: 0 0 50% 50%; }
.face-spark { position: absolute; right: -2.5000rem; top: 1.3750rem; font-size: 1.7500rem; }
.card-symbol { position: relative; height: 11.8750rem; display: grid; place-items: center; }
.brand-symbol i { z-index: 1; font: 900 4.0625rem/1 Arial; color: #fff; font-style: normal; transform: rotate(-8deg); }
.brand-symbol:before, .brand-symbol:after, .brand-symbol span { content: ""; position: absolute; width: 8.1250rem; height: 8.1250rem; border-radius: 42% 58% 65% 35%; background: #ff7bc4; transform: rotate(24deg); }
.brand-symbol:after { width: 6.2500rem; height: 6.2500rem; background: #7959ff; transform: translate(2.5000rem, 1.1250rem) rotate(-10deg); mix-blend-mode: multiply; }
.product-symbol i { position: absolute; width: 5.5000rem; height: 6.8750rem; border: 0.1250rem solid var(--ink); background: #e5e2ff; transform: translateX(-2.3750rem) rotate(-13deg); box-shadow: 0.5000rem 0.5625rem 0 var(--ink); }
.product-symbol i:nth-child(2) { width: 4.0625rem; height: 5.5000rem; background: #ffcfeb; transform: translate(2.6875rem, 1.0625rem) rotate(12deg); }
.product-symbol i:nth-child(3) { width: 1.8750rem; height: 1.8750rem; border-radius: 50%; background: var(--lime); transform: translate(0, -3.8125rem); box-shadow: none; }
.web3-symbol { transform: rotate(45deg); }
.web3-symbol b { position: absolute; width: 4.2500rem; height: 4.2500rem; border: 0.0625rem solid #747687; }
.web3-symbol b:nth-child(1) { transform: translate(-2.1875rem, -2.1875rem); background: rgba(116,88,255,.45); }
.web3-symbol b:nth-child(2) { transform: translate(2.1875rem, -2.1875rem); background: rgba(103,232,249,.25); }
.web3-symbol b:nth-child(3) { transform: translate(-2.1875rem, 2.1875rem); background: rgba(201,255,82,.18); }
.web3-symbol b:nth-child(4) { transform: translate(2.1875rem, 2.1875rem); background: rgba(255,121,189,.25); }
.ai-core { position: absolute; right: 9%; top: 3.4375rem; width: 13.7500rem; height: 13.7500rem; display: grid; place-items: center; border: 0.0625rem solid rgba(80,57,200,.2); border-radius: 50%; animation: spin-slow 14s linear infinite; }
.ai-core:before, .ai-core:after { content: ""; position: absolute; border: 0.0625rem dashed rgba(80,57,200,.25); border-radius: 50%; inset: 1.2500rem; }
.ai-core:after { inset: 3.2500rem; background: radial-gradient(circle at 30% 25%, #fff, #8f7bff 65%, #6045d8); box-shadow: 0 0.9375rem 2.5000rem rgba(93,69,218,.35); }
.ai-core span { z-index: 2; color: #fff; font: 800 1.6875rem/1 Arial; animation: spin-back 14s linear infinite; }
.ai-core i { position: absolute; z-index: 3; width: 0.8750rem; height: 0.8750rem; border-radius: 50%; background: #ff79bd; }
.ai-core i:nth-of-type(1) { top: 0.8750rem; }.ai-core i:nth-of-type(2) { bottom: 1.6875rem; left: 1.0625rem; background: var(--cyan); }.ai-core i:nth-of-type(3) { right: 0; background: var(--lime); }

.method { padding: 7.0000rem clamp(1.2500rem, 4.5vw, 5.5000rem); display: grid; grid-template-columns: .8fr 1.2fr; gap: 6vw; background: #fff; }
.method-copy .overline, .about-copy .overline { margin: 1.5625rem 0 2.1875rem; }
.method-copy > p:not(.overline), .about-copy > p:not(.overline) { max-width: 32.5000rem; margin: 2.1875rem 0; color: var(--muted); font-size: 0.8750rem; line-height: 2; }
.method-list { border-top: 0.0625rem solid var(--line); }
.method-item { min-height: 10.0000rem; padding: 2.1875rem 0.5000rem; display: grid; grid-template-columns: 3.7500rem 1fr auto; gap: 1.2500rem; align-items: start; border-bottom: 0.0625rem solid var(--line); }
.method-item > span { color: #999ba5; font: 0.6250rem/1 monospace; }
.method-item h3 { margin: 0 0 0.8125rem; font-size: 1.3125rem; }
.method-item p { margin: 0; color: var(--muted); font-size: 0.7500rem; }
.method-item b { color: #b3b4bc; font: 0.5625rem/1 monospace; letter-spacing: .14em; }

.about { position: relative; min-height: 45.0000rem; padding: 7.0000rem clamp(1.2500rem, 5vw, 6.0000rem); display: grid; grid-template-columns: 1fr 1fr; gap: 6vw; align-items: center; overflow: hidden; color: #fff; background: #191923; }
.about:before { content: ""; position: absolute; width: 43.7500rem; height: 43.7500rem; left: -15.6250rem; top: -11.2500rem; border-radius: 50%; background: #664cff; filter: blur(8.1250rem); opacity: .24; }
.about-orb { position: relative; width: min(26.8750rem, 38vw); aspect-ratio: 1; margin: auto; display: grid; place-items: center; border: 0.0625rem solid rgba(255,255,255,.16); border-radius: 50%; animation: spin-slow 18s linear infinite; }
.about-orb:before, .about-orb:after { content: ""; position: absolute; border-radius: 50%; border: 0.0625rem solid rgba(255,255,255,.13); inset: 13%; }
.about-orb:after { inset: 29%; background: radial-gradient(circle at 32% 27%, #eaffb5, #8be2f2 35%, #7554ff 70%); box-shadow: 0 0 5.0000rem rgba(110,84,255,.45); }
.about-orb i { position: absolute; width: 1.6250rem; height: 1.6250rem; border-radius: 50%; background: var(--lime); top: 9%; }
.about-orb i:nth-child(2) { width: 0.9375rem; height: 0.9375rem; top: auto; bottom: 18%; right: 5%; background: #ff79bd; }
.about-orb span { z-index: 2; font: 900 4.8750rem/1 Arial; animation: spin-back 18s linear infinite; }
.about-copy { position: relative; z-index: 2; }
.about-copy .section-index, .about-copy > p { color: #a4a6b5 !important; }
.about-stats { display: flex; gap: clamp(1.5625rem, 4vw, 4.0625rem); padding-top: 1.5625rem; border-top: 0.0625rem solid rgba(255,255,255,.14); }
.about-stats div { display: flex; flex-direction: column; }
.about-stats strong { font-size: 2.0000rem; }
.about-stats span { margin-top: 0.3750rem; color: #9799a8; font-size: 0.6250rem; }

.contact { position: relative; min-height: 41.8750rem; padding: 6.5000rem clamp(1.2500rem, 4.5vw, 5.5000rem) 2.0000rem; overflow: hidden; text-align: center; color: #fff; background: linear-gradient(135deg, #7957ff 0%, #6846ed 50%, #a252ef 100%); }
.contact:before { content: ""; position: absolute; width: 30.0000rem; height: 30.0000rem; left: -10.6250rem; bottom: -11.8750rem; border-radius: 50%; background: #54e9f1; filter: blur(5.6250rem); opacity: .35; }
.contact:after { content: ""; position: absolute; width: 26.2500rem; height: 26.2500rem; right: -8.1250rem; top: -10.6250rem; border-radius: 50%; background: #ff7bbb; filter: blur(5.6250rem); opacity: .32; }
.contact-noise { position: absolute; inset: 0; opacity: .12; background-image: url("../img/bg-rep-04.png"); mix-blend-mode: screen; }
.contact > * { position: relative; z-index: 2; }
.contact .overline { justify-content: center; margin: 0 0 1.7500rem; }
.contact h2 { font-size: clamp(3.0000rem, 6vw, 5.6250rem); }
.contact h2 em { color: var(--lime); }
.contact > p:not(.overline) { margin: 1.6250rem auto 2.1250rem; color: rgba(255,255,255,.72); font-size: 0.8750rem; }
.contact-button { width: min(33.1250rem, 90%); margin: 0 auto; padding: 1.1875rem 1.4375rem; display: flex; justify-content: space-between; border: 0.0625rem solid rgba(255,255,255,.55); border-radius: 0.2500rem; font-size: 0.8125rem; letter-spacing: .12em; transition: color .25s, background .25s, transform .25s; }
.contact-button:hover { color: var(--ink); background: var(--lime); border-color: var(--lime); transform: translateY(-0.1875rem); }
.contact-foot { position: absolute; left: clamp(1.7500rem, 7vw, 8.1250rem); right: clamp(1.7500rem, 7vw, 8.1250rem); bottom: 1.8750rem; display: flex; align-items: flex-end; justify-content: space-between; text-align: left; }
.brand-light { color: #fff; }
.brand-light .brand-mark-logo { border-radius: 0.2500rem; background: #fff; }
.brand-light .brand-mark-logo img { mix-blend-mode: normal; }
.contact-foot > p { margin: 0; text-align: center; font-size: 0.6875rem; line-height: 1.8; }
.contact-foot > p small { opacity: .5; }
.contact-foot > a { font-size: 0.6250rem; letter-spacing: .1em; }
.back-to-top { display: inline-flex; align-items: center; }

.reveal { opacity: 0; transform: translateY(1.5000rem); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@keyframes drift { to { transform: translate3d(2.5000rem, -1.7500rem, 0) scale(1.12); } }
@keyframes terminal-float { 0%,100% { transform: rotateY(-11deg) rotateX(4deg) rotateZ(1.4deg) translateY(0); } 50% { transform: rotateY(-9deg) rotateX(3deg) rotateZ(.5deg) translateY(-0.8750rem); } }
@keyframes tag-float { 0%,100% { margin-top: 0; } 50% { margin-top: -0.8750rem; } }
@keyframes blink { 50% { opacity: .25; } }
@keyframes scroll-line { 0% { transform: scaleY(0); transform-origin: top; } 45% { transform: scaleY(1); transform-origin: top; } 55% { transform: scaleY(1); transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
@keyframes spin-slow { to { transform: rotate(360deg); } }
@keyframes spin-back { to { transform: rotate(-360deg); } }

@media (max-width: 61.8750rem) {
  .gosen-header { height: 4.8750rem; padding: 0 0.8750rem; }
  .brand-mark { width: 2.1250rem; height: 2.1250rem; }
  .brand-mark-logo { flex-basis: 2.1250rem; width: 2.1250rem; height: 2.1250rem; }
  .brand-mark-logo img { width: 2.1250rem; height: 2.1250rem; }
  .brand-copy strong { font-size: 1.0625rem; }
  .brand-copy small { font-size: 0.5000rem; }
  .desktop-nav { position: absolute; top: 4.2500rem; left: 0.8750rem; right: 0.8750rem; padding: 1.0000rem; display: none; align-items: stretch; flex-direction: column; gap: 0; border-radius: 0.6250rem; color: #fff; background: rgba(23,24,32,.96); box-shadow: 0 1.2500rem 3.1250rem rgba(23,24,32,.25); }
  .desktop-nav.is-open { display: flex; }
  .desktop-nav a { padding: 0.8125rem; }
  .nav-contact { margin-top: 0.6250rem; }
  .menu-button { display: block; }
  .hero { height: auto; min-height: 60.6250rem; max-height: none; padding: 6.7500rem 0.8750rem 3.5000rem; display: block; }
  .hero h1 { margin-top: 1.3750rem; font-size: clamp(2.8750rem, 14vw, 4.0000rem); }
  .hero-intro { font-size: 0.9375rem; }
  .desktop-only { display: none; }
  .hero-actions { gap: 1.2500rem; margin-top: 1.8750rem; flex-wrap: wrap; }
  .hero-meta { margin-top: 2.3750rem; gap: 1.7500rem; }
  .code-stage { min-height: 25.0000rem; margin-top: 3.4375rem; perspective: 56.2500rem; }
  .code-window { left: 1%; top: 0; width: 104%; height: 21.8750rem; transform: rotateY(-5deg) rotateX(3deg) rotateZ(1deg); animation-name: terminal-float-mobile; }
  .window-bar { height: 2.8125rem; }
  .code-body { height: 17.0625rem; font-size: 0.5625rem; }
  .code-status { height: 2.0000rem; }
  .code-status span:nth-child(n+2) { display: none; }
  .orbit-one { width: 110%; height: 12.5000rem; top: 5.6250rem; }
  .orbit-two { width: 90%; height: 10.0000rem; left: 10%; top: 7.1875rem; }
  .floating-tag { transform: scale(.8); }
  .tag-one { top: -1.7500rem; }
  .tag-two { bottom: 1.2500rem; }
  .dot-one { right: -0.5000rem; top: 9.3750rem; }
  .scroll-cue { display: none; }
  .services { padding: 4.5000rem 0.8750rem; }
  .section-heading { display: block; margin-bottom: 2.8125rem; }
  .section-heading h2 { margin: 1.7500rem 0 1.3750rem; }
  .section-lead { max-width: 100%; }
  .service-grid { grid-template-columns: 1fr; grid-auto-rows: 22.5000rem; }
  .feature-card, .ai-card { grid-column: span 1; }
  .ip-face { width: 9.6875rem; height: 9.6875rem; right: 11%; }
  .face-eye { top: 3.5000rem; }.face-eye.left { left: 2.6875rem; }.face-eye.right { right: 2.6875rem; }.face-smile { left: 3.7500rem; top: 5.3750rem; }
  .ai-core { right: 50%; transform: translateX(50%); width: 10.9375rem; height: 10.9375rem; }
  .method { padding: 4.5000rem 0.8750rem; display: block; }
  .method-list { margin-top: 4.0625rem; }
  .method-item { min-height: 9.0625rem; grid-template-columns: 2.5000rem 1fr; }
  .method-item b { display: none; }
  .about { min-height: 56.2500rem; padding: 4.5000rem 0.8750rem; display: flex; flex-direction: column; }
  .about-orb { width: 18.1250rem; }
  .about-copy { margin-top: 1.8750rem; }
  .contact { min-height: 45.0000rem; padding: 4.7500rem 0.8750rem 8.5000rem; }
  .contact-foot { left: 1.2500rem; right: 1.2500rem; bottom: 1.5000rem; align-items: center; flex-direction: column; gap: 1.3750rem; text-align: center; }
  .contact-foot > p { order: 3; }
}

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

@keyframes terminal-float-mobile { 0%,100% { transform: rotateY(-5deg) rotateX(3deg) rotateZ(1deg) translateY(0); } 50% { transform: rotateY(-3deg) rotateX(2deg) rotateZ(.3deg) translateY(-0.5000rem); } }
