/* ===== Liquid glass version ===== */
body{background:
  radial-gradient(60% 50% at 20% 0%,#ffffff 0%,transparent 70%),
  radial-gradient(50% 45% at 85% 100%,#ffffff 0%,transparent 70%),
  linear-gradient(180deg,#eceef2 0%,#e4e7ec 100%) !important;background-attachment:fixed !important}
.nav{background:var(--glass,rgba(255,255,255,.28))!important;backdrop-filter:blur(30px) saturate(190%)!important;-webkit-backdrop-filter:blur(30px) saturate(190%)!important;
  border-bottom:1px solid var(--glass-line,rgba(255,255,255,.55))!important;box-shadow:inset 0 -1px 0 rgba(255,255,255,.35),0 8px 30px rgba(30,30,80,.08)!important}
.glass,.card,.step,.cta-box,.booking-box,.rv-panel,.badge,.chat-head,.chat-cta,.btn.ghost{
  backdrop-filter:blur(28px) saturate(200%) brightness(1.04);-webkit-backdrop-filter:blur(28px) saturate(200%) brightness(1.04)}
.glass,.card,.step,.cta-box,.booking-box{
  background:var(--glass,linear-gradient(135deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.18) 45%,rgba(255,255,255,.32) 100%))!important;
  border:1px solid var(--glass-line,rgba(255,255,255,.6))!important;position:relative;overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(255,255,255,.25),0 24px 50px rgba(30,30,90,.16)!important}
.glass::before,.card::before,.step::before,.cta-box::before,.booking-box::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(120% 60% at 0% 0%,rgba(255,255,255,.55),transparent 55%);opacity:.8}
.badge{background:var(--glass,linear-gradient(135deg,rgba(255,255,255,.7),rgba(255,255,255,.25)))!important;border:1px solid var(--glass-line,rgba(255,255,255,.75))!important;
  box-shadow:inset 0 1px 0 #fff,0 10px 26px rgba(30,30,90,.12)!important}
.rv-panel{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 30px 60px color-mix(in srgb,var(--brand-a,#3040c8) 18%,transparent)!important}
.btn{background:linear-gradient(180deg,#0a9467,#066b4a)!important;color:#fff;font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 10px 24px rgba(6,107,74,.35)!important}
.btn.ghost{background:var(--glass,linear-gradient(135deg,rgba(255,255,255,.7),rgba(255,255,255,.2)))!important;color:var(--t-ink,#111318)!important;border:1px solid var(--glass-line,rgba(255,255,255,.8))!important;box-shadow:inset 0 1px 0 #fff,0 10px 24px rgba(30,30,90,.1)!important}
.bubble.bot{background:var(--glass,linear-gradient(135deg,rgba(255,255,255,.8),rgba(255,255,255,.35)))!important;border:1px solid var(--glass-line,rgba(255,255,255,.85))!important}
footer{background:var(--glass,rgba(255,255,255,.2));backdrop-filter:blur(24px) saturate(180%)}

/* glare rings on every glass element */
.btn,.btn.ghost,.badge,.bubble,.chat-cta,.glass,.card,.step,.cta-box,.booking-box,.nav{position:relative}
.btn::after,.btn.ghost::after,.badge::after,.bubble::after,.chat-cta::after,.glass::after,.card::after,.step::after,.cta-box::after,.booking-box::after,.nav::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:linear-gradient(140deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.35) 22%,rgba(255,255,255,.04) 50%,rgba(255,255,255,.35) 78%,rgba(255,255,255,.9) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.btn,.btn.ghost,.badge,.bubble,.chat-cta,.glass,.card,.step,.cta-box,.booking-box,.nav{
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.95),inset 0 0 14px rgba(255,255,255,.35),0 14px 30px rgba(30,30,90,.14)!important}
.btn::before,.badge::before{content:none!important}
.btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -6px 14px rgba(2,50,34,.35),0 12px 26px rgba(6,107,74,.38)!important}

/* service icons */
.svc-art{margin:-4px -4px 16px;border-radius:16px;overflow:hidden;background:var(--glass,linear-gradient(160deg,rgba(255,255,255,.7),rgba(255,255,255,.2)));border:1px solid var(--glass-line,rgba(255,255,255,.9));box-shadow:inset 0 1px 0 #fff} .svc-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  background:var(--glass,linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,255,255,.35)));border:1px solid var(--glass-line,rgba(255,255,255,.95));
  box-shadow:inset 0 1px 0 #fff,0 10px 22px rgba(30,30,90,.12)}
/* results section */
.results-art{max-width:960px;margin:0 auto 40px}
.results-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.results-grid{grid-template-columns:1fr}}

/* service illustrations: subtle motion and hover */
.card{transition:transform .35s ease,box-shadow .35s ease}
.card:hover{transform:translateY(-4px)}
.svc-art svg{transition:transform .4s ease}
.card:hover .svc-art svg{transform:scale(1.02)}
.cta-pulse{animation:ctaPulse 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes ctaPulse{0%,100%{opacity:1}50%{opacity:.7}}
.badge-pulse{animation:badgePulse 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes badgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.tdot{animation:tdotBlink 1.2s ease-in-out infinite}
.t2{animation-delay:.15s}.t3{animation-delay:.3s}
@keyframes tdotBlink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.draw{stroke-dasharray:100;stroke-dashoffset:100;animation:drawLine 2.4s ease-out forwards}
@keyframes drawLine{to{stroke-dashoffset:0}}
.needle{transform-box:view-box;transform-origin:120px 104px;animation:needleSway 4s ease-in-out infinite}
@keyframes needleSway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@media (prefers-reduced-motion: reduce){
  .card,.svc-art svg,.cta-pulse,.badge-pulse,.tdot,.draw,.needle{animation:none!important;transition:none!important}
  .draw{stroke-dashoffset:0}
}

/* chat: service list, work list and request form */
.svc-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.svc-btn{font:inherit;font-size:13px;padding:8px 13px;border-radius:999px;cursor:pointer;color:var(--t-ink,#111318);
  background:var(--glass,linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.4)));border:1px solid var(--glass-line,rgba(255,255,255,.95));
  box-shadow:inset 0 1px 0 #fff,0 6px 16px rgba(30,30,90,.1);transition:transform .2s ease,box-shadow .2s ease}
.svc-btn:hover,.svc-btn:focus-visible{transform:translateY(-1px);box-shadow:inset 0 1px 0 #fff,0 10px 22px rgba(30,30,90,.16);outline:none}
.svc-btn[aria-pressed="true"]{background:linear-gradient(135deg,var(--brand-a,#3040c8),var(--brand-b,#7c5cff));color:#fff}
.work-list{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.5}
.work-list li{margin:4px 0}
.lead-form{display:grid;gap:10px;margin-top:4px;padding:14px;border-radius:16px;background:var(--glass,rgba(255,255,255,.55));border:1px solid var(--glass-line,rgba(255,255,255,.9))}
.lead-form[hidden]{display:none}
.lead-form label{display:grid;gap:4px;font-size:12px;color:var(--t-muted,#5b6170)}
.lead-form input,.lead-form select,.lead-form textarea{font:inherit;font-size:14px;color:var(--t-ink,#111318);padding:9px 11px;border-radius:12px;border:1px solid rgba(17,19,24,.12);background:var(--glass,rgba(255,255,255,.85))}
.lead-title{margin:0;font-size:14px;font-weight:500}
.lead-actions{display:flex;gap:8px;flex-wrap:wrap}
.lead-actions .btn{padding:10px 18px;font-size:14px;cursor:pointer}
.lead-note{margin:0;font-size:13px;color:var(--t-body,#2b3140)}

/* request popup */
.lead-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(17,19,24,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.lead-overlay[hidden]{display:none}
.lead-modal{position:relative;width:min(480px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:24px;padding:26px;
  background:var(--glass,linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.7)));border:1px solid var(--glass-line,rgba(255,255,255,.95));
  box-shadow:inset 0 1px 0 #fff,0 30px 80px rgba(20,22,60,.3)}
.lead-modal .lead-form{background:none;border:0;padding:0;margin:0}
.lead-x{position:absolute;top:12px;right:14px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(17,19,24,.1);background:var(--glass,#fff);font-size:20px;line-height:1;cursor:pointer;color:var(--t-ink,#111318)}
.lead-modal .lead-title{padding-right:40px}
/* phones: native controls must shrink with the request dialog */
@media(max-width:640px){.lead-form{grid-template-columns:minmax(0,1fr)}.lead-form label{min-width:0}.lead-form input,.lead-form select,.lead-form textarea{min-width:0;width:100%;max-width:100%}}
