:root {
  color-scheme: light;
  --ink: #142030;
  --muted: #4f5e70;
  --soft: #657386;
  --paper: #f8f7f4;
  --white: #fff;
  --blue: #194a83;
  --blue-dark: #10375e;
  --night: #101c2e;
  --line: #d8dde2;
  --wash: #edf0f3;
  --mono: "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  font-family: "Aptos", "Inter", "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-size: 16px; line-height: 1.55; }
main { min-height: 42vh; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { line-height: 1.1; }
h1, h2, h3, p, td, dd { overflow-wrap: anywhere; }
::selection { background: #d6dfff; color: var(--ink); }
:focus-visible { outline: 2px solid #3157f1; outline-offset: 4px; }
[id] { scroll-margin-top: 22px; }
.shell { width: min(1240px, calc(100% - 104px)); margin-inline: auto; }
.section { padding-block: 76px; }
.inner-section { padding-block: 48px 76px; }
.mono { font-family: var(--mono); }
.subtle { color: var(--muted); }
.icon { display: inline-block; width: 17px; height: 17px; flex: 0 0 auto; vertical-align: -0.18em; }
.skip-link { position: absolute; z-index: 4; top: -80px; left: 16px; padding: 12px; background: var(--white); }
.skip-link:focus { top: 12px; }
.site-header { background: #fdfdfd; border-bottom: 1px solid var(--line); }
.header-row { min-height: 76px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.wordmark { display: inline-flex; align-items: center; justify-self: start; }
.brand-lockup { display: block; position: relative; overflow: hidden; width: 151px; height: 49px; background: #fdfdfd; }
.brand-lockup img { position: absolute; width: 183px; height: 183px; max-width: none; top: -67px; left: -16px; }
.header-row nav { display: flex; gap: 34px; color: #334154; align-items: center; }
.header-row nav a { font-size: 14px; font-weight: 650; }
.header-row nav a:hover, .header-row nav [aria-current] { color: var(--blue); }
.header-quote { justify-self: end; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 48px; width: fit-content; padding: 11px 17px; border: 1px solid transparent; border-radius: 3px; font-weight: 680; font-size: 14px; line-height: 1.35; text-align: center; transition: background-color .16s, border-color .16s, color .16s; }
.button.primary { background: var(--blue); color: white; }
.button.primary:hover { background: var(--blue-dark); }
.button.outline { border-color: #bac3ce; color: var(--ink); }
.button.outline:hover { border-color: var(--blue); color: var(--blue); background: #eff2ff; }
.button.light { color: #132a85; background: #fff; }
.button.light:hover { background: #e8eeff; }
.button.danger { color: #932920; border-color: #ba716b; background: white; }
.button.danger:hover { background: #fbe9e7; }
.header-quote.button { min-height: 42px; padding-inline: 15px; }
.text-link, .whatsapp-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 680; font-size: 14px; color: var(--blue-dark); width: fit-content; }
.text-link:hover, .whatsapp-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.kicker { display: flex; align-items: center; gap: 10px; color: var(--blue-dark); font: 650 11px/1.5 var(--mono); text-transform: uppercase; letter-spacing: .15em; }
.kicker span { display: block; flex: none; width: 17px; height: 2px; background: currentColor; }

.masthead { position: relative; isolation: isolate; color: #f4f8ff; background: #0a1828; overflow: hidden; }
.masthead-photo { position: absolute; z-index: -2; right: 0; top: 0; width: 73%; height: 100%; object-fit: cover; object-position: center; }
.masthead::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#0a1828 0%,#0a1828 18%,#0a1828ee 33%,#0a18288a 52%,#0a182815 78%), linear-gradient(0deg,#0a1828c7,#0a182800 35%); }
.masthead-scene .masthead-photo { width: 100%; object-position: right center; }
.masthead-scene::after { background: linear-gradient(90deg,#0a1828f5 0%,#0a1828e8 19%,#0a1828af 34%,#0a18283b 50%,transparent 65%), linear-gradient(0deg,#0a1828aa,transparent 23%); }
.masthead-inner { min-height: clamp(490px, 45vw, 650px); position: relative; display: flex; align-items: center; padding-block: 66px 81px; }
.masthead-copy { max-width: 680px; }
.masthead .kicker { color: #b9d8f7; }
.masthead h1 { margin: 20px 0; max-width: 12.5ch; font-size: clamp(48px, 6vw, 88px); font-weight: 750; line-height: .98; letter-spacing: -.064em; }
.masthead h1 em { display: block; color: #c0d5e9; font-style: normal; }
.masthead-copy > p:not(.kicker) { color: #e2ebf4; font-size: clamp(16px, 1.35vw, 19px); max-width: 44ch; line-height: 1.6; }
.masthead-caption { position: absolute; right: 0; bottom: 20px; padding-top: 9px; border-top: 1px solid #a7bed580; color: #ecf1f7; font: 600 10px/1.4 var(--mono); letter-spacing: .15em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; }
.hero-actions .button { gap: 10px; padding-inline: 12px; }
.button.glass { border-color: #849cb5; color: #fff; background: #0a1c3190; }
.button.glass:hover { background: #213c5b; border-color: white; }
.catalog-metrics { border-block: 1px solid var(--line); background: var(--panel); }
.catalog-metrics .fact-strip { border: 0; min-height: 76px; }
.catalog-metrics .fact-strip strong { color: var(--accent); font: 750 25px/1 var(--mono); }
.fact-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); min-height: 67px; }
.fact-strip > div { display: flex; align-items: center; justify-content: center; padding: 10px 12px; gap: 10px; color: #39495c; font-family: var(--mono); font-size: 12px; font-weight: 600; }
.fact-strip > div + div { border-left: 1px solid var(--line); }
.fact-strip .icon { color: var(--blue); }
.section-heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; margin: 13px 0 25px; }
.section-heading h2, .project-band h2 { font-size: clamp(31px, 3.2vw, 48px); font-weight: 740; letter-spacing: -.055em; }
.section-heading p { color: var(--muted); margin-top: 9px; }
.section-heading > .text-link { padding-bottom: 5px; }
.catalog-section { padding-top: 56px; }
.category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.family-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.category-card, .product-card { display: block; min-width: 0; background: var(--white); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; transition: border-color .16s, box-shadow .16s; }
.category-card:hover, .product-card:hover { border-color: #8093de; box-shadow: 0 8px 24px #172b6c0c; }
.card-art { position: relative; aspect-ratio: 1.5; background: var(--steel-panel); overflow: hidden; }
.card-art img { width: 100%; height: 100%; padding: 8px 12px; object-fit: contain; transition: transform .2s; }
.product-placeholder { display: grid; min-height: 180px; height: 100%; place-items: center; background: #e6ecf3; color: #3f526b; font: 650 12px/1.4 var(--mono); }
.category-card:hover img, .product-card:hover img { transform: scale(1.035); }
.card-index { position: absolute; top: 15px; left: 16px; z-index: 1; color: #3c536b; font: 600 11px/1 var(--mono); letter-spacing: .12em; }
.card-corner { position: absolute; top: 12px; right: 13px; z-index: 1; display: grid; place-items: center; width: 30px; height: 30px; background: var(--white); border: 1px solid #d5dde6; border-radius: 3px; color: var(--blue); }
.card-copy { padding: 20px; }
.card-copy h3 { font-size: clamp(17px, 1.62vw, 24px); font-weight: 730; letter-spacing: -.035em; }
.card-copy p { margin-top: 8px; color: var(--muted); font-size: 14px; }
.card-copy .tag { margin-bottom: 10px; }
.home-company { display: grid; grid-template-columns: minmax(0,.83fr) minmax(0,1.17fr); gap: 45px; align-items: center; }
.home-company h2 { margin-top: 12px; font-size: clamp(32px, 4vw, 56px); letter-spacing: -.05em; }
.home-company p:not(.kicker) { color: var(--muted); margin: 13px 0 17px; }
.home-company img { width: 100%; height: auto; object-fit: cover; border-radius: 3px; }
.capabilities { background: var(--night); color: #f3f6ff; }
.capabilities .kicker, .project-band .kicker { color: #b2c4ff; }
.capabilities .section-heading p { color: #bbc6d8; }
.capability-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 29px; border: 1px solid #405069; }
.capability-grid article { padding: 24px 25px; }
.capability-grid article + article { border-left: 1px solid #405069; }
.capability-icon { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 28px; color: #b5c7ff; border: 1px solid #52648c; border-radius: 3px; }
.capability-grid .step { font-size: 10px; letter-spacing: .1em; color: #b3c6ff; }
.capability-grid h3 { margin: 8px 0 12px; font-size: 23px; letter-spacing: -.025em; }
.capability-grid p { color: #c1ccde; }
.project-band { background: #2245c9; color: #fff; padding-block: 48px; }
.project-row { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.project-band h2 { margin-top: 10px; }
.project-band h2 + p { color: #edf1ff; margin-top: 10px; }
.project-band .button { flex-shrink: 0; }
.site-footer { padding: 50px 0 0; background: #101a29; color: #e7edf7; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 22px; padding-bottom: 40px; }
.footer-grid > div { display: flex; flex-direction: column; align-items: start; gap: 9px; }
.footer-grid .wordmark { color: white; margin-bottom: 4px; }
.footer-grid .brand-lockup { border-radius: 2px; }
.footer-grid h2 { font-size: 15px; margin-bottom: 4px; }
.footer-grid p, .footer-grid a:not(.wordmark) { color: #c0ccdd; font-size: 14px; }
.footer-grid a:hover, .footer-bottom a:hover { text-decoration: underline; }
.footer-bottom { display: flex; justify-content: space-between; gap: 14px; padding-block: 18px; border-top: 1px solid #3c4960; color: #becadc; font: 11px/1.4 var(--mono); letter-spacing: .08em; }

.page-head { padding-block: 24px 42px; background: #eef0f4; border-bottom: 1px solid var(--line); }
.breadcrumbs { color: #4c5a6c; font-size: 13px; margin-bottom: 31px; }
.breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px 10px; }
.breadcrumbs li + li::before { content: "/"; color: #6d7988; margin-right: 10px; }
.breadcrumbs a:hover { color: var(--blue); text-decoration: underline; }
.page-head h1, .detail-copy h1, .error-page h1, .admin-heading h1 { font-size: clamp(38px, 5vw, 69px); letter-spacing: -.06em; font-weight: 750; margin-top: 10px; }
.page-head h1 + p { font-size: 19px; color: var(--muted); margin-top: 13px; max-width: 57ch; }
.catalog-search { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.catalog-search .field { flex: 1 1 290px; max-width: 570px; }
.catalog-search .button { min-height: 41px; }
.catalog-search .text-link { margin: 8px 0; }
.filter-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 24px; }
.filter-tabs a { border: 1px solid var(--line); padding: 8px 13px; font-weight: 640; font-size: 14px; border-radius: 3px; background: white; }
.filter-tabs [aria-current], .filter-tabs a:hover { border-color: var(--blue); color: var(--blue-dark); background: #e9eeff; }
.catalog-categories { margin-bottom: 52px; }
.tag { display: inline-flex; font: 600 11px/1.4 var(--mono); color: #29408a; background: #e9eeff; padding: 4px 7px; border: 1px solid #d5defb; border-radius: 2px; }
.empty-state { padding: 24px; border: 1px solid var(--line); background: white; }
.empty-state p { margin-bottom: 12px; }
.detail-section { padding-block: 24px 0; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(0, .97fr); align-items: start; gap: 36px; }
.detail-visual { background: #e8edf2; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.detail-visual img { width: 100%; height: auto; aspect-ratio: 1.15; padding: 10px 12px; object-fit: contain; }
.detail-visual figcaption { padding: 10px 14px; font: 11px/1.5 var(--mono); color: #394d63; background: #e4e9f0; }
.detail-copy h1 { font-size: clamp(33px, 4.3vw, 62px); margin-bottom: 15px; }
.detail-copy > p { color: var(--muted); margin-top: 12px; }
.detail-copy .intro { color: #2c3c52; font-size: 19px; font-weight: 600; }
.detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 23px; }
.detail-bottom { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 34px 0 12px; }
.detail-panel, .form-card, .contact-aside { background: #fff; border: 1px solid var(--line); padding: 25px; border-radius: 4px; min-width: 0; }
.detail-panel h2, .form-card h2, .contact-aside h2 { font-size: 24px; letter-spacing: -.035em; margin-bottom: 10px; }
.detail-panel p, .reading p { color: var(--muted); }
.check-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.check-list li { display: flex; align-items: baseline; gap: 8px; }
.check-list .icon { align-self: center; color: var(--blue); }
.spec-list { margin: 12px 0 0; }
.spec-list div { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 12px; padding-block: 9px; border-top: 1px solid var(--line); }
.spec-list dt { font-weight: 660; overflow-wrap: anywhere; }
.spec-list dd { margin: 0; color: var(--muted); }
.spec-panel { border-top: 3px solid #194a83; }
.catalog-source { margin-top: 13px; font-size: 13px; }
.catalog-note { border-left: 2px solid #6c91b5; background: #eef3f7; padding: 9px 11px; margin-top: 10px; font-size: 14px; }
.technical-actions { display: grid; gap: 10px; margin-top: 18px; }
.order-panel { margin-top: 28px; margin-bottom: 20px; padding: 22px 25px; background: white; border: 1px solid var(--line); border-radius: 4px; }
.order-panel .section-heading { margin-top: 0; }
.order-panel h2 { margin-top: 7px; font-size: clamp(25px, 3vw, 37px); }
.model-table caption { text-align: left; font-weight: 700; margin-bottom: 7px; }
.model-table-wrap { max-height: 380px; }
.model-table thead th { position: sticky; top: 0; z-index: 1; }
.model-table th[scope="row"] { background: white; }
.model-table .text-link { white-space: nowrap; }
.spec-highlights { display: grid; grid-template-columns: repeat(auto-fit,minmax(115px,1fr)); gap: 1px; margin: 19px 0 0; border: 1px solid #ced9e4; background: #ced9e4; }
.spec-highlights > div { background: #edf2f7; padding: 11px 12px; }
.spec-highlights dt { color: #486079; font: 650 10px/1.4 var(--mono); }
.spec-highlights dd { margin: 5px 0 0; font-size: 14px; font-weight: 700; }
.sales-contact { margin-block: 17px; padding: 16px 12px; display: grid; gap: 5px; background: #eef3f7; border-left: 2px solid var(--blue); }
.sales-contact .sales-name { font-weight: 750; font-size: 19px; }
.sales-contact a { overflow-wrap: anywhere; max-width: 100%; }
.order-sheet { margin-top: 12px; padding: 10px 13px; background: #eef2f6; border: 1px solid var(--line); border-radius: 2px; }
.order-sheet summary { font-weight: 700; cursor: pointer; }
.order-sheet summary span { font: 600 10px/1.4 var(--mono); color: var(--muted); margin-left: 6px; }
.order-sheet a { margin: 9px 0; }
.order-sheet img { width: auto; max-width: 100%; border: 1px solid var(--line); }
.reading { max-width: 72ch; }
.reading p { font-size: 18px; margin-bottom: 15px; }
.company-hero { padding-top: 25px; }
.company-grid { display: grid; grid-template-columns: 1.07fr .93fr; align-items: stretch; gap: 32px; }
.company-copy { padding-block: 20px; align-self: center; }
.company-copy h1 { font-size: clamp(39px, 5.2vw, 77px); letter-spacing: -.06em; margin: 11px 0 15px; }
.company-copy > p:not(.kicker) { color: var(--muted); font-size: 19px; max-width: 44ch; }
.company-copy > .company-legal:not(.kicker) { font-size: 15px; margin-top: 10px; font-weight: 650; }
.company-brand { min-width: 0; display: grid; place-items: center; position: relative; background: #fdfdfd; border: 1px solid #d2dce7; border-radius: 4px; }
.company-brand img { width: min(76%, 350px); height: auto; }
.company-brand figcaption { position: absolute; inset: auto 15px 14px; border-top: 1px solid #d2dce7; padding-top: 9px; display: flex; justify-content: space-between; gap: 10px; }
.company-brand figcaption { color: #3f526c; font: 600 9px/1.4 var(--mono); letter-spacing: .12em; }
.company-section { padding-top: 36px; }
.company-summary { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: 22px; border-top: 1px solid var(--line); padding: 32px 0; }
.company-summary h2 { margin-top: 10px; font-size: clamp(30px, 3.4vw, 47px); letter-spacing: -.055em; max-width: 15ch; }
.company-location { display: flex; align-items: start; gap: 15px; padding: 24px; border: 1px solid var(--line); background: #edf1f6; }
.company-location h2 { font-size: 25px; margin: 6px 0; }
.company-location .text-link { margin-left: auto; align-self: center; flex: none; }
.location-icon { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #b1c2d9; color: var(--blue); border-radius: 3px; flex: none; }
.factory-address { margin-top: 6px; font-style: normal; color: var(--muted); }
.factory-address .address-zh { margin-top: 5px; font-size: 14px; }
.factory-view { margin-top: 18px; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; background: #e7edf4; }
.factory-view img { width: 100%; height: auto; }
.factory-view figcaption { padding: 11px 14px; font-size: 14px; color: #3f526b; }
.error-page h1 + p { margin-block: 14px 22px; }

.contact-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.contact-aside { background: #eef0f4; }
.contact-aside h2 { margin-top: 9px; }
.contact-aside > p { margin-top: 11px; }
.contact-aside > p .icon { color: var(--blue); margin-right: 4px; }
.contact-aside > p a:hover { text-decoration: underline; }
.contact-aside .whatsapp-link { margin-top: 12px; }
.aside-guide { border-top: 1px solid #cbd3de; margin-top: 20px; padding-top: 19px; }
.aside-guide h3 { font-size: 16px; margin-bottom: 11px; }
.aside-guide li { font-size: 14px; }
.contact-form, .admin-form { margin-top: 17px; display: grid; gap: 15px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-grid .full { grid-column: 1 / -1; }
.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.field > span { font-size: 14px; font-weight: 660; }
.field small { color: var(--muted); }
.field :is(input, select, textarea) { width: 100%; min-height: 41px; padding: 8px 10px; border: 1px solid #aeb9c7; border-radius: 3px; background: #fff; color: var(--ink); }
.field input[type="file"] { padding: 5px; }
.field textarea { resize: vertical; }
.checkbox { display: flex; align-items: start; gap: 9px; font-size: 14px; }
.checkbox input { width: 16px; height: 16px; flex: none; margin: 3px 0 0; accent-color: var(--blue); }
.checkbox a { color: var(--blue-dark); text-decoration: underline; text-underline-offset: 3px; }
.honeypot { display: none; }
.receipt { padding: 8px; }
.receipt-icon { display: grid; place-items: center; width: 44px; height: 44px; background: #e7edff; color: var(--blue); margin-bottom: 14px; border-radius: 3px; }
.receipt p { margin-bottom: 14px; }
.notice { padding: 10px 14px; margin: 10px 0 15px; border-left: 3px solid var(--blue); background: #eaf0ff; color: #192f70; }
.notice.error { border-color: #a33930; background: #fbece9; color: #80231e; }

.admin-site { background: #f3f5f8; }
.admin-bar { background: #fff; border-bottom: 1px solid var(--line); }
.admin-bar .shell { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-shell { max-width: 1040px; padding-block: 22px 64px; }
.admin-nav, .admin-card-top, .admin-pagination { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.admin-nav { margin-bottom: 25px; }
.admin-nav nav { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.admin-nav a, .plain { font-weight: 650; font-size: 14px; color: var(--blue-dark); }
.admin-nav a:hover, .plain:hover { text-decoration: underline; }
.plain { background: transparent; border: none; padding: 5px 0; }
.admin-heading { margin-bottom: 18px; }
.admin-heading h1 { font-size: clamp(30px, 4vw, 54px); }
.admin-card { background: white; border: 1px solid var(--line); border-radius: 4px; padding: 20px; margin-bottom: 14px; min-width: 0; }
.admin-card.narrow { max-width: 440px; }
.admin-card h2 { font-size: 21px; margin: 0 0 9px; }
.admin-card p + .text-link { margin-top: 10px; }
.admin-card .spec-list + h2 { margin-top: 18px; }
.admin-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.admin-links { display: grid; gap: 10px; }
.admin-form { max-width: 690px; }
.admin-form .image-fields { display: grid; gap: 12px; border: 1px solid var(--line); padding: 12px; min-width: 0; }
.image-fields legend { font-size: 14px; font-weight: 660; }
.admin-thumb { max-width: 200px; max-height: 155px; width: auto; height: auto; }
.table-wrap { overflow-x: auto; margin-top: 10px; }
table { border-collapse: collapse; width: 100%; text-align: left; }
th, td { padding: 9px 10px; border-bottom: 1px solid var(--line); }
th { background: #eff2f6; font-size: 13px; white-space: nowrap; }
td { font-size: 14px; }
td a { color: var(--blue-dark); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.inquiry-message { white-space: pre-wrap; }
.admin-pagination { margin-top: 14px; }

/* Public brand palette. The admin keeps its existing neutral workspace. */
.public-site {
  min-height: 100vh;
  color-scheme: dark;
  --ink: #f1f5fa;
  --muted: #c0cddc;
  --blue: #2b6198;
  --blue-dark: #a9c9ee;
  --line: #3a4d64;
  --panel: #17273b;
  --raised: #20344b;
  --field: #101e31;
  --accent: #bdd9f7;
  --steel-panel: radial-gradient(ellipse at 46% 32%, #e1e9f0, #afc2d4);
  color: var(--ink);
  background: var(--night);
}
.public-site :focus-visible { outline-color: #9ac8ff; }
.public-site ::selection { background: #afd0f6; color: #0b1b30; }
.public-site .skip-link { background: var(--raised); }
.public-site .site-header { background: var(--night); }
.utility { background: #0b1727; border-bottom: 1px solid #27384b; color: #c0d0e4; }
.utility-row { min-height: 33px; display: flex; align-items: center; justify-content: space-between; gap: 12px; font: 600 10px/1.4 var(--mono); letter-spacing: .10em; }
.utility-row span { display: inline-flex; gap: 10px; align-items: center; }
.utility-row i { width: 3px; height: 3px; background: #a6b8d0; }
.utility .whatsapp-link { color: #e2edf9; font: inherit; }
.utility .whatsapp-link .icon { width: 13px; height: 13px; }
.public-site .brand-lockup { background: transparent; }
.public-site .header-row nav { color: #d3e0ef; }
.public-site .header-row nav a:hover, .public-site .header-row nav [aria-current] { color: #a9cff8; }
.public-site .button.primary:hover { background: #3779b9; }
.public-site .button.outline { border-color: #5e7794; }
.public-site .button.outline:hover { border-color: var(--accent); color: var(--accent); background: var(--raised); }
.public-site .button.light { color: #142c49; background: #e9f1fb; }
.public-site .button.light:hover { background: #cddff3; }
.public-site :is(.fact-strip > div, .breadcrumbs, .breadcrumbs li + li::before, .detail-copy .intro, .factory-view figcaption) { color: var(--muted); }
.public-site :is(.fact-strip .icon, .check-list .icon, .location-icon, .contact-aside > p .icon) { color: var(--accent); }
.public-site :is(.page-head, .category-card, .product-card, .empty-state, .detail-panel, .form-card, .contact-aside, .order-panel, .company-location, .factory-view) { background: var(--panel); }
.public-site :is(.order-sheet, .catalog-note, .sales-contact, .spec-highlights > div, .filter-tabs a, th) { background: var(--raised); }
.public-site :is(.filter-tabs [aria-current], .filter-tabs a:hover, .tag) { color: #d7e9ff; background: #254361; border-color: #57779a; }
.public-site :is(.spec-highlights, .aside-guide) { border-color: var(--line); }
.public-site .spec-highlights { background: var(--line); }
.public-site .spec-highlights dt { color: var(--muted); }
.public-site .model-table th[scope="row"] { background: var(--panel); }
.public-site .field :is(input, select, textarea) { color: var(--ink); background: var(--field); border-color: #58728e; }
.public-site .field input::placeholder { color: #9db1c8; }
.public-site .receipt-icon, .public-site .notice { background: var(--raised); color: var(--ink); }
.public-site .notice.error { background: #502b35; color: #ffdcdf; }
.public-site .project-band { background: #1a314b; border-block: 1px solid var(--line); }
.public-site .capabilities { border-block: 1px solid var(--line); }
.public-site .detail-visual { background: var(--steel-panel); }
.public-site .card-corner { color: #dbe9fa; background: #253d57; border-color: #54728e; }
.public-site .detail-visual figcaption { color: #253f57; background: #b8cbdc; }
.public-site .company-brand { background: var(--steel-panel); min-height: 365px; border-color: #7891ab; padding: 22px 0 38px; }
.public-site .company-brand figcaption { color: #233e59; border-color: #839db5; }

@media (max-width: 1050px) {
  .shell { width: calc(100% - 72px); }
  .header-row nav { gap: 22px; }
  .family-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .shell { width: calc(100% - 36px); }
  .section { padding-block: 48px; }
  .inner-section { padding-block: 32px 48px; }
  .header-row { grid-template-columns: 1fr 1fr; gap: 0 10px; padding-top: 10px; }
  .header-row nav { grid-row: 2; grid-column: 1 / -1; gap: 22px; padding: 11px 0; }
  .header-row nav a { font-size: 13px; }
  .header-quote.button { min-height: 38px; gap: 6px; padding-inline: 9px; font-size: 12px; }
  .masthead-inner { min-height: 525px; align-items: end; padding-block: 88px 55px; }
  .masthead-photo { width: 100%; object-position: 57% 30%; }
  .masthead::after { background: linear-gradient(0deg,#0a1828 0%,#0a1828ef 25%,#0a1828a8 60%,#0a18283d 100%), linear-gradient(90deg,#0a18289b,#0a182810 70%); }
  .masthead-scene { --scene-height: clamp(160px, 50vw, 330px); }
  .masthead-scene .masthead-photo { height: var(--scene-height); object-position: right center; }
  .masthead-scene::after { inset: 0 0 auto; height: var(--scene-height); background: linear-gradient(0deg,#0a1828,transparent 40%); }
  .masthead-scene .masthead-inner { min-height: 0; padding-block: calc(var(--scene-height) - 10px) 56px; }
  .masthead h1 { font-size: clamp(42px, 9vw, 67px); margin: 15px 0; }
  .masthead-caption { bottom: 13px; }
  .home-company { grid-template-columns: 1fr; gap: 20px; }
  .hero-actions { margin-top: 18px; }
  .fact-strip > div { padding: 9px 5px; gap: 5px; flex-direction: column; text-align: center; font-size: 10px; }
  .category-grid, .capability-grid, .admin-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capability-grid article { padding: 17px; }
  .capability-grid article:nth-child(3) { border-left: none; border-top: 1px solid #405069; grid-column: 1 / -1; }
  .capability-icon { margin-bottom: 16px; }
  .detail-grid, .contact-grid { grid-template-columns: 1fr; gap: 22px; }
  .company-grid, .company-summary { grid-template-columns: 1fr; }
  .company-copy { padding-block: 0; }
  .company-location { flex-wrap: wrap; }
  .company-location .text-link { margin-left: 0; }
  .detail-visual { max-width: 560px; }
  .project-row { align-items: start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 450px) {
  .utility-row { font-size: 8px; letter-spacing: .04em; }
  .utility-row span { gap: 5px; }
  .public-site .company-brand { min-height: 280px; }
  .category-grid, .capability-grid, .detail-bottom, .form-grid, .admin-overview { grid-template-columns: 1fr; }
  .capability-grid article + article { border-left: none; border-top: 1px solid #405069; }
  .footer-grid { grid-template-columns: 1fr; }
  .detail-panel, .form-card, .contact-aside { padding: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}
