*, *::before, *::after { box-sizing: border-box; }

body {
    margin: 0 auto;
    padding: 20px;
    max-width: 1000px;     
    font-family: Georgia, "Noto Sans SC", "Source Han Sans", 'Microsoft YaHei', serif, 'SimSun';
    line-height: 1.8;
    color: #333;
    background: #fdfdfb;
    font-size: 17px;
}

@media (min-width: 768px) {
    body {
        padding: 50px 40px;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 0 40px rgba(0,0,0,0.12);
    }
}


h1 {
    text-align: center;
    font-size: 2.4rem;
    margin: 0.4em 0 1.6em;
    color: #8b4513;
    font-weight: 600;
}

h2 {
    font-size: 1.65rem;
    margin: 3.2em 0 1em;
    padding-bottom: 0.6em;
    border-bottom: 2px solid #deb887;
    color: #654321;
}


.menu {
    text-align: center;
    margin: 2.8em 0;
    font-size: 1.1rem;
    word-spacing: 1em;
}

.menu a {
    color: #8b4513;
    text-decoration: none;
    font-weight: 500;
	margin: 0 -0.2em
}

.menu a:hover { text-decoration: underline; }

.fig {
    text-align: center;
    margin: 3em 0;
}

.fig img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border: 1px solid #e2d6c1;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.16);
    background: #fff;  
}

@media (min-width: 768px) {
    .fig img {
        max-width: 860px;
    }
}


p {
    text-align: justify;
    margin: 1.4em 0;
}


hr {
    margin: 4em auto;
    max-width: 400px;
    border: none;
    border-top: 1px dashed #c0a080;
}


a { color: #a0522d; }
a:hover { color: #c96a1a; }


@media (max-width: 480px) {
    body { padding: 15px; font-size: 16px; }
    h1 { font-size: 2rem; }
    .menu { word-spacing: 0.5em; font-size: 1rem; }
}