/* ============================================================
   UPTOMADE — Clean Redesign 2026
   Premium minimal. No clutter. Typography-first.
   ============================================================ */

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
  --accent:      #55e6a5;
  --accent-dk:   #2ec988;
  --accent-light:#f0fdf4;
  --bg:          #ffffff;
  --bg2:         #fafafa;
  --surface:     #ffffff;
  --dark:        #0a0e1a;
  --dark2:       #111827;
  --text:        #111827;
  --text-dim:    #6b7280;
  --text-light:  #9ca3af;
  --border:      rgba(0,0,0,0.06);
  --border-strong:rgba(0,0,0,0.1);
  --fh: 'Archivo', sans-serif;
  --fb: 'DM Sans', sans-serif;
  --max: 1180px;
  --nav-h: 70px;
  --ease: cubic-bezier(0.16,1,0.3,1);
}

/* ── RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{font-family:var(--fb);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img{display:block;max-width:100%}
button{cursor:pointer;font-family:var(--fb);border:none;background:none}
select,textarea,input{font-family:var(--fb)}

/* ── SKIP LINK ─────────────────────────────────────────── */
.skip-link{position:absolute;top:-100%;left:1rem;padding:.5rem 1rem;background:var(--accent);color:#000;border-radius:6px;z-index:999;font-weight:600}
.skip-link:focus{top:1rem}

/* ── FOCUS VISIBLE — Accessibility ─────────────────── */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ── SCROLL REVEAL ─────────────────────────────────────── */
.rv,.rv-left,.rv-right,.rv-scale,.rv-blur{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.visible,.rv-left.visible,.rv-right.visible,.rv-scale.visible,.rv-blur.visible{opacity:1;transform:none}
.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.2s}.rv-d3{transition-delay:.3s}.rv-d4{transition-delay:.4s}

/* ── FLOATING / INTERACTIVE ELEMENTS ──────────────────── */
.float-y{animation:floatY 4s ease-in-out infinite}
.float-y-slow{animation:floatY 6s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* Tilt on hover (desktop) */
@media(hover:hover){
  .tilt-hover{transition:transform .4s var(--ease)}
  .tilt-hover:hover{transform:perspective(600px) rotateY(-3deg) rotateX(2deg) scale(1.02)}
}

/* Gradient text utility */
.gradient-text{background:linear-gradient(135deg,var(--accent),#34d399 50%,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Animated gradient bg */
.animated-gradient{background:linear-gradient(270deg,#0a0e1a,#0f2922,#0a0e1a,#111827);background-size:400% 400%;animation:gradientShift 12s ease infinite}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* Stagger children animation */
.stagger-children>*{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.stagger-children.visible>*:nth-child(1){opacity:1;transform:none;transition-delay:.05s}
.stagger-children.visible>*:nth-child(2){opacity:1;transform:none;transition-delay:.1s}
.stagger-children.visible>*:nth-child(3){opacity:1;transform:none;transition-delay:.15s}
.stagger-children.visible>*:nth-child(4){opacity:1;transform:none;transition-delay:.2s}
.stagger-children.visible>*:nth-child(5){opacity:1;transform:none;transition-delay:.25s}

/* Horizontal scroll marquee for stats */
.stats-marquee{display:flex;gap:clamp(3rem,6vw,5rem);padding:clamp(2.5rem,5vw,4rem) clamp(1.25rem,5vw,3rem);overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg2);justify-content:center;flex-wrap:wrap}
.stats-marquee__item{display:flex;align-items:baseline;gap:.75rem;flex-shrink:0;white-space:nowrap}
.stats-marquee__num{font-family:var(--fh);font-weight:900;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;color:var(--text)}
.stats-marquee__label{font-size:.875rem;color:var(--text-dim)}

/* ── SCROLL PROGRESS ───────────────────────────────────── */
.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:101;transform-origin:left;transform:scaleX(0)}

/* ── SCROLL HINT ───────────────────────────────────────── */
.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.3}
.scroll-hint__mouse{width:22px;height:36px;border:1.5px solid var(--text-light);border-radius:11px;position:relative}
.scroll-hint__mouse::before{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:2px;height:6px;border-radius:1px;background:var(--text-light);animation:scrollDot 2s ease-in-out infinite}
.scroll-hint__text{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-light)}
@keyframes scrollDot{0%,100%{opacity:1;transform:translateX(-50%) translateY(0)}50%{opacity:.2;transform:translateX(-50%) translateY(8px)}}

/* ── NAVBAR — Full-width editorial ────────────────────── */
.navbar{position:fixed;top:0;left:0;right:0;z-index:100}
.nav-inner{width:100%;max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem);height:var(--nav-h);display:flex;align-items:center}
/* Scroll state — subtle line + blur */
.navbar{transition:background .3s ease,border-color .3s ease}
.navbar.scrolled{background:rgba(255,255,255,.85);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--border)}
.nav-logo{font-family:var(--fh);font-weight:900;font-size:1.25rem;letter-spacing:-.03em;color:var(--text);margin-right:auto;flex-shrink:0;transition:color .3s ease,opacity .2s}
.nav-logo:hover{opacity:.7}
.dot{color:var(--accent)}
.nav-links,.has-dropdown,.btn-nav{display:none}
.nav-dropdown{display:none}

/* Language Switcher */
.lang-switch{display:flex;align-items:center;gap:2px;margin-left:.75rem;border:1px solid var(--border);border-radius:100px;overflow:hidden;flex-shrink:0}
.lang-switch a{padding:.35rem .6rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;color:var(--text-dim);transition:all .2s;text-decoration:none}
.lang-switch a.active{background:var(--text);color:#fff}
.lang-switch a:hover:not(.active){color:var(--text)}
.navbar.menu-open .lang-switch{border-color:rgba(255,255,255,.15)}
.navbar.menu-open .lang-switch a{color:rgba(255,255,255,.4)}
.navbar.menu-open .lang-switch a.active{background:#fff;color:var(--dark)}

/* Burger — clean lines */
.nav-burger{display:flex;flex-direction:column;gap:6px;padding:.75rem;margin-left:.5rem;cursor:pointer;-webkit-tap-highlight-color:transparent;width:44px;height:44px;align-items:center;justify-content:center;border-radius:8px;transition:background .2s}
.nav-burger:hover{background:rgba(0,0,0,.04)}
.nav-burger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .4s var(--ease),opacity .3s,width .3s,background .3s ease}
.nav-burger span:nth-child(2){width:15px;margin-left:auto}

/* Desktop nav — always hamburger, logo + burger only */
@media(min-width:768px){
  .nav-logo{font-size:1.375rem}
}
@media(min-width:1024px){
  .nav-logo{font-size:1.5rem}
}

/* ── MOBILE NAV — Premium fullscreen overlay ──────────── */
.mobile-nav{display:flex;position:fixed;inset:0;z-index:199;background:var(--dark);flex-direction:column;justify-content:center;align-items:center;padding:0 clamp(2rem,8vw,8rem);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}
.mobile-nav.open{opacity:1;visibility:visible;pointer-events:all}
/* Subtle radial accent in corner */
.mobile-nav::before{content:'';position:absolute;top:-10%;right:-10%;width:50vh;height:50vh;border-radius:50%;background:radial-gradient(circle,rgba(85,230,165,.06) 0%,transparent 70%);pointer-events:none}
/* Burger → X */
/* Burger → X (gap:6px + height:2px = 8px offset) */
.nav-burger.open{background:rgba(255,255,255,.06)}
.nav-burger.open:hover{background:rgba(255,255,255,.1)}
.nav-burger.open span{width:22px}
.nav-burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg);background:#fff}
.nav-burger.open span:nth-child(2){opacity:0;width:0}
.nav-burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);background:#fff}
.navbar.menu-open{z-index:200}
.navbar.menu-open .nav-inner{z-index:201}
.navbar.menu-open .nav-logo{color:#fff}
.navbar.menu-open,.navbar.menu-open.scrolled{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom-color:transparent!important;transition:none}
/* Links */
.mobile-nav ul{display:flex;flex-direction:column;gap:.25rem;counter-reset:menu;position:relative;z-index:1;align-items:center;text-align:center}
.mobile-nav a{display:flex;align-items:baseline;gap:1rem;padding:.75rem 0;font-family:var(--fh);font-weight:900;font-size:clamp(1.75rem,5vw,2.75rem);letter-spacing:-.03em;color:rgba(255,255,255,.4);transition:color .3s,transform .5s var(--ease),opacity .5s ease;transform:translateY(20px);opacity:0}
.mobile-nav a::before{display:none}
.mobile-nav.open a{transform:translateY(0);opacity:1}
.mobile-nav li:nth-child(1) a{transition-delay:.15s}
.mobile-nav li:nth-child(2) a{transition-delay:.2s}
.mobile-nav li:nth-child(3) a{transition-delay:.25s}
.mobile-nav li:nth-child(4) a{transition-delay:.3s}
.mobile-nav li:nth-child(5) a{transition-delay:.35s}
.mobile-nav li:nth-child(6) a{transition-delay:.4s}
.mobile-nav li:nth-child(7) a{transition-delay:.45s}
.mobile-nav a:hover{color:#fff;transform:translateX(12px)}
.mobile-nav a:hover::before{opacity:1}
/* CTA */
.btn-mobile{display:inline-block;margin-top:1.5rem;padding:.8rem 2rem;background:var(--accent);color:#000!important;border-radius:100px;font-weight:700;font-size:1rem!important;font-family:var(--fb)!important;letter-spacing:.01em;transition:background .2s}
.btn-mobile:hover{background:var(--accent-dk)}

/* ── BUTTONS — Flat, simple ──────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--fb);font-size:.9375rem;font-weight:600;padding:.75rem 1.5rem;border-radius:100px;transition:all .2s;cursor:pointer}
.btn-primary{background:var(--accent);color:#000}
.btn-primary:hover{background:var(--accent-dk)}
.btn-outline{border:1.5px solid var(--border-strong);color:var(--text)}
.btn-outline:hover{border-color:var(--text);color:var(--text)}
.btn-dark{background:var(--text);color:#fff}
.btn-dark:hover{background:#000}

/* ── BREADCRUMBS ─────────────────────────────────────── */
.breadcrumbs{max-width:var(--max);margin:0 auto;padding:calc(var(--nav-h) + 1.5rem) clamp(1.25rem,4vw,3rem) 0;font-size:.8125rem;color:var(--text-light);display:flex;align-items:center;gap:.5rem}
.breadcrumbs a{color:var(--text-dim);transition:color .2s}
.breadcrumbs a:hover{color:var(--accent)}
.bc-sep{opacity:.3}
.breadcrumbs+.page-hero{min-height:calc(100vh - var(--nav-h) - 3rem);padding-top:2rem}

/* ── TICKER ──────────────────────────────────────────── */
.ticker-wrap{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1rem 0;white-space:nowrap}
.ticker-track{display:inline-flex;align-items:center;animation:ticker 30s linear infinite}
.ticker-track span{font-size:.75rem;font-weight:500;color:var(--text-light);padding:0 1.5rem;letter-spacing:.08em;text-transform:uppercase}
.t-sep{color:var(--accent)!important;padding:0 .25rem!important;opacity:.4}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── SECTION ─────────────────────────────────────────── */
.section{width:100%;padding:clamp(5rem,10vw,8rem) clamp(1.25rem,5vw,3rem)}
.section__inner{max-width:var(--max);margin:0 auto}
/* Constrain direct text/content children */
.section>.rv,.section>.faq-list,.section>.process-steps,.section>.service-grid,.section>.industry-grid,.section>.services-layout,.section>.service-list-rows,.section>.contact-form,.section>.quote-body{max-width:var(--max);margin-left:auto;margin-right:auto}
.section--bordered{border-bottom:1px solid var(--border)}
.section-label{display:none}
.section-label::before{display:none}
.section-title{font-family:var(--fh);font-weight:900;font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.05;letter-spacing:-.03em;color:var(--text);margin-bottom:1.25rem;max-width:var(--max)}
.section-title em{font-style:normal;color:var(--accent)}
.section-sub{font-size:1.0625rem;color:var(--text-dim);line-height:1.7;max-width:520px;margin-top:.5rem}

/* ── FULL-WIDTH SECTIONS ─────────────────────────────── */
.full-section{width:100%;padding:clamp(4rem,8vw,7rem) clamp(1.25rem,5vw,3rem)}
.full-section--dark{background:var(--dark);color:#fff}
.full-section--dark .section-label{color:var(--accent)}
.full-section--dark .section-label::before{background:var(--accent)}
.full-section--dark .section-title{color:#fff}
.full-section--navy{background:var(--dark2);color:#fff}
.full-section--gray{background:var(--bg2)}
.full-section__inner{max-width:var(--max);margin:0 auto}

/* ── HERO ────────────────────────────────────────────── */
.hero{max-width:var(--max);margin:0 auto;padding:calc(var(--nav-h) + 4rem) clamp(1.25rem,5vw,3rem) clamp(3rem,6vw,5rem);min-height:100vh;display:flex;flex-direction:column;justify-content:center;position:relative}
.hero-split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,6vw,5rem);align-items:center}
.hero-content{position:relative;z-index:1}
.hero-title{font-family:var(--fh);font-weight:900;font-size:clamp(2.75rem,6vw,5rem);line-height:.95;letter-spacing:-.04em;color:var(--text);margin-bottom:2rem;max-width:14ch}
.hero-title em{font-style:normal;color:var(--accent)}
.hero-title .outline{-webkit-text-stroke:1.5px rgba(0,0,0,.15);color:transparent;font-style:normal}
.hero-desc{max-width:440px;font-size:clamp(1rem,1.5vw,1.0625rem);line-height:1.7;color:var(--text-dim)}
.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center}
.hero-stats{display:flex;gap:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--border);padding-top:2rem;margin-top:4rem;flex-wrap:wrap}
.hero-stat-n{font-family:var(--fh);font-weight:900;font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:-.03em;color:var(--text)}
.hero-stat-l{font-size:.8125rem;color:var(--text-dim);margin-top:.2rem}

/* ── PAGE HERO ───────────────────────────────────────── */
.page-hero{max-width:var(--max);margin:0 auto;padding:calc(var(--nav-h) + 3rem) clamp(1.25rem,5vw,3rem) clamp(3rem,6vw,5rem);min-height:100vh;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.page-hero-label{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-light);margin-bottom:2rem;display:flex;align-items:center;gap:.5rem;position:relative;z-index:1}
.page-hero-label::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent)}
.page-hero-title{font-family:var(--fh);font-weight:900;font-size:clamp(2.5rem,5.5vw,4.5rem);line-height:1.02;letter-spacing:-.04em;color:var(--text);margin-bottom:1.75rem;position:relative;z-index:1;max-width:800px}
.page-hero-title em{font-style:normal;color:var(--accent)}
.page-hero-sub{max-width:540px;font-size:clamp(1rem,1.5vw,1.0625rem);line-height:1.7;color:var(--text-dim);margin-bottom:2.5rem;position:relative;z-index:1}
.page-hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;position:relative;z-index:1}
/* page-hero-ghost removed — unused */
.page-hero-stats{display:flex;gap:clamp(2rem,4vw,4rem);border-top:1px solid var(--border);padding-top:1.75rem;margin-top:3rem;flex-wrap:wrap;position:relative;z-index:1}
.page-hero-stat-n{font-family:var(--fh);font-weight:900;font-size:clamp(1.25rem,2vw,1.75rem);letter-spacing:-.03em;color:var(--text)}
.page-hero-stat-l{font-size:.8125rem;color:var(--text-dim);margin-top:.25rem}

/* ── MANIFESTO ───────────────────────────────────────── */
.manifesto{padding:clamp(5rem,10vw,8rem) clamp(1.25rem,5vw,3rem);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.manifesto::before{display:none}
.manifesto::after{display:none}
.manifesto__inner{max-width:var(--max);margin:0 auto}
.manifesto__text{font-family:var(--fh);font-weight:900;font-size:clamp(1.75rem,3.5vw,2.75rem);line-height:1.2;letter-spacing:-.03em;color:var(--text);max-width:800px}
.manifesto__text em{font-style:normal;color:var(--accent)}
.manifesto__foot{display:flex;align-items:center;gap:2rem;margin-top:2.5rem}
.manifesto__link{font-size:.9375rem;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:.5rem;border-bottom:1.5px solid var(--border-strong);padding-bottom:.15rem;transition:color .2s,border-color .2s}
.manifesto__link:hover{color:var(--accent);border-color:var(--accent)}

/* ── SERVICE CARDS — Clean, minimal ─────────────────── */
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:clamp(3rem,6vw,5rem);background:var(--border);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.service-card{background:var(--bg);padding:clamp(2rem,4vw,2.75rem);display:flex;flex-direction:column;gap:.875rem;transition:background .3s}
.service-card::before,.service-card::after{display:none}
.service-card:hover{background:var(--bg2)}
.service-card__icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.service-card__icon svg{width:22px;height:22px}
.service-card__icon--web{background:var(--accent-light);color:var(--accent-dk)}
.service-card__icon--process{background:#fef3c7;color:#d97706}
.service-card__icon--ai{background:#ede9fe;color:#7c3aed}
.service-card__icon--strategy{background:#fef2f2;color:#dc2626}
.service-card__num{font-family:var(--fh);font-weight:900;font-size:.7rem;letter-spacing:.1em;color:var(--text-light)}
.service-card__title{font-family:var(--fh);font-weight:900;font-size:clamp(1.125rem,2vw,1.375rem);letter-spacing:-.02em;color:var(--text);line-height:1.2}
.service-card__text{font-size:.9375rem;color:var(--text-dim);line-height:1.65}
.service-card__link{font-size:.875rem;font-weight:600;color:var(--text-dim);display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;transition:color .2s,gap .2s}
.service-card__link:hover{color:var(--accent);gap:.6rem}

/* ── DATA GRID ───────────────────────────────────────── */
.data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:var(--max);margin:0 auto}
.data-card{padding:clamp(2.5rem,5vw,4rem);border-right:1px solid rgba(255,255,255,.06);text-align:center}
.data-card:last-child{border-right:none}
.data-card__num{font-family:var(--fh);font-weight:900;font-size:clamp(3rem,6vw,5rem);letter-spacing:-.05em;line-height:.9;color:var(--accent);margin-bottom:.75rem}
.data-card__label{font-size:.875rem;color:rgba(255,255,255,.4);line-height:1.5;max-width:22ch;margin:0 auto}
.data-card__source{font-size:.7rem;color:rgba(255,255,255,.2);margin-top:.5rem;font-style:italic}

/* ── PROCESS STEPS — Clean timeline ──────────────────── */
.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(3rem,6vw,5rem);counter-reset:step;border-top:1px solid var(--border)}
.process-step{position:relative;padding:2.5rem clamp(1.25rem,2vw,2rem) 2rem}
.process-step::before{counter-increment:step;content:'0' counter(step);font-family:var(--fh);font-weight:900;font-size:clamp(1.5rem,2.5vw,2rem);color:var(--accent);opacity:.25;display:block;margin-bottom:1.25rem}
.process-step__title{font-family:var(--fh);font-weight:900;font-size:clamp(1rem,1.5vw,1.25rem);letter-spacing:-.01em;color:var(--text);margin-bottom:.75rem}
.process-step__text{font-size:.9375rem;color:var(--text-dim);line-height:1.65}
.process-step__connector{display:none}

/* ── INDUSTRY CARDS ──────────────────────────────────── */
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:clamp(3rem,6vw,5rem)}
.industry-card{position:relative;overflow:hidden;min-height:clamp(320px,38vh,420px);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(2rem,3vw,2.5rem);border:1px solid var(--border);border-radius:16px;transition:all .4s var(--ease)}
.industry-card:hover{box-shadow:0 16px 40px rgba(0,0,0,.08);transform:translateY(-4px)}
.industry-card--hotel{background:linear-gradient(170deg,#f0fdf9,#fafafa)}
.industry-card--handwerk{background:linear-gradient(170deg,#fffbeb,#fafafa)}
.industry-card--kmu{background:linear-gradient(170deg,#eef2ff,#fafafa)}
.industry-card__icon{position:absolute;top:clamp(1.5rem,3vw,2rem);right:clamp(1.5rem,3vw,2rem);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1}
.industry-card__icon svg{width:22px;height:22px}
.industry-card--hotel .industry-card__icon{background:#d1fae5}
.industry-card--handwerk .industry-card__icon{background:#fef3c7}
.industry-card--kmu .industry-card__icon{background:#e0e7ff}
.industry-card__content{position:relative;z-index:1}
.industry-card__label{font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-light);margin-bottom:clamp(4rem,10vh,8rem)}
.industry-card__title{font-family:var(--fh);font-weight:900;font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:-.03em;color:var(--text);line-height:1.05;margin-bottom:.75rem}
.industry-card__sub{font-size:.9375rem;color:var(--text-dim);line-height:1.5;margin-bottom:1.25rem}
.industry-card__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding-top:1rem}
.industry-card__meta{font-size:.7rem;color:var(--text-light);letter-spacing:.04em}
.industry-card__arrow{font-size:.875rem;color:var(--text-light);transition:color .2s,transform .3s;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%}
.industry-card:hover .industry-card__arrow{color:var(--accent);transform:translate(2px,-2px)}

/* ── QUOTE ────────────────────────────────────────────── */
.quote-section{background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.quote-section::before{display:none}
.quote-section__inner{max-width:var(--max);margin:0 auto;padding:clamp(5rem,10vw,8rem) clamp(1.25rem,5vw,3rem);display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,6vw,5rem);align-items:start}
.quote-body{padding-left:0}
.quote-mark{font-family:var(--fh);font-size:clamp(3rem,5vw,5rem);font-weight:900;color:var(--accent);line-height:.75;margin-bottom:1rem;opacity:.3}
.quote-text{font-family:var(--fh);font-weight:900;font-size:clamp(1.25rem,2.5vw,1.75rem);line-height:1.3;letter-spacing:-.02em;color:var(--text);margin-bottom:1.5rem}
.quote-text em{font-style:normal;color:var(--accent)}
.quote-author-name{font-weight:600;font-size:.9375rem;color:var(--text)}
.quote-author-role{font-size:.8125rem;color:var(--text-dim);margin-top:.15rem}
.quote-stats{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border)}
.quote-stats>div{padding:clamp(1.25rem,2vw,2rem) 0;border-bottom:1px solid var(--border)}
.quote-stat-n{font-family:var(--fh);font-weight:900;font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.04em;color:var(--accent);line-height:1}
.quote-stat-l{font-size:.8125rem;color:var(--text-dim);margin-top:.3rem}

/* ── VISUAL BREAK — Clean dark ───────────────────────── */
.visual-break{background:var(--dark);color:#fff;padding:clamp(5rem,10vw,8rem) clamp(1.25rem,5vw,3rem);position:relative;overflow:hidden}
.visual-break .blob-bg{display:block;position:absolute;width:clamp(300px,40vw,500px);height:clamp(300px,40vw,500px);border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0}
.visual-break-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,6vw,5rem);align-items:center;position:relative;z-index:1}
.visual-break-text h2{font-family:var(--fh);font-weight:900;font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.03em;color:#fff;margin-bottom:1.25rem}
.visual-break-text h2 em{font-style:normal;color:var(--accent)}
.visual-break-text p{font-size:1rem;color:rgba(255,255,255,.45);line-height:1.7;max-width:42ch}
/* Blobs only visible inside .visual-break */
.blob-bg,.blob-accent,.blob-purple{display:none}
.visual-break .blob-bg,.visual-break .blob-accent,.visual-break .blob-purple{display:block}

/* ── SERVICE LIST ROWS ───────────────────────────────── */
.services-layout{display:flex;flex-direction:column}
.service-list-rows{margin-top:clamp(2rem,4vw,3.5rem)}
.service-list-row{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:1.5rem;padding:clamp(1.25rem,2vw,1.75rem) 0;border-bottom:1px solid var(--border);transition:padding-left .3s var(--ease)}
.service-list-row:hover{padding-left:.5rem}
.service-list-row:first-child{border-top:1px solid var(--border)}
.service-list-num{font-family:var(--fh);font-size:.8125rem;font-weight:900;color:var(--text-light)}
.service-list-title{font-family:var(--fh);font-weight:900;font-size:clamp(1.125rem,2vw,1.5rem);letter-spacing:-.02em;color:var(--text)}
.service-list-sub{font-size:.875rem;color:var(--text-dim);margin-top:.25rem}
.service-list-arrow{font-size:.875rem;color:var(--text-light);transition:color .2s,transform .3s;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%}
.service-list-row:hover .service-list-arrow{color:var(--accent);transform:translate(2px,-2px)}

/* ── FAQ — Simple accordion ──────────────────────────── */
.faq-list{display:flex;flex-direction:column;margin-top:clamp(2rem,4vw,3.5rem);border-top:1px solid var(--border);max-width:var(--max);margin-left:auto;margin-right:auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 0;font-size:1rem;font-weight:600;color:var(--text);text-align:left;transition:color .2s}
.faq-question:hover{color:var(--accent)}
.faq-icon{flex-shrink:0;font-size:1.125rem;font-weight:300;color:var(--text-light);transition:transform .3s var(--ease),color .2s}
.faq-item.open .faq-icon{transform:rotate(45deg);color:var(--accent)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-item.open .faq-answer{max-height:500px}
.faq-answer p{padding-bottom:1.5rem;font-size:.9375rem;color:var(--text-dim);line-height:1.7;max-width:640px}
.faq-grid{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.faq-grid details{border-bottom:1px solid var(--border)}
.faq-grid summary{padding:1.25rem 0;font-size:1rem;font-weight:600;color:var(--text);cursor:pointer;list-style:none}
.faq-grid summary::-webkit-details-marker{display:none}
.faq-grid summary:hover{color:var(--accent)}
.faq-grid details p{padding:0 0 1.5rem;font-size:.9375rem;color:var(--text-dim);line-height:1.7;max-width:640px}

/* ── CONTACT FORM ────────────────────────────────────── */
.contact-form{display:flex;flex-direction:column;gap:1.25rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem}
.form-group label{font-size:.8125rem;font-weight:500;color:var(--text-dim)}
.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:1px solid var(--border-strong);border-radius:8px;font-size:.9375rem;color:var(--text);background:var(--bg);transition:border-color .2s;outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}
.form-group textarea{resize:vertical;min-height:100px}
.btn-submit{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:700;cursor:pointer;transition:background .2s}
.btn-submit:hover{opacity:.9}
.btn-text{flex:1;text-align:center}

/* ── SLOGAN BAND ─────────────────────────────────────── */
.slogan-band{padding:clamp(2rem,4vw,3rem) clamp(1.25rem,4vw,3rem);overflow:hidden}
.slogan-band-text{display:flex;align-items:center;justify-content:center;gap:clamp(.75rem,2vw,1.5rem);font-family:var(--fh);font-weight:900;font-size:clamp(2rem,5vw,4rem);letter-spacing:-.04em;white-space:nowrap;color:var(--text)}
.slogan-outline{color:var(--text-dim)}
.slogan-accent{color:var(--accent)}
.slogan-icon{display:flex;align-items:center;width:clamp(1.5rem,3vw,2.5rem);color:var(--accent)}
.slogan-icon svg{width:100%;height:100%}
.squiggle-sep{display:block;margin:2rem auto;width:160px;height:8px;opacity:.2}

/* ── FIXED CTA ───────────────────────────────────────── */
.fixed-cta{position:fixed;bottom:1.5rem;right:1.5rem;padding:.7rem 1.25rem;background:var(--accent);color:#000;font-size:.8125rem;font-weight:700;border-radius:100px;box-shadow:0 4px 16px rgba(0,0,0,.1);z-index:90;opacity:0;transform:translateY(16px);pointer-events:none;transition:all .3s var(--ease)}
.fixed-cta.visible{opacity:1;transform:translateY(0);pointer-events:all}
.fixed-cta:hover{background:var(--accent-dk)}

/* ── FOOTER — Simple dark ────────────────────────────── */
.footer{background:var(--dark);color:#fff;padding:clamp(4rem,8vw,6rem) clamp(1.25rem,5vw,3rem) 2rem}
.footer::before{display:none}
.footer-inner{max-width:var(--max);margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,3rem);margin-bottom:clamp(3rem,5vw,4rem)}
.footer-logo{font-family:var(--fh);font-weight:900;font-size:1.25rem;color:#fff;margin-bottom:1rem}
.footer-desc{font-size:.875rem;color:rgba(255,255,255,.35);line-height:1.6;max-width:260px}
.footer-col h4{font-family:var(--fh);font-weight:700;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:1.25rem}
.footer-col ul{display:flex;flex-direction:column;gap:.5rem}
.footer-col a{font-size:.875rem;color:rgba(255,255,255,.4);transition:color .2s}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.06);flex-wrap:wrap;gap:1rem}
.footer-copy{font-size:.75rem;color:rgba(255,255,255,.2)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:.75rem;color:rgba(255,255,255,.25);transition:color .2s}
.footer-legal a:hover{color:rgba(255,255,255,.5)}

/* ── MOCKUPS — Subtle, clean ─────────────────────────── */
.mockup-phone{width:clamp(220px,28vw,320px);background:#1a1f2e;border-radius:24px;padding:6px;box-shadow:0 16px 48px rgba(0,0,0,.12);position:relative;flex-shrink:0}
.mockup-phone-notch{width:30%;height:12px;background:#1a1f2e;border-radius:0 0 8px 8px;margin:0 auto 4px}
.mockup-phone-screen{background:#12162a;border-radius:20px;padding:.875rem;min-height:280px;overflow:hidden}
.chat-container{display:flex;flex-direction:column;gap:.4rem}
.chat-bubble{padding:.6rem .85rem;border-radius:12px;font-size:.7rem;line-height:1.5;max-width:85%;animation:chatIn .4s var(--ease) both}
.chat-bubble--bot{background:rgba(255,255,255,.06);color:rgba(255,255,255,.6);align-self:flex-start;border-bottom-left-radius:3px}
.chat-bubble--user{background:var(--accent);color:#000;align-self:flex-end;border-bottom-right-radius:3px;font-weight:500}
@keyframes chatIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.mockup-dashboard{background:#1a1f2e;border-radius:14px;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.12);width:100%;max-width:520px}
.mockup-dash-bar{display:flex;align-items:center;gap:4px;padding:8px 12px;background:rgba(255,255,255,.03)}
.mockup-dash-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.08)}
.mockup-dash-screen{padding:.875rem}
.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}
.dash-logo{font-size:.55rem;font-weight:700;color:rgba(255,255,255,.4)}
.dash-status{font-size:.45rem;color:var(--accent);display:flex;align-items:center;gap:3px}
.dash-status-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);animation:pulse 2s ease infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-bottom:.75rem}
.dash-stat-card{background:rgba(255,255,255,.03);border-radius:8px;padding:.4rem;text-align:center}
.dash-stat-num{font-family:var(--fh);font-weight:900;font-size:.7rem;letter-spacing:-.02em;color:#fff}
.dash-stat-label{font-size:.35rem;color:rgba(255,255,255,.3);margin-top:.15rem}
.dash-chart svg{width:100%;display:block}

/* ── BACKGROUND VARIANTS ─────────────────────────────── */
.bg-soft{background:#fafafa}
.bg-mint{background:#fafafa}
.bg-warm{background:#fafafa}
.bg-cool{background:#fafafa}

/* ── DECORATIVE ICONS — Large, low-opacity background elements ── */
.deco{position:absolute;pointer-events:none;user-select:none;z-index:0;opacity:.04;color:var(--text)}
.deco svg{width:100%;height:100%}
.deco--sm{width:clamp(60px,8vw,100px);height:clamp(60px,8vw,100px)}
.deco--md{width:clamp(120px,16vw,200px);height:clamp(120px,16vw,200px)}
.deco--lg{width:clamp(200px,25vw,360px);height:clamp(200px,25vw,360px)}
.deco--accent{color:var(--accent);opacity:.06}

/* ── COOKIE BANNER ──────────────────────────────────────── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--dark);border-top:1px solid rgba(255,255,255,.08);z-index:9999;padding:clamp(1.25rem,3vw,1.75rem) clamp(1.25rem,4vw,3rem);transform:translateY(100%);transition:transform .5s var(--ease),opacity .4s ease;opacity:0}
.cookie-banner.visible{transform:translateY(0);opacity:1}
.cookie-banner.hiding{transform:translateY(100%)}
.cookie-banner__inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.cookie-banner__text{flex:1;min-width:220px;margin:0;font-size:.875rem;color:rgba(255,255,255,.6);line-height:1.6}
.cookie-banner__text a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.cookie-banner__text a:hover{color:var(--accent-dk)}
.cookie-banner__actions{display:flex;gap:.75rem;flex-shrink:0}
.cookie-banner__btn{padding:.6rem 1.5rem;border:none;border-radius:100px;font-weight:700;font-size:.8125rem;cursor:pointer;font-family:var(--fb);transition:all .2s;white-space:nowrap}
.cookie-banner__btn--accept{background:var(--accent);color:#000}
.cookie-banner__btn--accept:hover{background:var(--accent-dk)}
.cookie-banner__btn--reject{background:transparent;color:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.1)}
.cookie-banner__btn--reject:hover{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.2)}
@media(max-width:540px){
  .cookie-banner__inner{flex-direction:column;gap:1rem;text-align:center}
  .cookie-banner__actions{width:100%;justify-content:center}
  .cookie-banner__btn{flex:1}
}

/* ── LEGAL PAGES — Centered, readable ──────────────────── */
.legal-section{width:100%;padding:calc(var(--nav-h) + 3rem) clamp(1.25rem,5vw,3rem) clamp(5rem,10vw,8rem)}
.legal-section h1{font-family:var(--fh);font-weight:900;font-size:clamp(2.5rem,5vw,3.5rem);letter-spacing:-.03em;margin-bottom:2.5rem;color:var(--text);max-width:720px;margin-left:auto;margin-right:auto}
.legal-content{max-width:720px;margin:0 auto;font-size:.9375rem;color:var(--text-dim);line-height:1.8;display:flex;flex-direction:column;gap:2rem}
.legal-content h2{font-family:var(--fh);font-weight:900;font-size:1.125rem;color:var(--text);margin-bottom:.5rem}
.legal-content ul{display:flex;flex-direction:column;gap:.25rem;padding-left:1.25rem;list-style:disc}
.legal-content a{color:var(--accent)}
.legal-content strong{color:var(--text)}

/* ── DECORATIVE — Selective, subtle ─────────────────── */
.hero-deco{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.glow-accent{position:absolute;width:clamp(300px,50vw,600px);height:clamp(300px,50vw,600px);border-radius:50%;background:radial-gradient(circle,rgba(85,230,165,.04) 0%,transparent 70%);pointer-events:none}
.blob-bg{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.blob-accent{background:radial-gradient(circle,rgba(85,230,165,.05) 0%,transparent 70%)}
.blob-purple{background:radial-gradient(circle,rgba(99,102,241,.04) 0%,transparent 70%)}
/* Keep these hidden — too cluttery */
.dot-grid,.scribble-deco,.float-icon{display:none}
/* Ghost text — very subtle */
.giant-text{position:absolute;font-family:var(--fh);font-weight:900;letter-spacing:-.06em;pointer-events:none;user-select:none;z-index:0;color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.02)}
.giant-text--right{right:-0.02em;top:50%;transform:translateY(-50%);font-size:clamp(8rem,18vw,14rem)}

/* ── SECTION DIVIDER SHAPES ──────────────────────────── */
.section-divider{width:100%;height:clamp(40px,6vw,80px);position:relative;overflow:hidden}
.section-divider--wave svg{width:100%;height:100%;display:block}
.section-divider--dark{background:var(--dark)}
.section-divider--light{background:var(--bg)}
.section-divider--soft{background:#f7f8fa}

/* ── VISUAL ACCENT STRIP ─────────────────────────────── */
.accent-strip{height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.15;margin:0}

/* ── DARK SECTION enhanced ───────────────────────────── */
/* ── RESPONSIVE ──────────────────────────────────────── */
@media(max-width:900px){
  .hero{min-height:auto;padding-top:calc(var(--nav-h) + 2rem);padding-bottom:3rem}
  .page-hero{min-height:auto;padding-top:calc(var(--nav-h) + 2rem);padding-bottom:3rem}
  .breadcrumbs+.page-hero{min-height:auto;padding-top:1.5rem}
  .hero-split{grid-template-columns:1fr;gap:2rem}
  .hero-visual{order:2;max-width:380px;margin:0 auto;position:relative!important}
  .hero-visual .mockup-phone{position:relative!important;bottom:auto!important;left:auto!important}
  .hero-cta{margin-top:2rem}
  .hero-stats,.page-hero-stats{flex-direction:row;flex-wrap:wrap;gap:1.25rem}
  .hero-stats>div,.page-hero-stats>div{flex:1;min-width:80px}
  .deco{display:none}
  [style*="grid-template-columns:1fr 1fr"],[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important;gap:2rem!important}
  .full-section{padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,3rem)!important}
  .visual-break{padding:clamp(3.5rem,8vw,6rem) clamp(1.25rem,5vw,3rem)}
  .visual-break-inner{grid-template-columns:1fr;gap:2.5rem}
  .quote-section__inner{grid-template-columns:1fr;gap:2.5rem}
  .service-grid{grid-template-columns:1fr;border-radius:12px}
  .data-grid{grid-template-columns:repeat(2,1fr)!important;gap:0}
  .data-card{border-right:1px solid rgba(255,255,255,.06)!important;border-bottom:1px solid rgba(255,255,255,.06);padding:clamp(1.5rem,3vw,2.5rem)!important}
  .data-card:nth-child(2n){border-right:none!important}
  .data-card:last-child{border-bottom:none}
  .data-card__num{font-size:clamp(2rem,5vw,3rem)!important}
  .data-card__label{font-size:.75rem}
  .process-steps{grid-template-columns:1fr}
  .industry-grid{grid-template-columns:1fr;gap:.875rem}
  .industry-card{min-height:220px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .form-row{grid-template-columns:1fr}
  .slogan-band-text{font-size:clamp(1.5rem,5vw,2.5rem)}
  .section{padding:clamp(3.5rem,8vw,6rem) clamp(1.25rem,5vw,3rem)}
  .mockup-dashboard{max-width:360px!important;margin:0 auto}
  [style*="order:2"],[style*="order:1"]{order:0!important}
  .btn{padding:.875rem 1.75rem}
  .faq-question{font-size:.9375rem}
  .service-list-row{grid-template-columns:2.5rem 1fr auto;gap:1rem}
  .scroll-hint{display:none}
}
@media(max-width:540px){
  .hero{min-height:auto;padding-top:calc(var(--nav-h) + 2.5rem);padding-bottom:2rem}
  .hero-stats,.page-hero-stats{flex-direction:row;flex-wrap:wrap;gap:1.25rem}
  .hero-stats>div,.page-hero-stats>div{flex:1;min-width:80px}
  .footer-grid{grid-template-columns:1fr}
  .hero-title{font-size:clamp(2rem,8vw,3rem)}
  .section-title{font-size:clamp(1.75rem,6vw,2.5rem)}
  .nav-inner{height:56px;padding:0 1rem}
  .nav-logo{font-size:1.125rem}
  .mockup-phone{width:clamp(180px,50vw,240px)!important}
  .mockup-dashboard{max-width:300px!important;border-radius:10px}
  .hero-visual .mockup-phone[style*="position:absolute"]{position:relative!important;bottom:auto!important;left:auto!important;margin-top:-1.5rem}
  .data-grid{grid-template-columns:repeat(2,1fr)!important}
  .data-card__num{font-size:clamp(1.75rem,6vw,2.5rem)!important}
  .data-card__label{font-size:.7rem!important}
  [style*="grid-template-columns:1.3fr 1fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1.1fr .9fr"]{grid-template-columns:1fr!important}
  .quote-stats{flex-direction:row;flex-wrap:wrap;gap:1.25rem;border-top:1px solid var(--border);padding-top:1.25rem}
  .quote-stats>div{border-bottom:none;padding:.5rem 0;flex:1;min-width:85px}
  .slogan-band-text{font-size:clamp(1.25rem,4.5vw,2rem);gap:.5rem}
  .contact-form{padding:1.25rem!important}
}
@media(max-height:500px) and (orientation:landscape){
  .hero,.page-hero{min-height:auto;padding-top:calc(var(--nav-h) + 2rem);padding-bottom:2rem}
}
@media(hover:none){
  .industry-card:hover{transform:none}
  .service-list-row:hover{padding-left:0}
}
