/* Scroll direction and depth live on inner layers; the pinned hero stays stable. */
.preloader { display:none; }
html.is-loading,html.is-loading body { overflow:hidden!important;overscroll-behavior:none; }
.is-loading .preloader { position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;justify-content:center;background:#070707;padding:8vh 9vw;transition:opacity .45s ease,visibility .45s; }
.preloader.is-complete { opacity:0;visibility:hidden;pointer-events:none; }
.preloader-caption { font:700 12px BarlowCondensed,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#c7bcae; }
.preloader-wordmark { position:relative;width:max-content;font:400 clamp(90px,18vw,260px)/.8 Bebas,sans-serif;letter-spacing:-.03em;margin:40px 0; }
.preloader-wordmark em { font-style:normal;color:#ef1763; }
.preloader-wordmark i { position:absolute;left:110%;top:0;font:700 .42em BarlowCondensed,sans-serif;color:#ef1763;letter-spacing:-.14em; }
.preloader-bottom { display:flex;justify-content:space-between;gap:24px;font:700 11px BarlowCondensed,sans-serif;letter-spacing:.16em; }
.preloader-count { font-weight:inherit;color:#ff6499; }
.preloader-track { height:1px;background:#39302f;margin-top:20px; }
.preloader-track i { display:block;height:2px;background:#ef1763;transform:scaleX(var(--load-progress,0));transform-origin:left;transition:transform .25s ease; }
.about { display:block;padding:0;position:relative;isolation:isolate; }
.about-stage { display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:7vw;position:relative;isolation:isolate;overflow:hidden;min-height:760px;padding:100px var(--gutter);background:#0c0a0b; }
.about-art { position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 24% 48%,#43142666,transparent 53%); }
.about-ring { position:absolute;left:-10%;top:50%;width:65vw;height:65vw;margin-top:-32.5vw;border:1px solid #ec438a4a;border-radius:50%; }
.ring-two { left:-2%;width:49vw;height:49vw;margin-top:-24.5vw;border-style:dashed;border-color:#f1e7d534; }
.ring-three { left:6%;width:33vw;height:33vw;margin-top:-16.5vw;border-width:2px;border-color:#ef176345; }
.about-ring::before { content:'';position:absolute;left:15%;top:15%;width:8px;height:8px;border-radius:50%;background:#ff6499;box-shadow:0 0 22px #ef1763; }
.about-beam { position:absolute;left:18%;top:51%;height:1px;width:23%;transform-origin:left;background:linear-gradient(90deg,#ef1763,transparent);opacity:.3; }
.about-coordinate { position:absolute;left:var(--gutter);bottom:30px;font:700 10px BarlowCondensed,sans-serif;letter-spacing:.25em;color:#b7ae9f; }
.about-brand { position:relative;min-width:0; }
.about-brand>a { display:block;transform-origin:left center; }
.about-brand img { width:clamp(190px,20vw,300px);height:auto;min-height:150px;margin:25px 0; }
.about-nodes { display:flex;flex-wrap:wrap;gap:9px;margin-bottom:35px; }
.about-nodes span { border:1px solid #ad667e;padding:9px 12px;font:700 11px BarlowCondensed,sans-serif;letter-spacing:.16em;text-transform:uppercase;background:#180e15; }
.about-copy { min-width:0; }
.about-copy h2 { font-size:clamp(46px,5vw,88px);line-height:1.04;letter-spacing:-.018em;margin-bottom:30px; }
.about-line { display:block;overflow:hidden;padding-bottom:.04em; }
.about-line>span { display:block;transform-origin:left bottom; }
.about-line:last-child { color:#ff6499; }
.about-copy>p { max-width:590px;line-height:1.65; }
.about-copy .cv-note { color:#b7ae9f; }
.about-copy:focus-within>p,.about-copy:focus-within>.text-link { opacity:1!important; }
.about-copy:focus-within .about-line>span { transform:none!important; }
.card-dimmer { position:absolute;inset:-1px;background:#030205;z-index:5;pointer-events:none;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.22,.61,.36,1); }
.project-card:focus-visible .card-dimmer { opacity:0!important; }
@media(min-width:761px) and (min-height:650px) { .about.is-choreographed .about-stage { min-height:100svh; } }
@media(max-width:760px) {
 .about-stage { grid-template-columns:1fr;gap:55px;min-height:0;padding:80px var(--gutter) 65px; }
 .about-brand img { width:205px;min-height:120px;margin:18px 0; }
 .about-nodes { margin-bottom:28px; }
 .about-copy h2 { font-size:clamp(36px,10.3vw,66px); }
 .about-copy p { font-size:15px; }
 .about-ring { width:150vw;height:150vw;margin-top:-75vw;left:-25%;top:28%; }
 .ring-two { width:120vw;height:120vw;margin-top:-60vw;left:-10%; }
 .ring-three { width:90vw;height:90vw;margin-top:-45vw;left:5%; }
 .about-beam { top:32%; }
 .about-coordinate { bottom:22px; }
}
.skills .skill-columns { min-height:clamp(690px,57vw,920px);align-items:end;padding-top:260px;padding-bottom:80px; }
.skills .skills-background { object-position:center 43%;filter:brightness(.72) saturate(.75); }
.skills::after { background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.22) 28%,rgba(0,0,0,.82) 70%,rgba(0,0,0,.94)); }
@media(max-width:760px) {
 .skills .skill-columns { min-height:0;padding-top:clamp(300px,70vw,450px);padding-bottom:60px;gap:40px; }
 .skills .skills-background { height:clamp(540px,110vw,760px);object-position:92% top; }
 .skills::after { background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.2) 180px,rgba(0,0,0,.87) 430px,#070707 700px); }
}
:root { scroll-padding-top:88px;scroll-behavior:auto; }
.header { position:fixed; transition:background .3s,backdrop-filter .3s; }
.header.is-scrolled { background:rgba(7,7,7,.9); backdrop-filter:blur(12px); }
.founder-link .founder-logo { width:82px;height:49px;object-fit:contain;flex:none; }
.hero.is-cinematic { height:min(100svh,65vw);min-height:650px; }
.hero.is-cinematic .hero-name { font-size:min(40vw,64svh); }
.hero.is-cinematic .hero-name>span { top:16%;animation:none;z-index:1; }
.name-character { display:inline-block;transform-origin:50% 80%;backface-visibility:hidden; }
.hero.is-cinematic .portrait-stage { perspective:none;will-change:transform;backface-visibility:hidden; }
.hero-effects { position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;perspective:1200px; }
.hero-glow { position:absolute;width:65%;height:115%;left:20%;top:-5%;opacity:0;background:radial-gradient(ellipse at center,rgba(239,23,99,.24),rgba(239,23,99,.02) 50%,transparent 72%); }
.hero-orbit { position:absolute;width:70vw;height:70vw;max-width:1200px;max-height:1200px;left:15%;top:7%;border:1px solid rgba(239,23,99,.5);border-radius:50%;opacity:0;transform:rotateX(68deg) rotateY(-22deg) rotateZ(-25deg);box-shadow:0 0 40px rgba(239,23,99,.08); }
.hero-flare { position:absolute;height:180%;width:16%;top:-40%;left:30%;opacity:0;transform:rotate(-30deg);background:linear-gradient(90deg,transparent,rgba(239,23,99,.16),transparent); }
.hero-shutter { position:absolute;inset:0;background:var(--black);transform:scaleY(0);transform-origin:bottom;z-index:9; }
.hero-story { position:absolute;left:var(--gutter);right:var(--gutter);top:43%;height:25%;z-index:4;pointer-events:none;perspective:1200px; }
.story-line { position:absolute;left:0;top:0;opacity:0;transform-origin:left center; }
.story-line>span { display:block;font:400 clamp(80px,13vw,200px)/.85 Bebas,sans-serif;letter-spacing:-.025em;text-transform:uppercase; }
.story-create>span { color:var(--pink); }
.story-line small { display:block;font:700 13px/1.5 BarlowCondensed,sans-serif;text-transform:uppercase;letter-spacing:.15em;margin-top:24px;max-width:300px; }
.hero-progress { position:absolute;right:var(--gutter);bottom:22px;z-index:5;display:flex;align-items:center;gap:15px;opacity:.7;font:700 10px BarlowCondensed,sans-serif;letter-spacing:.15em; }
.hero-progress>div { width:110px;height:1px;background:#49433d; }
.hero-progress i { display:block;width:100%;height:2px;background:var(--pink);transform:scaleX(0);transform-origin:left; }
.hero:not(.is-cinematic) .hero-progress,.hero:not(.is-cinematic) .hero-effects { display:none; }
.work { position:relative;overflow:hidden;padding-top:65px;isolation:isolate; }
.work .section-heading { position:relative;z-index:2;margin-bottom:45px; }
.work .section-heading h2 { font-size:clamp(80px,10vw,150px);line-height:.83; }
.work-ghost { position:absolute;left:-3vw;top:9%;font:400 31vw/.8 Bebas,sans-serif;text-transform:uppercase;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(241,231,213,.075);z-index:-1;pointer-events:none; }
.project-slider { overflow:visible;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding:20px 0 45px; }
.project-slider:not(.swiper-initialized) .swiper-wrapper { overflow-x:auto;gap:24px;padding:0 var(--gutter);scroll-snap-type:x mandatory; }
.project-slider .project-card { width:clamp(340px,36vw,560px);height:clamp(490px,42vw,640px);aspect-ratio:auto;flex:none;scroll-snap-align:center;border:1px solid #504539;transition-property:transform;transition-timing-function:cubic-bezier(.22,.61,.36,1);background:#080808;backface-visibility:hidden; }
.project-slider .project-card::after { background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.03) 43%,rgba(0,0,0,.94) 100%); }
.project-slider .project-card>img { width:118%;max-width:none;left:-9%;filter:brightness(.8) saturate(.8);transition-property:transform;transition-timing-function:cubic-bezier(.22,.61,.36,1); }
.project-slider .project-card.swiper-slide-active { border-color:var(--pink);box-shadow:0 0 70px rgba(239,23,99,.08); }
.project-slider .project-card.swiper-slide-active>img { filter:brightness(.8) saturate(.8); }
.project-slider .project-card:hover>img { transform:none; }
.project-slider .project-content { padding:30px;overflow:hidden; }
.project-slider .project-content h3 { font-size:clamp(58px,6.8vw,105px);line-height:.85;letter-spacing:-.015em;margin-top:20px; }
.project-slider .project-bottom>p { max-width:320px;font-size:15px;margin-bottom:26px; }
.project-slider .project-category { font-size:12px;letter-spacing:.12em; }
.project-index { position:absolute;right:24px;top:24px;font:400 24px Bebas,sans-serif;color:rgba(241,231,213,.65); }
.card-shine { position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(241,231,213,.12),transparent 45%);transition:opacity .4s; }
.project-card:hover .card-shine { opacity:1; }
.project-card:focus-visible { outline-offset:3px; }
.slider-controls { position:relative;display:flex;justify-content:space-between;align-items:center;gap:35px;padding:0 0 30px;border-bottom:1px solid var(--border); }
.slider-hint { font:700 11px BarlowCondensed,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#9f9485; }
.slider-position { display:flex;align-items:center;gap:22px;flex:1;max-width:440px; }
.slider-current,.slider-total { font:400 28px Bebas,sans-serif;min-width:27px; }
.slider-current { color:var(--pink); }
.slider-total { color:#756b5e; }
.slider-track { height:1px;background:#3e352d;flex:1;overflow:hidden; }
.slider-track i { display:block;width:100%;height:2px;background:var(--pink);transform:scaleX(.1428);transform-origin:left; }
.slider-buttons { display:flex;gap:12px; }
.slider-buttons button { display:flex;align-items:center;justify-content:center;width:58px;height:58px;background:transparent;border:1px solid #5e5041;transition:background .3s,border-color .3s; }
.slider-buttons svg { width:19px;height:19px;transform:rotate(45deg); }
.slider-prev svg { transform:rotate(-135deg); }
.slider-buttons button:hover { background:var(--pink);border-color:var(--pink); }
.slider-buttons button:disabled { opacity:.3;cursor:default; }
.work .all-projects { margin-top:24px; }
.project-slider .swiper-wrapper { align-items:center;transition-timing-function:cubic-bezier(.22,.61,.36,1); }
.hero .story-impact { top:75%; }
@media(max-width:1100px) and (min-width:761px) {
 .hero.is-cinematic { min-height:600px; }
 .hero.is-cinematic .hero-name>span { top:14%; }
 .hero.is-cinematic .portrait { height:96%; }
 .hero.is-cinematic .hero-left { max-width:21%; }
 .founder-link .founder-logo { width:68px;height:41px; }
 .project-slider .project-card { width:43vw;height:530px; }
}
@media(max-width:760px) {
 .hero.is-cinematic { height:100svh;min-height:760px; }
 .hero.is-cinematic .hero-name { font-size:64vw; }
 .hero.is-cinematic .hero-name>span { top:13%; }
 .hero.is-cinematic .hero-name>.name-right { top:38%; }
 .hero.is-cinematic .portrait { height:66%;bottom:27%; }
 .hero.is-cinematic .hero-left { bottom:9%; }
 .hero.is-cinematic .hero-right { bottom:12%; }
 .founder-link .founder-logo { width:72px;height:43px; }
 .hero-progress { bottom:20px;gap:10px; }
 .hero-progress>div { width:50px; }
 .hero-progress .hero-chapter { font-size:8px; }
 .hero-story { top:66%;height:24%;text-shadow:0 2px 24px #000; }
 .hero .story-impact { top:0; }
 .story-line>span { font-size:clamp(64px,20vw,140px); }
 .story-line small { font-size:10px;letter-spacing:.1em;max-width:200px;line-height:1.4;margin-top:18px; }
 .hero-orbit { width:140vw;height:140vw;left:-20%;top:7%; }
 .hero-glow { width:150%;left:-25%; }
 .work { padding-top:45px; }
 .work .section-heading { margin-bottom:27px; }
 .work .section-heading h2 { font-size:82px; }
 .work-caption { max-width:40%; }
 .work-ghost { font-size:50vw;top:13%; }
 .project-slider { padding-bottom:30px; }
 .project-slider .project-card { width:77vw;min-width:248px;height:clamp(430px,122vw,550px); }
 .project-slider .project-content { padding:24px; }
 .project-slider .project-content h3 { font-size:65px; }
 .project-slider .project-category { font-size:10px;max-width:85%;line-height:1.3; }
 .project-index { right:17px;top:23px;font-size:18px; }
 .project-slider .project-bottom>p { font-size:13px;line-height:1.45;margin-bottom:24px; }
 .project-action { letter-spacing:.1em; }
 .slider-controls { display:grid;grid-template-columns:1fr auto;gap:17px 25px;padding-bottom:22px; }
 .slider-hint { grid-column:1;grid-row:1;font-size:9px; }
 .slider-position { grid-column:1;grid-row:2;gap:14px;max-width:none; }
 .slider-buttons { grid-column:2;grid-row:1/3;gap:8px; }
 .slider-buttons button { width:43px;height:52px; }
 .slider-buttons svg { width:15px;height:15px; }
 .slider-current,.slider-total { font-size:23px;min-width:21px; }
 footer .footer-links { flex-wrap:wrap;font-size:9px;gap:16px; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-story { display:none; }
 .name-character { transform:none!important;opacity:1!important; }
 .hero-effects,.hero-progress { display:none; }
 .card-shine { display:none; }
}
