/* SRCHN.PULSE design system v1 — from SRCHN_PULSE_Brand_Kit_v1.0 tokens */
@font-face{font-family:'Inter Display';src:url('/fonts/InterDisplay-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Inter Display';src:url('/fonts/InterDisplay-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Inter Display';src:url('/fonts/InterDisplay-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Inter Display';src:url('/fonts/InterDisplay-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Inter Display';src:url('/fonts/InterDisplay-Black.woff2') format('woff2');font-weight:900;font-display:swap}
:root{
 --pl-black:#000;--pl-night1:#050C42;--pl-night2:#15115F;--pl-night3:#3C176F;--pl-night4:#7A1FA2;
 --pl-magenta:#FF00B8;--pl-coral:#FF3B55;--pl-orange:#FF6A00;--pl-yellow:#FFC600;--pl-cyan:#00D4FF;--pl-blue:#0066FF;
 --pl-white:#fff;--pl-ink:#101018;--pl-g100:#F5F5F7;--pl-g200:#E5E5EA;--pl-g500:#8a8a96;--pl-g800:#242431;
 --pl-spectrum:linear-gradient(90deg,#FF00B8,#FF3B55,#FF6A00,#FFC600,#00D4FF,#0066FF);
 --pl-night:linear-gradient(160deg,#050C42 0%,#15115F 38%,#3C176F 72%,#7A1FA2 100%);
 --pl-card:#0d0f24;--pl-card2:#141736;--pl-line:rgba(255,255,255,.09);
 --pl-r:18px;--pl-font:'Inter Display',Inter,system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.pl-body{margin:0;background:var(--pl-black);color:var(--pl-white);font-family:var(--pl-font);font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased}
.pl-body img{max-width:100%;display:block}
.pl-body a{color:inherit;text-decoration:none}
.pl-wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.pl-icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* header */
.pl-header{position:sticky;top:0;z-index:60;background:rgba(0,0,0,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--pl-line)}
.pl-header-in{display:flex;align-items:center;gap:18px;height:64px}
.pl-logo{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.04em}
.pl-logo img{height:34px;width:auto}
.pl-logo .pl-pulse-tag{background:var(--pl-spectrum);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:900}
.pl-nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1}
.pl-nav::-webkit-scrollbar{display:none}
.pl-nav a{padding:8px 12px;border-radius:999px;font-size:13.5px;font-weight:600;color:#c9c9d6;white-space:nowrap}
.pl-nav a:hover{color:#fff;background:rgba(255,255,255,.07)}
.pl-nav a[aria-current]{color:#fff;background:linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)) padding-box,var(--pl-spectrum) border-box;border:1px solid transparent}
.pl-hacts{display:flex;gap:8px;align-items:center}
.pl-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--pl-line);background:var(--pl-card);color:#fff;cursor:pointer}
.pl-iconbtn:hover{border-color:rgba(255,255,255,.3)}
@media(max-width:900px){.pl-nav{display:none}.pl-nav.pl-open{display:flex;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:#05050f;padding:12px 16px;border-bottom:1px solid var(--pl-line)}}

/* buttons */
.pl-btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:12px 22px;border-radius:999px;font:700 14px/1 var(--pl-font);letter-spacing:.03em;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.pl-btn:active{transform:scale(.97)}
.pl-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.pl-btn-spectrum{background:var(--pl-spectrum);color:#fff;box-shadow:0 6px 24px rgba(255,0,184,.25)}
.pl-btn-ghost{background:rgba(255,255,255,.06);border-color:var(--pl-line);color:#fff}
.pl-btn-ghost:hover{border-color:rgba(255,255,255,.35)}
.pl-btn-sm{padding:9px 16px;font-size:12.5px}

/* hero */
.pl-hero{position:relative;min-height:min(78vh,720px);display:flex;align-items:flex-end;overflow:hidden;background:var(--pl-night)}
.pl-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.pl-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.86) 82%)}
.pl-hero-in{position:relative;z-index:2;width:100%;padding:96px 0 64px}
.pl-kicker{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 var(--pl-font);letter-spacing:.22em;text-transform:uppercase;color:#dcdcf0}
.pl-kicker::before{content:'';width:26px;height:2px;background:var(--pl-spectrum)}
.pl-h1{font:900 clamp(38px,6.4vw,76px)/1.02 var(--pl-font);letter-spacing:-.02em;margin:16px 0 14px;text-transform:uppercase}
.pl-h1 .pl-grad{background:var(--pl-spectrum);-webkit-background-clip:text;background-clip:text;color:transparent}
.pl-lede{font-size:clamp(15px,2vw,19px);color:#cfcfe2;max-width:620px;margin:0 0 26px}
.pl-cta-row{display:flex;gap:12px;flex-wrap:wrap}

/* sections */
.pl-sec{padding:56px 0 8px}
.pl-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}
.pl-h2{font:800 clamp(22px,3vw,32px)/1.15 var(--pl-font);letter-spacing:-.01em;margin:0}
.pl-h2 .pl-grad{background:var(--pl-spectrum);-webkit-background-clip:text;background-clip:text;color:transparent}
.pl-sub{color:var(--pl-g500);font-size:14px;margin:6px 0 0}
.pl-more{font:700 13px var(--pl-font);color:var(--pl-cyan);white-space:nowrap}

/* chips / filters */
.pl-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.pl-chip{padding:9px 16px;border-radius:999px;border:1px solid var(--pl-line);background:var(--pl-card);color:#cfcfe2;font:600 13px var(--pl-font);cursor:pointer}
.pl-chip:hover{border-color:rgba(255,255,255,.3);color:#fff}
.pl-chip[aria-pressed=true]{background:linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,.14)) padding-box,var(--pl-spectrum) border-box;border:1px solid transparent;color:#fff}

/* event cards */
.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.pl-ev{position:relative;border-radius:var(--pl-r);overflow:hidden;background:var(--pl-card);border:1px solid var(--pl-line);display:flex;flex-direction:column;transition:transform .18s ease,border-color .18s ease}
.pl-ev:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.28)}
.pl-ev-img{position:relative;aspect-ratio:16/10;background:var(--pl-night);overflow:hidden}
.pl-ev-img img{width:100%;height:100%;object-fit:cover}
.pl-ev-badge{position:absolute;top:10px;left:10px;padding:5px 10px;border-radius:8px;font:800 10.5px/1 var(--pl-font);letter-spacing:.1em;text-transform:uppercase}
.pl-ev-demo{background:#3a3a06;color:#ffe74d;border:1px dashed rgba(255,231,77,.6)}
.pl-ev-status{position:absolute;top:10px;right:10px;padding:5px 10px;border-radius:8px;font:800 10.5px/1 var(--pl-font);letter-spacing:.08em;text-transform:uppercase;background:rgba(0,0,0,.66);color:#fff;border:1px solid var(--pl-line)}
.pl-ev-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.pl-ev-title{font:800 17px/1.25 var(--pl-font);margin:0}
.pl-ev-meta{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#b9b9cc}
.pl-ev-meta span{display:flex;gap:7px;align-items:center}
.pl-ev-meta .pl-icon{width:14px;height:14px;color:var(--pl-cyan)}
.pl-ev-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px}
.pl-price{font:800 15px var(--pl-font);color:var(--pl-yellow)}
.pl-price em{font:600 11px var(--pl-font);color:var(--pl-g500);font-style:normal;display:block}

/* mood / locality cards */
.pl-mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.pl-mcard{position:relative;border-radius:var(--pl-r);overflow:hidden;aspect-ratio:4/5;border:1px solid var(--pl-line);display:flex;align-items:flex-end}
.pl-mcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;transition:transform .3s ease}
.pl-mcard:hover img{transform:scale(1.05)}
.pl-mcard::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.88))}
.pl-mcard-in{position:relative;z-index:2;padding:16px}
.pl-mcard-in h3{margin:0 0 4px;font:800 16px/1.2 var(--pl-font)}
.pl-mcard-in p{margin:0;font-size:12px;color:#c6c6da}

/* event detail */
.pl-evd-hero{position:relative;border-radius:var(--pl-r);overflow:hidden;background:var(--pl-night);min-height:340px;display:flex;align-items:flex-end;border:1px solid var(--pl-line)}
.pl-evd-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.pl-evd-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.9))}
.pl-evd-hero-in{position:relative;z-index:2;padding:32px}
.pl-evd-grid{display:grid;grid-template-columns:1fr 340px;gap:26px;margin-top:26px}
@media(max-width:900px){.pl-evd-grid{grid-template-columns:1fr}}
.pl-panel{background:var(--pl-card);border:1px solid var(--pl-line);border-radius:var(--pl-r);padding:22px}
.pl-panel h3{margin:0 0 12px;font:800 15px var(--pl-font);letter-spacing:.06em;text-transform:uppercase;color:#dcdcf0}
.pl-kv{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;font-size:14px}
.pl-kv dt{color:var(--pl-g500);font-weight:600}
.pl-kv dd{margin:0}
.pl-tkt{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--pl-line)}
.pl-tkt:last-child{border-bottom:0}
.pl-note{background:rgba(255,231,77,.07);border:1px dashed rgba(255,231,77,.45);color:#ffe74d;padding:10px 14px;border-radius:12px;font-size:13px}
.pl-note.blue{background:rgba(0,212,255,.07);border-color:rgba(0,212,255,.4);color:#aee9ff}

/* forms */
.pl-form{display:grid;gap:14px}
.pl-form label{display:grid;gap:6px;font:600 13px var(--pl-font);color:#cfcfe2}
.pl-input,.pl-form input,.pl-form select,.pl-form textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--pl-line);background:#0a0c1e;color:#fff;font:500 14px var(--pl-font)}
.pl-form input:focus,.pl-form select:focus,.pl-form textarea:focus{outline:none;border-color:var(--pl-cyan)}
.pl-form textarea{min-height:110px;resize:vertical}
.pl-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.pl-form-row{grid-template-columns:1fr}}
.pl-msg{font-size:13.5px;font-weight:600;min-height:18px}
.pl-msg.ok{color:#69f0ae}.pl-msg.err{color:#ff8a80}

/* tables (admin/reports) */
.pl-table{width:100%;border-collapse:collapse;font-size:13.5px}
.pl-table th{text-align:left;padding:10px 12px;color:var(--pl-g500);font:700 11.5px var(--pl-font);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--pl-line)}
.pl-table td{padding:11px 12px;border-bottom:1px solid var(--pl-line);vertical-align:top}
.pl-table tr:hover td{background:rgba(255,255,255,.03)}
.pl-pill{display:inline-block;padding:4px 10px;border-radius:999px;font:700 11px var(--pl-font);letter-spacing:.05em;text-transform:uppercase}
.pl-pill.ok{background:rgba(105,240,174,.14);color:#69f0ae}
.pl-pill.warn{background:rgba(255,198,0,.14);color:#FFC600}
.pl-pill.bad{background:rgba(255,59,85,.16);color:#ff8a80}
.pl-pill.info{background:rgba(0,212,255,.13);color:#7fdcff}
.pl-pill.mut{background:rgba(255,255,255,.08);color:#b9b9cc}

/* stats */
.pl-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.pl-stat{background:var(--pl-card);border:1px solid var(--pl-line);border-radius:var(--pl-r);padding:18px}
.pl-stat b{display:block;font:900 26px var(--pl-font)}
.pl-stat span{font-size:12px;color:var(--pl-g500)}

/* search bar */
.pl-search{display:flex;gap:10px;flex-wrap:wrap;background:var(--pl-card);border:1px solid var(--pl-line);padding:14px;border-radius:var(--pl-r)}
.pl-search .pl-input{flex:1;min-width:180px}

/* footer */
.pl-footer{margin-top:70px;border-top:1px solid var(--pl-line);background:#05050f;padding:44px 0 34px}
.pl-footer-brand{font:900 20px var(--pl-font);letter-spacing:.04em}
.pl-footer-brand .pl-grad{background:var(--pl-spectrum);-webkit-background-clip:text;background-clip:text;color:transparent}
.pl-footer p{color:#9a9ab0;font-size:13px}
.pl-footer nav{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}
.pl-footer nav a{font:600 13px var(--pl-font);color:#cfcfe2}
.pl-footer nav a:hover{color:#fff}

/* demo banner */
.pl-demobar{position:sticky;top:64px;z-index:55;background:#3a3a06;color:#ffe74d;font:700 12.5px var(--pl-font);text-align:center;padding:7px 14px;letter-spacing:.03em}

/* verify module */
.pl-vf{padding-top:36px}
.pl-vf-hero{position:relative;overflow:hidden;background:var(--pl-night);border:1px solid var(--pl-line);border-radius:calc(var(--pl-r) + 6px);padding:38px 34px 34px}
.pl-vf-hero::after{content:'';position:absolute;right:-130px;top:-150px;width:340px;height:340px;background:radial-gradient(circle,rgba(255,0,184,.30),transparent 65%);pointer-events:none}
.pl-vf .pl-kicker{color:#e8e8f5}
.pl-vf-title{font:900 clamp(30px,6vw,46px)/1.05 var(--pl-font);letter-spacing:-.015em;margin:14px 0 10px;text-transform:uppercase}
.pl-vf-title .pl-grad{background:var(--pl-spectrum);-webkit-background-clip:text;background-clip:text;color:transparent}
.pl-vf-lede{margin:0;max-width:520px;color:#cfcfe2;font-size:15px}
.pl-vf-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.pl-vf-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--pl-line);font:600 12px var(--pl-font);color:#e6e6f2}
.pl-vf-chip .pl-icon{width:14px;height:14px}
.pl-legal{display:flex;gap:13px;align-items:flex-start;margin-top:16px;background:rgba(255,198,0,.055);border:1px solid rgba(255,198,0,.32);border-radius:var(--pl-r);padding:16px 18px}
.pl-legal>.pl-icon{color:var(--pl-yellow);margin-top:2px}
.pl-legal b{display:block;font:800 11.5px var(--pl-font);letter-spacing:.14em;text-transform:uppercase;color:var(--pl-yellow);margin-bottom:5px}
.pl-legal p{margin:0;font-size:12.5px;line-height:1.65;color:#ddd6a8}
.pl-vf-flow{margin-top:16px;padding:26px}
.pl-vf-flow h3{margin:0 0 10px;font:800 17px var(--pl-font);letter-spacing:.02em;color:#fff;text-transform:none}
.pl-vf-flow .pl-sub{font-size:14px;color:#b9b9cc;margin:0}
.pl-vf-flow .pl-cta-row{margin-top:18px}
.pl-vf-flow .pl-btn{line-height:1.35;text-align:center}
.pl-vf-flow .pl-note{margin:6px 0 0;padding:14px 16px}
.pl-steps{display:flex;gap:10px;margin:0 0 24px}
.pl-step{flex:1;display:flex;flex-direction:column;gap:7px}
.pl-step i{display:block;height:4px;border-radius:4px;background:var(--pl-card2)}
.pl-step span{font:700 10.5px var(--pl-font);letter-spacing:.09em;text-transform:uppercase;color:var(--pl-g500)}
.pl-step.on i{background:var(--pl-spectrum)}
.pl-step.on span{color:#fff}
.pl-cam{position:relative;border-radius:var(--pl-r);overflow:hidden;background:#0a0c1e;border:1px solid var(--pl-line);aspect-ratio:4/3;margin-top:16px;display:flex;align-items:center;justify-content:center}
.pl-cam video{width:100%;height:100%;object-fit:cover}
.pl-cam canvas{position:absolute;inset:0;width:100%;height:100%}
.pl-cam-msg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#b9b9cc;font-size:13.5px;text-align:center;padding:20px;background:#0a0c1e}
.pl-cam-msg .pl-icon{width:26px;height:26px}
.pl-vf-recnote{margin-top:14px!important;font-size:12.5px!important}
.pl-vf-manual{display:flex;gap:13px;align-items:flex-start;margin-top:18px;background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.35);border-radius:var(--pl-r);padding:16px 18px}
.pl-vf-manual>.pl-icon{color:var(--pl-cyan);margin-top:2px}
.pl-vf-manual b{display:block;font:800 11.5px var(--pl-font);letter-spacing:.14em;text-transform:uppercase;color:var(--pl-cyan);margin-bottom:5px}
.pl-vf-manual p{margin:0 0 12px;font-size:12.5px;line-height:1.65;color:#bfe4f5}
.pl-vf-policy{margin-top:16px;padding:26px}
.pl-vf-policy h3{display:flex;align-items:center;gap:9px;margin:0 0 8px}
.pl-vf-policy h3 .pl-icon{color:var(--pl-cyan)}
.pl-vf-policy .pl-kv{row-gap:0}
.pl-vf-policy .pl-kv dt,.pl-vf-policy .pl-kv dd{padding:11px 0;border-bottom:1px solid var(--pl-line)}
.pl-vf-policy .pl-kv dt:last-of-type,.pl-vf-policy .pl-kv dd:last-of-type{border-bottom:0}
.pl-vf-fine{margin:14px 0 0;font-size:12px;color:var(--pl-g500)}
@media(max-width:640px){
 .pl-vf{padding-top:24px}
 .pl-vf-hero{padding:26px 20px 24px}
 .pl-vf-flow,.pl-vf-policy{padding:20px}
 .pl-vf-flow .pl-cta-row{flex-direction:column}
 .pl-vf-flow .pl-cta-row .pl-btn{width:100%}
 .pl-step span{font-size:9px;letter-spacing:.05em}
}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:focus-visible{outline:2px solid var(--pl-cyan);outline-offset:2px}

@media(max-width:900px){.pl-hero{min-height:min(58vh,540px)}.pl-hero-in{padding:72px 0 56px}}
@media(max-width:640px){.pl-hero{min-height:0}.pl-hero-in{padding:52px 0 44px}}
