/* 全站字体资源定义：统一使用根目录 font 下的本地字体文件。 */
@font-face {
    font-family: "OpenSans";
    src: url("../../font/OpenSans-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "OpenSans";
    src: url("../../font/OpenSans-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "OpenSans";
    src: url("../../font/OpenSans-BoldItalic.ttf") format("truetype");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "OpenSans";
    src: url("../../font/OpenSans-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* 全站主题变量：统一维护主色、正文色和内容宽度。 */
:root {
    --ghis-navy: #011296;
    --ghis-deep: #07016b;
    --ghis-cyan: #01dff8;
    --ghis-orange: #f26f21;
    --ghis-active: #e26f25;
    --ghis-footer-active: #db7418;
    --ghis-text: #1d2030;
    --ghis-muted: #5f6370;
    --ghis-soft: #f3f5fb;
    --content-width: clamp(1120px, 86vw, 1660px);
    /* 主体内容专用宽度：只给页面正文区域使用，不影响头部和底部。 */
    --main-content-width: clamp(1040px, 80vw, 1520px);
}

/* 全站基础重置：统一盒模型和默认字体。 */
* {
    box-sizing: border-box;
    font-family: "OpenSans", Arial, Helvetica, sans-serif;
}

/* 页面基础结构：控制页面背景、最小宽度和主内容容器。 */
html {
    scroll-behavior: smooth;
}

body {
    min-width: 1200px;
    margin: 0;
    color: var(--ghis-text);
    background: #ffffff;
    font-family: "OpenSans", Arial, Helvetica, sans-serif;
}

.page-shell {
    overflow: hidden;
    background: #ffffff;
}

.content-wrap {
    width: var(--main-content-width);
    margin: 0 auto;
}

/* 响应式宽度变量：按桌面、平板、移动端统一收缩内容区。 */
@media (max-width: 1399px) {
    :root {
        --content-width: calc(100% - 80px);
    }
}

@media (max-width: 1199px) {
    body {
        min-width: 320px;
    }

    :root {
        --content-width: calc(100% - 40px);
        --main-content-width: calc(100% - 40px);
    }
}

@media (max-width: 750px) {
    :root {
        --content-width: calc(100% - 28px);
        --main-content-width: calc(100% - 28px);
    }
}

@media (min-width: 1200px) and (max-width: 1536px) {
    :root {
        --content-width: calc(100% - 48px);
        --main-content-width: calc(100% - 144px);
    }
}
