:root {
  color-scheme: light;
  --brand-ink: #102e38;
  --brand-deep: #0b3440;
  --brand-teal: #087985;
  --brand-teal-dark: #055963;
  --brand-coral: #e46f3d;
  --brand-coral-dark: #b94d25;
  --brand-sand: #f2eadc;
  --brand-paper: #fffdfa;
  --brand-mist: #e6f0ee;
  --text-muted: #4b626a;
  --line: #bfd0cc;
  --focus-inner: #ffffff;
  --focus-outer: #087985;
  font-family: "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
  color: var(--brand-ink);
  background: #f5f1e9;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 20rem; overflow-x: hidden; color: var(--brand-ink); background: linear-gradient(180deg, #f9f7f2 0, #f2ede4 48rem, #f7f4ee 100%); line-height: 1.72; }
a { color: var(--brand-teal-dark); text-underline-offset: .2em; touch-action: manipulation; }
a:hover { color: var(--brand-coral-dark); }
a:focus-visible, summary:focus-visible, button:focus-visible { outline: 2px solid var(--focus-inner); outline-offset: 2px; box-shadow: 0 0 0 4px var(--focus-outer); }
.site-frame { width: min(100% - 2.5rem, 76rem); margin-inline: auto; }
.skip-link { position: fixed; z-index: 20; top: .75rem; left: .75rem; padding: .6rem .8rem; color: #fff; background: var(--brand-teal-dark); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: relative; z-index: 5; border-top: .3rem solid var(--brand-coral); border-bottom: 1px solid #d7dfdc; background: rgb(255 253 250 / 96%); box-shadow: 0 .35rem 1.5rem rgb(16 46 56 / 7%); }
.header-frame { display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: center; padding-block: .9rem; }
.brand { display: flex; gap: .75rem; align-items: center; color: var(--brand-ink); font-weight: 800; text-decoration: none; }
.brand:hover { color: var(--brand-teal-dark); }
.brand-mark { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; color: #fff; background: var(--brand-deep); font-size: .82rem; letter-spacing: .08em; }
.brand-copy { display: grid; line-height: 1.25; }
.brand-name { font-size: 1.08rem; letter-spacing: .08em; }
.brand-legal { margin-top: .22rem; color: var(--text-muted); font-size: .7rem; font-weight: 500; letter-spacing: .02em; }
.site-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .2rem .35rem; margin: 0; padding: 0; list-style: none; font-size: .87rem; }
.site-nav a { display: block; padding: .42rem .62rem; color: #314c55; text-decoration: none; white-space: nowrap; }
.site-nav a:hover { color: var(--brand-teal-dark); background: var(--brand-mist); }
.site-nav [aria-current="page"] { color: #fff; background: var(--brand-deep); font-weight: 800; }
main { padding-block: 1.15rem 5rem; }
.breadcrumbs { margin-bottom: 1rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; color: #66787e; list-style: none; font-size: .82rem; }
.breadcrumbs li + li::before { margin-right: .5rem; content: "/"; }
.breadcrumbs a { color: #526970; }
.content-page { display: grid; gap: 1.5rem; }
.content-page > * { min-width: 0; }
.page-intro { position: relative; max-width: none; overflow: hidden; padding: clamp(2rem, 6vw, 4.8rem); color: #fff; background: linear-gradient(118deg, var(--brand-deep) 0%, #0d5d68 68%, #16808a 100%); }
.page-intro::after { position: absolute; top: -6rem; right: -4rem; width: 21rem; height: 21rem; border: 3.5rem solid rgb(255 255 255 / 8%); border-radius: 50%; content: ""; }
.eyebrow { position: relative; z-index: 1; margin: 0 0 .8rem; color: #bfe9e3; font-size: .82rem; font-weight: 800; letter-spacing: .12em; }
h1, h2, h3 { color: var(--brand-ink); line-height: 1.22; text-wrap: balance; scroll-margin-top: 2rem; }
h1 { position: relative; z-index: 1; max-width: 54rem; margin: 0; color: #fff; font-size: clamp(2.15rem, 5vw, 4rem); letter-spacing: -.04em; }
h2 { margin-top: 0; font-size: clamp(1.45rem, 3vw, 2.2rem); letter-spacing: -.02em; }
h3 { margin-bottom: .5rem; font-size: 1.08rem; }
.opening-answer { position: relative; z-index: 1; max-width: 48rem; margin: 1.35rem 0 0; color: #e6f4f1; font-size: clamp(1.04rem, 2vw, 1.28rem); text-wrap: pretty; }
.home-hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: -2.65rem; padding: 0 clamp(2rem, 6vw, 4.8rem) 1.25rem; position: relative; z-index: 2; }
.home-hero-actions .text-link { color: #d7f1ec; }
.content-page > section, .split-panel { padding: clamp(1.4rem, 3.5vw, 3rem); border: 1px solid #d5dfdc; background: var(--brand-paper); box-shadow: 0 1rem 2.5rem rgb(16 46 56 / 6%); }
.section-heading { max-width: 47rem; margin-bottom: 1.4rem; }
.section-heading > :last-child { margin-bottom: 0; }
.section-kicker { margin: 0 0 .45rem; color: var(--brand-coral-dark); font-size: .76rem; font-weight: 800; letter-spacing: .13em; }
.split-panel { display: grid; grid-template-columns: minmax(14rem, .75fr) minmax(16rem, 1.25fr); gap: 1.5rem; }
.buyer-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.buyer-path-grid a { display: grid; gap: .45rem; min-height: 10rem; padding: 1.35rem; border: 1px solid #b8cbc6; border-top: .22rem solid var(--brand-teal); color: var(--brand-ink); background: #f8faf8; text-decoration: none; }
.buyer-path-grid a:hover { border-color: var(--brand-teal); background: var(--brand-mist); transform: translateY(-2px); }
.buyer-path-grid strong { font-size: 1.12rem; }
.buyer-path-grid span { color: var(--text-muted); }
.buyer-path-grid em, .material-grid em { align-self: end; color: var(--brand-teal-dark); font-style: normal; font-weight: 800; }
.material-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin: 0; padding: 0; list-style: none; }
.material-grid a { display: grid; gap: .35rem; min-height: 8.5rem; padding: 1.2rem; border: 1px solid #b2c9c4; color: var(--brand-ink); background: linear-gradient(145deg, #edf5f2, #fffdfa 72%); text-decoration: none; }
.material-grid a:hover { border-color: var(--brand-coral); background: #fff7ee; transform: translateY(-2px); }
.material-grid span { align-self: end; font-size: 1.3rem; font-weight: 800; }
.material-grid small { color: var(--text-muted); }
.process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.process-grid li { display: grid; align-content: start; padding: 1.05rem 0; border-top: .22rem solid var(--brand-teal); }
.process-grid li > span { color: var(--brand-coral-dark); font-size: .8rem; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.process-grid li > strong { margin-top: .35rem; }
.process-grid li > p { margin-bottom: 0; color: var(--text-muted); font-size: .94rem; }
.process-grid--compact { gap: 1.2rem; }
.application-panel { position: relative; background: var(--brand-sand) !important; }
.application-list { display: grid; gap: .2rem; margin: 0; padding: 0; list-style: none; }
.application-list li { display: grid; gap: .2rem; padding: .8rem 0; border-bottom: 1px solid #d4cabb; }
.application-list span { color: var(--text-muted); font-size: .94rem; }
.boundary-note { padding-left: .85rem; border-left: .25rem solid var(--brand-coral); }
.panel-link { grid-column: 2; }
.evidence-panel, .tone-panel { display: grid; grid-template-columns: minmax(14rem, .75fr) minmax(16rem, 1.25fr); gap: 2rem; }
.evidence-panel { color: #e8f0ed; background: var(--brand-deep) !important; box-shadow: 0 1rem 2.5rem rgb(11 52 64 / 15%) !important; }
.evidence-panel h2, .evidence-panel .section-kicker { color: #fff; }
.evidence-panel a { color: #b9eee1; }
.tone-panel { background: var(--brand-mist) !important; }
.answer-strip { border-left: .35rem solid var(--brand-coral) !important; background: #fff7ee !important; }
.answer-strip > :last-child { margin-bottom: 0; }
.information-panel { background: #e1efec !important; }
.home-contact { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #a9c2bd; }
.home-contact p { margin-bottom: 0; }
.cta-row { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1.25rem; }
.button-link { display: inline-block; padding: .72rem 1.1rem; color: #fff; background: var(--brand-coral); font-weight: 800; text-decoration: none; box-shadow: .2rem .2rem 0 var(--brand-deep); }
.button-link:hover { color: #fff; background: var(--brand-coral-dark); transform: translateY(-1px); }
.text-link { font-weight: 700; }
.checklist { padding-left: 1.25rem; }
.checklist li + li { margin-top: .55rem; }
.checklist--columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 2rem; }
.checklist--columns li + li { margin-top: 0; }
.scene-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.scene-grid article { padding: 1.15rem; border: 1px solid #c8d7d3; border-left: .25rem solid var(--brand-teal); background: #f9fbfa; }
.scene-grid article > span { color: var(--brand-coral-dark); font-size: .78rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.scene-grid article h3 { margin-top: .55rem; }
.scene-grid article p { margin-bottom: 0; color: var(--text-muted); }
.numbered-list { margin: 0; padding-left: 1.4rem; }
.numbered-list li { padding: .45rem 0 .65rem .3rem; border-bottom: 1px solid #b9d0cb; }
.data-block + .data-block { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #d7dfda; }
.faq-list { display: grid; gap: .7rem; }
details { padding: .85rem 1rem; border: 1px solid #b7c9c4; background: #f7faf7; }
summary { cursor: pointer; font-weight: 700; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { min-width: 10rem; padding: .8rem; border: 1px solid #aebfba; text-align: left; vertical-align: top; }
th { background: #e7f0ed; }
td:empty { min-height: 2.75rem; background: linear-gradient(90deg, transparent, #f5f2eb); }
.classification-list { display: grid; gap: .75rem; }
.classification-list div { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid #d7dfda; }
.classification-list dt { font-weight: 800; }
.classification-list dd { margin: 0; }
.contact-container { border-left: .35rem solid var(--brand-coral) !important; background: #fff7ed !important; }
.inquiry-form { display: grid; gap: .2rem; max-width: 48rem; }
.inquiry-form p { display: grid; gap: .35rem; margin: .55rem 0; }
.inquiry-form label { font-weight: 800; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { width: 100%; min-height: 2.85rem; padding: .65rem .72rem; border: 1px solid #9eb5b0; border-radius: 0; color: var(--brand-ink); background: #fff; font: inherit; }
.inquiry-form textarea { min-height: 7rem; resize: vertical; }
.inquiry-form input:focus, .inquiry-form select:focus, .inquiry-form textarea:focus { border-color: var(--brand-teal); outline: 3px solid rgb(8 121 133 / 18%); }
.inquiry-form button { justify-self: start; min-height: 2.85rem; padding: .65rem 1.1rem; border: 0; color: #fff; background: var(--brand-teal-dark); font: inherit; font-weight: 800; cursor: pointer; }
.inquiry-form button:hover { background: var(--brand-deep); }
.helptext { color: var(--text-muted); font-size: .88rem; }
.errorlist { margin: .2rem 0; padding: .55rem .75rem; color: #8f2e1b; background: #ffebe4; list-style: none; }
.public-contact-list dd { display: flex; flex-wrap: wrap; gap: .45rem .75rem; align-items: center; }
.copy-action { padding: .3rem .6rem; border: 1px solid var(--brand-teal-dark); color: var(--brand-teal-dark); background: #fff; font: inherit; font-size: .88rem; font-weight: 700; cursor: pointer; }
.copy-action:hover { color: #fff; background: var(--brand-teal-dark); }
.copy-status { min-width: 3em; color: #51616b; font-size: .88rem; }
.review-date { color: #51616b; font-size: .9rem; }
.site-footer { padding-block: 2.6rem; color: #dce9e6; background: #092a34; border-top: .3rem solid var(--brand-coral); }
.site-footer p { margin: .2rem 0; }
.site-footer a { color: #c5e6dd; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr auto; gap: 2rem; align-items: start; }
.footer-title { color: #fff; font-size: 1.25rem; font-weight: 800; }
.footer-label { color: #fff; font-weight: 800; }
.footer-filing { align-self: end; }
.notice { max-width: 42rem; margin: 12vh auto; padding: 2rem; background: #fff; border-radius: .5rem; box-shadow: 0 1px 3px #0002; }

@media (max-width: 48rem) {
  html { scroll-behavior: auto; }
  .site-frame { width: min(100% - 1.35rem, 76rem); }
  .header-frame, .split-panel, .evidence-panel, .tone-panel, .footer-grid { grid-template-columns: 1fr; }
  .header-frame { gap: .8rem; }
  .brand-legal { font-size: .66rem; }
  .site-nav { justify-content: flex-start; }
  .site-nav a { padding: .38rem .48rem; }
  .page-intro { padding: 2.2rem 1.35rem 3.8rem; }
  .home-hero-actions { margin-top: -3.25rem; padding: 0 1.35rem 1.2rem; }
  .material-grid, .buyer-path-grid, .process-grid, .scene-grid, .checklist--columns { grid-template-columns: 1fr; }
  .panel-link { grid-column: 1; }
  .table-wrap { overflow-x: auto; }
}

@media (prefers-reduced-motion: no-preference) {
  .buyer-path-grid a, .material-grid a, .button-link { transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease; }
}
