/* =============================================================================
   忆念 · 备案用（深圳市悟创楠科技有限公司）- Figma 1:1 复刻
   源文件: figma.com/design/4qE3B4GnAwQ0m9z3dPoCm4  node 205120:6682「ykpl.cn备案用」
   画板: 1399 x 2763，底色 #faf0ed

   >=1399px   完全按 Figma 绝对坐标渲染，像素级还原
   768-1398px 整体等比缩放（zoom），版式不变
   <768px     单栏流式布局（移动端适配，非原稿版式）

   注意：不引 Google Fonts —— 展示机在国内，fonts.googleapis.com 会被墙掉
   导致首屏阻塞。正文一律走系统 CJK 字体栈。

   原稿正文/标题/品牌字标的是 Inter Regular（西文字体，中文由 Figma 回落到系统 CJK），
   导航项标的是 Source Han Sans CN Bold —— 这里对应 400 / 700 两档。

   🔴 本站是**婚庆服务展示向**（婚礼策划 / 案例 / 套餐），不是社交向也不是电商向 ——
      改文案别套兄弟站那两套词。**「忆念」品牌下有两个站**：`yinian`（社交向，
      yn.dnkl.cn，画板 1380x3877 底 #fae7f8）与本站（婚庆备案，ykpl.cn，
      1399x2763 底 #faf0ed），**画板/文案/底色/字号全不同、不共用任何文件**。

   🔴 与兄弟站 `wuchuangnan` 是**两个 Figma 文件、两个画板**，但画板尺寸、底色、
      3 组标题、3 段正文、5 张截图的坐标与文案**逐字逐像素相同** ——
      唯一的版式差异在导航左侧：那稿只有 logo（129x130 @43,48）、没有品牌字；
      本稿 logo 是 116x116 @26,33（圆角 33）且多一个 40px 的「忆念」。
      改本站时**不要顺手把 wuchuangnan 的导航搬过来**。

   🔴 导航「首页」的 fill 导出值是 #d9d9d9，在 #faf0ed 浅底上几乎不可见 ——
      按同批各站惯例取实测墨色 #151515（这是第 11 个踩到这条的站）。

   🔴 原稿画板里另有一个 x=1692 的重复正文图层（205120:6699，与 x=734 那份文案
      逐字相同），它在画板右边界之外、`absoluteRenderBounds` 为 null ⇒ 不参与渲染，
      已按实际可见的那一份（x=734）落 CSS。**不要照那个 x=1692 定位。**
      （`use_figma` 读 board.parent.children 已确认：本稿画板外没有任何相交的兄弟节点，
      不存在 tielian 那种「截图藏在画板外」的情况。）

   🔴 行距实测：36px 档 33px、24px 档 29px、40px 品牌字 40px。
      top 不是 Figma 节点的 y，也不是墨迹顶 —— 是拿本机 headless Chromium 渲染、
      逐块量墨迹边界、与 Figma `absoluteRenderBounds` 对齐校准出来的
      （每条都注了原稿墨迹顶）。改字号/行高必须连 top 一起重算。

   🔴 正文不用 <br> 硬换行：换行点由「width + CJK 禁则」算出，与原稿逐行一致
      （txt-1 / txt-2 / txt-3 各 3 行）。**改 width 换行点就跑。**
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }

body { margin: 0; background: #faf0ed; overflow-x: hidden; }

h1, h2, p { margin: 0; font-weight: inherit; }

img { display: block; }

a { color: inherit; text-decoration: none; }

:root {
  --f-han: "PingFang SC", "Source Han Sans SC", "Noto Sans SC", "Hiragino Sans GB",
           "Microsoft YaHei", sans-serif;

  --c-bg:      #faf0ed;   /* 画板底色（暖白，不是纯色粉） */
  --c-ink:     #000;
  --c-nav-cur: #151515;   /* 导航当前项「首页」（实测墨色，非导出的 #d9d9d9） */
  --c-nav-ink: #282626;   /* 导航其余项 */
  --c-cta-bg:  #10100e;   /* 「下载」胶囊按钮 */
  --c-cta-ink: #fdf0e6;
}

.canvas { background: var(--c-bg); }

.stage { width: 1399px; margin: 0 auto; }

.page {
  position: relative;
  width: 1399px;
  height: 2763px;
}

.page section { position: static; }

/* ============================== 顶部导航 ============================== */
.nav {
  position: absolute;
  left: 0; top: 0;
  width: 1399px; height: 180px;
}

/* 原稿 image 2885：x=26 y=33 116x116，圆角 33。
   🔴 width/height 写的是**原稿显示框**（1×）；素材是 2× 的 232x232，
      圆角已烤进 PNG 的 alpha 通道（Figma 那 33px 圆角在 2× 下是 66px）。 */
.nav-mark {
  position: absolute;
  left: 26px; top: 33px;
  width: 116px; height: 116px;
}

/* 品牌字「忆念」——原稿 205122:6705，box y=72，墨迹顶 77.40。
   top = 墨迹顶 − 3.0（本机 40px/lh40 档实测：渲染墨迹顶 = CSS top + 3.0） */
.nav-word {
  position: absolute;
  left: 230px; top: 74.4px;
  color: var(--c-ink);
  font-family: var(--f-han);
  font-size: 40px; font-weight: 400; line-height: 40px;
  letter-spacing: 0;
  white-space: nowrap;
}

/* 三个导航项 + 下载按钮是一条 gap:60 的 flex（原稿 frame 205120:6689，
   x=559 y=67 w=579 h=92，items-center），算出来的绝对位置正好是
   559 / 664 / 814 / 964 —— 与 wuchuangnan 逐字相同 */
.nav-links {
  position: absolute;
  left: 559px; top: 96.5px;
  height: 33px;
  display: flex;
  align-items: center;
  gap: 60px;
}

.nav-links a {
  font-family: var(--f-han);
  font-size: 22px; font-weight: 700; line-height: 33px;
  letter-spacing: 0.66px;          /* 原稿 3% × 22px */
  color: var(--c-nav-ink);
  white-space: nowrap;
  transition: opacity .2s;
}

.nav-links a.is-current { color: var(--c-nav-cur); }

.nav-links a:hover { opacity: .6; }

/* ⚠️ 原稿「下载」的 letterSpacing 是 0%（wuchuangnan 那份写了 0.6px）——
   本站按本稿数据取 0，否则 text-align:center 会被尾随字距推偏半格。 */
.nav-cta {
  position: absolute;
  left: 964px; top: 85px;
  width: 120px; height: 56px;
  border-radius: 40px;
  background: var(--c-cta-bg);
  color: var(--c-cta-ink);
  font-family: var(--f-han);
  font-size: 20px; font-weight: 700; line-height: 56px;
  letter-spacing: 0;
  text-align: center;
  transition: opacity .2s;
}

.nav-cta:hover { opacity: .85; }

/* ============================== 标题 ============================== */
.tt {
  position: absolute;
  color: var(--c-ink);
  font-family: var(--f-han);
  font-size: 36px; font-weight: 400; line-height: 33px;
  letter-spacing: 0;
  white-space: nowrap;
}

/* 🔴 top = Figma 墨迹顶 − 1.0（本机 Windows/Microsoft YaHei，36px/lh33 档实测：
   渲染出来的墨迹顶 = CSS top + 1.0，三块一致）。括号里是原稿节点 y / 墨迹顶。
   **不是**节点 y，也不是墨迹顶本身 —— 照抄任何一个都会整体下坠。 */
.tt-1 { left: 540px; top: 447.6px; }    /* y=444，墨迹顶 448.58 */
.tt-2 { left: 700px; top: 1264.5px; }   /* y=1261，墨迹顶 1265.54 */
.tt-3 { left: 577px; top: 2007.6px; }   /* y=2004，墨迹顶 2008.58 */

/* ============================== 正文 ============================== */
.txt {
  position: absolute;
  color: var(--c-ink);
  font-family: var(--f-han);
  font-size: 24px; font-weight: 400; line-height: 29px;
  letter-spacing: 0;
}

/* width 决定换行点，别动。
   🔴 top = Figma 墨迹顶 − 5.0（24px/lh29 档实测：渲染墨迹顶 = CSS top + 5.0，三块一致） */
.txt-1 { left: 559px; top: 660.7px; width: 522px; }    /* y=663，墨迹顶 665.72；3 行 */
.txt-2 { left: 734px; top: 1413.7px; width: 498px; }   /* y=1416，墨迹顶 1418.72；3 行 */
.txt-3 { left: 677px; top: 2331.7px; width: 577px; }   /* y=2334，墨迹顶 2336.74；3 行 */

/* ============================ App 截图 ============================ */
/* 🔴 这里写的是**原稿显示框**（1×），不是素材位图尺寸。
   素材按 2× 导出（retina 下不糊），位图像素正好是下面这些值的两倍——
   2026-09-12 忆念那四站首版把位图尺寸直接抄进了 CSS，整页图片放大一倍、
   图与图互相压、正文被盖住。换图时照 `位图宽 ÷ 2` 填，别照 `naturalWidth` 填。 */
.ph { position: absolute; }

.ph-home    { left: 108px; top:  479px; width: 243px; height: 529px; }
.ph-case    { left: 108px; top: 1261px; width: 227px; height: 493px; }
.ph-order   { left: 365px; top: 1261px; width: 227px; height: 493px; }
.ph-package { left: 108px; top: 2200px; width: 206px; height: 445px; }
.ph-mine    { left: 365px; top: 2208px; width: 198px; height: 430px; }

/* ======================= 中屏：整体等比缩放 ======================= */
/* 🔴 每档的 zoom 必须按该区间**最窄**的视口算：(下界 − 20px 滚动条余量) ÷ 1399，
   算出来再向下取两位小数。第一档上界 1418 = 画板 1399 + 19px 滚动条余量
   （媒体查询比的是含滚动条的视口宽，而能不能放下画板取决于内容区宽 —— jiare-www 踩过）。
   ⚠️ 兄弟站 wuchuangnan 的阶梯是 .93/.87/.80/.74/.67/.60/.55，**按上界而非下界算的**，
      实测 768~839 共 123 个档位横向溢出（最多 18.4px）。本站已按下界重算，
      1381 个档位 0 溢出；**下次动那几个 1399 宽的兄弟站时把这条阶梯一并搬过去**。 */
@media (max-width: 1418px) { .stage { zoom: .91; } }   /* 最窄 1301 → 1281/1399 */
@media (max-width: 1300px) { .stage { zoom: .84; } }   /* 最窄 1201 → 1181/1399 */
@media (max-width: 1200px) { .stage { zoom: .77; } }   /* 最窄 1101 → 1081/1399 */
@media (max-width: 1100px) { .stage { zoom: .70; } }   /* 最窄 1001 →  981/1399 */
@media (max-width: 1000px) { .stage { zoom: .62; } }   /* 最窄  901 →  881/1399 */
@media (max-width:  900px) { .stage { zoom: .57; } }   /* 最窄  821 →  801/1399 */
@media (max-width:  820px) { .stage { zoom: .53; } }   /* 最窄  768 →  748/1399 */

/* ========================= 窄屏：单栏流式 ========================= */
@media (max-width: 767px) {
  .stage { zoom: 1; width: 100%; }

  .page {
    width: 100%;
    height: auto;
    padding: 96px 20px 48px;
  }

  .nav { left: 0; top: 0; width: 100%; height: 72px; }

  .nav-mark { left: 14px; top: 12px; width: 48px; height: 48px; }

  .nav-word {
    left: 72px; top: 20px;
    font-size: 22px; line-height: 32px;
  }

  .nav-links { display: none; }

  .nav-cta {
    left: auto; right: 14px; top: 17px;
    width: 88px; height: 38px;
    font-size: 15px; line-height: 38px;
  }

  .page section {
    display: block;
    margin-bottom: 44px;
  }

  .tt, .txt, .ph {
    position: static;
    white-space: normal;
    width: auto;
  }

  .tt {
    font-size: 24px; line-height: 1.5; letter-spacing: .3px;
    margin-bottom: 10px;
  }

  .txt {
    font-size: 15px; line-height: 1.7; letter-spacing: .3px;
  }

  .ph {
    width: 100%; max-width: 240px; height: auto;
    margin: 20px auto 0;
    border-radius: 8px;
  }

  /* 同一区块里的第二张截图在窄屏下与第一张并排会太挤，仍按顺序堆叠 */
  .ph + .ph { margin-top: 12px; }
}

/* ================================ 页脚 ================================ */
/* 与 yinian / tianfu / bieji / wuchuangnan 四站逐字节相同 —— 连本站共**五站**，
   改一处要五处一起改。 */
.site-footer {
  background: #000;
  color: rgba(255, 255, 255, .72);
  font-family: var(--f-han);
  padding: 40px 24px;
}

.site-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  line-height: 1.9;
}

.site-footer__corp {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.site-footer__addr,
.site-footer__contact {
  font-size: 13px;
}

.site-footer__sep {
  margin: 0 10px;
  color: rgba(255, 255, 255, .35);
}

.site-footer__icp {
  margin-top: 8px;
  font-size: 13px;
}

.site-footer__icp a {
  color: rgba(255, 255, 255, .72);
  transition: color .2s;
}

.site-footer__icp a:hover { color: #fff; }

@media (max-width: 767px) {
  .site-footer { padding: 28px 16px; }
  .site-footer__corp { font-size: 15px; }
  .site-footer__addr,
  .site-footer__contact,
  .site-footer__icp { font-size: 12px; }
  .site-footer__contact span { display: block; }
  /* 窄屏隐藏中间那条「|」。选择器要带 .site-footer__contact 提高优先级，
     否则打不过上一行的 span{display:block}（lianwen/ruanying/yunian 三站
     还是旧写法、窄屏会多出一行「|」，下次动它们时一并修）。 */
  .site-footer__contact .site-footer__sep { display: none; }
}
