*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:#141412;color:#f4f2ec;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #f78a3c;outline-offset:6px}p,h1,h2,figure{margin:0}img{display:block;max-width:100%}::selection{background:#f78a3c;color:#141412}.topbar{height:82px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;gap:30px;background:#141412e8;backdrop-filter:blur(15px);border-bottom:1px solid #ffffff18;transition:height .35s}.topbar.scrolled{height:70px}.logo{object-fit:contain;width:144px;height:52px}.topbar nav{display:flex;gap:36px;font-size:12px}.topbar a{transition:color .25s}.topbar a:hover{color:#f78a3c}.nav-contact{font-size:12px}.nav-contact span{margin-left:35px;color:#f78a3c}.page-progress{position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:#ed8639;transform:scaleX(var(--page-progress,0));transform-origin:left}.hero{position:relative;height:100svh;min-height:660px;padding-top:82px;isolation:isolate}.hero-window{position:absolute;inset:82px 0 0;overflow:hidden;clip-path:inset(0 var(--hero-inset,0px) 0);will-change:clip-path}.hero-window picture{display:block;height:100%;width:100%}.hero-photo{height:100%;width:100%;object-fit:cover;object-position:center 48%;transform:translateY(var(--hero-y,0px)) scale(var(--hero-scale,1.045));will-change:transform}.hero-shade{position:absolute;inset:0;background:#000;opacity:.18;pointer-events:none}.hero-copy{position:absolute;left:5vw;bottom:110px;transform:translateY(var(--copy-y,0px));opacity:var(--copy-opacity,1)}.eyebrow{font-size:10px;letter-spacing:.13em;line-height:1.5;font-weight:400}.hero-copy .eyebrow{margin-bottom:20px;color:#fff}.hero h1{font-weight:400;font-size:clamp(52px,6.3vw,102px);letter-spacing:-.065em;line-height:.98;text-shadow:0 2px 20px #0004}.hero h1 span{display:block}.hero-caption{position:absolute;bottom:27px;left:5vw;right:5vw;display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:20px}.hero-caption a{display:flex;align-items:center;gap:35px}.hero-caption a span{font-size:21px}.intro{display:grid;grid-template-columns:.7fr 1.4fr 1fr;align-items:start;gap:5vw;padding:85px 5vw 90px}.intro .eyebrow{color:#f78a3c;padding-top:10px}.intro h2{font-size:clamp(36px,4vw,64px);line-height:1.06;font-weight:400;letter-spacing:-.055em}.intro-copy{padding-top:8px}.intro-copy p,.partners-copy p{font-size:14px;color:#b9bab2;line-height:1.85;max-width:350px}.line-link{display:flex;justify-content:space-between;max-width:350px;border-bottom:1px solid #65655b;padding:13px 0;margin-top:19px;font-size:12px}.line-link span{color:#f78a3c}.film{height:180svh;min-height:1000px;position:relative}.film-sticky{position:sticky;top:70px;height:calc(100svh - 70px);min-height:500px;overflow:hidden;isolation:isolate;margin:0 var(--film-margin,3vw)}.film-images,.film-layer{position:absolute;inset:0}.film-layer{margin:0;overflow:hidden}.film-layer img{height:100%;width:100%;object-fit:cover;object-position:center 55%;transform:scale(var(--film-zoom,1.025));will-change:transform}.layer-detail{clip-path:inset(var(--wipe-one,100%) 0 0);will-change:clip-path}.layer-rear{clip-path:inset(0 0 var(--wipe-two,100%));will-change:clip-path}.film-heading{position:absolute;left:4vw;top:45px;z-index:3;text-shadow:0 2px 20px #0005;transform:translateY(var(--film-type-y,0px))}.film-heading h2{font-size:clamp(52px,6vw,96px);font-weight:400;line-height:.95;letter-spacing:-.055em;margin-top:17px}.film-caption{position:absolute;z-index:3;bottom:27px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:#fff;text-shadow:0 1px 5px #0009}.film-position{height:1px;width:120px;background:#fff8;position:relative}.film-position i{position:absolute;height:3px;width:30%;top:-1px;left:0;background:#f78a3c;transform:translateX(calc(var(--film-progress,0) * 230%))}.partners{display:grid;grid-template-columns:1.6fr 1fr;gap:10vw;padding:95px 9vw 85px;align-items:center}.partners .eyebrow{color:#f78a3c;margin-bottom:23px}.partners h2{font-size:clamp(43px,5.5vw,84px);line-height:1;font-weight:400;letter-spacing:-.06em}.partnership-link{font-size:24px;letter-spacing:-.04em;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #68685d;padding:20px 0;margin-top:15px;max-width:350px}.partnership-link span{color:#f78a3c;font-size:35px;transition:transform .35s}.partnership-link:hover span{transform:translate(4px,-4px)}footer{padding:25px 5vw;display:flex;align-items:center;gap:35px;border-top:1px solid #ffffff20;color:#92958a;font-size:10px}footer a:first-of-type{margin-left:auto}.motion-toggle{font-size:10px;border-bottom:1px solid #666;padding:5px 0}.skip{position:fixed;top:-80px;left:12px;z-index:100;padding:13px;background:#f78a3c;color:#111}.skip:focus{top:12px}.notice{min-height:70vh;padding:100px 6vw;max-width:900px}.notice h1{font-size:70px;letter-spacing:-.06em;margin:30px 0}.notice p{line-height:1.8;color:#aaa}.text-link{display:inline-block;border-bottom:1px solid #666;padding:12px 0;font-size:13px}.motion-off .hero-photo{transform:none!important}.motion-off .hero-window{clip-path:none!important}.motion-off .hero-copy{transform:none!important;opacity:1!important}.motion-off .film{height:auto;min-height:0}.motion-off .film-sticky{position:relative;height:auto;min-height:0;top:0;margin:0 3vw}.motion-off .film-images{position:relative}.motion-off .film-layer{position:relative;height:65svh;min-height:350px;clip-path:none!important}.motion-off .film-layer img{transform:none!important}.motion-off .film-heading{top:35px;transform:none!important}.motion-off .film-caption{bottom:25px}.motion-off .film-position{display:none}@media(max-width:900px){.intro{grid-template-columns:.7fr 1.3fr;row-gap:25px}.intro-copy{grid-column:2}.partners{padding-left:6vw;padding-right:6vw;gap:6vw}}@media(max-width:650px){html{scroll-padding-top:68px}.topbar,.topbar.scrolled{height:68px;padding:0 6vw;gap:15px}.logo{width:112px;height:43px}.topbar nav{gap:18px;font-size:11px}.nav-contact{display:none}.hero{height:92svh;min-height:600px;padding-top:68px}.hero-window{inset:68px 0 0}.hero-photo{object-position:center 40%}.hero-copy{left:7vw;bottom:110px}.hero-copy .eyebrow{font-size:9px;margin-bottom:15px}.hero h1{font-size:55px}.hero-caption{left:7vw;right:7vw;bottom:24px;font-size:10px}.hero-caption a{gap:15px;max-width:145px}.intro{padding:50px 7vw;grid-template-columns:1fr;gap:23px}.intro .eyebrow{padding:0}.intro h2{font-size:42px}.intro-copy{grid-column:auto}.intro-copy p{max-width:350px;font-size:14px}.line-link{max-width:none}.film{height:165svh;min-height:900px}.film-sticky{top:68px;height:calc(85svh - 68px);min-height:450px;margin:0 var(--film-margin,4vw)}.film-heading{top:30px;left:7vw}.film-heading .eyebrow{font-size:9px}.film-heading h2{font-size:54px}.film-layer img{object-position:53% center}.layer-detail img{object-position:47% center}.layer-rear img{object-position:49% center}.film-caption{left:7vw;right:7vw;bottom:22px;font-size:10px}.film-position{display:none}.partners{grid-template-columns:1fr;gap:28px;padding:55px 7vw}.partners .eyebrow{margin-bottom:20px}.partners h2{font-size:54px}.partners-copy p{max-width:none}.partnership-link{max-width:none;margin-top:8px;font-size:22px}footer{padding:25px 7vw;gap:22px;flex-wrap:wrap;font-size:10px}footer>span{width:100%}footer a:first-of-type{margin-left:0}.motion-toggle{margin-left:auto}.motion-off .film-layer{height:60svh}.motion-off .film-sticky{top:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* RLRC: strong sans-serif type, no decorative serif or italic accents. */
h1,h2{font-family:Arial,Helvetica,sans-serif;font-weight:900!important;text-transform:uppercase;font-style:normal;letter-spacing:-.055em!important}.hero h1{font-size:clamp(48px,6vw,92px);line-height:.98}.hero h1 span{display:block}.hero h1 span+span{margin-top:3px}.intro h2{font-size:clamp(34px,3.5vw,55px)}.film-heading h2{font-size:clamp(50px,5.7vw,88px)}.partners h2{font-size:clamp(42px,5vw,76px)}@media(max-width:650px){.hero h1{font-size:clamp(29px,8.4vw,45px);letter-spacing:-.06em!important}.intro h2{font-size:36px}.film-heading h2{font-size:47px}.partners h2{font-size:42px}}

/* Partner roster (partners-v7): partners' own dark-background logos, monochrome at rest on pointer devices. */
.partners{row-gap:64px}
.partner-roster{grid-column:1/-1;display:grid;grid-template-columns:minmax(150px,.55fr) 3fr;align-items:stretch;border-top:1px solid #ffffff20}
.roster-label{padding-top:26px;text-transform:uppercase}
.partner-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}
.partner-logos li{display:flex;border-left:1px solid #ffffff18}
.partner-cell{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:150px;padding:34px 9% 44px;overflow:hidden}
.partner-cell img{width:auto;height:auto;max-width:100%;max-height:58px;filter:grayscale(1) brightness(1.15);opacity:.62;transition:filter .45s,opacity .45s,transform .6s cubic-bezier(.2,.7,.2,1)}
.partner-cell::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#f78a3c;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.partner-name{position:absolute;left:12%;right:12%;bottom:16px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#92958a;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
.partner-name b{font-weight:400;color:#f78a3c}
.partner-cell:hover img,.partner-cell:focus-visible img{filter:none;opacity:1;transform:scale(1.04)}
.partner-cell:hover::after,.partner-cell:focus-visible::after{transform:scaleX(1)}
.partner-cell:hover .partner-name,.partner-cell:focus-visible .partner-name{opacity:1;transform:none}
.partner-cell:focus-visible{outline-offset:-6px}
.open-slot{font-size:clamp(20px,1.9vw,30px);font-weight:900;text-transform:uppercase;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px #6d6e66;transition:color .45s,-webkit-text-stroke-color .45s}
.partner-open .partner-name{opacity:1;transform:none}
.partner-open:hover .open-slot,.partner-open:focus-visible .open-slot{color:#f4f2ec;-webkit-text-stroke-color:#f4f2ec}
/* Scroll reveal: armed by site.js only when motion is on, so no-JS and reduced motion show everything.
   Uses clip-path + the translate property so it never fights the hover filter/opacity/scale. */
.partners .roster-label{color:#92958a;margin-bottom:0}
.roster-armed .partner-logos li{clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.7,0,.2,1)}
.roster-armed .partner-cell img,.roster-armed .open-slot{translate:0 16px;transition:filter .45s,opacity .45s,transform .6s cubic-bezier(.2,.7,.2,1),translate .9s cubic-bezier(.2,.7,.2,1),color .45s,-webkit-text-stroke-color .45s}
.roster-armed .roster-label{opacity:0;transition:opacity .6s}
.roster-armed.in-view .partner-logos li{clip-path:inset(0)}
.roster-armed.in-view .partner-cell img,.roster-armed.in-view .open-slot{translate:none}
.roster-armed.in-view .roster-label{opacity:1}
.roster-armed .partner-logos li:nth-child(2){transition-delay:.14s}
.roster-armed .partner-logos li:nth-child(3){transition-delay:.28s}
@media(hover:none){.partner-cell img{filter:none;opacity:1}
.partner-cell .partner-name{opacity:1;transform:none}
}
@media(max-width:900px){.partner-roster{grid-template-columns:1fr}
.roster-label{padding:24px 0 6px}
.partner-logos li:first-child{border-left:0}
}
@media(max-width:650px){.partners{row-gap:28px}
.partner-roster{margin-top:12px}
.partner-logos{grid-template-columns:1fr 1fr}
.partner-logos li:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid #ffffff18}
.partner-cell{min-height:118px;padding:24px 8% 40px}
.partner-cell img{max-height:44px}
.partner-open{min-height:92px;padding:20px 0 38px}
.partner-name{left:8%;right:8%;bottom:13px;font-size:9px}
.partner-open .partner-name{left:0;right:0}
.open-slot{font-size:24px}
}
