@font-face{font-family:"SGE";src:url(/fonts/special.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Nunito";src:url(/fonts/nunito.woff2) format("woff2");font-weight:200 1000;font-display:swap}
:root{--bg:#18171A;--bg2:#212024;--bg3:#2a292e;--red:#DC3B41;--txt:#D4D4D8;--mute:#A1A1AA;--line:#ffffff1a;--light:#F4F4F5;--dark:#18171A;--head:"SGE",Arial Black,sans-serif;--body:"Nunito",system-ui,sans-serif;--wrap:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3,h4{font-family:var(--head);font-weight:400;color:#fff;margin:0;line-height:1.05;text-transform:uppercase;letter-spacing:.01em}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.skip{position:absolute;left:-999px;top:0;background:var(--red);color:#fff;padding:10px 16px;z-index:100}.skip:focus{left:10px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:#18171Ae6;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;max-width:1440px}
.logo{font-family:var(--head);font-size:21px;color:#fff;text-decoration:none;line-height:.95;letter-spacing:.02em}
.logo span{display:block;color:var(--red);font-size:11px;letter-spacing:.32em;margin-top:5px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:30px}
.nav a{font-family:var(--head);font-size:12.5px;letter-spacing:.08em;color:#fff;text-decoration:none;position:relative;padding:8px 0;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--red);transition:right .35s ease}
.nav a:hover::after,.nav a[aria-current=page]::after{right:0}.nav a[aria-current=page]{color:var(--red)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative;z-index:60}
.burger i{position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:.3s}
.burger i:nth-child(1){top:15px}.burger i:nth-child(2){top:21px}.burger i:nth-child(3){top:27px}
.menu-open .burger i:nth-child(1){top:21px;transform:rotate(45deg)}.menu-open .burger i:nth-child(2){opacity:0}.menu-open .burger i:nth-child(3){top:21px;transform:rotate(-45deg)}
@media (max-width:1100px){
 .burger{display:block}
 .nav{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.35s}
 .menu-open .nav{opacity:1;visibility:visible}.menu-open{overflow:hidden}
 .nav ul{flex-direction:column;align-items:center;gap:22px}.nav a{font-size:22px}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--head);font-size:13px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:17px 30px;border:2px solid var(--red);background:var(--red);color:#fff;cursor:pointer;transition:.3s}
.btn:hover{background:transparent;color:#fff}
.btn.ghost{background:transparent;border-color:#fff}.btn.ghost:hover{background:#fff;color:var(--dark)}
.btn::after{content:"";width:18px;height:2px;background:currentColor;transition:width .3s}.btn:hover::after{width:28px}
.btns{display:flex;flex-wrap:wrap;gap:14px}

/* hero home */
.hero{position:relative;min-height:calc(100vh - 84px);min-height:calc(100svh - 84px);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;background:#000}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35;filter:grayscale(.3);animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.12)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#18171A00 40%,#18171A 100%),radial-gradient(ellipse at center,#0000 30%,#000a 100%)}
.hero-name{position:absolute;left:0;right:0;top:50%;transform:translateY(-62%);text-align:center;z-index:1;pointer-events:none}
.hero-name h1,.hero-name .outline{font-size:clamp(64px,13.5vw,210px);line-height:.86;letter-spacing:-.01em;white-space:nowrap}
.hero-name .outline{position:absolute;inset:0;color:transparent;-webkit-text-stroke:2px #fff;z-index:3;font-family:var(--head);text-transform:uppercase}
.hero-name h1 span,.hero-name .outline span{display:block}
.hero-person{position:relative;z-index:2;height:min(92%,88vh);max-height:900px;width:auto;margin:0 auto;filter:drop-shadow(0 30px 60px #000)}
.hero-outline{position:absolute;left:0;right:0;top:50%;transform:translateY(-62%);z-index:3;text-align:center;pointer-events:none}
.hero-outline div{font-family:var(--head);text-transform:uppercase;font-size:clamp(64px,13.5vw,210px);line-height:.86;color:transparent;-webkit-text-stroke:1.5px #ffffffb0;white-space:nowrap}
.hero-copy{position:absolute;z-index:4;left:0;right:0;bottom:48px}
.hero-copy .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;max-width:1440px}
.kicker{font-family:var(--head);color:var(--red);font-size:13px;letter-spacing:.28em;text-transform:uppercase;margin-bottom:14px;display:block}
.hero-copy h2{font-size:clamp(22px,2.4vw,34px);max-width:460px}
.hero-copy p{max-width:420px;margin:14px 0 0;color:var(--txt)}
.scroll{position:absolute;z-index:4;left:50%;bottom:18px;width:2px;height:40px;background:#ffffff30;overflow:hidden}
.scroll::after{content:"";position:absolute;left:0;top:-40px;width:2px;height:40px;background:var(--red);animation:sc 2s infinite}
@keyframes sc{to{top:40px}}
@media (max-width:800px){
 .hero{align-items:flex-start;flex-direction:column;justify-content:flex-start}
 .hero-name,.hero-outline{top:120px;transform:none}
 .hero-person{height:62vh;margin-top:90px}
 .hero-copy{position:relative;bottom:auto;padding:0 0 46px;margin-top:-60px}
 .hero-copy .wrap{flex-direction:column;align-items:flex-start}
 .scroll{display:none}
}

/* page hero */
.phero{position:relative;min-height:max(72vh,460px);overflow:hidden;display:flex;align-items:flex-end;background:#000}
.phero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;animation:kb 22s ease-in-out infinite alternate}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#18171A33 0%,#18171A00 40%,#18171A 100%)}
.phero .wrap{position:relative;z-index:2;width:100%;padding-top:140px;padding-bottom:64px}
.phero h1{font-size:clamp(46px,9vw,150px);line-height:.9}
.phero p{max-width:640px;font-size:19px;margin:20px 0 0}
.bigword{font-family:var(--head);text-transform:uppercase;color:transparent;-webkit-text-stroke:1px #ffffff26;font-size:clamp(70px,16vw,260px);line-height:.85;white-space:nowrap;overflow:hidden;user-select:none;pointer-events:none}

/* sections */
.sec{padding:120px 0}.sec.tight{padding:80px 0}
.sec.light{background:var(--light);color:#3f3f46}.sec.light h2,.sec.light h3{color:var(--dark)}
.sec.alt{background:var(--bg2)}
.title{font-size:clamp(34px,5vw,64px);margin-bottom:28px}
.title em{font-style:normal;color:var(--red)}
.lead{font-size:20px;max-width:680px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:900px){.grid2{grid-template-columns:1fr;gap:48px}.grid3{grid-template-columns:1fr}.sec{padding:84px 0}}

/* profile */
.profile{display:grid;grid-template-columns:5fr 7fr;gap:70px;align-items:end}
.profile-img{background:linear-gradient(180deg,#e4e4e7,#d4d4d8);position:relative;overflow:hidden}
.profile-img img{width:100%;height:auto;margin-top:40px}
.profile-img::before{content:"91";content:"TK";position:absolute;top:10px;left:20px;font-family:var(--head);font-size:150px;color:#fff;line-height:1;opacity:.7}
.facts{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--dark)}
.fact{padding:20px 0 18px;border-bottom:1px solid #18171A22}
.fact:nth-child(odd){padding-right:24px}
.fact dt{font-family:var(--head);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.fact dd{margin:0;font-family:var(--head);font-size:clamp(16px,1.6vw,21px);color:var(--dark);text-transform:uppercase;line-height:1.2}
@media (max-width:900px){.profile{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.fact:nth-child(odd){padding-right:0}}

/* placeholders */
.ph{background:repeating-linear-gradient(-45deg,#DC3B4114 0 8px,#DC3B4108 8px 16px);outline:1px dashed #DC3B41aa;outline-offset:2px;border-radius:2px;padding:0 .2em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ph-badge{display:inline-block;font-family:var(--head);font-size:10px;letter-spacing:.18em;background:var(--red);color:#fff;padding:4px 8px;text-transform:uppercase;vertical-align:middle}
.ph-img{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:repeating-linear-gradient(-45deg,#2a292e 0 14px,#242328 14px 28px);border:1px dashed #DC3B4199;color:var(--mute);font-family:var(--head);font-size:12px;letter-spacing:.18em;text-transform:uppercase;text-align:center;padding:20px;aspect-ratio:4/3}
.ph-img svg{width:42px;height:42px;opacity:.6}
.note{border-left:3px solid var(--red);background:#DC3B4112;padding:16px 20px;font-size:15px;margin:0 0 40px}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.tile{position:relative;aspect-ratio:3/4;overflow:hidden;display:block;text-decoration:none;background:#000}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .4s;opacity:.7}
.tile:hover img{transform:scale(1.07);opacity:.5}
.tile .t{position:absolute;left:30px;right:30px;bottom:30px;z-index:2}
.tile h3{font-size:clamp(26px,2.6vw,38px)}
.tile .more{font-family:var(--head);font-size:11px;letter-spacing:.2em;color:var(--red);margin-top:10px;display:block}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 45%,#000c)}
@media (max-width:900px){.tiles{grid-template-columns:1fr}.tile{aspect-ratio:4/3}}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;grid-auto-flow:dense;gap:4px}
.gal a{position:relative;overflow:hidden;display:block;background:#000;cursor:zoom-in}
.gal a.wide{grid-column:span 2}.gal a.tall{grid-row:span 2}
.gal a.big{grid-column:span 2;grid-row:span 2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .4s}
.gal a.cutout{background:linear-gradient(180deg,#e4e4e7,#c9c9cf)}.gal a.cutout img{object-fit:contain;object-position:bottom}
.gal a:hover img{transform:scale(1.06);opacity:.85}
.gal a::after{content:"+";position:absolute;right:16px;top:12px;font-family:var(--head);font-size:28px;color:#fff;opacity:0;transition:.3s}
.gal a:hover::after{opacity:1}
.gal a[hidden]{display:none}
@media (max-width:900px){.gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.filters button{font-family:var(--head);font-size:12px;letter-spacing:.12em;background:transparent;color:#fff;border:1px solid #ffffff40;padding:12px 20px;cursor:pointer;transition:.25s}
.filters button[aria-pressed=true],.filters button:hover{background:var(--red);border-color:var(--red)}

/* lightbox */
.lb{position:fixed;inset:0;z-index:90;background:#0b0b0cf2;display:none;align-items:center;justify-content:center}
.lb.on{display:flex}.lb img{max-width:92vw;max-height:88vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#fff;font-family:var(--head);font-size:34px;cursor:pointer;padding:14px 20px}
.lb .x{top:10px;right:14px}.lb .pv{left:8px;top:50%;transform:translateY(-50%)}.lb .nx{right:8px;top:50%;transform:translateY(-50%)}
.lb .cap{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:14px;color:var(--mute)}

/* video */
.vids{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.vid{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.vid button{position:absolute;inset:0;border:0;background:#0006;color:#fff;cursor:pointer;font-family:var(--head);letter-spacing:.12em;font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{width:74px;height:74px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center}
.play::before{content:"";border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}
@media (max-width:900px){.vids{grid-template-columns:1fr}}

/* story */
.chapter{display:grid;grid-template-columns:1fr 1fr;min-height:0}
.chapter .img{position:relative;overflow:hidden;background:#000}
.chapter .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chapter .img.cutout{background:linear-gradient(180deg,#e4e4e7,#c9c9cf)}.chapter .img.cutout img{object-fit:contain;object-position:bottom}
.chapter .txt{padding:60px 7%;display:flex;flex-direction:column;justify-content:center}
.chapter:nth-child(even) .img{order:2}
.chapter .num{font-family:var(--head);font-size:72px;line-height:1;color:var(--red);margin-bottom:12px}
.chapter h2{font-size:clamp(28px,3.4vw,48px);margin-bottom:18px}
@media (max-width:900px){.chapter{grid-template-columns:1fr}.chapter .img{min-height:55vh}.chapter:nth-child(even) .img{order:0}.chapter .txt{padding:64px 32px}}
.quote{font-family:var(--head);text-transform:uppercase;color:#fff;font-size:clamp(26px,3.6vw,52px);line-height:1.1;max-width:1000px}

/* cards */
.card{background:var(--bg2);display:flex;flex-direction:column;text-decoration:none;transition:transform .4s}
.card:hover{transform:translateY(-6px)}
.card .im{aspect-ratio:4/3;overflow:hidden;background:#000}.card .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.card:hover .im img{transform:scale(1.06)}
.card .im .ph-img{aspect-ratio:auto;height:100%;border:0}
.card .bd{padding:28px 28px 32px;flex:1;display:flex;flex-direction:column}
.card .meta{font-family:var(--head);font-size:11px;letter-spacing:.16em;color:var(--red);text-transform:uppercase;margin-bottom:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.card h3{font-size:21px;line-height:1.2;margin-bottom:14px}
.card p{font-size:15.5px;color:var(--mute)}
.card .more{margin-top:auto;font-family:var(--head);font-size:11px;letter-spacing:.2em;color:#fff}

.feat{border-top:2px solid var(--red);padding-top:26px}
.feat .n{font-family:var(--head);color:var(--red);font-size:14px;letter-spacing:.2em}
.feat h3{font-size:21px;margin:14px 0 12px;line-height:1.2}
.feat p{font-size:16px;color:var(--mute)}
.sec.light .feat p{color:#52525b}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.steps li{list-style:none;counter-increment:s;border-top:1px solid #ffffff30;padding-top:22px}
.steps li::before{content:"0" counter(s);font-family:var(--head);font-size:44px;color:var(--red);display:block;line-height:1;margin-bottom:16px}
.steps h3{font-size:18px;margin-bottom:8px}.steps p{font-size:15.5px;color:var(--mute)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* article */
.article{max-width:780px;margin:0 auto}
.article p{font-size:19px}
.article h2{font-size:26px;margin:46px 0 16px}
.back{font-family:var(--head);font-size:12px;letter-spacing:.16em;text-decoration:none;color:var(--red);display:inline-block;margin-bottom:30px}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.form .full{grid-column:1/-1}
.form label{display:block;font-family:var(--head);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:9px}
.form label small{font-family:var(--body);letter-spacing:0;text-transform:none;color:var(--mute);font-size:13px}
.form input,.form select,.form textarea{width:100%;background:var(--bg3);border:1px solid #ffffff1f;border-bottom:2px solid #ffffff40;color:#fff;font:inherit;font-size:16px;padding:15px 16px;border-radius:0;transition:border-color .25s}
.form textarea{min-height:150px;resize:vertical}
.form select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#fff 50%),linear-gradient(135deg,#fff 50%,#0000 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-bottom-color:var(--red)}
.form .err{display:none;color:#ff8a8e;font-size:13.5px;margin-top:6px}
.form .bad input,.form .bad select,.form .bad textarea{border-bottom-color:#ff5a60}.form .bad .err{display:block}
.form .check{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--mute)}
.form .check input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--red)}
.form .hp{position:absolute;left:-9999px}
.status{grid-column:1/-1;padding:18px 20px;font-size:15.5px;display:none}
.status.ok{display:block;background:#16a34a22;border-left:3px solid #22c55e;color:#dcfce7}
.status.no{display:block;background:#DC3B4122;border-left:3px solid var(--red);color:#fee2e2}
.btn[disabled]{opacity:.6;cursor:wait}
@media (max-width:700px){.form{grid-template-columns:1fr}}

/* band */
.band{position:relative;overflow:hidden;padding:140px 0;background:#000;text-align:center}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.band .wrap{position:relative;z-index:2}
.band h2{font-size:clamp(36px,6vw,84px);margin-bottom:22px}
.band p{max-width:620px;margin:0 auto 34px;font-size:19px}
.band .btns{justify-content:center}

/* follow */
.follow{text-align:center}
.follow h2{font-size:clamp(34px,6vw,80px)}
.follow .handle{font-family:var(--head);color:var(--red);font-size:clamp(18px,2.4vw,28px);margin-top:14px;display:inline-block}

/* footer */
.ftr{background:#111013;padding:80px 0 40px;border-top:1px solid var(--line)}
.ftr .top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:60px}
.ftr .logo{font-size:34px}
.logo{display:block;line-height:0}.logo img{display:block;height:58px;width:auto}.ftr .logo img{height:104px}
@media(max-width:720px){.logo img{height:46px}.ftr .logo img{height:84px}}
.ftr nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,auto);gap:10px 48px}
.ftr nav a{font-family:var(--head);font-size:12px;letter-spacing:.1em;text-decoration:none;color:var(--txt)}.ftr nav a:hover{color:var(--red)}
.ftr .bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:14px;color:var(--mute);border-top:1px solid var(--line);padding-top:28px}
.ftr .bot a{text-decoration:none;margin-left:24px}.ftr .bot a:hover{color:#fff}

/* reveal */
.rv{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.rv.l{transform:translateX(-60px)}.rv.r{transform:translateX(60px)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.15s}.d2{transition-delay:.3s}.d3{transition-delay:.45s}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}
.vid .ph-img{position:absolute;inset:0;aspect-ratio:auto}
/* hero fixes */
.hero{height:calc(100vh + 60px);height:calc(100svh + 60px);min-height:760px;display:block}
.hero-person{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:90%;max-height:none;margin:0}
.hero-name,.hero-outline{top:auto;bottom:24%;transform:none}
.hero-copy{bottom:22px}
.hero-name,.hero-outline{bottom:max(24%,240px)}
@media (max-width:800px){
 .hero{height:auto;min-height:0;display:flex;flex-direction:column}
 .hero-person{position:relative;left:auto;transform:none;height:60vh;max-height:560px;margin:28px auto 0;width:auto}
 .hero-name,.hero-outline{top:calc(28px + min(60vh,560px)*.34);bottom:auto}
 .hero-name h1,.hero-outline div{font-size:clamp(52px,17vw,120px)}
 .hero-copy{position:relative;bottom:auto;margin-top:-10px;padding-bottom:46px}
}
/* hero name: owner wants it cleanly on top of the whole picture (not behind/inside Tobias); shadow keeps it readable on the white suit */
.hero-front{position:absolute;inset:0;z-index:3;pointer-events:none}
/* hero name: straight, relief (light top edge, stacked grey depth below) + soft drop shadow */
.hero-outline div{color:#fff;-webkit-text-stroke:0;transform:none;text-shadow:0 -1px 0 #fff,0 1px 0 #e9e9ec,0 2px 0 #dcdce0,0 3px 0 #cfcfd4,0 4px 0 #c2c2c8,0 5px 0 #b4b4bb,0 6px 0 #a6a6ae,0 7px 0 #9898a0,0 8px 0 #8a8a93,0 10px 3px #0006,0 18px 22px #000a,0 30px 50px #0008}
@media (max-width:800px){.hero-outline div{text-shadow:0 -1px 0 #fff,0 1px 0 #e9e9ec,0 2px 0 #cfcfd4,0 3px 0 #b4b4bb,0 4px 0 #9898a0,0 6px 2px #0006,0 12px 18px #000a}}
.hero-name h1{color:transparent}
/* hero name: thin black outline + slightly transparent (owner 2026-10-23) */
.hero-outline div{-webkit-text-stroke:1.5px #000}
.hero-outline{opacity:.88}
/* hero name ~15% smaller (owner 2026-10-23) */
.hero-name h1,.hero-outline div{font-size:clamp(54px,11.5vw,178px)}
@media (max-width:800px){.hero-name h1,.hero-outline div{font-size:clamp(44px,14.5vw,100px)}}
/* KRACHT: black with white outline (owner 2026-10-23) */
.hero-outline div+div{color:#0b0b0d;-webkit-text-stroke:2px #fff}
/* motion only in the homepage header, slow (owner 2026-10-23): no reveals, no page-hero zoom, nothing below the header */
.rv,.rv.l,.rv.r{opacity:1;transform:none;transition:none}
.phero img{animation:none}
.hero-person{animation:pin 2.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes pin{from{opacity:0;translate:0 60px;filter:drop-shadow(0 30px 60px #000) brightness(.3)}}
.hero-outline div{animation:nin 1.9s cubic-bezier(.16,.9,.25,1) both;will-change:transform}
.hero-outline div:first-child{--x:-110vw;animation-delay:.6s}
.hero-outline div+div{--x:110vw;animation-delay:.95s}
@keyframes nin{0%{opacity:0;transform:translateX(var(--x)) skewX(-18deg);filter:blur(10px)}70%{opacity:1;transform:translateX(0) skewX(4deg);filter:blur(0)}100%{transform:none}}
.hero-copy{animation:cin 1.6s 1.8s ease both}
@keyframes cin{from{opacity:0;translate:0 30px}}
.hero-front,.hero-person,.hero-bg{will-change:translate}
.hero::before{content:"";position:absolute;z-index:4;left:0;top:62%;height:3px;width:40vw;background:linear-gradient(90deg,#0000,var(--red),#fff);animation:streak 2s .8s cubic-bezier(.5,0,.2,1) both;pointer-events:none}
@keyframes streak{from{transform:translateX(-45vw);opacity:1}to{transform:translateX(110vw);opacity:0}}
@media (prefers-reduced-motion:reduce){.hero::before{display:none}}

/* larger logo with name in header (owner 2026-10-23) */
.hdr .wrap{height:104px}
.hdr .logo{display:flex;align-items:center;gap:18px;line-height:1}
.hdr .logo img{height:84px;filter:drop-shadow(0 4px 14px #0008);transition:transform .3s}
.hdr .logo:hover img{transform:translateX(3px) skewX(-4deg)}
.hdr .logo .logo-name{margin-top:0;display:block;font-family:var(--head);font-size:20px;color:#fff;text-transform:uppercase;letter-spacing:.06em;line-height:1;padding-left:18px;border-left:2px solid var(--red)}
.hdr .logo .logo-name small{display:block;margin-top:6px;font-family:inherit;font-size:10px;letter-spacing:.34em;color:var(--red)}
@media(max-width:1100px){.hdr .logo .logo-name{font-size:17px}}
@media(max-width:720px){.hdr .wrap{height:80px}.hdr .logo{gap:12px}.hdr .logo img{height:62px}.hdr .logo .logo-name{font-size:14px;padding-left:12px}.hdr .logo .logo-name small{font-size:8px}}
@media(max-width:380px){.hdr .logo .logo-name{display:none}}
.hero{min-height:calc(100vh - 104px);min-height:calc(100svh - 104px)}
@media(max-width:720px){.hero{min-height:calc(100vh - 80px);min-height:calc(100svh - 80px)}}
/* more breathing room around the logo (owner 2026-10-23) */
.hdr .wrap{height:132px}
.hero{min-height:calc(100vh - 132px);min-height:calc(100svh - 132px)}
@media(max-width:720px){.hdr .wrap{height:96px}.hero{min-height:calc(100vh - 96px);min-height:calc(100svh - 96px)}}
.milestones{list-style:none;margin:0;padding:0}
.milestones li{padding:0 0 .9em;line-height:1.5}
.milestones strong{display:block;font-family:var(--head);text-transform:uppercase;font-weight:400;letter-spacing:.02em;color:#fff}
.phero p:has(> .hero-quote){max-width:980px}
.hero-quote{display:block;font-family:var(--head);text-transform:uppercase;font-weight:400;font-size:clamp(24px,3vw,42px);line-height:1.15;color:#fff}

.side-img{flex:1 1 0;min-height:320px;margin-top:20px;overflow:hidden}.side-img img{width:100%;height:100%;object-fit:cover;display:block}
.fill-img{position:relative;overflow:hidden;min-height:420px}.fill-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.fill-img{min-height:70vh}}
/* Seitenkopf: Text beginnt auf jeder Seite auf derselben Höhe wie bei Story */
.phero{align-items:flex-start}
.phero .wrap{padding-top:calc(max(72vh,460px) - clamp(240px,160px + 11vw,330px))}
/* Steckbrief so hoch wie das Porträt */
@media (min-width:901px){.profile{align-items:stretch}.profile>.rv.r{display:flex;flex-direction:column}.profile .facts{flex:1;grid-auto-rows:1fr;margin:0}.profile .fact{display:flex;flex-direction:column;justify-content:center}}
.profile>.rv.r{padding:48px 0}
.tiles{grid-template-columns:repeat(5,1fr)}
.tiles .tile .t{left:22px;right:22px;bottom:26px}
.tiles .tile h3{font-size:clamp(20px,1.9vw,30px)}
@media (max-width:1100px) and (min-width:901px){.tiles{grid-template-columns:repeat(6,1fr)}.tiles .tile{grid-column:span 2}.tiles .tile:nth-child(n+4){grid-column:span 3;aspect-ratio:3/2}}
@media (max-width:900px){.tiles{grid-template-columns:1fr}}
.tiles .tile:nth-child(5) h3{font-size:clamp(18px,1.65vw,26px)}
.ontrack>.wrap{max-width:none}
.ontrack .bigword{font-size:min(13.5vw,260px);line-height:1;overflow:visible}
.ontrack #ontrack{margin-top:.1em;margin-bottom:32px}
.sec.follow{padding:44px 0}
.follow h2{margin:0;line-height:1}
.follow .kicker{margin-bottom:8px}
.follow .handle{margin-top:10px;text-decoration:none}
.follow .handle:hover{text-decoration:underline}
.profile-img::before{content:none}
.profile-img img{margin-top:0;height:100%;object-fit:cover;display:block}
@media (min-width:901px){.profile-img{margin-left:calc(-1 * max(32px, (100vw - var(--wrap)) / 2 + 32px))}}
@media (max-width:900px){.profile-img{margin-left:-32px;margin-right:-32px}}
@media (min-width:901px){
.profile .facts{flex:0 0 auto;grid-auto-rows:auto}
.profile .fact{padding:12px 0 11px}
.profile .fact dt{margin-bottom:3px}
.profile>.rv.r{padding:40px 0;justify-content:center}
.profile-img{min-height:0}
.profile-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
}
@media (max-width:900px){.profile .fact{padding:12px 0 11px}.profile-img img{height:auto;max-height:420px;object-fit:cover;object-position:center 25%}}
.sec.namebar{padding:40px 0}
.namebar>.wrap{max-width:none}
.namebar .bigword{font-size:min(8.2vw,170px);line-height:1;overflow:visible}
.namebar .bigword.nav-word{font-size:min(10.5vw,210px)}
.namebar .bigword.sp-word{font-size:min(10.3vw,206px)}
.ontrack .bigword{font-size:min(10.5vw,210px);margin-bottom:40px}
.namebar .bigword.so-word{font-size:min(10.5vw,210px)}
@media (max-width:900px){.namebar .bigword.so-word{font-size:9.2vw}}
.namebar .bigword,.ontrack .bigword{-webkit-text-stroke:1px #ffffff42}
.namebar .bigword,.namebar .bigword.nav-word,.namebar .bigword.sp-word,.namebar .bigword.so-word,.ontrack .bigword{font-size:min(7vw,110px)}
.namebar .bigword,.ontrack .bigword{text-align:center}
/* hero name higher so the longer intro text stays free (owner 2026-11-01) */
.hero-name,.hero-outline{top:max(48px,6%);bottom:auto;transform:none}
@media (max-width:800px){.hero-name,.hero-outline{top:48px}}
/* desktop hero: name left of Tobias, intro text right of him (owner 2026-11-01) */
@media (min-width:801px){
 .hero-name,.hero-outline{left:clamp(24px,3vw,56px);right:auto;width:calc(50% - 210px);top:50%;bottom:auto;transform:translateY(-50%);text-align:left}
 .hero-name h1,.hero-outline div{font-size:min(calc((50vw - 250px) / 5.3),15vh,150px)}
 .hero-copy{left:calc(50% + 200px);right:clamp(24px,3vw,56px);top:50%;bottom:auto;transform:translateY(-50%)}
 .hero-copy .wrap{flex-direction:column;align-items:flex-start;gap:26px;padding:0;max-width:none}
 .hero-copy h2,.hero-copy p{max-width:520px}
 .hero-copy .btns{justify-content:flex-start}
}
/* TOBIAS as wide as KRACHT (owner 2026-11-01) */
.hero-outline div:first-child{letter-spacing:.102em;margin-right:-.102em}
/* intro text under the name (owner 2026-11-01) */
.hero-sub{color:var(--txt);margin:0;line-height:1.6;font-size:16px}
@media (min-width:801px){
 .hero-front{display:flex;flex-direction:column;justify-content:center;gap:28px;padding-left:clamp(24px,3vw,56px)}
 .hero-outline{position:static;transform:none;width:calc(50% - 210px)}
 .hero-sub{width:calc(50% - 210px);max-width:520px;pointer-events:auto;text-shadow:0 1px 8px #000}
}
@media (max-width:800px){
 .hero-front{position:static;will-change:auto}
 .hero-copy{margin-top:24px}
 .hero-sub{position:relative;z-index:4;padding:22px 32px 0}
}
/* name styled like the "Leidenschaft auf der Ideallinie." heading: plain white, no outline/relief; size unchanged (owner 2026-11-01) */
.hero-outline{opacity:1}
.hero-outline div,.hero-outline div+div{color:#fff;-webkit-text-stroke:0;text-shadow:none}
.hero-outline div+div{color:var(--red)}
/* shorter header; Tobias starts near the nav and his legs are cut at the bottom (owner 2026-11-01) */
@media (min-width:801px){
 .hero{height:max(660px,82svh);min-height:0}
 .hero-person{top:16px;bottom:auto;height:118%}
}
@media (min-width:801px) and (max-width:1100px){.hero{height:max(820px,82svh)}}
.hero-outline div+div{-webkit-text-stroke:0}
/* name ~15% smaller (owner 2026-11-01) */
@media (min-width:801px){.hero-name h1,.hero-outline div{font-size:min(calc((50vw - 250px) / 6.2),12.8vh,128px)}}
@media (max-width:800px){.hero-name h1,.hero-outline div{font-size:clamp(38px,12.3vw,85px)}}
/* Tobias exactly centred between left and right text: symmetric columns, 200px gap to the centre on both sides (owner 2026-11-01) */
@media (min-width:801px){
 .hero-outline,.hero-sub{width:calc(50% - 200px - clamp(24px,3vw,56px) / 2);max-width:none}
 .hero-copy{left:calc(50% + 200px)}
 .hero-person{left:50%;transform:translateX(-48.5%)}
}
/* logo under the left intro text (owner 2026-11-01) */
.hero-logo{display:block;width:clamp(120px,11vw,180px);height:auto}
@media (max-width:800px){.hero-logo{position:relative;z-index:4;margin:24px 32px 0}}
/* "Racing Driver" in red next to the hero logo, like in the header (owner 2026-11-01) */
.hero-brand{display:flex;align-items:center;gap:22px}
.hero-brand-tag{font-family:var(--head);text-transform:uppercase;color:var(--red);font-size:clamp(12px,1.1vw,16px);letter-spacing:.34em;line-height:1;padding:8px 0 8px 18px;border-left:2px solid var(--red)}
@media (max-width:800px){.hero-brand{position:relative;z-index:4;margin:24px 32px 0}.hero-brand .hero-logo{margin:0}}
/* "Sponsor werden" button under the left text (owner 2026-11-01) */
.hero-cta{pointer-events:auto}
@media (max-width:800px){.hero-cta{position:relative;z-index:4;margin:24px 32px 0}}
/* galleries without gaps: justified rows, every picture in its own proportions, rows fill the full width (owner 2026-11-01) */
.gal{display:flex;flex-wrap:wrap;gap:4px}
.gal a,.gal a.wide,.gal a.tall,.gal a.big{flex:var(--r) 1 calc(var(--r) * 300px);aspect-ratio:var(--r);height:auto;grid-column:auto;grid-row:auto}
@media (max-width:900px){.gal a,.gal a.wide,.gal a.tall,.gal a.big{flex-basis:calc(var(--r) * 170px)}}
.gal a.logo{background:#0b0b0d}.gal a.logo img{object-fit:contain;padding:12%}
.gal a.logo{display:flex;align-items:center;justify-content:center}.gal a.logo img{padding:0;width:84%;height:84%;object-fit:contain}
/* animated divider words: slide in from alternating sides when scrolled into view (owner 2026-11-01) */
.js .namebar .bigword,.js .ontrack .bigword{opacity:0;transform:translateX(var(--bx,-12%));transition:opacity 1.2s ease,transform 1.4s cubic-bezier(.16,.9,.25,1)}
.js .bw-r{--bx:12%}
.js .namebar .bigword.bw-in,.js .ontrack .bigword.bw-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .namebar .bigword,.js .ontrack .bigword{opacity:1;transform:none;transition:none}}
.namebar,.ontrack{overflow:hidden}
.proj .card .meta{font-size:13px}
.proj .card h3{font-size:clamp(24px,2.4vw,30px)}
.proj .card p{font-size:18px;line-height:1.65}
/* homepage animations below the header (owner 2026-11-01, replaces the 2026-10-23 "no motion below header" rule on the homepage only) */
.ha .ha-el.rv{opacity:0;transform:translateY(40px);transition:opacity 1.1s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.ha .ha-el.rv.l{transform:translateX(-70px)}.ha .ha-el.rv.r{transform:translateX(70px)}
.ha .ha-el.rv.in{opacity:1;transform:none}
.ha .d0{transition-delay:0s}.ha .d4{transition-delay:.6s}
.ha .tile.ha-el{transform:translateY(60px)}
.ha .tile.ha-el img{transform:scale(1.25);transition:transform 2s cubic-bezier(.2,.7,.2,1),opacity .4s}
.ha .tile.in img{transform:scale(1)}.ha .tile.in:hover img{transform:scale(1.07)}
.ha .tile .more{position:relative;display:inline-block;padding-bottom:6px}
.ha .tile .more::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .9s .9s cubic-bezier(.2,.7,.2,1)}
.ha .tile.in .more::after{transform:scaleX(1)}
.ha .profile .fact.ha-el{opacity:0;transform:translateX(30px);transition:opacity .8s ease var(--fd),transform .9s cubic-bezier(.2,.7,.2,1) var(--fd)}
.ha .profile .fact.in{opacity:1;transform:none}
.ha .profile-img.ha-el img{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s cubic-bezier(.7,0,.2,1)}
.ha .profile-img.in img{clip-path:inset(0 0 0 0)}
.ha .band.ha-el>img{transform:scale(1.18);transition:transform 6s cubic-bezier(.2,.7,.2,1)}
.ha .band.in>img{transform:scale(1)}
.ha .sec .btn.ha-el,.ha .follow a.ha-el{opacity:0;transform:translateY(20px);transition:opacity .8s ease .3s,transform .8s cubic-bezier(.2,.7,.2,1) .3s}
.ha .sec .btn.in,.ha .follow a.in{opacity:1;transform:none}
.ha .btn{position:relative;overflow:hidden}
.ha .btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,#fff0,#fff6,#fff0);transform:skewX(-20deg);transition:left .7s ease}
.ha .btn:hover::after{left:130%}
/* coaching request: picture fills the space below the intro text (owner 2026-11-01) */
.req-grid{align-items:stretch}
.req-side{display:flex;flex-direction:column}
.req-img{flex:1;min-height:320px;margin-top:28px;position:relative;overflow:hidden;background:#000}
.req-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
@media (max-width:900px){.req-img{flex:none;height:360px;min-height:0}}
/* coaching "Ablauf": tighter spacing (owner 2026-11-01) */
.sec.ablauf{padding:64px 0}
.ablauf .title{margin-bottom:18px}
.ablauf .steps{gap:20px}
.ablauf .steps li{padding-top:16px}
.ablauf .steps li::before{margin-bottom:10px}
@media (max-width:900px){.sec.ablauf{padding:52px 0}}
/* homepage band text larger (owner 2026-11-01) */
.band p.band-big{font-size:clamp(20px,2vw,26px);line-height:1.5;max-width:760px}
/* homepage header body text larger (owner 2026-11-01) */
.hero-sub{font-size:clamp(16px,1.25vw,19px)}
.hero-copy p{font-size:clamp(16px,1.25vw,19px);line-height:1.6}
/* phones: name sits below the photo, above the intro text (owner 2026-11-01) */
@media (max-width:800px){
 .hero-outline{position:relative;z-index:4;top:auto;bottom:auto;left:auto;right:auto;transform:none;width:auto;margin:28px 32px 0;text-align:left;opacity:1}
}

/* mobile menu: full-screen black overlay with white links (owner 2026-11-01) */
@media (max-width:1100px){
 .nav{inset:auto;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#000;overflow-y:auto}
 .nav a{color:#fff}.nav a[aria-current=page]{color:var(--red)}
}
/* mobile menu smaller, starts below the header so every item is visible even on short screens (owner 2026-11-01) */
@media (max-width:1100px){
 .nav{align-items:flex-start;padding:110px 0 40px;box-sizing:border-box}
 .nav ul{margin:auto 0;gap:12px}.nav a{font-size:17px}
}
/* mobile menu slightly see-through so the page shows behind it (owner 2026-11-01) */
@media (max-width:1100px){
 .nav{background:rgba(0,0,0,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
}
