:root{
--paper:#f5f4f0;
--ink:#1a1d1f;
--muted:#63676b;
--accent:#0e5f5b;
--accent-ink:#0b4a47;
--line:#1a1d1f;
--fs-1:12px;
--fs-2:14px;
--fs-3:16px;
--fs-4:20px;
--fs-5:28px;
--fs-6:48px;
--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;font-size:var(--fs-3);line-height:1.75;
background-image:linear-gradient(90deg,rgba(26,29,31,.05) 1px,transparent 1px);background-size:120px 100%}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--s5)}
.narrow{max-width:70ch}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor}
a:hover{color:var(--accent-ink)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
img{max-width:100%}
h1{font-size:var(--fs-6);font-weight:900;letter-spacing:-.02em;line-height:1.2}
h2{font-size:var(--fs-5);font-weight:900;letter-spacing:.02em}
h3{font-size:var(--fs-4);font-weight:700}
p,li,dd,td{font-size:var(--fs-3)}
.sec-title{border-top:2px solid var(--line);padding-top:var(--s4);margin-bottom:var(--s6);font-weight:900;text-transform:none}
.site-header{border-bottom:2px solid var(--line);background:var(--paper)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);padding-top:var(--s4);padding-bottom:var(--s4);flex-wrap:wrap}
.brand img{display:block}
.main-nav{display:flex;gap:var(--s4);flex-wrap:wrap}
.main-nav a{border-bottom:2px solid transparent;padding:var(--s1) 0;font-size:var(--fs-2);font-weight:700;letter-spacing:.06em}
.main-nav a:hover,.main-nav a[aria-current="page"]{border-bottom-color:var(--accent);color:var(--ink)}
.hero{border-bottom:2px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:3fr 2fr;gap:var(--s7);align-items:center;padding-top:var(--s8);padding-bottom:var(--s8)}
.kicker{font-size:var(--fs-1);letter-spacing:.24em;color:var(--muted);text-transform:uppercase;margin-bottom:var(--s3)}
.lede{font-size:var(--fs-4);line-height:1.8;margin-top:var(--s5)}
.hero-links{margin-top:var(--s6);display:flex;gap:var(--s3);flex-wrap:wrap}
.btn{display:inline-block;border:2px solid var(--accent);background:var(--accent);color:#fff;padding:var(--s3) var(--s5);font-size:var(--fs-2);font-weight:700;letter-spacing:.08em;border-bottom-width:2px}
.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.caps{border-bottom:2px solid var(--line);padding:var(--s8) 0}
.cap-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:2px solid var(--line)}
.cap{padding:var(--s5);border-right:2px solid var(--line);border-bottom:2px solid var(--line)}
.cap h3{margin-bottom:var(--s3);color:var(--accent-ink)}
.items-sec{padding:var(--s8) 0;border-bottom:2px solid var(--line)}
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.item{border:2px solid var(--line);background:#fff;padding:var(--s4);display:flex;flex-direction:column}
.item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.item h2{font-size:var(--fs-4);margin:var(--s4) 0 var(--s2)}
.item ul{list-style:none;margin-top:var(--s3);border-top:1px solid rgba(26,29,31,.25);padding-top:var(--s3)}
.item li{font-size:var(--fs-2);padding:var(--s1) 0 var(--s1) var(--s3);position:relative}
.item li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;background:var(--accent)}
@media(max-width:760px){.items{grid-template-columns:minmax(0,1fr)}}
.process{padding:var(--s8) 0;border-bottom:2px solid var(--line)}
.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--line)}
.steps li{padding:var(--s5);border-right:2px solid var(--line)}
.steps li:last-child{border-right:0}
.step-no{font-size:var(--fs-5);font-weight:900;color:var(--accent);display:block;margin-bottom:var(--s2)}
.faq{padding:var(--s8) 0;border-bottom:2px solid var(--line)}
.faq-list dt{font-weight:900;font-size:var(--fs-4);border-top:1px solid var(--line);padding:var(--s4) 0 var(--s2)}
.faq-list dd{color:#33373a;margin-bottom:var(--s4);max-width:70ch}
.cta{background:var(--ink);color:#eee;padding:var(--s8) 0}
.cta h2{color:#fff;margin-bottom:var(--s3)}
.cta a{color:#9fd8d4}
.cta .btn{color:#fff}
.site-footer{border-top:2px solid var(--line);padding:var(--s7) 0}
.site-footer p{margin-bottom:var(--s2);color:var(--muted);font-size:var(--fs-2)}
.breadcrumb{font-size:var(--fs-1);letter-spacing:.1em;color:var(--muted);margin-bottom:var(--s5)}
.breadcrumb a{color:var(--muted);border-bottom:0}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{margin:0 var(--s1)}
.page-intro{border-bottom:2px solid var(--line);padding:var(--s8) 0}
.intro-split{display:grid;grid-template-columns:3fr 2fr;gap:var(--s7);align-items:start}
.intro-lede{font-size:var(--fs-4);line-height:1.8;margin-top:var(--s4);max-width:34em}
.intro-fig img,.contact-fig img,.band-fig img{display:block;border:2px solid var(--line)}
.band-hero{border-bottom:2px solid var(--line);background:#ebe9e2;padding:var(--s8) 0}
.band-hero h1{margin-bottom:var(--s5)}
.prose{padding:var(--s8) 0}
.prose h2{border-top:2px solid var(--line);padding-top:var(--s4);margin-top:var(--s7);margin-bottom:var(--s4)}
.prose p{margin-bottom:var(--s4)}
.contact-hero{border-bottom:2px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:3fr 2fr;gap:var(--s7);padding:var(--s8) 0;align-items:start}
.contact-dl{margin-top:var(--s6);border-top:2px solid var(--line)}
.contact-dl dt{font-size:var(--fs-1);letter-spacing:.18em;color:var(--muted);padding-top:var(--s4)}
.contact-dl dd{padding-bottom:var(--s3);border-bottom:1px solid rgba(26,29,31,.25)}
.compare{width:100%;border-collapse:collapse;margin:var(--s5) 0}
.compare th,.compare td{border:2px solid var(--line);padding:var(--s3);text-align:left;font-size:var(--fs-2)}
.compare th{background:var(--ink);color:#fff}
.compare tbody tr:nth-child(even){background:#ebe9e2}
@media(max-width:900px){
.hero-grid,.intro-split,.contact-grid{grid-template-columns:minmax(0,1fr);gap:var(--s5)}
.cap-list{grid-template-columns:minmax(0,1fr);border-left:0}
.steps{grid-template-columns:minmax(0,1fr)}
.steps li{border-right:0;border-bottom:2px solid var(--line)}
h1{font-size:var(--fs-5)}
body{background-image:none}
}