:root{--paper:#f4f1e8;--ink:#242623;--yellow:#f3cc36;--copper:#b86f40;--muted:#5d5f58;--dark:#151614}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;font-size:17px;line-height:1.85}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;border-radius:0}
button,a,input,textarea,select{touch-action:manipulation}
button{cursor:pointer}
img{display:block;width:100%;height:auto}
figure,p,h1,h2,h3,ol,dl,dd{margin:0}
h1,h2,h3{font-weight:800;line-height:1.32}
h2{font-size:clamp(31px,3.4vw,49px);letter-spacing:-.04em}
h3{font-size:22px}
p+p{margin-top:18px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #76451e;outline-offset:5px}
.site-header a:focus-visible,.site-header button:focus-visible,.hero a:focus-visible,.quality a:focus-visible,.contact a:focus-visible,.contact input:focus-visible,.contact textarea:focus-visible,.contact button:focus-visible,footer a:focus-visible{outline-color:var(--yellow)}
.contact input:focus-visible,.contact textarea:focus-visible{outline-color:#b17d3f}
[tabindex="-1"]:focus{outline:none}
[hidden]{display:none!important}
.skip-link{position:fixed;left:18px;top:-100px;z-index:100;background:var(--yellow);padding:10px 20px;min-height:48px;font-weight:700}
.skip-link:focus{top:10px}
.site-header{height:94px;padding:0 clamp(24px,3.6vw,52px);background:var(--dark);color:var(--paper);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30}
.brand{display:inline-flex;align-items:center;gap:13px;min-height:64px;flex-shrink:0}
.brand svg{width:51px;height:45px;color:var(--yellow);flex:none}
.brand span{font-size:20px;font-weight:700;line-height:1.5}
.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:.08em;color:#d5d2c7;margin-top:2px}
#navigation{display:flex;gap:clamp(18px,2.1vw,30px)}
#navigation a{font-size:15px;min-height:48px;display:flex;align-items:center;position:relative}
#navigation a:after{content:"";position:absolute;left:0;bottom:5px;width:0;height:2px;background:var(--yellow);transition:width .15s}
#navigation a:hover:after{width:100%}
.menu-toggle{display:none;min-width:78px;min-height:48px;border:0;background:transparent;color:var(--paper)}
main section[id],main,footer{scroll-margin-top:110px}
.section{max-width:1440px;margin:auto;padding:110px clamp(24px,3.6vw,52px)}
.eyebrow{font-size:13px;letter-spacing:.13em;font-weight:700;line-height:1.8;margin-bottom:25px}
.hero{background:var(--dark);color:var(--paper);position:relative;min-height:740px;padding:80px clamp(24px,3.6vw,52px) 100px;overflow:hidden}
.hero>img{position:absolute;top:0;right:0;width:87%;height:100%;object-fit:cover;object-position:center}
.hero-copy{position:relative;z-index:1;width:50%;padding-bottom:30px}
.hero .eyebrow{color:var(--yellow)}
h1{font-size:clamp(62px,6.6vw,95px);line-height:1.2;letter-spacing:-.045em}
h1 span{color:var(--yellow)}
.hero-lead{font-size:19px;line-height:1.9;margin:30px 0}
.action{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;min-height:58px;padding:12px 24px;font-size:16px;font-weight:700}
.yellow{background:var(--yellow);color:var(--ink)}
.hero-foot{position:absolute;bottom:28px;left:clamp(24px,3.6vw,52px);right:clamp(24px,3.6vw,52px);display:flex;justify-content:space-between;gap:24px;font-size:13px;letter-spacing:.12em;z-index:1;color:#e7e2d4}
.product-index{max-width:none;background:var(--yellow);display:grid;grid-template-columns:32% 61%;gap:7%;padding-top:76px;padding-bottom:86px}
.index-head p:last-child{font-size:16px;max-width:390px;margin-top:25px}
.family-index{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 46px;align-content:center}
.family-index a{display:flex;gap:18px;align-items:center;min-height:74px;font-size:19px;font-weight:700}
.family-index a span:last-child{margin-left:auto;font-weight:400}
.product-no{font-size:12px;font-weight:400;align-self:flex-start;padding-top:20px}
.company{display:grid;grid-template-columns:42% 51%;gap:65px 7%}
.company-copy{padding-top:52px;font-size:18px}
.layer-landscape{grid-column:1/-1;width:89%;margin-left:6%}
.layer-caption{grid-column:1/-1;display:grid;grid-template-columns:40% 49%;gap:11%;padding-left:6%}
.layer-caption p:first-child{font-size:30px;font-weight:700}
.layer-caption p+p{margin:0;font-size:16px}
.control-spread{display:grid;grid-template-columns:33% 60%;gap:7%;align-items:center;padding-top:65px}
.chapter-copy p:not(.eyebrow){font-size:17px;margin-top:26px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;font-size:15px;font-weight:700;min-height:52px;margin-top:26px}
.arc-spread{padding-top:30px}
.arc-heading{display:grid;grid-template-columns:25% 45% 24%;gap:3%;align-items:end}
.arc-heading .eyebrow{align-self:start}
.arc-heading p:last-child{font-size:16px}
.arc-spread figure{width:95%;margin:52px 0 0 5%}
.arc-spread>.text-link{margin-left:5%}
.pair-spread{display:grid;grid-template-columns:61% 32%;gap:7%;align-items:center;padding-top:45px}
.flex-spread{padding-top:45px}
.flex-heading{display:grid;grid-template-columns:25% 45% 24%;gap:3%;align-items:end}
.flex-heading .eyebrow{align-self:start}
.flex-heading p:last-child{font-size:16px}
.flex-spread figure{width:78%;margin:52px 0 0 11%}
.flex-spread>.text-link{margin-left:11%}
.quality{background:var(--dark);color:var(--paper);max-width:none}
.quality-heading{display:grid;grid-template-columns:22% 41% 31%;gap:3%}
.quality .eyebrow{color:var(--yellow)}
.quality-heading>p:last-child{font-size:16px;color:#e4dfd2}
.quality figure{width:94%;margin:65px 0 40px 6%}
.quality-notes{display:flex;justify-content:space-between;gap:32px;margin-left:6%}
.quality-notes dt{font-size:21px;font-weight:700;color:var(--yellow)}
.quality-notes dd{font-size:15px;margin-top:12px;color:#e4dfd2}
.development-heading{display:grid;grid-template-columns:27% 70%;gap:3%;margin-bottom:65px}
.timeline{list-style:none;padding:0 0 0 30%}
.timeline li{display:grid;grid-template-columns:28% 65%;gap:7%;padding:30px 0;border-top:1px solid #79786e}
.timeline time{font-size:23px;font-weight:700}
.timeline h3{font-size:21px}
.timeline p{font-size:16px;margin-top:14px}
.horizon{position:relative;background:#ede5d6;overflow:hidden}
.horizon>img{height:560px;object-fit:cover;object-position:center}
.horizon-copy{position:relative;max-width:1440px;margin:auto;padding:60px clamp(24px,3.6vw,52px) 90px;background:var(--paper);display:grid;grid-template-columns:30% 67%;gap:3%}
.dialogue{display:grid;grid-template-columns:43% 49%;gap:8%;background:var(--yellow);max-width:none}
.dialogue-heading>p:not(.eyebrow){margin-top:25px;max-width:500px;font-size:17px}
.route-diagram{display:block;width:100%;height:auto;margin-top:35px;fill:none;stroke:var(--ink);stroke-width:6}
.route-diagram .inner-line{stroke:#76451e;stroke-width:2}
.dialogue-heading .line-caption{font-size:13px;margin-top:10px}
.question-list>label{display:block;font-size:14px;font-weight:700;margin-bottom:10px}
select{width:100%;min-height:58px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);padding:10px 42px 10px 17px;font-weight:700;font-size:18px}
.topic-status{font-size:13px;margin-top:14px;color:#424137}
.question-group{margin-top:28px}
.question-group h3{font-size:26px}
.question-group ol{padding:15px 0 0 25px}
.question-group li{font-size:17px;padding-left:4px;margin:14px 0}
.prepare{border:0;background:var(--ink);color:var(--paper);min-height:58px;padding:12px 22px;margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;font-weight:700}
#prepare-note{font-size:14px;margin-top:16px}
.contact{background:var(--ink);color:var(--paper);max-width:none;display:grid;grid-template-columns:42% 51%;gap:7%}
.contact .eyebrow{color:var(--yellow)}
.contact-name{margin-top:30px;font-size:18px}
.contact dl{margin-top:32px}
.contact dl>div{margin:22px 0}
.contact dt{font-size:13px;color:#dad6c9;margin-bottom:5px}
.contact dd{font-size:19px}
.contact dd a{display:inline-flex;align-items:center;min-height:46px}
.contact dd a:hover{text-decoration:underline;text-underline-offset:5px}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0;margin-bottom:23px;font-size:23px;font-weight:700}
form label{display:block;font-size:14px;margin-bottom:22px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
input,textarea{display:block;width:100%;min-height:56px;margin-top:10px;border:2px solid #857147;padding:13px 16px;background:#faf8f2;color:var(--ink)}
textarea{resize:vertical;min-height:220px}
textarea::placeholder{color:#56594f;opacity:1}
button[type=submit]{border:0;background:var(--yellow);color:var(--ink);padding:13px 24px;min-height:58px;width:100%;display:flex;align-items:center;justify-content:space-between;font-weight:700}
#form-note{font-size:14px;line-height:1.9;margin-top:20px;min-height:54px;color:var(--paper)}
footer{padding:35px clamp(24px,3.6vw,52px);background:#11120f;color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:30px}
footer p{font-size:12px;color:#dad6c9}
.back-top{font-size:14px;display:inline-flex;align-items:center;min-height:48px}
button:disabled,select:disabled{cursor:default}
html:not(.js-ready) .route-diagram{display:none}
html:not(.js-ready) .question-group{margin-top:38px}
@media(min-width:1441px){.hero{min-height:800px;padding-top:100px}.hero-copy{width:47%}h1{font-size:110px}.hero>img{width:83%}}
@media(max-width:1100px){.hero{min-height:680px}.family-index{gap:8px 24px}.family-index a{font-size:17px}.company-copy{font-size:17px}.chapter-copy p:not(.eyebrow){font-size:16px}.quality-notes{gap:20px}.quality-notes dd{font-size:14px}}
@media(max-width:1000px){
.site-header{height:84px;padding:0 28px}.menu-toggle{display:block}#navigation{display:none}.js-ready #navigation.is-open{position:fixed;inset:84px 0 0;display:flex;flex-direction:column;background:var(--dark);padding:36px 28px;gap:10px;overflow-y:auto}.js-ready #navigation.is-open a{min-height:64px;font-size:26px;border-bottom:1px solid #57594f;flex:none}.js-ready #navigation.is-open a:after{display:none}.menu-open{overflow:hidden}
html:not(.js-ready) .menu-toggle{display:none}html:not(.js-ready) .site-header{height:auto;position:static;flex-wrap:wrap;gap:14px;padding:16px 24px}html:not(.js-ready) #navigation{display:flex;flex-wrap:wrap;gap:4px 20px;width:100%}html:not(.js-ready) #navigation a{min-height:48px}
.section{padding:80px 28px}.hero{padding:65px 28px 95px;min-height:650px}.hero-copy{width:59%}.hero>img{width:105%;right:-14%;object-position:center}h1{font-size:clamp(54px,7.3vw,74px)}.hero-lead{font-size:17px}.hero-foot{left:28px;right:28px;font-size:12px}
.product-index{grid-template-columns:34% 61%;gap:5%}.index-head h2{font-size:31px}.family-index{gap:10px 18px}.family-index a{font-size:16px;gap:10px;min-height:78px;line-height:1.65}.product-no{padding-top:20px}
.company{gap:42px 5%;grid-template-columns:43% 52%}.company-copy{padding-top:42px;font-size:16px}.company h2,.chapter-copy h2{font-size:31px}.layer-caption{grid-template-columns:35% 58%;gap:7%}
.control-spread{grid-template-columns:38% 57%;gap:5%}.arc-heading,.flex-heading{grid-template-columns:27% 43% 24%}.arc-heading h2,.flex-heading h2{font-size:31px}.arc-heading p:last-child,.flex-heading p:last-child{font-size:14px}
.pair-spread{grid-template-columns:56% 39%;gap:5%}.quality-heading{grid-template-columns:22% 40% 32%}.quality h2{font-size:31px}.quality-heading>p:last-child{font-size:14px}.quality-notes{margin-left:0;gap:18px;flex-wrap:wrap}.quality-notes>div{min-width:40%}.quality figure{width:100%;margin-left:0}
.timeline{padding-left:20%}.development-heading{grid-template-columns:25% 72%}.timeline time{font-size:21px}.horizon>img{height:420px}.horizon-copy{padding:45px 28px 70px}
.dialogue{grid-template-columns:41% 54%;gap:5%}.dialogue h2{font-size:31px}.dialogue-heading>p:not(.eyebrow){font-size:16px}.question-group h3{font-size:24px}.question-group li{font-size:16px}
.contact{grid-template-columns:43% 52%;gap:5%}.contact h2{font-size:31px}.contact dd{font-size:17px}.contact-name{font-size:16px}.form-row{grid-template-columns:1fr;gap:0}footer{padding:30px 28px;flex-wrap:wrap}footer p{margin-left:auto}.back-top{margin-left:auto}
}
@media(max-width:600px){
body{font-size:16px}.site-header{height:80px;padding:0 24px}.brand{gap:8px}.brand svg{width:37px;height:37px}.brand span{font-size:16px}.brand small{font-size:9px;letter-spacing:0;line-height:1.6}.menu-toggle{font-size:14px;min-width:70px;padding:0}.js-ready #navigation.is-open{inset:80px 0 0;padding:30px 24px}.js-ready #navigation.is-open a{font-size:25px;min-height:62px}
.section{padding:65px 24px}.eyebrow{font-size:12px;margin-bottom:23px}h2{font-size:31px}
.hero{padding:52px 24px 0;min-height:0;overflow:visible}.hero-copy{width:100%;padding-bottom:0}h1{font-size:59px;line-height:1.24;letter-spacing:-.055em}.hero-lead{font-size:16px;margin:23px 0 24px}.hero .action{min-height:54px;font-size:15px;gap:48px;padding:12px 20px}
.hero>img{position:static;width:calc(100% + 48px);height:auto;margin:32px -24px 0;object-fit:contain}.hero-copy{order:0}.hero{display:flex;flex-direction:column}.hero>img{order:1}.hero-foot{position:static;order:2;margin:0 -24px;padding:21px 24px;flex-direction:column;gap:5px;background:var(--dark);font-size:12px}.hero-foot span:last-child{font-size:13px}
.product-index{display:block}.index-head h2{font-size:34px}.index-head p:last-child{font-size:16px}.family-index{grid-template-columns:1fr;gap:0;margin-top:30px}.family-index a{font-size:19px;min-height:64px;gap:18px}.product-no{padding-top:15px}
.company{display:block}.company-copy{padding-top:26px;font-size:16px}.layer-landscape{width:calc(100% + 24px);margin:40px -12px 25px}.layer-caption{display:block;padding:0}.layer-caption p:first-child{font-size:25px;margin-bottom:18px}.layer-caption p+p{font-size:16px}
.control-spread,.pair-spread{display:flex;flex-direction:column;gap:34px}.control-spread figure,.pair-spread figure{width:calc(100% + 24px);margin:0 -12px}.pair-spread .chapter-copy{order:0}.pair-spread figure{order:1}.chapter-copy h2{font-size:31px}.chapter-copy p:not(.eyebrow){font-size:16px;margin-top:22px}.text-link{font-size:15px;min-height:52px}
.arc-heading,.flex-heading{display:block}.arc-heading h2,.flex-heading h2{font-size:31px}.arc-heading p:last-child,.flex-heading p:last-child{font-size:16px;margin-top:23px}.arc-spread figure,.flex-spread figure{width:calc(100% + 24px);margin:35px -12px 0}.arc-spread>.text-link,.flex-spread>.text-link{margin-left:0}
.quality-heading{display:block}.quality h2{font-size:31px}.quality-heading>p:last-child{font-size:16px;margin-top:24px}.quality figure{width:calc(100% + 48px);margin:40px -24px}.quality-notes{display:block;margin:0}.quality-notes>div{padding:15px 0}.quality-notes dt{font-size:22px}.quality-notes dd{font-size:16px;margin-top:8px}
.development-heading{display:block;margin-bottom:35px}.development h2{font-size:31px}.timeline{padding:0}.timeline li{display:block;padding:25px 0}.timeline time{font-size:22px}.timeline h3{font-size:21px;margin-top:17px}.timeline p{font-size:16px}
.horizon>img{height:285px;object-position:45% center}.horizon-copy{display:block;padding:48px 24px 60px}
.dialogue{display:block}.dialogue-heading>p:not(.eyebrow){font-size:16px}.route-diagram{margin-top:25px}.dialogue-heading .line-caption{font-size:13px}.question-list{margin-top:40px}.question-group h3{font-size:25px}.question-group li{font-size:17px;line-height:1.9;margin:15px 0}.question-group ol{padding-left:23px}.prepare{font-size:15px;padding:12px 17px;gap:15px}#prepare-note{font-size:14px}select{font-size:17px;min-height:58px}
.contact{display:block}.contact-name{font-size:17px}.contact dd{font-size:17px;line-height:1.9}.contact dl{margin:28px 0 43px}.form-row{display:block}textarea{min-height:230px}legend{font-size:24px}.contact form label{font-size:15px}input,textarea{font-size:16px}.contact button{font-size:16px}
footer{display:flex;flex-direction:column;align-items:flex-start;padding:30px 24px;gap:19px}footer p{margin-left:0;font-size:12px}.back-top{margin-left:0}.back-top:focus-visible{outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
