:root {
  --lake: #164985;
  --blue: #287bb5;
  --green: #027f39;
  --sushi: #70ab2d;
  --yellow: #fecc0d;
  --ink: #164985; /* Lake Baikal - brandbook paletes melyna */
  --gray: #727272; /* Dim Gray - brandbook paletes pilka, antrinis tekstas ant sviesaus fono */
  --on-dark: rgba(255,255,255,.92); /* antrinis tekstas ant tamsiu sekciju (>=4.5:1 ir ant zalio) */
  --paper: #f6f8f6;
  --white: #fff;
  --font-antrastes: "Exo", sans-serif;
  --font-tekstas: "Open Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; overflow-x: clip; color: var(--ink); background: var(--paper); font-family: var(--font-tekstas); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.site-header { position: absolute; inset: 0 0 auto; height: 56px; z-index: 20; pointer-events: none; }
/* Logo centras lygiuojamas su meniu juostos centru (juosta: 38px + 56px/2 = 66px),
   todel jis lieka vienoje linijoje su meniu bet kokiame plotyje. */
/* Brandbooko zenklas be remelio ir be demeses. Siauresniuose languose -
   po meniu juosta, viduryje. */
.hero-brand { position: absolute; top: 86px; left: 50%; transform: translateX(-50%); z-index: 22; width: clamp(196px, 17vw, 292px); pointer-events: auto; }
.hero-brand img { display: block; width: 100%; height: auto; }
.has-overlay-header .hero-brand img { filter: drop-shadow(0 2px 16px rgba(3,18,36,.5)); }
.hero-brand:hover img, .hero-brand:focus-visible img { opacity: .88; }

/* Placiuose languose zenklas telpa i pacia antrastes juosta - tarpe tarp
   kaireje esanciu ikonu ir desineje esancios zalios juostos. Ribos, o ne
   fiksuotas centras: tarpas skirtinguose languose nevienodas, o taip
   zenklas visada lieka jo viduryje. */
@media (min-width: 1420px) {
  .hero-brand {
    top: 0; height: 56px; width: auto; transform: none;
    /* Ikonu juostos plotis = jos turinys (~268 px) + paraštės is abieju pusiu. */
    left: calc(268px + 2 * max(26px, (100vw - 1810px) / 2) + 20px);
    right: calc(min(892px, 76vw) + 20px);
    display: flex; align-items: center; justify-content: center;
  }
  .hero-brand img { width: auto; max-width: 100%; max-height: 24px; }
}
/* Logotipas virsuje nerodomas: pradzios vaizdo irase logotipas ir taip
   prasisuka, o desineje pusėje dabar gyvena meniu juosta. */

/* Virsutines nuorodos: soc. tinklai, prieinamumo ikonos, kalba. Ne juosta,
   o atskiros, viena su kita nesujungtos ikonos virs meniu. */
.utility-bar { position: absolute; top: 0; left: 0; right: auto; z-index: 21; height: 56px; padding: 0 max(clamp(14px, 1.6vw, 26px), calc((100vw - 1810px) / 2)); display: flex; align-items: center; gap: 8px; background: transparent; color: var(--white); pointer-events: none; }
.utility-bar > * { pointer-events: auto; }
.utility-bar > a { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(11,31,59,.66); color: var(--white); transition: background .18s ease, color .18s ease; }
.utility-bar > a:hover, .utility-bar > a:focus-visible { background: var(--yellow); color: var(--ink); }
.utility-bar svg { width: 17px; height: 17px; }
.utility-bar .language { min-width: 0; height: 28px; padding: 0 11px; border-radius: 999px; background: rgba(11,31,59,.66); border-left: 0; }
.utility-bar .language button { font-size: 12px; }
.utility-bar .language-drop { top: calc(100% + 6px); border-radius: 0 0 14px 14px; }

.nav-shell { position: absolute; top: 0; right: 0; width: min(892px, 76vw); height: 56px; border-radius: 0 0 0 52px; background: linear-gradient(255deg, var(--green) 38%, var(--sushi) 140%); box-shadow: 0 12px 34px rgba(2,58,28,.22); pointer-events: auto; }
.nav { width: 100%; height: 100%; display: flex; flex-direction: row-reverse; align-items: stretch; border-radius: inherit; }
.nav-links { flex: 1; padding: 0 clamp(10px, .9vw, 16px) 0 clamp(42px, 4vw, 68px); display: flex; align-items: center; justify-content: flex-start; gap: 12px; }
.nav-item { height: 100%; display: flex; align-items: center; position: relative; }
.nav-item > a { display: inline-flex; align-items: center; gap: 3px; }
.nav-item > a i { font-style: normal; font-size: 14px; line-height: 1; color: var(--yellow); transition: transform .2s ease; }
.nav-item:hover > a i, .nav-item:focus-within > a i { transform: rotate(180deg); }

/* Antro lygio meniu - atsiveria uzvedus pele arba per klaviatura. */
.nav-drop { position: absolute; top: 100%; left: -14px; z-index: 5; min-width: 216px; padding: 10px 0; display: grid; background: var(--white); border-radius: 0 0 18px 18px; box-shadow: 0 18px 38px rgba(2,58,28,.22); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.nav-item:hover .nav-drop, .nav-item:focus-within .nav-drop { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-links .nav-drop a { padding: 10px 22px; color: var(--ink); font-size: 16px; font-weight: 700; white-space: nowrap; transition: background .15s ease, color .15s ease; }
.nav-links .nav-drop a::after { display: none; }
.nav-links .nav-drop a:hover, .nav-links .nav-drop a:focus-visible { background: var(--green); color: var(--white); }

.nav-links a { padding: 0; color: var(--white); font-family: var(--font-antrastes); font-size: 16px; font-weight: 700; white-space: nowrap; position: relative; }
.nav-links a::after { content: ""; height: 2px; width: 0; background: var(--yellow); position: absolute; left: 0; bottom: -9px; transition: width .2s ease; }
.nav-links a:hover::after, .nav-links a:focus-visible::after { width: 100%; }
.language { min-width: 44px; padding: 0 7px; border-left: 1px solid rgba(255,255,255,.32); display: inline-flex; align-items: center; justify-content: center; gap: 5px; color: var(--white); font: 700 12px var(--font-antrastes); white-space: nowrap; }
.language svg { width: 16px; height: 16px; flex: none; }
.language i { margin-left: 2px; color: var(--yellow); font-style: normal; }
.nav-cta { min-width: 118px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 15px; background: var(--yellow); color: #102334; font-family: var(--font-antrastes); font-weight: 800; font-size: 14px; white-space: nowrap; transition: background .2s ease; }
.nav-cta:hover { background: color-mix(in srgb, var(--yellow) 88%, #fff); }
.nav-cta span { font-size: 13px; }
.menu-button { display: none; border: 0; background: transparent; font-family: var(--font-antrastes); font-weight: 800; color: var(--white); }

.hero { min-height: 760px; height: 100svh; max-height: 1080px; position: relative; overflow: hidden; background: var(--ink); color: var(--white); }
.hero-carousel { position: absolute; inset: 0; }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; transition: opacity .9s ease; }
.hero-image.is-active { opacity: 1; }

.hero-controls { position: absolute; z-index: 3; right: max(46px, calc((100vw - 1810px) / 2)); bottom: clamp(44px, 6vh, 78px); display: flex; align-items: center; gap: 14px; }
.hero-controls > button { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(4,20,34,.35); color: var(--white); font-size: 19px; line-height: 1; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.hero-controls > button:hover { background: var(--yellow); border-color: var(--yellow); color: var(--ink); }
.hero-dots { display: flex; align-items: center; gap: 8px; }
.hero-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.45); cursor: pointer; transition: background .2s ease, transform .2s ease; }
.hero-dots button.is-active { background: var(--yellow); transform: scale(1.35); }

.hero-caption { position: absolute; z-index: 3; right: max(46px, calc((100vw - 1810px) / 2)); bottom: calc(clamp(44px, 6vh, 78px) + 46px); margin: 0; color: rgba(255,255,255,.82); font: 700 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .16em; text-align: right; }

@media (prefers-reduced-motion: reduce) {
  .hero-image { transition: none; }
}
.hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2,15,27,.13) 0%, rgba(2,17,29,.06) 36%, rgba(2,17,29,.82) 100%), linear-gradient(90deg, rgba(3,22,39,.5), transparent 53%), radial-gradient(circle at 92% 4%, rgba(3,20,35,.55), transparent 34%); }
.hero-content { position: absolute; z-index: 2; left: max(46px, calc((100vw - 1810px) / 2)); right: max(46px, calc((100vw - 1810px) / 2)); bottom: clamp(44px, 6vh, 78px); }
.eyebrow { margin: 0 0 22px; display: flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.eyebrow span { width: 36px; height: 3px; background: var(--yellow); }
h1 { margin: 0; max-width: 1680px; font-family: var(--font-antrastes); font-size: clamp(78px, 9.2vw, 176px); line-height: .82; letter-spacing: -.065em; font-weight: 800; text-wrap: balance; text-shadow: 0 7px 35px rgba(0,0,0,.24); }
h1 span { color: var(--yellow); }
.button { min-height: 54px; padding: 0 23px; display: inline-flex; align-items: center; justify-content: center; gap: 36px; font-family: var(--font-antrastes); font-size: 16px; font-weight: 800; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--yellow); color: var(--ink); }
.button-secondary { background: var(--lake); color: var(--white); }
.button-secondary:hover { background: var(--green); }

:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.nav-cta:focus-visible, .button-primary:focus-visible, .skip-link:focus-visible, .contact-dialog .button-primary:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }

@media (max-width: 1180px) {
  /* Suskleidus meniu juostoje lieka tik „Priemimas" ir „Meniu", todel ji
     apkabina turini; desine parastes dalis palikta apvaliam kampui. */
  .nav-shell { width: fit-content; padding-left: 22px; height: 46px; border-radius: 0 0 0 22px; }
  .nav { height: 46px; }
  /* Logo lygiuojamas su zemesne juosta: 38px + 46px/2. */
  .hero-brand { display: none; }
  .nav-links { display: none; }
  .language { margin-left: 0; }
  .menu-button { min-width: 116px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-right: 1px solid rgba(255,255,255,.32); }
}

@media (max-width: 720px) {
  .site-header { height: 46px; }
  /* Telefone virsutinei eilutei vietos maziau, todel ikonos ir kalbos
     mygtukas kompaktiskesni - kitaip jie uzliptu ant meniu juostos. */
  .utility-bar { height: 46px; gap: 6px; padding: 0 12px; }
  .utility-bar > a { width: 34px; height: 34px; }
  .utility-bar .language, .utility-contact { height: 34px; }
  .utility-bar .language { padding: 0 9px; }
  .utility-bar .language button { gap: 3px; }
  .utility-bar .language svg { width: 15px; height: 15px; }
  .utility-bar .language { display: inline-flex; }
  /* Juosta tokio pat aukscio kaip planseteje (40px + 46px/2 = 63px). */

  .nav-shell { top: 0; right: 12px; width: 110px; padding-left: 0; height: 46px; border-radius: 0 0 0 22px; }
  .nav { height: 46px; }
  .language { display: none; }
  .nav-cta { display: none; }
  .menu-button { width: 100%; min-width: 0; }
  .hero { min-height: 650px; height: 100svh; }
  .hero-image { object-position: 60% center; }
  .hero-shade { background: linear-gradient(180deg, rgba(4,19,32,.05) 0%, rgba(4,22,38,.32) 45%, rgba(3,20,34,.94) 88%); }
  .hero-content { left: 20px; right: 20px; bottom: 42px; }
  .eyebrow { font-size: 12px; margin-bottom: 18px; }
  h1 { max-width: 620px; font-size: clamp(56px, 17.5vw, 94px); line-height: .86; }
  .button { min-height: 50px; padding: 0 17px; gap: 18px; font-size: 12px; }

}

/* Siauriausiuose ekranuose viskas dar kompaktiskiau, kad viršutines ikonos
   ir meniu juosta niekada nesusiliestu. */
@media (max-width: 340px) {
  .utility-bar { gap: 4px; padding: 0 10px; }
  .utility-bar > a { width: 30px; height: 30px; }
  .utility-bar .language { height: 30px; }
  .utility-bar .language { padding: 0 7px; }
  .nav-shell { right: 10px; width: 100px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* Full prototype */
.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 12px 18px; background: var(--yellow); color: var(--ink); transform: translateY(-160%); font-weight: 800; }
.skip-link:focus { transform: translateY(0); }
.site-header { top: 0; }
.section-pad { padding-left: max(32px, calc((100vw - 1312px) / 2)); padding-right: max(32px, calc((100vw - 1312px) / 2)); }
.section-label { display: flex; align-items: center; gap: 12px; color: var(--green); font-family: var(--font-antrastes); font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.section-label::after { content: ""; width: 42px; height: 1px; background: currentColor; opacity: .55; }
.section-label span { color: var(--gray); }
.section-label.light { color: var(--yellow); }
.section-label.light span { color: rgba(255,255,255,.72); }
section h2 { margin: 24px 0 0; font-family: var(--font-antrastes); font-size: clamp(42px, 4.6vw, 74px); line-height: .98; letter-spacing: -.045em; }
section h2 em { color: var(--green); font-style: normal; }
.text-link { display: inline-flex; align-items: center; gap: 42px; padding-bottom: 9px; border-bottom: 2px solid var(--yellow); font-family: var(--font-antrastes); font-size: 16px; font-weight: 800; }
.text-link span { color: var(--green); font-size: 17px; }

.mobile-menu { position: fixed; inset: 0; z-index: 80; background: var(--lake); color: white; padding: 20px 24px 28px; display: flex; flex-direction: column; transform: translateX(102%); transition: transform .35s cubic-bezier(.7,0,.2,1); visibility: hidden; }
.mobile-menu.is-open { transform: translateX(0); visibility: visible; }
.mobile-menu-top { min-height: 72px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255,255,255,.18); }
.mobile-wordmark { width: 88px; height: auto; display: block; }
.mobile-menu-top button { border: 0; background: transparent; color: white; font-weight: 700; }
.mobile-menu-top button span { margin-left: 12px; color: var(--yellow); font-size: 24px; }
.mobile-menu nav { display: grid; align-content: start; padding-top: 22px; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.mobile-sub { display: grid; padding: 6px 0 10px 34px; }
.mobile-sub a { min-height: 40px; grid-template-columns: 1fr; border-bottom: 0; color: #cfe0ee; font-family: var(--font-antrastes); font-size: 16px; font-weight: 600; }
.mobile-sub a:hover { color: var(--yellow); }
.mobile-menu nav a { min-height: 54px; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; border-bottom: 1px solid rgba(255,255,255,.12); font-family: var(--font-antrastes); font-size: 19px; font-weight: 700; }
.mobile-menu nav small { font-size: 12px; color: #a7c2d8; }
.mobile-menu nav span { color: var(--yellow); }
.mobile-menu-cta { margin-top: auto; min-height: 56px; padding: 0 18px; background: var(--yellow); color: var(--ink); display: flex; align-items: center; justify-content: space-between; font-family: var(--font-antrastes); font-weight: 800; }

/* Juostai reikia laisvos parastes: isskleista ji uzima 236 px, todel
   pilna forma rodoma tik nuo 1816 px. Siauresniuose ekranuose lieka
   siaura versija su pavadinimais uzvedus - taip numatyta dizaine. */

.section-rail { position: fixed; left: max(18px, calc((100vw - 1810px) / 2)); top: 50%; z-index: 12; width: 218px; padding: 17px 16px 16px; border-left: 3px solid var(--green); background: rgba(255,255,255,.94); box-shadow: 0 18px 50px rgba(22,73,133,.15); backdrop-filter: blur(12px); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-16px,-50%); transition: opacity .25s ease, transform .25s ease, visibility .25s ease; }
.section-rail.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(0,-50%); }
.section-rail-current { min-height: 46px; display: grid; grid-template-columns: 34px 1fr; align-items: center; border-bottom: 1px solid #dbe4e8; }
.section-rail-current small { color: var(--green); font: 800 12px var(--font-antrastes); }
.section-rail-current strong { overflow: hidden; color: var(--ink); font: 800 14px var(--font-antrastes); text-overflow: ellipsis; white-space: nowrap; }
.section-rail nav { padding-top: 7px; display: grid; }
.section-rail nav a { min-height: 32px; position: relative; display: grid; grid-template-columns: 34px 1fr 12px; align-items: center; color: #80909b; transition: color .18s ease, background .18s ease; }
.section-rail nav a:hover, .section-rail nav a:focus-visible { color: var(--lake); background: #f1f5f6; }
.section-rail nav a span { font: 700 12px var(--font-antrastes); }
.section-rail nav a em { overflow: hidden; font: 600 12px var(--font-antrastes); font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.section-rail nav a i { width: 8px; height: 2px; background: transparent; transition: width .18s ease, background .18s ease; }
.section-rail nav a.active { color: var(--ink); }
.section-rail nav a.active span { color: var(--green); font-weight: 800; }
.section-rail nav a.active em { font-weight: 800; }
.section-rail nav a.active i { width: 12px; background: var(--yellow); }

@media (max-width: 1815px) and (min-width: 1121px) {
  .section-rail { width: 60px; padding: 12px 7px; }
  .section-rail-current { min-height: 40px; display: grid; grid-template-columns: 1fr; place-items: center; }
  .section-rail-current strong { display: none; }
  .section-rail nav a { width: 43px; grid-template-columns: 1fr; place-items: center; }
  .section-rail nav a em { position: absolute; left: 52px; min-width: 132px; padding: 8px 10px; background: white; box-shadow: 0 8px 24px rgba(22,73,133,.14); opacity: 0; visibility: hidden; transform: translateX(-6px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
  .section-rail nav a.active em, .section-rail nav a:hover em, .section-rail nav a:focus-visible em { opacity: 1; visibility: visible; transform: translateX(0); }
  .section-rail nav a i { display: none; }
}

.quick-section { background: white; padding: 52px max(32px, calc((100vw - 1312px)/2)) 80px; }
.section-kicker { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.section-kicker span { color: var(--green); font-family: var(--font-antrastes); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.section-kicker b { font: 700 13px var(--font-antrastes); color: var(--gray); }
.quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #dbe3e7; }
.quick-card { min-height: 208px; padding: 24px; position: relative; border-right: 1px solid #dbe3e7; background: white; transition: background .25s ease, color .25s ease, transform .25s ease; }
.quick-card:last-child { border-right: 0; }
.quick-card:hover { z-index: 2; color: white; background: var(--lake); transform: translateY(-5px); }
.quick-card small { color: var(--blue); font: 700 12px var(--font-antrastes); }
.card-arrow { position: absolute; top: 20px; right: 22px; color: var(--green); font-size: 18px; }
.quick-card:hover .card-arrow { color: var(--yellow); }
.quick-card h2 { margin: 62px 0 10px; font-size: 24px; letter-spacing: -.025em; }
.quick-card p { margin: 0; max-width: 230px; color: var(--gray); font-size: 16px; line-height: 1.5; }
.quick-card:hover p { color: #d5e0e9; }

.about { min-height: 780px; padding-top: 118px; padding-bottom: 118px; display: grid; grid-template-columns: 1fr .86fr; align-items: center; gap: clamp(60px, 9vw, 145px); background: var(--paper); }
.about-copy h2 { max-width: 690px; }
.about-copy .lead { margin: 36px 0 18px; max-width: 650px; font-size: 19px; line-height: 1.65; color: #273e51; }
.about-copy > p:not(.lead) { max-width: 610px; margin: 0 0 32px; font-size: 15px; line-height: 1.75; color: #647584; }
.about-visual { position: relative; margin: 0; min-height: 560px; isolation: isolate; }
.about-visual img { position: relative; z-index: 1; width: 100%; height: 540px; object-fit: cover; object-position: center 24%; border-radius: 18px; }

.stats { display: grid; grid-template-columns: 1.45fr repeat(4, 1fr); background: var(--green); color: white; }
.stats > div { min-height: 185px; padding: 34px 28px; border-right: 1px solid rgba(255,255,255,.16); display: flex; flex-direction: column; justify-content: center; }
.stats-intro { background: var(--ink); padding-left: max(32px, calc((100vw - 1312px)/2)) !important; }
.stats-intro span { color: var(--yellow); font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .14em; }
.stats-intro p { margin: 12px 0 0; max-width: 240px; color: var(--on-dark); font-size: 16px; line-height: 1.55; }
/* Skaiciai turi stoveti vienoje linijoje, todel blokai lygiuojami nuo virsaus:
   ilgesnis paaiskinimas nebekelia skaiciaus auksciau uz kaimyninius. */
.stats .stat { justify-content: flex-start; }
.stat strong { font: 800 clamp(40px,4vw,60px) var(--font-antrastes); letter-spacing: -.055em; }
.stat strong span { color: var(--yellow); }
.stat p { margin: 5px 0 0; max-width: 210px; color: var(--on-dark); font-size: 16px; line-height: 1.45; }
.stat-live strong { color: var(--yellow); font: 800 clamp(40px,4vw,60px) var(--font-antrastes); letter-spacing: -.055em; display: flex; align-items: center; gap: 8px; }
.stat-live strong i { flex: none; width: 12px; height: 12px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 7px rgba(254,204,13,.15); }

.news-mosaic { padding-top: 120px; padding-bottom: 125px; background: white; }
.section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 48px; }
.mosaic-grid { display: grid; grid-template-columns: 1.16fr 1fr; min-height: 620px; gap: 16px; }
.featured-news { position: relative; overflow: hidden; min-height: 620px; }
.featured-news > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; transform: scale(1.02); transition: transform .6s ease; }
.featured-news:hover > img { transform: scale(1.06); }
.featured-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgba(4,22,38,.92)); }
.featured-content { position: absolute; z-index: 2; inset: auto 42px 42px; color: white; }
.featured-content > span { display: inline-block; margin-bottom: 18px; color: var(--yellow); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.featured-content h3 { max-width: 620px; margin: 0 0 25px; font: 700 clamp(27px,2.5vw,42px)/1.1 var(--font-antrastes); letter-spacing: -.035em; }
.featured-content a { display: inline-flex; align-items: center; gap: 40px; font-size: 16px; font-weight: 700; }
.featured-content b { color: var(--yellow); font-size: 18px; }
.mosaic-links { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mosaic-link { min-height: 302px; padding: 26px; position: relative; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; transition: transform .25s ease; }
.mosaic-link:hover { transform: translateY(-4px); }
.mosaic-link small { position: absolute; z-index: 2; top: 25px; left: 26px; right: 56px; color: var(--yellow); font: 700 16px/1.25 var(--font-antrastes); letter-spacing: .1em; text-transform: uppercase; opacity: .95; text-shadow: 0 1px 8px rgba(4,22,38,.6); }
.mosaic-link > span { position: absolute; z-index: 2; top: 22px; right: 25px; color: var(--yellow); font-size: 19px; }
.mosaic-link strong { position: relative; z-index: 2; max-width: 230px; font: 800 clamp(17px,1.55vw,23px)/1.16 var(--font-antrastes); }
.mosaic-link > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; transform: scale(1.03); transition: transform .6s ease; }
.mosaic-link:hover > img { transform: scale(1.08); }
.mosaic-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,22,38,.72) 0%, rgba(4,22,38,.35) 30%, rgba(4,22,38,.2) 50%, rgba(4,22,38,.93) 100%); }
.tile-1, .tile-2, .tile-3, .tile-4 { color: white; }
.tile-1 { border-radius: 0 54px 0 0; }
.tile-4 { border-radius: 0 0 0 54px; }

.activities { position: relative; overflow: hidden; padding-top: 120px; padding-bottom: 135px; background: var(--ink); color: white; }
.activities-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 58px; }
.activities-head h2 { max-width: 850px; text-align: right; }
/* Judanti detale gyvena desiniajame kampe - antraste jai uzleidzia vieta,
   kad linijos nebeeitu per teksta. */
@media (min-width: 901px) {
  .activities-head h2 { transform: translateX(clamp(-240px, -16vw, -120px)); }
}
/* Plansetese antraste siauresne - detalei uztenka vietos desineje. */
@media (min-width: 701px) and (max-width: 900px) {
  .activities-head h2 { margin-right: 92px; }
}
.activities-head h2 em { color: var(--yellow); }
.activity-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(255,255,255,.15); }
.activity-grid a { min-height: 330px; padding: 24px; position: relative; display: flex; flex-direction: column; justify-content: flex-end; background: #1f508a; transition: background .3s ease, transform .3s ease; }
.activity-grid a:nth-child(2) { background: #29588f; }
.activity-grid a:nth-child(3) { background: #325f94; }
.activity-grid a:nth-child(4) { background: #3c6699; }
.activity-grid a:hover { z-index: 3; background: var(--green); transform: translateY(-7px); }
.activity-grid small { position: absolute; top: 27px; left: 28px; color: var(--on-dark); font: 700 12px var(--font-antrastes); }
.activity-arrow { position: absolute; top: 22px; right: 28px; color: var(--yellow); font-size: 20px; }
.activity-grid h3 { margin: 0; font: 800 32px var(--font-antrastes); }
.activity-grid p { max-width: 220px; margin: 15px 0 0; color: var(--white); font-size: 16px; line-height: 1.55; }
.lane-decoration { position: absolute; right: -8%; bottom: -22%; width: 55%; height: 55%; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; transform: rotate(-12deg); }
.lane-decoration i { position: absolute; inset: 13%; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; }
.lane-decoration i:nth-child(2) { inset: 25%; }.lane-decoration i:nth-child(3) { inset: 37%; }

.competition { padding-top: 125px; padding-bottom: 125px; display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(60px,8vw,130px); align-items: center; background: var(--paper); }
.competition-overline { margin: 45px 0 0; color: #2270a8; font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .14em; }
.competition-copy h2 { margin-top: 15px; font-size: clamp(42px,4vw,65px); }
.competition-copy > p:not(.competition-overline) { max-width: 600px; margin: 28px 0; color: #607281; line-height: 1.7; }
.competition-actions { display: flex; align-items: center; gap: 28px; }
.button-dark { background: var(--lake); color: white; }
.competition-card { min-height: 390px; position: relative; display: grid; grid-template-columns: 165px 1fr; align-items: stretch; background: white; box-shadow: 0 26px 70px rgba(22,73,133,.12); border-radius: 0 70px 0 0; overflow: hidden; }
.calendar-mark { padding: 38px 26px; display: flex; flex-direction: column; justify-content: center; align-items: center; background: var(--yellow); color: var(--ink); text-align: center; }
.calendar-mark span { font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .12em; }
.calendar-mark strong { margin: 22px 0 2px; font: 800 34px var(--font-antrastes); }
.calendar-mark small { font-size: 12px; }
.event-info { padding: 54px 42px; display: flex; flex-direction: column; justify-content: center; }
.event-info > span { color: var(--green); font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .15em; }
.event-info h3 { max-width: 440px; margin: 17px 0 32px; font: 800 clamp(24px,2.2vw,34px)/1.12 var(--font-antrastes); color: var(--lake); }
.event-info p { margin: 0; color: #617382; font-size: 16px; }.event-info b { color: var(--ink); margin-right: 12px; }
.competition-card > a { position: absolute; right: 0; bottom: 0; width: 64px; height: 64px; display: grid; place-items: center; background: var(--green); color: var(--yellow); font-size: 23px; }

.community { padding-top: 120px; background: var(--lake); color: white; }
.community-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 55px; }
.community h2 em { color: var(--yellow); }.light-link { color: white; }.light-link span { color: var(--yellow); }
.gallery-grid { display: grid; grid-template-columns: 1fr 1.12fr 1fr; gap: 0; }
.gallery-grid figure { height: clamp(340px, 29vw, 520px); margin: 0; position: relative; overflow: hidden; }
.gallery-grid img, .gallery-grid video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; transition: transform .6s ease; background: var(--ink); }.gallery-grid figure:hover img { transform: scale(1.04); }
.gallery-grid figcaption { position: absolute; inset: auto 0 0; padding: 28px; display: flex; justify-content: space-between; background: linear-gradient(transparent,rgba(3,22,39,.92)); font: 800 17px var(--font-antrastes); }
.gallery-grid figcaption span { color: var(--yellow); font-size: 12px; }

.documents { padding-top: 125px; padding-bottom: 125px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; background: white; }
.documents-title h2 { font-size: clamp(42px,4vw,64px); }.documents-title > p { max-width: 450px; margin-top: 28px; color: var(--gray); line-height: 1.7; }
.document-list { border-top: 1px solid #ccd7dc; }
.document-list > a:not(.all-docs) { min-height: 82px; display: grid; grid-template-columns: 55px 1fr auto; align-items: center; border-bottom: 1px solid #dbe3e7; transition: padding .2s ease, color .2s ease; }
.document-list > a:hover { padding-left: 10px; color: var(--green); }
.document-list small { color: var(--gray); font: 700 12px var(--font-antrastes); }.document-list strong { font: 700 16px var(--font-antrastes); }.document-list span { color: var(--gray); font-size: 12px; }
.all-docs { min-height: 60px; margin-top: 24px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; background: var(--lake); color: white; font: 800 16px var(--font-antrastes); }.all-docs span { color: var(--yellow); font-size: 18px; }

.registration { padding-top: 120px; padding-bottom: 120px; display: grid; grid-template-columns: .77fr 1.23fr; gap: 90px; background: linear-gradient(135deg,var(--ink),var(--lake)); color: white; }
.registration-copy h2 em { color: var(--yellow); }.registration-copy > p { max-width: 520px; margin-top: 30px; color: #bdcfdc; line-height: 1.7; }
.registration-note { margin-top: 42px; display: flex; align-items: center; gap: 16px; }.registration-note > span { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: var(--yellow); font-weight: 800; }
.registration-note p { margin: 0; color: #bfd0db; font-size: 16px; }.registration-note strong { display: block; margin-bottom: 2px; color: white; font: 700 13px var(--font-antrastes); }
.registration-form { min-height: 620px; padding: clamp(28px,4vw,58px); display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 23px 20px; background: white; color: var(--ink); border-radius: 0 72px 0 0; }
.field { display: flex; flex-direction: column; gap: 8px; }.field.full,.full { grid-column: 1 / -1; }
.field label { font-size: 16px; font-weight: 700; }.field input,.field textarea,.field select { width: 100%; border: 0; border-bottom: 1px solid #bdcbd3; border-radius: 0; padding: 13px 2px; background: transparent; color: var(--ink); font: 14px var(--font-tekstas); outline: none; }.field input:focus,.field textarea:focus,.field select:focus { border-bottom: 2px solid var(--green); }.field textarea { resize: vertical; }
.field select, .calendar-filter select { appearance: none; -webkit-appearance: none; padding-right: 28px; background-image: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 12 8%22><path d=%22M1 1l5 5 5-5%22 fill=%22none%22 stroke=%22%23164985%22 stroke-width=%221.8%22/></svg>'); background-repeat: no-repeat; background-position: right 6px center; background-size: 12px 8px; }

.checkbox { display: flex; align-items: flex-start; gap: 11px; color: #5d707e; font-size: 16px; line-height: 1.45; }.checkbox input { width: 18px; height: 18px; accent-color: var(--green); }
.form-submit { width: 100%; border: 0; background: var(--yellow); color: var(--ink); justify-content: space-between; cursor: pointer; }
.form-success { grid-column: 1/-1; min-height: 490px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }.form-success > span { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; background: #e8f6ed; color: var(--green); font-size: 30px; }.form-success h3 { margin: 24px 0 10px; font: 800 27px var(--font-antrastes); color: var(--lake); }.form-success p { max-width: 390px; color: #647785; line-height: 1.6; }.form-success button { margin-top: 20px; border: 0; border-bottom: 2px solid var(--yellow); padding: 8px 0; background: transparent; color: var(--lake); font-weight: 800; cursor: pointer; }

.faq { padding-top: 120px; padding-bottom: 120px; display: grid; grid-template-columns: .7fr 1.3fr; gap: 100px; background: var(--paper); }
.faq-title h2 { font-size: clamp(42px,4vw,64px); }.faq-list { border-top: 1px solid #c8d4da; }
.faq-list details { border-bottom: 1px solid #c8d4da; }.faq-list summary { min-height: 62px; display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: pointer; font: 700 16px var(--font-antrastes); }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { color: var(--green); font-size: 25px; transition: transform .2s ease; }.faq-list details[open] summary span { transform: rotate(45deg); }.faq-list details p { max-width: 700px; margin: -2px 50px 20px 0; color: #607280; line-height: 1.7; }

.museum { min-height: 580px; padding-top: 95px; padding-bottom: 95px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--green); color: white; text-align: center; }.museum-index { position: absolute; top: 40px; left: max(32px,calc((100vw - 1312px)/2)); color: var(--on-dark); font: 700 12px var(--font-antrastes); letter-spacing: .16em; }.museum p { margin: 0; color: color-mix(in srgb, var(--yellow) 22%, #fff); font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .18em; }.museum h2 { margin: 20px 0 35px; }.museum h2 em { color: var(--yellow); }.museum .button { display: inline-flex; }.museum-lines { position: absolute; inset: auto -8% -52% 40%; height: 95%; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; transform: rotate(-12deg); }.museum-lines i { position:absolute; inset: 13%; border: 1px solid rgba(255,255,255,.08); border-radius:50%; }.museum-lines i:nth-child(2){inset:26%}.museum-lines i:nth-child(3){inset:39%}

.newsletter { min-height: 355px; padding-top: 74px; padding-bottom: 74px; display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 80px; background: var(--yellow); }.newsletter > div > span { color: #0a5a2b; font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .16em; }.newsletter h2 { margin-top: 12px; font-size: clamp(36px,3.6vw,56px); }.newsletter form { position: relative; }.newsletter label { display:block; margin-bottom: 10px; font-size: 12px; font-weight: 700; }.newsletter input { width:100%; height: 62px; padding: 0 70px 0 20px; border: 0; background: white; font: 14px var(--font-tekstas); }.newsletter button { position:absolute; right:0; bottom:0; width:62px; height:62px; border:0; background:var(--green); color:var(--yellow); font-size:22px; cursor:pointer; }.newsletter-success { padding: 24px; background: white; color: var(--green); font-weight: 800; }

.footer { padding-top: 80px; padding-bottom: 28px; display: grid; grid-template-columns: 1.2fr repeat(3,1fr); gap: 55px; background: var(--ink); color: white; }.footer-brand img { width: 145px; height: auto; object-fit: contain; }.footer-brand p { margin: 15px 0 0; color:var(--on-dark); font-size:12px; line-height:1.6; }.footer-column { display:flex; flex-direction:column; gap:13px; }.footer-column > span { margin-bottom: 9px; color: var(--yellow); font: 800 12px var(--font-antrastes); text-transform:uppercase; letter-spacing:.16em; }.footer-column a { color:var(--on-dark); font-size:12px; line-height:1.55; }.footer-column a:hover { color:white; }.footer-column b { color:var(--yellow); }.footer-bottom { grid-column: 1/-1; margin-top:28px; padding-top:24px; border-top:1px solid rgba(255,255,255,.14); display:flex; justify-content:space-between; color:var(--on-dark); font-size:12px; }.footer-bottom a { color:var(--yellow); }

@media (max-width: 1500px) {
  .section-rail { display:none; }
}
@media (max-width: 1120px) {
  .quick-grid { grid-template-columns: 1fr 1fr; }.quick-card:nth-child(2){border-right:0}.quick-card:nth-child(-n+2){border-bottom:1px solid #dbe3e7}
  .about { gap:60px; }.stats { grid-template-columns: 1.2fr repeat(2,1fr); }.stats-intro { grid-row: span 2; }.stats > div:nth-child(3){border-right:0}
  .mosaic-grid { grid-template-columns: 1fr; }.featured-news { min-height: 560px; }.activity-grid { grid-template-columns: 1fr 1fr; }.activity-grid a { min-height:300px; }
  .competition { grid-template-columns:1fr; }.competition-card { max-width:800px; }.documents,.registration,.faq { gap:55px; }
  /* Prieinamumo ir teisiniu nuorodu stulpelis anksciau buvo slepiamas -
     tada telefone privatumo politika ir slapuku nustatymai tapdavo
     nepasiekiami. Dabar jis persikelia i kita eilute. */
  .footer { grid-template-columns: 1.2fr 1fr 1fr; }
}

@media (max-width: 760px) {
  .section-pad { padding-left: 20px; padding-right: 20px; }
  section h2 { font-size: clamp(38px,12vw,54px); }
  .site-header { position:absolute; }
  .quick-section { padding: 42px 16px 64px; }.section-kicker b { display:none; }.quick-grid { grid-template-columns:1fr 1fr; }.quick-card { min-height:178px; padding:17px; }.quick-card h2 { margin-top:52px; font-size:19px; }.quick-card p { font-size:12px; }.quick-card:nth-child(odd){border-right:1px solid #dbe3e7}.quick-card:nth-child(even){border-right:0}.quick-card:nth-child(-n+2){border-bottom:1px solid #dbe3e7}
  .about { min-height:0; padding-top:76px; padding-bottom:80px; grid-template-columns:1fr; gap:60px; }.about-copy .lead { margin-top:26px; font-size:16px; }.about-visual { min-height:470px; margin-left:28px; }.about-visual img { height:450px; border-radius: 18px; }.corner { width:100px;height:100px; }
  .stats { grid-template-columns:1fr 1fr; }.stats-intro { grid-column:1/-1; grid-row:auto; min-height:130px!important; padding-left:20px!important; }.stats > div { min-height:145px; padding:22px 20px; }.stats > div:nth-child(odd){border-right:0}.stat strong, .stat-live strong { font-size:40px; }
  .news-mosaic { padding-top:80px; padding-bottom:80px; }.section-heading { align-items:flex-start; }.section-heading > .text-link { display:none; }.featured-news { min-height:490px; }.featured-content { inset:auto 24px 26px; }.mosaic-links { grid-template-columns:1fr 1fr; gap:8px; }.mosaic-link { min-height:190px; padding:18px; }.mosaic-link strong { font-size:19px; }.mosaic-link small { top:18px;left:18px;right:44px;font-size:14px}.mosaic-link > span { top:15px;right:18px}
  .activities { padding-top:78px; padding-bottom:85px; }.activities-head { display:block; }.activities-head h2 { margin-top:28px; text-align:left; }.activity-grid { grid-template-columns:1fr 1fr; }.activity-grid a { min-height:245px; padding:18px; }.activity-grid h3 { font-size:23px; }.activity-grid p { font-size:12px; }.activity-grid small { top:17px;left:18px}.activity-arrow { top:13px;right:18px}
  .competition { padding-top:80px; padding-bottom:85px; gap:45px; }.competition-actions { align-items:flex-start; flex-direction:column; }.competition-card { grid-template-columns:105px 1fr; min-height:320px; border-radius:0 45px 0 0; }.calendar-mark { padding:20px 12px}.calendar-mark strong { font-size:25px}.event-info { padding:30px 24px}.event-info h3 { font-size:23px}
  .community { padding-top:80px; }.community-head { align-items:flex-start}.community-head .text-link { display:none}.gallery-grid { grid-template-columns:1fr; gap:0px}.gallery-grid figure,.gallery-grid figure:nth-child(2){height:300px;transform:none}.gallery-grid figure:nth-child(n+3){display:none}
  .documents { padding-top:80px;padding-bottom:85px;grid-template-columns:1fr;gap:48px}.document-list > a:not(.all-docs){grid-template-columns:38px 1fr auto}.document-list span{font-size:12px}
  .registration { padding-top:80px;padding-bottom:80px;grid-template-columns:1fr;gap:48px}.registration-form { padding:28px 20px;grid-template-columns:1fr;border-radius:0 45px 0 0}.field.full,.full{grid-column:auto}.form-success{grid-column:auto;min-height:380px}
  .faq { padding-top:80px;padding-bottom:85px;grid-template-columns:1fr;gap:42px}.faq-list summary{min-height:58px;font-size:14px;gap:20px}.faq-list details p{margin-right:20px;font-size:13px}
  .museum { min-height:500px;padding-top:80px;padding-bottom:80px}.museum-index{left:20px}.newsletter{min-height:360px;padding-top:60px;padding-bottom:60px;grid-template-columns:1fr;gap:35px}
  .footer { padding-top:60px;grid-template-columns:1fr 1fr;gap:42px}.footer-brand{grid-column:1/-1}.footer-bottom{gap:18px;flex-wrap:wrap}
}

@media (max-width: 390px) {
  .quick-card{min-height:166px}.quick-card p{display:none}.activity-grid{grid-template-columns:1fr}.activity-grid a{min-height:210px}.mosaic-links{grid-template-columns:1fr}.mosaic-link{min-height:170px}.gallery-grid figure{min-height:430px}.competition-card{grid-template-columns:90px 1fr}.event-info{padding:25px 18px}.footer{grid-template-columns:1fr}
}

/* ============================================================
   VIDINIAI PUSLAPIAI
   ============================================================ */

.site-header.is-solid { position: relative; height: 56px; background: var(--ink); }
.utility-bar.is-solid > a, .utility-bar.is-solid .utility-contact,
.utility-bar.is-solid .language { background: rgba(255,255,255,.14); }

/* Kalbos perjungiklis - anksciau buvo negyva href="#" nuoroda. */
.language { position: relative; }
.language button { height: 100%; width: 100%; padding: 0; border: 0; background: transparent; display: inline-flex; align-items: center; justify-content: center; gap: 5px; color: var(--white); font: 700 12px var(--font-antrastes); cursor: pointer; }
.language button i { font-style: normal; color: var(--yellow); transition: transform .2s ease; }
.language.is-open button i { transform: rotate(180deg); }
.language-drop[hidden] { display: none; }
.language-drop { position: absolute; top: 100%; right: 0; z-index: 6; min-width: 168px; padding: 8px 0; display: grid; background: var(--white); border-radius: 0 0 18px 18px; box-shadow: 0 18px 38px rgba(2,58,28,.22); }
.language-drop a, .language-drop span { padding: 9px 18px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--ink); font: 700 12px var(--font-antrastes); }
.language-drop .is-active { background: var(--green); color: var(--white); }
.language-drop a:not(.is-active):hover { background: #eef2f5; }
.language-drop .is-disabled { color: #7c8b97; }
.language-drop .is-disabled b { font: 700 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .1em; color: var(--green); }

.page-hero { position: relative; overflow: hidden; padding: clamp(52px, 6vw, 88px) max(46px, calc((100vw - 1810px) / 2)) clamp(46px, 5vw, 74px); background: var(--ink); color: var(--white); }
.page-hero > * { position: relative; z-index: 1; }
.crumbs { margin-bottom: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: #b7c9d8; }
.crumbs a { color: #b7c9d8; }
.crumbs a:hover { color: var(--yellow); }
.crumbs b { margin: 0 6px; color: var(--green); }
.crumbs span:last-child a { color: var(--white); }
.page-hero h1 { max-width: 15ch; margin: 0; font: 800 clamp(38px, 5.4vw, 74px)/.94 var(--font-antrastes); letter-spacing: -.045em; }
.page-hero h1 em { font-style: normal; color: var(--sushi); }
.page-hero h1 span { color: var(--yellow); }
.page-intro { max-width: 62ch; margin: 22px 0 0; color: #c3d4e0; font-size: 16px; line-height: 1.65; }

.subpage { background: var(--paper); }
.sub-section { padding-top: clamp(46px, 5vw, 78px); padding-bottom: clamp(46px, 5vw, 78px); }
.sub-section:nth-child(even) { background: #f6f8f6; }
.sub-head { margin-bottom: 34px; }
.sub-head span { display: block; margin-bottom: 10px; font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .16em; color: var(--green); }
.sub-head h2 { margin: 0; font: 800 clamp(24px, 2.6vw, 38px)/1.05 var(--font-antrastes); letter-spacing: -.035em; color: var(--ink); }

.table-wrap { overflow-x: auto; background: var(--white); box-shadow: 0 10px 26px rgba(22,73,133,.06); }
.data-table { width: 100%; min-width: 560px; border-collapse: collapse; }
.data-table th { padding: 16px 20px; text-align: left; background: var(--ink); color: var(--white); font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .12em; white-space: nowrap; }
.data-table td { padding: 15px 20px; border-bottom: 1px solid #e6ebe8; font-size: 16px; color: var(--ink); }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover td { background: #f4f8f5; }

.file-list { display: grid; gap: 1px; background: #e0e7e3; box-shadow: 0 10px 26px rgba(22,73,133,.06); }
.file-row { padding: 20px 24px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 18px; background: var(--white); transition: background .18s ease; }
.file-row:hover { background: #f2f7f3; }
.file-row b { font: 800 14px var(--font-antrastes); color: var(--ink); }
.file-row small { font: 700 12px var(--font-antrastes); letter-spacing: .1em; color: var(--green); }
.file-row span { font-size: 17px; color: var(--green); }

.prose { max-width: 68ch; }
.prose p { margin: 0 0 16px; font-size: 16px; line-height: 1.7; color: var(--gray); }
.prose p:last-child { margin-bottom: 0; }
.prose b { color: var(--ink); }
.prose a:not(.button) { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }


.video-placeholder { min-height: 288px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background: var(--ink); color: var(--white); background-image: linear-gradient(125deg, rgba(31,122,58,.5), transparent 60%); }
.video-placeholder span { font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .16em; color: var(--yellow); }
.video-placeholder b { font: 800 22px var(--font-antrastes); }

.consent-list { display: grid; gap: 1px; margin-bottom: 28px; background: #e0e7e3; box-shadow: 0 10px 26px rgba(22,73,133,.06); }
.consent-row { padding: 20px 24px; display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 16px; background: var(--white); cursor: pointer; }
.consent-row.is-locked { cursor: default; opacity: .72; }
.consent-row input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--green); }
.consent-row b { display: block; margin-bottom: 5px; font: 800 14px var(--font-antrastes); color: var(--ink); }
.consent-row small { font-size: 12px; line-height: 1.6; color: var(--gray); }
.consent-saved { color: var(--green); font-weight: 700; }

@media (max-width: 760px) {
  .page-hero { padding-left: 20px; padding-right: 20px; }
  .file-row { grid-template-columns: 1fr auto; }
  .file-row small { grid-column: 1 / -1; }
}

/* Skyriu puslapiu korteles, naujienu sarasas, galerija ir kontaktai. */
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)); gap: 16px; }
.hub-card { padding: 28px 26px 26px; position: relative; display: flex; flex-direction: column; gap: 9px; background: var(--white); border-top: 4px solid var(--green); box-shadow: 0 10px 26px rgba(22,73,133,.06); transition: transform .22s ease, box-shadow .22s ease; }
.hub-card:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(22,73,133,.12); }
.hub-card small { font: 800 12px var(--font-antrastes); letter-spacing: .14em; color: var(--green); }
.hub-card strong { font: 800 clamp(17px, 1.5vw, 21px)/1.15 var(--font-antrastes); color: var(--ink); }
.hub-card p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--gray); }
.hub-card span { position: absolute; top: 22px; right: 24px; font-size: 17px; color: var(--green); }

.stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1px; background: #dbe3e7; box-shadow: 0 10px 26px rgba(22,73,133,.06); }
.stat-row > div { padding: 28px 24px; background: var(--white); }
.stat-row strong { display: block; font: 800 clamp(30px, 3.2vw, 46px) var(--font-antrastes); letter-spacing: -.05em; color: var(--ink); }
.stat-row p { margin: 6px 0 0; font-size: 12px; line-height: 1.5; color: var(--gray); }

.news-list { display: grid; gap: 1px; background: #e0e7e3; box-shadow: 0 10px 26px rgba(22,73,133,.06); }
.news-row { padding: 18px 24px; display: grid; grid-template-columns: 108px 1fr auto; align-items: center; gap: 22px; background: var(--white); transition: background .18s ease; }
.news-row:hover { background: #f2f7f3; }
/* Portretine nuotrauka mazoje juostoje: laikomes virsutines dalies,
   kad zmogaus veidas nebutu nukirstas. */
.news-row img { width: 108px; height: 74px; object-fit: cover; object-position: 50% 28%; }
.news-row small { display: block; margin-bottom: 6px; font: 700 12px var(--font-antrastes); letter-spacing: .1em; text-transform: uppercase; color: var(--green); }
.news-row strong { font: 800 16px/1.3 var(--font-antrastes); color: var(--ink); }
.news-row > span { font-size: 17px; color: var(--green); }

/* Galerija - stulpeliais, o ne fiksuoto aukscio tinkleliu: kiekviena nuotrauka
   islaiko savo proporcijas ir nera apkarpoma. Anksciau visos buvo verciamos i
   268 px auksti, todel stacio kadro likdavo tik vidurine juosta. */
/* Galerija - vienodo dydzio kvadratines korteles, kaip treneriu skiltyje. */
.page-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 14px; }
.page-gallery figure { margin: 0; position: relative; overflow: hidden; aspect-ratio: 1 / 1; }
/* Video anksciau neturejo jokiu matmenu - tinklelyje jis issikisdavo pro
   korteles krastus. Dabar abi medijos rusys elgiasi vienodai. */
.page-gallery img, .page-gallery video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; transition: transform .5s ease; background: var(--ink); }
.page-gallery figure:hover img { transform: scale(1.06); }
.page-gallery figcaption { position: absolute; inset: auto 0 0; padding: 14px 18px; display: flex; justify-content: space-between; background: linear-gradient(transparent, rgba(4,22,38,.9)); color: var(--white); font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .12em; }
.page-gallery figcaption span { color: var(--yellow); }

.contact-grid { display: flex; flex-wrap: wrap; gap: 1px; background: #dbe3e7; box-shadow: 0 10px 26px rgba(22,73,133,.06); }
.contact-card { flex: 1 1 238px; padding: 24px; display: flex; flex-direction: column; gap: 8px; background: var(--white); }
.contact-card span { font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .13em; color: var(--green); }
.contact-card a, .contact-card b { font: 800 15px var(--font-antrastes); color: var(--ink); word-break: break-word; }
.contact-card a:hover { color: var(--green); }
.contact-card a { position: relative; }
.contact-card a::after { content: ""; position: absolute; left: 0; right: 0; top: -5px; bottom: -5px; }

/* DUK sarasas vidiniuose puslapiuose remiasi ta pacia .faq-list stilistika. */
.subpage .faq-list details { background: var(--white); }

@media (max-width: 760px) {
  .news-row { grid-template-columns: 84px 1fr; gap: 16px; }
  .news-row img { width: 84px; height: 62px; }
  .news-row > span { display: none; }
}

/* Dokumentu skiltys. */
.doc-groups { display: grid; gap: 14px; }
.doc-group { background: var(--white); box-shadow: 0 10px 26px rgba(22,73,133,.06); }
.doc-group-head { margin: 0; padding: 16px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-left: 4px solid var(--lake); background: #eef2f5; font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .11em; color: var(--ink); }
.doc-group-head.is-link { transition: background .18s ease; }
.doc-group-head.is-link:hover, .doc-group-head.is-link:focus-visible { background: var(--lake); color: var(--white); }
.doc-group-head span { font-size: 15px; color: var(--green); }
.doc-group-head.is-link:hover span { color: var(--yellow); }
.doc-group-files { margin: 0; padding: 14px 24px 18px; list-style: none; display: grid; gap: 10px; }
.doc-group-files[hidden] { display: none; }
.doc-group-toggle { all: unset; display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; font: inherit; text-transform: inherit; letter-spacing: inherit; color: inherit; }
.doc-group-toggle:focus-visible { outline: 2px solid var(--lake); outline-offset: 2px; }
.doc-group-toggle span { transition: transform .18s ease; }
.doc-group-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.doc-group-files a { display: inline-flex; align-items: center; gap: 9px; font-size: 16px; color: var(--lake); }
.doc-group-files a::before { content: ""; width: 14px; height: 16px; flex: none; background: currentColor; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 14 16%22><path d=%22M2 0h7l5 5v11H2z M9 0v5h5%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linejoin=%22round%22/><path d=%22M4.5 8.5h5M4.5 11.5h5%22 stroke=%22black%22 stroke-width=%221.4%22/></svg>') center/contain no-repeat; mask: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 14 16%22><path d=%22M2 0h7l5 5v11H2z M9 0v5h5%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linejoin=%22round%22/><path d=%22M4.5 8.5h5M4.5 11.5h5%22 stroke=%22black%22 stroke-width=%221.4%22/></svg>') center/contain no-repeat; color: var(--green); }
.doc-group-files a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }

/* Begimo takelio detale is brandbook'o (public/images/takelis.webp).
   Detale guli SEKCIJOS FONE, po turiniu: pati sekcija tampa isdestymo pagrindu,
   o visi jos vaikai pakeliami virs detales. Failas naudojamas kaip kauke,
   todel per ji leidziamas brandbook'o gradientas ir krastai istirpsta. */
.documents, .activities, .museum { position: relative; overflow: hidden; isolation: isolate; }
.documents > *:not(.section-track),
.activities > *:not(.section-track),
.museum > *:not(.section-track) { position: relative; z-index: 1; }

.section-track {
  position: absolute;
  z-index: 0;
  right: clamp(-360px, -19vw, -170px);
  top: 50%;
  width: clamp(300px, 31vw, 520px);
  aspect-ratio: 1200 / 1900;
  pointer-events: none;
  will-change: transform;

  -webkit-mask-image: url("../images/takelis-plonas.webp"), linear-gradient(to bottom, transparent 0%, #000 18%, #000 80%, transparent 100%);
  mask-image: url("../images/takelis-plonas.webp"), linear-gradient(to bottom, transparent 0%, #000 18%, #000 80%, transparent 100%);
  -webkit-mask-size: contain, 100% 100%;
  mask-size: contain, 100% 100%;
  -webkit-mask-repeat: no-repeat, no-repeat;
  mask-repeat: no-repeat, no-repeat;
  -webkit-mask-position: center, center;
  mask-position: center, center;
  -webkit-mask-composite: source-in;
  mask-composite: intersect;

  /* Detale keliauja pro sekcija slenkant puslapi. */
  transform: translate3d(0, calc(-50% + (0.5 - var(--p, .5)) * 260px), 0) rotate(calc(-14deg + var(--p, .5) * 26deg));
}

/* Spalvos tiksliai tokios, kokios pateiktos failuose: TakelisPilkas linijos
   yra #F8F8F7, TakelisBaltas - grynai baltos. */
.section-track.is-light { background-color: #f8f8f7; }
.section-track.is-dark { background-color: #ffffff; }
/* Ant melyno ir zalio fono baltos linijos per rykscios - prislopinamos. */
.section-track.is-dark { opacity: .45; }

@media (prefers-reduced-motion: reduce) {
  .section-track { transform: translate3d(0, -50%, 0) rotate(-6deg); }
}

@media (max-width: 900px) {
  .section-track { right: -170px; width: 250px; }
}

/* Treneriu korteles - paspaudus atsidaro to trenerio tvarkarastis. */
.coach-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 16px; }
@media (max-width: 560px) { .coach-grid { grid-template-columns: 1fr 1fr; gap: 12px; } }
.coach-card { position: relative; padding: 0 0 20px; display: grid; gap: 12px; background: var(--white); box-shadow: 0 10px 26px rgba(22,73,133,.06); transition: transform .22s ease, box-shadow .22s ease; }
.coach-card:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(22,73,133,.12); }
/* Trenerio kortele - stati, kaip specifikacijos 15 psl. pavyzdyje. Placioje
   208 px juostoje is stacio kadro likdavo tik liemuo (65 proc. nuostoliu). */
.coach-card img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: 50% 28%; }
.coach-card > div { padding: 0 22px; display: grid; gap: 5px; }
.coach-card span { font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .13em; color: var(--green); }
.coach-card strong { font: 800 18px var(--font-antrastes); color: var(--ink); }
.coach-card small { font-size: 12px; color: var(--gray); }
.coach-card b { padding: 0 22px; font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .12em; color: var(--lake); }
.coach-card:hover b { color: var(--green); }

/* Varzybu pavadinimas lenteleje veda i varzybu kortele. */

.competition-links { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 12px; }

/* Formu klaidos ir bot'u spastu laukas. */
.form-error { margin: 10px 0 0; padding: 11px 15px; background: rgba(200, 32, 32, .09); border-left: 3px solid #c82020; color: #8f1a1a; font-size: 12.5px; line-height: 1.5; }
.newsletter .form-error { background: rgba(0,0,0,.08); border-left-color: var(--ink); color: var(--ink); }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.form-submit[disabled] { opacity: .6; cursor: progress; }

/* Issokantis "susisiekite" / naujienlaiskio langas. */
.utility-contact { height: 28px; padding: 0 13px; border: 0; border-radius: 999px; background: rgba(11,31,59,.66); color: var(--white); font-family: var(--font-antrastes); font-size: 12px; font-weight: 700; cursor: pointer; white-space: nowrap; transition: background .18s ease, color .18s ease; }
.utility-contact:hover, .utility-contact:focus-visible { background: var(--yellow); color: var(--ink); }
.footer-contact { padding: 0; border: 0; background: transparent; color: #c4d2dc; font-family: inherit; font-size: 12px; line-height: 1.55; text-align: left; cursor: pointer; }
.footer-contact:hover { color: white; }

/* Susisiekimo langas. Kampai suapvalinti, spalvos ir sriftai - tie patys
   kaip visoje svetaineje: „Exo" antrastems ir etiketems, „Open Sans" laukams. */
.contact-dialog { width: min(470px, calc(100vw - 28px)); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); padding: 0; border: 0; border-radius: 20px; background: var(--white); color: var(--ink); box-shadow: 0 30px 80px rgba(4,22,38,.38); overflow: hidden auto; -webkit-overflow-scrolling: touch; }
.contact-dialog::backdrop { background: rgba(4,22,38,.62); }

.contact-dialog-head { padding: 24px 26px 0; display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.contact-dialog-head h2 { margin: 0; font: 800 clamp(20px, 2vw, 25px)/1.15 var(--font-antrastes); letter-spacing: -.02em; }
.contact-kicker { display: block; margin-bottom: 7px; font: 800 11px var(--font-antrastes); text-transform: uppercase; letter-spacing: .16em; color: var(--green); }
.contact-dialog-head button { flex: none; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--paper); color: var(--ink); font-size: 20px; line-height: 1; cursor: pointer; transition: background .18s ease, color .18s ease; }
.contact-dialog-head button:hover { background: var(--green); color: var(--white); }

.contact-tabs { margin: 20px 26px 0; padding: 4px; display: flex; gap: 4px; border-radius: 999px; background: var(--paper); }
.contact-tabs button { flex: 1; min-height: 38px; padding: 0 10px; border: 0; border-radius: 999px; background: transparent; color: var(--gray); font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .1em; cursor: pointer; transition: background .18s ease, color .18s ease; }
.contact-tabs button:hover { color: var(--ink); }
.contact-tabs button.is-active { background: var(--green); color: var(--white); }

.contact-dialog form { padding: 20px 26px 8px; display: grid; gap: 15px; }
.contact-dialog .field { display: grid; gap: 7px; }
.contact-dialog label { font: 800 11px var(--font-antrastes); text-transform: uppercase; letter-spacing: .12em; color: var(--gray); }
.contact-dialog input, .contact-dialog textarea { min-height: 46px; padding: 12px 14px; border: 1px solid #dbe3e0; border-radius: 12px; background: var(--paper); color: var(--ink); font: inherit; font-size: 14px; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.contact-dialog input::placeholder, .contact-dialog textarea::placeholder { color: #9aa5a1; }
.contact-dialog input:focus, .contact-dialog textarea:focus { border-color: var(--green); background: var(--white); box-shadow: 0 0 0 3px rgba(2,127,57,.13); }
.contact-dialog textarea { min-height: 112px; resize: vertical; }
.contact-consent { margin: 0; font-size: 12.5px; line-height: 1.6; color: var(--gray); }
.contact-consent a { color: var(--green); text-decoration: underline; }
.contact-dialog form .button { min-height: 50px; gap: 12px; border-radius: 12px; justify-content: center; font-size: 15px; }
/* Lango mygtukas - kaip visi kiti geltoni mygtukai: tamsus užrašas ant geltono fono. */
.contact-dialog .button-primary { border: 0; background: var(--yellow); color: #102334; }
.contact-dialog .button-primary:hover { background: color-mix(in srgb, var(--yellow) 88%, #fff); }

.contact-done { padding: 28px 26px 10px; display: grid; justify-items: start; gap: 12px; }
.contact-done span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: var(--white); font-size: 19px; }
.contact-done p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--gray); }
.contact-done .button { min-height: 46px; border-radius: 12px; gap: 12px; }

.contact-direct { margin: 20px 0 0; padding: 16px 26px 20px; border-top: 1px solid #e9eeeb; background: var(--paper); font-size: 13px; line-height: 1.6; color: var(--gray); }
.contact-direct a { color: var(--green); font-weight: 700; }

@media (max-width: 720px) {
  .utility-contact { display: none; }
}

/* Lietimo taikiniai: WCAG 2.2 reikalauja bent 24x24 px. Vizualus dydis
   nesikeicia - taikinys isplecamas nematomu ::after sluoksniu. */
.hero-dots button { position: relative; }
.hero-dots button::after { content: ""; position: absolute; top: 50%; left: 50%; width: 24px; height: 24px; transform: translate(-50%, -50%); }
.footer-column a, .footer-contact { display: block; min-height: 24px; padding: 3px 0; }
.footer-bottom a { display: inline-block; min-height: 24px; padding: 5px 0; }

/* Administracijos darbuotoju korteles su nuotraukomis. */
.staff-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 16px; }
.staff-card { display: flex; flex-direction: column; background: var(--white); box-shadow: 0 10px 26px rgba(22,73,133,.06); overflow: hidden; }
.staff-card img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.staff-initials { display: grid; place-items: center; aspect-ratio: 1; background: linear-gradient(135deg, var(--green), var(--sushi)); color: var(--white); font: 800 34px var(--font-antrastes); letter-spacing: .04em; }
.staff-body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 6px; border-top: 4px solid var(--green); }
.staff-role { font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .12em; color: var(--green); line-height: 1.4; }
.staff-card strong { font: 800 16px var(--font-antrastes); color: var(--ink); }
.staff-body a { font-size: 12px; color: var(--lake); word-break: break-word; }
.staff-body a:hover { color: var(--green); }

/* Vaizdo irasas vidiniuose puslapiuose. */
.page-video { display: block; width: 100%; max-width: 940px; aspect-ratio: 16 / 9; background: var(--ink); box-shadow: 0 14px 34px rgba(22,73,133,.14); }

/* ============================================================
   VARZYBU KALENDORIUS - struktura pagal specifikacijos pavyzdi
   ============================================================ */
.calendar-top { margin-bottom: 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }

/* Lygio filtrai - pilnos spalvos blokai, kaip pavyzdyje. */
.calendar-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.calendar-chips button { min-height: 36px; padding: 8px 13px; border: 0; background: var(--lake); color: var(--white); font: 800 11px var(--font-antrastes); text-transform: uppercase; letter-spacing: .09em; cursor: pointer; transition: background .18s ease; }
.calendar-chips button:hover { background: var(--blue); }
.calendar-chips button.is-active { background: var(--green); }

.calendar-search { position: relative; display: inline-flex; align-items: center; }
.calendar-search svg { position: absolute; left: 11px; width: 15px; height: 15px; color: var(--gray); pointer-events: none; }
.calendar-search input { width: clamp(190px, 24vw, 280px); padding: 9px 12px 9px 34px; border: 1px solid #d7dfe3; background: var(--white); font: 400 13px var(--font-tekstas); }
.calendar-search input:focus-visible { outline: 2px solid var(--green); outline-offset: 1px; }

.calendar-body { display: grid; grid-template-columns: 208px 1fr; gap: 16px; align-items: start; }

/* Soninis filtru skydelis su spalvota antraste. */
.calendar-filter { background: var(--white); box-shadow: 0 8px 20px rgba(22,73,133,.05); }
.calendar-filter h3 { margin: 0; padding: 10px 14px; background: var(--lake); color: var(--white); font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .12em; }
.calendar-filter-fields { padding: 16px 14px; display: grid; gap: 13px; }
.calendar-filter label { display: grid; gap: 5px; font: 700 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .09em; color: var(--gray); }
.calendar-filter input, .calendar-filter select { width: 100%; padding: 8px 10px; border: 1px solid #d7dfe3; background: var(--white); font: 400 12.5px var(--font-tekstas); color: var(--ink); }
.calendar-filter input:focus-visible, .calendar-filter select:focus-visible { outline: 2px solid var(--green); outline-offset: 1px; }
.calendar-reset { padding: 9px; border: 0; background: var(--lake); color: var(--white); font: 800 9.5px var(--font-antrastes); text-transform: uppercase; letter-spacing: .1em; cursor: pointer; }
.calendar-reset:hover { background: var(--green); }

.calendar-list { display: grid; gap: 12px; }
.calendar-head { padding: 11px 20px; display: grid; grid-template-columns: 1fr 165px 130px; gap: 14px; background: var(--lake); color: var(--white); font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .12em; }

/* Kiekvienos varzybos - datos zenklelis virs eilutes, kaip pavyzdyje. */
.calendar-item { background: var(--white); box-shadow: 0 8px 20px rgba(22,73,133,.05); }
.calendar-badge { margin: 12px 0 0 14px; display: inline-flex; align-items: baseline; gap: 5px; padding: 5px 11px; border: 2px solid var(--lake); background: var(--white); }
.calendar-badge b { font: 800 17px var(--font-antrastes); line-height: 1; color: var(--lake); }
.calendar-badge span { font: 800 9.5px var(--font-antrastes); letter-spacing: .08em; color: var(--green); }

.calendar-line { margin-top: 10px; padding: 12px 20px; display: grid; grid-template-columns: 24px 30px 22px 1fr 165px 130px; align-items: center; gap: 14px; background: #f4f6f8; }
.calendar-toggle { width: 22px; height: 22px; border: 0; background: var(--lake); color: var(--white); font: 700 14px/1 var(--font-antrastes); cursor: pointer; }
.calendar-toggle:hover { background: var(--green); }
/* Paspaudimo plotas - 28x28, kaip reikalauja prieinamumo gairės. */
.calendar-toggle { position: relative; }
.calendar-toggle::after { content: ""; position: absolute; inset: -3px; }
.calendar-code { justify-self: start; min-width: 26px; padding: 3px 6px; text-align: center; background: var(--white); border: 1px solid #d7dfe3; font: 800 12px var(--font-antrastes); color: var(--gray); }
.calendar-flag { font-size: 15px; line-height: 1; }
.calendar-title { font: 800 13.5px/1.35 var(--font-antrastes); color: var(--lake); }
.calendar-title:hover { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.calendar-date, .calendar-place { font-size: 12.5px; color: #6b6b6b; }

.calendar-detail { padding: 4px 20px 18px 78px; }
.calendar-detail p { margin: 12px 0 0; font-size: 13px; line-height: 1.6; color: var(--gray); }
.calendar-detail b { color: var(--ink); }
.calendar-detail-links { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 7px; }
.calendar-detail-links a { padding: 7px 12px; background: var(--lake); color: var(--white); font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .1em; }
.calendar-detail-links a:hover { background: var(--green); }
.calendar-empty { padding: 26px 20px; margin: 0; background: var(--white); font-size: 13px; color: var(--gray); }

.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 980px) {
  .calendar-body { grid-template-columns: 1fr; }
  .calendar-head { display: none; }
  .calendar-line { grid-template-columns: 24px 30px 22px 1fr; row-gap: 8px; }
  .calendar-date, .calendar-place { grid-column: 4; }
  .calendar-detail { padding-left: 20px; }
}

/* Cempionu korteles su nuotrauka ir pasiekimais. */
.champion-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 16px; }
.champion-card { display: grid; background: var(--white); box-shadow: 0 10px 26px rgba(22,73,133,.06); overflow: hidden; }
.champion-card img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: 50% 22%; }
.champion-body { padding: 20px 22px 22px; display: grid; gap: 8px; align-content: start; }
.champion-discipline { font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .13em; color: var(--green); }
.champion-card strong { font: 800 18px var(--font-antrastes); color: var(--ink); }
.champion-card ul { margin: 4px 0 0; padding-left: 17px; display: grid; gap: 5px; }
.champion-card li { font-size: 12.5px; line-height: 1.5; color: var(--gray); }
.champion-card small { margin-top: 6px; font: 700 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .09em; color: var(--gray); }

/* Kortelese tekstas visada prasideda tame paciame aukstyje: nuotraukos
   eilute nesitempia, o pareigu ir rungties eiluteje visada telpa dvi eilutes. */
.champion-card { grid-template-rows: auto 1fr; }
.coach-card { grid-template-rows: auto 1fr auto; }
.staff-role, .champion-discipline { min-height: 2.8em; }
/* Trenerio eilute cempiono kortelese - visada kortelės apacioje. */
.champion-body { grid-template-rows: auto auto 1fr auto; align-content: stretch; }

/* ---------------------------------------------------------------------------
   WordPress temos papildymai: trenerio profilis, varžybų kalendorius,
   muziejaus video ir įrašo viršelis. Spalvos - iš tos pačios paletės.
   --------------------------------------------------------------------------- */

.staff-card.is-link { text-decoration: none; color: inherit; transition: transform .25s ease, box-shadow .25s ease; }
.staff-card.is-link:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(22,73,133,.14); }

.competition-links { display: flex; flex-wrap: wrap; gap: 10px; }

.post-cover { margin: 0 0 30px; border-radius: 18px; overflow: hidden; }
.post-cover img { display: block; width: 100%; height: clamp(280px, 34vw, 520px); object-fit: cover; }

/* Tuščia redaktoriaus turinio sritis: reikalinga Elementor'ui, bet nerodoma. */
.sub-section.is-empty, .lam-editor-slot.is-empty { display: none; }
/* Išsiuntus priėmimo anketą rodomas tik patvirtinimas. */
.registration-form.is-sent > *:not(.form-success) { display: none; }

/* `display` reikšmė nugali naršyklės [hidden] taisyklę, todėl paslėptus
   blokus slepiame aiškiai - kitaip jie užima vietą tinklelyje. */
.form-success[hidden], .contact-done[hidden], .form-error[hidden],
.registration-form .form-success[hidden] { display: none !important; }

/* Naujienlaiskio kortoje reikia tik el. pasto - vardo ir zinutes laukai
   slepiami. Be sios taisykles `.contact-dialog .field { display: grid }`
   nugalejo [hidden] ir laukai likdavo matomi. */
.contact-dialog .field[hidden] { display: none !important; }

/* ---------------------------------------------------------------------------
   Elementor puslapiai. LAM valdikliai patys atiduoda pilną <section>, todėl
   redaktoriaus apvalkalams tenka nurodyti, kad jie neribotų pločio ir
   nepridėtų savų tarpų - kitaip dizainas pasislinktų.
   --------------------------------------------------------------------------- */

.lam-elementor .elementor,
.lam-elementor .elementor-section,
.lam-elementor .elementor-container,
.lam-elementor .elementor-column,
.lam-elementor .elementor-column-wrap,
.lam-elementor .elementor-widget-wrap,
.lam-elementor .elementor-widget,
.lam-elementor .elementor-widget-container,
.lam-elementor .e-con,
.lam-elementor .e-con-inner,
.lam-elementor .e-child {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
	--container-max-width: none;
	--content-width: 100%;
}

.lam-elementor .elementor-section-boxed > .elementor-container { max-width: none; }
.lam-elementor .e-con > .e-con-inner { max-width: none; }

/* Sekcijų juostos. Temoje jos skaičiuojamos nuo antraštės (`main` vaikai),
   o Elementor'e sekcija gilėliau - todėl parity skaičiuojama nuo valdiklio:
   pirmasis valdiklis atitinka antrąjį `main` vaiką, t. y. pilkąją juostą. */
.lam-elementor .e-con > .elementor-element:nth-child(odd) > .elementor-widget-container > .sub-section,
.lam-elementor .e-con > .elementor-element:nth-child(odd) .sub-section { background: #f6f8f6; }
.lam-elementor .e-con > .elementor-element:nth-child(even) .sub-section { background: transparent; }

/* Visų žmonių kortelių nuotraukos - vienodo, kvadratinio formato. WordPress
   prideda `img { height: auto }`, todėl aukštį palieka skaičiuoti proporcijai. */
.staff-card img, .coach-card img, .champion-card img { height: auto; aspect-ratio: 1 / 1; }

/* Elementor riboja medijos plotį taisykle, kurios svoris didesnis už temos
   (`.elementor-widget-container video`), todėl nurodome aiškiau. */
.lam-elementor .page-video { max-width: 940px; }

/* ---------------------------------------------------------------------------
   Prieinamumo blokas dokumentų skiltyje. Pagal Socialinės apsaugos ir darbo
   ministro 2023-11-29 įsakymą Nr. A1-784: lankytojas turi rasti, kaip gauti
   dokumentą jam prieinamu būdu, ir nuorodas į prieinamą informaciją.
   --------------------------------------------------------------------------- */

.prieinamumo-blokas { margin-top: 26px; padding: 26px 28px; background: var(--white); border-left: 4px solid var(--green); box-shadow: 0 10px 26px rgba(22,73,133,.06); }
.prieinamumo-blokas h3 { margin: 0 0 12px; font: 800 19px var(--font-antrastes); color: var(--ink); }
.prieinamumo-blokas p { margin: 0 0 14px; font-size: 15px; line-height: 1.65; color: var(--gray); }
.prieinamumo-blokas b { color: var(--ink); }
.prieinamumo-kontaktai { margin: 0 0 16px; padding: 0; list-style: none; display: grid; gap: 7px; font-size: 15px; color: var(--gray); }
.prieinamumo-kontaktai a { color: var(--lake); }
.prieinamumo-kontaktai a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.prieinamumo-nuorodos { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0; }
.prieinamumo-nuorodos a { font: 700 13px var(--font-antrastes); text-transform: uppercase; letter-spacing: .08em; color: var(--green); }
.prieinamumo-nuorodos a::after { content: " \2197"; }
.prieinamumo-nuorodos a:hover { color: var(--lake); }

@media (max-width: 720px) {
	.prieinamumo-blokas { padding: 22px 20px; }
}

/* ---------------------------------------------------------------------------
   WordPress administravimo juosta yra `fixed` viršuje, o svetainės viršutinė
   juosta ir antraštė - `absolute; top: 0`, todėl prisijungusiam naudotojui jos
   atsidurdavo po ja (dingdavo soc. tinklų ir prieinamumo ikonos). Lankytojams
   niekas nesikeičia - taisyklė galioja tik su `admin-bar` klase.
   --------------------------------------------------------------------------- */

body.admin-bar .utility-bar,
body.admin-bar .site-header { top: 32px; }

@media screen and (max-width: 782px) {
	body.admin-bar .utility-bar,
	body.admin-bar .site-header { top: 46px; }
}

/* Vidinio puslapio antraste yra `relative` - `html` parastes ja jau nustume
   zemyn, todel papildomas poslinkis paliktu balta juosta virs melynos. */
body.admin-bar .site-header.is-solid { top: 0; }

/* ---------------------------------------------------------------------------
   Šoninė padėties juosta siauresniuose ekranuose (specifikacijos 19 psl.).
   Nuo 1810 px paraštės siaurėja, todėl juosta susitraukia iki numerių ir
   telpa šalia turinio; užvedus ar pasiekus klaviatūra - išsiskleidžia.
   --------------------------------------------------------------------------- */

/* Varžybų plakatas kortelėje (specifikacijos 18 psl. pavyzdys). */

/* Telefone lentele slenkama i sona, bet apie tai niekas nepasako. Desiniame
   krastuose rodomas sesely, kuris dingsta atslinkus i galą (background
   `local` + `scroll` derinys - be jokio JavaScript). */
@media (max-width: 760px) {
  /* 3 stulpeliai (data / varzybos / protokolas) telpa i 350px: be min-width,
     tekstas laužomas, data - vienoje eiluteje. Jei lentele vis tiek platesne,
     lieka slinkimas su prilipimu prie stulpeliu. */
  .data-table { min-width: 0; }
  .data-table th, .data-table td { white-space: normal; padding: 10px 10px; font-size: 13px; }
  .data-table th { font-size: 10px; letter-spacing: .08em; }
  .data-table th:first-child, .data-table td:first-child { white-space: nowrap; width: 1%; }
  .table-wrap { scroll-snap-type: x proximity; }
  .data-table th, .data-table td { scroll-snap-align: start; }
  .table-wrap {
    background:
      linear-gradient(to right, var(--white) 40%, rgba(255,255,255,0)) left center / 30px 100% no-repeat local,
      linear-gradient(to left, var(--white) 40%, rgba(255,255,255,0)) right center / 30px 100% no-repeat local,
      radial-gradient(farthest-side at 0 50%, rgba(22,73,133,.22), rgba(22,73,133,0)) left center / 12px 100% no-repeat scroll,
      radial-gradient(farthest-side at 100% 50%, rgba(22,73,133,.22), rgba(22,73,133,0)) right center / 12px 100% no-repeat scroll,
      var(--white);
  }
}

/* iOS Safari priartina ekrana, kai pazymimas laukas, kurio sriftas mazesnis
   nei 16px - ir po to pats neatitolina. Telefone visus ivedimo laukus
   padarome 16px. Taikoma ir plansetems: iPad Safari elgiasi taip pat.
   Kompiuteryje su pele dydis nesikeicia. */
@media (max-width: 1024px), (pointer: coarse) {
  .registration-form input,
  .registration-form select,
  .registration-form textarea,
  .contact-dialog input,
  .contact-dialog textarea,
  .calendar-filter input,
  .calendar-filter select,
  .calendar-search input,
  .newsletter input {
    font-size: 16px;
  }
}

/* ---------------------------------------------------------------------------
   Telefone ir planšetėse herojaus vaizdo įrašas rodomas visas, o ne apkarpytas:
   karuselė gauna 16:9 rėmus, o antraštė nusileidžia po ja ant tamsaus fono.
   Viršutinės ikonos ir meniu juosta plaukioja ant paties vaizdo, kaip ir
   kompiuteryje - virš vaizdo mėlynos juostos nelieka.
   --------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .hero { min-height: 0; height: auto; max-height: none; }
  .hero-carousel { position: relative; inset: auto; width: 100%; aspect-ratio: 16 / 9; background: var(--ink); }
  .hero-image { object-fit: contain; object-position: center; background: var(--ink); }
  .hero-shade { display: none; }
  .hero-content { position: static; left: auto; right: auto; bottom: auto; padding: 26px 20px 40px; }

  /* Po vaizdo irasu - iprastas sviesus puslapio fonas, be melynos juostos. */
  .hero { background: var(--paper); color: var(--ink); }
  .hero-content h1 { text-shadow: none; }
  .hero-content h1 span { color: var(--green); }
  .hero-content .eyebrow { color: var(--green); text-shadow: none; }
  .hero-content .eyebrow span { background: var(--green); }
}

@media (max-width: 720px) {
  .hero-content { padding: 22px 20px 34px; }
}

/* Narsymo kelio nuorodos telefone - ne mazesnes kaip 24px, kad butu
   patogu paspausti pirstu. */
@media (max-width: 720px) {
  .crumbs a { min-height: 24px; display: inline-flex; align-items: center; }
}

/* Pradzios puslapio galerijos juosta: nuotrauka uzima visa jai skirta ploti ir
   matoma visa - remas prisitaiko prie nuotraukos, todel nieko neapkerpama ir
   nelieka tusciu juostu. Galioja ir kompiuteryje, ir plansetese, ir telefone. */
.gallery-grid { align-items: start; }
/* Vienodo plocio stulpeliai - nuotraukos rodomos visos, todel ju aukstis
   priklauso nuo plocio; vienodas plotis islygina ir apacia. Telefone lieka
   vienas stulpelis, kaip ir buvo. */
@media (min-width: 761px) {
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
}
/* Trys vienodi stulpeliai per visa ploti, be tarpu. Aukstis - perpus mazesnis
   nei nuotraukos proporcija duotu, todel kadras uzpildomas, o apacios krastas
   apkerpamas; `object-position` laiko veidus kadre. */
.gallery-grid figure, .gallery-grid figure:nth-child(2) {
  height: clamp(210px, 31vw, 470px); min-height: 0; transform: none;
}
.gallery-grid img, .gallery-grid video {
  width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%;
}

/* Isskleidziamo meniu zenklas veda i pradzios puslapi. */
.mobile-menu-logo { display: inline-flex; width: clamp(150px, 42vw, 210px); }
.mobile-menu-logo img { display: block; width: 100%; height: auto; }

/* Oficialūs prieinamumo ženklai (gestų kalba, lengvai suprantama kalba).
   Piešinys baltas ant permatomo fono, todėl juostoje jie atrodo kaip ir kitos
   ikonos - be „pagalvėlės" ir be savo stačiakampio. */
.utility-bar > a.utility-mark {
  width: auto; height: 24px; padding: 0; border-radius: 0;
  background: transparent;
  transition: opacity .18s ease;
}
.utility-bar > a.utility-mark img { display: block; height: 24px; width: auto; }
.utility-bar > a.utility-mark:hover { background: transparent; opacity: .7; }
.utility-bar > a.utility-mark:focus-visible {
  background: transparent; outline: 2px solid var(--yellow); outline-offset: 3px;
}
.utility-bar.is-solid > a.utility-mark { background: transparent; }

@media (max-width: 900px) {
  .utility-bar > a.utility-mark { height: 28px; }
  .utility-bar > a.utility-mark img { height: 28px; }
}

/* Gestu kalbos zenklo piesinys storesniu linijų ir uzpildo remeli iki krastu,
   todel prie vienodo aukscio atrodo stambesnis uz lengvai suprantamos kalbos
   zenkla. Sumazinamas, kad abu atrodytu vienodo dydzio. */
.utility-bar > a.utility-mark-gestai,
.utility-bar > a.utility-mark-gestai img { height: 20px; }

@media (max-width: 900px) {
  .utility-bar > a.utility-mark-gestai,
  .utility-bar > a.utility-mark-gestai img { height: 23px; }
}

/* Trenerio kortelė be nuotraukos - inicialai tokiame pat kvadrate.
   Mokykla nuotraukas siunčia dalimis, todėl tinklelis turi atrodyti
   tvarkingai ir tada, kai nuotraukos dar nėra. */
.coach-card .coach-initials {
  aspect-ratio: 1 / 1;
  display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--green) 12%, #fff);
  color: var(--green);
  font: 700 clamp(30px, 4vw, 44px)/1 var(--font-antrastes);
  letter-spacing: .04em;
}

/* Lengvai suprantamos kalbos ženklas yra aukštesnis už gestų kalbos, todėl
   centruotas jis atrodo kiek pakilęs - nuleidžiamas per 2 px. */
.utility-bar > a.utility-mark:not(.utility-mark-gestai) { position: relative; top: 2px; }

/* Kelių dokumentų grupė - suskleidžiama. Mygtukas užima visą antraštę,
   kad būtų paspaudžiama ta pati juosta kaip ir vieno dokumento nuoroda. */
.doc-group-head .doc-group-toggle {
  width: 100%; margin: -16px -24px; padding: 16px 24px; border: 0; background: transparent;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  font: inherit; text-transform: inherit; letter-spacing: inherit; color: inherit; text-align: left; cursor: pointer;
  transition: background .18s ease, color .18s ease;
}
.doc-group-head .doc-group-toggle:hover, .doc-group-head .doc-group-toggle:focus-visible { background: var(--lake); color: var(--white); }
.doc-group-head .doc-group-toggle span { font-size: 22px; line-height: 0; color: var(--green); transition: transform .2s ease; }
.doc-group-head .doc-group-toggle:hover span { color: var(--yellow); }
.doc-group-head .doc-group-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.doc-group-head:has(.doc-group-toggle) { padding: 16px 24px; }

/* Istorijų ir edukacijų sąrašai - numeruotos antraštės su tarpu prieš. */
.prose-istorijos h3 { margin: 28px 0 8px; font: 800 20px/1.25 var(--font-antrastes); color: var(--ink); }
.prose-istorijos h3:first-of-type { margin-top: 8px; }
.prose-istorijos .lead { font-size: 17px; color: var(--ink); }

/* Dokumentas be failo - pavadinimas rodomas, bet nuorodos nėra. */
.doc-group-head.is-pending, .file-row.is-pending { opacity: .8; cursor: default; }
.doc-group-files .is-pending { display: inline-flex; align-items: center; gap: 9px; font-size: 16px; color: #3d4c57; }

/* Trenerio tvarkaraštis - grupės x dienos. */
.tvark { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tvark-lentele { width: 100%; border-collapse: separate; border-spacing: 0; min-width: 640px; }
.tvark-lentele th, .tvark-lentele td { border-bottom: 1px solid #e6ebe8; vertical-align: top; }
.tvark-lentele thead th { padding: 14px 12px; background: var(--ink); color: var(--white); font: 800 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .1em; text-align: center; }
.tvark-lentele thead th:first-child { border-radius: 12px 0 0 0; text-align: left; }
.tvark-lentele thead th:last-child { border-radius: 0 12px 0 0; }
.tvark-lentele tbody th.tvark-grupe { padding: 14px 14px; text-align: left; font: 800 15px var(--font-antrastes); color: var(--ink); background: #f4f8f5; white-space: nowrap; width: 1%; }
.tvark-lentele td { padding: 12px 10px; text-align: center; font-size: 14px; color: var(--ink); }
.tvark-lentele tbody tr:hover td { background: #f8fbf9; }
.tvark-irasas { display: block; }
.tvark-irasas + .tvark-irasas { margin-top: 8px; }
.tvark-laikas { display: block; font: 700 15px var(--font-antrastes); letter-spacing: .01em; white-space: nowrap; }
.tvark-vieta { display: block; font-size: 12px; line-height: 1.3; color: var(--gray); margin-top: 2px; }
.tvark-tuscia { color: #c3cbc6; }
.tvark-diena-trump { display: none; }
.tvark-pastaba { margin: 14px 0 0; font-size: 14px; color: var(--gray); }
@media (max-width: 1024px) {
	.tvark { overflow: visible; }
	.tvark-lentele { min-width: 0; display: block; }
	.tvark-lentele thead { display: none; }
	.tvark-lentele tbody, .tvark-lentele tr { display: block; }
	.tvark-lentele tr { margin-bottom: 14px; border: 1px solid #e6ebe8; border-radius: 12px; overflow: hidden; }
	.tvark-lentele tbody th.tvark-grupe { display: block; width: auto; background: var(--ink); color: var(--white); padding: 10px 14px; }
	.tvark-lentele td { display: grid; grid-template-columns: 96px 1fr; column-gap: 12px; row-gap: 4px; align-items: start; text-align: left; padding: 9px 14px; }
	.tvark-lentele td::before { content: attr(data-diena); grid-row: 1; padding-top: 3px; font: 700 11px var(--font-antrastes); text-transform: uppercase; letter-spacing: .06em; color: var(--gray); }
	.tvark-irasas { display: block; grid-column: 2; }
	.tvark-irasas + .tvark-irasas { margin-top: 0; }
	.tvark-irasas .tvark-laikas, .tvark-irasas .tvark-vieta { display: inline; }
	.tvark-irasas .tvark-vieta { margin-left: 6px; }
	.tvark-irasas .tvark-vieta::before { content: "· "; }
	.tvark-lentele td:has(.tvark-tuscia) { display: none; }
	.tvark-lentele tbody tr:hover td { background: transparent; }
}

/* Kalendoriaus laikotarpio filtras - matomi „Nuo“ / „Iki“ užrašai. */
.calendar-period { display: grid; gap: 8px; }
.calendar-period-title { font: 700 12px var(--font-antrastes); text-transform: uppercase; letter-spacing: .09em; color: var(--gray); }
.calendar-period label { font: inherit; text-transform: none; letter-spacing: 0; }
.calendar-period label { display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 8px; }
.calendar-period label span { font-size: 13px; color: var(--gray); }
.calendar-period input { width: 100%; min-width: 0; }

/* Įrenginių patikra 2026-09-17: siauri telefonai, forma po tekstu, plačios stotys. */
@media (max-width: 360px) { .coach-grid { grid-template-columns: 1fr; } }
.prose + .registration-form { margin-top: 28px; }
@media (min-width: 1700px) { .stats { grid-template-columns: minmax(420px, 1.45fr) repeat(4, 1fr); } .stats-intro { padding-left: max(32px, calc((100vw - 1312px) / 2)) !important; padding-right: 40px; } }

/* 2026-09-17: skaitiklis, naujienlaiškis, muziejaus kortelės. */
.stat-live p b { display: block; margin-top: 4px; font-weight: 700; }
.newsletter > div > p { margin: 14px 0 0; max-width: 46ch; font-size: 15px; line-height: 1.5; color: var(--ink); }
.prose:has(.faktai) { max-width: none; }
.faktai { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 28px; }
.faktas { margin: 0; padding: 22px 24px 24px; background: var(--white); border-left: 4px solid var(--lake); box-shadow: 0 10px 26px rgba(22,73,133,.06); }
.faktas-nr { display: block; margin-bottom: 8px; font: 800 12px var(--font-antrastes); letter-spacing: .14em; color: var(--green); }
.faktas h3 { margin: 0 0 8px; font: 700 20px/1.2 var(--font-antrastes); color: var(--ink); }
.faktas p { margin: 0; font-size: 15px; line-height: 1.55; }
.faktas .faktas-kam { margin-bottom: 8px; font-weight: 700; color: var(--lake); }
@media (max-width: 720px) { .faktai { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------------------
   Pradžios puslapis Elementor konteineryje (valdikliai „LAM pradžia: …").
   1. Elementor `frontend.css` turi `.elementor img { height: auto }` - jo
      svoris didesnis už `.hero-image { height: 100% }`, todėl herojaus kadras
      nebeužpildytų ekrano.
   2. Konteinerio tarpas nulinamas, kad sekcijos liestųsi kaip statiniame šablone.
   3. Elementor apvalkalai yra `position: relative`, todėl sekcijų `offsetTop`
      (site.js bėgelio aktyvios zonos skaičiavimas) būtų nulis - apvalkalai
      paliekami statiniai, kaip `main` vaikai. `.section-rail` yra
      `position: fixed`, `transform` apvalkalai neturi, tad jis veikia.
   Taikoma tik pradžiai (`main` be `subpage`), vidiniai puslapiai nepaliesti.
   --------------------------------------------------------------------------- */
main.lam-elementor:not(.subpage) .hero-image { height: 100%; }
main.lam-elementor:not(.subpage) .e-con, main.lam-elementor:not(.subpage) .e-con > .e-con-inner { gap: 0; }
main.lam-elementor:not(.subpage) .elementor, main.lam-elementor:not(.subpage) .e-con, main.lam-elementor:not(.subpage) .e-con-inner,
main.lam-elementor:not(.subpage) .elementor-widget, main.lam-elementor:not(.subpage) .elementor-widget-container { position: static; }
/* Elementor `.elementor-widget figure { margin: 0 }` nugali temos mobilią įtrauką. */
@media (max-width: 760px) { main.lam-elementor:not(.subpage) .elementor-widget figure.about-visual { margin-left: 28px; } }

/* ---------------------------------------------------------------------------
   Prieinamumo auditas 2026-09-17 (AGENTAS-1, AGENTAS-9): fokusas, lietimo
   taikiniai, kontrastas. Dizainas lieka toks pat - pokyciai matomi tik su
   klaviatura arba yra keliu procentu spalvos korekcijos.
   --------------------------------------------------------------------------- */

/* Fokusas sviesiose sekcijose ir ant geltono fono: geltonas remelis ten
   nesimato (1.4:1), todel naudojamas tamsus (ink ant balto 8.6:1, ant
   geltono 6:1). Tamsiose sekcijose lieka geltonas. */
.quick-card:focus-visible, .text-link:focus-visible, .mosaic-link:focus-visible, .featured-content a:focus-visible,
.all-docs:focus-visible, .document-list > a:focus-visible, summary:focus-visible, .faq-list summary:focus-visible,
.coach-card:focus-visible, .staff-card:focus-visible, .champion-card:focus-visible, .person-card a:focus-visible,
.calendar-chips button:focus-visible, .calendar-toggle:focus-visible, .calendar-title:focus-visible, .calendar-reset:focus-visible,
.doc-group-head:focus-visible, .doc-group-toggle:focus-visible, .contact-card a:focus-visible, .consent-row input:focus-visible,
.form-submit:focus-visible, .form-success button:focus-visible, .newsletter input:focus-visible, .newsletter button:focus-visible,
.language-drop a:focus-visible, .prose a:focus-visible, .button-dark:focus-visible, .button-secondary:focus-visible,
.competition-card a:focus-visible,
.field input:focus-visible, .field textarea:focus-visible, .field select:focus-visible,
.contact-dialog input:focus-visible, .contact-dialog textarea:focus-visible, .contact-dialog select:focus-visible,
.contact-tabs button:focus-visible {
  outline: 3px solid var(--ink); outline-offset: 3px;
}
/* Formu laukai: ne tik apatine linija, bet ir aiskus remelis aplink lauka. */
.field input:focus-visible, .field textarea:focus-visible, .field select:focus-visible,
.contact-dialog input:focus-visible, .contact-dialog textarea:focus-visible, .contact-dialog select:focus-visible,
.newsletter input:focus-visible, .calendar-search input:focus-visible, .calendar-filter input:focus-visible, .calendar-filter select:focus-visible {
  outline: 2px solid var(--ink); outline-offset: 2px;
}
/* Kalendoriaus chip'ai ir mygtukai stovi glaudziai - mazesnis atstumas,
   kad remelis neuzeitu ant kaimyno. */
.calendar-chips button:focus-visible, .calendar-toggle:focus-visible, .calendar-reset:focus-visible { outline-offset: 2px; }
/* Pradzios puslapio hero ir tamsios sekcijos: geltonas + tamsus kontūras,
   kad matytusi ir ant sviesiu nuotraukos vietu. */
.hero-content a:focus-visible, .hero-dots button:focus-visible, .mosaic-link:focus-visible, .featured-content a:focus-visible,
.gallery-grid a:focus-visible, .activity-grid a:focus-visible, .light-link:focus-visible, .footer a:focus-visible, .footer-contact:focus-visible,
.crumbs a:focus-visible, .mobile-menu a:focus-visible, .mobile-menu button:focus-visible {
  outline: 3px solid var(--yellow); outline-offset: 3px; box-shadow: 0 0 0 3px var(--ink), 0 0 0 6px var(--yellow);
}

/* Lietimo taikiniai >= 44 px be vizualaus pokycio: nematomas ::after
   sluoksnis isplecia paspaudimo zona. */
.calendar-toggle::after { inset: -11px; }
.utility-bar > a, .utility-bar .language button, .utility-contact { position: relative; }
.utility-bar > a::after, .utility-bar .language button::after, .utility-contact::after { content: ""; position: absolute; inset: -8px; }
.footer-column a, .footer-contact, .footer-bottom a, .crumbs a { position: relative; }
.footer-column a::after, .footer-contact::after, .footer-bottom a::after, .crumbs a::after { content: ""; position: absolute; left: 0; right: 0; top: -9px; bottom: -9px; }
.mobile-menu-top button { position: relative; }
.mobile-menu-top button::after { content: ""; position: absolute; inset: -10px; }

/* Naujienu mozaika: stipresne perdanga vidurineje dalyje, kad antraste ir
   „Skaityti naujiena" skaitytusi ir ant sviesiu plakatu. */
.featured-overlay { background: linear-gradient(180deg, transparent 18%, rgba(4,22,38,.42) 52%, rgba(4,22,38,.94) 100%); }
.mosaic-shade { background: linear-gradient(180deg, rgba(4,22,38,.72) 0%, rgba(4,22,38,.38) 30%, rgba(4,22,38,.4) 50%, rgba(4,22,38,.94) 100%); }

/* Varzybu korteles zyme „ARTIMIAUSIA" siaurame stulpelyje: sutankinti
   tarpai, kad pirmos raides nekirstu stulpelio krastas. */
@media (max-width: 760px) {
  .calendar-mark span { padding-left: 2px; letter-spacing: .06em; font-size: 11px; }
}
@media (max-width: 390px) {
  .calendar-mark { padding-left: 8px; padding-right: 8px; }
  .calendar-mark span { letter-spacing: .03em; font-size: 10px; }
}

/* Mobilus meniu: „Musu cempionai", „Bazes nuoma" nelauzomi (390 px telpa). */
.mobile-menu nav a { white-space: nowrap; }

/* Penkta greitoji kortele: virsutinis remelis kaip pirmai eilutei ir
   desinys krastas, kai kortele lieka viena eiluteje. */
.quick-grid > :nth-child(n+5) { border-top: 1px solid #dbe3e7; }
.quick-card:nth-child(4n) { border-right: 0; }
.quick-grid > .quick-card:nth-child(n+5):last-child { border-right: 1px solid #dbe3e7; }
@media (max-width: 1120px) {
  .quick-card:nth-child(even) { border-right: 0; }
  .quick-grid > .quick-card:nth-child(odd):last-child { border-right: 1px solid #dbe3e7; }
}
.activity-grid a:nth-child(n+5) { background: #46709e; }

/* Naujienu virseliai - mokyklos plakatai su tekstu. Remu dydziai nesikeicia,
   bet paveikslas telpa visas (contain), o likusi plota uzpildo vientisa
   spalva: tamsi ant tamsiu remu (mozaika), sviesi - saraso eilutese ir
   straipsnio virselyje (klientas 2026-09-18: nukirptas „...atletikos mokykla"). */
.img-fit { position: relative; overflow: hidden; background: var(--paper); }
.img-fit > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 20% 0; }
.featured-news.img-fit > img, .mosaic-link.img-fit > img { position: absolute; inset: 0; object-fit: cover; object-position: 20% 0; }
.news-row .img-fit { width: 108px; height: 74px; }
.news-row .img-fit > img { width: 100%; height: 100%; object-fit: cover; object-position: 20% 0; }
/* Straipsnio virselis: `.img-fit > img { height:100% }` nugaletu clamp'a is .post-cover img,
   o vertikalus plakatas butu rodomas visu aukščiu (~1330px). Aukstis kartojamas cia. */
.post-cover.img-fit > img { height: clamp(280px, 34vw, 520px); object-fit: cover; object-position: 50% 0; }
@media (max-width: 760px) {
  .news-row .img-fit { width: 84px; height: 62px; }
}

/* Fokusas geltoniems mygtukams ant tamsaus/žalio fono - dvigubas rėmelis (matomas visur). */
.nav-cta:focus-visible, .museum .button-primary:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; box-shadow: 0 0 0 6px var(--white); }

/* Išskleistas meniu virš centrinio logotipo (1181-1419px logotipas dengė pirmą punktą). */
.nav-shell { z-index: 23; }

/* Klaviatūra: submeniu tampa pasiekiamas iš karto (visibility be uždelsimo atidarant). */
.nav-item:focus-within > .nav-drop, .nav-item:hover > .nav-drop { transition: opacity .18s ease, transform .18s ease, visibility 0s; }

/* Naršymo kelio skirtukas „/" lieka toje pačioje eilutėje su savo punktu (390px). */
.crumbs span { display: flex; align-items: baseline; }

/* Straipsnio viršelis - visas paveikslas natūraliomis proporcijomis (be apkarpymo). */
.post-cover.img-fit { background: transparent; }
.post-cover.img-fit > img { height: auto; max-height: none; object-fit: contain; }
.post-cover.is-portrait { max-width: 720px; margin-left: auto; margin-right: auto; }

/* Praėjusios varžybos kalendoriuje - pritemdytos, su žyma „įvyko“. */
.calendar-item.is-past { opacity: .9; }
.calendar-item.is-past .calendar-badge { filter: grayscale(1); }
.calendar-past { font-style: normal; font-weight: 700; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: #4f5d6a; margin-left: .4em; }
[aria-invalid="true"] { border-color: #c62828 !important; box-shadow: 0 0 0 3px rgba(198,40,40,.15); }
.footer-brand img { height: auto; }

/* Paspaudimo plotai (WCAG 2.5.8): vaizdas nesikeičia, plečiama tik reakcijos zona. */
.staff-body a, .prieinamumo-nuorodos a, .crumbs a, .utility-mark, a[href^="mailto:"], a[href^="tel:"], .calendar-title { position: relative; }
.staff-body a::after, .prieinamumo-nuorodos a::after, .crumbs a::after, .utility-mark::after, a[href^="mailto:"]::after, a[href^="tel:"]::after, .calendar-title::after { content: ""; position: absolute; inset: -4px 0; }
.prieinamumo-nuorodos a::after { content: " \2197"; position: static; }
.utility-mark::after { inset: -10px -6px; }
.calendar-toggle::after { inset: -11px; }
.checkbox input[type="checkbox"] { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--green); }

.field-error { margin: 6px 0 0; font-size: 14px; line-height: 1.4; color: #c62828; font-weight: 600; }
