/* ═══════════════════════════════════════════════════════
 PrintHive — Premium Landing Page
 Industrial Precision aesthetic with cinematic depth
 ═══════════════════════════════════════════════════════ */
:root{
 --bg:#0a0a0a;
 --bg-soft:#111111;
 --surface:#171717;
 --surface-2:#1d1d1d;
 --surface-3:#242424;
 --text:#e0e0e0;
 --muted:#9b9b9b;
 --line:rgba(255,255,255,0.08);
 --line-strong:rgba(255,255,255,0.14);
 --orange:#e8622a;
 --orange-2:#f5843d;
 --green:#4caf7d;
 --red:#e85b4a;
 --amber:#d4a853;
 --shadow-lg:0 28px 80px rgba(0,0,0,0.45);
 --shadow-md:0 16px 40px rgba(0,0,0,0.3);
 --shadow-glow:0 0 60px rgba(232,98,42,0.08);
 --radius-lg:28px;
 --radius-md:20px;
 --radius-sm:14px;
 --container:1240px;
 --header-h:82px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);}
body{
 margin:0;
 background:var(--bg);
 color:var(--text);
 font-family:'DM Sans',sans-serif;
 overflow-x:hidden;
 -webkit-font-smoothing:antialiased;
 -moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none;}
button,input,textarea{font:inherit;}
img{max-width:100%;display:block;}
/* ── Noise overlay ── */
.site-noise{
 position:fixed;
 inset:0;
 pointer-events:none;
 opacity:0.028;
 z-index:0;
 background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");
 background-repeat:repeat;
 background-size:200px 200px;
}
/* ── Scroll progress ── */
.scroll-progress{
 position:fixed;
 top:0;
 left:0;
 height:2px;
 width:0;
 z-index:120;
 background:linear-gradient(90deg,var(--orange),var(--orange-2),var(--amber));
}
/* ── Shell ── */
.shell{
 width:min(calc(100% - 48px),var(--container));
 margin:0 auto;
 position:relative;
 z-index:1;
}
/* ── Top banner ── */
.top-banner{
 position:fixed;
 top:0;
 left:0;
 right:0;
 z-index:130;
 display:flex;
 gap:16px;
 align-items:center;
 justify-content:center;
 padding:12px 20px;
 background:rgba(17,17,17,0.95);
 border-bottom:1px solid rgba(76,175,125,0.35);
 color:var(--text);
 backdrop-filter:blur(16px);
 font-size:0.92rem;
}
.top-banner-close{
 border:1px solid var(--line-strong);
 background:transparent;
 color:var(--muted);
 padding:8px 12px;
 border-radius:999px;
 cursor:pointer;
 transition:border-color 0.2s;
}
.top-banner-close:hover{border-color:var(--text);}
/* ══════════════════════════════════════════
 HEADER
 ══════════════════════════════════════════ */
.site-header{
 position:sticky;
 top:0;
 z-index:110;
 backdrop-filter:blur(20px) saturate(1.4);
 -webkit-backdrop-filter:blur(20px) saturate(1.4);
 background:rgba(10,10,10,0.65);
 border-bottom:1px solid transparent;
 transition:background 0.3s,border-color 0.3s,box-shadow 0.3s;
}
.site-header.is-scrolled{
 background:rgba(10,10,10,0.88);
 border-bottom-color:var(--line);
 box-shadow:0 8px 32px rgba(0,0,0,0.24);
}
.header-shell{
 min-height:var(--header-h);
 display:grid;
 grid-template-columns:auto 1fr auto;
 align-items:center;
 gap:28px;
}
/* Brand */
.brand{
 display:inline-flex;
 align-items:center;
 gap:14px;
 transition:opacity 0.2s;
}
.brand:hover{opacity:0.85;}
.brand-mark{
 width:44px;
 height:44px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border-radius:14px;
 border:1px solid rgba(232,98,42,0.3);
 background:linear-gradient(145deg,rgba(232,98,42,0.18),rgba(232,98,42,0.04));
 color:var(--orange);
 box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 0 24px rgba(232,98,42,0.1);
}
.brand-mark svg{width:24px;height:24px;}
.brand-copy{display:flex;flex-direction:column;}
.brand-copy strong{
 font-family:'Bebas Neue',sans-serif;
 font-size:2rem;
 line-height:0.9;
 letter-spacing:0.08em;
}
.brand-copy em{
 color:var(--muted);
 font-style:normal;
 font-size:0.7rem;
 text-transform:uppercase;
 letter-spacing:0.22em;
}
/* Nav */
.site-nav{justify-self:center;}
.nav-list{
 list-style:none;
 display:flex;
 align-items:center;
 gap:4px;
 padding:0;
 margin:0;
}
.nav-item{position:relative;}
.nav-link,
.nav-panel-toggle{
 height:42px;
 padding:0 16px;
 border-radius:999px;
 display:inline-flex;
 align-items:center;
 gap:6px;
 color:var(--muted);
 background:transparent;
 border:none;
 cursor:pointer;
 font-size:0.92rem;
 font-weight:500;
 transition:color 0.2s,background 0.2s;
}
.nav-link:hover,
.nav-link.is-active,
.nav-panel-toggle:hover,
.nav-item.is-open > .nav-panel-toggle{
 color:var(--text);
 background:rgba(255,255,255,0.05);
}
.nav-link.is-active{color:var(--orange);}
.nav-panel-toggle svg{
 width:14px;
 height:14px;
 transition:transform 0.2s;
}
.nav-item.is-open > .nav-panel-toggle svg{transform:rotate(180deg);}
/* Feature mega-menu */
.feature-panel{
 position:absolute;
 top:calc(100% + 14px);
 left:50%;
 transform:translateX(-50%) translateY(10px);
 width:min(820px,calc(100vw - 40px));
 opacity:0;
 pointer-events:none;
 transition:opacity 0.22s,transform 0.22s;
}
.nav-item.is-open .feature-panel{
 opacity:1;
 pointer-events:auto;
 transform:translateX(-50%) translateY(0);
}
.feature-panel-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:10px;
 padding:16px;
 border-radius:24px;
 background:rgba(14,14,14,0.98);
 border:1px solid var(--line);
 box-shadow:var(--shadow-lg),0 0 0 1px rgba(255,255,255,0.03);
 backdrop-filter:blur(24px);
}
.feature-panel-card{
 padding:18px;
 border-radius:16px;
 background:transparent;
 border:1px solid transparent;
 transition:all 0.2s;
}
.feature-panel-card:hover{
 transform:translateY(-2px);
 border-color:rgba(232,98,42,0.2);
 background:rgba(232,98,42,0.04);
}
.feature-panel-kicker{
 display:block;
 margin-bottom:8px;
 color:var(--orange);
 font-size:0.68rem;
 font-family:'JetBrains Mono',monospace;
 letter-spacing:0.16em;
 text-transform:uppercase;
}
.feature-panel-card strong{
 display:block;
 font-size:0.98rem;
 margin-bottom:6px;
}
.feature-panel-card p{
 margin:0;
 font-size:0.88rem;
 line-height:1.5;
 color:var(--muted);
}
/* Header actions */
.header-actions{
 display:flex;
 align-items:center;
 gap:10px;
}
/* ══════════════════════════════════════════
 BUTTONS
 ══════════════════════════════════════════ */
.btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 height:44px;
 padding:0 20px;
 border-radius:999px;
 border:1px solid var(--line-strong);
 color:var(--text);
 background:transparent;
 font-weight:500;
 font-size:0.92rem;
 cursor:pointer;
 transition:all 0.25s cubic-bezier(0.16,1,0.3,1);
 position:relative;
 overflow:hidden;
}
.btn:hover{
 transform:translateY(-1px);
 border-color:rgba(255,255,255,0.2);
 background:rgba(255,255,255,0.04);
}
.btn-primary{
 border-color:transparent;
 background:linear-gradient(135deg,var(--orange),var(--orange-2));
 color:#fff;
 box-shadow:0 12px 28px rgba(232,98,42,0.28);
 font-weight:600;
}
.btn-primary::after{
 content:'';
 position:absolute;
 top:-50%;
 left:-100%;
 width:60%;
 height:200%;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);
 transform:skewX(-20deg);
 transition:left 0.6s;
}
.btn-primary:hover::after{left:150%;}
.btn-primary:hover{
 box-shadow:0 16px 36px rgba(232,98,42,0.36);
 transform:translateY(-2px);
}
.btn-ghost{border-color:var(--line);}
.btn-secondary{background:rgba(255,255,255,0.04);}
.btn-lg{height:54px;padding:0 28px;font-weight:700;font-size:0.95rem;}
.btn-block{width:100%;}
/* ── Mobile toggle ── */
.mobile-toggle{
 display:none;
 width:46px;
 height:46px;
 padding:0;
 border-radius:14px;
 border:1px solid var(--line);
 background:rgba(255,255,255,0.03);
 cursor:pointer;
 position:relative;
}
.mobile-toggle span{
 display:block;
 width:18px;
 height:2px;
 margin:4px auto;
 background:var(--text);
 border-radius:2px;
 transition:transform 0.25s,opacity 0.25s;
}
.mobile-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.mobile-toggle.is-open span:nth-child(2){opacity:0;}
.mobile-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
/* Mobile menu */
.mobile-menu{
 display:none;
 border-top:1px solid var(--line);
 padding:16px 20px 24px;
 background:rgba(10,10,10,0.98);
 backdrop-filter:blur(20px);
}
.mobile-menu.is-open{display:block;}
.mobile-menu a{
 display:block;
 padding:16px 0;
 color:var(--text);
 font-weight:500;
 border-bottom:1px solid var(--line);
 transition:color 0.2s;
}
.mobile-menu a:hover{color:var(--orange);}
.mobile-menu-actions{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:12px;
 margin-top:20px;
}
/* ══════════════════════════════════════════
 HERO
 ══════════════════════════════════════════ */
.hero-section{
 position:relative;
 padding:100px 0 60px;
 overflow:clip;
}
.hero-grid{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(460px,560px);
 gap:56px;
 align-items:center;
 min-height:calc(100vh - var(--header-h) - 60px);
}
.hero-orb{
 position:absolute;
 border-radius:999px;
 filter:blur(80px);
 pointer-events:none;
 will-change:transform;
}
.hero-orb-a{
 width:520px;
 height:520px;
 background:radial-gradient(circle,rgba(232,98,42,0.14),rgba(232,98,42,0.02));
 top:-40px;
 right:8%;
}
.hero-orb-b{
 width:380px;
 height:380px;
 background:radial-gradient(circle,rgba(76,175,125,0.08),transparent);
 bottom:-20px;
 left:4%;
}
/* Hero grid lines (subtle engineering feel) */
.hero-grid-line{
 position:absolute;
 pointer-events:none;
 background:linear-gradient(180deg,transparent,rgba(255,255,255,0.03) 30%,rgba(255,255,255,0.03) 70%,transparent);
 width:1px;
}
.hero-grid-line-1{left:25%;top:0;bottom:0;}
.hero-grid-line-2{left:50%;top:0;bottom:0;}
.hero-grid-line-3{left:75%;top:0;bottom:0;}
/* Eyebrow */
.eyebrow{
 display:inline-flex;
 align-items:center;
 gap:10px;
 margin-bottom:22px;
 color:var(--orange);
 font-family:'JetBrains Mono',monospace;
 font-size:0.72rem;
 text-transform:uppercase;
 letter-spacing:0.18em;
}
.eyebrow-dot{
 width:8px;
 height:8px;
 border-radius:999px;
 background:var(--orange);
 box-shadow:0 0 0 8px rgba(232,98,42,0.12);
 animation:pulse-dot 2.4s ease-in-out infinite;
}
@keyframes pulse-dot{
 0%,100%{box-shadow:0 0 0 6px rgba(232,98,42,0.12);}
 50%{box-shadow:0 0 0 12px rgba(232,98,42,0.06);}
}
/* Hero typography */
.hero-copy h1,
.section-heading h2,
.contact-copy h2{
 margin:0;
 font-family:'Bebas Neue',sans-serif;
 letter-spacing:0.04em;
 line-height:0.92;
}
.hero-copy h1{
 font-size:clamp(4.2rem,8.5vw,8rem);
 max-width:12ch;
 background:linear-gradient(180deg,#ffffff 30%,rgba(255,255,255,0.45) 100%);
 -webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
 background-clip:text;
 animation:hero-text-in 0.8s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes hero-text-in{
 from{opacity:0;transform:translateY(30px);}
 to{opacity:1;transform:translateY(0);}
}
.hero-text{
 max-width:52ch;
 margin:26px 0 0;
 color:var(--muted);
 font-size:1.1rem;
 line-height:1.8;
}
.hero-actions-row{
 display:flex;
 flex-wrap:wrap;
 gap:14px;
 margin-top:36px;
}
.hero-proof{
 display:flex;
 align-items:center;
 gap:18px;
 margin-top:36px;
 padding-top:28px;
 border-top:1px solid var(--line);
}
.hero-proof-avatars{display:flex;}
.hero-proof-avatars span{
 width:40px;
 height:40px;
 margin-left:-8px;
 border-radius:999px;
 border:2px solid var(--bg);
 background:linear-gradient(135deg,#1a1a1a,#0e0e0e);
 display:inline-flex;
 align-items:center;
 justify-content:center;
 font-family:'JetBrains Mono',monospace;
 font-size:0.68rem;
 color:var(--muted);
}
.hero-proof-avatars span:first-child{margin-left:0;}
.hero-proof-copy{display:flex;flex-direction:column;gap:3px;}
.hero-proof-copy strong{font-size:0.95rem;}
.hero-proof-copy span{color:var(--muted);font-size:0.88rem;}
/* Hero window mockup */
.hero-window{
 position:relative;
 border-radius:24px;
 background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));
 border:1px solid rgba(255,255,255,0.08);
 box-shadow:var(--shadow-lg),var(--shadow-glow);
 overflow:hidden;
}
.hero-window::before{
 content:'';
 position:absolute;
 inset:0;
 background:linear-gradient(135deg,rgba(232,98,42,0.05),transparent 40%);
 pointer-events:none;
}
.hero-window::after{
 content:'';
 position:absolute;
 top:-1px;
 left:20%;
 right:20%;
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(232,98,42,0.3),transparent);
}
.hero-window-top{
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:16px 20px;
 border-bottom:1px solid var(--line);
 background:rgba(255,255,255,0.015);
}
.window-dots{display:flex;gap:7px;}
.window-dots span{
 width:10px;
 height:10px;
 border-radius:999px;
 background:rgba(255,255,255,0.15);
}
.window-dots span:first-child{background:var(--red);}
.window-dots span:nth-child(2){background:var(--amber);}
.window-dots span:last-child{background:var(--green);}
.window-title{
 color:var(--muted);
 font-size:0.78rem;
 font-family:'JetBrains Mono',monospace;
 opacity:0.7;
}
.hero-window-body{
 display:grid;
 grid-template-columns:140px 1fr;
 min-height:520px;
}
.app-sidebar{
 padding:18px 14px;
 border-right:1px solid var(--line);
 background:rgba(255,255,255,0.015);
}
.app-sidebar-title{
 margin-bottom:14px;
 color:var(--muted);
 font-family:'JetBrains Mono',monospace;
 font-size:0.68rem;
 letter-spacing:0.14em;
 text-transform:uppercase;
 opacity:0.7;
}
.app-sidebar-link{
 display:flex;
 align-items:center;
 gap:9px;
 padding:10px 11px;
 border-radius:12px;
 color:var(--muted);
 font-size:0.86rem;
 transition:all 0.15s;
}
.app-sidebar-link span{
 width:7px;
 height:7px;
 border-radius:999px;
 background:rgba(255,255,255,0.1);
}
.app-sidebar-link.active{
 color:var(--text);
 background:rgba(232,98,42,0.1);
}
.app-sidebar-link.active span{background:var(--orange);}
.app-main{padding:18px;}
.app-kpis{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:12px;
}
.app-kpi{
 padding:14px;
 border-radius:16px;
 background:rgba(255,255,255,0.025);
 border:1px solid var(--line);
}
.app-kpi.accent{
 background:linear-gradient(180deg,rgba(232,98,42,0.14),rgba(232,98,42,0.04));
 border-color:rgba(232,98,42,0.22);
}
.app-kpi span{
 display:block;
 color:var(--muted);
 font-size:0.74rem;
 margin-bottom:8px;
}
.app-kpi strong{
 font-family:'JetBrains Mono',monospace;
 font-size:1.1rem;
}
.app-card{
 padding:16px;
 border-radius:16px;
 background:rgba(255,255,255,0.025);
 border:1px solid var(--line);
 margin-top:12px;
}
.app-card-head,
.showcase-panel-head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 margin-bottom:14px;
}
.app-card-head span,
.showcase-panel-head strong{font-weight:600;font-size:0.88rem;}
.app-card-head em,
.showcase-panel-head span{
 font-style:normal;
 color:var(--muted);
 font-family:'JetBrains Mono',monospace;
 font-size:0.74rem;
}
.pipeline-list,
.queue-list{display:grid;gap:10px;}
.pipeline-row,
.queue-item{
 display:grid;
 grid-template-columns:68px 1fr auto;
 gap:10px;
 align-items:center;
}
.pipeline-row label,
.queue-item b{
 font-family:'JetBrains Mono',monospace;
 font-size:0.78rem;
}
.pipeline-row small,
.queue-item small{
 color:var(--muted);
 font-size:0.76rem;
}
.pipeline-bar{
 height:6px;
 border-radius:999px;
 background:rgba(255,255,255,0.05);
 overflow:hidden;
}
.pipeline-bar span{
 display:block;
 height:100%;
 border-radius:inherit;
 background:linear-gradient(90deg,var(--orange),var(--orange-2));
}
/* ══════════════════════════════════════════
 TRUST STRIP
 ══════════════════════════════════════════ */
.trust-strip{
 padding:20px 0;
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line);
 background:rgba(255,255,255,0.015);
 overflow:hidden;
}
.trust-row{
 display:flex;
 gap:24px;
 align-items:center;
}
.trust-label{
 color:var(--muted);
 font-size:0.74rem;
 text-transform:uppercase;
 letter-spacing:0.16em;
 white-space:nowrap;
 flex-shrink:0;
}
.trust-marquee{
 display:flex;
 gap:40px;
 color:rgba(255,255,255,0.4);
 font-family:'JetBrains Mono',monospace;
 font-size:0.88rem;
 letter-spacing:0.04em;
 animation:marquee 20s linear infinite;
 white-space:nowrap;
}
.trust-marquee span{flex-shrink:0;}
@keyframes marquee{
 0%{transform:translateX(0);}
 100%{transform:translateX(-50%);}
}
/* ══════════════════════════════════════════
 SECTION BASE
 ══════════════════════════════════════════ */
.site-section{padding:120px 0;}
.section-intro{padding-top:100px;}
.section-heading{max-width:760px;}
.section-heading.centered{text-align:center;margin:0 auto;}
.section-heading h2{
 font-size:clamp(3rem,6vw,5.6rem);
 background:linear-gradient(180deg,#ffffff 20%,rgba(255,255,255,0.55) 100%);
 -webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
 background-clip:text;
}
.section-heading p,
.contact-copy p{
 margin:20px 0 0;
 color:var(--muted);
 line-height:1.8;
 font-size:1.04rem;
}
.section-divider{
 height:1px;
 border:none;
 background:linear-gradient(90deg,transparent,var(--line-strong) 30%,var(--line-strong) 70%,transparent);
 margin:0;
}
/* ══════════════════════════════════════════
 PROBLEM SECTION
 ══════════════════════════════════════════ */
.problem-section{
 background:
 radial-gradient(ellipse at 50% 0%,rgba(232,75,74,0.04),transparent 50%),
 linear-gradient(180deg,transparent,rgba(255,255,255,0.01) 30%,transparent);
}
.problem-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:16px;
 margin-top:48px;
}
.problem-card{
 padding:32px 28px;
 border-radius:22px;
 background:linear-gradient(180deg,rgba(232,75,74,0.04),rgba(255,255,255,0.01));
 border:1px solid rgba(232,75,74,0.12);
 transition:all 0.3s;
 position:relative;
}
.problem-card::before{
 content:'';
 position:absolute;
 top:-1px;
 left:20%;
 right:20%;
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(232,75,74,0.25),transparent);
}
.problem-card:hover{
 transform:translateY(-4px);
 border-color:rgba(232,75,74,0.2);
 box-shadow:0 20px 40px rgba(232,75,74,0.06);
}
.problem-icon{
 width:52px;
 height:52px;
 border-radius:14px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 margin-bottom:22px;
 color:var(--red);
 border:1px solid rgba(232,75,74,0.2);
 background:rgba(232,75,74,0.06);
}
.problem-icon svg{width:22px;height:22px;}
.problem-card h3{
 margin:0 0 12px;
 font-family:'JetBrains Mono',monospace;
 font-size:0.82rem;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:0.1em;
 color:var(--red);
}
.problem-card p{
 margin:0;
 color:var(--muted);
 font-size:0.94rem;
 line-height:1.7;
}
/* ══════════════════════════════════════════
 SOLUTION BENTO
 ══════════════════════════════════════════ */
.solution-section{
 background:
 radial-gradient(ellipse at 30% 60%,rgba(232,98,42,0.04),transparent 50%),
 linear-gradient(180deg,rgba(255,255,255,0.015),transparent 30%);
}
.solution-bento{
 display:grid;
 grid-template-columns:1.2fr 0.8fr;
 grid-template-rows:auto auto;
 gap:16px;
 margin-top:48px;
}
.bento-card{
 padding:28px;
 border-radius:22px;
 background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01));
 border:1px solid var(--line);
 transition:all 0.35s cubic-bezier(0.16,1,0.3,1);
 position:relative;
 overflow:hidden;
}
.bento-card::before{
 content:'';
 position:absolute;
 top:-1px;
 left:15%;
 right:15%;
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(232,98,42,0.2),transparent);
 opacity:0;
 transition:opacity 0.3s;
}
.bento-card:hover{
 transform:translateY(-4px);
 border-color:rgba(232,98,42,0.2);
 box-shadow:0 24px 48px rgba(0,0,0,0.2),0 0 40px rgba(232,98,42,0.04);
}
.bento-card:hover::before{opacity:1;}
.bento-hero-card{
 grid-row:1 / 3;
}
.bento-label{
 display:inline-block;
 padding:4px 10px;
 border-radius:6px;
 background:rgba(232,98,42,0.1);
 border:1px solid rgba(232,98,42,0.15);
 color:var(--orange);
 font-family:'JetBrains Mono',monospace;
 font-size:0.68rem;
 font-weight:600;
 letter-spacing:0.1em;
 text-transform:uppercase;
 margin-bottom:16px;
}
.bento-card h3{
 margin:0 0 8px;
 font-size:1.15rem;
 font-weight:600;
}
.bento-card p{
 margin:0;
 color:var(--muted);
 font-size:0.92rem;
 line-height:1.6;
}
.bento-visual{margin-top:20px;}
/* Bento dashboard visual */
.bento-dash-row{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:10px;
 margin-bottom:14px;
}
.bento-dash-kpi{
 padding:12px;
 border-radius:12px;
 background:rgba(255,255,255,0.025);
 border:1px solid var(--line);
}
.bento-dash-kpi.accent{
 background:rgba(232,98,42,0.08);
 border-color:rgba(232,98,42,0.15);
}
.bento-dash-kpi span{
 display:block;
 font-family:'JetBrains Mono',monospace;
 font-size:1.05rem;
 font-weight:700;
 margin-bottom:4px;
}
.bento-dash-kpi small{
 color:var(--muted);
 font-size:0.72rem;
}
.bento-dash-chart{
 display:flex;
 align-items:end;
 gap:6px;
 height:120px;
 padding:12px;
 border-radius:12px;
 background:rgba(255,255,255,0.015);
 border:1px solid var(--line);
}
.bento-dash-chart span{
 flex:1;
 border-radius:4px 4px 2px 2px;
 background:linear-gradient(180deg,rgba(232,98,42,0.8),rgba(232,98,42,0.15));
 transition:height 0.6s cubic-bezier(0.16,1,0.3,1);
}
/* Bento stock visual */
.bento-stock{display:grid;gap:10px;}
.bento-stock-row{
 display:grid;
 grid-template-columns:10px 80px 1fr;
 gap:10px;
 align-items:center;
 font-size:0.82rem;
 color:var(--muted);
}
.bento-stock-dot{
 width:10px;
 height:10px;
 border-radius:999px;
}
.bento-stock-bar{
 height:6px;
 border-radius:999px;
 background:rgba(255,255,255,0.06);
 overflow:hidden;
}
.bento-stock-bar span{
 display:block;
 height:100%;
 border-radius:inherit;
 background:linear-gradient(90deg,var(--green),rgba(76,175,125,0.4));
}
.bento-stock-bar.warn span{
 background:linear-gradient(90deg,var(--red),rgba(232,75,74,0.4));
}
/* Bento pipeline visual */
.bento-pipeline{display:grid;gap:8px;}
.bento-pipe-item{
 display:flex;
 align-items:center;
 gap:10px;
 padding:10px 12px;
 border-radius:10px;
 background:rgba(255,255,255,0.025);
 font-size:0.82rem;
}
.bento-pipe-item b{
 font-family:'JetBrains Mono',monospace;
 font-size:0.78rem;
}
.bento-pipe-badge{
 padding:3px 8px;
 border-radius:6px;
 font-size:0.68rem;
 font-weight:600;
 text-transform:uppercase;
 letter-spacing:0.04em;
}
.bento-pipe-badge.ok{
 background:rgba(76,175,125,0.12);
 color:var(--green);
}
.bento-pipe-badge.pending{
 background:rgba(212,168,83,0.12);
 color:var(--amber);
}
.bento-pipe-badge.new{
 background:rgba(232,98,42,0.12);
 color:var(--orange);
}
/* Bento gantt visual */
.bento-gantt{display:grid;gap:8px;}
.bento-gantt-row{
 position:relative;
 height:24px;
 border-radius:6px;
 background:rgba(255,255,255,0.025);
}
.bento-gantt-bar{
 position:absolute;
 top:4px;
 bottom:4px;
 border-radius:4px;
 background:linear-gradient(90deg,rgba(232,98,42,0.6),rgba(232,98,42,0.2));
}
.bento-gantt-bar.accent{
 background:linear-gradient(90deg,rgba(76,175,125,0.6),rgba(76,175,125,0.2));
}
/* ══════════════════════════════════════════
 NUMBERS STRIP
 ══════════════════════════════════════════ */
.numbers-strip{
 padding:48px 0;
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line);
 background:
 linear-gradient(90deg,rgba(232,98,42,0.03),transparent 20%,transparent 80%,rgba(232,98,42,0.03));
}
.numbers-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:20px;
}
.number-cell{
 text-align:center;
 padding:12px;
 position:relative;
}
.number-cell + .number-cell::before{
 content:'';
 position:absolute;
 left:-10px;
 top:20%;
 bottom:20%;
 width:1px;
 background:var(--line-strong);
}
.number-cell strong{
 display:block;
 font-family:'JetBrains Mono',monospace;
 font-size:clamp(1.6rem,3vw,2.4rem);
 font-weight:700;
 margin-bottom:6px;
 background:linear-gradient(180deg,#fff,rgba(255,255,255,0.6));
 -webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
 background-clip:text;
}
.number-cell span{
 color:var(--muted);
 font-size:0.88rem;
}
/* ══════════════════════════════════════════
 MODULES GRID
 ══════════════════════════════════════════ */
.modules-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:16px;
 margin-top:42px;
}
.module-card{
 padding:28px;
 border-radius:22px;
 background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01));
 border:1px solid var(--line);
 min-height:260px;
 display:flex;
 flex-direction:column;
 transition:all 0.35s cubic-bezier(0.16,1,0.3,1);
 position:relative;
}
.module-card::before{
 content:'';
 position:absolute;
 inset:-1px;
 border-radius:inherit;
 background:linear-gradient(180deg,rgba(232,98,42,0.15),transparent 50%);
 opacity:0;
 transition:opacity 0.3s;
 pointer-events:none;
 z-index:-1;
}
.module-card:hover{
 transform:translateY(-6px);
 border-color:rgba(232,98,42,0.25);
 box-shadow:0 24px 48px rgba(0,0,0,0.2),0 0 40px rgba(232,98,42,0.06);
}
.module-card:hover::before{opacity:1;}
.module-icon{
 width:52px;
 height:52px;
 border-radius:14px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 margin-bottom:22px;
 color:var(--orange);
 border:1px solid rgba(232,98,42,0.2);
 background:rgba(232,98,42,0.08);
}
.module-icon svg{width:22px;height:22px;}
.module-card h3{
 margin:0 0 10px;
 font-size:1.15rem;
 font-weight:600;
}
.module-card p{
 margin:0;
 color:var(--muted);
 line-height:1.7;
 font-size:0.94rem;
 flex:1;
}
.module-meta{
 margin-top:20px;
 color:rgba(255,255,255,0.5);
 font-family:'JetBrains Mono',monospace;
 font-size:0.74rem;
 letter-spacing:0.02em;
}
/* ══════════════════════════════════════════
 STEPS
 ══════════════════════════════════════════ */
.steps-section{
 background:linear-gradient(180deg,transparent,rgba(255,255,255,0.015) 40%,transparent);
}
.steps-grid{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:0;
 margin-top:48px;
}
.step-card{
 flex:0 1 320px;
 padding:32px 28px;
 border-radius:22px;
 background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01));
 border:1px solid var(--line);
 text-align:center;
 transition:all 0.35s cubic-bezier(0.16,1,0.3,1);
 position:relative;
}
.step-card:hover{
 border-color:rgba(232,98,42,0.25);
 transform:translateY(-6px);
 box-shadow:0 24px 48px rgba(0,0,0,0.2),0 0 40px rgba(232,98,42,0.06);
}
.step-number{
 font-family:'Bebas Neue',sans-serif;
 font-size:3.2rem;
 line-height:1;
 background:linear-gradient(180deg,rgba(232,98,42,0.3),rgba(232,98,42,0.08));
 -webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
 background-clip:text;
 margin-bottom:12px;
}
.step-icon{
 width:56px;
 height:56px;
 margin:0 auto 18px;
 border-radius:16px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 color:var(--orange);
 border:1px solid rgba(232,98,42,0.2);
 background:rgba(232,98,42,0.08);
}
.step-icon svg{width:24px;height:24px;}
.step-card h3{
 margin:0 0 10px;
 font-size:1.12rem;
 font-weight:600;
}
.step-card p{
 margin:0;
 color:var(--muted);
 font-size:0.92rem;
 line-height:1.7;
}
.step-connector{
 flex:0 0 60px;
 color:var(--line-strong);
 display:flex;
 align-items:center;
 justify-content:center;
}
.step-connector svg{width:60px;height:20px;}
/* ══════════════════════════════════════════
 SHOWCASE
 ══════════════════════════════════════════ */
.showcase-section{
 background:
 radial-gradient(ellipse at 70% 50%,rgba(232,98,42,0.04),transparent 50%),
 linear-gradient(180deg,rgba(255,255,255,0.015),transparent 30%);
}
.showcase-grid{
 display:grid;
 grid-template-columns:minmax(0,420px) minmax(0,1fr);
 gap:40px;
 align-items:center;
}
.showcase-copy h2{
 font-size:clamp(3rem,5.4vw,5rem);
 background:linear-gradient(180deg,#ffffff 20%,rgba(255,255,255,0.55) 100%);
 -webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
 background-clip:text;
}
.showcase-points{
 list-style:none;
 padding:0;
 margin:28px 0 0;
 display:grid;
 gap:16px;
}
.showcase-points li,
.contact-points li{
 display:flex;
 align-items:flex-start;
 gap:14px;
 color:var(--text);
 font-size:0.98rem;
 line-height:1.6;
}
.showcase-points span,
.contact-points span{
 width:8px;
 height:8px;
 margin-top:8px;
 flex:0 0 auto;
 border-radius:999px;
 background:var(--orange);
 box-shadow:0 0 0 6px rgba(232,98,42,0.1);
}
.showcase-panels{display:grid;gap:14px;}
/* Shared card base */
.showcase-panel,
.contact-card,
.testimonial-card,
.blog-card,
.compare-wrap,
.pricing-card,
.faq-list{
 background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01));
 border:1px solid var(--line);
 border-radius:22px;
}
.showcase-panel{padding:22px;}
.showcase-panel-row{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:14px;
}
.panel-primary{
 background:linear-gradient(180deg,rgba(232,98,42,0.12),rgba(255,255,255,0.015));
 border-color:rgba(232,98,42,0.18);
}
.queue-item{
 grid-template-columns:1fr auto;
 padding:12px 14px;
 border-radius:14px;
 background:rgba(255,255,255,0.03);
}
.mini-chart{
 display:flex;
 align-items:end;
 gap:8px;
 min-height:110px;
}
.mini-chart span{
 flex:1;
 border-radius:999px 999px 6px 6px;
 background:linear-gradient(180deg,rgba(232,98,42,0.9),rgba(232,98,42,0.12));
}
.status-stack{
 display:flex;
 gap:12px;
 align-items:center;
 min-height:110px;
}
.status-stack i{
 display:block;
 width:16px;
 height:64px;
 border-radius:999px;
 background:rgba(255,255,255,0.06);
}
.status-stack i.ok{background:linear-gradient(180deg,var(--green),rgba(76,175,125,0.12));}
.status-stack i.warn{background:linear-gradient(180deg,var(--amber),rgba(212,168,83,0.14));}
/* ══════════════════════════════════════════
 VITRINE SECTION
 ══════════════════════════════════════════ */
.vitrine-section{
 background:
 radial-gradient(ellipse at 50% 80%,rgba(76,175,125,0.03),transparent 50%);
 overflow:hidden;
}
.vitrine-scroll{
 margin-top:48px;
 overflow-x:auto;
 overflow-y:hidden;
 -webkit-overflow-scrolling:touch;
 scrollbar-width:none;
 padding-bottom:8px;
}
.vitrine-scroll::-webkit-scrollbar{display:none;}
.vitrine-track{
 display:flex;
 gap:16px;
 width:max-content;
 padding:0 max(24px,calc((100vw - var(--container)) / 2));
}
.vitrine-card{
 flex:0 0 320px;
 border-radius:20px;
 overflow:hidden;
 transition:all 0.3s;
}
.vitrine-card:hover{
 transform:translateY(-6px) scale(1.02);
}
.vitrine-preview{
 position:relative;
 height:220px;
 background:linear-gradient(135deg,rgba(232,98,42,0.15),rgba(232,98,42,0.03));
 border:1px solid rgba(232,98,42,0.15);
 border-radius:20px;
 display:flex;
 align-items:end;
 padding:20px;
 overflow:hidden;
}
.vitrine-preview::before{
 content:'';
 position:absolute;
 inset:0;
 background:
 linear-gradient(180deg,transparent 40%,rgba(0,0,0,0.6) 100%),
 repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(255,255,255,0.015) 40px,rgba(255,255,255,0.015) 41px);
}
.vitrine-alt{
 background:linear-gradient(135deg,rgba(76,175,125,0.15),rgba(76,175,125,0.03));
 border-color:rgba(76,175,125,0.15);
}
.vitrine-dark{
 background:linear-gradient(135deg,rgba(255,255,255,0.08),rgba(255,255,255,0.02));
 border-color:rgba(255,255,255,0.1);
}
.vitrine-neon{
 background:linear-gradient(135deg,rgba(130,87,229,0.15),rgba(130,87,229,0.03));
 border-color:rgba(130,87,229,0.15);
}
.vitrine-blue{
 background:linear-gradient(135deg,rgba(66,133,244,0.15),rgba(66,133,244,0.03));
 border-color:rgba(66,133,244,0.15);
}
.vitrine-chrome{
 background:linear-gradient(135deg,rgba(212,168,83,0.15),rgba(212,168,83,0.03));
 border-color:rgba(212,168,83,0.15);
}
.vitrine-badge{
 position:absolute;
 top:14px;
 right:14px;
 padding:4px 10px;
 border-radius:6px;
 background:rgba(0,0,0,0.5);
 backdrop-filter:blur(8px);
 color:rgba(255,255,255,0.8);
 font-family:'JetBrains Mono',monospace;
 font-size:0.62rem;
 font-weight:600;
 letter-spacing:0.08em;
 text-transform:uppercase;
 z-index:1;
}
.vitrine-inner{
 position:relative;
 z-index:1;
}
.vitrine-inner strong{
 display:block;
 font-family:'Bebas Neue',sans-serif;
 font-size:1.6rem;
 letter-spacing:0.06em;
}
.vitrine-inner span{
 color:rgba(255,255,255,0.6);
 font-size:0.86rem;
}
.vitrine-more{
 text-align:center;
 margin-top:24px;
 color:var(--muted);
 font-family:'JetBrains Mono',monospace;
 font-size:0.84rem;
}
/* ══════════════════════════════════════════
 PRICING
 ══════════════════════════════════════════ */
.pricing-section{padding-bottom:80px;}
.pricing-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:16px;
 margin-top:40px;
}
.pricing-card{
 position:relative;
 padding:32px;
 overflow:hidden;
 transition:all 0.35s cubic-bezier(0.16,1,0.3,1);
}
.pricing-card:hover{
 transform:translateY(-4px);
 box-shadow:var(--shadow-md);
}
.pricing-card.featured{
 border-color:rgba(232,98,42,0.3);
 background:linear-gradient(180deg,rgba(232,98,42,0.14),rgba(232,98,42,0.02));
 box-shadow:0 16px 40px rgba(232,98,42,0.1),0 0 80px rgba(232,98,42,0.04);
 transform:scale(1.03);
}
.pricing-card.featured::after{
 content:'';
 position:absolute;
 top:-1px;
 left:10%;
 right:10%;
 height:2px;
 background:linear-gradient(90deg,transparent,var(--orange),transparent);
}
.pricing-card.featured:hover{
 transform:scale(1.03) translateY(-4px);
 box-shadow:0 24px 52px rgba(232,98,42,0.15),0 0 100px rgba(232,98,42,0.06);
}
.pricing-badge{
 position:absolute;
 top:22px;
 right:22px;
 padding:6px 14px;
 border-radius:999px;
 background:rgba(232,98,42,0.15);
 color:var(--orange);
 font-size:0.7rem;
 font-weight:600;
 letter-spacing:0.14em;
 text-transform:uppercase;
 border:1px solid rgba(232,98,42,0.2);
}
.pricing-tier{
 color:var(--orange);
 font-family:'JetBrains Mono',monospace;
 font-size:0.76rem;
 text-transform:uppercase;
 letter-spacing:0.16em;
}
.pricing-price{
 margin-top:16px;
 font-family:'JetBrains Mono',monospace;
 font-size:1.8rem;
 display:flex;
 align-items:end;
 gap:6px;
}
.pricing-price span{
 font-family:'Bebas Neue',sans-serif;
 font-size:clamp(3.6rem,7vw,5rem);
 line-height:0.85;
 background:linear-gradient(180deg,#fff 20%,rgba(255,255,255,0.6));
 -webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
 background-clip:text;
}
.pricing-price small{
 color:var(--muted);
 font-size:0.88rem;
 margin-bottom:8px;
}
.pricing-copy{
 margin:16px 0 0;
 color:var(--muted);
 line-height:1.7;
 font-size:0.94rem;
}
.pricing-list{
 list-style:none;
 padding:0;
 margin:24px 0 28px;
 display:grid;
 gap:12px;
}
.pricing-list li{
 display:flex;
 gap:10px;
 align-items:center;
 color:var(--text);
 font-size:0.94rem;
}
.pricing-list li::before{
 content:'';
 width:7px;
 height:7px;
 border-radius:999px;
 background:var(--green);
 box-shadow:0 0 0 5px rgba(76,175,125,0.1);
 flex-shrink:0;
}
/* Pricing toggle */
.pricing-toggle{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:14px;
 margin-top:32px;
}
.pricing-toggle-label{
 font-size:0.92rem;
 color:var(--muted);
 font-weight:500;
 transition:color 0.25s;
 cursor:pointer;
}
.pricing-toggle-label.is-active{color:var(--text);}
.pricing-toggle-switch{
 position:relative;
 width:52px;
 height:28px;
 border-radius:999px;
 border:1px solid var(--line-strong);
 background:rgba(255,255,255,0.06);
 cursor:pointer;
 padding:0;
 transition:border-color 0.25s,background 0.25s;
}
.pricing-toggle-switch:hover{
 border-color:rgba(232,98,42,0.3);
}
.pricing-toggle-knob{
 position:absolute;
 top:3px;
 left:3px;
 width:20px;
 height:20px;
 border-radius:999px;
 background:var(--orange);
 box-shadow:0 2px 8px rgba(232,98,42,0.3);
 transition:transform 0.25s cubic-bezier(0.16,1,0.3,1);
}
.pricing-toggle.is-annual .pricing-toggle-knob{
 transform:translateX(24px);
}
.pricing-toggle.is-annual .pricing-toggle-switch{
 border-color:rgba(232,98,42,0.35);
 background:rgba(232,98,42,0.08);
}
.pricing-toggle-badge{
 padding:4px 10px;
 border-radius:999px;
 background:rgba(76,175,125,0.12);
 border:1px solid rgba(76,175,125,0.2);
 color:var(--green);
 font-size:0.72rem;
 font-weight:600;
 letter-spacing:0.06em;
}
/* Compare table */
.compare-wrap{
 margin-top:24px;
 padding:28px;
}
.compare-head{
 display:flex;
 align-items:end;
 justify-content:space-between;
 gap:20px;
 margin-bottom:20px;
}
.compare-head h3{margin:0;font-size:1.3rem;}
.compare-head p{margin:0;color:var(--muted);font-size:0.94rem;}
.compare-table-wrap{overflow:auto;}
.compare-table{
 width:100%;
 border-collapse:collapse;
 min-width:700px;
}
.compare-table th,
.compare-table td{
 padding:16px 14px;
 border-bottom:1px solid var(--line);
 text-align:left;
 font-size:0.94rem;
}
.compare-table th{
 color:var(--muted);
 font-size:0.78rem;
 text-transform:uppercase;
 letter-spacing:0.12em;
 font-weight:600;
}
.compare-table td:first-child{color:var(--text);font-weight:500;}
.compare-check{color:var(--green);font-size:0.8rem;}
.compare-empty{color:var(--muted);}
/* ══════════════════════════════════════════
 TESTIMONIALS
 ══════════════════════════════════════════ */
.social-section{
 padding-top:100px;
 background:
 radial-gradient(ellipse at 30% 50%,rgba(76,175,125,0.03),transparent 45%),
 linear-gradient(180deg,transparent,rgba(255,255,255,0.015) 30%,transparent);
}
.proof-stats{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:16px;
 margin-top:40px;
}
.proof-stat{
 padding:28px;
 border-radius:20px;
 background:rgba(255,255,255,0.025);
 border:1px solid var(--line);
 transition:all 0.3s;
}
.proof-stat:hover{
 border-color:rgba(232,98,42,0.2);
 background:rgba(232,98,42,0.03);
}
.proof-stat strong{
 display:block;
 font-family:'JetBrains Mono',monospace;
 font-size:2.2rem;
 margin-bottom:8px;
 background:linear-gradient(180deg,#fff,rgba(255,255,255,0.6));
 -webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
 background-clip:text;
}
.proof-stat span{color:var(--muted);font-size:0.92rem;}
.testimonial-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:16px;
 margin-top:16px;
}
.testimonial-card{
 padding:28px;
 transition:all 0.3s;
 position:relative;
}
.testimonial-card::before{
 content:'\201C';
 position:absolute;
 top:18px;
 right:22px;
 font-size:3rem;
 line-height:1;
 color:rgba(232,98,42,0.12);
 font-family:Georgia,serif;
}
.testimonial-card:hover{
 border-color:rgba(255,255,255,0.12);
 background:rgba(255,255,255,0.04);
}
.testimonial-metric{
 display:inline-block;
 padding:4px 10px;
 border-radius:6px;
 background:rgba(76,175,125,0.1);
 border:1px solid rgba(76,175,125,0.15);
 color:var(--green);
 font-family:'JetBrains Mono',monospace;
 font-size:0.7rem;
 font-weight:700;
 letter-spacing:0.04em;
 margin-bottom:16px;
}
.testimonial-card p{
 margin:0 0 24px;
 color:var(--text);
 line-height:1.8;
 font-size:0.96rem;
 font-style:italic;
}
.testimonial-meta{
 display:flex;
 align-items:center;
 gap:14px;
}
.testimonial-avatar{
 width:44px;
 height:44px;
 border-radius:999px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex-shrink:0;
 background:linear-gradient(135deg,rgba(232,98,42,0.2),rgba(232,98,42,0.06));
 border:1px solid rgba(232,98,42,0.25);
 color:var(--orange);
 font-family:'JetBrains Mono',monospace;
 font-size:0.76rem;
 font-weight:700;
 letter-spacing:0.04em;
}
.testimonial-meta div{display:flex;flex-direction:column;gap:3px;}
.testimonial-meta strong{font-size:0.95rem;font-style:normal;}
.testimonial-meta div > span{color:var(--muted);font-size:0.86rem;}
/* ══════════════════════════════════════════
 FAQ
 ══════════════════════════════════════════ */
.faq-grid{
 display:grid;
 grid-template-columns:minmax(0,360px) minmax(0,1fr);
 gap:36px;
 align-items:start;
}
.faq-list{padding:12px 28px;}
.faq-item + .faq-item{border-top:1px solid var(--line);}
.faq-question{
 width:100%;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 padding:22px 0;
 border:none;
 background:transparent;
 color:var(--text);
 text-align:left;
 cursor:pointer;
 transition:color 0.2s;
}
.faq-question:hover{color:var(--orange);}
.faq-question span{font-weight:500;font-size:0.98rem;}
.faq-question i{
 position:relative;
 width:16px;
 height:16px;
 flex:0 0 auto;
}
.faq-question i::before,
.faq-question i::after{
 content:'';
 position:absolute;
 top:7px;
 left:0;
 width:16px;
 height:2px;
 background:var(--orange);
 border-radius:999px;
 transition:transform 0.25s;
}
.faq-question i::after{transform:rotate(90deg);}
.faq-item.is-open .faq-question i::after{transform:rotate(0deg);}
.faq-answer{
 max-height:0;
 overflow:hidden;
 transition:max-height 0.3s ease;
}
.faq-answer p{
 margin:0;
 padding:0 0 24px;
 color:var(--muted);
 line-height:1.8;
 font-size:0.96rem;
}
.faq-more{margin-top:20px;}
/* ══════════════════════════════════════════
 BLOG
 ══════════════════════════════════════════ */
.blog-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:16px;
 margin-top:40px;
}
.blog-card{
 overflow:hidden;
 transition:all 0.3s;
}
.blog-card:hover{
 transform:translateY(-6px);
 border-color:rgba(232,98,42,0.25);
 box-shadow:0 20px 44px rgba(0,0,0,0.2);
}
.blog-cover{
 width:100%;
 height:200px;
 object-fit:cover;
 background:#0e0e0e;
}
.blog-cover-fallback{
 display:flex;
 align-items:center;
 justify-content:center;
 font-family:'Bebas Neue',sans-serif;
 font-size:2rem;
 letter-spacing:0.12em;
 color:var(--orange);
 background:linear-gradient(135deg,rgba(232,98,42,0.1),rgba(255,255,255,0.02));
}
.blog-body{padding:22px;}
.blog-date{
 color:var(--muted);
 font-size:0.74rem;
 font-family:'JetBrains Mono',monospace;
 text-transform:uppercase;
 letter-spacing:0.12em;
}
.blog-body h3{
 margin:14px 0 10px;
 font-size:1.12rem;
 font-weight:600;
}
.blog-body p{
 margin:0 0 16px;
 color:var(--muted);
 line-height:1.7;
 font-size:0.92rem;
}
.blog-body strong{color:var(--orange);font-weight:600;font-size:0.88rem;}
.section-cta{
 display:flex;
 justify-content:center;
 margin-top:28px;
}
/* ══════════════════════════════════════════
 CTA
 ══════════════════════════════════════════ */
.cta-section{
 padding:120px 0;
 text-align:center;
 position:relative;
 overflow:hidden;
}
.cta-glow{
 position:absolute;
 top:50%;
 left:50%;
 transform:translate(-50%,-50%);
 width:600px;
 height:400px;
 border-radius:999px;
 background:radial-gradient(ellipse,rgba(232,98,42,0.12),transparent 60%);
 filter:blur(60px);
 pointer-events:none;
}
.cta-section::before{
 content:'';
 position:absolute;
 inset:0;
 background:
 radial-gradient(ellipse at center,rgba(232,98,42,0.06),transparent 60%);
 pointer-events:none;
}
.cta-content{position:relative;z-index:1;}
.cta-content h2{
 margin:0;
 font-family:'Bebas Neue',sans-serif;
 font-size:clamp(3.4rem,7vw,6rem);
 letter-spacing:0.04em;
 line-height:0.92;
 background:linear-gradient(180deg,#ffffff 20%,rgba(255,255,255,0.5) 100%);
 -webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
 background-clip:text;
}
.cta-content p{
 margin:18px auto 0;
 max-width:48ch;
 color:var(--muted);
 font-size:1.06rem;
 line-height:1.7;
}
.cta-actions{
 display:flex;
 gap:14px;
 justify-content:center;
 margin-top:36px;
}
.cta-note{
 margin-top:18px;
 color:var(--muted);
 font-size:0.84rem;
 font-family:'JetBrains Mono',monospace;
}
/* ══════════════════════════════════════════
 CONTACT
 ══════════════════════════════════════════ */
.contact-grid{
 display:grid;
 grid-template-columns:minmax(0,390px) minmax(0,1fr);
 gap:36px;
 align-items:start;
}
.contact-copy h2{
 font-size:clamp(2.8rem,5.5vw,4.8rem);
 background:linear-gradient(180deg,#ffffff 20%,rgba(255,255,255,0.55) 100%);
 -webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
 background-clip:text;
}
.contact-points{
 list-style:none;
 padding:0;
 margin:28px 0 0;
 display:grid;
 gap:14px;
}
.contact-card{
 padding:28px;
 box-shadow:var(--shadow-md);
}
.form-row{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:14px;
}
.contact-card label{
 display:block;
 margin-bottom:14px;
}
.contact-card span{
 display:block;
 margin-bottom:7px;
 color:var(--muted);
 font-size:0.88rem;
 font-weight:500;
}
.contact-card input,
.contact-card textarea{
 width:100%;
 border:1px solid var(--line);
 background:rgba(255,255,255,0.025);
 color:var(--text);
 border-radius:14px;
 padding:13px 16px;
 outline:none;
 font-size:0.95rem;
 transition:border-color 0.2s,background 0.2s,box-shadow 0.2s;
}
.contact-card input:focus,
.contact-card textarea:focus{
 border-color:rgba(232,98,42,0.35);
 background:rgba(232,98,42,0.03);
 box-shadow:0 0 0 3px rgba(232,98,42,0.08);
}
.contact-card textarea{resize:vertical;min-height:140px;}
.contact-submit-row{
 display:flex;
 align-items:center;
 gap:14px;
 flex-wrap:wrap;
 margin-top:8px;
}
.contact-msg{
 min-height:20px;
 color:var(--muted);
 font-size:0.9rem;
}
/* ══════════════════════════════════════════
 FOOTER
 ══════════════════════════════════════════ */
.site-footer{
 padding:40px 0 28px;
 border-top:1px solid var(--line);
 background:rgba(255,255,255,0.015);
}
.footer-top{
 display:grid;
 grid-template-columns:minmax(0,300px) 1fr;
 gap:40px;
 padding-bottom:32px;
}
.footer-brand p{
 margin:16px 0 0;
 color:var(--muted);
 line-height:1.75;
 font-size:0.92rem;
}
.footer-columns{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:20px;
}
.footer-columns h4{
 margin:0 0 14px;
 font-size:0.8rem;
 color:var(--muted);
 letter-spacing:0.14em;
 text-transform:uppercase;
 font-weight:600;
}
.footer-columns a{
 display:block;
 margin-bottom:10px;
 color:rgba(255,255,255,0.6);
 font-size:0.92rem;
 transition:color 0.2s;
}
.footer-columns a:hover{color:var(--orange);}
.footer-bottom{
 display:flex;
 justify-content:space-between;
 gap:12px;
 padding-top:24px;
 border-top:1px solid var(--line);
 color:var(--muted);
 font-size:0.88rem;
}
.footer-bottom a:hover{color:var(--text);}
.footer-social{
 display:inline-flex !important;
 align-items:center;
 gap:8px;
}
.footer-social svg{flex-shrink:0;}
.footer-status{
 display:inline-flex;
 align-items:center;
 gap:8px;
 font-size:0.82rem;
 color:var(--green);
}
.footer-status-dot{
 width:8px;
 height:8px;
 border-radius:999px;
 background:var(--green);
 box-shadow:0 0 0 4px rgba(76,175,125,0.15);
 animation:pulse-dot 2.4s ease-in-out infinite;
}
/* ══════════════════════════════════════════
 BACK TO TOP
 ══════════════════════════════════════════ */
.back-to-top{
 position:fixed;
 right:24px;
 bottom:24px;
 width:48px;
 height:48px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border:1px solid var(--line-strong);
 border-radius:999px;
 background:rgba(14,14,14,0.9);
 backdrop-filter:blur(12px);
 color:var(--text);
 opacity:0;
 pointer-events:none;
 transform:translateY(12px);
 transition:all 0.25s;
 z-index:100;
 cursor:pointer;
}
.back-to-top.is-visible{
 opacity:1;
 pointer-events:auto;
 transform:translateY(0);
}
.back-to-top:hover{
 border-color:var(--orange);
 color:var(--orange);
}
.back-to-top svg{width:20px;height:20px;}
/* ══════════════════════════════════════════
 REVEAL ANIMATIONS
 ══════════════════════════════════════════ */
.reveal{
 opacity:0;
 transform:translateY(32px);
 transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1),transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
.reveal.is-visible{
 opacity:1;
 transform:translateY(0);
}
.reveal[data-delay="1"]{transition-delay:0.1s;}
.reveal[data-delay="2"]{transition-delay:0.2s;}
/* ══════════════════════════════════════════
 RESPONSIVE
 ══════════════════════════════════════════ */
@media (max-width:1180px){
 .hero-grid,
 .showcase-grid,
 .faq-grid,
 .contact-grid,
 .footer-top{grid-template-columns:1fr;}
 .hero-grid{min-height:auto;}
 .hero-window{max-width:860px;}
 .pricing-card.featured{transform:scale(1);}
 .pricing-card.featured:hover{transform:translateY(-4px);}
 .solution-bento{grid-template-columns:1fr 1fr;}
 .bento-hero-card{grid-row:auto;}
}
@media (max-width:980px){
 .site-nav,
 .header-actions .btn{display:none;}
 .mobile-toggle{display:inline-flex;align-items:center;justify-content:center;}
 .modules-grid,
 .pricing-grid,
 .testimonial-grid,
 .blog-grid,
 .proof-stats,
 .problem-grid,
 .footer-columns{grid-template-columns:1fr 1fr;}
 .hero-window-body{grid-template-columns:1fr;}
 .app-sidebar{display:none;}
 .steps-grid{flex-direction:column;gap:0;}
 .step-card{flex:none;width:100%;max-width:400px;}
 .step-connector{transform:rotate(90deg);flex:0 0 40px;}
 .numbers-grid{grid-template-columns:1fr 1fr;gap:24px;}
 .number-cell + .number-cell::before{display:none;}
 .solution-bento{grid-template-columns:1fr;}
 .hero-grid-line{display:none;}
}
@media (max-width:760px){
:root{--header-h:72px;}
 .shell{width:min(calc(100% - 28px),var(--container));}
 .site-section{padding:80px 0;}
 .header-shell{gap:12px;}
 .brand-copy em{display:none;}
 .hero-section{padding-top:40px;}
 .hero-copy h1{max-width:100%;}
 .hero-actions-row,
 .contact-submit-row,
 .compare-head,
 .trust-row{flex-direction:column;align-items:flex-start;}
 .cta-actions{flex-direction:column;align-items:center;}
 .modules-grid,
 .pricing-grid,
 .testimonial-grid,
 .blog-grid,
 .proof-stats,
 .problem-grid,
 .footer-columns,
 .showcase-panel-row,
 .form-row,
 .mobile-menu-actions,
 .numbers-grid{grid-template-columns:1fr;}
 .app-kpis{grid-template-columns:1fr;}
 .bento-dash-row{grid-template-columns:1fr;}
 .faq-list,
 .contact-card,
 .compare-wrap,
 .pricing-card,
 .testimonial-card,
 .blog-card{border-radius:18px;}
 .blog-cover{height:170px;}
 .footer-bottom{flex-direction:column;}
 .trust-marquee{animation-duration:12s;}
 .cta-section{padding:70px 0;}
 .vitrine-card{flex:0 0 270px;}
 .vitrine-preview{height:180px;}
}
