/* KREVIXA v2.1 — responsive design and scroller repairs. Keeps the working apps intact. */
:root{color-scheme:dark}
html,body{width:100%;max-width:100%;overflow-x:clip!important}
body{margin:0!important}
/* Desktop: no white internal scrollbar, no sidebar real estate when closed. */
@media (min-width:901px){
 .sidebar{scrollbar-width:none!important;overscroll-behavior:contain!important}
 .sidebar::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
 .sidebar-edge-trigger{opacity:0!important;width:14px!important;box-shadow:none!important;background:transparent!important;border:0!important;color:transparent!important}
 .sidebar-edge-trigger:hover,.sidebar-edge-trigger:focus-visible{opacity:1!important;background:#441a87!important;color:#fff!important;width:22px!important;border:1px solid #8e4df2!important;border-left:0!important}
 body.desktop-drawer-open .sidebar{box-shadow:12px 0 32px #0009!important}
 body.desktop-drawer-open .main-area{margin-left:260px!important;width:calc(100% - 260px)!important}
 .main-area{min-height:100dvh!important}
 body:has(#homePage:not(.hidden)) .topbar{background:linear-gradient(180deg,#060318eb,#06031865)!important;border-bottom:1px solid #7544a42a!important}
 body:has(#homePage:not(.hidden)) #homePage .neon-hero{margin-top:-80px!important;min-height:595px!important;padding-top:80px!important}
 body:has(#homePage:not(.hidden)) #homePage .hero-intro{min-height:515px!important;max-width:760px!important;padding-left:clamp(48px,6vw,120px)!important}
 #homePage .hero-video-wide{object-fit:cover!important;object-position:58% 50%!important;width:100%!important;height:100%!important;left:0!important;right:0!important;transform:none!important;filter:saturate(1.10) contrast(1.05)!important}
 #homePage .hero-motion-shade{background:linear-gradient(90deg,#050311f9 0%,#070316e8 28%,#08031b97 42%,transparent 76%),linear-gradient(0deg,#050315,transparent 17%)!important}
 #homePage .neon-features{margin-top:0!important}
 #homePage .category-card img{object-fit:cover!important;filter:brightness(1.1) saturate(1.15)!important}
 #homePage .category-card{background:#10082c!important}
 #homePage .category-card .cat-bottom{display:flex!important;flex-direction:column!important;position:absolute!important;left:0!important;bottom:0!important;right:0!important;padding:15px 10px 10px!important;z-index:4!important;background:linear-gradient(transparent,#030211db)!important}
 #homePage .category-card .cat-bottom strong{font-size:12px!important;color:#fff!important}
 #homePage .category-card .cat-bottom small{font-size:10px!important;color:#d3c8e9!important}
}
@media(min-width:901px) and (max-width:1280px){
 .desktop-brand span{font-size:17px!important}
 .topbar{padding:0 2.2vw!important;gap:14px!important}
 #homePage .hero-intro h1{font-size:clamp(35px,4.2vw,54px)!important}
 #homePage .neon-feature{min-height:170px!important}
 #homePage .neon-feature button{white-space:normal!important;line-height:1.2!important}
}
/* Small screens: restore normal document flow, remove inherited desktop layout sizes. */
@media(max-width:900px){
 html,body,.shell,.main-area,main{width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:clip!important}
 .main-area{margin:0!important;transform:none!important;transition:none!important;display:block!important}
 .shell{display:block!important}
 .sidebar{scrollbar-width:none!important;overflow-y:auto!important}
 .sidebar::-webkit-scrollbar{display:none!important}
 .topbar{height:70px!important;min-height:70px!important;width:100%!important;max-width:100%!important;position:relative!important;z-index:35!important;padding:0 16px!important;background:linear-gradient(90deg,#0c0428,#07031f)!important;border-bottom:1px solid #6b2caa65!important;display:flex!important;align-items:center!important;gap:10px!important;justify-content:flex-start!important;overflow:hidden!important}
 .desktop-brand,.top-nav-shortcuts,.topbar .crumb{display:none!important}
 .topbar .mobile-menu-toggle{order:0!important;position:static!important;transform:none!important;width:47px!important;height:47px!important;min-width:47px!important;flex:0 0 47px!important;padding:0!important;margin:0 3px 0 0!important;border-radius:14px!important;background:linear-gradient(130deg,#a019f1,#4333cf)!important;box-shadow:0 0 20px #8b27ff8a!important;border:1px solid #b67aff98!important}
 .topbar .mobile-menu-toggle .hamburger-lines{font-size:24px!important;line-height:1!important;color:#fff!important}
 .topbar .mobile-menu-toggle>span:last-child{display:none!important}
 .header-mobile-brand{display:flex!important;align-items:center!important;gap:7px!important;flex:0 1 auto!important;min-width:0!important;margin:0 auto 0 0!important;color:#fff!important;font-size:clamp(16px,5vw,23px)!important;letter-spacing:-.5px!important;white-space:nowrap!important}
 .header-mobile-brand img{display:block!important;width:39px!important;height:39px!important;flex:0 0 39px!important}
 .topbar .top-actions{width:auto!important;flex:0 0 auto!important;margin:0!important;align-items:center!important;gap:0!important}
 .topbar .top-actions>*:not(.avatar){display:none!important}
 .topbar .top-actions .avatar{display:grid!important;place-items:center!important;margin:0!important;position:static!important;width:39px!important;height:39px!important;flex:0 0 39px!important;font-size:15px!important}
 #homePage.page{width:100%!important;padding:0 12px 40px!important;overflow:visible!important;min-width:0!important}
 #homePage .neon-hero{width:calc(100% + 24px)!important;min-width:0!important;max-width:calc(100% + 24px)!important;margin:0 -12px!important;position:relative!important;min-height:560px!important;height:auto!important;padding:0!important;display:flex!important;align-items:stretch!important;border:0!important;overflow:hidden!important;background:radial-gradient(circle at 70% 30%,#25046c,#08021b 65%)!important}
 #homePage .hero-motion{inset:0!important;width:100%!important;height:100%!important;position:absolute!important;overflow:hidden!important}
 #homePage .hero-video-wide{display:none!important}
 #homePage .hero-video-portrait{display:block!important;left:0!important;top:0!important;right:auto!important;bottom:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 28%!important;mask-image:none!important;filter:saturate(1.16) contrast(1.03)!important}
 #homePage .hero-motion-shade{background:linear-gradient(0deg,#040218 1%,#06021bc9 36%,#06021b3d 70%,#0b041d75 100%),linear-gradient(90deg,#09031994,transparent 72%)!important}
 #homePage .hero-motion-orb{opacity:.4!important}
 #homePage .hero-intro{position:relative!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:560px!important;margin:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;padding:175px 21px 25px!important;background:none!important}
 #homePage .hero-intro .eyebrow{font-size:10px!important;letter-spacing:2.3px!important;color:#d471ff!important;margin-bottom:13px!important}
 #homePage .hero-intro h1{font-size:clamp(34px,9.4vw,50px)!important;line-height:1.02!important;letter-spacing:-1.8px!important;margin:0 0 15px!important;overflow-wrap:normal!important;max-width:100%!important}
 #homePage .hero-intro>p:not(.eyebrow){font-size:clamp(12px,3.7vw,15px)!important;line-height:1.55!important;margin:0 0 22px!important;max-width:450px!important;color:#ddd6f4!important}
 #homePage .hero-buttons{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:10px!important}
 #homePage .hero-buttons button{display:flex!important;align-items:center!important;justify-content:center!important;white-space:normal!important;line-height:1.2!important;min-height:52px!important;width:100%!important;padding:14px 8px!important;font-size:14px!important;border-radius:12px!important}
 #homePage .hero-caveat{font-size:9px!important;line-height:1.35!important;margin-top:15px!important;max-width:100%!important;color:#d9c9f4!important}
 /* Four functional cards in two columns; photography is bright and fills the cards. */
 #homePage .neon-features{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important;width:100%!important;margin:12px 0 20px!important}
 #homePage .neon-feature{position:relative!important;display:flex!important;flex-direction:column!important;min-width:0!important;min-height:205px!important;height:auto!important;isolation:isolate!important;padding:12px!important;overflow:hidden!important;border-radius:15px!important;background:#12092e!important;border:1px solid #9e4affbd!important;box-shadow:0 0 17px #671ad93c!important}
 #homePage .neon-feature img{position:absolute!important;top:0!important;right:0!important;bottom:0!important;width:67%!important;height:100%!important;object-fit:cover!important;object-position:center!important;opacity:1!important;mask-image:linear-gradient(90deg,transparent 0%,#000 40%)!important;filter:brightness(.95) saturate(1.2)!important;z-index:0!important}
 #homePage .neon-feature::after{content:''!important;position:absolute!important;z-index:1!important;inset:0!important;background:linear-gradient(90deg,#0b0629 0%,#0b0629eb 31%,#0b062975 57%,transparent 100%),linear-gradient(0deg,#09051d99,transparent 55%)!important;pointer-events:none!important}
 #homePage .neon-feature>div{position:relative!important;z-index:2!important;width:100%!important;max-width:100%!important;display:flex!important;align-items:flex-start!important;flex-direction:column!important;min-height:181px!important}
 #homePage .neon-feature .feature-icon{width:33px!important;height:33px!important;flex:0 0 33px!important;font-size:17px!important;margin:0 0 12px!important}
 #homePage .neon-feature h3{font-size:clamp(12px,3.35vw,15px)!important;line-height:1.18!important;margin:0 0 6px!important;max-width:100%!important;text-shadow:0 2px 10px #000!important}
 #homePage .neon-feature p{font-size:clamp(10px,2.7vw,12px)!important;line-height:1.4!important;color:#f2eafa!important;max-width:88%!important;margin:0 0 8px!important;text-shadow:0 1px 8px #000!important}
 #homePage .neon-feature button{margin:auto 0 0!important;border-radius:8px!important;font-size:clamp(9px,2.45vw,11px)!important;padding:9px 7px!important;min-height:34px!important;max-width:100%!important;width:auto!important;white-space:normal!important;line-height:1.12!important;position:relative!important;z-index:5!important}
 #homePage .neon-section-head{display:flex!important;align-items:flex-start!important;flex-direction:column!important;gap:8px!important;margin:14px 0 12px!important}
 #homePage .neon-section-head h2{font-size:clamp(20px,5.9vw,27px)!important;line-height:1.13!important;letter-spacing:-.6px!important}
 #homePage .neon-section-head .eyebrow{font-size:10px!important;letter-spacing:2px!important;margin:0 0 6px!important}
 #homePage .neon-section-head p{font-size:11px!important;line-height:1.4!important;margin-top:6px!important}
 #homePage .neon-section-head .quiet-btn{align-self:flex-end!important;min-height:34px!important;padding:8px 12px!important;font-size:11px!important}
 #homePage .neon-categories{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;margin:0!important}
 #homePage .category-card{height:150px!important;min-height:150px!important;background:#110627!important;border:1px solid #a046e9ab!important;border-radius:13px!important;position:relative!important;overflow:hidden!important;padding:0!important;box-shadow:0 0 12px #7f25d02b!important;display:block!important}
 #homePage .category-card img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 45%!important;opacity:1!important;filter:brightness(1.08) contrast(1.07) saturate(1.2)!important}
 #homePage .category-card .category-shade{position:absolute!important;inset:0!important;background:linear-gradient(0deg,#070319ea,transparent 58%)!important;z-index:1!important}
 #homePage .category-card .tag{z-index:3!important;left:8px!important;top:8px!important;padding:5px 7px!important;font-size:9px!important;color:#fff!important}
 #homePage .category-card .cat-bottom{position:absolute!important;display:flex!important;flex-direction:column!important;gap:3px!important;bottom:0!important;left:0!important;right:0!important;z-index:4!important;padding:18px 9px 10px!important;background:linear-gradient(transparent,#050312e8)!important;pointer-events:none!important;text-align:left!important}
 #homePage .category-card .cat-bottom strong{font-size:12px!important;line-height:1.15!important;color:white!important;text-shadow:0 2px 7px #000!important}
 #homePage .category-card .cat-bottom small{display:none!important}
 #homePage .neon-bottom-banner{width:100%!important;gap:12px!important;margin:18px 0 0!important;padding:16px!important}
 #homePage .neon-bottom-banner .primary{min-width:0!important;width:100%!important}
}
@media(max-width:360px){
 .header-mobile-brand{font-size:16px!important}.header-mobile-brand img{width:33px!important;height:33px!important;flex-basis:33px!important}
 #homePage .neon-feature{min-height:218px!important;padding:10px!important}
 #homePage .neon-feature>div{min-height:196px!important}
 #homePage .neon-feature p{font-size:10px!important;max-width:100%!important}
 #homePage .hero-intro{padding-left:17px!important;padding-right:17px!important}
 #homePage .category-card{height:130px!important;min-height:130px!important}
}
@media(prefers-reduced-motion:reduce){#homePage .hero-motion .hero-video{display:none!important}#homePage .hero-motion{background:url('assets/krevixa-sauvage-hero.jpg') center/cover!important}}
