*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
h1,h2,h3,h4,p,figure,figcaption,blockquote,dl,dd,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
button{font:inherit}
summary{list-style:none}
summary::-webkit-details-marker{display:none}

:root{
--bg:#F4F1EA;
--bg2:#EAE4D8;
--paper:#FFFDF9;
--deep:#1C1A17;
--ink:#201D18;
--ink2:#5C564B;
--line:#DCD5C5;
--brand:#A8351C;
--brand2:#2C5A66;
--accent:#BE8A2B;
--grad:linear-gradient(90deg,#A8351C,#2C5A66);
--wrap:1140px;
--font:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei','WenQuanYi Micro Hei',Arial,sans-serif;
}

html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.78;letter-spacing:.01em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

.top{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.top__in{max-width:var(--wrap);margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.brand img{width:42px;height:42px;border-radius:12px}
.brand span{display:flex;flex-direction:column;line-height:1.24}
.brand b{font-size:18px;font-weight:700;letter-spacing:.02em}
.brand i{font-style:normal;font-size:11.5px;color:var(--ink2);letter-spacing:.14em}
.nav{display:flex;align-items:center;gap:4px;flex:1 1 auto;justify-content:center;flex-wrap:wrap}
.nav a{padding:8px 13px;font-size:15.5px;color:var(--ink2);border-radius:2px;transition:color .2s,background .2s}
.nav a:hover{color:var(--brand);background:rgba(168,53,28,.07)}
.nav a[aria-current="page"]{color:var(--brand);font-weight:700;box-shadow:inset 0 -2px 0 0 var(--brand)}

.btn.btn-primary{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;font-size:15.5px;font-weight:700;white-space:nowrap;color:#fff;background:var(--brand);border-radius:2px;transition:background .2s,color .2s}
.btn.btn-primary:hover{background:var(--brand2);color:#fff}
.btn.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;font-size:15.5px;font-weight:700;white-space:nowrap;color:var(--brand);background:transparent;border:1px solid var(--brand);border-radius:2px;transition:background .2s,color .2s}
.btn.btn-ghost:hover{background:var(--brand);color:#fff}

.veil{animation:veilIn .62s cubic-bezier(.22,.72,.24,1) both}
.veil.d1{animation-delay:.07s}
.veil.d2{animation-delay:.14s}
.veil.d3{animation-delay:.21s}
@keyframes veilIn{from{opacity:0;clip-path:polygon(0 0,0 0,0 100%,0 100%)}to{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
@media (prefers-reduced-motion:reduce){.veil{animation:none;opacity:1;clip-path:none}}

.hero{padding:72px 0 76px;border-bottom:1px solid var(--line)}
.hero__in{max-width:var(--wrap);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.32fr .68fr;gap:56px;align-items:center}
.hero h1{font-size:46px;line-height:1.22;font-weight:700;letter-spacing:-.01em}
.hero h1 em{font-style:normal;display:block;font-size:24px;font-weight:500;color:var(--brand);margin-top:12px;letter-spacing:.04em}
.kicker{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;letter-spacing:.2em;color:var(--brand2);text-transform:uppercase;margin-bottom:16px}
.kicker::before{content:"";width:22px;height:2px;background:var(--accent)}
.lead{font-size:17.5px;color:var(--ink2);margin-top:22px;max-width:38em}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.cta-note{margin-top:16px;font-size:14px;color:var(--ink2)}
.hero__shot{display:flex;justify-content:center}
.hero__shot figure{width:100%}
.hero__shot img{width:auto;max-width:308px;height:auto;margin:0 auto;box-shadow:0 0 0 4px var(--paper),0 18px 44px -26px rgba(28,26,23,.55)}
.hero__shot figcaption{margin-top:14px;font-size:13px;color:var(--ink2);text-align:center}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats li{padding:22px 18px;border-left:1px solid var(--line)}
.stats li:first-child{border-left:0}
.stats b{display:block;font-size:28px;font-weight:700;color:var(--brand);letter-spacing:-.01em}
.stats span{font-size:13.5px;color:var(--ink2)}

.sec{position:relative;padding:70px 0 74px;border-bottom:1px solid var(--line)}
.sec.alt{background:var(--bg2)}
.sec__no{position:absolute;top:52px;right:24px;font-size:112px;line-height:1;font-weight:700;color:rgba(32,29,24,.055);letter-spacing:-.04em;pointer-events:none}
.sec h2{font-size:31px;line-height:1.3;font-weight:700;letter-spacing:-.01em}
.h2line{width:56px;height:3px;background:var(--grad);margin:16px 0 0}
.sub{margin-top:14px;font-size:16.5px;color:var(--ink2);max-width:44em}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:38px;border-top:1px solid var(--line)}
.grid3 article{padding:26px 26px 28px 0;border-bottom:1px solid var(--line)}
.grid3 article:nth-child(3n+2){padding-left:26px;border-left:1px solid var(--line)}
.grid3 article:nth-child(3n){padding-left:26px;border-left:1px solid var(--line)}
.grid3 h3{font-size:18.5px;font-weight:700;margin-bottom:9px}
.grid3 p{font-size:15.5px;color:var(--ink2)}

.rows{margin-top:36px;border-top:1px solid var(--line)}
.rows .row{display:grid;grid-template-columns:196px 1fr;gap:26px;padding:22px 0;border-bottom:1px solid var(--line)}
.rows .row__k{font-size:15.5px;font-weight:700;color:var(--brand2)}
.rows .row__v{font-size:16px;color:var(--ink2)}

.steps{margin-top:36px;border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:78px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--line)}
.steps__n{font-size:26px;font-weight:700;color:var(--accent);letter-spacing:-.02em}
.steps h3{font-size:18.5px;font-weight:700;margin-bottom:8px}
.steps p{font-size:15.5px;color:var(--ink2)}

.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:38px}
.gallery figure{display:flex;flex-direction:column}
.gallery img{width:100%;height:auto;box-shadow:0 0 0 3px var(--paper),0 14px 34px -24px rgba(28,26,23,.5)}
.gallery figcaption{margin-top:13px;font-size:13.5px;color:var(--ink2);line-height:1.6}
.gallery figcaption b{display:block;color:var(--ink);font-size:14.5px;margin-bottom:3px}

.prose{max-width:860px;margin-top:34px}
.prose h2{font-size:27px;margin-top:8px}
.prose h3{font-size:19.5px;font-weight:700;margin:32px 0 10px}
.prose p{margin:14px 0;color:#33302A}
.prose a{color:var(--brand);box-shadow:inset 0 -1px 0 0 rgba(168,53,28,.45)}
.prose a:hover{color:var(--brand2);box-shadow:inset 0 -1px 0 0 var(--brand2)}
.prose ul{margin:14px 0}
.prose li{position:relative;padding-left:19px;margin:9px 0;color:#33302A}
.prose li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:2px;background:var(--accent)}
.prose blockquote{margin:24px 0;padding:4px 0 4px 22px;border-left:3px solid var(--accent);color:var(--ink2);font-size:16.5px}
.prose figure{margin:30px 0}
.prose figure img{width:auto;max-width:min(400px,100%);height:auto;margin:0 auto;box-shadow:0 0 0 3px var(--paper),0 14px 34px -24px rgba(28,26,23,.5)}
.prose figcaption{margin-top:12px;font-size:13.5px;color:var(--ink2);text-align:center}
.prose table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15.5px}
.prose th,.prose td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left}
.prose th{font-weight:700;color:var(--brand2);background:rgba(44,90,102,.05)}

.qa{margin-top:32px;border-top:1px solid var(--line)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{display:flex;align-items:flex-start;gap:16px;padding:20px 0;cursor:pointer;font-size:17px;font-weight:700}
.qa summary::before{content:"+";flex:0 0 auto;width:22px;color:var(--accent);font-weight:700}
.qa details[open] summary::before{content:"–"}
.qa p{padding:0 0 22px 38px;font-size:15.5px;color:var(--ink2)}

.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border-top:1px solid var(--line)}
.quotes figure{padding:26px 26px 28px 0;border-bottom:1px solid var(--line)}
.quotes figure:nth-child(3n+2),.quotes figure:nth-child(3n){padding-left:26px;border-left:1px solid var(--line)}
.quotes blockquote{font-size:16px;color:#33302A}
.quotes figcaption{margin-top:14px;font-size:13.5px;color:var(--ink2)}
.score{color:var(--accent);font-weight:700;letter-spacing:.08em}

.entries{margin-top:34px;border-top:1px solid var(--line)}
.entries a{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:color .2s}
.entries a:hover{color:var(--brand)}
.entries b{font-size:18px;font-weight:700}
.entries span{display:block;font-size:15px;color:var(--ink2);margin-top:6px}
.entries em{font-style:normal;font-size:15px;font-weight:700;color:var(--accent);white-space:nowrap}

.cta{position:relative;padding:66px 0 70px;background:var(--deep);color:#EFEAE0;border-bottom:1px solid var(--line)}
.cta .sec__no{color:rgba(255,255,255,.06)}
.cta h2{font-size:30px;font-weight:700;color:#fff}
.cta .sub{color:#BDB6A8}
.cta .btn.btn-ghost{color:#EFEAE0;border-color:rgba(239,234,224,.6)}
.cta .btn.btn-ghost:hover{background:#EFEAE0;color:var(--deep)}
.cta .cta-note{color:#9E9788}

.page-hero{padding:58px 0 54px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:38px;line-height:1.26;font-weight:700;letter-spacing:-.01em}
.bread{display:flex;gap:9px;font-size:13.5px;color:var(--ink2);margin-bottom:16px}
.bread a{color:var(--brand2)}
.bread a:hover{color:var(--brand)}

.foot{background:var(--deep);color:#A9A294;padding:56px 0 34px;font-size:14.5px}
.foot__in{max-width:var(--wrap);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}
.foot h3{color:#fff;font-size:16px;font-weight:700;margin-bottom:14px}
.foot a{color:#A9A294}
.foot a:hover{color:#fff}
.foot li{margin:8px 0}
.foot p{margin:0}
.foot__bar{max-width:var(--wrap);margin:36px auto 0;padding:20px 24px 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:13.5px;color:#8C8577}

@media (max-width:980px){
.hero__in{grid-template-columns:1fr;gap:40px}
.hero h1{font-size:38px}
.hero__shot img{max-width:296px}
.sec__no{font-size:88px;top:44px;right:16px}
.grid3,.quotes{grid-template-columns:repeat(2,1fr)}
.grid3 article:nth-child(3n+2),.grid3 article:nth-child(3n){padding-left:0;border-left:0}
.grid3 article:nth-child(2n){padding-left:24px;border-left:1px solid var(--line)}
.quotes figure:nth-child(3n+2),.quotes figure:nth-child(3n){padding-left:0;border-left:0}
.quotes figure:nth-child(2n){padding-left:24px;border-left:1px solid var(--line)}
.gallery{grid-template-columns:repeat(3,1fr)}
.stats{grid-template-columns:repeat(2,1fr)}
.stats li:nth-child(3){border-left:0}
.stats li:nth-child(n+3){border-top:1px solid var(--line)}
.foot__in{grid-template-columns:1fr 1fr}
}

@media (max-width:620px){
body{font-size:16.5px}
.wrap,.top__in,.hero__in,.foot__in,.foot__bar{padding-left:18px;padding-right:18px}
.top__in{flex-wrap:wrap;row-gap:10px;padding-top:11px;padding-bottom:11px}
.brand{order:1}
.btn.btn-primary{order:2;margin-left:auto;padding:10px 17px;font-size:14.5px}
.nav{order:3;flex:1 0 100%;justify-content:center;gap:2px}
.nav a{padding:7px 11px;font-size:14.5px}
.hero{padding:46px 0 52px}
.hero h1{font-size:31px}
.hero h1 em{font-size:19px}
.lead{font-size:16.5px}
.hero__shot img{max-width:270px}
.sec{padding:52px 0 56px}
.sec h2{font-size:25px}
.sec__no{font-size:64px;top:34px;right:12px}
.grid3,.quotes,.gallery{grid-template-columns:1fr;gap:0}
.grid3 article,.quotes figure{padding:22px 0 24px;border-left:0;padding-left:0}
.grid3 article:nth-child(2n),.quotes figure:nth-child(2n){padding-left:0;border-left:0}
.gallery{gap:26px}
.gallery figure{padding:0 0 24px;border-bottom:1px solid var(--line)}
.gallery img{width:auto;max-width:100%;margin:0 auto}
.rows .row{grid-template-columns:1fr;gap:8px}
.steps li{grid-template-columns:1fr;gap:8px;padding:20px 0}
.steps__n{font-size:20px}
.page-hero h1{font-size:28px}
.prose h2{font-size:23px}
.prose th,.prose td{padding:9px 10px;font-size:14px}
.prose th:first-child,.prose td:first-child{white-space:nowrap}
.qa summary{font-size:16px}
.qa p{padding-left:0}
.cta{padding:50px 0 54px}
.foot__in{grid-template-columns:1fr;gap:28px}
.foot__bar{justify-content:flex-start}
}
