:root { --orange:#ff3c00; --ink:#171717; --muted:#707070; --line:#e8e8e8; font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Arial,sans-serif; color:var(--ink); background:#fff; font-synthesis:none; -webkit-font-smoothing:antialiased; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:82px; }
body { margin:0; font-size:16px; line-height:1.5; }
body.dialog-open { overflow:hidden; }
button,input { font:inherit; }
button { cursor:pointer; color:inherit; }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; }
img { display:block; max-width:100%; }
svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
h1,h2,h3,p,figure { margin:0; }
button:focus-visible,a:focus-visible,input:focus-visible { outline:3px solid var(--orange); outline-offset:6px; }
.section-special :focus-visible { outline-color:white; }
[hidden] { display:none !important; }
.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; }
.skip-link { position:fixed; top:10px; left:18px; z-index:100; padding:12px 20px; background:var(--ink); color:white; border-radius:8px; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.site-header { position:sticky; top:0; z-index:20; background:var(--orange); color:white; border-bottom:1px solid #ffffff24; }
.header-inner { max-width:1440px; height:88px; margin:0 auto; padding:0 64px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.brand { display:inline-flex; flex:0 0 auto; align-items:center; }
.brand img { width:164px; height:auto; }
.site-header .brand img { filter:brightness(0) invert(1); }
.site-header :focus-visible { outline-color:white; }
.desktop-nav { display:flex; gap:34px; margin-left:auto; margin-right:28px; }
.desktop-nav a { color:#ffffffbf; font-size:14px; font-weight:500; transition:color .2s; }
.desktop-nav a:hover,.desktop-nav a[aria-current] { color:white; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:54px; padding:14px 23px; border:1px solid var(--ink); border-radius:99px; background:var(--ink); color:white; font-size:14px; font-weight:600; line-height:1.3; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); background:#303030; }
.button>span { font-size:20px; font-weight:400; line-height:1; }
.button-small { min-height:42px; padding:10px 19px; gap:20px; font-size:13px; }
.button-white { background:white; border-color:white; color:var(--ink); }
.button-white:hover { background:#f0f0f0; }
.menu-button,.mobile-nav { display:none; }
.showcase { position:relative; overflow:hidden; }
.section-popup { background:var(--orange); color:white; }
.section-popup .section-description { color:#ffffffe0; }
.section-popup .app-preview { color:white; }
.section-popup :focus-visible { outline-color:white; }
.section-inner { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:70px; width:min(100%,1440px); min-height:738px; margin:0 auto; padding:90px 80px 86px; }
.section-copy { position:relative; z-index:2; }
.eyebrow { display:flex; align-items:center; gap:9px; margin-bottom:28px; font-size:11px; font-weight:600; line-height:1.6; letter-spacing:.095em; text-transform:uppercase; }
.small-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--orange); }
h1,.showcase h2 { font-size:clamp(45px,5.1vw,76px); line-height:1.045; font-weight:550; letter-spacing:-.055em; }
h1 { max-width:660px; }
.section-description { max-width:390px; margin:27px 0 32px; color:#6c6c6c; font-size:17px; font-weight:400; line-height:1.7; letter-spacing:-.015em; }
.app-preview { align-self:center; width:100%; max-width:510px; justify-self:center; color:var(--ink); }
.pin-stage { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:425px; padding-top:35px; }
.map-pin { --pin-tilt:0deg; display:block; position:relative; padding:0; border:0; background:none; isolation:isolate; rotate:calc(var(--pin-tilt) + var(--pin-hover-tilt,0deg)); }
.standard-pin { width:280px; aspect-ratio:109 / 128; transition:transform .3s ease; }
.standard-pin:hover { transform:translateY(-7px); }
.pin-photo { position:absolute; z-index:-1; width:85.321%; height:71.094%; top:5.859%; left:7.339%; object-fit:cover; border-radius:32.258%; }
.pin-frame { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.live-badge { --live-scale:1.8; position:absolute; z-index:3; top:6%; left:50%; transform:translate(-50%,-50%); display:inline-flex; align-items:center; justify-content:center; gap:calc(5px * var(--live-scale)); width:max-content; height:calc(20px * var(--live-scale)); padding:0 calc(8px * var(--live-scale)); border:0; border-radius:99px; background:var(--orange); color:white; box-shadow:0 2px 5px #0002; font-family:system-ui,sans-serif; font-size:calc(12px * var(--live-scale)); font-weight:700; letter-spacing:0; line-height:1; }
.live-label { display:block; flex:none; width:2.5390779em; height:.7045898em; }
.live-badge i { display:block; width:calc(5px * var(--live-scale)); height:calc(5px * var(--live-scale)); border-radius:50%; background:white; animation:live-blink 1.4s steps(1,end) infinite; }
.pin-shadow { position:absolute; top:70%; left:50%; width:95px; height:13px; border-radius:50%; background:#00000012; filter:blur(10px); transform:translateX(-50%); }
.section-special { background:var(--ink); color:white; isolation:isolate; overflow:clip; }
.section-special::before { content:""; position:absolute; inset:calc(-1 * var(--special-parallax-travel,700px) - 48px) -32px -48px; z-index:-1; background:url("assets/special-background.jpg") center / cover no-repeat; filter:blur(16px); opacity:.3; transform:translate3d(0,var(--special-parallax-y,0px),0); will-change:transform; pointer-events:none; }
.section-special .section-inner { min-height:780px; padding-block:0; }
.special-preview { position:relative; align-self:stretch; }
.reverse { grid-template-columns:1fr 1.1fr; min-height:820px; padding-top:68px; padding-bottom:68px; }
.reverse .section-copy { grid-column:2; grid-row:1; }
.reverse .app-preview { grid-column:1; grid-row:1; }
.section-special .eyebrow { color:#ffffffb8; }
.section-special .section-description { color:#ffffffe0; }
.section-special .app-preview { color:white; }
.special-stage { --special-frame-width:560px; position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; padding-top:48px; }
.special-profile { display:flex; flex:none; align-items:center; gap:18px; width:min(340px,var(--special-frame-width)); color:inherit; font-family:system-ui,sans-serif; }
.special-profile-avatar { position:relative; display:block; flex:none; width:100px; height:100px; }
.special-profile-photo { width:100%; height:100%; object-fit:cover; -webkit-mask:url("assets/profile-mask.svg") center / contain no-repeat; mask:url("assets/profile-mask.svg") center / contain no-repeat; }
.special-profile-outline { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.special-profile-copy { min-width:0; }
.special-profile-copy strong { display:flex; align-items:center; gap:6px; font-size:27px; font-weight:600; letter-spacing:-.02em; line-height:1.25; }
.special-profile-copy strong img { flex:none; width:22px; height:22px; }
.special-profile-copy p { margin-top:6px; color:#ffffffe0; font-size:17px; font-weight:400; line-height:1.45; }
.special-pin { flex:none; width:var(--special-frame-width); margin-top:64px; aspect-ratio:146 / 269; transform-origin:50% 25%; transition:translate .22s ease,rotate .22s ease; }
@media(hover:hover) and (pointer:fine) { .special-pin:hover { --pin-hover-tilt:-.5deg; translate:0 -6px; } }
.special-media { position:absolute; z-index:-1; inset:0; background:#3d1a20; -webkit-mask:url("assets/app-special-mask.svg") center / 100% 100% no-repeat; mask:url("assets/app-special-mask.svg") center / 100% 100% no-repeat; }
.special-media video { position:absolute; left:6.8%; top:3.7%; width:86.4%; height:82.6%; object-fit:cover; display:block; }
.special-pin .live-badge { --live-scale:3; top:0; }
.section-event { background:white; color:var(--ink); }
.section-event .section-inner { min-height:735px; }
.section-event .eyebrow { color:#ffffff70; }
.section-event .section-description { color:#6c6c6c; }
.section-event .app-preview { color:var(--ink); }
.section-event .pin-shadow { background:#00000012; }
.partner-badge { position:absolute; z-index:4; top:11%; left:-6%; width:72px; height:72px; padding:6px; background:white; border-radius:32%; box-shadow:0 2px 5px #0002; transform:rotate(-6.5deg); }
.partner-badge img { width:100%; height:100%; border-radius:27%; object-fit:cover; }
.closing { padding:110px 24px 120px; text-align:center; }
.closing .eyebrow { justify-content:center; margin-bottom:27px; }
.closing h2 { font-size:clamp(42px,5vw,72px); line-height:1.08; letter-spacing:-.055em; font-weight:550; }
.closing h2 span { color:#9c9c9c; }
.closing>p:not(.eyebrow) { margin-top:23px; color:#848484; font-size:14px; }
.closing .button { margin-top:30px; }
.site-footer { display:flex; flex-wrap:wrap; align-items:center; gap:30px; max-width:1440px; margin:0 auto; padding:35px 64px; border-top:1px solid var(--line); }
.site-footer .brand img { width:128px; }
.site-footer>p { color:#999; font-size:11px; }
.site-footer nav { display:flex; gap:24px; margin-left:auto; color:#777; font-size:11px; }
.copyright { color:#999; font-size:10px; margin-left:15px; }
dialog { position:fixed; max-width:calc(100% - 32px); max-height:calc(100dvh - 48px); padding:0; border:1px solid #dedede; border-radius:22px; color:var(--ink); background:white; box-shadow:0 32px 120px #0003; overscroll-behavior:contain; }
dialog::backdrop { background:#0009; backdrop-filter:blur(8px); }
.explore-dialog { width:1120px; padding:36px; }
.dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.dialog-header .eyebrow { margin-bottom:9px; color:#999; font-size:10px; }
.dialog-header h2 { font-size:32px; line-height:1.2; letter-spacing:-.04em; font-weight:550; }
.icon-button { flex:0 0 auto; display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid #dedede; border-radius:50%; background:white; font-size:28px; font-weight:300; line-height:1; }
.explore-tools { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:28px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.filter-tabs { display:flex; gap:6px; flex-wrap:wrap; }
.filter-tabs button { padding:9px 14px; border:1px solid #e6e6e6; border-radius:99px; background:white; font-size:12px; white-space:nowrap; }
.filter-tabs button[aria-pressed="true"] { border-color:var(--ink); background:var(--ink); color:white; }
.search-field { display:flex; align-items:center; gap:8px; width:310px; min-height:40px; padding:10px 12px; border:1px solid #e5e5e5; border-radius:10px; color:#999; }
.search-field svg { width:16px; height:16px; flex:0 0 auto; }
.search-field input { min-width:0; width:100%; padding:0; border:0; outline-offset:3px; color:var(--ink); font-size:12px; background:transparent; }
.result-status { padding:18px 0; color:#888; font-size:11px; }
.explore-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.result-card { position:relative; min-width:0; padding:0; border:1px solid #e6e6e6; border-radius:12px; overflow:hidden; text-align:left; background:white; transition:box-shadow .2s; }
.result-card:hover { box-shadow:0 8px 25px #00000010; }
.result-visual { position:relative; aspect-ratio:1.42; overflow:hidden; background:#f0f0f0; }
.result-cover { width:100%; height:100%; object-fit:cover; }
.result-shade { position:absolute; inset:0; background:linear-gradient(180deg,#0006,transparent 50%,#0009); }
.result-organizer { position:absolute; left:12px; right:12px; top:12px; display:flex; align-items:center; gap:8px; color:white; font-size:13px; font-weight:600; }
.result-organizer img { width:38px; height:38px; border:3px solid white; border-radius:13px; object-fit:cover; }
.result-type { position:absolute; left:12px; bottom:12px; color:white; font-size:19px; font-weight:800; }
.result-copy { padding:13px; }
.result-copy h3 { font-size:13px; font-weight:600; }
.result-copy p { margin-top:4px; color:#888; font-size:10px; }
.empty-state { padding:50px 20px; text-align:center; }
.empty-state h3 { font-size:22px; font-weight:550; letter-spacing:-.025em; }
.empty-state p { margin:10px 0 22px; color:#888; font-size:13px; }
.detail-dialog { width:560px; }
.detail-close { position:absolute; top:15px; right:15px; z-index:5; box-shadow:0 2px 10px #0002; }
.detail-visual { position:relative; aspect-ratio:16 / 10; overflow:hidden; background:#222; }
.detail-visual>img,.detail-visual>video { width:100%; height:100%; object-fit:cover; display:block; }
.detail-visual.is-video { aspect-ratio:9 / 12; max-height:60dvh; }
.detail-visual.is-video>video { object-fit:contain; }
.detail-body { padding:27px; }
.detail-identity { display:flex; align-items:center; gap:10px; padding-bottom:20px; }
.detail-identity>img { width:45px; height:45px; object-fit:cover; border:3px solid white; border-radius:15px; box-shadow:0 0 0 1px #ddd; }
.detail-identity strong { display:flex; align-items:center; gap:5px; font-size:14px; font-weight:600; }
.detail-identity strong img { width:13px; height:13px; }
.detail-identity p { color:#888; font-size:11px; margin-top:2px; }
.detail-body .eyebrow { color:var(--orange); margin-bottom:8px; font-size:10px; }
.detail-body h2 { font-size:30px; line-height:1.15; font-weight:550; letter-spacing:-.04em; }
.detail-facts { display:grid; gap:12px; margin:22px 0; padding:18px 0; border-block:1px solid var(--line); color:#777; font-size:12px; }
.detail-facts p { display:flex; align-items:flex-start; gap:9px; }
.detail-facts svg { flex:0 0 auto; width:17px; height:17px; }
.detail-description { margin-bottom:20px; color:#777; font-size:13px; line-height:1.7; white-space:pre-line; }
.detail-actions { display:flex; gap:12px; }
.save-button { background:white; color:var(--ink); border-color:#ddd; }
.save-button:hover { background:#f8f8f8; }
.save-button[aria-pressed="true"] { border-color:var(--orange); color:var(--orange); }
.toast { position:fixed; bottom:25px; left:50%; z-index:100; transform:translateX(-50%); width:max-content; max-width:calc(100% - 32px); padding:12px 20px; border:1px solid #fff3; border-radius:99px; color:white; background:#222; box-shadow:0 8px 25px #0002; font-size:12px; text-align:center; }
@keyframes live-blink { 0%,49.99% { opacity:1; } 50%,100% { opacity:.2; } }
@media(min-width:1600px) { .section-inner { min-height:800px; } .reverse { min-height:850px; } }
@media(max-width:1320px) { .header-inner { padding-inline:48px; } .section-inner { padding-inline:58px; gap:50px; } }
@media(max-width:1200px) { .section-special .section-inner { min-height:650px; } .special-stage { --special-frame-width:460px; padding-top:40px; } .special-profile-avatar { width:88px; height:88px; } .special-profile-copy strong { font-size:25px; } .special-profile-copy p { font-size:15px; } .special-pin { margin-top:60px; } }
@media(max-width:1050px) {
  .header-inner { padding-inline:32px; gap:25px; } .desktop-nav { margin-right:0; gap:25px; }
  .section-inner { padding-inline:40px; gap:35px; min-height:680px; } h1,.showcase h2 { font-size:54px; }
  .section-description { font-size:15px; } .standard-pin { width:240px; } .pin-stage { min-height:385px; }
  .reverse { min-height:765px; } .section-special .section-inner { min-height:600px; } .special-stage { --special-frame-width:420px; padding-top:36px; } .special-profile { gap:14px; } .special-profile-avatar { width:80px; height:80px; } .special-profile-copy strong { font-size:23px; } .special-profile-copy p { font-size:14px; } .special-pin { margin-top:60px; }
  .site-footer { padding-inline:32px; gap:22px; } .site-footer>p { display:none; }
}
@media(min-width:761px) and (max-width:900px) { .section-special .section-inner { min-height:530px; } .special-stage { --special-frame-width:360px; } .special-profile-avatar { width:72px; height:72px; } .special-profile-copy strong { font-size:21px; } .special-profile-copy p { font-size:13px; } }
@media(max-width:760px) {
  html { scroll-padding-top:70px; } .header-inner { height:72px; padding-inline:24px; gap:18px; } .brand img { width:134px; }
  .desktop-nav,.header-cta { display:none; }
  .menu-button { display:flex; flex-direction:column; justify-content:center; gap:6px; width:42px; height:42px; padding:10px; border:0; border-radius:50%; background:#ffffff1f; }
  .menu-button span { display:block; width:22px; height:1.5px; background:white; transition:transform .2s; }
  .menu-button[aria-expanded="true"] span:first-child { transform:translateY(3.75px) rotate(45deg); } .menu-button[aria-expanded="true"] span:last-child { transform:translateY(-3.75px) rotate(-45deg); }
  .mobile-nav:not([hidden]) { display:grid; gap:2px; padding:8px 24px 20px; border-top:1px solid #ffffff24; }
  .mobile-nav a,.mobile-nav button { padding:12px 0; border:0; background:none; text-align:left; font-size:14px; } .mobile-nav button { color:white; }
  .section-inner,.section-inner.reverse { grid-template-columns:1fr; gap:46px; min-height:0; padding:65px 26px 38px; }
  .reverse .section-copy,.reverse .app-preview { grid-column:1; grid-row:auto; }
  h1,.showcase h2 { font-size:clamp(40px,8.9vw,62px); letter-spacing:-.05em; } .eyebrow { margin-bottom:22px; font-size:9px; }
  .section-description { max-width:430px; margin-top:23px; margin-bottom:27px; font-size:15px; line-height:1.7; }
  .button { min-height:49px; font-size:13px; padding:13px 21px; }
  .app-preview { max-width:460px; } .pin-stage { min-height:365px; padding-top:28px; } .standard-pin { width:240px; }
  .live-badge { --live-scale:1.6; }
  .special-pin .live-badge { --live-scale:2.6; }
  .section-special .section-inner { min-height:0; padding-top:65px; padding-bottom:0; gap:42px; } .special-preview { height:calc(clamp(340px,105vw,500px) + 128px); } .special-stage { --special-frame-width:min(420px,calc(100vw - 48px)); padding-top:16px; } .special-profile { gap:14px; } .special-profile-avatar { width:80px; height:80px; } .special-profile-copy strong { font-size:24px; } .special-profile-copy strong img { width:18px; height:18px; } .special-profile-copy p { font-size:15px; } .special-pin { margin-top:60px; } .section-event .section-inner { min-height:0; padding-top:65px; } .partner-badge { width:63px; height:63px; padding:5px; }
  .closing { padding:80px 24px 85px; } .closing h2 { font-size:clamp(38px,9vw,56px); } .closing>p:not(.eyebrow) { font-size:12px; }
  .site-footer { padding:30px 26px; gap:25px 16px; } .site-footer .brand img { width:112px; } .site-footer nav { gap:16px; font-size:10px; } .copyright { width:100%; margin-left:0; font-size:9px; }
  dialog { max-width:calc(100% - 20px); max-height:calc(100dvh - 20px); border-radius:18px; } .explore-dialog { padding:23px 18px; }
  .dialog-header h2 { max-width:240px; font-size:27px; } .dialog-header .eyebrow { font-size:9px; }
  .explore-tools { flex-direction:column; align-items:stretch; gap:14px; margin-top:22px; padding-bottom:17px; } .filter-tabs { gap:5px; } .filter-tabs button { padding:9px 13px; font-size:11px; } .search-field { width:100%; }
  .explore-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .result-organizer { top:9px; left:9px; gap:5px; font-size:10px; } .result-organizer img { width:28px; height:28px; border-width:2px; border-radius:9px; }
  .result-type { left:9px; bottom:9px; font-size:15px; } .result-copy { padding:10px; } .result-copy h3 { font-size:11px; } .result-copy p { font-size:9px; }
  .detail-body { padding:22px; } .detail-actions { flex-wrap:wrap; } .detail-visual.is-video { max-height:53dvh; }
}
@media(max-width:360px) { .special-profile-avatar { width:68px; height:68px; } .special-profile { gap:10px; } .special-profile-copy strong { font-size:21px; } .special-profile-copy p { font-size:13px; } .section-inner,.section-inner.reverse { padding-inline:21px; } .explore-grid { grid-template-columns:1fr; } .site-footer nav { gap:10px; } }
@media(prefers-reduced-motion:reduce) { .section-special::before { transform:none; will-change:auto; } .map-pin { rotate:none; } .special-pin { translate:none; } html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
