/* 两个备案展示页共用的视觉规范；各站点独立部署。 */
:root {
    --ink: #233e35;
    --muted: #64756b;
    --green: #285c49;
    --cream: #faf8f0;
    --line: #dce3d9;
    --coral: #ed8c68;
}

* { box-sizing: border-box; }

body {
    min-height: 100vh;
    min-height: 100svh;
    margin: 0;
    display: flex;
    flex-direction: column;
    background: var(--cream);
    color: var(--ink);
    font-family: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.wrap {
    width: min(1160px, calc(100% - 80px));
    margin: 0 auto;
}

header { border-bottom: 1px solid var(--line); }

.header-row {
    min-height: 100px;
    display: flex;
    align-items: center;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--green);
    font-size: 23px;
    font-weight: 750;
    letter-spacing: 2px;
}

.brand svg { width: 44px; height: 44px; }

.brand small {
    display: block;
    font-size: 9px;
    letter-spacing: 2px;
    margin-top: 3px;
}

main {
    flex: 1;
    display: flex;
    align-items: center;
}

.eyebrow {
    font-size: 12px;
    letter-spacing: 3px;
    font-weight: 650;
    color: var(--green);
    margin: 0 0 24px;
}

.eyebrow::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--coral);
    margin-right: 12px;
    vertical-align: 2px;
}

h1 {
    margin: 0 0 26px;
    font-size: clamp(40px, 4vw, 56px);
    line-height: 1.3;
    letter-spacing: -2px;
    font-weight: 650;
}

p { line-height: 1.95; }
.desc { font-size: 16px; color: var(--muted); }

footer { border-top: 1px solid var(--line); }

.footer-row {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 38px 0;
    color: var(--muted);
    font-size: 12px;
}

.footer-row strong {
    font-size: 20px;
    color: var(--green);
    letter-spacing: 2px;
}

.footer-row p { margin: 8px 0; }
.footer-row a { color: inherit; text-decoration: none; }
.footer-row a:hover, .footer-row a:focus-visible { color: var(--green); text-decoration: underline; }
.footer-row > div:last-child { text-align: right; }

@media (max-width: 760px) {
    .wrap { width: calc(100% - 40px); }
    .header-row { min-height: 90px; }
    .brand { font-size: 20px; }
    .brand svg { width: 38px; height: 38px; }
    h1 { letter-spacing: -1px; }
    .footer-row { flex-direction: column; gap: 12px; }
    .footer-row > div:last-child { text-align: left; }
}

.hero {
    padding: 65px 0 50px;
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    align-items: center;
    gap: 15px;
}

.hero .desc { max-width: 430px; margin: 0 0 30px; }
.hero-art { width: 100%; height: auto; }
.hero-note { margin: 22px 0 0; font-size: 12px; color: var(--muted); }
.hero h1 em { font-style: normal; color: #74916e; }

@media (max-width: 760px) {
    .hero { grid-template-columns: 1fr; padding: 45px 0; gap: 18px; }
    .hero h1 { font-size: clamp(28px, 8.1vw, 40px); }
    .hero-art { max-width: 500px; justify-self: center; }
}
