:root {
  --bg: #0b0b0b;
  --panel: #141414;
  --panel-2: #1b1b1b;
  --ink: #fafaff;
  --muted: rgba(250, 250, 255, 0.62);
  --faint: rgba(250, 250, 255, 0.12);
  --lime: #d7ff00;
  --orange: #ff5c24;
  --radius: 28px;
  --shell: min(1440px, calc(100% - 56px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--bg);
  font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.page-glow { position: fixed; width: 420px; height: 420px; left: var(--mouse-x, 70%); top: var(--mouse-y, 10%); transform: translate(-50%, -50%); background: rgba(215,255,0,.07); filter: blur(90px); pointer-events: none; z-index: 0; }
.section-shell { width: var(--shell); margin-inline: auto; position: relative; z-index: 1; }

.site-header {
  position: fixed; inset: 0 0 auto 0; height: 76px; padding: 0 28px; display: grid;
  grid-template-columns: 1fr auto 1fr; align-items: center; z-index: 100;
  border-bottom: 1px solid transparent; transition: .3s ease;
}
.site-header.scrolled { height: 66px; background: rgba(11,11,11,.82); backdrop-filter: blur(18px); border-color: rgba(255,255,255,.08); }
.brand { width: 122px; display: flex; }
.brand img { width: 100%; height: auto; display: block; }
.desktop-nav { display: flex; align-items: center; gap: 8px; padding: 5px; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; background: rgba(255,255,255,.04); backdrop-filter: blur(12px); }
.desktop-nav a { padding: 9px 16px; border-radius: 999px; font-size: 14px; color: var(--muted); transition: .25s; }
.desktop-nav a:hover { color: var(--ink); background: rgba(255,255,255,.08); }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 12px; }
.language-switch { display: flex; align-items: center; gap: 5px; padding: 0 5px; }
.language-switch span { color: rgba(255,255,255,.24); font-size: 12px; }
.language-switch button { padding: 5px 3px; border: 0; background: none; color: rgba(255,255,255,.4); font-size: 12px; font-weight: 700; cursor: pointer; transition: color .2s; }
.language-switch button:hover,.language-switch button.active { color: var(--lime); }
.language-switch button.active { text-decoration: underline; text-underline-offset: 4px; }
.header-cta { display: inline-flex; align-items: center; gap: 14px; background: var(--lime); color: #0b0b0b; padding: 11px 18px; border-radius: 999px; font-size: 14px; font-weight: 700; }
.header-cta span { font-size: 17px; transition: transform .2s; }
.header-cta:hover span { transform: translate(3px,-3px); }
.menu-toggle,.mobile-menu { display: none; }

.hero { min-height: 100svh; position: relative; z-index:5; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 150px 28px 100px; isolation: isolate; overflow: visible; }
.hero::before { content: ""; position: absolute; inset: 76px 0 0; z-index: -3; background: radial-gradient(circle at 50% 42%, rgba(76,28,255,.17), transparent 33%), linear-gradient(180deg, #0b0b0b 0%, #101010 66%, #0b0b0b 100%); }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .2; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 84px 84px; mask-image: radial-gradient(circle at center, #000, transparent 70%); }
.hero-orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.1); z-index: -1; }
.orbit-one { width: 690px; aspect-ratio: 1; animation: orbit 22s linear infinite; }
.orbit-two { width: 980px; aspect-ratio: 1; border-style: dashed; opacity: .35; animation: orbit 38s linear infinite reverse; }
.hero-orbit::before { content: ""; position: absolute; width: 15px; aspect-ratio: 1; border-radius: 50%; background: var(--lime); top: 11%; left: 16%; box-shadow: 0 0 34px var(--lime); }
@keyframes orbit { to { transform: rotate(360deg); } }
.eyebrow,.section-kicker { color: var(--muted); font-size: 11px; line-height: 1; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow { display: inline-flex; gap: 9px; align-items: center; margin-bottom: 25px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 16px var(--lime); }
.hero h1 { font-size: clamp(72px, 10vw, 164px); line-height: .98; letter-spacing: -.075em; margin: 0; font-weight: 700; }
.gradient-text { padding-right: .07em; color: transparent; background: linear-gradient(90deg,#29f4ff 2%,#598bff 31%,#bc35ff 56%,#ff45a8 78%,#ff5a24); -webkit-background-clip: text; background-clip: text; }
.hero-copy { color: var(--muted); font-size: clamp(16px,1.4vw,20px); line-height: 1.7; margin: 34px 0 30px; }
.brief-search-wrap { width:min(640px,100%); position:relative; z-index:30; }
.brief-box { width:100%; padding:8px 8px 8px 22px; display:flex; align-items:center; gap:14px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); border-radius:999px; text-align:left; backdrop-filter:blur(18px); box-shadow:0 22px 90px rgba(0,0,0,.28); transition:border-color .25s,background .25s; }
.brief-box:focus-within { border-color:rgba(215,255,0,.62); background:rgba(255,255,255,.09); }
.brief-input { min-width:0; flex:1; height:42px; border:0; outline:0; padding:0; background:transparent; color:var(--ink); font:inherit; font-size:15px; }
.brief-input::placeholder { color:rgba(255,255,255,.5); opacity:1; }
.brief-input::-webkit-search-cancel-button { display:none; }
.brief-action { width:48px; height:48px; flex:none; display:grid; place-items:center; border:0; border-radius:50%; background:var(--lime); color:#0b0b0b; cursor:pointer; transition:transform .2s,box-shadow .2s; }
.brief-action:hover { transform:scale(1.05); box-shadow:0 0 28px rgba(215,255,0,.28); }
.brief-action svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.service-suggestions { position:absolute; z-index:40; top:calc(100% + 10px); left:50%; width:min(1120px,calc(100vw - 56px)); padding:9px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; border:1px solid rgba(255,255,255,.14); border-radius:20px; background:rgba(20,20,20,.97); box-shadow:0 34px 100px rgba(0,0,0,.68); backdrop-filter:blur(24px); text-align:left; transform:translateX(-50%); }
.service-suggestions[hidden] { display:none; }
.suggestion-item { min-width:0; min-height:78px; width:100%; border:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; align-items:center; padding:12px 13px; border-radius:13px; color:var(--ink); background:rgba(255,255,255,.025); text-align:left; cursor:pointer; transition:.2s; }
.suggestion-item:hover,.suggestion-item.active { background:var(--lime); color:#0b0b0b; }
.suggestion-item strong { min-width:0; font-size:13px; line-height:1.35; }.suggestion-item small { min-width:0; grid-row:2; color:var(--muted); font-size:9px; line-height:1.3; letter-spacing:.07em; text-transform:uppercase; }.suggestion-item:hover small,.suggestion-item.active small { color:rgba(0,0,0,.55); }.suggestion-item i { grid-row:1 / span 2; grid-column:2; font-style:normal; font-size:15px; }
.suggestion-empty { margin:0; padding:18px 14px; color:var(--muted); font-size:13px; text-align:center; }
.hero-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 18px; }
.hero-tags button { padding:7px 12px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06); border-radius:999px; color:var(--muted); font-size:12px; cursor:pointer; transition:.2s; }.hero-tags button:hover { color:#0b0b0b; background:var(--lime); border-color:var(--lime); }
.scroll-cue { position: absolute; bottom: 22px; display: flex; flex-direction: column; align-items: center; gap: 3px; color: rgba(255,255,255,.42); font-size: 9px; letter-spacing: .18em; }
.scroll-cue i { font-size: 16px; font-style: normal; animation: bounce 1.6s ease-in-out infinite; }
@keyframes bounce { 50% { transform: translateY(5px); } }

.work,.services,.method,.about,.faq { padding-block: 130px; }
.section-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 50px; }
.section-kicker { margin: 0 0 19px; color: var(--lime); }
.section-head h2,.method-intro h2,.about-copy h2,.faq-title h2 { margin: 0; font-size: clamp(44px,5.7vw,86px); line-height: .98; letter-spacing: -.055em; }
.section-head > p { margin: 0 0 6px; color: var(--muted); line-height: 1.6; font-size: 15px; }
.work-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 18px; }
.project-card { grid-column: span 5; min-width: 0; }
.project-card.card-wide { grid-column: span 7; }
.project-card.card-tall { grid-column: span 5; }
.project-card.card-equal { grid-column: span 4; }
.project-card.card-equal .project-art { min-height: 500px; }
.project-art { min-height: 520px; border-radius: var(--radius); overflow: hidden; position: relative; transform: translateZ(0); }
.project-card:hover .project-art { --lift: 1; }
.project-meta { display: flex; justify-content: space-between; gap: 16px; padding: 18px 4px 34px; }
.project-meta h3 { margin: 0 0 5px; font-size: 18px; letter-spacing: -.025em; }
.project-meta p,.project-meta > span { margin: 0; color: var(--muted); font-size: 12px; }

.art-aurora { background: radial-gradient(circle at 28% 36%, #ff3cac, transparent 29%), radial-gradient(circle at 70% 60%, #01e8ff, transparent 31%), linear-gradient(135deg,#1b0362,#7314a7 46%,#ff6a00); }
.art-aurora::after { content:""; position:absolute; inset:-20%; background: repeating-radial-gradient(ellipse at center, transparent 0 13px,rgba(255,255,255,.13) 14px 15px); transform: rotate(-20deg) scale(calc(1 + var(--lift,0)*.05)); transition:.7s cubic-bezier(.2,.8,.2,1); }
.aurora-ring { position:absolute; width:270px; aspect-ratio:1; border:34px solid rgba(8,8,8,.88); border-radius:50%; right:12%; top:50%; transform:translateY(-50%) rotate(-18deg); box-shadow:0 0 0 2px rgba(255,255,255,.25),0 30px 60px rgba(0,0,0,.4); z-index:2; }
.aurora-type { position:absolute; left:7%; bottom:9%; font-size:clamp(43px,5vw,84px); line-height:.78; letter-spacing:-.08em; font-weight:800; z-index:3; mix-blend-mode:difference; }
.art-index { position:absolute; right:4%; top:4%; font-size:11px; letter-spacing:.14em; z-index:3; }
.art-editorial { background: var(--lime); color:#0b0b0b; }
.editorial-orbits { position:absolute; z-index:1; width:270px; aspect-ratio:1; left:50%; top:50%; transform:translate(-50%,-50%) scale(calc(1 + var(--lift,0)*.18)); transition:transform .55s; }
.editorial-orbit { position:absolute; border:1px solid #0b0b0b; border-radius:50%; animation:editorial-satellite 8s linear infinite; }
.editorial-orbit i { position:absolute; width:11px; aspect-ratio:1; left:50%; top:-6px; border-radius:50%; background:#0b0b0b; transform:translateX(-50%); box-shadow:0 0 0 3px rgba(215,255,0,.8); }
.orbit-inner { inset:0; animation-duration:7.5s; animation-delay:-1.8s; }
.orbit-middle { inset:-25px; animation-duration:10.5s; animation-direction:reverse; animation-delay:-6.2s; }
.orbit-outer { inset:-53px; animation-duration:14s; animation-delay:-9.4s; }
@keyframes editorial-satellite { to { transform:rotate(360deg); } }
.editorial-no { position:absolute; top:5%; left:6%; font-size:13px; z-index:2; }
.editorial-main { position:absolute; z-index:3; left:50%; top:48%; width:148px; height:auto; display:block; transform:translate(-50%,-50%) scale(calc(1 + var(--lift,0)*.05)); transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.editorial-copy { position:absolute; right:5%; bottom:5%; font-size:13px; line-height:1.08; font-weight:700; text-align:right; z-index:3; }
.art-ui { background: radial-gradient(circle at 50% 28%,#243bc5,transparent 34%),linear-gradient(145deg,#101010,#1d1662); display:flex; justify-content:center; align-items:center; gap:0; }
.phone { width:190px; height:395px; border-radius:28px; border:3px solid rgba(255,255,255,.25); background:#0b0c16; box-shadow:0 28px 50px rgba(0,0,0,.45); padding:24px 19px; position:relative; transition:.55s cubic-bezier(.2,.8,.2,1); }
.phone-back { transform:translate(26px,34px) rotate(-9deg); background:#242ce0; }
.phone-front { transform:translate(-15px,-16px) rotate(6deg); z-index:2; }
.project-card:hover .phone-back { transform:translate(12px,28px) rotate(-13deg); }
.project-card:hover .phone-front { transform:translate(-5px,-20px) rotate(2deg); }
.phone span,.phone small { font-size:8px; letter-spacing:.1em; }
.phone h4 { font-size:23px; line-height:1.02; letter-spacing:-.05em; margin:45px 0 18px; }
.phone button { border:0; border-radius:99px; background:var(--lime); padding:9px 13px; font-size:9px; font-weight:700; }
.phone-orb { width:110px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 30% 30%,#fff,var(--lime) 22%,#ff3cac 58%,#2613ff); filter:blur(.3px); margin:46px auto 28px; }
.phone-back p { margin:0; font-size:10px; letter-spacing:.13em; }
.phone-back b { display:block; font-size:52px; line-height:1; }
.mini-chart { position:absolute; left:18px; right:18px; bottom:25px; height:90px; border-radius:14px; background:linear-gradient(180deg,rgba(215,255,0,.18),transparent),repeating-linear-gradient(90deg,transparent 0 20px,rgba(255,255,255,.07) 21px); clip-path:polygon(0 64%,18% 35%,35% 55%,58% 18%,77% 45%,100% 8%,100% 100%,0 100%); }
.art-motion { min-height:680px; background:#f1e4d5; color:#111; }
.motion-sphere { position:absolute; border-radius:50%; filter:blur(1px); transition:.7s cubic-bezier(.2,.8,.2,1); }
.sphere-a { width:440px; height:440px; left:-150px; top:40px; background:radial-gradient(circle at 70% 35%,#ff8e56,#ff1b44 45%,#7a0015); }
.sphere-b { width:390px; height:390px; right:-170px; bottom:-20px; background:radial-gradient(circle at 30% 35%,#4d6dff,#151bc9 48%,#050330); }
.project-card:hover .sphere-a { transform:translate(26px,12px); }.project-card:hover .sphere-b { transform:translate(-24px,-14px); }
.motion-lines { position:absolute; inset:0; opacity:.28; background:repeating-linear-gradient(75deg,transparent 0 20px,#111 21px 22px); }
.art-motion span { position:absolute; z-index:2; left:8%; bottom:8%; font-size:58px; line-height:.78; letter-spacing:-.075em; font-weight:900; }
.art-motion i { position:absolute; right:7%; top:5%; font-style:normal; font-size:11px; }
.art-packaging { background:#ff642e; color:#14100c; display:flex; justify-content:center; align-items:center; gap:16px; }
.art-packaging::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 70% 25%,rgba(255,235,161,.62),transparent 34%),repeating-linear-gradient(118deg,transparent 0 26px,rgba(58,10,0,.045) 27px 28px); }
.pack { width:180px; height:290px; border-radius:9px; background:#f5e9d3; border:1px solid rgba(0,0,0,.15); box-shadow:0 34px 46px rgba(85,20,0,.3); padding:20px; display:flex; flex-direction:column; position:relative; z-index:2; overflow:hidden; transition:transform .5s cubic-bezier(.2,.8,.2,1); }
.pack::after { content:""; position:absolute; width:110px; aspect-ratio:1; right:-52px; bottom:-52px; border:1px solid currentColor; border-radius:50%; opacity:.12; box-shadow:0 0 0 17px transparent,0 0 0 18px currentColor,0 0 0 35px transparent,0 0 0 36px currentColor; }
.pack-brand { position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:8px; padding-bottom:10px; border-bottom:1px solid currentColor; }
.pack-brand b { font-size:35px; line-height:.8; letter-spacing:-.09em; }.pack-brand small { font-size:7px; line-height:1; letter-spacing:.16em; font-weight:700; }
.coffee-mark { position:relative; z-index:2; width:68px; margin:auto; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; opacity:.82; }
.coffee-bean { width:74px; }
.pack > p { position:relative; z-index:2; margin:0; font-size:10px; line-height:1.2; font-weight:700; letter-spacing:.05em; }.pack > p small { display:block; margin-top:4px; font-size:6px; line-height:1.2; letter-spacing:.08em; opacity:.56; }
.pack-one { transform:rotate(-8deg) translateY(8px); }.pack-two { transform:rotate(7deg) translateY(-8px); background:#171717; color:var(--lime); }
.project-card:hover .pack-one { transform:rotate(-12deg) translate(-8px,2px); }.project-card:hover .pack-two { transform:rotate(11deg) translate(8px,-13px); }
.art-packaging > p { position:absolute; left:4%; bottom:3%; z-index:3; font-size:11px; line-height:1.08; font-weight:700; letter-spacing:.08em; }

.services { border-top:1px solid var(--faint); overflow:hidden; }
.portfolio-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.portfolio-filters { display:flex; flex-wrap:wrap; gap:8px; }
.portfolio-filters button { border:1px solid var(--faint); border-radius:999px; padding:9px 15px; background:rgba(255,255,255,.035); color:var(--muted); font-size:12px; cursor:pointer; transition:.2s; }
.portfolio-filters button:hover,.portfolio-filters button.active { background:var(--lime); border-color:var(--lime); color:#0b0b0b; }
.portfolio-controls { display:flex; gap:7px; flex:none; }.portfolio-controls button { width:40px; height:40px; border-radius:50%; border:1px solid var(--faint); background:rgba(255,255,255,.035); color:var(--ink); cursor:pointer; font-size:17px; transition:.2s; }.portfolio-controls button:hover { background:var(--lime); color:#0b0b0b; border-color:var(--lime); }
.portfolio-viewport { width:100%; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; cursor:grab; outline:none; border-radius:var(--radius); }.portfolio-viewport::-webkit-scrollbar { display:none; }.portfolio-viewport:active { cursor:grabbing; }.portfolio-viewport:focus-visible { box-shadow:0 0 0 2px var(--lime); }
.portfolio-track { width:max-content; display:flex; gap:16px; padding:1px 1px 9px; }
.portfolio-item { width:clamp(270px,29vw,410px); flex:none; border:1px solid var(--faint); border-radius:var(--radius); overflow:hidden; background:var(--panel); transition:transform .3s,border-color .3s,box-shadow .3s; }
.portfolio-item:hover,.portfolio-item.is-target { transform:translateY(-6px); border-color:rgba(215,255,0,.65); box-shadow:0 18px 50px rgba(0,0,0,.34); }
.portfolio-card-art { height:330px; position:relative; overflow:hidden; padding:24px; display:flex; flex-direction:column; justify-content:space-between; color:#0b0b0b; }
.portfolio-card-art::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(8,8,8,.06) 5%,rgba(8,8,8,.16) 48%,rgba(8,8,8,.78) 100%); }
.portfolio-card-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; filter:saturate(1.14) contrast(1.06); transform:scale(1.01); transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s; }
.portfolio-item:hover .portfolio-card-image { transform:scale(1.08); filter:saturate(1.28) contrast(1.08); }
.portfolio-item[data-group="brand"] .portfolio-card-art { background:linear-gradient(135deg,#d7ff00,#8dff1f); }
.portfolio-item[data-group="graphic"] .portfolio-card-art { background:linear-gradient(145deg,#ff7438,#ff3cac 65%,#7325ff); color:#fff; }
.portfolio-item[data-group="ui"] .portfolio-card-art { background:radial-gradient(circle at 60% 32%,#29f4ff,#4c50ff 48%,#17175d); color:#fff; }
.portfolio-item[data-group="motion"] .portfolio-card-art { background:radial-gradient(circle at 40% 30%,#ffed92,#ff4d70 40%,#4b00b9); color:#fff; }
.portfolio-number { font-size:11px; letter-spacing:.14em; position:relative; z-index:3; color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.35); }
.portfolio-visual-code { margin:0; position:relative; z-index:3; font-size:clamp(39px,4vw,62px); line-height:.8; letter-spacing:-.075em; font-weight:800; text-transform:uppercase; color:#fff; text-shadow:0 4px 28px rgba(0,0,0,.42); }
.portfolio-shape { position:absolute; width:210px; aspect-ratio:1; border-radius:50%; right:-36px; top:50%; transform:translateY(-50%); border:1px solid currentColor; opacity:.58; box-shadow:0 0 0 24px transparent,0 0 0 25px currentColor,0 0 0 54px transparent,0 0 0 55px currentColor; transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.portfolio-item:nth-child(3n+2) .portfolio-shape { border-radius:8px; transform:translateY(-50%) rotate(24deg); }.portfolio-item:nth-child(3n) .portfolio-shape { width:260px; right:-85px; border-style:dashed; }
.portfolio-item:hover .portfolio-shape { transform:translateY(-50%) rotate(18deg) scale(1.08); }
.portfolio-card-meta { min-height:145px; padding:21px 22px 24px; display:flex; flex-direction:column; }.portfolio-card-meta span { color:var(--lime); font-size:9px; letter-spacing:.13em; font-weight:700; text-transform:uppercase; }.portfolio-card-meta h3 { margin:11px 0 7px; font-size:25px; letter-spacing:-.04em; }.portfolio-card-meta p { margin:auto 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.portfolio-hint { margin:13px 2px 0; color:rgba(255,255,255,.35); font-size:10px; letter-spacing:.06em; }

.method { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:start; }
.method-intro { position:sticky; top:120px; }.method-intro > p:last-child { color:var(--muted); line-height:1.8; max-width:520px; margin-top:28px; }
.method-track { display:grid; gap:15px; }.method-card { min-height:300px; border:1px solid var(--faint); border-radius:var(--radius); padding:32px; background:var(--panel); display:flex; flex-direction:column; justify-content:space-between; transition:transform .35s,border-color .35s; }.method-card:hover { transform:translateY(-5px); border-color:rgba(255,255,255,.3); }.method-card > div { display:flex; justify-content:space-between; }.method-card span { font-size:13px; }.method-card b { font-size:10px; letter-spacing:.15em; color:var(--muted); }.method-card h3 { margin:auto 0 15px; font-size:52px; letter-spacing:-.055em; }.method-card p { margin:0; color:var(--muted); line-height:1.7; max-width:520px; }.accent-card { background:var(--lime); color:#0b0b0b; }.accent-card b,.accent-card p { color:rgba(0,0,0,.62); }
.about { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:7vw; }.about-mark { aspect-ratio:1; border-radius:50%; display:grid; place-items:center; background:radial-gradient(circle at 35% 28%,#1a73ff,#762cff 35%,#fb2dc7 66%,#ff5c24); position:relative; overflow:hidden; }.about-mark::after { content:""; position:absolute; inset:0; background:repeating-radial-gradient(circle at 30% 40%,transparent 0 12px,rgba(255,255,255,.13) 13px 14px); }.about-mark img { width:75%; position:relative; z-index:2; filter:brightness(0) invert(1); }.about-copy > p:nth-of-type(2) { color:var(--muted); font-size:17px; line-height:1.85; margin:30px 0; max-width:620px; }.about-copy a { display:inline-flex; gap:50px; align-items:center; border-bottom:1px solid var(--ink); padding:0 0 8px; font-size:14px; }.about-copy a span { transition:.2s; }.about-copy a:hover span { transform:translateX(5px); }
.about-mark { --light-x:34%; --light-y:26%; --logo-x:0px; --logo-y:0px; --logo-scale:1; --orbit-x:0px; --orbit-y:0px; isolation:isolate; background:radial-gradient(circle at var(--light-x) var(--light-y),rgba(255,255,255,.42) 0 3%,rgba(41,244,255,.55) 10%,rgba(89,139,255,.76) 26%,rgba(118,44,255,.9) 46%,rgba(251,45,199,.86) 66%,#ff5c24 84%,#4a051d 100%); box-shadow:inset -42px -52px 90px rgba(16,0,49,.58),inset 24px 28px 55px rgba(255,255,255,.12),0 34px 86px rgba(68,18,130,.29); transition:box-shadow .45s,background .18s; }
.about-mark::before { content:""; position:absolute; z-index:1; width:44%; aspect-ratio:1; left:11%; top:7%; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.35),rgba(255,255,255,.06) 48%,transparent 74%); filter:blur(18px); transform:translate(var(--logo-x),var(--logo-y)); transition:transform .18s; }
.about-mark::after { z-index:1; opacity:.4; mix-blend-mode:overlay; transform:translate(var(--orbit-x),var(--orbit-y)) scale(1.06); transition:transform .18s; }
.about-mark img { width:72%; filter:brightness(0) invert(1) drop-shadow(0 12px 20px rgba(18,0,57,.24)); transition:filter .3s; animation:about-logo-float 7s ease-in-out infinite; will-change:transform; }
.about-mark:hover { --logo-scale:1.025; box-shadow:inset -47px -57px 96px rgba(16,0,49,.63),inset 25px 29px 57px rgba(255,255,255,.14),0 39px 96px rgba(106,37,200,.32); }
.about-mark:hover img { filter:brightness(0) invert(1) drop-shadow(0 15px 24px rgba(18,0,57,.32)) drop-shadow(0 0 9px rgba(255,255,255,.13)); }
.about-orbit { position:absolute; z-index:2; width:86%; height:31%; left:7%; top:34%; border:1px solid rgba(255,255,255,.52); border-radius:50%; box-shadow:0 0 18px rgba(255,255,255,.08); animation:about-orbit-drift 9s ease-in-out infinite; pointer-events:none; will-change:transform; }
.about-orbit::after { content:""; position:absolute; width:12px; aspect-ratio:1; border-radius:50%; right:7%; top:18%; background:var(--lime); box-shadow:0 0 22px var(--lime); }
@keyframes about-logo-float { 0%,100% { transform:translate3d(var(--logo-x),calc(var(--logo-y) - 2px),0) scale(var(--logo-scale)); } 50% { transform:translate3d(var(--logo-x),calc(var(--logo-y) + 2px),0) scale(var(--logo-scale)); } }
@keyframes about-orbit-drift { 0%,100% { transform:translate(var(--orbit-x),var(--orbit-y)) rotate(-17deg); } 50% { transform:translate(var(--orbit-x),calc(var(--orbit-y) - 3px)) rotate(-15.5deg); } }
.faq { display:grid; grid-template-columns:.72fr 1.28fr; gap:8vw; border-top:1px solid var(--faint); }.faq-title { position:sticky; top:120px; align-self:start; }.faq-list { border-top:1px solid var(--faint); }.faq details { border-bottom:1px solid var(--faint); }.faq summary { list-style:none; cursor:pointer; padding:30px 0; display:flex; justify-content:space-between; gap:20px; font-size:21px; font-weight:600; }.faq summary::-webkit-details-marker { display:none; }.faq summary > span:first-child { color:var(--ink); font-size:inherit; transition:color .2s; transform:none; }.faq summary:hover > span:first-child { color:var(--lime); }.faq summary > span:last-child { color:var(--lime); font-size:26px; line-height:1; transition:transform .25s; }.faq details[open] summary > span:last-child { transform:rotate(45deg); }.faq details p { color:var(--muted); line-height:1.8; margin:0; padding:0 60px 30px 0; max-width:720px; }

.contact { padding-block:160px 130px; text-align:center; }.contact h2 { margin:0; font-size:clamp(60px,8.5vw,138px); line-height:.98; letter-spacing:-.075em; }.contact h2 span { color:var(--lime); }.contact-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:13px; margin-top:48px; }.primary-action,.secondary-action { min-height:52px; border-radius:999px; padding:16px 22px; font-weight:700; font-size:14px; }.primary-action { background:var(--lime); color:#0b0b0b; display:flex; align-items:center; gap:45px; }.secondary-action { border:1px solid var(--faint); color:var(--muted); }.social-links { display:flex; gap:8px; }.social-action { width:52px; height:52px; flex:none; display:grid; place-items:center; border:1px solid var(--faint); border-radius:50%; background:rgba(255,255,255,.035); color:var(--ink); cursor:pointer; transition:background .2s,color .2s,border-color .2s,transform .2s; }.social-action:hover { background:var(--lime); border-color:var(--lime); color:#0b0b0b; transform:translateY(-3px); }.social-action svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }.social-action svg circle { fill:currentColor; stroke:none; }
.qr-dialog { position:fixed; z-index:300; inset:0; display:grid; place-items:center; padding:16px; background:rgba(5,5,5,.76); color:var(--ink); backdrop-filter:blur(10px); }.qr-dialog[hidden] { display:none; }.qr-dialog-panel { position:relative; width:min(420px,calc(100vw - 32px)); padding:34px; border:1px solid rgba(255,255,255,.16); border-radius:28px; background:#151515; text-align:center; box-shadow:0 40px 140px rgba(0,0,0,.72); }.qr-dialog .section-kicker { margin-bottom:12px; }.qr-dialog h3 { margin:0 0 24px; font-size:30px; letter-spacing:-.04em; }.qr-close { position:absolute; right:14px; top:14px; width:36px; height:36px; border:1px solid var(--faint); border-radius:50%; background:transparent; color:var(--ink); font-size:22px; line-height:1; cursor:pointer; }.qr-close:hover { background:var(--lime); color:#0b0b0b; }.qr-placeholder { position:relative; width:230px; aspect-ratio:1; margin:auto; border:13px solid #fff; background-color:#fff; background-image:conic-gradient(from 90deg at 25% 25%,#111 25%,transparent 0 50%,#111 0 75%,transparent 0),conic-gradient(from 180deg at 75% 75%,#111 25%,transparent 0 50%,#111 0 75%,transparent 0); background-size:22px 22px,18px 18px; image-rendering:pixelated; }.qr-placeholder > span { position:absolute; width:50px; aspect-ratio:1; border:8px solid #111; background:#fff; box-shadow:inset 0 0 0 8px #fff,inset 0 0 0 17px #111; }.qr-placeholder > span:nth-child(1) { left:5px; top:5px; }.qr-placeholder > span:nth-child(2) { right:5px; top:5px; }.qr-placeholder > span:nth-child(3) { left:5px; bottom:5px; }.qr-note { margin:20px 0 0; color:var(--muted); font-size:13px; }.modal-open { overflow:hidden; }
.footer { border-top:1px solid var(--faint); padding:32px 28px 18px; overflow:hidden; }.footer-top,.footer-bottom { display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:10px; letter-spacing:.09em; }.footer-logo { display:block; width:100%; aspect-ratio:1562/449; margin:75px 0 45px; }.footer-logo-flow { background:linear-gradient(90deg,#d7ff00 0%,#29f4ff 22%,#598bff 42%,#ff47f6 62%,#ff5c24 80%,#d7ff00 100%); background-size:240% 100%; -webkit-mask:url("Funway_LOGO_green-big.svg") center/contain no-repeat; mask:url("Funway_LOGO_green-big.svg") center/contain no-repeat; animation:footer-logo-flow 7s linear infinite; filter:drop-shadow(0 0 18px rgba(215,255,0,.1)); }.footer-bottom { border-top:1px solid var(--faint); padding-top:16px; }
@keyframes footer-logo-flow { to { background-position:240% 0; } }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1); }.reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 920px) {
  :root { --shell:min(100% - 32px, 760px); --radius:22px; }
  .site-header { padding:0 16px; grid-template-columns:1fr auto auto; gap:10px; }.desktop-nav,.header-cta { display:none; }.brand { width:105px; }.header-actions { justify-self:auto; }.language-switch { padding:0; }
  .menu-toggle { display:flex; width:43px; height:43px; border:1px solid var(--faint); background:rgba(255,255,255,.05); border-radius:50%; flex-direction:column; justify-content:center; align-items:center; gap:5px; z-index:3; color:#fff; }
  .menu-toggle span { width:17px; height:1px; background:currentColor; transition:.25s; }.menu-toggle.active span:first-child { transform:translateY(3px) rotate(45deg); }.menu-toggle.active span:last-child { transform:translateY(-3px) rotate(-45deg); }
  .mobile-menu { display:flex; position:fixed; inset:0; background:#0b0b0b; flex-direction:column; justify-content:center; align-items:center; gap:18px; opacity:0; pointer-events:none; transition:.3s; }.mobile-menu.open { opacity:1; pointer-events:auto; }.mobile-menu a { font-size:48px; letter-spacing:-.05em; }
  .hero { padding-inline:16px; }.hero h1 { font-size:clamp(68px,18vw,110px); }.hero-copy br { display:none; }.orbit-one { width:550px; }.orbit-two { width:760px; }
  .service-suggestions { width:calc(100vw - 32px); grid-template-columns:repeat(3,minmax(0,1fr)); }
  .work,.services,.method,.about,.faq { padding-block:90px; }.section-head { align-items:start; flex-direction:column; gap:22px; }.section-head h2,.method-intro h2,.about-copy h2,.faq-title h2 { font-size:clamp(45px,10vw,72px); }
  .project-card,.project-card.card-wide,.project-card.card-tall,.project-card.card-equal { grid-column:span 12; }.project-art,.art-motion,.project-card.card-equal .project-art { min-height:clamp(450px,78vw,600px); }
  .portfolio-card-art { height:290px; }.portfolio-item { width:min(76vw,350px); }.portfolio-toolbar { align-items:flex-end; }.portfolio-controls button { width:38px; height:38px; }
  .method { grid-template-columns:1fr; gap:40px; }.method-intro,.faq-title { position:static; }.method-card { min-height:270px; }
  .about { grid-template-columns:1fr; }.about-mark { max-width:650px; }.faq { grid-template-columns:1fr; gap:45px; }
}

@media (max-width: 560px) {
  .hero { min-height:820px; }.eyebrow { font-size:9px; }.hero h1 { font-size:67px; }html[lang="en"] .hero h1 { font-size:62px; }.hero-copy { font-size:15px; margin-top:27px; }
  .brief-box { padding:5px 5px 5px 15px; }.brief-input { font-size:12px; height:39px; }.brief-action { width:43px; height:43px; }.brief-action svg { width:18px; height:18px; }.service-suggestions { width:calc(100vw - 24px); max-height:340px; padding:6px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; overflow-y:auto; border-radius:16px; }.suggestion-item { min-height:70px; padding:10px; }.suggestion-item strong { font-size:12px; }.suggestion-item i { display:none; }
  .hero-tags button { font-size:10px; }.project-art { min-height:430px; }.art-aurora .aurora-ring { width:210px; }.aurora-type { font-size:49px; }.phone { width:154px; height:330px; }.phone h4 { font-size:19px; }.phone-orb { width:88px; margin-top:35px; }.phone-back b { font-size:42px; }
  .art-motion span { font-size:46px; }.editorial-orbits { width:215px; }.orbit-middle { inset:-20px; }.orbit-outer { inset:-42px; }.pack { width:135px; height:230px; padding:14px; }.pack-brand b { font-size:26px; }.coffee-mark { width:52px; }.coffee-bean { width:57px; }
  .method-card h3 { font-size:43px; }.portfolio-toolbar { align-items:flex-start; flex-direction:column; }.portfolio-filters { gap:6px; }.portfolio-filters button { padding:8px 11px; font-size:10px; }.portfolio-controls { align-self:flex-end; margin-top:-49px; }.portfolio-item { width:82vw; }.portfolio-card-art { height:270px; }.portfolio-card-meta h3 { font-size:22px; }
  .faq summary { font-size:17px; }.faq details p { padding-right:15px; }.contact { padding-block:110px 90px; }.contact h2 { font-size:58px; }.contact-actions { flex-direction:column; }.primary-action,.secondary-action { width:100%; justify-content:center; }.social-links { width:100%; justify-content:center; gap:7px; }.social-action { width:46px; height:46px; }.social-action svg { width:20px; height:20px; }.qr-dialog-panel { padding:30px 20px; }.qr-placeholder { width:210px; }.footer-top { flex-direction:column; }.footer-top p { margin:0; }.footer-logo { margin-block:55px 35px; }.footer-bottom { flex-direction:column; }
}

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