/* Illustrations */
.scene-line,.scene-soft,.scene-fill,.scene-accent{vector-effect:non-scaling-stroke}
.scene-line{fill:none;stroke:#7bdaf0;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.scene-soft{fill:none;stroke:rgba(154,221,237,.38);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.scene-fill{fill:rgba(101,211,236,.075);stroke:rgba(123,218,240,.28);stroke-width:2}
.scene-accent{fill:#78dff4}
.clean-squeegee{transform-box:fill-box;transform-origin:center;animation:squeegee 4.8s ease-in-out infinite}
.clean-shine{animation:shine 3.6s ease-in-out infinite}
.wipe-mask{transform-box:fill-box;transform-origin:center top!important;animation:wipe 4.8s ease-in-out infinite}
.mower{transform-box:fill-box;transform-origin:center;animation:mower 5.2s ease-in-out infinite}
.mower-wheel{transform-box:fill-box;transform-origin:center;animation:wheel 1.1s linear infinite}
.grass-chip{animation:chip 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center}
.grass-chip:nth-child(2){animation-delay:.35s}.grass-chip:nth-child(3){animation-delay:.7s}
.drill{transform-box:fill-box;transform-origin:center;animation:drill 4.2s ease-in-out infinite}
.drill-bit{stroke-dasharray:7 6;animation:bit .45s linear infinite}
.screw{transform-box:fill-box;transform-origin:center;animation:screw 4.2s ease-in-out infinite}
.pipe-flow{stroke-dasharray:8 8;animation:flow 1.3s linear infinite}
@keyframes squeegee{0%,12%{transform:translateY(-38px)}55%,78%{transform:translateY(62px)}100%{transform:translateY(-38px)}}
@keyframes shine{0%,35%{opacity:.15;transform:scale(.8)}60%,100%{opacity:1;transform:scale(1.05)}}
@keyframes wipe{0%,15%{transform:scaleY(.06)}65%,100%{transform:scaleY(1)}}
@keyframes mower{0%,12%{transform:translateX(-24px)}60%,80%{transform:translateX(25px)}100%{transform:translateX(-24px)}}
@keyframes wheel{to{transform:rotate(360deg)}}
@keyframes chip{0%{opacity:0;transform:translate(0,0)}35%{opacity:1}100%{opacity:0;transform:translate(20px,-22px)}}
@keyframes drill{0%,18%{transform:translateX(-16px)}58%,78%{transform:translateX(12px)}100%{transform:translateX(-16px)}}
@keyframes bit{to{stroke-dashoffset:-13}}
@keyframes screw{0%,22%{transform:rotate(0deg) translateX(0)}62%,82%{transform:rotate(360deg) translateX(7px)}100%{transform:rotate(0deg) translateX(0)}}
@keyframes flow{to{stroke-dashoffset:-16}}

/* Remove decorative numbering throughout the site */
.showcase-counter,.card-index,.fact-number{display:none!important}
body[data-page="uzkopsana"] .visual-code,
body[data-page="teritorija"] .visual-code,
body[data-page="remonti"] .visual-code{display:none!important}

/* Content sections */
.section{padding:96px 0}
.section-tight{padding:72px 0}
.section-head{display:grid;gap:14px;margin-bottom:38px}
.section-head h2,.section-head p{margin-bottom:0}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{position:relative;min-height:330px;padding:28px;border-radius:24px;background:rgba(255,255,255,.86);border:1px solid rgba(8,38,70,.09);box-shadow:0 14px 40px rgba(7,31,61,.075);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.service-card::before,.detail-card::before{content:"";position:absolute;inset:0;background:radial-gradient(300px circle at var(--spot-x,50%) var(--spot-y,20%),rgba(103,216,242,.18),transparent 46%);opacity:0;transition:opacity .2s;pointer-events:none}
.service-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(7,31,61,.13);border-color:rgba(21,155,209,.28)}
.service-card:hover::before,.detail-card:hover::before{opacity:1}
.card-index{display:none}
.card-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#e9f9fc,#fff);border:1px solid rgba(21,155,209,.15);margin-bottom:22px}
.card-icon svg{width:31px;height:31px;fill:none;stroke:#0a7eb0;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card-icon img{width:38px;height:38px;object-fit:contain}
.service-card p{color:var(--text);margin-bottom:25px}
.service-card .inline-link{position:absolute;left:28px;bottom:24px}
.brand-band{position:relative;border-radius:34px;padding:50px;overflow:hidden;color:#fff;background:linear-gradient(130deg,var(--navy),#0b406b);box-shadow:var(--shadow-strong)}
.brand-band::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(103,216,242,.18),transparent 22rem);pointer-events:none}
.brand-band-mark{position:absolute;right:-55px;bottom:-130px;width:430px;opacity:.10;filter:grayscale(1) brightness(3)}
.brand-band-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:start}
.brand-band p{color:#c8dce8;font-size:18px}
.facts{display:grid;gap:12px}
.fact{display:block;padding:19px 20px;border-radius:18px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.10)}
.fact-number{display:none}
.fact strong,.fact span{display:block}.fact strong{margin-bottom:4px}.fact span{font-size:14px;color:#b9cfde}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.process-step{position:relative;padding:28px;border-top:3px solid var(--cyan);border-radius:0 0 22px 22px;background:rgba(255,255,255,.74);border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-step::before{content:none;display:none}
.process-step p{color:var(--text);margin:0}
.cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:40px 44px;border-radius:30px;background:#fff;border:1px solid rgba(8,38,70,.09);box-shadow:var(--shadow)}
.cta h2{font-size:clamp(30px,3.5vw,44px);margin-bottom:10px}.cta p{margin:0;color:var(--text);font-size:17px;max-width:730px}
.cta-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}

/* Service pages */
.page-hero{position:relative;padding:76px 0 66px;overflow:hidden}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:60px;align-items:center}
.page-hero h1{color:var(--navy);max-width:680px}
.page-hero .lead{color:#5c7084}
.service-visual{position:relative;min-height:390px;padding:27px;border-radius:30px;color:#fff;background:
  radial-gradient(circle at 76% 16%,rgba(103,216,242,.19),transparent 18rem),
  linear-gradient(145deg,#061e3a,#0a4773);box-shadow:var(--shadow-strong);overflow:hidden;transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .18s}
.service-visual::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(135deg,#000,transparent 75%);pointer-events:none}
.visual-code,.visual-title{position:relative;z-index:2;display:block;font-weight:900;letter-spacing:.15em}
.visual-code{font-size:12px;color:#81e2f5;margin-bottom:4px}.visual-title{font-size:12px;color:#d5e7f0}
.visual-art{position:relative;z-index:2;width:100%;height:270px;margin-top:12px}
.visual-tags{position:absolute;left:27px;right:27px;bottom:23px;z-index:3;display:flex;flex-wrap:wrap;gap:8px}
.visual-tags span{padding:6px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.07);font-size:11px;color:#cfe2ec;font-weight:750}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.detail-card{position:relative;padding:28px;border-radius:23px;background:rgba(255,255,255,.88);border:1px solid rgba(8,38,70,.095);box-shadow:0 12px 32px rgba(7,31,61,.065);overflow:hidden}
.detail-card p{color:var(--text)}
.detail-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 24px;margin:18px 0 0;padding:0;list-style:none}
.detail-card li{position:relative;padding-left:17px;color:#334b62;font-size:15px}
.detail-card li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.note{margin-top:18px;padding:18px 20px;border-left:3px solid var(--blue);border-radius:0 14px 14px 0;background:rgba(228,245,250,.78);color:#526c80;font-size:15px}