:root {
  --ink: #161619;
  --muted: #6f6f76;
  --paper: #f5f5f7;
  --line: rgba(22, 22, 25, .13);
  --violet: #8057ec;
  --blue: #6ea8ed;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: 'Plus Jakarta Sans', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;
  --mono: 'DM Mono', monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }

.ambient { position: fixed; z-index: -1; width: 44vw; height: 44vw; border-radius: 50%; filter: blur(95px); opacity: .15; pointer-events: none; }
.ambient--violet { top: -25vw; right: -19vw; background: var(--violet); }
.ambient--blue { top: 47vh; left: -25vw; background: var(--blue); opacity: .11; }

.site-header {
  height: 82px; max-width: 1440px; margin: auto; padding: 0 clamp(24px, 5.5vw, 80px);
  display: flex; align-items: center; justify-content: space-between; gap: 35px;
}
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 500; letter-spacing: -.06em; white-space: nowrap; }
.brand b { font-weight: 800; }
.brand-mark { width: 26px; height: 26px; flex-shrink: 0; }
.brand-mark svg { display: block; width: 100%; height: 100%; }
.nav { display: flex; gap: clamp(20px, 3vw, 45px); margin-left: auto; margin-right: 30px; }
.nav a, .nav-cta { font-size: 12px; font-weight: 700; letter-spacing: -.02em; transition: opacity .2s ease; }
.nav a:hover { opacity: .5; }
.nav-cta { display: inline-flex; align-items: center; gap: 7px; padding: 10px 0; border-bottom: 1px solid var(--ink); }
.nav-cta span { font-size: 16px; font-weight: 400; transition: transform .2s ease; }.nav-cta:hover span { transform: translate(2px, -2px); }
.menu-button { display: none; border: 0; background: transparent; padding: 8px 0 8px 8px; cursor: pointer; }
.menu-button span { display: block; width: 24px; height: 1.5px; margin: 5px 0; background: var(--ink); transition: transform .25s ease; }

.hero { min-height: min(775px, calc(100vh - 82px)); max-width: 1440px; margin: auto; padding: 72px clamp(24px, 8.4vw, 122px) 66px; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(42px, 7vw, 115px); }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 26px; color: #515157; font: 500 10px/1.2 var(--mono); letter-spacing: .035em; text-transform: uppercase; }
.eyebrow span { width: 6px; height: 6px; border-radius: 50%; background: var(--violet); box-shadow: 0 0 0 4px rgba(128, 87, 236, .14); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { margin-bottom: 0; font-weight: 700; letter-spacing: -.08em; line-height: .95; }
h1 { font-size: clamp(58px, 6.65vw, 105px); }
h1 em, h2 em { font-family: var(--serif); font-weight: 400; letter-spacing: -.1em; }
.hero-text { max-width: 380px; margin: 34px 0; color: var(--muted); font-size: 15px; font-weight: 500; line-height: 1.68; letter-spacing: -.025em; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 16px 20px 16px 23px; border-radius: 100px; font-size: 12px; font-weight: 800; letter-spacing: -.03em; transition: transform .25s ease, box-shadow .25s ease; }
.button span { font-size: 18px; font-weight: 400; transition: transform .25s ease; }.button:hover { transform: translateY(-2px); }.button:hover span { transform: translateX(3px); }
.button--dark { color: #fff; background: var(--ink); box-shadow: 0 8px 22px rgba(0, 0, 0, .13); }.button--dark:hover { box-shadow: 0 11px 26px rgba(0, 0, 0, .2); }
.text-link { display: inline-flex; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 700; letter-spacing: -.03em; }.text-link span { font-size: 16px; }

.hero.fold-story { --fold-progress:0; --fold-width:238px; --fold-height:438px; --fold-twist:42deg; --fold-left-rotate:-42deg; --fold-right-rotate:42deg; --fold-left-shift:29%; --fold-right-shift:-29%; --hinge-opacity:1; --fold-signal-opacity:1; min-height:174vh; max-width:none; margin:0; padding:0; display:block; }.fold-stage { position:sticky; top:0; min-height:100svh; max-width:1440px; margin:auto; padding:72px clamp(24px, 8.4vw, 122px) 66px; display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:clamp(42px,7vw,115px); }.fold-progress { position:absolute; z-index:2; bottom:24px; left:50%; width:74px; height:2px; overflow:hidden; border-radius:2px; background:rgba(22,22,25,.13); transform:translateX(-50%); }.fold-progress span { display:block; width:100%; height:100%; background:var(--violet); transform:scaleX(var(--fold-progress)); transform-origin:left; }.fold-art { overflow:visible; }.fold-device { position:relative; z-index:1; width:var(--fold-width); height:var(--fold-height); display:flex; perspective:1500px; filter:drop-shadow(0 34px 32px rgba(51,39,125,.24)); transition:none; }.fold-device__half { position:absolute; top:0; bottom:0; width:51%; padding:7px; border:1px solid rgba(255,255,255,.85); background:linear-gradient(125deg,#f5f5f9,#a2a0ad); box-shadow:inset 1px 1px 1px rgba(255,255,255,.95); backface-visibility:hidden; }.fold-device__half--left { left:0; border-radius:29px 8px 8px 29px; transform:translateX(var(--fold-left-shift)) rotateY(var(--fold-left-rotate)); transform-origin:right center; }.fold-device__half--right { right:0; border-radius:8px 29px 29px 8px; transform:translateX(var(--fold-right-shift)) rotateY(var(--fold-right-rotate)); transform-origin:left center; }.fold-device__hinge { position:absolute; z-index:4; top:2%; bottom:2%; left:calc(50% - 4px); width:8px; border-radius:8px; background:linear-gradient(90deg,#6e6b78,#f2f2f5 42%,#777480); box-shadow:0 0 8px rgba(22,20,32,.25); opacity:var(--hinge-opacity); }.fold-interface { position:relative; width:100%; height:100%; overflow:hidden; background:#5c48c4; }.fold-interface--left { border-radius:23px 3px 3px 23px; background:radial-gradient(circle at 28% 13%,#e9e8ff 0,transparent 15%),linear-gradient(148deg,#b9ccff 1%,#806be4 46%,#3a278e 100%); }.fold-interface--right { border-radius:3px 23px 23px 3px; background:radial-gradient(circle at 66% 18%,#d1ebff 0,transparent 14%),linear-gradient(148deg,#937ce9 0,#5f46bd 57%,#251768 100%); }.fold-interface::before { content:''; position:absolute; inset:-8%; background:radial-gradient(ellipse at 45% 55%,transparent 23%,rgba(255,255,255,.3) 23.5%,transparent 24.4%),radial-gradient(ellipse at 45% 55%,transparent 42%,rgba(255,255,255,.19) 42.5%,transparent 43.3%); transform:rotate(-19deg); }.interface-time { position:absolute; top:18px; left:16px; color:rgba(255,255,255,.85); font:10px var(--mono); }.interface-wave { position:absolute; display:block; border:1px solid rgba(255,255,255,.42); border-radius:50%; }.interface-wave--one { width:114%; height:37%; left:-36%; bottom:21%; transform:rotate(18deg); }.interface-wave--two { width:75%; height:24%; left:-18%; bottom:36%; transform:rotate(18deg); }.interface-copy { position:absolute; left:15px; bottom:19px; color:#fff; font-size:clamp(16px,1.8vw,26px); font-weight:800; line-height:.88; letter-spacing:-.09em; }.interface-grid { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.46) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.46) 1px,transparent 1px); background-size:21px 21px; mask-image:linear-gradient(to bottom,transparent,black); }.interface-dot { position:absolute; z-index:1; top:18px; right:16px; width:8px; height:8px; border-radius:50%; background:#c5eeff; box-shadow:0 0 0 5px rgba(197,238,255,.12); }.interface-takt { position:absolute; z-index:1; right:15px; bottom:17px; color:#fff; font-size:clamp(21px,2.7vw,37px); font-weight:800; letter-spacing:-.1em; }.fold-signal { position:absolute; z-index:5; right:4%; bottom:8%; display:flex; align-items:center; gap:8px; color:#53525c; font:10px var(--mono); letter-spacing:.02em; opacity:var(--fold-signal-opacity); }.fold-signal span { width:24px; height:1px; background:currentColor; }.fold-art .art-caption--top { top:5%; right:5%; }.fold-art .art-caption--bottom { bottom:5%; left:0; }

.hero-art { position: relative; min-height: 480px; aspect-ratio: 1.05; display: grid; place-items: center; }
.art-orbit { position: absolute; border: 1px solid rgba(61, 58, 86, .18); border-radius: 50%; transform: rotate(-26deg); }.art-orbit--one { width: 79%; height: 79%; }.art-orbit--two { width: 104%; height: 55%; }.art-orbit--three { width: 51%; height: 112%; border-color: rgba(61, 58, 86, .12); }
.device-card { position: relative; z-index: 1; width: 54%; min-width: 240px; padding: 8px; border: 1px solid rgba(255,255,255,.8); border-radius: 21px; background: rgba(255,255,255,.5); box-shadow: 0 30px 65px rgba(77, 71, 120, .18), inset 0 1px 0 rgba(255,255,255,.9); transform: rotate(-8deg); backdrop-filter: blur(18px); }
.device-top { height: 20px; display: flex; align-items: center; gap: 4px; padding: 0 4px; }.device-top span { width: 4px; height: 4px; border-radius: 50%; background: rgba(49,45,61,.34); }
.device-screen { position: relative; height: 265px; overflow: hidden; border-radius: 13px; padding: 24px 19px; color: white; background: #5f4cc9; }
.screen-light { position: absolute; top: -51%; left: -25%; width: 130%; height: 104%; border-radius: 50%; background: radial-gradient(ellipse at center, #cbd3ff, #907cec 32%, transparent 69%); opacity: .9; }.screen-grid { position: absolute; inset: 0; opacity: .34; background-image: linear-gradient(rgba(255,255,255,.32) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.32) 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(to bottom, black, transparent); }
.device-screen p { position: relative; z-index: 1; margin: 0; font-size: clamp(22px, 2.35vw, 35px); font-weight: 700; letter-spacing: -.09em; line-height: .88; }.screen-star { position: absolute; z-index: 1; bottom: 18px; right: 18px; font-size: 30px; }
.device-base { width: 89%; height: 5px; margin: 8px auto 0; border-radius: 4px; background: linear-gradient(90deg,#b7b7be,#fff,#b7b7be); }
.art-caption { position: absolute; z-index: 2; color: #5c5b62; font: 10px var(--mono); letter-spacing: .03em; }.art-caption--top { top: 13%; right: 2%; display: flex; align-items: center; gap: 6px; transform: rotate(-4deg); }.art-caption--top span { width: 6px; height: 6px; border-radius: 50%; background: #70a5ef; }.art-caption--bottom { bottom: 11%; left: -3%; transform: rotate(-5deg); }.art-caption--bottom span { color: var(--violet); }
.cursor-dot { position: absolute; z-index: 3; top: 59%; right: 15%; width: 16px; height: 16px; border: 2px solid #fff; border-radius: 50%; background: #5946c7; box-shadow: 0 4px 13px rgba(53,38,147,.4); }

.device-stack { position: relative; z-index: 1; width: 78%; height: 84%; }.laptop-render { position: absolute; left: 3%; bottom: 16%; width: 84%; height: 50%; transform: perspective(820px) rotateX(9deg) rotateZ(-8deg); }.laptop-render__screen { height: 92%; padding: 8px; border: 1px solid rgba(255,255,255,.8); border-radius: 15px 15px 5px 5px; background: linear-gradient(145deg,#c6c4cf,#fafafa); box-shadow: 0 22px 36px rgba(51,47,91,.18); }.laptop-render__screen span { display: block; width: 100%; height: 100%; border-radius: 9px 9px 2px 2px; background: radial-gradient(circle at 32% 20%, #e9ddff, transparent 22%), linear-gradient(135deg,#7866dd 1%,#b5c4ff 54%,#e4dbff); }.laptop-render__base { width: 108%; height: 9%; margin-left: -4%; border-radius: 1px 1px 12px 12px; background: linear-gradient(#f6f6fa,#a9a9b3); box-shadow: 0 9px 12px rgba(49,47,69,.16); }.phone-render { position: absolute; right: 12%; bottom: 7%; width: 39%; aspect-ratio: .48; padding: 7px; border: 1px solid rgba(255,255,255,.86); border-radius: 28px; background: linear-gradient(130deg,#eeeef2,#85828e 130%); box-shadow: 0 32px 50px rgba(49,41,111,.26), inset 1px 1px 1px #fff; transform: rotate(8deg); }.phone-render__screen { position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 22px; background: #241e56; }.phone-render__island { position: absolute; z-index: 2; top: 13px; left: 50%; width: 37%; height: 13px; border-radius: 12px; background: #17161c; transform: translateX(-50%); }.phone-render__glow { position: absolute; top: -19%; left: -52%; width: 165%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at center, #c8f0ff 0,#99a6ff 18%,#8757e8 39%,transparent 67%); }.phone-render__grid { position: absolute; inset: 0; opacity: .26; background-image: linear-gradient(rgba(255,255,255,.42) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.42) 1px,transparent 1px); background-size: 20px 20px; }.phone-render__screen span { position: absolute; left: 14px; bottom: 16px; color: white; font-size: clamp(20px,2.6vw,32px); font-weight: 800; letter-spacing: -.1em; }.phone-render::after { content: ''; position: absolute; top: 18%; right: -3px; width: 3px; height: 13%; border-radius: 3px; background: #7b7883; }

.trust-bar { min-height: 80px; padding: 20px clamp(24px, 8.4vw, 122px); display: flex; align-items: center; gap: 24px; color: #5b5b60; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.trust-bar p { margin: 0; font: 500 11px var(--mono); letter-spacing: .01em; }.trust-rule { flex: 1; height: 1px; background: var(--line); }.trust-bar span { color: var(--violet); }
.section { padding: 145px clamp(24px, 8.4vw, 122px); }.section-intro { max-width: 920px; }.section h2, .approach h2 { font-size: clamp(42px, 5.1vw, 79px); }
.device-areas { padding-bottom: 120px; }.device-areas .section-intro > p:not(.eyebrow) { max-width:500px;margin:25px 0 0;color:var(--muted);font-size:13px;font-weight:500;line-height:1.7;letter-spacing:-.025em; }.device-areas__grid { display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:58px; }.device-area { min-height:330px;padding:20px;border:1px solid rgba(22,22,25,.08);border-radius:19px;background:#eeeeF1;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease; }.device-area:hover { transform:translateY(-5px);box-shadow:0 16px 27px rgba(25,23,44,.1); }.device-area:nth-child(2) { background:#e8e8ed; }.device-area:nth-child(3) { color:#fff;background:radial-gradient(circle at 52% 21%,#8373dc,transparent 32%),linear-gradient(145deg,#2c2b36,#484558); }.device-area:nth-child(4) { background:linear-gradient(155deg,#e7eff7,#e3dff1); }.device-area > div:last-child > span { color:#85848c;font:10px var(--mono); }.device-area:nth-child(3) > div:last-child > span { color:rgba(255,255,255,.48); }.device-area h3 { margin:10px 0 7px;font-size:19px;letter-spacing:-.065em; }.device-area p { margin:0;color:#6d6c75;font-size:10px;font-weight:600;line-height:1.5;letter-spacing:-.025em; }.device-area:nth-child(3) p { color:rgba(255,255,255,.64); }.hardware { position:relative;align-self:center;width:155px;height:180px; }.hardware::after { content:'';position:absolute;z-index:0;left:50%;top:52%;width:104px;height:104px;border-radius:50%;background:radial-gradient(circle,rgba(143,119,240,.37),rgba(143,119,240,0) 68%);transform:translate(-50%,-50%); }.hardware i,.hardware b { position:absolute;display:block;z-index:1; }.hardware--phone i { left:48px;top:17px;width:59px;height:132px;padding:5px;border:1px solid rgba(255,255,255,.85);border-radius:16px;background:linear-gradient(135deg,#f2f2f6,#9693a0);box-shadow:12px 15px 22px rgba(41,36,80,.2);transform:rotate(8deg); }.hardware--phone i::after { content:'';display:block;width:100%;height:100%;border-radius:11px;background:radial-gradient(circle at 24% 20%,#e9efff,transparent 17%),linear-gradient(145deg,#9a82ee,#443a99); }.hardware--phone b { top:26px;left:67px;width:22px;height:7px;border-radius:10px;background:#24222b;transform:rotate(8deg); }.hardware--tablet i { left:17px;top:36px;width:122px;height:91px;padding:5px;border:1px solid rgba(255,255,255,.85);border-radius:12px;background:linear-gradient(135deg,#f7f7fa,#a3a2aa);box-shadow:12px 15px 20px rgba(41,36,80,.15);transform:rotate(-8deg); }.hardware--tablet i::after { content:'';display:block;width:100%;height:100%;border-radius:8px;background:radial-gradient(circle at 60% 30%,#f9ddff,transparent 16%),linear-gradient(145deg,#a4d1f5,#7965d6); }.hardware--tablet b { right:23px;bottom:47px;width:8px;height:8px;border-radius:50%;background:rgba(31,28,38,.55); }.hardware--notebook i { left:12px;top:39px;width:132px;height:89px;padding:5px;border:1px solid rgba(255,255,255,.67);border-radius:8px 8px 2px 2px;background:linear-gradient(135deg,#c0bfcb,#fafaff);box-shadow:10px 18px 28px rgba(3,2,12,.32);transform:perspective(400px) rotateX(-7deg) rotateZ(-4deg); }.hardware--notebook i::after { content:'';display:block;width:100%;height:100%;border-radius:4px;background:radial-gradient(circle at 28% 20%,#e8d5ff,transparent 19%),linear-gradient(145deg,#8471db,#5149a9); }.hardware--notebook b { left:3px;top:128px;width:150px;height:10px;border-radius:1px 1px 10px 10px;background:linear-gradient(#f7f7fa,#aaa9b6);transform:rotate(-4deg); }.hardware--desktop i { left:17px;top:27px;width:122px;height:93px;padding:5px;border:1px solid rgba(255,255,255,.9);border-radius:10px;background:linear-gradient(135deg,#e8e7ed,#95939e);box-shadow:9px 15px 20px rgba(41,36,80,.16); }.hardware--desktop i::after { content:'';display:block;width:100%;height:100%;border-radius:6px;background:radial-gradient(circle at 35% 32%,#e3efff,transparent 15%),linear-gradient(145deg,#8bc4ed,#8773d9); }.hardware--desktop b { left:75px;top:120px;width:8px;height:25px;border-radius:0 0 3px 3px;background:#92909b;box-shadow:-22px 24px 0 9px #a3a1aa; }
.services-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 14px; margin-top: 70px; }.service-card { position: relative; min-height: 475px; padding: 28px; border-radius: 20px; background: #ececef; display: flex; flex-direction: column; justify-content: space-between; transition: transform .3s ease, box-shadow .3s ease; }.service-card:hover { transform: translateY(-7px); box-shadow: 0 18px 35px rgba(28,25,47,.1); }.service-card--large { color: white; background: radial-gradient(circle at 50% 23%,rgba(134,117,249,.7),transparent 27%),linear-gradient(150deg, #24222c, #383744 68%, #5a52a8); }.service-number { font: 500 10px var(--mono); opacity: .56; }.service-card h3 { margin: 0 0 13px; font-size: 22px; letter-spacing: -.065em; }.service-card p { min-height: 68px; margin-bottom: 21px; color: #696970; font-size: 12px; font-weight: 500; line-height: 1.6; letter-spacing: -.025em; }.service-card--large p { color: rgba(255,255,255,.65); }.service-card a { font-size: 11px; font-weight: 800; letter-spacing: -.03em; }.service-card a span { margin-left: 5px; font-size: 14px; }.service-icon { height: 130px; position: relative; align-self: center; }.service-icon--screen { width: 130px; }.mini-phone { position: absolute; left: 37px; top: 0; width: 56px; height: 126px; padding: 4px; border: 1px solid rgba(255,255,255,.64); border-radius: 14px; background: linear-gradient(135deg,#e9e7ef,#92909a); box-shadow: 11px 14px 18px rgba(20,17,46,.22); transform: rotate(9deg); }.mini-phone i { display:block; height: 100%; border-radius: 10px; background: radial-gradient(circle at 25% 18%,#e6dcff,transparent 18%),linear-gradient(150deg,#8a74e5,#37308d); }.mini-phone b { position: absolute; top: 9px; left: 50%; width: 21px; height: 6px; border-radius: 10px; background: #201d2a; transform: translateX(-50%); }.service-icon--laptop { width: 144px; }.service-icon--laptop span { position:absolute; left: 14px; top: 17px; width: 116px; height: 78px; padding: 5px; border: 1px solid rgba(80,76,96,.25); border-radius: 7px 7px 2px 2px; background: linear-gradient(135deg,#d4d3d9,#fafafe); transform: perspective(300px) rotateX(-7deg); }.service-icon--laptop span::after { content:''; display:block; width:100%; height:100%; border-radius:3px; background: radial-gradient(circle at 25% 20%,#d1ecff,transparent 20%),linear-gradient(135deg,#a48cf0,#d7d5ff); }.service-icon--laptop i { position:absolute; left: 5px; top: 95px; width: 134px; height: 10px; border-radius: 1px 1px 9px 9px; background: linear-gradient(#f1f1f5,#a8a7b0); }.service-icon--liquid { width: 130px; }.service-icon--liquid span,.service-icon--liquid i,.service-icon--liquid b { position:absolute; display:block; border-radius:50% 50% 58% 58%; background:linear-gradient(145deg,#c8ebff,#76a8ec); box-shadow:inset 4px 4px 8px rgba(255,255,255,.6),6px 8px 13px rgba(54,83,153,.16); }.service-icon--liquid span { width:54px;height:54px;left:14px;top:31px; }.service-icon--liquid i { width:35px;height:35px;right:16px;top:6px; }.service-icon--liquid b { width:23px;height:23px;right:28px;bottom:15px; }

.repair-map { padding: 0 clamp(24px, 8.4vw, 122px) 145px; display: grid; grid-template-columns: .86fr 1.12fr .75fr; align-items: center; gap: clamp(30px,5vw,75px); }.repair-map__intro h2 { font-size: clamp(38px,4.1vw,64px); }.repair-map__intro > p:not(.eyebrow) { max-width: 330px; margin: 27px 0 0; color:var(--muted); font-size:13px;line-height:1.7;font-weight:500;letter-spacing:-.025em; }.repair-canvas { position:relative; min-height:520px; overflow:hidden; border-radius:24px; background: radial-gradient(circle at 72% 18%,rgba(142,119,240,.62),transparent 19%),radial-gradient(circle at 20% 80%,rgba(133,213,246,.73),transparent 31%),#e3e3e9; }.repair-canvas::before { content:''; position:absolute; inset:22px; border:1px solid rgba(54,49,80,.14); border-radius:16px; background-image:linear-gradient(rgba(57,52,82,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(57,52,82,.09) 1px,transparent 1px); background-size:25px 25px; }.schematic-phone { position:absolute; left:50%;top:50%;width:42%;aspect-ratio:.49;padding:8px;border:1px solid rgba(255,255,255,.95);border-radius:28px;background:linear-gradient(135deg,#f7f7f8,#a7a6b3);box-shadow:0 34px 44px rgba(54,47,101,.23),inset 2px 2px 2px #fff;transform:translate(-50%,-50%) rotate(-9deg); }.schematic-phone__screen { width:100%;height:100%;position:relative;overflow:hidden;border-radius:21px;background:linear-gradient(150deg,#c6dcff,#7264d1 55%,#342c77); }.schematic-phone__screen::before { content:''; position:absolute;inset:0;background:radial-gradient(circle at 55% 32%,rgba(244,221,255,.9),transparent 19%),radial-gradient(circle at 24% 70%,rgba(184,243,255,.64),transparent 24%); }.schematic-phone__screen span { position:absolute;border:1px solid rgba(255,255,255,.7);border-radius:50%; }.schematic-phone__screen span:nth-child(1){width:60%;height:60%;left:20%;top:17%;}.schematic-phone__screen span:nth-child(2){width:94%;height:94%;left:3%;top:1%;opacity:.45;}.schematic-phone__screen span:nth-child(3){width:33%;height:33%;left:33%;top:31%;background:rgba(255,255,255,.2);}.schematic-phone__island { position:absolute;z-index:2;top:15px;left:50%;width:38%;height:13px;border-radius:20px;background:#27252e;transform:translateX(-50%); }.repair-tag { position:absolute;z-index:2;padding:8px 11px;border:1px solid rgba(255,255,255,.78);border-radius:20px;background:rgba(255,255,255,.5);box-shadow:0 9px 18px rgba(47,42,74,.1);color:#45434f;font:10px var(--mono);backdrop-filter:blur(8px); }.repair-tag i { display:inline-block;width:5px;height:5px;margin-right:6px;border-radius:50%;background:#8067e5;vertical-align:1px; }.repair-tag::after { content:''; position:absolute; width:50px;height:1px;background:rgba(74,65,120,.34); }.repair-tag--screen { left:7%;top:19%; }.repair-tag--screen::after { top:100%;left:72%;transform:rotate(36deg);transform-origin:left; }.repair-tag--battery { right:7%;top:36%; }.repair-tag--battery::after { top:50%;right:100%;transform:rotate(-12deg);transform-origin:right; }.repair-tag--housing { left:9%;bottom:22%; }.repair-tag--housing::after { left:75%;top:-1px;transform:rotate(-27deg);transform-origin:left; }.repair-tag--data { right:10%;bottom:18%; }.repair-tag--data::after { right:76%;top:-4px;transform:rotate(31deg);transform-origin:right; }.repair-list { border-top:1px solid var(--line); }.repair-list div { display:grid;grid-template-columns:28px 1fr;gap:8px;padding:16px 0;border-bottom:1px solid var(--line); }.repair-list span { padding-top:3px;color:#7e7c86;font:10px var(--mono); }.repair-list p { margin:0;font-size:12px;font-weight:700;letter-spacing:-.035em;line-height:1.4; }

.repair-canvas { background:radial-gradient(circle at 19% 80%,rgba(166,216,245,.72),transparent 27%),radial-gradient(circle at 83% 22%,rgba(204,185,255,.8),transparent 26%),#e9e9ee; }.repair-canvas::before { display:none; }.service-composition { position:absolute;inset:0;transform:rotate(-3deg); }.repair-part { position:absolute;display:block;box-shadow:0 22px 30px rgba(44,40,77,.17); }.repair-part--shell { left:33%;top:15%;width:39%;height:68%;padding:7px;border:1px solid rgba(255,255,255,.92);border-radius:31px;background:linear-gradient(135deg,#f4f4f7,#a9a7b4);transform:rotate(11deg); }.repair-part--shell i { display:block;width:100%;height:100%;border-radius:25px;background:linear-gradient(150deg,#d8d7df,#888692);box-shadow:inset 5px 5px 12px rgba(255,255,255,.58); }.repair-part--display { left:10%;top:23%;width:37%;height:59%;padding:5px;border:1px solid rgba(255,255,255,.92);border-radius:23px;background:linear-gradient(135deg,#fbfbfd,#adaab6);transform:rotate(-17deg); }.repair-part--display i { display:block;width:100%;height:100%;border-radius:18px;background:radial-gradient(circle at 27% 23%,#edf5ff,transparent 15%),radial-gradient(circle at 65% 75%,#bba8ff,transparent 22%),linear-gradient(145deg,#78b9e8,#715bc9 61%,#302577); }.repair-part--display b { position:absolute;top:13px;left:50%;width:35%;height:9px;border-radius:12px;background:#24222a;transform:translateX(-50%); }.repair-part--battery { right:8%;top:29%;width:25%;height:38%;padding:6px;border-radius:16px;background:linear-gradient(145deg,#32313c,#15151c);transform:rotate(13deg); }.repair-part--battery i { display:block;width:100%;height:100%;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:linear-gradient(145deg,#4b495b,#1b1a23); }.repair-part--battery b { left:50%;top:-5px;width:26%;height:9px;border-radius:3px 3px 0 0;background:#292831;transform:translateX(-50%); }.repair-part--board { left:18%;bottom:7%;width:27%;height:19%;padding:7px;border-radius:15px;background:linear-gradient(145deg,#6e65bc,#312c79);transform:rotate(9deg); }.repair-part--board::before { content:'';position:absolute;inset:12px;background:repeating-linear-gradient(90deg,rgba(198,244,255,.9) 0 3px,transparent 3px 10px),repeating-linear-gradient(rgba(198,244,255,.45) 0 2px,transparent 2px 12px);opacity:.7; }.repair-part--board i,.repair-part--board b,.repair-part--board span { position:absolute;z-index:1;width:15px;height:15px;border-radius:3px;background:#b7f0ef;box-shadow:0 2px 6px rgba(0,0,0,.2); }.repair-part--board i { left:17px;top:15px; }.repair-part--board b { right:18px;bottom:14px; }.repair-part--board span { left:50%;bottom:18px;transform:translateX(-50%); }.repair-part--screw { right:13%;bottom:16%;width:19px;height:19px;border:2px solid #8d8c99;border-radius:50%;background:radial-gradient(circle,#e6e6eb 18%,#b5b4be 22%,#f5f5f8 55%,#92919a 59%);box-shadow:5px 8px 12px rgba(42,39,61,.15); }.composition-mark { position:absolute;right:12%;bottom:9%;color:#5e5b6b;font:10px/1.35 var(--mono);letter-spacing:.02em;text-transform:uppercase;transform:rotate(-3deg); }

.approach { min-height: 790px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; overflow: hidden; background: #e8e8eb; }.approach-visual { position: relative; min-height: 670px; display: grid; place-items: center; background: radial-gradient(circle at 56% 47%, #d8c9ff, transparent 28%), radial-gradient(circle at 31% 63%, #b9dcfa, transparent 38%), #e2e2e6; }.halo { position: absolute; width: min(33vw, 490px); height: min(33vw, 490px); border-radius: 50%; background: linear-gradient(155deg, #8068e7 7%, #b7beff 43%, #f8d4ff 87%); filter: blur(11px); opacity: .75; }.glass-sphere { position: relative; width: min(23vw, 330px); height: min(23vw, 330px); border-radius: 50%; background: linear-gradient(135deg, rgba(255,255,255,.98) 1%, rgba(255,255,255,.08) 38%, rgba(140,124,255,.51) 76%, rgba(225,162,255,.85)); border: 1px solid rgba(255,255,255,.84); box-shadow: inset 19px 20px 38px rgba(255,255,255,.65), inset -19px -22px 50px rgba(81,62,184,.35), 0 26px 52px rgba(62,46,134,.18); backdrop-filter: blur(5px); }.glass-sphere span { position: absolute; width: 40%; height: 19%; top: 14%; left: 17%; border-radius: 50%; background: rgba(255,255,255,.8); filter: blur(6px); transform: rotate(-32deg); }.visual-label { position: absolute; padding: 9px 12px; border: 1px solid rgba(255,255,255,.7); border-radius: 20px; background: rgba(255,255,255,.35); box-shadow: 0 8px 20px rgba(44,39,74,.08); color: #484650; font: 10px var(--mono); backdrop-filter: blur(7px); }.visual-label--a { top: 27%; left: 20%; }.visual-label--b { right: 16%; top: 46%; }.visual-label--c { bottom: 24%; left: 27%; }.approach-copy { max-width: 590px; padding: 80px clamp(30px, 9vw, 130px) 80px clamp(35px, 7vw, 100px); }.approach-copy > p:not(.eyebrow) { margin: 30px 0 42px; color: var(--muted); font-size: 14px; font-weight: 500; line-height: 1.76; letter-spacing: -.03em; }.approach-points { display: flex; gap: 42px; padding-top: 25px; border-top: 1px solid var(--line); }.approach-points div { display: flex; align-items: center; gap: 10px; }.approach-points b { font-size: 25px; letter-spacing: -.08em; }.approach-points span { color: #67676d; font-size: 10px; font-weight: 600; line-height: 1.4; }

.statement { min-height: 630px; display: flex; flex-direction: column; justify-content: center; text-align: center; }.statement .eyebrow { justify-content: center; }.statement h2 { font-size: clamp(50px, 7vw, 110px); }.statement-note { margin: 33px 0 0; color: var(--muted); font-size: 13px; font-weight: 500; }
.news { padding-top: 0; }.news-heading { display:flex;align-items:end;justify-content:space-between;gap:36px; }.news-heading > p { max-width:294px;margin:0;color:var(--muted);font-size:13px;font-weight:500;line-height:1.68;letter-spacing:-.025em; }.news-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:57px; }.news-card { min-height:365px;padding:23px;border:1px solid rgba(22,22,25,.1);border-radius:19px;background:#eeeef1;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s ease,box-shadow .25s ease; }.news-card:hover { transform:translateY(-5px);box-shadow:0 17px 29px rgba(35,31,56,.11); }.news-card:nth-child(2) { color:white;border-color:transparent;background:radial-gradient(circle at 75% 18%,rgba(177,167,255,.8),transparent 20%),linear-gradient(145deg,#2d2c38,#4f4693); }.news-card:nth-child(3) { background:linear-gradient(145deg,#e7f0fa,#e4e0f1); }.news-card__top { display:flex;justify-content:space-between;align-items:center;color:#7d7c85;font:10px var(--mono);letter-spacing:.01em;text-transform:uppercase; }.news-card:nth-child(2) .news-card__top { color:rgba(255,255,255,.58); }.news-card__top span:last-child { padding:7px 9px;border:1px solid rgba(22,22,25,.12);border-radius:20px; }.news-card:nth-child(2) .news-card__top span:last-child { border-color:rgba(255,255,255,.2); }.news-card__content time { display:block;margin-bottom:17px;color:#777680;font:10px var(--mono); }.news-card:nth-child(2) time { color:rgba(255,255,255,.56); }.news-card h3 { max-width:310px;margin:0 0 14px;font-size:23px;line-height:1.02;letter-spacing:-.065em; }.news-card p { max-width:340px;margin:0 0 20px;color:#686770;font-size:11px;font-weight:500;line-height:1.64;letter-spacing:-.018em; }.news-card:nth-child(2) p { color:rgba(255,255,255,.68); }.news-card a,.news-footer a { font-size:11px;font-weight:800;letter-spacing:-.03em; }.news-card a span,.news-footer a span { margin-left:5px;font-size:14px; }.news-footer { display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:25px;color:#7c7b84;font:10px var(--mono);letter-spacing:.01em; }.news-footer a { color:var(--ink); }.news-footer a:hover { opacity:.58; }
.contact { padding-top: 0; }.contact-card { position: relative; overflow: hidden; padding: clamp(42px, 7vw, 90px); border-radius: 24px; color: white; background: radial-gradient(circle at 82% 20%, #9f8cff 0%, rgba(145,123,255,.2) 22%, transparent 40%), radial-gradient(circle at 32% 113%, #8bd2ef 0%, transparent 27%), linear-gradient(135deg,#242229 4%,#292638 63%,#373166); }.contact-card::after { content: ''; position: absolute; right: -11vw; bottom: -16vw; width: 43vw; height: 43vw; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.04), 0 0 0 90px rgba(255,255,255,.03); }.contact-card > * { position: relative; z-index: 1; }.contact-card .eyebrow { color: rgba(255,255,255,.63); }.contact-card .eyebrow span { background: #a7d9ff; box-shadow: 0 0 0 4px rgba(167,217,255,.14); }.contact-card h2 { font-size: clamp(47px, 6vw, 93px); }.contact-card > p:not(.eyebrow) { max-width: 390px; margin: 26px 0 29px; color: rgba(255,255,255,.65); font-size: 14px; font-weight: 500; line-height: 1.7; }.button--light { color: #28262e; background: #fff; }.contact-card small { display: block; margin-top: 23px; color: rgba(255,255,255,.38); font-size: 9px; }
.contact-details { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 25px; color: rgba(255,255,255,.58); font: 10px/1.5 var(--mono); letter-spacing: .01em; }.contact-details a { color: #fff; transition: opacity .2s ease; }.contact-details a:hover { opacity: .65; }.contact-details span::before { content: '•'; margin-right: 9px; color: #a7d9ff; }
.contact-form { max-width:650px; margin-top:31px; }.contact-form label { display:block; }.contact-form label > span { display:block; margin:0 0 7px; color:rgba(255,255,255,.55); font:9px var(--mono); letter-spacing:.02em; text-transform:uppercase; }.contact-form input,.contact-form textarea { width:100%; border:1px solid rgba(255,255,255,.24); border-radius:10px; outline:none; color:#fff; background:rgba(255,255,255,.08); font:500 12px/1.55 var(--sans); transition:border-color .2s ease,background .2s ease; }.contact-form input { height:41px; padding:0 12px; }.contact-form textarea { min-height:94px; padding:11px 12px; resize:vertical; }.contact-form input:focus,.contact-form textarea:focus { border-color:rgba(185,224,255,.9); background:rgba(255,255,255,.13); }.contact-form__row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }.contact-form__trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.contact-form__actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:17px; }.contact-form .button { border:0; cursor:pointer; }.contact-form .button:disabled { cursor:wait; opacity:.62; }.telegram-link { padding-bottom:4px; border-bottom:1px solid rgba(255,255,255,.48); color:rgba(255,255,255,.85); font-size:11px; font-weight:800; letter-spacing:-.03em; }.telegram-link:hover { color:#fff; }.telegram-link span { margin-left:4px; font-size:14px; }.contact-form__status { min-height:18px; margin:16px 0 0; color:rgba(200,235,255,.85); font-size:11px !important; line-height:1.5 !important; }
footer { padding: 38px clamp(24px, 8.4vw, 122px) 45px; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 20px; color: #66666e; border-top: 1px solid var(--line); }footer .brand { color: var(--ink); } footer p { margin: 0; font-size: 10px; font-weight: 600; letter-spacing: -.02em; }.legal { text-align: right; color: #8a8a90; font-weight: 500; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .75s cubic-bezier(.2,.7,.2,1), transform .75s cubic-bezier(.2,.7,.2,1); }.reveal.is-visible { opacity: 1; transform: translateY(0); }.services-grid .reveal:nth-child(2) { transition-delay: .1s; }.services-grid .reveal:nth-child(3) { transition-delay: .2s; }

@media (max-width: 850px) { .site-header { height: 70px; }.nav, .nav-cta { display: none; }.menu-button { display: block; }.site-header.menu-open .nav { position: absolute; z-index: 5; top: 70px; left: 0; right: 0; display: flex; flex-direction: column; gap: 0; padding: 13px 24px 24px; background: rgba(245,245,247,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }.site-header.menu-open .nav a { padding: 15px 0; font-size: 16px; }.site-header.menu-open .menu-button span:first-child { transform: translateY(3.25px) rotate(45deg); }.site-header.menu-open .menu-button span:last-child { transform: translateY(-3.25px) rotate(-45deg); }.hero { min-height: auto; grid-template-columns: 1fr; padding-top: 60px; gap: 15px; }.hero-art { max-width: 510px; width: 100%; min-height: 400px; margin: auto; }.services-grid { grid-template-columns: 1fr 1fr; }.service-card--large { grid-column: span 2; min-height: 410px; }.approach { grid-template-columns: 1fr; }.approach-visual { min-height: 440px; }.halo { width: 300px; height: 300px; }.glass-sphere { width: 220px; height: 220px; }.approach-copy { max-width: none; padding: 75px 10vw; }.contact-card::after { width: 60vw; height: 60vw; } }
@media (max-width: 550px) { .hero { padding-top: 37px; }.hero-text { margin: 25px 0 29px; }.hero-art { min-height: 340px; }.device-card { min-width: 200px; }.device-screen { height: 215px; }.art-caption--bottom { left: 0; bottom: 7%; }.trust-bar { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; }.trust-bar p { font-size: 9px; }.trust-rule { display: none; }.trust-bar p:nth-of-type(2) { text-align: right; }.section { padding-top: 95px; padding-bottom: 95px; }.services-grid { grid-template-columns: 1fr; margin-top: 43px; }.service-card, .service-card--large { grid-column: auto; min-height: 390px; }.service-icon { transform: scale(.85); }.approach-visual { min-height: 390px; }.visual-label--a { left: 10%; }.visual-label--b { right: 7%; }.visual-label--c { left: 14%; }.approach-points { gap: 21px; }.approach-points div { gap: 7px; }.approach-points b { font-size: 20px; }.approach-points span { font-size: 9px; }.statement { min-height: 440px; }.contact-card { padding: 47px 30px; border-radius: 17px; }.contact-card h2 { font-size: 49px; } footer { grid-template-columns: 1fr; gap: 14px; }.legal { text-align: left; line-height: 1.5; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

@media (max-width: 850px) {
  .hero.fold-story { min-height: auto; }
  .fold-stage { position: relative; min-height: auto; padding: 58px clamp(24px, 8.4vw, 80px) 55px; grid-template-columns: 1fr; gap: 12px; }
  .fold-art { max-width: 510px; width: 100%; min-height: 430px; margin: auto; }
  .fold-progress, .fold-signal { display: none; }
  .repair-map { grid-template-columns: 1fr 1fr; padding-bottom: 95px; }
  .repair-map__intro { grid-column: 1 / -1; max-width: 580px; }
  .repair-canvas { min-height: 480px; }
  .repair-list { align-self: center; }
  .device-stack { width: 69%; }
  .device-areas__grid { grid-template-columns: repeat(2, 1fr); }
  .device-area { min-height: 305px; }
  .news-heading { align-items:start;flex-direction:column;gap:21px; }
  .news-grid { grid-template-columns:repeat(2,1fr); }
  .news-card:first-child { grid-column:span 2;min-height:320px; }
}

@media (max-width: 550px) {
  .fold-stage { padding-top: 37px; padding-bottom: 27px; }
  .fold-art { min-height: 355px; }
  .fold-device { width: min(73vw, 285px) !important; height: 355px !important; }
  .fold-device__half { padding: 5px; }
  .fold-device__half--left { border-radius: 23px 6px 6px 23px; }
  .fold-device__half--right { border-radius: 6px 23px 23px 6px; }
  .fold-interface--left { border-radius: 18px 2px 2px 18px; }
  .fold-interface--right { border-radius: 2px 18px 18px 2px; }
  .fold-art .art-caption--bottom { left: 0; bottom: 2%; }
  .device-stack { width: 73%; height: 90%; }
  .laptop-render { left: -6%; bottom: 17%; width: 95%; }
  .phone-render { right: 1%; width: 43%; bottom: 7%; }
  .phone-render__screen span { left: 10px; bottom: 12px; font-size: 22px; }
  .art-caption--top { top: 6%; right: 0; }
  .device-areas { padding-bottom: 74px; }
  .device-areas__grid { gap: 9px; margin-top: 38px; }
  .device-area { min-height: 252px; padding: 14px; border-radius: 15px; }
  .device-area h3 { margin-top: 7px; font-size: 16px; }
  .device-area p { font-size: 9px; }
  .device-area > div:last-child > span { font-size: 9px; }
  .hardware { width: 125px; height: 132px; transform: scale(.72); transform-origin: center top; margin-bottom: -35px; }
  .news { padding-top:0; }
  .news-grid { grid-template-columns:1fr;gap:10px;margin-top:36px; }
  .news-card,.news-card:first-child { grid-column:auto;min-height:285px;padding:19px;border-radius:15px; }
  .news-card h3 { font-size:20px; }
  .news-footer { align-items:flex-start;flex-direction:column;gap:14px;margin-top:19px; }
  .contact-form__row { grid-template-columns:1fr; gap:12px; }
  .contact-form__actions { align-items:flex-start; flex-direction:column; gap:14px; }
  .repair-map { grid-template-columns: 1fr; gap: 29px; padding: 0 24px 95px; }
  .repair-map__intro { grid-column: auto; }
  .repair-canvas { min-height: 400px; border-radius: 18px; }
  .schematic-phone { width: 40%; }
  .repair-tag { padding: 7px 9px; font-size: 9px; }
  .repair-tag::after { width: 32px; }
  .repair-tag--screen { left: 5%; top: 17%; }
  .repair-tag--battery { right: 4%; top: 37%; }
  .repair-tag--housing { left: 6%; bottom: 18%; }
  .repair-tag--data { right: 5%; bottom: 15%; }
  .repair-list { width: 100%; }
}

/* News archive, article pages and directions */
.news-card__links { display:flex; flex-wrap:wrap; align-items:center; gap:14px 18px; }
.news-card__source { opacity:.68; }
.news-card__source:hover, .news-card__read:hover { opacity:.58; }

.location { display:grid; grid-template-columns:.82fr 1.05fr .65fr; align-items:center; gap:clamp(30px,5vw,78px); padding-top:0; }
.location-copy > p:not(.eyebrow) { max-width:330px; margin:28px 0; color:var(--muted); font-size:13px; font-weight:500; line-height:1.72; letter-spacing:-.025em; }
.location-copy h2 { font-size:clamp(42px,4.7vw,73px); }
.location-copy address { margin:0 0 21px; font-style:normal; color:#4f4f57; font:11px/1.7 var(--mono); }
.location-phone { display:inline-flex; gap:9px; align-items:center; padding-bottom:5px; border-bottom:1px solid var(--ink); font-size:12px; font-weight:800; letter-spacing:-.035em; }
.location-phone span { font-size:15px; transition:transform .2s ease; }.location-phone:hover span { transform:translateX(3px); }
.location-map { position:relative; min-height:480px; overflow:hidden; border:1px solid rgba(22,22,25,.09); border-radius:24px; background:linear-gradient(135deg,#e5e7eb,#e9e8ed); box-shadow:0 18px 32px rgba(45,42,66,.08); }
.map-visual { position:absolute; inset:0; overflow:hidden; background:radial-gradient(circle at 78% 18%,rgba(192,181,255,.73),transparent 19%),radial-gradient(circle at 23% 76%,rgba(150,217,243,.7),transparent 24%),#e2e3e7; }
.map-visual::before { content:''; position:absolute; inset:-10%; opacity:.35; background:repeating-linear-gradient(30deg,transparent 0 34px,rgba(71,69,82,.14) 35px 36px,transparent 37px 70px); transform:rotate(-10deg); }
.map-road { position:absolute; z-index:1; display:block; border-radius:100px; background:#f8f8fa; box-shadow:0 0 0 1px rgba(98,94,113,.13),0 3px 8px rgba(50,46,73,.08); }
.map-road--a { width:125%; height:24px; top:47%; left:-17%; transform:rotate(-23deg); }.map-road--b { width:118%; height:17px; top:61%; left:-8%; transform:rotate(38deg); }.map-road--c { width:95%; height:14px; top:23%; right:-35%; transform:rotate(83deg); }
.map-orbit { position:absolute; z-index:1; border:1px solid rgba(91,85,135,.22); border-radius:50%; }.map-orbit--a { width:38%; height:38%; top:23%; left:28%; }.map-orbit--b { width:65%; height:65%; top:10%; left:14%; border-color:rgba(91,85,135,.12); }
.map-pin { position:absolute; z-index:3; top:42%; left:49%; width:42px; height:42px; border:8px solid #f9f9fc; border-radius:50% 50% 50% 0; background:#5d47cd; box-shadow:0 10px 20px rgba(53,42,130,.3); transform:rotate(-45deg); }.map-pin i { position:absolute; inset:9px; border-radius:50%; background:#d9efff; }.map-katy,.map-route { position:absolute; z-index:2; color:#5b5965; font:10px var(--mono); letter-spacing:.01em; }.map-katy { top:24%; left:13%; }.map-route { right:7%; bottom:27%; transform:rotate(-23deg); }
.map-card { position:absolute; z-index:4; right:18px; bottom:18px; left:18px; display:grid; grid-template-columns:10px 1fr auto; align-items:center; gap:10px; padding:14px 15px; border:1px solid rgba(255,255,255,.75); border-radius:14px; background:rgba(255,255,255,.82); box-shadow:0 11px 26px rgba(49,45,76,.15); backdrop-filter:blur(15px); transition:transform .22s ease,box-shadow .22s ease; }.map-card:hover { transform:translateY(-3px); box-shadow:0 15px 30px rgba(49,45,76,.2); }.map-card__dot { width:8px; height:8px; border-radius:50%; background:#745beb; box-shadow:0 0 0 4px rgba(116,91,235,.14); }.map-card b,.map-card small { display:block; }.map-card b { margin-bottom:3px; font-size:11px; letter-spacing:-.04em; }.map-card small { color:#696872; font:9px var(--mono); }.map-card strong { font-size:17px; font-weight:400; }
.route-list { border-top:1px solid var(--line); }.route-list > p { margin:0; padding:0 0 15px; color:#75747d; font:10px var(--mono); letter-spacing:.02em; text-transform:uppercase; }.route-list a { display:grid; grid-template-columns:27px 1fr auto; align-items:center; gap:10px; padding:14px 0; border-top:1px solid var(--line); font-size:12px; font-weight:750; letter-spacing:-.035em; transition:opacity .2s ease; }.route-list a:hover { opacity:.55; }.route-list a b { font-size:14px; font-weight:400; }.route-mark { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; color:#fff; font:11px var(--mono); }.route-mark--google { background:linear-gradient(135deg,#4385f4 0 47%,#34a853 48%); }.route-mark--apple { background:#2a2931; }.route-mark--waze { background:#56b9ed; }

.archive-hero { min-height:470px; display:flex; flex-direction:column; justify-content:center; }.archive-hero h1 { font-size:clamp(57px,7vw,112px); }.archive-hero__copy { max-width:450px; margin:32px 0 0; color:var(--muted); font-size:14px; font-weight:500; line-height:1.75; letter-spacing:-.03em; }.archive-list { padding-top:0; }.archive-list__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; padding-bottom:26px; border-bottom:1px solid var(--line); }.archive-list__heading p { max-width:410px; margin:0; color:var(--muted); font-size:12px; font-weight:500; line-height:1.65; }.archive-list__heading a { padding-bottom:4px; border-bottom:1px solid var(--ink); font-size:11px; font-weight:800; letter-spacing:-.03em; white-space:nowrap; }.news-archive-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; padding-top:30px; }.news-archive-grid .news-card { min-height:340px; }.news-archive-grid .news-card:nth-child(4n) { background:linear-gradient(145deg,#f0eff2,#e0ebf3); }

.article-main { max-width:1040px; margin:0 auto; padding:38px clamp(24px,8.4vw,122px) 125px; }.article-content { max-width:780px; margin:auto; }.article-back { display:inline-block; margin:13px 0 82px; padding-bottom:5px; border-bottom:1px solid var(--line); color:#55545d; font:10px var(--mono); letter-spacing:.02em; }.article-back:hover { color:var(--ink); border-color:var(--ink); }.article-meta { display:flex; flex-wrap:wrap; gap:13px; align-items:center; margin-bottom:23px; color:#77767f; font:10px var(--mono); letter-spacing:.02em; text-transform:uppercase; }.article-meta span { padding:6px 8px; border:1px solid rgba(22,22,25,.12); border-radius:20px; }.article-content h1 { font-size:clamp(49px,6.2vw,90px); }.article-lead { max-width:620px; margin:34px 0 48px; color:#62616a; font-size:16px; font-weight:500; line-height:1.76; letter-spacing:-.032em; }.article-art { position:relative; min-height:300px; margin:0 -6vw 71px; overflow:hidden; border-radius:23px; background:radial-gradient(circle at 21% 76%,rgba(137,210,240,.72),transparent 28%),radial-gradient(circle at 77% 17%,rgba(181,163,255,.78),transparent 25%),#e2e2e8; }.article-art--studio span { position:absolute; left:50%; top:50%; width:260px; height:170px; border:1px solid rgba(255,255,255,.95); border-radius:28px; background:linear-gradient(145deg,#efeff3,#9f9da8); box-shadow:0 28px 45px rgba(49,45,80,.25),inset 2px 2px 3px #fff; transform:translate(-50%,-50%) rotate(-9deg); }.article-art--studio span::before { content:''; position:absolute; inset:16px; border:1px solid rgba(77,73,94,.18); border-radius:18px; background:radial-gradient(circle at 20% 24%,#d7efff,transparent 11%),linear-gradient(145deg,#9279e5,#493995); }.article-art--studio i,.article-art--studio b { position:absolute; display:block; border-radius:50%; background:#24232b; box-shadow:inset 2px 2px 2px rgba(255,255,255,.1); }.article-art--studio i { width:28px; height:28px; left:calc(50% - 84px); top:calc(50% - 40px); }.article-art--studio b { width:20px; height:20px; left:calc(50% - 48px); top:calc(50% - 40px); }
.article-art--event { background:radial-gradient(circle at 50% 48%,#d4d6ff 0,rgba(198,183,255,.65) 18%,transparent 44%),linear-gradient(135deg,#e1e3ee,#dfe0e7); }.article-art--event span,.article-art--event i,.article-art--event b { position:absolute; display:block; left:50%; top:50%; border:1px solid rgba(82,73,145,.25); border-radius:50%; transform:translate(-50%,-50%); }.article-art--event span { width:160px; height:160px; box-shadow:0 0 0 23px rgba(255,255,255,.2),0 0 0 48px rgba(124,102,224,.08); }.article-art--event i { width:80px; height:80px; background:radial-gradient(circle at 34% 29%,#fff,transparent 16%),linear-gradient(145deg,#a195ff,#5141bd); box-shadow:0 16px 31px rgba(68,53,167,.28); }.article-art--event b { width:20px; height:20px; background:#fff; border:0; }.article-art--domain { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:0; color:#2d2a52; background:radial-gradient(circle at 24% 77%,rgba(123,205,240,.68),transparent 26%),radial-gradient(circle at 73% 23%,rgba(176,152,255,.73),transparent 26%),#e4e5ec; }.article-art--domain span,.article-art--domain i { position:relative; z-index:1; font-style:normal; letter-spacing:-.09em; }.article-art--domain span { font-size:clamp(42px,6vw,74px); font-weight:800; }.article-art--domain i { margin-top:-9px; font:clamp(34px,4.5vw,57px) var(--serif); }.article-art--domain b { position:absolute; width:62%; height:1px; bottom:35%; background:rgba(53,48,88,.21); transform:rotate(-6deg); }.article-body { max-width:610px; }.article-body h2 { margin:54px 0 18px; font-size:clamp(29px,3.1vw,40px); }.article-body p { margin:0 0 19px; color:#595961; font-size:14px; font-weight:500; line-height:1.83; letter-spacing:-.025em; }.article-body strong { color:var(--ink); }.source-note { display:flex; flex-direction:column; gap:9px; margin-top:50px; padding:21px 22px; border:1px solid rgba(22,22,25,.1); border-radius:16px; background:#eeedf1; }.source-note span { color:#76757e; font:10px var(--mono); text-transform:uppercase; letter-spacing:.02em; }.source-note a { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:12px; font-weight:800; letter-spacing:-.035em; }.source-note a:hover { opacity:.6; }.source-note b { font-size:15px; font-weight:400; }

@media (max-width:850px) {
  .location { grid-template-columns:1fr 1fr; }.location-copy { grid-column:1 / -1; max-width:600px; }.route-list { align-self:center; }.news-archive-grid { grid-template-columns:repeat(2,1fr); }.article-art { margin-right:0; margin-left:0; }
}
@media (max-width:550px) {
  .location { grid-template-columns:1fr; gap:28px; }.location-copy { grid-column:auto; }.location-map { min-height:375px; border-radius:18px; }.route-list { width:100%; }.archive-hero { min-height:390px; }.archive-list__heading { align-items:flex-start; flex-direction:column; gap:18px; }.news-archive-grid { grid-template-columns:1fr; gap:10px; padding-top:20px; }.news-archive-grid .news-card { min-height:285px; }.article-main { padding-top:19px; padding-bottom:83px; }.article-back { margin-bottom:58px; }.article-lead { margin:26px 0 38px; font-size:14px; }.article-art { min-height:235px; margin-bottom:49px; border-radius:17px; }.article-art--studio span { width:200px; height:132px; }.article-art--domain span { font-size:43px; }.article-art--domain i { font-size:34px; }.article-body h2 { margin-top:42px; }.article-body p { font-size:13px; }.source-note { margin-top:38px; padding:18px; }
}

/* Music toggle */
.music-toggle { position: fixed; z-index: 40; right: 24px; bottom: 24px; width: 50px; height: 50px; border: 0; display: grid; place-items: center; border-radius: 50%; color: #fff; background: rgba(22,22,25,.9); box-shadow: 0 10px 26px rgba(22,22,25,.28); cursor: pointer; backdrop-filter: blur(8px); transition: transform .2s ease, background .2s ease; }
.music-toggle:hover { transform: translateY(-2px); background: #161619; }
.music-toggle:focus-visible { outline: 2px solid var(--violet); outline-offset: 3px; }
.music-toggle__icon { width: 22px; height: 22px; }
.music-toggle__waves { opacity: 0; transform-origin: 5px 12px; transition: opacity .25s ease; }
.music-toggle__mute { opacity: 1; transition: opacity .25s ease; }
.music-toggle.is-playing .music-toggle__waves { opacity: 1; }
.music-toggle.is-playing .music-toggle__mute { opacity: 0; }
.music-toggle.is-error { animation: musicError .45s ease; }
@keyframes musicError { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }

@media (max-width: 550px) { .music-toggle { right: 16px; bottom: 16px; width: 44px; height: 44px; } .music-toggle__icon { width: 19px; height: 19px; } }
@media (prefers-reduced-motion: reduce) { .music-toggle__waves, .music-toggle__mute { transition: none; } }

/* Interactive device menu */
.device-area { cursor: pointer; }
.device-area__trigger { all: unset; display: contents; cursor: pointer; }
.device-area__trigger:focus-visible ~ .device-area__indicator { outline: 2px solid var(--violet); outline-offset: 2px; }
.device-area > .device-area__trigger > * { position: relative; z-index: 2; }

.device-area__indicator { position: absolute; top: 18px; right: 18px; z-index: 2; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: rgba(22,22,25,.08); color: inherit; font: 400 16px/1 var(--sans); transition: transform .3s ease, background .2s ease; }
.device-area:nth-child(3) .device-area__indicator { background: rgba(255,255,255,.14); }
.device-area:hover .device-area__indicator { background: rgba(128,87,236,.2); }
.device-area.is-open .device-area__indicator { transform: rotate(45deg); background: rgba(128,87,236,.3); color: #fff; }

.device-area::before { content: ''; position: absolute; inset: 0; z-index: 1; opacity: 0; border-radius: inherit; transition: opacity .3s ease; pointer-events: none; }
.device-area:hover::before { opacity: 1; }
.device-area[data-device="iphone"]::before { background: radial-gradient(circle at 30% 12%, rgba(128,87,236,.34), transparent 62%); }
.device-area[data-device="ipad"]::before { background: radial-gradient(circle at 30% 12%, rgba(110,168,237,.36), transparent 62%); }
.device-area[data-device="macbook"]::before { background: radial-gradient(circle at 30% 12%, rgba(163,143,255,.42), transparent 62%); }
.device-area[data-device="mac"]::before { background: radial-gradient(circle at 30% 12%, rgba(120,196,237,.36), transparent 62%); }

.device-menu { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; justify-content: center; gap: 7px; padding: 20px; border-radius: 19px; background: linear-gradient(150deg, rgba(30,28,38,.97), rgba(58,53,80,.97)); opacity: 0; transform: translateY(10px); pointer-events: none; transition: opacity .22s ease, transform .22s ease; }
.device-area.is-open .device-menu { opacity: 1; transform: translateY(0); pointer-events: auto; }
.device-menu a { padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.07); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: -.02em; transition: background .18s ease, transform .18s ease; }
.device-menu a:hover, .device-menu a:focus-visible { background: rgba(255,255,255,.2); transform: translateX(3px); outline: none; }

@media (max-width: 550px) {
  .device-menu { padding: 16px; gap: 6px; border-radius: 15px; }
  .device-menu a { font-size: 11px; padding: 9px 10px; }
  .device-area__indicator { top: 14px; right: 14px; width: 23px; height: 23px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .device-area__indicator, .device-menu, .device-area::before { transition: none; } }
