:root{color-scheme:dark;--black:#050607;--panel:#0d1013;--line:#252a30;--white:#f4f5f6;--muted:#9aa2ab;--gold:#ffc400;--gold2:#ffda4a}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;background:var(--black);color:var(--white);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%}
.wrap{width:min(1160px,90%);margin:auto}

/* Header */
.header{height:86px;position:fixed;z-index:50;inset:0 0 auto;background:rgba(5,6,7,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between}
.brand img{width:205px;height:auto;display:block}
.desktop{display:flex;align-items:center;gap:32px}
.desktop a,.mobile a{color:#d6d9dc;text-decoration:none;font-size:13px;font-weight:700}
.desktop a:hover,.mobile a:hover{color:var(--gold)}
.nav-btn{border:1px solid #3b4046;padding:11px 17px;border-radius:4px}
.nav-btn:hover{border-color:var(--gold)}
.hamb{display:none;border:0;background:none;width:40px;padding:6px;cursor:pointer}
.hamb i{display:block;height:2px;background:#fff;margin:6px 0}
.mobile{display:none}

/* Typography */
.eyebrow{display:flex;align-items:center;gap:11px;color:var(--gold);font-size:11px;letter-spacing:.22em;font-weight:700}
.eyebrow span{width:32px;height:2px;background:var(--gold);display:inline-block}
h1,h2{font-family:'Barlow Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:-.02em}
h1 em,h2 em{color:var(--gold);font-style:italic}
h2{font-size:clamp(46px,6vw,65px);line-height:.9;margin:22px 0 50px}
section{padding:115px 0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:190px;padding:15px 20px;text-decoration:none;border-radius:3px;font:800 12px 'DM Sans',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s}
.btn.gold{background:var(--gold);color:#080909}
.btn.gold:hover{background:var(--gold2)}
.btn.dark{border-color:#41474e;color:#fff;background:rgba(0,0,0,.25)}
.btn.dark:hover{border-color:var(--gold)}

/* Hero */
.hero{min-height:min(900px,100vh);position:relative;overflow:hidden;padding:86px 0 90px;background:radial-gradient(circle at 74% 47%,rgba(255,196,0,.15),transparent 26%),#050607;display:flex;align-items:center}
.grid{position:absolute;inset:0;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 78%);mask-image:linear-gradient(to bottom,#000,transparent 78%)}
.bolt-glow{position:absolute;width:420px;height:420px;right:7%;top:25%;border-radius:50%;background:rgba(255,196,0,.08);filter:blur(70px)}
.hero-in{position:relative;z-index:2;padding-top:70px}
.hero h1{font-size:clamp(52px,8vw,112px);line-height:.87;margin:25px 0 28px;max-width:850px}
.lead{max-width:560px;color:#b3bac2;font-size:17px;line-height:1.7;margin:0}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}
.proof{display:flex;gap:56px;margin-top:80px}
.proof div{display:flex;gap:12px;align-items:center}
.proof strong{font:700 italic 26px 'Barlow Condensed',sans-serif;color:var(--gold);text-transform:uppercase}
.proof span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#8a929b;line-height:1.35}

/* Services */
.services{background:#0b0e11;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cards article{background:linear-gradient(145deg,#12161a,#0b0e11);border:1px solid var(--line);padding:28px;position:relative;transition:transform .25s,border-color .25s}
.cards article:before{content:'';position:absolute;left:0;top:0;width:0;height:2px;background:var(--gold);transition:width .25s}
.cards article:hover{transform:translateY(-4px);border-color:#41474e}
.cards article:hover:before{width:100%}
.cards svg{width:30px;height:30px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cards h3{font:700 italic 25px/1.05 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:34px 0 10px}
.cards p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}

/* Process */
.process{background:var(--gold);color:#070808}
.black{color:#070808}.black span{background:#070808}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.steps>div{border-top:1px solid rgba(0,0,0,.3);padding-top:18px}
.steps strong{font:700 14px 'Barlow Condensed',sans-serif}
.steps h3{font:700 italic 27px 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:26px 0 6px}
.steps p{font-size:14px;line-height:1.55;max-width:220px;margin:0}

/* References */
.references{border-bottom:1px solid var(--line)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.photo{display:block;width:100%;height:320px;padding:0;position:relative;overflow:hidden;text-align:left;cursor:zoom-in;background:#101318;border:1px solid #292e35;border-radius:3px}
.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,opacity .3s ease}
.photo:hover img{transform:scale(1.035);opacity:.85}
.photo span{position:absolute;left:0;right:0;bottom:0;padding:48px 18px 16px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.88))}
.photo span b{display:block;font:700 italic 18px 'Barlow Condensed',sans-serif;letter-spacing:.03em;text-transform:uppercase}
.photo span small{display:block;margin-top:3px;font:500 11px 'DM Sans',sans-serif;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}
.lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);align-items:center;justify-content:center;padding:5vw}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:88vh;object-fit:contain;box-shadow:0 20px 80px #000}
.lightbox-close{position:absolute;top:18px;right:24px;border:1px solid #666;background:#111;color:#fff;border-radius:50%;width:44px;height:44px;font-size:28px;line-height:1;cursor:pointer}

/* Contact */
.contact{background:#080a0c}
.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:linear-gradient(145deg,#11151a,#0b0e11);border:1px solid var(--line);padding:65px}
.contact h2{margin-bottom:28px}
.contact-box p{color:var(--muted);line-height:1.7;margin:0 0 10px;max-width:440px}
.checklist{list-style:none;padding:0;margin:0 0 18px}
.checklist li{position:relative;padding:6px 0 6px 26px;color:#d6d9dc}
.checklist li:before{content:'';position:absolute;left:2px;top:15px;width:10px;height:2px;background:var(--gold)}
.contact-card{border:1px solid #2f353c;background:#07090b;padding:38px}
.contact-card small{display:block;color:#7c858e;font-size:10px;letter-spacing:.18em;font-weight:700}
.mail{display:block;margin:10px 0 26px;color:#fff;text-decoration:none;font:700 italic clamp(26px,3.4vw,38px)/1.05 'Barlow Condensed',sans-serif;overflow-wrap:normal}
.mail:hover{color:var(--gold)}
.mail-actions{display:flex;flex-wrap:wrap;gap:10px}
.mail-actions .btn{min-width:0;flex:1 1 180px}
.copy.done{border-color:var(--gold);color:var(--gold)}
.phone{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.phone a{display:inline-block;margin-top:6px;color:#d6d9dc;text-decoration:none;font-size:18px;font-weight:700}
.phone a:hover{color:var(--gold)}

/* Footer */
footer{border-top:1px solid var(--line)}
.foot{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:20px;flex-wrap:wrap;padding:20px 0}
.foot img{width:150px;height:auto}
.foot span,.foot a{font-size:12px;color:#7a838c;text-decoration:none}
.foot a:hover{color:var(--gold)}
.mobile-bar{display:none}

@media(max-width:850px){
  .desktop{display:none}.hamb{display:block}
  .mobile{position:absolute;top:86px;left:0;right:0;background:#070809;border-bottom:1px solid var(--line);padding:22px 5%;flex-direction:column;gap:22px}
  .mobile.open{display:flex}
  .cards{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;row-gap:40px}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo{height:280px}
  .contact-box{grid-template-columns:1fr;gap:40px;padding:45px}
}
@media(max-width:560px){
  .brand img{width:165px}
  section{padding:85px 0}
  .hero{min-height:auto;padding-bottom:70px}
  .hero-in{padding-top:70px}
  .lead{font-size:16px}
  .actions{flex-direction:column}.actions .btn{width:100%}
  .proof{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:55px}
  .cards,.steps,.gallery{grid-template-columns:1fr}
  .photo{height:300px}
  .contact-box{padding:30px 20px;border-left:0;border-right:0}
  .contact-card{padding:26px 20px}
  .foot{flex-direction:column;align-items:flex-start;padding:28px 0 96px}
  .mobile-bar{display:grid;grid-template-columns:2fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(5,6,7,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mobile-bar a{text-align:center;padding:14px;border-radius:3px;text-decoration:none;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em}
  .mb-mail{background:var(--gold);color:#080909}
  .mb-tel{border:1px solid #41474e;color:#fff}
}

/* Impresszum page */
.legal{padding:150px 0 100px}
.legal h1{font-size:clamp(44px,6vw,64px);line-height:.9;margin:20px 0 40px}
.legal h2{font-size:30px;margin:50px 0 16px}
.legal p,.legal li{color:var(--muted);line-height:1.7;font-size:15px}
.legal a{color:var(--gold)}
.legal dl{display:grid;grid-template-columns:max-content 1fr;gap:10px 30px;margin:0}
.legal dt{color:#7c858e;font-size:13px}
.legal dd{margin:0;color:#e3e6e9}
@media(max-width:560px){.legal dl{grid-template-columns:1fr;gap:2px}.legal dd{margin-bottom:12px}}
.brand img,.foot img{mix-blend-mode:lighten}

/* Hero fotó */
.eyebrow{margin:0}
.hero-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:60px;align-items:center}
.hero-text{min-width:0}
.hero-photo{position:relative;margin:0;justify-self:end;width:100%;max-width:430px}
.hero-photo:before{content:'';position:absolute;top:-14px;right:-14px;width:46%;height:46%;border-top:2px solid var(--gold);border-right:2px solid var(--gold);pointer-events:none}
.hero-photo:after{content:'';position:absolute;bottom:-14px;left:-14px;width:30%;height:30%;border-bottom:2px solid var(--gold);border-left:2px solid var(--gold);pointer-events:none}
.hero-photo picture{display:block;position:relative;overflow:hidden;border:1px solid #2a3037;background:#101318}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;filter:saturate(.88) contrast(1.04)}
.hero-photo picture:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(5,6,7,.92) 0%,rgba(5,6,7,.25) 32%,transparent 55%),linear-gradient(to right,rgba(5,6,7,.25),transparent 35%)}
.hero-photo figcaption{position:absolute;left:22px;bottom:20px;z-index:2}
.hero-photo figcaption b{display:block;font:700 italic 26px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.01em}
.hero-photo figcaption small{display:block;margin-top:5px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
@media(max-width:850px){
  .hero-in{grid-template-columns:1fr;gap:56px}
  .hero-photo{justify-self:start;max-width:420px}
}
@media(max-width:560px){.hero-photo{max-width:none;width:calc(100% - 14px)}}
.hero h1{font-size:clamp(46px,5.9vw,92px)}
@media(max-width:850px){.hero h1{font-size:clamp(46px,9vw,80px)}}
@media(max-width:560px){
  .proof{grid-template-columns:repeat(3,1fr);gap:16px}
  .proof div{flex-direction:column;align-items:flex-start;gap:6px}
  .proof strong{font-size:24px;white-space:nowrap}
  .proof span{font-size:10px}
}
.proof strong{white-space:nowrap}
