@font-face{font-family:"Big Shoulders";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/big-shoulders-display-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Big Shoulders";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/big-shoulders-display-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/manrope-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/manrope-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
.rv-on [data-rv]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.rv-on [data-rv].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv-on [data-rv]{opacity:1;transform:none}}

:root{--bg:#111214;--bg2:#18191c;--ink:#f2efe9;--mute:#b9b4ab;--o:#F4811E;--o2:#ff9a3c;--line:#2a2b2f;--glow:0 0 6px rgba(244,129,30,.55),0 0 22px rgba(244,129,30,.35),0 0 46px rgba(244,129,30,.2)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 Manrope,system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--o);color:#111;padding:.6rem 1rem;z-index:50}.skip:focus{left:1rem}
:focus-visible{outline:3px solid var(--o2);outline-offset:3px}
h1,h2,h3{font-family:"Big Shoulders",Impact,sans-serif;font-weight:800;line-height:.95;letter-spacing:.01em;margin:0;text-transform:uppercase}
.glow{color:var(--o);text-shadow:var(--glow)}
.eyebrow{font:700 .78rem/1.2 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--o2);display:flex;align-items:center;gap:.6rem;margin:0 0 1rem}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--o);box-shadow:var(--glow)}
/* header */
.top{position:relative;z-index:20;border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.brand{display:inline-flex;align-items:center;min-height:44px}.brand img{width:132px;height:auto}
.nav{display:flex;gap:1.6rem;align-items:center}
.nav a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--mute);padding:.6rem 0;display:inline-block}
.nav a:hover{color:var(--ink)}
.callbtn{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.55rem 1rem;border:1.5px solid var(--o);border-radius:999px;color:var(--ink);text-decoration:none;font-weight:700;white-space:nowrap;box-shadow:inset 0 0 12px rgba(244,129,30,.25)}
.callbtn svg{color:var(--o)}.callbtn:hover{background:var(--o);color:#111}.callbtn:hover svg{color:#111}
.menu-btn{display:none;background:none;border:1.5px solid var(--line);color:var(--ink);border-radius:10px;width:48px;height:44px;cursor:pointer;align-items:center;justify-content:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:2px;background:currentColor;position:relative;transition:transform .25s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-btn[aria-expanded="true"] span{background:transparent}.menu-btn[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}.menu-btn[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
@media(max-width:860px){
 .menu-btn{display:inline-flex}.top .callbtn .t{display:none}.top .callbtn{padding:.55rem .8rem}
 .nav{position:fixed;inset:0;background:#0d0e10;z-index:25;flex-direction:column;justify-content:center;gap:.4rem;padding:5rem 2rem 2rem;transform:translateY(-100%);visibility:hidden;transition:transform .35s ease,visibility .35s}
 .nav.open{transform:none;visibility:visible}
 .nav a{font:800 2.4rem/1.1 "Big Shoulders",sans-serif;text-transform:uppercase;color:var(--ink);padding:.35rem 0}
 .nav a:hover{color:var(--o);text-shadow:var(--glow)}
 .menu-btn{position:relative;z-index:30}
 body.menu-open{overflow:hidden}
}
/* hero */
.hero{position:relative;overflow:hidden;padding:3.2rem 0 4rem;background:radial-gradient(60% 70% at 85% 40%,rgba(244,129,30,.13),transparent 70%),radial-gradient(40% 50% at 10% 100%,rgba(244,129,30,.07),transparent 70%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.hero h1{font-size:clamp(3.2rem,8.2vw,7.4rem)}
.hero h1 .glow{display:block;animation:flick 6s infinite}
@keyframes flick{0%,92%,100%{opacity:1}93%{opacity:.55}94%{opacity:1}96%{opacity:.7}97%{opacity:1}}
.lead{font-size:1.12rem;color:var(--mute);max-width:34rem;margin:1.4rem 0 0}
.lead strong{color:var(--ink)}
.ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.btn{display:inline-flex;align-items:center;gap:.55rem;min-height:48px;padding:.75rem 1.3rem;border-radius:999px;font-weight:800;text-decoration:none;font-size:1rem}
.btn.pri{background:var(--o);color:#111;box-shadow:0 0 24px rgba(244,129,30,.45)}.btn.pri:hover{background:var(--o2)}
.btn.ghost{border:1.5px solid #4a4b50;color:var(--ink)}.btn.ghost:hover{border-color:var(--o)}
.stack{position:relative;height:520px}
.stack figure{position:absolute;margin:0;border-radius:6px;overflow:hidden;border:2px solid #2d2e33;box-shadow:0 20px 50px rgba(0,0,0,.6),0 0 0 1px rgba(244,129,30,.15)}
.stack img{width:100%;height:100%;object-fit:cover}
.stack .s1{width:70%;height:62%;right:0;top:0;transform:rotate(2.5deg)}
.stack .s2{width:58%;height:44%;left:0;top:34%;transform:rotate(-4deg);z-index:2}
.stack .s3{width:52%;height:40%;right:6%;bottom:0;transform:rotate(1.5deg);z-index:3}
.stack figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.addr{display:flex;gap:.5rem;align-items:center;margin-top:1.6rem;color:var(--mute);font-size:.95rem}.addr svg{color:var(--o);flex:none}
@media(max-width:860px){.hero{padding:2rem 0 3rem}.hero .wrap{grid-template-columns:1fr;gap:2.2rem}.stack{height:auto;aspect-ratio:1/0.82}}
@media(max-width:420px){.btn{width:100%;justify-content:center}}
/* tube divider */
.tube{height:2px;background:linear-gradient(90deg,transparent,var(--o) 20%,var(--o) 80%,transparent);box-shadow:var(--glow);opacity:.8;border:0;margin:0}
/* sections */
section{scroll-margin-top:1rem}
.sec{padding:5rem 0}
.sec-h{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-bottom:2.2rem}
.sec-h h2{font-size:clamp(2.4rem,5.4vw,4.2rem)}
.sec-h p{max-width:30rem;color:var(--mute);margin:0}
/* category rail */
.rail{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}@media(max-width:1000px){.rail{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.rail{grid-template-columns:1fr}.cat{display:grid;grid-template-columns:38% 1fr}.cat img{aspect-ratio:auto;height:100%}.cat .tx{padding:.8rem .9rem 1rem}.cat h3{font-size:1.5rem}.cat p{font-size:.88rem}}
.cat{background:var(--bg2);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.rail .cat:last-child{grid-column:span 2}@media(max-width:560px){.rail .cat:last-child{grid-column:auto}}
.cat:hover{border-color:rgba(244,129,30,.6);transform:translateY(-3px)}
.cat img{aspect-ratio:4/3;object-fit:cover;width:100%;filter:saturate(1.05)}
.cat .tx{padding:1.1rem 1.2rem 1.4rem}
.cat h3{font-size:1.9rem;margin-bottom:.5rem}
.cat:hover h3{color:var(--o);text-shadow:var(--glow)}
.cat p{margin:0;color:var(--mute);font-size:.95rem}
.hint{color:var(--mute);font-size:.85rem;margin:.4rem 0 0}

/* process */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:s;border-top:1px solid var(--line)}
.step{padding:2rem 1.6rem 2rem 0;border-right:1px solid var(--line);position:relative}
.step+.step{padding-left:1.6rem}.step:last-child{border-right:0}
.step b{font:800 4.6rem/1 "Big Shoulders",sans-serif;color:var(--o);text-shadow:var(--glow);display:block;margin-bottom:.6rem}
.step h3{font-size:2rem;margin-bottom:.6rem}.step p{color:var(--mute);margin:0}
@media(max-width:760px){.steps{grid-template-columns:1fr}.step,.step+.step{padding:1.6rem 0;border-right:0;border-bottom:1px solid var(--line)}}
/* gallery */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem}
.chip{font:700 .9rem Manrope,sans-serif;min-height:40px;padding:.45rem 1rem;border-radius:999px;border:1.5px solid #3a3b40;background:transparent;color:var(--mute);cursor:pointer}
.chip[aria-pressed="true"]{border-color:var(--o);color:#111;background:var(--o)}
.chip:hover{border-color:var(--o);color:var(--ink)}.chip[aria-pressed="true"]:hover{color:#111}
.wall{columns:2;column-gap:.7rem}@media(min-width:700px){.wall{columns:3;column-gap:1rem}}@media(min-width:1050px){.wall{columns:4}}
.wall figure{break-inside:avoid;margin:0 0 .7rem;position:relative;border-radius:8px;overflow:hidden;background:#0b0b0c}
.wall img{width:100%;transition:transform .5s ease,opacity .3s}
.wall figure:hover img{transform:scale(1.04)}
.wall figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .8rem .6rem;font-size:.82rem;font-weight:600;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#f2efe9}
.wall figure[hidden]{display:none}
/* about */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}
.quote{font:600 clamp(1.3rem,2.4vw,1.8rem)/1.4 Manrope,sans-serif;margin:0;color:var(--ink)}
.quote::before{content:"„";font:800 5rem/0 "Big Shoulders",sans-serif;color:var(--o);display:block;height:2.2rem;text-shadow:var(--glow)}
.about ul{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.about li{border:1px solid var(--line);border-radius:4px;padding:.3rem .7rem;font:700 .85rem Manrope;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.about .ph{position:relative}.about .ph img{border-radius:8px;aspect-ratio:4/3;object-fit:cover;width:100%}
@media(max-width:860px){.about{grid-template-columns:1fr}}
/* contact sign box */
.signbox{border:2px solid var(--o);border-radius:16px;padding:clamp(1.6rem,4vw,3.2rem);box-shadow:var(--glow),inset 0 0 40px rgba(244,129,30,.12);background:linear-gradient(180deg,#16171a,#121315);display:grid;grid-template-columns:1.1fr .9fr;gap:2.4rem}
.signbox h2{font-size:clamp(2.6rem,6vw,4.6rem)}
.signbox address{font-style:normal;color:var(--mute);margin-top:1rem;font-size:1.05rem}
.lines{display:grid;gap:.8rem;align-content:start}
.line{display:flex;align-items:center;gap:.9rem;min-height:56px;padding:.7rem 1rem;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:#0f1012}
.line:hover{border-color:var(--o)}
.line svg{color:var(--o);flex:none}.line small{display:block;color:var(--mute);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.line span{font-weight:700;font-size:1.08rem;word-break:break-word}
@media(max-width:860px){.signbox{grid-template-columns:1fr}}
@media(max-width:560px){.wall figcaption{font-size:.74rem;padding:1.2rem .5rem .4rem}}
.nav .mcall{display:none}.nav a.mcall:hover{color:#111;text-shadow:none}@media(max-width:860px){.nav .mcall{display:inline-flex;margin-top:1.4rem;font:800 1.1rem Manrope,sans-serif;text-transform:none;color:#111;background:var(--o);padding:.8rem 1.4rem;border-radius:999px;gap:.5rem;align-items:center}}
footer{padding:2.5rem 0 3rem;color:var(--mute);font-size:.9rem;border-top:1px solid var(--line);margin-top:1rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:center}
footer a{display:inline-block;padding:.3rem 0}
.e404{min-height:70vh;display:grid;place-items:center;text-align:center;padding:3rem 1rem}
.e404 h1{font-size:clamp(5rem,20vw,11rem)}
.e404 p{color:var(--mute)}
