baldai-dekorai


<html lang="lt" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>Salonai ir kontaktai — Vilnius ir Kaunas</title>
<meta name="description" content="Salonų adresai, telefonai ir darbo laikas Vilniuje bei Kaune. Užklausos forma nemokamam matavimui užsakyti.">
<meta name="theme-color" content="#23262B">
<link rel="canonical" href="/baldai-salonai">
<meta property="og:title" content="Salonai ir kontaktai">
<meta property="og:description" content="Salonų adresai, telefonai ir darbo laikas Vilniuje bei Kaune. Užklausos forma nemokamam matavimui užsakyti.">
<meta property="og:type" content="website">
<link rel="preconnect" href="https://test.petpet.lt">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preconnect" href="https://test.petpet.lt">
<link rel="preload" as="image" fetchpriority="high" href="https://test.petpet.lt/wp-content/uploads/2026/08/01_PH-01_GAMINIAI_Virtuves-baldai.jpg">
<link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,700;12..96,800&family=Schibsted+Grotesk:wght@400;500;600&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet">
<script>document.documentElement.classList.remove('no-js');document.documentElement.classList.add('js');</script>
<style>
/* ============ TOKENS ============ */
:root{
  --graphite:#23262B;      /* staklių stalas */
  --panel:#E6E2D8;         /* melamino plokštės paviršius */
  --teal:#0F6B66;          /* matmenų linijos rašalas */
  --core:#C88B34;          /* žalia LDSP pjūvio šerdis — akcentas */
  --band:#CFC5B0;          /* šviesios medienos briauna — plaukelinės linijos */
  --muted:#5A5E58;         /* pieštuko pilka */

  --core-lt:#E0A855;       /* akcentas ant tamsaus fono (kontrastui) */
  --muted-d:#9CA2A1;       /* pilka ant tamsaus fono */
  --panel-2:#DCD7C9;
  --graphite-2:#2C3037;

  --e-out:cubic-bezier(.25,.46,.45,.94);
  --e-expo:cubic-bezier(.16,1,.3,1);
  --e-quart:cubic-bezier(.76,0,.24,1);

  --ff-display:"Bricolage Grotesque",system-ui,sans-serif;
  --ff-body:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ff-mono:"JetBrains Mono",ui-monospace,monospace;

  --pad:clamp(20px,5vw,64px);
  --maxw:1280px;
  --r:34px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--graphite);color:var(--panel);
  font-family:var(--ff-body);font-size:clamp(15.5px,.85vw + 12px,17.5px);line-height:1.6;
  letter-spacing:-.004em;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--ff-display);font-weight:700;line-height:1.02;letter-spacing:-.025em;margin:0}
h1{font-size:clamp(34px,5.1vw,62px);font-weight:800}
h2{font-size:clamp(30px,4.6vw,58px)}
h3{font-size:clamp(20px,2vw,26px);letter-spacing:-.015em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}

/* ============ MONO / SPEC ============ */
.mono{font-family:var(--ff-mono);font-variant-numeric:tabular-nums lining-nums;letter-spacing:.06em;text-transform:uppercase;font-size:12px}
.spec{
  font-family:var(--ff-mono);font-variant-numeric:tabular-nums lining-nums;
  font-size:12px;letter-spacing:.04em;color:var(--teal);
  border:1px solid currentColor;border-radius:4px;padding:3px 8px 2px;display:inline-block;
  white-space:nowrap;text-transform:none;
}
.on-dark .spec,.sec--dark .spec{color:var(--core-lt)}
.eyebrow{font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-d);margin:0 0 18px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--core);flex:none}
.sec--light .eyebrow{color:var(--muted)}

/* ============ LAYOUT ============ */
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sec{position:relative;padding-block:clamp(72px,10vw,148px)}
.sec--light{background:var(--panel);color:var(--graphite)}
.sec--light2{background:var(--panel-2);color:var(--graphite)}
.sec--dark{background:var(--graphite);color:var(--panel)}
.sec--overlap{margin-top:calc(var(--r) * -1);border-radius:var(--r) var(--r) 0 0}
.sec--light a{color:var(--teal)}
.lede{font-size:clamp(17px,1.2vw + 12px,21px);max-width:34ch;color:var(--muted-d)}
.sec--light .lede{color:var(--muted)}
.txt{max-width:62ch}

/* ============ HEADER ============ */
.hdr{position:fixed;top:0;left:0;right:0;z-index:70}
.hdr__bg{position:absolute;inset:0;background:rgba(35,38,43,.9);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(207,197,176,.14);opacity:0;will-change:opacity}
.hdr__in{position:relative;display:flex;align-items:center;gap:18px;
  max-width:var(--maxw);margin:0 auto;padding:22px var(--pad);}
.brand{font-family:var(--ff-display);font-weight:800;letter-spacing:-.045em;font-size:21px;line-height:1;
  text-decoration:none;display:inline-flex;align-items:baseline;color:var(--panel);
  transition:opacity 140ms var(--e-out)}
.brand:hover{opacity:.72}
.brand i{font-style:normal;font-weight:500;letter-spacing:-.02em;color:var(--muted-d)}
.nav{display:none;gap:26px;margin-left:auto;font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.nav a{text-decoration:none;color:var(--muted-d);padding:6px 0;border-bottom:1px solid transparent;transition:color 140ms var(--e-out),border-color 140ms var(--e-out)}
.nav a:hover,.nav a:focus-visible{color:var(--panel);border-color:var(--core)}
.hdr .hdr__tel{display:none;margin-left:auto;font-family:var(--ff-mono);font-size:13px;letter-spacing:.04em;
  text-decoration:none;color:var(--core-lt);white-space:nowrap;opacity:0}
.hdr .hdr__cta{display:none}
@media (min-width:900px){
  .nav{display:flex}
  .hdr .hdr__tel{display:inline-block;margin-left:26px}
  .hdr .hdr__cta{display:inline-flex}
}

/* --- mobilus meniu --- */
.burger{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:5px;
  margin-left:auto;width:44px;height:44px;padding:0 9px;background:none;border:0;cursor:pointer;flex:none}
.burger span{display:block;height:1.5px;background:var(--panel);border-radius:2px;
  transition:transform 240ms var(--e-out),opacity 160ms var(--e-out)}
.is-menu .burger span:first-child{transform:translateY(3.25px) rotate(45deg)}
.is-menu .burger span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.is-menu .hdr__bg{opacity:1 !important}
@media (min-width:900px){.burger{display:none}}

.mnav{position:fixed;inset:0;z-index:65;background:var(--graphite);
  display:flex;flex-direction:column;justify-content:space-between;gap:32px;overflow-y:auto;
  padding:calc(84px + env(safe-area-inset-top)) var(--pad) calc(28px + env(safe-area-inset-bottom));
  opacity:0;visibility:hidden;transform:translateY(-10px);
  transition:opacity 200ms var(--e-out),transform 260ms var(--e-out),visibility 0s linear 260ms}
.is-menu .mnav{opacity:1;visibility:visible;transform:none;
  transition:opacity 220ms var(--e-out),transform 300ms var(--e-out),visibility 0s}
@media (min-width:900px){.mnav{display:none}}
html.is-menu{overflow:hidden}
.mnav__links{display:flex;flex-direction:column}
.mnav__links a{font-family:var(--ff-display);font-weight:700;letter-spacing:-.03em;line-height:1.1;
  font-size:clamp(27px,8.5vw,38px);text-decoration:none;color:var(--panel);
  padding:14px 0;border-bottom:1px solid rgba(207,197,176,.13);
  opacity:0;transform:translateY(14px);
  transition:opacity 260ms var(--e-out),transform 260ms var(--e-out),color 140ms var(--e-out)}
.mnav__links a:active{color:var(--core-lt)}
.is-menu .mnav__links a{opacity:1;transform:none}
.is-menu .mnav__links a:nth-child(1){transition-delay:70ms}
.is-menu .mnav__links a:nth-child(2){transition-delay:110ms}
.is-menu .mnav__links a:nth-child(3){transition-delay:150ms}
.is-menu .mnav__links a:nth-child(4){transition-delay:190ms}
.is-menu .mnav__links a:nth-child(5){transition-delay:230ms}
.mnav__foot{display:grid;gap:16px;opacity:0;transform:translateY(14px);
  transition:opacity 260ms var(--e-out),transform 260ms var(--e-out)}
.is-menu .mnav__foot{opacity:1;transform:none;transition-delay:270ms}
.mnav__tel{font-family:var(--ff-mono);font-weight:700;font-size:clamp(21px,6.5vw,27px);letter-spacing:.01em;
  color:var(--core-lt);text-decoration:none;display:inline-block}
.mnav__hours{margin:0;font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted-d);line-height:1.8}
.mnav .btn{justify-content:center}
@media (prefers-reduced-motion:reduce){
  .mnav,.mnav__links a,.mnav__foot,.burger span{transition-duration:1ms !important;transition-delay:0s !important}
}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-mono);font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;border-radius:999px;padding:17px 26px;
  background:var(--core);color:#1B1A16;font-weight:700;position:relative;
  transition:transform 140ms var(--e-out),background-color 140ms var(--e-out),box-shadow 140ms var(--e-out)}
.btn:hover{background:var(--core-lt);transform:translateY(-2px);box-shadow:0 10px 22px -14px rgba(0,0,0,.85)}
.btn:active{transform:translateY(0) scale(.985);transition-duration:80ms}
.btn__arw{display:inline-block;transition:transform 140ms var(--e-out)}
.btn:hover .btn__arw{transform:translateX(4px)}
.btn--ghost{background:transparent;color:var(--panel);box-shadow:inset 0 0 0 1px rgba(207,197,176,.4);font-weight:500}
.btn--ghost:hover{background:rgba(207,197,176,.09)}
.sec--light .btn--ghost{color:var(--graphite);box-shadow:inset 0 0 0 1px rgba(35,38,43,.25)}
.btn--sm{padding:14px 20px;font-size:11.5px}
:focus-visible{outline:2px solid var(--core-lt);outline-offset:3px;border-radius:4px}
.sec--light :focus-visible{outline-color:var(--teal)}
.skip{position:absolute;left:-9999px;top:0;background:var(--core);color:#1B1A16;padding:12px 18px;z-index:200;font-family:var(--ff-mono);font-size:12px}
.skip:focus{left:8px;top:8px}

/* ============ HERO ============ */
.hero{position:relative;padding-top:clamp(104px,12vh,136px);padding-bottom:clamp(56px,8vw,96px);overflow:hidden}
.hero__grid-bg{position:absolute;inset:-14% -10% -10%;pointer-events:none;opacity:.5;will-change:transform;
  background-image:linear-gradient(rgba(207,197,176,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(207,197,176,.055) 1px,transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:radial-gradient(120% 80% at 60% 30%,#000 35%,transparent 78%);
  mask-image:radial-gradient(120% 80% at 60% 30%,#000 35%,transparent 78%)}
.hero__in{position:relative;display:grid;gap:clamp(30px,4vw,54px)}
@media (min-width:1000px){.hero__in{grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);align-items:center;gap:clamp(34px,4.4vw,62px)}}
.hero__fig{margin:0}
.hero h1{margin:0 0 20px;max-width:12ch}
.h-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.h-line > span{display:block;will-change:transform}
.hero__lede{max-width:42ch;color:var(--muted-d);font-size:clamp(16px,.45vw + 13.5px,18.5px)}
.hero__acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;align-items:center}

/* hero media: drawing -> photograph */
.stage{position:relative;border-radius:20px;overflow:hidden;background:var(--graphite-2);
  box-shadow:0 30px 70px -40px rgba(0,0,0,.9);aspect-ratio:4/3.05}
@media (min-width:1000px){.stage{aspect-ratio:4/3.18}}
.stage__ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  clip-path:inset(0 0 100% 0);will-change:transform,clip-path;transform:scale(1.06)}
.stage-cap{margin:16px 0 0;width:100%;font-family:var(--ff-mono);font-size:11.5px;line-height:1.7;letter-spacing:.01em;
  color:var(--muted-d)}

/* ============ MARQUEE ============ */
.marq{background:#3A3B36;color:var(--panel);overflow:hidden;padding:15px 0;position:relative;z-index:3;
  border-top:1px solid rgba(207,197,176,.14);border-bottom:1px solid rgba(207,197,176,.14)}
.marq__t{display:flex;width:max-content;will-change:transform}
.marq__t span{font-family:var(--ff-mono);font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:500;
  padding:0 22px;display:flex;align-items:center;gap:22px;white-space:nowrap}
.marq__t span::after{content:"";width:5px;height:5px;background:var(--core);border-radius:1px;display:block}

/* ============ COUNTERS ============ */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(207,197,176,.16);border:1px solid rgba(207,197,176,.16);border-radius:16px;overflow:hidden}
@media (min-width:820px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--graphite);padding:26px 22px}
.stat__n{font-family:var(--ff-mono);font-weight:700;font-variant-numeric:tabular-nums;
  font-size:clamp(30px,3.6vw,44px);letter-spacing:-.02em;color:var(--core-lt);line-height:1;display:block}
.stat__l{font-family:var(--ff-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-d);margin-top:12px;display:block;line-height:1.6}

/* ============ CATEGORIES (pinned horizontal) ============ */
.cats__head{display:grid;gap:20px;margin-bottom:38px}
@media (min-width:900px){.cats__head{grid-template-columns:1fr auto;align-items:end}}
.cats__stage{position:relative;overflow:hidden}
.cats__track{display:flex;gap:20px;padding-inline:var(--pad);width:max-content;will-change:transform}
.card{position:relative;width:min(78vw,420px);flex:none;border-radius:18px;overflow:hidden;background:var(--panel-2);
  aspect-ratio:3/3.9;will-change:transform}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 220ms var(--e-out)}
.card:hover img,.card:focus-within img{transform:scale(1.045)}
.card__grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,22,25,0) 38%,rgba(20,22,25,.86) 100%)}
.card__body{position:absolute;left:18px;right:18px;bottom:18px;color:var(--panel)}
.card__ttl{font-family:var(--ff-display);font-weight:700;font-size:clamp(20px,2.2vw,27px);letter-spacing:-.02em}
.card__cap{font-family:var(--ff-mono);font-size:11.5px;line-height:1.65;color:var(--panel);letter-spacing:.02em;
  margin-top:10px;max-width:30ch;
  opacity:0;transform:translateY(6px);transition:opacity 180ms var(--e-out),transform 180ms var(--e-out)}
.card:hover .card__cap,.card:focus-within .card__cap{opacity:1;transform:none}
@media (hover:none){.card__cap{opacity:1;transform:none}}
.rail-hint{font-family:var(--ff-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px}
.rail-hint::after{content:"";width:44px;height:1px;background:var(--teal)}
@media (min-width:900px){
  #paslaugos{padding-block:clamp(64px,6.5vw,104px)}
  .card{aspect-ratio:auto;height:clamp(330px,48vh,500px);width:clamp(280px,27vw,390px)}
}
@media (max-width:899px){
  .cats__track{overflow-x:auto;width:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    padding-bottom:14px;scrollbar-width:none;transform:none!important}
  .cats__track::-webkit-scrollbar{display:none}
  .card{scroll-snap-align:center;width:min(80vw,340px)}
}

/* --- šviesios zonos variantai --- */
.sec--light .facts,.sec--light2 .facts{border-top-color:rgba(35,38,43,.16)}
.sec--light .facts li,.sec--light2 .facts li{border-bottom-color:rgba(35,38,43,.16)}
.sec--light .facts b,.sec--light2 .facts b{color:var(--teal)}
.sec--light .facts span,.sec--light2 .facts span{color:var(--graphite)}
.sec--light2 .lede,.sec--light2 .txt{color:var(--muted)}
.sec--light2 .rail-hint{color:var(--muted)}
.sec--light2 .dec__rail::before{background:linear-gradient(90deg,var(--panel-2),rgba(220,215,201,0))}
.sec--light2 .dec__rail::after{background:linear-gradient(270deg,var(--panel-2),rgba(220,215,201,0))}
.sec--light2 .sw__c{border-color:rgba(35,38,43,.2)}
.sec--light2 .sw__n{color:var(--graphite)}
.sec--light2 .sw__s{color:var(--muted)}
.sec--light2 :focus-visible{outline-color:var(--teal)}
.sec--light2 .btn--ghost{color:var(--graphite);box-shadow:inset 0 0 0 1px rgba(35,38,43,.25)}
.sec--light2 .btn--ghost:hover{background:rgba(35,38,43,.06)}

/* ============ CRAFT ============ */
.craft{display:grid;gap:clamp(28px,4vw,60px)}
.reveal-img{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3.2;background:var(--graphite-2)}
.reveal-img img{width:100%;height:100%;object-fit:cover;clip-path:inset(0 0 0 0);will-change:clip-path,transform}
@media (min-width:960px){
  .craft{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
  .craft > div{min-width:0}
  .craft > div:last-child{display:flex;flex-direction:column;justify-content:center}
  .reveal-img{aspect-ratio:auto;height:100%;min-height:560px;align-self:stretch}
}
.facts{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid rgba(207,197,176,.18)}
.facts li{display:grid;grid-template-columns:104px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid rgba(207,197,176,.18);align-items:baseline}
.facts b{font-family:var(--ff-mono);font-weight:500;font-size:12px;letter-spacing:.04em;color:var(--core-lt);font-variant-numeric:tabular-nums}
.facts span{font-size:16px;line-height:1.55;color:var(--panel)}

/* ============ PROCESS (pinned) ============ */
.proc{display:grid;gap:36px}
@media (min-width:1000px){.proc{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(40px,5vw,80px);align-items:start}}
.proc__visual{position:relative;border-radius:20px;overflow:hidden;background:#F1EEE6;aspect-ratio:1/.78;
  border:1px solid rgba(35,38,43,.14)}
.proc__layer{position:absolute;inset:0;opacity:0;transition:opacity .55s ease}
.proc__layer.is-on{opacity:1}
.proc__layer img{width:100%;height:100%;object-fit:cover}
.pdwg{width:100%;height:100%;display:block}
.pdwg .paper{fill:#F1EEE6}
.pdwg .grid{stroke:rgba(15,107,102,.14);stroke-width:1}
.pdwg .ln{fill:none;stroke:var(--graphite);stroke-width:1.7;vector-effect:non-scaling-stroke}
.pdwg .fillp{fill:rgba(15,107,102,.07);stroke:var(--teal);stroke-width:1.4}
.pdwg .dim{fill:none;stroke:var(--teal);stroke-width:1;vector-effect:non-scaling-stroke}
.pdwg text{font-family:"JetBrains Mono",monospace;font-size:13px;fill:var(--teal);letter-spacing:.03em}
.pdwg .hw{fill:none;stroke:var(--core);stroke-width:1.9}
.pdwg .hwt{fill:var(--core)}
.steps{display:grid;gap:0}
.step{padding:26px 0;border-top:1px solid rgba(35,38,43,.16);position:relative;opacity:.42;transition:opacity .45s ease}
.step.is-on{opacity:1}
.step:last-child{border-bottom:1px solid rgba(35,38,43,.16)}
.step__n{font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.16em;color:var(--teal);display:block;margin-bottom:10px;font-weight:700}
.step h3{margin-bottom:10px}
.step p{color:var(--muted);font-size:16.5px}
.proc__bar{position:absolute;left:0;top:0;bottom:0;width:2px;background:rgba(35,38,43,.14);display:none}
.proc__bar i{position:absolute;left:0;top:0;width:2px;height:0;background:var(--teal);display:block}
@media (min-width:1000px){
  .proc__right{position:relative;padding-left:26px}
  .proc__bar{display:block}
  .proc__sticky{position:sticky;top:112px}
}

/* ============ DECORS ============ */
.dec__head{display:grid;gap:18px;margin-bottom:34px}
@media (min-width:900px){.dec__head{grid-template-columns:1fr auto;align-items:end}}
.dec__rail{position:relative;overflow:hidden;cursor:grab;touch-action:pan-y}
.dec__rail::before,.dec__rail::after{content:"";position:absolute;top:0;bottom:0;width:clamp(28px,7vw,96px);z-index:2;pointer-events:none}
.dec__rail::before{left:0;background:linear-gradient(90deg,var(--graphite),rgba(35,38,43,0))}
.dec__rail::after{right:0;background:linear-gradient(270deg,var(--graphite),rgba(35,38,43,0))}
.dec__rail.is-drag{cursor:grabbing}
.dec__track{display:flex;gap:14px;width:max-content;will-change:transform}
.sw{width:186px;flex:none;user-select:none}
.sw__c{height:186px;border-radius:14px;border:1px solid rgba(207,197,176,.22);position:relative;overflow:hidden}
.sw__c::after{content:"";position:absolute;left:0;right:0;bottom:0;height:9px;background:var(--band);
  box-shadow:inset 0 1px 0 rgba(0,0,0,.22)}
.sw__n{font-family:var(--ff-mono);font-size:12px;letter-spacing:.03em;margin-top:12px;color:var(--panel)}
.sw__s{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-d);margin-top:5px;
  opacity:.32;transition:opacity 160ms var(--e-out)}
.sw:hover .sw__s{opacity:1}
@media (hover:none){.sw__s{opacity:1}}

/* ============ SHOWROOMS — vienas blokas iš dviejų ============ */
.duo{--mh:clamp(230px,32vw,430px);position:relative;background:var(--panel);
  border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:880px){.duo{grid-template-columns:1fr 1fr}}
.duo__pane{background:var(--panel);display:flex;flex-direction:column;will-change:transform;
  border-radius:18px;overflow:hidden;border:1px solid rgba(35,38,43,.16)}
.duo__media{position:relative;height:var(--mh);overflow:hidden;background:#DCD7C9}
.duo__media img{position:absolute;left:0;top:-13%;width:100%;height:126%;object-fit:cover;will-change:transform}
.duo__media::before{content:"";position:absolute;inset:0;z-index:2;
  background-image:linear-gradient(rgba(15,107,102,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(15,107,102,.22) 1px,transparent 1px);
  background-size:28px 28px;mix-blend-mode:multiply}
.duo__media::after{content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,rgba(35,38,43,0) 55%,rgba(35,38,43,.5))}
.duo__tag{position:absolute;z-index:3;left:16px;bottom:16px;
  font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  background:var(--graphite);color:var(--panel);padding:8px 13px;border-radius:999px;white-space:nowrap}
.duo__b{padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:14px;flex:1}
.duo__b h3{margin:0}
.duo__b > p{color:var(--muted);font-size:16px;margin:0}
.duo dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;
  font-family:var(--ff-mono);font-size:12.5px;letter-spacing:.02em}
.duo dt{color:var(--muted);text-transform:uppercase;font-size:10.5px;letter-spacing:.13em;padding-top:3px}
.duo dd{margin:0;color:var(--graphite);font-variant-numeric:tabular-nums}
.duo dd a{text-decoration:none;border-bottom:1px solid var(--band)}
.duo__foot{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;justify-content:space-between}

/* ============ INSTALLMENTS / INCLUDES ============ */
.four{position:relative;display:grid;gap:1px;background:rgba(35,38,43,.16);border:1px solid rgba(35,38,43,.16);border-radius:16px;overflow:hidden;margin-top:34px}
#kontaktai{transform-origin:center top;will-change:transform;isolation:isolate}
#kontaktai::after{content:"";position:absolute;inset:0;z-index:9;pointer-events:none;
  background:var(--graphite);opacity:var(--dimv,0);border-radius:inherit}
@media (min-width:760px){.four{grid-template-columns:repeat(4,1fr)}}
.four > div{background:var(--panel-2);padding:24px 20px}
.four b{font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.16em;color:var(--teal);display:block;margin-bottom:12px}
.four p{font-size:16px;line-height:1.55;color:var(--graphite)}
/* ============ SUBPAGE HERO / SERVICE ROWS / CTA ============ */
.phero{padding-top:clamp(116px,14vh,164px);padding-bottom:clamp(44px,6vw,80px)}
.phero__in{display:grid;gap:clamp(18px,3vw,44px)}
@media (min-width:900px){.phero__in{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end}}
.phero h1{max-width:15ch;margin:0}
.crumbs{font-family:var(--ff-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted-d);margin:0 0 20px;display:flex;flex-wrap:wrap;gap:8px}
.crumbs a{text-decoration:none;color:var(--muted-d);transition:color 140ms var(--e-out)}
.crumbs a:hover{color:var(--panel)}
.crumbs span{color:var(--core-lt)}

.srv{display:grid;gap:clamp(22px,3.5vw,54px);padding-block:clamp(38px,5vw,70px);
  border-top:1px solid rgba(35,38,43,.16)}
.srv:first-child{border-top:0;padding-top:0}
@media (min-width:900px){
  .srv{grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);align-items:center}
  .srv--flip .srv__media{order:2}
}
.srv__media{border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:var(--graphite-2)}
.srv__media img{width:100%;height:100%;object-fit:cover}
.srv__n{font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.16em;color:var(--teal);
  display:block;margin-bottom:12px;font-weight:700}
.srv h2{font-size:clamp(25px,3vw,38px)}
.srv__b > p{color:var(--muted);margin:16px 0 0;max-width:52ch}
.srv__b ul{list-style:none;margin:20px 0 0;padding:0}
.srv__b li{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid rgba(35,38,43,.14);
  font-size:16px;align-items:baseline;color:var(--graphite)}
.srv__b li::before{content:"";width:8px;height:8px;flex:none;border:1px solid var(--teal);
  border-radius:2px;transform:translateY(-1px)}

.cta{display:grid;gap:24px;align-items:center}
@media (min-width:860px){.cta{grid-template-columns:1fr auto}}
.cta h2{max-width:16ch}
.cta p{color:var(--muted-d);margin:14px 0 0;max-width:46ch}

/* ============ FAQ ============ */
.faq{display:grid;gap:clamp(30px,4vw,64px)}
@media (min-width:960px){
  .faq{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start}
  .faq__intro{position:sticky;top:118px}
}
@media (min-width:960px){.faq--solo{grid-template-columns:1fr}}
.faq__list{border-top:1px solid rgba(35,38,43,.18)}
.faq__item{border-bottom:1px solid rgba(35,38,43,.18)}
.faq__item h3{margin:0;font-size:inherit;letter-spacing:normal}
.faq__q{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  background:none;border:0;padding:22px 2px;text-align:left;cursor:pointer;color:var(--graphite);
  font-family:var(--ff-display);font-weight:700;letter-spacing:-.015em;line-height:1.32;
  font-size:clamp(16.5px,.75vw + 13px,20px);transition:color 140ms var(--e-out)}
.faq__q:hover{color:var(--teal)}
.faq__item.is-open .faq__q{color:var(--teal)}
.faq__ic{position:relative;flex:none;width:18px;height:18px;margin-top:5px}
.faq__ic::before,.faq__ic::after{content:"";position:absolute;left:0;top:50%;width:18px;height:1.5px;
  background:currentColor;transition:transform 220ms var(--e-out),opacity 220ms var(--e-out)}
.faq__ic::before{transform:translateY(-50%)}
.faq__ic::after{transform:translateY(-50%) rotate(90deg)}
.faq__item.is-open .faq__ic::after{transform:translateY(-50%) rotate(0deg);opacity:0}
.faq__panel{display:grid;grid-template-rows:0fr;opacity:0;
  transition:grid-template-rows 240ms var(--e-out),opacity 180ms var(--e-out)}
.faq__item.is-open .faq__panel{grid-template-rows:1fr;opacity:1}
.faq__inner{overflow:hidden;min-height:0}
.faq__inner p{margin:0;padding:0 44px 26px 0;color:var(--muted);font-size:16.5px;line-height:1.62;max-width:62ch}
.no-js .faq__panel{grid-template-rows:1fr;opacity:1}
@media (prefers-reduced-motion:reduce){.faq__panel,.faq__ic::before,.faq__ic::after{transition:none}}

/* ============ FORM ============ */
.form-wrap{display:grid;gap:clamp(28px,4vw,64px)}
@media (min-width:960px){.form-wrap{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}}
form{display:grid;gap:20px}
.row{display:grid;gap:20px}
@media (min-width:620px){.row{grid-template-columns:1fr 1fr}}
.f{position:relative}
.f label{position:absolute;left:15px;top:19px;font-family:var(--ff-mono);font-size:12px;letter-spacing:.06em;
  color:var(--muted-d);pointer-events:none;transform-origin:left top;transition:transform .22s ease,color .22s ease;text-transform:uppercase}
.f input,.f select,.f textarea{
  width:100%;background:transparent;border:1px solid rgba(207,197,176,.28);border-radius:12px;
  color:var(--panel);font-family:var(--ff-body);font-size:16.5px;padding:30px 15px 13px;appearance:none;
  transition:border-color .22s}
.f textarea{min-height:118px;resize:vertical;line-height:1.5}
.f select{font-family:var(--ff-mono);font-size:14px;padding-top:29px;
  background-image:linear-gradient(45deg,transparent 50%,var(--core-lt) 50%),linear-gradient(135deg,var(--core-lt) 50%,transparent 50%);
  background-position:calc(100% - 20px) 26px,calc(100% - 14px) 26px;background-size:6px 6px;background-repeat:no-repeat}
.f select option{background:var(--graphite);color:var(--panel)}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--core);outline:none}
.f.is-fill label,.f input:focus + label,.f textarea:focus + label,.f select:focus + label{transform:translateY(-11px) scale(.82);color:var(--core-lt)}
.f textarea + label{top:19px}
.f .err{font-family:var(--ff-mono);font-size:11px;letter-spacing:.05em;color:var(--core-lt);margin-top:7px;display:none;line-height:1.5}
.f.is-err input,.f.is-err select{border-color:var(--core-lt)}
.f.is-err .err{display:block}
.form-note{font-family:var(--ff-mono);font-size:11px;line-height:1.7;letter-spacing:.03em;color:var(--muted-d)}
.status{font-family:var(--ff-mono);font-size:13px;letter-spacing:.05em;padding:16px 18px;border-radius:12px;
  border:1px solid var(--core);color:var(--core-lt);display:none;line-height:1.6}
.status.is-on{display:block}
.status b{display:block;font-size:15px;margin-bottom:6px;color:var(--panel);letter-spacing:.02em}

/* ============ FOOTER ============ */
.foot{background:var(--graphite);border-top:1px solid rgba(207,197,176,.16);padding-block:56px 40px}
.foot__g{display:grid;gap:28px}
@media (min-width:820px){.foot__g{grid-template-columns:1.4fr 1fr 1fr 1.1fr}}
.foot h4{font-family:var(--ff-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-d);margin:0 0 14px;font-weight:500}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-family:var(--ff-mono);font-size:12.5px;letter-spacing:.03em}
.foot a{text-decoration:none;color:var(--panel)}
.foot a:hover{color:var(--core-lt)}
.foot__b{margin-top:44px;padding-top:22px;border-top:1px solid rgba(207,197,176,.16);
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.08em;color:var(--muted-d);
  display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between}

/* ============ REVEAL BASE (js only) ============ */
.js .rv{opacity:0;transform:translateY(16px)}
.js .h-line > span{transform:translateY(118%)}
.no-js .stage__ph{clip-path:none!important}
@media (prefers-reduced-motion:reduce){
  .js .rv{opacity:1!important;transform:none!important}
  .js .h-line > span{transform:none!important}
  .stage__ph{clip-path:none!important;transform:none!important}
  *{scroll-behavior:auto!important}
}
</style>
</head>
<body>
<a class="skip" href="#turinys">Pereiti prie turinio</a>

<header class="hdr" id="hdr">
  <div class="hdr__bg" id="hdrBg"></div>
  <div class="hdr__in">
    <a class="brand" href="/baldai">Baldai<i>Logo</i></a>
    <nav class="nav" aria-label="Pagrindinė">
      <a href="/baldai-gaminiai">Ką gaminame</a>
      <a href="/baldai-eiga">Kaip vyksta</a>
      <a href="/baldai-dekorai">Dekorai</a>
      <a href="/baldai-salonai" aria-current="page">Salonai</a>
      <a href="/baldai-duk">D.U.K.</a>
    </nav>
    <a class="hdr__tel mono" id="hdrTel" href="tel:+37060012345">+370 600 12345</a>
    <a class="btn btn--sm hdr__cta" href="/baldai-salonai#matavimas">Užsakyti matavimą</a>
    <button class="burger" id="burger" type="button" aria-label="Atidaryti meniu" aria-expanded="false" aria-controls="mnav">
      <span></span><span></span>
    </button>
  </div>
</header>

<div class="mnav" id="mnav" aria-hidden="true">
  <nav class="mnav__links" aria-label="Mobilusis meniu">
    <a href="/baldai-gaminiai">Ką gaminame</a>
    <a href="/baldai-eiga">Kaip vyksta</a>
    <a href="/baldai-dekorai">Dekorai</a>
    <a href="/baldai-salonai" aria-current="page">Salonai</a>
    <a href="/baldai-duk">D.U.K.</a>
  </nav>
  <div class="mnav__foot">
    <a class="mnav__tel" href="tel:+37060012345">+370 600 12345</a>
    <p class="mnav__hours">I&ndash;V 9:00&ndash;18:00 &middot; VI 10:00&ndash;14:00<br>info@jusuimone.lt</p>
    <a class="btn" href="/baldai-salonai#matavimas">Užsakyti nemokamą matavimą <span class="btn__arw" aria-hidden="true">&rarr;</span></a>
  </div>
</div>

<main id="turinys">

<!-- ================= PAGE HERO ================= -->
<section class="sec phero sec--dark" id="virsus">
  <div class="wrap phero__in">
    <div>
      <p class="crumbs"><a href="/baldai">Pagrindinis</a> / <span>Salonai</span></p>
      <h1><span class="h-line"><span>Salonai ir kontaktai</span></span></h1>
    </div>
    <div><p class="lede rv">Į abu salonus galima užsukti be išankstinio susitarimo. Matuoti atvykstame ir į kitus miestus.</p></div>
  </div>
</section>

<!-- ================= SHOWROOMS ================= -->
<section class="sec sec--light sec--overlap" id="salonai">
  <div class="wrap">

    <div class="duo" id="duo">
      <article class="duo__pane" data-side="l">
        <div class="duo__media">
          <img loading="lazy" data-duo="l" src="https://test.petpet.lt/wp-content/uploads/2026/08/08_PH-05_SALONAI_Mazeikiai-ekspozicija.jpg" alt="Salono ekspozicija: sustatytos virtuvės ir spintų sekcijos su ištrauktais stalčiais.">
          <span class="duo__tag">Vilnius · salonas ir gamyba</span>
        </div>
        <div class="duo__b">
          <h3>Vilnius</h3>
          <p>Salonas ir gamyba vienoje vietoje. Ekspozicijoje sustatytos virtuvių, spintų ir svetainės baldų sekcijos.</p>
          <dl>
            <dt>Adresas</dt><dd>Ukmergės g. 120, Vilnius</dd>
            <dt>Salonas</dt><dd><a href="tel:+37052101234">+370 5 210 1234</a></dd>
            <dt>I–V</dt><dd>9:00–18:00</dd>
            <dt>VI</dt><dd>10:00–14:00</dd>
          </dl>
          <a class="btn btn--ghost btn--sm" href="#matavimas" style="align-self:flex-start;margin-top:auto">Užsakyti nemokamą matavimą</a>
        </div>
      </article>

      <article class="duo__pane" data-side="r">
        <div class="duo__media">
          <img loading="lazy" data-duo="r" src="https://test.petpet.lt/wp-content/uploads/2026/08/09_PH-06_SALONAI_Akmene-dekorai-ir-briaunos.jpg" alt="Salono siena su dekorų pavyzdžiais ir briaunų juostelėmis, sukabintomis viena šalia kitos.">
          <span class="duo__tag">Kaunas · salonas</span>
        </div>
        <div class="duo__b">
          <h3>Kaunas</h3>
          <p>Salonas, kuriame patogu rinktis spalvą: dekorai, briaunos ir stalviršių pavyzdžiai sukabinti vienoje sienoje.</p>
          <dl>
            <dt>Adresas</dt><dd>Islandijos pl. 32, Kaunas</dd>
            <dt>Salonas</dt><dd><a href="tel:+37037210123">+370 37 210 123</a></dd>
            <dt>I–V</dt><dd>9:00–18:00</dd>
            <dt>VI</dt><dd>10:00–14:00</dd>
          </dl>
          <a class="btn btn--ghost btn--sm" href="#matavimas" style="align-self:flex-start;margin-top:auto">Užsakyti nemokamą matavimą</a>
        </div>
      </article>
    </div>

    <div class="duo__foot">
      <p class="mono" style="margin:0;color:var(--muted);letter-spacing:.1em">Dėl vizito laiko susitarkite telefonu · matuoti atvykstame ir į kitus miestus</p>
    </div>
  </div>
</section>

<!-- ================= FORM ================= -->
<section class="sec sec--dark sec--overlap" id="matavimas">
  <div class="wrap form-wrap">
    <div>
      <p class="eyebrow">Užklausa</p>
      <h2 style="max-width:13ch">Užsakykite nemokamą matavimą</h2>
      <p class="lede" style="margin-top:18px">Palikite kontaktus — susisieksime, aptarsime poreikius ir suderinsime matavimo laiką. Užklausa nieko neįpareigoja.</p>
      <p class="mono" style="margin-top:26px;color:var(--muted-d);line-height:1.9;letter-spacing:.08em">
        +370 600 12345<br>info@jusuimone.lt<br>I–V 9:00–18:00 · VI 10:00–14:00
      </p>
    </div>

    <form id="reqForm" novalidate>
      <div class="row">
        <div class="f"><input id="fn" name="vardas" type="text" autocomplete="name" placeholder=" "><label for="fn">Vardas</label><p class="err">Įrašykite vardą — taip žinosime, į ką kreiptis.</p></div>
        <div class="f"><input id="ft" name="telefonas" type="tel" autocomplete="tel" placeholder=" "><label for="ft">Telefonas</label><p class="err">Įrašykite telefono numerį — dėl laiko deriname skambučiu.</p></div>
      </div>
      <div class="row">
        <div class="f">
          <select id="fc" name="miestas"><option value=""></option><option>Vilnius</option><option>Vilniaus rajonas</option><option>Kaunas</option><option>Kauno rajonas</option><option>Kitas miestas</option></select>
          <label for="fc">Miestas</label><p class="err">Pasirinkite miestą, kad suplanuotume atvykimą.</p>
        </div>
        <div class="f">
          <select id="fw" name="baldai"><option value=""></option><option>Virtuvė</option><option>Spinta arba lova</option><option>Prieškambaris</option><option>Svetainė / TV sekcija</option><option>Jaunuolio kambarys</option><option>Biuro baldai</option></select>
          <label for="fw">Ką planuojate</label><p class="err">Pasirinkite baldų tipą — pasiimsime tinkamus pavyzdžius.</p>
        </div>
      </div>
      <div class="f">
        <textarea id="fm" name="zinute" placeholder=" "></textarea><label for="fm">Trumpai apie užsakymą</label>
      </div>
      <p class="form-note">Pavyzdžiui: patalpos matmenys, pageidaujamas stilius, jau turima technika ar planuojamas terminas. Kuo daugiau detalių, tuo tikslesnis pasiūlymas.</p>
      <button class="btn" type="submit" style="justify-self:start">Užsakyti nemokamą matavimą <span class="btn__arw" aria-hidden="true">&rarr;</span></button>
      <div class="status" id="formStatus" role="status" aria-live="polite"></div>
    </form>
  </div>
</section>


</main>

<footer class="foot">
  <div class="wrap">
    <div class="foot__g">
      <div>
        <a class="brand" href="/baldai" style="margin-bottom:14px">Baldai<i>Logo</i></a>
        <p style="color:var(--muted-d);max-width:34ch;font-size:16px">Korpusinių baldų gamyba pagal užsakymą nuo 1995. Matuojame, projektuojame, gaminame ir sumontuojame patys.</p>
      </div>
      <div>
        <h4>Gaminiai</h4>
        <ul>
          <li><a href="/baldai-gaminiai">Virtuvė</a></li>
          <li><a href="/baldai-gaminiai">Spintos ir lovos</a></li>
          <li><a href="/baldai-gaminiai">Prieškambaris</a></li>
          <li><a href="/baldai-gaminiai">Svetainė / TV sekcijos</a></li>
          <li><a href="/baldai-gaminiai">Jaunuolio kambarys</a></li>
          <li><a href="/baldai-gaminiai">Biuro baldai</a></li>
        </ul>
      </div>
      <div>
        <h4>Puslapiai</h4>
        <ul>
          <li><a href="/baldai-eiga">Kaip vyksta</a></li>
          <li><a href="/baldai-dekorai">Dekorai</a></li>
          <li><a href="/baldai-salonai">Salonai</a></li>
          <li><a href="/baldai-duk">D.U.K.</a></li>
        </ul>
      </div>
      <div>
        <h4>Kontaktai</h4>
        <ul>
          <li><a href="tel:+37060012345">+370 600 12345</a></li>
          <li><a href="tel:+37052101234">Vilnius +370 5 210 1234</a></li>
          <li><a href="tel:+37037210123">Kaunas +370 37 210 123</a></li>
          <li><a href="mailto:info@jusuimone.lt">info@jusuimone.lt</a></li>
          <li>I&ndash;V 9:00&ndash;18:00</li>
          <li>VI 10:00&ndash;14:00</li>
        </ul>
      </div>
    </div>
    <div class="foot__b">
      <span>&copy; <span id="yr">2026</span> BaldaiLogo</span>
      <span>Baldų gamyba pagal užsakymą</span>
    </div>
  </div>
</footer>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "LocalBusiness",
      "@id": "#vilnius",
      "name": "BaldaiLogo — Vilnius",
      "description": "Korpusinių baldų gamyba pagal užsakymą.",
      "telephone": "+37052101234",
      "email": "info@jusuimone.lt",
      "priceRange": "€€",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "Ukmergės g. 120",
        "addressLocality": "Vilnius",
        "postalCode": "08105",
        "addressCountry": "LT"
      },
      "foundingDate": "1995",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "09:00",
          "closes": "18:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "opens": "10:00",
          "closes": "14:00"
        }
      ]
    },
    {
      "@type": "LocalBusiness",
      "@id": "#kaunas",
      "name": "BaldaiLogo — Kaunas",
      "description": "Korpusinių baldų gamyba pagal užsakymą.",
      "telephone": "+37037210123",
      "email": "info@jusuimone.lt",
      "priceRange": "€€",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "Islandijos pl. 32",
        "addressLocality": "Kaunas",
        "postalCode": "49329",
        "addressCountry": "LT"
      },
      "foundingDate": "1995",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "09:00",
          "closes": "18:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "opens": "10:00",
          "closes": "14:00"
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Pagrindinis",
          "item": "/baldai"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Salonai",
          "item": "/baldai-salonai"
        }
      ]
    }
  ]
}
</script>

<script src="https://cdn.jsdelivr.net/npm/lenis@1.1.14/dist/lenis.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js"></script>
<script>
(function(){
  "use strict";
  var doc=document;
  var yr=doc.getElementById('yr'); if(yr) yr.textContent=new Date().getFullYear();

  var REDUCE = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
  var DEC = {setDir:function(){}};
  var HAS = (typeof gsap!=='undefined') && (typeof ScrollTrigger!=='undefined');

  /* ---------- always-on: form, decor rail (drag), counters fallback ---------- */
  initForm();
  initFloatLabels();
  initFaq();
  initMenu();

  if(!HAS || REDUCE){
    // instant states
    doc.querySelectorAll('.rv').forEach(function(el){el.style.opacity=1;el.style.transform='none';});
    doc.querySelectorAll('.h-line > span').forEach(function(el){el.style.transform='none';});
    var ph=doc.getElementById('heroPh'); if(ph){ph.style.clipPath='none';ph.style.transform='none';}
    doc.getElementById('hdrBg').style.opacity=1;
    doc.getElementById('hdrTel').style.opacity=1;
    setCounters();
    initDecorMarquee(false,false);
    return;
  }

  gsap.registerPlugin(ScrollTrigger);

  /* ---------- Lenis + GSAP ticker ---------- */
  var lenis=null;
  if(typeof Lenis!=='undefined'){
    lenis=new Lenis({lerp:0.09, smoothWheel:true, wheelMultiplier:1, touchMultiplier:1.6});
    window.__lenis=lenis;
    lenis.on('scroll', ScrollTrigger.update);
    gsap.ticker.add(function(t){ lenis.raf(t*1000); });
    gsap.ticker.lagSmoothing(0);
    // anchor links through Lenis
    doc.querySelectorAll('a[href^="#"]').forEach(function(a){
      a.addEventListener('click',function(e){
        var id=a.getAttribute('href'); if(id.length<2) return;
        var t=doc.querySelector(id); if(!t) return;
        e.preventDefault(); lenis.scrollTo(t,{offset:-70,duration:1.1});
      });
    });
  }

  /* ---------- LOAD SEQUENCE (< 1.2s, non-blocking) ---------- */
  var intro=gsap.timeline({defaults:{ease:'power3.out'}});
  if(doc.getElementById('heroPh')){
    intro.to('#heroPh',{clipPath:'inset(0% 0% 0% 0%)',duration:0.95,ease:'power2.inOut'},0)
         .to('#heroPh',{scale:1,duration:1.15,ease:'power2.out'},0);
  }
  intro.to('.h-line > span',{y:'0%',duration:0.82,stagger:0.055},0.12)
       .to('.hero .rv, .phero .rv',{opacity:1,y:0,duration:0.7,stagger:0.07},0.45)
       .fromTo('.hdr__in',{y:-14,opacity:0},{y:0,opacity:1,duration:.6},0.55);

  /* ---------- generic reveals ---------- */
  gsap.utils.toArray('.rv').forEach(function(el){
    if(el.closest('.hero')||el.closest('.phero')) return;
    gsap.to(el,{opacity:1,y:0,duration:.7,ease:'power2.out',
      scrollTrigger:{trigger:el,start:'top 88%',once:true}});
  });

  /* ---------- split-line reveals on h2 ---------- */
  gsap.utils.toArray('h2').forEach(function(h){
    var words=h.textContent.split(' ');
    h.innerHTML=words.map(function(w){return '<span class="wm" style="display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em"><span style="display:inline-block;will-change:transform">'+w+'</span></span>';}).join(' ');
    gsap.fromTo(h.querySelectorAll('.wm > span'),{yPercent:120},{yPercent:0,duration:.75,ease:'power3.out',stagger:0.045,
      scrollTrigger:{trigger:h,start:'top 86%',once:true}});
  });

  /* ---------- HEADER state ---------- */
  var hdrTl=gsap.timeline({paused:true})
    .to('#hdrBg',{opacity:1,duration:.4,ease:'power2.out'},0)
    .to('.hdr__in',{paddingTop:13,paddingBottom:13,duration:.4,ease:'power2.out'},0)
    .fromTo('#hdrTel',{opacity:0,x:10},{opacity:1,x:0,duration:.4,ease:'power2.out'},0.05);
  ScrollTrigger.create({start:'top -90',end:99999,
    onEnter:function(){hdrTl.play();},onLeaveBack:function(){hdrTl.reverse();}});

  /* ---------- HERO parallax: 3 rates, scale-only on media ---------- */
  if(doc.getElementById('virsus'))
  gsap.timeline({scrollTrigger:{trigger:'#virsus',start:'top top',end:'bottom top',scrub:true}})
    .to('#heroGrid',{yPercent:-12,ease:'none'},0)
    .to('.stage-cap',{yPercent:14,ease:'none'},0)
    .to('.hero h1',{yPercent:4,ease:'none'},0)
    .to('#heroPh',{scale:1.09,ease:'none'},0);

  /* ---------- MARQUEE (direction follows scroll) ---------- */
  var marq=doc.getElementById('marq');
  var mTl=marq?gsap.to(marq,{xPercent:-50,repeat:-1,duration:26,ease:'none'}):null;
  ScrollTrigger.create({start:0,end:99999,onUpdate:function(self){
    if(mTl) gsap.to(mTl,{timeScale:self.direction===1?1:-1,duration:.35,overwrite:true});
    DEC.setDir(self.direction===1?-1:1);
  }});

  /* ---------- COUNTERS ---------- */
  doc.querySelectorAll('[data-count]').forEach(function(el){
    var end=parseFloat(el.dataset.count), pre=el.dataset.pre||'', post=el.dataset.post||'';
    var o={v:0};
    ScrollTrigger.create({trigger:el,start:'top 90%',once:true,onEnter:function(){
      gsap.to(o,{v:end,duration:1.3,ease:'power2.out',onUpdate:function(){
        el.textContent=pre+Math.round(o.v)+post;
      }});
    }});
  });

  /* ---------- CRAFT: clip-path scrub reveal + parallax ---------- */
  gsap.fromTo('#craftImg img',{clipPath:'inset(0% 0% 82% 0%)',scale:1.12},
    {clipPath:'inset(0% 0% 0% 0%)',scale:1,ease:'none',
     scrollTrigger:{trigger:'#craftImg',start:'top 88%',end:'top 24%',scrub:0.6}});

  /* ---------- DECOR RAIL: lėta begalinė kilpa + tempimas ---------- */
  initDecorMarquee(true,true);

  /* ---------- MEDIA-SCOPED: pinning (desktop only) ---------- */
  var mm = gsap.matchMedia();

  mm.add('(min-width: 900px)',function(){
    /* categories: pinned horizontal */
    var stage=doc.getElementById('catsStage'), track=doc.getElementById('catsTrack');
    if(stage&&track){
    var dist=function(){return Math.max(0, track.scrollWidth - stage.clientWidth);};
    var hz=gsap.to(track,{x:function(){return -dist();},ease:'none',
      scrollTrigger:{trigger:'#paslaugos',start:'top top',end:function(){return '+='+(dist()+window.innerHeight*0.4);},
        pin:true,scrub:1,invalidateOnRefresh:true,anticipatePin:1}});
    doc.getElementById('catsHint').textContent='Slinkite žemyn — juda į šoną';

    gsap.utils.toArray('#catsTrack .card').forEach(function(p){
      gsap.fromTo(p,{scale:1,filter:'saturate(1)'},{scale:.9,filter:'saturate(.4)',ease:'none',
        scrollTrigger:{trigger:p,containerAnimation:hz,start:'left 8%',end:'left left',scrub:true}});
    });

    }

    /* process: sticky visual + step states + progress rail */
    var bar=doc.getElementById('procBar');
    if(bar) ScrollTrigger.create({trigger:'#steps',start:'top 62%',end:'bottom 78%',scrub:true,
      onUpdate:function(s){ bar.style.height=(s.progress*100)+'%'; }});
  });

  /* steps active-state works at all widths */
  gsap.utils.toArray('.step').forEach(function(st){
    ScrollTrigger.create({trigger:st,start:'top 62%',end:'bottom 62%',
      onToggle:function(s){ if(s.isActive) setStep(st.dataset.step); }});
  });
  function setStep(n){
    doc.querySelectorAll('.step').forEach(function(s){s.classList.toggle('is-on',s.dataset.step===n);});
    doc.querySelectorAll('.proc__layer').forEach(function(l){l.classList.toggle('is-on',l.dataset.layer===n);});
  }

  ScrollTrigger.addEventListener('refreshInit',function(){gsap.set('#catsTrack',{x:0});});
  window.addEventListener('load',function(){ScrollTrigger.refresh();});

  /* ---------- SALONAI: du blokai suslenka į vieną + priešpriešinis parallax ---------- */
  (function(){
    var duo=doc.getElementById('duo'); if(!duo) return;
    var L=duo.querySelector('[data-side="l"]'), R=duo.querySelector('[data-side="r"]'),
        li=duo.querySelector('[data-duo="l"]'), ri=duo.querySelector('[data-duo="r"]');

    // vaizdai juda priešingomis kryptimis visą laiką, kol sekcija matoma
    gsap.timeline({scrollTrigger:{trigger:duo,start:'top bottom',end:'bottom top',scrub:true}})
      .fromTo(li,{yPercent:-7},{yPercent:7,ease:'none'},0)
      .fromTo(ri,{yPercent:7},{yPercent:-7,ease:'none'},0);

    // suslinkimas veikia tik ten, kur blokai stovi greta
    var mmDuo=gsap.matchMedia();
    mmDuo.add('(min-width: 880px)',function(){
      gsap.timeline({scrollTrigger:{trigger:duo,start:'top 92%',end:'top 38%',scrub:0.8}})
        .fromTo(L,{xPercent:-8},{xPercent:0,ease:'none'},0)
        .fromTo(R,{xPercent:8},{xPercent:0,ease:'none'},0);
    });
  })();

  /* ---------- MOKĖJIMAS DALIMIS: sekcija užslenka ant ankstesnės ---------- */
  (function(){
    var dal=doc.getElementById('atsakomybe'), prev=doc.getElementById('kontaktai');
    if(!dal) return;
    var cells=dal.querySelectorAll('.four > div'),
        grid=dal.querySelector('.four'),
        head=dal.querySelector('.dal__head');

    // 1. ankstesnė sekcija atsitraukia į gylį ir pritemsta
    if(prev){
      gsap.timeline({scrollTrigger:{trigger:dal,start:'top bottom',end:'top 24%',scrub:0.7}})
        .fromTo(prev,{scale:1},{scale:0.945,ease:'none'},0);
      ScrollTrigger.create({trigger:dal,start:'top bottom',end:'top 24%',scrub:0.7,
        onUpdate:function(st){ prev.style.setProperty('--dimv', (st.progress*0.34).toFixed(3)); }});
    }

    // 2. antraštė ir tinklelis juda skirtingu greičiu
    gsap.timeline({scrollTrigger:{trigger:dal,start:'top bottom',end:'bottom top',scrub:true}})
      .fromTo(head||grid,{yPercent:10},{yPercent:-8,ease:'none'},0)
      .fromTo(grid,{yPercent:4},{yPercent:-3,ease:'none'},0);

    // 3. kortelės atsiveria viena po kitos
    gsap.timeline({scrollTrigger:{trigger:grid,start:'top 84%',once:true}})
      .fromTo(cells,{clipPath:'inset(0% 0% 100% 0%)',y:32},
        {clipPath:'inset(0% 0% 0% 0%)',y:0,duration:.85,ease:'power3.out',stagger:0.09},0)
      .fromTo(dal.querySelectorAll('.four b'),{opacity:0,x:-10},
        {opacity:1,x:0,duration:.5,ease:'power2.out',stagger:0.09},0.2);
  })();

  /* ---------- helpers ---------- */
  function setCounters(){
    doc.querySelectorAll('[data-count]').forEach(function(el){
      el.textContent=(el.dataset.pre||'')+el.dataset.count+(el.dataset.post||'');
    });
  }

  function initDecorMarquee(withHint,auto){
    var rail=doc.getElementById('decRail'), track=doc.getElementById('decTrack');
    if(!rail||!track) return;

    // dublikuojame rinkinį, kad kilpa būtų be siūlės
    var originals=Array.prototype.slice.call(track.children), n=originals.length;
    originals.forEach(function(el){
      var c=el.cloneNode(true); c.setAttribute('aria-hidden','true'); track.appendChild(c);
    });

    var period=1;
    function measure(){
      var a=track.children[0], b=track.children[n];
      period=Math.max(1, b.offsetLeft - a.offsetLeft);
    }
    measure();
    window.addEventListener('resize',function(){measure();});
    if(doc.fonts && doc.fonts.ready) doc.fonts.ready.then(measure);

    var pos=0, vel=0, dir=-1, SPEED=0.34, hover=false, down=false, sx=0, ox=0, last=0;
    DEC.setDir=function(d){ dir=d; };

    function render(){
      var p=pos%period; if(p>0) p-=period;
      track.style.transform='translate3d('+p+'px,0,0)';
    }
    function tick(){
      if(down){ render(); return; }
      pos+=vel; vel*=0.93; if(Math.abs(vel)<0.02) vel=0;
      if(auto && !hover) pos+=SPEED*dir;
      render();
    }
    if(typeof gsap!=='undefined'){ gsap.ticker.add(tick); }
    else { (function loop(){ tick(); requestAnimationFrame(loop); })(); }

    rail.addEventListener('pointerenter',function(){hover=true;});
    rail.addEventListener('pointerleave',function(){hover=false;});
    rail.addEventListener('pointerdown',function(e){
      down=true; sx=e.clientX; ox=pos; vel=0; last=e.clientX;
      rail.classList.add('is-drag'); rail.setPointerCapture(e.pointerId);
    });
    rail.addEventListener('pointermove',function(e){
      if(!down) return;
      pos=ox+(e.clientX-sx); vel=(e.clientX-last)*0.85; last=e.clientX;
    });
    function up(){ if(!down) return; down=false; rail.classList.remove('is-drag'); }
    rail.addEventListener('pointerup',up);
    rail.addEventListener('pointercancel',up);
    rail.addEventListener('wheel',function(e){
      if(Math.abs(e.deltaX)>Math.abs(e.deltaY)){ e.preventDefault(); pos-=e.deltaX; }
    },{passive:false});
  }

  function initMenu(){
    var b=doc.getElementById('burger'), m=doc.getElementById('mnav'), root=doc.documentElement;
    if(!b||!m) return;
    function setOpen(open){
      root.classList.toggle('is-menu',open);
      b.setAttribute('aria-expanded',open?'true':'false');
      b.setAttribute('aria-label',open?'Uždaryti meniu':'Atidaryti meniu');
      m.setAttribute('aria-hidden',open?'false':'true');
      if(window.__lenis){ open ? window.__lenis.stop() : window.__lenis.start(); }
    }
    b.addEventListener('click',function(){ setOpen(!root.classList.contains('is-menu')); });
    // capture, kad meniu užsidarytų prieš suveikiant inkaro slinkimui
    m.addEventListener('click',function(e){ if(e.target.closest('a')) setOpen(false); },true);
    doc.addEventListener('keydown',function(e){
      if(e.key==='Escape' && root.classList.contains('is-menu')){ setOpen(false); b.focus(); }
    });
    window.addEventListener('resize',function(){ if(window.innerWidth>=900) setOpen(false); });
    setOpen(false);
  }

  function initFaq(){
    var items=[].slice.call(doc.querySelectorAll('.faq__item'));
    items.forEach(function(it){
      var q=it.querySelector('.faq__q');
      q.addEventListener('click',function(){
        var willOpen=!it.classList.contains('is-open');
        items.forEach(function(o){
          if(o===it) return;
          o.classList.remove('is-open');
          o.querySelector('.faq__q').setAttribute('aria-expanded','false');
        });
        it.classList.toggle('is-open',willOpen);
        q.setAttribute('aria-expanded',willOpen?'true':'false');
      });
    });
  }

  function initFloatLabels(){
    doc.querySelectorAll('.f input,.f select,.f textarea').forEach(function(el){
      var wrap=el.closest('.f');
      var sync=function(){ wrap.classList.toggle('is-fill', !!el.value); };
      el.addEventListener('input',sync); el.addEventListener('change',sync); el.addEventListener('blur',sync);
      sync();
    });
  }

  function initForm(){
    var f=doc.getElementById('reqForm'); if(!f) return;
    var status=doc.getElementById('formStatus');
    var req=['fn','ft','fc','fw'];
    req.forEach(function(id){
      var el=doc.getElementById(id);
      el.addEventListener('blur',function(){check(el);});
      el.addEventListener('input',function(){ if(el.closest('.f').classList.contains('is-err')) check(el); });
      el.addEventListener('change',function(){check(el);});
    });
    function check(el){
      var ok=el.value.trim().length>0;
      if(el.id==='ft') ok=el.value.replace(/[^\d+]/g,'').length>=8;
      el.closest('.f').classList.toggle('is-err',!ok);
      el.setAttribute('aria-invalid',ok?'false':'true');
      return ok;
    }
    f.addEventListener('submit',function(e){
      e.preventDefault();
      var bad=null;
      req.forEach(function(id){var el=doc.getElementById(id); if(!check(el)&&!bad) bad=el;});
      if(bad){
        status.classList.add('is-on');
        status.innerHTML='<b>Trūksta duomenų</b>Užpildykite pažymėtus laukus — be jų negalėsime su jumis susisiekti.';
        bad.focus();
        return;
      }
      status.classList.add('is-on');
      status.innerHTML='<b>Užklausa gauta</b>Susisieksime darbo valandomis (I–V 8:00–17:00), patikslinsime detales ir paruošime pasiūlymą. Jei skubate — +370 600 12345.';
      f.querySelectorAll('input,select,textarea').forEach(function(el){el.value='';el.closest('.f').classList.remove('is-fill');});
    });
  }
})();
</script>

</body>
</html>