:root{
  --paper:#f6f1e7;      /* 和纸米白 */
  --ink:#2b2a26;        /* 墨 */
  --ink-soft:#5a584f;
  --tea:#3e5a4a;        /* 茶青，主色，取自丽水茶山 */
  --tea-deep:#2c4236;
  --persimmon:#b9573e;  /* 低饱和柿色，强调 */
  --line:#c9c0ad;
  --fs-xs:.8125rem;
  --fs-s:.9375rem;
  --fs-m:1.0625rem;
  --fs-l:clamp(1.5rem,3.2vw,2.125rem);
  --fs-xl:clamp(2.2rem,5.5vw,3.75rem);
  --gap-1:4px;--gap-2:8px;--gap-3:12px;--gap-4:16px;--gap-5:24px;--gap-6:32px;--gap-7:48px;--gap-8:64px;
  --serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif SC","Songti SC",serif;
  --sans:"Hiragino Kaku Gothic ProN","Noto Sans SC","PingFang SC",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-m);line-height:1.85}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--gap-5)}
.narrow{max-width:760px}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:.04em}
h1{font-size:var(--fs-xl);line-height:1.3}
h2{font-size:var(--fs-l);margin-bottom:var(--gap-5)}
h3{font-size:var(--fs-m)}
a{color:var(--tea);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--persimmon)}
a:focus-visible,button:focus-visible{outline:2px solid var(--persimmon);outline-offset:2px}
.kicker{font-size:var(--fs-xs);letter-spacing:.35em;color:var(--tea);margin-bottom:var(--gap-4)}
.lede{max-width:38em;color:var(--ink-soft);margin:var(--gap-5) 0}
.em{color:var(--tea)}
/* header */
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.headrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--gap-4);padding-top:var(--gap-4);padding-bottom:var(--gap-4)}
.headrow nav{display:flex;flex-wrap:wrap;gap:var(--gap-5)}
.headrow nav a{text-decoration:none;font-size:var(--fs-s);letter-spacing:.15em;color:var(--ink)}
.headrow nav a:hover{color:var(--persimmon)}
/* breadcrumb */
.breadcrumb{font-size:var(--fs-xs);letter-spacing:.08em;color:var(--ink-soft);padding:var(--gap-4) var(--gap-5) 0}
.breadcrumb a{color:var(--ink-soft);text-decoration:none}
.breadcrumb a:hover{color:var(--persimmon)}
.breadcrumb span{margin:0 var(--gap-2)}
/* hero variants — 各不相同 */
.hero{padding:var(--gap-8) 0;position:relative}
.hero-index .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap-7);align-items:center}
.hero-index h1{border-left:6px solid var(--tea);padding-left:var(--gap-5)}
.cta-row{display:flex;gap:var(--gap-4);margin-top:var(--gap-5);flex-wrap:wrap}
.btn{display:inline-block;background:var(--tea);color:var(--paper);padding:var(--gap-3) var(--gap-6);text-decoration:none;letter-spacing:.15em;font-size:var(--fs-s);border:1px solid var(--tea)}
.btn:hover{background:var(--tea-deep);color:#fff}
.btn.ghost{background:transparent;color:var(--tea)}
.btn.ghost:hover{background:var(--tea);color:var(--paper)}
.hero-fig img{width:100%;height:auto;display:block;border:1px solid var(--line)}
.tate{position:absolute;right:var(--gap-5);top:var(--gap-6);writing-mode:vertical-rl;font-family:var(--serif);letter-spacing:.5em;color:var(--line);font-size:var(--fs-l);user-select:none}
.hero-about .about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--gap-7);align-items:center}
.about-fig img{width:100%;height:auto;display:block;border:1px solid var(--line)}
.hero-services .band-fig img{width:100%;height:auto;display:block;border:1px solid var(--line);margin-top:var(--gap-6)}
.hero-contact .contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap-7);align-items:center}
.contact-fig img{width:100%;max-width:320px;height:auto;display:block;margin:0 auto}
.hero-guide h1{letter-spacing:.12em}
/* blocks */
.block{padding:var(--gap-8) 0;border-top:1px solid var(--line)}
.block-note{color:var(--ink-soft);margin-bottom:var(--gap-6)}
.feat3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-6)}
.feat{border-top:3px solid var(--tea);padding-top:var(--gap-4)}
.feat h3{margin-bottom:var(--gap-3);color:var(--tea-deep);letter-spacing:.1em}
.feat p{font-size:var(--fs-s);color:var(--ink-soft);max-width:32em}
/* items grid（契约结构） */
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border:1px solid var(--line)}
.item h2{font-size:1.125rem;margin:var(--gap-3) 0 var(--gap-2);letter-spacing:.08em}
.item p{font-size:var(--fs-s);color:var(--ink-soft)}
.item ul{list-style:none;margin-top:var(--gap-2);border-top:1px dashed var(--line);padding-top:var(--gap-2)}
.item li{font-size:var(--fs-xs);color:var(--ink-soft);padding-left:var(--gap-4);position:relative}
.item li::before{content:"—";position:absolute;left:0;color:var(--tea)}
@media(max-width:760px){.items{grid-template-columns:minmax(0,1fr)}}
/* process */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-6);counter-reset:none}
.steps .num{font-family:var(--serif);font-size:var(--fs-l);color:var(--persimmon);display:block;margin-bottom:var(--gap-2)}
.steps p{font-size:var(--fs-s);color:var(--ink-soft)}
/* faq */
.faq h3{border-left:3px solid var(--persimmon);padding-left:var(--gap-3);margin-top:var(--gap-6);letter-spacing:.06em}
.faq p{color:var(--ink-soft);font-size:var(--fs-s);margin-top:var(--gap-2);max-width:42em}
.more-link{margin-top:var(--gap-6);font-size:var(--fs-s)}
/* table */
.table-wrap{overflow-x:auto;margin:var(--gap-5) 0}
table{border-collapse:collapse;width:100%;font-size:var(--fs-s)}
caption{text-align:left;font-size:var(--fs-xs);color:var(--ink-soft);padding-bottom:var(--gap-2);letter-spacing:.1em}
th,td{border:1px solid var(--line);padding:var(--gap-3) var(--gap-4);text-align:left;vertical-align:top}
th{background:var(--tea);color:var(--paper);font-weight:600;letter-spacing:.1em}
tbody tr:nth-child(even){background:#efe8d8}
/* text sections */
.text h2{margin-top:var(--gap-7)}
.text h2:first-child{margin-top:0}
.text p{max-width:42em;color:var(--ink-soft);margin-top:var(--gap-4)}
/* cta */
.cta{background:var(--tea);color:var(--paper);border-top:none}
.cta h2{color:var(--paper)}
.cta p{max-width:44em}
.cta a{color:var(--paper);text-decoration:underline}
.cta a:hover{color:#f3c7b8}
/* footer */
.site-footer{border-top:1px solid var(--line);padding:var(--gap-6) 0;font-size:var(--fs-s);color:var(--ink-soft)}
.site-footer a{color:var(--ink-soft)}
/* responsive */
@media(max-width:900px){
  .hero-index .hero-grid,.hero-about .about-grid,.hero-contact .contact-grid{grid-template-columns:1fr}
  .feat3{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tate{display:none}
  .headrow{flex-direction:column;align-items:flex-start}
}
@media(max-width:760px){.steps{grid-template-columns:1fr}}