/* ==========================================================================
   NYC REAL ESTATE WEEK 2026
   Dark navy canvas · MetaProp royal-blue accent · Space Grotesk headers ·
   Space Mono meta text · circular portraits · rounded · whitespace, not lines.
   ========================================================================== */

:root{
  --bg:      #0C1D47;   /* metaprop.com dark navy */
  --bg-2:    #13295C;   /* lifted navy panel */
  --tx:      #F3F6FC;
  --muted:   #8B96B6;
  --muted-2: #737FA6;

  --royal:   #0D287F;   /* MetaProp royal blue (metaprop.com) — CTA + accent */
  --royal-2: #17399E;   /* hover (lightened for feedback on dark bg) */
  --blue:    #8DA0D0;   /* Landmark navy-300 — light accent / small text / links on navy */
  --yellow:  #FFC629;   /* MetaProp accent — used sparingly (the MetaProp link) */
  --danger:  #FF5C5C;   /* form validation errors only */

  --disp: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --body: "Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --mono: "Space Mono", ui-monospace, "SFMono-Regular", monospace;

  --r:  22px;
  --r-sm: 12px;
  --container: 1180px;
  --ribbon-h: 38px;
  --pad: clamp(72px, 10vw, 152px);
  --ease: cubic-bezier(.2,.7,.2,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:88px; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--body); background:var(--bg); color:var(--tx);
  line-height:1.6; font-size:16px; overflow-x:hidden;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; }
[hidden]{ display:none !important; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
input, select, textarea{ font-family:inherit; }
::selection{ background:var(--royal); color:#fff; }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:24px; }

/* ---- type ---- */
.h-xl{
  font-family:var(--disp); font-weight:700; line-height:.92; letter-spacing:-.035em;
  font-size:clamp(2.6rem, 1.6rem + 4.4vw, 5.4rem);
}
.kicker{
  font-size:.82rem; font-weight:600; letter-spacing:.02em; color:var(--muted);
  text-transform:none; display:flex; align-items:center; gap:8px;
}
.kicker--blue{ color:var(--blue); }
.lead{ font-size:clamp(1.05rem, 1rem + .4vw, 1.3rem); color:var(--muted); max-width:34ch; line-height:1.5; }
.note{ color:var(--muted-2); font-size:.9rem; }
.dot{ width:11px; height:11px; border-radius:50%; background:var(--royal); display:inline-block; flex:none; }

/* mono — the meta / label / caption tier */
.kicker, .quote cite, .badge, .logos__label, .note, .hero__by, .promo,
.spk__org, .footer__present, .footer__copy, .f label{ font-family:var(--mono); }
.spk__org{ font-size:.76rem; letter-spacing:-.01em; }
.hero__by, .promo{ letter-spacing:-.01em; }

/* ---- buttons (pills) ---- */
.btn{
  --bg-b:transparent; --bd:transparent; --fg:var(--tx);
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  background:var(--bg-b); color:var(--fg); border:1.5px solid var(--bd);
  border-radius:999px; font-weight:600; font-size:.98rem; height:50px; padding:0 26px;
  transition:transform .12s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn--cta{ --bg-b:var(--royal); --bd:var(--royal); --fg:#fff; }
.btn--cta:hover{ --bg-b:var(--royal-2); --bd:var(--royal-2); }
.btn--line{ --bd:rgba(255,255,255,.28); --fg:var(--tx); }
.btn--line:hover{ --bg-b:var(--tx); --bd:var(--tx); --fg:var(--bg); }
.btn--sm{ height:42px; padding:0 20px; font-size:.9rem; }
.btn--lg{ height:56px; padding:0 32px; font-size:1.02rem; }
.btn--block{ width:100%; }
.btn .arr{ transition:transform .2s var(--ease); }
.btn:hover .arr{ transform:translateX(4px); }
:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; }

.cta-row{ display:flex; flex-wrap:wrap; gap:14px; }

/* ======================= RIBBON ======================= */
.ribbon{ position:fixed; top:0; left:0; right:0; height:var(--ribbon-h); z-index:90; background:#091635;
  display:flex; align-items:center; transition:transform .35s var(--ease); }
.ribbon__inner{ max-width:1320px; margin-inline:auto; width:100%; padding-inline:24px; display:flex; align-items:center; justify-content:space-between;
  font-family:var(--mono); font-size:.74rem; letter-spacing:.02em; color:var(--blue); }
.ribbon__soon{ display:inline-flex; align-items:center; gap:8px; color:var(--muted); }
.ribbon__soon .dot{ width:7px; height:7px; }
.scrolled .ribbon{ transform:translateY(-100%); }

/* ======================= NAV ======================= */
.nav{ position:fixed; top:0; left:0; right:0; z-index:80; background:linear-gradient(180deg, rgba(5,11,26,.94) 0%, rgba(5,11,26,.74) 32%, rgba(5,11,26,.40) 62%, rgba(5,11,26,.10) 84%, transparent 100%); transition:background .25s var(--ease), backdrop-filter .25s; }
.nav.stuck{ background:rgba(12,29,71,.9); backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px); }
.nav__inner{ max-width:1320px; margin-inline:auto; padding:18px 24px; display:flex; align-items:center; gap:24px; }
.brand{ display:inline-flex; align-items:center; gap:10px; font-family:var(--disp); font-weight:600; font-size:1.05rem; letter-spacing:-.01em; }
.brand img{ height:26px; width:auto; display:block; filter:drop-shadow(0 1px 10px rgba(4,10,26,.6)); }
.footer .brand img{ height:30px; filter:none; }
.nav__links{ display:flex; gap:26px; margin-left:auto; }
.nav__links a{ color:rgba(255,255,255,.82); font-size:.95rem; font-weight:500; transition:color .2s; text-shadow:0 1px 10px rgba(4,10,26,.55); }
.nav__links a:hover{ color:#fff; }
.nav__actions{ display:flex; align-items:center; gap:18px; }
.nav__submit{ color:rgba(255,255,255,.82); font-size:.95rem; font-weight:500; transition:color .2s; text-shadow:0 1px 10px rgba(4,10,26,.55); }
.nav__submit:hover{ color:#fff; }
.nav.stuck .nav__links a, .nav.stuck .nav__submit{ text-shadow:none; }
.burger{ display:none; flex-direction:column; gap:6px; background:none; border:none; margin-left:auto; padding:8px; }
.burger span{ width:26px; height:2px; background:var(--tx); transition:transform .25s, opacity .25s; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(4px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ transform:translateY(-4px) rotate(-45deg); }

.drawer{ position:fixed; inset:0 0 0 auto; width:min(84vw,320px); z-index:79; background:var(--bg-2);
  padding:114px 32px 32px; display:flex; flex-direction:column; gap:8px; transform:translateX(100%); transition:transform .3s var(--ease); }
.drawer.open{ transform:translateX(0); }
.drawer a:not(.btn){ font-family:var(--disp); font-size:1.4rem; font-weight:600; padding:12px 0; color:var(--tx); }
.drawer .btn{ margin-top:16px; }

/* ======================= HERO ======================= */
.hero{ position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; }
.hero__bg{ position:absolute; inset:0; z-index:0; background:var(--bg); }
.hero__bg img, .hero__video{ width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.hero__scrim{ position:absolute; inset:0; background:
  linear-gradient(90deg, rgba(8,17,42,.95) 0%, rgba(8,17,42,.82) 32%, rgba(8,17,42,.55) 55%, rgba(8,17,42,.22) 74%, transparent 90%),
  linear-gradient(180deg, rgba(8,17,42,.62) 0%, rgba(8,17,42,.14) 13%, transparent 28%, transparent 46%, rgba(8,17,42,.55) 82%, var(--bg) 100%); }
.hero__inner{ position:relative; z-index:2; padding-top:132px; padding-bottom:72px; }
.hero__eyebrow{ display:inline-flex; align-items:center; gap:11px; font-family:var(--mono); font-weight:700; font-size:clamp(.98rem, .86rem + .5vw, 1.25rem); letter-spacing:.14em; text-transform:uppercase; color:#dbe4f6; margin-bottom:20px; text-shadow:0 1px 12px rgba(4,10,26,.5); }
.hero__eyebrow .dot{ width:9px; height:9px; }
.badge{ display:inline-flex; align-items:center; gap:9px; font-size:.85rem; font-weight:600; color:var(--tx);
  border:1.5px solid rgba(255,255,255,.26); border-radius:999px; padding:8px 16px; margin-bottom:24px;
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.badge__dot{ width:8px; height:8px; border-radius:50%; background:var(--royal); animation:pulse 2.4s infinite; }
@keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(46,86,220,.6);} 70%{ box-shadow:0 0 0 9px rgba(46,86,220,0);} 100%{ box-shadow:0 0 0 0 rgba(46,86,220,0);} }
.hero__date{ display:flex; align-items:center; gap:12px; font-family:var(--disp); font-weight:500;
  font-size:clamp(1.15rem, 1rem + 1.1vw, 1.8rem); letter-spacing:-.01em; color:var(--tx); margin-bottom:16px; }
.hero__title{ font-family:var(--disp); font-weight:700; line-height:.92; letter-spacing:-.03em;
  font-size:clamp(3rem, 1.4rem + 8.4vw, 7.6rem); margin:0 0 .34em; color:#fff;
  text-shadow:0 2px 48px rgba(4,10,26,.55), 0 1px 14px rgba(4,10,26,.45); }
.hero__sub{ font-size:clamp(1.15rem,1rem + .8vw,1.7rem); color:var(--tx); max-width:22ch; margin-bottom:2.2rem; font-weight:500;
  text-shadow:0 1px 18px rgba(4,10,26,.5); }
.hero__by{ margin-top:2rem; color:var(--muted); font-size:.95rem; }
.hero__foot{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding-bottom:34px; }
.hero__foot .container{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.hero__foot-label{ font-family:var(--mono); font-size:.72rem; color:var(--muted); letter-spacing:.04em; }
.hero__foot img{ height:24px; width:auto; opacity:.9; }

/* ======================= LOGOS ======================= */
.logos{ padding-block:clamp(52px,7vw,88px); }
.logos__label{ font-size:.82rem; font-weight:600; color:var(--muted); margin-bottom:28px; }
.logo-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
.logo-box{ display:flex; align-items:center; justify-content:center; text-align:center; height:104px; flex:0 1 260px; padding:16px 28px;
  border-radius:var(--r-sm); background:rgba(255,255,255,.04); color:var(--muted);
  font-family:var(--disp); font-weight:500; font-size:.98rem; letter-spacing:-.01em; transition:background .2s, color .2s; }
.logo-box:hover{ background:rgba(255,255,255,.07); color:var(--tx); }
.logo-box img{ max-height:52px; max-width:82%; width:auto; object-fit:contain; }
.logos__note{ margin-top:20px; font-size:.85rem; color:var(--muted-2); }

/* ======================= ABOUT / WHAT IT IS ======================= */
.about{ padding-block:var(--pad); }
.about .h-xl{ margin-bottom:24px; }
.about__lead{ font-size:clamp(1.2rem,1rem + .7vw,1.6rem); color:#AEB6CE; max-width:40ch; line-height:1.45; }

/* ======================= THE WEEK + SCHEDULE (boxes) ======================= */
.wk{ padding-block:var(--pad); }
.wk__grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:stretch; }
.wk__box{ background:var(--bg-2); border-radius:var(--r); padding:clamp(30px,3.4vw,52px); display:flex; flex-direction:column; }
.wk__title{ font-family:var(--disp); font-weight:700; font-size:clamp(2rem,1.4rem + 1.8vw,3rem); letter-spacing:-.03em; line-height:1; margin-bottom:20px; }
.wk__box .lead{ max-width:46ch; margin-bottom:28px; }
.wk__box-head{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.wk__box-head .wk__title{ margin-bottom:0; }
.wk__box .btn{ align-self:flex-start; margin-top:auto; }

/* ======================= SCHEDULE (legacy, unused) ======================= */
.schedule{ padding-block:var(--pad); }
.schedule__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,88px); align-items:center; }
.schedule__main{ display:flex; flex-direction:column; align-items:flex-start; gap:26px; }
.chip{ display:inline-flex; align-items:center; gap:11px; font-family:var(--mono); font-weight:700; font-size:clamp(.86rem,.8rem + .3vw,1.02rem); letter-spacing:.03em; color:#fff;
  background:rgba(141,160,208,.18); border:1px solid rgba(141,160,208,.28); border-radius:999px; padding:13px 22px; }
.chip__dot{ width:10px; height:10px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 0 rgba(141,160,208,.7); animation:pulse 2.4s infinite; }
.schedule__involved .lead{ margin-bottom:30px; max-width:36ch; }

/* ======================= HOST PAGE ======================= */
.hostpage{ padding-top:clamp(120px,14vh,180px); padding-bottom:var(--pad); }
.back{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.84rem; color:var(--muted); margin-bottom:44px; transition:color .2s; }
.back span{ transition:transform .2s var(--ease); display:inline-block; }
.back:hover{ color:var(--tx); }
.back:hover span{ transform:translateX(-3px); }
.hostpage__grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(36px,5vw,88px); align-items:start; }
.hostpage__intro .h-xl{ margin:16px 0 22px; }
.hostpage__intro .lead{ margin-bottom:30px; }
.hostpage__list{ list-style:none; display:flex; flex-direction:column; gap:6px; }
.hostpage__list li{ position:relative; padding:8px 0 8px 24px; color:var(--tx); font-size:1rem; }
.hostpage__list li::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:8px; height:8px; background:var(--royal); }

/* ======================= FLAGSHIP ======================= */
.flagship{ padding-block:var(--pad); }
.flagship__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,88px); align-items:center; }
.flagship__text .h-xl{ margin:18px 0 4px; }
.flagship__tag{ font-family:var(--disp); font-weight:500; font-size:clamp(1.2rem,1rem + 1vw,1.7rem); color:var(--tx); letter-spacing:-.01em; margin:0 0 22px; }
.flagship__text .lead{ max-width:42ch; }
.flagship__text .lead + .lead{ margin-top:14px; }
.flagship__cta{ margin-top:32px; }
.flagship__text .promo{ margin-top:16px; color:var(--muted); font-size:.95rem; }
.flagship__text .promo b{ color:var(--tx); }
.flagship__media{ display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:1fr; gap:14px; }
.flagship__media img{ width:100%; height:100%; object-fit:cover; border-radius:var(--r); aspect-ratio:1/1; }
.flagship__media img:first-child{ grid-column:1 / -1; aspect-ratio:16/10; }

/* ======================= SPEAKERS ======================= */
.speakers{ padding-block:var(--pad); }
.speakers .h-xl{ margin-bottom:clamp(36px,4vw,56px); }
.spk-grid{ --spk-gap:18px; display:flex; flex-wrap:wrap; justify-content:center; gap:var(--spk-gap); }
.spk{ width:calc((100% - 4*var(--spk-gap))/5); background:var(--bg-2); border-radius:14px; overflow:hidden;
  border:1px solid rgba(255,255,255,.06); transition:transform .3s var(--ease), border-color .3s var(--ease); }
.spk:hover{ transform:translateY(-5px); border-color:rgba(141,160,208,.5); }
.spk__img{ position:relative; aspect-ratio:4/5; overflow:hidden;
  background:radial-gradient(120% 120% at 30% 20%, #1c3568, #0c1d47);
  display:flex; align-items:center; justify-content:center; }
.spk__img span{ font-family:var(--disp); font-weight:600; font-size:clamp(1.6rem,3vw,2.4rem); color:var(--muted); }
.spk__img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 22%;
  filter:grayscale(1) contrast(1.03); transition:filter .45s var(--ease), transform .6s var(--ease); }
.spk:hover .spk__img img{ filter:grayscale(0) contrast(1); transform:scale(1.04); }
.spk__body{ padding:15px 16px 18px; }
.spk__name{ font-family:var(--disp); font-weight:700; text-transform:uppercase; letter-spacing:.005em; font-size:.9rem; line-height:1.16; color:var(--tx); }
.spk__org{ display:block; font-family:var(--mono); text-transform:uppercase; letter-spacing:.02em; color:var(--muted); font-size:.7rem; margin-top:6px; }
.speakers .note{ margin-top:clamp(32px,4vw,48px); }
.speakers__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px 40px; flex-wrap:wrap; margin-bottom:clamp(36px,4vw,56px); }
.speakers__head .h-xl{ margin-bottom:0; }
.speakers__head .note{ margin-top:0; padding-bottom:10px; }

/* ======================= GALLERY ======================= */
.gallery{ padding-block:var(--pad); }
.gallery .h-xl{ margin-bottom:clamp(36px,4vw,56px); }
.gal{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:14px; }
.gal img{ width:100%; height:100%; object-fit:cover; border-radius:var(--r); cursor:pointer;
  filter:grayscale(.3) brightness(.9); transition:transform .5s var(--ease), filter .3s; }
.gal img:hover{ transform:scale(1.02); filter:grayscale(0) brightness(1); }
.gal--big{ grid-column:span 2; grid-row:span 2; }

/* ======================= SUBMIT ======================= */
.submit{ padding-block:var(--pad); }
.submit__grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(36px,5vw,88px); align-items:start; }
.submit__intro .h-xl{ margin-bottom:22px; }
.form{ display:flex; flex-direction:column; gap:16px; }
.form .row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.f{ display:flex; flex-direction:column; gap:8px; }
.f label{ font-size:.9rem; color:var(--muted); font-weight:500; }
.f input, .f select, .f textarea{
  font-family:inherit; font-size:1rem; color:var(--tx); background:rgba(255,255,255,.05);
  border:1.5px solid transparent; border-radius:var(--r-sm); height:52px; padding:0 16px; width:100%;
  transition:border-color .2s, background .2s; color-scheme:dark;
}
.f textarea{ height:auto; padding:14px 16px; resize:vertical; line-height:1.5; }
.f select{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px; background-size:6px 6px,6px 6px; background-repeat:no-repeat; padding-right:40px; }
.f input:focus, .f select:focus, .f textarea:focus{ outline:none; border-color:var(--blue); background:rgba(255,255,255,.08); }
.f input::placeholder, .f textarea::placeholder{ color:var(--muted-2); }
.f.bad input, .f.bad select, .f.bad textarea{ border-color:var(--danger); background:rgba(255,92,92,.07); }
.f.bad label{ color:var(--danger); }
.form .btn{ margin-top:8px; }
.form__fine{ font-size:.8rem; color:var(--muted-2); text-align:center; margin-top:2px; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; opacity:0; }

.ok{ text-align:center; padding:clamp(40px,6vw,72px) 20px; display:flex; flex-direction:column; align-items:center; gap:14px;
  background:rgba(255,255,255,.04); border-radius:var(--r); }
.ok__dot{ width:64px; height:64px; border-radius:50%; background:var(--royal); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.8rem; }
.ok h3{ font-family:var(--disp); font-size:1.8rem; font-weight:700; }
.ok p{ color:var(--muted); max-width:34ch; }

/* ======================= QUOTE ======================= */
.quote{ padding-block:clamp(60px,9vw,140px); }
.quote blockquote{ max-width:960px; margin-inline:auto; text-align:center; }
.quote p{ font-family:var(--disp); font-weight:500; font-size:clamp(1.7rem,1rem + 3vw,3.2rem); line-height:1.16; letter-spacing:-.02em; }
.quote em{ font-style:normal; color:var(--royal); }
.quote cite{ display:block; margin-top:32px; color:var(--muted); font-size:.95rem; font-style:normal; }

/* ======================= FAQ ======================= */
.faq{ padding-block:var(--pad); }
.faq .h-xl{ margin-bottom:clamp(32px,4vw,48px); }
.faq__list{ display:flex; flex-direction:column; gap:12px; max-width:820px; }
.qa{ background:rgba(255,255,255,.04); border-radius:var(--r); padding:6px 26px; transition:background .2s; }
.qa:hover{ background:rgba(255,255,255,.06); }
.qa summary{ list-style:none; cursor:pointer; padding:22px 0; font-family:var(--disp); font-weight:600; font-size:1.2rem;
  display:flex; justify-content:space-between; align-items:center; gap:16px; }
.qa summary::-webkit-details-marker{ display:none; }
.qa summary::after{ content:"+"; color:var(--royal); font-size:1.6rem; font-weight:400; line-height:1; transition:transform .25s var(--ease); }
.qa[open] summary::after{ transform:rotate(45deg); }
.qa p{ color:var(--muted); padding:0 0 24px; max-width:60ch; }
.qa a{ color:var(--blue); }

/* ======================= FINAL CTA ======================= */
.cta{ position:relative; overflow:hidden; padding-block:clamp(90px,13vw,190px); text-align:center; }
.cta__rings{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.cta__rings::before, .cta__rings::after{ content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); border-radius:50%; border:1.5px solid rgba(46,86,220,.28); }
.cta__rings::before{ width:min(120vw,860px); height:min(120vw,860px); }
.cta__rings::after{ width:min(80vw,560px); height:min(80vw,560px); border-color:rgba(141,160,208,.14); }
.cta__inner{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:22px; }
.cta__title{ font-family:var(--disp); font-weight:700; line-height:.92; letter-spacing:-.03em; font-size:clamp(2.6rem,1.4rem + 5.6vw,6rem); }
.cta .cta-row{ justify-content:center; }

/* ======================= FOUNDED BY METAPROP ======================= */
.founded{ padding-block:clamp(24px,4vw,64px); }
.founded__panel{ display:grid; grid-template-columns:1.05fr .95fr; align-items:stretch; background:var(--bg-2); border-radius:var(--r); overflow:hidden; }
.founded__text{ padding:clamp(32px,4.5vw,60px); display:flex; flex-direction:column; justify-content:center; }
.founded__logo{ height:26px; width:auto; margin-bottom:22px; opacity:.95; align-self:flex-start; }
.founded__title{ font-family:var(--disp); font-weight:700; font-size:clamp(1.8rem,1.2rem + 2vw,2.9rem); letter-spacing:-.025em; line-height:1.03; margin-bottom:18px; }
.mp-link{ color:inherit; text-decoration:underline; text-decoration-color:var(--yellow);
  text-decoration-thickness:3px; text-underline-offset:5px; transition:color .2s var(--ease); }
.mp-link:hover{ color:var(--yellow); }
.founded__desc{ color:var(--muted); font-size:1.05rem; line-height:1.6; max-width:52ch; }
.founded__photo{ position:relative; min-height:clamp(360px,34vw,520px); }
.founded__photo img{ width:100%; height:100%; object-fit:cover; object-position:center 18%; }

/* ======================= FOOTER ======================= */
.footer{ background:var(--bg-2); padding-block:36px; }
.footer__row{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.footer__present{ display:flex; align-items:center; gap:12px; color:var(--muted); font-size:.9rem; }
.footer__present img{ height:22px; width:auto; opacity:.9; }
.footer__copy{ color:var(--muted-2); font-size:.88rem; }

/* ======================= LIGHTBOX ======================= */
.lightbox{ position:fixed; inset:0; z-index:120; background:rgba(5,14,36,.96); display:none; align-items:center; justify-content:center; padding:40px; }
.lightbox.open{ display:flex; }
.lightbox img{ max-width:92vw; max-height:88vh; object-fit:contain; border-radius:var(--r); }
.lightbox__close{ position:absolute; top:20px; right:28px; background:none; border:none; color:#fff; font-size:2.4rem; line-height:1; }

/* ======================= REVEAL ======================= */
.reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }

/* ======================= RESPONSIVE ======================= */
@media (max-width:1000px){
  .spk{ width:calc((100% - 3*var(--spk-gap))/4); }
  .logo-grid{ grid-template-columns:repeat(4,1fr); }
  .nav__links{ display:none; }
  .nav__actions .nav__submit{ display:none; }
  .burger{ display:flex; }
  .flagship__grid, .submit__grid{ grid-template-columns:1fr; }
  .flagship__media{ order:-1; }
  .founded__panel{ grid-template-columns:1fr; }
  .founded__photo{ min-height:clamp(240px,58vw,340px); }
  .schedule__grid, .hostpage__grid, .wk__grid{ grid-template-columns:1fr; }
  .schedule__grid{ gap:32px; }
}
@media (max-width:640px){
  .ribbon__inner{ justify-content:center; font-size:.68rem; }
  .ribbon__soon{ display:none; }
  .logo-grid{ grid-template-columns:repeat(2,1fr); }
  .spk-grid{ --spk-gap:12px; }
  .spk{ width:calc((100% - var(--spk-gap))/2); }
  .gal{ grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; }
  .gal--big{ grid-column:span 2; grid-row:span 1; }
  .form .row{ grid-template-columns:1fr; }
  .cta-row .btn, .hero__cta .btn{ flex:1 1 auto; }
  .nav__actions .btn--sm{ display:none; }
}

@media (prefers-reduced-motion: reduce){
  *{ transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1; transform:none; }
}
