/* ============================================================================
   IVY · MOBILE SHARED RESPONSIVE KIT — 0714 (adapted for the 0710 deliverable)
   源：homepage-ch-mobile.html 提取的断点体系；本版为 NAV v2（<site-nav-v2>：
   玻璃只包中间 tab 药丸 + 滚动后 .nav--bar 满宽条）适配版。
   ★ 加载位置：<head> 里放在 motion.css 之后（全页最后一个 stylesheet），
     这样无需提高选择器权重即可覆盖 motion.css 的 @1100 窄屏兜底。
   断点：≤1100 nav 换汉堡 · ≤1024 平板 · ≤768 手机 · ≤480 小屏手机；≥1025 桌面不变
   ============================================================================ */

/* ================================================================================
   NAV → 汉堡 + 全屏菜单（≤1100px）。≥1101px 桌面 nav（v2 药丸 / v3 bar）完全不受影响。
   v2 适配：外层 .nav--v2 本就透明（玻璃在 .nav__links 药丸上）→ 隐藏药丸+语言，
   汉堡自带玻璃底，透明外壳与滚动后的 .nav--bar 两种形态下都成立。
   ================================================================================ */
a, button{ -webkit-tap-highlight-color:transparent; }  /* 0716 审计：iOS 点按灰闪统一关闭 */

@media (max-width:1100px){
  .nav{ grid-template-columns:1fr auto; gap:12px; }        /* logo 左 · 汉堡右 */
  .nav__links, .nav__lang{ display:none !important; }      /* 移入全屏菜单 */
  .nav__logo{ justify-self:start; }
  .nav.nav--bar{ padding:0 20px; }                         /* 滚动满宽条：80→20 */

  /* 汉堡按钮 — 玻璃圆形 tap target（自带底色，不依赖外壳玻璃） */
  .nav__burger{
    justify-self:end; position:relative;
    display:inline-flex; flex-direction:column; justify-content:center; align-items:center; gap:5px;
    width:44px; height:44px; padding:0; margin:0; border:0; border-radius:50%; cursor:pointer;  /* 0716 审计：40→44 触控标准 */
    background:rgba(255,255,255,.5); -webkit-backdrop-filter:blur(8px) var(--glass-feel); backdrop-filter:blur(8px) var(--glass-feel);
    box-shadow:inset 0 1px 1px rgba(255,255,255,.9), 0 4px 12px -8px rgba(var(--c-ink-rgb),.4);
    -webkit-tap-highlight-color:transparent; transition:background .3s var(--ease); }
  .nav__burger:hover{ background:rgba(255,255,255,.7); }
  .nav__burger .bar{ display:block; width:18px; height:1.5px; border-radius:2px; background:var(--c-ink);
    transition:transform .35s var(--ease), opacity .25s var(--ease); }
  body.nav-open .nav__burger .bar:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
  body.nav-open .nav__burger .bar:nth-child(2){ opacity:0; }
  body.nav-open .nav__burger .bar:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }
}
@media (min-width:1101px){
  .nav__burger{ display:none !important; }
}

/* ---- 全屏菜单 .navov —— JS 一次性构建，挂 <body> 末。奶白蓝图画布。 ---- */
.navov{ position:fixed; inset:0; z-index:1150; display:flex; flex-direction:column; overscroll-behavior:contain;
  background:var(--c-bg); color:var(--c-ink);
  opacity:0; visibility:hidden; transform:scale(1.015) translateY(-8px);
  transition:opacity .42s var(--ease), transform .5s var(--ease-soft), visibility 0s linear .42s; }
/* z-index 1150：高于 nav(100)，低于页面切换幕帘 tx-fade/tx-slats(1200+) —— 点菜单项跳页时幕帘盖住菜单 */
.navov.open{ opacity:1; visibility:visible; transform:none; transition:opacity .42s var(--ease), transform .55s var(--ease-soft), visibility 0s; }
.navov::before{ content:""; position:absolute; left:50%; top:38%; z-index:0; pointer-events:none;
  width:min(820px,120%); aspect-ratio:1/1; transform:translate(-50%,-50%);
  background:radial-gradient(circle at center, var(--c-accent-wash) 0%, rgba(var(--c-accent-rgb),.02) 40%, rgba(var(--c-accent-rgb),0) 70%); }
.navov__inner{ position:relative; z-index:1; flex:1; min-height:0; display:flex; flex-direction:column;
  width:100%; max-width:760px; margin:0 auto; padding:18px var(--page-x) calc(env(safe-area-inset-bottom,0px) + 28px); }

/* 顶栏：logo + ✕ */
.navov__top{ flex:0 0 auto; height:56px; display:flex; align-items:center; justify-content:space-between; }
.navov__logo img{ height:27px; width:auto; display:block; }
.navov__close{ display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; padding:0; border:1px solid var(--c-hairline); border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.5); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  color:var(--c-ink); -webkit-tap-highlight-color:transparent;
  transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease); }
.navov__close:hover{ background:rgba(255,255,255,.8); border-color:var(--c-accent-line); }
.navov__close svg{ width:18px; height:18px; display:block; }

/* 菜单项：大号中文、整宽行、L 角标 + 罗马序号 */
.navov__menu{ flex:1 1 auto; min-height:0; display:flex; flex-direction:column; justify-content:center;
  gap:10px; padding:24px 0; }
.navov__item{ position:relative; display:flex; align-items:center; justify-content:space-between;
  padding:18px 18px; border:1px solid var(--c-hairline); background:rgba(255,255,255,.18);
  font-family:var(--ff-sc); font-weight:400; font-size:18px; line-height:1.1; letter-spacing:-0.3px;  /* 0716 Vera 定稿：18/regular（原 clamp22-28/500） */
  color:var(--c-ink); -webkit-tap-highlight-color:transparent;
  transition:background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease); }
.navov__item:hover, .navov__item:focus-visible{ background:rgba(var(--c-accent-rgb),.06); border-color:var(--c-accent-line); color:var(--c-accent); outline:none; }
.navov__item .corner{ position:absolute; width:12px; height:12px; opacity:.55; pointer-events:none; }
.navov__item .corner.tl{ left:9px; top:9px; border-left:1px solid var(--c-accent); border-top:1px solid var(--c-accent); }
.navov__item .corner.br{ right:9px; bottom:9px; border-right:1px solid var(--c-accent); border-bottom:1px solid var(--c-accent); }
.navov__item .rn{ font-family:var(--ff-sans); font-weight:500; font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--c-muted); transition:color .35s var(--ease); }
.navov__item:hover .rn, .navov__item:focus-visible .rn{ color:var(--c-accent); }

/* 底部：中/EN 切换 + 社交行 */
.navov__foot{ flex:0 0 auto; display:flex; flex-direction:column; gap:22px; padding-top:8px; }
.navov__lang{ display:flex; gap:10px; }
.navov__lang a{ flex:1; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 0; border:1px solid var(--c-hairline); border-radius:999px;
  font-family:var(--ff-sans); font-weight:700; font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--c-slate); background:rgba(255,255,255,.3); -webkit-tap-highlight-color:transparent;
  transition:background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease); }
.navov__lang a:hover, .navov__lang a.is-active{ background:rgba(var(--c-accent-rgb),.08); border-color:var(--c-accent-line); color:var(--c-accent); }
.navov__social{ display:flex; gap:12px; align-items:center; justify-content:center; padding-top:22px; border-top:1px solid var(--c-hairline); }  /* 0720 R2-4：社媒图标居中 */
.navov__social a{ position:relative; width:48px; height:48px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.3); border:1px solid var(--c-hairline);
  transition:transform .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease); }
.navov__social a:hover{ transform:translateY(-3px); background:rgba(255,255,255,.6); border-color:var(--c-accent-line); }
.navov__social a > img{ width:22px; height:22px; display:block; }   /* 0720 R2-4：>img 直子选择器——别误缩 .qrpop 里的二维码图 */
.navov__social a.big > img{ width:26px; height:26px; }
/* 0720 R2-4：微信/小红书点击 → icon 上方浮出二维码（触屏无 hover，用 .qr-open 由 mobile-nav.js 切；样式对齐 footer qrpop，方向朝上） */
.navov__social a .qrpop{ position:absolute; bottom:calc(100% + 12px); left:50%; width:132px; padding:8px; box-sizing:border-box;
  background:#fff; border:1px solid var(--c-hairline); border-radius:0; box-shadow:0 18px 40px rgba(0,0,0,.18);
  opacity:0; transform:translate(-50%,8px); pointer-events:none; z-index:6;
  transition:opacity .3s var(--ease), transform .3s var(--ease); }
.navov__social a.qr-open .qrpop{ opacity:1; transform:translate(-50%,0); }
.navov__social a.qr-open{ background:rgba(var(--c-accent-rgb),.08); border-color:var(--c-accent-line); }
.navov__social .qrpop img{ display:block; width:100%; height:auto; }

/* 菜单项进场 stagger */
.navov__item{ opacity:0; transform:translateY(14px); transition:opacity .45s var(--ease), transform .5s var(--ease-soft), background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease); }
.navov.open .navov__item{ opacity:1; transform:none; }
.navov.open .navov__item:nth-child(1){ transition-delay:.06s,.06s,0s,0s,0s; }
.navov.open .navov__item:nth-child(2){ transition-delay:.12s,.12s,0s,0s,0s; }
.navov.open .navov__item:nth-child(3){ transition-delay:.18s,.18s,0s,0s,0s; }
.navov.open .navov__item:nth-child(4){ transition-delay:.24s,.24s,0s,0s,0s; }
.navov.open .navov__item:nth-child(5){ transition-delay:.30s,.30s,0s,0s,0s; }  /* 0716：+首页 共 5 项 */

@media (prefers-reduced-motion:reduce){
  .navov{ transition:opacity .001s, visibility 0s; transform:none; }
  .navov.open{ transition:opacity .001s, visibility 0s; }
  .navov__item{ opacity:1; transform:none; transition:background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease); }
  .navov.open .navov__item{ transition-delay:0s; }
  .nav__burger .bar, .navov__close, .navov__social a, .navov__lang a, .navov__item{ transition:none; }
}

/* ---- FOOTER 二维码 hover 弹层 · 层叠修复（无条件，全断点；桌面无视觉变化）----
   a:hover 的 transform(translateY(-3px)) 会生成 stacking context，把 .qrpop 的
   z-index:6 困在锚点自身层级(z:auto)；堆叠布局(≤1024)下二维码正好落在地址卡上，
   被卡内文字(z:2)叠穿。桌面二维码落在空白区所以从不暴露。
   修：整组图标(flex item，z-index 直接生效)提到相邻块之上，hover 锚点再抬一档。 */
.footer__social{ position:relative; z-index:5; }
.footer__social a:hover{ z-index:7; }

/* ---------------------------------------------------------------- ≤1024 平板 */
@media (max-width:1024px){
  /* rail 64→32：--page-x 收到 48 后必须同步收导轨，维持桌面 rail < page-x 的
     16px 内距关系（64/80 → 32/48），否则 section 内容会越到竖导轨外侧。
     band 横线的 margin:calc(rail - page-x) 机制随之自动对齐到导轨。 */
  :root{ --page-x:48px; --gap:96px; --rail:32px; }
  /* 页面自己的多列栅格在各页 mobile <style> 里降列（3→2 / 4→2） */

  /* 章节标题盒：固定 1/3 宽在窄 tablet 装不下中文标题、max-content 收缩时文字顶边
     角标压字 → 自适应宽（保底 1/3 维持桌面比例）+ 左右内边距 */
  .sec-band .sec-box{ width:auto; min-width:calc(100% / 3); padding:0 34px; }
  .agrid .sec-box{ padding:0 34px; }

  /* FOOTER · ICP 修复提前到 tablet（linear：footer tablet 即全竖排）——
     components.css @1024 已把上下两行堆叠，绝对定位的 ICP 底条同样会与
     堆高的内容相撞 → 改文档流内（≤768 档再按 --page-x 收紧 padding） */
  .footer{ min-height:0; }
  .footer__rule.bot{ display:none; }
  .footer__icp{ position:static; height:auto; padding:18px 56px calc(26px + env(safe-area-inset-bottom,0px));
    justify-content:flex-start; border-top:1px solid var(--c-hairline); margin-top:4px;
    position:relative; z-index:1; background:var(--c-bg); }  /* 0716 Vera：实底遮住背景视频——
    .footer__bg{bottom:53px} 是桌面 ICP 底条常数，流内 ICP 高 61px，视频底边越线 8px；
    遮罩比重赌常数稳（ICP 高度随内容变也不会再漏） */

  /* 0720 R2-F：上半两行（标语+社媒 / 两张地址卡）在 ≤1024 统一竖向堆叠；地址卡仍保持左右并排 */
  .footer__top{ flex-direction:column; align-items:stretch; gap:32px; }
}

/* ---- 0720 R2-F · @1024 带（769–1024）：top 已堆叠；底部 logo+胶囊按 b 值缩小、硬撑维持一行 ---- */
@media (min-width:769px) and (max-width:1024px){
  .footer__inner{ padding:36px 56px 40px; gap:30px; }
  .footer__bottom{ flex-direction:row; align-items:center; gap:clamp(14px,2vw,40px); }
  .footer__logo img{ height:clamp(24px,2.2vw,34px); }
  .footer__mails{ flex-direction:row; flex-wrap:nowrap; gap:clamp(8px,1vw,14px); width:auto; margin-left:auto; }
  .mailpill{ gap:8px; padding:clamp(9px,1vw,14px) clamp(10px,1.4vw,22px); }
  .mailpill .dot{ margin-right:-8px; }
  .mailpill:hover .dot{ margin-right:0; }
  .mailpill .l, .mailpill .m{ font-size:clamp(10px,1vw,15px); white-space:nowrap; }
}

/* ---------------------------------------------------------------- ≤768 手机 */
@media (max-width:768px){
  :root{ --page-x:24px; --rail:20px; --gap:64px; }

  /* 蓝图竖线 + 侧导轨是桌面栏位装饰 → 隐藏 */
  .grid-overlay, .rails-top{ display:none !important; }

  /* 章节标题盒：桌面 1/3 宽在手机装不下中文标题 → 内容自适应宽 + 缩字号 */
  .sec-band .sec-box, .agrid .sec-box{ width:auto !important; padding:0 22px; }
  .sec-box .bt, .sec-head{ font-size:clamp(22px,5.5vw,36px); }
  .sec-box .rn, .sec-box .cn, .sec-box .serif1,
  .sec-head .rn, .sec-head .cn{ font-size:clamp(22px,5.5vw,36px); line-height:1.15; }
  .sec-band{ margin:0; }
  /* 0715：EN 变体必须同特异性重申——base.css:49 的 html[lang="en"] .sec-box .rn/.cn（26px 定值，0-3-1）
     压过上面 0-2-0 的收字规则，EN 页标题盒在手机从未缩过字（"Post-Investment Empowerment"
     26px 不折行 = 463px → about-en 390 视口横向溢出 37px 的根因）。kit 晚于 base 加载，同权取胜 */
  html[lang="en"] .sec-band .sec-box{ padding:0 22px; }
  html[lang="en"] .sec-box .rn, html[lang="en"] .sec-box .cn, html[lang="en"] .sec-box .serif1{
    font-size:clamp(15px,4.6vw,26px); line-height:1.3; letter-spacing:.02em; }

  /* MARQUEE：收紧 */
  .marquee{ padding:8px 0; }
  .marquee__track, .marquee__item{ gap:36px; }
  .marquee__item .name{ font-size:16px; line-height:26px; }

  /* 奖项 ticker：小卡 */
  .ticker{ padding-top:44px; }
  /* 投资方向卡 0716 Vera 定稿：tags 常显（小号胶囊 + 邮箱玻璃 + ink 文字）· 标题 24 · 遮罩上移 38% */
  .card-strategy__title{ font-size:24px; line-height:1.15; }
  .card-strategy__grad{ background:linear-gradient(180deg, rgba(var(--c-bg-rgb),0) 0%, rgba(var(--c-bg-rgb),0) 38%, rgba(var(--c-bg-rgb),.92) 100%) !important; }  /* !important 压过 hover 版渐变（触屏 hover 粘滞） */
  .tags{ grid-template-rows:1fr; opacity:1; transform:none; margin-top:12px; }
  .card-strategy__foot{ gap:0; }
  .tags span{ padding:4px 10px; font-size:10px; color:var(--c-ink);
    background:rgba(255,255,255,.45); border-color:rgba(255,255,255,.8);
    backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }

  /* 0716 Vera 定稿：一屏两张（压留白为主）——200 宽 · pad16 · logo 72% · 文字12 */
  .ticker .card-award{ width:200px; min-height:0; padding:16px; }
  .card-award__logo{ height:calc(var(--lh,56px) * .72); }
  .card-award__org{ font-size:22px; }
  .card-award__quote{ font-size:44px; top:10px; right:8px; }
  .card-award__award{ font-size:12px; line-height:1.5; margin-top:10px; }
  .card-award .corner{ width:10px; height:10px; }
  .card-award .corner.tl{ left:8px; top:8px; }
  .card-award .corner.br{ right:8px; bottom:8px; }

  /* FOOTER（components.css @1024 已竖排；这里收字号。0714-5：padding 沿用 tablet 档 ——
     ICP 的文档流修复(18px 56px 26px)由本文件 @1024 块下传（max-width 包含手机区间）；
     inner 需在此按 tablet 值重申一次，压过 components.css @560 的旧断点(32/24/24)。 */
  .footer__slogan{ font-size:clamp(18px,4.6vw,24px); line-height:1.7; max-width:none; }
  .footer__social a{ width:48px; height:48px; }
  .footer__inner{ padding:32px 40px 32px; gap:30px; }   /* 侧 40：内容需清开 .footer__bg 框(rail 20)——24 只差 4px 会贴框(#72) */
  /* 邮箱胶囊 3 行：竖排、各自 fit-content 左齐（0720 R2-F 定案「≤768 竖排三行」） */
  .footer__bottom{ flex-direction:column; align-items:flex-start; gap:20px; }
  .footer__mails{ flex-direction:column; align-items:stretch; gap:12px; width:100%; margin-left:0; }
  .mailpill{ width:fit-content; max-width:100%; justify-content:flex-start; gap:10px; padding:13px 20px; }
  .mailpill .l, .mailpill .m{ font-size:14px; }
  /* 地址卡（0825 修正）：移动端保留背景浮图，点击/悬停揭示、离开隐藏（与桌面 hover 行为一致）。
     不再 display:none 隐藏图片；改为默认 opacity:0，由 components.css 的 .is-open/:focus-within 揭示。
     消除微信/手机浏览器默认蓝色点按高亮。 */
  .footer__locs{ gap:14px; align-items:flex-start; }
  .card-location{ flex:1 1 0; width:auto; min-width:0; min-height:160px; height:auto; padding:14px 12px 14px 0; -webkit-tap-highlight-color:transparent; }
  .card-location__tex, .card-location__scrim{ display:block; opacity:0; }
  .card-location:hover{ border-color:transparent; border-top-color:rgba(var(--c-ink-rgb),.18); background:transparent; }
  .card-location:hover .card-location__tex,
  .card-location:hover .card-location__scrim{ opacity:0; }
  .card-location.is-open,
  .card-location:focus-within{ border-color:var(--c-divider); background:rgba(255,255,255,.05); }
  .card-location.is-open .card-location__tex,
  .card-location.is-open .card-location__scrim,
  .card-location:focus-within .card-location__tex,
  .card-location:focus-within .card-location__scrim{ opacity:1; }
  html[lang="en"] .card-location .addr{ font-size:clamp(11px,3.1vw,14px); line-height:1.5; }
  .card-location .addr{ font-size:clamp(13px,3.4vw,15px); line-height:1.55; }
  .footer__icp{ padding:18px 24px calc(26px + env(safe-area-inset-bottom,0px)); }
  /* .footer{min-height} / rule.bot：承自 @1024 tablet 档，手机不再重复声明 */

  /* 子页 HERO .hax（about/team/portfolio/news 通用）——tablet 基线在 components @1100
     （padding-top 150 · title 64 · desc 18/30），这里补手机档 */
  .hax{ min-height:min(100svh,820px); padding-top:0; padding-bottom:0; justify-content:center; }  /* 0716 Vera：文字块屏高垂直居中（原 padding-top:120 顶部锚定偏上） */
  .hax__kick{ margin-bottom:24px; }
  .hax__title{ font-size:clamp(40px,11vw,60px); }
  .hax__desc{ margin-top:24px; font-size:clamp(16px,4.4vw,19px); line-height:1.65; }
  .hax .hero__ivy{ margin-top:32px; }
  .hax .hero__ivy .ivy-t{ font-size:22px; line-height:24px; }  /* 0716 Vera 根因修复：ivy 文字 token 从未做响应式（桌面 28.3 直通手机）——对齐首页手机档 22 */
  /* 0716 Vera：全站手机 body 正文降一档 16/26（原 18/28 视觉压过 hero 副题）；EN 哲学 desc 同为 body 档，
     需 html[lang] 提权（页面基础规则 18/28 特异性 0-2-0，此处 0-3-1 胜） */
  .intro, .about__p{ font-size:16px; line-height:26px; }
  html[lang="en"] .phil .row-desc, .phil .row-desc.en-body{ font-size:16px; line-height:26px; }
}

/* ---------------------------------------------------------------- ≤480 小屏手机 */
@media (max-width:480px){
  :root{ --page-x:16px; --gap:48px; }
  /* 0720 R2-F：footer 的 @480 档已撤——地址卡改由 @768 的 flex:1 1 0 流动半宽覆盖整个 ≤768，无 480 跳变 */
  /* 0727 Vera（矩阵测试定档）：footer ≤480 字号 —— 对齐 B 站 ivy.b7in.com：EN slogan 18+同框（两句并入同一文本块） */
  html[lang="en"] .footer__slogan{ font-size:18px; line-height:1.5; }
  html[lang="en"] .footer__slogan br{ display:none; }                       /* 两句并入同一文本块（markup 已在句号后补空格）*/
}
