.svc { padding: 140px 0 120px; overflow: hidden; }
.svc-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; align-items: end; }
.svc-head .h2 { margin-top: 18px; }
.svc-side { display: grid; gap: 28px; justify-items: start; }
.car-ctrl { display: flex; align-items: center; gap: 14px; }
.car-b { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line-ui); background: var(--paper); display: grid; place-items: center; cursor: pointer; transition: background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease); }
.car-b svg { width: 18px; height: 18px; }
.car-b:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.car-b:disabled { opacity: .35; pointer-events: none; }
.car-n { font-size: 14px; color: var(--mute); min-width: 64px; text-align: center; font-variant-numeric: tabular-nums; }
.car-n b { color: var(--ink); font-weight: 650; }
.car { margin-top: 56px; }
.car-track { list-style: none; margin: 0; padding: 0 max(var(--gutter), calc((100vw - var(--max)) / 2)); display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: max(var(--gutter), calc((100vw - var(--max)) / 2)); scrollbar-width: none; cursor: grab; }
.car-track::-webkit-scrollbar { display: none; }
.car-track.drag { cursor: grabbing; scroll-snap-type: none; }
.sv { flex: 0 0 clamp(290px, 27vw, 380px); scroll-snap-align: start; }
.car-sp { flex: 0 0 0; }
.sv-vis { position: relative; height: 340px; border-radius: var(--r-l); background: var(--mist); overflow: hidden; display: grid; place-items: center; padding: 28px; transition: transform .6s var(--ease); }
.sv:hover .sv-vis { transform: translateY(-4px); }
.sv-n { margin: 22px 0 6px; font-family: var(--serif); font-style: italic; font-size: 17px; color: var(--mute); }
.sv h3 { margin: 0; font-size: 21px; font-weight: 660; letter-spacing: -0.015em; }
.sv > p:last-child { margin: 8px 0 0; font-size: 15px; color: var(--ink-2); line-height: 1.55; max-width: 32ch; }

.ui { background: #fff; border-radius: 14px; box-shadow: 0 1px 2px rgba(14,14,14,.05), 0 14px 34px -16px rgba(14,14,14,.22); font-size: 12.5px; color: var(--ink); }
.ln { display: block; height: 7px; border-radius: 4px; background: #E9E9E6; margin-top: 7px; }
.w95 { width: 95%; } .w90 { width: 90%; } .w80 { width: 80%; } .w70 { width: 70%; }

.v-web { place-items: end; padding: 0; }
.mini-br { position: absolute; left: 22px; top: 40px; width: calc(100% - 64px); border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 18px 40px -18px rgba(14,14,14,.35); }
.mini-br { border: 1px solid rgba(14,14,14,.08); }
.mb-bar { display: flex; align-items: center; gap: 5px; height: 26px; padding: 0 10px; background: #fff; border-bottom: 1px solid #ECECE9; font-size: 10.5px; color: #555; }
.mb-bar i { width: 7px; height: 7px; border-radius: 50%; background: #D9D9D5; }
.mb-bar i:nth-child(1) { background: #EE6A5F; } .mb-bar i:nth-child(2) { background: #F5BD4F; } .mb-bar i:nth-child(3) { background: #61C454; }
.mb-bar span { margin-left: 14px; padding: 2px 10px; background: #F2F2EF; border-radius: 5px; }
.mini-br img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; }
.mini-ph { position: absolute; right: 18px; bottom: 22px; width: 92px; aspect-ratio: 9 / 19; border-radius: 18px; background: #0C0C0C; padding: 4px; box-shadow: 0 20px 40px -14px rgba(14,14,14,.45); }
.mini-ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 14px; }

.v-mail .ui { width: 100%; padding: 6px 0; }
.ui-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 10px 16px 12px; border-bottom: 1px solid #EFEFEC; }
.ui-h b { font-size: 13px; }
.ui-h > span { font-size: 11.5px; color: var(--mute); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.m-row { display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; align-items: center; padding: 11px 16px; border-bottom: 1px solid #F3F3F0; }
.m-row:last-child { border-bottom: 0; }
.m-row .av { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--mist); font-weight: 680; font-size: 12px; }
.m-row b { display: block; font-size: 12.5px; font-weight: 600; }
.m-row small { display: block; color: var(--mute); font-size: 11.5px; }
.m-row time { font-size: 11px; color: var(--mute); }
.m-row.new b::after { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); margin-left: 6px; vertical-align: middle; }

.v-dom .ui { width: 100%; padding: 14px; display: grid; gap: 8px; }
.d-search { display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px; border-radius: 10px; border: 1.5px solid var(--ink); font-size: 14px; font-weight: 560; overflow: hidden; white-space: nowrap; }
.d-search svg { width: 16px; height: 16px; flex: none; }
.d-search b { color: var(--mute); font-weight: 560; margin-left: -8px; }
.d-res { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 9px; background: var(--mist); font-size: 12.5px; font-weight: 560; }
.d-res > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.d-res em { font-style: normal; display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 640; flex: none; }
.d-res em svg { width: 14px; height: 14px; color: var(--gold); }
.d-res.dim { background: transparent; color: var(--mute); padding-block: 6px; }
.d-res.dim em { color: var(--mute); font-weight: 520; }

.v-seo { gap: 12px; align-content: center; }
.serp, .ai, .ad { width: 100%; padding: 14px 16px; }
.s-src { display: flex; align-items: center; gap: 7px; font-size: 11.5px; color: var(--ink-2); }
.s-src i { width: 16px; height: 16px; border-radius: 50%; background: var(--ink); }
.s-t { display: block; margin-top: 6px; font-size: 14.5px; font-weight: 600; color: #1A3E9C; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ai { background: #fff; transform: translateX(16px); }
.ai-k { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 640; }
.ai-k svg { width: 13px; height: 13px; color: var(--gold); }
.ai-src { display: inline-block; margin-top: 10px; padding: 3px 9px; border-radius: 999px; background: var(--mist); font-size: 11px; font-weight: 560; }

.v-leads { gap: 10px; align-content: center; }
.note { width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 14px; }
.note:nth-child(2) { transform: translateX(14px) scale(.98); }
.note:nth-child(3) { transform: translateX(28px) scale(.96); opacity: .9; }
.note .ic { width: 34px; height: 34px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: #fff; }
.note .ic svg { width: 16px; height: 16px; }
.note b { display: block; font-size: 13px; font-weight: 640; }
.note small { color: var(--mute); font-size: 11.5px; }

.v-ads { gap: 12px; align-content: center; }
.ad-k { display: inline-block; font-size: 11px; font-weight: 700; margin-bottom: 6px; }
.bars { width: 100%; padding: 14px 16px; }
.b-k { font-size: 11.5px; font-weight: 640; }
.bb { display: flex; align-items: flex-end; gap: 8px; height: 78px; margin-top: 10px; }
.bb i { flex: 1; height: var(--h); border-radius: 5px 5px 2px 2px; background: #E4E4E0; }
.bb i.on { background: var(--gold); }

.v-help { gap: 14px; align-content: center; }
.chat { width: 100%; display: grid; gap: 10px; }
.chat p { margin: 0; font-size: 13px; line-height: 1.45; }
.chat .me { justify-self: end; max-width: 80%; padding: 10px 14px; border-radius: 16px 16px 4px 16px; background: var(--ink); color: #fff; }
.chat .us { justify-self: start; display: flex; gap: 8px; align-items: flex-end; max-width: 90%; }
.chat .us > span:last-child { padding: 10px 14px; border-radius: 16px 16px 16px 4px; background: #fff; box-shadow: 0 10px 24px -14px rgba(14,14,14,.3); }
.chat .av { width: 26px; height: 26px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--gold); color: var(--ink); font-size: 11px; font-weight: 720; }
.status { display: inline-flex; align-items: center; gap: 8px; justify-self: start; padding: 9px 14px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.status i { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(184,134,46,.18); }

.chart { width: 100%; padding: 16px; }
.ch-h { display: flex; justify-content: space-between; align-items: baseline; }
.ch-h b { font-size: 14px; }
.ch-h span { font-size: 11px; color: var(--mute); }
.chart svg { width: 100%; height: 120px; margin-top: 10px; display: block; }
.chart .ar { fill: rgba(184,134,46,.10); }
.chart .ln2 { fill: none; stroke: var(--gold); stroke-width: 2.2; vector-effect: non-scaling-stroke; }
.ch-f { display: flex; gap: 14px; margin-top: 10px; font-size: 11px; color: var(--ink-2); }
.ch-f i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #D3D3CF; margin-right: 5px; }
.ch-f i.g { background: var(--gold); }

.work { position: relative; height: 520vh; }
.w-pin { position: sticky; top: 0; height: 100vh; min-height: 640px; overflow: hidden; display: grid; grid-template-rows: auto 1fr; }
.w-head { padding-top: 104px; position: relative; z-index: 3; }
.w-head .h2 { margin-top: 14px; max-width: 12em; }
.w-names { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-36%); z-index: 0; pointer-events: none; }
.w-names { overflow: hidden; }
.w-names-in { display: flex; width: max-content; white-space: nowrap; font-size: clamp(96px, 12vw, 210px); font-weight: 760; letter-spacing: -0.05em; line-height: 1.1; color: #ECECE9; will-change: transform; animation: run 70s linear infinite; }
.w-names-in span { padding-right: .35em; }
@media (prefers-reduced-motion: reduce) { .w-names-in { animation: none; } }
.w-stage { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.w-glass { position: absolute; left: 50%; top: 54%; width: min(50vw, 780px); aspect-ratio: 16 / 10; transform: translate(-6%, -50%) rotate(2.5deg); border-radius: 22px; padding: 10px; background: rgba(255,255,255,.55); backdrop-filter: blur(18px) saturate(1.4); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 40px 80px -30px rgba(14,14,14,.35); }
.w-glass img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 14px; transition: opacity .45s var(--ease); }
.w-hand { position: absolute; left: 50%; bottom: -1vh; height: min(82vh, 980px); aspect-ratio: 800 / 1200; transform: translateX(-60%); }
.w-hand .hand { position: absolute; inset: 0; width: 100%; height: 100%; -webkit-mask: linear-gradient(180deg, #000 78%, transparent 98%); mask: linear-gradient(180deg, #000 78%, transparent 98%); }
.w-scr { position: absolute; left: 24.62%; top: 12.58%; width: 50%; height: 69.67%; border-radius: 8.5% / 4.1%; overflow: hidden; background: #fff; }
.w-scr { container-type: inline-size; }
.w-sb { position: absolute; left: 0; right: 0; top: 0; height: 11cqw; display: flex; align-items: center; justify-content: space-between; padding: 0 9cqw 0 11cqw; background: #fff; color: #0B0B0B; transition: background-color .45s var(--ease); }
.w-sb.light { color: #fff; }
.w-sb b { font-size: 3.8cqw; font-weight: 650; letter-spacing: -0.01em; }
.w-sb .sig { margin-left: auto; margin-right: 2.2cqw; width: 5cqw; height: auto; fill: currentColor; }
.w-sb .bat { width: 7.2cqw; height: auto; fill: currentColor; }
.w-scr img { position: absolute; left: 0; right: 0; top: 11cqw; width: 100%; height: calc(100% - 11cqw); object-fit: cover; object-position: top; transition: opacity .45s var(--ease); }
.w-scr .notch { position: absolute; left: 23.5%; top: 0; width: 53.5%; height: 3.6%; background: #0B0B0B; border-radius: 0 0 14px 14px / 0 0 12px 12px; }
.fade-out { opacity: 0 !important; }
.w-info { position: relative; z-index: 3; align-self: end; display: flex; justify-content: space-between; align-items: end; padding-bottom: 40px; pointer-events: none; }
.w-meta { background: rgba(255,255,255,.8); backdrop-filter: blur(10px); padding: 14px 18px; border-radius: 16px; border: 1px solid var(--line); pointer-events: auto; }
.w-k { margin: 0; font-size: 13px; color: var(--mute); }
.w-t { margin: 4px 0 0; font-size: 24px; font-weight: 680; letter-spacing: -0.02em; }
.w-h { margin: 2px 0 0; font-family: var(--serif); font-style: italic; font-size: 18px; color: #8A6420; }
.w-count { margin: 0; white-space: nowrap; flex: none; font-size: 14px; color: var(--mute); font-variant-numeric: tabular-nums; background: rgba(255,255,255,.8); padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line); }
.w-count b { color: var(--ink); }

.proof-s { padding: 140px 0 120px; }
.ps-head .h2 { margin-top: 18px; max-width: 14em; }
.logos { margin: 64px 0 56px; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.logos-in { list-style: none; margin: 0; padding: 0; display: flex; width: max-content; animation: run var(--dur, 38s) linear infinite; }
.logos-in li { padding-right: 72px; flex: none; }
.logos:hover .logos-in { animation-play-state: paused; }
.logos img { height: 30px; width: auto; filter: brightness(0); opacity: .55; transition: opacity .3s var(--ease); }
.logos img:hover { opacity: 1; }
.logos li { display: flex; align-items: center; }
.logos img[src*="cl-ubi"] { height: 46px; }
@keyframes run { to { transform: translateX(-50%); } }
.bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.bx { margin: 0; border: 1px solid var(--line); border-radius: var(--r-l); padding: 26px; display: grid; gap: 12px; align-content: start; text-decoration: none; color: inherit; background: var(--paper); transition: box-shadow .4s var(--ease), transform .4s var(--ease); }
a.bx:hover { box-shadow: var(--shadow-lift); transform: translateY(-3px); }
.bx-g { grid-row: span 2; align-content: space-between; }
.bx-top { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; }
.bx-top .gl { width: 26px; height: 26px; }
.bx-num { font-size: clamp(72px, 7vw, 112px); font-weight: 740; letter-spacing: -0.06em; line-height: .9; }
.bx-stars { display: flex; gap: 3px; color: var(--gold); }
.bx-stars svg { width: 20px; height: 20px; }
.bx-t { font-size: 15px; color: var(--ink-2); line-height: 1.5; }
.bx .link-ar { justify-self: start; }
a.bx:hover .link-ar { background-size: 100% 1px; }
.bx-r blockquote { margin: 0; font-size: 16px; line-height: 1.55; color: var(--ink); }
.bx-xl { grid-column: span 2; }
.bx-xl blockquote { font-size: clamp(19px, 1.6vw, 23px); letter-spacing: -0.01em; line-height: 1.45; }
.bx-r figcaption { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.bx-r figcaption img { width: 40px; height: 40px; border-radius: 50%; }
.bx-r figcaption b { display: block; font-size: 14px; }
.bx-r figcaption small { font-size: 13px; color: var(--mute); }
.bx-aw { background: var(--paper); }
.bx-aw .laurel { width: 44px; height: 44px; color: var(--gold); }
.bx-k { font-size: 13px; color: var(--mute); font-weight: 560; }
.bx-h { font-size: 34px; font-weight: 700; letter-spacing: -0.035em; line-height: 1.02; }
.bx-aw .bx-t { font-size: 14px; color: var(--mute); }
.bx-st { align-content: center; justify-items: start; }
.bx-st .bx-ic { width: 30px; height: 30px; color: var(--gold); }
.bx-st .bx-num { font-size: clamp(64px, 6vw, 92px); font-variant-numeric: tabular-nums; }

.offer { padding: 20px 10px; }
.offer-box { position: relative; overflow: hidden; border-radius: var(--r-xl); background: var(--night); color: var(--on-night); }
.o-vid { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .22; mix-blend-mode: screen; pointer-events: none; }
.o-in { position: relative; width: min(100% - 2 * var(--gutter), var(--max)); margin-inline: auto; padding: clamp(64px, 9vw, 130px) 0; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(40px, 6vw, 100px); align-items: start; }
.o-pre { margin: 34px 0 0; font-size: var(--fs-lede); color: var(--on-night-mute); }
.o-price { margin: 10px 0 0; font-size: clamp(96px, 13vw, 200px); font-weight: 740; letter-spacing: -0.065em; line-height: .86; }
.o-price .eur { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--gold-night); letter-spacing: 0; font-size: .7em; margin-left: .04em; }
.o-vat { margin: 18px 0 0; font-size: 15px; color: var(--on-night-mute); }
.o-cta { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.o-note { font-size: 14px; color: var(--on-night-mute); }
.o-r h3 { margin: 0 0 18px; font-size: 15px; font-weight: 600; color: var(--on-night-mute); }
.incl { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.12); }
.incl li { display: grid; grid-template-columns: 22px 1fr; gap: 14px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.incl b { display: block; font-size: 16.5px; font-weight: 620; color: var(--on-night); }
.incl li > span:last-child { font-size: 14.5px; color: var(--on-night-mute); line-height: 1.5; }
.tk { width: 18px; height: 18px; margin-top: 3px; border-radius: 50%; border: 1.5px solid var(--gold-night); position: relative; }
.tk::after { content: ''; position: absolute; left: 5px; top: 2.5px; width: 4px; height: 8px; border: solid var(--gold-night); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.o-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 30px; }
.o-facts b { display: block; font-size: 16px; font-weight: 640; }
.o-facts span { font-size: 14px; color: var(--on-night-mute); }
.o-res { margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); max-width: 520px; }
.o-res-k { margin: 0 0 14px; font-size: 13px; font-weight: 600; color: var(--on-night-mute); }
.o-res-l { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.o-res-l li { display: grid; grid-template-columns: 96px 1fr; gap: 14px; align-items: center; }
.o-res-l img { height: 18px; width: auto; max-width: 96px; object-fit: contain; object-position: left; filter: brightness(0) invert(1); opacity: .7; }
.o-res-l img.lg-ubi { height: 26px; }
.o-res-l span { font-size: 14px; line-height: 1.4; color: var(--on-night-mute); }
.o-res-l b { font-weight: 700; color: var(--gold-night); margin-right: 2px; }

.team { padding: 140px 0; }
.team-in { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: clamp(40px, 5vw, 80px); align-items: center; }
.team-fig { margin: 0; position: relative; border-radius: var(--r-l); overflow: hidden; }
.team-fig img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 30%; }
.team-fig figcaption { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; justify-content: space-between; gap: 12px; }
.who { display: grid; padding: 10px 14px; border-radius: 12px; background: rgba(255,255,255,.86); backdrop-filter: blur(8px); }
.who b { font-size: 14.5px; font-weight: 660; }
.who span { font-size: 12.5px; color: var(--ink-2); }
.who.r { text-align: right; }
.boxes { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.boxes li { padding: 14px 16px; border-radius: var(--r-m); background: var(--mist); display: flex; align-items: center; gap: 14px; }
.boxes .bi { width: 40px; height: 40px; flex: none; border-radius: 11px; display: grid; place-items: center; background: var(--paper); }
.boxes .bi svg { width: 20px; height: 20px; }
.boxes b { display: block; font-size: 15px; font-weight: 650; letter-spacing: -0.01em; }
.boxes small { display: block; font-size: 13.5px; color: var(--ink-2); line-height: 1.4; }
.team-r .h2 { margin-top: 18px; font-size: clamp(32px, 3.2vw, 48px); }
.team-r .lede { margin: 24px 0 34px; }

.faq { padding: 40px 0 140px; }
.faq-in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
.faq-l { position: sticky; top: 110px; }
.faq-l .h2 { margin-top: 18px; }
.faq-l .small a { color: var(--ink); }
.acc { border-top: 1px solid var(--line); }
.acc-i { border-bottom: 1px solid var(--line); }
.acc-i h3 { margin: 0; }
.acc-i button { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 0; background: none; border: 0; text-align: left; font-size: 18px; font-weight: 600; letter-spacing: -0.01em; cursor: pointer; color: var(--ink); }
.pm { position: relative; width: 14px; height: 14px; flex: none; }
.pm::before, .pm::after { content: ''; position: absolute; left: 0; top: 6px; width: 14px; height: 1.6px; background: currentColor; transition: transform .4s var(--ease); }
.pm::after { transform: rotate(90deg); }
[aria-expanded="true"] .pm::after { transform: rotate(0); }
.acc-p { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s var(--ease); }
.acc-p > div { overflow: hidden; }
.acc-p p { margin: 0 0 24px; color: var(--ink-2); max-width: 62ch; }
.acc-i.open .acc-p { grid-template-rows: 1fr; }

.final { padding: 60px 0 160px; text-align: center; }
.final-in { display: grid; justify-items: center; }
.final-h { margin: 22px 0 0; font-size: clamp(52px, 8.4vw, 132px); font-weight: 740; letter-spacing: -0.055em; line-height: .92; text-wrap: balance; }
.final .lede { margin: 30px auto 0; text-align: center; }
.final-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 38px; }

.foot { position: relative; overflow: hidden; background: var(--night); color: var(--on-night); margin: 0 10px 10px; border-radius: var(--r-xl); }
.f-light { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(520px circle at var(--mx, 70%) var(--my, 40%), rgba(217,176,104,.10), transparent 60%); transition: background .2s linear; }
.f-run { overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.08); padding: 16px 0; }
.f-run-b { border-bottom: 0; border-top: 1px solid rgba(255,255,255,.08); }
.f-run-in { display: flex; width: max-content; animation: run var(--dur, 46s) linear infinite; font-size: 14px; color: var(--on-night-mute); white-space: nowrap; }
.f-run-b .f-run-in { animation-direction: reverse; }
.f-run-in span { flex: none; padding-right: 48px; }
.f-run-in span::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--gold-night); margin-right: 48px; vertical-align: middle; }
.f-main { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr) auto; gap: 48px; align-items: center; padding: 110px 0 90px; }
.f-big { margin: 0; font-size: clamp(48px, 6.4vw, 104px); font-weight: 740; letter-spacing: -0.055em; line-height: .94; }
.f-contact { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 34px; }
.f-contact a { color: var(--on-night); text-decoration: none; font-size: 17px; font-weight: 560; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .4s var(--ease); }
.f-contact a:hover { background-size: 100% 1px; }
.slot { height: 280px; overflow: hidden; position: relative; -webkit-mask: linear-gradient(transparent, #000 30%, #000 70%, transparent); mask: linear-gradient(transparent, #000 30%, #000 70%, transparent); }
.slot-in { list-style: none; margin: 0; padding: 0; transition: transform .8s cubic-bezier(.7,0,.2,1); }
.slot-in li { height: 56px; display: flex; align-items: center; font-size: 34px; font-weight: 640; letter-spacing: -0.03em; color: rgba(242,242,240,.42); transition: color .6s var(--ease); white-space: nowrap; }
.slot-in li.on { color: var(--gold-night); }
.f-vert { writing-mode: vertical-rl; transform: rotate(180deg); display: inline-flex; align-items: center; gap: 14px; font-size: 13px; font-weight: 640; letter-spacing: .24em; text-transform: uppercase; color: var(--on-night); text-decoration: none; padding: 18px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; transition: border-color .3s var(--ease), color .3s var(--ease); }
.f-vert svg { width: 16px; height: 16px; transform: rotate(90deg); }
.f-vert:hover { border-color: var(--gold-night); color: var(--gold-night); }
.f-bot { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding: 28px 0 30px; border-top: 1px solid rgba(255,255,255,.08); font-size: 13.5px; color: var(--on-night-mute); }
.f-bot img { height: 16px; width: auto; }
.f-bot p { margin: 0; }
.f-bot a { color: var(--on-night-mute); }

@media (max-width: 1000px) {
  .svc-head { grid-template-columns: 1fr; }
  .bento { grid-template-columns: 1fr 1fr; }
  .bx-g { grid-row: auto; }
  .o-in { grid-template-columns: 1fr; }
  .team-in { grid-template-columns: 1fr; }
  .faq-in { grid-template-columns: 1fr; }
  .faq-l { position: static; }
  .f-main { grid-template-columns: 1fr; }
  .f-vert { writing-mode: horizontal-tb; transform: none; justify-self: start; }
  .f-vert svg { transform: none; }
  .w-glass { width: 78vw; top: 40%; transform: translate(-30%, -50%) rotate(2.5deg); }
  .w-hand { height: 70vh; bottom: 0; transform: translateX(-58%); }
}
@media (max-width: 620px) {
  .bento { grid-template-columns: 1fr; }
  .bx-xl { grid-column: auto; }
  .boxes { grid-template-columns: 1fr; }
  .o-facts { grid-template-columns: 1fr; }
  .slot-in li { font-size: 26px; height: 46px; }
  .slot { height: 230px; }
  .w-glass { display: none; }
  .w-hand { height: 62vh; bottom: 2vh; transform: translateX(-50%); }
  .w-info { align-items: end; gap: 10px; padding-bottom: 20px; }
  .w-meta { padding: 10px 14px; }
  .w-t { font-size: 19px; }
}
