
*{box-sizing:border-box} html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#0e3a2a}
:root{--green:#0e7a4c;--bgfade:rgba(0,0,0,.45)}
.container{max-width:1100px;margin:0 auto;padding:40px 20px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#fff8;border-bottom:1px solid #eaeaea;position:sticky;top:0;backdrop-filter:saturate(150%) blur(6px);z-index:10}
.lang-switcher{display:flex;gap:8px;align-items:center;font-weight:600}
.lang-buttons{display:flex;gap:6px}
.lang-btn{padding:8px 10px;border:1px solid var(--green);background:#fff;border-radius:8px;cursor:pointer;font-weight:700}
.lang-btn.active{background:var(--green);color:#fff}
.top-links .btn{margin-left:10px}
.btn{display:inline-block;padding:10px 16px;border-radius:8px;text-decoration:none;border:1px solid var(--green);font-weight:600}
.btn.primary{background:var(--green);color:#fff}
.btn.secondary{background:#fff;color:var(--green)}
.btn.large{padding:14px 20px;font-size:1.05rem}
.hero{position:relative;min-height:65vh;display:flex;align-items:center;background:linear-gradient(var(--bgfade),var(--bgfade)),center/cover no-repeat var(--bg);}
.hero-content{display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:40px 20px}
.hero-text h1{font-size:clamp(28px,4.5vw,46px);margin:.2em 0;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero-text h2{font-size:clamp(22px,3.2vw,34px);margin:.2em 0;color:#eafff2;text-shadow:0 2px 12px rgba(0,0,0,.35);font-weight:700}
.dates{color:#f5fff8;font-weight:700}

#schedule-days .days{display:grid;gap:16px;margin-top:10px}
#schedule-days .day{padding:14px;border:1px solid #e1eee6;border-radius:10px;background:#f7fbf9}
#schedule-days .day h4{margin:.2em 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.grid img{width:100%;height:160px;object-fit:cover;border-radius:10px;border:2px solid #e6efe9}
.hint{opacity:.75}
.footer{padding:24px 16px;background:#f5fbf7;color:#487e64;text-align:center;margin-top:40px;border-top:1px solid #e1eee6}
@media (max-width:800px){.hero-content{grid-template-columns:1fr}.hero-photo{order:-1}}


/* --- Adjust hero photo to match block height --- */
.hero-content{min-height:60vh; align-items:stretch}
.hero-photo{display:flex; align-items:flex-end; justify-content:center}

@media (max-width:800px){
  
}

/* Improve legibility on hero */
.hero-text h1,
.hero-text h2,
.hero .dates { color:#fff !important; text-shadow:0 3px 14px rgba(0,0,0,.55); }

@media (max-width:800px){
  /* On small screens bias face to left and keep full head visible */
  
}

/* Responsive gallery sizing */
@media (max-width: 700px){
  .grid{ grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap:10px; }
  .grid img{ height:110px; }
}
@media (max-width: 480px){
  .grid{ grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap:8px; }
  .grid img{ height:95px; }
}

/* Fallback responsive improvements (in case inline style is stripped by host) */
@media (min-width:901px){ .hero-content{min-height:85vh;} }
@media (max-width:900px){ .hero-content{min-height:72vh;} }

/* === Overrides: friendlier mobile bg and safe Sagitov photo === */
.hero-content{min-height:72vh;}
.hero-photo{display:flex;align-items:center;justify-content:center}


@media (max-width:900px){
  .hero{background-size:120% auto !important;}
  .hero-content{min-height:62vh;}
  
}

/* === Softer background as a separate layer === */
.hero{ position:relative; background: linear-gradient(180deg, rgba(0,0,0,0.45), rgba(0,0,0,0.45)); }
.hero::before{
  content:""; position:absolute; inset:0; z-index:0;
  background: center/cover no-repeat var(--bg);
  opacity:.22; filter: blur(2px);
}
.hero > *{ position:relative; z-index:1; } /* keep content above */

@media (max-width:900px){
  .hero{ background: linear-gradient(180deg, rgba(0,0,0,0.55), rgba(0,0,0,0.55)); }
  .hero::before{ background-size: contain; opacity:.14; filter: blur(1.5px); }
  .hero-content{ min-height: 58vh; }
  
}

/* === Ensure Sagitov photo is always visible === */
.hero-photo{display:flex; align-items:center; justify-content:center}
.hero-photo img{
  width: 100% !important;
  height: auto !important;
  max-height: 70vh;
  object-fit: contain !important;
  object-position: left center !important;
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  background: #fff;
  border: 4px solid #ffffffaa;
}

@media (max-width: 900px){
  .hero-photo img{ max-height: 45vh; object-position: center !important; }
  .hero::before{ opacity: .12; } /* even softer background layer on phones */
}
