/* ============================================================
   景兰咖啡 JINGLAN COFFEE — 官网样式（GEO 优化版）
   静态服务端可读，无 JS 依赖承载内容
   ============================================================ */
:root{
  --cream:#FAF7F2;
  --sand:#F1EAE0;
  --sand-deep:#E3D7C7;
  --ink:#221B15;
  --ink-soft:#3A3129;
  --muted:#79695C;
  --line:rgba(34,27,21,.14);
  --copper:#A4562A;
  --copper-dark:#7F401D;
  --green:#2E5B4A;
  --gold:#C79A54;
  --white:#FFFFFF;
  --max:1180px;
  --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(--cream);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",sans-serif;
  font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}

h1,h2,h3,h4{font-weight:700;line-height:1.3;margin:0;color:var(--ink);letter-spacing:.01em;}
h1{font-size:clamp(1.9rem,3.6vw,2.9rem);}
h2{font-size:clamp(1.5rem,2.6vw,2.1rem);}
h3{font-size:1.22rem;}
p{margin:0 0 1em;}
main{display:block;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}
.section{padding:88px 0;}
.section--sand{background:var(--sand);}
.section--dark{background:#221B15;color:#EFE7DC;}
.section--dark h2,.section--dark h3{color:#F6EFE4;}
.section--dark p{color:rgba(239,231,220,.78);}
.section--tight{padding:56px 0;}

.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--copper);font-weight:700;margin:0 0 14px;display:block;}
.section--dark .eyebrow{color:var(--gold);}
.lead{font-size:1.05rem;color:var(--muted);line-height:1.9;max-width:68ch;}
.src{font-size:.82rem;color:var(--muted);}
.section--dark .src{color:rgba(239,231,220,.55);}
.center{text-align:center;}
.center .lead{margin-left:auto;margin-right:auto;}

.rule{width:52px;height:3px;background:var(--copper);border:0;margin:22px 0;}
.section--dark .rule{background:var(--gold);}
.center .rule{margin-left:auto;margin-right:auto;}

/* ---------- 按钮 ---------- */
.btn{display:inline-block;padding:13px 28px;border-radius:2px;font-size:14px;font-weight:600;letter-spacing:.06em;transition:.3s var(--ease);cursor:pointer;border:1px solid transparent;}
.btn--primary{background:var(--copper);color:#fff;}
.btn--primary:hover{background:var(--copper-dark);}
.btn--ghost{border-color:rgba(255,255,255,.5);color:#fff;}
.btn--ghost:hover{background:rgba(255,255,255,.14);}
.btn--outline{border-color:var(--ink);color:var(--ink);}
.btn--outline:hover{background:var(--ink);color:var(--cream);}

/* ---------- 头部 ---------- */
.site-header{position:sticky;top:0;z-index:80;background:rgba(250,247,242,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.header-inner{max-width:var(--max);margin:0 auto;padding:0 28px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:46px;width:auto;}
.brand-text{display:flex;flex-direction:column;line-height:1.2;}
.brand-name{font-weight:800;font-size:17px;letter-spacing:.08em;}
.brand-sub{font-size:10.5px;letter-spacing:.16em;color:var(--muted);}

.nav{display:flex;align-items:center;gap:26px;}
.nav a{font-size:14px;font-weight:500;color:var(--ink-soft);position:relative;padding:6px 0;white-space:nowrap;}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--copper);transition:width .3s var(--ease);}
.nav a:hover::after,.nav a.is-active::after{width:100%;}
.nav a.is-active{color:var(--copper);}
.header-cta{display:flex;align-items:center;gap:14px;}
.header-cta .btn{padding:10px 18px;font-size:13px;white-space:nowrap;}
.nav-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;}

/* ---------- 首屏 ---------- */
.hero{position:relative;background:#1B150F;color:#F7F0E5;overflow:hidden;}
.hero-media{position:absolute;inset:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.8;}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,14,9,.88) 0%,rgba(20,14,9,.62) 45%,rgba(20,14,9,.30) 100%);}
.hero-inner{position:relative;z-index:2;padding:120px 0 100px;}
.hero h1{color:#FBF5EA;font-size:clamp(1.9rem,4vw,3.1rem);max-width:24ch;}
.hero .slogan{font-size:clamp(1.05rem,1.8vw,1.35rem);color:var(--gold);font-weight:700;margin:18px 0 6px;letter-spacing:.06em;}
.hero p.lead{color:rgba(247,240,229,.85);margin:16px 0 34px;max-width:56ch;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-stats{position:relative;z-index:2;border-top:1px solid rgba(247,240,229,.22);}
.hero-stats .wrap{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding-top:26px;padding-bottom:26px;}
.stat .num{font-size:clamp(1.4rem,2.4vw,2rem);font-weight:800;color:#FBF5EA;line-height:1.2;}
.stat .lbl{font-size:12.5px;color:rgba(247,240,229,.75);margin-top:4px;}

/* ---------- 页面头 ---------- */
.page-hero{background:#221B15;color:#F6EFE4;padding:64px 0 56px;position:relative;overflow:hidden;}
.page-hero::after{content:"";position:absolute;right:-6%;top:-55%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(199,154,84,.22),transparent 68%);}
.page-hero .inner{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:0 28px;}
.page-hero h1{color:#FBF5EA;max-width:26ch;}
.page-hero p{color:rgba(246,239,228,.78);max-width:70ch;margin:16px 0 0;}
.crumbs{font-size:12.5px;color:rgba(246,239,228,.55);margin-bottom:18px;}
.crumbs a{color:rgba(246,239,228,.8);}
.crumbs span{margin:0 8px;opacity:.5;}

/* ---------- 网格与卡片 ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.card{background:var(--white);border:1px solid var(--line);padding:30px 26px;height:100%;}
.card h3{font-size:1.1rem;margin-bottom:10px;}
.card p{font-size:.92rem;color:var(--muted);margin:0;}
.card .tagline{font-size:11.5px;letter-spacing:.14em;color:var(--copper);font-weight:700;text-transform:uppercase;display:block;margin-bottom:12px;}

.panel{background:var(--white);border:1px solid var(--line);padding:34px 30px;}
.panel h3{margin-bottom:10px;}

/* ---------- 数字带 ---------- */
.numbers{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.numbers>div{background:var(--cream);padding:26px 18px;}
.numbers .num{font-size:1.7rem;font-weight:800;color:var(--copper);line-height:1.2;}
.numbers .lbl{font-size:13px;color:var(--muted);margin-top:6px;}

/* ---------- 分栏图文 ---------- */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
.split-media img{width:100%;height:440px;object-fit:cover;border-radius:2px;}
.split-media figcaption{font-size:12px;color:var(--muted);margin-top:10px;}
.split--r .split-media{order:2;}
.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.photo-row img{width:100%;height:230px;object-fit:cover;border-radius:2px;}
.photo-row figure{margin:0;}
.photo-row figcaption{font-size:12px;color:var(--muted);margin-top:8px;}

/* ---------- 表格 ---------- */
.table-wrap{overflow-x:auto;background:var(--white);border:1px solid var(--line);}
table{width:100%;border-collapse:collapse;font-size:.94rem;min-width:640px;}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-soft);}
th{font-size:12.5px;letter-spacing:.1em;color:var(--muted);font-weight:700;border-bottom:2px solid var(--ink);white-space:nowrap;}
td:first-child{font-weight:600;color:var(--ink);white-space:nowrap;}

/* ---------- 流程步骤 ---------- */
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.step{background:var(--white);border:1px solid var(--line);padding:26px 24px;position:relative;}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-size:1.5rem;font-weight:800;color:var(--sand-deep);position:absolute;right:20px;top:14px;}
.step h3{font-size:1.05rem;margin-bottom:8px;}
.step p{font-size:.9rem;color:var(--muted);margin:0;}

/* ---------- FAQ ---------- */
.faq-item{background:var(--white);border:1px solid var(--line);padding:26px 30px;margin-bottom:16px;}
.faq-item h3{font-size:1.08rem;color:var(--ink);position:relative;padding-left:26px;}
.faq-item h3::before{content:"问";position:absolute;left:0;top:4px;font-size:11px;color:#fff;background:var(--copper);width:18px;height:18px;display:grid;place-items:center;border-radius:2px;}
.faq-item .ans{margin-top:12px;color:var(--ink-soft);font-size:.96rem;}
.faq-item .ans p{margin:0 0 .8em;}
.faq-item .ans p:last-child{margin:0;}
.faq-cat{margin:48px 0 22px;}
.faq-cat h2{font-size:1.3rem;color:var(--copper);}

/* ---------- 产品 ---------- */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.product{background:var(--white);border:1px solid var(--line);padding:20px;text-align:center;}
.product .ph{background:#fff;border:1px solid var(--line);overflow:hidden;margin-bottom:16px;}
.product img{width:100%;height:210px;object-fit:contain;padding:10px;}
.product h3{font-size:1rem;margin-bottom:6px;}
.product p{font-size:.85rem;color:var(--muted);margin:0;}

/* ---------- 证书 ---------- */
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.cert{background:var(--white);border:1px solid var(--line);padding:16px;text-align:center;}
.cert img{width:100%;height:260px;object-fit:contain;margin-bottom:12px;background:#fff;}
.cert h3{font-size:.95rem;line-height:1.5;}
.cert p{font-size:.78rem;color:var(--muted);margin:6px 0 0;}

/* ---------- 资质集成展示页 ---------- */
.cert-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px;}
.cert-tab{border:1px solid var(--line);background:var(--white);color:var(--ink-soft);padding:9px 18px;font-size:14px;cursor:pointer;font-family:inherit;transition:all .25s var(--ease);}
.cert-tab:hover{border-color:var(--copper);color:var(--copper);}
.cert-tab.is-active{background:var(--copper);border-color:var(--copper);color:#fff;}
.cert-grid.is-filtered .cert{display:none;}
.cert-grid.is-filtered .cert.is-shown{display:block;}
.cert-media{position:relative;}
.cert-media::after{content:'';position:absolute;inset:0;z-index:2;}
.cert-media img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;pointer-events:none;}
.cert figcaption{font-size:.85rem;line-height:1.55;color:var(--ink-soft);padding-top:2px;}
.protect-note{margin-top:28px;padding:14px 18px;background:var(--sand);border-left:3px solid var(--copper);font-size:.85rem;color:var(--muted);}
.protect-note a{color:var(--copper);font-weight:700;}
.cert-grid .cert{page-break-inside:avoid;}

/* ---------- 新闻列表 ---------- */
.news-item{background:var(--white);border:1px solid var(--line);padding:30px 32px;margin-bottom:18px;}
.news-item .meta{font-size:12.5px;color:var(--copper);font-weight:700;letter-spacing:.08em;margin-bottom:10px;}
.news-item blockquote{margin:0;font-size:1.05rem;line-height:1.9;color:var(--ink-soft);}
.news-item blockquote strong{color:var(--ink);}
.news-item .src{margin-top:12px;}

/* ---------- 时间线 ---------- */
.timeline{border-left:2px solid var(--sand-deep);margin-left:8px;padding-left:28px;}
.tl-item{position:relative;padding-bottom:30px;}
.tl-item::before{content:"";position:absolute;left:-34px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--copper);}
.tl-item .yr{font-weight:800;color:var(--copper);font-size:1.05rem;}
.tl-item p{margin:4px 0 0;color:var(--ink-soft);font-size:.95rem;max-width:64ch;}

/* ---------- 联系 ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.info-block{padding:22px 0;border-bottom:1px solid var(--line);}
.info-block .lbl{font-size:12px;letter-spacing:.16em;color:var(--copper);font-weight:700;display:block;margin-bottom:8px;}
.info-block .val{font-size:1.05rem;line-height:1.8;color:var(--ink);}
.info-block .val strong{font-size:1.3rem;}
.contact-cta{background:var(--green);color:#fff;padding:40px 36px;}
.contact-cta h3{color:#fff;margin-bottom:10px;}
.contact-cta p{color:rgba(255,255,255,.85);font-size:.95rem;}

/* ---------- 行动条 ---------- */
.cta-band{background:linear-gradient(110deg,#221B15,#3A2A1B);color:#F6EFE4;padding:70px 0;}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.cta-band h2{color:#FBF5EA;max-width:24ch;font-size:1.6rem;}
.cta-band p{color:rgba(246,239,228,.75);margin:12px 0 0;max-width:52ch;}

/* ---------- 页脚 ---------- */
.site-footer{background:#1B150F;color:rgba(239,231,220,.62);padding:64px 0 30px;font-size:14px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:44px;padding-bottom:44px;}
.footer-grid img{height:44px;margin-bottom:16px;}
.footer-grid h4{color:#F6EFE4;font-size:13px;letter-spacing:.14em;margin:0 0 16px;}
.footer-grid ul{list-style:none;margin:0;padding:0;}
.footer-grid li{margin-bottom:9px;line-height:1.7;}
.footer-grid a:hover{color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(239,231,220,.14);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:rgba(239,231,220,.4);}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .hero-stats .wrap{grid-template-columns:repeat(3,1fr);row-gap:22px;}
  .numbers{grid-template-columns:repeat(3,1fr);}
  .grid-4,.product-grid,.cert-grid{grid-template-columns:repeat(2,1fr);}
  .grid-3,.steps{grid-template-columns:1fr;}
  .grid-2,.split,.contact-grid{grid-template-columns:1fr;gap:36px;}
  .split--r .split-media{order:0;}
  .split-media img{height:340px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .header-cta .btn{display:none;}
}
@media (max-width:760px){
  .wrap,.header-inner,.page-hero .inner{padding-left:20px;padding-right:20px;}
  .section{padding:60px 0;}
  .hero-inner{padding:80px 0 60px;}
  .hero-stats .wrap{grid-template-columns:repeat(2,1fr);}
  .numbers{grid-template-columns:repeat(2,1fr);}
  .grid-4,.product-grid,.cert-grid{grid-template-columns:1fr;}
  .photo-row{grid-template-columns:1fr;}
  .nav{position:fixed;left:0;right:0;top:72px;background:var(--cream);flex-direction:column;align-items:flex-start;gap:0;padding:8px 20px 20px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .35s var(--ease);z-index:70;}
  .nav.is-open{transform:none;}
  .nav a{width:100%;padding:12px 0;border-bottom:1px solid var(--line);}
  .nav-toggle{display:block;}
  .cta-band .wrap{flex-direction:column;align-items:flex-start;}
  .footer-grid{grid-template-columns:1fr;}
}
