.page-hero{padding:70px 0 50px;border-bottom:1px solid var(--line)}
.page-hero .tag{margin-bottom:20px}
.page-hero h1{
  font-family:var(--font-serif);font-size:clamp(26px,3.6vw,36px);
  font-weight:400;letter-spacing:.02em;margin-bottom:16px;line-height:1.4;
}
.page-hero p.lead{font-size:15px;color:var(--ink-2);max-width:34em;line-height:1.9}

.page-body{padding:56px 0 80px}

.search-box{
  margin-top:34px;display:flex;gap:0;
  border:1px solid var(--line);background:#fff;
  max-width:560px;
}
.search-box input{
  flex:1;padding:15px 18px;border:none;outline:none;
  font-family:var(--font-sans);font-size:15px;
  color:var(--ink);background:transparent;letter-spacing:.02em;
}
.search-box input::placeholder{color:var(--ink-3)}
.search-box button{
  padding:0 28px;background:var(--ink);color:#fff;
  border:none;cursor:pointer;font-family:var(--font-sans);
  font-size:14px;letter-spacing:.08em;transition:background .2s;
}
.search-box button:hover{background:var(--accent)}

.result-doc{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:36px 0;max-width:720px;
}
.result-doc h2{
  font-family:var(--font-serif);font-size:22px;font-weight:400;
  letter-spacing:.02em;margin-bottom:8px;
}
.result-doc .meta{
  font-size:11px;letter-spacing:.12em;color:var(--ink-3);
  font-family:var(--font-mono);text-transform:uppercase;margin-bottom:24px;
}
.result-doc .body{
  font-size:15px;color:var(--ink-2);line-height:2;white-space:pre-line;
  margin-bottom:24px;
}
.result-doc .foot{
  font-size:12px;color:var(--ink-3);letter-spacing:.04em;
  padding-top:20px;border-top:1px solid var(--line);
}
.result-doc .action{margin-top:28px}

.say{
  margin:36px 0;padding-left:16px;border-left:2px solid var(--accent);
  font-size:14px;line-height:1.9;color:var(--ink-2);
}

.result-list{list-style:none;max-width:720px}
.result-list li{
  border-bottom:1px solid var(--line);padding:22px 0;
}
.result-list h3{
  font-size:16px;font-weight:400;margin-bottom:6px;color:var(--ink);
}
.result-list p{font-size:13px;color:var(--ink-2);line-height:1.8}

.empty{
  max-width:720px;padding:36px 0;border-top:1px solid var(--line);
}
.empty h2{
  font-family:var(--font-serif);font-size:22px;font-weight:400;
  color:var(--ink);margin-bottom:10px;
}
.empty p{font-size:14px;color:var(--ink-2);line-height:1.9}

.card-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);
  margin-top:36px;
}
.card{
  background:var(--bg);padding:38px 30px 42px;
  transition:background .3s;cursor:pointer;
}
.card:hover{background:#fff}
.card .num{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.1em}
.card h3{font-family:var(--font-serif);font-size:19px;font-weight:400;margin:16px 0 10px}
.card p{font-size:13px;color:var(--ink-2);line-height:1.9}
.card .status{margin-top:20px;font-size:11px;letter-spacing:.12em;color:var(--ink-3);font-family:var(--font-mono);text-transform:uppercase}

.faq-list{max-width:720px;margin-top:20px}
.faq-list details{
  border-bottom:1px solid var(--line);padding:20px 0;
}
.faq-list summary{
  cursor:pointer;font-size:15px;color:var(--ink);
  list-style:none;position:relative;padding-right:28px;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:'+';position:absolute;right:0;top:0;
  font-family:var(--font-mono);color:var(--ink-3);font-size:18px;
  transition:transform .2s;
}
.faq-list details[open] summary::after{content:'−'}
.faq-list .answer{
  margin-top:14px;font-size:14px;color:var(--ink-2);line-height:1.9;
  padding-left:2px;
}

.archive-lock{
  max-width:560px;margin-top:36px;
  border:1px solid var(--line);padding:34px 32px;background:var(--panel-alt);
}
.archive-lock h2{
  font-family:var(--font-serif);font-size:19px;font-weight:400;margin-bottom:8px;
}
.archive-lock p{font-size:13px;color:var(--ink-2);line-height:1.9;margin-bottom:20px}
.archive-lock .row{display:flex;gap:0;border:1px solid var(--line);background:#fff}
.archive-lock input{
  flex:1;padding:13px 16px;border:none;outline:none;
  font-family:var(--font-mono);font-size:14px;letter-spacing:.08em;
  background:transparent;color:var(--ink);
}
.archive-lock button{
  padding:0 24px;background:var(--ink);color:#fff;border:none;
  cursor:pointer;font-family:var(--font-sans);font-size:13px;
  letter-spacing:.08em;
}
.archive-lock .msg{
  margin-top:14px;font-size:12px;color:var(--ink-3);
  font-family:var(--font-mono);min-height:20px;
}
.archive-lock .msg.err{color:var(--danger)}
.archive-lock .msg.ok{color:var(--ink)}

@media(max-width:760px){
  .card-grid{grid-template-columns:1fr}
  .page-hero{padding:48px 0 36px}
}