:root{
  --green:#006656;
  --green-dark:#004f45;
  --green-soft:#e8f4f1;
  --blue:#17384a;
  --blue-soft:#d9e8ee;
  --text:#163243;
  --muted:#60717b;
  --line:#e3eaed;
  --white:#fff;
  --gold:#d0a846;
  --bg:#f7fafb;
  --shadow:0 20px 60px rgba(20,48,60,.10);
  --radius:22px;
  --max:1280px;
  --font-main:"Montserrat","Aptos","Segoe UI",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-main);
  font-weight:500;
  color:var(--text);
  background:#fff;
  line-height:1.55;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
h1,h2,h3,h4,.main-nav a,.language-btn,.language-menu button,.btn,.link-btn{
  font-family:var(--font-main);
}
.container{
  width:min(var(--max), calc(100% - 44px));
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(219,229,233,.65);
}
.header-inner{
  height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.brand{
  display:flex;
  align-items:center;
  gap:17px;
  min-width:205px;
}
.brand-logo{width:70px;height:auto}
.brand-seal{width:64px;height:auto}

.main-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:42px;
  flex:1;
}
.main-nav a{
  color:#193646;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.045em;
  font-size:13px;
  position:relative;
  padding:35px 0;
}
.main-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:24px;
  height:2px;
  border-radius:20px;
  background:var(--green);
  transform:scaleX(0);
  transform-origin:left;
  transition:.2s ease;
}
.main-nav a:hover::after{transform:scaleX(1)}

.header-actions{
  min-width:205px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
}
.language{position:relative}
.language-btn{
  border:0;
  background:transparent;
  color:#173645;
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  font-size:13px;
  letter-spacing:.045em;
  cursor:pointer;
  padding:10px 8px;
}
.language-btn svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.language-menu{
  position:absolute;
  right:0;
  top:46px;
  min-width:110px;
  padding:8px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
  display:none;
}
.language-menu.open{display:block}
.language-menu button{
  width:100%;
  text-align:left;
  background:transparent;
  border:0;
  cursor:pointer;
  padding:9px 12px;
  border-radius:10px;
  font-weight:700;
  letter-spacing:.04em;
  color:#173645;
}
.language-menu button:hover{background:var(--green-soft)}
.burger{
  display:none;
  width:44px;
  height:44px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:14px;
  cursor:pointer;
}
.burger span{
  display:block;
  width:20px;
  height:2px;
  margin:5px auto;
  background:var(--green-dark);
  border-radius:20px;
}

.section-bg{
  background:
    radial-gradient(circle at 92% 6%, rgba(0,102,86,.06) 0 90px, transparent 91px),
    linear-gradient(180deg,#f6fafb 0%,#fff 100%);
}
.hero{
  position:relative;
  min-height:510px;
  overflow:hidden;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:120px;
  background:linear-gradient(180deg,transparent,#fff);
  pointer-events:none;
}
.ornament-top{
  position:absolute;
  right:-42px;
  top:8px;
  width:270px;
  height:270px;
  opacity:.45;
  background:
    radial-gradient(circle at center, transparent 0 34px, rgba(23,56,74,.05) 36px 54px, transparent 56px),
    radial-gradient(circle at 25% 35%, transparent 0 22px, rgba(23,56,74,.05) 23px 38px, transparent 40px),
    radial-gradient(circle at 70% 70%, transparent 0 27px, rgba(23,56,74,.05) 28px 45px, transparent 47px);
}
.hero-grid{
  position:relative;
  z-index:3;
  min-height:510px;
  display:flex;
  align-items:center;
}
.hero-content{
  width:min(870px,100%);
  padding:58px 0 96px;
}
.hero-eyebrow{
  margin:0;
  font-size:17px;
  text-transform:uppercase;
  letter-spacing:.045em;
  font-weight:800;
}
.hero-subtitle{
  margin:0 0 18px;
  font-size:18px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#1a394a;
  font-weight:500;
}
.hero h1{
  margin:0;
  font-size:76px;
  line-height:.98;
  letter-spacing:.07em;
  font-weight:800;
  color:#17384a;
}
.hero h1 span{
  color:var(--gold);
  display:inline-block;
  margin:0 10px;
}
.hero-date{
  margin-top:18px;
  font-size:27px;
  text-transform:uppercase;
  letter-spacing:.075em;
  color:#17384a;
  font-weight:500;
}
.hero-place{
  margin-top:22px;
  display:flex;
  align-items:center;
  gap:11px;
  font-size:17px;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.045em;
}
.hero-place svg{
  width:22px;
  fill:#17384a;
}
.hero-buttons{
  margin-top:32px;
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.btn{
  min-height:54px;
  border-radius:14px;
  padding:0 30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.045em;
  font-size:13px;
  transition:.2s ease;
}
.btn-light{
  color:#fff;
  background:linear-gradient(135deg,var(--green),#007965);
  box-shadow:0 14px 28px rgba(0,102,86,.22);
}
.btn-light:hover{transform:translateY(-2px)}
.btn-outline{
  border:1px solid rgba(23,56,74,.35);
  background:rgba(255,255,255,.55);
  color:#17384a;
}
.btn-outline:hover{background:#fff}
.hero-mountains{
  position:absolute;
  right:0;
  bottom:0;
  width:100%;
  height:auto;
  object-fit:cover;
  object-position:center bottom;
  z-index:1;
  pointer-events:none;
}
.features-wrap{
  margin-top:-72px;
  position:relative;
  z-index:5;
}
.features{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(216,226,230,.9);
  box-shadow:var(--shadow);
  border-radius:17px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
}
.feature{
  min-height:124px;
  display:grid;
  grid-template-columns:70px 1fr;
  gap:17px;
  align-items:center;
  padding:24px 28px;
  border-right:1px solid var(--line);
}
.feature:last-child{border-right:0}
.feature-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  background:#edf5f3;
  color:var(--green);
  display:grid;
  place-items:center;
}
.feature-icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.feature h3{
  margin:0 0 5px;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.035em;
  font-weight:800;
}
.feature p{
  margin:0;
  color:#2e4957;
  font-size:15px;
}

.about-news{
  padding:70px 0 44px;
}
.two-col{
  display:grid;
  grid-template-columns:1fr .95fr 1fr;
  gap:40px;
  align-items:start;
}
.section-kicker{
  margin:0 0 24px;
  display:inline-block;
  color:#17384a;
  text-transform:uppercase;
  font-size:21px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:.035em;
  position:relative;
}
.section-kicker::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-15px;
  width:45px;
  height:2px;
  border-radius:20px;
  background:var(--gold);
}
.about-card h2{
  margin:0 0 14px;
  font-size:28px;
  line-height:1.2;
  color:#17384a;
  font-weight:800;
}
.about-card p:not(.section-kicker){
  color:#243f4c;
  font-size:16px;
  margin:0 0 28px;
}
.link-btn{
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(23,56,74,.38);
  border-radius:40px;
  padding:0 26px;
  text-transform:uppercase;
  font-weight:700;
  font-size:13px;
  letter-spacing:.045em;
}
.link-btn:hover{background:var(--green-soft)}
.photo-card{
  height:235px;
  border-radius:14px;
  overflow:hidden;
  position:relative;
  box-shadow:0 16px 30px rgba(23,56,74,.08);
  background:linear-gradient(180deg,#d7e9f0 0%,#f6fbfd 38%,#93ad81 39%,#587145 100%);
}
.photo-sky{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 65% 22%, rgba(255,255,255,.85) 0 28px, transparent 29px),
    linear-gradient(180deg,#dceef4 0%,#f8fcfd 65%,transparent 66%);
}
.photo-mountains{
  position:absolute;
  left:-5%;
  right:-5%;
  top:36px;
  height:120px;
  background:
    linear-gradient(135deg,transparent 0 35%,#8ca8b4 36% 52%,transparent 53%) 9% 20px/180px 110px no-repeat,
    linear-gradient(135deg,transparent 0 34%,#6f8f9c 35% 55%,transparent 56%) 50% 14px/210px 125px no-repeat,
    linear-gradient(135deg,transparent 0 35%,#b3c9d3 36% 54%,transparent 55%) 78% 38px/160px 100px no-repeat;
  opacity:.95;
}
.photo-forest{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:105px;
  background:
    repeating-linear-gradient(115deg,transparent 0 22px,rgba(34,70,50,.62) 23px 31px),
    linear-gradient(180deg,transparent,#395238);
}
.news-card{
  border-left:1px solid var(--line);
  padding-left:40px;
}
.card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.card-head a{
  margin-top:8px;
  color:var(--green);
  font-weight:700;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.04em;
}
.news-item{
  padding:15px 0;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 24px;
  gap:12px;
  width:100%;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
  appearance:none;
  border-top:0;
  border-left:0;
  border-right:0;
  font:inherit;
  transition:.2s ease;
}
.news-item:hover,
.news-item:focus-visible{
  color:var(--green-dark);
  outline:0;
  transform:translateX(3px);
}
.news-date{
  color:#7a878e;
  text-transform:uppercase;
  font-size:12px;
  font-weight:700;
  letter-spacing:.035em;
}
.news-title{
  margin:3px 0 0;
  font-weight:700;
  line-height:1.25;
}
.news-excerpt{
  margin:7px 0 0;
  color:#5a6f79;
  font-size:13px;
  line-height:1.45;
}
.news-arrow{
  align-self:center;
  color:#17384a;
  font-size:24px;
}

.news-page-hero{
  padding:58px 0 46px;
  border-bottom:1px solid rgba(219,229,233,.75);
}
.news-page-hero__inner{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
}
.news-page-hero h1{
  margin:0 0 12px;
  color:#17384a;
  font-size:58px;
  line-height:1;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.news-page-hero p:not(.section-kicker){
  margin:0;
  color:#516872;
  font-size:18px;
}
.news-page{
  padding:58px 0 82px;
}
.news-page-grid{
  display:grid;
  grid-template-columns:minmax(280px, 390px) 1fr;
  gap:42px;
  align-items:start;
}
.news-page-list{
  display:grid;
  gap:14px;
  position:sticky;
  top:118px;
}
.news-page-card{
  display:grid;
  gap:9px;
  padding:20px 22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 12px 28px rgba(23,56,74,.055);
  transition:.2s ease;
}
.news-page-card:hover,
.news-page-card:focus-visible,
.news-page-card.active{
  border-color:rgba(0,102,86,.38);
  box-shadow:0 16px 34px rgba(0,102,86,.10);
  outline:0;
  transform:translateY(-2px);
}
.news-page-card.active{
  background:linear-gradient(180deg,#fff,#f2faf8);
}
.news-page-card strong{
  color:#17384a;
  font-size:16px;
  line-height:1.3;
}
.news-page-card span:last-child{
  color:#5a6f79;
  font-size:14px;
  line-height:1.5;
}
.news-article{
  min-height:420px;
  padding:42px 46px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
}
.news-article-date{
  margin:0 0 14px;
  color:var(--green-dark);
  text-transform:uppercase;
  font-size:13px;
  font-weight:700;
  letter-spacing:.045em;
}
.news-article h2{
  margin:0 0 24px;
  color:#17384a;
  font-size:38px;
  line-height:1.16;
  font-weight:800;
}
.news-article-body p{
  margin:0 0 18px;
  color:#243f4c;
  font-size:17px;
  line-height:1.75;
}
.news-article-body p:last-child{margin-bottom:0}

.modal-open{overflow:hidden}
.news-modal{
  position:fixed;
  inset:0;
  z-index:100;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.news-modal.open{display:flex}
.news-modal__overlay{
  position:absolute;
  inset:0;
  background:rgba(8,28,39,.48);
  backdrop-filter:blur(7px);
}
.news-modal__panel{
  position:relative;
  z-index:1;
  width:min(720px,100%);
  max-height:min(760px, calc(100vh - 48px));
  overflow:auto;
  background:#fff;
  border:1px solid rgba(221,231,235,.9);
  border-radius:18px;
  box-shadow:0 28px 80px rgba(8,28,39,.28);
  padding:38px 42px 40px;
}
.news-modal__close{
  position:absolute;
  right:18px;
  top:16px;
  width:38px;
  height:38px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:#17384a;
  cursor:pointer;
  font-size:26px;
  line-height:1;
}
.news-modal__close:hover,
.news-modal__close:focus-visible{
  background:var(--green-soft);
  outline:0;
}
.news-modal__date{
  margin:0 46px 12px 0;
  color:var(--green-dark);
  text-transform:uppercase;
  font-size:13px;
  font-weight:700;
  letter-spacing:.045em;
}
.news-modal h2{
  margin:0 46px 20px 0;
  color:#17384a;
  font-size:34px;
  line-height:1.16;
  font-weight:800;
}
.news-modal__body p{
  margin:0 0 16px;
  color:#243f4c;
  font-size:16px;
  line-height:1.7;
}
.news-modal__body p:last-child{margin-bottom:0}

.program-section{
  padding:82px 0 90px;
}
.section-title{
  width:min(760px,100%);
  margin-bottom:28px;
}
.section-title h2{
  margin:0 0 10px;
  font-size:42px;
  line-height:1.1;
  color:#17384a;
  font-weight:800;
}
.section-title p:not(.section-kicker){
  margin:0;
  color:var(--muted);
  font-size:18px;
}
.program-tabs{
  display:flex;
  gap:14px;
  margin:28px 0 18px;
  flex-wrap:wrap;
}
.day-tab{
  min-width:210px;
  padding:17px 22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  text-align:left;
  cursor:pointer;
  color:#17384a;
  box-shadow:0 10px 28px rgba(23,56,74,.05);
}
.day-tab span{
  display:block;
  font-weight:800;
  font-size:17px;
}
.day-tab small{
  color:var(--muted);
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.04em;
}
.day-tab.active{
  background:linear-gradient(135deg,var(--green-dark),var(--green));
  color:#fff;
  border-color:transparent;
}
.day-tab.active small{color:rgba(255,255,255,.78)}
.program-location{
  display:flex;
  align-items:center;
  gap:10px;
  margin:18px 0 22px;
  color:#17384a;
  font-weight:700;
}
.program-location svg{
  width:20px;
  fill:var(--green);
}
.timeline{
  display:grid;
  gap:12px;
}
.timeline-item{
  background:#fff;
  border:1px solid rgba(221,231,235,.9);
  border-radius:18px;
  box-shadow:0 14px 30px rgba(23,56,74,.055);
  display:grid;
  grid-template-columns:160px 1fr;
  gap:20px;
  padding:22px 24px;
  position:relative;
}
.timeline-item::before{
  content:"";
  position:absolute;
  left:154px;
  top:24px;
  bottom:24px;
  width:1px;
  background:var(--line);
}
.timeline-time{
  color:var(--green-dark);
  font-size:17px;
  font-weight:800;
  white-space:nowrap;
}
.timeline-title{
  font-weight:800;
  color:#17384a;
  margin:0 0 5px;
}
.timeline-note{
  margin:0;
  color:#516872;
}
.timeline-list{
  margin:8px 0 0;
  padding-left:18px;
  color:#516872;
}
.timeline-list li{margin:5px 0}
.distance-card{
  margin-top:34px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:26px;
}
.distance-card h3{
  margin:0 0 18px;
  font-size:24px;
  color:#17384a;
  font-weight:800;
}
.distance-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px 24px;
}
.distance-item{
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px dashed #dce6ea;
  padding:9px 0;
}
.distance-item span:last-child{
  font-weight:800;
  color:var(--green-dark);
  white-space:nowrap;
}

.subscribe{
  padding:42px 0;
  border-top:1px solid rgba(219,229,233,.75);
  border-bottom:1px solid rgba(219,229,233,.75);
}
.subscribe-inner{
  display:grid;
  grid-template-columns:1.1fr 1fr .8fr;
  gap:36px;
  align-items:center;
}
.subscribe-title{
  display:flex;
  align-items:center;
  gap:18px;
}
.mail-icon{
  width:60px;
  height:60px;
  border-radius:50%;
  background:#fff;
  color:var(--green);
  display:grid;
  place-items:center;
  box-shadow:0 12px 26px rgba(23,56,74,.06);
}
.mail-icon svg{
  width:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.subscribe-title h2{
  margin:0;
  color:#17384a;
  text-transform:uppercase;
  font-size:19px;
  font-weight:800;
  letter-spacing:.035em;
}
.subscribe-title p{
  margin:3px 0 0;
  color:#516872;
}
.subscribe-form{
  display:flex;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  height:54px;
}
.subscribe-form input{
  flex:1;
  min-width:0;
  border:0;
  padding:0 20px;
  outline:0;
  color:#17384a;
}
.subscribe-form button{
  border:0;
  padding:0 26px;
  background:linear-gradient(135deg,var(--green-dark),var(--green));
  color:#fff;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.04em;
  cursor:pointer;
}
.social{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}
.social span{
  text-transform:uppercase;
  font-weight:700;
  font-size:14px;
  letter-spacing:.035em;
}
.social a{
  width:31px;
  height:31px;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  color:#17384a;
  font-weight:800;
  font-size:13px;
  box-shadow:0 8px 18px rgba(23,56,74,.06);
}
.footer{padding:22px 0;background:#fff}
.footer-inner{
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#61747e;
  font-size:14px;
}
.footer p{margin:0}
.footer a{color:#17384a;font-weight:700}

@media (max-width:1160px){
  .main-nav{gap:24px}
  .main-nav a{font-size:12px}
  .hero h1{font-size:64px}
  .features{grid-template-columns:repeat(2,1fr)}
  .feature:nth-child(2){border-right:0}
  .feature:nth-child(1),.feature:nth-child(2){border-bottom:1px solid var(--line)}
  .two-col{grid-template-columns:1fr 1fr}
  .news-card{
    grid-column:1/-1;
    border-left:0;
    padding-left:0;
  }
  .subscribe-inner{grid-template-columns:1fr}
  .social{justify-content:flex-start}
}

@media (max-width:860px){
  .container{width:min(100% - 28px,var(--max))}
  .header-inner{height:74px}
  .brand{min-width:auto;gap:10px}
  .brand-logo{width:57px}
  .brand-seal{width:49px}
  .header-actions{min-width:auto}
  .burger{display:block}
  .main-nav{
    position:fixed;
    left:14px;
    right:14px;
    top:84px;
    z-index:60;
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    padding:14px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .main-nav.open{display:flex}
  .main-nav a{
    padding:14px 12px;
    border-radius:12px;
  }
  .main-nav a:hover{background:var(--green-soft)}
  .main-nav a::after{display:none}
  .hero{min-height:590px}
  .hero-grid{min-height:590px;align-items:flex-start}
  .hero-content{padding:44px 0 170px}
  .hero-eyebrow,.hero-subtitle{font-size:14px}
  .hero h1{font-size:42px;letter-spacing:.035em}
  .hero h1 span{margin:0 6px}
  .hero-date{font-size:20px}
  .hero-place{font-size:14px;align-items:flex-start}
  .hero-buttons{gap:10px}
  .btn{width:100%;padding:0 18px}
  .hero-mountains{height:auto;width:145%;right:-34%}
  .features-wrap{margin-top:-46px}
  .features{grid-template-columns:1fr;border-radius:18px}
  .feature{
    border-right:0;
    border-bottom:1px solid var(--line);
    grid-template-columns:58px 1fr;
    padding:20px;
  }
  .feature:last-child{border-bottom:0}
  .two-col{grid-template-columns:1fr;gap:28px}
  .about-news{padding:46px 0 36px}
  .news-card{grid-column:auto}
  .news-page-hero{padding:42px 0 34px}
  .news-page-hero__inner{
    display:grid;
    align-items:start;
  }
  .news-page-hero h1{font-size:38px}
  .news-page{padding:38px 0 58px}
  .news-page-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .news-page-list{
    position:static;
  }
  .news-article{
    padding:28px 22px;
  }
  .news-article h2{
    font-size:27px;
  }
  .news-modal{padding:14px}
  .news-modal__panel{
    max-height:calc(100vh - 28px);
    padding:32px 22px 28px;
  }
  .news-modal h2{
    margin-right:38px;
    font-size:25px;
  }
  .news-modal__date{margin-right:38px}
  .section-title h2{font-size:31px}
  .program-section{padding:58px 0}
  .day-tab{flex:1;min-width:0}
  .timeline-item{
    grid-template-columns:1fr;
    gap:7px;
    padding:18px;
  }
  .timeline-item::before{display:none}
  .distance-grid{grid-template-columns:1fr}
  .distance-item{font-size:14px}
  .subscribe-form{height:auto;display:grid}
  .subscribe-form input{height:52px}
  .subscribe-form button{height:52px}
}

@media (max-width:480px){
  .language-btn{padding:8px 4px}
  .hero h1{font-size:35px}
  .hero-date{font-size:17px}
  .program-tabs{display:grid;grid-template-columns:1fr}
  .photo-card{height:210px}
  .subscribe-title{align-items:flex-start}
}
