@charset "utf-8";
:root{--pg-ink:#1c1915;--pg-muted:#6b6258;--pg-bg:#f4efe6;--pg-card:#fffdf8;--pg-line:#e4d8c6;--pg-brand:#1f4e79;--pg-brand-ink:#12263a;--pg-foot:#161410;--pg-accent:#c2410c;--pg-radius:18px;--pg-shadow:0 18px 40px rgba(28,25,21,.08);--pg-head:rgba(244,239,230,.92)}
*{box-sizing:border-box}html,body{margin:0;padding:0;max-width:100%;overflow-x:clip}
body{font-family:"Iowan Old Style","Palatino Linotype","PingFang SC","Microsoft YaHei","Noto Serif SC",serif;color:var(--pg-ink);background:var(--pg-bg);line-height:1.8;font-size:16px}
img,svg,video,canvas{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul{list-style:none;margin:0;padding:0}
:where(.wrap,header .wrap,footer .wrap,.hero-inner,.container,.inner){width:min(1180px,92%);margin-left:auto;margin-right:auto;max-width:100%}
:where(body>header,.site-header){position:sticky;top:0;z-index:30;background:var(--pg-head);border-bottom:1px solid var(--pg-line);backdrop-filter:blur(14px)}
:where(body>header>nav,body>header .nav,.site-header>nav,.site-header .nav){width:min(1180px,92%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;flex-wrap:wrap}
:where(.logo,.nav .logo,body>header .brand,.site-header .brand){font-weight:800;font-size:22px;letter-spacing:.02em;color:var(--pg-brand-ink);white-space:nowrap}
:where(.nav-links,body>header nav ul,.site-header nav ul){display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0}
:where(.nav-links a,body>header nav a,.site-header nav a){color:var(--pg-muted);font-size:14px}
:where(.nav-links a:hover,body>header nav a:hover,.site-header nav a:hover){color:var(--pg-brand)}
:where(.btn,.hero-actions a,a.btn,.pg-cta a){display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:999px;font-weight:700;border:1px solid transparent}
:where(.btn-solid){background:var(--pg-brand);color:#fff}
:where(.btn-line){border-color:currentColor;background:transparent}
:where(.hero){padding:84px 0 72px;background:radial-gradient(1200px 480px at 10% -10%,#dbe7f3 0%,transparent 55%),linear-gradient(160deg,#12263a,#1f4e79 58%,#9a3412);color:#fff;text-align:center}
:where(.hero h1){font-size:clamp(30px,5.4vw,52px);line-height:1.18;margin:12px 0 16px;letter-spacing:-.02em}
:where(.hero-text,.hero p){max-width:740px;margin:0 auto 24px;color:rgba(255,255,255,.9)}
:where(.hero-actions){display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:24px 0 36px}
:where(.stat-row,.stats,.data-row,.pg-stats){display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;width:min(1180px,92%);margin:28px auto 0}
:where(.stat,.data-card,.pg-stat){background:var(--pg-card);color:var(--pg-ink);border-radius:var(--pg-radius);padding:24px 20px;box-shadow:var(--pg-shadow);border:1px solid var(--pg-line);text-align:left}
:where(.slash-1,.slash-2,.slash-3){border-left:5px solid var(--pg-accent)}
:where(.stat .num,.stats .num,.stat-row .num,.data-row .num,.pg-stats .num,.data-card .num,.pg-stat .num,.stat b,.stat strong){display:block;font-size:clamp(28px,4vw,40px);font-weight:800;line-height:1.15;color:var(--pg-brand);overflow:visible;white-space:nowrap}
:where(.stat p,.stat span:not(.num)){display:block;margin:8px 0 0;color:var(--pg-muted);font-size:14px}
:where(section,.pg-extra){padding:72px 0}
:where(section h2,.pg-extra h2){font-size:clamp(26px,3.2vw,36px);text-align:center;margin:0 0 12px;letter-spacing:-.02em}
:where(section>p,.pg-extra>p,.pg-lead){text-align:center;color:var(--pg-muted);max-width:740px;margin:0 auto 36px}
:where(.grid-2,.grid-3,.grid-4,.pg-grid,.cards){display:grid;gap:22px}
:where(.grid-2){grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
:where(.grid-3,.cards,.pg-grid){grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
:where(.grid-4){grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
:where(.card,article.card,.pg-card){background:var(--pg-card);border:1px solid var(--pg-line);border-radius:var(--pg-radius);padding:26px 24px;box-shadow:var(--pg-shadow)}
:where(.card h3,.pg-card h3){margin:0 0 10px;font-size:19px;color:var(--pg-brand-ink)}
:where(.card p,.pg-card p){margin:0;color:var(--pg-muted)}
:where(.pg-step){counter-increment:pgstep;position:relative;padding-top:8px}
:where(.pg-step:before){content:counter(pgstep,decimal-leading-zero);display:block;font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--pg-accent);margin-bottom:8px}
:where(.pg-quote,.testimonial){background:var(--pg-card);border:1px solid var(--pg-line);border-radius:var(--pg-radius);padding:28px;box-shadow:var(--pg-shadow)}
:where(.pg-quote p){font-size:18px;color:var(--pg-ink)}
:where(.pg-faq details){background:var(--pg-card);border:1px solid var(--pg-line);border-radius:14px;padding:16px 18px;margin:0 0 12px}
:where(.pg-faq summary){cursor:pointer;font-weight:700;color:var(--pg-brand-ink)}
:where(.pg-chips){display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 28px}
:where(.pg-chips span){border:1px solid var(--pg-line);background:var(--pg-card);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--pg-muted)}
:where(.pg-cta){text-align:center;background:linear-gradient(135deg,#12263a,#1f4e79);color:#fff;border-radius:28px;padding:48px 28px}
:where(.dark-band){background:linear-gradient(135deg,#161410,#1f4e79);color:#fff}
:where(.dark-band h2,.dark-band>p){color:#fff}
:where(.dark-band .card){background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}
:where(.dark-band .card h3){color:#fff}:where(.dark-band .card p){color:rgba(255,255,255,.82)}
:where(.contact){text-align:center}
:where(body>footer,main~footer,.site-footer){background:var(--pg-foot);color:#e8dfd2;padding:56px 0 28px;margin-top:8px;display:block}
:where(.footer-grid){width:min(1180px,92%);margin:0 auto 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px}
:where(.footer-nav,body>footer ul,.site-footer ul){width:min(1180px,92%);margin:0 auto 20px;display:flex;flex-wrap:wrap;gap:10px 22px;padding:0}
:where(body>footer a,.site-footer a){color:#f3ebe0}
:where(.copyright,.footer-copy){width:min(1180px,92%);margin:0 auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#a89c8c}
@media(max-width:720px){:where(body>header>nav,.site-header>nav,.nav){padding:10px 0}:where(.hero){padding:52px 0}:where(section,.pg-extra){padding:44px 0}:where(.stat .num,.stat b,.stat strong){white-space:normal}}

.navbar{--bs-navbar-color:inherit;--bs-navbar-hover-color:inherit}.card{--bs-card-bg:var(--pg-card);--bs-card-color:inherit}.list-group{--bs-list-group-bg:var(--pg-card);--bs-list-group-color:inherit}

:where(.container),:where(.container-fluid),:where(.container-sm),:where(.container-md),:where(.container-lg),:where(.container-xl),:where(.container-xxl){width:100%;margin-left:auto;margin-right:auto;padding-left:.75rem;padding-right:.75rem}
:where(.container){max-width:1140px}
:where(.row){display:flex;flex-wrap:wrap;margin-left:-.75rem;margin-right:-.75rem}
:where(.row>*){width:100%;max-width:100%;padding-left:.75rem;padding-right:.75rem}
:where(.col){flex:1 0 0%}
:where(.g-0){gap:0}:where(.g-1){gap:.25rem}:where(.g-2){gap:.5rem}:where(.g-3){gap:1rem}:where(.g-4){gap:1.5rem}:where(.g-5){gap:3rem}
:where(.gx-4){column-gap:1.5rem}:where(.gy-4){row-gap:1.5rem}
:where(.navbar){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;position:relative;padding:.5rem 0}
:where(.navbar>.container),:where(.navbar>.container-fluid),:where(.navbar>.container-lg){display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}
:where(.navbar-brand){display:flex;align-items:center;margin-right:1rem;white-space:nowrap}
:where(.navbar-nav){display:flex;flex-direction:row;flex-wrap:wrap;list-style:none;margin:0;padding:0}
:where(.navbar-collapse){display:flex;flex-basis:auto;flex-grow:1;align-items:center}
:where(.nav-item){display:block}:where(.nav-link){display:block;padding:.5rem 1rem;text-decoration:none}
:where(.navbar-toggler){display:none}
:where(.breadcrumb){display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
:where(.breadcrumb-item){display:flex;align-items:center}
:where(.breadcrumb-item+.breadcrumb-item)::before{content:"/";padding:0 .5rem;opacity:.6}
:where(.card){display:flex;flex-direction:column;min-width:0;border-radius:.5rem;overflow:hidden}
:where(.card-body){flex:1 1 auto;padding:1rem}
:where(.card-header),:where(.card-footer){padding:.5rem 1rem}
:where(.btn){display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.375rem .75rem;border:1px solid transparent;border-radius:.375rem;cursor:pointer;text-align:center;white-space:nowrap;text-decoration:none}
:where(.btn-sm){padding:.25rem .5rem;font-size:.875rem}
:where(.btn-lg){padding:.5rem 1rem;font-size:1.25rem}
:where(.badge){display:inline-block;padding:.35em .65em;border-radius:.375rem;font-size:.75em;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline}
:where(.list-group){display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
:where(.list-group-item){display:block;padding:.5rem 1rem}
:where(.accordion){display:block}:where(.accordion-item){display:block}
:where(.accordion-button){display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;border:0;text-align:left;cursor:pointer;background:transparent;color:inherit}
:where(.accordion-collapse){display:block}:where(.accordion-body){padding:1rem 1.25rem}
:where(.form-control),:where(.form-select){display:block;width:100%;padding:.375rem .75rem;border:1px solid var(--pg-line,rgba(0,0,0,.14));border-radius:.375rem;background:transparent;color:inherit;font:inherit}
:where(.input-group){display:flex;flex-wrap:wrap;align-items:stretch;width:100%}
:where(.progress){display:flex;height:1rem;overflow:hidden;border-radius:.375rem}
:where(.progress-bar){display:flex;flex-direction:column;justify-content:center;overflow:hidden;text-align:center;white-space:nowrap}
:where(.collapse:not(.show)){display:none}
:where(.pagination){display:flex;list-style:none;padding-left:0;margin:0}
:where(.carousel-item){display:none}:where(.carousel-item.active){display:block}
:where(.ratio){position:relative;width:100%}:where(.img-fluid){max-width:100%;height:auto}
:where(.d-flex){display:flex}:where(.d-inline-flex){display:inline-flex}:where(.d-block){display:block}:where(.d-inline-block){display:inline-block}:where(.d-grid){display:grid}:where(.d-none){display:none!important}:where(.flex-row){flex-direction:row}:where(.flex-column){flex-direction:column}:where(.flex-wrap){flex-wrap:wrap}:where(.flex-nowrap){flex-wrap:nowrap}:where(.flex-grow-1){flex-grow:1}:where(.flex-shrink-0){flex-shrink:0}:where(.justify-content-start){justify-content:flex-start}:where(.justify-content-center){justify-content:center}:where(.justify-content-end){justify-content:flex-end}:where(.justify-content-between){justify-content:space-between}:where(.justify-content-around){justify-content:space-around}:where(.align-items-start){align-items:flex-start}:where(.align-items-center){align-items:center}:where(.align-items-end){align-items:flex-end}:where(.align-items-stretch){align-items:stretch}:where(.text-center){text-align:center}:where(.text-start),:where(.text-left){text-align:left}:where(.text-end),:where(.text-right){text-align:right}:where(.w-100){width:100%}:where(.h-100){height:100%}:where(.mw-100){max-width:100%}:where(.position-relative){position:relative}:where(.position-absolute){position:absolute}:where(.overflow-hidden){overflow:hidden}:where(.mx-auto){margin-left:auto;margin-right:auto}:where(.text-decoration-none){text-decoration:none}:where(.list-unstyled){list-style:none;padding-left:0}:where(.text-white){color:#fff!important}:where(.text-black){color:#111!important}:where(.text-muted),:where(.text-secondary){color:var(--pg-muted,#6b7280)}:where(.bg-white){background-color:#fff}:where(.bg-transparent){background-color:transparent}:where(.border){border:1px solid var(--pg-line,rgba(0,0,0,.12))}:where(.border-0){border:0}:where(.border-bottom){border-bottom:1px solid var(--pg-line,rgba(0,0,0,.12))}:where(.rounded-0){border-radius:0}:where(.rounded-1){border-radius:.25rem}:where(.rounded-2){border-radius:.375rem}:where(.rounded-3){border-radius:.5rem}:where(.rounded-4){border-radius:.75rem}:where(.rounded-pill),:where(.rounded-full){border-radius:9999px}:where(.shadow-sm){box-shadow:0 1px 3px rgba(0,0,0,.08)}:where(.shadow){box-shadow:0 4px 12px rgba(0,0,0,.10)}:where(.shadow-lg){box-shadow:0 12px 28px rgba(0,0,0,.14)}:where(.fw-bold),:where(.font-weight-bold),:where(.bold){font-weight:700}:where(.fw-semibold),:where(.font-weight-semibold){font-weight:600}:where(.fst-italic){font-style:italic}:where(.small){font-size:.875em}:where(.h1){font-size:2.5rem}:where(.h2){font-size:2rem}:where(.h3){font-size:1.75rem}:where(.h4){font-size:1.5rem}:where(.h5){font-size:1.25rem}:where(.h6){font-size:1rem}:where(.lead){font-size:1.125rem;font-weight:300}:where(.visually-hidden){position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:where(.m-0){margin:0}:where(.mt-0){margin-top:0}:where(.mb-0){margin-bottom:0}:where(.ms-0),:where(.ml-0){margin-left:0}:where(.me-0),:where(.mr-0){margin-right:0}:where(.my-0){margin-top:0;margin-bottom:0}:where(.mx-0){margin-left:0;margin-right:0}:where(.p-0){padding:0}:where(.pt-0){padding-top:0}:where(.pb-0){padding-bottom:0}:where(.ps-0),:where(.pl-0){padding-left:0}:where(.pe-0),:where(.pr-0){padding-right:0}:where(.py-0){padding-top:0;padding-bottom:0}:where(.px-0){padding-left:0;padding-right:0}:where(.m-1){margin:.25rem}:where(.mt-1){margin-top:.25rem}:where(.mb-1){margin-bottom:.25rem}:where(.ms-1),:where(.ml-1){margin-left:.25rem}:where(.me-1),:where(.mr-1){margin-right:.25rem}:where(.my-1){margin-top:.25rem;margin-bottom:.25rem}:where(.mx-1){margin-left:.25rem;margin-right:.25rem}:where(.p-1){padding:.25rem}:where(.pt-1){padding-top:.25rem}:where(.pb-1){padding-bottom:.25rem}:where(.ps-1),:where(.pl-1){padding-left:.25rem}:where(.pe-1),:where(.pr-1){padding-right:.25rem}:where(.py-1){padding-top:.25rem;padding-bottom:.25rem}:where(.px-1){padding-left:.25rem;padding-right:.25rem}:where(.m-2){margin:.5rem}:where(.mt-2){margin-top:.5rem}:where(.mb-2){margin-bottom:.5rem}:where(.ms-2),:where(.ml-2){margin-left:.5rem}:where(.me-2),:where(.mr-2){margin-right:.5rem}:where(.my-2){margin-top:.5rem;margin-bottom:.5rem}:where(.mx-2){margin-left:.5rem;margin-right:.5rem}:where(.p-2){padding:.5rem}:where(.pt-2){padding-top:.5rem}:where(.pb-2){padding-bottom:.5rem}:where(.ps-2),:where(.pl-2){padding-left:.5rem}:where(.pe-2),:where(.pr-2){padding-right:.5rem}:where(.py-2){padding-top:.5rem;padding-bottom:.5rem}:where(.px-2){padding-left:.5rem;padding-right:.5rem}:where(.m-3){margin:1rem}:where(.mt-3){margin-top:1rem}:where(.mb-3){margin-bottom:1rem}:where(.ms-3),:where(.ml-3){margin-left:1rem}:where(.me-3),:where(.mr-3){margin-right:1rem}:where(.my-3){margin-top:1rem;margin-bottom:1rem}:where(.mx-3){margin-left:1rem;margin-right:1rem}:where(.p-3){padding:1rem}:where(.pt-3){padding-top:1rem}:where(.pb-3){padding-bottom:1rem}:where(.ps-3),:where(.pl-3){padding-left:1rem}:where(.pe-3),:where(.pr-3){padding-right:1rem}:where(.py-3){padding-top:1rem;padding-bottom:1rem}:where(.px-3){padding-left:1rem;padding-right:1rem}:where(.m-4){margin:1.5rem}:where(.mt-4){margin-top:1.5rem}:where(.mb-4){margin-bottom:1.5rem}:where(.ms-4),:where(.ml-4){margin-left:1.5rem}:where(.me-4),:where(.mr-4){margin-right:1.5rem}:where(.my-4){margin-top:1.5rem;margin-bottom:1.5rem}:where(.mx-4){margin-left:1.5rem;margin-right:1.5rem}:where(.p-4){padding:1.5rem}:where(.pt-4){padding-top:1.5rem}:where(.pb-4){padding-bottom:1.5rem}:where(.ps-4),:where(.pl-4){padding-left:1.5rem}:where(.pe-4),:where(.pr-4){padding-right:1.5rem}:where(.py-4){padding-top:1.5rem;padding-bottom:1.5rem}:where(.px-4){padding-left:1.5rem;padding-right:1.5rem}:where(.m-5){margin:3rem}:where(.mt-5){margin-top:3rem}:where(.mb-5){margin-bottom:3rem}:where(.ms-5),:where(.ml-5){margin-left:3rem}:where(.me-5),:where(.mr-5){margin-right:3rem}:where(.my-5){margin-top:3rem;margin-bottom:3rem}:where(.mx-5){margin-left:3rem;margin-right:3rem}:where(.p-5){padding:3rem}:where(.pt-5){padding-top:3rem}:where(.pb-5){padding-bottom:3rem}:where(.ps-5),:where(.pl-5){padding-left:3rem}:where(.pe-5),:where(.pr-5){padding-right:3rem}:where(.py-5){padding-top:3rem;padding-bottom:3rem}:where(.px-5){padding-left:3rem;padding-right:3rem}
:where(.col){flex:1 0 0%}
:where(.col-1){flex:0 0 auto;width:8.3333%}
:where(.col-2){flex:0 0 auto;width:16.6667%}
:where(.col-3){flex:0 0 auto;width:25.0000%}
:where(.col-4){flex:0 0 auto;width:33.3333%}
:where(.col-5){flex:0 0 auto;width:41.6667%}
:where(.col-6){flex:0 0 auto;width:50.0000%}
:where(.col-7){flex:0 0 auto;width:58.3333%}
:where(.col-8){flex:0 0 auto;width:66.6667%}
:where(.col-9){flex:0 0 auto;width:75.0000%}
:where(.col-10){flex:0 0 auto;width:83.3333%}
:where(.col-11){flex:0 0 auto;width:91.6667%}
:where(.col-12){flex:0 0 auto;width:100.0000%}
:where(.offset-1){margin-left:8.3333%}
:where(.offset-2){margin-left:16.6667%}
:where(.offset-3){margin-left:25.0000%}
:where(.offset-4){margin-left:33.3333%}
:where(.offset-5){margin-left:41.6667%}
:where(.offset-6){margin-left:50.0000%}
:where(.offset-7){margin-left:58.3333%}
:where(.offset-8){margin-left:66.6667%}
:where(.offset-9){margin-left:75.0000%}
:where(.offset-10){margin-left:83.3333%}
:where(.offset-11){margin-left:91.6667%}
:where(.offset-12){margin-left:100.0000%}
@media(min-width:576px){:where(.col-sm){flex:1 0 0%}:where(.col-sm-1){flex:0 0 auto;width:8.3333%}:where(.col-sm-2){flex:0 0 auto;width:16.6667%}:where(.col-sm-3){flex:0 0 auto;width:25.0000%}:where(.col-sm-4){flex:0 0 auto;width:33.3333%}:where(.col-sm-5){flex:0 0 auto;width:41.6667%}:where(.col-sm-6){flex:0 0 auto;width:50.0000%}:where(.col-sm-7){flex:0 0 auto;width:58.3333%}:where(.col-sm-8){flex:0 0 auto;width:66.6667%}:where(.col-sm-9){flex:0 0 auto;width:75.0000%}:where(.col-sm-10){flex:0 0 auto;width:83.3333%}:where(.col-sm-11){flex:0 0 auto;width:91.6667%}:where(.col-sm-12){flex:0 0 auto;width:100.0000%}:where(.offset-sm-1){margin-left:8.3333%}:where(.offset-sm-2){margin-left:16.6667%}:where(.offset-sm-3){margin-left:25.0000%}:where(.offset-sm-4){margin-left:33.3333%}:where(.offset-sm-5){margin-left:41.6667%}:where(.offset-sm-6){margin-left:50.0000%}:where(.offset-sm-7){margin-left:58.3333%}:where(.offset-sm-8){margin-left:66.6667%}:where(.offset-sm-9){margin-left:75.0000%}:where(.offset-sm-10){margin-left:83.3333%}:where(.offset-sm-11){margin-left:91.6667%}:where(.offset-sm-12){margin-left:100.0000%}}
@media(min-width:768px){:where(.col-md){flex:1 0 0%}:where(.col-md-1){flex:0 0 auto;width:8.3333%}:where(.col-md-2){flex:0 0 auto;width:16.6667%}:where(.col-md-3){flex:0 0 auto;width:25.0000%}:where(.col-md-4){flex:0 0 auto;width:33.3333%}:where(.col-md-5){flex:0 0 auto;width:41.6667%}:where(.col-md-6){flex:0 0 auto;width:50.0000%}:where(.col-md-7){flex:0 0 auto;width:58.3333%}:where(.col-md-8){flex:0 0 auto;width:66.6667%}:where(.col-md-9){flex:0 0 auto;width:75.0000%}:where(.col-md-10){flex:0 0 auto;width:83.3333%}:where(.col-md-11){flex:0 0 auto;width:91.6667%}:where(.col-md-12){flex:0 0 auto;width:100.0000%}:where(.offset-md-1){margin-left:8.3333%}:where(.offset-md-2){margin-left:16.6667%}:where(.offset-md-3){margin-left:25.0000%}:where(.offset-md-4){margin-left:33.3333%}:where(.offset-md-5){margin-left:41.6667%}:where(.offset-md-6){margin-left:50.0000%}:where(.offset-md-7){margin-left:58.3333%}:where(.offset-md-8){margin-left:66.6667%}:where(.offset-md-9){margin-left:75.0000%}:where(.offset-md-10){margin-left:83.3333%}:where(.offset-md-11){margin-left:91.6667%}:where(.offset-md-12){margin-left:100.0000%}}
@media(min-width:992px){:where(.col-lg){flex:1 0 0%}:where(.col-lg-1){flex:0 0 auto;width:8.3333%}:where(.col-lg-2){flex:0 0 auto;width:16.6667%}:where(.col-lg-3){flex:0 0 auto;width:25.0000%}:where(.col-lg-4){flex:0 0 auto;width:33.3333%}:where(.col-lg-5){flex:0 0 auto;width:41.6667%}:where(.col-lg-6){flex:0 0 auto;width:50.0000%}:where(.col-lg-7){flex:0 0 auto;width:58.3333%}:where(.col-lg-8){flex:0 0 auto;width:66.6667%}:where(.col-lg-9){flex:0 0 auto;width:75.0000%}:where(.col-lg-10){flex:0 0 auto;width:83.3333%}:where(.col-lg-11){flex:0 0 auto;width:91.6667%}:where(.col-lg-12){flex:0 0 auto;width:100.0000%}:where(.offset-lg-1){margin-left:8.3333%}:where(.offset-lg-2){margin-left:16.6667%}:where(.offset-lg-3){margin-left:25.0000%}:where(.offset-lg-4){margin-left:33.3333%}:where(.offset-lg-5){margin-left:41.6667%}:where(.offset-lg-6){margin-left:50.0000%}:where(.offset-lg-7){margin-left:58.3333%}:where(.offset-lg-8){margin-left:66.6667%}:where(.offset-lg-9){margin-left:75.0000%}:where(.offset-lg-10){margin-left:83.3333%}:where(.offset-lg-11){margin-left:91.6667%}:where(.offset-lg-12){margin-left:100.0000%}}
@media(min-width:1200px){:where(.col-xl){flex:1 0 0%}:where(.col-xl-1){flex:0 0 auto;width:8.3333%}:where(.col-xl-2){flex:0 0 auto;width:16.6667%}:where(.col-xl-3){flex:0 0 auto;width:25.0000%}:where(.col-xl-4){flex:0 0 auto;width:33.3333%}:where(.col-xl-5){flex:0 0 auto;width:41.6667%}:where(.col-xl-6){flex:0 0 auto;width:50.0000%}:where(.col-xl-7){flex:0 0 auto;width:58.3333%}:where(.col-xl-8){flex:0 0 auto;width:66.6667%}:where(.col-xl-9){flex:0 0 auto;width:75.0000%}:where(.col-xl-10){flex:0 0 auto;width:83.3333%}:where(.col-xl-11){flex:0 0 auto;width:91.6667%}:where(.col-xl-12){flex:0 0 auto;width:100.0000%}:where(.offset-xl-1){margin-left:8.3333%}:where(.offset-xl-2){margin-left:16.6667%}:where(.offset-xl-3){margin-left:25.0000%}:where(.offset-xl-4){margin-left:33.3333%}:where(.offset-xl-5){margin-left:41.6667%}:where(.offset-xl-6){margin-left:50.0000%}:where(.offset-xl-7){margin-left:58.3333%}:where(.offset-xl-8){margin-left:66.6667%}:where(.offset-xl-9){margin-left:75.0000%}:where(.offset-xl-10){margin-left:83.3333%}:where(.offset-xl-11){margin-left:91.6667%}:where(.offset-xl-12){margin-left:100.0000%}}
@media(min-width:1400px){:where(.col-xxl){flex:1 0 0%}:where(.col-xxl-1){flex:0 0 auto;width:8.3333%}:where(.col-xxl-2){flex:0 0 auto;width:16.6667%}:where(.col-xxl-3){flex:0 0 auto;width:25.0000%}:where(.col-xxl-4){flex:0 0 auto;width:33.3333%}:where(.col-xxl-5){flex:0 0 auto;width:41.6667%}:where(.col-xxl-6){flex:0 0 auto;width:50.0000%}:where(.col-xxl-7){flex:0 0 auto;width:58.3333%}:where(.col-xxl-8){flex:0 0 auto;width:66.6667%}:where(.col-xxl-9){flex:0 0 auto;width:75.0000%}:where(.col-xxl-10){flex:0 0 auto;width:83.3333%}:where(.col-xxl-11){flex:0 0 auto;width:91.6667%}:where(.col-xxl-12){flex:0 0 auto;width:100.0000%}:where(.offset-xxl-1){margin-left:8.3333%}:where(.offset-xxl-2){margin-left:16.6667%}:where(.offset-xxl-3){margin-left:25.0000%}:where(.offset-xxl-4){margin-left:33.3333%}:where(.offset-xxl-5){margin-left:41.6667%}:where(.offset-xxl-6){margin-left:50.0000%}:where(.offset-xxl-7){margin-left:58.3333%}:where(.offset-xxl-8){margin-left:66.6667%}:where(.offset-xxl-9){margin-left:75.0000%}:where(.offset-xxl-10){margin-left:83.3333%}:where(.offset-xxl-11){margin-left:91.6667%}:where(.offset-xxl-12){margin-left:100.0000%}}
@media(max-width:991.98px){:where(.navbar-collapse){display:none}:where(.navbar-toggler){display:inline-flex}}

:root{--pg-brand:#2a7f8e;--pg-brand-ink:#3fa3b4;--pg-accent:#f4b942;--pg-radius:14px}
:where(.hero){background:linear-gradient(160deg,#3fa3b4,#2a7f8e 58%,#f4b942)}
:where(body>header,.site-header){border-bottom-color:#2a7f8e33}

:root {
  --color-primary: #2a7f8e;
  --color-secondary: #3fa3b4;
  --color-accent: #f4b942;
  --color-bg: #f3f8f9;
  --color-text: #1f2d31;
  --color-text-light: #6b7c84;
  --color-border: #dce8ec;
  --color-white: #ffffff;
  --color-dark: #1a2529;
  --color-gold: #d4a840;
  --radius-base: 14px;
  --radius-card: 8px;
  --shadow-sm: 0 1px 3px rgba(31,45,49,0.06);
  --shadow-md: 0 4px 14px rgba(31,45,49,0.08);
  --shadow-lg: 0 8px 28px rgba(31,45,49,0.12);
  --transition-fast: 0.2s ease;
  --transition-med: 0.3s ease;
  --font-heading: "Noto Serif SC", "Source Han Serif SC", "SimSun", serif;
  --font-body: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
  --container-max: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}
a:hover { color: var(--color-secondary); }

img { max-width: 100%; height: auto; display: block; }

.container-custom {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 20px;
}

/* ========== NAV ========== */
.nav-wrapper {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-border);
  padding: 0;
}

.nav-inner {
  max-width: var(--container-max);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  gap: 16px;
  flex-wrap: wrap;
}

.nav-logo {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-primary);
  white-space: nowrap;
  letter-spacing: 0.5px;
}

.nav-cards {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.nav-link-card {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  font-size: 0.9rem;
  color: var(--color-text);
  transition: all var(--transition-fast);
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
}
.nav-link-card:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: rgba(42,127,142,0.04);
}
.nav-link-card.active {
  border-color: var(--color-primary);
  color: var(--color-primary);
  font-weight: 600;
  position: relative;
}
.nav-link-card.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 16px;
  right: 16px;
  height: 2px;
  background: var(--color-primary);
  border-radius: 1px;
}
.nav-link-card:hover::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 16px;
  right: 16px;
  height: 2px;
  background: var(--color-primary);
  border-radius: 1px;
}

.nav-cta {
  padding: 9px 22px;
  background: var(--color-primary);
  color: var(--color-white) !important;
  border: 1px solid var(--color-primary);
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-fast);
  text-decoration: none;
  white-space: nowrap;
}
.nav-cta:hover {
  background: var(--color-secondary);
  border-color: var(--color-secondary);
  color: var(--color-white) !important;
  transform: translateY(-1px);
}

.mobile-toggle {
  display: none;
  background: none;
  border: none;
  color: var(--color-text);
  font-size: 1.4rem;
  cursor: pointer;
  padding: 4px;
}

/* ========== HERO ========== */
.hero-section {
  position: relative;
  background: linear-gradient(135deg, var(--color-dark) 0%, var(--color-primary) 60%, var(--color-secondary) 100%);
  overflow:visible;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 60px), 0 100%);
  padding: 70px 0 90px;
  min-height: 420px;
  display: flex;
  align-items: center;
}
.hero-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 20% 50%, rgba(244,185,66,0.12) 0%, transparent 60%);
  pointer-events: none;
}
.hero-content {
  position: relative;
  z-index: 2;
  color: var(--color-white);
}
.hero-badge {
  display: inline-block;
  padding: 5px 16px;
  background: rgba(244,185,66,0.15);
  border: 1px solid rgba(244,185,66,0.3);
  border-radius: 50px;
  font-size: 0.82rem;
  color: var(--color-accent);
  margin-bottom: 18px;
  letter-spacing: 1px;
}
.hero-title {
  font-family: var(--font-heading);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 16px;
  max-width: 700px;
}
.hero-subtitle {
  font-size: 1.05rem;
  color: rgba(255,255,255,0.8);
  margin-bottom: 30px;
  max-width: 600px;
  line-height: 1.8;
}
.hero-btn-group {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.btn-hero-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 32px;
  background: var(--color-accent);
  color: var(--color-dark);
  border: 2px solid var(--color-accent);
  border-radius: 50px;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: all var(--transition-fast);
  text-decoration: none;
}
.btn-hero-primary:hover {
  background: transparent;
  color: var(--color-accent);
  transform: translateY(-2px);
}
.btn-hero-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 32px;
  background: transparent;
  color: var(--color-white);
  border: 1.5px solid rgba(255,255,255,0.35);
  border-radius: 50px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all var(--transition-fast);
  text-decoration: none;
}
.btn-hero-outline:hover {
  border-color: var(--color-white);
  background: rgba(255,255,255,0.08);
  color: var(--color-white);
}

.hero-stats {
  display: flex;
  gap: 40px;
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.15);
}
.hero-stat-item h4 {
  font-family: var(--font-heading);
  font-size: 1.8rem;
  color: var(--color-accent);
  margin-bottom: 4px;
}
.hero-stat-item p {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.65);
  margin: 0;
}

/* ========== SECTION COMMON ========== */
.section {
  padding: 60px 0;
}
.section-alt {
  background: var(--color-white);
}
.section-header {
  text-align: center;
  margin-bottom: 40px;
}
.section-label {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
  border: 1px solid var(--color-primary);
  padding: 3px 12px;
  border-radius: 50px;
}
.section-title {
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 12px;
  line-height: 1.4;
}
.section-desc {
  font-size: 0.95rem;
  color: var(--color-text-light);
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.7;
}

/* ========== MAGAZINE LAYOUT ========== */
.magazine-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 28px;
  align-items: start;
}

.list-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 24px;
  transition: all var(--transition-fast);
}
.list-card:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-sm);
}

.news-item {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--color-border);
  align-items: flex-start;
}
.news-item:last-child { border-bottom: none; }
.news-thumb {
  width: 110px;
  height: 72px;
  border-radius: 6px;
  background: linear-gradient(135deg, var(--color-border), #cde0e4);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-light);
  font-size: 0.75rem;
  overflow: hidden;
}
.news-info h4 {
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 4px;
  line-height: 1.5;
}
.news-info h4 a { color: var(--color-text); }
.news-info h4 a:hover { color: var(--color-primary); }
.news-meta {
  font-size: 0.78rem;
  color: var(--color-text-light);
}

.sidebar-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 20px;
  margin-bottom: 20px;
}
.sidebar-card h5 {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--color-primary);
  display: inline-block;
}
.tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tag-pill {
  display: inline-block;
  padding: 4px 12px;
  border: 1px solid var(--color-border);
  border-radius: 50px;
  font-size: 0.8rem;
  color: var(--color-text-light);
  transition: all var(--transition-fast);
  cursor: pointer;
}
.tag-pill:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: rgba(42,127,142,0.05);
}

/* ========== FEATURE CARDS ========== */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.feature-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 28px 22px;
  text-align: center;
  transition: all var(--transition-med);
  position: relative;
  overflow: hidden;
}
.feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--color-primary);
  transform: scaleX(0);
  transition: transform var(--transition-med);
}
.feature-card:hover {
  border-color: var(--color-primary);
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}
.feature-card:hover::before {
  transform: scaleX(1);
}
.feature-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(42,127,142,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  font-size: 1.4rem;
}
.feature-card h4 {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 8px;
}
.feature-card p {
  font-size: 0.87rem;
  color: var(--color-text-light);
  line-height: 1.6;
}

/* ========== REVIEW / VOICE ========== */
.review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.review-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 26px 22px;
  transition: all var(--transition-fast);
}
.review-card:hover {
  border-color: var(--color-accent);
  box-shadow: var(--shadow-sm);
}
.review-stars {
  color: var(--color-accent);
  font-size: 0.9rem;
  margin-bottom: 12px;
  letter-spacing: 2px;
}
.review-text {
  font-size: 0.92rem;
  color: var(--color-text);
  line-height: 1.7;
  margin-bottom: 16px;
  font-style: italic;
}
.review-author {
  display: flex;
  align-items: center;
  gap: 10px;
}
.review-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  font-size: 0.8rem;
  font-weight: 700;
  flex-shrink: 0;
}
.review-name {
  font-size: 0.85rem;
  font-weight: 600;
}
.review-date {
  font-size: 0.75rem;
  color: var(--color-text-light);
}

/* ========== ABOUT ========== */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
.about-image-placeholder {
  background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
  border-radius: var(--radius-base);
  height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.4);
  font-size: 0.9rem;
  position: relative;
  overflow: hidden;
}
.about-image-placeholder::after {
  content: '';
  position: absolute;
  width: 200px;
  height: 200px;
  border: 2px solid rgba(255,255,255,0.1);
  border-radius: 50%;
}
.about-text h3 {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 16px;
}
.about-text p {
  font-size: 0.93rem;
  color: var(--color-text-light);
  line-height: 1.8;
  margin-bottom: 14px;
}
.about-list {
  list-style: none;
  padding: 0;
  margin: 18px 0;
}
.about-list li {
  padding: 8px 0;
  font-size: 0.92rem;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--color-text);
}
.about-list li::before {
  content: '◆';
  color: var(--color-accent);
  font-size: 0.6rem;
}

/* ========== FAQ ========== */
.faq-list {
  max-width: 800px;
  margin: 0 auto;
}
.faq-item {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color var(--transition-fast);
}
.faq-item:hover {
  border-color: var(--color-primary);
}
.faq-item summary {
  padding: 18px 24px;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.97rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  color: var(--color-text);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+';
  font-size: 1.2rem;
  color: var(--color-primary);
  transition: transform var(--transition-fast);
  flex-shrink: 0;
}
.faq-item[open] summary::after {
  content: '−';
}
.faq-item[open] {
  border-color: var(--color-primary);
}
.faq-answer {
  padding: 0 24px 20px;
  font-size: 0.91rem;
  color: var(--color-text-light);
  line-height: 1.8;
  border-top: 1px solid var(--color-border);
  padding-top: 16px;
}

/* ========== COMPARISON TABLE ========== */
.comp-table-wrap {
  overflow-x: auto;
  border-radius: var(--radius-card);
  border: 1px solid var(--color-border);
}
.comp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.comp-table thead th {
  background: var(--color-primary);
  color: var(--color-white);
  padding: 14px 20px;
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
}
.comp-table tbody td {
  padding: 13px 20px;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-white);
}
.comp-table tbody tr:hover td {
  background: rgba(42,127,142,0.03);
}
.comp-check { color: var(--color-primary); font-weight: 700; }
.comp-cross { color: #c0392b; }

/* ========== HORIZONTAL SCROLL CARDS ========== */
.horiz-scroll {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding-bottom: 16px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.horiz-scroll::-webkit-scrollbar { height: 4px; }
.horiz-scroll::-webkit-scrollbar-track { background: var(--color-border); border-radius: 2px; }
.horiz-scroll::-webkit-scrollbar-thumb { background: var(--color-primary); border-radius: 2px; }

.topic-card {
  min-width: 280px;
  max-width: 280px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  overflow: hidden;
  scroll-snap-align: start;
  transition: all var(--transition-fast);
  flex-shrink: 0;
}
.topic-card:hover {
  border-color: var(--color-primary);
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}
.topic-thumb {
  height: 160px;
  background: linear-gradient(135deg, #dde8eb, #b8d8dd);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-light);
  font-size: 0.85rem;
}
.topic-body {
  padding: 18px;
}
.topic-tag {
  display: inline-block;
  padding: 2px 10px;
  background: rgba(42,127,142,0.08);
  color: var(--color-primary);
  font-size: 0.75rem;
  border-radius: 50px;
  margin-bottom: 10px;
}
.topic-body h4 {
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 6px;
}
.topic-body p {
  font-size: 0.82rem;
  color: var(--color-text-light);
  line-height: 1.5;
}

/* ========== CTA BANNER ========== */
.cta-banner {
  background: linear-gradient(135deg, var(--color-dark) 0%, var(--color-primary) 100%);
  border-radius: var(--radius-base);
  padding: 50px 40px;
  text-align: center;
  color: var(--color-white);
  position: relative;
  overflow: hidden;
}
.cta-banner::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(244,185,66,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.cta-banner h3 {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  margin-bottom: 12px;
  position: relative;
}
.cta-banner p {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.75);
  margin-bottom: 26px;
  position: relative;
}
.btn-cta-solid {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 38px;
  background: var(--color-accent);
  color: var(--color-dark);
  border: none;
  border-radius: 50px;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: all var(--transition-fast);
  text-decoration: none;
  position: relative;
}
.btn-cta-solid:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(244,185,66,0.35);
  color: var(--color-dark);
}

/* ========== FOOTER ========== */
.footer {
  background: var(--color-dark);
  color: rgba(255,255,255,0.7);
  padding: 50px 0 0;
}
.footer-top {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 32px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-brand h4 {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  color: var(--color-white);
  margin-bottom: 12px;
}
.footer-brand p {
  font-size: 0.85rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.55);
}
.footer-col h6 {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--color-white);
  margin-bottom: 16px;
  letter-spacing: 1px;
}
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-links li { margin-bottom: 8px; }
.footer-links a {
  font-size: 0.84rem;
  color: rgba(255,255,255,0.55);
  transition: color var(--transition-fast);
}
.footer-links a:hover { color: var(--color-accent); }

.footer-bottom {
  padding: 18px 0;
  text-align: center;
  font-size: 0.8rem;
  color: rgba(255,255,255,0.4);
}

/* ========== RESPONSIVE ========== */
@media (max-width: 1024px) {
  .magazine-grid {
    grid-template-columns: 1fr;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
  }
  .feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }}

@media (max-width: 768px) {
  .hero-title { font-size: 1.7rem; }
  .hero-section { padding: 50px 0 70px; min-height: auto; }
  .hero-stats { gap: 24px; flex-wrap: wrap; }
  .nav-cards { display: none; }
  .nav-cards.show {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 12px 0;
  }
  .mobile-toggle { display: block; }
  .section { padding: 44px 0; }
  .section-title { font-size: 1.4rem; }
  .review-grid { grid-template-columns: 1fr; }
  .about-grid { grid-template-columns: 1fr; }
  .about-image-placeholder { height: 220px; }
  .cta-banner { padding: 36px 24px; }
  .cta-banner h3 { font-size: 1.3rem; }
  .topic-card { min-width: 240px; max-width: 240px; }}

@media (max-width: 520px) {
  .hero-title { font-size: 1.35rem; }
  .hero-btn-group { flex-direction: column; }
  .hero-btn-group a { text-align: center; justify-content: center; }
  .feature-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .news-item { flex-direction: column; }
  .news-thumb { width: 100%; height: 140px; }
  .hero-stats { flex-direction: column; gap: 16px; }}

/* ========== FOCUS & ACCESSIBILITY ========== */
button:focus-visible, a:focus-visible, input:focus-visible, summary:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

/* ========== ANIMATIONS ========== */
.fade-up {
  opacity:1;
  
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Search bar in nav */
.nav-search {
  position: relative;
}
.nav-search input {
  padding: 8px 14px 8px 36px;
  border: 1px solid var(--color-border);
  border-radius: 50px;
  font-size: 0.85rem;
  background: var(--color-bg);
  color: var(--color-text);
  width: 180px;
  transition: all var(--transition-fast);
  font-family: var(--font-body);
}
.nav-search input:focus {
  border-color: var(--color-primary);
  width: 220px;
  outline: none;
  background: var(--color-white);
}
.nav-search .search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-light);
  font-size: 0.85rem;
}

/* Divider accent */
.divider-accent {
  width: 50px;
  height: 3px;
  background: var(--color-accent);
  border-radius: 2px;
  margin: 12px auto 0;
}

/* Number highlight */
.num-highlight {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-primary);
}

.hero-section .hero-subtitle{color:#1a1a1a!important}
.hero-section p{color:#1a1a1a!important}
#latest .section-desc{color:#1a1a1a!important}
#features .section-desc{color:#1a1a1a!important}
.feature-card p{color:#1a1a1a!important}
#reviews .section-desc{color:#1a1a1a!important}
.review-card p{color:#1a1a1a!important}
#about p{color:#1a1a1a!important}
#faq .section-desc{color:#1a1a1a!important}
#compare .section-desc{color:#1a1a1a!important}
#topics .section-desc{color:#1a1a1a!important}
.topic-card p{color:#1a1a1a!important}
.section .section-desc{color:#1a1a1a!important}
#cta p{color:#1a1a1a!important}

html,body{max-width:100%!important;overflow-x:clip!important}
body,main{transform:none!important;left:auto!important;right:auto!important}
main{width:100%;max-width:100%;display:block;position:relative}
section,article,.hero,header,footer,.pg-extra{max-width:100%;overflow:visible!important}
p,h1,h2,h3,h4,h5,h6,li{overflow:visible!important;max-width:100%;text-indent:0}
.min-h-screen{min-height:72vh}
.text-transparent,[class~="text-transparent"],.bg-clip-text{color:inherit!important;-webkit-text-fill-color:currentColor!important;background-clip:border-box!important;-webkit-background-clip:border-box!important}
img,svg,video,canvas{max-width:100%;height:auto}
.stat-row .stat .num,.stat .num,.stat b,.stat strong{display:block!important;font-size:clamp(28px,4vw,42px)!important;font-weight:800!important;line-height:1.15!important;overflow:visible!important;max-width:none!important;white-space:nowrap}
.card .num{width:auto!important;height:auto!important;min-width:0!important}
mark,mark[data-pg-kw]{background:transparent!important;color:inherit!important;padding:0!important}

section header,article header,.sec-head,.section-head,.sec-header,header.sec-head{position:static!important;top:auto!important;height:auto!important;min-height:0!important;line-height:inherit!important}