/* Corporate information portal: red/gold masthead, clear company identity. */
:root { --navy:#8e1720; --deep:#72131a; --blue:#b5121b; --accent:#d6b077; --ink:#302d2b; --muted:#76706a; --line:#e6e0d9; --pale:#faf7f2; background:#f3f2f0; }
body { background:#f3f2f0; }
.container { width:min(1200px,calc(100% - 64px)); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:#be791e; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { border:0; background:radial-gradient(ellipse at 83% 0%,#e9aa576b,transparent 57%),linear-gradient(112deg,#88111c,#c62624 68%,#a7101a); }
.header-inner { display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:center; min-height:148px; gap:60px; padding-block:25px; }
.brand { gap:9px; min-width:0; }
.brand strong { display:block; font-family:"STSong","SimSun","Songti SC",serif; font-size:2.5rem; font-weight:700; line-height:1.4; letter-spacing:.025em; color:#fff1cc; overflow-wrap:anywhere; }
.header-tools>p { color:#ffe7cc; font-size:.8125rem; margin-bottom:12px; letter-spacing:.07em; }
.header-search { display:flex; background:white; border:1px solid #edc991; }
.header-search input { min-width:0; width:100%; border:0; background:white; min-height:41px; font-size:.8125rem; padding:8px 12px; }
.header-search button { border:0; background:#ead2a6; color:#6c231e; padding:0 20px; font-size:.875rem; font-weight:700; white-space:nowrap; }
.nav-shell { background:#b5121b; border-top:1px solid #d6554d; border-bottom:3px solid #d7b276; }
.main-nav { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:0; position:static; background:transparent; padding:0; box-shadow:none; border:0; }
.main-nav>a { color:white; text-align:center; padding:14px 4px; font-size:1.0625rem; font-weight:500; border-right:1px solid #d14d47; }
.main-nav>a:first-child { border-left:1px solid #d14d47; }
.main-nav>a:hover,.main-nav>a[aria-current] { color:#fff2ce; background:#8e1019; }
.main-nav>a[aria-current]:after { background:#f1d299; bottom:0; left:22%; width:56%; height:3px; }
.nav-toggle-row { display:none; }
.portal-home { padding-block:24px 40px; }
.portal-focus { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr); gap:22px; align-items:stretch; margin-bottom:24px; }
.focus-visual { position:relative; overflow:hidden; background:linear-gradient(115deg,#fffcf7,#f4e8cf); border:1px solid #e7d7bb; border-top:4px solid #b5121b; padding:32px 35px 22px; }
.focus-visual:after { content:""; position:absolute; width:330px; height:330px; right:-185px; bottom:-180px; border:36px double #d4b88040; border-radius:50%; pointer-events:none; }
.focus-visual>* { position:relative; z-index:1; }
.focus-kicker { color:#99763c; font-size:.875rem; font-weight:600; letter-spacing:.15em; margin-bottom:16px; }
.focus-visual h1 { color:#961721; font-size:2.5rem; letter-spacing:.07em; line-height:1.4; white-space:pre-line; overflow-wrap:anywhere; }
.focus-description { color:#766655; font-size:.9375rem; line-height:1.9; max-width:540px; margin-top:18px; }
.focus-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:24px; }
.focus-actions .button { min-height:43px; padding:9px 18px; gap:22px; font-size:.875rem; }
.focus-link { color:#8e1720; font-size:.875rem; }
.focus-topics { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:25px; padding-top:16px; border-top:1px solid #e2cfae; color:#937e62; font-size:.75rem; }
.portal-panel { background:white; border:1px solid #e4dfd9; padding:0 24px 22px; min-width:0; }
.portal-heading { display:flex; align-items:center; gap:24px; border-bottom:1px solid #e4dfd9; min-height:60px; margin-bottom:8px; }
.portal-heading h2 { position:relative; font-size:1.25rem; color:#a21620; font-weight:700; padding-block:17px 14px; letter-spacing:.025em; }
.portal-heading h2:after { content:""; position:absolute; height:3px; background:#ae1921; bottom:-1px; left:0; width:100%; }
.portal-heading>a { margin-left:auto; color:#8b8177; font-size:.8125rem; white-space:nowrap; }
.shortcut-row { display:flex; gap:15px; align-items:center; padding:16px 0; border-bottom:1px dashed #e5ddd5; }
.shortcut-number { border:1px solid #e6cbb6; background:#fcf7f0; color:#b18249; width:33px; height:33px; display:flex; align-items:center; justify-content:center; font-family:Georgia,serif; font-size:1rem; flex-shrink:0; }
.shortcut-row>span:not(.shortcut-number) { min-width:0; }
.shortcut-row strong { display:block; font-size:.9375rem; font-weight:600; }
.shortcut-row small { display:block; color:var(--muted); font-size:.75rem; margin-top:3px; }
.shortcut-row b { margin-left:auto; color:#a7917b; font-size:1.4rem; font-weight:400; }
.shortcut-row:hover strong,.portal-list a:hover h3,.portal-service-grid a:hover h3,.portal-categories a:hover h3 { color:#b5121b; }
.service-contact-link { display:block; padding-top:18px; font-size:.875rem; color:#9a1b24; }
.portal-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-block:24px; }
.portal-list>a { display:flex; align-items:flex-start; gap:12px; border-bottom:1px dashed #ece6e0; padding:14px 0; }
.portal-list>a:last-child { border:0; padding-bottom:0; }
.list-dot { width:5px; height:5px; background:#c7a071; margin-top:10px; flex-shrink:0; }
.portal-list h3 { font-size:1rem; font-weight:600; }
.portal-list p { color:#7d756d; font-size:.8125rem; line-height:1.8; margin-top:6px; }
.list-arrow { color:#aa8c6b; margin-left:auto; }
.portal-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.portal-service-grid>a { padding:18px 0; border-bottom:1px dashed #eae1d8; }
.portal-service-grid h3 { font-size:.9375rem; font-weight:600; }
.portal-service-grid p { color:var(--muted); font-size:.8125rem; margin-top:8px; line-height:1.8; }
.panel-empty { font-size:.9375rem; color:var(--muted); padding:25px 0; }
.awareness-banner { background:linear-gradient(110deg,#9a111c,#be302c); color:#fff0d0; padding:23px 32px; display:flex; align-items:center; flex-wrap:wrap; gap:15px 35px; border-bottom:3px solid #c79b62; }
.awareness-banner p { font-size:.8125rem; letter-spacing:.13em; opacity:.85; margin-bottom:7px; }
.awareness-banner h2 { font-size:1.6rem; font-family:"STSong","SimSun",serif; letter-spacing:.05em; }
.awareness-banner>a { margin-left:auto; border:1px solid #daae81; padding:7px 18px; font-size:.875rem; }
.portal-products { margin-block:24px; }
.portal-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 26px; }
.portal-categories>a { padding:18px 0; border-bottom:1px dashed #e4dacf; }
.portal-categories>a>span { display:block; color:#b09572; font-size:.75rem; margin-bottom:8px; }
.portal-categories h3 { font-size:.9375rem; }
.portal-categories p { color:var(--muted); font-size:.8125rem; margin-top:8px; }
.portal-featured { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; padding-top:24px; }
.portal-featured>a { border:1px solid var(--line); padding:15px; }
.portal-featured img { width:100%; aspect-ratio:1.43; object-fit:contain; margin-bottom:10px; }
.portal-featured small,.portal-featured p { color:var(--muted); font-size:.8125rem; }
.portal-featured h3 { font-size:1rem; margin-block:7px; overflow-wrap:anywhere; }
.portal-news>a { display:flex; align-items:baseline; gap:18px; padding:15px 0; border-bottom:1px dashed var(--line); font-size:.9375rem; }
.portal-news>a>span { min-width:0; overflow-wrap:anywhere; }
.portal-news time { font-size:.75rem; margin-left:auto; color:#9a8979; white-space:nowrap; }
.awareness-intro,.portal-about { padding-top:17px; }
.awareness-intro h3,.portal-about h3 { font-size:1.0625rem; }
.awareness-intro p,.portal-about p { font-size:.875rem; line-height:1.95; color:var(--muted); margin:14px 0 18px; }
.section { padding-block:42px; background:white; }
.page-heading { padding-block:36px; border-bottom:1px solid #e1d4c3; background:#fbf6ed; }
.page-heading h1 { color:#861d24; font-size:2.3rem; }
.page-heading .eyebrow { color:#aa8b61; letter-spacing:.1em; margin-bottom:10px; }
.page-heading p:not(.eyebrow) { color:#7d6c59; }
.about-heading { background:linear-gradient(110deg,#fbf6ed,#f2e5cf); color:var(--ink); }
.about-heading>div>p:not(.eyebrow) { color:#7d6c59; }
.button-white:hover,.category-card:hover { background:#fbf3e7; }
.category-custom,.solutions-section { background:#8e1720; }
.category-custom:hover { background:#72131a; }
.category-custom p,.category-custom .category-number,.category-custom .card-link { color:#f0d6b6; }
.text-link { border-bottom-color:#dfc6ac; }
.about-mark { color:#9c1c24; border-color:#bd986b; }
.company-contact { background:#faf7f2; border-top:1px solid var(--line); }
.company-contact h2 { font-size:1.85rem; color:#861d24; }
.company-contact-items { display:flex; flex-wrap:wrap; gap:24px 64px; margin-block:24px 28px; }
.company-contact-items>div { min-width:0; max-width:100%; }
.company-contact-items span { display:block; color:var(--muted); font-size:.8125rem; margin-bottom:8px; }
.company-contact-items a { color:#9a1b24; font-size:1.3rem; overflow-wrap:anywhere; }
.site-footer { background:#ece8e2; border-top:3px solid #a91621; color:#645b52; padding-top:32px; }
.footer-main { gap:45px; padding-bottom:25px; }
.footer-brand { font-family:"STSong","SimSun",serif; font-size:1.375rem; color:#9a1b24; font-weight:700; overflow-wrap:anywhere; }
.footer-caption,.footer-contact p,.footer-links a,.footer-contact a { color:#7d7165; }
.footer-main a.footer-phone { color:#9a1b24; font-size:1.55rem; }
.footer-bottom { border-color:#d7cfc4; color:#8c7d6d; }
.inquiry-float { background:#a51922; }
.product-image { background:#faf7f2; }
.category-tabs a[aria-current] { border-color:#b5121b; color:#b5121b; }
.product-card,.product-model { overflow-wrap:anywhere; }
@media(max-width:1060px) {
  .container { width:calc(100% - 48px); }
  .header-inner { gap:30px; grid-template-columns:minmax(0,1fr) 300px; }
  .brand strong { font-size:clamp(1.5rem,3.3vw,2rem); }
  .main-nav>a { font-size:.9375rem; }
  .portal-focus { grid-template-columns:minmax(0,1.35fr) minmax(290px,1fr); gap:18px; }
  .focus-visual { padding:28px 24px 20px; }
  .focus-visual h1 { font-size:2.15rem; }
  .portal-panel { padding-inline:20px; }
  .portal-categories { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:900px) {
  .header-inner { min-height:145px; }
  .nav-toggle-row { display:flex; align-items:center; justify-content:space-between; color:#ffefd0; font-size:.9375rem; padding-block:4px; }
  .menu-toggle { display:block; }
  .menu-toggle span { background:#ffefd0; }
  .main-nav { display:none; position:static; width:100%; padding:0 20px 16px; }
  .main-nav.is-open { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
  .main-nav>a,.main-nav>a:first-child { border:0; padding:13px; font-size:1rem; text-align:left; }
  .main-nav>a[aria-current]:after { bottom:5px; left:13px; width:28px; }
  .portal-columns { gap:18px; }
  .portal-service-grid { grid-template-columns:1fr; }
  .portal-service-grid>a { padding:12px 0; }
  .portal-service-grid p { margin-top:4px; }
  .portal-featured { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .container { width:calc(100% - 32px); }
  .header-inner { grid-template-columns:1fr; gap:18px; padding-block:22px; }
  .brand strong { font-size:clamp(1.25rem,7vw,2rem); }
  .header-tools { max-width:420px; width:100%; }
  .header-tools>p { display:none; }
  .header-search input { min-height:38px; }
  .main-nav { width:100%; padding-inline:16px; }
  .portal-home { padding-block:18px 25px; }
  .portal-focus,.portal-columns { grid-template-columns:1fr; gap:18px; margin-block:0 18px; }
  .focus-visual { padding:25px 22px 18px; }
  .focus-visual h1 { font-size:2rem; }
  .focus-description { font-size:.875rem; }
  .focus-kicker { font-size:.75rem; }
  .focus-actions { gap:16px; }
  .focus-topics { gap:8px 18px; }
  .portal-panel { padding:0 19px 20px; }
  .portal-heading { min-height:58px; }
  .portal-heading h2 { font-size:1.2rem; }
  .portal-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
  .awareness-banner { padding:22px; margin-bottom:18px; gap:20px; }
  .awareness-banner h2 { font-size:1.35rem; }
  .awareness-banner>a { margin-left:0; }
  .portal-products { margin-block:18px; }
  .portal-categories { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
  .portal-categories h3 { font-size:.875rem; }
  .portal-featured { gap:14px; }
  .portal-featured>a { padding:11px; }
  .section { padding-block:30px; }
  .page-heading { padding-block:30px; }
  .page-heading h1 { font-size:1.85rem; }
  .footer-main { gap:24px; }
  .footer-brand { font-size:1.25rem; }
}
