/* ============================================================
   Augantis medis — vaikų kūrybiškumo ugdymo studija
   Ramus, tvarkingas stilius. Viena akcentinė spalva, daug oro.
   ============================================================ */

:root{
  --bg:#FFFFFF;
  --bg-soft:#F5F3EE;
  --ink:#1C201B;
  --muted:#666D63;
  --line:#E4E1D8;
  --accent:#2E7D45;
  --accent-dark:#1F6234;
  --accent-light:#8CC63F;
  --accent-soft:#E9F3E5;

  --font:'Archivo','Helvetica Neue',Arial,sans-serif;
  --wrap:1120px;
  --pad:24px;
  --r:14px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--font); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
h1,h2,h3{ margin:0; letter-spacing:-.02em; line-height:1.15; font-weight:700; }
p{ margin:0; }
::selection{ background:var(--accent-soft); color:var(--ink); }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:4px; }

.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 var(--pad); }
section[id]{ scroll-margin-top:84px; }

.skip{ position:absolute; left:-9999px; top:0; z-index:99; background:var(--ink); color:#fff; padding:12px 18px; border-radius:8px; }
.skip:focus{ left:12px; top:12px; }

[data-reveal]{ opacity:0; transform:translateY(14px); }
[data-reveal].is-in{ opacity:1; transform:none; transition:opacity .55s var(--ease) var(--d,0s), transform .55s var(--ease) var(--d,0s); }

/* ---------- mygtukai ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 22px; border-radius:999px; font-weight:600; font-size:15px; line-height:1;
  border:1px solid transparent; cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.btn-primary{ background:var(--accent); color:#fff; }
.btn-primary:hover{ background:var(--accent-dark); }
.btn-ghost{ border-color:var(--line); color:var(--ink); background:#fff; }
.btn-ghost:hover{ border-color:var(--ink); }

/* ---------- header ---------- */
.site-head{
  position:sticky; top:0; z-index:40;
  background:rgba(255,255,255,.93);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.head-in{ display:flex; align-items:center; justify-content:space-between; gap:20px; height:68px; }
.brand{ display:flex; align-items:center; flex:none; }
.brand img{ height:42px; width:auto; }
@media (max-width:980px){ .brand img{ height:36px; } }
.site-nav{ display:flex; align-items:center; gap:22px; }
.site-nav a{ font-size:15px; color:var(--muted); font-weight:500; transition:color .2s ease; }
.site-nav a:hover, .site-nav a[aria-current="page"]{ color:var(--ink); }
.head-cta{ padding:10px 18px; font-size:14px; }

/* ---------- hero ---------- */
.hero{ padding:72px 0 56px; }
.hero-in{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.hero.narrow .hero-in{ grid-template-columns:1fr; gap:0; max-width:760px; }
.pill{
  display:inline-block; margin-bottom:20px; background:var(--accent-soft); color:var(--accent-dark);
  padding:6px 14px; border-radius:999px; font-size:13px; font-weight:600;
}
.hero h1{ font-size:clamp(32px,4.2vw,52px); }
.hero-lead{ margin-top:20px; color:var(--muted); font-size:18px; max-width:52ch; }
.hero-btns{ margin-top:30px; display:flex; flex-wrap:wrap; gap:12px; }
.hero-photo img{ width:100%; height:440px; object-fit:cover; border-radius:var(--r); border:1px solid var(--line); }

/* ---------- faktų juosta ---------- */
.facts{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg-soft); }
.facts-in{ display:grid; grid-template-columns:repeat(4,1fr); }
.fact{ padding:26px 20px; text-align:center; border-right:1px solid var(--line); }
.fact:last-child{ border-right:0; }
.fact-big{ font-weight:700; font-size:19px; letter-spacing:-.01em; }
.fact-small{ margin-top:4px; color:var(--muted); font-size:14px; }

/* ---------- sekcijos ---------- */
.sec{ padding:76px 0; }
.sec.soft{ background:var(--bg-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.sec-head{ max-width:56ch; margin-bottom:38px; }
.sec-head h2{ font-size:clamp(26px,3vw,36px); }
.sec-head p{ margin-top:14px; color:var(--muted); }

.steps{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.step{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:28px; }
.step-nr{
  display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px;
  border-radius:50%; background:var(--accent-soft); color:var(--accent-dark);
  font-size:13px; font-weight:700; margin-bottom:16px;
}
.step h3{ font-size:19px; margin-bottom:10px; }
.step p{ color:var(--muted); font-size:16px; }

/* ---------- kortelės ---------- */
.cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.card{
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:#fff;
  display:flex; flex-direction:column; transition:border-color .25s ease;
}
.card:hover{ border-color:#CBC5B7; }
.card img{ width:100%; height:210px; object-fit:cover; }
.card-body{ padding:24px; display:flex; flex-direction:column; gap:8px; flex:1; }
.card-body h3{ font-size:18px; }
.card-body p{ color:var(--muted); font-size:16px; }
.card-more{ margin-top:auto; padding-top:12px; color:var(--accent); font-weight:600; font-size:15px; }

/* ---------- tvarkaraštis ---------- */
.table-scroll{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:#fff; }
table{ width:100%; border-collapse:collapse; min-width:520px; }
th,td{ text-align:left; padding:15px 20px; border-bottom:1px solid var(--line); font-size:16px; }
th{ font-size:13px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
tr:last-child td{ border-bottom:0; }
td.time{ font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; }
td.age span{
  display:inline-block; background:var(--accent-soft); color:var(--accent-dark);
  padding:3px 10px; border-radius:999px; font-size:14px; font-weight:600; white-space:nowrap;
}

/* ---------- kainos ---------- */
.prices{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.price{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:28px; }
.price-n{ font-size:34px; font-weight:700; letter-spacing:-.03em; }
.price-n small{ font-size:16px; font-weight:600; color:var(--muted); letter-spacing:0; }
.price h3{ font-size:17px; margin-top:8px; }
.price p{ color:var(--muted); font-size:15px; margin-top:8px; }

/* ---------- galerija ---------- */
.gal{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.gal figure{ margin:0; border-radius:var(--r); overflow:hidden; border:1px solid var(--line); background:#fff; }
.gal img{ width:100%; height:230px; object-fit:cover; transition:transform .5s var(--ease); }
.gal figure:hover img{ transform:scale(1.03); }

/* ---------- DUK ---------- */
.faq{ max-width:820px; }
.faq details{ border:1px solid var(--line); border-radius:var(--r); background:#fff; padding:0 22px; margin-bottom:12px; }
.faq summary{
  list-style:none; cursor:pointer; padding:20px 0; font-weight:600; font-size:17px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; color:var(--accent); font-size:22px; line-height:1; flex:none; transition:transform .25s var(--ease); }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq details p{ color:var(--muted); padding:0 0 20px; font-size:16px; max-width:66ch; }

/* ---------- kontaktai / forma ---------- */
.contact{ background:var(--bg-soft); border-top:1px solid var(--line); }
.contact-in{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:start; }
.contact h2{ font-size:clamp(26px,3vw,36px); }
.contact-lead{ margin-top:14px; color:var(--muted); }
.contact-list{ margin-top:28px; display:flex; flex-direction:column; gap:12px; }
.contact-item{ display:flex; gap:10px; font-weight:600; align-items:baseline; }
.contact-item span{ color:var(--muted); font-weight:400; font-size:15px; }

.form-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:30px; }
.form-card h3{ font-size:20px; }
.form-card > p{ margin-top:8px; color:var(--muted); font-size:15px; }
form{ margin-top:22px; display:flex; flex-direction:column; gap:16px; }
.row2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field{ display:flex; flex-direction:column; gap:7px; }
.field-label{ font-size:13px; font-weight:600; color:var(--muted); }
input,select,textarea{
  font:inherit; font-size:15px; color:var(--ink); padding:12px 14px;
  border:1px solid var(--line); border-radius:10px; background:#fff; width:100%;
  transition:border-color .2s ease;
}
input::placeholder,textarea::placeholder{ color:#AFAA9E; }
input:focus,select:focus,textarea:focus{ outline:none; border-color:var(--accent); }
input.err,select.err,textarea.err{ border-color:#B33A2B; }
textarea{ resize:vertical; min-height:88px; }

.chips{ display:flex; flex-wrap:wrap; gap:9px; }
.chips.err .chip span{ border-color:#B33A2B; }
.chip{ position:relative; display:inline-flex; }
.chip input{ position:absolute; width:1px; height:1px; margin:0; opacity:0; pointer-events:none; clip:rect(0 0 0 0); clip-path:inset(50%); }
.chip span{ display:inline-block; padding:9px 15px; border-radius:999px; border:1px solid var(--line); font-size:14px; cursor:pointer; transition:all .2s ease; }
.chip input:checked + span{ background:var(--accent); border-color:var(--accent); color:#fff; }
.chip input:focus-visible + span{ outline:2px solid var(--accent); outline-offset:2px; }

.hp{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); }
.form-msg{ color:#B33A2B; font-size:14px; display:none; }
.form-msg.show{ display:block; }
.btn-send{ width:100%; padding:15px; font-size:16px; }
.btn-send.sent{ background:#3E7D52; }

.foot-bar{
  border-top:1px solid var(--line); padding:22px 0; display:flex; flex-wrap:wrap; gap:14px;
  justify-content:space-between; color:var(--muted); font-size:13px;
}
.foot-bar nav{ display:flex; flex-wrap:wrap; gap:16px; }

/* ---------- responsive ---------- */
@media (max-width:980px){
  .hero-in{ grid-template-columns:1fr; gap:36px; }
  .hero-photo img{ height:320px; }
  .contact-in{ grid-template-columns:1fr; gap:36px; }
  .prices{ grid-template-columns:1fr; }
  .gal{ grid-template-columns:repeat(2,1fr); }
  
  .head-in{ height:auto; flex-wrap:wrap; padding-top:12px; }
  .brand{ order:1; } .head-cta{ order:2; }
  .site-nav{
    order:3; width:100%; margin-top:12px; padding:11px 0; gap:20px;
    overflow-x:auto; -webkit-overflow-scrolling:touch; border-top:1px solid var(--line);
    scrollbar-width:none;
  }
  .site-nav::-webkit-scrollbar{ display:none; }
  .site-nav a{ white-space:nowrap; }
  section[id]{ scroll-margin-top:118px; }
}
@media (max-width:720px){
  body{ font-size:16px; }
  .hero{ padding:52px 0 40px; }
  .sec{ padding:56px 0; }
  .steps,.cards{ grid-template-columns:1fr; }
  .facts-in{ grid-template-columns:repeat(2,1fr); }
  .fact:nth-child(2){ border-right:0; }
  .fact:nth-child(1),.fact:nth-child(2){ border-bottom:1px solid var(--line); }
  .row2{ grid-template-columns:1fr; }
  .form-card{ padding:24px; }
  .gal{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  [data-reveal]{ opacity:1 !important; transform:none !important; transition:none !important; }
  .gal figure:hover img{ transform:none; }
}


/* ============================================================
   v5 komponentai: split, strip, checklist, band, dvi skiltys
   ============================================================ */

/* ---------- split: nuotrauka ir tekstas eilėje ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.split + .split{ margin-top:72px; }
.split.reverse figure{ order:2; }
.split figure{ margin:0; }
.split img{ width:100%; height:420px; object-fit:cover; border-radius:var(--r); border:1px solid var(--line); }
.split h3{ font-size:clamp(22px,2.4vw,28px); margin-bottom:16px; }
.split p{ color:var(--muted); }
.split p + p{ margin-top:14px; }

/* ---------- strip: trijų nuotraukų juosta ---------- */
.strip{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:44px; }
.strip figure{ margin:0; border-radius:var(--r); overflow:hidden; border:1px solid var(--line); }
.strip img{ width:100%; height:240px; object-fit:cover; transition:transform .5s var(--ease); }
.strip figure:hover img{ transform:scale(1.03); }

/* ---------- checklist ---------- */
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.two-col-text h3{ font-size:clamp(22px,2.4vw,28px); margin-bottom:16px; }
.two-col-text p{ color:var(--muted); }
.two-col-text p + p{ margin-top:14px; }
.checklist{ background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--r); padding:32px; }
.checklist h3{ font-size:20px; margin-bottom:18px; }
.checklist ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.checklist li{ position:relative; padding-left:32px; color:var(--ink); font-size:16px; }
.checklist li::before{
  content:""; position:absolute; left:0; top:7px; width:18px; height:18px; border-radius:50%;
  background:var(--accent-soft);
  box-shadow:inset 0 0 0 1px var(--accent);
}
.checklist li::after{
  content:""; position:absolute; left:6px; top:12px; width:6px; height:3px;
  border-left:2px solid var(--accent); border-bottom:2px solid var(--accent);
  transform:rotate(-45deg);
}

/* ---------- CTA juosta ---------- */
.band{ background:var(--accent); color:#fff; }
.band-in{ display:flex; align-items:center; justify-content:space-between; gap:32px; padding:44px 24px; flex-wrap:wrap; }
.band p{ font-size:clamp(19px,2.2vw,24px); font-weight:600; letter-spacing:-.015em; max-width:44ch; }
.band .btn-primary{ background:#fff; color:var(--accent-dark); }
.band .btn-primary:hover{ background:var(--accent-soft); }

/* ---------- kortelės be nuotraukos ---------- */
.cards.three{ grid-template-columns:repeat(3,1fr); }
.card.plain{ background:#fff; }
.card.plain .card-body{ padding:28px; }

/* ---------- kontaktų puslapis ---------- */
.big-contacts{ margin-top:30px; display:flex; flex-direction:column; gap:6px; }
.big-tel{ font-size:clamp(24px,3vw,32px); font-weight:700; letter-spacing:-.02em; color:var(--accent); }
.big-tel:hover{ color:var(--accent-dark); }
.big-adr{ color:var(--muted); font-size:17px; }
.contact-hero .hero-photo img{ height:400px; }

/* ---------- poraštės ženkliukas ---------- */
.foot-brand{ display:flex; align-items:center; gap:12px; }
.foot-brand img{ width:38px; height:38px; object-fit:contain; }

.step p a{ color:var(--accent); font-weight:600; }

@media (max-width:980px){
  .split, .two-col{ grid-template-columns:1fr; gap:28px; }
  .split.reverse figure{ order:0; }
  .split + .split{ margin-top:48px; }
  .split img{ height:300px; }
  .cards.three{ grid-template-columns:1fr; }
  .band-in{ padding:36px 24px; }
}
@media (max-width:720px){
  .strip{ grid-template-columns:1fr; }
  .strip img{ height:260px; }
  .checklist{ padding:24px; }
}
