:root {
  --navy: #07152f;
  --navy-2: #0b1f44;
  --cyan: #00c8ff;
  --amber: #ffb020;
  --ink: #111b2e;
  --muted: #667188;
  --paper: #f5f8fc;
  --white: #ffffff;
  --line: rgba(11, 31, 68, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, Avenir, "Segoe UI", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.topbar {
  align-items: center;
  background: rgba(1, 17, 53, 0.97);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: white;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  height: 86px;
  padding: 0 clamp(24px, 5vw, 78px);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 20;
}
.brand { align-items:center; display:inline-flex; width:max-content; }
.brand-logo { display:block; height:66px; object-fit:contain; width:auto; }
nav { display:flex; gap:clamp(18px,2vw,30px); }
nav a { color: rgba(255,255,255,.72); font-size: 14px; font-weight: 600; transition: color .2s; }
nav a:hover, nav a:focus-visible { color: white; }
.language-switch { align-items:center; display:inline-flex; gap:7px; margin-left:2px; }
.language-switch > span { color:rgba(255,255,255,.28); }
.language-switch a { color:rgba(255,255,255,.55); font-family:"Space Grotesk",Inter,sans-serif; font-size:12px; letter-spacing:.08em; }
.language-switch a.active { color:var(--cyan); }
.topbar-actions { align-items:center; display:flex; gap:16px; justify-self:end; }
.topbar-email { color:rgba(255,255,255,.72); font-size:13px; font-weight:700; white-space:nowrap; }
.topbar-email:hover,.topbar-email:focus-visible { color:var(--cyan); }
.button {
  align-items: center;
  background: var(--cyan);
  border: 0;
  border-radius: 4px;
  color: #041126;
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  min-height: 54px;
  padding: 0 24px;
  transition: transform .2s, background .2s;
}
.button:hover { background: #36d4ff; transform: translateY(-2px); }
.button-small { font-size: 13px; justify-self: end; min-height: 42px; padding: 0 18px; }
.menu-toggle { display: none; }

.hero {
  align-items: center;
  background:#031022 url("assets/arcade-showroom-v2.webp") center/cover no-repeat;
  color: white;
  display: grid;
  grid-template-columns: 1fr;
  min-height: 760px;
  overflow: hidden;
  padding: 150px clamp(24px, 6vw, 96px) 92px;
  position: relative;
}
.hero-video { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; z-index:0; }
.hero-slideshow { inset:0; overflow:hidden; position:absolute; z-index:0; }
.hero-slideshow span { animation:hero-slide 24s infinite; background-position:center; background-repeat:no-repeat; background-size:cover; inset:-3%; opacity:0; position:absolute; transform:scale(1.02); will-change:opacity,transform; }
.hero-slideshow span:nth-child(1) { background-image:url("assets/hero-cranes-full.webp"); }
.hero-slideshow span:nth-child(2) { animation-delay:6s; background-image:url("assets/hero-mobile-slide-2-v32.webp"); }
.hero-slideshow span:nth-child(3) { animation-delay:12s; background-image:url("assets/hero-mobile-slide-3-v32.webp"); }
.hero-slideshow span:nth-child(4) { animation-delay:18s; background-image:url("assets/hero-mobile-slide-4-v32.webp"); }
@keyframes hero-slide {
  0% { opacity:0; transform:scale(1.02) translate3d(0,0,0); }
  4%,24% { opacity:1; }
  29%,100% { opacity:0; }
  29% { transform:scale(1.1) translate3d(-1.2%,.5%,0); }
}
.hero-video-shade {
  background:
    linear-gradient(90deg,rgba(3,12,29,.98) 0%,rgba(3,12,29,.91) 38%,rgba(3,12,29,.52) 68%,rgba(3,12,29,.25) 100%),
    linear-gradient(0deg,rgba(3,12,29,.72),transparent 58%);
  inset:0;
  position:absolute;
  z-index:1;
}
.hero::before {
  background: radial-gradient(circle, rgba(0,200,255,.12) 1px, transparent 1.5px);
  background-size: 28px 28px;
  content: "";
  height: 380px;
  left: -40px;
  mask-image: linear-gradient(to bottom,black,transparent);
  opacity: .55;
  position: absolute;
  top: 130px;
  width: 300px;
  z-index:1;
}
.hero-copy { max-width: 760px; position: relative; z-index: 2; }
.eyebrow { align-items: center; color: rgba(255,255,255,.66); display: flex; font-size: 12px; font-weight: 800; gap: 10px; letter-spacing: .17em; margin: 0 0 24px; text-transform: uppercase; }
.eyebrow > span { background: var(--amber); border-radius: 50%; height: 7px; width: 7px; }
h1, h2, h3 { font-family: Avenir, "Segoe UI", system-ui, sans-serif; line-height: 1.08; margin-top: 0; }
h1 { font-size: clamp(3.15rem, 5.2vw, 5.65rem); letter-spacing: -.055em; margin-bottom: 28px; }
h1 span, h2 span { color: var(--cyan); }
.hero-lead { color: rgba(255,255,255,.72); font-size: clamp(1rem,1.3vw,1.18rem); line-height: 1.75; margin: 0; max-width: 620px; }
.hero-lead strong { color: white; }
.hero-actions { align-items: center; display: flex; gap: 28px; margin-top: 36px; }
.text-link { border-bottom: 1px solid rgba(255,255,255,.24); color: white; font-size: 14px; font-weight: 700; padding-bottom: 5px; }
.text-link span { color: var(--cyan); margin-left: 7px; }
.trust-line { align-items:center; display:flex; gap:28px; justify-content:center; margin-top:72px; max-width:1180px; text-align:center; width:calc(100vw - 2 * clamp(24px, 6vw, 96px)); }
.trust-line strong { font-family:"Space Grotesk"; font-size:26px; white-space:nowrap; }
.trust-line > span { background:rgba(255,255,255,.3); height:46px; width:1px; }
.trust-line p { color:rgba(255,255,255,.68); font-size:17px; margin:0; }

.hero-visual { border:1px solid rgba(255,255,255,.15); height:540px; overflow:hidden; position:relative; }
.hero-visual > img { height:100%; object-fit:cover; width:100%; }
.hero-image-shade { background:linear-gradient(90deg,rgba(7,21,47,.4),transparent 45%),linear-gradient(0deg,rgba(7,21,47,.6),transparent 50%); inset:0; position:absolute; }
.visual-glow { background: radial-gradient(circle, rgba(0,200,255,.25),transparent 65%); filter: blur(10px); inset: 30px 0; position: absolute; }
.floor-grid {
  background-image: linear-gradient(rgba(0,200,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(0,200,255,.13) 1px,transparent 1px);
  background-size: 46px 46px;
  bottom: 35px;
  height: 300px;
  left: 0;
  mask-image: linear-gradient(to top,black,transparent);
  position: absolute;
  transform: rotateX(62deg);
  width: 100%;
}
.cabinet { background: linear-gradient(145deg,#132c57,#07142e); border: 1px solid rgba(0,200,255,.45); border-radius: 13px 13px 7px 7px; box-shadow: 0 0 40px rgba(0,200,255,.15), inset 0 0 20px rgba(0,200,255,.07); height: 310px; padding: 20px 15px; position: absolute; width: 155px; }
.cabinet::before { background: linear-gradient(155deg,rgba(0,200,255,.18),rgba(255,176,32,.08)); border: 2px solid var(--cyan); border-radius: 6px; box-shadow: inset 0 0 20px rgba(0,200,255,.25); content:""; height: 180px; left: 15px; position:absolute; right:15px; top:44px; }
.cabinet span { color: var(--cyan); font: 700 11px "Space Grotesk"; letter-spacing: .2em; position: relative; }
.cabinet i { background: var(--amber); border-radius: 50%; bottom: 35px; box-shadow: 0 0 16px var(--amber); height: 16px; position: absolute; right: 28px; width: 16px; }
.cabinet-one { bottom: 76px; left: 9%; transform: rotateY(12deg); }
.cabinet-two { bottom: 92px; left: 36%; transform: scale(.88) rotateY(7deg); }
.racer { bottom: 66px; height: 235px; position: absolute; right: 2%; width: 215px; }
.screen { align-items:center; background:linear-gradient(145deg,#162f55,#0b1730); border:5px solid #10254a; border-bottom-color:var(--cyan); border-radius:8px; box-shadow:0 0 25px rgba(0,200,255,.18); color:rgba(255,255,255,.72); display:flex; font:700 14px "Space Grotesk"; height:135px; justify-content:center; letter-spacing:.25em; transform:skewY(-3deg); }
.seat { background:linear-gradient(145deg,#18335f,#07142d); border-radius:40px 12px 10px 15px; bottom:0; height:110px; position:absolute; right:26px; transform:skewX(-14deg); width:95px; }
.score-card { background:rgba(11,31,68,.85); border:1px solid rgba(255,255,255,.15); border-left:3px solid var(--amber); border-radius:7px; box-shadow:0 18px 40px rgba(0,0,0,.3); display:grid; gap:4px; padding:16px 20px; position:absolute; right:18px; top:46px; width:180px; }
.score-card small,.score-card span { color:rgba(255,255,255,.58); font-size:11px; }
.score-card strong { font:700 28px "Space Grotesk"; }
.hero-score { bottom:72px; right:clamp(24px,6vw,96px); top:auto; z-index:2; }

.fit-strip { background:white; box-shadow:0 10px 32px rgba(7,21,47,.06); display:grid; grid-template-columns:repeat(3,1fr); margin:-34px auto 0; max-width:1180px; position:relative; z-index:5; }
.fit-strip p { border-right:1px solid var(--line); display:grid; grid-template-columns:56px 1fr; margin:0; padding:34px 36px; }
.fit-strip p:last-child { border:0; }
.fit-strip p > span { color:var(--cyan); font:700 18px "Space Grotesk"; grid-row:span 2; }
.fit-strip strong { font:700 19px "Space Grotesk"; line-height:1.35; }
.fit-strip small { color:var(--muted); font-size:16px; line-height:1.45; }
.section { padding:110px max(24px,calc((100vw - 1180px)/2)); }
.intro { align-items:end; display:grid; gap:80px; grid-template-columns:1.1fr .9fr; }
.eyebrow.dark { color:#69758b; }
h2 { font-size:clamp(2.3rem,4vw,4.1rem); letter-spacing:-.045em; margin-bottom:0; }
.intro-copy { color:var(--muted); font-size:18px; max-width:500px; }
.intro-copy p { margin-top:0; }
.dark-link { border-color:var(--line); color:var(--ink); display:inline-block; margin-top:16px; }
.expertise { background:var(--navy); color:white; display:grid; gap:80px; grid-template-columns:.9fr 1.1fr; }
.expertise-story { max-width:560px; }
.jeutel-logo-panel { background:white; border:1px solid rgba(255,255,255,.18); border-radius:8px; box-shadow:0 18px 38px rgba(0,0,0,.24); margin:24px 0 42px; max-width:430px; overflow:hidden; padding:12px 16px; }
.jeutel-logo-panel img { display:block; height:auto; width:100%; }
.experience-number { color:white; font:800 clamp(5rem,9vw,8.5rem)/.8 "Space Grotesk",sans-serif; letter-spacing:-.08em; margin:34px 0 16px; }
.experience-number span { color:var(--cyan); font-size:.48em; vertical-align:top; }
.experience-label { border-left:2px solid var(--amber); color:rgba(255,255,255,.62); font-size:13px; margin:0 0 55px; padding-left:16px; text-transform:uppercase; letter-spacing:.08em; }
.expertise-story h2 { font-size:clamp(2.2rem,3.6vw,3.8rem); margin-bottom:28px; }
.expertise-story > p:not(.eyebrow):not(.experience-number):not(.experience-label) { color:rgba(255,255,255,.66); margin:0 0 16px; }
.founder-card { align-items:center; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.11); border-left:3px solid var(--amber); display:grid; gap:22px; grid-template-columns:112px 1fr; margin:34px 0 0; padding:12px; }
.founder-card img { height:138px; object-fit:cover; object-position:center 21%; width:112px; }
.founder-card figcaption { display:grid; padding-right:12px; }
.founder-card small { color:var(--cyan); font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.founder-card strong { color:white; font:700 22px "Space Grotesk"; margin:5px 0 7px; }
.founder-card p { color:rgba(255,255,255,.6); font-size:13px; line-height:1.55; margin:0; }
.expertise-grid { align-content:center; display:grid; gap:1px; grid-template-columns:1fr; }
.expertise-grid article { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); display:grid; grid-template-areas:"body image"; grid-template-columns:minmax(0,1fr) 42%; min-height:174px; overflow:hidden; }
.expertise-image { grid-area:image; height:100%; min-height:174px; overflow:hidden; }
.expertise-image img { height:100%; object-fit:cover; transition:transform .45s ease; width:100%; }
.expertise-grid article:hover .expertise-image img { transform:scale(1.035); }
.expertise-body { align-self:center; grid-area:body; padding:24px 28px; }
.expertise-body > span { color:var(--cyan); display:block; font:800 30px/1 "Orbitron", "Arial Black", sans-serif; letter-spacing:.08em; text-shadow:0 0 16px rgba(0,200,255,.38); }
.expertise-grid h3 { font-size:21px; margin:24px 0 12px; }
.expertise-grid p { color:rgba(255,255,255,.58); font-size:14px; margin:0; }
.layouts { background:#eaf0f7; padding-top:90px; }
.layout-heading { margin-bottom:42px; }
.section-heading.layout-heading > p { color:#42516a; }
.layout-grid { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); margin:0 auto; max-width:1280px; }
.layout-card { background:white; border:1px solid rgba(11,31,68,.1); box-shadow:0 18px 45px rgba(7,21,47,.08); overflow:hidden; }
.layout-image { aspect-ratio:4/3; background:#101c31; margin:14px 14px 0; overflow:hidden; }
.layout-image img { height:100%; object-fit:cover; transition:transform .45s ease; width:100%; }
.layout-card:hover .layout-image img { transform:scale(1.025); }
.layout-copy { padding:26px 28px 30px; }
.layout-copy > span { color:#1688a9; font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.layout-copy h3 { font-size:25px; margin:8px 0 12px; }
.layout-copy p { color:var(--muted); font-size:14px; margin:0 0 18px; }
.layout-copy ul { border-top:1px solid var(--line); color:#35425a; display:grid; font-size:13px; gap:7px; list-style:none; margin:0; padding:18px 0 0; }
.layout-copy li::before { color:var(--cyan); content:"•"; font-weight:900; margin-right:9px; }
.layout-note { color:var(--muted); font-size:12px; margin:24px auto 0; max-width:1280px; }
.process { background:var(--paper); }
.process-heading { display:grid; gap:30px 70px; grid-template-columns:1.15fr .85fr; margin-bottom:48px; }
.process-heading .eyebrow { grid-column:1/-1; margin-bottom:0; }
.process-heading > p:last-child { align-self:end; color:var(--muted); font-size:17px; margin:0; }
.steps { display:grid; gap:1px; grid-template-columns:repeat(4,1fr); padding-top:0; }
.steps article { background:white; min-height:430px; overflow:hidden; position:relative; transition:transform .2s,box-shadow .2s; }
.steps article:hover { box-shadow:0 18px 40px rgba(7,21,47,.08); transform:translateY(-5px); z-index:2; }
.step-image { height:180px; overflow:hidden; }
.step-image img { height:100%; object-fit:cover; transition:transform .4s ease; width:100%; }
.steps article:hover .step-image img { transform:scale(1.035); }
.step-body { padding:25px 26px 30px; }
.step-body > span { color:#1688a9; display:block; font:800 24px/1 "Space Grotesk"; }
.card-number { color:#1688a9; font:800 24px/1 "Space Grotesk"; letter-spacing:.03em; }
.steps h3 { font-size:22px; margin:24px 0 12px; }
.steps p { color:var(--muted); font-size:14px; margin:0; }
.roles { display:grid; gap:14px; grid-template-columns:repeat(3,1fr); margin-top:28px; }
.roles article { border:1px solid var(--line); border-top:3px solid var(--cyan); padding:28px; }
.roles small { color:#1688a9; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.roles h3 { font-size:20px; margin:12px 0 8px; }
.roles p { color:var(--muted); font-size:14px; margin:0; }
.solutions { background:var(--navy-2); color:white; max-width:none; }
.section-heading { align-items:end; display:grid; gap:60px; grid-template-columns:1.35fr .65fr; margin:0 auto 52px; max-width:1180px; }
.section-heading > p { color:rgba(255,255,255,.6); margin:0; max-width:400px; }
.solution-grid { display:grid; gap:16px; grid-template-columns:repeat(4,1fr); margin:0 auto; max-width:1180px; }
.solution-card { background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.1); min-height:390px; overflow:hidden; padding:0; position:relative; transition:background .2s,transform .2s; }
.solution-card:hover { background:rgba(255,255,255,.09); transform:translateY(-4px); }
.solution-card::after { background:currentColor; bottom:0; content:""; height:3px; left:0; position:absolute; width:100%; }
.accent-cyan{color:var(--cyan)} .accent-blue{color:#647dff} .accent-orange{color:var(--amber)} .accent-white{color:#e8f0ff}
.machine-photo { background:#07152f; height:225px; overflow:hidden; }
.machine-photo img { height:100%; object-fit:cover; width:100%; }
.card-body { padding:23px 25px 28px; }
.solution-card h3 { color:white; font-size:20px; margin:0 0 10px; }
.card-body .card-number { display:block; margin-bottom:18px; }
.solution-card p { color:rgba(255,255,255,.58); font-size:14px; margin:0; }
.rotation-service { align-items:center; background:#eef3f9; display:grid; gap:clamp(48px,6vw,92px); grid-template-columns:1.05fr .95fr; }
.rotation-visuals { min-height:610px; position:relative; }
.rotation-visuals figure { margin:0; overflow:hidden; }
.rotation-main-image { box-shadow:0 30px 70px rgba(7,21,47,.18); height:480px; width:88%; }
.rotation-main-image img,.rotation-stock-image img { display:block; height:100%; object-fit:cover; width:100%; }
.rotation-stock-image { background:white; border:8px solid white; bottom:0; box-shadow:0 22px 55px rgba(7,21,47,.19); height:250px; position:absolute; right:0; width:58%; }
.rotation-stock-image img { height:190px; }
.rotation-stock-image figcaption { color:var(--ink); font-size:12px; font-weight:800; letter-spacing:.06em; padding:13px 12px 0; text-transform:uppercase; }
.rotation-copy h2 { font-size:clamp(2.4rem,4.2vw,4.5rem); margin-bottom:28px; }
.rotation-copy > p:not(.eyebrow):not(.rotation-note) { color:var(--muted); font-size:16px; margin:0 0 18px; }
.rotation-copy .rotation-lead { color:var(--ink); font-size:18px; }
.rotation-points { display:grid; gap:1px; margin:32px 0; }
.rotation-points article { align-items:start; background:white; display:grid; gap:18px; grid-template-columns:52px 1fr; padding:20px 22px; }
.rotation-points article > span { color:var(--cyan); font:800 20px/1 "Orbitron","Arial Black",sans-serif; padding-top:4px; }
.rotation-points h3 { font-size:17px; margin:0 0 5px; }
.rotation-points p { color:var(--muted); font-size:13px; margin:0; }
.rotation-copy .button { margin-top:2px; }
.rotation-copy .rotation-note { color:var(--muted); font-size:11px; line-height:1.55; margin:18px 0 0; }
.project { background:#061329; color:white; display:grid; gap:95px; grid-template-columns:.8fr 1.2fr; }
.project-copy > p:not(.eyebrow) { color:rgba(255,255,255,.6); margin:28px 0 40px; max-width:490px; }
.project-proof { border-left:2px solid var(--amber); display:grid; padding-left:18px; }
.project-proof strong { font:700 24px "Space Grotesk"; }
.project-proof span { color:rgba(255,255,255,.5); font-size:12px; }
.contact-address { border-top:1px solid rgba(255,255,255,.13); display:grid; font-style:normal; gap:4px; margin-top:34px; padding-top:26px; }
.contact-address small { color:var(--cyan); font-size:12px; font-weight:800; letter-spacing:.12em; margin-bottom:5px; text-transform:uppercase; }
.contact-address strong { font:700 21px "Space Grotesk",sans-serif; }
.contact-address span { color:rgba(255,255,255,.68); }
.contact-address a { color:white; font-weight:800; margin-top:7px; width:max-content; }
.contact-map { border:1px solid rgba(255,255,255,.16); height:250px; margin-top:26px; overflow:hidden; }
.contact-map iframe { border:0; height:100%; width:100%; }
.project-form { background:white; color:var(--ink); padding:40px; }
.form-row { display:grid; gap:20px; grid-template-columns:1fr 1fr; }
label { display:grid; font-size:13px; font-weight:700; gap:8px; margin-bottom:20px; }
input,select,textarea { background:#f5f7fb; border:1px solid #dce2ec; border-radius:3px; color:var(--ink); min-height:50px; outline:none; padding:12px 14px; width:100%; }
textarea { resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(0,200,255,.12); }
.upload-grid { display:grid; gap:20px; grid-template-columns:1fr 1fr; }
.upload-field input[type="file"] { background:#f5f7fb; cursor:pointer; font-size:12px; padding:11px; }
.upload-field input[type="file"]::file-selector-button { background:var(--navy); border:0; border-radius:3px; color:white; cursor:pointer; font-weight:800; margin-right:10px; padding:9px 12px; }
.upload-field input[type="file"]::file-selector-button:hover { background:#102b58; }
.file-help,.upload-limit,.selected-files { color:var(--muted); font-size:12px; font-weight:500; }
.file-help { margin-top:-3px; }
.upload-limit { margin:-8px 0 6px; }
.selected-files { background:#f5f7fb; border-left:3px solid var(--cyan); line-height:1.5; margin:0 0 20px; overflow-wrap:anywhere; padding:10px 12px; }
.consent { align-items:center; display:flex; font-weight:500; }
.consent input { height:18px; min-height:0; width:18px; }
.form-submit { justify-content:space-between; margin-top:8px; width:100%; }
.form-status { color:#137a51; font-size:14px; font-weight:700; margin:16px 0 0; min-height:22px; }
.form-status.is-error { color:#b42318; }
footer { align-items:center; background:#011135; color:rgba(255,255,255,.48); display:grid; font-size:12px; grid-template-columns:1fr auto 1fr; padding:42px clamp(24px,6vw,96px); }
.footer-brand { color:white; }
.footer-brand .brand-logo { height:84px; }
.footer-contact { text-align:center; }
.footer-contact p { margin:0 0 5px; }
.footer-contact a { color:white; font-size:14px; font-weight:800; }
.footer-contact a:hover,.footer-contact a:focus-visible { color:var(--cyan); }
footer p:last-child { justify-self:end; }

.games-page { background:#eef3f9; }
.games-hero {
  background:linear-gradient(90deg,rgba(3,12,29,.96),rgba(3,12,29,.7)),url("assets/arcade-showroom-v2.webp") center/cover no-repeat;
  color:white;
  min-height:520px;
  padding:170px clamp(24px,6vw,96px) 90px;
}
.games-hero > div { max-width:850px; }
.games-hero h1 { font-size:clamp(3.1rem,6vw,6.2rem); margin-bottom:24px; }
.games-hero p:last-child { color:rgba(255,255,255,.74); font-size:18px; max-width:720px; }
.catalogue { padding:86px clamp(24px,5vw,76px) 100px; }
.catalogue-intro { align-items:end; display:grid; gap:35px; grid-template-columns:1.2fr .8fr; margin:0 auto 48px; max-width:1450px; }
.catalogue-intro h2 { font-size:clamp(2.2rem,4vw,4.2rem); margin-bottom:0; }
.catalogue-intro > p { color:var(--muted); font-size:17px; margin:0; }
.catalogue-rotation-callout { align-items:center; background:linear-gradient(110deg,var(--navy),#102d5c); border-left:4px solid var(--cyan); color:white; display:flex; gap:36px; justify-content:space-between; margin:0 auto 38px; max-width:1450px; padding:30px 34px; }
.catalogue-rotation-callout > div { max-width:820px; }
.catalogue-rotation-callout > div > span { color:var(--cyan); font-size:11px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.catalogue-rotation-callout h2 { font-size:clamp(1.5rem,2.3vw,2.35rem); margin:8px 0; }
.catalogue-rotation-callout p { color:rgba(255,255,255,.68); font-size:14px; margin:0; }
.catalogue-rotation-callout .button { flex:0 0 auto; }
.category-grid { display:grid; gap:22px; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 auto; max-width:1450px; }
.category-card { background:white; border:1px solid var(--line); display:flex; flex-direction:column; min-width:0; overflow:hidden; transition:transform .2s,box-shadow .2s; }
.category-card:hover { box-shadow:0 18px 45px rgba(7,21,47,.13); transform:translateY(-4px); }
.category-card img { aspect-ratio:1/1; display:block; object-fit:cover; width:100%; }
.category-content { display:flex; flex:1; flex-direction:column; padding:24px 22px 26px; }
.category-number { color:#00a8d8; font:800 14px "Space Grotesk",sans-serif; letter-spacing:.12em; }
.hero-score strong,.fit-strip p > span,.experience-number,.expertise-body > span,.layout-copy h3,.step-body > span,.card-number,.project-proof strong,.category-number { font-family:"Orbitron", "Arial Black", sans-serif; }
.category-card h2 { font-size:23px; margin:12px 0 13px; }
.category-examples { color:var(--muted); font-size:15px; margin:0 0 15px; }
.category-value { border-left:2px solid var(--cyan); color:var(--ink); font-size:14px; font-weight:700; margin:0 0 20px; padding-left:12px; }
.catalogue-note { color:var(--muted); font-size:13px; margin:34px auto 0; max-width:1450px; }
.catalogue-cta { align-items:center; background:var(--navy); color:white; display:flex; gap:35px; justify-content:space-between; margin:70px auto 0; max-width:1450px; padding:42px 48px; }
.catalogue-cta h2 { font-size:clamp(1.8rem,3vw,3rem); margin:0; }

@media (max-width: 1180px) {
  .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 1200px) {
  .topbar-email { display:none; }
  nav { gap:16px; }
}

@media (max-width: 1250px) {
  nav { gap:20px; }
  .topbar { grid-template-columns:1fr auto; }
  nav,.topbar-actions { display:none; }
  .menu-toggle { background:transparent; border:1px solid rgba(255,255,255,.25); border-radius:3px; color:white; display:block; padding:8px 12px; }
  .topbar.menu-open nav { background:var(--navy); display:flex; flex-direction:column; gap:0; left:0; padding:16px 24px 24px; position:absolute; top:85px; width:100%; }
  .topbar.menu-open nav a { border-top:1px solid rgba(255,255,255,.1); padding:14px 0; }
  .topbar.menu-open .language-switch { border-top:1px solid rgba(255,255,255,.1); margin:0; padding-top:14px; }
  .topbar.menu-open .language-switch a { border:0; padding:0; }
  .hero { background-position:60% center; grid-template-columns:1fr; padding-top:140px; }
  .fit-strip { margin:0; max-width:none; }
  .fit-strip p { padding:22px 18px; }
  .intro { gap:45px; grid-template-columns:1fr; }
  .expertise { gap:50px; grid-template-columns:1fr; }
  .steps,.solution-grid { grid-template-columns:repeat(2,1fr); }
  .layout-grid { grid-template-columns:1fr; }
  .project { gap:50px; grid-template-columns:1fr; }
  .rotation-service { grid-template-columns:1fr; }
  .rotation-visuals { margin:0 auto; max-width:760px; min-height:560px; width:100%; }
  .process-heading { grid-template-columns:1fr; }
  .roles { grid-template-columns:1fr; }
  .catalogue-intro { grid-template-columns:1fr; }
  .catalogue-rotation-callout { align-items:flex-start; flex-direction:column; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-video-desktop { display:none; }
}

@media (max-width: 640px) {
  .topbar { height:76px; padding:0 18px; }
  .topbar.menu-open nav { top:75px; }
  .brand-logo { height:56px; }
  .hero {
    background-image:url("assets/arcade-showroom-v2.webp");
    background-position:center;
    min-height:auto;
    padding:124px 20px 68px;
  }
  .hero-slideshow span:nth-child(1) { background-image:url("assets/hero-mobile-slide-1-v32.webp"); }
  .hero-slideshow span:nth-child(2) { background-image:url("assets/hero-mobile-slide-2-v32.webp"); }
  .hero-slideshow span:nth-child(3) { background-image:url("assets/hero-mobile-slide-3-v32.webp"); }
  .hero-slideshow span:nth-child(4) { background-image:url("assets/hero-mobile-slide-4-v32.webp"); }
  .hero-video-shade {
    background:
      linear-gradient(90deg,rgba(3,12,29,.84) 0%,rgba(3,12,29,.62) 58%,rgba(3,12,29,.28) 100%),
      linear-gradient(0deg,rgba(3,12,29,.52),rgba(3,12,29,.08) 62%);
  }
  .hero-copy { text-shadow:0 2px 22px rgba(0,0,0,.62); }
  h1 { font-size:clamp(2.75rem,14vw,4.2rem); }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .trust-line { align-items:center; gap:16px; justify-content:center; margin-top:52px; width:100%; }
  .trust-line strong { font-size:22px; }
  .trust-line > span { height:38px; }
  .trust-line p { font-size:15px; line-height:1.4; max-width:220px; }
  .hero { background-position:64% center; padding-bottom:150px; }
  .hero-score { bottom:34px; left:20px; right:auto; top:auto; }
  .fit-strip { grid-template-columns:1fr; }
  .fit-strip p { border-bottom:1px solid var(--line); border-right:0; grid-template-columns:46px 1fr; padding:25px 22px; }
  .fit-strip p > span { font-size:16px; }
  .fit-strip strong { font-size:18px; }
  .fit-strip small { font-size:15px; }
  .section { padding:78px 20px; }
  .steps { grid-template-columns:1fr; padding-top:0; }
  .expertise-grid { grid-template-columns:1fr; }
  .expertise-grid article { grid-template-columns:minmax(0,1fr) 40%; min-height:220px; }
  .expertise-image { min-height:220px; }
  .expertise-body { padding:20px 18px; }
  .expertise-grid h3 { font-size:18px; margin:18px 0 9px; }
  .expertise-grid p { font-size:12px; line-height:1.55; }
  .jeutel-logo-panel { margin:20px 0 34px; max-width:360px; padding:10px 13px; }
  .founder-card { grid-template-columns:94px 1fr; }
  .founder-card img { height:122px; width:94px; }
  .steps article { min-height:0; }
  .step-image { height:220px; }
  .section-heading { align-items:start; gap:30px; grid-template-columns:1fr; }
  .solution-grid { grid-template-columns:1fr; }
  .solution-card { min-height:360px; }
  .project { padding-top:80px; }
  .rotation-visuals { min-height:430px; }
  .rotation-main-image { height:340px; width:100%; }
  .rotation-stock-image { border-width:5px; height:190px; width:70%; }
  .rotation-stock-image img { height:140px; }
  .rotation-stock-image figcaption { font-size:10px; padding-top:9px; }
  .rotation-points article { grid-template-columns:42px 1fr; padding:18px 16px; }
  .project-form { padding:25px 20px; }
  .form-row,.upload-grid { grid-template-columns:1fr; }
  footer { gap:28px; grid-template-columns:1fr; }
  .footer-contact { text-align:left; }
  footer p,footer p:last-child { justify-self:start; margin:0; }
  .games-hero { min-height:470px; padding:145px 20px 70px; }
  .games-hero h1 { font-size:clamp(2.8rem,14vw,4.2rem); }
  .catalogue { padding:70px 20px 80px; }
  .category-grid { grid-template-columns:1fr; }
  .catalogue-cta { align-items:flex-start; flex-direction:column; padding:32px 25px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; }
  .hero-video { display:none; }
}
