@font-face { font-family: "Winchi Condensed"; src: url("assets/fonts/barlow-condensed-700.woff2") format("woff2"); font-display: swap; font-weight: 700; }
@font-face { font-family: "Winchi Sans"; src: url("assets/fonts/ibm-plex-sans-400.woff2") format("woff2"); font-display: swap; font-weight: 400; }
@font-face { font-family: "Winchi Sans"; src: url("assets/fonts/ibm-plex-sans-600.woff2") format("woff2"); font-display: swap; font-weight: 600; }
@font-face { font-family: "Winchi Mono"; src: url("assets/fonts/ibm-plex-mono-500.woff2") format("woff2"); font-display: swap; font-weight: 500; }

:root { --steel-0:#07090b; --steel-1:#0e1216; --steel-2:#151b20; --steel-3:#212a31; --steel-line:rgba(204,218,225,.18); --signal:#df101a; --signal-hot:#ff3841; --frost:#e8eef1; --muted-steel:#91a0aa; --font-body:"Winchi Sans",Arial,sans-serif; --font-display:"Winchi Condensed",Impact,sans-serif; --font-data:"Winchi Mono",monospace; }
html { background:var(--steel-0); }
body { color:var(--frost); background:var(--steel-0); font-family:var(--font-body); }
body::before { content:""; position:fixed; inset:0; z-index:-2; background:linear-gradient(rgba(255,255,255,.017) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.013) 1px,transparent 1px),radial-gradient(circle at 90% -10%,rgba(96,118,132,.16),transparent 35%); background-size:34px 34px,34px 34px,auto; pointer-events:none; }
body::after { content:""; position:fixed; inset:0; z-index:-1; opacity:.24; pointer-events:none; background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px); mix-blend-mode:soft-light; }
.site-header { background:rgba(7,9,11,.82); border-bottom:1px solid var(--steel-line); backdrop-filter:blur(18px); }
.brand, .main-nav, .quote-button, .primary-button, .secondary-button, .eyebrow, .category-kicker, .panel-heading { font-family:var(--font-data); letter-spacing:.08em; }
.brand { color:#fff; }
.brand-logo { width:clamp(112px,11vw,156px); height:auto; padding:0; background:transparent; border-radius:0; }
.brand-mark { color:var(--signal-hot); background:transparent; box-shadow:none; text-shadow:0 0 18px rgba(223,16,26,.35); }
.quote-button, .primary-button { background:var(--signal); color:#fff; box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 12px 32px rgba(223,16,26,.18); }
.quote-button, .primary-button { border-radius:2px; text-transform:uppercase; }
.secondary-button { border-radius:2px; border-color:var(--steel-line); background:rgba(255,255,255,.035); color:var(--frost); }
.main-nav a { color:#aab6bd; font-size:12px; }
.main-nav a:hover, .footer-nav a:hover { color:var(--frost); }
.language-select { color:var(--frost); border-color:var(--steel-line); background:#11171c; }
.hero { min-height:920px; background:var(--steel-0); }
.hero-media img { filter:brightness(.66) saturate(.78) contrast(1.12); transform:scale(1.02); }
.hero-overlay { background:linear-gradient(90deg,rgba(5,7,9,.94) 0%,rgba(5,7,9,.79) 43%,rgba(5,7,9,.15) 73%,rgba(5,7,9,.44) 100%),linear-gradient(0deg,rgba(5,7,9,.9),transparent 55%); }
.hero-product { display:none; }
.hero-product img { mix-blend-mode:normal; height:calc(100% - 48px) !important; max-height:calc(100% - 48px) !important; }
.hero::after { content:"SYSTEM / FIELD READY"; position:absolute; z-index:4; right:clamp(18px,4vw,56px); top:132px; color:rgba(232,238,241,.58); font:11px var(--font-data); letter-spacing:.16em; writing-mode:vertical-rl; }
.hero-content { padding-top:214px; }
.hero-index, .eyebrow, .category-kicker { color:var(--signal-hot); font-family:var(--font-data); letter-spacing:.12em; }
.hero h1, .section-heading h2, .energy-panel h2, .brand-statement h2, .contact-band h2, .page-hero h1, .detail-info h1, .ai-lead-intro h1, .admin-heading h1 { font-family:var(--font-display); font-weight:700; letter-spacing:.025em; line-height:.86; }
.hero h1 { max-width:710px; color:#fff; font-family:"Arial Black","Winchi Sans",Arial,sans-serif; font-size:clamp(48px,5.7vw,78px); font-weight:900; line-height:.98; letter-spacing:0; }
.hero-copy, .section-heading p, .detail-info > p, .contact-band p { color:#b7c3ca; }
.hero-stats { background:rgba(10,14,17,.82); border-color:var(--steel-line); border-radius:0; backdrop-filter:blur(16px); }
.hero-stats strong { color:#fff; font-family:var(--font-display); letter-spacing:.05em; }
.hero-stats span { color:#94a4ae; font-family:var(--font-data); font-size:10px; }
.hero-measure { background:var(--signal); box-shadow:0 0 16px rgba(223,16,26,.55); }
.quick-nav { background:#0c1014; border-color:var(--steel-line); color:#82919a; font-family:var(--font-data); }
.quick-nav a { color:#bcc8ce; }
.quick-nav a:hover { color:var(--signal-hot); }
.section, .section-light, .section-dark, .catalogue-section { background:transparent; color:var(--frost); }
.section-light { background:linear-gradient(135deg,#0d1216,#111920); }
.section-dark { background:#080b0e; }
.section-heading { max-width:860px; }
.section-heading h2 { font-size:clamp(42px,6vw,80px); }
.section-heading p:not(.eyebrow) { color:#9eacb5; }
.category-grid, .product-listing-grid { gap:2px; }
.category-card, .product-card, .listing-card, .range-grid article, .capability-grid article { position:relative; isolation:isolate; overflow:hidden; border:1px solid var(--steel-line); border-radius:0; background:var(--steel-2); color:var(--frost); box-shadow:none; }
.industrial-product-card::before { content:""; position:absolute; inset:0; z-index:-2; background-image:linear-gradient(180deg,rgba(7,9,11,.02),rgba(7,9,11,.88) 84%),var(--scene); background-position:center; background-size:cover; filter:saturate(.72) contrast(1.12) brightness(.7); transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s ease; }
.industrial-product-card::after { content:"FIELD APPLICATION"; position:absolute; top:14px; right:14px; z-index:3; padding:5px 7px; color:#dce5e9; border:1px solid rgba(220,229,233,.28); background:rgba(7,9,11,.54); font:9px var(--font-data); letter-spacing:.1em; }
.industrial-product-card:hover::before { transform:scale(1.06); filter:saturate(1) contrast(1.06) brightness(.78); }
.industrial-product-card img { position:relative; z-index:1; height:300px; width:100%; object-fit:contain; padding:18px; background:rgba(244,247,249,.94) !important; mix-blend-mode:normal; filter:drop-shadow(0 24px 16px rgba(0,0,0,.42)); transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.industrial-product-card:hover img { transform:translateY(-8px) scale(1.045); }
.category-card .category-content, .listing-card .listing-content { position:relative; z-index:2; background:linear-gradient(0deg,rgba(7,9,11,.96),rgba(7,9,11,.08)); }
.category-card h3, .product-card h3, .listing-content h3 { font-family:var(--font-display); color:#fff; letter-spacing:.035em; }
.category-card p, .product-card p, .listing-content p { color:#aebbc3; }
.spec-grid-inline { border-top:1px solid var(--steel-line); }
.spec-grid-inline div { border-color:var(--steel-line); }
.spec-grid-inline dt { color:#fff; font-family:var(--font-data); }
.spec-grid-inline dd { color:#93a3ad; font-family:var(--font-data); }
.card-link { color:var(--signal-hot); font-family:var(--font-data); }
.page-hero { min-height:440px; background:#0d1419; }
.page-hero-overlay { background:linear-gradient(90deg,rgba(6,8,10,.92),rgba(6,8,10,.48)),url("assets/images/scenes/cordless-worksite.png") center/cover; }
.page-hero-content { animation:none; }
.page-hero-content h1 { color:#fff; }
.product-filter { background:#0a0e11; border-color:var(--steel-line); }
.product-filter button { color:#aab7bf; font-family:var(--font-data); }
.product-filter button.active, .product-filter button:hover { color:#fff; background:var(--signal); }
.detail-hero { background:linear-gradient(135deg,#0a0e11,#111a20); color:var(--frost); }
.detail-hero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.25; background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:56px 56px; }
.detail-image { border-radius:0; border-color:var(--steel-line); background:var(--scene, #111820) center/cover; box-shadow:none; }
.detail-image::after { content:"APPLICATION VIEW"; position:absolute; left:14px; top:14px; padding:5px 7px; color:#fff; border:1px solid rgba(255,255,255,.35); background:rgba(8,10,12,.6); font:9px var(--font-data); letter-spacing:.1em; }
.detail-image img { min-height:520px; padding:36px; background:rgba(244,247,249,.94); mix-blend-mode:normal; filter:drop-shadow(0 30px 22px rgba(0,0,0,.42)); }
.detail-info { padding:clamp(28px,4vw,52px); border:1px solid var(--steel-line); background:linear-gradient(145deg,#11181e,#0a0f13); color:var(--frost); }
.detail-info h1 { color:#fff; }
.detail-info > p { color:#aebbc3; }
.detail-keyfacts { border:1px solid var(--steel-line); border-radius:0; background:#0b1014; }
.detail-keyfacts div { border-color:var(--steel-line); }
.detail-keyfacts strong { color:#fff; font-family:var(--font-display); }
.detail-support, .detail-specs dl { background:#111920; border-color:var(--steel-line); border-radius:0; }
.detail-support span, .detail-specs dt { color:#91a0aa; }
.detail-specs dt, .detail-specs dd { border-color:var(--steel-line); background:transparent; color:#eef3f5; }
.detail-gallery, .detail-reviews, .related-section { background:#090d10; color:var(--frost); }
.contact-page { background:linear-gradient(130deg,#070a0d,#101820 55%,#0b0f13); color:var(--frost); }
.contact-page::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; background:url("assets/images/scenes/energy-night-shift.png") center/cover; mix-blend-mode:screen; }
.contact-inner { position:relative; }
.contact-card, .contact-form-card { border-radius:0; border-color:var(--steel-line); background:rgba(13,18,22,.86); box-shadow:none; }
.contact-card h2, .contact-card h3, .contact-form-card h2 { color:#fff; font-family:var(--font-display); letter-spacing:.04em; }
.contact-form-card input, .contact-form-card textarea, .contact-form-card select { background:#0a0e11; border-color:var(--steel-line); color:#eef3f5; border-radius:2px; }
.site-footer { background:#050709; color:#93a2ab; border-top:1px solid var(--steel-line); }
.site-footer a { color:#c5d0d5; }

/* AI/admin structural styles kept out of the restored public site CSS. */
.particle-canvas { position:absolute; inset:0; z-index:1; display:block; width:100%; height:100%; pointer-events:none; }
.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; }
.admin-shell { width:min(1320px,100%); margin:0 auto; }
.admin-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:28px; }
.admin-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.quote-workspace { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(420px,1.1fr); gap:18px; align-items:stretch; }
.quote-panel, .chat-panel, .lead-score-panel, .admin-table-panel, .admin-stat-grid article { background:var(--white); border:1px solid var(--line); border-radius:8px; box-shadow:0 18px 44px rgba(16,17,19,.1); }
.quote-panel, .chat-panel, .lead-score-panel, .admin-table-panel { padding:20px; }
.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.quote-product { display:grid; grid-template-columns:96px 1fr; gap:14px; align-items:center; }
.quote-product p { margin:0; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.quote-product h2 { margin:4px 0 0; font-size:24px; line-height:1.08; letter-spacing:0; }
.quote-metrics { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin:20px 0 0; }
.quote-metrics dt, .score-breakdown dt { font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.quote-metrics dd, .score-breakdown dd { margin:4px 0 0; font-weight:900; }
.chat-log { flex:1; overflow-y:auto; }
.chat-message { width:fit-content; }
.chat-message.user { margin-left:auto; }
.chat-input-row { display:grid; grid-template-columns:1fr auto; }
.lead-result { margin-top:14px; padding:14px; border-left:4px solid var(--signal); background:#10171c; border-radius:4px; color:#dce5e9; }
.lead-result strong, .lead-result span, .lead-result a { display:block; }
.lead-result span { color:#9aa9b2; margin-top:4px; }
.lead-result a { color:var(--signal-hot); font-weight:900; margin-top:8px; }
.score-breakdown { display:grid; gap:12px; margin:0; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.admin-stat-grid article { padding:18px; }
.admin-stat-grid span { display:block; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.admin-stat-grid strong { display:block; margin-top:8px; line-height:1; }
.new-lead-alert { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; padding:14px 18px; }
.new-lead-alert strong { text-transform:uppercase; letter-spacing:.05em; }
.new-lead-alert span { color:rgba(255,255,255,.86); }
.table-scroll { overflow-x:auto; }
.lead-table { width:100%; min-width:1180px; border-collapse:collapse; font-size:13px; }
.lead-table th, .lead-table td { padding:11px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.lead-table th { font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.quality-pill { display:inline-flex; padding:4px 8px; border-radius:999px; font-size:11px; font-weight:900; text-transform:uppercase; white-space:nowrap; }
.quality-pill.ready { color:#0f5132; background:#d1e7dd; }
.quality-pill.developing { color:#664d03; background:#fff3cd; }
.quality-pill.early { color:#38546b; background:#dceaf3; }
.admin-empty { margin:18px 0 0; color:#95a4ad; }
.danger-button { border-color:rgba(223,16,26,.35); color:var(--signal-hot); }

/* Full-screen AI quote workspace */
.ai-lead-page { min-height:calc(100vh - 70px); padding:70px 0 0; background:#080b0e; }
.ai-lead-page::before { content:""; position:absolute; inset:0; opacity:.12; background:url("assets/images/scenes/cordless-worksite.png") center/cover; filter:grayscale(1); pointer-events:none; }
.ai-lead-shell { position:relative; z-index:2; width:100%; max-width:none; min-height:calc(100vh - 70px); margin:0; }
.ai-lead-intro { display:none; }
.ai-chat-workbench { display:grid; grid-template-columns:252px minmax(0,1fr) 350px; min-height:calc(100vh - 70px); border-top:1px solid var(--steel-line); }
.ai-session-rail { padding:22px 16px; background:rgba(8,12,15,.94); border-right:1px solid var(--steel-line); }
.ai-session-rail .rail-title { color:#fff; font:14px var(--font-data); letter-spacing:.12em; }
.ai-session-rail .rail-status { margin:16px 0 28px; color:#8f9da6; font:11px/1.6 var(--font-data); }
.ai-session-rail .rail-status strong { color:var(--signal-hot); }
.ai-session-rail .rail-action { display:block; margin-bottom:8px; padding:11px 10px; color:#d8e1e5; border:1px solid var(--steel-line); background:rgba(255,255,255,.025); font:11px var(--font-data); letter-spacing:.05em; }
.ai-session-rail .rail-action.active { border-color:rgba(223,16,26,.72); background:rgba(223,16,26,.13); color:#fff; }
.quote-workspace { display:contents; }
.chat-panel { grid-column:2; min-height:calc(100vh - 70px); padding:0; display:flex; background:rgba(12,17,21,.72); border:0; border-radius:0; }
.chat-panel .panel-heading { position:absolute; top:0; left:252px; right:350px; z-index:3; display:flex; align-items:center; justify-content:space-between; height:64px; padding:0 30px; color:#dce5e9; border-bottom:1px solid var(--steel-line); background:rgba(10,14,17,.82); backdrop-filter:blur(16px); }
.chat-panel .panel-heading span, .chat-panel .panel-heading strong { max-width:48%; line-height:1.2; }
.chat-panel .panel-heading strong { text-align:right; }
.chat-log { width:min(840px,calc(100% - 48px)); min-height:0; max-height:none; margin:0 auto; padding:106px 0 132px; background:transparent; border-radius:0; }
.chat-message { max-width:min(720px,90%); margin:0 0 20px; padding:15px 17px; border-radius:4px; font-size:15px; line-height:1.65; }
.chat-message.bot { border:1px solid var(--steel-line); background:#151d23; color:#eaf0f2; }
.chat-message.user { background:#c9121c; color:#fff; }
.agent-consent-card { max-width:min(720px,90%); margin:0 0 20px; padding:18px; border:1px solid rgba(223,16,26,.65); border-left:4px solid var(--signal); border-radius:4px; background:#151d23; color:#eaf0f2; }
.agent-consent-card p { margin:8px 0 14px; color:#b8c4ca; line-height:1.55; }
.agent-consent-actions { display:flex; flex-wrap:wrap; gap:8px; }
.agent-consent-actions button { min-height:40px; padding:0 14px; border:1px solid var(--signal); border-radius:3px; background:var(--signal); color:#fff; font-weight:900; cursor:pointer; }
.agent-consent-actions button.secondary { border-color:var(--steel-line); background:#202a31; }
.agent-consent-actions button:disabled { cursor:wait; opacity:.6; }
.chat-input-row { position:fixed; z-index:5; bottom:22px; left:calc(252px + (100vw - 252px - 350px - min(840px,calc(100vw - 252px - 350px - 48px)))/2); width:min(840px,calc(100vw - 252px - 350px - 48px)); grid-template-columns:1fr auto; gap:8px; margin:0; padding:8px; border:1px solid var(--steel-line); background:rgba(18,24,29,.92); box-shadow:0 16px 50px rgba(0,0,0,.35); backdrop-filter:blur(16px); }
.chat-input-row input { min-height:48px; color:#edf3f5; border:0; background:transparent; }
.chat-input-row input:focus { outline:1px solid rgba(223,16,26,.7); }
.chat-input-row .primary-button { min-height:48px; }
.quote-panel { grid-column:3; grid-row:1; padding:22px; border:0; border-left:1px solid var(--steel-line); border-radius:0; background:rgba(9,13,16,.94); }
.quote-panel .panel-heading { color:#aebbc2; }
.quote-product { position:relative; display:block; min-height:300px; padding:18px; overflow:hidden; border:1px solid var(--steel-line); background:var(--scene, #111920) center/cover; }
.quote-product::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(5,7,9,.92)); }
.quote-product img { position:relative; z-index:1; width:100%; height:210px; object-fit:contain; background:rgba(244,247,249,.94); mix-blend-mode:normal; filter:drop-shadow(0 18px 14px rgba(0,0,0,.45)); }
.quote-product > div { position:absolute; z-index:2; left:16px; right:16px; bottom:16px; }
.quote-product p { color:#9facb4; font:10px var(--font-data); }
.quote-product h2 { color:#fff; font:29px/.9 var(--font-display); letter-spacing:.04em; }
.quote-metrics { gap:0; border:1px solid var(--steel-line); border-top:0; }
.quote-metrics div { padding:12px; border-right:1px solid var(--steel-line); border-bottom:1px solid var(--steel-line); background:#0e1418; }
.quote-metrics dt { color:#82919a; font:10px var(--font-data); }
.quote-metrics dd { color:#fff; font:16px var(--font-data); }
.quote-note { color:#8f9da5; font-size:12px; line-height:1.6; }
.ai-mobile-quote-toggle { display:none; }

/* Sales operations console */
.lead-admin-page { min-height:100vh; padding:116px clamp(18px,4vw,56px) 72px; background:radial-gradient(circle at 92% 4%,rgba(223,16,26,.12),transparent 26%),#070a0d; color:var(--frost); }
.lead-admin-page::before { content:"OPERATIONS / LIVE"; position:fixed; top:102px; right:4vw; color:rgba(221,232,237,.35); font:10px var(--font-data); letter-spacing:.16em; }
.admin-heading { padding:28px 0 24px; border-bottom:1px solid var(--steel-line); }
.admin-heading p:not(.eyebrow) { color:#9aa9b2; }
.admin-actions .secondary-button { color:#dfe8ec; border-color:var(--steel-line); background:#10171c; box-shadow:none; }
.admin-stat-grid { gap:2px; }
.admin-stat-grid article { border:1px solid var(--steel-line); border-radius:0; background:linear-gradient(135deg,#111920,#0c1115); }
.admin-stat-grid span { color:#94a4ad; font-family:var(--font-data); }
.admin-stat-grid strong { color:#fff; font-family:var(--font-display); font-size:48px; letter-spacing:.05em; }
.new-lead-alert { color:#fff; border:1px solid rgba(223,16,26,.65); border-radius:0; background:rgba(223,16,26,.16); font-family:var(--font-data); }
.admin-table-panel { border:1px solid var(--steel-line); border-radius:0; background:#0d1318; }
.lead-table th { color:#8f9ea7; background:#10171c; font-family:var(--font-data); }
.lead-table td { color:#dce5e9; border-color:rgba(204,218,225,.1); }
.lead-table tr:hover td { background:#151e24; }
.admin-empty { color:#95a4ad; }

@media (max-width: 900px) { .hero { min-height:820px; } .hero::after { display:none; } .hero h1 { font-size:clamp(44px,8vw,62px); } .ai-chat-workbench { grid-template-columns:1fr; } .ai-session-rail { display:none; } .chat-panel { grid-column:1; min-height:calc(100svh - 70px); } .chat-panel .panel-heading { left:0; right:0; padding-right:146px; } .quote-panel { display:none; } .quote-panel.quote-open { display:block; position:fixed; z-index:20; top:82px; right:12px; left:12px; max-height:calc(100svh - 100px); overflow:auto; border:1px solid var(--steel-line); box-shadow:0 24px 80px rgba(0,0,0,.65); } .ai-mobile-quote-toggle { display:block; position:fixed; z-index:21; top:80px; right:12px; padding:8px 10px; color:#fff; border:1px solid rgba(223,16,26,.72); background:#a70e16; font:10px var(--font-data); letter-spacing:.07em; } .chat-input-row { left:16px; width:calc(100vw - 32px); bottom:12px; } }
@media (max-width: 620px) { .hero { min-height:760px; } .hero-content { padding-top:150px; } .hero h1 { font-size:clamp(38px,11vw,58px); } .industrial-product-card img { height:260px; } .detail-image img { min-height:360px; } .chat-log { width:calc(100% - 28px); padding-top:92px; padding-bottom:116px; } .chat-message { max-width:94%; font-size:14px; } .lead-admin-page { padding-top:94px; } .admin-stat-grid strong { font-size:42px; } }
@media (prefers-reduced-motion: reduce) { .industrial-product-card::before, .industrial-product-card img { transition:none; } body::after { display:none; } }
