/* ============================================================
   Himalaya 藏文输入法 · 官网样式
   美学方向：午夜手稿（midnight manuscript）
   墨黑底 + 朱砂 / 鎏金点缀 + 高对比衬线
   ============================================================ */

/* ---------- 藏文字体（自托管，不依赖外部 CDN） ----------
   藏文堆叠（上加 / 下加，如 སྒ 的 ས + ྒ）完全依赖字体的 OpenType
   GSUB / GPOS 与 GDEF 标记附着表，由浏览器排版引擎塑形。
   unicode-range 限定为藏文区段，拉丁字符仍交给 Spectral / Cormorant。
   注意：该字体为单一字重的静态字体，必须声明 font-weight:400；
   若声明字重区间（如 100 900），浏览器会合成字重并导致藏文标记错位。 */
@font-face{
  font-family:"Himalaya-SN";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("assets/fonts/Himalaya-SN.ttf") format("truetype");
  unicode-range:U+0F00-0FFF, U+200C-200D, U+25CC;
}

/* ---------- 设计令牌 ---------- */
:root{
  /* 色彩 */
  --ink:        #0A090D;
  --ink-2:      #100E15;
  --ink-3:      #17141E;
  --paper:      #F3EADB;
  --paper-soft: rgba(243,234,219,.72);
  --paper-dim:  rgba(243,234,219,.46);
  --paper-faint:rgba(243,234,219,.10);
  --line:       rgba(243,234,219,.14);
  --line-soft:  rgba(243,234,219,.08);
  --vermilion:  #E2452B;
  --vermilion-2:#F2664A;
  --gold:       #C9A15A;
  --gold-soft:  rgba(201,161,90,.28);

  /* 字体
     藏文必须排在栈首：CJK 字体可能只覆盖部分藏文字符，若排在前面，
     一个音节会被拆到不同字体，丢失标记附着（上加 / 下加字错位）。
     @font-face 已用 unicode-range 限定藏文区段，因此排在首位也不会
     影响拉丁 / 中文的渲染 —— 三语模式下任意位置的藏文都能正确堆叠。 */
  --f-display: "Himalaya-SN", "Cormorant Garamond", "Songti SC", "Noto Serif SC", "Source Han Serif SC", Georgia, serif;
  --f-body:    "Himalaya-SN", "Spectral", "Songti SC", "Noto Serif SC", "PingFang SC", Georgia, serif;
  --f-mono:    ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;
  /* 藏文优先使用自托管的 Himalaya-SN（具备完整堆叠字形），
     系统字体仅作兜底 —— 兜底字体往往缺少堆叠字形，不可作为首选。 */
  --f-tib:     "Himalaya-SN", "Kailasa", "Jomolhari", "BabelStone Tibetan", serif;
  /* Tibetan first: CJK fonts may cover only some Tibetan characters. If they
     come first, a syllable can split across fonts and lose mark attachment. */
  --f-bo:      "Himalaya-SN", "Kailasa", "Jomolhari", "BabelStone Tibetan",
               "Cormorant Garamond", "Spectral", "Songti SC", "Noto Serif SC", "PingFang SC", Georgia, serif;

  /* 尺寸 */
  --wrap: 1180px;
  --pad:  clamp(20px, 5vw, 56px);
  --radius: 14px;

  /* 动效 */
  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- 复位 ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--f-body);
  font-weight:300;
  line-height:1.75;
  letter-spacing:.01em;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ font-family:var(--f-display); font-weight:600; line-height:1.12; margin:0; letter-spacing:.005em; }
p{ margin:0; }
em{ font-style:italic; color:var(--gold); }
code{ font-family:var(--f-mono); font-size:.86em; color:var(--gold);
      background:rgba(201,161,90,.10); padding:.1em .45em; border-radius:5px; }
.tib{
  font-family:var(--f-tib); font-weight:400;
  /* 藏文必须清零字距：letter-spacing 会在字位之间插入间隙，
     直接把上加 / 下加字拉开，视觉上等同于「没有堆叠」。 */
  letter-spacing:0;
  font-kerning:normal;
  font-variant-ligatures:common-ligatures;
  text-rendering:optimizeLegibility;
}

/* ---------- 背景层 ---------- */
.bg{ position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.bg__mesh{
  position:absolute; inset:-20%;
  background:
    radial-gradient(60% 45% at 78% 8%,  rgba(226,69,43,.14), transparent 60%),
    radial-gradient(50% 40% at 12% 22%, rgba(201,161,90,.12), transparent 62%),
    radial-gradient(70% 60% at 50% 100%, rgba(40,44,86,.28), transparent 66%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink-2) 55%, var(--ink) 100%);
}
/* 背景图：喜马拉雅雪山（固定视口，随内容滚动时保持静止）
   图片铺满整屏、顶部淡入；下方叠一层纯黑遮罩，
   由 JS 按滚动进度设置 --bg-dark（0→1），实现「越往下滑越黑」。 */
.bg__img{ position:absolute; inset:0; }
.bg__img::before{
  content:""; position:absolute; inset:0;
  background:url("assets/himalaya-bg.jpg") center 32% / cover no-repeat;
  opacity:.52;
  filter:saturate(.95) brightness(.98);
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 6%, #000 100%);
          mask-image:linear-gradient(180deg, transparent 0%, #000 6%, #000 100%);
}
.bg__img::after{
  content:""; position:absolute; inset:0;
  background:var(--ink);
  opacity:var(--bg-dark, 0);
}
.bg__grain{
  position:absolute; inset:0; opacity:.5; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}
.bg__glyph{
  position:absolute; right:-4vw; top:22vh;
  font-family:var(--f-tib); font-size:min(74vw,900px);
  /* 堆叠字形比单字更高，line-height:1 会切掉上/下加字 */
  line-height:1.2; letter-spacing:0; font-kerning:normal;
  color:rgba(243,234,219,.022); user-select:none; white-space:nowrap;
}

/* ---------- 通用组件 ---------- */
.eyebrow{
  font-family:var(--f-body); font-size:12px; font-weight:500;
  letter-spacing:.34em; text-transform:uppercase;
  color:var(--gold); margin-bottom:18px;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-family:var(--f-body); font-size:14.5px; font-weight:500;
  letter-spacing:.04em; padding:14px 26px; border-radius:999px;
  border:1px solid transparent; cursor:pointer; white-space:nowrap;
  transition:transform .35s var(--ease), background .35s var(--ease),
             border-color .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease);
}
.btn--fill{ background:var(--vermilion); color:#170d0a; box-shadow:0 10px 30px -12px rgba(226,69,43,.8); }
.btn--fill:hover{ transform:translateY(-2px); background:var(--vermilion-2); box-shadow:0 18px 40px -14px rgba(226,69,43,.9); }
.btn--line{ border-color:var(--line); color:var(--paper); }
.btn--line:hover{ transform:translateY(-2px); border-color:var(--gold); color:var(--gold); }
.btn--ghost{ font-size:13.5px; padding:10px 20px; border-color:var(--line); }
.btn--ghost:hover{ border-color:var(--gold); color:var(--gold); }

/* ---------- 导航 ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:18px var(--pad);
  transition:background .4s var(--ease), backdrop-filter .4s var(--ease), border-color .4s var(--ease), padding .4s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.is-scrolled{
  background:rgba(10,9,13,.72); backdrop-filter:blur(14px) saturate(1.4);
  border-bottom-color:var(--line-soft); padding-top:12px; padding-bottom:12px;
}
.nav__brand{ display:flex; align-items:center; gap:12px; }
.brand-icon{
  width:30px; height:30px; border-radius:8px; display:block; flex:none;
  box-shadow:0 0 0 1px rgba(243,234,219,.12), 0 8px 20px -10px rgba(0,0,0,.9);
}
.brand-icon--lg{ width:36px; height:36px; border-radius:10px; }
.nav__name{ font-family:var(--f-display); font-size:21px; font-weight:600; letter-spacing:.06em; }
.nav__sub{ font-size:12px; color:var(--paper-dim); letter-spacing:.2em; }
.nav__links{ display:flex; gap:30px; font-size:14px; }
.nav__links a{ color:var(--paper-soft); position:relative; padding-bottom:2px; }
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--gold); transition:width .35s var(--ease);
}
.nav__links a:hover{ color:var(--paper); }
.nav__links a:hover::after{ width:100%; }

/* 语言切换（藏 / 汉 / 英） */
.nav__right{ display:flex; align-items:center; gap:14px; }
.lang{
  display:inline-flex; align-items:center; gap:2px; padding:3px; flex:none;
  border:1px solid var(--line); border-radius:999px;
}
.lang button{
  font-family:var(--f-body); font-size:12.5px; font-weight:500; letter-spacing:.04em;
  color:var(--paper-soft); background:none; border:0; cursor:pointer;
  padding:5px 12px; border-radius:999px; line-height:1;
  transition:background .3s var(--ease), color .3s var(--ease);
}
.lang button:hover{ color:var(--paper); }
.lang button.is-active{ background:var(--vermilion); color:#170d0a; }
.lang button[data-lang="bo"]{
  font-family:var(--f-tib); font-size:14px; padding:4px 12px 6px;
  letter-spacing:0; font-kerning:normal; line-height:1.4;
}

/* ---------- 首屏 ---------- */
.hero{ position:relative; padding:clamp(140px,20vh,220px) var(--pad) clamp(80px,12vh,140px); }
.hero__inner{ max-width:var(--wrap); margin:0 auto; position:relative; }
.hero__title{
  font-size:clamp(46px, 8.4vw, 116px);
  line-height:1.02; letter-spacing:-.015em; margin-bottom:26px;
}
.hero__ti{ display:block; }
.hero__ti--accent{
  font-style:italic; font-weight:500;
  background:linear-gradient(96deg, var(--vermilion) 0%, var(--gold) 78%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.poem{ max-width:64ch; margin:4px 0 0; padding-left:24px; border-left:1px solid rgba(201,161,90,.34); }
.poem__tib{
  font-family:var(--f-tib); font-weight:400;
  font-size:clamp(15px,1.75vw,21px); line-height:2.12;
  color:var(--paper-soft);
  letter-spacing:0;              /* 藏文清零字距，保住堆叠 */
  font-kerning:normal;
  font-variant-ligatures:common-ligatures;
  font-synthesis:none;
}
.hero__cta{ display:flex; gap:14px; flex-wrap:wrap; margin:38px 0 30px; }
.hero__meta{ display:flex; gap:26px; flex-wrap:wrap; list-style:none; padding:0; margin:0;
  font-size:13px; color:var(--paper-dim); letter-spacing:.06em; }
.hero__meta li{ display:flex; align-items:center; gap:9px; }
.hero__meta li::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--vermilion); }
.hero__glyph{
  position:absolute; right:0; bottom:-6vh;
  font-family:var(--f-tib); font-size:clamp(120px,20vw,300px);
  line-height:1.2; letter-spacing:0; font-kerning:normal;
  color:rgba(243,234,219,.05); user-select:none;
}

/* ---------- 规格条 ---------- */
.strip{
  max-width:var(--wrap); margin:0 auto; padding:0 var(--pad);
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line-soft); border-block:1px solid var(--line-soft);
}
.strip__item{ background:var(--ink); padding:30px 24px; }
.strip__item b{
  display:block; font-family:var(--f-display); font-size:34px; font-weight:600;
  color:var(--gold); line-height:1; margin-bottom:10px;
}
.strip__item span{ font-size:13px; color:var(--paper-dim); }

/* ---------- 区块骨架 ---------- */
.section{ max-width:var(--wrap); margin:0 auto; padding:clamp(80px,13vh,150px) var(--pad); }
.section__head{ max-width:760px; margin-bottom:64px; }
.section__head h2{ font-size:clamp(32px,4.6vw,60px); }
.section__lede{ margin-top:22px; font-size:clamp(15px,1.4vw,17px); color:var(--paper-soft); max-width:60ch; }

/* ---------- 功能网格 ---------- */
.grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden; }
.card{
  background:var(--ink-2); padding:34px 28px 38px; position:relative;
  transition:background .45s var(--ease), transform .45s var(--ease);
}
.card::before{
  content:""; position:absolute; inset:0; opacity:0; transition:opacity .45s var(--ease);
  background:radial-gradient(120% 90% at 50% 0%, rgba(201,161,90,.10), transparent 70%);
}
.card:hover{ background:var(--ink-3); }
.card:hover::before{ opacity:1; }
.card__num{ font-family:var(--f-mono); font-size:12px; color:var(--paper-dim); letter-spacing:.2em; margin-bottom:24px; }
.card h3{ font-size:22px; margin-bottom:14px; }
.card p{ font-size:14px; color:var(--paper-soft); }
.card--pro{ background:linear-gradient(180deg, rgba(226,69,43,.06), var(--ink-2) 60%); }
.card--pro h3{ color:var(--paper); }
.tag{
  position:absolute; top:30px; right:28px;
  font-family:var(--f-mono); font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--vermilion-2); border:1px solid rgba(226,69,43,.42);
  padding:3px 9px; border-radius:999px;
}

/* ---------- 虚词规则 ---------- */
.section--grammar{ padding-top:clamp(40px,6vh,70px); }
.grammar{ display:grid; grid-template-columns:.86fr 1.14fr; gap:clamp(32px,5vw,72px); align-items:start; }
.grammar__copy h2{ font-size:clamp(30px,4vw,52px); }
.grammar__note{
  margin-top:30px; padding:20px 22px; border-radius:var(--radius);
  border:1px solid var(--line); background:var(--ink-2);
  font-size:14px; color:var(--paper-soft);
}
.grammar__note .tib{ color:var(--gold); font-size:1.35em; }
.grammar__table{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--ink-2); }
.grammar__table table{ width:100%; border-collapse:collapse; }
.grammar__table th, .grammar__table td{
  padding:16px 18px; text-align:left; border-bottom:1px solid var(--line-soft); font-size:14px;
}
.grammar__table thead th{
  font-family:var(--f-body); font-weight:500; font-size:12px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gold); background:rgba(201,161,90,.06);
}
.grammar__table thead .tib{ text-transform:none; letter-spacing:0; color:var(--paper-dim); }
.grammar__table tbody tr:last-child td{ border-bottom:0; }
.grammar__table tbody tr:hover{ background:rgba(243,234,219,.035); }
.grammar__table td.tib{ font-size:1.5em; color:var(--paper); letter-spacing:0; line-height:1.9; }
.grammar__table td:first-child{ color:var(--paper-soft); }

/* ---------- 性能 ---------- */
.speed{ display:flex; flex-direction:column; gap:22px; }
.bar{ display:grid; grid-template-columns:180px 1fr 84px; gap:20px; align-items:center; }
.bar__label{ font-size:13.5px; color:var(--paper-soft); }
.bar__track{ height:10px; border-radius:999px; background:rgba(243,234,219,.07); overflow:hidden; }
.bar__track i{
  display:block; height:100%; width:0; border-radius:999px;
  background:linear-gradient(90deg, var(--gold), rgba(226,69,43,.9));
  transition:width 1.1s var(--ease);
}
.bar.is-in .bar__track i{ width:max(var(--w), 6px); }
.bar__val{ font-family:var(--f-mono); font-size:13px; color:var(--paper-dim); text-align:right; }
.bar--best .bar__val{ color:var(--gold); }
.bar--best .bar__track i{ background:linear-gradient(90deg, var(--vermilion), var(--gold)); }

/* ---------- 版本 ---------- */
.plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1120px; }
.plan{
  position:relative; padding:40px 30px 38px; border-radius:var(--radius);
  border:1px solid var(--line); background:var(--ink-2);
  display:flex; flex-direction:column;
}
.plan--pro{
  border-color:rgba(226,69,43,.42);
  background:linear-gradient(180deg, rgba(226,69,43,.08), var(--ink-2) 52%);
  box-shadow:0 30px 70px -40px rgba(226,69,43,.7);
}
.plan--ent{
  border-color:var(--gold-soft);
  background:linear-gradient(180deg, rgba(201,161,90,.08), var(--ink-2) 52%);
}
.plan--ent .plan__cta:hover{ border-color:var(--gold); color:var(--gold); }
.plan__ribbon{
  position:absolute; top:-11px; left:30px;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.18em;
  background:var(--vermilion); color:#170d0a; padding:4px 12px; border-radius:999px;
}
.plan__name{ font-size:26px; margin-bottom:14px; }
.plan__price{ display:flex; align-items:baseline; gap:8px; margin-bottom:26px; flex-wrap:wrap; }
.plan__price b{ font-family:var(--f-display); font-size:42px; font-weight:600; line-height:1; }
.plan__price span{ font-size:12.5px; color:var(--paper-dim); letter-spacing:.04em; }
.plan__list{ list-style:none; padding:0; margin:0 0 32px; flex:1; }
.plan__list li{ padding:11px 0 11px 26px; position:relative; font-size:14px; color:var(--paper-soft); border-bottom:1px solid var(--line-soft); }
.plan__list li::before{ content:"◆"; position:absolute; left:0; font-size:9px; color:var(--gold); top:16px; }
.plan__list li.is-hl{ color:var(--paper); }
.plan__list li.is-hl::before{ color:var(--vermilion); }
.plan__cta{ width:100%; }
.price-note{
  margin-top:26px; font-size:12.5px; line-height:1.9;
  color:var(--paper-dim); letter-spacing:.03em;
}

/* ---------- 安装 ---------- */
.steps{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden; }
.steps li{ background:var(--ink-2); padding:38px 30px 42px; }
.steps__n{
  display:block; font-family:var(--f-display); font-size:52px; font-weight:600;
  line-height:1; color:rgba(226,69,43,.6); margin-bottom:18px;
}
.steps h3{ font-size:20px; margin-bottom:12px; }
.steps p{ font-size:14px; color:var(--paper-soft); }

/* ---------- FAQ ---------- */
.section--faq{ padding-top:clamp(40px,6vh,70px); }
.faq{ max-width:820px; border-top:1px solid var(--line-soft); }
.faq details{ border-bottom:1px solid var(--line-soft); }
.faq summary{
  cursor:pointer; list-style:none; padding:24px 40px 24px 0; position:relative;
  font-family:var(--f-display); font-size:20px; font-weight:500; color:var(--paper);
  transition:color .3s var(--ease);
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:"+"; position:absolute; right:6px; top:24px; font-family:var(--f-body);
  font-size:20px; color:var(--gold); transition:transform .35s var(--ease);
}
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq summary:hover{ color:var(--gold); }
.faq p{ padding:0 40px 26px 0; font-size:14.5px; color:var(--paper-soft); max-width:70ch; }

/* ---------- 页脚 ---------- */
.footer{
  max-width:var(--wrap); margin:0 auto; padding:56px var(--pad) 70px;
  border-top:1px solid var(--line-soft);
  display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between;
}
.footer__brand{ display:flex; align-items:center; gap:14px; }
.footer__brand strong{ font-family:var(--f-display); font-size:18px; font-weight:600; letter-spacing:.04em; }
.footer__brand p{ font-size:12.5px; color:var(--paper-dim); }
.footer__links{ display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--paper-dim); text-align:right; }
.footer__links a:hover{ color:var(--gold); }
.footer__caveat{ flex-basis:100%; font-size:12px; color:rgba(243,234,219,.3); letter-spacing:.05em; }

/* ---------- 藏文排版（lang=bo：放宽行高，避免上加/下加字在行间碰撞） ---------- */
/* In Tibetan mode, inherit the Tibetan-first stack throughout the page. */
html[lang="bo"] body{
  font-family:var(--f-bo);
  font-kerning:normal;
  font-variant-ligatures:common-ligatures;
  font-synthesis:none;
}
/* Tracking inserts gaps between Tibetan letters and their combining marks. */
html[lang="bo"] :is(h1,h2,h3,p,li,td,th,summary,span,b,strong,em,button,a){
  font-family:var(--f-bo);
  letter-spacing:0;
  font-kerning:normal;
  font-variant-ligatures:common-ligatures;
  font-synthesis:none;
}
/* 藏文无粗细对比体系，避免合成伪粗体把下加字撑出基线 */
html[lang="bo"] body{ line-height:2.05; font-weight:400; }
/* 藏文字形纵向笔画密集，12px 下加字辨识度不足，放大一级 */
html[lang="bo"] .eyebrow{ font-size:14px; line-height:1.9; }
html[lang="bo"] p,
html[lang="bo"] li,
html[lang="bo"] summary{ line-height:2.05; }
html[lang="bo"] h1,
html[lang="bo"] h2,
html[lang="bo"] h3{ line-height:1.5; }
html[lang="bo"] th,
html[lang="bo"] td{ line-height:1.95; }
html[lang="bo"] .hero__title{ line-height:1.42; letter-spacing:0; font-size:clamp(32px,5.6vw,74px); }
html[lang="bo"] .eyebrow{ letter-spacing:0; }
html[lang="bo"] .btn{ letter-spacing:0; }
/* code / 等宽元素在藏文模式下仍保留拉丁等宽字体 */
html[lang="bo"] code{ font-family:var(--f-mono); }
/* ---------- 入场动画 ---------- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.is-in{ opacity:1; transform:none; }

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .grid{ grid-template-columns:repeat(2,1fr); }
  .grammar{ grid-template-columns:1fr; }
}
@media (max-width:960px){
  .plans{ grid-template-columns:1fr; }
}
@media (max-width:820px){
  .nav__links{ display:none; }
  .strip{ grid-template-columns:repeat(2,1fr); }
  .plans{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
  .bar{ grid-template-columns:1fr; gap:8px; }
  .bar__val{ text-align:left; }
}
@media (max-width:560px){
  .grid{ grid-template-columns:1fr; }
  .strip{ grid-template-columns:1fr; }
  .footer{ flex-direction:column; align-items:flex-start; }
  .footer__links{ text-align:left; }
  .nav__sub{ display:none; }
  .nav__right{ gap:8px; }
  .lang button{ padding:5px 9px; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1; transform:none; }
  .bar__track i{ width:max(var(--w), 6px); }
}
