@import url("./brand-tokens.css?v=cewi-20260816");

:root {
    --ink: var(--brand-ink);
    --muted: var(--brand-muted);
    --line: var(--brand-line);
    --soft: var(--brand-surface);
    --blue: var(--brand-primary);
    --blue-dark: var(--brand-primary-dark);
    --cyan: var(--brand-accent);
    --night: var(--brand-night);
    --white: var(--brand-white);
    font-family: var(--brand-font);
    color: var(--ink);
    background: var(--white);
    scroll-behavior: smooth;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; }
a { color: inherit; text-decoration: none; }
.site-header { height: 92px; max-width: 1240px; margin: auto; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:20px; font-weight:800; letter-spacing:-.04em; }
.brand-mark { width:32px; height:32px; display:grid; place-items:center; color:white; border-radius:9px; background:linear-gradient(135deg,var(--brand-accent),var(--blue)); font-size:16px; }
.brand-logo-link { position: relative; width: 310px; height: 56px; overflow: hidden; flex: 0 0 auto; }
.brand-logo { position: absolute; top: -35px; left: 0; display: block; width: 310px; height: auto; }
.cewi-logo { display:inline-flex; align-items:center; gap:13px; color:var(--brand-ink); }
.cewi-logo img { width:58px; height:58px; flex:0 0 auto; display:block; object-fit:contain; }
.cewi-platform-name { font-size:15px; font-weight:800; letter-spacing:-.025em; }
.cewi-logo.on-dark .cewi-platform-name { color:var(--brand-white); }
.cewi-web-logo { width:238px; height:74px; overflow:hidden; }
.cewi-web-logo img { width:220px; height:74px; max-width:100%; object-fit:contain; object-position:left center; }
footer .cewi-logo img { width:66px; height:66px; }
.site-nav { display: flex; align-items: center; gap: 30px; color: #43515e; font-size: 14px; font-weight: 600; }
.site-nav > a:hover { color: var(--blue); }
.site-nav .is-current { color: var(--blue); }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 12px; border-radius: 10px; padding: 14px 20px; font-size: 14px; font-weight: 700; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: linear-gradient(135deg,var(--brand-accent),var(--blue)); box-shadow: var(--brand-shadow-primary); }
.button-primary:hover { background: var(--blue-dark); }
.button-small { padding: 9px 15px; }
.button-ghost { border: 1px solid var(--line); color: var(--ink); }
.hero-carousel { position:relative; overflow:hidden; border-top:1px solid #f1f2f4; border-bottom:1px solid var(--line); background:#fff; }
.hero-slides { min-height:690px; }
.hero { min-height:690px; position:relative; overflow:hidden; display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; width:100%; margin:0; padding:72px max(28px,calc((100% - 1184px)/2)); background:linear-gradient(115deg,#fff 0%,#fff 52%,#edf3f7 52%,#f8fafb 100%); }
.hero-slide.is-active { animation:heroReveal .55s ease both; }
.hero-slide[hidden] { display:none; }
@keyframes heroReveal { from{opacity:0;transform:translateX(18px)} to{opacity:1;transform:none} }
.carousel-controls { position:absolute; z-index:8; left:50%; bottom:23px; transform:translateX(-50%); display:flex; align-items:center; gap:13px; padding:6px 9px; border:1px solid rgba(228,231,236,.9); border-radius:99px; background:rgba(255,255,255,.88); box-shadow:0 8px 25px rgba(16,24,40,.08); backdrop-filter:blur(12px); }
.carousel-arrow { width:28px; height:28px; border:0; border-radius:50%; color:#475467; background:transparent; cursor:pointer; font-size:15px; }
.carousel-arrow:hover { color:var(--blue); background:#eaf3f9; }
.carousel-dots { display:flex; align-items:center; gap:7px; }
.carousel-dots button { width:7px; height:7px; padding:0; border:0; border-radius:99px; background:#cdd3df; cursor:pointer; transition:width .25s,background .25s; }
.carousel-dots button.is-active { width:25px; background:var(--blue); }
.hero-copy { position: relative; z-index: 2; max-width: 570px; }
.eyebrow { margin: 0 0 20px; display: flex; align-items: center; gap: 10px; color: var(--blue); text-transform: uppercase; letter-spacing: .13em; font-size: 11px; font-weight: 800; }
.eyebrow span { width: 24px; height: 2px; background: currentColor; }
h1, h2, h3, p { margin-top: 0; }
h1, .hero-slide-title { margin-bottom: 25px; font-size: clamp(48px,5vw,72px); line-height: 1.03; letter-spacing: -.055em; font-weight: 750; }
h1 em, .hero-slide-title em { display: block; color: var(--blue); font-style: normal; }
.hero-intro { max-width: 540px; margin-bottom: 31px; color: var(--muted); line-height: 1.75; font-size: 17px; }
.hero-actions { display: flex; align-items: center; gap: 28px; }
.text-link { color: #344054; font-size: 14px; font-weight: 700; }
.trust-list { margin: 36px 0 0; padding: 0; display: flex; gap: 22px; list-style: none; color: #667085; font-size: 12px; font-weight: 600; }
.trust-list li::before { content: "✓"; margin-right: 7px; color: var(--blue); font-weight: 900; }
.hero-visual { min-height: 500px; position: relative; display: grid; place-items: center; }
.glow { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .75; }
.glow-one { width: 390px; height: 390px; background: #c9ddeb; top: 20px; right: -70px; }
.glow-two { width: 250px; height: 250px; background: #d6e9f2; bottom: -20px; left: 70px; }
.control-card { width: min(610px,94%); position: relative; z-index: 2; padding: 23px; border: 1px solid rgba(255,255,255,.9); border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 35px 80px rgba(20,48,70,.2); transform: perspective(1200px) rotateY(-4deg) rotateX(2deg); }
.card-topbar, .list-heading, .installation-list > div { display: flex; align-items: center; justify-content: space-between; }
.card-topbar { padding-bottom: 19px; border-bottom: 1px solid var(--line); font-size: 12px; }
.mini-brand { display: flex; align-items: center; gap: 8px; font-weight: 750; }
.mini-brand b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: var(--blue); color: white; }
.status-dot { color: #027a48; background: #ecfdf3; padding: 5px 9px; border-radius: 99px; font-weight: 700; }
.status-dot::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: #12b76a; }
.metric-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 20px 0; }
.metric-grid article { min-height: 110px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.metric-grid span, .metric-grid small { display: block; color: var(--muted); font-size: 10px; }
.metric-grid strong { display: block; margin: 8px 0 3px; font-size: 27px; }
.installation-list { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }
.installation-list > div { padding: 12px 15px; border-bottom: 1px solid #eef0f3; font-size: 11px; }
.installation-list > div:last-child { border: 0; }
.installation-list b { font-size: 10px; color: #475467; }
.list-heading { background: var(--soft); color: var(--muted); }
.online, .warning { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #12b76a; }
.warning { background: #f79009; }
.stream-console-card { padding-bottom: 18px; }
.live-status { color: #b42318; background: #fef3f2; }
.live-status::before { background: #f04438; box-shadow: 0 0 0 4px rgba(240,68,56,.1); }
.stream-statuses { display: flex; align-items: center; gap: 16px; padding: 13px 3px; color: #475467; font-size: 9px; }
.stream-statuses .online { width: 6px; height: 6px; margin-right: 5px; }
.stream-statuses small { margin-left: auto; color: #98a2b3; font-size: 8px; }
.current-order { display: grid; grid-template-columns: 1fr 1.25fr auto; gap: 14px; align-items: center; padding: 16px; border-radius: 12px 12px 0 0; background: var(--night); color: white; }
.current-order span,.current-order small { display: block; color: #98a2b3; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.current-order strong { display: block; margin-top: 3px; font-size: 22px; }
.current-order .customer b { display: block; margin-top: 5px; font-size: 11px; }
.current-order .order-state { padding: 6px 8px; border-radius: 99px; color: #9ff0e9; background: rgba(99,191,178,.12); font-size: 7px; font-weight: 800; white-space: nowrap; }
.order-lines { border: 1px solid var(--line); border-top: 0; border-radius: 0 0 12px 12px; }
.order-lines>div { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; padding: 11px 14px; border-bottom: 1px solid #eef0f3; font-size: 9px; }
.order-lines>div:last-child { border: 0; }
.order-lines>div>span { color: var(--blue); font-weight: 800; }
.order-lines>div>small { color: #98a2b3; font-size: 7px; }
.console-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 15px; }
.console-footer small,.console-footer strong { display: block; }
.console-footer small { color: #98a2b3; font-size: 8px; }
.console-footer strong { margin-top: 3px; font-size: 11px; }
.console-actions { display: flex; gap: 7px; }
.console-actions button { border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; color: #475467; background: white; font: inherit; font-size: 8px; font-weight: 800; }
.console-actions .complete { border-color: var(--blue); color: white; background: var(--blue); }
.floating-card { position: absolute; z-index: 3; right: -5px; bottom: 45px; display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 12px; background: var(--night); color: white; box-shadow: 0 18px 45px rgba(11,18,32,.3); }
.floating-card small, .floating-card strong { display: block; }
.floating-card small { color: #98a2b3; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.floating-card strong { margin-top: 3px; font-size: 12px; }
.pulse { width: 10px; height: 10px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 5px rgba(99,191,178,.13); }
.hero-overlay-slide { background:linear-gradient(115deg,#fff 0%,#fff 48%,#111820 48%,#06070b 100%); }
.overlay-stage { min-height:520px; }
.broadcast-frame { width:min(650px,96%); aspect-ratio:16/9; position:relative; z-index:2; overflow:hidden; border:1px solid #29364a; border-radius:17px; background:radial-gradient(circle at 70% 32%,#263c5e,#101827 47%,#080d16); box-shadow:0 35px 85px rgba(2,6,15,.38); }
.broadcast-top { position:absolute; z-index:2; top:18px; left:20px; right:20px; display:flex; align-items:center; justify-content:space-between; color:#cbd5e1; }
.broadcast-top span { padding:5px 9px; border-radius:6px; background:#e03131; font-size:8px; font-weight:900; letter-spacing:.12em; }
.broadcast-top small { font-size:8px; letter-spacing:.12em; }
.broadcast-placeholder { position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.08); font-size:50px; font-weight:900; line-height:.85; letter-spacing:-.07em; text-align:center; transform:rotate(-8deg); }
.broadcast-overlay { position:absolute; left:20px; bottom:20px; min-width:245px; padding:14px 17px; border-left:3px solid var(--cyan); border-radius:3px 10px 10px 3px; color:white; background:rgba(8,15,27,.88); backdrop-filter:blur(10px); }
.broadcast-overlay small,.broadcast-overlay strong,.broadcast-overlay span { display:block; }
.broadcast-overlay small { color:var(--cyan); font-size:7px; font-weight:800; letter-spacing:.14em; }
.broadcast-overlay strong { margin:4px 0 2px; font-size:18px; }
.broadcast-overlay span { color:#abb7c8; font-size:9px; }
.queue-overlay { position:absolute; right:20px; bottom:20px; width:76px; padding:11px; border-radius:10px; color:white; background:rgba(8,15,27,.88); text-align:center; }
.queue-overlay small,.queue-overlay strong { display:block; }
.queue-overlay small { color:#96a4b7; font-size:6px; letter-spacing:.12em; }
.queue-overlay strong { margin-top:3px; color:var(--cyan); font-size:23px; }
.overlay-connected { right:10px; bottom:45px; }
.hero-orders-slide { background:linear-gradient(115deg,#fff 0%,#fff 52%,#f1f5f7 52%,#e8f1f6 100%); }
.sync-badge { padding:5px 9px; border-radius:99px; color:#027a48; background:#ecfdf3; font-size:9px; font-weight:800; }
.inventory-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0; }
.inventory-summary article { padding:14px; border:1px solid var(--line); border-radius:11px; }
.inventory-summary small,.inventory-summary strong,.inventory-summary span { display:block; }
.inventory-summary small { color:#667085; font-size:8px; }
.inventory-summary strong { margin:6px 0 2px; font-size:22px; }
.inventory-summary span { color:#12b76a; font-size:7px; font-weight:800; }
.inventory-summary article:nth-child(2) span { color:#f79009; }
.inventory-table { overflow:hidden; border:1px solid var(--line); border-radius:11px; }
.inventory-table>div { display:grid; grid-template-columns:1fr 65px 85px; align-items:center; padding:10px 13px; border-bottom:1px solid #eef0f3; font-size:9px; }
.inventory-table>div:last-child { border:0; }
.inventory-table .inventory-head { color:#98a2b3; background:#f8faf9; font-size:7px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.inventory-table b,.inventory-table small { display:block; }
.inventory-table small { margin-top:2px; color:#98a2b3; font-size:7px; }
.inventory-table em { width:max-content; padding:4px 7px; border-radius:99px; color:#027a48; background:#ecfdf3; font-size:7px; font-style:normal; font-weight:800; }
.inventory-table em.low { color:#b54708; background:#fffaeb; }
.platform-section { max-width: 1184px; margin: auto; padding: 112px 28px 125px; }
.section-heading { display: grid; grid-template-columns: 1.2fr .8fr; column-gap: 80px; margin-bottom: 50px; }
.section-heading .eyebrow { grid-column: 1/-1; }
.section-heading h2, .local-copy h2, .closing-cta h2 { margin-bottom: 0; font-size: clamp(34px,4vw,51px); line-height: 1.12; letter-spacing: -.045em; }
.section-heading > p:last-child { align-self: end; color: var(--muted); line-height: 1.7; }
.module-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.module-card { min-height: 330px; position: relative; padding: 29px 25px; border-right: 1px solid var(--line); background: white; }
.module-card:last-child { border: 0; }
.module-card.featured { background: var(--blue); color: white; }
.module-number { position: absolute; top: 24px; right: 23px; color: #98a2b3; font-size: 10px; }
.featured .module-number, .featured p { color: #c4d9e7; }
.module-icon { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 67px; border-radius: 11px; background: #eaf3f8; color: var(--blue); font-size: 21px; }
.featured .module-icon { background: rgba(255,255,255,.15); color: white; }
.module-card h3 { margin-bottom: 13px; font-size: 18px; letter-spacing: -.02em; }
.module-card p { min-height: 82px; color: var(--muted); line-height: 1.55; font-size: 13px; }
.module-tag { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.local-section { background: var(--night); color: white; }
.local-copy { max-width: 1184px; margin: auto; padding: 104px 28px; text-align: center; }
.eyebrow.light { justify-content: center; color: var(--cyan); }
.local-copy h2 { max-width: 770px; margin: 0 auto 25px; }
.local-copy > p:not(.eyebrow) { max-width: 700px; margin: 0 auto; color: #98a2b3; line-height: 1.75; }
.architecture-row { max-width: 870px; margin: 55px auto 0; display: flex; align-items: center; justify-content: center; gap: 25px; }
.architecture-row div { flex: 1; padding: 22px; border: 1px solid #263347; border-radius: 12px; background: #111c2e; text-align: left; }
.architecture-row span, .architecture-row strong, .architecture-row small { display: block; }
.architecture-row span { color: var(--cyan); font-size: 10px; }
.architecture-row strong { margin: 13px 0 5px; font-size: 14px; }
.architecture-row small { color: #98a2b3; }
.architecture-row i { color: var(--cyan); font-style: normal; }
.closing-cta { padding: 105px 28px; text-align: center; background: linear-gradient(180deg,#f7f9fa,#eef3f6); }
.closing-cta .eyebrow { justify-content: center; }
.closing-cta h2 { margin-bottom: 18px; }
.closing-cta > p:not(.eyebrow) { margin-bottom: 30px; color: var(--muted); }
footer { max-width: 1184px; margin: auto; padding: 30px 28px; display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 12px; }
footer .brand { color:var(--ink); font-size:16px; }
footer .brand-mark { width:27px; height:27px; font-size:13px; }
footer p { margin: 0; }
.pricing-hero { padding: 92px 28px 66px; text-align:center; background:linear-gradient(180deg,#f7fafc,#fff); border-top:1px solid var(--line); }
.pricing-hero .eyebrow { justify-content:center; }
.pricing-hero h1 { max-width:850px; margin:0 auto 24px; }
.pricing-hero>p:not(.eyebrow) { max-width:650px; margin:0 auto; color:var(--muted); font-size:17px; line-height:1.7; }
.pricing-hero .pricing-hero-cta { margin-top:28px; }
.pricing-section { max-width:1184px; margin:auto; padding:30px 28px 95px; }
.pricing-heading { margin:0 auto 48px; text-align:center; }
.pricing-heading h2 { margin:12px 0 10px; font-size:clamp(32px,4vw,46px); letter-spacing:-.04em; }
.pricing-heading>p { margin:0; color:var(--muted); }
.step-badge { display:inline-block; padding:6px 10px; border-radius:99px; color:var(--blue); background:#eaf3f8; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
.product-pricing-grid { grid-template-columns:repeat(2,1fr); }
.price-card { position:relative; padding:34px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 16px 45px rgba(16,24,40,.06); }
.price-card.featured-price { border:2px solid var(--blue); transform:translateY(-10px); box-shadow:0 24px 60px rgba(35,111,161,.15); }
.popular-badge { position:absolute; top:-14px; right:24px; padding:7px 12px; border-radius:99px; color:#fff; background:var(--blue); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.plan-label { margin-bottom:10px; color:var(--blue); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.price-card h2 { margin:0 0 18px; font-size:30px; letter-spacing:-.04em; }
.price { min-height:45px; margin-bottom:18px; display:flex; align-items:baseline; gap:5px; font-weight:800; }
.price small { color:var(--muted); font-size:11px; text-transform:uppercase; }
.price strong { font-size:32px; letter-spacing:-.04em; }
.price span { color:var(--muted); font-size:13px; }
.plan-intro { min-height:76px; color:var(--muted); line-height:1.6; font-size:14px; }
.price-card ul { min-height:170px; margin:25px 0; padding:22px 0 0; border-top:1px solid var(--line); list-style:none; }
.price-card li { margin:0 0 14px; color:#475467; font-size:14px; }
.price-card li::before { content:'✓'; margin-right:10px; color:var(--blue); font-weight:900; }
.price-card .button { width:100%; }
.dual-price { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:18px; }
.dual-price>span { padding:11px 13px; border-radius:10px; background:#f5f8fa; }
.dual-price small,.dual-price strong { display:block; }
.dual-price small { margin-bottom:4px; color:var(--muted); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.dual-price strong { font-size:24px; }
.replacement-note { min-height:0!important; margin:18px 0 0; padding:11px 13px; border-radius:9px; color:#475467!important; background:#f2f5f7; font-size:11px!important; font-weight:700; }
.pricing-note { max-width:750px; margin:35px auto 0; color:var(--muted); font-size:12px; line-height:1.6; text-align:center; }
.simple-deployment-grid { max-width:880px; margin:auto; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; }
.simple-deployment-grid article { padding:34px; }
.simple-deployment-grid article+article { border-left:1px solid var(--line); }
.simple-deployment-grid h3 { margin:0 0 12px; font-size:29px; }
.simple-deployment-grid article>p:not(.plan-label) { color:var(--muted); line-height:1.6; }
.simple-deployment-grid ul { margin:22px 0 0; padding:20px 0 0; border-top:1px solid var(--line); list-style:none; }
.simple-deployment-grid li { margin-top:10px; color:#475467; font-size:13px; }
.simple-deployment-grid li::before { content:'✓'; margin-right:9px; color:var(--blue); font-weight:900; }
.deployment-link { display:block; margin-top:25px; color:var(--blue); text-align:center; }
.deployment-section { padding:95px max(28px,calc((100% - 1184px)/2)); background:#f4f7f9; border-top:1px solid var(--line); }
.deployment-grid { max-width:820px; margin:auto; display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.deployment-card { position:relative; padding:32px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.deployment-card.recommended-deployment { border:2px solid var(--blue); box-shadow:0 20px 55px rgba(35,111,161,.12); }
.deployment-icon { width:48px; height:48px; margin-bottom:24px; display:grid; place-items:center; border-radius:13px; color:var(--blue); background:#eaf3f8; font-size:22px; font-weight:800; }
.deployment-card h3 { margin:0 0 10px; font-size:28px; letter-spacing:-.04em; }
.deployment-card>p:not(.plan-label):not(.deployment-price):not(.setup-price) { min-height:70px; color:var(--muted); line-height:1.6; font-size:14px; }
.deployment-price { margin:0 0 16px; color:var(--muted); font-size:13px; }
.deployment-price strong { color:var(--ink); font-size:30px; }
.deployment-card ul { min-height:155px; margin:22px 0; padding:20px 0 0; border-top:1px solid var(--line); list-style:none; }
.deployment-card li { margin-bottom:12px; color:#475467; font-size:13px; }
.deployment-card li::before { content:'✓'; margin-right:9px; color:var(--blue); font-weight:900; }
.setup-price { margin:0!important; min-height:0!important; color:var(--ink)!important; font-size:12px!important; font-weight:800; }
.price-matrix { margin-top:42px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; }
.price-matrix>div { display:grid; grid-template-columns:1.4fr repeat(2,1fr); padding:16px 22px; border-bottom:1px solid var(--line); }
.price-matrix>div:last-child { border-bottom:0; }
.price-matrix .matrix-head { color:#667085; background:#edf2f5; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.price-matrix span { text-align:center; }
.bundle-section { padding:95px max(28px,calc((100% - 1184px)/2)); }
.discount-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.discount-steps article { padding:25px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.discount-steps span,.discount-steps strong,.discount-steps small { display:block; }
.discount-steps span { color:var(--blue); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.discount-steps strong { margin:12px 0 7px; font-size:22px; }
.discount-steps small { color:var(--muted); }
.discount-steps .best-discount { border-color:var(--blue); background:#f1f8fc; }
.bundle-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:28px; }
.bundle-grid.single-bundle { max-width:590px; margin-right:auto; margin-left:auto; grid-template-columns:1fr; }
.bundle-grid article { padding:32px; border-radius:17px; color:#fff; background:var(--night); }
.bundle-grid h3 { margin:0 0 10px; font-size:27px; }
.bundle-grid article>p:not(.plan-label) { min-height:48px; color:#aab4c3; line-height:1.6; }
.bundle-grid article>div { display:flex; gap:12px; }
.bundle-grid article>div span { flex:1; padding:12px; border:1px solid #263347; border-radius:10px; color:#aab4c3; font-size:11px; }
.bundle-grid article>div strong { display:block; margin-top:3px; color:#fff; font-size:23px; }
.bundle-grid .button { width:100%; margin-top:22px; }
.configurator-page { border-top:1px solid var(--line); background:#f6f8fa; }
.configurator-intro { max-width:1184px; margin:auto; padding:72px 28px 45px; }
.configurator-intro h1 { max-width:760px; margin-bottom:18px; font-size:clamp(43px,5vw,66px); }
.configurator-intro>p:last-child { max-width:700px; color:var(--muted); font-size:16px; line-height:1.7; }
.configurator-layout { max-width:1184px; margin:auto; padding:0 28px 100px; display:grid; grid-template-columns:minmax(0,1fr) 365px; gap:30px; align-items:start; }
.configurator-steps { display:grid; gap:20px; }
.config-step { padding:30px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.config-step-heading { display:flex; gap:16px; margin-bottom:25px; }
.config-step-heading>span { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; color:var(--blue); background:#eaf3f8; font-size:10px; font-weight:900; }
.config-step-heading h2 { margin:0 0 5px; font-size:23px; letter-spacing:-.03em; }
.config-step-heading p { margin:0; color:var(--muted); font-size:12px; }
.choice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.package-choices { grid-template-columns:repeat(2,1fr); }
.choice-card { position:relative; cursor:pointer; }
.choice-card input { position:absolute; opacity:0; pointer-events:none; }
.choice-card>span { min-height:100%; display:block; padding:18px; border:1px solid var(--line); border-radius:13px; background:#fff; transition:border-color .15s,box-shadow .15s,background .15s; }
.choice-card:hover>span { border-color:#a9cadd; }
.choice-card input:checked+span { border-color:var(--blue); background:#f2f9fd; box-shadow:0 0 0 1px var(--blue); }
.choice-card input:focus-visible+span { outline:3px solid rgba(35,111,161,.2); outline-offset:2px; }
.choice-card strong,.choice-card small,.choice-card em,.choice-card b { display:block; }
.choice-card strong { margin-bottom:6px; font-size:15px; }
.choice-card small { color:var(--muted); line-height:1.5; }
.choice-card em { margin-bottom:8px; color:var(--blue); font-size:9px; font-style:normal; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.choice-card b { margin-top:13px; font-size:12px; }
.choice-card[hidden] { display:none; }
.inline-notice { margin:14px 0 0; padding:11px 13px; border-radius:9px; color:#475467; background:#fff7e6; font-size:12px; }
.configuration-summary { position:sticky; top:20px; padding:30px; border-radius:18px; color:#fff; background:var(--night); box-shadow:0 24px 60px rgba(11,18,32,.2); }
.configuration-summary h2 { margin:0 0 24px; font-size:28px; }
.summary-lines { display:grid; gap:11px; }
.summary-lines>div,.summary-discount,.summary-onboarding { display:flex; justify-content:space-between; gap:15px; color:#c6d0dd; font-size:12px; }
.summary-lines strong,.summary-discount strong { color:#fff; }
.summary-discount { margin-top:15px; padding-top:15px; border-top:1px solid #263347; color:#7fd6dd; }
.summary-discount[hidden],.inline-notice[hidden] { display:none!important; }
.summary-discount strong { color:#7fd6dd; }
.summary-total { margin-top:22px; padding-top:20px; border-top:1px solid #344154; }
.summary-total span,.summary-total strong,.summary-total small,.summary-onboarding span,.summary-onboarding small { display:block; }
.summary-total span { color:#9eabba; font-size:11px; }
.summary-total strong { margin:5px 0 3px; font-size:38px; }
.summary-total small,.summary-onboarding small { color:#8290a2; font-size:10px; }
.summary-onboarding { margin-top:18px; align-items:flex-start; }
.summary-onboarding strong { margin-left:auto; color:#fff; font-size:18px; }
.summary-onboarding small { text-align:right; }
.summary-hint { margin:20px 0 0; padding:11px; border-radius:8px; color:#f0d7a6; background:#222d3e; font-size:11px; line-height:1.5; }
.configuration-summary .button { width:100%; margin-top:22px; }
.configuration-summary .button.is-disabled { opacity:.45; cursor:not-allowed; transform:none; }
.configuration-summary>.text-link { display:block; margin-top:18px; color:#b6c1cf; text-align:center; }
.account-cta { max-width:1128px; margin:0 auto 95px; padding:54px 60px; display:grid; grid-template-columns:1.35fr .65fr; gap:60px; align-items:center; border-radius:22px; color:#fff; background:var(--night); }
.account-cta h2 { margin:0 0 16px; font-size:40px; letter-spacing:-.04em; }
.account-cta p:not(.eyebrow) { margin:0; color:#aab4c3; line-height:1.7; }
.account-actions { display:flex; flex-direction:column; align-items:stretch; gap:18px; text-align:center; }
.light-link { color:#d9e2ee; }
@media (max-width: 960px) {
    .hero-slides { min-height:1050px; }
    .hero { grid-template-columns: 1fr; padding-top: 65px; background: linear-gradient(180deg,#fff 0 54%,#edf3f7 54%); }
    .hero-copy { max-width: 700px; }
    .hero-visual { margin-top: 45px; }
    .module-grid { grid-template-columns: repeat(2,1fr); }
    .module-card { border-bottom: 1px solid var(--line); }
    .section-heading { grid-template-columns: 1fr; }
    .section-heading > p:last-child { margin-top: 25px; }
    .pricing-grid { grid-template-columns:1fr; }
    .product-pricing-grid { grid-template-columns:1fr; }
    .deployment-grid { grid-template-columns:1fr; }
    .simple-deployment-grid { grid-template-columns:1fr; }
    .simple-deployment-grid article+article { border-top:1px solid var(--line); border-left:0; }
    .discount-steps,.bundle-grid { grid-template-columns:1fr; }
    .price-card.featured-price { transform:none; }
    .account-cta { grid-template-columns:1fr; }
    .configurator-layout { grid-template-columns:1fr; }
    .configuration-summary { position:static; }
}
@media (max-width: 640px) {
    .site-header { height: 66px; padding: 0 18px; }
    .brand-logo-link { width: 145px; height: 44px; }
    .brand-logo { top: -20px; width: 180px; }
    .site-nav > a:not(.button) { display: none; }
    .hero { padding: 50px 20px 60px; }
    .hero-slides { min-height:950px; }
    .carousel-controls { bottom:14px; }
    h1, .hero-slide-title { font-size: 46px; }
    .hero-actions, .trust-list { align-items: flex-start; flex-direction: column; }
    .hero-visual { min-height: 400px; }
    .metric-grid { grid-template-columns: 1fr 1fr; }
    .metric-grid article:last-child { display: none; }
    .floating-card { right: 0; bottom: 5px; }
    .platform-section { padding: 80px 20px; }
    .module-grid { grid-template-columns: 1fr; }
    .module-card { min-height: 285px; border-right: 0; }
    .module-icon { margin-bottom: 40px; }
    .architecture-row { align-items: stretch; flex-direction: column; }
    .architecture-row i { transform: rotate(90deg); }
    footer { align-items: flex-start; flex-direction: column; gap: 15px; }
    .pricing-hero { padding-top:60px; }
    .account-cta { margin:0 20px 70px; padding:38px 28px; }
    .price-matrix>div { grid-template-columns:1.2fr repeat(2,1fr); padding:14px 10px; font-size:11px; }
    .configurator-intro { padding:55px 20px 35px; }
    .configurator-layout { padding:0 20px 70px; }
    .config-step { padding:23px 18px; }
    .choice-grid,.package-choices { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) { :root { scroll-behavior: auto; } .button { transition: none; } }
