:root{color-scheme:dark;--black:#050505;--white:#f5f5f5;--ease:cubic-bezier(.488,.02,.5,1);font-family:var(--site-font);background:var(--black);color:var(--white)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;-webkit-font-smoothing:antialiased}body{overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #f5f5f5;outline-offset:5px}button{border:0}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:100;background:#fff;color:#050505;padding:.75rem}.skip-link:focus{top:1rem}
.header{position:fixed;top:10vh;left:5%;width:90%;height:0;display:flex;align-items:center;justify-content:space-between;z-index:20}.brand{display:flex;align-items:center;position:relative;z-index:23}.brand img{display:block;width:8rem;height:auto}.navigation{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;height:4rem;padding:0 2rem;background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;backdrop-filter:blur(2rem);-webkit-backdrop-filter:blur(2rem)}.nav-link{display:flex;align-items:center;justify-content:center;height:2.5rem;padding:0 1.4vw 0 1.35vw;font-size:1rem;font-weight:400;white-space:nowrap;overflow:hidden}.nav-link.current{background:#ddd;color:var(--black);border-radius:6px;margin-right:1.4vw}.nav-link:nth-child(4){padding-right:0}.rolling{display:inline-block;line-height:1.1rem;height:1.1rem;overflow:hidden}.rolling-inner{display:block}.rolling-char{display:inline-block;white-space:pre;text-shadow:0 1.1rem currentColor;transition:transform .45s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i)*.018s)}a:hover .rolling-char,a:focus-visible .rolling-char{transform:translateY(-100%)}.contact{display:flex;align-items:center;justify-content:center;border:1px solid var(--white);border-radius:8px;min-height:2.8rem;padding:.1rem 2rem;font-size:1rem;white-space:nowrap}.menu-toggle,.mobile-contact{display:none}
.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100svh;min-height:480px;overflow:hidden;background:var(--black)}.hero-heading{position:relative;z-index:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:50%;flex:none}.title{position:relative;isolation:isolate;margin:0;padding:0 2rem;width:100%;height:12vw;overflow:hidden;font-size:12vw;line-height:12vw;font-weight:500;letter-spacing:-.03em;text-align:center;text-transform:uppercase;user-select:none}.title-word{display:block;position:absolute;inset:0;white-space:nowrap;visibility:hidden}.title-word.active{visibility:visible}.title-char{display:inline-block}.hero-lower{position:relative;z-index:3;height:50%;width:100%;display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.thumbnails{display:flex;align-items:center;justify-content:center;gap:2.22vw;width:100%}.thumb-entry{flex:none}.thumbnail{display:block;position:relative;width:9vw;height:6.75vw;margin:0;padding:0;border-radius:8px;overflow:hidden;background:#121212;cursor:pointer;transition:transform .5s var(--ease)}.thumbnail img,.thumbnail video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.thumb-video{opacity:0}.thumb-video.ready{opacity:1}.thumbnails.previewing .thumbnail{transform:scale(.8)}.thumbnails.previewing .thumbnail.selected{transform:scale(1)}.availability{position:relative;display:flex;align-items:center;margin-top:4rem;width:15rem;height:2rem;border:1px solid #ffffff0d;border-radius:8px;background:#ffffff05;backdrop-filter:blur(2rem);-webkit-backdrop-filter:blur(2rem);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.marquee{display:flex;align-items:center;gap:.5rem;width:max-content;animation:marquee 24s linear infinite}.marquee span{display:flex;align-items:center;gap:.5rem;white-space:nowrap;font-size:.8rem;letter-spacing:.05rem;line-height:1.1rem}.marquee b{font-size:.7rem;color:#f9452d;font-weight:400}.location,.socials{position:absolute;z-index:5;top:50%;font-size:.8rem;line-height:1.6;letter-spacing:.13rem;white-space:nowrap}.location{left:4.5%;transform:translate(-50%,-50%) rotate(-90deg)}.socials{right:4.5%;display:flex;gap:1rem;align-items:center;transform:translate(50%,-50%) rotate(90deg)}.socials a{transition:opacity .2s}.socials a:hover{opacity:.55}.backdrops{position:absolute;inset:0;z-index:1;pointer-events:none}.backdrop{position:absolute;inset:0;opacity:0;clip-path:inset(30% 25%);transition:clip-path 1s var(--ease),opacity .7s var(--ease)}.backdrop.active{opacity:1;clip-path:inset(0);z-index:1}.backdrop img,.backdrop video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.backdrop video{opacity:0}.backdrop video.ready{opacity:1}
.cursor-glow{position:fixed;left:0;top:0;width:64px;height:64px;border-radius:50%;pointer-events:none;z-index:40;opacity:0;background:radial-gradient(circle,#258edc66,transparent 70%);filter:blur(8px);transition:opacity .2s}
.hero{z-index:9}
/* The reference reveals the page and a separate gray curtain through the same bottom frame. */
.intro{display:none}
.js .intro{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;background:var(--black);pointer-events:none;animation:intro-finish .0001s 3s forwards}
.js.intro-complete .intro{display:none}
.intro *{pointer-events:none}
.page-shell{position:relative;z-index:0;isolation:isolate}
.intro-frame,.intro-panel,.intro-veil{position:absolute;inset:0}
.intro-frame{z-index:2;visibility:hidden;clip-path:polygon(9% 90%,90% 90%,90% 90%,9% 90%)}
.intro-panel{background:#ddd;transform-origin:0 0}
.intro-veil{z-index:3;background:var(--black)}
.intro img{position:relative;z-index:1;width:min(15rem,60vw);height:auto;opacity:0}
.js .intro img{animation:logo-in 1.5s cubic-bezier(.25,.46,.45,.94) both,logo-out .0001s 2s forwards}
.js .intro-veil{animation:veil-out .1s both}
.js .page-shell,.js .intro-frame{clip-path:polygon(9% 90%,90% 90%,90% 90%,9% 90%);animation:frame-reveal 2s var(--expo-in-out) 1s both}
.js .intro-frame{animation:frame-reveal 2s var(--expo-in-out) 1s both,curtain-visible .0001s 1s forwards}
.js .intro-panel{animation:curtain-up 1.5s var(--expo-in-out) 1.5s both}
.js.intro-complete .page-shell{clip-path:none;animation:none}
.js .thumb-entry{transform:translateX(1280%)}
.js.hero-ready .thumb-entry{animation:thumb-enter 3s var(--reference-smooth) both;animation-delay:calc(.7s + var(--index)*.05s)}
.js .location,.js .socials,.js .availability{animation:soft-in 1.2s 2s both}
.title-word{position:relative;inset:auto;visibility:visible;height:100%;line-height:inherit}
.title-char{height:100%;vertical-align:top}
@keyframes frame-reveal{from{clip-path:polygon(9% 90%,90% 90%,90% 90%,9% 90%)}to{clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}}
@keyframes curtain-up{from{transform:scaleY(1)}to{transform:scaleY(0)}}
@keyframes curtain-visible{from{visibility:hidden}to{visibility:visible}}
@keyframes veil-out{from{opacity:1}to{opacity:0;visibility:hidden}}
@keyframes intro-finish{to{visibility:hidden}}
@keyframes thumb-enter{from{transform:translateX(1280%)}to{transform:translateX(0)}}
@keyframes logo-in{from{opacity:0}to{opacity:1}}
@keyframes logo-out{to{opacity:0}}
@keyframes soft-in{from{opacity:0;filter:blur(16px)}to{opacity:1;filter:blur(0)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:991px){.header{top:0;left:10%;width:80%;height:7rem;position:absolute}.brand{z-index:23}.contact{display:none}.menu-toggle{position:relative;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:transparent;z-index:23;cursor:pointer}.menu-toggle span{width:30px;height:3px;background:var(--white);transition:transform .3s,opacity .3s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.navigation{display:none;position:fixed;inset:0;width:100%;height:100svh;transform:none;border:0;border-radius:0;padding:8rem 0 2rem;background:#0003;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;z-index:22}.navigation.open{display:flex}.nav-link,.nav-link.current{height:auto;min-height:5rem;font-size:3rem;line-height:5rem;margin:0;padding:0;background:transparent;color:var(--white);border-radius:0}.nav-link .rolling{height:5rem;line-height:5rem}.nav-link .rolling-char{text-shadow:none;transition:none}.nav-link:hover .rolling-char{transform:none}.brand img{width:7rem;height:auto}.mobile-contact{display:flex}.hero-heading{height:40%}.hero-lower{height:60%}.title{height:5rem;font-size:5rem;line-height:5rem}.thumbnails{flex-wrap:wrap;gap:1rem;width:27rem}.thumbnail{width:8rem;height:6rem}.location{left:4.5%}.socials{right:4.5%}.cursor-glow{display:none}body.menu-open{overflow:hidden}}
@media(max-width:767px){.thumbnails{width:24rem}.thumbnail{width:7rem;height:5.25rem}}
@media(max-width:479px){.hero{min-height:540px}.hero-heading{height:30%}.hero-lower{height:70%}.title{height:15vw;font-size:15vw;line-height:15vw;padding:0 1rem}.thumbnails{width:15rem}.thumbnail{width:6rem;height:4.5rem}.availability{margin-top:4rem;width:15rem}.location{left:10%}.socials{right:10%;gap:1rem}.nav-link,.nav-link.current{min-height:4rem;font-size:2rem;line-height:4rem}.nav-link .rolling{height:4rem;line-height:4rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .intro{display:none}.js .page-shell{clip-path:none}.js .thumb-entry{transform:none}.title-word:not(:first-child){visibility:hidden}.cursor-glow{display:none}.js .location,.js .socials,.js .availability{filter:none;opacity:1}}



:root{--reference-smooth:linear(0.000000,0.000448,0.000973,0.001578,0.002266,0.003041,0.003905,0.004863,0.005917,0.007073,0.008334,0.009705,0.011191,0.012798,0.014530,0.016395,0.018399,0.020550,0.022854,0.025321,0.027961,0.030783,0.033799,0.037020,0.040462,0.044140,0.048070,0.052271,0.056766,0.061578,0.066737,0.072272,0.078223,0.084631,0.091547,0.099032,0.107157,0.116011,0.125702,0.136367,0.148181,0.161373,0.176255,0.193263,0.213036,0.236565,0.265492,0.302780,0.353981,0.425343,0.500000,0.562990,0.615496,0.657977,0.692958,0.722445,0.747804,0.769963,0.789571,0.807097,0.822888,0.837208,0.850263,0.862219,0.873208,0.883339,0.892703,0.901375,0.909421,0.916896,0.923848,0.930320,0.936347,0.941963,0.947196,0.952071,0.956612,0.960839,0.964771,0.968425,0.971817,0.974960,0.977867,0.980550,0.983020,0.985288,0.987362,0.989250,0.990962,0.992505,0.993885,0.995109,0.996183,0.997113,0.997904,0.998561,0.999090,0.999494,0.999778,0.999945,1.000000);--expo-in-out:linear(0.000000,0.000561,0.000644,0.000740,0.000850,0.000977,0.001122,0.001289,0.001480,0.001700,0.001953,0.002244,0.002577,0.002960,0.003401,0.003906,0.004487,0.005154,0.005921,0.006801,0.007812,0.008974,0.010309,0.011842,0.013602,0.015625,0.017948,0.020617,0.023683,0.027205,0.031250,0.035897,0.041235,0.047366,0.054409,0.062500,0.071794,0.082469,0.094732,0.108819,0.125000,0.143587,0.164938,0.189465,0.217638,0.250000,0.287175,0.329877,0.378929,0.435275,0.500000,0.564725,0.621071,0.670123,0.712825,0.750000,0.782362,0.810535,0.835062,0.856413,0.875000,0.891181,0.905268,0.917531,0.928206,0.937500,0.945591,0.952634,0.958765,0.964103,0.968750,0.972795,0.976317,0.979383,0.982052,0.984375,0.986398,0.988158,0.989691,0.991026,0.992188,0.993199,0.994079,0.994846,0.995513,0.996094,0.996599,0.997040,0.997423,0.997756,0.998047,0.998300,0.998520,0.998711,0.998878,0.999023,0.999150,0.999260,0.999356,0.999439,1.000000)}

/* Shared viewport edge: content scrolls through the blur, the blur never scrolls. */
.viewport-blur{position:fixed;inset:auto 0 0;height:16vh;z-index:30;pointer-events:none;overflow:clip;transform:rotate(180deg)}
.blur-band{position:absolute;inset:0;backdrop-filter:blur(var(--band-blur));-webkit-backdrop-filter:blur(var(--band-blur));mask-image:var(--band-mask);-webkit-mask-image:var(--band-mask)}
.band-1{--band-blur:3.000000rem;--band-mask:linear-gradient(#000 0% 10%,#0000 30%)}
.band-2{--band-blur:1.578947rem;--band-mask:linear-gradient(#0000 0%,#000 10% 20%,#0000 40%)}
.band-3{--band-blur:0.831025rem;--band-mask:linear-gradient(#0000 0%,#000 20% 30%,#0000 50%)}
.band-4{--band-blur:0.437382rem;--band-mask:linear-gradient(#0000 10%,#000 30% 40%,#0000 60%)}
.band-5{--band-blur:0.230201rem;--band-mask:linear-gradient(#0000 20%,#000 40% 50%,#0000 70%)}
.band-6{--band-blur:0.121158rem;--band-mask:linear-gradient(#0000 30%,#000 50% 60%,#0000 80%)}
.band-7{--band-blur:0.063768rem;--band-mask:linear-gradient(#0000 40%,#000 60% 70%,#0000 90%)}
.band-8{--band-blur:0.033562rem;--band-mask:linear-gradient(#0000 50%,#000 70% 80%,#0000 100%)}
.band-9{--band-blur:0.017664rem;--band-mask:linear-gradient(#0000 60%,#000 80% 90%,#0000 100%)}
.band-10{--band-blur:0.009297rem;--band-mask:linear-gradient(#0000 70%,#000 90%,#0000 100%)}

/* Section 02 — reference spacing, type weight, and four-by-two client grid. */
.brands-section{position:relative;z-index:1;background:var(--black);padding:11.11vw 0}
.brands-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.11vw;margin-inline:auto}
.brands-title{max-width:31vw;margin:0;font-size:3.33vw;font-weight:200;line-height:1.1;letter-spacing:-.05em;text-align:left}
.brand-highlight{color:#aaa}
.brands-spacer{min-height:4.4vw}
.brands-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;justify-content:center;width:calc(100% - 6rem);max-width:1400px;overflow:visible;list-style:none}
.brand-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:170px;border:1px solid #ffffff0d;border-radius:0;background:#ffffff05;transition:border-color .3s linear}
@media(hover:hover){.brand-card:hover{border-color:rgba(255,255,255,.15)}}
.client-logo{display:block;width:auto;height:3.89vw;max-width:90%;object-fit:contain}
.client-logo.smaller{height:2.78vw}
.highlight-word{display:inline-block;white-space:nowrap}
.highlight-char{display:inline-block}
.js [data-reveal],.js .brand-card{opacity:0;filter:blur(16px)}
.js .highlight-char{opacity:0}
.js [data-reveal].is-visible,.js .brand-card.is-visible{opacity:1;filter:none}
.js .highlight-char.is-visible{opacity:1}
@media(max-width:991px){
 .viewport-blur{display:none}
 .brands-section{padding:10rem 0}
 .brands-wrapper{gap:1rem}
 .brands-title{max-width:28rem;font-size:3rem}
 .brands-spacer{min-height:4rem}
 .brands-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:calc(100% - 4rem)}
 .brand-card{width:100%;height:128px}
 .client-logo{height:4rem}
 .client-logo.smaller{height:3rem}
}
@media(max-width:767px){
 .brands-section{padding:8rem 0}
 .brands-title{max-width:23rem;font-size:2.5rem;line-height:3rem}
 .brands-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 2rem)}
 .brand-card{height:122px}
}
@media(max-width:479px){
 .brands-section{padding:6rem 0}
 .brands-wrapper{text-align:center}
 .brands-title{max-width:50vw;font-size:10vw;line-height:15vw;text-align:center}
 .brands-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
 .brand-card{width:100%;height:138px}
 .client-logo{height:12.5vw}
 .client-logo.smaller{height:10vw}
}
@media(prefers-reduced-motion:reduce){
 .js [data-reveal],.js .brand-card,.js .highlight-char{opacity:1;filter:none}
}

/* Altrum proportions and story interaction, retaining Origin's card surface. */
.brand-card.is-story-open{z-index:5}
.story-trigger{position:absolute;right:0;bottom:13px;border:1px solid #ffffff0d;border-right:0;border-radius:5px 0 0 5px;padding:7px 8px 6px;background:#ffffff0d;color:#ffffffb3;font-size:12px;line-height:1.1;cursor:pointer;transition:background-color .2s,border-color .2s}
.story-trigger:hover,.story-trigger:focus-visible{background:#ffffff14;border-color:#ffffff1f;color:var(--white)}
.story-panel{position:absolute;bottom:calc(100% + 5px);left:-1px;right:-1px;z-index:2;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:240px;padding:23px;background:#ffffff1f;border:1px solid #ffffff0d;border-radius:8px;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);color:var(--white);text-align:left;opacity:0;visibility:hidden;pointer-events:none;transform:translate(60px,-60px) rotate(15deg) scale(.9);transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .3s,visibility .3s}
.story-panel::after{content:"";position:absolute;inset:auto 0 -6px;height:6px}
.brand-card.is-story-open .story-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,0) rotate(0) scale(1)}
.story-panel blockquote{margin:0;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.025em}
.story-person{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff30;padding-top:15px}
.story-person img{flex:none;width:40px;height:46px;border-radius:5px;object-fit:cover}
.story-person p{margin:0}
.story-author{font-size:14px;font-weight:500;line-height:1.4}
.story-role{margin-top:3px!important;font-size:12px;line-height:1.4;color:#ffffffb3}
@media(max-width:991px){
 .story-panel{min-height:220px;padding:18px}
 .story-panel blockquote{font-size:14px}
}
@media(max-width:767px){
 .story-panel{right:auto;left:0;width:min(21rem,calc(100vw - 2rem));transform:translate(0,-12px) scale(.96)}
 .brand-card:nth-child(even) .story-panel{left:auto;right:0}
 .story-trigger{font-size:10px;padding:6px 7px;bottom:10px}
}
@media(prefers-reduced-motion:reduce){.story-panel,.story-trigger{transition:none}}
