:root {--paper:#f7f6f0;--ink:#213d33;--muted:#5f6962;--line:#d8dcd2;--orange:#b74826;--green:#e4e8da;}
* {box-sizing:border-box;}
html {scroll-behavior:smooth;scroll-padding-top:142px;}
body {margin:0;background:var(--paper);color:var(--ink);font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:16px;line-height:1.85;-webkit-text-size-adjust:100%;}
a {color:inherit;text-decoration:none;}
button {font:inherit;}
a,button,summary {touch-action:manipulation;}
:focus-visible {outline:3px solid var(--orange);outline-offset:5px;}
.wrap {width:min(1152px,calc(100% - 96px));margin-inline:auto;}
p {margin:0 0 20px;}
h1,h2,h3 {margin:0;font-weight:600;line-height:1.4;}
h2 {font-size:32px;letter-spacing:-.03em;}
h3 {font-size:19px;}
.site-header {background:var(--paper);border-bottom:1px solid var(--line);}
.header-inner {height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand {display:flex;align-items:center;}
.brand img {width:182px;height:auto;}
.back-home {font-size:13px;padding:10px 0;}
.back-home:hover,.text-link:hover {color:var(--orange);}
.intro {display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;padding-block:80px 88px;}
.eyebrow {font-size:11px;letter-spacing:.15em;color:var(--orange);font-weight:600;margin-bottom:24px;}
h1 {font-size:clamp(40px,4.4vw,64px);line-height:1.3;letter-spacing:-.04em;}
h1 span {color:var(--orange);}
.intro-description {margin:28px 0 32px;color:var(--muted);font-size:16px;}
.button {display:inline-flex;gap:24px;align-items:center;justify-content:center;min-height:48px;padding:10px 24px;background:var(--orange);color:#fff;border:1px solid var(--orange);border-radius:3px;font-size:14px;cursor:pointer;}
.button:hover {background:#96391b;border-color:#96391b;}
.text-link {display:inline-block;font-size:13px;margin:12px 0 12px 24px;}
.route-sheet {background:var(--green);padding:24px;border:1px solid #d2d9c8;transform:rotate(-2deg);}
.sheet-heading,.sheet-footer {display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:10px;}
.sheet-heading {border-bottom:1px solid #bdc7b4;padding-bottom:16px;}
.sheet-heading span:last-child {font-size:8px;letter-spacing:.05em;}
.route-drawing {display:block;width:100%;height:auto;margin-block:12px;}
.sheet-footer {border-top:1px solid #bdc7b4;padding-top:14px;font-size:10px;}
.section-nav {position:sticky;top:0;z-index:20;background:var(--paper);border-block:1px solid var(--line);}
.section-nav .wrap {display:flex;gap:36px;}
.section-nav a {white-space:nowrap;padding:18px 0;font-size:13px;border-bottom:2px solid transparent;}
.section-nav a:hover,.section-nav a[aria-current] {color:var(--orange);border-bottom-color:var(--orange);}
.section {display:grid;grid-template-columns:.85fr 1.5fr;gap:80px;padding-block:80px;border-bottom:1px solid var(--line);}
.section-heading>p:not(.eyebrow) {font-size:14px;color:var(--muted);margin-top:20px;max-width:25em;}
.section-body {min-width:0;}
.section-body>p {color:var(--muted);}
.section-body .lead {font-size:21px;color:var(--ink);}
.section-body .small-label {font-size:11px;color:var(--orange);margin:28px 0 10px;letter-spacing:.08em;}
.project-names {font-size:14px;line-height:2.1;}
.service-list {padding:0;margin:0;list-style:none;}
.service-list li {display:flex;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);}
.service-list li:first-child {padding-top:0;}
.service-list li:last-child {border-bottom:0;padding-bottom:0;}
.list-number {color:var(--orange);font-size:12px;font-variant-numeric:tabular-nums;flex:0 0 25px;line-height:28px;}
.service-list p,.model-list article p {font-size:14px;color:var(--muted);margin:8px 0 0;}
.scene-section {padding-block:72px 80px;background:#eeeee5;}
.scene-header {display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:36px;}
.scene-header>p {font-size:13px;color:var(--muted);margin:0;}
.scene-list {border-top:1px solid #cbd1c4;}
details {border-bottom:1px solid #cbd1c4;}
summary {display:flex;align-items:center;gap:20px;list-style:none;padding:20px 0;cursor:pointer;font-size:17px;}
summary::-webkit-details-marker {display:none;}
summary>span:nth-child(2) {width:190px;flex-shrink:0;}
.scene-preview {color:var(--muted);font-size:12px;flex:1;}
.expand-mark {margin-left:auto;font-size:22px;line-height:1;}
details[open] .expand-mark {transform:rotate(45deg);}
.scene-detail {padding:0 44px 22px;max-width:820px;font-size:14px;}
.scene-detail p {margin-bottom:10px;}
.detail-label {display:inline-block;color:var(--muted);width:80px;}
.model-list article {display:flex;gap:20px;border-top:1px solid var(--line);padding-block:24px;}
.model-list article:first-child {padding-top:0;border-top:0;}
.section-body .model-note {border-left:2px solid var(--orange);padding:4px 0 4px 16px;font-size:12px;margin:12px 0 0;}
.terms-list {margin:0;}
.terms-list>div {display:grid;grid-template-columns:100px 1fr;gap:24px;padding-block:20px;border-bottom:1px solid var(--line);font-size:14px;}
.terms-list>div:first-child {padding-top:0;}
.terms-list>div:last-child {border-bottom:0;}
dt {font-weight:600;}
dd {margin:0;color:var(--muted);}
.contact-section {background:#213d33;color:var(--paper);padding-block:64px;}
.contact-inner {display:flex;justify-content:space-between;gap:48px;}
.contact-section .eyebrow {color:#e8ac8b;}
.contact-section h2 {font-size:36px;margin-bottom:24px;}
.contact-section p:not(.eyebrow) {font-size:14px;color:#c1cfc2;}
.contact-email {display:inline-block;font-size:clamp(17px,2vw,25px);border-bottom:1px solid #819286;margin-bottom:28px;overflow-wrap:anywhere;}
.contact-actions {display:flex;gap:12px;}
.button-outline {background:transparent;color:var(--paper);border-color:#819286;}
.button-outline:hover {background:#315448;border-color:#819286;}
.contact-note {border-top:1px solid #819286;padding-top:20px;min-width:220px;margin-top:12px;}
.contact-note>span {font-size:16px;}
.contact-note ol {padding-left:20px;margin-top:24px;font-size:13px;line-height:2.3;color:#c1cfc2;}
.copy-status {min-height:26px;margin:12px 0 0;}
.site-footer {padding-block:28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;font-size:11px;color:var(--muted);}
.skip-link {position:fixed;top:-100px;left:16px;background:var(--paper);padding:12px;z-index:50;}
.skip-link:focus {top:12px;}
.mobile-contact {display:none;}
@media(max-width:900px) {
 .wrap {width:calc(100% - 48px);}
 .intro {gap:32px;padding-block:56px;}
 .section {gap:36px;grid-template-columns:.8fr 1.3fr;padding-block:56px;}
 .section-nav .wrap {gap:26px;overflow-x:auto;}
 .scene-preview {display:none;}
 .contact-note {min-width:180px;}
}
@media(max-width:600px) {
 html {scroll-padding-top:76px;}
 .wrap {width:calc(100% - 40px);}
 .header-inner {height:68px;gap:14px;}
 .brand img {width:145px;}
 .back-home {font-size:12px;}
 .intro {display:flex;flex-direction:column;align-items:stretch;gap:36px;padding-block:44px;}
 h1 {font-size:42px;}
 .eyebrow {margin-bottom:20px;}
 .intro-description {font-size:15px;line-height:1.9;margin-top:24px;}
 .intro-description br {display:none;}
 .text-link {margin-left:14px;font-size:12px;}
 .route-sheet {transform:none;padding:18px;}
 .section-nav .wrap {width:100%;padding-inline:20px;gap:26px;}
 .section-nav a {padding:15px 0;font-size:12px;}
 .section {display:block;padding-block:44px;}
 .section-heading {margin-bottom:30px;}
 h2 {font-size:28px;}
 .section-heading h2 br {display:none;}
 .section-body .lead {font-size:18px;}
 .section-heading>p:not(.eyebrow) {margin:14px 0 0;}
 .service-list li {gap:16px;padding-block:20px;}
 .scene-section {padding-block:44px;}
 .scene-header {display:block;margin-bottom:26px;}
 .scene-header>p {margin-top:18px;}
 summary {gap:12px;font-size:16px;padding-block:19px;}
 summary>span:nth-child(2) {width:auto;flex-shrink:1;}
 .scene-detail {padding:0 0 18px 37px;}
 .scene-detail p {display:flex;flex-direction:column;gap:3px;margin-bottom:14px;}
 .detail-label {font-size:11px;}
 .terms-list>div {grid-template-columns:1fr;gap:8px;}
 .contact-section {padding-block:44px;}
 .contact-inner {flex-direction:column;gap:30px;}
 .contact-section h2 {font-size:29px;}
 .contact-section p br {display:none;}
 .contact-note {margin:0;}
 .contact-note>span br {display:none;}
 .contact-note ol {margin-bottom:0;}
 .site-footer {padding-bottom:100px;flex-direction:column;gap:10px;}
 .mobile-contact {display:flex;justify-content:space-between;position:fixed;z-index:30;bottom:0;left:0;right:0;min-height:58px;padding:14px 24px calc(14px + env(safe-area-inset-bottom));background:var(--orange);color:#fff;font-size:14px;}
 #contact {scroll-margin-top:8px;}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}}
