/* Full-viewport gallery and purple brand presentation. */
[hidden]{display:none!important}
.home-page .site-header{position:fixed;inset:0 0 auto;z-index:50;background:#09080cf2;border-bottom:1px solid #ffffff18;padding:26px 5%}
.brand-icon{width:38px;height:38px;margin-right:12px;display:block}
.hero-gallery{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:56px;min-height:100vh;min-height:100svh;padding:160px 6% 110px;background:#09080c;overflow:hidden}
.hero-background,.hero-slide,.hero-slide img,.hero-slide video{position:absolute;inset:0;width:100%;height:100%}
.hero-background{z-index:-2;pointer-events:none}
.hero-slide{opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s;will-change:opacity}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide img,.hero-slide video{object-fit:cover;object-position:center}
.hero-slide video{opacity:0;transition:opacity .6s}
.hero-slide video.is-playing{opacity:1}
.hero-gallery:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#09080cdb 0%,#09080ca3 37%,#09080c25 75%),linear-gradient(0deg,#09080c 0%,transparent 30%,#09080c28 80%)}
.hero-gallery .hero-copy{width:min(740px,65%)}
.hero-gallery .eyebrow{color:#dfcbff;font-size:11px;letter-spacing:2.5px;margin-bottom:30px}
.hero-gallery h1{font-size:clamp(58px,6.8vw,108px);line-height:1.02;letter-spacing:-.065em;max-width:740px;margin-bottom:28px;text-wrap:balance}
.hero-gallery .intro{color:#d1c7dc;max-width:540px;font-size:17px;line-height:1.8}
.hero-gallery .actions{margin-top:34px;gap:28px}
.hero-gallery .button{background:var(--accent);color:var(--dark);box-shadow:0 0 35px #9d4dff20}
.hero-gallery .button:hover{background:#cfb3ff}
.hero-bottom{position:absolute;bottom:30px;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:22px;border-top:1px solid #ffffff24}
.hero-caption{display:flex;align-items:center;gap:22px;font-size:12px;color:#ded2e9}
.hero-count{font-size:11px;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}
.gallery-controls{display:flex;gap:8px}
.gallery-controls button{justify-content:center;min-width:44px;min-height:44px;padding:9px 14px;background:#17101ddd;color:#f7f3ff;border:1px solid #756583;border-radius:25px;font-size:13px}
.gallery-controls button:hover{background:#49325f}
.gallery-controls button[data-pause]{min-width:78px}
.hero-scroll{font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:18px;color:#ddd0ed}
.hero-scroll span{font-size:20px;color:var(--accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gallery-editor{margin-top:28px}
.gallery-editor>p{max-width:800px}
.gallery-editor .eyebrow{color:var(--accent);margin-bottom:12px}
.gallery-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0}
.gallery-slots fieldset{min-width:0;border:1px solid var(--line);border-radius:5px;padding:8px 20px 20px}
.gallery-slots legend{padding:0 9px;font-size:14px;color:var(--accent)}
.media-grid video{width:100%;height:110px;object-fit:cover;background:#000}
@media(max-width:1000px){.hero-gallery .hero-copy{width:75%}.hero-scroll{display:none}.hero-gallery h1{font-size:76px}}
@media(max-width:760px){.home-page .site-header{padding:18px 6%;gap:14px}.home-page .site-header nav{padding-top:4px}.hero-gallery{padding:178px 6% 154px;min-height:100svh;gap:25px}.hero-gallery .hero-copy{width:100%}.hero-gallery h1{font-size:clamp(48px,12vw,70px);max-width:540px}.hero-gallery .eyebrow{font-size:9px;letter-spacing:1.6px;line-height:1.8;margin-bottom:22px}.hero-gallery .intro{font-size:15px;line-height:1.7;max-width:440px}.hero-gallery .actions{gap:22px;margin-top:28px}.hero-gallery:after{background:linear-gradient(90deg,#09080ce8,#09080c80),linear-gradient(0deg,#09080c,transparent 70%)}.hero-slide img,.hero-slide video{object-position:65% center}.hero-bottom{flex-wrap:wrap;gap:12px;bottom:22px;padding-top:18px}.hero-caption{width:100%;gap:14px}.gallery-slots{grid-template-columns:1fr}.gallery-controls button{min-height:44px}.brand-icon{width:33px;height:33px}.hero-gallery .button{gap:20px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide video{transition:none}}

/* Keep navigation readable and anchor targets clear of the pinned bar. */
:root{--header-height:120px}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
.site-header{position:sticky;top:0;z-index:50;background:#09080cf2;backdrop-filter:blur(14px)}
.site-header nav{min-width:0;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding:6px 4px;scrollbar-width:thin}
.site-header>.brand,.site-header>.button{flex-shrink:0}
.hero-gallery{padding-top:max(160px,calc(var(--header-height) + 40px))}
@media(max-width:760px){.hero-gallery{padding-top:max(178px,calc(var(--header-height) + 40px))}}

/* Selected ES4 Ribbon identity. */
.brand-logo{display:block;width:142px;height:68px;object-fit:contain}footer .brand-logo{width:120px;height:58px}@media(max-width:760px){.brand-logo{width:120px;height:58px}}
