/* Shared September content update; existing hero and consultation styles remain intact. */
.unified-footer .footer-brand { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; }
.unified-footer .footer-luoge-logo { display:block; width:140px; height:auto; max-height:80px; object-fit:contain; margin-left:auto; }
.mobile-home-link { display:block; padding:18px 0; border-bottom:1px solid #e0e5eb; font-size:17px; font-weight:600; }
#site-header .nav-home > a { white-space:nowrap; }
#site-header .nav-home > a::after { content:none; }
#site-header .nav-group:has(a[href*="lab/cupl"]) > .dropdown:not(.mega-menu) { min-width:300px; }
.camp-title { max-width:1100px; margin:18px 0 20px; font-size:clamp(32px,4vw,60px); }
.pending-program { min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; color:var(--muted,#66707c); }
.solution-diagram { width:100%; max-width:1000px; margin:56px auto 72px; }
.overview-diagram { padding-top:0; padding-bottom:0; }
.diagram-zoom { display:block; box-sizing:border-box; position:relative; width:100%; padding:28px; border:1px solid #e2e7ec; background:white; border-radius:20px; overflow:hidden; cursor:zoom-in; }
.diagram-zoom > img { display:block; width:100%; height:auto; max-height:480px; object-fit:contain; }
.diagram-hint { position:absolute; right:14px; bottom:12px; padding:6px 12px; border-radius:20px; background:rgba(255,255,255,.94); color:#526171; font-size:12px; line-height:1.5; font-family:inherit; opacity:0; transition:opacity .2s; }
.diagram-zoom:hover .diagram-hint,.diagram-zoom:focus-visible .diagram-hint { opacity:1; }
.diagram-zoom:focus-visible { outline:2px solid #0071e3; outline-offset:4px; }
.diagram-dialog { position:fixed; inset:0; margin:auto; width:min(96vw,2000px); max-width:96vw; max-height:94dvh; padding:52px 16px 16px; border:0; border-radius:18px; background:#fff; box-shadow:0 24px 80px #0004; }
.diagram-dialog::backdrop { background:rgba(13,22,33,.76); }
.diagram-dialog img { display:block; max-width:100%; width:auto; max-height:calc(94dvh - 78px); height:auto; object-fit:contain; margin:auto; }
.diagram-dialog-close { position:absolute; right:14px; top:10px; width:34px; height:34px; border:0; border-radius:50%; background:#edf1f5; color:#34414d; cursor:pointer; font-size:24px; }
.diagram-dialog-title { position:absolute; left:20px; right:60px; top:17px; margin:0; font-size:14px; color:#526171; }
#page-solutions .v123-device-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:900px; margin-inline:auto; }
#page-solutions .v123-device-links:has(> a:only-child) { grid-template-columns:1fr; max-width:440px; }
#page-solutions .v123-device-links a { display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:20px; padding:24px; border-radius:16px; background:#f7f9fb; text-align:center; transition:border-color .2s,transform .2s; }
#page-solutions .v123-device-links a:hover { border-color:#0071e3; transform:translateY(-2px); }
.solution-device-image { display:block; width:100%; height:150px; object-fit:contain; }
.solution-device-name { font-size:15px; line-height:1.7; }
.solution-customers { margin:72px 0; }
.solution-customers > h2 { color:var(--ink,#101318); font-size:clamp(26px,3vw,38px); line-height:1.4; text-align:center; margin:0 0 32px; font-weight:650; }
.customer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.customer-card { border:1px solid #dfe5eb; border-radius:18px; overflow:hidden; background:#fff; }
.customer-card > img { display:block; width:100%; height:220px; object-fit:cover; }
.customer-copy { padding:24px; }
.customer-copy h3 { font-size:21px; line-height:1.5; margin:0 0 14px; color:#101318; }
.customer-copy p,.customer-copy li { color:#66707c; font-size:14px; line-height:1.9; margin:0; }
.customer-copy ul { padding:0 0 0 18px; margin:0; }
.customer-copy li + li { margin-top:12px; }
.customer-logo-wall { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; margin-top:32px; }
.customer-logo-wall > div { display:grid; place-items:center; padding:10px; min-height:78px; border:1px solid #e7ebef; border-radius:10px; background:#fff; }
.customer-logo-wall img { display:block; width:100%; height:62px; object-fit:contain; }
.customer-pending { padding:48px 24px; text-align:center; border:1px solid #e3e8ed; border-radius:18px; background:#f6f8fa; color:#75808c; font-size:16px; }
.tax-cloud .solution-customers { width:calc(100% - 64px); max-width:1160px; margin:72px auto; }
.inline-solution .solution-diagram { width:calc(100% - 64px); }
.workbook-agent-group-title { margin:36px 0 20px; color:#0071e3; font-size:16px; font-weight:600; }
.workbook-agents .workbook-agent-position { color:#3e5264; font-weight:500; }
#page-about .product-matrix-figure { width:min(100%,960px); }
.agent-catalog-tools { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; margin-bottom:28px; }
.agent-catalog-tools p { margin:0; color:#66707c; font-size:14px; }
.agent-search input { box-sizing:border-box; min-height:44px; width:280px; max-width:100%; padding:10px 16px; background:white; border:1px solid #d9dee5; border-radius:24px; color:#34414d; font-size:14px; font-family:inherit; }
.agent-search input:focus { outline:2px solid #0071e3; outline-offset:2px; }
#solGrid .agent-card { position:relative; display:flex; flex-direction:column; color:inherit; text-decoration:none; scroll-margin-top:150px; }
#solGrid .agent-card.hide { display:none; }
#solGrid .agent-card .top { gap:12px; align-items:flex-start; min-height:28px; }
#solGrid .agent-card .top .ind { white-space:nowrap; }
#solGrid .agent-card .pill { font-size:11px; letter-spacing:0; }
#solGrid .agent-card h4 { min-height:2.84em; }
#solGrid .agent-card .tl { margin-bottom:14px; }
#solGrid .agent-description { color:#66707c; font-size:14px; line-height:1.9; margin:0 0 24px; }
#solGrid .agent-card .foot { margin-top:auto; gap:12px; }
#solGrid .agent-card .hw { color:#66707c; font-size:12px; line-height:1.7; }
.agent-go { color:#0071e3; font-size:20px; flex:none; }
.agent-alias { position:absolute; top:0; scroll-margin-top:150px; }
.agent-card:focus-visible { outline:2px solid #0071e3; outline-offset:4px; }
.agent-card.is-anchor-target { border-color:#0071e3!important; box-shadow:0 0 0 3px #0071e316; }
.agent-empty { color:#66707c; padding:48px 0; text-align:center; }
.agent-empty[hidden] { display:none; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.story-card.is-active .story-memory-copy { overflow:visible; -webkit-line-clamp:unset; }
#enterprise-opc .solution-customers { width:calc(100% - 64px); max-width:1160px; margin:88px auto; scroll-margin-top:104px; }
#enterprise-opc .customer-card { min-width:0; border-radius:20px; }
#enterprise-opc .customer-card > img { width:calc(100% - 32px); height:180px; margin:16px 16px 0; border-radius:12px; }
#enterprise-opc .customer-copy { padding:24px 26px 30px; }
@media(max-width:1080px) {
 .customer-grid { grid-template-columns:1fr; }
 .customer-card { display:grid; grid-template-columns:minmax(200px,.65fr) minmax(0,1fr); }
 .customer-card > img { height:100%; min-height:240px; }
 #enterprise-opc .customer-card { align-items:start; }
 #enterprise-opc .customer-card > img { height:220px; min-height:0; margin-bottom:16px; }
 .customer-logo-wall { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .unified-footer .footer-brand { gap:24px; }
}
@media(max-width:700px) {
 .unified-footer .footer-brand { grid-template-columns:minmax(0,1fr) 96px; gap:18px 12px; }
 .unified-footer .footer-brand-wordmark-v51 { grid-column:1/-1; }
 .unified-footer .footer-brand p { font-size:12px; }
 .unified-footer .footer-luoge-logo { width:96px; }
 .solution-diagram,.tax-cloud .solution-diagram { margin:32px auto 44px; }
 .diagram-zoom { padding:12px; border-radius:14px; }
 .diagram-zoom > img { max-height:none; }
 .diagram-hint { opacity:1; font-size:10px; padding:3px 7px; bottom:5px; right:5px; }
 #page-solutions .v123-device-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 #page-solutions .v123-device-links a { padding:18px 12px; gap:12px; }
 .solution-device-image { height:100px; }
 .solution-device-name { font-size:13px; }
 .solution-customers { margin:48px 0; }
 .customer-card { display:block; }
 .customer-card > img { height:220px; min-height:0; }
 .customer-copy { padding:22px; }
 .customer-logo-wall { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .customer-logo-wall > div { padding:6px; min-height:62px; }
 .customer-logo-wall img { height:50px; }
 .tax-cloud .solution-customers { width:calc(100% - 36px); }
 #enterprise-opc .solution-customers { width:calc(100% - 32px); margin:56px auto; }
 #enterprise-opc .customer-grid { gap:20px; }
 #enterprise-opc .customer-card { border-radius:16px; }
 #enterprise-opc .customer-card > img { height:180px; margin-bottom:0; }
 #enterprise-opc .customer-copy { padding:22px 24px 26px; }
 .inline-solution .solution-diagram { width:calc(100% - 32px); }
 .agent-catalog-tools { gap:12px; }
 .agent-search,.agent-search input { width:100%; }
 #solGrid .agent-card h4 { min-height:0; }
 .story-card.is-active .story-memory-copy { font-size:13px; line-height:1.75; }
}
