:root { --ink:#101114; --surface:#18191e; --surface-2:#202127; --line:rgba(255,255,255,.12); --muted:#a9abb3; --white:#f7f8f7; --neon:#00ff84; --cyan:#43e5ff; --font-display:'Space Grotesk',sans-serif; --font-body:'Montserrat',sans-serif; }
.development-notice { position:fixed; z-index:50; top:0; left:0; width:100%; padding:7px 16px; color:#fff; background:#dc153e; box-shadow:0 3px 14px rgba(220,21,62,.45); text-align:center; font:800 13px/1 var(--font-body); letter-spacing:.12em; text-transform:uppercase; }.site-header { top:27px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--ink); color:var(--white); font-family:var(--font-body); font-size:15px; line-height:1.7; } a { color:inherit; text-decoration:none; } .container { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.site-header { position:absolute; z-index:10; width:100%; border-bottom:1px solid rgba(255,255,255,.1); } .navbar { height:84px; display:flex; align-items:center; justify-content:space-between; } .brand { display:inline-flex; align-items:center; gap:10px; font:700 24px/1 var(--font-display); letter-spacing:-1.2px; } .brand > span:last-child > span, h1 > span, h2 strong { color:var(--neon); } .brand-mark { width:19px; height:19px; position:relative; transform:rotate(45deg); border:2px solid var(--neon); box-shadow:0 0 15px rgba(0,255,132,.7); } .brand-mark:after { content:''; position:absolute; width:7px; height:7px; background:var(--neon); right:-4px; bottom:-4px; } .nav-links { display:flex; align-items:center; gap:31px; font-size:12px; font-weight:600; letter-spacing:.04em; } .nav-links a:not(.nav-contact) { color:#d7d8dc; transition:color .2s; } .nav-links a:hover { color:var(--neon); } .nav-contact { border:1px solid var(--neon); color:var(--neon); padding:8px 17px; } .menu-toggle { display:none; background:transparent; border:0; padding:8px; } .menu-toggle span { display:block; width:25px; height:2px; margin:5px; background:var(--white); }
.hero { min-height:790px; position:relative; display:flex; align-items:center; overflow:hidden; background:radial-gradient(circle at 85% 35%,#16382e 0,transparent 29%),linear-gradient(120deg,#101114 27%,#15211e 100%); } .hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,17,20,.98) 2%,rgba(16,17,20,.73) 46%,rgba(16,17,20,.22) 100%); z-index:1; } .hero-content { position:relative; z-index:2; padding-top:68px; max-width:1180px; width:100%; } .eyebrow { margin:0 0 18px; color:var(--neon); font-size:10px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; display:flex; align-items:center; gap:9px; } .eyebrow span { display:block; width:25px; height:1px; background:var(--neon); box-shadow:0 0 8px var(--neon); } h1,h2,h3 { font-family:var(--font-display); line-height:1.12; letter-spacing:-.045em; } h1 { font-size:clamp(37px,5vw,66px); margin:0; max-width:900px; font-weight:600; } h1 em { color:var(--neon); font-style:normal; } .hero-lead { color:#d0d2d4; max-width:590px; margin:27px 0 34px; font-size:15px; } .button { display:inline-flex; align-items:center; justify-content:center; gap:25px; border:0; cursor:pointer; padding:15px 20px; font:700 11px var(--font-body); letter-spacing:.08em; text-transform:uppercase; transition:transform .2s,box-shadow .2s; } .button:hover { transform:translateY(-3px); } .button-primary { background:var(--neon); color:#0d1511; box-shadow:0 0 24px rgba(0,255,132,.18); } .button-primary span { font-size:19px; line-height:10px; } .scroll-cue { position:absolute; z-index:3; bottom:32px; left:max(24px,calc((100% - 1180px)/2)); color:#c8cbca; font-size:9px; letter-spacing:.15em; text-transform:uppercase; display:flex; gap:10px; align-items:center; } .scroll-cue span { height:43px; width:1px; background:var(--neon); box-shadow:0 0 8px var(--neon); }
/* CSS-ben rajzolt, animált high-tech műhelyhangulat a hero rész hátterében. */ .tech-scene { position:absolute; z-index:0; inset:0 0 0 38%; overflow:hidden; } .grid-plane { position:absolute; right:-10%; bottom:-20%; width:120%; height:55%; background-image:linear-gradient(rgba(0,255,132,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,132,.2) 1px,transparent 1px); background-size:45px 45px; transform:perspective(420px) rotateX(64deg); opacity:.8; } .laser-head { position:absolute; top:18%; right:25%; width:160px; height:93px; border:4px solid #303940; border-radius:8px 8px 22px 22px; background:linear-gradient(135deg,#4c585a,#151a1c); box-shadow:16px 25px 30px rgba(0,0,0,.55); animation:headMove 7s ease-in-out infinite alternate; } .laser-head:before { content:''; position:absolute; inset:15px 28px; border:2px solid #73807e; border-left:0; border-right:0; } .laser-head i { position:absolute; width:44px; height:30px; bottom:-28px; left:55px; background:#2e3738; border-radius:0 0 6px 6px; } .laser-head b { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--neon); box-shadow:0 0 15px 8px rgba(0,255,132,.8); bottom:-41px; left:71px; } .laser-beam { position:absolute; top:calc(18% + 132px); right:calc(25% + 75px); width:3px; height:53%; background:linear-gradient(var(--neon),rgba(0,255,132,.05)); transform-origin:top; animation:beamPulse 1.8s ease-in-out infinite; filter:drop-shadow(0 0 6px var(--neon)); } .spark { position:absolute; width:6px; height:6px; border-radius:50%; background:#eaffd5; box-shadow:0 0 13px 5px var(--neon); animation:spark 1.5s linear infinite; } .spark-one { top:49%; right:36%; } .spark-two { top:50%; right:31%; animation-delay:.5s; } .spark-three { top:45%; right:29%; animation-delay:1.1s; } .print-object { position:absolute; width:250px; height:150px; right:4%; bottom:20%; border:8px solid rgba(67,229,255,.6); border-top:0; transform:skewY(-12deg); box-shadow:0 0 44px rgba(67,229,255,.24),inset 0 0 55px rgba(67,229,255,.15); } @keyframes headMove { to { transform:translateX(-180px); } } @keyframes beamPulse { 50% { opacity:.35; } } @keyframes spark { from { transform:translate(0,0) scale(1); opacity:1; } to { transform:translate(-65px,65px) scale(.2); opacity:0; } }
.section { padding:118px 0; } .services { background:var(--surface); } .section-heading { max-width:650px; } h2 { font-size:clamp(34px,4.3vw,53px); margin:0; font-weight:600; } .service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:55px; background:var(--line); border:1px solid var(--line); } .service-card { min-height:384px; padding:34px; background:#1b1c21; position:relative; transition:background .3s,transform .3s; } .service-card:hover { background:#22242b; transform:translateY(-7px); } .featured-card { background:#1e2423; } .card-number { position:absolute; right:30px; top:25px; color:#696c70; margin:0; font:600 12px var(--font-display); } .service-icon { position:relative; width:55px; height:55px; margin-bottom:46px; color:var(--neon); } .laser-icon:before { content:''; position:absolute; left:4px; top:3px; width:36px; height:24px; border:2px solid currentColor; border-bottom-width:6px; } .laser-icon:after { content:''; position:absolute; top:29px; left:23px; height:26px; width:2px; background:currentColor; box-shadow:0 0 8px currentColor; transform:rotate(40deg); } .laser-icon span { position:absolute; left:2px; bottom:3px; width:46px; height:1px; background:currentColor; transform:rotate(-12deg); } .printer-icon { border:2px solid currentColor; border-radius:4px; height:46px; margin-top:4px; } .printer-icon:before { content:''; position:absolute; background:currentColor; left:11px; top:-9px; width:28px; height:9px; } .printer-icon span { position:absolute; width:18px; height:15px; border:2px solid currentColor; background:#1e2423; bottom:-13px; left:16px; } .gift-icon:before,.gift-icon:after { content:''; position:absolute; border:2px solid currentColor; } .gift-icon:before { width:43px; height:34px; top:16px; left:3px; } .gift-icon:after { width:7px; height:50px; top:2px; left:21px; border-top:0; border-bottom:0; } .gift-icon span { position:absolute; top:0; left:11px; width:28px; height:17px; border:2px solid currentColor; border-radius:50% 50% 35% 35%; } .service-card h3 { margin:0 0 15px; font-size:25px; font-weight:600; } .service-card h3 span { color:var(--neon); } .service-card > p:last-child { margin:0; color:var(--muted); font-size:12px; line-height:1.9; }
.gallery { background:#111215; } .gallery-head { display:flex; align-items:end; justify-content:space-between; gap:30px; } .gallery-head > p { color:var(--muted); max-width:240px; font-size:12px; margin:0 0 4px; } .gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:54px; } .gallery-item { height:235px; overflow:hidden; position:relative; background:#202127; } .gallery-item:nth-child(5n+1) { grid-column:span 2; } .gallery-item:nth-child(5n+1),.gallery-item:nth-child(5n+4) { height:300px; } .gallery-item img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.83); transition:transform .5s,filter .4s; } .gallery-item:after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,transparent 60%,rgba(0,255,132,.35)); opacity:0; transition:opacity .3s; } .gallery-item:hover img { transform:scale(1.08); filter:saturate(1.1); } .gallery-item:hover:after,.gallery-item:hover .gallery-zoom { opacity:1; } .gallery-zoom { position:absolute; z-index:2; top:50%; left:50%; transform:translate(-50%,-50%); opacity:0; width:43px; height:43px; color:#0c1711; background:var(--neon); text-align:center; font:30px/40px var(--font-display); transition:opacity .3s; } .empty-gallery { min-height:220px; display:grid; place-content:center; text-align:center; grid-column:1/-1; border:1px dashed #44474c; color:var(--muted); } .empty-gallery span { color:var(--neon); font-size:30px; }.empty-gallery p { margin:7px 0 0; font-size:12px; }
.contact { background:radial-gradient(circle at 22% 70%,rgba(0,255,132,.11),transparent 28%),#1a1b20; } .contact-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:100px; align-items:start; } .contact-copy > p:not(.eyebrow) { max-width:470px; color:var(--muted); font-size:13px; margin:27px 0 37px; } .contact-details { display:flex; gap:49px; } .contact-details a { font:600 14px var(--font-display); transition:color .2s; } .contact-details a:hover { color:var(--neon); } .contact-details small { display:block; color:var(--neon); text-transform:uppercase; font:700 9px var(--font-body); letter-spacing:.13em; margin-bottom:3px; } .contact-form { background:#111216; border:1px solid #33353a; padding:34px; display:grid; gap:18px; } .contact-form label { color:#dfe1e2; font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; } input,textarea { display:block; width:100%; border:0; border-bottom:1px solid #4a4c51; padding:10px 0; margin-top:3px; border-radius:0; outline:0; color:white; background:transparent; font:500 13px var(--font-body); resize:vertical; } input:focus,textarea:focus { border-color:var(--neon); } .contact-form .button { justify-self:start; margin-top:8px; } .form-message { margin:0; padding:9px 12px; font-size:11px; line-height:1.5; } .form-message.success { background:rgba(0,255,132,.12); color:#85ffc0; } .form-message.error { background:rgba(255,83,83,.13); color:#ffaaaa; }
.site-footer { background:#0c0d0f; padding:27px 0; border-top:1px solid #27292c; } .site-footer .container { display:flex; align-items:center; justify-content:space-between; gap:20px; } .site-footer .brand { font-size:19px; } .site-footer .brand-mark { transform:rotate(45deg) scale(.7); } .site-footer p { margin:0; color:#74777d; font-size:10px; } .lightbox { max-width:min(900px,92vw); max-height:90vh; padding:0; border:1px solid #4e5055; background:#0d0e10; overflow:visible; } .lightbox::backdrop { background:rgba(0,0,0,.86); } .lightbox img { display:block; max-width:100%; max-height:85vh; object-fit:contain; } .lightbox-close { position:absolute; z-index:2; top:8px; right:9px; border:0; background:var(--neon); color:#102016; font:28px/34px Arial; width:34px; height:34px; cursor:pointer; } .lightbox-nav { position:absolute; z-index:2; top:50%; width:48px; height:55px; transform:translateY(-50%); border:1px solid rgba(255,255,255,.28); background:rgba(4,9,17,.78); color:#fff; cursor:pointer; font:44px/43px var(--font-display); transition:background .2s,color .2s; }.lightbox-nav:hover { background:var(--neon); color:#061221; }.lightbox-prev { left:-63px; }.lightbox-next { right:-63px; }.lightbox-count { position:absolute; bottom:-33px; left:50%; transform:translateX(-50%); color:#d9e8fa; font:600 13px var(--font-display) !important; letter-spacing:.12em; }
@media (max-width:800px) { .container { width:min(100% - 36px,1180px); }.navbar { height:70px; }.menu-toggle { display:block; }.nav-links { display:none; position:absolute; top:70px; left:0; right:0; padding:20px 18px; background:#141519; border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:17px; }.nav-links.is-open { display:flex; }.nav-contact { text-align:center; }.hero { min-height:710px; }.hero-content { padding-top:70px; }.tech-scene { left:16%; opacity:.65; }.hero-overlay { background:linear-gradient(90deg,rgba(16,17,20,.98) 0%,rgba(16,17,20,.7) 100%); }.scroll-cue { left:18px; }.section { padding:80px 0; }.service-grid,.contact-grid { grid-template-columns:1fr; }.service-card { min-height:auto; padding:29px; }.service-icon { margin-bottom:27px; }.gallery-head { align-items:start; flex-direction:column; }.gallery-grid { grid-template-columns:repeat(2,1fr); gap:8px; margin-top:34px; }.gallery-item,.gallery-item:nth-child(5n+1),.gallery-item:nth-child(5n+4) { height:175px; }.gallery-item:nth-child(5n+1) { grid-column:span 1; }.contact-grid { gap:50px; }.contact-details { gap:26px; flex-wrap:wrap; }.site-footer .container { align-items:flex-start; flex-direction:column; }.site-footer p { line-height:1.4; } }
@media (max-width:800px) { .lightbox { max-width:92vw; }.lightbox-nav { width:42px; height:49px; background:rgba(4,9,17,.88); }.lightbox-prev { left:7px; }.lightbox-next { right:7px; }.lightbox-count { bottom:7px; padding:2px 7px; background:rgba(0,0,0,.6); } }
@media (max-width:420px) { h1 { font-size:35px; }.gallery-item,.gallery-item:nth-child(5n+1),.gallery-item:nth-child(5n+4) { height:142px; }.button { width:100%; }.contact-form .button { width:100%; }.laser-head { right:10%; transform:scale(.8); }.print-object { right:-10%; } }

/* Kék–piros, fémes CutNext hangulat a referencia látványvilága alapján. */
:root { --ink:#050609; --surface:#0c1018; --surface-2:#111722; --line:rgba(130,180,255,.16); --muted:#a9b2c2; --white:#f7f9ff; --neon:#159dff; --red:#ff235d; --cyan:#5cc5ff; }
.site-header { border-bottom-color:rgba(120,175,255,.18); background:linear-gradient(90deg,rgba(3,7,15,.82),rgba(17,3,10,.55)); }
.brand-mark { box-shadow:0 0 15px rgba(21,157,255,.8); }.brand-mark:after { background:var(--red); box-shadow:0 0 10px var(--red); }.nav-contact { border-color:var(--red); color:#ff9bb4; box-shadow:inset 0 0 15px rgba(255,35,93,.12); }
.hero { background:radial-gradient(circle at 75% 48%,rgba(255,25,81,.25) 0,transparent 24%),radial-gradient(circle at 88% 16%,rgba(16,128,255,.24) 0,transparent 30%),linear-gradient(120deg,#050609 27%,#0a101d 62%,#17050c 100%); }.hero-overlay { background:linear-gradient(90deg,rgba(3,5,9,.99) 2%,rgba(3,5,9,.77) 46%,rgba(3,5,9,.16) 100%); }.eyebrow span { background:var(--red); box-shadow:0 0 8px var(--red); }h1 em { color:var(--red); }.hero-lead { color:#d0d8e5; }.button-primary { background:linear-gradient(100deg,var(--neon),#52bfff); color:#061221; box-shadow:0 0 24px rgba(21,157,255,.32),inset -3px 0 0 rgba(255,35,93,.75); }.scroll-cue { color:#c8d3e4; }.scroll-cue span { background:var(--red); box-shadow:0 0 8px var(--red); }
.grid-plane { background-image:linear-gradient(rgba(21,157,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,35,93,.2) 1px,transparent 1px); }.laser-head { border-color:#324353; background:linear-gradient(135deg,#536777,#10151e); box-shadow:16px 25px 30px rgba(0,0,0,.72),-4px 0 18px rgba(21,157,255,.25); }.laser-head:before { border-color:#8aa3ba; }.laser-head i { background:#252f3c; }.laser-head b { background:var(--red); box-shadow:0 0 15px 8px rgba(255,35,93,.8); }.laser-beam { background:linear-gradient(var(--red),rgba(255,35,93,.05)); filter:drop-shadow(0 0 6px var(--red)); }.spark { background:#ffe4a6; box-shadow:0 0 13px 5px var(--red); }.print-object { border-color:rgba(21,157,255,.7); box-shadow:10px 0 44px rgba(255,35,93,.22),inset 0 0 55px rgba(21,157,255,.18); }
.services { background:linear-gradient(110deg,#090d15,#0d080f); }.service-card { background:#0d121c; }.service-card:hover { background:#121a27; }.featured-card { background:#140d16; }.card-number { color:#71809a; }.service-card:nth-child(2) .service-icon,.service-card:nth-child(2) h3 span { color:var(--red); }.service-card:nth-child(3) .service-icon { color:#b349ff; }.printer-icon span { background:#140d16; }
.gallery { background:linear-gradient(90deg,#05070c,#0b0810); }.gallery-item { background:#101724; }.gallery-item:after { background:linear-gradient(135deg,transparent 50%,rgba(21,157,255,.42),rgba(255,35,93,.35)); }.gallery-zoom { color:#070b13; box-shadow:3px 3px 0 var(--red); }.contact { background:radial-gradient(circle at 22% 70%,rgba(21,157,255,.15),transparent 28%),radial-gradient(circle at 88% 22%,rgba(255,35,93,.14),transparent 26%),#0a0c12; }.contact-form { background:#090c12; border-color:#2b3a4e; }.form-message.success { background:rgba(21,157,255,.14); color:#9fd7ff; }

/* Az élő CutNext oldal tipográfiájához igazított betűpár. */
:root { --font-display:'Barlow Condensed',sans-serif; --font-body:'Manrope',Arial,sans-serif; }
h1,h2,.service-card h3 { font-style:italic; text-transform:uppercase; } h1,h2 { font-weight:800; line-height:.94; letter-spacing:-.035em; }.brand,.nav-links,.button { font-family:var(--font-display); }.nav-links,.button { font-size:15px; }.hero-lead,.service-card > p:last-child { font-family:var(--font-body); }

/* Körbefutó referencia-képsáv. */
.work-strip { overflow:hidden; border-top:1px solid rgba(21,157,255,.35); border-bottom:1px solid rgba(255,35,93,.34); background:linear-gradient(90deg,#050a12 0%,#12060d 100%); }.work-strip-heading { min-height:64px; display:flex; justify-content:space-between; align-items:center; gap:25px; }.work-strip-heading p { margin:0; color:#9bb8d8; font:700 13px var(--font-display); letter-spacing:.11em; }.work-strip-heading p span { color:var(--red); margin:0 8px; }.work-strip-heading a,.footer-social { color:#fff; font:700 14px var(--font-display); letter-spacing:.08em; text-transform:uppercase; transition:color .2s; }.work-strip-heading a:hover,.footer-social:hover { color:var(--neon); }.work-marquee { height:216px; overflow:hidden; border-top:1px solid rgba(255,255,255,.08); background:#080a0f; }.marquee-track { display:flex; gap:12px; width:max-content; height:100%; align-items:center; animation:marquee 38s linear infinite; }.marquee-track:hover { animation-play-state:paused; }.marquee-track a { width:286px; height:174px; display:block; flex:0 0 auto; overflow:hidden; position:relative; border:1px solid rgba(21,157,255,.3); }.marquee-track a:after { content:''; position:absolute; inset:0; border:1px solid transparent; background:linear-gradient(135deg,rgba(21,157,255,.18),transparent 48%,rgba(255,35,93,.23)) border-box; opacity:0; transition:opacity .25s; }.marquee-track a:hover:after { opacity:1; }.marquee-track img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.9) contrast(1.04); }.marquee-placeholder { margin:0; width:100vw; text-align:center; color:#59708e; font:700 17px var(--font-display); letter-spacing:.18em; } @keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* Impresszum és adatkezelési tájékoztató a láblécben. */
.site-footer { padding-bottom:0; }.footer-main { padding-bottom:27px; }.legal-wrap { display:block !important; padding:0 0 25px; }.legal { border-top:1px solid rgba(130,180,255,.2); }.legal summary { padding:19px 0; color:#a9ccef; cursor:pointer; font:700 14px var(--font-display); letter-spacing:.08em; text-transform:uppercase; list-style:none; }.legal summary::-webkit-details-marker { display:none; }.legal summary:after { content:'+'; color:var(--red); font-size:21px; margin-left:10px; vertical-align:-1px; }.legal[open] summary:after { content:'−'; }.legal-content { max-width:880px; padding:5px 0 25px; color:#aeb8c8; font:400 12px/1.8 var(--font-body); }.legal-content h2 { margin:27px 0 10px; color:#f0f5ff; font:700 22px/1 var(--font-display); letter-spacing:0; font-style:normal; }.legal-content h3 { margin:18px 0 5px; color:#75beff; font:700 15px/1 var(--font-display); letter-spacing:.04em; text-transform:uppercase; }.legal-content p { margin:0 0 12px; }.legal-content a { color:#91ccff; text-decoration:underline; text-underline-offset:3px; }.legal-content strong { color:#e7edf8; }
.honeypot { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }.contact-form .button:disabled { cursor:wait; opacity:.72; transform:none; }
.privacy-check { display:flex; align-items:flex-start; gap:10px; color:#aebbd0 !important; font:500 11px/1.55 var(--font-body) !important; letter-spacing:0 !important; text-transform:none !important; }.privacy-check input { display:block; flex:0 0 auto; width:16px; height:16px; margin:1px 0 0; accent-color:var(--neon); }.privacy-check a { color:#83c8ff; text-decoration:underline; text-underline-offset:3px; }
.file-hint { margin:-10px 0 0; color:#8296b2; font:400 10px/1.5 var(--font-body); }
.turnstile-wrap { min-height:0; }.turnstile-wrap:empty { display:none; }
.cookie-banner { position:fixed; z-index:30; left:22px; bottom:22px; width:min(550px,calc(100% - 44px)); display:flex; align-items:center; gap:20px; padding:19px 21px; border:1px solid rgba(94,172,255,.48); background:linear-gradient(120deg,rgba(7,18,32,.98),rgba(28,8,17,.98)); box-shadow:0 17px 50px rgba(0,0,0,.6),-4px 0 22px rgba(21,157,255,.16),4px 0 22px rgba(255,35,93,.12); }.cookie-banner[hidden] { display:none; }.cookie-banner p { margin:0; color:#b7c3d4; font:400 11px/1.55 var(--font-body); }.cookie-banner .cookie-title { margin-bottom:3px; color:#f1f6ff; font:700 17px/1 var(--font-display); text-transform:uppercase; letter-spacing:.04em; }.cookie-banner a { color:#83c8ff; text-decoration:underline; }.cookie-actions { display:flex; flex:0 0 auto; align-items:center; gap:9px; }.cookie-actions .button { padding:10px 13px; font-size:13px; }.cookie-minimal { border:1px solid rgba(144,177,211,.44); background:transparent; color:#c6d5e7; cursor:pointer; padding:9px 11px; font:600 12px var(--font-display); text-transform:uppercase; }
@media (max-width:800px) { .work-strip-heading { min-height:58px; }.work-strip-heading p { font-size:11px; }.work-strip-heading p span { margin:0 4px; }.work-strip-heading a { font-size:13px; white-space:nowrap; }.work-marquee { height:172px; }.marquee-track a { width:226px; height:132px; }.footer-main { align-items:flex-start; }.legal-content { font-size:11px; } }

/* Kék és piros fénysugarak: a sötét alapot világító műhelyhangulattal egészítik ki. */
.hero { background:radial-gradient(ellipse at 76% 51%,rgba(255,25,81,.38) 0,transparent 27%),radial-gradient(ellipse at 92% 14%,rgba(0,143,255,.42) 0,transparent 32%),radial-gradient(ellipse at 40% 105%,rgba(12,84,207,.25) 0,transparent 35%),linear-gradient(120deg,#060914 0%,#09162a 51%,#1c0711 100%); }
.hero:after { content:''; position:absolute; z-index:1; inset:-20%; pointer-events:none; opacity:.88; background:linear-gradient(116deg,transparent 26%,rgba(28,159,255,.08) 28%,rgba(36,166,255,.48) 31%,rgba(44,176,255,.06) 35%,transparent 40%),linear-gradient(70deg,transparent 50%,rgba(255,40,89,.05) 52%,rgba(255,39,87,.44) 56%,rgba(255,66,111,.06) 60%,transparent 64%); filter:blur(5px); transform-origin:center; animation:lightSweep 9s ease-in-out infinite alternate; }
.hero-overlay { background:linear-gradient(90deg,rgba(3,6,13,.92) 0%,rgba(4,8,17,.58) 45%,rgba(5,6,14,.1) 100%); }.hero-content,.scroll-cue { z-index:3; }.tech-scene { opacity:.92; }.grid-plane { opacity:1; }.print-object { box-shadow:10px 0 65px rgba(255,35,93,.42),inset 0 0 68px rgba(21,157,255,.32),0 0 90px rgba(21,157,255,.18); }.laser-head { box-shadow:16px 25px 30px rgba(0,0,0,.6),-4px 0 32px rgba(21,157,255,.45),12px 0 24px rgba(255,35,93,.28); }
.services { background:radial-gradient(ellipse at 5% 10%,rgba(12,119,255,.2),transparent 32%),radial-gradient(ellipse at 100% 90%,rgba(255,35,93,.18),transparent 31%),linear-gradient(110deg,#091321,#170a11); }.gallery { background:radial-gradient(ellipse at 83% 10%,rgba(255,35,93,.2),transparent 27%),radial-gradient(ellipse at 12% 83%,rgba(21,157,255,.18),transparent 29%),linear-gradient(90deg,#050b16,#100710); }.contact { background:radial-gradient(ellipse at 22% 70%,rgba(21,157,255,.27),transparent 33%),radial-gradient(ellipse at 88% 22%,rgba(255,35,93,.28),transparent 30%),#0c0f18; }
@keyframes lightSweep { 0% { transform:translate3d(-4%,-2%,0) rotate(-2deg); opacity:.6; } 100% { transform:translate3d(4%,2%,0) rotate(2deg); opacity:1; } }

/* Többrétegű lézervágó-gép animáció: sín, mozgó fej, munkasztal, sugár és szikrák. */
.tech-scene { inset:0 0 0 34%; background:radial-gradient(circle at 70% 52%,rgba(21,157,255,.16),transparent 34%),radial-gradient(circle at 90% 62%,rgba(255,35,93,.19),transparent 33%); }
.machine-frame { position:absolute; inset:9% 5% 12% 2%; border:1px solid rgba(107,164,220,.35); border-bottom:3px solid rgba(255,35,93,.48); background:linear-gradient(130deg,rgba(68,100,134,.1),rgba(3,5,9,.15) 44%,rgba(122,11,35,.12)); box-shadow:inset 0 0 60px rgba(21,157,255,.07),0 0 55px rgba(255,35,93,.08); }
.machine-rail { position:absolute; z-index:2; background:linear-gradient(#1d344b,#7f9eb9 48%,#131b24 54%,#071018); box-shadow:0 0 16px rgba(21,157,255,.38),0 8px 14px rgba(0,0,0,.6); }.rail-x { top:18%; left:3%; right:6%; height:23px; }.rail-x:after { content:''; position:absolute; inset:5px 0; border-top:1px solid #b9ddf8; border-bottom:1px solid rgba(0,0,0,.75); }.rail-y { top:18%; bottom:15%; right:11%; width:19px; background:linear-gradient(90deg,#071018,#7298bb 48%,#1a3047); }
.cut-bed { position:absolute; z-index:1; bottom:16%; left:9%; right:11%; height:37%; overflow:hidden; transform:perspective(500px) rotateX(58deg); transform-origin:bottom; border:2px solid rgba(21,157,255,.5); background:repeating-linear-gradient(90deg,rgba(18,57,92,.7) 0 2px,transparent 2px 24px),repeating-linear-gradient(0deg,rgba(255,35,93,.18) 0 1px,transparent 1px 25px),#09121d; box-shadow:inset 0 0 55px rgba(21,157,255,.18),0 0 35px rgba(21,157,255,.24); }.cut-bed:after { content:''; position:absolute; width:43%; aspect-ratio:1; left:29%; top:22%; border:2px solid rgba(255,69,110,.9); border-radius:50% 44% 53% 42%; box-shadow:0 0 18px rgba(255,35,93,.68),inset 0 0 17px rgba(255,35,93,.35); animation:cutGlow 4s ease-in-out infinite; }.cut-bed span { position:absolute; height:2px; width:48%; background:linear-gradient(90deg,transparent,var(--neon),transparent); filter:blur(.4px); opacity:.8; }.cut-bed span:nth-child(1) { top:24%; left:4%; }.cut-bed span:nth-child(2) { top:52%; left:24%; background:linear-gradient(90deg,transparent,var(--red),transparent); }.cut-bed span:nth-child(3) { top:76%; left:45%; }
.grid-plane { opacity:.26; right:0; bottom:-29%; height:50%; }.laser-carriage { position:absolute; z-index:5; top:10%; left:7%; width:165px; height:520px; animation:carvePath 10s cubic-bezier(.5,0,.25,1) infinite alternate; }.laser-carriage .laser-head { position:relative; top:auto; right:auto; width:165px; height:105px; border-color:#54738d; background:linear-gradient(90deg,#0d1723,#6886a0 32%,#131f2d 60%,#070d15); box-shadow:10px 18px 26px rgba(0,0,0,.7),-6px 0 20px rgba(21,157,255,.62),9px 0 19px rgba(255,35,93,.4); animation:none; }.laser-carriage .laser-head:after { content:''; position:absolute; left:12px; right:12px; top:18px; height:3px; background:linear-gradient(90deg,var(--neon),#e9f6ff,var(--red)); box-shadow:0 0 10px var(--neon); }.laser-carriage .laser-head i { left:57px; width:47px; height:35px; background:linear-gradient(90deg,#172837,#93b5ca,#192837); }.laser-carriage .laser-head b { left:74px; bottom:-45px; background:#fff3c9; box-shadow:0 0 11px 7px #ff7b24,0 0 28px 13px rgba(255,35,93,.72); }.laser-carriage .laser-beam { top:142px; right:auto; left:80px; width:4px; height:285px; background:linear-gradient(#fff8cf 0%,#ff365f 11%,rgba(255,35,93,.24) 72%,transparent); filter:drop-shadow(0 0 5px #ff164c) drop-shadow(0 0 17px rgba(255,77,25,.72)); animation:beamPulse .34s steps(2,end) infinite; }.laser-carriage .spark { top:420px; right:auto; left:79px; width:7px; height:7px; background:#fff7c7; box-shadow:0 0 15px 6px #ff6a1f; animation-duration:.7s; }.laser-carriage .spark-two { left:93px; animation-delay:.18s; }.laser-carriage .spark-three { left:65px; animation-delay:.4s; }.print-object { width:290px; height:168px; right:0; bottom:8%; border-color:rgba(255,35,93,.62); border-top-color:rgba(21,157,255,.7); animation:objectPulse 3s ease-in-out infinite; }
@keyframes carvePath { 0% { transform:translate3d(0,0,0); } 28% { transform:translate3d(37vw,0,0); } 53% { transform:translate3d(37vw,128px,0); } 78% { transform:translate3d(8vw,128px,0); } 100% { transform:translate3d(8vw,48px,0); } } @keyframes cutGlow { 50% { border-color:#fff0ba; box-shadow:0 0 30px #ff244d,inset 0 0 25px rgba(255,35,93,.65); } } @keyframes objectPulse { 50% { filter:brightness(1.6) drop-shadow(0 0 26px #ff2e78); box-shadow:14px 0 75px #ff245d88,inset 0 0 82px #159dff66,0 0 105px #159dff55; } }

/* Kifejezetten mobilra komponált hero és szekciók. */
@media (max-width:800px) { body { font-size:14px; }.site-header { background:rgba(4,7,14,.94); }.hero { min-height:885px; align-items:flex-start; }.hero-content { padding-top:132px; }.hero h1 { max-width:390px; font-size:clamp(38px,11vw,54px); }.hero-lead { max-width:335px; font-size:13px; line-height:1.75; }.hero .button { width:auto; min-width:210px; }.hero-overlay { background:linear-gradient(180deg,rgba(3,6,13,.95) 0%,rgba(3,6,13,.76) 44%,rgba(3,6,13,.24) 100%); }.tech-scene { inset:410px -22% 0 -8%; opacity:1; }.machine-frame { inset:4% 0 4% 0; }.rail-x { top:11%; }.rail-y { display:none; }.laser-carriage { top:3%; left:8%; transform:scale(.74); transform-origin:top left; animation:mobileCarvePath 8s ease-in-out infinite alternate; }.cut-bed { bottom:9%; left:5%; right:4%; height:42%; }.print-object { transform:skewY(-12deg) scale(.65); transform-origin:bottom right; bottom:4%; right:-5%; }.scroll-cue { bottom:18px; }.section { padding:72px 0; }.section-heading h2 { font-size:38px; }.service-grid { margin-top:35px; gap:8px; background:transparent; border:0; }.service-card { min-height:0; padding:26px 23px; border:1px solid var(--line); }.service-card h3 { font-size:26px; }.gallery-head { gap:15px; }.gallery-grid { grid-template-columns:1fr 1fr; }.gallery-item,.gallery-item:nth-child(5n+1),.gallery-item:nth-child(5n+4) { height:155px; }.contact-grid { gap:40px; }.contact-form { padding:25px 20px; }.contact-form .button { width:100%; }.work-strip-heading { padding-top:9px; padding-bottom:9px; align-items:flex-start; flex-direction:column; gap:3px; }.work-strip-heading a { align-self:flex-end; margin-top:-22px; }.site-footer .container { width:min(100% - 36px,1180px); }.footer-main { gap:12px; }.legal summary { line-height:1.2; }.legal-content { font-size:11px; } } @keyframes mobileCarvePath { 0% { transform:scale(.74) translate3d(0,0,0); } 50% { transform:scale(.74) translate3d(54vw,58px,0); } 100% { transform:scale(.74) translate3d(20vw,125px,0); } }
@media (max-width:600px) { .cookie-banner { left:12px; bottom:12px; width:calc(100% - 24px); display:block; padding:17px; }.cookie-actions { margin-top:13px; justify-content:flex-end; }.cookie-actions .button { min-width:auto; width:auto; }.cookie-minimal { padding:9px; } }
@media (max-width:420px) { .hero { min-height:850px; }.hero-content { padding-top:112px; }.hero h1 { font-size:38px; }.tech-scene { inset:400px -39% 0 -13%; }.gallery-grid { gap:6px; }.gallery-item,.gallery-item:nth-child(5n+1),.gallery-item:nth-child(5n+4) { height:132px; }.contact-details { display:block; }.work-strip-heading p { max-width:250px; line-height:1.25; }.work-strip-heading a { margin-top:-18px; }.navbar { height:66px; }.nav-links { top:66px; } }

/* Finom, az egész oldalon végigfutó piros-kék fénysugarak. */
.services,.gallery,.contact,.work-strip,.site-footer { position:relative; isolation:isolate; overflow:hidden; }
.services::before,.gallery::before,.contact::before,.work-strip::before,.site-footer::before { content:''; position:absolute; z-index:0; inset:-35% -20%; pointer-events:none; opacity:.56; background:linear-gradient(121deg,transparent 30%,rgba(20,151,255,.03) 34%,rgba(37,170,255,.28) 37%,rgba(65,185,255,.035) 41%,transparent 45%),linear-gradient(62deg,transparent 49%,rgba(255,34,89,.025) 52%,rgba(255,45,98,.25) 55%,rgba(255,87,129,.025) 59%,transparent 63%); filter:blur(8px); animation:sectionLightSweep 13s ease-in-out infinite alternate; }
.gallery::before { animation-delay:-4s; }.contact::before { animation-delay:-8s; }.work-strip::before { animation-delay:-2s; opacity:.42; }.site-footer::before { animation-delay:-6s; opacity:.32; }
.services > .container,.gallery > .container,.contact > .container,.work-strip > div,.site-footer > .container { position:relative; z-index:1; }
.service-card,.gallery-item,.contact-form,.work-marquee,.footer-main,.legal-wrap { position:relative; z-index:0; }
.service-card::after,.contact-form::after { content:''; position:absolute; pointer-events:none; inset:0; opacity:0; border:1px solid transparent; background:linear-gradient(120deg,rgba(21,157,255,.35),transparent 38%,rgba(255,35,93,.32)) border-box; -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; transition:opacity .35s ease; }
.service-card:hover::after,.contact-form:focus-within::after { opacity:1; }
@keyframes sectionLightSweep { 0% { transform:translate3d(-7%,-3%,0) rotate(-3deg) scale(1.04); } 100% { transform:translate3d(7%,3%,0) rotate(3deg) scale(1.12); } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; } }

/* Gyors árkalkulátor */
.calculator { background:radial-gradient(ellipse at 7% 35%,rgba(21,157,255,.2),transparent 37%),radial-gradient(ellipse at 93% 62%,rgba(255,35,93,.17),transparent 34%),linear-gradient(108deg,#06101d,#12070f); }
.calculator-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }.calculator-copy > p:not(.eyebrow) { max-width:480px; color:#b7c4d5; }.calculator-notes { padding:0; margin:30px 0 0; list-style:none; color:#d5e3f3; font-size:12px; }.calculator-notes li { position:relative; padding:8px 0 8px 21px; border-bottom:1px solid rgba(132,177,226,.16); }.calculator-notes li::before { content:'✦'; position:absolute; left:0; color:var(--red); }
.price-calculator { display:grid; grid-template-columns:1fr 1fr; gap:17px; padding:32px; border:1px solid rgba(96,165,231,.36); background:linear-gradient(135deg,rgba(5,13,24,.94),rgba(23,7,15,.94)); box-shadow:-12px 0 38px rgba(21,157,255,.12),12px 0 38px rgba(255,35,93,.09); }.price-calculator > label:first-child,.calc-custom-fields,.calc-result,.price-calculator > button { grid-column:1/-1; }.price-calculator label { color:#dfe8f4; font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.price-calculator select,.price-calculator input { display:block; width:100%; border:1px solid rgba(125,165,210,.38); border-radius:0; outline:0; padding:11px 12px; margin-top:5px; color:#f5f8ff; background:#09121f; font:600 13px var(--font-body); }.price-calculator select:focus,.price-calculator input:focus { border-color:var(--neon); box-shadow:0 0 0 2px rgba(21,157,255,.14); }.calc-custom-fields { display:grid; grid-template-columns:1fr 1fr; gap:17px; }.calc-custom-fields[hidden] { display:none; }.calc-dimensions { display:grid; grid-template-columns:1fr 1fr; gap:12px; grid-column:1/-1; }.calc-result { padding:20px; margin-top:4px; border-left:3px solid var(--red); background:linear-gradient(90deg,rgba(255,35,93,.11),rgba(21,157,255,.08)); }.calc-result span,.calc-result small { display:block; }.calc-result span { color:#b7c9de; font:700 11px var(--font-display); letter-spacing:.13em; text-transform:uppercase; }.calc-result strong { display:block; margin:3px 0; color:#fff; font:800 clamp(32px,4vw,46px)/1 var(--font-display); letter-spacing:.02em; }.calc-result small { color:#a9bdd4; font-size:11px; line-height:1.4; }.price-calculator .button { justify-self:start; }
@media (max-width:800px) { .calculator-grid { grid-template-columns:1fr; gap:35px; }.price-calculator { padding:24px 20px; }.calculator-notes { margin-top:22px; }.price-calculator .button { width:100%; } }
@media (max-width:460px) { .price-calculator,.calc-custom-fields { grid-template-columns:1fr; }.calc-dimensions { grid-template-columns:1fr 1fr; }.calc-result strong { font-size:38px; } }

/* Élénkebb, gyorsabb piros-kék fénysugarak. */
.hero:after { opacity:1; filter:blur(4px) saturate(1.45) brightness(1.3); animation-duration:5s; }
.services::before,.gallery::before,.contact::before,.work-strip::before,.site-footer::before { opacity:.82; filter:blur(6px) saturate(1.5) brightness(1.28); animation-duration:7s; }
.work-strip::before { opacity:.68; }.site-footer::before { opacity:.54; }

/* LED plexi óra tervező */
.clock-designer { background:radial-gradient(ellipse at 80% 22%,rgba(16,112,255,.24),transparent 36%),radial-gradient(ellipse at 12% 88%,rgba(255,35,93,.17),transparent 34%),#070b13; }.clock-designer-grid { display:grid; grid-template-columns:.8fr .9fr 1fr; gap:30px; align-items:start; }.clock-designer-copy > p:not(.eyebrow) { color:#bdcada; max-width:400px; }.clock-form { display:grid; gap:17px; padding:26px; border:1px solid rgba(94,161,240,.36); background:rgba(5,12,23,.74); }.clock-form label,.clock-form legend { color:#dfe8f5; font:700 10px var(--font-body); letter-spacing:.09em; text-transform:uppercase; }.clock-form input[type=text],.clock-form select { display:block; width:100%; border:1px solid rgba(125,165,210,.38); padding:11px 12px; margin-top:6px; color:#fff; background:#09121f; font:500 13px var(--font-body); }.clock-upload { display:block; padding:18px; border:1px dashed rgba(88,163,255,.7); color:#9ed1ff !important; cursor:pointer; text-align:center; }.clock-upload input { display:block; width:100%; margin:10px 0 5px; color:#c9d9ed; }.clock-upload small { color:#92a5bd; font:400 10px var(--font-body); text-transform:none; letter-spacing:0; }.clock-form fieldset { border:0; padding:0; margin:0; }.clock-form legend { margin-bottom:10px; }.led-colors { display:flex; gap:7px; flex-wrap:wrap; }.led-colors input { position:absolute; opacity:0; }.led-colors span { display:block; padding:7px 9px; border:1px solid #3c4b5f; cursor:pointer; font:700 11px var(--font-display); }.led-colors input:checked + span { border-color:#fff; box-shadow:0 0 13px currentColor; }.led-blue { color:#58aaff; }.led-red { color:#ff5b82; }.led-green { color:#60ed98; }.led-purple { color:#ce7cff; }.led-white { color:#fff; }.design-message { margin:0; padding:10px; font-size:11px; }.design-message.success { color:#98ddff; background:rgba(21,157,255,.13); }.design-message.error { color:#ffb1c4; background:rgba(255,35,93,.13); }.preview-label { margin:0 0 10px; color:#a9c8e9; font:700 12px var(--font-display); letter-spacing:.1em; text-transform:uppercase; }.clock-preview { position:relative; overflow:hidden; aspect-ratio:1224/1288; background:#020817; }.clock-base { width:100%; height:100%; object-fit:cover; display:block; transition:filter .35s; }.clock-graphic { position:absolute; left:27%; top:20%; width:46%; height:45%; object-fit:cover; border-radius:50%; mix-blend-mode:screen; filter:grayscale(1) contrast(1.65); opacity:.88; }.clock-caption { position:absolute; left:30%; right:30%; top:57%; margin:0; color:inherit; text-align:center; font-size:clamp(15px,2vw,27px); font-weight:700; line-height:1.05; text-shadow:0 0 8px currentColor,0 0 16px currentColor; }.led-red .clock-base { filter:hue-rotate(130deg) saturate(1.4); }.led-green .clock-base { filter:hue-rotate(250deg) saturate(1.25); }.led-purple .clock-base { filter:hue-rotate(45deg) saturate(1.3); }.led-white .clock-base { filter:grayscale(1) brightness(1.5); }
@media (max-width:1000px) { .clock-designer-grid { grid-template-columns:1fr 1fr; }.clock-designer-copy { grid-column:1/-1; }.clock-preview-wrap { max-width:560px; } } @media (max-width:640px) { .clock-designer-grid { grid-template-columns:1fr; }.clock-form { padding:21px; } }

/* Díszes LED plexi kép tervező */
.picture-designer { background:radial-gradient(ellipse at 20% 16%,rgba(21,157,255,.23),transparent 34%),radial-gradient(ellipse at 85% 88%,rgba(255,35,93,.14),transparent 36%),#080b14; }.picture-preview { position:relative; overflow:hidden; aspect-ratio:1086/1450; background:#020817; }.picture-base { display:block; width:100%; height:100%; object-fit:cover; transition:filter .35s; }.picture-graphic { position:absolute; left:16%; top:15%; width:68%; height:61%; object-fit:contain; mix-blend-mode:screen; filter:grayscale(1) contrast(1.65); opacity:.88; }.picture-caption { position:absolute; left:18%; right:18%; top:77%; margin:0; color:inherit; text-align:center; font-size:clamp(15px,2vw,27px); font-weight:700; line-height:1.05; text-shadow:0 0 8px currentColor,0 0 16px currentColor; }.led-red .picture-base { filter:hue-rotate(130deg) saturate(1.4); }.led-green .picture-base { filter:hue-rotate(250deg) saturate(1.25); }.led-purple .picture-base { filter:hue-rotate(45deg) saturate(1.3); }.led-white .picture-base { filter:grayscale(1) brightness(1.5); }

/* Technikai maszkolás: az óra grafikája nem kerülhet a középső körön kívülre. */
.clock-graphic { clip-path:circle(50% at 50% 50%); }

/* A felirat mindig a kiválasztott LED-színben, a grafika felett látszik. */
.led-blue { --led-color:#58aaff; }.led-red { --led-color:#ff5b82; }.led-green { --led-color:#60ed98; }.led-purple { --led-color:#ce7cff; }.led-white { --led-color:#ffffff; }
.clock-caption,.picture-caption { z-index:2; color:var(--led-color,#58aaff) !important; }

/* A gravírozott grafika fényének színe követi a LED-választást. A fekete háttér továbbra is átlátszó marad a screen keveréssel. */
.led-blue .clock-graphic,.led-blue .picture-graphic { filter:grayscale(1) contrast(1.7) sepia(1) saturate(8) hue-rotate(170deg) brightness(1.15); }
.led-red .clock-graphic,.led-red .picture-graphic { filter:grayscale(1) contrast(1.7) sepia(1) saturate(9) hue-rotate(305deg) brightness(1.12); }
.led-green .clock-graphic,.led-green .picture-graphic { filter:grayscale(1) contrast(1.7) sepia(1) saturate(8) hue-rotate(70deg) brightness(1.1); }
.led-purple .clock-graphic,.led-purple .picture-graphic { filter:grayscale(1) contrast(1.7) sepia(1) saturate(8) hue-rotate(245deg) brightness(1.14); }
.led-white .clock-graphic,.led-white .picture-graphic { filter:grayscale(1) contrast(1.7) brightness(1.35); }

/* A plexi képnél a grafika kitölti a teljes, díszkereten belüli gravírozható felületet. */
.picture-graphic { left:12%; top:13%; width:76%; height:64%; object-fit:cover; clip-path:inset(0); }

/* A kapott fekete-fehér kép itt maszkként működik: a vonalak a LED tényleges színét kapják. */
.clock-graphic,.picture-graphic { background-color:transparent; background-image:var(--engraving-image); background-repeat:no-repeat; background-position:center; background-size:cover; -webkit-mask-image:none; mask-image:none; mix-blend-mode:screen; opacity:.92; }

/* A díszkeretes kép felirata a plexi alsó részén marad, a talp fölött. */
.picture-caption { top:66%; }

/* Termékenként külön üzenet az AI-tervezőnek. */
.designer-chat { display:block; }.clock-form textarea { display:block; width:100%; min-height:88px; margin-top:6px; padding:11px 12px; resize:vertical; border:1px solid rgba(125,165,210,.38); color:#f5f8ff; background:#09121f; font:500 13px/1.5 var(--font-body); }.clock-form textarea:focus { outline:0; border-color:var(--neon); box-shadow:0 0 0 2px rgba(21,157,255,.14); }.designer-chat small { display:block; margin-top:6px; color:#92a5bd; font:400 10px/1.45 var(--font-body); letter-spacing:0; text-transform:none; }
.rights-check { display:flex; align-items:flex-start; gap:9px; color:#c9d9ed !important; font:500 10px/1.45 var(--font-body) !important; letter-spacing:0 !important; text-transform:none !important; }.rights-check input { flex:0 0 auto; width:auto; margin:2px 0 0; accent-color:var(--neon); }.rights-check a { color:#9ed1ff; text-decoration:underline; }
.preview-label small { color:#7992ae; font:500 10px var(--font-body); letter-spacing:0; text-transform:none; }.clock-caption,.picture-caption { --caption-scale:1; --caption-rotation:0deg; left:50%; right:auto; transform:translateX(-50%) rotate(var(--caption-rotation)) scale(var(--caption-scale)); transform-origin:center; cursor:grab; touch-action:none; user-select:none; }.clock-caption { width:62%; }.picture-caption { width:64%; top:66%; }.clock-caption.is-dragging,.picture-caption.is-dragging { cursor:grabbing; }.caption-resize,.caption-rotate { position:absolute; display:none; width:16px; height:16px; border:2px solid #fff; border-radius:50%; box-shadow:0 0 10px #58aaff; }.caption-resize { right:-10px; bottom:-10px; background:#58aaff; cursor:nwse-resize; }.caption-rotate { left:50%; top:-28px; margin-left:-10px; background:#ff5b82; cursor:grab; }.caption-rotate::after { content:''; position:absolute; left:6px; top:14px; width:2px; height:13px; background:#fff; }.clock-caption:hover .caption-resize,.picture-caption:hover .caption-resize,.clock-caption:hover .caption-rotate,.picture-caption:hover .caption-rotate,.clock-caption.is-dragging .caption-resize,.picture-caption.is-dragging .caption-resize,.clock-caption.is-dragging .caption-rotate,.picture-caption.is-dragging .caption-rotate,.clock-caption.is-resizing .caption-resize,.picture-caption.is-resizing .caption-resize,.clock-caption.is-resizing .caption-rotate,.picture-caption.is-resizing .caption-rotate,.clock-caption.is-rotating .caption-resize,.picture-caption.is-rotating .caption-resize,.clock-caption.is-rotating .caption-rotate,.picture-caption.is-rotating .caption-rotate { display:block; }
.clock-caption.caption-secondary { top:68%; }.picture-caption.caption-secondary { top:78%; }

/* Bal oldali, üzenetváltásos AI-tervező chat. */
.ai-chat { margin-top:28px; border:1px solid rgba(91,159,237,.4); background:rgba(4,12,23,.78); }.ai-chat-title { margin:0; padding:11px 14px; color:#d9efff; border-bottom:1px solid rgba(91,159,237,.25); font:700 14px var(--font-display); letter-spacing:.08em; text-transform:uppercase; }.ai-chat-messages { height:210px; overflow:auto; padding:13px; display:flex; flex-direction:column; gap:9px; }.ai-message { max-width:88%; margin:0; padding:9px 11px; font:500 11px/1.45 var(--font-body); }.ai-message.assistant { align-self:flex-start; background:rgba(24,124,233,.14); color:#c8e5ff; border-left:2px solid #58aaff; }.ai-message.user { align-self:flex-end; background:rgba(255,35,93,.16); color:#ffd1dd; border-right:2px solid #ff5b82; }.ai-message.pending { opacity:.75; }.ai-chat-input { display:flex; border-top:1px solid rgba(91,159,237,.25); }.ai-chat-input input { min-width:0; flex:1; border:0; padding:12px; color:#fff; background:#09121f; font:500 12px var(--font-body); }.ai-chat-input button { width:45px; border:0; cursor:pointer; color:#05101d; background:#58aaff; font-size:18px; }.ai-chat-input input:focus { outline:0; }.ai-chat-input button:hover { background:#ff5b82; }

/* A külön URL-eken csak a választott eszköz jelenik meg. */
html[data-page="calculator"] .hero,html[data-page="calculator"] .clock-designer,html[data-page="calculator"] .picture-designer,html[data-page="calculator"] .services,html[data-page="calculator"] .work-strip,html[data-page="calculator"] .gallery,html[data-page="calculator"] .contact,html[data-page="clock"] .hero,html[data-page="clock"] .picture-designer,html[data-page="clock"] .services,html[data-page="clock"] .calculator,html[data-page="clock"] .work-strip,html[data-page="clock"] .gallery,html[data-page="clock"] .contact,html[data-page="picture"] .hero,html[data-page="picture"] .clock-designer,html[data-page="picture"] .services,html[data-page="picture"] .calculator,html[data-page="picture"] .work-strip,html[data-page="picture"] .gallery,html[data-page="picture"] .contact { display:none; } html[data-page="calculator"] .calculator,html[data-page="clock"] .clock-designer,html[data-page="picture"] .picture-designer { min-height:calc(100vh - 130px); padding-top:140px; }
html[data-page="home"] .clock-designer,html[data-page="home"] .picture-designer,html[data-page="home"] .calculator { display:none; }
/* Fiatalos, nagy energiájú neonfrissítés. */
:root { --ink:#070711; --surface:#0c0d1d; --surface-2:#14152a; --line:rgba(95,235,255,.19); --muted:#b7bed3; --white:#f8f8ff; --neon:#b8ff32; --cyan:#36efff; --red:#ff3cac; }
body { background:var(--ink); }
.site-header { position:absolute; top:0; background:linear-gradient(180deg,rgba(5,6,17,.92),rgba(5,6,17,.26)); border-bottom:1px solid rgba(184,255,50,.18); backdrop-filter:blur(12px); }
.brand-mark { border-color:var(--neon); box-shadow:0 0 12px #b8ff3299,0 0 28px #b8ff3233; }
.brand > span:last-child > span, h2 strong { color:var(--neon); text-shadow:0 0 22px #b8ff3250; }
.nav-links a:hover,.nav-links a:focus-visible { color:var(--cyan)!important; text-shadow:0 0 14px #36efff99; }
.nav-contact { color:#ff9fdb; border-color:var(--red); box-shadow:0 0 18px #ff3cac35,inset 0 0 12px #ff3cac17; }
.hero { min-height:760px; background:radial-gradient(ellipse at 78% 47%,#3e145e 0,transparent 25%),radial-gradient(ellipse at 85% 22%,#063e52 0,transparent 31%),linear-gradient(125deg,#080812 20%,#10112a 64%,#210c26); }
.hero:before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:radial-gradient(ellipse at 72% 77%,#bbff241c,transparent 35%); }
.hero-overlay { background:linear-gradient(90deg,rgba(7,7,17,.98) 0%,rgba(7,7,17,.78) 45%,rgba(7,7,17,.16) 100%); }
.hero-content { z-index:2; }.hero h1 { max-width:900px; text-shadow:0 5px 34px #0009; }.hero h1 span { color:var(--cyan); text-shadow:0 0 24px #36efff72; }
.eyebrow,.eyebrow span { color:var(--red); }.eyebrow span { background:var(--red); box-shadow:0 0 12px var(--red); }
.button-primary { background:linear-gradient(105deg,var(--neon),#63ffbd 58%,var(--cyan)); color:#071014; box-shadow:0 0 24px #59ffb94f,0 0 48px #36efff2b; border-radius:999px; transition:transform .2s,box-shadow .2s,filter .2s; }
.button-primary:hover { filter:saturate(1.3); box-shadow:0 0 30px #59ffb977,0 0 65px #36efff45; }
.scroll-cue span { background:var(--red); box-shadow:0 0 12px var(--red); }
.services { background:radial-gradient(ellipse at 85% 0,#31103d 0,transparent 38%),linear-gradient(135deg,#0c0d1d,#0a1019); }
.service-grid { gap:14px; background:transparent; border:0; }
.service-card,.featured-card { border:1px solid #7d5cff3d; border-radius:18px; background:linear-gradient(150deg,#15162b,#0d1020); box-shadow:0 12px 35px #0005; overflow:hidden; }
.service-card:before { content:""; position:absolute; inset:0 auto auto 0; width:100%; height:2px; background:linear-gradient(90deg,var(--cyan),var(--red),var(--neon)); opacity:.85; }
.service-card:hover { transform:translateY(-8px); border-color:#36efff88; box-shadow:0 16px 44px #36efff20,0 0 24px #ff3cac12; }
.service-card:nth-child(2) .service-icon,.service-card:nth-child(2) h3 span { color:var(--red); }.service-card:nth-child(3) .service-icon { color:#c46aff; }
.calculator { background:#0b0c18; }
.work-strip { background:#080912; border-block:1px solid #36efff2b; }
.gallery { background:radial-gradient(ellipse at 5% 5%,#191139 0,transparent 35%),#080910; }
.gallery-item { border-radius:14px; border:1px solid #36efff25; }.gallery-item:hover { border-color:#36efff99; box-shadow:0 0 25px #36efff26; }
.contact { background:radial-gradient(ellipse at 12% 80%,#152e44 0,transparent 30%),radial-gradient(ellipse at 88% 15%,#3a1038 0,transparent 31%),#0a0b17; }
.contact-form { border:1px solid #36efff39; border-radius:18px; box-shadow:0 14px 45px #0005,0 0 22px #36efff0d; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--cyan); box-shadow:0 5px 14px -12px var(--cyan); }
.site-footer { background:#06070e; }.legal summary:hover { color:var(--cyan); }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
/* Distinct full-site art directions. Each theme reshapes the page, not only its accent color. */
html[data-theme="neon"] { --neon:#baff00; --cyan:#55f7c5; --red:#ff476f; --line:#333c35; }
html[data-theme="neon"] .site-header { background:linear-gradient(90deg,#070b09f2,#0e1710dc); border-color:#baff0038; }
html[data-theme="neon"] .hero { background:radial-gradient(ellipse at 82% 48%,#294009 0,transparent 39%),#080c09; }
html[data-theme="neon"] .service-card { border-color:#baff0029; border-radius:2px; }
html[data-theme="neon"] .button-primary { color:#071000; box-shadow:5px 5px 0 #4f7100; }
html[data-theme="cyberpunk"] { --neon:#ff268c; --cyan:#20e5ff; --red:#a876ff; --line:#39405c; }
html[data-theme="cyberpunk"] body { background:#090c17; }
html[data-theme="cyberpunk"] .site-header { background:#080c18eb; border-bottom:1px solid #20e5ff55; }
html[data-theme="cyberpunk"] .hero { background:linear-gradient(118deg,#071322 0 51%,#21102d 51% 100%); }
html[data-theme="cyberpunk"] .hero:after { content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 4px,#20e5ff09 5px 6px); }
html[data-theme="cyberpunk"] .service-card,html[data-theme="cyberpunk"] .contact-form { border-radius:3px;clip-path:polygon(0 0,calc(100% - 17px) 0,100% 17px,100% 100%,0 100%); }
html[data-theme="cyberpunk"] .button-primary { background:linear-gradient(100deg,#ff268c,#a93cff);box-shadow:0 0 25px #ff268c62; }
html[data-theme="vaporwave"] { --neon:#ff9bd7; --cyan:#91f4ff; --red:#ffcf98; --line:#744b82; }
html[data-theme="vaporwave"] body { background:#211431; }
html[data-theme="vaporwave"] .site-header { background:#241533dc; border-color:#ff9bd766; }
html[data-theme="vaporwave"] .hero { background:radial-gradient(ellipse at 80% 34%,#ff9bd74a,transparent 38%),linear-gradient(145deg,#291741,#45305b 55%,#182849); }
html[data-theme="vaporwave"] .hero h1 { text-shadow:4px 4px 0 #6c47a8,0 0 28px #ff9bd744; }
html[data-theme="vaporwave"] .service-card,html[data-theme="vaporwave"] .contact-form { border-radius:24px; background:linear-gradient(145deg,#352149,#21172f); }
html[data-theme="vaporwave"] .button-primary { background:linear-gradient(110deg,#ee76c5,#9a7df3);border-radius:999px;box-shadow:0 10px 30px #d15ebc42; }
html[data-theme="daylight"] { --neon:#087e9b; --cyan:#087e9b; --red:#ed704b; --line:#cfdae1; color-scheme:light; }
html[data-theme="daylight"] body { background:#f5f9fb;color:#192735; }
html[data-theme="daylight"] .site-header { background:#f8fcfdf2;border-color:#d7e2e8;box-shadow:0 5px 24px #2237470a; }
html[data-theme="daylight"] .nav-links a:not(.nav-contact) { color:#293b49; }
html[data-theme="daylight"] .menu-toggle span { background-color:#293b49; }
html[data-theme="daylight"] .hero { background:radial-gradient(ellipse at 83% 35%,#b9eafa 0,transparent 42%),linear-gradient(130deg,#f8fcff,#e9f4f8 65%,#d8edf4); }
html[data-theme="daylight"] .hero-overlay { background:linear-gradient(90deg,#f8fcfff2 0%,#f8fcffbd 48%,transparent 100%); }
html[data-theme="daylight"] .hero h1,html[data-theme="daylight"] .section-heading h2,html[data-theme="daylight"] .contact-copy h2 { color:#142b3b; }
html[data-theme="daylight"] .hero-lead,html[data-theme="daylight"] .section-heading p,html[data-theme="daylight"] .contact-copy>p:not(.eyebrow) { color:#516879; }
html[data-theme="daylight"] .services,html[data-theme="daylight"] .gallery,html[data-theme="daylight"] .contact,html[data-theme="daylight"] .work-strip { background:#f2f7f9; }
html[data-theme="daylight"] .service-card,html[data-theme="daylight"] .contact-form { background:#fff;border:1px solid #d5e1e7;box-shadow:0 14px 38px #19374a0b;border-radius:16px; }
html[data-theme="daylight"] .service-card h3,html[data-theme="daylight"] .contact-form label { color:#213646; }
html[data-theme="daylight"] input,html[data-theme="daylight"] textarea { color:#1c303e;border-color:#c5d4dc; }
html[data-theme="daylight"] .gallery-item { background:#dceaf0; }
html[data-theme="daylight"] .site-footer { background:#e7f0f4;color:#263c49; }
html[data-theme="daylight"] .site-footer a,html[data-theme="daylight"] .site-footer p { color:#405866; }
html[data-theme="daylight"] .services:before,html[data-theme="daylight"] .gallery:before,html[data-theme="daylight"] .contact:before,html[data-theme="daylight"] .work-strip:before,html[data-theme="daylight"] .site-footer:before { display:none; }
html[data-theme="workshop"] { --neon:#ffad43; --cyan:#8bd7ef; --red:#f66c4f; --line:#48505a; }
html[data-theme="workshop"] body { background:#171a1d; }
html[data-theme="workshop"] .site-header { background:#171a1df2;border-color:#f9a03f55; }
html[data-theme="workshop"] .hero { background-color:#191c20;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px),radial-gradient(ellipse at 84% 48%,#89511d44,transparent 40%);background-size:32px 32px,32px 32px,auto; }
html[data-theme="workshop"] .section-heading h2,html[data-theme="workshop"] .hero h1 { font-family:'Barlow Condensed',sans-serif;letter-spacing:.015em; }
html[data-theme="workshop"] .service-card,html[data-theme="workshop"] .contact-form { background:linear-gradient(140deg,#282d32,#1b1f23);border-color:#545b62;border-radius:4px;box-shadow:inset 0 1px #ffffff12,0 12px 28px #0003; }
html[data-theme="workshop"] .button-primary { background:#d8862c;color:#17130c;border-radius:3px;box-shadow:4px 4px 0 #7b481a; }
html[data-theme="workshop"] .services:before,html[data-theme="workshop"] .gallery:before,html[data-theme="workshop"] .contact:before,html[data-theme="workshop"] .work-strip:before,html[data-theme="workshop"] .site-footer:before { opacity:.2;filter:grayscale(1); }
.theme-picker { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px; }
.theme-choice { position:relative;display:grid!important;gap:7px!important;padding:12px;border:1px solid #38445e;border-radius:12px;background:#090d17;cursor:pointer; }
.theme-choice:has(input:checked) { border-color:#55f7c5;box-shadow:0 0 20px #55f7c51d; }
.theme-choice input { position:absolute;top:10px;right:10px;width:auto!important;accent-color:#55f7c5; }
.theme-swatch { display:block;height:54px;border-radius:8px;background:var(--swatch); }
.theme-choice b { color:#f5f7ff;font-size:13px; }.theme-choice small { color:#9eacc3;font-size:11px;line-height:1.4; }

.visitor-theme-picker{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:7px;margin-left:9px;color:var(--neon);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.visitor-theme-picker select{border:1px solid var(--neon);border-radius:999px;padding:7px 10px;background:#10151acc;color:var(--white);font:600 11px var(--font-body);cursor:pointer;box-shadow:0 0 16px color-mix(in srgb,var(--neon) 23%,transparent);animation:themePickerGlow 3.2s ease-in-out infinite alternate}.visitor-theme-picker select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}@keyframes themePickerGlow{from{box-shadow:0 0 5px color-mix(in srgb,var(--neon) 20%,transparent)}to{box-shadow:0 0 19px color-mix(in srgb,var(--neon) 52%,transparent)}}html[data-theme="daylight"] .visitor-theme-picker select{background:#fff;color:#203746}@media(max-width:800px){.visitor-theme-picker{margin:5px 0 0;grid-template-columns:1fr auto;justify-content:space-between;padding-top:12px;border-top:1px solid var(--line)}}@media(prefers-reduced-motion:reduce){.visitor-theme-picker select{animation:none}}
/* Gyorsabb, látványosabb, de könnyű CSS-es gép- és nyomtatásanimációk. */
.mobile-theme-picker{display:none}.filament-spool{position:absolute;z-index:2;top:25%;right:10%;width:82px;height:82px;border:9px double #8ea5bb;border-radius:50%;background:repeating-conic-gradient(from 0deg,#ff3d73 0 9deg,#a91d52 9deg 18deg);box-shadow:0 0 28px #ff28584a,inset 0 0 14px #05080d;animation:spoolSpin 3.4s linear infinite}.filament-spool span{position:absolute;inset:22px;border:5px solid #121c2b;border-radius:50%;background:radial-gradient(circle,#d9e8f1 0 22%,#27384a 25% 100%);box-shadow:0 0 12px #20a8ff88}.filament-spool:after{content:'';position:absolute;left:-2px;bottom:-89px;width:2px;height:88px;background:linear-gradient(#ff557c,#4abfff99,transparent);transform:rotate(17deg);transform-origin:top;filter:drop-shadow(0 0 5px #ff356c);animation:filamentFeed .7s steps(3,end) infinite}.holo-orb{position:absolute;z-index:1;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#fff,#40cfff 32%,#1764ba 68%,#11172a);box-shadow:0 0 24px #20baffaa;animation:orbFloat 4s ease-in-out infinite alternate}.orb-one{top:31%;left:15%}.orb-two{top:61%;right:18%;width:14px;height:14px;animation-delay:-1.7s}
.laser-carriage{animation-duration:7.2s}.laser-carriage .laser-beam{animation-duration:.22s}.laser-carriage .spark{animation-duration:.42s}.print-object{transform-style:preserve-3d;animation:objectPulse 1.7s ease-in-out infinite}.print-object:before{content:'';position:absolute;inset:13px 17px 10px;border:1px solid #70e8ff99;background:repeating-linear-gradient(0deg,#ff507055 0 3px,transparent 3px 8px),linear-gradient(90deg,#147cff55,#f42c6855);box-shadow:inset 0 0 22px #26baff77,0 0 14px #ff356c88;transform:translateZ(15px);transform-origin:bottom;animation:printBuild 3.8s ease-in-out infinite alternate}.print-object:after{content:'';position:absolute;left:7px;right:7px;top:20%;height:4px;background:linear-gradient(90deg,transparent,#fff,#ff386b,transparent);filter:drop-shadow(0 0 8px #ff386b);animation:layerScan 1.15s linear infinite alternate}.machine-rail.rail-x:after{animation:railPulse .85s ease-in-out infinite alternate}.service-card{transform-style:preserve-3d;perspective:900px}.service-card:hover{transform:translateY(-10px) rotateX(2deg) rotateY(-2deg)}.service-icon{animation:iconBob 2.8s ease-in-out infinite alternate}.brand-mark{animation:brandSpin 8s cubic-bezier(.6,0,.4,1) infinite}.site-header{backdrop-filter:blur(12px)}
@keyframes spoolSpin{to{transform:rotate(360deg)}}@keyframes filamentFeed{50%{opacity:.32;transform:rotate(22deg) scaleY(.86)}}@keyframes orbFloat{to{transform:translate3d(20px,-24px,35px) scale(1.35)}}@keyframes printBuild{0%{transform:translateZ(8px) scaleY(.22);opacity:.45}55%{transform:translateZ(22px) scaleY(.72);opacity:.9}100%{transform:translateZ(12px) scaleY(1);opacity:.7}}@keyframes layerScan{from{top:14%}to{top:83%}}@keyframes railPulse{to{filter:brightness(1.8);box-shadow:0 0 24px #28bfffaa}}@keyframes iconBob{to{transform:translateY(-7px) rotateY(18deg)}}@keyframes brandSpin{0%,75%,100%{transform:rotate(45deg)}85%{transform:rotate(225deg)}}
@media(max-width:800px){.navbar{justify-content:flex-start;gap:6px}.navbar>.brand{margin-right:auto;font-size:21px}.navbar>.menu-toggle{order:3;flex:0 0 auto;margin:0 0 0 4px}.navbar>.mobile-theme-picker{display:inline-flex;order:2;align-items:center;margin:0;padding:0;border:0}.navbar>.mobile-theme-picker>span{display:none}.navbar>.mobile-theme-picker select{width:117px;max-width:35vw;padding:8px 7px;font-size:10px}.nav-links .desktop-theme-picker{display:none}.nav-links{background:var(--surface,#101114);backdrop-filter:blur(18px);border-color:var(--neon)}.tech-scene{filter:drop-shadow(0 0 16px #1faeff25)}.laser-carriage{animation-duration:6.2s}.filament-spool{top:20%;right:15%;width:65px;height:65px;border-width:7px}.filament-spool span{inset:17px}.filament-spool:after{height:65px;bottom:-66px}.print-object:before{inset:10px 13px 8px}}
@media(max-width:380px){.navbar>.brand{font-size:18px}.navbar>.mobile-theme-picker select{width:108px;font-size:9px}.navbar>.menu-toggle{padding:5px;margin-left:1px}}
@media(prefers-reduced-motion:reduce){.filament-spool,.filament-spool:after,.holo-orb,.print-object,.print-object:before,.print-object:after,.machine-rail.rail-x:after,.service-icon,.brand-mark{animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* Külön látogatói oldalak az oldal= query paraméter alapján. */
html[data-page="home"] main > section:not(.hero):not(.promo),
html[data-page="services"] main > section:not(.services),
html[data-page="references"] main > section:not(.gallery),
html[data-page="contact"] main > section:not(.contact) { display:none !important; }
html[data-page="services"] .site-header,
html[data-page="references"] .site-header,
html[data-page="contact"] .site-header { position:relative; top:0; background:linear-gradient(90deg,rgba(3,7,15,.94),rgba(17,3,10,.88)); }
html[data-page="services"] .services,
html[data-page="references"] .gallery,
html[data-page="contact"] .contact { min-height:calc(100vh - 84px); }

html[data-page="references"] .gallery.section { min-height:calc(100vh - 84px); padding-top:clamp(42px,6vh,76px); padding-bottom:clamp(54px,7vh,90px); }
html[data-page="references"] .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:30px; }
html[data-page="references"] .gallery-item,
html[data-page="references"] .gallery-item:nth-child(5n+1),
html[data-page="references"] .gallery-item:nth-child(5n+4) { grid-column:auto; height:clamp(280px,29vw,370px); }
html[data-page="references"] .empty-gallery { min-height:260px; }
.nav-links a[aria-current="page"] { color:var(--neon) !important; text-shadow:0 0 14px rgba(80,220,255,.3); }
@media(max-width:800px) { html[data-page="references"] .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } html[data-page="references"] .gallery-item,html[data-page="references"] .gallery-item:nth-child(5n+1),html[data-page="references"] .gallery-item:nth-child(5n+4) { height:clamp(210px,34vw,280px); } }
@media(max-width:420px) { html[data-page="references"] .gallery-grid { gap:8px; margin-top:22px; } html[data-page="references"] .gallery-item,html[data-page="references"] .gallery-item:nth-child(5n+1),html[data-page="references"] .gallery-item:nth-child(5n+4) { height:178px; } }
/* Minden látogatói nézet közös, keskeny, végtelenített referencia-képsávja. */
.site-header { position:relative; top:0; }
.work-strip { position:sticky; top:0; z-index:50; height:94px; }
.work-strip-heading { min-height:23px; height:23px; }
.work-strip-heading p { font-size:10px; }
.work-strip-heading a,.work-strip-heading p { line-height:1.1; }
.work-marquee { height:71px; border-top:0; }
.marquee-track { gap:10px; }
.marquee-track a { width:138px; height:64px; border-radius:8px; }
.marquee-placeholder { font-size:12px; }
@media(max-width:800px) {
  .work-strip { height:78px; }
  .work-strip-heading { min-height:20px; height:20px; padding:0 18px; align-items:center; flex-direction:row; gap:10px; }
  .work-strip-heading p { font-size:8px; white-space:nowrap; }
  .work-strip-heading a { margin:0; font-size:9px; }
  .work-marquee { height:58px; }
  .marquee-track a { width:116px; height:52px; }
}
/* Egységes webadmin navigáció az összes kezelőoldalon. */
.admin-nav { position:sticky; top:8px; z-index:20; display:flex; align-items:center; gap:8px; overflow-x:auto; padding:10px; margin:0 0 18px; border:1px solid #313653; border-radius:14px; background:#090c18ed; backdrop-filter:blur(12px); }
.admin-nav a,.admin-nav button { flex:0 0 auto; white-space:nowrap; border:1px solid #29344c; border-radius:999px; padding:8px 13px; background:#101629; color:#dce8ff; font:600 12px Manrope,Arial,sans-serif; }
.admin-nav a:hover,.admin-nav button:hover,.admin-nav a[aria-current="page"] { border-color:var(--cyan); color:var(--cyan); box-shadow:0 0 14px #54efff22; }
.admin-nav form { flex:0 0 auto; margin:0; }
.admin-nav form button { cursor:pointer; }
@media(max-width:800px) { .admin-nav { top:4px; gap:6px; padding:8px; } .admin-nav a,.admin-nav button { padding:8px 11px; font-size:11px; } }
/* Reference image details shown over the lower edge of each gallery photo. */
.gallery-caption{position:absolute;z-index:1;right:0;bottom:0;left:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 14px;padding:24px 13px 11px;background:linear-gradient(0deg,rgba(3,7,13,.96),rgba(3,7,13,.72) 68%,transparent);color:#f7f9ff;text-align:left;font:600 12px/1.45 var(--font-body);pointer-events:none;text-shadow:0 1px 3px #000}.gallery-caption span{display:inline-flex;align-items:center;min-height:20px}
.gallery-price-note{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.65;max-width:850px}

html[data-page="order"] main > section:not(.order){display:none!important}
html[data-page="order"] .site-header{position:relative;top:0;background:linear-gradient(90deg,rgba(3,7,15,.94),rgba(17,3,10,.88))}
html[data-page="order"] .order{min-height:calc(100vh - 84px);padding:clamp(42px,6vh,76px) 0 80px}
.order-container{max-width:980px}.order-container>h1{font-size:clamp(42px,7vw,76px);margin:10px 0 18px}.order-container>h1 strong{color:var(--neon)}.order-intro{max-width:760px;color:var(--muted);line-height:1.8;margin-bottom:35px}.order-steps{list-style:none;padding:0;margin:0;display:grid;gap:12px}.order-steps li{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:22px 24px;border:1px solid var(--line);background:var(--surface,#101729);border-radius:15px;box-shadow:0 12px 32px #0002}.order-number{font:800 28px/1 'Barlow Condensed',sans-serif;color:var(--neon)}.order-steps h2{font-size:24px;margin:0 0 8px}.order-steps p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}.order-price-note{margin:24px 0;color:var(--muted);font-size:13px;line-height:1.7;padding-left:16px;border-left:2px solid var(--neon)}.order-cta{margin-top:8px}
html[data-theme="daylight"] .order-steps li{background:#fff;border-color:#d5e1e7;box-shadow:0 14px 38px #19374a0b}html[data-theme="daylight"] .order-steps h2{color:#142b3b}
@media(max-width:600px){.order-steps li{grid-template-columns:38px 1fr;gap:12px;padding:18px 16px}.order-number{font-size:24px}.order-steps h2{font-size:21px}.order-steps p{font-size:13px}}

/* CutNext promo video player */
.promo { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 8% 20%,rgba(54,239,255,.13),transparent 38%),radial-gradient(ellipse at 90% 85%,rgba(255,60,172,.13),transparent 35%),linear-gradient(125deg,#090b17,#111127); }
.promo-container { position:relative; z-index:1; }
.promo .section-heading { margin-bottom:34px; }
.promo-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:24px; align-items:start; }
.promo-screen { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; margin-inline:auto; border:1px solid rgba(54,239,255,.36); border-radius:18px; background:#03050a; box-shadow:0 16px 55px rgba(0,0,0,.35),0 0 28px rgba(54,239,255,.08); }
.promo-screen video { display:block; width:100%; height:100%; object-fit:contain; background:#03050a; }
.promo-empty { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:22px; text-align:center; color:#f7f8ff; background:radial-gradient(ellipse at center,rgba(54,239,255,.13),transparent 60%),#070912; }
.promo-empty[hidden] { display:none; }
.promo-empty>span { display:grid; place-items:center; width:56px; height:56px; border:1px solid var(--cyan); border-radius:50%; color:var(--neon); font-size:22px; }
.promo-empty strong { font:700 clamp(18px,2.5vw,26px) var(--font-display); }
.promo-empty p,.promo-hint { margin:0; color:var(--muted); font:500 12px/1.6 var(--font-body); }
.promo-details { padding:22px; border:1px solid var(--line); border-radius:16px; background:rgba(8,12,24,.76); }
.promo-details h3 { margin:5px 0 10px; color:var(--white); font:700 25px/1.1 var(--font-display); }
.promo-playlist { display:grid; gap:7px; max-height:240px; margin:18px 0; overflow:auto; }
.promo-track { width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:rgba(255,255,255,.035); color:var(--muted); text-align:left; cursor:pointer; font:600 12px/1.4 var(--font-body); }
.promo-track:hover,.promo-track[aria-current="true"] { border-color:var(--cyan); color:var(--white); background:rgba(54,239,255,.09); }
.promo-share { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.promo-share .button { width:auto; min-height:40px; padding:9px 13px; font-size:12px; text-align:center; }
.promo-share-status { min-height:1.6em; margin-top:9px; }
html[data-theme="daylight"] .promo { background:linear-gradient(130deg,#e6f4f8,#f8fbfc); }
html[data-theme="daylight"] .promo-details { background:#ffffffd9; border-color:#bdd6df; }
html[data-theme="daylight"] .promo-details h3 { color:#142b3b; }
html[data-theme="daylight"] .promo-track { color:#334e5d; background:#f3f8fa; border-color:#c6dbe2; }
html[data-theme="daylight"] .promo-track:hover,html[data-theme="daylight"] .promo-track[aria-current="true"] { color:#123246; background:#e1f5f7; }
@media(max-width:800px) { .promo-layout { grid-template-columns:1fr; gap:14px; }.promo-details { padding:19px; }.promo .section-heading { margin-bottom:25px; } }
@media(max-width:480px) { .promo-screen { border-radius:12px; }.promo-share .button { flex:1 1 calc(50% - 8px); }.promo-details h3 { font-size:22px; } }
