body.vvl-project-detail{--bg:var(--vvl-e-bg);--bg-2:var(--vvl-e-soft);--ink:var(--vvl-e-ink);--ink-2:var(--vvl-e-ink-2);--ink-3:var(--vvl-e-ink-3);--line:var(--vvl-e-line);--accent:var(--vvl-e-accent);--ease:var(--vvl-e-ease);overflow-x:hidden;background:var(--bg);}.vvl-project-detail .cs-rail{position:fixed;inset:0 auto 0 0;z-index:110;width:3px;background:rgba(13, 13, 13, .05);pointer-events:none;}.vvl-project-detail .cs-rail i{position:absolute;inset:0 0 auto;height:0;background:var(--accent);transition:height .06s linear;}.vvl-project-detail .cs-top{position:sticky;top:0;z-index:90;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;min-height:86px;align-items:center;padding:16px clamp(24px, 3vw, 60px);border-bottom:1px solid var(--line);background:rgba(255, 255, 255, .9);backdrop-filter:saturate(1.3) blur(16px);-webkit-backdrop-filter:saturate(1.3) blur(16px);}.vvl-project-detail .cs-back{display:inline-flex;gap:12px;align-items:center;justify-self:start;color:var(--ink);font-size:12px;font-weight:500;letter-spacing:.18em;text-decoration:none;text-transform:uppercase;transition:transform .35s var(--ease);}.vvl-project-detail .cs-back:hover{transform:translateX(-4px);}.vvl-project-detail .cs-back .arr{display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;transition:color .3s ease, background .3s ease, border-color .3s ease;}.vvl-project-detail .cs-back:hover .arr{color:#fff;border-color:var(--ink);background:var(--ink);}.vvl-project-detail .cs-back svg{width:15px;height:15px;}.vvl-project-detail .cs-title{display:flex;gap:8px;align-items:baseline;justify-self:center;color:var(--ink-2);font-size:13px;}.vvl-project-detail .cs-title b{color:var(--ink);font-weight:500;}.vvl-project-detail .cs-title em{color:var(--ink-3);font:italic 16px/1 "Instrument Serif", serif;}.vvl-project-detail .cs-index{justify-self:end;color:var(--ink-3);font:italic 22px/1 "Instrument Serif", serif;font-feature-settings:"tnum";}.vvl-project-detail .cs-index b{color:var(--ink);font-weight:400;}.vvl-project-detail .vvl-project-case{width:100%;font-family:"Onest", sans-serif;}.vvl-project-detail .cs-hero{position:relative;overflow:hidden;height:min(88vh, 900px);min-height:620px;background:#121212;}.vvl-project-detail .cs-hero > .cs-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015);animation:vvlProjectHero 1.2s var(--ease) both;}@keyframes vvlProjectHero{from{opacity:.8;transform:scale(1.05);}to{opacity:1;transform:scale(1.015);}}.vvl-project-detail .cs-hero::after{position:absolute;inset:0;background:linear-gradient(90deg, rgba(8, 8, 8, .68) 0%, rgba(8, 8, 8, .3) 48%, rgba(8, 8, 8, .06) 78%), linear-gradient(180deg, transparent 35%, rgba(8, 8, 8, .74) 100%);content:"";pointer-events:none;}.vvl-project-detail .cs-hero-text{position:absolute;right:clamp(24px, 4vw, 70px);bottom:clamp(42px, 6vw, 80px);left:clamp(24px, 4vw, 70px);z-index:2;display:flex;max-width:1180px;flex-direction:column;gap:18px;color:#fff;}.vvl-project-detail .cs-hero-text .industry-pill{align-self:flex-start;padding:10px 20px;border-radius:999px;color:#0d0d0d;background:var(--accent);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;}.vvl-project-detail .cs-hero-text h1{max-width:1100px;margin:0;font-size:clamp(54px, 7vw, 112px);font-weight:500;line-height:1;letter-spacing:-.035em;text-wrap:balance;}.vvl-project-detail .cs-hero-text .kicker{max-width:740px;margin:8px 0 0;color:rgba(255, 255, 255, .94);font:italic clamp(22px, 2vw, 28px)/1.3 "Instrument Serif", serif;text-wrap:balance;}.vvl-project-detail .cs-hero .vvl-seal{position:absolute;top:clamp(30px, 4vw, 56px);left:clamp(30px, 4vw, 56px);z-index:3;width:160px;height:160px;color:#fff;}.vvl-project-detail .vvl-seal__svg{width:100%;height:100%;overflow:visible;}.vvl-project-detail .vvl-seal__ring{fill:none;stroke:rgba(255, 255, 255, .82);stroke-width:.8;}.vvl-project-detail .vvl-seal__ring-inner{fill:none;stroke:rgba(255, 255, 255, .32);stroke-width:.6;}.vvl-project-detail .vvl-seal__spin{transform-origin:100px 100px;animation:vvlSealSpin 22s linear infinite;}.vvl-project-detail .vvl-seal__text{fill:#fff;font:600 11px/1 "Onest", sans-serif;letter-spacing:1.9px;}.vvl-project-detail .vvl-seal__mark{position:absolute;inset:50% auto auto 50%;display:grid;width:42%;height:42%;place-items:center;background:transparent;filter:drop-shadow(0 3px 10px rgba(249, 179, 22, .32));transform:translate(-50%, -50%);}.vvl-project-detail .vvl-seal__mark img{display:block;width:100%;height:100%;object-fit:contain;}@keyframes vvlSealSpin{to{transform:rotate(360deg);}}.vvl-project-detail .cs-meta{display:grid;grid-template-columns:minmax(250px, 1.7fr) minmax(72px, .38fr) minmax(110px, .62fr) minmax(180px, 1fr) max-content;grid-template-areas:"services year duration role actions";gap:0 clamp(28px, 2.6vw, 52px);align-items:start;padding:48px clamp(40px, 5vw, 100px);border-bottom:1px solid var(--line);background:#fafafa;font-family:"Onest", sans-serif;}.vvl-project-detail .cs-meta .col{display:flex;min-width:0;max-width:none;flex-direction:column;gap:7px;}.vvl-project-detail .cs-meta .is-services{grid-area:services;}.vvl-project-detail .cs-meta .is-year{grid-area:year;}.vvl-project-detail .cs-meta .is-duration{grid-area:duration;}.vvl-project-detail .cs-meta .is-role{grid-area:role;}.vvl-project-detail .cs-meta .col b{color:var(--ink-3);font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;}.vvl-project-detail .cs-meta .col span{color:var(--ink);font-size:15px;line-height:1.45;overflow-wrap:anywhere;text-wrap:pretty;}.vvl-project-detail .cs-actions{display:flex;grid-area:actions;align-self:center;justify-self:end;margin-left:0;}.vvl-project-detail .cs-live{position:relative;display:inline-flex;overflow:hidden;gap:13px;align-items:center;padding:14px 14px 14px 24px;border-radius:999px;color:#fff;background:var(--ink);box-shadow:0 18px 38px -20px rgba(0, 0, 0, .68);font-size:11px;font-weight:600;letter-spacing:.16em;text-decoration:none;text-transform:uppercase;transition:transform .4s var(--ease), box-shadow .4s var(--ease);}.vvl-project-detail .cs-live:hover{color:#fff;transform:translateY(-3px);box-shadow:0 26px 48px -22px rgba(0, 0, 0, .8);}.vvl-project-detail .cs-live .arrow{display:inline-grid;width:28px;height:28px;place-items:center;border-radius:50%;color:var(--ink);background:#fff;transition:transform .35s var(--ease), background .35s ease;}.vvl-project-detail .cs-live:hover .arrow{background:var(--accent);transform:translate(2px, -2px) rotate(-6deg);}.vvl-project-detail .cs-live svg{width:12px;height:12px;}.vvl-project-detail .cs-sec{position:relative;padding:clamp(96px, 10vw, 140px) clamp(40px, 10vw, 200px);border-bottom:1px solid var(--line);}.vvl-project-detail .cs-eyebrow{display:inline-flex;gap:14px;align-items:center;margin-bottom:58px;color:var(--ink-2);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;}.vvl-project-detail .cs-eyebrow .num{display:inline-grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:50%;color:var(--ink);background:var(--accent);box-shadow:0 0 0 4px rgba(249, 179, 22, .18);font-size:11px;letter-spacing:.04em;}.vvl-project-detail .cs-eyebrow .line{width:84px;height:1px;background:var(--line);}.vvl-project-detail .cs-intro-content.vvl-prose{max-width:1100px;padding:0;font-family:"Onest", sans-serif;font-size:18px;}.vvl-project-detail .cs-intro-content.vvl-prose > p{max-width:820px;margin:0 0 1.45em;font-size:18px;font-weight:400;line-height:1.68;letter-spacing:-.01em;}.vvl-project-detail .cs-intro-content.vvl-prose > p:first-child{max-width:820px;margin-bottom:2em;font-size:18px;line-height:1.68;letter-spacing:-.01em;}.vvl-project-detail .cs-intro-content.vvl-prose > h2{width:100%;max-width:none;margin:1.9em 0 .65em;font-family:"Onest", sans-serif;font-size:clamp(26px, 2.4vw, 34px);font-weight:500;line-height:1.16;letter-spacing:-.022em;text-wrap:wrap;}.vvl-project-detail .cs-intro-content.vvl-prose em{font-family:"Instrument Serif", serif;font-style:italic;font-weight:400;}.vvl-project-detail .cs-intro-content.vvl-prose > :last-child{margin-bottom:0;}.vvl-project-detail .cs-cso{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:32px;}.vvl-project-detail .cs-cso .card{display:flex;min-height:0;flex-direction:column;gap:15px;padding:36px 32px;border:1px solid var(--line);border-radius:18px;background:#fafafa;transition:transform .4s var(--ease), background .4s ease;}.vvl-project-detail .cs-cso .card:hover{background:#f5f5f2;transform:translateY(-5px);}.vvl-project-detail .cs-cso .ix{color:var(--ink-3);font:italic 34px/1 "Instrument Serif", serif;}.vvl-project-detail .cs-cso .card > b{margin-top:7px;color:var(--ink-2);font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;}.vvl-project-detail .cs-cso h2{margin:5px 0 0;font-size:28px;font-weight:500;line-height:1.1;letter-spacing:-.02em;text-wrap:balance;}.vvl-project-detail .cs-cso h2 em{color:var(--ink-2);}.vvl-project-detail .cs-cso p{margin:8px 0 0;color:var(--ink-2);font-size:15px;line-height:1.55;}.vvl-project-detail .cs-cso .stat{display:flex;gap:14px;align-items:baseline;margin-top:auto;padding-top:24px;border-top:1px dashed var(--line);}.vvl-project-detail .cs-cso .stat strong{flex:0 0 auto;color:var(--ink);font:italic 35px/1 "Instrument Serif", serif;}.vvl-project-detail .cs-cso .stat span{color:var(--ink-3);font-size:10px;line-height:1.45;letter-spacing:.16em;text-transform:uppercase;}.vvl-project-detail .cs-ai{position:relative;overflow:hidden;padding:clamp(100px, 10vw, 150px) clamp(34px, 10vw, 200px);color:#fafafa;background:#0d0d0d;}.vvl-project-detail .cs-ai::before{position:absolute;top:-55%;left:-15%;width:70%;height:210%;background:radial-gradient(ellipse at center, rgba(249, 179, 22, .13), transparent 62%);content:"";pointer-events:none;}.vvl-project-detail .cs-ai .cs-eyebrow{position:relative;z-index:1;margin-bottom:72px;color:rgba(255, 255, 255, .58);}.vvl-project-detail .cs-ai .cs-eyebrow .line{background:rgba(255, 255, 255, .18);}.vvl-project-detail .cs-ai h2{position:relative;z-index:1;max-width:1200px;margin:0 0 22px;font-size:clamp(36px, 3.2vw, 52px);font-weight:500;line-height:1.08;letter-spacing:-.022em;text-wrap:wrap;}.vvl-project-detail .cs-ai h2 em{display:inline-block;color:var(--accent);white-space:nowrap;}.vvl-project-detail .cs-ai .ai-intro{position:relative;z-index:1;max-width:640px;margin:0 0 64px;color:rgba(255, 255, 255, .64);font-size:17px;line-height:1.55;}.vvl-project-detail .cs-ai .ai-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:20px;}.vvl-project-detail .cs-ai .ai-card{display:flex;min-height:265px;flex-direction:column;gap:15px;padding:28px;border:1px solid rgba(255, 255, 255, .1);border-radius:17px;background:rgba(255, 255, 255, .04);transition:border-color .35s ease, background .35s ease, transform .35s var(--ease);}.vvl-project-detail .cs-ai .ai-card:hover{border-color:rgba(249, 179, 22, .48);background:rgba(255, 255, 255, .065);transform:translateY(-4px);}.vvl-project-detail .cs-ai .sparkle{width:25px;height:25px;color:var(--accent);filter:drop-shadow(0 0 8px rgba(249, 179, 22, .35));}.vvl-project-detail .cs-ai .sparkle svg{width:100%;height:100%;}.vvl-project-detail .cs-ai h3{margin:6px 0 0;color:#fff;font-size:18px;font-weight:500;line-height:1.24;}.vvl-project-detail .cs-ai .ai-card p{margin:0;color:rgba(255, 255, 255, .58);font-size:13.5px;line-height:1.58;}.vvl-project-detail .cs-showcase{overflow:hidden;padding:0;border-bottom:1px solid var(--line);background:var(--line);}.vvl-project-detail .cs-showcase > .full{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;background:var(--bg-2);}.vvl-project-detail .cs-showcase .spread{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:2px;margin-top:2px;}.vvl-project-detail .cs-showcase .spread img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;background:var(--bg-2);}.vvl-project-detail .cs-stats{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));border-bottom:1px solid var(--line);}.vvl-project-detail .cs-stats .scell{min-height:330px;padding:58px 44px;border-right:1px solid var(--line);}.vvl-project-detail .cs-stats .scell:last-child{border-right:0;}.vvl-project-detail .cs-stats b{display:block;margin-bottom:25px;color:var(--ink-3);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;}.vvl-project-detail .cs-stats .value{color:var(--ink);font-size:clamp(34px, 3vw, 50px);font-weight:500;line-height:1.04;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal;hyphens:none;white-space:nowrap;}.vvl-project-detail .cs-stats p{max-width:290px;margin:22px 0 0;color:var(--ink-2);font-size:14px;line-height:1.55;}.vvl-project-detail .cs-related{padding:clamp(90px, 9vw, 130px) clamp(34px, 10vw, 200px) clamp(110px, 11vw, 155px);}.vvl-project-detail .cs-related .grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 300px), 1fr));gap:38px;}.vvl-project-detail .cs-related .rcard{display:flex;min-width:0;flex-direction:column;color:var(--ink);text-decoration:none;transition:transform .45s var(--ease);}.vvl-project-detail .cs-related .rcard:hover{transform:translateY(-7px);}.vvl-project-detail .cs-related .thumb{position:relative;overflow:hidden;aspect-ratio:16 / 9;border-radius:16px;background:var(--bg-2);}.vvl-project-detail .cs-related .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}.vvl-project-detail .cs-related .rcard:hover .thumb img{transform:scale(1.045);}.vvl-project-detail .cs-related .open-cue{position:absolute;right:18px;bottom:18px;display:grid;width:44px;height:44px;place-items:center;border-radius:50%;color:var(--ink);background:#fff;box-shadow:0 10px 24px rgba(0, 0, 0, .14);transform:translateY(8px);opacity:0;transition:opacity .3s ease, transform .3s var(--ease);}.vvl-project-detail .cs-related .rcard:hover .open-cue{opacity:1;transform:none;}.vvl-project-detail .cs-related .open-cue svg{width:17px;height:17px;}.vvl-project-detail .cs-related .pill{align-self:flex-start;margin-top:20px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);font-size:9.5px;line-height:1.35;letter-spacing:.16em;text-transform:uppercase;}.vvl-project-detail .cs-related h2{margin:18px 0 0;font-size:26px;font-weight:500;line-height:1.1;letter-spacing:-.025em;}.vvl-project-detail .cs-related .rcard > p{margin:14px 0 0;color:var(--ink-2);font-size:15px;line-height:1.55;}.vvl-project-detail .cs-related .meta{display:flex;gap:20px;justify-content:space-between;margin-top:auto;padding-top:24px;border-top:1px solid var(--line);color:var(--ink-3);font-size:10px;line-height:1.5;letter-spacing:.15em;text-transform:uppercase;}.vvl-project-detail .cs-related .meta span{max-width:78%;}.vvl-project-detail .cs-related .meta em{font-size:15px;text-transform:none;white-space:nowrap;}.vvl-project-detail .cs-foot{display:flex;justify-content:space-between;padding:30px clamp(28px, 5vw, 96px);border-top:1px solid var(--line);color:var(--ink-3);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;}.vvl-project-detail .cs-foot a{color:var(--ink);text-decoration:none;}@media (max-width: 1280px){.vvl-project-detail .cs-sec, .vvl-project-detail .cs-ai, .vvl-project-detail .cs-related{padding-right:64px;padding-left:64px;}.vvl-project-detail .cs-cso{gap:22px;}.vvl-project-detail .cs-cso .card{padding:34px 30px;}.vvl-project-detail .cs-ai .ai-card{padding:23px;}.vvl-project-detail .cs-stats .scell{padding:46px 30px;}}@media (max-width: 980px){.vvl-project-detail .cs-hero{height:76vh;min-height:560px;}.vvl-project-detail .cs-meta{grid-template-columns:repeat(2, minmax(0, 1fr));grid-template-areas:"services role" "year duration" "actions actions";gap:30px 40px;}.vvl-project-detail .cs-actions{justify-self:start;}.vvl-project-detail .cs-cso{grid-template-columns:1fr;}.vvl-project-detail .cs-cso .card{min-height:0;}.vvl-project-detail .cs-ai .ai-grid, .vvl-project-detail .cs-stats{grid-template-columns:repeat(2, minmax(0, 1fr));}.vvl-project-detail .cs-stats .scell:nth-child(2){border-right:0;}.vvl-project-detail .cs-stats .scell:nth-child(-n/**/+2){border-bottom:1px solid var(--line);}.vvl-project-detail .cs-related .grid{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media (max-width: 760px){.vvl-project-detail .cs-top{grid-template-columns:auto minmax(0, 1fr) auto;gap:12px;min-height:70px;padding:10px 18px;}.vvl-project-detail .cs-back{letter-spacing:.12em;}.vvl-project-detail .cs-back > span:last-child{display:none;}.vvl-project-detail .cs-back .arr{width:44px;height:44px;}.vvl-project-detail .cs-title{min-width:0;justify-self:center;font-size:12px;}.vvl-project-detail .cs-title b{overflow:hidden;max-width:36vw;text-overflow:ellipsis;white-space:nowrap;}.vvl-project-detail .cs-title em{display:none;}.vvl-project-detail .cs-index{font-size:18px;}.vvl-project-detail .cs-hero{height:72vh;min-height:510px;}.vvl-project-detail .cs-hero::after{background:linear-gradient(180deg, rgba(8, 8, 8, .12) 15%, rgba(8, 8, 8, .84) 100%);}.vvl-project-detail .cs-hero .vvl-seal{top:22px;left:20px;width:104px;height:104px;}.vvl-project-detail .cs-hero-text{right:20px;bottom:28px;left:20px;gap:13px;}.vvl-project-detail .cs-hero-text h1{font-size:clamp(46px, 14vw, 76px);}.vvl-project-detail .cs-hero-text .kicker{font-size:18px;}.vvl-project-detail .cs-hero-text .industry-pill{padding:8px 13px;font-size:9px;}.vvl-project-detail .cs-meta{grid-template-columns:1fr;grid-template-areas:"services" "year" "duration" "role" "actions";gap:22px;padding:30px 22px;}.vvl-project-detail .cs-live{width:100%;justify-content:center;}.vvl-project-detail .cs-sec, .vvl-project-detail .cs-ai, .vvl-project-detail .cs-related{padding:72px 22px;}.vvl-project-detail .cs-eyebrow{margin-bottom:40px;font-size:10px;letter-spacing:.18em;}.vvl-project-detail .cs-eyebrow .num{width:34px;height:34px;flex-basis:34px;}.vvl-project-detail .cs-eyebrow .line{width:38px;}.vvl-project-detail .cs-intro-content.vvl-prose, .vvl-project-detail .cs-intro-content.vvl-prose > p{font-size:17px;line-height:1.65;}.vvl-project-detail .cs-intro-content.vvl-prose > p:first-child{font-size:17px;line-height:1.65;}.vvl-project-detail .cs-intro-content.vvl-prose > h2{font-size:clamp(25px, 7.4vw, 30px);line-height:1.16;}.vvl-project-detail .cs-cso .card{padding:30px 24px;}.vvl-project-detail .cs-ai h2{font-size:clamp(32px, 8vw, 42px);}.vvl-project-detail .cs-ai h2 em{max-width:100%;white-space:normal;}.vvl-project-detail .cs-ai .ai-intro{margin-bottom:42px;}.vvl-project-detail .cs-ai .ai-grid, .vvl-project-detail .cs-stats, .vvl-project-detail .cs-related .grid{grid-template-columns:1fr;}.vvl-project-detail .cs-ai .ai-card{min-height:0;}.vvl-project-detail .cs-showcase .spread{grid-template-columns:1fr;}.vvl-project-detail .cs-showcase .spread img{aspect-ratio:4 / 3;}.vvl-project-detail .cs-stats .scell{min-height:0;padding:42px 24px;border-right:0;border-bottom:1px solid var(--line);}.vvl-project-detail .cs-stats .value{overflow-wrap:anywhere;white-space:normal;}.vvl-project-detail .cs-stats .scell:last-child{border-bottom:0;}.vvl-project-detail .cs-related .grid{gap:48px;}.vvl-project-detail .cs-related .open-cue{opacity:1;transform:none;}.vvl-project-detail .cs-foot{gap:18px;align-items:flex-start;flex-direction:column;padding:25px 22px;}}@media (max-width: 980px) and (max-height: 600px) and (orientation: landscape){.vvl-project-detail .cs-top{min-height:62px;padding-top:8px;padding-bottom:8px;}.vvl-project-detail .cs-hero{height:calc(100svh - 62px);min-height:340px;}.vvl-project-detail .cs-hero .vvl-seal{top:18px;left:20px;width:88px;height:88px;}.vvl-project-detail .cs-hero-text{bottom:24px;gap:10px;}.vvl-project-detail .cs-hero-text h1{font-size:clamp(42px, 9vw, 68px);}.vvl-project-detail .cs-hero-text .kicker{max-width:620px;font-size:18px;}}@media (prefers-reduced-motion: reduce){.vvl-project-detail .cs-hero > .cs-hero-image, .vvl-project-detail .vvl-seal__spin{animation:none;}.vvl-project-detail .cs-rail{display:none;}}