.hidden { display: none !important; }
.brand-logo { width: 34px; height: 34px; object-fit: contain; border-radius: 5px; }
.rich-content { color: var(--ink); line-height: 1.9; overflow-wrap: anywhere; }
.rich-content p { margin: 0 0 14px; }
.rich-content p:last-child { margin-bottom: 0; }
.rich-content h2, .rich-content h3, .rich-content h4 { margin: 22px 0 10px; line-height: 1.35; }
.rich-content ul, .rich-content ol { margin: 12px 0; padding-left: 24px; }
.rich-content a { color: var(--brand-dark); text-decoration: underline; }
.rich-content img, .rich-content video { display: block; max-width: 100%; height: auto; margin: 18px 0; border-radius: 5px; background: #e9eff0; }
.rich-content video { width: min(100%, 720px); }
.rich-content img.editor-image { width: 280px; max-width: 100%; height: auto; object-fit: contain; }
.rich-content video.editor-video { width: 560px; max-width: 100%; height: auto; object-fit: contain; }
.intro-section { padding: 58px 0; background: #fff; border-bottom: 1px solid var(--line); }
.intro-layout { display: grid; grid-template-columns: minmax(0, 1fr) 220px; align-items: center; gap: 54px; }
.intro-layout h2 { margin: 0 0 16px; font-size: 30px; }
.intro-layout .eyebrow { color: var(--brand); }
.qr-panel { display: grid; justify-items: center; gap: 10px; min-height: 170px; padding: 18px; border-left: 1px solid var(--line); }
.qr-panel p { margin: 0; color: var(--muted); font-size: 13px; }
.company-qr { width: 148px; height: 148px; object-fit: contain; }
.detail-layout { display: block; }
.detail-main { max-width: 980px; margin: auto; }
.detail-files { margin-top: 38px; padding-top: 28px; border-top: 1px solid var(--line); }
.detail-files h2 { margin: 0 0 16px; font-size: 23px; }
.custom-page-section { padding-top: 54px; padding-bottom: 72px; }
.custom-page-content { max-width: 980px; margin: 0 auto; min-height: 240px; padding: 30px 34px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.custom-page-content .empty { color: var(--muted); text-align: center; }
.site-nav a { padding: 11px 15px; font-size: 16px; font-weight: 700; }
.home-hero .hero-image { opacity: .78; }
.home-hero .hero-shade { background: linear-gradient(90deg, rgba(16,35,43,.52), rgba(16,35,43,.08)); }
.inner-page-head { padding: 46px 0 40px; border-bottom: 1px solid var(--line); background: #fff; }
.inner-page-head .eyebrow { margin-bottom: 10px; color: var(--brand); }
.inner-page-head h1 { margin: 0; font-size: clamp(30px,4vw,46px); line-height: 1.2; }
.inner-page-head h1 + p { max-width: 760px; margin: 13px 0 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
.intro-layout { grid-template-columns: minmax(0, 1fr) auto; gap: 46px; }
.qr-list { display: flex; align-items: flex-start; gap: 18px; }
.qr-panel { min-width: 170px; }
.about-contact-section { padding: 38px 0; background: #fff; border-bottom: 1px solid var(--line); }
.about-contact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.about-contact-card { min-width: 0; padding: 26px; text-align: center; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.about-contact-icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 15px; color: #fff; border-radius: 50%; background: var(--brand); font-size: 21px; }
.about-contact-card h2 { margin: 0 0 10px; font-size: 18px; }
.about-contact-card p { margin: 0; color: var(--muted); line-height: 1.7; overflow-wrap: anywhere; }
.about-intro-section { background: #fff; }
.about-intro-layout { display: block; }
.about-intro-layout h2 { margin: 0 0 20px; font-size: 32px; }
.about-intro-image { width: 100%; max-height: 430px; object-fit: cover; border-radius: 8px; }
.about-qualification-section { border-top: 1px solid var(--line); }
.qualification-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.qualification-grid > .empty { grid-column: 1 / -1; }
.qualification-card { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.qualification-card img,.qualification-placeholder { display: grid; place-items: center; width: 100%; height: 310px; object-fit: contain; color: var(--muted); background: #eef3f4; }
.qualification-card>div:last-child { padding: 18px; }
.qualification-card h3 { margin: 0 0 8px; font-size: 17px; }
.qualification-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.site-footer-main { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
.site-icp { color: #cad8da; }
.site-icp:hover { color: #fff; text-decoration: underline; }
@media(max-width:800px){.site-nav a{font-size:15px}.intro-layout{grid-template-columns:1fr;gap:24px}.qr-list{flex-wrap:wrap}.qr-panel{justify-items:start;min-width:140px;padding:0;border-left:0}.company-qr{width:132px;height:132px}.about-contact-grid{grid-template-columns:1fr}.about-intro-layout{grid-template-columns:1fr}.qualification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.qr-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.qualification-grid{grid-template-columns:1fr}.qualification-card img,.qualification-placeholder{height:270px}.inner-page-head{padding:34px 0 30px}}
