@font-face{font-family:InterLocal;src:local("Inter"),local("Segoe UI");font-display:swap;font-weight:400 700}
:root{--foreground:#111827;--muted:#6b7280;--border:#e5e7eb;--primary:#2563eb}
*{box-sizing:border-box;border-color:var(--border)}
html{-webkit-text-size-adjust:100%;font-family:InterLocal,Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;line-height:1.5}
body{margin:0;background:#fff;color:var(--foreground)}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%;height:auto}
.site-header{position:relative;z-index:30;width:100%;max-width:1008px;height:68px;margin:0 auto;border-bottom:1px solid #e5e7eb;border-radius:0 0 18px 18px;background:rgba(255,255,255,.96)}
.site-header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:100%;padding:0 .5rem}
.site-header-action{display:inline-flex;align-items:center;justify-self:start;gap:.65rem;padding:.5rem 0;border:0;color:#111827;background:transparent;font-size:.875rem;font-weight:400;cursor:pointer}
.site-header-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-search-action{justify-self:end}
.site-logo{display:flex;align-items:center;justify-content:center;width:48px;height:56px}
.site-logo img{width:40px;height:54px;object-fit:contain}
.site-header-action:hover{color:#30206d}
.overlay{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.48);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.overlay.is-open{opacity:1;visibility:visible}
.category-drawer{position:fixed;top:0;bottom:0;left:0;z-index:50;width:min(320px,88vw);padding:1rem;background:#fff;box-shadow:8px 0 30px rgba(0,0,0,.18);transform:translateX(-105%);transition:transform .25s ease}
.category-drawer.is-open{transform:translateX(0)}
.drawer-head,.search-dialog-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.drawer-head button,.search-dialog-head button{border:0;background:transparent;font-size:1.5rem;line-height:1;color:#6b7280;cursor:pointer}
.drawer-scroll{height:calc(100vh - 4.5rem);padding-top:.75rem;overflow:auto}
.drawer-home,.drawer-children a{display:block;padding:.65rem .5rem;border-radius:.5rem;color:#374151;font-size:.9375rem}
.drawer-home{margin-bottom:.25rem;color:#2563eb;font-weight:600;background:#eff6ff}
.drawer-children{padding:0 .5rem .35rem 1rem}
.drawer-children a:hover,.drawer-home:hover{background:#f3f4f6}
.category-drawer details{border-bottom:1px solid #f0f0f0}
.category-drawer summary{padding:.75rem .5rem;cursor:pointer;font-weight:600;list-style:none}
.category-drawer summary::-webkit-details-marker{display:none}
.category-drawer summary:after{content:'+';float:right;color:#9ca3af;font-weight:400}
.category-drawer details[open] summary:after{content:'−'}
.search-dialog{position:fixed;top:50%;left:50%;z-index:55;width:min(448px,90vw);padding:1.25rem 1.125rem 1.125rem;border:1px solid #d4deed;border-radius:.75rem;background:#f8fbff;box-shadow:0 12px 28px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translate(-50%,-45%);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}
.search-dialog.is-open{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.search-dialog-head{padding-bottom:.75rem;border-bottom:0}
.search-dialog-head strong{font-size:1rem;font-weight:700}
.search-dialog-head button{font-size:1.35rem;padding:.1rem .25rem}
.search-dialog form{display:flex;flex-direction:column;gap:.75rem;padding-top:.25rem}
.search-main-row{display:grid;grid-template-columns:104px minmax(0,1fr);gap:.5rem}
.search-dialog select,.search-dialog input{min-width:0;width:100%;height:2.4rem;padding:.5rem .7rem;border:1px solid #d4deed;border-radius:.5rem;outline:none;background:#f8fbff;color:#111827;font:inherit}
.search-dialog select{font-size:.875rem;font-weight:500}
.search-dialog input{font-size:.875rem}
.search-dialog input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb22}
.search-actions-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.all-albums{display:inline-flex;align-items:center;gap:.5rem;color:#374151;font-size:.875rem;cursor:pointer}
.all-albums input{width:1rem;height:1rem;margin:0;accent-color:#2563eb}
.search-dialog form button{min-width:4rem;height:2.25rem;padding:.35rem .8rem;border:1px solid #d4deed;border-radius:.5rem;color:#1f2937;background:#f8fbff;font-size:.875rem;cursor:pointer}
.search-dialog form button:hover{border-color:#2563eb;background:#eff6ff}
.reference-page{width:100%;min-height:100vh;background:#fff}
.reference-container{width:100%;max-width:1008px;margin:0 auto}
.home-container{padding:1rem}
.reference-section{padding:1.5rem 0}
.reference-section+.reference-section{border-top:1px solid #e5e7eb}
.reference-heading{margin-bottom:1rem}
.reference-heading h3{font-size:1rem;line-height:1.5;font-weight:600;margin:0;min-height:1.5rem}
.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:.25rem;row-gap:.75rem}
.reference-button{display:flex;align-items:center;justify-content:center;width:80%;min-height:2.25rem;margin:0 auto;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.2);border-radius:.75rem;color:#fff;background:#2563eb;box-shadow:0 4px 15px rgba(255,255,255,.1),0 4px 0 rgba(0,0,0,.3);font-size:.875rem;font-weight:400;line-height:1.25;text-align:center;transition:transform .2s ease,box-shadow .2s ease}
.reference-button:hover{transform:translateY(2px);box-shadow:0 2px 10px rgba(255,255,255,.15),0 2px 0 rgba(0,0,0,.3)}
.reference-button:active{transform:translateY(3px);box-shadow:none}
.gallery-container{padding:.5rem}
.reference-title{width:100%;margin-bottom:.75rem;overflow:hidden;border-radius:10px;color:#fff;background:#000}
.reference-title h2{margin:0;padding:.25rem;text-align:center;font-size:1.25rem;line-height:1.75rem;font-weight:400}
.reference-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.reference-card{display:flex;flex-direction:column;gap:1.5rem;overflow:hidden;padding:.75rem 0;background:#fff;border:1px solid var(--border);border-radius:.75rem;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:transform .2s ease}
.reference-card:hover{transform:scale(1.02)}
.reference-card-image{position:relative;width:100%;padding-top:120%;overflow:hidden;background:#f3f4f6}
.reference-card-image img,.reference-card-image video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.reference-card-image video{background:#080611}
.reference-card-body{padding:0 .5rem;text-align:center}
.reference-card-body h3{display:-webkit-box;overflow:hidden;margin:0;font-size:1rem;line-height:1.25rem;font-weight:400;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.reference-header{position:fixed;top:0;left:50%;z-index:10;width:100%;max-width:1008px;padding:.5rem .75rem;border-radius:0 0 12px 12px;transform:translateX(-50%);background:rgba(255,255,255,.8);box-shadow:0 1px 3px rgba(0,0,0,.1);backdrop-filter:blur(8px)}
.reference-header-inner{width:100%;margin:0 auto;padding:0 .5rem}
.reference-back{display:inline-flex;align-items:center;gap:.375rem;color:#4b5563;font-size:.875rem;transition:color .2s ease}
.reference-back:hover{color:#000}
.reference-detail{width:100%;max-width:800px;margin:0 auto;padding:5rem 1rem 1.25rem}
.reference-detail h1{margin:0 0 1.25rem;letter-spacing:-.025em;font-size:1.25rem;line-height:1.75rem;font-weight:700}
.reference-detail-content{display:flex;flex-direction:column;gap:.75rem}
.reference-detail-image{width:100%}
.reference-detail-image img,.reference-detail-image video{width:100%;height:auto;object-fit:contain}.reference-detail-image video{background:#080611}
.reference-prose{font-size:1rem;line-height:1.6;white-space:normal}
.empty{padding:6rem 0;text-align:center;color:var(--muted)}
.hero-carousel{position:relative;isolation:isolate;aspect-ratio:2.85/1;min-height:190px;max-height:360px;margin:18px auto 0;overflow:hidden;border-radius:18px;background:#e5e7eb;box-shadow:0 8px 24px rgba(17,24,39,.12)}
.carousel-track,.carousel-slide{position:absolute;inset:0;width:100%;height:100%}
.carousel-slide{display:block;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s ease}
.carousel-slide.is-active{opacity:1;visibility:visible}
.carousel-slide img{width:100%;height:100%;object-fit:cover}
.carousel-slide:after{position:absolute;inset:35% 0 0;content:"";background:linear-gradient(transparent,rgba(0,0,0,.5));pointer-events:none}
.carousel-caption{position:absolute;z-index:1;left:clamp(18px,4vw,40px);bottom:clamp(18px,4vw,34px);color:#fff;font-size:clamp(1rem,2vw,1.5rem);font-weight:650;text-shadow:0 1px 8px #0008}
.carousel-arrow{position:absolute;z-index:2;top:50%;display:grid;width:42px;height:42px;place-items:center;transform:translateY(-50%);border:1px solid #ffffff70;border-radius:50%;color:#fff;background:#11182775;font-size:30px;line-height:1;cursor:pointer;backdrop-filter:blur(5px);transition:background .2s ease}
.carousel-arrow:hover{background:#111827bb}.carousel-prev{left:16px}.carousel-next{right:16px}
.carousel-dots{position:absolute;z-index:2;right:0;bottom:15px;left:0;display:flex;justify-content:center;gap:8px}
.carousel-dot{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:#ffffff90;cursor:pointer;transition:width .2s ease,background .2s ease}
.carousel-dot.is-active{width:22px;background:#fff}
.service-float-btn{position:fixed;right:22px;bottom:24px;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:64px;height:64px;padding:6px;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff;background:linear-gradient(145deg,#7c3aed 4%,#b23bc7 48%,#ec4899 100%);box-shadow:0 0 0 1px rgba(192,132,252,.15),0 7px 18px rgba(236,72,153,.48),0 0 26px rgba(192,132,252,.28);font-size:12px;font-weight:800;line-height:1;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.service-float-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 0 0 1px rgba(255,255,255,.2),0 10px 25px rgba(236,72,153,.66),0 0 34px rgba(192,132,252,.4)}
.service-float-icon{display:grid;width:28px;height:28px;place-items:center}.service-float-icon svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-dialog{position:fixed;right:22px;bottom:98px;z-index:71;width:min(390px,calc(100vw - 32px));padding:16px;border:1px solid rgba(192,132,252,.35);border-radius:18px;background:rgba(18,16,30,.96);box-shadow:0 20px 60px rgba(0,0,0,.58);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}.service-dialog.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.service-dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#fff}.service-dialog-head button{width:30px;height:30px;border:0;border-radius:9px;color:#cbd5e1;background:rgba(255,255,255,.08);font-size:20px;cursor:pointer}.service-list{display:grid;gap:10px}.service-item{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.05)}.service-avatar{display:grid;width:42px;height:42px;flex:none;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#7c3aed,#ec4899);font-size:13px;font-weight:800}.service-copy{display:grid;min-width:0;gap:2px;flex:1}.service-copy strong{color:#fff;font-size:14px}.service-copy span{overflow:hidden;color:#cbd5e1;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.service-copy small{overflow:hidden;color:#94a3b8;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.service-actions{display:flex;gap:6px}.service-actions button,.service-actions a{padding:6px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#cbd5e1;background:rgba(255,255,255,.06);font-size:12px;cursor:pointer}.service-actions a{border-color:rgba(236,72,153,.6);color:#f9a8d4;background:rgba(236,72,153,.16)}
@media (min-width:640px){.reference-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:768px){.reference-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1024px){.reference-cards{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:639px){.reference-button{width:90%;font-size:.8125rem}}
@media (max-width:640px){.site-header{height:64px}.site-header-inner{padding:0 .75rem}.site-logo{width:42px;height:52px}.site-logo img{width:34px;height:46px}.site-header-action{gap:.5rem;font-size:.8125rem}}
@media (max-width:640px){.hero-carousel{width:calc(100% - 24px);min-height:150px;margin-top:12px;border-radius:14px;aspect-ratio:1.85/1}.carousel-arrow{width:34px;height:34px;font-size:25px}.carousel-prev{left:10px}.carousel-next{right:10px}.carousel-dots{bottom:10px}}

/* Reference palette: dark violet glass with subtle neon grid and star field. */
:root{--foreground:#fff;--muted:#94a3b8;--border:rgba(255,255,255,.1);--primary:#c084fc;--accent-pink:#ec4899;--glass:rgba(18,16,30,.72)}
body{isolation:isolate;color:var(--foreground);background:#06040a}
body:before,body:after{position:fixed;inset:0;z-index:-1;content:"";pointer-events:none}
body:before{opacity:.5;background-image:linear-gradient(rgba(167,139,250,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(167,139,250,.075) 1px,transparent 1px),radial-gradient(2px 2px at 20px 30px,#fff,transparent 90%),radial-gradient(2px 2px at 90px 70px,#a78bfa,transparent 90%),radial-gradient(2px 2px at 160px 120px,#f472b6,transparent 90%);background-size:40px 40px,40px 40px,250px 200px,250px 200px,250px 200px}
body:after{background:radial-gradient(ellipse at 8% 18%,rgba(139,92,246,.2),transparent 42%),radial-gradient(ellipse at 92% 78%,rgba(236,72,153,.13),transparent 40%),radial-gradient(ellipse at 54% 110%,rgba(59,130,246,.09),transparent 38%)}
.site-header{border-color:rgba(255,255,255,.1);border-radius:0 0 18px 18px;background:rgba(18,16,30,.72);box-shadow:0 8px 28px rgba(0,0,0,.22);backdrop-filter:blur(14px)}
.site-header-action{color:#e2e8f0}.site-header-action:hover{color:#c084fc}
.overlay{background:rgba(3,2,8,.76);backdrop-filter:blur(5px)}
.category-drawer{color:#fff;background:rgba(18,16,30,.98);box-shadow:8px 0 36px rgba(0,0,0,.55);border-right:1px solid rgba(255,255,255,.1)}
.drawer-head,.search-dialog-head{border-color:rgba(255,255,255,.1)}
.drawer-head button,.search-dialog-head button{color:#94a3b8}
.drawer-home,.drawer-children a{color:#cbd5e1}.drawer-home{color:#e9d5ff;background:rgba(124,58,237,.22)}
.drawer-children a:hover,.drawer-home:hover{background:rgba(192,132,252,.15)}
.category-drawer details{border-color:rgba(255,255,255,.08)}.category-drawer summary{color:#f8fafc}.category-drawer summary:after{color:#c084fc}
.search-dialog{border-color:rgba(192,132,252,.32);background:rgba(18,16,30,.97);box-shadow:0 18px 60px rgba(0,0,0,.58);backdrop-filter:blur(18px)}
.search-dialog select,.search-dialog input{border-color:rgba(255,255,255,.14);background:rgba(5,4,12,.68);color:#fff}
.search-dialog input::placeholder{color:#94a3b8}.search-dialog input:focus{border-color:#c084fc;box-shadow:0 0 0 3px rgba(192,132,252,.2)}
.all-albums{color:#cbd5e1}.all-albums input{accent-color:#c084fc}
.search-dialog form button{border-color:rgba(192,132,252,.42);color:#fff;background:linear-gradient(135deg,rgba(124,58,237,.84),rgba(236,72,153,.72))}
.search-dialog form button:hover{border-color:#f0abfc;background:linear-gradient(135deg,#7c3aed,#c084fc)}
.reference-page{background:transparent}.reference-section+.reference-section{border-color:rgba(255,255,255,.1)}
.reference-heading h3{color:#fff}.reference-button{border-color:rgba(255,255,255,.16);background:linear-gradient(135deg,#7c3aed,#c084fc);box-shadow:0 5px 20px rgba(124,58,237,.28),0 4px 0 rgba(0,0,0,.36)}
.reference-button:hover{box-shadow:0 5px 24px rgba(236,72,153,.34),0 2px 0 rgba(0,0,0,.36)}
.reference-title{color:#fff;background:linear-gradient(110deg,rgba(124,58,237,.92),rgba(18,16,30,.94) 58%,rgba(236,72,153,.75));box-shadow:0 8px 28px rgba(124,58,237,.18);border:1px solid rgba(255,255,255,.12)}
.reference-cards{color:#fff}.reference-card{border-color:rgba(255,255,255,.1);background:var(--glass);box-shadow:0 10px 30px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.07)}
.reference-card:hover{box-shadow:0 14px 34px rgba(124,58,237,.22),inset 0 1px rgba(255,255,255,.1)}
.reference-card-image{background:#12101e}.reference-card-body h3{color:#f8fafc}
.reference-header{border:1px solid rgba(255,255,255,.1);border-top:0;background:rgba(18,16,30,.84);box-shadow:0 8px 28px rgba(0,0,0,.3);backdrop-filter:blur(14px)}
.reference-back{color:#e9d5ff}.reference-back:hover{color:#fff}
.reference-detail h1{color:#fff}.reference-prose{color:#dbe4f0}.empty{color:#94a3b8}
.hero-carousel{border:1px solid rgba(255,255,255,.14);background:#12101e;box-shadow:0 12px 34px rgba(0,0,0,.42),0 0 28px rgba(124,58,237,.12)}
.carousel-arrow{border-color:rgba(255,255,255,.24);background:rgba(18,16,30,.72)}.carousel-arrow:hover{background:rgba(124,58,237,.88)}
.carousel-dot.is-active{background:#c084fc;box-shadow:0 0 12px rgba(192,132,252,.6)}


/* Keep customer service inside the layout viewport, including desktop scrollbars. */
.service-dialog{width:calc(100% - 32px);max-width:390px;right:16px;max-height:calc(100dvh - 116px);overflow-y:auto;overscroll-behavior:contain}.service-item{min-width:0}.service-actions{flex-wrap:wrap;flex-shrink:0}
@media(max-width:360px){.service-dialog{padding:12px}.service-item{gap:8px;padding:9px}.service-actions{max-width:62px}}
