:root{
  --ink:#0a0a0a;
  --paper:#f3f0e8;
  --paper-2:#e8e4da;
  --line:rgba(10,10,10,.17);
  --muted:#72706a;
  --signal:#ff4e22;
  --dark:#0b0c0e;
  --dark-2:#111318;
  --white:#fffef9;
  --radius:22px;
  --ease:cubic-bezier(.22,1,.36,1);
  --max:1440px;
  --pad:clamp(20px,3.2vw,54px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper);color:var(--ink)}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.45;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{display:block;width:100%;height:auto}
::selection{background:var(--signal);color:#fff}
.container{width:min(var(--max),100%);margin:0 auto;padding-inline:var(--pad)}
.mono{font-family:"Courier New",monospace;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.muted{color:var(--muted)}
.upper{text-transform:uppercase}
.rule{height:1px;background:var(--line);width:100%}
.noise{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:80;padding:18px 0;transition:.35s var(--ease)}
.site-header.scrolled{padding:10px 0}
.nav-shell{margin-inline:var(--pad);max-width:calc(var(--max) - var(--pad)*2);margin-left:auto;margin-right:auto;border:1px solid rgba(255,255,255,.18);background:rgba(10,10,10,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#fff;border-radius:999px;height:58px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 10px 0 18px;box-shadow:0 12px 45px rgba(0,0,0,.12)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.03em}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-main{font-size:14px}.brand-sub{margin-top:3px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.52);font-weight:700}
.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 4px rgba(255,78,34,.15)}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{font-size:12px;padding:10px 14px;border-radius:999px;color:rgba(255,255,255,.7);transition:.2s}
.nav-links a:hover,.nav-links a.active{background:rgba(255,255,255,.1);color:#fff}
.nav-right{display:flex;justify-content:flex-end;align-items:center;gap:8px}
.lang{border:0;background:transparent;color:rgba(255,255,255,.65);font-size:11px;cursor:pointer;padding:10px}
.hire-btn{background:#fff;color:#111;border-radius:999px;padding:11px 15px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:8px;transition:.25s var(--ease)}
.hire-btn:hover{transform:translateY(-2px);background:var(--signal);color:#fff}
.mobile-toggle{display:none;width:42px;height:42px;border:0;background:#fff;border-radius:50%;padding:0;position:relative;cursor:pointer}
.mobile-toggle span{position:absolute;width:16px;height:1.5px;background:#111;left:13px;transition:.25s}
.mobile-toggle span:first-child{top:17px}.mobile-toggle span:last-child{top:24px}
.mobile-panel{position:fixed;inset:0;z-index:70;background:var(--dark);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:110px var(--pad) 40px;transform:translateY(-110%);transition:.6s var(--ease)}
.mobile-panel.open{transform:translateY(0)}
.mobile-panel a{font-size:clamp(42px,12vw,76px);line-height:.95;letter-spacing:-.06em;border-top:1px solid rgba(255,255,255,.2);padding:15px 0}
.mobile-panel .small{font-size:11px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;margin-top:28px;color:rgba(255,255,255,.55);border:0}

/* reusable */
.section{padding:clamp(84px,10vw,160px) 0}
.section-head{display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:start;margin-bottom:56px}
.section-label{display:flex;align-items:center;gap:10px;font-family:"Courier New",monospace;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted)}
.section-label:before{content:"";width:28px;height:1px;background:currentColor}
.display{font-size:clamp(54px,8.2vw,130px);line-height:.82;letter-spacing:-.075em;font-weight:800;text-transform:uppercase;margin:0}
.display em{font-family:Georgia,"Times New Roman",serif;font-weight:400;text-transform:none;letter-spacing:-.06em}
.h2{font-size:clamp(42px,6vw,88px);line-height:.92;letter-spacing:-.065em;text-transform:uppercase;margin:0;font-weight:800}
.kicker{font-family:"Courier New",monospace;text-transform:uppercase;letter-spacing:.1em;font-size:11px}
.text-lg{font-size:clamp(21px,2.3vw,34px);line-height:1.1;letter-spacing:-.035em}
.reveal{opacity:0;transform:translateY(36px);transition:1s var(--ease)}
.reveal.in{opacity:1;transform:none}
[data-parallax]{will-change:transform}

/* Home hero */
.hero{min-height:100svh;background:var(--dark);color:#fff;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:130px 0 46px}
.hero-stage{position:absolute;inset:0;overflow:hidden;z-index:1}
.hero-stage:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:10;background:linear-gradient(180deg,rgba(9,10,12,.08) 0%,rgba(9,10,12,.08) 40%,rgba(9,10,12,.85) 100%),linear-gradient(90deg,rgba(9,10,12,.48),transparent 45%,rgba(9,10,12,.2))}
.hero-card{position:absolute;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 80px rgba(0,0,0,.35);filter:saturate(.98);transition:transform .3s ease-out}
.hero-card img{height:100%;object-fit:cover}
.hero-card.a{width:min(43vw,640px);aspect-ratio:16/9;left:42%;top:12%;transform:rotate(-2.5deg)}
.hero-card.b{width:min(24vw,330px);aspect-ratio:4/5;right:2.5%;top:39%;transform:rotate(4deg)}
.hero-card.c{width:min(25vw,360px);aspect-ratio:16/9;right:3.2%;top:4%;transform:rotate(4deg)}
.hero-card.d{width:min(21vw,300px);aspect-ratio:4/5;left:28%;top:23%;transform:rotate(-7deg);opacity:.9}
.hero-main{position:relative;z-index:3;width:100%;pointer-events:none}
.hero-topline{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:38px;color:rgba(255,255,255,.7)}
.availability{display:inline-flex;align-items:center;gap:8px}.availability i{width:7px;height:7px;background:#7dff7a;border-radius:50%;box-shadow:0 0 0 5px rgba(125,255,122,.12);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(125,255,122,0)}}
.hero-title{font-size:clamp(58px,9.6vw,156px);line-height:.76;letter-spacing:-.07em;text-transform:none;font-weight:800;margin:0;max-width:1080px}
.hero-title .serif{display:block;font-family:Georgia,"Times New Roman",serif;font-weight:400;text-transform:none;letter-spacing:-.07em;color:var(--signal);line-height:.72;margin:.02em 0 .03em}
.hero-bottom{margin-top:34px;display:grid;grid-template-columns:1fr 370px;gap:40px;align-items:end}
.hero-bottom .intro{font-size:clamp(18px,2vw,28px);line-height:1.08;letter-spacing:-.03em;max-width:740px;color:rgba(255,255,255,.9)}
.hero-bottom .intro strong{display:block;margin-bottom:12px;color:#fff;font-weight:800}
.hero-bottom .intro .intro-name{display:block;color:#fff;font-weight:700;margin-top:10px}
.hero-bottom .intro .intro-role{display:block;margin-top:4px;color:rgba(255,255,255,.66);font-style:italic}
.hero-scroll{display:flex;pointer-events:auto;cursor:pointer;align-items:center;justify-content:flex-end;gap:14px;color:rgba(255,255,255,.55);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.hero-scroll span{width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;font-size:18px}

/* ticker */
.ticker{position:relative;background:var(--signal);color:#fff;overflow:hidden;border-top:1px solid rgba(0,0,0,.18);border-bottom:1px solid rgba(0,0,0,.18)}
.ticker:before,.ticker:after{content:"";position:absolute;top:0;bottom:0;width:22px;z-index:2;pointer-events:none}
.ticker:before{left:0;background:linear-gradient(90deg,var(--signal) 0%,rgba(255,92,26,0) 100%)}
.ticker:after{right:0;background:linear-gradient(270deg,var(--signal) 0%,rgba(255,92,26,0) 100%)}
.ticker-track{display:inline-flex;align-items:center;min-width:max-content;will-change:transform;transform:translate3d(0,0,0);animation:ticker 28s linear infinite;padding:13px 24px 13px 26px;backface-visibility:hidden}
.ticker-track span{display:inline-flex;align-items:center;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:-.02em;white-space:nowrap}
.ticker-track span:after{content:"✦";font-weight:400;margin:0 30px;opacity:.95}
@keyframes ticker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* Selected reel */
.selected{background:var(--paper)}
.selected .section-head{margin-bottom:28px}
.reel{display:grid;grid-template-columns:1.4fr .75fr .75fr;gap:12px}
.work-card{position:relative;overflow:hidden;border-radius:var(--radius);background:#111;min-height:500px;isolation:isolate}
.work-card.tall{min-height:700px}
.work-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}
.work-card:hover img{transform:scale(1.045);filter:saturate(1.08)}
.work-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.72));z-index:1}
.work-meta{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;color:#fff;display:flex;justify-content:space-between;gap:18px;align-items:end}
.work-title{font-size:clamp(24px,2.6vw,42px);font-weight:700;line-height:.95;letter-spacing:-.045em;text-transform:uppercase}
.work-meta .mono{color:rgba(255,255,255,.68)}
.work-open{width:48px;height:48px;border-radius:50%;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;font-size:0;line-height:1;flex:0 0 48px;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:background .3s,color .3s,transform .3s,box-shadow .3s}.work-open span{display:block;font-size:18px;line-height:1;transform:translate(1px,-1px);transition:transform .3s}.work-card:hover .work-open{background:var(--signal);color:#fff;transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,0,0,.28)}.work-card:hover .work-open span{transform:translate(1px,-1px) rotate(0deg)}
.reel-side{display:grid;gap:12px}
.reel-side .work-card{min-height:344px}
.all-work{display:flex;justify-content:flex-end;margin-top:24px}.arrow-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:700;text-transform:uppercase}.arrow-link i{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-style:normal;transition:.3s}.arrow-link:hover i{background:var(--ink);color:#fff;transform:translateX(4px)}

/* services */
.services{background:var(--dark);color:#fff;padding-top:clamp(34px,5vw,68px)}
.services .section-label{color:rgba(255,255,255,.5)}
.service-list{border-top:0}
.service-row{position:relative;display:grid;grid-template-columns:70px 1fr 250px 56px;gap:24px;align-items:center;min-height:132px;border-bottom:1px solid rgba(255,255,255,.18);transition:.35s;cursor:pointer}
.service-row:hover{padding-left:14px;background:rgba(255,255,255,.025)}
.service-row .num{font-family:"Courier New",monospace;color:rgba(255,255,255,.4);font-size:11px}
.service-name{font-size:clamp(31px,4vw,63px);line-height:.9;letter-spacing:-.055em;text-transform:uppercase;font-weight:700}
.service-desc{font-size:13px;color:rgba(255,255,255,.55);max-width:220px}
.service-icon{width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center}
.service-preview{position:fixed;width:280px;aspect-ratio:16/10;pointer-events:none;z-index:85;border-radius:14px;overflow:hidden;opacity:0;transform:scale(.8) rotate(-4deg);transition:opacity .2s,transform .35s var(--ease);box-shadow:0 18px 70px rgba(0,0,0,.4)}
.service-preview.show{opacity:1;transform:scale(1) rotate(-2deg)}.service-preview img{width:100%;height:100%;object-fit:cover}

/* clients */
.collabs{background:#050608;overflow:hidden;padding-top:clamp(34px,5vw,72px);padding-bottom:clamp(18px,3vw,34px)}
.collabs .section-head{margin-bottom:28px}.collabs-head .section-label,.collabs-head .h2{color:#fff}.collabs-head .section-label:before{background:rgba(255,255,255,.25)}
.collab-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:26px}
.collab-card{min-height:280px;border:1px solid rgba(255,255,255,.06);border-radius:22px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:#111;color:#fff;isolation:isolate;transform:translateY(0) scale(1);transform-origin:center center;transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s var(--ease),background .4s var(--ease);cursor:pointer}
.collab-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,0),rgba(255,255,255,.14));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .55s var(--ease);pointer-events:none;z-index:1}
.collab-card:after{content:"";position:absolute;inset:-28% -18%;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.16),rgba(255,255,255,0) 38%);opacity:0;transition:opacity .45s var(--ease);pointer-events:none;z-index:1}
.collab-card:hover{transform:translateY(-10px) scale(1.012);box-shadow:0 30px 90px rgba(0,0,0,.34);border-color:rgba(255,255,255,.14);background:#14161c}
.collab-card:hover:before,.collab-card:hover:after{opacity:1}
.collab-card .collab-media,.collab-card .collab-overlay{position:absolute;inset:0}
.collab-card .collab-media img{width:100%;height:100%;object-fit:cover;transition:transform .95s var(--ease),filter .55s var(--ease)}
.collab-card .collab-overlay{background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.16) 36%,rgba(0,0,0,.82) 100%);transition:background .45s var(--ease),opacity .45s var(--ease)}
.collab-card:hover .collab-media img{transform:scale(1.065);filter:saturate(1.08) contrast(1.03)}
.collab-card:hover .collab-overlay{background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.14) 32%,rgba(0,0,0,.86) 100%)}
.collab-card:hover .name{transform:translateY(-2px)}
.collab-card:hover .role{opacity:1;letter-spacing:.1em}
.collab-card .index,.collab-card .collab-copy{position:relative;z-index:2}
.collab-card .index{font-family:"Courier New",monospace;font-size:10px;opacity:.78}
.collab-card .collab-copy{display:flex;flex-direction:column;gap:4px}
.collab-card .name,.collab-card .role{transition:transform .45s var(--ease),opacity .45s var(--ease),letter-spacing .45s var(--ease)}
.collab-card .name{font-size:clamp(30px,2.8vw,48px);line-height:.92;letter-spacing:-.055em;font-weight:700}
.collab-card .role{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.8}
.collab-card.featured{grid-column:span 2;grid-row:span 2;min-height:572px;background:var(--signal);border-color:transparent}
.collab-card.featured .collab-media img{object-fit:cover;object-position:center}
.collab-card.featured .collab-overlay{background:linear-gradient(180deg,rgba(255,92,26,.08),rgba(255,92,26,.18) 40%,rgba(0,0,0,.18) 100%)}
.collab-card.featured .name{font-size:clamp(44px,4vw,74px)}
.collab-card.featured.logo-mode{}
.collab-card .collab-media.logo-mode img,.collab-card.featured .collab-media.logo-mode img{object-fit:contain;padding:18% 14%;background:var(--signal)}
.collab-card.featured:hover{background:var(--signal);transform:translateY(-12px) scale(1.013)}

/* proof + about teaser */
.proof{background:var(--paper);padding:0 0 clamp(90px,12vw,190px)}
.proof-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}
.proof-copy{background:#fff;border-radius:var(--radius);padding:clamp(28px,4vw,64px);display:flex;flex-direction:column;justify-content:space-between;min-height:600px}
.proof-copy blockquote{font-size:clamp(36px,5.4vw,82px);line-height:.92;letter-spacing:-.065em;margin:0;text-transform:uppercase;font-weight:700}.proof-copy blockquote em{font-family:Georgia,serif;text-transform:none;font-weight:400;color:var(--signal)}
.proof-image{border-radius:var(--radius);overflow:hidden;min-height:600px;position:relative}.proof-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.proof-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.55))}
.proof-image .caption{position:absolute;z-index:2;left:24px;bottom:22px;color:#fff;display:flex;justify-content:space-between;right:24px}

/* stats */
.stats-strip{background:var(--dark);color:#fff;padding:0 var(--pad)}
.stats-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid rgba(255,255,255,.15)}
.stat{padding:42px 24px;border-right:1px solid rgba(255,255,255,.15)}
.stat strong{display:block;font-size:clamp(44px,5.8vw,90px);line-height:.9;letter-spacing:-.06em}.stat span{display:block;margin-top:14px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);max-width:160px}

/* CTA */
.big-cta{background:var(--signal);color:#fff;padding:clamp(80px,10vw,160px) 0 32px}
.big-cta a.cta-link{display:block;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);padding:22px 0 32px;position:relative}
.big-cta .cta-text{font-size:clamp(58px,10vw,165px);line-height:.78;letter-spacing:-.085em;text-transform:uppercase;font-weight:800;transition:.35s var(--ease)}
.big-cta .cta-link:hover .cta-text{transform:translateX(14px)}
.big-cta .cta-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:clamp(50px,7vw,100px);font-weight:300}
.cta-foot{display:flex;justify-content:space-between;gap:25px;padding-top:26px;font-family:"Courier New",monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em}

/* Footer */
.footer{background:var(--dark);color:#fff;padding:32px 0}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.footer-left{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.5)}.footer-links{display:flex;gap:20px;font-size:11px;text-transform:uppercase}.footer-links a{color:rgba(255,255,255,.65)}.footer-links a:hover{color:#fff}

/* Portfolio page */
.page-hero{padding:180px 0 70px;background:var(--paper);min-height:65svh;display:flex;align-items:flex-end}
.page-hero .display{max-width:1200px}.page-hero-bottom{display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:end;margin-top:52px}.page-hero-bottom p{margin:0;font-size:20px;letter-spacing:-.025em}
.portfolio-wrap{padding:0 0 120px}
.filter-bar{position:sticky;top:84px;z-index:20;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;padding:12px;border-radius:999px;width:max-content;max-width:100%;background:rgba(243,240,232,.8);backdrop-filter:blur(14px);border:1px solid var(--line)}
.filter-btn{border:0;background:transparent;border-radius:999px;padding:9px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:#111;color:#fff}
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;align-items:start}
.project-card{grid-column:span 6;position:relative;transition:.5s var(--ease)}
.project-card.wide{grid-column:span 8}.project-card.narrow{grid-column:span 4}.project-card.hidden{opacity:0;transform:scale(.96);display:none}
.project-media{border-radius:18px;overflow:hidden;background:#111;aspect-ratio:16/10;position:relative}.project-card.poster .project-media{aspect-ratio:4/5}.project-card.square .project-media{aspect-ratio:1/1}.project-media img{height:100%;object-fit:cover;transition:.8s var(--ease)}.project-card:hover img{transform:scale(1.04)}
.project-info{display:flex;justify-content:space-between;gap:18px;padding:14px 3px 34px}.project-info h3{margin:0;font-size:20px;letter-spacing:-.035em}.project-info p{margin:2px 0 0;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.project-index{font-family:"Courier New",monospace;font-size:10px;color:var(--muted)}
.project-card .view{position:absolute;right:16px;top:16px;width:48px;height:48px;background:#fff;border-radius:50%;display:grid;place-items:center;z-index:3;opacity:0;transform:scale(.8);transition:.3s}.project-card:hover .view{opacity:1;transform:none}

/* modal */
.project-modal{position:fixed;inset:0;z-index:120;background:rgba(6,6,6,.96);color:#fff;display:grid;grid-template-columns:1fr minmax(280px,390px);opacity:0;visibility:hidden;transition:.35s}
.project-modal.open{opacity:1;visibility:visible}.modal-media{min-width:0;display:grid;place-items:center;padding:50px}.modal-media img{max-width:100%;max-height:88svh;object-fit:contain}.modal-side{border-left:1px solid rgba(255,255,255,.15);padding:32px;display:flex;flex-direction:column;justify-content:space-between}.modal-close{align-self:flex-end;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;border-radius:50%;font-size:22px;cursor:pointer}.modal-side h2{font-size:42px;line-height:.92;letter-spacing:-.055em;margin:0 0 18px;text-transform:uppercase}.modal-side p{color:rgba(255,255,255,.55);font-size:13px}.modal-link{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}

/* About */
.about-hero{padding:165px 0 80px;background:var(--dark);color:#fff;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.about-layout{display:grid;grid-template-columns:1fr 440px;gap:clamp(35px,7vw,120px);align-items:end}.about-title{font-size:clamp(63px,10vw,155px);line-height:.78;letter-spacing:-.085em;text-transform:uppercase;font-weight:800;margin:0}.about-title em{font-family:Georgia,serif;text-transform:none;font-weight:400;color:var(--signal)}
.about-portrait{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;transform:rotate(2deg);box-shadow:0 30px 90px rgba(0,0,0,.4)}.about-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:auto}.about-portrait .tag{position:absolute;bottom:16px;left:16px;background:#fff;color:#111;padding:9px 12px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.about-intro{background:var(--paper);padding:120px 0}.about-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.about-intro .lead{font-size:clamp(34px,4.8vw,72px);line-height:.95;letter-spacing:-.055em;margin:0}.about-copy{font-size:18px;max-width:650px}.about-copy p:first-child{margin-top:0}
.capabilities{padding:100px 0;background:var(--paper-2)}.caps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:50px}.cap{min-height:280px;border-radius:18px;border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.25)}.cap h3{font-size:clamp(34px,4vw,58px);line-height:.9;letter-spacing:-.055em;margin:0;text-transform:uppercase}.cap p{max-width:390px;color:var(--muted);font-size:13px}.cap .num{font-family:"Courier New",monospace;font-size:10px;color:var(--muted)}
.process{background:var(--dark);color:#fff;padding:120px 0}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}.process-step{padding:24px;min-height:320px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;justify-content:space-between}.process-step .num{font-family:"Courier New",monospace;color:rgba(255,255,255,.4);font-size:10px}.process-step h3{font-size:35px;line-height:.95;letter-spacing:-.05em;text-transform:uppercase;margin:0}.process-step p{font-size:12px;color:rgba(255,255,255,.5)}

/* contact */
.contact-page{min-height:100svh;background:var(--signal);color:#fff;padding:160px 0 70px}.contact-top{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}.contact-title{font-size:clamp(66px,11vw,170px);line-height:.77;letter-spacing:-.085em;text-transform:uppercase;font-weight:800;margin:0}.contact-title em{font-family:Georgia,serif;text-transform:none;font-weight:400}.contact-aside{max-width:460px;font-size:20px;letter-spacing:-.025em;margin-left:auto}
.contact-grid{margin-top:70px;border-top:1px solid rgba(255,255,255,.35);padding-top:28px;display:grid;grid-template-columns:1fr 1.2fr;gap:60px}.contact-links{display:grid;gap:10px;align-content:start}.contact-link{border-bottom:1px solid rgba(255,255,255,.3);padding:15px 0;display:flex;justify-content:space-between;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.contact-link:hover{padding-left:8px}.contact-preferred{margin-bottom:16px;padding:24px;border:1px solid rgba(255,255,255,.34);border-radius:22px;background:rgba(0,0,0,.10);backdrop-filter:blur(8px)}.contact-preferred-kicker{display:block;font-family:"Courier New",monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.72;margin-bottom:9px}.contact-preferred strong{display:block;font-size:clamp(25px,3vw,38px);line-height:.95;letter-spacing:-.045em}.contact-preferred p{max-width:460px;margin:13px 0 0;font-size:14px;line-height:1.45;opacity:.78}.contact-link small{display:block;margin-top:4px;font-family:"Courier New",monospace;font-size:9px;font-weight:400;letter-spacing:.03em;text-transform:none;opacity:.66}.contact-link-primary{font-weight:800;font-size:15px}.contact-copy{width:100%;border-top:0;border-left:0;border-right:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font-family:inherit}
.contact-form{display:grid;gap:16px}.field{display:grid;gap:8px}.field label{font-family:"Courier New",monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.field input,.field textarea,.field select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.5);color:#fff;padding:12px 0 14px;outline:none;border-radius:0}.field textarea{min-height:110px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.55)}.field select option{color:#111}.submit{margin-top:12px;border:0;background:#111;color:#fff;border-radius:999px;padding:17px 22px;cursor:pointer;font-weight:700;display:flex;justify-content:space-between;align-items:center}.form-note{font-size:10px;text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-top:8px}
.form-status{font-size:12px;margin-top:6px;min-height:18px}

/* cursor */
.cursor{position:fixed;width:12px;height:12px;border-radius:50%;background:#fff;mix-blend-mode:difference;z-index:300;pointer-events:none;transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s}.cursor.big{width:54px;height:54px}.cursor.hidden{opacity:0}

@media(max-width:1050px){
  .nav-shell{grid-template-columns:1fr auto}.nav-links{display:none}.nav-right .lang,.nav-right .hire-btn{display:none}.mobile-toggle{display:block}
  .hero-card.a{width:62vw;left:34%}.hero-card.b{width:30vw}.hero-card.c{display:none}.hero-card.d{width:30vw;left:6%;top:16%}.hero-bottom{grid-template-columns:1fr}.hero-scroll{justify-content:flex-start}
  .section-head{grid-template-columns:1fr;gap:18px}.reel{grid-template-columns:1fr 1fr}.work-card.tall{grid-column:span 2;min-height:620px}.reel-side{display:contents}.reel-side .work-card{min-height:420px}
  .service-row{grid-template-columns:55px 1fr 48px}.service-desc{display:none}
  .collab-grid{grid-template-columns:repeat(2,1fr)}
  .collab-card.featured{grid-column:span 2;grid-row:auto;min-height:400px}
  .proof-grid{grid-template-columns:1fr}.proof-copy,.proof-image{min-height:500px}
  .about-layout{grid-template-columns:1fr 330px}.about-intro-grid{grid-template-columns:1fr;gap:45px}.process-grid{grid-template-columns:repeat(2,1fr)}
  .page-hero-bottom{grid-template-columns:1fr 320px}.project-card.wide,.project-card{grid-column:span 8}.project-card.narrow{grid-column:span 4}
  .contact-top{grid-template-columns:1fr}.contact-aside{margin:0}.contact-grid{grid-template-columns:1fr;gap:45px}
}
@media(max-width:720px){
  :root{--radius:16px}
  .site-header{padding-top:10px}.nav-shell{margin-inline:12px;height:54px}.brand-main{font-size:12px}.brand-sub{font-size:8px}
  .hero{padding:112px 0 30px;min-height:92svh}.hero-stage{opacity:.78}.hero-card.a{width:84vw;left:18%;top:14%}.hero-card.b{width:45vw;right:-10%;top:46%}.hero-card.d{width:42vw;left:-12%;top:28%}.hero-topline{align-items:flex-start}.hero-topline>span:last-child{display:none}.hero-title{font-size:clamp(58px,20vw,102px)}.hero-bottom .intro{font-size:18px}.hero-scroll{display:none}
  .section{padding:82px 0}.section-head{margin-bottom:35px}.display{font-size:clamp(54px,18vw,100px)}.h2{font-size:clamp(44px,13vw,72px)}
  .reel{display:block}.work-card,.work-card.tall,.reel-side .work-card{min-height:0;aspect-ratio:4/5;margin-bottom:10px}.work-card:first-child{aspect-ratio:4/5}.work-meta{left:16px;right:16px;bottom:16px}.work-open{width:42px;height:42px;flex:0 0 42px}.work-open span{font-size:16px}
  .service-row{grid-template-columns:38px 1fr 42px;gap:10px;min-height:105px}.service-name{font-size:30px}.service-preview{display:none}
  .collab-grid{grid-template-columns:1fr 1fr}.collab-card{min-height:230px}.collab-card.featured{grid-column:span 2;grid-row:auto;min-height:340px}.collab-card .name{font-size:29px}
  .proof-copy,.proof-image{min-height:430px}.proof-copy blockquote{font-size:43px}.proof-image{aspect-ratio:4/5}
  .stats-inner{grid-template-columns:1fr 1fr}.stat{padding:30px 18px;border-bottom:1px solid rgba(255,255,255,.15)}
  .big-cta .cta-text{font-size:clamp(54px,18vw,100px)}.cta-foot{flex-direction:column}
  .footer-grid{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}
  .page-hero{padding-top:140px;min-height:55svh}.page-hero-bottom{grid-template-columns:1fr;gap:22px}.filter-bar{top:73px;width:100%;overflow:auto;flex-wrap:nowrap;border-radius:14px}.filter-btn{white-space:nowrap}
  .project-grid{display:block}.project-card,.project-card.wide,.project-card.narrow{margin-bottom:8px}.project-media,.project-card.poster .project-media,.project-card.square .project-media{aspect-ratio:4/5}.project-info{padding-bottom:28px}.project-modal{grid-template-columns:1fr}.modal-media{padding:80px 18px 180px}.modal-side{position:absolute;left:0;right:0;bottom:0;background:rgba(10,10,10,.92);backdrop-filter:blur(14px);padding:18px;border-left:0;border-top:1px solid rgba(255,255,255,.12)}.modal-side h2{font-size:27px}.modal-side p{display:none}.modal-close{position:fixed;top:18px;right:18px;background:#111}
  .about-hero{padding-top:135px}.about-layout{grid-template-columns:1fr}.about-portrait{width:72%;margin-left:auto}.about-title{font-size:clamp(61px,18vw,105px)}.about-intro{padding:85px 0}.about-copy{font-size:16px}.caps-grid{grid-template-columns:1fr}.cap{min-height:235px}.process-grid{grid-template-columns:1fr 1fr}.process-step{min-height:245px;padding:18px}.process-step h3{font-size:26px}
  .contact-page{padding-top:135px}.contact-title{font-size:clamp(62px,20vw,105px)}.contact-grid{margin-top:45px}.contact-aside{font-size:17px}
  .cursor{display:none}
}
@media(max-width:470px){.collab-grid{grid-template-columns:1fr}.collab-card{min-height:220px}.collab-card.featured{grid-column:auto;grid-row:auto;min-height:290px}.process-grid{grid-template-columns:1fr}.stats-inner{grid-template-columns:1fr}.stat{border-left:0}.about-portrait{width:86%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ===== Interactions + extended creative offer ===== */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:500;pointer-events:none;background:transparent}.scroll-progress span{display:block;width:100%;height:100%;background:var(--signal);transform:scaleX(0);transform-origin:left center;will-change:transform}
.mouse-reactive{position:relative;isolation:isolate}.mouse-reactive>.container,.mouse-reactive>.photo-rail,.mouse-reactive>.hero-main{position:relative;z-index:2}.mouse-glow{position:absolute;left:0;top:0;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:1;opacity:.14;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(255,255,255,.18) 28%,transparent 68%);transform:translate3d(calc(var(--spot-x,50vw) - 260px),calc(var(--spot-y,50vh) - 260px),0);transition:opacity .25s}.mouse-glow.subtle{opacity:.05;background:radial-gradient(circle,var(--signal) 0%,rgba(255,78,34,.12) 32%,transparent 70%)}
.hero .mouse-glow{mix-blend-mode:screen;opacity:.1}.big-cta .mouse-glow{opacity:.11}.services .mouse-glow,.process .mouse-glow,.photo-story .mouse-glow{opacity:.07}

/* Hero pointer depth - keeps the authored rotations */
.hero-card{--px:0px;--py:0px;--rot:0deg;--hero-scale:1;z-index:1;transform:translate3d(var(--px),var(--py),0) rotate(var(--rot)) scale(var(--hero-scale));transform-origin:center center;will-change:transform;transition:transform .58s var(--ease),box-shadow .58s var(--ease),filter .58s var(--ease),opacity .58s var(--ease);cursor:pointer}
.hero-card.a{--rot:-2.5deg}.hero-card.b{--rot:4deg}.hero-card.c{--rot:5deg}.hero-card.d{--rot:-7deg}
.hero-card.a{z-index:3}.hero-card.b{z-index:2}.hero-card.c{z-index:4}.hero-card.d{z-index:1}
.hero-card:hover,.hero-card.is-hovered{--hero-scale:1.075;z-index:30!important;filter:saturate(1.1) brightness(1.05);box-shadow:0 46px 120px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.24)}
.hero-card:hover img,.hero-card.is-hovered img{transform:scale(1.02);transition:transform .7s var(--ease)}
.hero-card img{transition:transform .7s var(--ease)}
.hero-stage:hover .hero-card:not(.is-hovered):not(:hover){filter:saturate(.95) brightness(.98)}

/* Interactive tilt */
.tilt-card{--tilt-x:0deg;--tilt-y:0deg;--lift:0px;transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--lift));transform-style:preserve-3d;transition:transform .22s ease-out,background .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease);will-change:transform}
.tilt-card:hover{--lift:-4px;box-shadow:0 24px 65px rgba(0,0,0,.12)}
.work-card.tilt-card:hover{--lift:-3px}.collab-card.tilt-card:hover{--lift:-7px}.proof-image.tilt-card:hover{--lift:-5px}
.tilt-card .work-meta,.tilt-card .beyond-copy,.tilt-card .project-info{transform:translateZ(22px)}

/* Parallax crops */
img[data-parallax-img]{--img-y:0px;will-change:transform}.work-card img[data-parallax-img],.beyond-media img[data-parallax-img],.proof-image img[data-parallax-img]{transform:translate3d(0,var(--img-y),0) scale(1.09);transition:transform .35s ease-out,filter .5s}.work-card:hover img[data-parallax-img],.beyond-card:hover img[data-parallax-img]{transform:translate3d(0,var(--img-y),0) scale(1.14)}

/* Beyond the four core categories */
.beyond-section{position:relative;background:var(--paper);padding:clamp(95px,12vw,180px) 0;overflow:hidden}
.beyond-giant{position:absolute;top:3%;left:-2vw;font-weight:900;font-size:clamp(120px,23vw,380px);line-height:.75;letter-spacing:-.09em;color:rgba(10,10,10,.035);white-space:nowrap;pointer-events:none;transform:translate3d(var(--giant-x,0),0,0);will-change:transform}
.beyond-intro{display:grid;grid-template-columns:220px 1fr;gap:30px;position:relative;z-index:2;margin-bottom:60px}.beyond-intro .display{grid-column:2}.beyond-intro>p{grid-column:2;max-width:680px;font-size:20px;letter-spacing:-.025em;margin:0;color:var(--muted)}
.beyond-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;position:relative;z-index:2}.beyond-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:620px;display:grid;grid-template-rows:1fr auto}.beyond-card.photo-feature{grid-column:span 2;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr;min-height:650px;background:var(--dark);color:#fff;border-color:transparent}.beyond-media{position:relative;overflow:hidden;min-height:360px;background:#111}.beyond-media img,.beyond-media video{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover}.hover-video-card .beyond-media{isolation:isolate}.hover-video-poster{z-index:1}.hover-video{z-index:2;opacity:0;transition:opacity .35s ease,transform .45s ease;pointer-events:none}.hover-video-card:hover .hover-video,.hover-video-card.is-playing .hover-video{opacity:1}.hover-video-card:hover .hover-video-poster,.hover-video-card.is-playing .hover-video-poster{filter:brightness(.74)}.hover-video-card .beyond-media::before{content:"SURVOLER POUR LANCER";position:absolute;left:18px;bottom:18px;z-index:3;padding:8px 12px;border-radius:999px;background:rgba(10,10,10,.78);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.hover-video-card:hover .beyond-media::before{content:"LECTURE"}.beyond-card.photo-feature .beyond-media{min-height:100%}.beyond-copy{padding:28px;display:flex;flex-direction:column;justify-content:flex-end}.beyond-copy h3{font-size:clamp(42px,5.5vw,86px);line-height:.84;letter-spacing:-.07em;text-transform:uppercase;margin:18px 0 14px}.beyond-copy p{max-width:520px;margin:0;color:var(--muted);font-size:14px}.beyond-card.photo-feature .beyond-copy p{color:rgba(255,255,255,.58)}.beyond-card.photo-feature .mono{color:rgba(255,255,255,.48)}.web-loop-media{padding:0;display:flex;align-items:stretch;justify-content:stretch;background:linear-gradient(180deg,#f8f8fa 0%,#eef1f4 100%)}.web-loop-frame{position:relative;width:100%;height:100%;min-height:390px;overflow:hidden;border-radius:0;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.96),rgba(246,247,250,.96) 36%,rgba(236,239,243,.98) 100%);border:0;box-shadow:none}.web-loop-frame::before{content:"SURVOLER POUR EXPLORER";position:absolute;left:18px;bottom:18px;z-index:8;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.74);border:1px solid rgba(15,23,42,.08);color:#111827;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;backdrop-filter:blur(14px);box-shadow:0 12px 28px rgba(17,24,39,.10)}.web-loop-card:hover .web-loop-frame::before,.web-loop-card.is-playing .web-loop-frame::before{content:"EXPLORATION EN COURS"}.web-loop-frame::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.95),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.15),transparent 20%,transparent 84%,rgba(255,255,255,.22))}.web-loop-poster,.web-loop-stage,.web-loop-screen{position:absolute;inset:0}.web-loop-poster{opacity:1;transition:opacity .65s ease,transform 1.1s cubic-bezier(.22,.61,.36,1),filter .65s ease;z-index:4}.web-loop-card.is-playing .web-loop-poster,.web-loop-card:hover .web-loop-poster{opacity:0;transform:scale(1.025);filter:blur(6px)}.web-loop-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.web-loop-stage{opacity:0;transition:opacity .6s ease;z-index:3;background:linear-gradient(180deg,#fafbfc 0%,#eef2f5 100%)}.web-loop-card.is-playing .web-loop-stage,.web-loop-card:hover .web-loop-stage{opacity:1}.web-loop-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 16%,transparent 78%,rgba(255,255,255,.14)),radial-gradient(circle at 82% 12%,rgba(255,255,255,.65),transparent 22%);pointer-events:none;z-index:5}.web-loop-screen{opacity:0;transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1),filter .75s ease;transform:translateY(12px) scale(1.03);filter:blur(6px)}.web-loop-screen.active{opacity:1;z-index:4;transform:translateY(0) scale(1);filter:blur(0)}.web-loop-screen::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.14),transparent 9%,transparent 82%,rgba(17,24,39,.08));pointer-events:none;z-index:4}.web-loop-screen img{position:absolute;left:50%;top:0;width:112%;min-width:112%;height:auto;min-height:100%;transform:translateX(-50%) translateY(0) scale(1.08);transform-origin:top center;will-change:transform;filter:saturate(1.03) contrast(1.01)}.web-loop-card .beyond-copy p{max-width:460px}
.da-crop img{inset:-14%;width:128%;height:128%;object-position:center center}
.photo-card{background:#fff;color:var(--text);border:1px solid var(--line)}
.photo-card .beyond-copy p{color:var(--muted)}
.photo-card .mono{color:rgba(10,10,10,.45)}
.photo-card .beyond-media{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 18%,rgba(106,133,255,.28),rgba(10,10,18,.96) 68%)}
.photo-card .beyond-media img{inset:-3%;width:106%;height:106%;padding:0;object-fit:cover;object-position:center center}
.photo-carousel{position:relative;isolation:isolate}
.photo-carousel-track,.photo-slide{position:absolute;inset:0}
.photo-slide{opacity:0;visibility:hidden;transition:opacity .42s ease,visibility .42s ease}
.photo-slide.active{opacity:1;visibility:visible}
.photo-slide img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;object-position:center center}
.photo-slide img.photo-pos-up{object-position:center 24%}
.photo-slide img.photo-pos-down{object-position:center 68%}
.photo-carousel-ui{position:absolute;left:16px;right:16px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;opacity:0;transition:opacity .25s ease;z-index:7}
.photo-card:hover .photo-carousel-ui,.photo-card:focus-within .photo-carousel-ui{opacity:1}
.photo-carousel-btn,.photo-carousel-count{pointer-events:auto}
.photo-carousel-btn{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(10,10,10,.42);backdrop-filter:blur(10px);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:26px;line-height:1;padding:0;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,opacity .2s ease}
.photo-carousel-btn:hover{transform:scale(1.06);background:rgba(10,10,10,.62);border-color:rgba(255,255,255,.28)}
.photo-carousel-btn:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}
.photo-carousel-count{align-self:flex-end;margin-bottom:16px;padding:8px 12px;border-radius:999px;background:rgba(10,10,10,.52);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);font-family:"Courier New",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.tilt-media-card .beyond-media{position:relative;overflow:hidden;perspective:1400px;transform-style:preserve-3d}
.tilt-media-card .beyond-media img[data-parallax-img]{backface-visibility:hidden;will-change:transform;transform-origin:center center;transition:transform .18s ease-out,filter .45s ease,box-shadow .35s var(--ease);transform:translate3d(0,var(--img-y),0) scale(var(--tilt-scale,1.1)) rotateX(var(--tilt-rx,0deg)) rotateY(var(--tilt-ry,0deg))}
.tilt-media-card:hover .beyond-media img[data-parallax-img]{transform:translate3d(0,var(--img-y),0) scale(var(--tilt-scale-hover,1.15)) rotateX(var(--tilt-rx,0deg)) rotateY(var(--tilt-ry,0deg))}
.tilt-media-card:hover .beyond-media{box-shadow:0 28px 68px rgba(0,0,0,.16)}
.web-card{--tilt-scale:1.12;--tilt-scale-hover:1.16}
.da-card{--tilt-scale:1.12;--tilt-scale-hover:1.16}
.photo-card{--tilt-scale:1.04;--tilt-scale-hover:1.08}


/* Photography story */
.photo-story{background:var(--dark);color:#fff;padding:clamp(100px,11vw,165px) 0;overflow:hidden}.photo-story-head{margin-bottom:52px}.photo-story .section-label{color:rgba(255,255,255,.5)}.photo-head-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:end;margin-top:22px}.photo-head-grid p{font-size:18px;color:rgba(255,255,255,.58);max-width:520px;margin:0}.photo-rail{display:flex;gap:14px;width:max-content;padding:0 4vw 0 8vw;transform:translate3d(var(--rail-x,0px),0,0);will-change:transform}.photo-panel{position:relative;width:clamp(260px,29vw,470px);height:clamp(390px,52vw,720px);margin:0;border-radius:20px;overflow:hidden;background:#111;flex:0 0 auto;transform:translate3d(0,var(--photo-y,0px),0) rotate(var(--photo-r,0deg));will-change:transform}.photo-panel:nth-child(2){--photo-r:1.2deg;margin-top:70px}.photo-panel:nth-child(3){--photo-r:-1.5deg;margin-top:18px}.photo-panel:nth-child(4){--photo-r:1deg;margin-top:100px}.photo-panel img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;transition:transform .7s var(--ease),filter .45s}.photo-panel:hover img{transform:scale(1.045);filter:saturate(1.08)}.photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.68))}.photo-panel figcaption{position:absolute;left:18px;bottom:16px;z-index:2;font-family:"Courier New",monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.photo-foot{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:54px}.photo-foot .mono{color:rgba(255,255,255,.45)}.arrow-link.light{color:#fff}.arrow-link.light i{border-color:rgba(255,255,255,.28)}.arrow-link.light:hover i{background:#fff;color:#111}.about-photo{padding-top:110px}

/* Better cursor feedback */
.cursor{display:flex;align-items:center;justify-content:center}.cursor span{font-family:"Courier New",monospace;font-size:8px;font-weight:700;letter-spacing:.08em;color:#fff;opacity:0;transition:opacity .15s;white-space:nowrap}.cursor.label{width:72px;height:72px;background:var(--signal);mix-blend-mode:normal}.cursor.label span{opacity:1}.cursor.label.big{width:72px;height:72px}

/* More life in cards and links */
.project-card .project-media:after,.work-card:before,.beyond-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.12) 46%,transparent 72%);transform:translateX(-120%);transition:transform .9s var(--ease);z-index:2}.project-card:hover .project-media:after,.work-card:hover:before,.beyond-card:hover .beyond-media:after{transform:translateX(120%)}
.magnetic{will-change:transform}

@media(max-width:1050px){
  .beyond-intro{grid-template-columns:1fr;gap:20px}.beyond-intro .display,.beyond-intro>p{grid-column:1}.beyond-card{min-height:540px}.beyond-card.photo-feature{grid-template-columns:1fr 1fr;min-height:560px}.photo-head-grid{grid-template-columns:1fr;gap:28px}.photo-head-grid p{max-width:700px}.photo-panel{width:40vw}
}
@media(max-width:720px){
  .mouse-glow{display:none}.beyond-section{padding:85px 0}.beyond-giant{top:2%;font-size:42vw}.beyond-grid{grid-template-columns:1fr}.beyond-card,.beyond-card.photo-feature{grid-column:auto;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0}.beyond-media,.beyond-card.photo-feature .beyond-media{min-height:0;aspect-ratio:4/5}.hover-video-card .beyond-media::before,.web-loop-frame::before{display:none}.hover-video{display:none}.web-loop-media{padding:0}.web-loop-frame{min-height:320px}.photo-carousel-ui{opacity:1;left:12px;right:12px}.photo-carousel-btn{width:38px;height:38px;font-size:24px}.photo-carousel-count{margin-bottom:10px;font-size:9px}.beyond-copy{padding:22px}.beyond-copy h3{font-size:48px}.photo-story{padding:86px 0}.photo-rail{width:100%;overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important;padding:0 20px 18px;gap:10px}.photo-panel,.photo-panel:nth-child(n){width:78vw;height:112vw;max-height:620px;margin-top:0;scroll-snap-align:center;transform:none!important}.photo-foot{align-items:flex-start;flex-direction:column;margin-top:34px}.scroll-progress{height:2px}
}
@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.hero-card,.tilt-card,.photo-rail,.photo-panel,.beyond-giant{transform:none!important}.mouse-glow{display:none}}

@media(max-width:1050px){.hero-title .serif{margin:.01em 0 .02em}}
@media(max-width:720px){.hero-title .serif{line-height:.82}.hero-card.c{right:-8%;top:8%}.hero-card.d{left:18%;top:27%}}

@media(hover:none),(pointer:coarse){.hero-card:hover,.hero-card.is-hovered{--hero-scale:1;filter:saturate(.98);box-shadow:0 30px 80px rgba(0,0,0,.35)}.hero-card:hover img,.hero-card.is-hovered img{transform:none}}


/* Selected work image framing */
.work-card img.shift-left-lol{object-position:64% center;}
.work-card img.shift-left-twitch{object-position:66% center;}

.collab-card .collab-media.logo-mode img{object-fit:contain;padding:18% 14%;background:var(--signal)}

.collab-card .collab-media img.collab-selly{object-position:center 34%;}

@media(hover:none),(pointer:coarse){.collab-card:hover{transform:none;box-shadow:none;background:#111}.collab-card:hover:before,.collab-card:hover:after{opacity:0}.collab-card:hover .collab-media img{transform:none;filter:none}.collab-card.featured:hover{transform:none}}

.collabs{position:relative}.collabs:after{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;background:linear-gradient(180deg,rgba(5,6,8,0),#0b0c0e 92%);pointer-events:none}

.collab-card:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(255,255,255,.28),0 22px 60px rgba(0,0,0,.34);border-color:rgba(255,255,255,.18)}

.collab-card.featured.no-accent{background:#111;border-color:rgba(255,255,255,.06)}
.collab-card.featured.no-accent .collab-overlay{background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.16) 36%,rgba(0,0,0,.82) 100%)}
.collab-card.featured.no-accent:hover{background:#14161c}
.collab-card.featured.no-accent .collab-media img{object-fit:cover;object-position:center}

.collabs-head{margin-bottom:46px!important}

.collab-card{ text-decoration:none; }
.collab-card .collab-hover-note{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;pointer-events:none;opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease),transform .45s var(--ease);}
.collab-card .collab-hover-note p{margin:0;max-width:38ch;font-size:13px;line-height:1.5;color:rgba(255,255,255,.92);background:rgba(10,12,18,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 14px;box-shadow:0 12px 34px rgba(0,0,0,.24)}
.collab-card:hover .collab-hover-note,.collab-card:focus-visible .collab-hover-note{opacity:1;transform:translateY(0)}
.collab-card:hover .collab-copy,.collab-card:focus-visible .collab-copy{transform:translateY(-54px);transition:transform .45s var(--ease)}
.collab-card .collab-copy{transition:transform .45s var(--ease);}
.collab-card.featured .collab-hover-note p{max-width:40ch}
@media(max-width:820px){.collabs-head{margin-bottom:28px!important}.collab-card:hover .collab-copy,.collab-card:focus-visible .collab-copy{transform:translateY(-42px)}.collab-card .collab-hover-note p{font-size:12px;padding:10px 12px}}
@media(hover:none),(pointer:coarse){.collab-card .collab-hover-note{display:none}.collab-card:hover .collab-copy,.collab-card:focus-visible .collab-copy{transform:none}}

article.collab-card{cursor:default}


/* Flip animation on collaboration cards for readable text */
.collab-card{perspective:1400px;transform-style:preserve-3d}
.collab-card .collab-media,
.collab-card .collab-overlay,
.collab-card .index,
.collab-card .collab-copy,
.collab-card .collab-hover-note{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d}
.collab-card .collab-media,
.collab-card .collab-overlay,
.collab-card .index,
.collab-card .collab-copy{transition:transform .72s cubic-bezier(.22,.61,.36,1),opacity .52s ease}
.collab-card .collab-hover-note{position:absolute;inset:0;left:0;right:0;bottom:auto;padding:22px;display:flex;align-items:flex-end;opacity:0;transform:rotateY(-180deg);transition:transform .72s cubic-bezier(.22,.61,.36,1),opacity .52s ease;z-index:4}
.collab-card .collab-hover-note:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,14,.92),rgba(11,14,20,.96));border-radius:inherit}
.collab-card .collab-hover-note p{position:relative;z-index:1;margin:0;max-width:none;font-size:14px;line-height:1.6;color:rgba(255,255,255,.95);background:transparent;border:0;box-shadow:none;padding:0}
.collab-card.featured .collab-hover-note p{font-size:15px;line-height:1.65;max-width:46ch}
.collab-card:hover .collab-media,
.collab-card:hover .collab-overlay,
.collab-card:hover .index,
.collab-card:hover .collab-copy,
.collab-card:focus-visible .collab-media,
.collab-card:focus-visible .collab-overlay,
.collab-card:focus-visible .index,
.collab-card:focus-visible .collab-copy{transform:rotateY(180deg);opacity:0}
.collab-card:hover .collab-hover-note,
.collab-card:focus-visible .collab-hover-note{opacity:1;transform:rotateY(0deg)}
.collab-card:hover .collab-copy,
.collab-card:focus-visible .collab-copy{transform:rotateY(180deg)}
.collab-card:hover .collab-media img,
.collab-card:focus-visible .collab-media img{transform:scale(1.02);filter:none}
@media(max-width:820px){.collab-card .collab-hover-note{padding:18px}.collab-card .collab-hover-note p{font-size:13px;line-height:1.55}.collab-card.featured .collab-hover-note p{font-size:14px}}
@media(hover:none),(pointer:coarse){.collab-card .collab-hover-note{display:none}.collab-card:hover .collab-media,.collab-card:hover .collab-overlay,.collab-card:hover .index,.collab-card:hover .collab-copy,.collab-card:focus-visible .collab-media,.collab-card:focus-visible .collab-overlay,.collab-card:focus-visible .index,.collab-card:focus-visible .collab-copy{transform:none;opacity:1}}


/* Cleaner back face with styled content */
.collab-card:after{display:none!important}
.collab-card .collab-hover-note{padding:18px 18px 16px;align-items:stretch;justify-content:flex-start}
.collab-card .collab-hover-note:before{background:#0c1016;border-radius:inherit}
.collab-card .hover-panel{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;height:100%}
.collab-card .hover-kicker{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);font-weight:700}
.collab-card .collab-hover-note h4{margin:0;font-size:clamp(20px,2.2vw,30px);line-height:.95;letter-spacing:-.05em;color:#fff}
.collab-card .collab-hover-note p{margin:0;font-size:13px;line-height:1.58;color:rgba(255,255,255,.84)}
.collab-card .collab-hover-note .hl{color:#fff;font-weight:700}
.collab-card .hover-tags{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}
.collab-card .hover-tags span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.collab-card.featured .collab-hover-note{padding:28px}
.collab-card.featured .collab-hover-note h4{font-size:clamp(28px,3vw,44px)}
.collab-card.featured .collab-hover-note p{font-size:15px;line-height:1.62;max-width:52ch}
@media(max-width:820px){.collab-card .collab-hover-note{padding:16px}.collab-card .hover-kicker{font-size:9px}.collab-card .collab-hover-note h4{font-size:19px}.collab-card .collab-hover-note p{font-size:12px;line-height:1.5}.collab-card .hover-tags span{font-size:9px;padding:5px 8px}.collab-card.featured .collab-hover-note{padding:18px}.collab-card.featured .collab-hover-note h4{font-size:24px}.collab-card.featured .collab-hover-note p{font-size:13px}}


/* Splinter showcase */
.splinter-panel{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(250px,.98fr);gap:22px;height:100%}
.splinter-copy{display:flex;flex-direction:column;gap:12px;min-width:0}
.splinter-copy .hover-tags{margin-top:auto}
.splinter-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start;padding-top:4px}
.splinter-thumbs .mini-card{position:relative;margin:0;aspect-ratio:16/9;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#0f131a;box-shadow:0 18px 32px rgba(0,0,0,.24)}
.splinter-thumbs .mini-card img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.01)}
.splinter-thumbs .mini-card:nth-child(1){grid-column:span 2;transform:rotate(-1.6deg)}
.splinter-thumbs .mini-card:nth-child(2){transform:rotate(1.6deg)}
.splinter-thumbs .mini-card:nth-child(3){transform:rotate(-1.8deg)}
.splinter-thumbs .mini-card:nth-child(4){transform:rotate(2deg)}
.splinter-thumbs .mini-card:nth-child(5){transform:rotate(-1.2deg)}
.splinter-thumbs .mini-card:nth-child(6){transform:rotate(1.4deg)}
.splinter-thumbs .mini-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 36%,rgba(0,0,0,.18));pointer-events:none}
.collab-card.featured .splinter-copy p{max-width:48ch}
@media(max-width:1100px){.splinter-panel{grid-template-columns:1fr}.splinter-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.splinter-thumbs .mini-card:nth-child(1){grid-column:span 3}}
@media(max-width:820px){.splinter-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.splinter-thumbs .mini-card,.splinter-thumbs .mini-card:nth-child(n){transform:none}.splinter-thumbs .mini-card:nth-child(1){grid-column:span 2}.collab-card.featured .splinter-copy p{max-width:none}}


/* Splinter animated showcase */
.splinter-showcase{display:flex;flex-direction:column;gap:12px;justify-content:center;min-width:0;overflow:hidden}
.splinter-reel{position:relative;overflow:hidden;border-radius:18px;padding:4px 0}
.splinter-reel:before,.splinter-reel:after{content:"";position:absolute;top:0;bottom:0;width:36px;z-index:2;pointer-events:none}
.splinter-reel:before{left:0;background:linear-gradient(90deg,#0c1016,rgba(12,16,22,0))}
.splinter-reel:after{right:0;background:linear-gradient(270deg,#0c1016,rgba(12,16,22,0))}
.splinter-reel .reel-track{display:flex;gap:12px;width:max-content;will-change:transform}
.splinter-reel.reel-a .reel-track{animation:splinterMarquee 28s linear infinite}
.splinter-reel.reel-b .reel-track{animation:splinterMarqueeReverse 34s linear infinite}
.splinter-reel .mini-card{position:relative;margin:0;flex:0 0 clamp(160px,16vw,220px);aspect-ratio:16/9;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#0f131a;box-shadow:0 18px 32px rgba(0,0,0,.22)}
.splinter-reel .mini-card img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.02)}
.splinter-reel .mini-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 40%,rgba(0,0,0,.18));pointer-events:none}
@keyframes splinterMarquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 6px))}}
@keyframes splinterMarqueeReverse{from{transform:translateX(calc(-50% - 6px))}to{transform:translateX(0)}}
@media(max-width:1180px){.splinter-panel{grid-template-columns:1fr}.splinter-showcase{margin-top:6px}.splinter-reel .mini-card{flex-basis:clamp(150px,26vw,240px)}}
@media(max-width:820px){.splinter-reel .mini-card{flex-basis:180px}.splinter-reel .reel-track{gap:10px}}

/* Collaboration card front: name only */
.collab-card .collab-copy{gap:0}
.collab-card .role{display:none!important}
.collab-card:hover .role,.collab-card:focus-visible .role{display:none!important;opacity:0!important;letter-spacing:.08em!important}

[data-portfolio-href]{cursor:pointer}
[data-portfolio-href]:focus-visible{outline:2px solid var(--signal);outline-offset:4px}

/* ===== About / parcours timeline ===== */
.journey{background:var(--paper);padding:clamp(95px,10vw,150px) 0 clamp(120px,12vw,190px);overflow:hidden}
.journey-head{margin-bottom:clamp(70px,8vw,110px)}
.journey-head-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(38px,7vw,110px);align-items:end;margin-top:24px}
.journey-head-grid .h2{margin:0;max-width:900px}.journey-head-grid p{margin:0 0 8px;color:var(--muted);font-size:clamp(16px,1.45vw,20px);line-height:1.55;max-width:520px}
.journey-board{position:relative;--journey-progress:0}
.journey-lanes{display:grid;grid-template-columns:1fr 110px 1fr;gap:36px;margin-bottom:24px;font-family:"Courier New",monospace;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.journey-lanes span:first-child{grid-column:1}.journey-lanes span:last-child{grid-column:3;text-align:right}
.journey-line{position:absolute;z-index:0;top:40px;bottom:0;left:50%;width:1px;transform:translateX(-50%);background:rgba(17,17,17,.14);overflow:hidden}
.journey-line span{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:top center;transform:scaleY(var(--journey-progress));background:var(--signal);box-shadow:0 0 18px rgba(255,92,26,.22)}
.journey-row{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);gap:36px;align-items:start;min-height:300px;padding:34px 0 68px}
.journey-row:last-child{padding-bottom:0;min-height:0}
.journey-side{min-width:0}.journey-left{padding-right:8px}.journey-right{padding-left:8px}.journey-stack{display:grid;gap:14px}
.journey-year{position:sticky;top:110px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding-top:4px;font-family:"Courier New",monospace;font-size:10px;letter-spacing:.09em;color:var(--muted)}
.journey-year i{display:block;width:13px;height:13px;border-radius:50%;background:var(--paper);border:2px solid var(--signal);box-shadow:0 0 0 7px var(--paper),0 0 0 8px rgba(17,17,17,.12)}
.journey-card{position:relative;border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3vw,38px);background:rgba(255,255,255,.54);backdrop-filter:blur(12px);box-shadow:0 18px 55px rgba(17,17,17,.045);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
.journey-card:hover{transform:translateY(-5px);box-shadow:0 28px 78px rgba(17,17,17,.09);border-color:rgba(17,17,17,.22)}
.journey-card.featured{background:#111;color:#fff;border-color:#111;box-shadow:0 28px 75px rgba(17,17,17,.16)}
.journey-card.featured p{color:rgba(255,255,255,.62)}.journey-card.featured .journey-meta{color:rgba(255,255,255,.48)}.journey-card.featured .journey-tags span{border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.68);background:rgba(255,255,255,.04)}
.journey-card.education:before,.journey-card.esport:before{content:"";position:absolute;top:28px;width:8px;height:8px;border-radius:50%;background:var(--signal)}
.journey-left .journey-card:before{right:-45px}.journey-right .journey-card:before{left:-45px}
.journey-meta{display:flex;justify-content:space-between;gap:16px;margin-bottom:46px;font-family:"Courier New",monospace;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.journey-card h3{margin:0 0 16px;font-size:clamp(31px,3.45vw,58px);line-height:.9;letter-spacing:-.055em;text-transform:uppercase}
.journey-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.55;max-width:620px}.journey-card p strong{color:inherit;font-weight:700}
.journey-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.journey-tags span{border:1px solid var(--line);border-radius:999px;padding:7px 9px;font-family:"Courier New",monospace;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:rgba(255,255,255,.4)}
.journey-now{height:100%;min-height:210px;display:flex;align-items:center;gap:16px;padding:26px 4px;color:var(--muted)}.journey-now p{font-size:16px;line-height:1.55;max-width:450px;margin:0}.journey-now p strong{color:#111}.journey-now-dot{width:11px;height:11px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 8px rgba(255,92,26,.12);flex:0 0 auto}

@media(max-width:1050px){
  .journey-head-grid{grid-template-columns:1fr;gap:26px}.journey-head-grid p{max-width:700px}
  .journey-lanes{grid-template-columns:1fr 84px 1fr;gap:20px}.journey-row{grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);gap:20px}.journey-left .journey-card:before{right:-31px}.journey-right .journey-card:before{left:-31px}
}
@media(max-width:720px){
  .journey{padding-top:82px}.journey-head{margin-bottom:60px}.journey-lanes{display:none}.journey-line{left:16px;top:0;bottom:12px}
  .journey-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;min-height:0;padding:0 0 54px}.journey-row:last-child{padding-bottom:0}
  .journey-year{grid-column:1;grid-row:1 / span 2;position:relative;top:auto;align-self:start;padding-top:4px}.journey-year span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px}.journey-year i{width:11px;height:11px;box-shadow:0 0 0 5px var(--paper),0 0 0 6px rgba(17,17,17,.12)}
  .journey-left,.journey-right{grid-column:2;padding:0}.journey-left{grid-row:1}.journey-right{grid-row:2}.journey-left:empty,.journey-right:empty{display:none}.journey-stack{gap:10px}
  .journey-card{border-radius:17px;padding:22px}.journey-card.education:before,.journey-card.esport:before{display:none}.journey-meta{margin-bottom:28px;font-size:8px}.journey-card h3{font-size:clamp(30px,10vw,48px)}.journey-card p{font-size:13px}.journey-now{min-height:0;padding:18px 4px 0}.journey-now p{font-size:14px}
}


/* ===== Bottom hover stability + webmail contact ===== */
/* The moving spotlight could extend past the last section and enlarge the
   scrollable area, which made the bottom of the page appear to jump/lift. */
.big-cta.mouse-reactive,
.contact-page.mouse-reactive{
  overflow:hidden;
  overflow:clip;
}
.footer{
  position:relative;
  z-index:4;
  transform:translateZ(0);
}
.contact-form-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:12px}
.contact-form-actions .submit{margin-top:0}
.submit-secondary{border:1px solid rgba(255,255,255,.48);background:transparent;color:#fff;border-radius:999px;padding:16px 18px;cursor:pointer;font-weight:700;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.submit-secondary:hover{background:#fff;color:#111;border-color:#fff}
.form-status{min-height:1.4em;font-size:11px;font-weight:700;letter-spacing:.02em}
@media(max-width:720px){.contact-form-actions{grid-template-columns:1fr}.submit-secondary{width:100%}}


/* ===== Shared bottom CTA + extra bottom stability ===== */
.big-cta.mouse-reactive{
  overflow:hidden;
  overflow:clip;
  contain:paint;
  isolation:isolate;
  clip-path:inset(0);
}
.big-cta .mouse-glow{pointer-events:none}
.big-cta + .footer{position:relative;z-index:6}

/* ===== Micro labels + journey icons ===== */
.section-label:before{
  content:"//";
  width:auto;
  height:auto;
  background:none!important;
  font:700 11px/1 "Courier New",monospace;
  letter-spacing:-.08em;
  color:currentColor;
  opacity:.78;
}

.journey-card.has-mark .journey-meta{margin-bottom:18px}
.journey-card-mark{
  width:54px;
  height:54px;
  margin:0 0 20px;
  display:grid;
  place-items:center;
  border-radius:15px;
  border:1px solid rgba(17,17,17,.12);
  background:rgba(255,255,255,.56);
  overflow:hidden;
}
.journey-card-mark.brand-mark img{
  display:block;
  width:72%;
  height:72%;
  object-fit:contain;
}
.journey-card-mark.brand-mark.featured-mark{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.16);
}
.journey-card-mark.brand-mark.featured-mark img{width:78%;height:78%}
.journey-card-mark.dark-mark{
  background:#111;
  border-color:#111;
}
.journey-card-mark.dark-mark img{width:76%;height:76%}
.journey-card-mark.icon-mark svg{
  width:31px;
  height:31px;
  fill:none;
  stroke:#111;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.journey-card-mark.icon-mark.featured-mark{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.16);
}
.journey-card-mark.icon-mark.featured-mark svg{stroke:#fff}

@media(max-width:720px){
  .journey-card-mark{width:48px;height:48px;border-radius:13px;margin-bottom:16px}
  .journey-card-mark.icon-mark svg{width:28px;height:28px}
}

/* ===== V74 / Mobile polish ===== */
@media(max-width:720px){
  /* Keep the first portfolio block simple and stable on phones. */
  .selected{overflow:hidden}
  .selected .section-head{margin-bottom:24px}
  .selected .section-label{max-width:100%;line-height:1.4}
  .selected .h2{font-size:clamp(43px,13vw,62px);line-height:.9}
  .reel{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .reel-side{display:contents}
  .work-card,.work-card.tall,.reel-side .work-card{margin:0;min-height:0;width:100%}
  .reel>.work-card.tall{aspect-ratio:4/5}
  .reel-side .work-card{aspect-ratio:16/10}
  .work-card img,.work-card img[data-parallax-img]{transform:scale(1.015)!important;will-change:auto}
  .work-card:hover img,.work-card:hover img[data-parallax-img]{transform:scale(1.015)!important;filter:none}
  .work-meta{left:15px;right:15px;bottom:14px;gap:12px;align-items:flex-end}
  .work-meta .mono{font-size:9px;line-height:1.3;letter-spacing:.06em}
  .work-title{font-size:clamp(25px,8vw,34px);line-height:.92}
  .work-open{width:40px;height:40px;flex:0 0 40px}
  .all-work{margin-top:24px}

  /* Core services: avoid awkward wrapping / icon collisions. */
  .services .section-head{margin-bottom:24px}
  .service-row{grid-template-columns:32px minmax(0,1fr) 38px;gap:10px;min-height:92px;padding:16px 0;align-items:center}
  .service-row .num{font-size:9px}
  .service-name{font-size:clamp(24px,7.4vw,31px);line-height:.96;overflow-wrap:anywhere}
  .service-icon{width:38px;height:38px;display:grid;place-items:center}

  /* Secondary home cards stay readable without desktop-only parallax/tilt artefacts. */
  .beyond-intro{margin-bottom:36px}
  .beyond-intro>p{font-size:16px;line-height:1.55}
  .beyond-grid{gap:14px}
  .beyond-card{border-radius:18px}
  .beyond-card .beyond-media{aspect-ratio:4/3}
  .beyond-card.hover-video-card .beyond-media,
  .beyond-card.photo-card .beyond-media{aspect-ratio:4/5}
  .beyond-media img[data-parallax-img],
  .tilt-media-card .beyond-media img[data-parallax-img],
  .photo-slide img[data-parallax-img]{transform:scale(1.02)!important;will-change:auto}
  .beyond-copy{padding:20px}
  .beyond-copy h3{font-size:clamp(38px,11vw,52px);margin:12px 0 10px;line-height:.88}
  .beyond-copy p{font-size:13px;line-height:1.5}
  .beyond-copy .mono{font-size:9px}

  /* Horizontal photo rail: predictable touch scrolling, no layout jump. */
  .photo-rail{-webkit-overflow-scrolling:touch;scroll-padding-inline:20px;overscroll-behavior-x:contain}
  .photo-rail::-webkit-scrollbar{display:none}
  .photo-rail{scrollbar-width:none}

  /* Remove desktop lift effects on touch devices, which can leave a sticky hover state. */
  .tilt-card,.tilt-card:hover{transform:none!important;box-shadow:none}
  .work-card.tilt-card:hover,.collab-card.tilt-card:hover,.proof-image.tilt-card:hover{transform:none!important}

  /* Safer mobile spacing at the very bottom. */
  .big-cta{padding-top:84px;padding-bottom:70px}
  .footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
}

@media(max-width:470px){
  .selected .container{padding-inline:16px}
  .reel{gap:10px}
  .reel>.work-card.tall{aspect-ratio:4/5}
  .reel-side .work-card{aspect-ratio:16/10}
  .work-meta{left:13px;right:13px;bottom:12px}
  .work-title{font-size:clamp(24px,8vw,31px)}
  .service-name{font-size:clamp(23px,7.2vw,29px)}
  .beyond-card .beyond-media{aspect-ratio:5/4}
  .beyond-card.hover-video-card .beyond-media,
  .beyond-card.photo-card .beyond-media{aspect-ratio:4/5}
}

/* V74 mobile reel nesting fix */
@media(max-width:720px){
  .reel-side{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
}
@media(max-width:470px){
  .reel-side{gap:10px}
}
@media(max-width:720px){
  .reel>.work-card.tall{grid-column:auto}
}
