
:root{--red:#E31E24;--bg:#0b0b0b;--card:#151515;--line:#262626;--mute:#a3a3a3;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-behavior:smooth;scroll-padding-top:20px;color-scheme:dark}
*,*:before,*:after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:#fff;font:400 17px/1.6 Manrope,system-ui,sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:800;letter-spacing:-.03em;line-height:1.02;margin:0}
h2{font-size:clamp(2.2rem,5.6vw,4.4rem)}h3{font-size:1.6rem;letter-spacing:-.02em}
p{margin:0 0 1em;max-width:60ch}
.w{width:min(1240px,92vw);margin:auto}
section{padding:clamp(70px,10vw,130px) 0}
.mute{color:var(--mute)}.red{color:var(--red)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:99px;font-weight:700;border:1.5px solid var(--red);background:var(--red);color:#fff;cursor:pointer;font:700 1rem Manrope;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(227,30,36,.35)}.btn.o{background:transparent;border-color:#444}.btn.o:hover{border-color:var(--red)}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:99px;padding:6px 16px;font-size:.88rem;font-weight:700;margin-bottom:26px}.pill:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
:focus-visible{outline:3px solid #fff;outline-offset:3px}
/* preloader */
#pl{position:fixed;inset:0;z-index:200;background:#0b0b0b;display:flex;align-items:flex-end;justify-content:space-between;padding:5vw;transition:transform .9s cubic-bezier(.7,0,.2,1)}
#pl.go{transform:translateY(-100%)}#pl b{font-size:clamp(5rem,20vw,16rem);line-height:.8;letter-spacing:-.06em}#pl span{font-weight:700;color:var(--red)}
/* top bar + menu */
.bar{position:fixed;top:0;left:0;right:0;z-index:60;padding-top:env(safe-area-inset-top,0px);mix-blend-mode:normal}
.bar .w{display:flex;justify-content:space-between;align-items:center;height:78px}
.logo{font-weight:800;font-size:1.15rem;letter-spacing:-.03em}.logo i{color:var(--red);font-style:normal}
.mb{background:rgba(20,20,20,.8);backdrop-filter:blur(10px);border:1px solid #333;color:#fff;border-radius:99px;padding:10px 22px;font:700 .95rem Manrope;cursor:pointer}
#menu{position:fixed;inset:0;z-index:100;background:#0b0b0b;transform:translateX(100%);transition:transform .6s cubic-bezier(.7,0,.2,1);overflow:auto;padding:28px 0}
#menu.open{transform:none}
.mg{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;margin-top:30px}
#menu nav a{display:block;font-size:clamp(2.2rem,6vw,4.4rem);font-weight:800;letter-spacing:-.04em;line-height:1.15;color:#777;transition:color .2s}#menu nav a:hover{color:#fff}
#menu h4{margin:0 0 8px;color:var(--red);font-size:.9rem}#menu .cx{margin-bottom:28px}
@media(max-width:800px){.mg{grid-template-columns:1fr}}
/* hero */
#top{min-height:100vh;padding:120px 0 0;position:relative;overflow:hidden}
.hg{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:end}
.hi{font-size:1.2rem;color:var(--mute);font-weight:500}
.nm{font-size:clamp(3.4rem,10vw,9.2rem);letter-spacing:-.06em;line-height:.9;margin:6px 0 22px}
.hl{font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:700;letter-spacing:-.025em;line-height:1.15;max-width:22ch}
.tb{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 12px}.tb span{border:1px solid var(--line);border-radius:99px;padding:6px 14px;font-size:.85rem;font-weight:600}
.ph{position:relative;align-self:end;justify-self:center;width:min(480px,100%)}
.ph:before{content:"";position:absolute;left:50%;bottom:0;width:112%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#E31E24 0%,rgba(227,30,36,.25) 55%,transparent 70%)}
.ph img{position:relative;border-radius:240px 240px 0 0;aspect-ratio:4/5;object-fit:cover;object-position:60% 25%;width:100%;border:1px solid #3a1214;background:#ece7df}
.fl{position:absolute;z-index:2;background:rgba(10,10,10,.9);border:1px solid var(--red);border-radius:99px;padding:7px 15px;font-size:.78rem;font-weight:700;animation:fy 5s ease-in-out infinite}
.f1{left:-4%;top:12%}.f2{right:-4%;top:28%;animation-delay:-1s}.f3{left:-6%;bottom:32%;animation-delay:-2s}.f4{right:-2%;bottom:18%;animation-delay:-3s}
@keyframes fy{50%{transform:translateY(-12px)}}
@media(max-width:860px){.hg{grid-template-columns:1fr}.ph{width:min(360px,90%)}}
/* marquee */
.mq{overflow:hidden;border-block:1px solid var(--line);background:#000;padding:20px 0;white-space:nowrap}
.mq div{display:inline-flex;gap:56px;animation:mq 30s linear infinite;padding-right:56px}
.mq span{font-size:clamp(1.3rem,2.6vw,2rem);font-weight:800;letter-spacing:-.03em;display:inline-flex;align-items:center;gap:56px}.mq span:after{content:"✦";color:var(--red);font-size:1rem}
.mq.sm span{font-size:1.15rem;color:var(--mute)}.mq.big span{font-size:clamp(3rem,9vw,8rem);color:transparent;-webkit-text-stroke:1.5px #555}
@keyframes mq{to{transform:translateX(-100%)}}
/* about */
.ab{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start}
.st{font-size:clamp(1.5rem,3.1vw,2.7rem);font-weight:700;letter-spacing:-.03em;line-height:1.2;margin-bottom:30px}.st em{font-style:normal;color:var(--mute)}
.ab img{border-radius:24px;aspect-ratio:3/4;object-fit:cover;width:100%}
.edu{border-left:3px solid var(--red);padding-left:16px;margin:0 0 26px}
@media(max-width:860px){.ab{grid-template-columns:1fr}}
/* works */
.sh{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:56px}
.wg{display:grid;grid-template-columns:1fr 1fr;gap:34px 26px}.wg>article:nth-child(even){margin-top:80px}
.th{aspect-ratio:4/3;border-radius:22px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#232323,#0f0f0f);border:1px solid var(--line);transition:transform .4s}
.th.r{background:linear-gradient(135deg,#E31E24,#5a0a0d);border:0}
article:hover .th{transform:scale(.98)}
.th b{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.04em;line-height:1;display:block}.th small{display:block;font-weight:600;opacity:.8;font-size:.9rem}
.th .t{font-size:.8rem;font-weight:700;border:1px solid rgba(255,255,255,.4);border-radius:99px;padding:3px 12px;align-self:flex-start}
.wg h3{margin:18px 0 8px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span{border:1px solid var(--line);border-radius:99px;padding:3px 13px;font-size:.82rem;color:#d0d0d0}
details.cd summary{cursor:pointer;color:var(--red);font-weight:700;margin-top:12px;list-style:none}details.cd summary::-webkit-details-marker{display:none}
details.cd dl{margin:12px 0 0;border-top:1px solid var(--line);padding-top:6px}details.cd dt{font-size:.82rem;font-weight:700;color:var(--red);margin-top:10px}details.cd dd{margin:0;color:#cfcfcf;font-size:.95rem}
@media(max-width:800px){.wg{grid-template-columns:1fr}.wg>article:nth-child(even){margin-top:0}}
/* services stack */
.sk{position:sticky;top:calc(90px + var(--i)*12px);background:var(--card);border:1px solid var(--line);border-radius:26px;padding:34px;margin-bottom:26px;display:grid;grid-template-columns:90px 1fr 1.1fr auto;gap:26px;align-items:center;min-height:170px}
.sk .no{font-size:3rem;font-weight:800;color:var(--red);letter-spacing:-.05em}
.sk p{color:var(--mute);margin:0 0 12px}
.sk .ar{width:54px;height:54px;border-radius:50%;border:1px solid #444;display:grid;place-items:center;font-size:1.3rem;transition:.25s}.sk:hover .ar{background:var(--red);border-color:var(--red);transform:rotate(-45deg)}
@media(max-width:860px){.sk{grid-template-columns:1fr;gap:12px;position:relative;top:0}.sk .ar{display:none}}
/* timeline/industries/academy */
.tl{border-left:2px solid var(--red);padding-left:30px;display:grid;gap:28px;margin-top:50px;max-width:760px}
.tl div{position:relative}.tl div:before{content:"";position:absolute;left:-39px;top:9px;width:16px;height:16px;border-radius:50%;background:var(--red)}.tl p{color:var(--mute);margin:4px 0 0}
.ig{display:flex;flex-wrap:wrap;gap:12px;margin-top:44px}.ig span{border:1px solid #333;border-radius:99px;padding:14px 26px;font-weight:700;font-size:1.05rem;transition:.2s}.ig span:hover{background:var(--red);border-color:var(--red)}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.fg img{border-radius:24px;width:100%;height:100%;object-fit:cover;min-height:300px}
.fc{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:36px}
.tr{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:22px}.tr div{border-top:3px solid var(--red);background:#0f0f0f;padding:16px;font-weight:700;font-size:.95rem}
@media(max-width:800px){.fg{grid-template-columns:1fr}}
.rc{margin-top:40px;max-width:640px;background:var(--card);border:1px dashed #444;border-radius:24px;padding:36px}
/* faq */
details.q{border-bottom:1px solid var(--line);padding:22px 0;max-width:900px}
details.q summary{cursor:pointer;font-weight:700;font-size:1.2rem;list-style:none;display:flex;justify-content:space-between;gap:16px;letter-spacing:-.02em}
details.q summary:after{content:"+";color:var(--red);font-size:1.7rem;line-height:1}details.q[open] summary:after{content:"–"}details.q p{color:var(--mute);margin:14px 0 0}
/* contact */
.cf{background:var(--card);border:1px solid var(--line);border-radius:30px;padding:clamp(24px,5vw,60px)}
form{display:grid;gap:16px;margin-top:30px}.r2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-size:.85rem;font-weight:700;display:grid;gap:6px}
input,select,textarea{background:#0b0b0b;border:1px solid #333;color:#fff;border-radius:12px;padding:14px;font:inherit;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--red)}
@media(max-width:700px){.r2{grid-template-columns:1fr}}
/* footer */
footer{border-top:1px solid var(--line);padding:70px 0 30px;overflow:hidden}
.fk{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.fk h4{margin:0 0 12px;color:var(--red);font-size:.9rem}.fk a{display:block;color:#ddd;margin-bottom:6px}
.big{font-size:clamp(3rem,13.5vw,13rem);font-weight:800;letter-spacing:-.07em;line-height:.9;margin:60px 0 20px;white-space:nowrap;color:#161616;-webkit-text-stroke:1px #2c2c2c}
@media(max-width:800px){.fk{grid-template-columns:1fr}}
.wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:70;background:#25D366;color:#fff;border-radius:99px;padding:14px 20px;font-weight:700;box-shadow:0 6px 24px rgba(0,0,0,.5)}
#ty{position:fixed;inset:0;z-index:150;background:rgba(0,0,0,.85);display:none;place-items:center;padding:20px}#ty.on{display:grid}
#ty div{background:var(--card);border:1px solid var(--red);border-radius:26px;padding:40px;max-width:460px;text-align:center}
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}.sk{position:relative;top:0}}

.nb{display:flex;align-items:center;justify-content:space-between;height:84px;gap:24px}
.lg2{display:grid;line-height:1}.lg2 b{font:400 2rem Anton;letter-spacing:.01em}.lg2 i{color:var(--red);font-style:normal}.lg2 small{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;margin-top:5px;color:#ddd}
.nb nav.dn{display:flex;gap:34px;margin-left:auto}.nb nav.dn a{font-weight:600;font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent;color:#eee}.nb nav.dn a.on{border-color:var(--red)}.nb nav.dn a:hover{border-color:var(--red)}
.mm{display:none}
@media(max-width:1000px){.dn{display:none!important}.mm{display:block}.nb{justify-content:space-between}}
.hero{padding:0;min-height:max(100vh,780px);position:relative;overflow:hidden;display:flex;align-items:center;background:radial-gradient(ellipse 55% 60% at 0% 25%,#6e0a10 0,transparent 70%),radial-gradient(ellipse 45% 70% at 100% 45%,#c8350c 0,transparent 70%),radial-gradient(ellipse 40% 40% at 100% 0,#9d2a0a 0,transparent 70%),#0c0204}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .6 0 0 0 0 .5 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.hh{display:grid;grid-template-columns:1.05fr 1fr;gap:20px;align-items:center;position:relative;z-index:1;padding:110px 0 40px}
.hi{font:400 2rem Anton;letter-spacing:.02em}
.nm{font:400 clamp(4rem,9.4vw,9rem) Anton;letter-spacing:-.005em;line-height:1;position:relative;display:inline-block;margin:0 0 18px}
.nm .ul{position:absolute;left:35%;right:0;bottom:-6px;width:65%;height:14px}
.h2{font:700 clamp(1.7rem,3vw,2.5rem) Manrope;letter-spacing:-.02em;margin:18px 0 4px}
.h3{font-size:1.1rem;margin:0 0 20px;color:#f0f0f0}.hp{color:#e6dada;max-width:46ch}
.hb{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 40px}
.ci{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--red);font-size:1.1rem;margin:-6px -14px -6px 0}
.sr{display:flex;gap:0}.sr div{padding:0 26px;border-left:1px solid #5a2024;font-size:.95rem;line-height:1.3;color:#eee}.sr div:first-child{padding-left:0;border:0}
.sr b{display:block;font:400 clamp(2.4rem,4vw,3.4rem) Anton;color:var(--red);line-height:1.05;margin-bottom:6px}
.hr{position:relative;min-height:680px}
.pic{position:absolute;left:0;bottom:-40px;height:112%;width:62%}
.pic img{height:100%;width:100%;object-fit:cover;object-position:50% 20%;-webkit-mask-image:linear-gradient(to top,transparent 0,#000 12%),linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to top,transparent 0,#000 12%),linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%);mask-composite:intersect}
.chips2{position:absolute;right:0;top:6%;width:44%}
.cp{display:flex;align-items:center;gap:12px;width:max-content;font-weight:700;font-size:1.1rem;padding:12px 24px 12px 16px;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);box-shadow:0 8px 30px rgba(0,0,0,.35);margin-bottom:14px;animation:fy 6s ease-in-out infinite}
.c1{transform:rotate(-8deg)}.c2{transform:rotate(-8deg);margin-left:28px;animation-delay:-1s}.c3{margin-left:-10px;animation-delay:-2s}.c4{transform:rotate(-6deg);margin-left:50px;animation-delay:-3s}.c5{transform:rotate(-3deg);margin-left:6px;animation-delay:-4s}
@keyframes fy{50%{translate:0 -10px}}
.tc{position:absolute;right:0;bottom:30px;width:min(330px,52%);padding:22px 24px;border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
.tc .ci{margin:0 0 12px;background:var(--red);color:#fff;width:42px;height:42px}.tc p{margin:0;font-weight:700;font-size:1.1rem;line-height:1.3}
@media(max-width:1000px){.hh{grid-template-columns:1fr;padding-top:100px}.hr{min-height:0;display:grid;gap:18px}.pic{position:relative;bottom:0;height:auto;width:min(420px,90%);margin:0 auto;aspect-ratio:530/744}.chips2{position:static;width:auto;display:flex;flex-wrap:wrap;gap:10px}.cp{margin:0!important;transform:none!important;font-size:.95rem}.tc{position:static;width:100%}.sr{flex-wrap:wrap;row-gap:22px}.sr div{padding:0 18px}}
/* glass */
:root{--glass:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.04));--gl:1px solid rgba(255,255,255,.16);--gs:inset 0 1px 0 rgba(255,255,255,.28),0 12px 40px rgba(0,0,0,.4)}
body{background:#0a0305}
body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 8% 12%,rgba(227,30,36,.38),transparent 38%),radial-gradient(circle at 92% 38%,rgba(255,90,31,.26),transparent 40%),radial-gradient(circle at 25% 85%,rgba(140,10,20,.45),transparent 45%),radial-gradient(circle at 80% 90%,rgba(227,30,36,.22),transparent 40%)}
.sk,.th,.fc,.cf,.rc,.tr div,.ig span,.chips span,details.q,.mb,.tb span,.pill,.mq,#ty div,.tc{background:var(--glass);border:var(--gl);box-shadow:var(--gs);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5)}
.sk{background:var(--glass),rgba(20,8,10,.8)}
.th.r{background:linear-gradient(135deg,rgba(227,30,36,.8),rgba(90,10,13,.55));border:var(--gl)}
.tr div{border-top:var(--gl);border-top-color:var(--red);border-top-width:3px}
.mq{border-radius:0;border-inline:0}
.pill{background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03))}
.btn.o{background:var(--glass);border:var(--gl);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--gs)}.btn.o:hover{border-color:var(--red)}
.btn:not(.o){box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 28px rgba(227,30,36,.35)}
.bar{pointer-events:none}.bar .nb{pointer-events:auto;margin-top:12px;height:68px;padding:0 14px 0 26px;border-radius:99px;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:var(--gl);box-shadow:var(--gs);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5)}
.lg2 b{font-size:1.6rem}.lg2 small{font-size:.55rem}
#menu{background:rgba(10,3,5,.72);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}
details.q{border-radius:20px;padding:20px 26px;margin-bottom:12px}
input,select,textarea{background:rgba(255,255,255,.07);border:var(--gl);box-shadow:inset 0 2px 8px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.wa{background:rgba(37,211,102,.75);border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
footer{background:linear-gradient(180deg,rgba(255,255,255,.05),transparent)}
.big{color:rgba(255,255,255,.05);-webkit-text-stroke:1px rgba(255,255,255,.14)}
@media(max-width:1000px){.bar .nb{padding:0 10px 0 20px}}

/* WordPress */
.admin-bar .bar{top:32px}@media(max-width:782px){.admin-bar .bar{top:46px}}
.wp-page{padding:150px 0 90px;min-height:70vh}.wp-page h1{font-size:clamp(2.4rem,6vw,4.5rem);margin-bottom:30px}
.wp-page .entry{max-width:760px}.wp-page .entry a{color:var(--red);text-decoration:underline}.wp-page .entry img{border-radius:20px;height:auto}
.wp-page article{margin-bottom:50px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.screen-reader-text{position:absolute;left:-9999px}
