:root{
  --sand:#fef08a;
  --sand-deep:#e8d45b;
  --denim:#1e3a8a;
  --denim-2:#16295f;
  --leather:#8b5a2b;
  --leather-2:#5f3c19;
  --paper:#f8f0d6;
  --paper-2:#f2e6c2;
  --ink:#241a10;
  --muted:#6d5b42;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Segoe UI","Helvetica Neue",Arial,"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif;
  color:var(--ink);
  font-size:16px;
  line-height:1.75;
  background-color:#f2e6c4;
  background-image:
    repeating-linear-gradient(0deg, rgba(95,60,25,.055) 0 1px, transparent 1px 5px),
    radial-gradient(circle at 15% 8%, rgba(254,240,138,.65), transparent 55%),
    radial-gradient(circle at 85% 92%, rgba(139,90,43,.18), transparent 60%);
}
img{max-width:100%;display:block;}
a{color:var(--denim);text-decoration:none;}
a:hover{text-decoration:underline;}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px;}

/* header */
.site-header{
  background:var(--denim);
  color:var(--sand);
  border-bottom:6px double var(--sand);
  box-shadow:0 4px 0 rgba(95,60,25,.35);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:16px 20px;flex-wrap:wrap;
}
.brand{
  color:var(--sand);
  font-weight:800;
  font-size:18px;
  letter-spacing:3px;
  border:2px solid var(--sand);
  padding:6px 14px;
  text-transform:uppercase;
}
.brand:hover{text-decoration:none;background:rgba(254,240,138,.12);}
.nav-links{display:flex;flex-wrap:wrap;gap:6px 4px;}
.nav-links a{
  color:#fdf6d8;
  font-size:14px;
  letter-spacing:1px;
  padding:6px 12px;
  border:1px solid rgba(254,240,138,.45);
  background:rgba(254,240,138,.08);
}
.nav-links a:hover{
  background:var(--sand);
  color:var(--denim);
  text-decoration:none;
}

/* hero */
.banner{
  background:linear-gradient(135deg,#fdf5c8 0%, #f4e3a6 55%, #e9d489 100%);
  border-bottom:6px double var(--leather);
  position:relative;
  overflow:hidden;
}
.banner::after{
  content:"";
  position:absolute;inset:0;
  background-image:repeating-linear-gradient(90deg, rgba(95,60,25,.06) 0 2px, transparent 2px 9px);
  pointer-events:none;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.35fr .95fr;
  gap:32px;
  align-items:center;
  padding:52px 20px 46px;
  position:relative;
  z-index:1;
}
.eyebrow{
  display:inline-block;
  background:var(--leather);
  color:#fdf6d8;
  font-size:12px;
  letter-spacing:4px;
  padding:5px 14px;
  text-transform:uppercase;
  font-weight:700;
}
h1{
  font-size:38px;
  line-height:1.3;
  letter-spacing:-.4px;
  color:var(--denim);
  margin:16px 0 14px;
  font-weight:800;
  border-bottom:4px double var(--leather);
  padding-bottom:14px;
}
.hero-lead{
  font-size:16px;
  color:#3b2c1c;
  max-width:640px;
  margin:0 0 22px;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-block;
  padding:12px 26px;
  font-weight:700;
  letter-spacing:1px;
  font-size:15px;
  border:2px solid var(--leather-2);
  box-shadow:5px 5px 0 rgba(95,60,25,.28);
  transition:transform .15s ease;
}
.btn:hover{transform:translate(-2px,-2px);text-decoration:none;}
.btn-primary{background:var(--denim);color:var(--sand);}
.btn-secondary{background:var(--sand);color:var(--leather-2);}
.hero-figure{
  border:3px solid var(--leather-2);
  background:var(--paper);
  padding:10px;
  box-shadow:10px 10px 0 rgba(95,60,25,.22);
  transform:rotate(-1.2deg);
}
.hero-figure img{filter:sepia(.18) contrast(1.02);}
.hero-figure figcaption{
  font-size:12px;
  letter-spacing:2px;
  color:var(--muted);
  padding-top:8px;
  text-align:center;
  text-transform:uppercase;
}

/* sections */
section{padding:56px 0;}
.sec-head{margin-bottom:30px;border-bottom:3px solid var(--leather);padding-bottom:12px;}
.sec-kicker{
  font-size:12px;letter-spacing:4px;color:var(--leather);
  font-weight:700;text-transform:uppercase;
}
h2{
  font-size:26px;
  color:var(--denim);
  margin:6px 0 0;
  font-weight:800;
  letter-spacing:0;
}
h3{font-size:18px;color:var(--denim-2);margin:0 0 8px;font-weight:700;}
p{margin:0 0 14px;}

/* paper cards */
.paper-card{
  background:var(--paper);
  border:2px solid var(--leather);
  box-shadow:7px 7px 0 rgba(95,60,25,.20);
  padding:24px 26px;
  position:relative;
}
.paper-card::before{
  content:"";
  position:absolute;inset:6px;
  border:1px dashed rgba(139,90,43,.35);
  pointer-events:none;
}

/* geo */
.geo-wrap{
  background:var(--paper);
  border:2px solid var(--leather);
  box-shadow:8px 8px 0 rgba(95,60,25,.18);
  padding:30px 32px;
}
.geo-wrap p{color:#33261a;}
.geo-wrap p:last-child{margin-bottom:0;}
.geo-points{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px;margin-top:24px;
}
.geo-point{
  border-left:4px solid var(--denim);
  background:var(--paper-2);
  padding:12px 14px;
  font-size:14px;
}
.geo-point strong{display:block;color:var(--denim);font-size:13px;letter-spacing:2px;margin-bottom:4px;}

/* stats */
.stats-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:20px;
}
.stat-card{
  background:var(--denim);
  color:var(--sand);
  border:3px solid var(--leather-2);
  padding:22px 20px;
  box-shadow:6px 6px 0 rgba(95,60,25,.28);
}
.stat-card .num{
  font-size:34px;font-weight:800;letter-spacing:-1px;line-height:1.1;
  display:block;margin-bottom:6px;
}
.stat-card .label{font-size:13px;letter-spacing:1px;color:#f5e9a5;}
.stat-card .note{font-size:12px;color:#d8c98a;margin-top:8px;display:block;}

/* brand story */
.story-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;
}
.brand-list{list-style:none;padding:0;margin:0;}
.brand-list li{
  border-bottom:1px dotted rgba(139,90,43,.6);
  padding:12px 0;
  display:flex;justify-content:space-between;gap:14px;align-items:baseline;
}
.brand-list li strong{color:var(--denim);font-size:16px;}
.brand-list li span{font-size:13px;color:var(--muted);text-align:right;}
.story-figure{
  border:3px solid var(--leather-2);
  background:var(--paper);
  padding:8px;
  box-shadow:8px 8px 0 rgba(95,60,25,.2);
}
.story-figure figcaption{font-size:12px;color:var(--muted);letter-spacing:1px;padding-top:8px;}

/* advantages */
.adv-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:22px;
}
.adv-card{
  background:var(--paper);
  border:2px solid var(--leather);
  border-top:8px solid var(--denim);
  padding:22px;
  box-shadow:6px 6px 0 rgba(95,60,25,.18);
}
.adv-card h3{margin-top:0;}
.adv-card p{font-size:14.5px;color:#3a2c1d;margin-bottom:0;}

/* news */
.news-toolbar{
  display:flex;justify-content:space-between;align-items:center;
  gap:14px;flex-wrap:wrap;margin-bottom:24px;
}
.tag{
  display:inline-block;font-size:12px;letter-spacing:2px;
  background:var(--leather);color:#fdf6d8;padding:3px 12px;font-weight:700;
}
.news-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:22px;
}
.news-card{
  background:var(--paper);
  border:2px solid var(--leather-2);
  padding:20px 22px;
  box-shadow:6px 6px 0 rgba(95,60,25,.18);
  position:relative;
}
.news-card::after{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:6px;
  background:repeating-linear-gradient(180deg,var(--denim) 0 10px, var(--sand) 10px 20px);
}
.news-meta{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;margin-bottom:10px;flex-wrap:wrap;
}
.news-meta time{
  font-size:12.5px;color:var(--muted);letter-spacing:1px;
  border:1px dashed rgba(139,90,43,.6);padding:2px 8px;
}
.news-card h3{font-size:17px;line-height:1.5;}
.news-card p{font-size:14.5px;color:#3a2c1d;margin-bottom:0;}

/* faq */
.faq-list{display:grid;gap:14px;}
.faq-item{
  background:var(--paper);
  border:2px solid var(--leather);
  box-shadow:5px 5px 0 rgba(95,60,25,.16);
  padding:0;
}
.faq-item summary{
  cursor:pointer;
  padding:16px 20px;
  font-weight:700;
  color:var(--denim);
  font-size:15.5px;
  list-style:none;
  position:relative;
  padding-right:48px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";
  position:absolute;right:20px;top:50%;transform:translateY(-50%);
  font-size:20px;color:var(--leather);font-weight:800;
}
.faq-item[open] summary::after{content:"–";}
.faq-answer{
  padding:0 20px 18px;
  border-top:1px dotted rgba(139,90,43,.6);
}
.faq-answer p{font-size:14.5px;color:#3a2c1d;margin:14px 0 0;}

/* cta */
.cta-box{
  background:var(--denim);
  color:#fdf6d8;
  border:4px double var(--sand);
  padding:40px 36px;
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:30px;
  align-items:center;
  box-shadow:10px 10px 0 rgba(95,60,25,.25);
}
.cta-box h2{color:var(--sand);margin:0 0 12px;}
.cta-box p{color:#e4dcb4;margin-bottom:20px;}
.cta-box .btn-secondary{border-color:var(--sand);}
.cta-figure{border:2px solid var(--sand);padding:8px;background:rgba(254,240,138,.1);}
.cta-figure figcaption{font-size:12px;color:#e4dcb4;letter-spacing:1px;padding-top:6px;text-align:center;}

/* footer */
.site-footer{
  background:#1b1409;
  color:#e6dcbb;
  border-top:8px double var(--leather);
  padding:46px 0 24px;
  margin-top:20px;
}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;
  padding-bottom:26px;
  border-bottom:1px solid rgba(230,220,187,.22);
}
.site-footer h4{
  color:var(--sand);font-size:14px;letter-spacing:3px;
  margin:0 0 12px;text-transform:uppercase;
}
.site-footer p,.site-footer li{font-size:13.5px;line-height:1.9;color:#cfc4a2;}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer a{color:#f0e6bf;}
.footer-bottom{
  padding-top:20px;display:flex;flex-wrap:wrap;gap:10px 20px;
  justify-content:space-between;align-items:center;
  font-size:13px;color:#bfb494;
}
.stamp{
  display:inline-block;
  border:3px double var(--leather);
  color:var(--leather-2);
  padding:4px 14px;
  letter-spacing:3px;
  font-weight:800;
  font-size:12px;
  transform:rotate(-4deg);
  background:rgba(254,240,138,.5);
}

@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;padding:38px 20px;}
  .story-grid{grid-template-columns:1fr;}
  .cta-box{grid-template-columns:1fr;padding:30px 24px;}
  .footer-grid{grid-template-columns:1fr;}
  h1{font-size:29px;}
  h2{font-size:22px;}
}