/* fk.css - Frankie Klassic v2 - Noir #000 / Rouge #e03030 */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow+Condensed:wght@300;400;500;600;700;800;900&family=DM+Sans:wght@300;400;500&display=swap');

:root {
  --red:         #e03030;
  --red-dark:    #b82020;
  --red-dim:     rgba(224,48,48,.12);
  --red-brd:     rgba(224,48,48,.35);
  --bg:          #000000;
  --bg2:         #0a0a0a;
  --surface:     #111111;
  --surface2:    #1a1a1a;
  --border:      rgba(255,255,255,.1);
  --border2:     rgba(255,255,255,.18);
  --white:       #ffffff;
  --text:        #e8e8e8;
  --muted:       rgba(232,232,232,.5);
  --muted2:      rgba(232,232,232,.3);
  --font-display:'Bebas Neue', sans-serif;
  --font-body:   'Barlow Condensed', sans-serif;
  --font-text:   'DM Sans', sans-serif;
  --header-h:    64px;
  --pad:         80px;
  --pad-sm:      24px;
  --max-w:       1280px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img { max-width:100%; display:block; object-fit:cover; }
a   { color:inherit; text-decoration:none; }
button { cursor:pointer; font-family:inherit; }
input, select, textarea { font-family:inherit; }

/* HEADER */
.fk-header {
  position: fixed; top:0; left:0; right:0;
  height: var(--header-h); z-index: 1000;
  background: #000;
  border-bottom: 2px solid var(--red);
  display: flex; align-items: center;
  justify-content: space-between;
  padding: 0 var(--pad);
}
.fk-logo { display:flex; flex-direction:column; gap:1px; line-height:1; cursor:pointer; flex-shrink:0; }
.fk-logo-name { font-family:var(--font-display); font-size:24px; color:#fff; letter-spacing:.06em; line-height:1; }
.fk-logo-name span { color:var(--red); }
.fk-logo-sub { font-size:9px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); }

.fk-nav { display:flex; align-items:center; gap:2px; }
.fk-nav a { font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); padding:7px 12px; cursor:pointer; transition:color .2s; white-space:nowrap; }
.fk-nav a:hover { color:#fff; }
.fk-nav a.active { color:var(--red); }

.fk-header-right { display:flex; align-items:center; gap:16px; }

.fk-lang { display:flex; align-items:center; gap:6px; }
.lang-btn { background:none; border:none; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); cursor:pointer; padding:4px 6px; transition:color .2s; font-family:var(--font-body); }
.lang-btn.active { color:var(--red); }
.lang-btn:hover  { color:#fff; }
.lang-sep { color:var(--border2); font-size:12px; }

/* BURGER - hidden on desktop */
.fk-burger {
  display: none;
  flex-direction:column; gap:5px;
  background:none; border:none;
  padding:8px; cursor:pointer; z-index:1001;
}
.fk-burger span {
  display:block; width:24px; height:2px;
  background:#fff; border-radius:1px;
  transition:transform .3s, opacity .3s;
  pointer-events:none;
}
.fk-burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.fk-burger.open span:nth-child(2) { opacity:0; }
.fk-burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* MOBILE MENU */
.fk-mobile-menu {
  display: none;
  position: fixed;
  top: var(--header-h); left:0; right:0;
  background: #000; border-bottom:2px solid var(--red);
  padding: 20px var(--pad-sm) 28px;
  z-index: 999; flex-direction:column; gap:0;
}
.fk-mobile-menu.open { display:flex; }
.fk-mobile-menu a { font-size:22px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding:12px 0; border-bottom:1px solid var(--border); transition:color .2s; }
.fk-mobile-menu a:last-of-type { border-bottom:none; }
.fk-mobile-menu a:hover, .fk-mobile-menu a.active { color:var(--red); }
.fk-mobile-lang { display:flex; gap:14px; margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }

.fk-spacer { height:var(--header-h); }

/* FOOTER */
.fk-footer { background:#000; border-top:2px solid var(--red); padding:52px var(--pad) 24px; }
.fk-footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:3rem; padding-bottom:40px; border-bottom:1px solid var(--border); }
.fk-footer-logo { font-family:var(--font-display); font-size:28px; color:#fff; letter-spacing:.06em; margin-bottom:4px; }
.fk-footer-logo span { color:var(--red); }
.fk-footer-agent { font-size:9px; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; }
.fk-footer-tagline { font-family:var(--font-text); font-size:13px; font-weight:300; color:var(--muted); line-height:1.7; margin-bottom:14px; }
.fk-footer-email { font-size:13px; font-weight:600; letter-spacing:.06em; color:#fff; transition:color .2s; }
.fk-footer-email:hover { color:var(--red); }
.fk-footer-col-title { font-size:11px; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--red); margin-bottom:16px; }
.fk-footer-links { display:flex; flex-direction:column; gap:9px; }
.fk-footer-links a { font-size:13px; color:var(--muted); transition:color .2s; }
.fk-footer-links a:hover { color:#fff; }
.fk-socials { display:flex; gap:10px; margin-top:16px; }
.fk-soc { width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:var(--surface); border:1px solid var(--border2); color:var(--muted); transition:all .2s; text-decoration:none; }
.fk-soc:hover { background:var(--red); color:#fff; border-color:var(--red); transform:translateY(-2px); }
.fk-soc svg { width:15px; height:15px; fill:currentColor; }
.fk-footer-bottom { display:flex; align-items:center; justify-content:space-between; margin-top:20px; flex-wrap:wrap; gap:10px; }
.fk-footer-copy { font-size:12px; color:var(--muted); letter-spacing:.05em; }
.fk-footer-legal { display:flex; gap:20px; }
.fk-footer-legal a { font-size:12px; color:var(--muted); transition:color .2s; }
.fk-footer-legal a:hover { color:#fff; }

/* BUTTONS */
.btn { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; padding:13px 32px; border:none; cursor:pointer; transition:all .2s; white-space:nowrap; }
.btn-red { background:var(--red); color:#fff; }
.btn-red:hover { background:var(--red-dark); transform:translateY(-1px); }
.btn-outline { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.6); }
.btn-outline:hover { background:#fff; color:#000; }
.btn-outline-red { background:transparent; color:var(--red); border:1px solid var(--red-brd); }
.btn-outline-red:hover { background:var(--red-dim); border-color:var(--red); }
.btn-ghost { background:var(--surface); color:var(--text); border:1px solid var(--border2); }
.btn-ghost:hover { border-color:#fff; color:#fff; }
.btn-sm   { font-size:10px; padding:9px 20px; }
.btn-lg   { font-size:13px; padding:16px 40px; }
.btn-full { width:100%; justify-content:center; }

/* COMMON */
.section-eyebrow { font-size:11px; font-weight:700; letter-spacing:.42em; text-transform:uppercase; color:var(--red); margin-bottom:10px; display:block; }
.section-title { font-family:var(--font-display); font-size:clamp(36px,5vw,72px); color:#fff; letter-spacing:.03em; line-height:1; }
.section-desc { font-family:var(--font-text); font-size:15px; font-weight:300; color:var(--muted); line-height:1.7; max-width:560px; }
.red-rule  { height:2px; border:none; background:var(--red); }
.hr-thin   { height:1px; border:none; background:var(--border); }
.fk-badge { display:inline-block; font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; padding:4px 10px; background:var(--red-dim); color:var(--red); border:1px solid var(--red-brd); }
.fk-badge-muted { background:transparent; color:var(--muted); border-color:var(--border2); }

/* FORMS */
.fk-input { width:100%; background:var(--surface); border:1px solid var(--border2); padding:11px 14px; font-family:var(--font-body); font-size:13px; color:#fff; outline:none; transition:border-color .2s; }
.fk-input:focus { border-color:var(--red); }
.fk-input::placeholder { color:var(--muted); }
.fk-select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23e03030' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:32px; }
.fk-label { display:block; font-size:10px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.fk-form-group { margin-bottom:14px; }
.fk-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.fk-textarea { resize:vertical; min-height:100px; }
.fk-alert { padding:12px 16px; font-size:12px; display:none; }
.fk-alert.show { display:block; }
.fk-alert-success { background:rgba(22,163,74,.1); border:1px solid rgba(22,163,74,.3); color:#16a34a; }
.fk-alert-error   { background:rgba(224,48,48,.1); border:1px solid rgba(224,48,48,.3); color:var(--red); }

/* HERO */
.fk-hero { position:relative; height:100vh; display:flex; align-items:center; overflow:hidden; }
.fk-hero-photo { position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1571266028243-e4733b0f0bb0?w=1600&q=80') center 20%/cover; opacity:.28; }
.fk-hero-ov { position:absolute; inset:0; background:linear-gradient(105deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.65) 50%,rgba(0,0,0,.15) 100%); }
.fk-hero-cnt { position:relative; z-index:2; padding:0 var(--pad); max-width:860px; }
.fk-hero-h1 { font-family:var(--font-display); font-size:clamp(72px,12vw,160px); line-height:.87; letter-spacing:.01em; color:#fff; margin-bottom:24px; }
.fk-hero-h1 .acc { color:var(--red); }
.fk-hero-sub { font-family:var(--font-text); font-size:17px; font-weight:300; color:var(--muted); line-height:1.7; max-width:480px; margin-bottom:40px; }
.fk-hero-btns { display:flex; gap:14px; flex-wrap:wrap; }
.fk-hero-scroll { position:absolute; bottom:32px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:6px; z-index:2; animation:heroScroll 2s ease-in-out infinite; }
.fk-hero-scroll span { font-size:9px; font-weight:700; letter-spacing:.35em; text-transform:uppercase; color:var(--muted); }
@keyframes heroScroll { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }
.fk-hero-half { height:54vh; min-height:340px; align-items:flex-end; }
.fk-hero-half .fk-hero-cnt { padding-bottom:40px; }

/* TICKER */
.fk-ticker { background:var(--red); overflow:hidden; padding:10px 0; }
.fk-ticker-inner { display:inline-flex; animation:tickerRun 26s linear infinite; }
.fk-ticker-item { font-size:11px; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:#fff; padding:0 28px; }
.fk-ticker-sep { color:rgba(255,255,255,.4); padding:0 4px; }
@keyframes tickerRun { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* SECTIONS */
.fk-section { padding:60px var(--pad); max-width:var(--max-w); margin:0 auto; }
.fk-section-full { padding:60px var(--pad); }
.fk-section-dark { background:var(--bg2); }

/* GRIDS */
.fk-grid { display:grid; gap:1px; background:var(--border); border:1px solid var(--border); overflow:hidden; }
.fk-grid > * { background:var(--surface); }
.fk-grid-red { background:var(--red-brd); border-color:var(--red-brd); }
.fk-grid-red > * { background:var(--surface); }
.cols-2 { grid-template-columns:repeat(2,1fr); }
.cols-3 { grid-template-columns:repeat(3,1fr); }
.cols-4 { grid-template-columns:repeat(4,1fr); }
.cols-auto-240 { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
.cols-auto-280 { grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }
.cols-auto-300 { grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }

/* LIVE CARDS */
.live-card { padding:20px 24px; display:flex; gap:18px; align-items:center; transition:background .2s; }
.live-card:hover { background:rgba(224,48,48,.05); }
.live-datebox { flex-shrink:0; background:var(--bg2); border:1px solid var(--border2); border-left:3px solid var(--red); padding:10px 14px; text-align:center; min-width:56px; }
.live-datebox-day { font-family:var(--font-display); font-size:36px; color:#fff; line-height:1; }
.live-datebox-mon { font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-top:2px; }
.live-venue { font-weight:700; font-size:15px; color:#fff; letter-spacing:.03em; margin-bottom:4px; }
.live-meta { font-size:12px; color:var(--muted); display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.live-type-badge { font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; padding:2px 8px; background:var(--red); color:#fff; }

/* ITEM CARDS */
.fk-item-card { display:flex; flex-direction:column; transition:background .2s; }
.fk-item-card:hover { background:rgba(255,255,255,.03); }
.fk-cover { position:relative; overflow:hidden; background:var(--bg2); }
.fk-cover img { width:100%; height:100%; object-fit:cover; opacity:.75; transition:opacity .3s,transform .4s; }
.fk-item-card:hover .fk-cover img { opacity:.9; transform:scale(1.03); }
.fk-cover-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.95) 0%,transparent 50%); }
.fk-cover-num { position:absolute; top:10px; left:10px; font-family:var(--font-display); font-size:12px; letter-spacing:.2em; color:var(--red); background:rgba(0,0,0,.8); border-left:2px solid var(--red); padding:2px 8px; }
.fk-cover-type { position:absolute; top:10px; right:10px; font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; padding:3px 9px; background:var(--red); color:#fff; }
.fk-cover-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(.85); width:52px; height:52px; background:var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; opacity:0; transition:all .2s; border:none; cursor:pointer; }
.fk-item-card:hover .fk-cover-play { opacity:1; transform:translate(-50%,-50%) scale(1); }
.fk-item-body { padding:16px 18px; flex:1; display:flex; flex-direction:column; gap:8px; }
.fk-item-title { font-family:var(--font-display); font-size:20px; color:#fff; letter-spacing:.04em; line-height:1.1; }
.fk-item-desc { font-family:var(--font-text); font-size:12px; color:var(--muted); line-height:1.6; font-weight:300; flex:1; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fk-item-meta { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.fk-item-price { font-family:var(--font-display); font-size:26px; color:var(--red); letter-spacing:.04em; }
.fk-item-foot { padding:10px 18px; border-top:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.fk-player { display:none; background:var(--bg2); border-top:1px solid var(--border); }
.fk-player.open { display:block; }
.fk-player iframe { width:100%; height:120px; border:none; display:block; }

/* LIKE + SHARE */
.fk-like-btn { display:inline-flex; align-items:center; gap:6px; background:transparent; border:1px solid var(--border2); border-radius:20px; padding:6px 14px 6px 10px; cursor:pointer; font-family:var(--font-body); font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--text); transition:all .2s; }
.fk-like-btn:hover { border-color:var(--red); color:var(--red); }
.fk-like-btn.liked { border-color:var(--red); color:var(--red); background:var(--red-dim); }
.fk-like-count { font-family:var(--font-display); font-size:17px; color:var(--muted); }
.fk-like-btn.liked .fk-like-count { color:var(--red); }
.fk-share-row { display:flex; gap:4px; }
.fk-share-btn { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:transparent; border:1px solid var(--border); color:var(--muted); cursor:pointer; font-size:10px; font-weight:700; transition:all .18s; font-family:var(--font-body); }
.fk-share-btn:hover { background:var(--red); border-color:var(--red); color:#fff; transform:translateY(-2px); }

/* FILTERS */
.fk-filter-bar { background:#000; border-bottom:1px solid var(--border); padding:12px var(--pad); display:flex; gap:8px; align-items:center; flex-wrap:wrap; position:sticky; top:var(--header-h); z-index:10; }
.fk-filter-chip { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; padding:7px 16px; border:1px solid var(--border2); background:transparent; color:var(--muted); cursor:pointer; font-family:var(--font-body); transition:all .2s; white-space:nowrap; }
.fk-filter-chip:hover { color:#fff; border-color:#fff; }
.fk-filter-chip.active { background:var(--red); border-color:var(--red); color:#fff; }
.fk-tabs { display:flex; border:1px solid var(--border2); overflow:hidden; width:fit-content; }
.fk-tab { padding:11px 30px; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; background:transparent; color:var(--muted); border:none; border-right:1px solid var(--border2); font-family:var(--font-body); transition:all .2s; }
.fk-tab:last-child { border-right:none; }
.fk-tab.active, .fk-tab:hover { background:var(--red); color:#fff; border-color:var(--red); }

/* GALLERY + LIGHTBOX */
.fk-galerie-grid { columns:3; column-gap:4px; }
.fk-galerie-item { break-inside:avoid; margin-bottom:4px; position:relative; overflow:hidden; cursor:pointer; }
.fk-galerie-item img { width:100%; display:block; opacity:.8; transition:opacity .3s,transform .4s; }
.fk-galerie-item:hover img { opacity:1; transform:scale(1.04); }
.fk-galerie-ov { position:absolute; inset:0; background:rgba(0,0,0,0); transition:background .3s; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:14px; }
.fk-galerie-item:hover .fk-galerie-ov { background:rgba(0,0,0,.55); }
.fk-galerie-cap { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff; opacity:0; transform:translateY(6px); transition:all .25s; border-left:2px solid var(--red); padding-left:8px; }
.fk-galerie-item:hover .fk-galerie-cap { opacity:1; transform:translateY(0); }
.fk-galerie-view { position:absolute; top:10px; right:10px; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:var(--red); color:#fff; padding:4px 10px; opacity:0; transition:opacity .2s; }
.fk-galerie-item:hover .fk-galerie-view { opacity:1; }
.fk-lightbox { position:fixed; inset:0; background:rgba(0,0,0,.97); z-index:9999; display:none; align-items:center; justify-content:center; padding:20px; }
.fk-lightbox.open { display:flex; }
.fk-lb-inner { position:relative; max-width:960px; width:100%; text-align:center; }
.fk-lb-inner img { max-height:82vh; max-width:100%; object-fit:contain; }
.fk-lb-close { position:absolute; top:-46px; right:0; background:transparent; border:1px solid var(--border2); width:36px; height:36px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--muted); font-size:18px; transition:all .2s; }
.fk-lb-close:hover { background:var(--red); border-color:var(--red); color:#fff; }
.fk-lb-nav { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; background:transparent; border:1px solid var(--border2); display:flex; align-items:center; justify-content:center; cursor:pointer; color:#fff; font-size:18px; transition:all .2s; }
.fk-lb-nav:hover { background:var(--red); border-color:var(--red); }
.fk-lb-prev { left:-54px; }
.fk-lb-next { right:-54px; }
.fk-lb-cap { font-size:12px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); margin-top:14px; border-left:2px solid var(--red); padding-left:10px; text-align:left; display:inline-block; }

/* NEWSLETTER PAGE */
.nl-page { min-height:100vh; position:relative; display:flex; align-items:center; justify-content:center; padding:80px var(--pad); text-align:center; overflow:hidden; }
.nl-page-bg { position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1516450360452-9312f5e86fc7?w=1400&q=80') center/cover; opacity:.12; }
.nl-cnt { position:relative; z-index:2; max-width:720px; width:100%; }
.nl-h1 { font-family:var(--font-display); font-size:clamp(60px,11vw,130px); line-height:.87; letter-spacing:.01em; color:var(--red); margin-bottom:28px; }
.nl-sub { font-family:var(--font-text); font-size:18px; font-weight:300; color:var(--muted); line-height:1.7; max-width:520px; margin:0 auto 48px; }
.nl-form { display:flex; gap:0; max-width:520px; margin:0 auto; border:1px solid var(--border2); }
.nl-form input { flex:1; background:transparent; border:none; outline:none; padding:16px 20px; font-family:var(--font-body); font-size:14px; color:#fff; }
.nl-form input::placeholder { color:var(--muted); }
.nl-form button { background:var(--red); color:#fff; border:none; padding:16px 32px; font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; transition:background .2s; white-space:nowrap; flex-shrink:0; }
.nl-form button:hover { background:var(--red-dark); }
.nl-segs { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:36px; }
.nl-seg { background:transparent; border:1px solid var(--border2); color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; padding:8px 20px; cursor:pointer; font-family:var(--font-body); transition:all .2s; }
.nl-seg:hover, .nl-seg.active { background:var(--red); border-color:var(--red); color:#fff; }

/* PARTNERS */
.partner-card { padding:24px; transition:background .2s; }
.partner-card:hover { background:rgba(255,255,255,.04); }
.partner-type { display:inline-block; font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; padding:3px 9px; background:var(--red); color:#fff; margin-bottom:12px; }
.partner-name { font-family:var(--font-display); font-size:22px; color:#fff; letter-spacing:.04em; margin-bottom:6px; }
.partner-city { font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.partner-ig { font-size:11px; color:rgba(255,255,255,.35); margin-top:3px; }

/* ANIMATIONS */
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
.fade-up { animation:fadeUp .55s cubic-bezier(.4,0,.2,1) both; }
.fade-in  { animation:fadeIn .55s cubic-bezier(.4,0,.2,1) both; }
.d1{animation-delay:.1s} .d2{animation-delay:.2s} .d3{animation-delay:.3s} .d4{animation-delay:.4s}

/* RESPONSIVE */
@media(max-width:1024px){
  :root { --pad: var(--pad-sm); }
  .fk-header { padding:0 var(--pad-sm); }
  .fk-nav  { display:none; }
  .fk-lang { display:none; }
  .fk-burger { display:flex; }
  .cols-4 { grid-template-columns:repeat(2,1fr); }
  .cols-3 { grid-template-columns:repeat(2,1fr); }
  .fk-footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .fk-galerie-grid { columns:2; }
  .fk-section, .fk-section-full { padding:48px var(--pad-sm); }
  .fk-filter-bar { padding:12px var(--pad-sm); }
  .nl-page { padding:80px var(--pad-sm); }
}
@media(max-width:640px){
  .fk-hero-h1 { font-size:clamp(56px,15vw,88px); }
  .fk-hero-btns { flex-direction:column; }
  .fk-hero-btns .btn { width:100%; justify-content:center; }
  .cols-2,.cols-3,.cols-4 { grid-template-columns:1fr; }
  .fk-footer-grid { grid-template-columns:1fr; gap:1.5rem; }
  .fk-footer-bottom { flex-direction:column; align-items:flex-start; }
  .fk-form-row { grid-template-columns:1fr; }
  .fk-galerie-grid { columns:1; }
  .nl-form { flex-direction:column; }
  .nl-form button { padding:14px; }
  .fk-lb-prev { left:0; bottom:-54px; top:auto; transform:none; }
  .fk-lb-next { right:0; bottom:-54px; top:auto; transform:none; }
}
