/* =========
   Mobilita pro neziskové organizace – landing page
   One-file CSS (no frameworks)
   ========= */

:root{
  --bg: #ffffff;
  --text: #111827;
  --muted: #6b7280;
  --border: rgba(17,24,39,.10);
  --shadow: 0 18px 50px rgba(17,24,39,.12);
  --shadow-strong: 0 28px 70px rgba(17,24,39,.18);

  --brand: #8DC63F; /* hlavní zelená Velký vůz (přibližně) */
  --brand-2: #2f6b3c;
  --dark: #0b1220;

  --radius: 22px;
  --radius-sm: 14px;
}


*{ box-sizing: border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--text);
  background: var(--bg);
  line-height: 1.5;
}

img{ max-width:100%; height:auto; display:block; }
a{ color: inherit; }
.wrap{ max-width:1200px; margin:0 auto; padding: 0 16px; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }


.header-title {
    font-weight: 950;
    font-size: 18px;
    color: #0b2d18;
    line-height: 1.15;
}

/* Header */
.site-header{
  position: sticky;
  top:0;
  z-index: 50;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
}
.brand{ display:inline-flex; align-items:center; text-decoration:none; flex: 0 0 auto; }
.logo{ height: 38px; width:auto; }
.logo-main-large{
  height: 124px;
  width: auto;
}

.header-middle{
  flex: 1 1 auto;
  min-width: 240px;
  display:flex;
  flex-direction: column;
  gap: 6px;
}
.header-quote{
  font-weight: 950;
  font-size: 18px;
  color: #0b2d18;
  line-height: 1.15;
}
.header-contact{
  font-size: 13.5px;
  color: #374151;
}
.header-contact a{
  color: #1f6b3c;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 850;
}

.top-nav{
  display:flex;
  gap: 18px;
  align-items:center;
  flex: 0 0 auto;
  justify-content: flex-end;
}
.top-nav a{
  text-decoration: none;
  font-weight: 850;
  font-size: 14px;
  color: #111827;
  opacity: .92;
  padding: 0;                 /* čistý text */
  border: none;               /* bez borderu */
  background: transparent;    /* bez pozadí */
  border-radius: 0;
}
.top-nav a:hover{
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 5px;
}

@media (max-width: 980px){
  .header-inner{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .header-middle{ width: 100%; }
  .top-nav{ width: 100%; justify-content: flex-start; gap: 14px; flex-wrap: wrap; }
}
@media (max-width: 520px){
  .logo-main-large{ height: 98px; }
  .header-quote{ font-size: 15px; }
}

/* Hero */
.hero{
  position:relative;
  padding: 48px 0 30px;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 500px at 15% 10%, rgba(141,198,63,.22), transparent 60%),
    radial-gradient(900px 500px at 85% 15%, rgba(47,107,60,.18), transparent 60%),
    radial-gradient(700px 450px at 50% 90%, rgba(17,24,39,.06), transparent 60%);
  z-index:0;
}

.hero-simple .wrap{ position:relative; z-index:1; padding-top: 10px; padding-bottom: 8px; }
.hero-note{
  margin-top: 14px;
  color: #374151;
 
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.70);
}

.hero h1{
  margin: 25px 0 12px;
  font-size: clamp(28px, 3.1vw, 46px);
  line-height: 1.08;
  letter-spacing: -.6px;
}
.lead{
  margin: 0 0 18px;
  color: #374151;
  font-size: 16.5px;
  width: 600px;
 
}

.lead2{
  margin: 0 0 18px;
  color: #374151;
  font-size: 16.5px;

 
}
.hero-ctas{ display:flex; gap: 12px; flex-wrap: wrap; margin: 0 0 18px; }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  border-radius: 999px;
  padding: 11px 16px;
  border: 1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  font-weight: 750;
  font-size: 14px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  user-select:none;
}
.btn:active{ transform: translateY(1px); }
.btn.primary{
  background: linear-gradient(180deg, var(--brand), #76b731);
  color: #0b1220;
  border-color: rgba(0,0,0,.08);
  box-shadow: 0 14px 30px rgba(141,198,63,.25);
}
.btn.primary:hover{ box-shadow: 0 18px 40px rgba(141,198,63,.32); }
.btn.ghost{
  background: rgba(17,24,39,.03);
  border-color: var(--border);
  color: #111827;
}
.btn.ghost:hover{ background: rgba(17,24,39,.06); }
.btn.link{
  background: transparent;
  border: none;
  padding: 6px 0;
  border-radius: 0;
  color: #1f6b3c;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.btn.full{ width:100%; border-radius: 16px; padding: 12px 16px; }

.partner-logos{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 10px;
  max-width: 520px;
}
.partner{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 9px 11px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 22px rgba(17,24,39,.06);
}
.partner .logo{ height: 28px; width:auto; }
.partner-meta{ display:flex; flex-direction:column; gap: 2px; }
.partner-title{ font-weight: 800; font-size: 14px; }
.partner-sub{ color: var(--muted); font-size: 12.5px; }

/* Hero card (form) */
.hero-card{
  background: rgba(255,255,255,.86);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px;
}
.card-head{ padding: 4px 4px 10px; }
.card-kicker{
  font-weight: 900;
  letter-spacing: .8px;
  color: #0b2d18;
  font-size: 12px;
  text-transform: uppercase;
}
.card-title{ font-weight: 900; font-size: 18px; margin-top: 6px; }
.card-note{ color: var(--muted); font-size: 12.5px; margin-top: 4px; }

.form{ display:flex; flex-direction:column; gap: 12px; margin-top: 8px; }
.field label{
  display:block;
  font-weight: 750;
  font-size: 13px;
  margin: 0 0 6px;
}
.field input, .field textarea{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(17,24,39,.14);
  padding: 10px 12px;
  font-size: 14px;
  outline: none;
  background: #fff;
}
.field textarea{ resize: vertical; min-height: 84px; }
.field input:focus, .field textarea:focus{
  border-color: rgba(141,198,63,.65);
  box-shadow: 0 0 0 4px rgba(141,198,63,.16);
}
.two-cols{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 540px){ .two-cols{ grid-template-columns: 1fr; } }

.hint{
  min-height: 16px;
  font-size: 12px;
  color: #b91c1c;
  margin-top: 6px;
}

.hp{ position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }

.captcha{ border-top: 1px dashed var(--border); padding-top: 10px; }
.captcha-row{
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 12px;
}
.captcha-q{
  font-weight: 850;
  font-size: 14px;
  color: #0b2d18;
  margin-top: 3px;
}
.captcha-input{ width: 110px; }
.captcha-input input{ text-align:center; font-weight: 900; }

.fineprint{
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
}
.form-status{
  margin-top: 2px;
  font-size: 13px;
  color: #0b2d18;
}

/* Sections */
.section{ padding: 54px 0; }
.section.alt{ background: rgba(17,24,39,.03); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.section h2{
  margin: 0 0 10px;
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 900;
}
.section-lead{
  color:#374151;
  margin: 0 0 18px;

}

.cols{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 920px){ .cols{ grid-template-columns: 1fr; } }

.panel{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
  box-shadow: 0 10px 26px rgba(17,24,39,.06);
}
.panel h3{ margin: 0 0 8px; font-weight: 900; }
.panel p{ margin: 0; color:#374151; }

.callout{
  border-radius: var(--radius);
  border: 1px solid rgba(141,198,63,.30);
  background: rgba(141,198,63,.12);
  padding: 18px;
}
.callout-title{ font-weight: 950; margin-bottom: 10px; }
.callout ul{ margin: 0; padding-left: 18px; color:#1f2937; }
.callout li{ margin: 6px 0; }

/* Conference cards */
.conf-grid{
  display:grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 18px;
  margin-top: 16px;
}
@media (min-width: 680px){ .conf-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px){ .conf-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.conference-card{
  position: relative;
  display:block;
  aspect-ratio: 1 / 1;
  border-radius: var(--radius);
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  background-size: cover;
  background-position: center;
  box-shadow: var(--shadow);
  transition: transform .35s ease, box-shadow .35s ease;
  isolation: isolate;
}
.conference-card:hover{
  transform: translateY(-8px);
  box-shadow: var(--shadow-strong);
}
.conference-card::before{
  content:"";
  position:absolute;
  inset:0;
  background: var(--overlay-color);
  opacity: .66;
  z-index: 0;
}
.overlay-top,.overlay-bottom{
  position:absolute;
  left:0;
  width:100%;
  text-align:center;
  padding: 10px 8px;
  background: rgba(0,0,0,.62);
  font-size: 12.5px;
  letter-spacing: 1px;
  font-weight: 850;
  z-index: 2;
}
.overlay-top{ top:0; }
.overlay-bottom{ bottom:0; }
.card-content{
  position: relative;
  z-index: 2;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 44px 14px;
}
.card-content h3{
  margin:0;
  font-size: clamp(16px, 1.7vw, 22px);
  font-weight: 950;
  letter-spacing: .9px;
  text-transform: uppercase;
  text-shadow: 0 6px 18px rgba(0,0,0,.55);
}

/* Images (replace with your final photos) */
.praha{
  background-image: url('https://servisdecin.cz/mobilita/Praha.jpg');
  --overlay-color: linear-gradient(135deg, rgba(31,64,55,1), rgba(44,119,68,1));
}
.stredocesky{
  background-image: url('https://servisdecin.cz/mobilita/stredo.jpg');
  --overlay-color: linear-gradient(135deg, rgba(90,130,62,1), rgba(38,84,45,1));
}
.ustecky{
  background-image: url('https://servisdecin.cz/mobilita/uctec.jpg');
  --overlay-color: linear-gradient(135deg, rgba(34,140,128,1), rgba(29,53,87,1));
}
.karlovarsky{
  background-image: url('https://servisdecin.cz/mobilita/karlo.jpg');
  --overlay-color: linear-gradient(135deg, rgba(86,160,120,1), rgba(31,108,92,1));
}
.liberecky{
  background-image: url('https://servisdecin.cz/mobilita/liberec.jpg');
  --overlay-color: linear-gradient(135deg, rgba(38,73,62,1), rgba(88,129,87,1));
}
.kralovehradecky{
  background-image: url('https://servisdecin.cz/mobilita/hk.jpg');
  --overlay-color: linear-gradient(135deg, rgba(96,108,56,1), rgba(40,54,24,1));
}

.mini-note{ margin-top: 14px; color: var(--muted); font-size: 13px; }

/* FAQ */
.faq{ display:flex; flex-direction:column; gap: 10px; margin-top: 14px; }
details{
  background:#fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
}
summary{
  cursor:pointer;
  font-weight: 900;
}
details p{ margin: 10px 0 0; color:#374151; }

/* Footer */
.site-footer{
  border-top: 1px solid var(--border);
  background: #0b1220;
  color: rgba(255,255,255,.92);
  padding: 28px 0 18px;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .9fr .9fr;
  gap: 18px;
  align-items:start;
}
@media (max-width: 900px){ .footer-grid{ grid-template-columns: 1fr; } }
.footer-label{ font-weight: 900; margin-bottom: 8px; }
.site-footer a{ color: rgba(255,255,255,.90); text-decoration: none; }
.site-footer a:hover{ text-decoration: underline; text-underline-offset: 4px; }
.footer-brand{ font-weight: 950; font-size: 16px; }
.footer-sub{ color: rgba(255,255,255,.70); margin-top: 4px; font-size: 13px; }
.logo-grc-footer{ height: 30px; opacity: .95; }
.footer-bottom{
  display:flex;
  align-items:center;
  gap: 10px;
  justify-content: space-between;
  padding-top: 14px;
  margin-top: 16px;
  border-top: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.70);
  font-size: 13px;
}
.footer-bottom .dot{ opacity:.6; }
.to-top{ color: rgba(255,255,255,.84); }


/* Form section */
.form-shell{
  max-width: 720px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
}





/* FAQ + Form layout (side-by-side, separated) */
.faq-form-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 28px;
  margin-top: 22px;
  align-items:start;
}
.form-col{
  border-left: 1px solid var(--border);
  padding-left: 28px;
}
@media (max-width: 900px){
  .faq-form-grid{ grid-template-columns: 1fr; }
  .form-col{ border-left: none; padding-left: 0; border-top: 1px solid var(--border); padding-top: 22px; }
}


/* Form heading */
.form-head{
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.form-head h3{
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 950;
}
.form-head p{
  margin: 0;
  color: #374151;
  font-size: 13.5px;
}





/* Hero top row: badge + partner strip */
.hero-top{
  display:flex;
  gap: 18px;
  align-items: stretch;
  justify-content: space-between;
  margin: 0 0 14px;
}
.hero-top .badge{
  flex: 1 1 auto;
  border-radius: 18px;
  padding: 14px 14px;
  border: 1px solid rgba(141,198,63,.28);
  background: rgba(141,198,63,.12);
}
.hero-top .badge-title{
  font-weight: 950;
  letter-spacing: .2px;
  color: #0b2d18;
  font-size: 13px;
  text-transform: uppercase;
  margin: 0 0 8px;
}
.hero-top .badge-checks{
  margin: 0;
  padding: 0;
  list-style: none;
  display:grid;
  gap: 8px;
}
.hero-top .badge-checks li{
  position: relative;
 padding: 5px 0px 5px 44px;
  color: #0b2d18;
  font-weight: 650;
  font-size: 13.5px;
  line-height: 1.35;
}
.hero-top .badge-checks li::before{
  content: "✓";
  position:absolute;
  left: 0;
  top: 1px;
  width: 18px;
  height: 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(47,107,60,.20);
  color: #1f6b3c;
  font-weight: 950;
}

.hero-top .partner-strip{
  flex: 0 0 360px;
  max-width: 42vw;
  display:flex;
  flex-direction: column;
  gap: 10px;
}
.hero-top .partner{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 9px 11px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 22px rgba(17,24,39,.06);
}
.hero-top .partner .logo{ height: 60px; width:auto; }
.hero-top .partner-title{ font-weight: 900; font-size: 13px; }
.hero-top .partner-sub{ color: var(--muted); font-size: 12px; }

@media (max-width: 980px){
  .hero-top{ flex-direction: column; }
  .hero-top .partner-strip{ flex: 0 0 auto; max-width: none; }
}


/* === Header enforcement (override any earlier styles) === */
.site-header .header-inner{
  display:flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  flex-wrap: nowrap;
}
.site-header .brand{ flex: 0 0 auto; }
.site-header .header-middle{
  flex: 1 1 auto;
  min-width: 320px;
  max-width: 520px;
}
.site-header .top-nav{
  flex: 0 0 auto;
  display:flex;
  gap: 22px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* Force plain text links (no pills) */
.site-header .top-nav a{
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-weight: 850;
  font-size: 14px;
  color: #111827;
  opacity: .92;
}
.site-header .top-nav a:hover{
  opacity: 1;
  text-decoration: underline !important;
  text-underline-offset: 6px;
}

/* Contact should not look like a pill */
.site-header .header-contact{
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  display:block;
}

/* Responsive: stack only on smaller widths */
@media (max-width: 980px){
  .site-header .header-inner{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .site-header .top-nav{ flex-wrap: wrap; white-space: normal; gap: 14px; }
  .site-header .header-middle{ max-width: none; min-width: 0; }
}


.hero-top .badge-title{
  font-size: 18px;
  font-weight: 950;
  color: #0b2d18;
  margin: 0 0 10px;
  line-height: 1.2;
}

.hero-top .badge-sub{
  margin: 0 0 14px;
  color: #0b2d18;
  font-size: 14.2px;
  line-height: 1.45;
  font-weight: 500;
}

.hero-top .badge-checks{
  gap: 12px;
}

.hero-top .badge-checks li{
  padding-left: 44px;
  font-size: 14.5px;
  line-height: 1.4;
  font-weight: 600;
}

.hero-top .badge-checks li::before{
  content: "✓";
  width: 32px;
  height: 32px;
  left: 0;
  top: 2px;

  background: #ffffff;
  border: 2px solid #22c55e;
  color: #16a34a;

  font-size: 20px;
  font-weight: 950;

  box-shadow: 0 10px 24px rgba(17,24,39,.12);
}


.gustav-wrap{
  position: relative; /* nutné pro absolutní pozici bubliny */
  display: inline-block;
}

.gustav-bubble{
  position: absolute;
    top: -8px;
    left: -30px;        /* upravte dle potřeby */

  background: #ffffff;
  color: #0b2d18;

  font-size: 18px;
  font-weight: 950;
  line-height: 1.15;

  padding: 16px 20px;
  border-radius: 26px;

  border: 3px solid #22c55e;

  box-shadow:
    0 18px 40px rgba(17,24,39,.18),
    0 4px 12px rgba(34,197,94,.25);

  max-width: 280px;

  animation: bubbleFloat 3.2s ease-in-out infinite;
}

/* špička bubliny */
.gustav-bubble::after{
  content: "";
  position: absolute;
  bottom: -18px;
  right: 22px;  /* posun špičky k Gustavovi */

  width: 0;
  height: 0;

  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 18px solid #ffffff;

  filter: drop-shadow(0 6px 10px rgba(17,24,39,.15));
}

/* jemný pohyb */
@keyframes bubbleFloat{
  0%   { transform: translateY(0px); }
  50%  { transform: translateY(-6px); }
  100% { transform: translateY(0px); }
}


.hero-top{
  position: relative;
  overflow: visible;   /* umožní přesah */
}

.gustav-wrap{
  position: absolute;
  right: 0;            /* upravte dle potřeby */
  top: 260px;      /* tímto ho pošlete dolů do H1 bloku */
  
  width: 320px;        /* upravte dle potřeby */
  z-index: 5;

  pointer-events: none; /* aby neblokoval kliky */
}

.gustav-img{
  width: 100%;
  height: auto;
  display: block;
}


@media (max-width: 980px){

  .hero-top{
    flex-direction: column;
  }

  .gustav-wrap{
    position: relative;     /* zruší absolute */
    bottom: auto;
    right: auto;
    width: 220px;
    margin: 18px auto 0;    /* vycentruje pod partnery */
    z-index: 1;
  }

  .gustav-bubble{
    position: relative;
    top: auto;
    left: auto;
    margin-bottom: 10px;
    max-width: 100%;
  }

  .gustav-bubble::after{
    display: none; /* odstraní špičku bubliny na mobilu */
  }

}



@media (max-width: 980px){

  /* vynutíme sloupcový layout v hero-top */
  .hero-top{
    display: flex;
    flex-direction: column;
  }

  /* Gustav na mobilu nesmí přesahovat, bude normální blok */
  .gustav-wrap{
    position: relative !important;
    inset: auto !important;         /* zruší top/right/bottom/left */
    transform: none !important;
    width: min(240px, 80vw);
    margin: 14px auto 10px;         /* pod partnery */
    z-index: 1 !important;
    pointer-events: none;
  }

  /* bublina nebude absolutně vylézat nahoru */
  .gustav-bubble{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    margin: 0 auto 10px;
    max-width: 100%;
  }

  .gustav-bubble::after{
    display: none;
  }

  /* H1 a následující texty vždy nad Gustavem */
  .hero h1,
  .hero p,
  .hero .lead,
  .hero .hero-note{
    position: relative;
    z-index: 5;
  }

  /* partner strip nad Gustavem (logické pořadí) */
  .partner-strip{
    position: relative;
    z-index: 6;
  }
}

.partner-link {
  text-decoration: none;
  color: inherit;
  display: block; /* důležité */
}

.partner-link:hover {
  opacity: 0.9; /* jemný hover efekt */
}


/* =========
   Konferenční stránky (původně inline z /usti-nad-labem)
   ========= */
/* Layout helpers */
    .wrap-narrow{max-width: 980px; margin: 0 auto; padding: 0 16px;}
    .hero-kicker{margin-top:10px; opacity:.92;}
    .event-hero{
      position: relative;
      border-radius: 26px;
      overflow: hidden;
      border: 1px solid rgba(17,24,39,.10);
      box-shadow: 0 20px 50px rgba(17,24,39,.12);
      background: #fff;
    }
    .event-hero .event-hero-bg{
      position:absolute; inset:0;
      background-image: url('/mobilita/uctec.jpg');
      background-size: cover;
      background-position: center;
      filter: saturate(1.05) contrast(1.05);
      transform: scale(1.02);
    }
    .event-hero .event-hero-overlay{
      position:absolute; inset:0;
      background: linear-gradient(90deg, rgba(7,15,12,.76) 0%, rgba(7,15,12,.54) 55%, rgba(7,15,12,.18) 100%);
    }
    .event-hero .event-hero-inner{
      position:relative;
      padding: 22px 22px 18px;
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 16px;
      color: #fff;
    }
    .event-hero h1{
      margin: 0 0 10px;
      font-size: clamp(28px, 3.2vw, 44px);
      letter-spacing: .2px;
    }
    .event-hero p{margin:0; color: rgba(255,255,255,.92);}
    .event-pills{margin-top:12px;}
    .pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding: 9px 12px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.22);
      background: rgba(255,255,255,.10);
      backdrop-filter: blur(10px);
      font-weight: 900;
      font-size: 13px;
      color: #fff;
      margin: 0 10px 10px 0;
      white-space: nowrap;
    }
    .event-ctas{display:flex; gap: 12px; flex-wrap: wrap; margin-top: 14px;}
    .event-ctas .btn{border-color: rgba(255,255,255,.28) !important;}
    .event-ctas .btn.ghost{background: rgba(255,255,255,.12) !important; color:#fff !important;}
    .event-ctas .btn.ghost:hover{background: rgba(255,255,255,.18) !important;}

    .info-card{
      border-radius: 22px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(255,255,255,.10);
      backdrop-filter: blur(10px);
      padding: 14px 14px 12px;
    }
    .info-card h3{margin:0 0 10px; font-size: 14px; letter-spacing:.25px; text-transform: uppercase; color: rgba(255,255,255,.92);}
    .kv{display:grid; grid-template-columns: 120px 1fr; gap: 8px 12px; font-weight:700; font-size: 13.5px;}
    .kv div{color: rgba(255,255,255,.92);}
    .kv .k{opacity:.82; font-weight:800;}

    /* Content sections */
    .section .panel{border-radius: 20px;}
    .two-col{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      margin-top: 14px;
      align-items: stretch;
    }
    .map-shell{
      border-radius: 20px;
      overflow: hidden;
      border: 1px solid rgba(17,24,39,.10);
      box-shadow: 0 18px 45px rgba(17,24,39,.10);
      background:#fff;
    }
    .map-shell iframe{width:100%; height: 380px; border:0; display:block;}
    .list-clean{list-style:none; padding:0; margin:0; display:grid; gap: 10px;}
    .list-clean li{
      position:relative;
      padding-left: 36px;
      font-weight: 700;
      line-height: 1.35;
    }
    
    
    .list-clean li:before{
      content:"✓";
      position:absolute;
      left:0; top:0;
      width: 26px; height: 26px;
      display:flex; align-items:center; justify-content:center;
      border-radius: 999px;
      background:#fff;
      border: 2px solid rgba(34,197,94,.45);
      color:#16a34a;
      font-weight: 950;
      box-shadow: 0 10px 22px rgba(17,24,39,.10);
    }

    /* Registration form */
    .form-shell{ max-width: 980px; margin: 0 auto; }
    .form-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .form-grid .full{ grid-column: 1 / -1; }
    .form .field label{ font-weight: 900; }
    .form .field input, .form .field textarea, .form .field select{
      width: 100%;
      border-radius: 14px;
      border: 1px solid rgba(17,24,39,.14);
      padding: 12px 12px;
      font-size: 14.5px;
      background: rgba(255,255,255,.92);
    }
    .form .field textarea{ resize: vertical; }
    .hp{ position:absolute; left:-9999px; top:-9999px; height:1px; width:1px; overflow:hidden; }
    .alert{
      border-radius: 18px;
      padding: 14px 16px;
      border: 1px solid rgba(17,24,39,.12);
      background: rgba(255,255,255,.75);
      margin: 16px 0 0;
      font-weight: 800;
    }
    .alert.ok{ border-color: rgba(34,197,94,.35); background: rgba(34,197,94,.10); color:#0b2d18; }
    .alert.err{ border-color: rgba(239,68,68,.35); background: rgba(239,68,68,.08); color:#7f1d1d; }
    .captcha-row{ display:flex; align-items:flex-end; gap: 10px; }
    .captcha-q{ font-weight: 950; font-size: 18px; padding: 8px 12px; border-radius: 14px; background: rgba(17,24,39,.06); border:1px solid rgba(17,24,39,.10); }
    .btn.small{ padding: 8px 12px; font-size: 13px; }

    @media (max-width: 980px){
      .event-hero .event-hero-inner{grid-template-columns: 1fr; padding: 18px 16px 14px;}
      .two-col{grid-template-columns: 1fr;}
      .map-shell iframe{height: 320px;}
      .form-grid{ grid-template-columns: 1fr; }
      .captcha-row{ flex-direction: column; align-items: stretch; }
      .pill{white-space: normal;}
      .kv{grid-template-columns: 1fr; }
      .kv .k{opacity:.9;}
      
     
      
    }
    
    
          .conference-intro {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px;
    box-shadow: 0 10px 26px rgba(17, 24, 39, .06);
  border-radius: 10px;
  line-height: 1.5;
  margin-bottom: 20px;
}

.footer-partners {
background: white;
    border: 1px solid white;
    border-radius: 10px;
}

.footer-partners img {
max-width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding-top: 15px;
    padding-bottom: 15px;
}
