/* LIFEFiX — уніфіковані стилі (дизайн Claude Design, чистий CSS без React/Babel) */

:root {
  --bg1:#FDF4E4; --bg2:#FAE7C9; --bg3:#F6E2C4;
  --glow1:rgba(225,198,143,.75); --glow2:rgba(111,97,52,.20);
  --ink:#2E2A1F; --ink-strong:#2A2619; --body:#57503A; --body2:#5F5740; --body3:#4C462F;
  --accent:#6F6134; --link-hover:#4E4423;
  --card:rgba(255,252,244,.55); --card-soft:rgba(255,252,244,.5); --card-strong:rgba(255,252,244,.66);
  --field:rgba(255,252,244,.72); --field-solid:rgba(255,252,244,.8);
  --card-br:rgba(255,255,255,.75); --br-soft:rgba(255,255,255,.7); --hi:rgba(255,255,255,.9);
  --chip:rgba(111,97,52,.12); --chip-br:rgba(111,97,52,.16); --chip-ink:#5A5236;
  --field-br:rgba(111,97,52,.22); --field-focus:rgba(111,97,52,.55); --ring:rgba(225,198,143,.5);
  --shadow:rgba(111,97,52,.55); --shadow-deep:rgba(84,72,36,.65);
  --hdr1:rgba(253,244,228,.86); --hdr2:rgba(253,244,228,.36); --hdr-br:rgba(255,255,255,.55);
  --bezel:linear-gradient(150deg,#FFFDF6,#EADCBD 60%,#D9C79C);
  --btn:#6F6134; --btn-ink:#FDF4E4; --btn-hover:#5B4F2A;
  --band:linear-gradient(160deg,#6F6134 0%,#5A4E29 100%);
  --band-ink:#FDF4E4; --band-ink2:#F2E4C6; --band-eyebrow:#E1C68F;
  --band-card:rgba(253,244,228,.10); --band-card-br:rgba(253,244,228,.22);
  --band-card-ink:#FFF8E8; --band-card-body:#EBDCBC; --band-quote:#F6E9CD;
  --footer-bg:rgba(253,244,228,.5); --footer-br:rgba(111,97,52,.16);
  --knob:rgba(255,253,246,.5); --knob-shape:#6F6134;
  --toggle-bg: rgba(255,252,244,.62); --toggle-br: rgba(255,255,255,.85);
  color-scheme: light;
}
:root[data-theme="dark"] {
  --bg1:#151412; --bg2:#0D0C0B; --bg3:#100F0E;
  --glow1:rgba(225,198,143,.16); --glow2:rgba(225,198,143,.09);
  --ink:#F4EEE0; --ink-strong:#FBF6EA; --body:#B7AE99; --body2:#ABA28D; --body3:#C6BDA6;
  --accent:#E1C68F; --link-hover:#F0DDB4;
  --card:rgba(255,248,230,.055); --card-soft:rgba(255,248,230,.045); --card-strong:rgba(255,248,230,.08);
  --field:rgba(255,248,230,.06); --field-solid:rgba(255,248,230,.08);
  --card-br:rgba(255,248,230,.10); --br-soft:rgba(255,248,230,.08); --hi:rgba(255,248,230,.05);
  --chip:rgba(225,198,143,.14); --chip-br:rgba(225,198,143,.18); --chip-ink:#DCC79A;
  --field-br:rgba(255,248,230,.14); --field-focus:rgba(225,198,143,.5); --ring:rgba(225,198,143,.18);
  --shadow:rgba(0,0,0,.6); --shadow-deep:rgba(0,0,0,.8);
  --hdr1:rgba(15,14,13,.88); --hdr2:rgba(15,14,13,.4); --hdr-br:rgba(255,248,230,.08);
  --bezel:linear-gradient(150deg,#3B372F,#24221E 60%,#15140F);
  --btn:#E1C68F; --btn-ink:#221F19; --btn-hover:#EFD9AC;
  --band:linear-gradient(160deg,#221F19 0%,#14130F 100%);
  --band-ink:#FBF6EA; --band-ink2:#D9CCAC; --band-eyebrow:#E1C68F;
  --band-card:rgba(255,248,230,.05); --band-card-br:rgba(255,248,230,.10);
  --band-card-ink:#FBF6EA; --band-card-body:#B7AE99; --band-quote:#E8DCBD;
  --footer-bg:rgba(255,248,230,.028); --footer-br:rgba(255,248,230,.08);
  --knob:rgba(42,39,33,.5); --knob-shape:#E1C68F;
  --toggle-bg: rgba(255,248,230,.16); --toggle-br: rgba(255,248,230,.28);
  color-scheme: dark;
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg2);
  color: var(--ink);
  font-family: Nunito, "Helvetica Neue", Helvetica, sans-serif;
  transition: background .5s ease, color .5s ease;
}
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--link-hover); }
input { font-family: inherit; }
img { max-width: 100%; }
::selection { background: #E1C68F; color: #2E2A1F; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@keyframes breathe { 0%,100% { transform: translate3d(0,0,0) scale(1); opacity:.55 } 50% { transform: translate3d(0,-14px,0) scale(1.06); opacity:.8 } }

.page-bg { position: relative; overflow: clip; background: linear-gradient(180deg, var(--bg1) 0%, var(--bg2) 42%, var(--bg3) 100%); }
.glow-a { position:absolute; top:-180px; left:50%; width:min(980px,120vw); height:760px; margin-left:calc(min(980px,120vw)/-2); background:radial-gradient(50% 50% at 50% 50%, var(--glow1) 0%, transparent 70%); filter:blur(10px); animation:breathe 16s ease-in-out infinite; pointer-events:none; }
.glow-b { position:absolute; top:1400px; right:-220px; width:620px; height:620px; background:radial-gradient(50% 50% at 50% 50%, var(--glow2) 0%, transparent 70%); animation:breathe 22s ease-in-out infinite; pointer-events:none; }

/* Reveal-on-scroll */
[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.22,1,.36,1), transform 1s cubic-bezier(.34,1.4,.64,1); }
[data-reveal].is-visible { opacity: 1; transform: none; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; padding: 10px 16px; background: linear-gradient(180deg, var(--hdr1), var(--hdr2)); backdrop-filter: blur(18px) saturate(1.3); -webkit-backdrop-filter: blur(18px) saturate(1.3); border-bottom: 1px solid var(--hdr-br); }
.site-header-inner { max-width: 1120px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { font-weight: 800; letter-spacing: .18em; font-size: 17px; color: var(--ink); }
.nav { display: flex; align-items: center; gap: clamp(12px,2.6vw,28px); font-size: 15px; font-weight: 600; }
.nav a.nav-link { color: var(--chip-ink); }
.nav a.nav-link:hover { color: var(--ink); }

.lang-switch { display: flex; align-items: center; gap: 6px; font-family: "DM Mono", monospace; font-size: 12px; letter-spacing: .04em; }
.lang-switch a { color: var(--body2); font-weight: 700; }
.lang-switch a.is-active { color: var(--accent); }
.lang-switch a:hover { color: var(--ink); }
.lang-switch-sep { color: var(--body2); opacity: .5; }
.legal-header-inner .lang-switch { margin-left: auto; margin-right: 14px; }
.nav-back { font-size: 15px; font-weight: 600; color: var(--chip-ink); }

.theme-toggle { position: relative; flex: 0 0 auto; display: inline-flex; align-items: center; width: 74px; height: 36px; padding: 4px; border-radius: 999px; border: 1px solid var(--toggle-br); background: var(--toggle-bg); backdrop-filter: blur(22px) saturate(1.8); -webkit-backdrop-filter: blur(22px) saturate(1.8); cursor: pointer; box-shadow: 0 1px 0 var(--hi) inset, 0 8px 18px -12px var(--shadow), inset 0 0 0 1px rgba(255,255,255,.06); transition: background .4s ease, border-color .4s ease; overflow: hidden; }
.theme-toggle::before { content: ""; position: absolute; top: 0; left: 8%; right: 8%; height: 45%; border-radius: 999px 999px 40% 40% / 100% 100% 20% 20%; background: linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,0)); pointer-events: none; }
.theme-toggle:hover { border-color: var(--field-focus); }
.theme-knob { position: absolute; top: 3px; left: 3px; width: 28px; height: 28px; border-radius: 50%; background: var(--knob); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); border: 1px solid var(--toggle-br); box-shadow: 0 6px 14px -6px var(--shadow-deep), 0 1px 0 rgba(255,255,255,.25) inset; transition: transform .55s cubic-bezier(.34,1.5,.64,1), background .4s ease; z-index: 2; }
:root[data-theme="dark"] .theme-knob { transform: translateX(34px); }
.theme-icon-wrap { position: relative; z-index: 1; flex: 1; display: flex; justify-content: center; }
.theme-sun { display: block; width: 12px; height: 12px; border-radius: 50%; background: var(--ink); }
.theme-moon { display: block; width: 13px; height: 13px; border-radius: 50%; box-shadow: inset -3.5px 0 0 0 var(--ink); }

.button-primary { padding: 10px 18px; border-radius: 999px; background: var(--btn); color: var(--btn-ink); font-weight: 700; box-shadow: 0 10px 22px -14px var(--shadow-deep); transition: transform .35s cubic-bezier(.34,1.56,.64,1), background .3s ease; display: inline-block; }
.button-primary:hover { transform: translateY(-2px) scale(1.03); background: var(--btn-hover); color: var(--btn-ink); }

/* Hero */
.hero { position: relative; max-width: 1120px; margin: 0 auto; padding: clamp(56px,9vw,110px) clamp(18px,5vw,32px) clamp(40px,7vw,80px); display: grid; grid-template-columns: repeat(auto-fit,minmax(min(320px,100%),1fr)); gap: clamp(36px,6vw,64px); align-items: center; }
.eyebrow-pill { margin: 0 0 22px; display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px; background: var(--card); border: 1px solid var(--card-br); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); font-family: "DM Mono", monospace; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); display: inline-block; }
.hero h1 { margin: 0; font-size: clamp(42px,8vw,76px); line-height: 1.03; letter-spacing: -.028em; font-weight: 800; color: var(--ink-strong); }
.hero h1 em, .hero h1 .accent-line { font-style: normal; color: var(--accent); }
.hero-lead { margin: 24px 0 0; max-width: 34ch; font-size: clamp(17px,2.1vw,21px); line-height: 1.55; color: var(--body); }

.waitlist-form { margin: 32px 0 0; display: flex; flex-wrap: wrap; gap: 10px; max-width: 470px; }
.waitlist-form.center { margin: 32px auto 0; justify-content: center; }
.hidden-field { display: none; }
.field-email { flex: 1 1 210px; min-width: 0; padding: 17px 20px; border-radius: 999px; border: 1px solid var(--field-br); background: var(--field); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); font-size: 16px; color: var(--ink); outline: none; transition: box-shadow .3s ease, border-color .3s ease; }
.field-email:focus { border-color: var(--field-focus); box-shadow: 0 0 0 4px var(--ring); }
.field-email.center { text-align: center; }
.btn-submit { flex: 0 0 auto; padding: 17px 28px; border: 0; border-radius: 999px; background: var(--btn); color: var(--btn-ink); font-family: inherit; font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: 0 16px 30px -18px var(--shadow-deep); transition: transform .4s cubic-bezier(.34,1.56,.64,1), background .3s ease; }
.btn-submit:hover { transform: translateY(-2px) scale(1.02); background: var(--btn-hover); }
.btn-submit:active { transform: translateY(1px) scale(.98); }
.form-note { margin: 14px 0 0; font-size: 14px; color: var(--body2); }
.form-note.center { text-align: center; }

.hero-actions { margin: 30px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; }
.text-link { font-size: 16px; font-weight: 700; color: var(--ink); display: inline-flex; align-items: center; gap: 6px; }
.text-link:hover { color: var(--accent); }
.availability { margin: 26px 0 0; display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--body2); }
.pulse { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #6FBF73; flex: 0 0 auto; }
.pulse::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; background: #6FBF73; opacity: .5; animation: pulse-ring 2.2s cubic-bezier(.4,0,.6,1) infinite; }
@keyframes pulse-ring { 0% { transform: scale(.6); opacity: .55; } 70% { transform: scale(1.9); opacity: 0; } 100% { transform: scale(1.9); opacity: 0; } }

.phone-wrap { position: relative; justify-self: center; width: min(320px,82vw); }
.light-orb { position: absolute; top: 10%; left: 50%; width: 260px; height: 260px; margin-left: -130px; background: radial-gradient(50% 50% at 50% 50%, var(--glow1) 0%, transparent 72%); filter: blur(6px); animation: breathe 14s ease-in-out infinite; pointer-events: none; z-index: 0; }
.phone-wrap .phone-bezel { position: relative; z-index: 1; }

@keyframes float-card { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.floating-card { position: absolute; z-index: 2; left: -8%; bottom: 14%; width: min(210px,58vw); padding: 18px 20px; border-radius: 24px; background: var(--card-strong); border: 1px solid var(--card-br); backdrop-filter: blur(20px) saturate(1.3); -webkit-backdrop-filter: blur(20px) saturate(1.3); box-shadow: 0 30px 60px -30px var(--shadow-deep), 0 1px 0 var(--hi) inset; animation: float-card 6s ease-in-out infinite; }
.floating-card .mini-kicker { display: block; margin: 0 0 6px; font-family: "DM Mono", monospace; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.floating-card strong { display: block; font-size: 16px; font-weight: 700; color: var(--ink); line-height: 1.3; }
.floating-card span:not(.mini-kicker) { display: block; margin-top: 4px; font-size: 13px; color: var(--body2); }
@media (max-width: 480px) {
  .floating-card { left: 2%; bottom: 8%; }
}
.phone-bezel { padding: 9px; border-radius: 52px; background: var(--bezel); box-shadow: 0 44px 80px -44px var(--shadow-deep), 0 3px 0 var(--hi) inset; transition: transform .7s cubic-bezier(.16,1,.3,1), box-shadow .7s cubic-bezier(.16,1,.3,1); will-change: transform; }
.phone-bezel:hover { transform: translateY(-10px) scale(1.015) rotate(-0.5deg); box-shadow: 0 58px 100px -46px var(--shadow-deep), 0 3px 0 var(--hi) inset; }
.phone-bezel img { display: block; width: 100%; height: auto; border-radius: 44px; }
.phone-bezel.small { border-radius: 50px; }
.phone-bezel.small img { border-radius: 42px; }
.phone-bezel.smaller { border-radius: 44px; }
.phone-bezel.smaller img { border-radius: 38px; }

/* Generic sections */
.section-wrap { max-width: 1120px; margin: 0 auto; padding: clamp(48px,8vw,96px) clamp(18px,5vw,32px); }
.section-wrap.tight { padding: clamp(32px,6vw,72px) clamp(18px,5vw,32px); }
.eyebrow-label { margin: 0 0 16px; font-family: "DM Mono", monospace; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); }
.section-wrap h2 { margin: 0; font-size: clamp(28px,4.6vw,44px); line-height: 1.12; letter-spacing: -.02em; font-weight: 800; color: var(--ink-strong); }

.card-grid { margin-top: clamp(28px,4vw,48px); display: grid; grid-template-columns: repeat(auto-fit,minmax(min(260px,100%),1fr)); gap: clamp(14px,2vw,22px); }
.card { padding: 28px; border-radius: 28px; background: var(--card); border: 1px solid var(--card-br); backdrop-filter: blur(20px) saturate(1.2); -webkit-backdrop-filter: blur(20px) saturate(1.2); box-shadow: 0 1px 0 var(--hi) inset, 0 26px 50px -34px var(--shadow); transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, border-color .4s ease; }
.card:hover, .step-card:hover, .trust-card:hover, .philosophy-card:hover { transform: translateY(-6px); box-shadow: 0 1px 0 var(--hi) inset, 0 36px 60px -30px var(--shadow); border-color: var(--field-focus); }
.card:active, .step-card:active, .trust-card:active, .philosophy-card:active { transform: translateY(-2px) scale(.99); }
.card p:first-child { margin: 0 0 10px; font-size: 19px; font-weight: 700; color: var(--ink); }
.card p:last-child { margin: 0; font-size: 16px; line-height: 1.6; color: var(--body2); }

.split { max-width: 1120px; margin: 0 auto; padding: clamp(40px,7vw,88px) clamp(18px,5vw,32px); display: grid; grid-template-columns: repeat(auto-fit,minmax(min(300px,100%),1fr)); gap: clamp(32px,5vw,64px); align-items: center; }
.split h2 { margin: 0; font-size: clamp(28px,4.6vw,44px); line-height: 1.12; letter-spacing: -.02em; font-weight: 800; color: var(--ink-strong); }
.split-lead { margin: 20px 0 0; font-size: clamp(16px,1.9vw,19px); line-height: 1.6; color: var(--body); max-width: 40ch; }
.point-list { margin-top: 26px; display: flex; flex-direction: column; gap: 16px; }
.point { display: flex; gap: 14px; align-items: flex-start; }
.point-dot { flex: 0 0 auto; width: 10px; height: 10px; margin-top: 8px; border-radius: 50%; background: var(--accent); }
.point p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--body3); }
.point strong { font-weight: 700; color: var(--ink); }

.step-grid { margin-top: clamp(28px,4vw,48px); display: grid; grid-template-columns: repeat(auto-fit,minmax(min(230px,100%),1fr)); gap: clamp(14px,2vw,20px); }
.step-card { padding: 26px; border-radius: 26px; background: var(--card-soft); border: 1px solid var(--br-soft); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); box-shadow: 0 1px 0 var(--hi) inset, 0 24px 48px -34px var(--shadow); transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, border-color .4s ease; }
.step-num { margin: 0 0 16px; font-family: "DM Mono", monospace; font-size: 13px; color: var(--accent); }
.step-card p.step-title { margin: 0 0 8px; font-size: 18px; font-weight: 700; color: var(--ink); }
.step-card p.step-desc { margin: 0; font-size: 15px; line-height: 1.6; color: var(--body2); }

.philosophy-band { margin: clamp(24px,4vw,48px) clamp(12px,3vw,24px); border-radius: clamp(32px,4vw,48px); background: var(--band); box-shadow: 0 60px 100px -60px var(--shadow-deep); overflow: hidden; }
.philosophy-inner { max-width: 1000px; margin: 0 auto; padding: clamp(48px,8vw,104px) clamp(22px,5vw,56px); }
.philosophy-eyebrow { margin: 0 0 18px; font-family: "DM Mono", monospace; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--band-eyebrow); }
.philosophy-inner h2 { margin: 0; font-size: clamp(32px,6vw,58px); line-height: 1.06; letter-spacing: -.025em; font-weight: 800; color: var(--band-ink); }
.philosophy-lead { margin: 22px 0 0; max-width: 38ch; font-size: clamp(17px,2.2vw,22px); line-height: 1.5; color: var(--band-ink2); }
.philosophy-cards { margin-top: clamp(32px,5vw,56px); display: grid; grid-template-columns: repeat(auto-fit,minmax(min(240px,100%),1fr)); gap: clamp(18px,3vw,28px); }
.philosophy-card { padding: 26px; border-radius: 24px; background: var(--band-card); border: 1px solid var(--band-card-br); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); transition: transform .4s cubic-bezier(.22,1,.36,1), background .4s ease, border-color .4s ease; }
.philosophy-card p:first-child { margin: 0 0 8px; font-size: 18px; font-weight: 700; color: var(--band-card-ink); }
.philosophy-card p:last-child { margin: 0; font-size: 15px; line-height: 1.6; color: var(--band-card-body); }
.philosophy-quote { margin: clamp(32px,5vw,56px) 0 0; padding: 0; max-width: 30ch; font-size: clamp(20px,2.8vw,28px); line-height: 1.35; font-weight: 600; color: var(--band-quote); }

.screens-grid { margin-top: clamp(28px,4vw,48px); display: grid; grid-template-columns: repeat(auto-fit,minmax(min(240px,100%),1fr)); gap: clamp(20px,3vw,34px); }
.screen-caption { margin: 16px 4px 0; font-size: 15px; line-height: 1.55; color: var(--body2); }
.screen-caption strong { font-weight: 700; color: var(--ink); }

.trust-grid { max-width: 1120px; margin: 0 auto; padding: clamp(32px,6vw,72px) clamp(18px,5vw,32px); display: grid; grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr)); gap: clamp(14px,2vw,22px); }
.trust-card { padding: clamp(26px,3.4vw,38px); border-radius: 30px; background: var(--card); border: 1px solid var(--card-br); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 1px 0 var(--hi) inset, 0 26px 50px -34px var(--shadow); transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, border-color .4s ease; }
.trust-card p:first-child { margin: 0 0 14px; font-family: "DM Mono", monospace; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); }
.trust-card .trust-title { margin: 0 0 10px; font-size: clamp(21px,2.6vw,26px); font-weight: 700; line-height: 1.2; color: var(--ink-strong); }
.trust-card .trust-body { margin: 0; font-size: 16px; line-height: 1.6; color: var(--body2); }
.lang-row { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px; }
.lang-chip { padding: 8px 15px; border-radius: 999px; background: var(--chip); color: var(--chip-ink); font-size: 14px; font-weight: 600; }
.lang-chip.active { background: var(--btn); color: var(--btn-ink); }

.waitlist-section { max-width: 1120px; margin: 0 auto; padding: clamp(48px,8vw,104px) clamp(18px,5vw,32px); text-align: center; }
.waitlist-section h2 { margin: 0 auto; max-width: 24ch; font-size: clamp(30px,5.4vw,52px); line-height: 1.08; letter-spacing: -.025em; font-weight: 800; color: var(--ink-strong); }
.waitlist-section .lead { margin: 18px auto 0; max-width: 46ch; font-size: clamp(16px,2vw,19px); line-height: 1.55; color: var(--body); }
.thanks-box { margin: 30px auto 0; max-width: 40ch; padding: 20px 26px; border-radius: 24px; background: var(--card-strong); border: 1px solid var(--card-br); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); font-size: 17px; line-height: 1.5; color: var(--ink); }

/* Footer */
.footer { border-top: 1px solid var(--footer-br); background: var(--footer-bg); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.footer-grid { max-width: 1120px; margin: 0 auto; padding: clamp(36px,5vw,60px) clamp(18px,5vw,32px); display: grid; grid-template-columns: repeat(auto-fit,minmax(min(240px,100%),1fr)); gap: clamp(24px,4vw,40px); }
.footer-brand { margin: 0 0 12px; font-weight: 800; letter-spacing: .18em; font-size: 16px; color: var(--ink); }
.footer-col p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--body2); }
.footer-col p + p { margin-top: 12px; }
.footer-col .footer-eyebrow { margin: 0 0 12px; font-family: "DM Mono", monospace; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); }
.footer-form { display: flex; flex-wrap: wrap; gap: 8px; max-width: 360px; }
.footer-field { flex: 1 1 170px; min-width: 0; padding: 14px 18px; border-radius: 999px; border: 1px solid var(--field-br); background: var(--field-solid); font-size: 15px; color: var(--ink); outline: none; transition: box-shadow .3s ease, border-color .3s ease; }
.footer-field:focus { border-color: var(--field-focus); box-shadow: 0 0 0 4px var(--ring); }
.footer-submit { flex: 0 0 auto; padding: 14px 22px; border: 0; border-radius: 999px; background: var(--btn); color: var(--btn-ink); font-family: inherit; font-size: 15px; font-weight: 700; cursor: pointer; transition: transform .4s cubic-bezier(.34,1.56,.64,1), background .3s ease; }
.footer-submit:hover { transform: translateY(-2px); background: var(--btn-hover); }
.footer-submit:active { transform: translateY(1px); }
.social-row { display: flex; flex-wrap: wrap; gap: 10px; }
.social-chip { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--chip); border: 1px solid var(--chip-br); font-family: "DM Mono", monospace; font-size: 12px; color: var(--accent); }
.footer-bottom-links { margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: var(--accent); }
.footer-nav { max-width: 1120px; margin: 0 auto; padding: 0 clamp(18px,5vw,32px) clamp(28px,4vw,44px); display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; border-top: 1px solid var(--footer-br); padding-top: 22px; font-size: 13px; color: var(--body2); }
.footer-nav a { color: var(--accent); font-weight: 600; }
.footer-nav a:hover { color: var(--link-hover); }

/* Legal / simple pages */
.legal-wrap { min-height: 100vh; }
.legal-header { padding: 18px clamp(18px,5vw,32px); }
.legal-header-inner { max-width: 820px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.legal-main { max-width: 780px; margin: 0 auto; padding: clamp(24px,5vw,48px) clamp(18px,5vw,32px) clamp(64px,8vw,96px); }
.legal-main h1 { margin: 8px 0 0; font-size: clamp(32px,5.6vw,52px); line-height: 1.08; letter-spacing: -.02em; font-weight: 800; color: var(--ink-strong); }
.legal-updated { margin: 10px 0 0; font-size: 14px; color: var(--body2); }
.legal-body { margin-top: clamp(28px,4vw,40px); }
.legal-body h2 { margin: 32px 0 10px; font-size: 20px; font-weight: 700; color: var(--ink); }
.legal-body h2:first-child { margin-top: 0; }
.legal-body p { margin: 0 0 14px; font-size: 16px; line-height: 1.65; color: var(--body2); }
.legal-note { font-size: 14px; font-style: italic; color: var(--body2); }

.status-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.status-card { max-width: 460px; width: 100%; padding: clamp(32px,5vw,48px); border-radius: 32px; background: var(--card-strong); border: 1px solid var(--card-br); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 40px 80px -50px var(--shadow-deep); text-align: center; }
.status-card .brand { display: inline-block; margin-bottom: 18px; }
.status-card h1 { margin: 0; font-size: clamp(28px,4.6vw,38px); line-height: 1.12; letter-spacing: -.02em; font-weight: 800; color: var(--ink-strong); }
.status-card p { margin: 16px 0 0; font-size: 16px; line-height: 1.6; color: var(--body2); }
.status-card .button-primary { margin-top: 26px; }

@media (max-width: 640px) {
  .nav { gap: 10px; }
  .nav a.nav-link { display: none; }
  
  /* Зменшуємо кнопку та відступи в шапці для телефонів */
  .site-header .button-primary {
    padding: 8px 12px;
    font-size: 13px;
    white-space: nowrap; /* забороняє перенесення тексту в кнопці */
  }
  .lang-switch {
    font-size: 11px;
    gap: 4px;
  }
}

/* Додаємо вирівнювання для кнопки з іконкою */
.button-primary.with-icon {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}