/* 两个备案展示页共用的视觉规范；各站点独立部署。 */
: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; }
}

.company-hero { width: 100%; padding: 85px 0 70px; }

.hero-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 80px;
    align-items: center;
}

.company-hero h1 { font-size: clamp(38px, 4.5vw, 60px); }
.company-hero .desc { max-width: 600px; }

.hero-aside {
    border: 1px solid #c9d5c5;
    border-radius: 180px 180px 20px 20px;
    background: #e7eddf;
    padding: 50px 30px 25px;
    text-align: center;
    overflow: hidden;
}

.hero-aside svg { width: 100%; height: auto; max-width: 300px; }
.hero-aside p { font-size: 11px; letter-spacing: 3px; color: var(--green); margin: 15px 0 0; }

.company-name {
    margin: 30px 0 0;
    padding-top: 23px;
    border-top: 1px solid var(--line);
    font-size: 14px;
    color: var(--muted);
}

@media (max-width: 760px) {
    .company-hero { padding: 45px 0; }
    .hero-grid { grid-template-columns: 1fr; gap: 35px; }
    .company-hero h1 { font-size: clamp(28px, 8.1vw, 38px); }
    .hero-aside { max-width: 350px; width: 100%; justify-self: center; padding-top: 35px; }
    .hero-aside svg { max-width: 220px; }
    .company-name { font-size: 12px; }
}
