/* ==========================================================================
   KONGING · konging.cn
   视觉基座：集团美学宪法 V2「晨雾模型」（2026-09-07 确认稿）
   口径依据：品类宪章 v3.0 · 集团 OS V1.0（2026-09-04/05）
   字体铁律：源泉丸ゴシック（GenSenMaruGothic）单字体池，无例外
   ========================================================================== */

/* ---- 字体：自托管子集（禁止境外 CDN）------------------------------------ */
@font-face{
  font-family:"GenSenMaruGothic";
  src:local("GenSenRounded2 TW R"),local("GenSenRounded2TW-R"),
      url("../fonts/GenSenMaruGothic-Regular-subset.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"GenSenMaruGothic";
  src:local("GenSenRounded2 TW B"),local("GenSenRounded2TW-B"),
      url("../fonts/GenSenMaruGothic-Bold-subset.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}

:root{
  /* 字体池：唯一 */
  --maru:"GenSenMaruGothic","GenSenRounded2 TW","GenSenRounded2 TC","GenSenRounded2",
         "源泉丸ゴシック","源泉圆体","源泉圓體",
         "Hiragino Maru Gothic ProN","PingFang SC","Hiragino Sans GB",
         "Noto Sans SC","Microsoft YaHei",sans-serif;

  /* 晨雾模型色板 */
  --paper:#F7F4EC;
  --sky-1:#CFE5E7;
  --sky-2:#EAF2F0;
  --ink:#2B2B2B;
  --ink-2:#6E6E6E;
  --line:#DDD6C8;
  --berry:#A93A6B;
  --berry-soft:#C77BA0;
  --gold:#C9A24B;
  --coffee:#8C5A3B;
  --tea:#B8D8D4;

  /* 温度火花（占比 ≤5%） */
  --terracotta:#B0553C;
  --moss:#6F7F52;

  /* 节奏 */
  --gut:clamp(20px,5vw,40px);
  --sec:clamp(64px,9vw,116px);
}

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

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--maru);
  font-weight:400;
  font-size:15px;
  line-height:1.85;
  letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}

.wrap{max-width:1080px;margin:0 auto;padding:0 var(--gut)}

.rule{border:0;border-top:1px solid var(--line);margin:0}

/* ---- 克制的排版层级 ---------------------------------------------------- */
h1,h2,h3,h4{margin:0;font-weight:400;letter-spacing:.05em;line-height:1.5;text-wrap:balance}
h1{font-size:clamp(26px,4.4vw,40px)}
h2{font-size:clamp(21px,3vw,28px)}
h3{font-size:17px}
p{margin:0 0 1.1em}
.lead{color:var(--ink-2);max-width:46em}
.nowrap{white-space:nowrap}

.eyebrow{
  font-size:11.5px;letter-spacing:.42em;color:var(--ink-2);
  text-transform:uppercase;margin-bottom:14px;
}
.eyebrow-berry{color:var(--berry)}

/* 数字视觉锤：永远比形容词大 */
.figure{
  font-size:clamp(38px,9vw,76px);line-height:1;font-weight:700;
  letter-spacing:.01em;color:var(--berry);
}
.figure small{font-size:.32em;font-weight:400;letter-spacing:.06em;color:var(--ink-2)}

/* ---- 导航 -------------------------------------------------------------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(247,244,236,.94);
  backdrop-filter:saturate(150%) blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-in{
  max-width:1080px;margin:0 auto;padding:14px var(--gut);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{font-size:15px;letter-spacing:.3em;font-weight:700}
.brand span{color:var(--berry)}
.nav ul{display:flex;gap:clamp(14px,2.4vw,30px);list-style:none;margin:0;padding:0}
.nav a{font-size:13px;letter-spacing:.1em;color:var(--ink-2);transition:color .2s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--berry)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink);
  font-family:var(--maru);font-size:12px;letter-spacing:.2em;padding:6px 12px;border-radius:2px;cursor:pointer}

@media(max-width:720px){
  .nav-toggle{display:block}
  .nav ul{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;gap:0;background:var(--paper);
    border-bottom:1px solid var(--line);padding:8px 0;
  }
  .nav ul.open{display:flex}
  .nav ul li{padding:0 var(--gut)}
  .nav ul a{display:block;padding:13px 0;border-bottom:1px solid var(--line)}
}

/* ---- 首屏：晨雾渐变（每屏一锚点）--------------------------------------- */
.hero{
  background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 52%,var(--paper) 100%);
  padding:clamp(64px,12vw,132px) 0 clamp(48px,8vw,84px);
  position:relative;overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}
.hero h1 em{font-style:normal;color:var(--berry)}
.hero-sub{color:var(--ink-2);max-width:34em;font-size:15px;margin-top:20px}

/* 竖排品牌名：一纵一横，东方是主语 */
.vertical{
  writing-mode:vertical-rl;text-orientation:mixed;
  font-size:clamp(13px,1.6vw,16px);letter-spacing:.36em;
  color:var(--ink-2);padding-top:6px;
}
@media(max-width:720px){.hero-grid{grid-template-columns:1fr}.vertical{display:none}}

/* 数字双标注：0.0% 与 3.5G 首屏必须同时可见 */
.hero-facts{
  display:flex;gap:clamp(24px,5vw,60px);flex-wrap:wrap;
  margin-top:36px;padding-top:26px;border-top:1px solid var(--line);
}
.hero-facts .f b{display:block;font-size:clamp(26px,4.6vw,40px);line-height:1.1;font-weight:700;color:var(--berry)}
.hero-facts .f i{font-style:normal;font-size:11.5px;letter-spacing:.24em;color:var(--ink-2)}
.hero-facts .f.gold b{color:var(--gold)}

/* 窄屏：四个数字排成 2×2，避免单个悬行 */
@media(max-width:560px){
  .hero-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
}

/* ---- 法律页正文（小节标题保持克制）------------------------------------- */
.prose h1{font-size:clamp(24px,3.4vw,32px);margin-bottom:10px}
.prose h2{font-size:16px;font-weight:700;letter-spacing:.06em}

/* ---- 通用区块 ---------------------------------------------------------- */
section.band{padding:var(--sec) 0}
section.band + section.band{border-top:1px solid var(--line)}
.sec-head{margin-bottom:clamp(28px,4vw,48px)}
.sec-head .no{font-size:11.5px;letter-spacing:.42em;color:var(--gold);display:block;margin-bottom:12px}
.sec-head h2{max-width:24em}

/* ---- 印章：只盖事实 ---------------------------------------------------- */
.seal{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  width:74px;height:74px;border-radius:50%;border:1.5px solid var(--ink);
  font-size:9.5px;letter-spacing:.14em;line-height:1.35;text-align:center;
  color:var(--ink);padding:8px;
}
.seal.solid{background:var(--ink);color:#fff;border-color:var(--ink)}
.seal.sugar{
  background:radial-gradient(circle at 35% 30%,#E7D9A8,var(--gold));
  color:#3E3320;border-color:transparent;
}
.seal.berrybg{
  background:radial-gradient(circle at 35% 30%,#D489AC,var(--berry));
  color:#fff;border-color:transparent;
}

/* ---- 产品卡 ------------------------------------------------------------ */
.grid{display:grid;gap:clamp(16px,2.2vw,26px)}
.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.grid-2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}

.card{
  background:#fff;border:1px solid var(--line);border-radius:2px;
  padding:clamp(20px,2.6vw,28px);display:flex;flex-direction:column;gap:12px;
  transition:border-color .25s ease;
}
.card:hover{border-color:var(--berry-soft)}
.card .code{font-size:10.5px;letter-spacing:.28em;color:var(--ink-2)}
.card h3{font-size:16px;line-height:1.6}
.card .en{font-size:10.5px;letter-spacing:.16em;color:var(--ink-2);text-transform:uppercase}
.card .tasting{font-size:13.5px;color:var(--ink-2);line-height:1.9}
.card .meta{
  margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);
  font-size:12px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:6px 16px;
}
.card .meta b{font-weight:400;color:var(--ink)}
.swatch{width:100%;height:5px;border-radius:2px;margin-bottom:4px}

/* ---- 场合条 ------------------------------------------------------------ */
.occ{display:flex;gap:16px;padding:16px 0;border-bottom:1px dashed var(--line);align-items:baseline}
.occ .n{font-size:12.5px;color:var(--ink);min-width:7.5em;font-weight:700;letter-spacing:.06em}
.occ .w{font-size:13.5px;color:var(--ink-2);flex:1}
.occ .p{font-size:12px;color:var(--berry);letter-spacing:.06em;white-space:nowrap}
@media(max-width:600px){
  .occ{flex-direction:column;gap:4px}
  .occ .n{min-width:0}
  .occ .p{white-space:normal}
}

/* ---- 引文 -------------------------------------------------------------- */
.quote{
  background:#fff;border-left:3px solid var(--berry);
  padding:20px 26px;font-size:15px;line-height:2;
}
.quote small{display:block;color:var(--ink-2);font-size:12px;margin-top:10px;letter-spacing:.1em}

/* ---- 工艺步骤 ---------------------------------------------------------- */
.step{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}
.step .idx{font-size:12px;letter-spacing:.28em;color:var(--gold);padding-top:5px}
.step h3{margin-bottom:6px}
.step p{color:var(--ink-2);font-size:14px;margin:0;max-width:44em}
@media(max-width:600px){.step{grid-template-columns:1fr;gap:6px}}

/* ---- 准则表（自我设限）------------------------------------------------- */
.limits{width:100%;border-collapse:collapse;background:#fff;font-size:13.5px}
.limits th{
  background:var(--ink);color:#fff;font-weight:400;letter-spacing:.1em;
  padding:12px 16px;text-align:left;font-size:12px;
}
.limits td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.limits td:first-child{color:var(--ink);font-weight:700;white-space:nowrap;width:34%}
@media(max-width:600px){
  .limits td:first-child{white-space:normal}
  .limits,.limits tbody,.limits tr,.limits td,.limits th{display:block;width:100%}
  .limits th{display:none}
  .limits tr{border-bottom:1px solid var(--line);padding:14px 0}
  .limits td{border:0;padding:2px 16px}
}

/* ---- 成分表 ------------------------------------------------------------ */
.spec{background:#fff;border:1px solid var(--line);padding:clamp(20px,3vw,32px)}
.spec table{width:100%;border-collapse:collapse;font-size:13.5px}
.spec caption{
  text-align:left;font-size:11px;letter-spacing:.3em;color:var(--ink-2);
  margin-bottom:16px;text-transform:uppercase;
}
.spec th,.spec td{padding:9px 0;border-bottom:1px solid var(--line);text-align:left}
.spec td:last-child{text-align:right;font-variant-numeric:tabular-nums}

/* ---- 底线横条（首页 + 关于）------------------------------------------- */
.baseline{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.baseline > div{background:var(--paper);padding:20px 22px}
.baseline b{display:block;font-size:14px;margin-bottom:6px;font-weight:700}
.baseline span{font-size:12.5px;color:var(--ink-2);line-height:1.8}
@media(min-width:760px){.baseline{grid-template-columns:repeat(5,1fr)}}
@media(max-width:759px) and (min-width:520px){.baseline{grid-template-columns:repeat(2,1fr)}}

/* ---- 合作方 ------------------------------------------------------------ */
.partner{border-top:1px solid var(--line);padding:26px 0}
.partner .k{font-size:11.5px;letter-spacing:.28em;color:var(--gold);margin-bottom:8px}
.partner h3{margin-bottom:8px}
.partner p{color:var(--ink-2);font-size:14px;margin:0;max-width:44em}

/* ---- CTA / 联系 -------------------------------------------------------- */
.cta{
  background:linear-gradient(180deg,var(--sky-2),var(--paper));
  border:1px solid var(--line);padding:clamp(30px,5vw,54px);text-align:center;
}
.cta h2{margin-bottom:14px}
.cta p{color:var(--ink-2);max-width:34em;margin:0 auto 26px}
.btn{
  display:inline-block;border:1px solid var(--ink);padding:13px 34px;
  font-size:13px;letter-spacing:.2em;border-radius:2px;transition:.22s;
}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn-berry{border-color:var(--berry);color:var(--berry)}
.btn-berry:hover{background:var(--berry);color:#fff}

/* ---- 页脚 -------------------------------------------------------------- */
footer{
  background:linear-gradient(180deg,var(--paper),var(--sky-2));
  padding:64px 0 44px;border-top:1px solid var(--line);
  font-size:12px;color:var(--ink-2);letter-spacing:.06em;line-height:2.1;
}
footer .cols{display:grid;gap:28px}
@media(min-width:720px){footer .cols{grid-template-columns:2fr 1fr 1fr}}
footer h4{font-size:11.5px;letter-spacing:.3em;color:var(--ink);margin-bottom:10px;font-weight:400}
footer ul{list-style:none;margin:0;padding:0}
footer a:hover{color:var(--berry)}
.foot-note{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.9}

/* ---- 无障碍：跳到主内容 ------------------------------------------------ */
.skip{
  position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;
  padding:10px 18px;z-index:100;font-size:13px;
}
.skip:focus{left:0}

a:focus-visible,button:focus-visible{outline:2px solid var(--berry);outline-offset:3px}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
