/* ===== SRIFTAI PAS SAVE (2026-09-17) =====
   Anksciau Google Fonts blokavo piesima 804 ms - DNS + TLS i du svetimus serverius
   (fonts.googleapis.com CSS, po to fonts.gstatic.com failai).
   Failai apkarpyti iki naudojamu rasmenu (Latin-1 + Latin Extended-A + skyryba): 108 -> 80 KB.
   Leidzia isimti abu isorinius adresus is CSP.
   ATSTATYMAS: istrinti si bloka ir grazinti <link> i HTML. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(fonts/archivo-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(fonts/archivo-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 800;font-display:swap;
  src:url(fonts/jbmono-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 800;font-display:swap;
  src:url(fonts/jbmono-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#F2F0EA; --ink:#14161A; --ink-soft:#4A5058;
  --line-fine:rgba(140,135,121,.13); --line:#B0A999; --line-strong:#8A8578;
  --accent:#16456E;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --sans:"Archivo",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
/* Lipni virsutine juosta yra 75 px (3 tinklelio zingsniai). Be sios eilutes naryskle
   sustabdo sekcijos virsu ties 0 ir juosta uzdengia virsutinius 25 px antrastes eilutes
   - zodis "Darbai" likdavo po ja 12 px. Todel sustojam LYGIAI ties juostos apacia: 75 px.
   2026-09-19 buvo 100 px (juosta + zingsnis oro), bet isemus sekciju paraste tame ore
   pradejo matytis pries tai einancios sekcijos apacia - kortelės kraštas virs antrastes.
   `scroll-padding` valdo tik slinkimo sustojimo vieta, maketo NEJUDINA, tad 25 px
   liniuotei itakos neturi. Galioja visoms nuorodoms: meniu, "Praleisti navigacija",
   narsykles paieskai. */
html{scroll-behavior:smooth;scroll-padding-top:75px}
img,svg{max-width:100%}
body{
  background:var(--paper); color:var(--ink); font-family:var(--sans);
  font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased;
  background-image:
    linear-gradient(to right, var(--line-fine) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line-fine) 1px, transparent 1px),
    linear-gradient(to right, rgba(138,133,120,.22) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(138,133,120,.22) 1px, transparent 1px);
  background-size:5px 5px, 5px 5px, 25px 25px, 25px 25px;
}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.num{font-family:var(--mono);font-size:11px;color:var(--ink-soft);letter-spacing:.1em}

/* ——— MATMENS ZENKLAS ——— */
.mark{display:inline-block;position:relative;padding-bottom:.21em}
.mark::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--accent)}
.mark::before{content:"";position:absolute;left:0;right:0;bottom:0;height:.13em;
  border-left:1.5px solid var(--accent);border-right:1.5px solid var(--accent)}

.dim{display:flex;align-items:center;gap:12px;color:var(--line-strong)}
.dim-line{flex:1;height:1px;background:var(--line-strong);position:relative}
.dim-line::before,.dim-line::after{content:"";position:absolute;top:-4px;width:1px;height:9px;background:var(--line-strong)}
.dim-line::before{left:0}.dim-line::after{right:0}

header{position:sticky;top:0;z-index:50;background:rgba(242,240,234,.94);border-bottom:1px solid var(--line-strong);backdrop-filter:blur(3px)}
.hdr{display:flex;align-items:center;justify-content:space-between;height:62px;gap:24px}
.logo{font-weight:700;font-size:19px;letter-spacing:-.02em;position:relative;padding-bottom:6px;text-decoration:none;color:var(--ink)}
.logo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink)}
.logo::before{content:"";position:absolute;left:0;right:0;bottom:-3px;height:7px;border-left:1px solid var(--ink);border-right:1px solid var(--ink)}
nav{display:flex;gap:26px}
nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:500;position:relative;padding-bottom:3px}
nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--ink);transition:right .22s ease}
nav a:hover::after{right:0}
.hdr-right{display:flex;align-items:center;gap:16px}
.hdr-tel{font-family:var(--mono);font-size:13.5px;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;position:relative;padding-bottom:3px}
.hdr-tel::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);opacity:.3}
.hdr-tel:hover::after{opacity:1}
.hdr-cta{font-family:var(--mono);font-size:12px;border:1px solid var(--ink);padding:9px 15px;text-decoration:none;color:var(--ink);letter-spacing:.06em;white-space:nowrap}
.hdr-cta:hover{background:var(--ink);color:var(--paper)}
/* Slepiam TIK stalini meniu - tiesiogini .hdr vaika. Nuo 2026-09-19 antrasteje yra
   ir antras <nav>: mobilaus meniu skydelis <details> viduje. Be `>` si eilute
   paslepdavo ir ji, tad skydelis atsidarydavo tuscias. */
@media(max-width:820px){.hdr>nav{display:none}}
@media(max-width:560px){.hdr-cta{display:none}.hdr-tel{font-size:13px}}

/* ——— HERO ——— */
.hero{padding:74px 0 50px}
.hero-grid{display:grid;grid-template-columns:1fr 312px;gap:52px;align-items:start}
h1{font-size:clamp(42px,7vw,88px);line-height:1.02;letter-spacing:-.035em;font-weight:700;max-width:min(15ch,100%);margin-top:18px}
.hero-sub{margin-top:30px;font-size:18.5px;max-width:min(45ch,100%);color:var(--ink-soft);line-height:1.52}
.spec{border-left:1px solid var(--line-strong);padding-left:20px}
.spec dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-family:var(--mono);font-size:13px}
.spec dt{color:var(--ink-soft)}
.spec dd{color:var(--ink);text-align:right}
.hero-actions{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 26px;text-decoration:none;font-weight:600;font-size:15px;border:1px solid var(--ink)}
.btn-solid{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.btn-solid:hover{background:transparent;color:var(--accent)}
.btn-ghost{color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:30px}.spec{border-left:0;border-top:1px solid var(--line-strong);padding-left:0;padding-top:16px}.spec dd{text-align:left}}

section{padding:58px 0}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:30px;border-bottom:1px solid var(--line-strong);padding-bottom:12px}
h2{font-size:clamp(25px,3.3vw,36px);letter-spacing:-.025em;font-weight:600}

.svc{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line-strong);border-bottom:0}
.svc article{padding:28px;border-bottom:1px solid var(--line-strong);background:rgba(242,240,234,.6)}
.svc article:nth-child(odd){border-right:1px solid var(--line-strong)}
.svc article:hover{background:rgba(255,255,255,.78)}
.svc h3{font-size:20px;font-weight:600;margin:12px 0 9px;letter-spacing:-.015em}
.svc p{color:var(--ink-soft);font-size:15px;max-width:min(42ch,100%)}
.svc ul{margin-top:14px;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.svc li{font-family:var(--mono);font-size:11px;border:1px solid var(--line-strong);padding:3px 8px;color:var(--ink-soft)}
@media(max-width:760px){.svc{grid-template-columns:1fr}.svc article:nth-child(odd){border-right:0}}

/* ——— KAINOS ——— */
.price{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-strong);border:1px solid var(--line-strong)}
.price article{background:var(--paper);padding:30px 26px;display:flex;flex-direction:column}
.price article:hover{background:#FCFCFA}
.price h3{font-size:19px;font-weight:600;margin:12px 0 6px;letter-spacing:-.015em}
.price .from{font-family:var(--mono);font-size:11px;color:var(--ink-soft);letter-spacing:.1em}
.price .sum{font-size:34px;font-weight:700;letter-spacing:-.03em;margin:2px 0 14px;position:relative;display:inline-block;padding-bottom:.16em}
.price .sum::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--ink)}
.price .sum::before{content:"";position:absolute;left:0;right:0;bottom:0;height:.12em;border-left:1.5px solid var(--ink);border-right:1.5px solid var(--ink)}
.price p{color:var(--ink-soft);font-size:14.5px;margin-bottom:14px}
.price ul{list-style:none;margin-top:auto;display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);padding-top:14px}
.price li{font-size:14px;color:var(--ink-soft);padding-left:16px;position:relative}
.price li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:1px;background:var(--line-strong)}
.price-note{margin-top:16px;font-size:14px;color:var(--ink-soft)}
@media(max-width:860px){.price{grid-template-columns:1fr}}

/* ——— APIE ——— */
.about{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start;border:1px solid var(--line-strong);padding:34px;background:rgba(242,240,234,.6)}
.about p{color:var(--ink-soft);font-size:16px;margin-bottom:14px;max-width:min(58ch,100%)}
.about p strong{color:var(--ink);font-weight:600}
.about-card{border-left:1px solid var(--line-strong);padding-left:22px}
.about-card dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-family:var(--mono);font-size:12px}
.about-card dt{color:var(--ink-soft)}
.about-card dd{text-align:right}
@media(max-width:860px){.about{grid-template-columns:1fr;gap:26px;padding:26px}.about-card{border-left:0;border-top:1px solid var(--line-strong);padding-left:0;padding-top:18px}.about-card dd{text-align:left}}

/* ——— FORMA ——— */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-size:15.5px;color:var(--ink);background:rgba(255,255,255,.62);
  border:1px solid var(--line-strong);border-radius:0;padding:12px 13px;width:100%;transition:border-color .15s}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);background:#fff}
.field input:invalid:not(:placeholder-shown){border-color:#B3432F}
.hp{position:absolute;width:1px;height:1px;padding:0;margin:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0}
.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.form-actions button{font-family:var(--sans);font-size:15px;font-weight:600;padding:14px 30px;border:1px solid var(--accent);background:var(--accent);color:var(--paper);cursor:pointer}
.form-actions button:hover{background:transparent;color:var(--accent)}
.form-actions button[disabled]{opacity:.45;cursor:wait}
.form-msg{font-family:var(--mono);font-size:12.5px}
.form-msg.ok{color:#2C6E49}
.form-msg.err{color:#B3432F}
.form-alt{font-size:14px;color:var(--ink-soft);margin-top:14px}
.form-alt a{color:var(--ink)}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}

.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line-strong);border:1px solid var(--line-strong)}
.flow div{background:var(--paper);padding:22px 17px}
.flow h3{font-size:15px;font-weight:600;margin:10px 0 6px}
.flow p{font-size:13.5px;color:var(--ink-soft)}
@media(max-width:900px){.flow{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.flow{grid-template-columns:1fr}}

/* ——— DARBAI ——— */
.work{border:1px solid var(--line-strong);display:grid;grid-template-columns:1.15fr 1fr;background:rgba(242,240,234,.6);margin-bottom:20px}
.work:last-of-type{margin-bottom:0}
.work-vis{background:#E6E3DB;position:relative;min-height:290px;overflow:hidden;
  border-right:1px solid var(--line-strong);padding:22px}
/* Nuotrauka rodoma VISA - tai svetaines vaizdas, ne fonas. Anksciau `cover` nukirpdavo krastus:
   deze gaudavo teksto stulpelio aukscio santyki (0,91-1,57), o nuotrauka gulscia 1,80,
   todel prie 900 px matesi tik 50 % - logotipas ir antraste likdavo uz krasto. */
.work-vis img{position:static;width:100%;height:100%;object-fit:contain;object-position:center;display:block;
  border:1px solid rgba(26,26,26,.14);filter:saturate(.96);transition:transform .5s ease}
.work:hover .work-vis img{transform:scale(1.018)}
.crop-tl,.crop-br{position:absolute;width:15px;height:15px;z-index:3}
.crop-tl{top:14px;left:14px;border-top:2px solid var(--accent);border-left:2px solid var(--accent)}
.crop-br{bottom:14px;right:14px;border-bottom:2px solid var(--accent);border-right:2px solid var(--accent)}
@media(max-width:820px){.work-vis{border-right:0;border-bottom:1px solid var(--line-strong);min-height:230px}}
.work-body{padding:28px}
.work-body h3{font-size:21px;margin:10px 0 11px;font-weight:600;letter-spacing:-.015em}
.work-body p{color:var(--ink-soft);font-size:15px;margin-bottom:14px}
.work-body dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-family:var(--mono);font-size:11.5px;border-top:1px solid var(--line);padding-top:13px;margin-bottom:16px}
.work-body dt{color:var(--ink-soft)}
.work-body dd{text-align:right}
.work-body a{color:var(--ink);font-family:var(--mono);font-size:13px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px}
.work-body a:hover{opacity:.6}
@media(max-width:820px){.work{grid-template-columns:1fr}}

.contact{border:1px solid var(--ink);padding:40px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:rgba(255,255,255,.5)}
.contact h2{margin:6px 0 10px}
.contact p{color:var(--ink-soft);max-width:min(44ch,100%)}
.contact-links{display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.contact-links .btn{font-family:var(--mono);letter-spacing:.02em;white-space:nowrap}
.contact-mail{font-family:var(--mono);font-size:13px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:2px}
.contact-mail:hover{border-color:var(--ink)}
@media(max-width:760px){.contact{grid-template-columns:1fr;padding:28px}.contact-links{align-items:flex-start}}

/* ——— MOBILUS PATIKSLINIMAI ——— */
@media(max-width:560px){
  .wrap{padding:0 18px}
  .hero{padding:48px 0 36px}
  .hdr-cta{padding:8px 11px;font-size:11px;letter-spacing:.03em}
  .dim{gap:8px}
  .dim .tag{font-size:9.5px;letter-spacing:.07em}
  .svc article,.work-body{padding:22px}
  .work-body dl{grid-template-columns:1fr;gap:0}
  .work-body dt{margin-top:7px}
  .work-body dd{text-align:left}
  .contact{padding:24px}
  .ftr{flex-direction:column;gap:6px}
  .hero-actions .btn{flex:1;text-align:center;padding:14px 16px}
}
footer{border-top:1px solid var(--line-strong);padding:28px 0;margin-top:36px;
  background:var(--paper);position:relative;z-index:1}
.ftr{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--ink-soft)}
.note{margin-top:12px;font-family:var(--mono);font-size:11px;color:#6E6859}

/* --- buvusios inline taisykles, iskeltos del Content-Security-Policy (2026-09-15) --- */
.tag-lead{margin-bottom:14px}
.dim-gap{margin-top:40px}
#uzklausa{margin-top:24px}
.ftr a{color:inherit;text-decoration:none}
.about-card dd a{color:inherit}

/* 404 puslapis (klases pervadintos is .err -> .err404, kad nesikirstu su .form-msg.err) */
.err404{padding:96px 0 110px;max-width:min(60ch,100%)}
.err404 h1{font-size:clamp(40px,7vw,80px);margin-top:18px}
.err404 p{margin-top:26px;font-size:18.5px;color:var(--ink-soft)}
.err404-links{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}
.err404 .dim{margin-top:44px}

/* ——— ATVIRA KAINODARA (kainu bloko juosta) ——— */
.price-open{margin-top:26px;border:1px solid var(--line-strong);border-left:3px solid var(--accent);padding:26px 28px;background:rgba(255,255,255,.4)}
.price-open h3{font-size:19px;font-weight:600;margin:10px 0 8px;letter-spacing:-.015em}
.price-open p{color:var(--ink-soft);font-size:15px;max-width:min(62ch,100%)}
.price-open ul{list-style:none;margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 26px}
.price-open li{font-size:14px;color:var(--ink-soft);padding-left:16px;position:relative}
.price-open li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:1px;background:var(--line-strong)}
@media(max-width:700px){.price-open ul{grid-template-columns:1fr}.price-open{padding:22px 20px}}

/* ——— STRAIPSNIS ——— */
.art{max-width:min(calc(72ch + 92px),100%);margin-top:30px;padding:40px 46px 34px;
  background:var(--paper);border:1px solid var(--line-strong)}
.art-lead{font-size:19px;color:var(--ink-soft);line-height:1.55;margin-top:28px}
.art h2{font-size:clamp(25px,3.4vw,33px);letter-spacing:-.025em;margin:52px 0 0}
.art h3{font-size:18.5px;font-weight:600;letter-spacing:-.015em;margin:32px 0 0}
.art p{margin-top:16px;font-size:16.5px;line-height:1.62}
.art ul,.art ol{margin-top:16px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.art li{font-size:16px;line-height:1.55;padding-left:18px;position:relative;color:var(--ink-soft)}
.art li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--line-strong)}
.art ol{counter-reset:n}
.art ol li{counter-increment:n}
.art ol li::before{content:counter(n);width:auto;height:auto;background:none;top:.28em;
  font-family:var(--mono);font-size:11.5px;color:var(--line-strong)}
.art a:not(.btn){color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
.art strong{font-weight:600;color:var(--ink)}
.art-head{display:flex;align-items:center;gap:12px;margin:52px 0 0}
.art-head .num{white-space:nowrap}
.art-head .dim-line{flex:1}

/* lentele */
.tw{overflow-x:auto;margin-top:22px;border:1px solid var(--line-strong)}
.ptab{width:100%;border-collapse:collapse;font-size:14.5px;min-width:440px;background:rgba(255,255,255,.4)}
.ptab th,.ptab td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line)}
.ptab thead th{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-soft);background:rgba(242,240,234,.75);border-bottom:1px solid var(--line-strong)}
.ptab tbody tr:last-child td{border-bottom:none}
.ptab td.sum{font-family:var(--mono);white-space:nowrap;font-weight:500}
.ptab caption{caption-side:bottom;padding:10px 14px;font-size:12.5px;color:var(--ink-soft);text-align:left;
  border-top:1px solid var(--line)}

/* issiskiriantis intarpas */
.pull{margin-top:30px;border-left:3px solid var(--accent);padding:4px 0 4px 22px}
.pull p{margin-top:0;font-size:19px;line-height:1.45;letter-spacing:-.01em;color:var(--ink)}

/* saltiniai */
.src{margin-top:18px;font-size:13px;color:var(--ink-soft);font-family:var(--mono);line-height:1.7}
.src a{color:var(--ink-soft)}
.art-cta{margin-top:56px;border-top:1px solid var(--line-strong);padding-top:30px}
.price-note a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
.art code,.ptab code{font-family:var(--mono);font-size:.92em;background:rgba(138,133,120,.12);padding:1px 5px}

/* --- PRIEINAMUMAS (Pixelslop radiniai, 2026-09-15) --- */

/* matoma fokuso zyme visiems valdikliams */
a:focus-visible,button:focus-visible,select:focus-visible,
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{
  outline:2px solid var(--ink);outline-offset:3px}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline-offset:2px}

/* navigacijos praleidimo nuoroda */
.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;left:10px;top:10px;z-index:100;width:auto;height:auto;clip-path:none;
  background:var(--ink);color:var(--paper);padding:11px 17px;
  font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-decoration:none}

/* spaudziamo ploto praplėtimas nekeiciant isvaizdos (WCAG 2.5.8) */
.work-body a,.contact-mail{position:relative}
.hdr-tel::before,.work-body a::before,.contact-mail::before{
  content:"";position:absolute;left:-8px;right:-8px;top:50%;transform:translateY(-50%)}
.hdr-tel::before,.work-body a::before{height:44px}
.contact-mail::before{height:40px}
/* „Kas dirba" duomenu eiluteje nuoroda buvo tik 16 px auksta - maziau uz WCAG 2.2 AA
   riba (24 px). Eiluciu zingsnis cia 25 px, todel spaudziamas plotas praplecemas
   tiksliai iki vieno tinklelio zingsnio: isvaizda nesikeicia, o i gretimas eilutes
   neuzlipama (jos vis tiek nera taikiniai). 44 px cia netiktu - apremtu kaimynines
   eilutes is abieju pusiu. */
.about-card dd a{position:relative}
.about-card dd a::before{content:"";position:absolute;left:-8px;right:-8px;top:50%;
  transform:translateY(-50%);height:25px}

/* --- SKAITOMUMAS ANT TINKLELIO (2026-09-15) ---
   Tinklelio fonas nėra vienspalvis: 5px ir 25px linijų sankirtoje popierius patamsėja
   iki #D1CEC5, tad --ink-soft #575D65 ten nukrisdavo iki 4.22 (AA riba 4.5).
   Lighthouse/axe to nepagauna — jie skaito background-color, ne background-image.
   Sprendimas: antrinis tekstas patamsintas + skaitomas tekstas perkeltas ant plokštelių. */
@media(max-width:560px){
  .art{margin-left:-18px;margin-right:-18px;max-width:none;
       padding:28px 18px 26px;border-left:0;border-right:0}
}

/* ===== STRAIPSNIS ANT PAGRINDO LINIJU TINKLELIO - zingsnis 25 px (2026-09-16) =====
   Principas: visi eiluciu auksciai ir tarpai - 25 px kartotiniai.
   padding-top:c + margin-bottom:-c = pataisa, kuri nuleidzia elemento pagrindo
   linija ant tinklelio linijos NEPAKEICIANT srauto (kitas elementas nepasislenka).
   c reiksmes ismatuotos narsykleje kiekvienam dydzio/eilutes deriniui.
   ATSTATYMAS: istrinti visa si bloka iki failo galo. */

.art{margin-top:25px;padding:25px 46px;
  background-color:var(--paper);
  background-image:
    linear-gradient(to right, rgba(140,135,121,.13) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(140,135,121,.13) 1px, transparent 1px),
    linear-gradient(to right, rgba(138,133,120,.22) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(138,133,120,.22) 1px, transparent 1px);
  background-size:5px 5px, 5px 5px, 25px 25px, 25px 25px;
  background-position:0 0}

/* .mark yra inline-block su vidiniu tarpu bruksniui - jis isputė eilute 100 -> 118,47 px.
   Neigiama apatine parasté atima ta tarpa is EILUTES auksto, bet palieka pati tarpa,
   tad bruksnys lieka toje pacioje vietoje. */
.art h1 .mark{margin-bottom:-.21em}
/* Bruksnys stovi LYGIAI 25 px zemiau pagrindo linijos, t. y. ant KITOS tinklelio
   linijos. Kiekvienam dydziui savas poslinkis, nes .mark dezutes apacia skiriasi. */
.art h1 .mark::after,.art h1 .mark::before{bottom:14.47px}
.art .tag{line-height:25px;margin:0;padding-top:9px;margin-bottom:-9px}
.art h1{font-size:88px;line-height:100px;margin-top:25px;padding-top:21px;margin-bottom:-21px}
.art-lead{font-size:19px;line-height:25px;margin-top:25px;padding-top:6px;margin-bottom:-6px}
.art h2{font-size:33px;line-height:50px;margin:50px 0 0;padding-top:14px;margin-bottom:-14px}
.art h3{font-size:18.5px;line-height:25px;margin:25px 0 0;padding-top:7px;margin-bottom:-7px}
.art p{font-size:16.5px;line-height:25px;margin-top:25px;padding-top:7px;margin-bottom:-7px}

.art ul,.art ol{margin-top:25px;gap:0}
.art li{font-size:16px;line-height:25px;padding-top:7px;margin-bottom:-7px}
/* Bruksnys = zodziu zenklas, todel sodinamas ant paties srifto bruksnio aukscio
   (Archivo hyphen vidurys = 0,268 em virs pagrindo linijos; 16 px -> 4,27 px).
   Anksciau kabojo 8,58 px virs linijos - virs raidziu, atskirai nuo zodziu. */
.art li::before{top:20.48px}
.art ol li::before{top:calc(.28em + 5px)}   /* numeris sedi ant to paties pagrindo kaip zodziai */

.art-head{margin:50px 0 0;padding-top:9px;margin-bottom:-9px}
.art-head .num{line-height:25px}

/* lentele: .tw remelis virsuje 1 + antrastes eilute 49 + eilutes 50n - 1 + antraste 50 + remelis 1
   = 100 + 50n, t. y. 25 px kartotinis. Papildomos kompensacijos nereikia. */
.tw{margin-top:25px}
.ptab th,.ptab td{line-height:25px;vertical-align:top}
.ptab td{padding:8px 14px 16px}
.ptab td.sum{padding-top:7px;padding-bottom:17px}
.ptab thead th{padding:8px 14px 15px}  /* -1 px: .tw remelis virsuje jau nustume 1 px */
.ptab caption{padding:9px 14px 15px;line-height:25px}

.pull{margin-top:25px;padding:0 0 0 22px}
.pull p{margin-top:0;font-size:19px;line-height:25px;padding-top:6px;margin-bottom:-6px}

.src{margin-top:25px;line-height:25px;padding-top:8px;margin-bottom:-8px}
.art-cta{margin-top:50px;padding-top:24px}
.art-cta .hero-actions{margin-top:45px;margin-bottom:-20px}

@media(max-width:900px){
  .art h1{font-size:56px;line-height:75px;padding-top:19px;margin-bottom:-19px}
  .art h1 .mark::after,.art h1 .mark::before{bottom:5.75px}
  .art h2{font-size:26px;padding-top:16px;margin-bottom:-16px}
}
@media(max-width:560px){
  .art{padding:25px 18px}
  .art h1{font-size:42px;line-height:50px;padding-top:11px;margin-bottom:-11px}
  .art h1 .mark::after,.art h1 .mark::before{bottom:-5.19px}
}

/* ===== PAGRINDINIS PUSLAPIS ANT PAGRINDO LINIJU TINKLELIO - zingsnis 25 px (2026-09-16) =====
   Tas pats principas kaip straipsnyje: eiluciu auksciai ir tarpai - 25 px kartotiniai,
   kiekvienas elementas gauna padding-top:c + margin-bottom:-c.
   Konteineriams su 1 px remeliais - neigiama apatine paraste, nes remelis prideda auksto.
   Fiksuoto auksto komponentams (zymos) - slenkamas visas konteineris, kad ju baze pataikytu.
   ATSTATYMAS: istrinti si bloka. */

/* --- antraste: 74 + 1 px remelis = 75 --- */
.hdr{height:74px;align-items:flex-start}
.hdr-right{align-items:flex-start}
nav{align-items:flex-start}
.logo{line-height:25px;margin-top:31px}
nav a{line-height:25px;margin-top:33px}
.hdr-tel{line-height:25px;margin-top:33px}
.hdr-cta{line-height:25px;margin-top:25px;padding:8px 15px 9px}

/* --- bendri smulkus elementai --- */
.tag{display:block;line-height:25px;padding-top:9px;margin-bottom:-9px}
.num{display:block;line-height:25px;padding-top:9px;margin-bottom:-9px}
.dim{min-height:25px}
/* Bruksnys buvo 8,5 px virs raidziu vidurio - nekirto zodziu, todel kabojo atskirai.
   Nuleidziamas TIK jis; zodziai lieka ten, kur buvo, ant savo pagrindo linijos.
   Pats bruksnys nera tekstas, todel 25 px liniuote jam negalioja - jis priklauso zodziams. */
.dim .dim-line{top:8.5px}
.dim-gap{margin-top:50px}

/* --- hero --- */
.hero{padding:75px 0 50px}
.tag-lead{margin-bottom:-9px}  /* nepanaikinti .tag pataisos */
h1{line-height:100px;margin-top:25px}
.hero h1{font-size:88px;padding-top:21px;margin-bottom:-21px}
h1 .mark{margin-bottom:-.21em}
.hero h1 .mark::after,.hero h1 .mark::before{bottom:14.47px}
.hero-sub{line-height:25px;margin-top:25px;padding-top:7px;margin-bottom:-7px}
.spec dl{line-height:25px;gap:0 14px}
.spec dt,.spec dd{padding-top:8px;margin-bottom:-8px}
.hero-actions{margin-top:45px;margin-bottom:-20px}

/* mygtukai: auksts 50 px, kad srautas nenuslystu */
.btn{line-height:25px;padding:12px 26px 11px}

/* --- sekcijos --- */
section{padding:50px 0}
.sec-head{padding:13px 0 12px;margin-bottom:24px}
/* h2 negali kisti tolygiai (clamp) - pataisa kiekvienam dydziui sava,
   tad fiksuojam pakopomis: 36 / 32 / 28 px. Pataisa deda .sec-head,
   nes ten .num ir h2 lygiuojasi per pagrindo linija. */
h2{font-size:36px;line-height:50px}
.sec-head .num{padding-top:0;margin-bottom:0}

/* --- paslaugos --- */
.svc{margin-bottom:-1px}
.svc article{padding:24px 28px 25px}
.svc h3{line-height:25px;margin:25px 0 -6px;padding-top:6px}
.svc p{line-height:25px;margin-top:25px;padding-top:8px;margin-bottom:-8px}
/* zymos: fiksuotas 25 px auksts, todel slenkam visa sarasa i +9, o po jo grazinam */
.svc ul{margin-top:34px;margin-bottom:-9px;gap:0 6px}
.svc li{height:25px;line-height:25px;padding:0 8px;border:0;
  box-shadow:inset 0 0 0 1px var(--line-strong)}

/* --- kainos --- */
/* gap:1px kaupiasi su kiekviena eilute (n-1 px). Skiriamasias linijas piesiam
   box-shadow, kuris auksto NEPRIDEDA, o tarpa nuliuojam. */
.price{gap:0 1px;margin-bottom:-2px}
.price article{padding:24px 26px 26px}
.price h3{line-height:25px;margin:25px 0 -6px;padding-top:6px}
.price .from{line-height:25px;padding-top:9px;margin-bottom:-9px}
/* .sum yra inline-block su vidiniu tarpu bruksniui (.16em = 5,44 px) - jis isputė eilute */
.price .sum{display:block;line-height:50px;padding-top:14px;margin:0 0 -19.44px}
.price p{line-height:25px;margin-top:25px;padding-top:8px;margin-bottom:-8px}
.price ul{margin-top:25px;gap:0;border-top:1px solid var(--line);padding-top:24px}
.price li{line-height:25px;padding-top:8px;margin-bottom:-8px}
.price li::before{top:20.77px}   /* 14 px -> bruksnio vidurys 3,73 px virs pagrindo linijos */
.price-note{line-height:25px;margin-top:25px;padding-top:8px;margin-bottom:-8px}

/* --- kitokia apimtis --- */
.price-open{margin-top:25px;padding:24px 28px 24px}
.price-open h3{line-height:25px;margin:25px 0 -6px;padding-top:6px}
.price-open p{line-height:25px;margin-top:25px;padding-top:8px;margin-bottom:-8px}
.price-open ul{margin-top:25px;gap:0 26px}
.price-open li{line-height:25px;padding-top:8px;margin-bottom:-8px}
.price-open li::before{top:20.77px}

/* --- eiga --- */
.flow{gap:0 1px;margin-bottom:-2px}
.flow div{padding:24px 17px 26px}
.flow h3{line-height:25px;margin:25px 0 -8px;padding-top:8px}
.flow p{line-height:25px;margin-top:25px;padding-top:8px;margin-bottom:-8px}

/* --- darbai --- */
.work{margin-bottom:23px}
.work:last-of-type{margin-bottom:-2px}
.work-vis{min-height:300px}
.work-body{padding:24px 28px 26px}
.work-body h3{line-height:25px;margin:25px 0 -6px;padding-top:6px}
.work-body p{line-height:25px;margin-top:25px;padding-top:8px;margin-bottom:4.5px}  /* 4,5 = -8 + 12,5: linija puse zingsnio zemiau teksto */
/* linija nusileidzia PUSE zingsnio (12,5 px) zemiau teksto; likusi puse ideta i
   dl padding-top, kad duomenu eilutes liktu ant 25 px tinklelio (24 + 12,5) */
.work-body dl{line-height:25px;gap:0 14px;border-top:1px solid var(--line);
  padding-top:36.5px;margin-bottom:25px}
.work-body dt,.work-body dd{padding-top:8px;margin-bottom:-8px}
.work-body a{display:block;width:fit-content;line-height:25px;padding-top:8px;
  margin-bottom:-8px;padding-bottom:0;border-bottom:0;box-shadow:0 1px 0 var(--ink)}

/* --- apie --- */
.about{padding:24px 34px 24px}
.about p{line-height:25px;margin:25px 0 -7px;padding-top:7px}
.about p:first-of-type{margin-top:0}
.about-card dl{line-height:25px;gap:0 14px}
.about-card dt,.about-card dd{padding-top:9px;margin-bottom:-9px}

/* --- forma --- */
#uzklausa{margin-top:25px}
.form-grid{gap:0 16px}
/* laukas nusileidzia PUSE zingsnio (12,5 px) zemiau etiketes; likusi puse ideta
   i .field apacia, kad kito lauko virsus vel sedetu ant 25 px tinklelio */
.field{gap:0;margin-top:25px;padding-bottom:12.5px}
.field label{line-height:25px;padding-top:9px;margin-bottom:3.5px}  /* 3,5 = -9 + 12,5 */
.field input,.field select{line-height:25px;padding:11px 13px;height:50px}
.field textarea{line-height:25px;padding:11px 13px;min-height:100px}
.form-actions{margin-top:45px;margin-bottom:-20px;gap:18px}
.form-actions button{line-height:25px;padding:12px 30px 11px}
.form-alt{line-height:25px;margin-top:25px;padding-top:8px;margin-bottom:-8px}

/* --- kontaktai --- */
/* align-items:center centruoja stulpelius -> ju virsus nebe ant linijos */
.contact{padding:24px 40px 24px;gap:0 30px;align-items:start}
.contact h2{margin:0 0 -13px;padding-top:13px}
.contact p{line-height:25px;margin-top:25px;margin-bottom:-7px;padding-top:7px}
.contact-links{gap:0}
.contact-links .btn{margin-top:20px;margin-bottom:-20px}
/* pabraukimas per box-shadow: jis neprideda auksto, tad langelis lieka 25 px */
.contact-mail{line-height:25px;margin-top:33px;margin-bottom:-8px;padding-bottom:0;border-bottom:0;
  box-shadow:0 1px 0 var(--line-strong)}
.contact-mail:hover{box-shadow:0 1px 0 var(--ink)}

/* --- poraste: 1 remelis + 24 + 25 + 25 = 75 --- */
footer{padding:24px 0 25px;margin-top:25px}
.ftr{line-height:25px;gap:0 16px}
.ftr span{padding-top:9px;margin-bottom:-9px}

/* --- siauresni plociai: seni tarpai nera 25 px kartotiniai --- */
@media(max-width:900px){
  .hero-grid{gap:25px}
  .spec{padding-top:24px}
  h1{line-height:75px}
  .hero h1{font-size:56px;padding-top:19px;margin-bottom:-19px}
  .hero h1 .mark::after,.hero h1 .mark::before{bottom:5.75px}
}
@media(max-width:860px){
  .about{gap:25px;padding:24px 26px 24px}
  .about-card{padding-top:24px}
}
@media(max-width:820px){
  .work-vis{min-height:225px}
}

/* Nuo 1000 px portfolio kortele lauziama i virsu/apacia. Siaurame dvieju stulpeliu
   isdestyme nuotraukos dezute tapdavo auksta ir siaura (455x500), o nuotrauka gulscia
   (1,80) - todel remelio viduje likdavo ~114 px tuscia juosta.
   Blokas stovi PO 820 px taisykle, kad perrasytu jos min-height. */
@media(max-width:1000px){
  .work{grid-template-columns:1fr;container-type:inline-size}
  .work-vis{min-height:0;padding:0;
    border-right:0;border-bottom:1px solid var(--line-strong)}
  /* Grynas aspect-ratio duotu bet kokio trupmeninio aukscio deze (pvz. 472,5 px) ir
     numestu VISKA po portfolio nuo 25 px liniuotes. Todel aukstis apvalinamas AUKSTYN
     iki 25 px zingsnio: tinklelis islieka, o tuscia juosta lieka ne didesne kaip 12,5 px
     (buvo 114). `round()` nepalaikancioje narsykleje si eilute ignoruojama, deze lieka
     `auto` aukscio, o nuotrauka issitempia savo tikru santykiu - irgi tvarkoje.
     ⚠ `aspect-ratio` cia NETINKA: kartu su apibreztu auksciu Chromium is jo skaiciuoja
     PLOTI (550 x 1,80 = 989 px) ir deze isleipa uz kortele - atsiranda horizontalus
     slinkimas. Todel tik `height`. */
  .work-vis{height:round(up, calc((100cqw - 2px) * 667 / 1200), 25px)}
  .work-vis img{border:0}
}
@media(max-width:760px){
  .contact{padding:24px 28px 24px}
}
@media(max-width:560px){
  .hero{padding:50px 0 25px}
  h1{line-height:50px}
  .hero h1{font-size:42px;padding-top:11px;margin-bottom:-11px}
  .hero h1 .mark::after,.hero h1 .mark::before{bottom:-5.19px}
  .svc article{padding:24px 22px 25px}
  .work-body{padding:24px 22px 26px}
  .contact{padding:24px 24px 24px}
  .work-body dl{gap:0}
  .work-body dt{margin-top:0;padding-top:8px;margin-bottom:-8px}
  .ftr{gap:0}
  .hero-actions .btn{padding:12px 16px 11px}
}

/* RIBOS, ne tik max-width: sis blokas faile stovi PO siauresniais, tad be apatines
   ribos jis juos perrasytu ir mobiliajame antraste butu 72 px per 4 eilutes. */
@media(max-width:1200px) and (min-width:901px){
  h1{line-height:75px}
  .hero h1{font-size:72px;padding-top:14px;margin-bottom:-14px}
  .hero h1 .mark::after,.hero h1 .mark::before{bottom:4.12px}
}

/* Tinkleliu konteineriu 1 px tarpai: kompensacija priklauso nuo EILUCIU skaiciaus,
   o tas keiciasi su stulpeliu skaiciumi, tad kiekvienam plociui sava. */
@media(max-width:900px){ .flow div{box-shadow:inset 0 -1px 0 var(--line-strong)} }
@media(max-width:860px){ .price article{box-shadow:inset 0 -1px 0 var(--line-strong)} }

@media(max-width:1090px){
  h2{font-size:32px}
  .sec-head{padding-top:15px;padding-bottom:10px}
  .contact h2{padding-top:15px;margin-bottom:-15px}
}
@media(max-width:760px){
  h2{font-size:28px}
  .sec-head{padding-top:16px;padding-bottom:9px}
  .contact h2{padding-top:16px;margin-bottom:-16px}
}
@media(max-width:560px){
  h2{font-size:25px}
  .sec-head{padding-top:17px;padding-bottom:8px}
  .contact h2{padding-top:17px;margin-bottom:-17px}
}

/* --- straipsnis: jo savas remelis (1 px) pastume vidini tinkleli 1 px nuo puslapio.
       Sulygiuojam abu: virsutinis tarpas 24 + fono poslinkis 24. --- */
.art{padding-top:24px;padding-bottom:24px;background-position:0 24px}
.art-head .num{padding-top:0;margin-bottom:0}

/* --- 404 --- */
.err404{padding:100px 0}
.err404 h1{font-size:72px;line-height:75px;padding-top:14px;margin-bottom:-14px;margin-top:25px}
.err404 h1 .mark::after,.err404 h1 .mark::before{bottom:4.12px}
.err404 p{line-height:25px;margin-top:25px;padding-top:7px;margin-bottom:-7px}
.err404-links{margin-top:45px;margin-bottom:-20px}
.err404 .dim{margin-top:50px}
@media(max-width:560px){
  .err404{padding:50px 0}
  .err404 h1{font-size:42px;line-height:50px;padding-top:11px;margin-bottom:-11px}
  .err404 h1 .mark::after,.err404 h1 .mark::before{bottom:-5.19px}
}

/* ===== MOBILUS MENIU + SIAURESNI TARPAI (2026-09-19) =====
   ATSTATYMAS: istrinti si bloka (ir grazinti trintas eilutes, zr. zemiau). */

/* --- 1. Tarpai tarp sekciju ---
   Buvo `section{padding:50px 0}` VISUOSE plociuose: 50 apacioje + 50 virsuje = 100 px
   tuscio oro kiekvienoje sandauroje, plius `.sec-head` padding (13-17) ir pusvedis virs
   raidziu (~17) - matomas tarpas 116-141 px, t. y. **5 tinklelio langeliai**, vienodai
   ir 1440 px ekrane, ir 390 px telefone.
   Sena istorija: iki 2026-09-16 mobiliajame galiojo `section{padding:42px 0}`; perstatant
   ant liniuotes 42 buvo apvalinta I VIRSU iki 50, ne zemyn iki 25 - todel telefonas gavo
   stalinio ekrano ora. Abi mirusios eilutes (`42px 0` ir antra `50px 0` po 560 px) istrintos.
   Dabar oro tarp sekciju nera visai: tarpa duoda tik pati antrastes eilute
   (`.sec-head` padding + pusvedis) - matomas tarpas 41-42 px staliniame, 49-50 px telefone,
   vienodas visose sandaurose. Hero apatine parastei paliktas 1 zingsnis, kad antraste
   neprisiliestu prie "POKALBIS ... PALEIDIMAS" juostos.
   Liniuote sveika: -100 px sekcijai ir -25 px hero - abu 25 px kartotiniai. */
section{padding:0}
/* Puslapio virsune: nuo juostos iki pirmos eilutes buvo 75 px (3 langeliai)
   staliniame ir 50 px (2) telefone. Paliekam 1 langeli visur. */
.hero{padding:25px 0}

/* --- 3. Antraste sedi ant savo linijos ---
   `.sec-head` blokas buvo 100 px (4 langeliai): 13 virs + 50 antraste + 12 po + 1 linija
   + 24 iki turinio. Tarp raidziu ir linijos likdavo langelis oro. Dabar linija eina
   is karto po antrastes deze, o visas blokas - 75 px (3 langeliai).
   `margin-bottom` kiekvienoje pakopoje = 74 - padding-top - 50, kad suma liktu 75. */
.sec-head{padding-bottom:0;margin-bottom:11px}
@media(max-width:1090px){.sec-head{margin-bottom:9px}}
@media(max-width:760px){.sec-head{margin-bottom:8px}}
@media(max-width:560px){.sec-head{margin-bottom:7px}}

/* --- 2. Mobilus meniu ---
   Iki siol `@media(max-width:820px){nav{display:none}}` meniu tiesiog paslepdavo,
   o pakaitalo NEBUVO: telefone antrasteje likdavo tik logotipas ir telefono numeris,
   o i "Kainos" ar "Darbai" buvo galima patekti tik slenkant visa 10 500 px puslapi.
   Sprendimas be JS - <details>/<summary>, tad uzdara CSP (`style-src 'self'`) netrukdo.
   Skydelis pozicionuojamas absoliuciai pries `header` (jis `sticky`, taigi jau
   pozicionuotas), todel ATSIDARES PUSLAPIO AUKSCIO NEKEICIA - 25 px liniuote saugi. */
.meniu{display:none}
@media(max-width:820px){.meniu{display:block}}
.meniu>summary{list-style:none;cursor:pointer;width:44px;height:44px;margin-top:15px;
  position:relative;display:flex;align-items:center;justify-content:center}
.meniu>summary::-webkit-details-marker{display:none}
.meniu>summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
/* trys plaukelio storio linijos - tas pats svoris kaip nav a::after (1,5 px) */
.meniu-lin,.meniu-lin::before,.meniu-lin::after{display:block;width:22px;height:1.5px;
  background:var(--ink);transition:transform .18s ease,background-color .18s ease}
.meniu-lin::before,.meniu-lin::after{content:"";position:absolute;left:11px}
.meniu-lin::before{top:14.75px}
.meniu-lin::after{top:27.75px}
.meniu[open] .meniu-lin{background:transparent}
.meniu[open] .meniu-lin::before{transform:translateY(6.5px) rotate(45deg)}
.meniu[open] .meniu-lin::after{transform:translateY(-6.5px) rotate(-45deg)}
/* skydelis: eilute 25 px + 12 virs + 13 apac = 50 px, taikinys su kaupu virs 24 px ribos */
/* Matomuma valdom PATYS, o ne palikdami narsyklei: `nav{display:flex}` (eilute 66)
   yra stipresnis uz UA taisykle, kuri slepia <details> turini, o absoliuciai
   pozicionuotas skydelis dar ir issprusta is `content-visibility` suvarzymo -
   uzdarytas meniu buvo matomas ekrane. */
.meniu-sk{display:none;position:absolute;left:0;right:0;top:calc(100% + 1px);
  background:var(--paper);border-bottom:1px solid var(--line-strong);padding:0 24px 25px}
.meniu[open] .meniu-sk{display:block}
/* margin-top:0 butinas: tinklelio blokas duoda `nav a{margin-top:33px}` stalinei
   juostai, ir be atstatymo skydelis isaugdavo 441 px vietoj 275. */
.meniu-sk a{display:block;margin-top:0;line-height:25px;padding:12px 0 13px;font-size:16px;
  font-weight:500;color:var(--ink);text-decoration:none;
  box-shadow:inset 0 -1px 0 var(--line-fine)}
.meniu-sk a:last-child{box-shadow:none}
@media(max-width:560px){.meniu-sk{padding:0 18px 25px}}
@media(prefers-reduced-motion:reduce){.meniu-lin,.meniu-lin::before,.meniu-lin::after{transition:none}}

/* --- 4. Hero "Specifikacija" blokas nuleistas per 3 zingsnius (2026-09-19) ---
   Blokas prasidedavo ties 100 px - toje pacioje eiluteje kaip uzrasas
   "INTERNETO SVETAINIU KURIMAS - KAUNAS", tad smulkus mono sarasas ir puslapio
   antrastele dalijosi ta pacia pirma eilute, o vertikali linija pakibdavo salia
   uzraso, su kuriuo neturi nieko bendro.
   +75 px: blokas 175-350, antraste 150-371 - linija prasideda ties pirma antrastes
   eilute ir baigiasi ties antros apacia, t. y. blokas atsiseda antrastes viduje.
   Zemiau 900 px stulpeliai susideda vienas po kitu, tad ten postumio nereikia.
   Maketui saugu: blokas ir po postumio trumpesnis uz kaire skilti, tad hero aukstis
   nesikeicia (patikrinta 901 / 950 / 1000 / 1090 / 1210 / 1440 / 1600 px). */
@media(min-width:901px){.spec{margin-top:25px}}

/* ===== 5. HERO UZRASAS -> JUOSTA PER VISA PLOTI (2026-09-19) =====
   Uzrasas ("Interneto svetainiu kurimas - Kaunas") kabojo vienas kairiame stulpelyje,
   o desineje salia jo likdavo tuscia juosta. Konkurentu matavimas (7 svetaines, 09-19):
   kas turi sukio antraste, tas turi ir uzrasa; istrinti negalima, nes tai VIENINTELE
   vieta virs linijos, kur pasakyta, ka darom ir kur.
   Sprendimas: uzrasas iskeliamas is .hero-grid i <div class="dim dim-lead"> VIRS jo -
   ta pati plaukelines linijos juosta, kuri jau stovi hero apacioje ("Pokalbis ---
   Paleidimas"). Hero gauna vienoda remeli is virsaus ir apacios.
   Liniuotei saugu: juosta 25 px, uz tai h1 netenka savo 25 px virsutines parastes,
   o kaire skiltis (auksciausia) trumpeja 50 px -> hero 550 -> 525 px. */
.hero h1{margin-top:0}
/* .spec postumis 75 -> 25 px: hero-grid nusileido 25 px (juosta), o h1 neteko 25 px
   parastes, tad iki antrastes dezes virsaus liko tik vienas langelis. Santykis
   "blokas prasideda ties pirma antrastes eilute" isliko toks pat kaip C variante. */
/* Po 360 px (Kauno puslapio uzrasas ilgiausias) linijai lieka vos 2 px - atrodo kaip
   atsitiktinis breksnys. Tokiame plotyje juostoje paliekam tik zodzius. */
@media(max-width:359px){.dim-lead .dim-line{display:none}}

/* ===== 6. EIGOS SEKCIJA: MAZIAU TUSCIOS VIETOS (2026-09-19) =====
   Ismatuota: telefone vienas .flow langelis 175 px, o teksto jame 75 px (trys
   eilutes po 25). Likusieji 100 px (57 %) - oras. Formule: 150 + 25 x sakinio
   eilutes. Penki langeliai su antraste = 952 px, t.y. daugiau nei visas telefono
   ekranas (~844) del 15 trumpu eiluciu. Plius sakinys uzima ~250 px is 352 px
   plocio - desine puse tuscia. Atrodo kaip penkios pustuscios dezes viena ant kitos.

   Kompiuteryje beda tik viena: numeris kabo per 25 px nuo savo pavadinimo, nors
   jie priklauso vienas kitam. Uztenka juos suglausti (200 -> 175 px langelis).   */
.flow h3{margin-top:0}

/* Telefone tarpu mazinimo neuztenka - keiciama pati eilutes sudetis: numeris
   nusileidzia i kaire paraste, pavadinimas atsistoja salia jo toje pacioje
   linijoje, sakinys po pavadinimu. Ta pati brezinio logika, kuri jau veikia
   visoje svetaineje - numeris gyvena parasteje, ne virs teksto.
   Langelis 175 -> 100 px (24 + 25 pavadinimas + 25 sakinys + 26), sekcija
   952 -> 577 px (-39 %). Numeris ir pavadinimas lieka ant tos pacios linijos:
   abiem line-height 25, o .num padding-top 9 vs h3 padding-top 8 sutampa su
   sriftu pakilimu - patikrinta is arti ties 390/360/320.                        */
@media(max-width:520px){
  .flow div{display:grid;grid-template-columns:34px 1fr}
  .flow .num{grid-column:1;grid-row:1}
  .flow h3 {grid-column:2;grid-row:1}
  .flow p  {grid-column:2;grid-row:2;margin-top:0}
}
/* Ties 320 px numerio skiltis siaurinama: su 34 px vienam sakiniui ("Struktura ir
   kryptis pries rasant koda") pritrukdavo ploto, jis luzdavo i dvi eilutes ir tas
   vienas langelis tapdavo 125 px, kai kiti - 100. Su 28 px visi penki lieka 100.  */
@media(max-width:359px){.flow div{grid-template-columns:28px 1fr}}

/* ===== 7. ZYMU DEZUTES IR VIENISI ZODZIAI (2026-09-19) =====

   7.1. Paslaugu zymos telefone lipdavo viena ant kitos. Priezastis: eiluciu
   zingsnis juostoje 25 px, o pati dezute irgi 25 px auksto - apatine pirmos
   eilutes krastine ir virsutine antros atsidurdavo toje pacioje vietoje, tad
   dvi dezutes susilieja i viena lentele. Matesi ties 390/360 px pirmoje
   korteleje ir ties 320 px dar ir antroje.

   row-gap prideti NEGALIMA: dvieju eiluciu juosta taptu 56 px vietoj 50 ir visa
   kortele nuslystu nuo 25 px liniuotes. Todel zingsnis lieka 25 px, o suploneja
   pats piesamas remelis - jis nupiesamas itrauktas 3 px is virsaus ir apacios.
   Tarpas tarp eiluciu tampa 6 px, t.y. lygiai toks pat kaip tarpas tarp zymu
   vienoje eiluteje (.svc ul{gap:0 6px}), tad juosta kvepuoja vienodai i abi
   puses. Ne vienas aukstis nepasikeicia - liecia tik piesini.                 */
.svc li{box-shadow:none;position:relative}
.svc li::before{content:"";position:absolute;inset:3px 0;
  box-shadow:inset 0 0 0 1px var(--line-strong)}

/* 7.2. Eigos sekcijoje i antra eilute nusinesdavo vienas zodis ("...tikslas. Be
   / zargono."). Stulpelis staliniame yra ~191 px, o sakinys ~240 px, tad luzti
   privalo; beda buvo KUR - narsykle prikimsdavo pirma eilute ir i antra numesdavo
   likuti. Ties 1440 px taip atsitikdavo 4 sakiniams is 5.

   text-wrap:balance nekeicia nei teksto, nei eiluciu skaiciaus - tik perskirsto
   zodzius, kad eilutes butu panasaus ilgio. Todel NE VIENAS aukstis nepasikeicia
   (patikrinta 16 plociu). Vienisu zodziu: 1440 px 4->0, 1090 px 3->0, 521 px 3->0.
   Telefone ju ir taip nebuvo - ten sakiniai telpa i viena eilute.

   Lieka vienas ties 901 px (siauriausias, kur dar rodomi 5 stulpeliai): ten
   sakinys luzta i tris eilutes ir subalansuoti nera kaip.

   Senesnes narsykles savybes nepaiso ir rodo kaip anksciau - nieko nesugadina. */
.flow p{text-wrap:balance}

/* ===== DIZAINO SMULKMENOS (2026-09-19) =====
   ATSTATYMAS: istrinti si bloka. Kopija - backup/2026-09-19-dizaino-smulkmenos/. */

/* --- 8. Portfolio: remelis apkabina NUOTRAUKA, ne deze ---
   .work-vis aukstis ateina is grid eilutes (gretimo teksto stulpelio), o ne is
   nuotraukos santykio. Su object-fit:contain nuotrauka susimazina ir centruojasi,
   bet border:1px lieka piesiamas ant DEZES krastu - linija kabodavo atskirai nuo
   vaizdo. Ismatuota: oras 47 / 60 / 72 px ties 1440 px, iki 106 px ties 1040 px.
   Tinkleliui neutralu: .work-vis aukstis nekinta (ji lemia grid eilute).
   Zemiau 1001 px negalioja - ten jau veikia height:round(up, ..., 25px). */
@media(min-width:1001px){
  .work-vis{display:flex;align-items:center}
  .work-vis img{height:auto}
}

/* --- 9. 404: virsus 6 -> 4 langeliai ---
   Buvo 150 px staliniame ir 100 px telefone: puslapis nesutapo nei su /privatumas,
   nei su straipsniu (abu 100 px), nei pats su savimi. Liecia TIK virsu ir TIK
   >560 px, kad nepajudetu mobilaus apacia (ten .err404{padding:50px 0}). */
@media(min-width:561px){ .err404{padding-top:50px} }

/* --- 10. Vienisi zodziai ir kitose pastraipose ---
   text-wrap:balance veike tik .flow p (zr. 7 bloka). Vienisu liko .svc p ir
   .work-body p: ties 820 px keturi, ties 390 px du, ties 1440/1200 px ir
   920/901 px po viena. Eiluciu skaiciaus nekeicia -> aukstis tas pats ->
   tinkleliui saugu. Senesnes narsykles savybes nepaiso ir rodo kaip anksciau. */
.svc p,.work-body p{text-wrap:balance}

/* ===== DIZAINO AUDITO PATAISOS (2026-09-19b) =====
   ATSTATYMAS: istrinti si bloka. Kopija - backup/2026-09-19b-dizaino-auditas/. */

/* --- 11. Kadravimo kampai apkabina NUOTRAUKA, ne deze ---
   Po 8 pataisos remelis jau sedi ant nuotraukos, bet melyni kampai liko prisegti
   prie .work-vis krastu, o nuotrauka uzima tik 62-69 % dezes aukscio - kampai
   kadravo ora (55-80 px tarpas). Sprendimas be HTML keitimo: visi trys vaikai
   (img + 2 kampai) i TA PACIA grid ceje, tad cele igyja nuotraukos dydi, o
   align-content:center ja centruoja. Kampai lieka 8 px uz nuotraukos kampu -
   toks pat santykis kaip anksciau (padding 22 - top 14 = 8).
   Tinkleliui neutralu: .work-vis aukstis nekinta. */
@media(min-width:1001px){
  .work-vis{display:grid;align-content:center}
  .work-vis > *{grid-area:1 / 1}
  .work-vis img{width:100%;height:auto}
  .crop-tl,.crop-br{position:static}
  .crop-tl{justify-self:start;align-self:start;margin:-8px 0 0 -8px}
  .crop-br{justify-self:end;align-self:end;margin:0 -8px -8px 0}
}

/* --- 12. Antrasciu zodziu tarpas ---
   h2 turi letter-spacing:-.025em, h3 -.015em. Neigiamas trekingas traukia ne tik
   raides, bet ir tarpa tarp zodziu, todel „Kas dirba" skaitesi beveik kaip vienas
   zodis. Grazinam tarpa atgal. h1 NELIECIAM - jis lauzosi i 2 eilutes ir bet koks
   plocio pokytis gali pakeisti lauzyma bei auksti. */
h2,h3{word-spacing:.06em}

/* --- 13. Formos `select` piesiamas pats ---
   Buvo appearance:auto, t. y. rodykle pieste operacine sistema - vienintelis
   elementas formoje, atrodes kaip Windows, o ne kaip brezinys. Rodykle - paprastas
   briaunos bruksnys, ta pati var(--ink-soft) spalva kaip laukų remeliai.
   CSP: `img-src 'self' data:` leidzia data: fona. */
.field select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%238A8578' stroke-width='1.3'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:38px;
}
.field select:focus{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%231A1A1A' stroke-width='1.3'/%3E%3C/svg%3E");
}

/* --- 14. Faktu lentele telefone atgauna poras ---
   Nuo 560 px zemyn `dl` buvo viena kolona, tad DT ir DD ejo atskiromis eilutemis
   vienodu 25 px zingsniu: 12 eiluciu is eiles („Apimtis / 15 puslapiu / Integracija
   / Telegram botas...") be jokio zenklo, kur baigiasi viena pora. Grazinam dvi
   kolonas - etikete kaireje, reiksme desineje, kaip staliniame.
   Ismatuota: ties 390 px visos poros telpa i viena 25 px eilute (lentele 300 -> 150 px);
   siauriau ilgesnes luzta i dvi eilutes, t. y. i tuos pacius 50 px, kiek uzimdavo
   ir anksciau - blogiau netampa niekur. 25 px liniuotei saugu: eilutes zingsnis
   nekinta, keiciasi tik ju skaicius. */
@media(max-width:560px){
  .work-body dl{grid-template-columns:auto 1fr;gap:0 14px}
  .work-body dt{margin-top:0}
  .work-body dd{text-align:right}
}

/* --- 15. Porastes eilutes telefone ---
   Pridejus info@braizas.lt abi porastes eilutes eme luzti palikdamos po viena
   zodi antroje eiluteje („politika", „Kaunas"). Tas pats sprendimas kaip 7 ir 10
   blokuose: balance perskirsto zodzius, eiluciu skaiciaus nekeicia -> aukstis
   tas pats -> 25 px liniuotei saugu. */
.ftr span{text-wrap:balance}

/* --- 16. Vidurine kainu pakopa gauna zyma ---
   Tekste buvo parasyta „Dazniausias pasirinkimas", bet visos trys korteles turejo
   identiska remeli rgb(20,22,26) ir fona rgb(242,240,234) - zodis pasakytas, akis
   jo nemato, o kainu blokas kaip tik ta vieta, kur zmogui reikia orientyro.
   Zyma daroma TUO PACIU modeliu, kuris jau yra toje pacioje sekcijoje
   (`02.4 · Kitokia apimtis`) - nieko naujo neisradinejant. Akcentine spalva tik
   siai vienai zymai, kad ji nebutu tokia pat tyli kaip visos kitos.
   Kartojimas is kortelės teksto isimtas, kad tas pats nebutu pasakyta du kartus.
   Aukscio nekeicia: numeris toje pacioje eiluteje jau stovejo. */
.price .num-zyma{color:var(--accent)}

/* --- 17. Portretas „Kas dirba“ (2026-09-19) ---------------------------
   Saltinis 1600x2000 = TIKSLIAI 4:5, todel nekarpytas, tik sumazintas.
   Vieta parinkta pagal matavima, ne pagal noro dydi: desiniajame stulpelyje
   jau gulejo 125 px oro (aukstj deme kairysis tekstas 275 px, o "Duomenys"
   kortele tik 150). Nuotrauka VIRS korteles butu kainavusi +275 px;
   nuotrauka SALIA teksto kainuoja +25 px, nes 220x275 aukstis sutampa su
   teksto auksciu iki pikselio. Ismatuota 13 plociu x 5 variantai = 65
   matavimai, visi dalus is 25 px.                                        */
.about-foto{margin:0}
.about-foto img{display:block;width:100%;height:auto;border:1px solid var(--line-strong)}
.about-foto figcaption{font-family:var(--mono);font-size:11px;color:var(--ink-soft);
  line-height:25px}

/* !! Maketo taisykles galioja TIK .about-su-foto. Tas pats .about blokas yra
   ir svetainiu-kurimas-kaune/-vilniuje puslapiuose, tik BE nuotraukos - ten
   trys stulpeliai suspaustu teksta i 220 px ir paaugintu puslapi +375 px
   (pagauta matuojant 2026-09-19, apziura.py sito nemato). */

/* Kompiuteris: trecias stulpelis kaireje. */
@media(min-width:1001px){
  .about-su-foto{grid-template-columns:220px 1fr 300px;gap:38px}
}

/* Tarpine juosta: treciam stulpeliui per siaura, tad nuotrauka lipa virs korteles. */
@media(min-width:861px) and (max-width:1000px){
  .about-su-foto{grid-template-columns:1fr 300px;row-gap:0}
  .about-su-foto .about-txt{grid-column:1;grid-row:1 / 3}
  .about-su-foto .about-foto{grid-column:2;grid-row:1;width:200px;margin-bottom:25px}
  .about-su-foto .about-card{grid-column:2;grid-row:2;align-self:start}
}

/* Telefonas: nuotrauka teksto sraute. Bloko aukstis 175 px = 7 langeliai,
   todel apatines parastes NERA - su ja tekstas nuslystu nuo 25 px liniuotes. */
@media(max-width:860px){
  .about-su-foto{display:block}
  .about-su-foto .about-foto{float:left;width:140px;margin:0 20px 0 0;shape-margin:20px}
  .about-su-foto .about-foto figcaption{display:none}
  .about-su-foto .about-card{margin-top:25px;clear:both}
}

/* Siauriau nei 390 px 140 px nuotrauka palieka tekstui ~20 zenklu eiluteje
   (patogi riba 45-75), tad nuotrauka susitraukia, o ne isstumia teksta. */
@media(max-width:389px){
  .about-su-foto .about-foto{width:100px;margin-right:16px;shape-margin:16px}
}
