:root{--bg:#05070d;--panel:#0c101a;--line:rgba(255,255,255,.13);--text:#f8fbff;--muted:#9ca8bb;--blue:#1597ff;--pink:#ff3f9c;--violet:#7b4dff;--grad:linear-gradient(100deg,var(--pink),var(--violet),var(--blue));--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 70% 0,#122040 0,#05070d 38%,#020306 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:78px;display:flex;align-items:center;gap:22px;padding:0 30px;position:sticky;top:0;z-index:20;background:rgba(4,6,12,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-transform:uppercase;font-weight:900;line-height:.9;letter-spacing:.02em}.brand img{width:64px;height:45px;object-fit:contain}.brand b{background:var(--grad);-webkit-background-clip:text;color:transparent}nav{display:flex;gap:22px;font-size:13px;font-weight:800;text-transform:uppercase;flex:1}nav a:hover,.footer a:hover{color:#50baff}.top-search{width:330px;display:flex;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.top-search input{flex:1;background:transparent;border:0;color:white;padding:13px 16px}.top-search button{width:48px;background:transparent;color:white;border:0;font-size:22px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:10px;font-weight:900;text-transform:uppercase;font-size:12px;border:1px solid var(--line);cursor:pointer}.btn.hot{background:var(--grad);border:0;color:#fff;box-shadow:0 12px 36px rgba(123,77,255,.28)}.btn.ghost{background:rgba(255,255,255,.04)}.menu-toggle{display:none}.hero{min-height:620px;position:relative;display:grid;grid-template-columns:1fr 320px;align-items:center;gap:32px;padding:70px 8vw;border-bottom:1px solid var(--line);overflow:hidden}.hero-media{position:absolute;inset:0;background:linear-gradient(90deg,#05070d 0%,rgba(5,7,13,.8) 28%,rgba(5,7,13,.1) 62%,#05070d 100%),url('/assets/img/mockup-home.jpeg') center/cover no-repeat;opacity:.72}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 72% 35%,rgba(255,63,156,.25),transparent 24%)}.hero-copy,.spotlight-card{position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:#66bdff;font-weight:900;font-size:12px}.hero h1{font-size:clamp(48px,7vw,96px);line-height:.9;margin:0 0 20px;text-transform:uppercase;max-width:760px}.hero h1 span{background:var(--grad);-webkit-background-clip:text;color:transparent}.hero p{max-width:560px;color:#e2e8f5;font-size:20px;line-height:1.45}.hero-actions{display:flex;gap:16px;margin-top:28px}.spotlight-card{background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.04));border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 20px 80px rgba(0,0,0,.4)}.spotlight-card span{color:#ff62b1;text-transform:uppercase;font-weight:900;font-size:12px}.coming-img,.art-img{height:170px;border-radius:16px;background:linear-gradient(135deg,rgba(255,63,156,.28),rgba(21,151,255,.28)),rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:#dfe9ff;font-weight:900;border:1px solid var(--line)}.finder{width:min(1200px,90vw);margin:-34px auto 20px;position:relative;z-index:3;display:grid;grid-template-columns:220px 1fr 1fr 220px;gap:16px;align-items:center;background:rgba(15,18,28,.94);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 25px 80px rgba(0,0,0,.45)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.06);color:white;padding:15px 18px}textarea{border-radius:18px;min-height:120px}.strip,.page-hero,.empty-state,.museum,.auth,.profile-preview,.studio,.dash,.chat-box,.timeline{width:min(1200px,90vw);margin:0 auto;padding:38px 0}.section-head{display:flex;align-items:center;justify-content:space-between}.strip h2,.page-hero h1{font-size:clamp(28px,4vw,58px);text-transform:uppercase;margin:.2em 0}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.category-grid.big{grid-template-columns:repeat(5,1fr)}.tile,.city-card,.choice-grid a,.dashboard-grid a,.feature-grid div{background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:16px;padding:22px;min-height:120px;display:flex;flex-direction:column;gap:10px;justify-content:center;transition:.2s}.tile:hover,.artist-card:hover,.city-card:hover,.choice-grid a:hover,.dashboard-grid a:hover{transform:translateY(-4px);border-color:rgba(80,186,255,.55)}.tile span{font-size:32px;background:var(--grad);-webkit-background-clip:text;color:transparent}.tile small,.city-card span,.artist-card p,.page-hero p,.empty-state p,.museum p,.auth p{color:var(--muted)}.card-row{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.artist-card{background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:16px;padding:10px;transition:.2s}.artist-card .art-img{height:210px}.artist-card h3{margin:14px 4px 0}.artist-card p,.artist-card span{margin:4px;color:var(--muted);font-size:13px}.museum{display:grid;grid-template-columns:1fr 1fr;gap:24px}.museum>div,.empty-state,.auth,.profile-hero,.editor,.live-preview{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:var(--radius);padding:34px}.footer{margin-top:60px;border-top:1px solid var(--line);padding:38px 5vw;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:20px;background:#03050a}.footer img{width:130px}.footer a{display:block;color:var(--muted);margin:10px 0}.city-grid,.choice-grid,.feature-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.auth{max-width:520px;display:flex;flex-direction:column;gap:14px}.auth.wide{max-width:760px}.mini-links{display:flex;gap:16px;flex-wrap:wrap;color:#67bdff}.profile-preview{min-height:540px;display:flex;align-items:center}.profile-hero{width:100%;min-height:430px;background:linear-gradient(90deg,rgba(5,7,13,.95),rgba(5,7,13,.35)),url('/assets/img/mockup-logo.jpeg') center/cover;border:1px solid var(--line)}.profile-hero h1{font-size:72px;margin:20px 0}.studio{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.chat-log{height:250px;overflow:auto;background:#060913;border:1px solid var(--line);border-radius:16px;padding:16px;margin:18px 0}.ai,.me{padding:12px 14px;margin:8px 0;border-radius:14px;background:rgba(255,255,255,.07)}.me{background:rgba(21,151,255,.18);margin-left:40px}.studio form{display:flex;gap:12px}.studio-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.phone{min-height:460px;border:10px solid #111827;border-radius:36px;background:linear-gradient(180deg,#11182b,#05070d);padding:26px}.mini-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.mini-gallery span{height:80px;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:var(--muted)}.dash{display:grid;grid-template-columns:240px 1fr;gap:28px}.dash aside{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:20px;padding:22px;height:max-content}.dash aside a{display:block;color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line)}.chat-box{background:#080c16;border:1px solid var(--line);border-radius:20px;padding:30px}.timeline div{padding:18px;border-left:3px solid var(--blue);background:rgba(255,255,255,.05);margin:10px 0}@media(max-width:980px){nav,.top-search,.site-header>.btn{display:none}.menu-toggle{display:block;margin-left:auto;background:none;color:white;border:1px solid var(--line);border-radius:10px;padding:10px}.hero{grid-template-columns:1fr;padding:56px 6vw}.spotlight-card{max-width:380px}.finder{grid-template-columns:1fr;margin:0 auto 20px}.category-grid,.category-grid.big,.card-row,.city-grid,.choice-grid,.feature-grid,.dashboard-grid,.museum,.studio,.dash,.footer{grid-template-columns:1fr}.hero-actions,.studio form{flex-direction:column}.site-header.menu-open nav{display:flex;position:absolute;left:0;right:0;top:78px;background:#05070d;flex-direction:column;padding:20px}.site-header.menu-open .top-search{display:flex;position:absolute;left:20px;right:20px;top:360px;width:auto}} 
.status{margin:14px 0;padding:12px 14px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.05)}.status.bad{border-color:#ff6b6b}.form-grid{display:grid;gap:14px;max-width:760px}.form-grid input,.form-grid select,.form-grid textarea,.ai-box input{width:100%;padding:15px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:inherit}.form-grid textarea{min-height:140px}.studio-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:56px 6vw}.studio-left,.studio-right,.panel{border:1px solid rgba(255,255,255,.12);border-radius:28px;background:rgba(255,255,255,.05);padding:28px}.chat-log{height:260px;overflow:auto;display:grid;gap:10px;margin:14px 0}.chat-log .ai,.chat-log .me{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.08)}.chat-log .me{background:rgba(130,90,255,.22);margin-left:40px}.artist-preview-card{padding:28px;border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14)}.fine{opacity:.72;font-size:.9rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:24px 6vw 64px}@media(max-width:900px){.studio-layout,.grid-3{grid-template-columns:1fr}.studio-layout{padding:30px 18px}}

/* V1.3 customer launch additions */
.photo-panel{min-height:260px;border-radius:24px;background-size:cover;background-position:center;border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.28)}
.city-hero-photo{min-height:360px;border-radius:28px;background-size:cover;background-position:center;border:1px solid var(--line);margin:22px 0}
.integration-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.integration-card{border:1px solid var(--line);background:rgba(255,255,255,.055);border-radius:18px;padding:18px}.pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#b8c5e0;font-size:12px;margin:4px}.checklist li{margin:9px 0;color:#dfe8fb}.notice{border:1px solid rgba(21,151,255,.45);background:rgba(21,151,255,.1);padding:16px;border-radius:16px;margin:16px 0}.env-table{width:100%;border-collapse:collapse}.env-table th,.env-table td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.env-table code{color:#95d6ff}
@media(max-width:980px){.integration-grid{grid-template-columns:1fr}.env-table{font-size:13px}}


/* ============================================================
   SPRINT FIXES: Hero rebuild, city photo cards, events, footer
   ============================================================ */

/* --- TASK 1: Clean hero --- */
.hero{min-height:720px;position:relative;display:block;grid-template-columns:none;padding:0;border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 78% 20%,rgba(123,77,255,.35),transparent 45%),radial-gradient(circle at 15% 85%,rgba(255,63,156,.28),transparent 45%),linear-gradient(160deg,#0a0f1e 0%,#05070d 55%,#020306 100%)}
.hero-inner{position:relative;z-index:1;max-width:1240px;margin:0 auto;min-height:720px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:56px;padding:90px 6vw}
.hero-copy{max-width:640px}
.hero-copy .eyebrow{margin:0 0 22px}
.hero h1{font-size:clamp(48px,6.4vw,92px);line-height:.92;margin:0 0 24px;text-transform:uppercase;letter-spacing:-.01em}
.hero h1 span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .hero-sub{max-width:560px;color:#e2e8f5;font-size:19px;line-height:1.5;margin:0}
.hero-actions{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap}

/* Hero right visual card */
.hero-visual{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03));border:1px solid var(--line);border-radius:26px;padding:16px;box-shadow:0 30px 90px rgba(0,0,0,.5);backdrop-filter:blur(14px)}
.hero-visual-photo{position:relative;height:320px;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,63,156,.30),rgba(123,77,255,.28) 45%,rgba(21,151,255,.30)),radial-gradient(circle at 30% 30%,rgba(255,255,255,.12),transparent 40%),#0a0e1a;border:1px solid rgba(255,255,255,.10)}
.hero-placeholder-watermark{position:absolute;font-size:clamp(38px,6vw,64px);font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#fff;opacity:.11;transform:rotate(-18deg);pointer-events:none;white-space:nowrap;user-select:none}
.hero-visual-body{padding:18px 10px 8px}
.hero-visual-tag{display:inline-block;color:#ff62b1;text-transform:uppercase;font-weight:900;font-size:11px;letter-spacing:.14em;margin-bottom:10px}
.hero-visual-body h3{margin:0 0 10px;font-size:22px;text-transform:uppercase}
.hero-visual-body p{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 18px}

/* --- Search below hero --- */
.finder-below{margin:-40px auto 30px}

/* --- Responsive hero --- */
@media(max-width:980px){
  .hero{min-height:640px}
  .hero-inner{grid-template-columns:1fr;min-height:640px;gap:36px;padding:64px 6vw}
  .hero-visual{max-width:460px}
  .finder-below{margin:0 auto 24px}
}
@media(max-width:620px){
  .hero{min-height:620px;height:auto}
  .hero-inner{min-height:620px}
  .hero-visual-photo{height:240px}
}

/* --- TASK 2: City photo cards --- */
.city-grid{grid-template-columns:repeat(3,1fr)}
.city-card.photo-card{position:relative;padding:0;min-height:190px;border-radius:24px;overflow:hidden;display:flex;align-items:flex-end;border:1px solid var(--line);background:#0a0e1a;transition:.22s}
.city-card.photo-card img.city-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.city-card.photo-card .city-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(3,5,10,.92) 0%,rgba(3,5,10,.45) 45%,rgba(3,5,10,.10) 100%)}
.city-card.photo-card .city-body{position:relative;z-index:2;padding:20px}
.city-card.photo-card .city-body b{display:block;font-size:22px;text-transform:uppercase}
.city-card.photo-card .city-body small{display:block;color:#c8d2e6;font-size:12px;margin-top:4px}
.city-card.photo-card .city-body .city-soon{display:block;color:#9ca8bb;font-size:12px;margin-top:2px}
.city-card.photo-card .city-cta{display:inline-block;margin-top:12px;font-weight:900;text-transform:uppercase;font-size:12px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.city-card.photo-card:hover{transform:translateY(-4px);border-color:rgba(80,186,255,.6);box-shadow:0 18px 60px rgba(123,77,255,.35),0 0 0 1px rgba(255,63,156,.25)}
@media(max-width:980px){.city-grid{grid-template-columns:1fr}}
@media(min-width:640px) and (max-width:980px){.city-grid{grid-template-columns:repeat(2,1fr)}}

/* --- TASK 5/7: Footer brand block --- */
.footer-brand .footer-copy{color:var(--text);font-weight:800;margin:14px 0 6px}
.footer-brand .footer-emg{color:var(--muted);margin:2px 0;font-size:13px}
.footer h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.08em}

/* --- TASK 4: Events preview cards --- */
.events-search{width:min(1200px,92vw);margin:24px auto;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:center;background:rgba(15,18,28,.94);border:1px solid var(--line);border-radius:18px;padding:20px}
.events-grid{width:min(1200px,92vw);margin:12px auto 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.event-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.05);transition:.2s}
.event-card:hover{transform:translateY(-4px);border-color:rgba(80,186,255,.55)}
.event-card .event-thumb{height:150px;display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#dfe9ff;background:linear-gradient(135deg,rgba(255,63,156,.28),rgba(21,151,255,.28)),rgba(255,255,255,.05)}
.event-card .event-body{padding:18px}
.event-card .event-body h3{margin:0 0 6px;font-size:18px}
.event-card .event-body p{margin:0;color:var(--muted);font-size:13px}
.event-card .event-tag{display:inline-block;margin-top:12px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#66bdff}
@media(max-width:980px){.events-search{grid-template-columns:1fr}.events-grid{grid-template-columns:1fr}}

/* --- TASK 6: Portal page --- */
.portal-wrap{max-width:760px;margin:48px auto;padding:0 6vw}
.portal-card{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:26px;padding:40px}
.portal-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:28px 0}
.portal-tile{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.04);transition:.2s}
.portal-tile:hover{transform:translateY(-4px);border-color:rgba(80,186,255,.55)}
.portal-tile b{font-size:17px;text-transform:uppercase}
.portal-tile small{color:var(--muted)}
.portal-form{display:grid;gap:14px}
@media(max-width:640px){.portal-tiles{grid-template-columns:1fr}}
