/* Oswald lokal hosten: assets/fonts/oswald-latin-variable.woff2 (nicht enthalten).
   Lizenz OFL bei Google Fonts prüfen und Lizenzdatei mit ablegen. */
@font-face{font-family:'Oswald';src:url('assets/fonts/oswald-latin-variable.woff2') format('woff2');font-style:normal;font-weight:200 700;font-display:swap}
:root{--black:#141414;--white:#f4f3ef;--red:#DA011A}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;font-family:'Oswald','Arial Narrow',Arial,sans-serif;color:var(--black);background:var(--white)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.nav{height:74px;position:sticky;top:0;z-index:20;background:#111;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,90px);border-bottom:1px solid #333}.wordmark{font-family:'Oswald','Arial Narrow',sans-serif;font-weight:500;font-size:27px;letter-spacing:.12em;white-space:nowrap}.nav nav{display:flex;gap:32px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.nav nav a:hover,.contactlinks a:hover{color:#ff4b4b}.navright{display:flex;gap:12px;align-items:center}.navright button{background:none;color:white;border:1px solid #555;padding:7px 10px;font-size:12px}#hamb{display:none}.hero{position:relative;min-height:min(760px,calc(100svh - 74px));background:#111;color:#fff;display:flex;align-items:center;padding:90px clamp(24px,8vw,130px)}.heroimage{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.52) 48%,rgba(0,0,0,.1)),url('assets/landscape.webp') center 53%/cover}.herocontent{position:relative;z-index:1;max-width:960px}.eyebrow,.kicker{font-size:12px;letter-spacing:.16em;font-weight:400}.eyebrow{color:#f8b8b8}.hero h1,h2,h3{font-family:'Oswald','Arial Narrow',sans-serif;line-height:.95;letter-spacing:.015em;margin:22px 0}.hero h1{font-size:clamp(65px,10vw,150px);font-weight:500}.herocontent>p:not(.eyebrow){font-size:clamp(16px,2vw,21px);margin-bottom:36px}.btn{display:inline-block;padding:17px 23px;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.09em}.btn.light{background:white;color:#111}.btn:hover{background:var(--red);color:white}.herofoot{position:absolute;bottom:25px;left:clamp(24px,8vw,130px);right:clamp(24px,8vw,130px);display:flex;justify-content:space-between;font-size:11px;letter-spacing:.12em;color:#ddd}.section{padding:110px clamp(24px,7vw,120px)}.sectionhead{max-width:800px;margin-bottom:45px}.section h2{font-size:clamp(55px,7vw,110px);font-weight:500}.sectionhead p{font-size:17px;line-height:1.7;max-width:600px;color:#555}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:0 45px}.services article{border-top:1px solid #b6b5b1;padding:27px 0 45px}.services article>span{font-size:12px;color:var(--red);font-weight:400}.services h3{font-size:43px;margin:10px 0}.services p{line-height:1.7;color:#555;max-width:420px}.portfolio{background:#1a1a1a;color:#fff}.portfolio .sectionhead p{color:#b9b9b9}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{background:none;color:white;border:1px solid #555;padding:12px 16px;font-size:12px}.filters button.active,.filters button:hover{background:white;color:#111}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery figure{margin:0;cursor:pointer;min-width:0}.gallery figure[hidden]{display:none}.gallery img{width:100%;height:360px;object-fit:cover;display:block;filter:saturate(.85);transition:filter .2s,transform .2s}.gallery figure:hover img{filter:saturate(1.1)}.gallery figcaption{font-family:'Oswald';font-size:20px;font-weight:400;margin:12px 0 24px;display:flex;flex-direction:column;gap:4px}.gallery small{font:10px 'Oswald',sans-serif;color:#aaa;letter-spacing:.13em}.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,110px);align-items:center}.aboutphoto img{display:block;width:100%;max-height:760px;object-fit:cover}.abouttext h2{font-size:clamp(52px,6vw,90px)}.abouttext p{line-height:1.85;color:#4d4d4d;font-size:15px}.abouttext strong{display:block;font-family:'Oswald';font-size:23px;margin-top:26px}.contact{background:#111;color:white}.contact h2{font-size:clamp(68px,10vw,145px)}.contact>p{color:#c6c6c6;line-height:1.6}.mail{font-family:'Oswald';font-size:clamp(28px,5vw,64px);font-weight:400;border-bottom:2px solid var(--red);display:inline-block;margin:28px 0 45px;overflow-wrap:anywhere}.contactlinks{display:flex;gap:35px;flex-wrap:wrap;font-size:13px;letter-spacing:.08em}.contact .notice{font-size:11px;color:#999;margin-top:35px}footer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;background:#080808;color:#aaa;padding:26px clamp(24px,7vw,120px);font-size:11px}dialog{border:0;background:#111;color:#fff;max-width:95vw;max-height:95vh;padding:24px;text-align:center}dialog::backdrop{background:rgba(0,0,0,.9)}dialog img{max-width:85vw;max-height:78vh;object-fit:contain}#close{position:absolute;right:5px;top:0;background:none;border:0;color:white;font-size:36px}#viewerlabel{font-size:12px;letter-spacing:.12em}@media(max-width:950px){.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:400px}.nav nav{gap:16px}}@media(max-width:680px){.nav{height:66px}.nav nav{display:none;position:absolute;top:66px;left:0;right:0;background:#111;padding:20px;flex-direction:column}.nav nav.open{display:flex}#hamb{display:block}.hero{min-height:650px;padding:80px 24px}.heroimage{background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.15)),url('assets/landscape.webp') center/cover}.hero h1{font-size:clamp(60px,15vw,95px)}.section{padding:75px 22px}.services,.about{grid-template-columns:1fr}.gallery{gap:10px}.gallery img{height:270px}.gallery figcaption{font-size:16px}.aboutphoto img{max-height:530px}.contactlinks{flex-direction:column;gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* CLAYOUTS V1.1 refinements */
.wordmark{display:flex;align-items:center;max-width:220px}.wordmark img{display:block;width:clamp(125px,15vw,192px);height:auto}.nav{gap:20px}.services{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.services article{padding-right:15px}.services h3{font-size:clamp(28px,3vw,42px);line-height:1.12}.services p,.sectionhead p,.abouttext p{font-weight:300;font-size:clamp(17px,1.65vw,20px);line-height:1.65}.sectionhead p{max-width:720px}.nav nav,.btn,.contactlinks{font-size:15px}.hero h1,.section h2,.contact h2{font-weight:500}.heroimage{background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.48) 55%,rgba(0,0,0,.12)),url("assets/landscape.webp") center 53%/cover}.gallery figcaption{font-family:Oswald,sans-serif;font-size:14px;font-weight:300;letter-spacing:.05em;color:#d0d0d0}.gallery figure:focus-visible{outline:2px solid var(--red);outline-offset:4px}.gallery img{height:310px}.filters button{font-size:15px}.eyebrow,.kicker{font-size:14px}.abouttext strong{font-weight:400}.herofoot{font-size:13px}@media(max-width:950px){.services{grid-template-columns:1fr 1fr}.gallery img{height:300px}}@media(max-width:680px){.services{grid-template-columns:1fr}.wordmark img{width:155px}.heroimage{background:linear-gradient(0deg,rgba(0,0,0,.84),rgba(0,0,0,.18)),url("assets/landscape.webp") center/cover}.gallery img{height:230px}.gallery figcaption{font-size:12px}.hero h1{font-size:clamp(54px,13vw,90px)}}

/* V1.2 cinematic portfolio hero */
.hero{min-height:760px;min-height:min(790px,calc(100svh - 74px));padding:110px 4vw 85px;justify-content:center;text-align:center;overflow:hidden;isolation:isolate}
.hero-collage{position:absolute;inset:0;display:grid;grid-template-columns:1.1fr 1fr 1fr .8fr;overflow:hidden;z-index:-3;transform:scale(1.03)}
.hero-tile{position:relative;overflow:hidden;transform:skewX(-10deg);border-left:2px solid #101010}
.hero-tile img{height:100%;width:130%;object-fit:cover;transform:skewX(10deg) translateX(-10%);filter:brightness(.67) saturate(.78)}
.tile-sport img{object-position:50% 25%}.tile-portrait img{object-position:50% 25%}.tile-design img{object-fit:cover;object-position:center}
.tile-design2{display:none}.hero-vignette{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#080808 2%,rgba(0,0,0,.92) 18%,rgba(0,0,0,.47) 52%,rgba(0,0,0,.25) 85%,rgba(0,0,0,.48)),linear-gradient(90deg,rgba(0,0,0,.2),transparent 30%,transparent 70%,rgba(0,0,0,.25))}
.hero-brand{width:100%;max-width:1180px;margin:auto}.hero-logo{width:min(82vw,740px);max-height:280px;object-fit:contain;filter:drop-shadow(0 6px 25px #000);margin:0 auto 22px;display:block}.hero h1{font-size:clamp(31px,4.6vw,69px);letter-spacing:.035em;line-height:1.1;margin:0 auto 16px;font-weight:500;text-shadow:0 3px 20px #000}.hero-rule{width:80px;height:5px;background:var(--red);margin:20px auto}.hero-brand p{font-size:clamp(17px,1.8vw,24px);font-weight:300;max-width:870px;margin:18px auto 32px;color:#e3e3e3;text-shadow:0 2px 12px #000}.hero-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.btn.red{background:var(--red);color:white}.btn.outline{border:1px solid white;color:white}.btn.outline:hover{background:white;color:#111}.herofoot{z-index:1}
.portfolio-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 65px}.portfolio-categories a{display:flex;flex-direction:column;min-width:0;gap:7px}.portfolio-categories .cat-num{color:var(--red);font-size:22px}.portfolio-categories strong{font-size:clamp(20px,2vw,32px);font-weight:500;line-height:1.05}.portfolio-categories a>span:not(.cat-num){color:#c5c5c5;font-size:17px;font-weight:300}.portfolio-categories img{width:100%;height:240px;object-fit:cover;margin-top:10px;transition:filter .2s;filter:saturate(.85)}.portfolio-categories a:hover img{filter:saturate(1.2)}
@media(max-width:950px){.portfolio-categories{grid-template-columns:repeat(2,1fr)}.hero{min-height:690px}.hero-collage{grid-template-columns:1fr 1fr 1fr}.tile-design{display:none}}
@media(max-width:680px){.hero{min-height:640px;padding:105px 22px 70px}.hero-collage{grid-template-columns:1fr 1fr}.tile-nature,.tile-design{display:none}.hero-logo{width:94vw}.hero h1{font-size:clamp(30px,8vw,48px)}.hero-brand p{font-size:17px}.hero-vignette{background:linear-gradient(0deg,#080808 0%,rgba(0,0,0,.87) 25%,rgba(0,0,0,.48) 70%,rgba(0,0,0,.42))}.portfolio-categories{gap:20px 12px}.portfolio-categories img{height:175px}.portfolio-categories strong{font-size:21px}.portfolio-categories a>span:not(.cat-num){font-size:14px}.hero-actions .btn{padding:14px 16px}}

/* V1.3 – portfolio readability and structured work cards */
.portfolio .sectionhead h2{line-height:1.19;overflow:visible;padding-top:.12em;padding-bottom:.12em;margin-top:12px;margin-bottom:16px}
.filters{background:#242424;border:1px solid #3d3d3d;border-radius:16px;padding:14px;display:flex;gap:9px;flex-wrap:wrap;margin:8px 0 25px}
.filters button{border:1px solid #575757;border-radius:9px;padding:12px 18px;background:#171717;color:#ededed;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;font-family:'Oswald','Arial Narrow',sans-serif;font-size:17px;line-height:1.35}
.filters button:hover{background:#343434;color:white;border-color:#aaa;transform:translateY(-1px)}
.filters button.active{background:var(--red);border-color:var(--red);color:white}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.gallery figure{margin:0;min-width:0;display:flex;flex-direction:column;background:#242424;border:1px solid #3a3a3a;border-radius:13px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;cursor:pointer}
.gallery figure[hidden]{display:none!important}
.gallery figure:hover{transform:translateY(-4px);border-color:#777;box-shadow:0 16px 35px rgba(0,0,0,.25)}
.gallery figure img{display:block;width:100%;height:275px;object-fit:cover;filter:none;transition:transform .3s}
.gallery figure:hover img{transform:scale(1.025);filter:none}
.gallery figcaption{display:block;margin:0;padding:12px 14px 14px;border-top:1px solid #383838;color:#bdbdbd;font-family:'Oswald','Arial Narrow',sans-serif;font-size:14px;line-height:1.35;letter-spacing:.025em}
.gallery figure.netfight-card img{background:#fff;object-fit:contain;padding:22px;box-sizing:border-box}
.gallery figure.netfight-card{background:#242424}
.gallery-intro{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin:0 0 14px}
.gallery-intro strong{font-size:23px;font-weight:400;line-height:1.3}
.gallery-intro span{font-size:14px;color:#b8b8b8}
@media(max-width:1050px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery figure img{height:240px}.gallery figure.netfight-card img{padding:14px}.filters{padding:10px}.filters button{font-size:15px;padding:10px 13px}}
@media(max-width:460px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery figure img{height:180px}.gallery figcaption{padding:9px;font-size:11px}.gallery-intro{align-items:flex-start;flex-direction:column;gap:2px}.portfolio .sectionhead h2{line-height:1.24}}

/* V1.4 – uncluttered gallery, four category-only filters, Reschis rollover */
.gallery-anchor{scroll-margin-top:90px}
.filters{background:transparent;border:0;border-radius:0;padding:0;margin:28px 0 28px;gap:12px}
.filters button{background:transparent;border:1px solid #555;border-radius:2px;padding:12px 20px}
.filters button.active{background:var(--red);border-color:var(--red);color:#fff}
.gallery{gap:18px;align-items:start}
.gallery figure{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:hidden}
.gallery figure:hover{transform:none;border-color:transparent;box-shadow:none}
.gallery figure img{height:310px;object-fit:cover;transition:filter .25s,transform .25s}
.gallery figure:hover img{transform:scale(1.015)}
.gallery figcaption{border:0;padding:10px 0 14px;background:transparent}
.gallery figure.netfight-card img{background:#fff;object-fit:contain;padding:18px}
.reschis-swap{display:block;position:relative;width:100%;height:310px;overflow:hidden;background:#111}
.gallery figure .reschis-swap img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .35s ease;transform:none!important}
.reschis-back{opacity:0}.reschis-card:hover .reschis-back,.reschis-card.show-alt .reschis-back{opacity:1}
.reschis-card:hover .reschis-front,.reschis-card.show-alt .reschis-front{opacity:0}
@media(max-width:950px){.gallery figure img,.reschis-swap{height:290px}}
@media(max-width:680px){.gallery figure img,.reschis-swap{height:235px}.filters button{font-size:14px;padding:10px 12px}}
@media(max-width:460px){.gallery figure img,.reschis-swap{height:185px}.gallery{gap:11px}}


/* Version 1.5 – black/white hero logo rollover and contact form */
.hero-logo-rollover{transition:filter .35s ease,transform .35s ease;cursor:default}
.hero-logo-rollover:hover,.hero-logo-rollover:focus-visible{filter:brightness(0) drop-shadow(0 0 2px #fff) drop-shadow(0 0 12px rgba(255,255,255,.9));transform:scale(1.015)}
/* No extra white frame behind NETFIGHT logo */
.gallery figure.netfight-card img{padding:0;background:transparent;object-fit:contain}
.contact-form-wrap{margin-top:76px;border-top:1px solid #414141;padding-top:50px;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);gap:clamp(30px,6vw,90px)}
.contact-form-head h3{font-size:clamp(37px,4.5vw,65px);line-height:1.13;margin:20px 0 18px;font-weight:500}
.contact-form-head p{font-size:17px;line-height:1.7;color:#bbb;max-width:440px}
.contact-form{display:flex;flex-direction:column;gap:20px}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label:not(.privacy-check){display:flex;flex-direction:column;gap:9px}
.contact-form label>span{font-size:14px;letter-spacing:.07em}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;box-sizing:border-box;border:1px solid #525252;border-radius:3px;background:#202020;color:white;font:300 17px 'Oswald',Arial,sans-serif;padding:15px 16px;outline:none}
.contact-form textarea{resize:vertical;min-height:140px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#da011a;box-shadow:0 0 0 2px rgba(218,1,26,.2)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#999}
.contact-form .privacy-check{display:flex;align-items:flex-start;gap:12px;line-height:1.5;color:#ccc}
.contact-form .privacy-check input{margin-top:4px;accent-color:#da011a}
.contact-form .privacy-check span{font-size:14px;letter-spacing:0}
.contact-form .privacy-link{margin:-12px 0 0 27px;font-size:13px}
.contact-form .privacy-link a{color:#eee;text-decoration:underline}
.contact-submit{border:0;cursor:pointer;align-self:flex-start;font-family:inherit;font-size:16px}
.contact-form .form-hint{font-size:12px;color:#999;line-height:1.5;margin:0}
.contact-form .bot-field{position:absolute;left:-10000px;opacity:0}
@media(max-width:850px){.contact-form-wrap{grid-template-columns:1fr;gap:24px}}
@media(max-width:540px){.contact-form-grid{grid-template-columns:1fr}.contact-form-wrap{margin-top:50px}}

.hero-logo-switch{position:relative;display:block;width:min(82vw,740px);margin:0 auto 22px;isolation:isolate;cursor:pointer;border-radius:3px;transition:background .3s ease}
.hero-logo-switch .hero-logo{width:100%;max-height:280px;margin:0;transition:opacity .35s ease}
.hero-logo-switch .hero-logo-black{position:absolute;inset:0;opacity:0;filter:none}
.hero-logo-switch:hover,.hero-logo-switch:focus-visible{background:#fff}
.hero-logo-switch:hover .hero-logo-white,.hero-logo-switch:focus-visible .hero-logo-white{opacity:0}
.hero-logo-switch:hover .hero-logo-black,.hero-logo-switch:focus-visible .hero-logo-black{opacity:1}
@media(max-width:680px){.hero-logo-switch{width:94vw}}

/* Version 1.7 */
.services{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:45px;row-gap:0}
.social-icons{display:flex;gap:12px;align-items:center}
.social-icons a{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #555;border-radius:50%;color:#f7f7f7;transition:color .2s,border-color .2s,background .2s}
.social-icons a:hover,.social-icons a:focus-visible{color:#fff;border-color:var(--red);background:var(--red)}
.social-icons svg{width:19px;height:19px}
.clients{background:#f4f3ef;color:#141414}
.clients .sectionhead{max-width:860px}
.clients-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.client-logo{min-height:170px;border:1px solid #d6d5d1;background:white;display:flex;align-items:center;justify-content:center;padding:26px;text-align:center}
.client-name span{font-size:clamp(21px,2.3vw,35px);font-weight:500;letter-spacing:.025em;line-height:1.15}
.client-logo img{max-width:100%;max-height:130px;object-fit:contain}
.client-netfight img{max-height:130px}
.client-reschis{background:#151515}
.clients-note{color:#777;font-size:12px;margin-top:18px}
@media(max-width:950px){.clients-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.services{grid-template-columns:1fr}.navright{gap:7px}.navright .social-icons{gap:5px}.navright .social-icons a{width:30px;height:30px}.navright .social-icons svg{width:16px;height:16px}.clients-grid{gap:9px}.client-logo{min-height:130px;padding:12px}.client-name span{font-size:clamp(17px,4.5vw,26px)}.client-logo img{max-height:105px}}
@media(max-width:390px){.wordmark img{width:118px}.nav{padding:0 12px;gap:5px}.navright{gap:4px}}

/* Version 1.8: compact references with supplied original logos */
.clients{padding-top:clamp(45px,5vw,70px);padding-bottom:clamp(48px,5vw,76px)}
.clients .sectionhead{margin-bottom:26px}
.clients .sectionhead h2{font-size:clamp(31px,4.3vw,57px);line-height:1.17}
.clients .sectionhead p{font-size:clamp(14px,1.5vw,17px)}
.clients-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.client-logo{min-height:112px;height:126px;padding:15px 20px;border-radius:3px}
.client-logo img,.client-netfight img{width:100%;height:100%;max-width:100%;max-height:96px;object-fit:contain}
.client-world-kickboxing-federation img{max-height:106px}
.client-seelengarten img{max-height:80px}
.client-vienna-fight-night{background:#111}
.client-heldenshop{background:#111}
.client-reschis img{max-height:100px}
@media(max-width:680px){.clients-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.client-logo{height:98px;min-height:98px;padding:10px}.client-logo img,.client-netfight img{max-height:78px}.client-seelengarten img{max-height:60px}}

/* Square social contact icons */
.social-icons a{border-radius:2px}
.gallery figure[data-src="assets/client_seelengarten.webp"]{background:#fff}
.gallery figure[data-src="assets/client_seelengarten.webp"] img{object-fit:contain;padding:18px;box-sizing:border-box}


/* Version 1.9: smaller reference cards, one horizontal row on desktop */
.clients .sectionhead{margin-bottom:22px}
.clients-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.client-logo{height:94px;min-height:94px;min-width:0;padding:10px 9px;border-radius:2px}
.client-logo img,.client-netfight img{width:100%;height:100%;max-width:100%;max-height:74px;object-fit:contain}
.client-world-kickboxing-federation img{max-height:76px}
.client-seelengarten img{max-height:58px}
.client-reschis img{max-height:70px}
@media(max-width:1050px){.clients-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-logo{height:105px;min-height:105px}.client-logo img,.client-netfight img{max-height:82px}}
@media(max-width:600px){.clients-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.client-logo{height:98px;min-height:98px;padding:10px}.client-logo img,.client-netfight img{max-height:78px}}


/* v2.0: consistent portfolio category previews; portraits never cropped */
.portfolio-categories{align-items:stretch;gap:clamp(10px,1.4vw,18px)}
.portfolio-categories a{height:100%;display:grid;grid-template-rows:auto minmax(2.1em,auto) minmax(2.1em,auto) auto;align-content:start;gap:8px}
.portfolio-categories a>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;object-position:center center;background:#171717;margin-top:8px;border-radius:2px}
.portfolio-categories a[data-pick="sport"]>img,.portfolio-categories a[data-pick="kunden"]>img{object-fit:contain;object-position:50% 45%}
.portfolio-categories a[data-pick="natur"]>img{object-fit:cover;object-position:center}
.portfolio-categories a[data-pick="design"]>img{object-fit:contain;padding:8px;box-sizing:border-box}
@media(max-width:680px){.portfolio-categories a>img{height:auto;aspect-ratio:4/5}.portfolio-categories a{grid-template-rows:auto minmax(3.1em,auto) minmax(2.5em,auto) auto}}

/* Version 2.1: NETFIGHT white logo on dark gallery background */
.gallery figure.netfight-card{background:#080808}
.gallery figure.netfight-card img{object-fit:contain;background:transparent;padding:12px;box-sizing:border-box}

/* v2.2: Seven customer logos in one compact row on large screens */
.clients-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.client-logo{padding:8px;min-width:0}
.client-patrick-biggs{background:#080808}
.client-patrick-biggs img{object-fit:contain;width:100%;height:100%;max-height:74px}
@media(max-width:1100px){.clients-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){.clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* CLAYOUTS 3.0 — light editorial redesign with real photo fans */
:root{--white:#f9f9f9;--black:#171717;--red:#da011a}
body{background:#fff;color:#141414}
.nav{background:rgba(255,255,255,.96);color:#171717;border-bottom:1px solid #e8e8e8;box-shadow:0 2px 16px rgba(0,0,0,.025);backdrop-filter:blur(14px)}
.nav nav a:hover{color:var(--red)}.navright button{color:#111;border-color:#ddd}
.navright .social-icons a{background:var(--red);color:white;border-radius:5px;border-color:var(--red)}
.navright .social-icons a:hover{background:#a90014;color:white}
.hero.hero-v3{background:linear-gradient(145deg,#fff 25%,#f4f4f4 100%);color:#111;text-align:left;justify-content:flex-start;min-height:620px;min-height:min(730px,calc(100svh - 74px));padding:90px clamp(26px,6vw,105px);overflow:hidden;isolation:isolate}
.hero-v3 .hero-brand{width:51%;max-width:690px;margin:0;position:relative;z-index:3}
.hero-v3 .hero-eyebrow{font-size:clamp(12px,1.3vw,17px);letter-spacing:.22em;color:#444}
.hero-v3 h1{font-size:clamp(44px,5.2vw,90px);line-height:1.06;letter-spacing:0;text-shadow:none;margin:26px 0 22px;max-width:730px}
.hero-v3 h1::after,.section h2::after{content:' ';display:inline-block;width:.12em;height:.12em;background:var(--red);border-radius:50%;margin-left:.04em}
.hero-v3 .hero-brand p{color:#4b4b4b;text-shadow:none;font-size:clamp(17px,1.7vw,23px);line-height:1.6;max-width:610px;margin:0 0 32px}
.hero-v3 .hero-actions{justify-content:flex-start}.hero-v3 .btn{border-radius:8px;padding:16px 22px;font-size:15px}.hero-v3 .btn.outline{border:1px solid #aaa;color:#222;background:#fff}.hero-v3 .btn.outline:hover{border-color:#111;background:#111;color:#fff}
.hero-v3 .herofoot{color:#777;left:clamp(26px,6vw,105px);right:clamp(26px,6vw,105px)}
.hero-showcase{position:absolute;right:3.8%;top:14%;bottom:15%;width:49%;z-index:1;pointer-events:none}
.showcase-photo{position:absolute;top:10%;width:43%;height:78%;overflow:hidden;border:5px solid #fff;border-radius:20px;box-shadow:0 18px 42px rgba(0,0,0,.18);transform:skew(-7deg);background:#222}
.showcase-photo img{width:116%;height:100%;object-fit:cover;transform:skew(7deg) translateX(-6%)}
.sp1{left:3%;top:19%;height:62%;transform:skew(-7deg) rotate(-8deg)}.sp1 img{transform:skew(7deg) translateX(-6%)}
.sp2{left:32%;top:5%;height:87%;z-index:2;transform:skew(-7deg) rotate(1deg)}.sp2 img{transform:skew(7deg) translateX(-6%)}
.sp3{left:64%;top:17%;height:68%;transform:skew(-7deg) rotate(8deg)}.sp3 img{transform:skew(7deg) translateX(-6%)}
.section{padding:90px clamp(24px,5vw,90px)}.sectionhead{max-width:940px;margin-bottom:32px}
.section h2{font-size:clamp(44px,5.2vw,76px);line-height:1.18;letter-spacing:0;margin:12px 0 18px}.kicker{color:#222;letter-spacing:.12em;font-weight:500}.sectionhead p{color:#555}
.lightsection{background:#fff}.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.services article{border:1px solid #e7e7e7;background:#fff;border-radius:16px;box-shadow:0 7px 25px rgba(0,0,0,.045);padding:25px 20px 26px;min-height:245px;transition:transform .25s,box-shadow .25s}
.services article:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(0,0,0,.09)}
.services article>span{font-size:22px;color:var(--red);font-weight:500}.services h3{font-size:clamp(25px,2.2vw,35px);line-height:1.18;margin:15px 0}.services h3::after{content:'';display:block;width:35px;height:3px;background:var(--red);margin-top:17px}.services p{font-size:17px;line-height:1.55;color:#4d4d4d}
.portfolio{background:#f1f2f4;color:#151515}.portfolio .sectionhead p{color:#555}
.portfolio-categories{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(15px,2vw,28px);margin:0 0 75px}
.portfolio-categories a{display:flex;flex-direction:column;gap:7px;min-width:0;padding:8px 4px 16px;color:#151515;transition:transform .25s}
.portfolio-categories a:hover{transform:translateY(-3px)}
.portfolio-categories .cat-num{color:var(--red);font-size:15px;order:1;margin-top:10px}
.portfolio-categories strong{order:2;font-size:clamp(19px,1.7vw,28px);line-height:1.18;min-height:2.5em}
.portfolio-categories a>span:not(.cat-num){order:3;color:#555;font-size:17px}
.image-fan{order:0;position:relative;width:100%;height:clamp(205px,22vw,340px);perspective:900px;margin:20px 0 12px;overflow:visible}
.fan-piece{position:absolute;top:6%;left:13%;width:72%;height:85%;border:3px solid white;border-radius:15px;overflow:hidden;box-shadow:0 12px 24px rgba(0,0,0,.2);background:#202020;transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s;transform-origin:50% 95%;will-change:transform}
.fan-piece img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;margin:0!important;aspect-ratio:auto!important;padding:0!important;background:transparent!important;filter:none!important}
.fan-piece-1{z-index:4;transform:translateX(-9%) rotate(-12deg)}
.fan-piece-2{z-index:3;transform:translateX(2%) rotate(-3deg)}
.fan-piece-3{z-index:2;transform:translateX(11%) rotate(8deg)}
.fan-piece-4{z-index:1;transform:translateX(16%) rotate(16deg)}
.portfolio-categories a:hover .fan-piece-1,.portfolio-categories a:focus-visible .fan-piece-1,.portfolio-categories a.is-expanded .fan-piece-1{transform:translate(-20%,-15%) rotate(-17deg);box-shadow:0 25px 35px rgba(0,0,0,.25)}
.portfolio-categories a:hover .fan-piece-2,.portfolio-categories a:focus-visible .fan-piece-2,.portfolio-categories a.is-expanded .fan-piece-2{transform:translate(-5%,-8%) rotate(-6deg)}
.portfolio-categories a:hover .fan-piece-3,.portfolio-categories a:focus-visible .fan-piece-3,.portfolio-categories a.is-expanded .fan-piece-3{transform:translate(12%,-5%) rotate(9deg)}
.portfolio-categories a:hover .fan-piece-4,.portfolio-categories a:focus-visible .fan-piece-4,.portfolio-categories a.is-expanded .fan-piece-4{transform:translate(26%,-9%) rotate(19deg)}
.filters{margin:22px 0 28px;gap:10px}.filters button{border:1px solid #d4d4d4;border-radius:9px;background:white;color:#222;padding:12px 18px}.filters button:hover{background:#222;color:#fff}.filters button.active{background:var(--red);border-color:var(--red);color:#fff}
.gallery{gap:15px}.gallery figure{background:white;border:1px solid #e4e4e4;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.04)}.gallery figure:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(0,0,0,.12)}.gallery figure img{height:270px;object-fit:cover}.gallery figcaption{padding:10px 13px 13px;color:#666}
.gallery figure.netfight-card img{background:#151515;object-fit:contain}
.clients{background:#fff}.clients .sectionhead{text-align:center;margin:0 auto 24px}.clients .sectionhead h2{font-size:clamp(32px,3.4vw,50px)}.clients .sectionhead p{margin:0 auto}
.clients-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.client-logo{background:#fff;border:1px solid #e7e7e7;border-radius:12px;box-shadow:0 5px 15px rgba(0,0,0,.045);padding:12px 8px;min-height:90px;height:90px}.client-logo img{max-height:65px}
.about{background:#f5f5f5}.aboutphoto img{border-radius:22px;box-shadow:0 15px 38px rgba(0,0,0,.08)}.abouttext h2{font-size:clamp(44px,5vw,70px);line-height:1.16}.abouttext p{color:#4a4a4a}
.contact{background:#fff;color:#171717}.contact h2{font-size:clamp(54px,7vw,100px);line-height:1.12}.contact>p{color:#555}.contact .notice{color:#888}.contact-form-wrap{border-top-color:#e5e5e5}.contact-form-head p{color:#555}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{background:#f6f6f6;border-color:#dedede;color:#161616;border-radius:8px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#888}.contact-form .privacy-check{color:#555}.contact-form .privacy-link a{color:#333}.contact-form .form-hint{color:#777}
footer{background:#f2f2f2;color:#555;border-top:1px solid #e5e5e5}footer .social-icons a{border-radius:5px;background:var(--red);color:#fff;border-color:var(--red)}
@media(max-width:1150px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-showcase{right:-4%;width:50%}}
@media(max-width:800px){.hero.hero-v3{min-height:780px;align-items:flex-start;padding-top:70px}.hero-v3 .hero-brand{width:100%;max-width:650px}.hero-v3 h1{max-width:600px;font-size:clamp(43px,8vw,70px)}.hero-showcase{width:80%;height:300px;top:auto;right:6%;bottom:42px}.hero-v3 .herofoot{bottom:14px}.portfolio-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.image-fan{height:clamp(220px,39vw,340px)}.clients-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){.nav nav{background:#fff;color:#151515;border-bottom:1px solid #ddd}.hero.hero-v3{min-height:790px;padding:64px 24px 65px}.hero-v3 h1{font-size:clamp(41px,10vw,61px)}.hero-v3 .hero-brand p{font-size:17px}.hero-showcase{bottom:30px;height:250px;width:90%;right:5%}.hero-v3 .herofoot{display:none}.section{padding:70px 22px}.services{grid-template-columns:1fr}.services article{min-height:auto}.portfolio-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.image-fan{height:clamp(180px,42vw,260px);margin:10px 0 8px}.portfolio-categories strong{font-size:19px;min-height:3em}.portfolio-categories a>span:not(.cat-num){font-size:14px}.fan-piece{border-width:2px;border-radius:9px}.gallery figure img{height:215px}.clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.hero.hero-v3{min-height:800px}.hero-showcase{height:210px}.image-fan{height:165px}.portfolio-categories strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){.fan-piece,.portfolio-categories a,.showcase-photo{transition:none!important}}


/* V3.1 — hero centering, accurate category fans, monochrome client logos */
.sp1 img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none;background:#111}
.sp2 img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;transform:none}
.sp3 img{width:100%;height:100%;object-fit:cover;object-position:center 35%;transform:none}
/* On 2/3-card fans, spread evenly and don't imply more photos exist. */
.image-fan[data-count="2"] .fan-piece-1{transform:translateX(-7%) rotate(-8deg)}
.image-fan[data-count="2"] .fan-piece-2{transform:translateX(11%) rotate(8deg)}
.image-fan[data-count="3"] .fan-piece-1{transform:translateX(-10%) rotate(-12deg)}
.image-fan[data-count="3"] .fan-piece-2{transform:translateX(1%) rotate(0deg)}
.image-fan[data-count="3"] .fan-piece-3{transform:translateX(13%) rotate(12deg)}
.portfolio-categories a:hover .image-fan[data-count="2"] .fan-piece-1,.portfolio-categories a.is-expanded .image-fan[data-count="2"] .fan-piece-1{transform:translate(-20%,-13%) rotate(-12deg)}
.portfolio-categories a:hover .image-fan[data-count="2"] .fan-piece-2,.portfolio-categories a.is-expanded .image-fan[data-count="2"] .fan-piece-2{transform:translate(24%,-8%) rotate(12deg)}
.client-vienna-fight-night img,.client-heldenshop img,.client-reschis img,.client-patrick-biggs img{object-fit:contain}


/* V3.2: polished visual adjustments */
.sp1 img{object-fit:cover!important;object-position:50% 46%!important;background:#222}
.sp3 img{object-fit:cover!important;object-position:50% 42%!important;background:#222}
.hero-v3 h1::after,.section h2::after{vertical-align:baseline}
.gallery figcaption{display:none!important}
.gallery figure{position:relative}
.about-photo-fan{position:relative;min-height:clamp(410px,48vw,650px);perspective:1200px;outline-offset:8px}
.about-fan-card{position:absolute;display:block;width:76%;height:82%;left:12%;top:8%;border:5px solid #fff;border-radius:20px;overflow:hidden;box-shadow:0 17px 45px rgba(0,0,0,.16);transform-origin:50% 90%;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.about-fan-card img{display:block!important;width:100%;height:100%;max-height:none!important;object-fit:cover;border-radius:0!important;box-shadow:none!important}
.about-fan-back{z-index:1;transform:translate(-10%,-2%) rotate(-11deg)}
.about-fan-front{z-index:2;transform:translate(10%,1%) rotate(7deg)}
.about-fan-front img{object-position:50% 48%}
.about-photo-fan:hover .about-fan-back,.about-photo-fan:focus-visible .about-fan-back{transform:translate(-23%,-7%) rotate(-16deg)}
.about-photo-fan:hover .about-fan-front,.about-photo-fan:focus-visible .about-fan-front{transform:translate(21%,-6%) rotate(12deg)}
@media(max-width:680px){.about-photo-fan{min-height:440px}.about-fan-card{width:74%;height:80%}}
@media(max-width:420px){.about-photo-fan{min-height:350px}}

/* Rechtliche Unterseiten */
.legal-main{max-width:1030px;margin:auto;padding:75px 26px 110px;min-height:70vh}.legal-main h1{font-size:clamp(48px,8vw,88px);line-height:1.15;margin:22px 0 36px}.legal-main h2{font-size:clamp(26px,3vw,38px);line-height:1.2;margin:45px 0 14px}.legal-main h3{font-size:23px;line-height:1.25;margin:28px 0 10px}.legal-main p,.legal-main li,.legal-main dd{font:400 17px/1.75 Arial,sans-serif}.legal-main dt{font-weight:700;margin-top:12px}.legal-main a{text-decoration:underline;text-underline-offset:3px}.legal-main .legal-note{border-left:4px solid var(--red);padding:15px 20px;background:#fff0f0}.legal-main .placeholder{background:#fff0c9;color:#3a2c00;padding:2px 5px;font-weight:bold}.legal-header{padding:20px clamp(24px,7vw,120px);background:#111;color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center}.legal-header img{width:170px;max-width:40vw}.legal-footer{display:flex;gap:22px;flex-wrap:wrap;background:#111;color:#fff;padding:26px clamp(24px,7vw,120px);font:14px Arial,sans-serif}.legal-footer a{text-decoration:underline}

/* Bevorzugt lokal gehostete Schrift, niemals Google-CDN. */
body,.wordmark,.hero h1,h2,h3,.gallery figcaption,.gallery small,.abouttext strong,.mail,.filters button,.contact-form input,.contact-form select,.contact-form textarea{font-family:'Oswald Local','Oswald','Arial Narrow',Arial,sans-serif}
