/* One scroll-driven brand scene; every original logo remains in the directory. */
.partners-universe{position:relative;background:var(--ink);color:var(--text);scroll-margin-top:0}
.js .partners-universe{height:185svh;min-height:1360px}
.brand-window{position:relative;min-height:760px;padding:64px 0 58px;display:flex;flex-direction:column;justify-content:center;isolation:isolate;overflow:hidden}
.js .brand-window{position:sticky;top:0;height:100svh}
.brand-window-heading{position:relative;z-index:3;text-align:center;flex:none}
.brand-window-heading .eyebrow{font-size:12px;color:var(--green);margin-bottom:16px}
.brand-window-heading h2{font-size:clamp(38px,4.4vw,64px);line-height:1.3;font-weight:800;letter-spacing:normal}
.brand-window-heading h2>span{color:#9da993}
.brand-window-heading>p:last-child{font-size:15px;line-height:1.9;color:#9ca597;margin-top:18px}
.brand-stage{position:relative;direction:ltr;flex:none;width:min(1440px,100%);height:clamp(420px,53svh,650px);margin:12px auto 0;perspective:1100px;isolation:isolate;--orbit-turn:-12deg}
.brand-atmosphere{position:absolute;inset:4% 12% -1%;background:radial-gradient(ellipse at 50% 54%,#71c33520 0,#71c3350b 35%,transparent 69%);pointer-events:none}
.brand-atmosphere:after{content:"";position:absolute;left:18%;right:18%;bottom:21%;height:12%;background:#71c3350a;filter:blur(28px);border-radius:50%}
.brand-orbits{position:absolute;inset:9% 9%;transform:rotate(var(--orbit-turn));pointer-events:none}
.brand-orbits>span{position:absolute;inset:12% 2%;border:1px solid #71c33521;border-radius:50%;transform:rotate(-7deg)}
.brand-orbits>span:after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid transparent;border-bottom-color:#71c33588;mask-image:linear-gradient(90deg,transparent 20%,#000 45%,transparent 80%)}
.brand-orbits>span:nth-child(2){inset:26% 13%;border-color:#71c33516;transform:rotate(24deg)}
.brand-orbits>span:nth-child(2):after{border-bottom-color:#71c3353d}
.brand-orbits>i{position:absolute;top:13%;left:35%;width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 14px #71c33588}
.brand-hub{position:absolute;left:50%;top:49%;z-index:5;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%) scale(var(--hub-scale,1));width:195px;text-align:center;pointer-events:none}
.brand-hub:before{content:"";position:absolute;inset:-18px -24px -7px;background:radial-gradient(ellipse,#080b09 26%,#080b09d9 50%,transparent 72%);z-index:-1}
.brand-hub-icon{filter:drop-shadow(0 12px 27px #71c33530);transform:perspective(600px) rotateY(var(--hub-angle,-14deg)) rotateZ(-6deg);margin-bottom:19px}
.brand-hub-icon img{width:126px;height:148px;object-fit:contain}
.brand-hub-wordmark{width:149px;height:auto}
.brand-hub>span{font-size:12px;letter-spacing:.03em;color:#829777;margin-top:14px;direction:rtl}
.orbit-brands{position:absolute;inset:0;perspective:1100px;pointer-events:none}
.orbit-brand{position:absolute;left:calc(50% + var(--x));top:calc(50% + var(--y));width:132px;text-align:center;transform:translate(-50%,-50%) scale(var(--size));z-index:var(--layer,3);opacity:var(--alpha,.94);will-change:transform;direction:rtl}
.orbit-medallion{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;padding:21px;background:#edf0e6;overflow:hidden;box-shadow:0 18px 36px #0006,0 0 0 6px #90b37508,0 0 0 7px #90b37518;transform:rotateY(var(--badge-angle,0deg)) rotateZ(var(--badge-tilt,0deg));transition:box-shadow .3s}
.orbit-medallion.brand-surface-dark{background:#142017;box-shadow:inset 0 1px 1px #c2e3a921,0 18px 36px #0006,0 0 0 1px #91b67d2c}
.orbit-medallion.brand-surface-original{padding:0;background:#fff}
.orbit-medallion img{width:100%;height:100%;max-height:100%;object-fit:contain;filter:saturate(.7);opacity:.98}
.orbit-brand>span{display:block;margin-top:18px;color:#b2bba9;font-size:14px;line-height:1.5;white-space:nowrap}
.brand-window-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;margin-top:12px;flex:none}
.brand-total{display:flex;align-items:center;gap:18px}
.brand-total strong{font:normal 51px/1 Arial,sans-serif;color:#d7dfcd;letter-spacing:-2px}
.brand-total>span{font-size:12px;line-height:1.8;color:#9ca792}
.brand-directory-trigger{display:inline-flex;align-items:center;gap:34px;border:1px solid #8ba17b50;border-radius:80px;padding:8px 8px 8px 27px;min-height:58px;font-size:14px;transition:background .25s,border-color .25s;flex:none}
.directory-arrow{display:grid;place-items:center;order:-1;border-radius:50%;width:40px;height:40px;background:var(--green);color:var(--ink);font:25px Arial;transform:rotate(-90deg);transition:transform .3s}
.brand-directory-trigger:hover{background:#71c33512;border-color:var(--green)}
.brand-directory-trigger:hover .directory-arrow{transform:rotate(-135deg)}
.brand-scroll-cue{justify-self:end;display:flex;align-items:center;gap:17px;color:#97a58d;font-size:11px}
.brand-scroll-cue>i{width:65px;height:1px;background:#8ba17b3d;position:relative;overflow:hidden;direction:ltr}
.brand-scroll-cue>i:after{content:"";position:absolute;inset:0;background:var(--green);transform:scaleX(var(--brand-progress,0));transform-origin:left}
.bridge-brands-exit + .faq:before{display:none}
/* Native modal offers the complete collection, focus containment and Escape. */
.brand-directory{background:var(--paper);color:var(--ink);padding:38px 44px 34px}
.brand-directory:not(dialog *){max-width:1280px;margin:auto}
.brands-dialog{padding:0;border:1px solid #9aaf8650;border-radius:24px;width:min(1160px,calc(100% - 64px));max-width:none;max-height:86svh;overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 40px 180px #000a;overscroll-behavior:contain}
.brands-dialog::backdrop{background:#050905cf;backdrop-filter:blur(12px)}
body.brands-open{overflow:hidden}
.directory-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.directory-header .eyebrow{color:#6d7a65;font-size:12px;margin-bottom:10px}
.directory-header h2{font-size:43px;line-height:1.3}
.directory-close{display:grid;place-items:center;border:1px solid #30472735;border-radius:50%;background:transparent;width:46px;height:46px;flex:none;font:28px Arial;color:#304727}
.directory-close:hover{background:#dce3d4}
.directory-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:26px;border-bottom:1px solid #263a2126}
.brand-search{display:block;width:min(440px,70%)}
.brand-search>span{display:block;font-size:12px;color:#5f6b57;margin-bottom:8px}
.brand-search input{width:100%;min-height:46px;border:1px solid #607c4540;border-radius:9px;padding:11px 15px;background:#f8f9f5;color:#102009;font-size:16px;appearance:none}
.directory-count{font-size:13px;color:#5f6b57;padding-bottom:12px;white-space:nowrap}
.brand-directory .brand-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:0 16px;margin:0}
.brand-directory .brand-tile:nth-child(n){padding:29px 0 21px;border-bottom:1px solid #1e341b15}
.brand-directory .brand-surface{width:105px;height:105px;border-radius:50%;padding:13px}
.brand-directory .brand-surface-original{padding:0}
.brand-directory .brand-surface img{width:100%;height:100%;max-height:79px;filter:none;opacity:1;object-fit:contain;border-radius:0}
.brand-directory .brand-surface-original img{max-height:105px;border-radius:0}
.brand-directory .brand-tile>span{font-size:12px;color:#53644a;margin-top:14px;min-height:20px;padding:0}
.brand-directory .brand-tile:hover .brand-surface{transform:translateY(-3px)}
.directory-empty{text-align:center;padding:70px 10px;color:#53644a;font-size:16px;line-height:1.9}
.motion-paused .partners-universe{height:auto;min-height:0}
.motion-paused .brand-window{position:relative;height:auto}
.motion-paused .brand-scroll-cue{visibility:hidden}
.motion-paused .orbit-brand{will-change:auto}
@media(min-width:1700px){.brand-stage{width:1560px;max-width:100%}.orbit-brand{width:144px}.orbit-medallion{width:144px;height:144px}.brand-window-heading h2{font-size:68px}}
@media(max-width:1050px){.brand-window{padding:50px 0;min-height:700px}.brand-stage{height:450px}.orbit-brand{width:108px}.orbit-medallion{width:108px;height:108px;padding:17px}.brand-hub{width:160px}.brand-hub-icon img{width:106px;height:124px}.brand-hub-wordmark{width:130px}.brand-window-footer{gap:20px}.brand-total strong{font-size:43px}.brand-scroll-cue>i{width:35px}.brand-directory .brand-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1050px){
 .js .partners-universe{height:auto;min-height:0}
 .js .brand-window{height:auto;position:relative;min-height:0;padding:35px 0 40px}
 .brand-window-heading h2{font-size:clamp(32px,9.3vw,45px);line-height:1.35}
 .brand-window-heading h2>span{display:block;color:#9da993}
 .brand-window-heading>p:last-child{font-size:13px;max-width:260px;margin:16px auto 0;line-height:1.8}
 .brand-window-heading .eyebrow{margin-bottom:12px}
 .brand-stage{height:390px;margin-top:9px;width:100%}
 .brand-atmosphere{inset:7% -15% -1%}
 .brand-orbits{inset:10% -29%;transform:rotate(-27deg)}
 .brand-hub{top:49%;width:120px}
 .brand-hub-icon{margin-bottom:13px}
 .brand-hub-icon img{width:80px;height:94px}
 .brand-hub-wordmark{width:104px}
 .brand-hub>span{font-size:10px;margin-top:9px}
 .orbit-brand{width:85px}
 .orbit-medallion{width:85px;height:85px;padding:14px;box-shadow:0 12px 25px #0006,0 0 0 4px #90b3750c,0 0 0 5px #90b37514}
 .orbit-brand>span{font-size:12px;margin-top:10px}
 .orbit-brand-7,.orbit-brand-8,.orbit-brand-9,.orbit-brand-10{display:none}
 .orbit-brand-1{--x:-34%!important;--y:-6%!important;--size:.9}
 .orbit-brand-2{--x:31%!important;--y:-4%!important;--size:.9}
 .orbit-brand-3{--x:-24%!important;--y:-34%!important;--size:.78}
 .orbit-brand-4{--x:23%!important;--y:-34%!important;--size:.7}
 .orbit-brand-5{--x:25%!important;--y:29%!important;--size:.91}
 .orbit-brand-6{--x:-26%!important;--y:28%!important;--size:.84}
 .brand-window-footer{grid-template-columns:1fr auto;gap:16px;margin-top:2px}
 .brand-total{gap:10px}.brand-total strong{font-size:40px}.brand-total>span{font-size:10px}
 .brand-directory-trigger{gap:15px;padding:6px 6px 6px 16px;min-height:50px;font-size:13px}.directory-arrow{width:35px;height:35px;font-size:22px}
 .brand-scroll-cue{display:none}
 .brands-dialog{width:calc(100% - 24px);max-height:90svh;border-radius:18px}
 .brand-directory{padding:24px 18px}
 .directory-header{gap:12px;margin-bottom:22px}.directory-header h2{font-size:32px}.directory-header .eyebrow{font-size:10px;margin-bottom:7px}.directory-close{width:40px;height:40px}
 .directory-tools{gap:15px;padding-bottom:20px}.brand-search{width:100%}.directory-count{font-size:12px}.brand-search input{font-size:16px;padding-inline:11px}
 .brand-directory .brand-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px}
 .brand-directory .brand-tile:nth-child(n){padding:24px 0 17px}
 .brand-directory .brand-surface{width:82px;height:82px;padding:10px}.brand-directory .brand-surface-original{padding:0}
 .brand-directory .brand-surface img{max-height:62px}.brand-directory .brand-surface-original img{max-height:82px}
 .brand-directory .brand-tile>span{font-size:11px;min-height:32px;line-height:1.5;margin-top:12px}
}
@media(max-width:370px){.brand-stage{height:365px}.orbit-brand{width:77px}.orbit-medallion{width:77px;height:77px}.brand-hub-icon img{width:72px;height:85px}.brand-hub-wordmark{width:94px}.brand-total strong{font-size:34px}.brand-total>span{font-size:9px}.brand-directory-trigger{gap:9px;padding-left:12px}.brand-directory .brand-surface{width:73px;height:73px}.brand-directory .brand-surface img{max-height:53px}.brand-directory .brand-surface-original img{max-height:73px}}
@media(min-width:761px) and (max-height:740px){.js .partners-universe{height:auto;min-height:0}.js .brand-window{height:auto;position:relative}.brand-scroll-cue{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.js .partners-universe{height:auto;min-height:0}.js .brand-window{height:auto;position:relative}.brand-scroll-cue{visibility:hidden}.orbit-brand{will-change:auto}.brands-dialog::backdrop{backdrop-filter:none}}
/* Keep the complete collection easy to close and search while browsing. */
.brands-dialog{height:min(86svh,1060px)}
.directory-top{position:sticky;top:-38px;padding-top:15px;margin-top:-15px;background:var(--paper);z-index:2}
.orbit-brand>span{font-size:calc(13px / var(--label-scale,1));color:#afbaa4}
@media(max-width:1050px){
 .js .partners-universe{height:185svh;min-height:1140px}
 .js .brand-window{position:sticky;top:min(0px,calc(100svh - 650px));height:100svh;min-height:650px;padding:28px 0}
 .brand-stage{height:clamp(315px,45svh,390px)}
 .orbit-brand>span{font-size:calc(11px / var(--label-scale,1))}
 .brands-dialog{height:90svh}.directory-top{top:-24px;padding-top:17px;margin-top:-17px}
 @media(max-width:760px){
 .js .hero-chapter{height:calc(max(100svh,760px) + 55svh);min-height:0}
 .js .hero{position:sticky;top:min(0px,calc(100svh - 760px));height:max(100svh,760px);min-height:760px}
 .js .hero-content{padding-top:125px;transform:translate3d(0,var(--copy-shift,0px),0)}
 .js .hero-image{transform:translate3d(0,var(--hero-shift,0px),0) scale(var(--hero-scale,1.015));transform-origin:30% 65%}
 .js .emblem-3d{transform:rotateX(var(--emblem-x,14deg)) rotateY(var(--emblem-y,-27deg)) rotateZ(-11deg)}
 }
 .brand-orbits{transform:rotate(calc(var(--orbit-turn) - 15deg))}
}
.motion-paused .partners-universe{height:auto;min-height:0}
.motion-paused .brand-window{position:relative;top:auto;height:auto}
.motion-paused .hero-chapter{height:auto;min-height:0}
.motion-paused .hero{position:relative;top:auto}
.motion-paused .hero-content,.motion-paused .hero-image{transform:none}
@media(prefers-reduced-motion:reduce){.js .partners-universe,.js .hero-chapter{height:auto;min-height:0}.js .brand-window,.js .hero{position:relative;top:auto}.js .brand-window{height:auto}.js .hero-content,.js .hero-image{transform:none!important}}
/* Original-resolution assets stay in full color; depth comes from position. */
.orbit-medallion img{filter:none;opacity:1}
.brand-batch-count{display:none}
@media(max-width:1050px){
 .js .partners-universe{height:310svh;min-height:1960px}
 .js .brand-window{min-height:700px;top:min(0px,calc(100svh - 700px));padding:25px 0 22px}
 .brand-stage{height:clamp(340px,47svh,410px);margin-bottom:22px}
 .orbit-brand{display:block;--x:0%;--y:0%}
 .orbit-brand[data-group]:not([data-group="0"]){opacity:0}
 .brand-window-footer{row-gap:18px}
 .brand-scroll-cue{display:flex;grid-column:1/-1;justify-self:center;font-size:11px;gap:12px}
 .brand-batch-count{display:block;font:11px Arial;color:#bdc8b3}
 .brand-scroll-cue>i{width:44px}
 .motion-paused .partners-universe{height:auto;min-height:0}
 .motion-paused .brand-window{position:relative;top:auto;height:auto;min-height:0}
 .motion-paused .brand-stage{height:auto;margin:25px auto;width:calc(100% - 52px)}
 .motion-paused .brand-orbits{display:none}
 .motion-paused .brand-hub{position:relative;left:auto;top:auto;margin:15px auto 45px;transform:none}
 .motion-paused .orbit-brands{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 10px}
 .motion-paused .orbit-brand{position:relative;left:auto;top:auto;transform:none!important;opacity:1!important;width:100%;display:flex;align-items:center;flex-direction:column}
 .motion-paused .orbit-medallion{width:76px;height:76px;transform:none}
 .motion-paused .orbit-brand>span{font-size:11px;white-space:normal;line-height:1.5}
 .motion-paused .brand-scroll-cue{display:none}
}
@media(min-width:1051px){
 .brand-stage{height:clamp(500px,53svh,650px);margin-top:30px}
 .brand-window-footer{margin-top:40px}
 .brand-window{min-height:850px;top:min(0px,calc(100svh - 850px))}
}
@media(min-width:1051px) and (max-height:900px){
 .brand-window{padding:30px 0;min-height:800px;top:min(0px,calc(100svh - 800px))}
 .brand-window-heading h2{font-size:46px}
 .brand-window-heading .eyebrow{margin-bottom:9px}
 .brand-window-heading>p:last-child{margin-top:9px;font-size:14px}
 .orbit-brand{width:112px}.orbit-medallion{width:112px;height:112px;padding:16px}
 .brand-hub{--hub-scale:.84!important}
 .brand-stage{margin-top:18px}.brand-window-footer{margin-top:28px}
}
@media(min-width:1051px){.brand-stage{width:min(1560px,calc(100% - 140px))}.js .brand-window{top:min(0px,calc(100svh - 850px))}}
@media(min-width:1051px) and (max-height:900px){.js .brand-window{top:min(0px,calc(100svh - 800px))}}
@media(max-width:1050px){html:not(.js) .brand-stage{display:none}html:not(.js) .brand-window{min-height:0}}
