/* Zejtaria — marketing site (index + kerko) */
@font-face{font-family:"Satoshi";src:url("fonts/Satoshi-Variable.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
/* Hanken Grotesk, self-hosted (was Google Fonts: every visit sent the visitor's IP to Google) */
@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk-latin-ext.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap;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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk-latin.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap;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{
  --ink:#1b1b1b;
  --ink-2:#323232;
  --text:#3a3a3a;
  --muted:#6b6b6b;
  --faint:#a3a3a3;
  --line:#ededed;
  --line-2:#e2e2e2;
  --soft:#f6f6f6;
  --soft-2:#efefef;
  --white:#fff;
  --live:#1f9d55;
  --accent:#fc6e20;
  --accent-rgb:252,110,32;
  --accent-ink:#a8430c;
  --accent-2:#fc6e20;
  --accent-soft:#fff3e8;
  --accent-soft-2:#ffe7d0;
  --accent-line:#ffd3ae;
  --on-accent:#fff;
  --warn:#8a5a00;
  --warn-soft:#fff4d6;
  --warn-line:#f5d98a;
  --shadow-1:0 1px 2px rgba(12,12,13,.04),0 10px 24px -10px rgba(12,12,13,.12);
  --shadow-2:0 2px 6px rgba(12,12,13,.04),0 30px 60px -24px rgba(12,12,13,.22);
  --ease:cubic-bezier(.2,.7,.2,1);
  --font:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-display:"Satoshi","Hanken Grotesk",system-ui,-apple-system,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-weight:400;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;overflow-x:hidden}
i,em,cite,address{font-style:normal}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,p,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:10px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
i[data-lucide]{display:inline-block;width:1em;height:1em;flex:none}
svg.lucide{width:1em;height:1em;flex:none}
svg.is-filled{fill:currentColor}
::selection{background:var(--accent-line);color:var(--ink)}
.hero__title .dot{color:var(--accent)}
.pro__score svg,.profile__stars svg,.review__stars svg,.dlg__stats b svg{color:var(--accent)!important}

.container{width:min(100% - 32px,1240px);margin-inline:auto}
.section{padding:clamp(72px,8.4vw,116px) 0}
.section--soft{background:linear-gradient(180deg,#fff 0%,#f6f6f7 22%,#f6f6f7 78%,#fff 100%)}

.h2{font-size:clamp(38px,4.8vw,66px);font-weight:200;letter-spacing:-.045em;line-height:1.02}
.h2 strong{font-weight:500}
.sub{color:var(--muted);font-size:17px;font-weight:300;line-height:1.6}
.center{text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--muted);letter-spacing:.01em}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:52px;padding:0 24px;border-radius:15px;font-size:15px;font-weight:500;white-space:nowrap;transition:gap .35s,background .35s,transform .25s var(--ease),box-shadow .25s,color .25s}
.btn svg,.btn i{font-size:18px;transition:transform .35s}
.btn:hover{gap:20px}
.btn:hover svg,.btn:hover i{transform:translateX(4px)}
.btn--ink{background:var(--ink);color:#fff;box-shadow:0 10px 24px -12px rgba(12,12,13,.6)}
.btn--ink:hover{background:#26262a}
.btn--white{background:#fff;color:var(--ink)}
.btn--white:hover{background:#f1f1f3}
.btn--line{border:1px solid var(--line-2);background:#fff}
.btn--line:hover{border-color:#cdcdd3}
.btn--glass{border:1px solid rgba(255,255,255,.16);color:#fff}
.btn--glass:hover{background:rgba(255,255,255,.08)}
.btn--sm{height:42px;padding:0 18px;border-radius:12px;font-size:14px}
.btn:active{transform:scale(.98)}

/* Brand */
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:19px;letter-spacing:-.03em}
.brand__word{height:1em;width:3.188em;flex:none}
.brand__mark{width:32px;height:32px;flex:none;color:var(--ink)}
.brand--light{color:#fff}
.brand--light .brand__mark{color:#2c2c2c}

/* ---------- Nav ---------- */
.nav{position:fixed;top:16px;left:0;right:0;z-index:60;padding:0 16px;pointer-events:none}
.nav__bar{pointer-events:auto;position:relative;max-width:1180px;margin:0 auto;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 14px;border-radius:999px;background:rgba(255,255,255,.84);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border:1px solid rgba(27,27,27,.06);box-shadow:0 12px 32px -20px rgba(27,27,27,.3)}
.nav .brand__mark{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.nav .brand:hover .brand__mark{transform:rotate(-12deg)}
.nav__links{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:4px}
.nav__bar a,.nav__chip{transition:background-color .25s,color .25s}
.nav__links a{position:relative;display:inline-block;padding:10px 16px;font-size:14.5px;color:var(--muted)}
.nav__links a::after{content:"";position:absolute;left:50%;bottom:3px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--ink)}
.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{transform:scale(1)}
.nav__actions{display:flex;align-items:center;gap:6px}
.nav .nav__fav{color:var(--ink)}
.nav .nav__fav:hover{background:var(--soft)}
.nav__join{gap:10px;padding-right:6px!important}
.nav__join-ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:15px;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.nav__join:hover .nav__join-ic{transform:rotate(45deg)}
.icon-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;font-size:18px;transition:background-color .2s,color .2s}
.icon-btn--dark{color:#c4c4cb;border:1px solid rgba(255,255,255,.08)}
.icon-btn--dark:hover{color:#fff;background:#232327}

/* ---------- Hero ---------- */
.hero{padding:12px}
.hero__card{position:relative;max-width:1416px;margin:0 auto;border-radius:34px;overflow:hidden;min-height:clamp(760px,calc(100svh - 24px),900px);display:flex;background:radial-gradient(34% 40% at 79% 47%,rgba(var(--accent-rgb),.16) 0%,rgba(var(--accent-rgb),0) 100%),radial-gradient(90% 80% at 82% 42%,#ffffff 0%,#f6f6f7 48%,#eeeef0 100%)}
.hero__inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;padding:156px clamp(20px,4.6vw,66px) 44px}
.hero__copy{max-width:600px}
.hero__title{margin-top:0;font-size:clamp(46px,5.5vw,80px);font-weight:200;letter-spacing:-.05em;line-height:.98}
.hero__title strong{font-weight:600}
.hero__lede strong{font-weight:500;color:var(--ink)}
.hero__lede{margin-top:24px;max-width:460px;padding-left:18px;border-left:1.5px solid var(--ink);color:var(--muted);font-size:17px;font-weight:300;line-height:1.6}

.search{position:relative;margin-top:34px;display:flex;gap:10px;padding:10px;background:#fff;border-radius:26px;box-shadow:var(--shadow-2);max-width:600px}
.search__field{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:14px;height:70px;padding:0 16px 0 14px;border:1px solid var(--line);border-radius:17px;cursor:text;transition:border-color .2s,background-color .2s}
.search__field:hover{background:#fcfcfc}
.search__field:focus-within{border-color:#c9c9cf}
.search__icon{flex:none;display:grid;place-items:center;width:26px;font-size:24px;color:var(--ink)}
.search__icon svg{stroke-width:1.7}
.search__text{flex:1;min-width:0}
.search__label{display:block;font-size:12px;color:var(--muted);line-height:1.2}
.search input,.search select{display:block;width:100%;border:0;outline:0;background:transparent;font-size:16px;color:var(--ink);padding:3px 0 0;appearance:none;-webkit-appearance:none;cursor:pointer;text-overflow:ellipsis}
.search input{cursor:text}
.search input::placeholder{color:#8e8e95;opacity:1}
.search__field--select{padding-right:40px}
.search__chev{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--muted);pointer-events:none}
.search__btn{flex:none;width:70px;height:70px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:19px;background:var(--ink);color:#fff;font-size:20px;box-shadow:0 14px 26px -14px rgba(12,12,13,.8);transition:transform .25s var(--ease),background-color .2s}
.search__btn:hover{background:#26262a;transform:translateY(-1px)}
.search__btn span{display:none;font-size:15px;font-weight:500}

.chips{margin-top:20px;display:flex;flex-wrap:wrap;gap:6px}
.chips a{display:inline-flex;align-items:center;gap:7px;height:35px;padding:0 12px 0 10px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid var(--line);font-size:13px;color:var(--text);transition:border-color .2s,background-color .2s,color .2s}
.chips a svg{font-size:15px;color:var(--ink)}
.chips a:hover{background:var(--accent-soft);border-color:var(--accent-line);color:var(--ink)}
.chips a:hover svg{color:var(--accent-ink)}

.hero__foot{margin-top:auto;padding-top:44px;display:flex;align-items:flex-end;gap:44px}
.career{position:relative;width:292px;flex:none;filter:drop-shadow(0 0 0 rgba(31,157,85,0)) drop-shadow(0 0 0 rgba(31,157,85,0));transition:filter .45s cubic-bezier(.16,1,.3,1)}
.career:hover,.career:focus-within{filter:drop-shadow(0 0 1.2px rgba(31,157,85,.95)) drop-shadow(0 0 22px rgba(31,157,85,.38))}
.career__top{display:flex;align-items:center;gap:14px;margin-left:30px;padding:16px 18px 18px;border-radius:22px 22px 0 0;background:#fff;font-size:14px;line-height:1.35;color:var(--text)}
.career__top .brand__mark{width:42px;height:42px}
.career__bottom{position:relative;display:flex;align-items:center;justify-content:space-between;padding:16px 22px 20px;border-radius:22px 0 22px 22px;background:#fff;font-size:19px;font-weight:400;letter-spacing:-.02em}
.career__bottom::before{content:"";position:absolute;top:-18px;left:12px;width:18px;height:18px;background:radial-gradient(circle at 0 0,transparent 17.5px,#fff 18px)}
.career__bottom svg{font-size:20px;transition:transform .25s var(--ease)}
.career__bottom:hover svg{transform:translateX(4px)}
.career__top:hover{color:var(--ink)}

.stats{display:grid;grid-template-columns:repeat(3,auto);gap:0 30px;padding-bottom:6px}
.stats__rule{grid-column:1/-1;position:relative;height:1px;background:var(--ink);margin-bottom:22px;opacity:.85}
.stats__rule::before,.stats__rule::after{content:"";position:absolute;top:-3px;width:7px;height:7px;background:var(--accent);color:var(--on-accent)}
.stats__rule::before{left:0}
.stats__rule::after{right:0}
.stat b{display:block;font-size:42px;font-weight:200;letter-spacing:-.05em;line-height:1}
.stat span{display:block;margin-top:8px;font-size:13px;color:var(--muted)}

/* Map */
.hero__map{position:absolute;right:-1%;top:50%;z-index:1;width:min(64%,940px,100% - 560px);aspect-ratio:3/2;margin:calc(min(64%,940px,100% - 560px) / -3 + 28px) 0 0;animation:rise 1.1s var(--ease) both .1s;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 9%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
.hero__map img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.hero__near{position:absolute;right:11%;bottom:11%;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px 0 14px;border-radius:999px;background:var(--ink);color:#fff;font-size:14.5px;font-weight:500;box-shadow:0 14px 30px -12px rgba(27,27,27,.55);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.hero__near svg{font-size:18px;color:var(--accent)}
.hero__near:hover{transform:translateY(-2px)}

/* ---------- Trust ---------- */
.trust{padding-top:clamp(84px,9vw,120px)}
.pill-num{display:inline-block;padding:.02em .26em .08em;border-radius:.24em;background:var(--ink);color:#fff;font-weight:500;line-height:1.05;letter-spacing:-.04em}
.trust .sub{max-width:620px;margin:18px auto 0}
.cities{margin-top:52px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px clamp(24px,3.2vw,44px)}
.cities a{display:inline-flex;align-items:center;gap:8px;font-size:clamp(20px,2.1vw,26px);font-weight:500;letter-spacing:-.035em;color:#a7a7ae;transition:color .25s}
.cities a svg{font-size:.85em;stroke-width:1.4}
.cities a:hover{color:var(--ink)}
.cities .more{font-size:15px;font-weight:400;letter-spacing:0;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:8px 14px}
.rating{margin-top:34px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 12px;font-size:14px;color:var(--muted)}
.rating strong{color:var(--ink);font-weight:500}
.rating__stars{display:flex;gap:2px}
.rating__stars span{width:20px;height:20px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-size:12px}
.tile{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:21px;box-shadow:0 14px 24px -14px rgba(12,12,13,.7)}

/* ---------- How it works: heading + numbered list ---------- */
.how__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,6vw,96px);align-items:start}
.how__copy .sub{margin-top:18px;max-width:400px}
.steps{border-top:1px solid rgba(27,27,27,.1)}
.step{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:28px 0;border-bottom:1px solid rgba(27,27,27,.1)}
.step__num{font-size:32px;font-weight:300;letter-spacing:-.05em;line-height:1}
.step h3{font-size:19px;font-weight:600;letter-spacing:-.02em}
.step p{margin-top:6px;max-width:440px;font-size:15px;line-height:1.6;color:var(--muted)}

/* ---------- Categories ---------- */
.cat-head{display:grid;grid-template-columns:auto 1fr minmax(220px,300px);gap:clamp(24px,5vw,72px);align-items:center}
.arrows{display:flex;align-items:center;gap:10px}
.arrow{display:grid;place-items:center;border-radius:50%;transition:background-color .2s,border-color .2s,color .2s,opacity .2s}
.arrow--sm{width:34px;height:34px;border:1px solid var(--line-2);font-size:15px;color:var(--muted);background:#fff}
.arrow--lg{width:52px;height:52px;border:1.5px solid var(--ink);font-size:20px;background:#fff}
.arrow:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.arrow:disabled{opacity:.35;pointer-events:none}
.cat-head p{font-size:14.5px;line-height:1.6;color:var(--muted);font-weight:300}
.cats{margin-top:clamp(40px,5vw,64px);display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 2px;padding:6px 2px 44px;margin-bottom:-20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cats::-webkit-scrollbar{display:none}

/* ---------- Pros ---------- */
.pros__grid{display:grid;grid-template-columns:300px 1fr;gap:clamp(32px,5vw,72px)}
.pros__intro .h2{font-size:clamp(44px,5vw,70px)}
.pros__intro p{margin-top:20px;font-size:15px;line-height:1.6;color:var(--muted);font-weight:300;max-width:280px}
.pros__intro .btn{margin-top:32px}
.pros__list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pro{position:relative;display:flex;flex-direction:column;min-height:228px;padding:20px;border-radius:26px;background:linear-gradient(180deg,#fafafa,#f3f3f5);border:1px solid #eeeef1;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.pro:hover{transform:translateY(-4px);box-shadow:0 30px 50px -30px rgba(12,12,13,.35);border-color:#e3e3e8}
.pro__top{display:flex;align-items:center;gap:10px}
.pro__icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:var(--shadow-1);font-size:16px;color:var(--ink)}
.pro__trade{font-size:13px;color:var(--muted)}
.pro__rate{margin-left:auto;font-size:17px;font-weight:600;letter-spacing:-.02em;text-align:right;line-height:1.1}
.pro__rate small{display:block;font-size:11.5px;font-weight:400;color:var(--muted);letter-spacing:0}
.pro__name{margin-top:26px;font-size:19px;font-weight:500;letter-spacing:-.025em;line-height:1.2}
.pro__tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted)}
.pro__tags li{display:inline-flex;align-items:center;gap:6px}
.pro__tags svg{font-size:14px}
.pro__foot{margin-top:auto;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}
.pro__score{display:inline-flex;align-items:center;gap:6px}
.pro__score svg{font-size:13px;color:var(--ink)}
.pro__score b{color:var(--ink);font-weight:600}
.pro__new{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;background:#fff;border:1px solid var(--line-2);font-size:12px;color:var(--ink)}
.pro__cta{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--ink)}
.pro__cta svg{font-size:15px;transition:transform .25s var(--ease)}
.pro:hover .pro__cta svg{transform:translateX(3px)}
.pro__cta::after{content:"";position:absolute;inset:0;border-radius:inherit}
.pro--dark{background:linear-gradient(165deg,#222226 0%,#0b0b0c 70%);border-color:#0b0b0c;color:#fff}
.pro--dark .pro__icon{background:#fff}
.pro--dark .pro__trade,.pro--dark .pro__rate small,.pro--dark .pro__tags,.pro--dark .pro__foot{color:#9e9ea6}
.pro--dark .pro__score svg,.pro--dark .pro__score b,.pro--dark .pro__cta{color:#fff}
.pro--more{align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid var(--line)}
.pro--more strong{font-size:58px;font-weight:200;letter-spacing:-.05em;line-height:1}
.pro--more span{margin-top:6px;font-size:13.5px;color:var(--muted)}
.pro--more .pro__cta{margin-top:18px}

/* ---------- CTA: orange banner + slim row for craftsmen ---------- */
.cta{display:grid;gap:16px}
.cta__main{display:flex;align-items:flex-end;justify-content:space-between;gap:32px 48px;padding:clamp(32px,4.4vw,64px);border-radius:32px;background:var(--accent)}
.cta__main .h2{font-size:clamp(40px,5vw,68px)}
.cta__main .h2 strong{font-weight:600}
.cta__main p{margin-top:14px;max-width:460px;font-size:16px;line-height:1.6;color:rgba(27,27,27,.85)}
.cta__btns{flex:none;display:flex;flex-direction:column;gap:10px}
.cta__pro{display:flex;align-items:center;gap:20px;padding:20px 20px 20px 28px;border-radius:24px;border:1px solid var(--line)}
.cta__pro > svg{flex:none;font-size:22px;color:var(--accent)}
.cta__pro p{flex:1;font-size:15px;line-height:1.5;color:var(--muted)}
.cta__pro b{margin-right:4px;font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.cta__pro .btn{flex:none}

/* ---------- Directory ---------- */
.dir{padding:8px 0 clamp(56px,7vw,96px)}
.dir__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,96px)}
.dir__col{padding-top:24px;border-top:1px solid var(--line)}
.dir__col h3{display:flex;align-items:baseline;gap:8px;font-size:15px;font-weight:600;letter-spacing:-.01em}
.dir__col h3 span{font-size:13px;font-weight:400;color:var(--faint)}
.dir__list{margin-top:18px;columns:4;column-gap:24px}
.dir__list--cities{columns:3}
.dir__list li{break-inside:avoid}
.dir__list a{display:inline-flex;align-items:center;gap:8px;padding:6px 0;font-size:15px;color:var(--muted);transition:color .2s}
.dir__list a::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.dir__list a:hover{color:var(--ink)}
.dir__list a:hover::after{transform:scale(1)}

/* ---------- Footer ---------- */
.footer{padding:0 12px 12px}
.footer__card{max-width:1416px;margin:0 auto;border-radius:34px;background:var(--ink);color:#fff;padding:clamp(40px,5vw,72px) clamp(20px,4.6vw,66px) 28px}
.footer__top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.footer__about p{margin-top:18px;max-width:320px;color:#9a9aa2;font-size:14.5px;line-height:1.6;font-weight:300}
.footer__social{margin-top:24px;display:flex;gap:8px}
.footer__col h4{margin:0;font-size:12.5px;font-weight:500;color:#77777f;letter-spacing:.06em;text-transform:uppercase}
.footer__col ul{margin-top:18px;display:grid;gap:12px}
.footer__col a{font-size:14.5px;color:#d6d6dc;transition:color .2s}
.footer__col a:hover{color:#fff}
.footer__word{margin-top:clamp(48px,7vw,88px);font-size:clamp(64px,15vw,220px);font-weight:200;letter-spacing:-.07em;line-height:.8;color:#1c1c1f;user-select:none;white-space:nowrap;overflow:hidden}
.footer__word strong{font-weight:600;color:#232327}
.footer__bottom{margin-top:28px;padding-top:22px;border-top:1px solid #222226;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;font-size:13px;color:#86868e}
.footer__legal{display:flex;flex-wrap:wrap;gap:6px 20px}
.footer__legal a:hover{color:#fff}

/* ---------- Bento (trust features): open columns, big type ---------- */
.bento{margin-top:clamp(56px,7vw,88px);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.bento__col{display:flex;flex-direction:column;align-items:flex-start;padding:36px 32px 8px;border-left:1px solid var(--line)}
.bento__col:first-child{border-left:0;padding-left:0}
.bento__big{font-size:clamp(56px,5.4vw,72px);font-weight:300;letter-spacing:-.06em;line-height:1;white-space:nowrap}
.bento__big span{color:var(--accent)}
.bento__big svg.bento__check{display:inline-block;width:.5em;height:.5em;margin:.04em 0 0 .08em;vertical-align:top;color:var(--accent);stroke-width:1.6}
.bento__col h3{margin-top:40px;font-size:17px;font-weight:600;letter-spacing:-.02em}
.bento__col p{margin-top:6px;font-size:15px;line-height:1.55;color:var(--muted)}
.bento__link{margin-top:20px;display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;border-bottom:1.5px solid var(--accent);font-size:15px;font-weight:500;transition:gap .3s cubic-bezier(.16,1,.3,1)}
.bento__link:hover{gap:12px}
@media (max-width:1080px){
  .bento{grid-template-columns:1fr 1fr;border-top:0}
  .bento__col{padding:32px 32px 32px 0;border-left:0;border-top:1px solid var(--line)}
  .bento__col:nth-child(even){padding:32px 0 32px 32px;border-left:1px solid var(--line)}
}
@media (max-width:640px){
  .bento{grid-template-columns:1fr}
  .bento__col,.bento__col:nth-child(even){padding:28px 0;border-left:0}
  .bento__col h3{margin-top:20px}
}

/* ---------- Dialog extras: works, quote form ---------- */
.works{margin-top:10px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.work{padding:10px;border-radius:18px;border:1px solid var(--line);background:#fff}
.work__img{position:relative;height:96px;border-radius:12px;display:grid;place-items:center;font-size:28px;color:var(--ink);background:repeating-linear-gradient(135deg,#f4f4f6 0 10px,#ececef 10px 20px)}
.work:nth-child(2) .work__img{background:repeating-linear-gradient(135deg,var(--accent-soft) 0 10px,var(--accent-soft-2) 10px 20px);color:var(--accent-ink)}
.work__img span{position:absolute;left:10px;top:8px;font-size:11px;font-weight:600;color:var(--muted)}
.work b{display:block;margin-top:10px;font-size:13.5px;font-weight:500;line-height:1.3}
.work small{display:block;margin-top:3px;font-size:12px;color:var(--muted)}
.qform__field{display:grid;gap:8px;margin-top:16px}
.qform__field > span{font-size:13.5px;font-weight:500}
.qform textarea,.qform select{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line-2);background:#fff;font-size:15px;line-height:1.5;resize:vertical;outline:0;transition:border-color .2s,box-shadow .2s}
.qform select{appearance:auto;height:50px;padding:0 14px}
.qform textarea:focus,.qform select:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(12,12,13,.06)}
.qform textarea[aria-invalid="true"]{border-color:#d93a2b}
.qform__err{font-size:13px;color:#c0352a}
.qform__note{margin-top:18px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--accent-soft);font-size:13.5px;color:var(--text)}
.qform__note svg{font-size:18px;color:var(--accent-ink)}
.seg--full{display:flex;width:100%}
.seg--full button{flex:1;justify-content:center}
.dlg__actions--two{grid-template-columns:auto 1fr}
.sent{display:grid;justify-items:center;text-align:center;padding-top:36px;padding-bottom:28px}
.sent__ic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-size:28px;box-shadow:0 18px 36px -14px rgba(var(--accent-rgb),.9);animation:pop .6s cubic-bezier(.16,1,.3,1)}
.sent__title{margin-top:18px;font-size:26px!important;font-weight:300!important;letter-spacing:-.03em!important;text-transform:none!important;color:var(--ink)!important}
.sent__title strong{font-weight:600}
.sent p{max-width:360px;margin-top:8px;color:var(--muted);font-size:15px}
.suggest__ic--av{background:var(--ink);color:#fff;font-size:12px;font-weight:600}
.empty .tile{background:var(--accent);box-shadow:0 14px 24px -14px rgba(var(--accent-rgb),.9);color:var(--on-accent)}

/* Signed-in nav button */
.btn--user{gap:10px;padding:0 16px 0 5px}
.btn--user:hover{gap:10px}
.btn__av{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:600}

/* ---------- Search: suggestions ---------- */
.suggest{position:absolute;z-index:55;padding:8px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-2);max-height:min(380px,60vh);overflow:auto;animation:pop .35s cubic-bezier(.16,1,.3,1)}
.suggest[hidden]{display:none}
.suggest__label{padding:8px 10px 6px;font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.suggest__item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border-radius:13px;text-align:left;font-size:14.5px;color:var(--ink);transition:background-color .15s}
.suggest__item:hover,.suggest__item[aria-selected="true"]{background:var(--soft)}
.suggest__ic{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:11px;background:var(--soft-2);font-size:17px;transition:background-color .2s,color .2s}
.suggest__item[aria-selected="true"] .suggest__ic{background:var(--ink);color:#fff}
.suggest__item mark{background:none;color:inherit;font-weight:600}
.suggest__count{margin-left:auto;font-size:12.5px;color:var(--muted);white-space:nowrap}
.suggest__empty{padding:14px 12px;font-size:14px;color:var(--muted)}
@keyframes pop{from{opacity:0;transform:translateY(-6px)}}

/* ---------- Results ---------- */
.results{padding:clamp(48px,6vw,80px) 0 clamp(24px,4vw,40px);scroll-margin-top:92px}
.results[hidden]{display:none}
.results__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px}
.results__title{margin-top:10px;font-size:clamp(32px,3.6vw,50px);font-weight:200;letter-spacing:-.045em;line-height:1.04}
.results__title strong{font-weight:500}
.results__tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.seg{display:inline-flex;padding:4px;border-radius:15px;background:var(--soft);border:1px solid var(--line)}
.seg button{height:38px;padding:0 14px;border-radius:11px;display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--muted);transition:background-color .25s,color .25s,box-shadow .25s}
.seg button svg{font-size:15px}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:var(--shadow-1)}
.results__filters{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.fchip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 8px 0 13px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;transition:background-color .2s}
.fchip:hover{background:#2a2a2e}
.fchip svg{font-size:15px;opacity:.7}
.results__grid{margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.results__more{margin-top:28px;display:flex;justify-content:center}
.pro__actions{display:flex;align-items:center;gap:6px}
.pro__fav{position:relative;z-index:2;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid var(--line-2);font-size:15px;color:var(--ink);transition:transform .3s cubic-bezier(.16,1,.3,1),background-color .2s,color .2s,border-color .2s}
.pro__fav:hover{transform:scale(1.1)}
.pro__fav[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.pro__fav[aria-pressed="true"] svg{fill:currentColor}
.pro--dark .pro__fav{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}
.pro--dark .pro__fav[aria-pressed="true"]{background:#fff;color:var(--ink)}
button.pro__cta{font:inherit;font-size:13px;font-weight:500}
.pro__tags .is-today{color:var(--live)}
.pro--dark .pro__tags .is-today{color:#5fd896}
.empty{margin-top:28px;display:grid;justify-items:center;text-align:center;gap:14px;padding:clamp(36px,5vw,56px) 20px;border-radius:28px;background:linear-gradient(180deg,#fafafa,#f3f3f5);border:1px solid #eeeef1}
.empty h3{font-size:24px;font-weight:300;letter-spacing:-.03em}
.empty h3 strong{font-weight:600}
.empty p{max-width:460px;color:var(--muted);font-size:15px;font-weight:300}
.empty__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}
.empty__chips button{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px 0 11px;border-radius:999px;background:#fff;border:1px solid var(--line-2);font-size:13.5px;transition:border-color .2s}
.empty__chips button:hover{border-color:var(--ink)}

/* Nav favourites badge */
.nav__fav{position:relative}
.nav__badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:10.5px;font-weight:600;display:grid;place-items:center;box-shadow:0 0 0 2px #fff}
.nav__badge[hidden]{display:none}

/* ---------- Profile dialog ---------- */
.dlg{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:30px;background:#fff;color:var(--ink);box-shadow:0 50px 120px -40px rgba(0,0,0,.6);overflow:hidden}
.dlg[open]{display:flex;flex-direction:column;animation:dlgIn .55s cubic-bezier(.16,1,.3,1)}
.dlg::backdrop{background:rgba(12,12,13,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
@keyframes dlgIn{from{opacity:0;transform:translateY(40px) scale(.98)}}
.dlg__scroll{overflow:auto}
.dlg__top{position:relative;overflow:hidden;padding:30px 28px 26px;background:radial-gradient(120% 140% at 100% 0%,#2a2a2f 0%,#1b1b1b 60%);color:#fff;isolation:isolate}
.dlg__rings{position:absolute;right:-90px;top:-90px;width:300px;height:300px;z-index:-1}
.dlg__rings span{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.09)}
.dlg__rings span+span{inset:55px}
.dlg__close{position:absolute;top:16px;right:16px;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#d4d4da;border:1px solid rgba(255,255,255,.12);font-size:18px;transition:background-color .2s,color .2s,transform .3s cubic-bezier(.16,1,.3,1)}
.dlg__close:hover{background:rgba(255,255,255,.08);color:#fff;transform:rotate(90deg)}
.dlg__av{position:relative;width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--ink);font-size:22px;font-weight:500}
.dlg__av svg{position:absolute;right:-4px;bottom:-4px;width:26px;height:26px;padding:4px;border-radius:50%;background:var(--live);color:#fff;border:2px solid #1b1b1b}
.dlg__name{margin-top:18px;font-size:30px;font-weight:300;letter-spacing:-.04em;line-height:1.05}
.dlg__name strong{font-weight:600}
.dlg__where{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:14px;color:#a9a9b1}
.dlg__where span{display:inline-flex;align-items:center;gap:6px}
.dlg__body{padding:24px 28px 8px}
.dlg__stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:18px}
.dlg__stats div{padding:14px 16px}
.dlg__stats div+div{border-left:1px solid var(--line)}
.dlg__stats b{display:flex;align-items:center;gap:5px;font-size:20px;font-weight:600;letter-spacing:-.03em}
.dlg__stats b svg{font-size:15px}
.dlg__stats span{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}
.dlg__avail{margin-top:16px;display:flex;align-items:center;gap:10px;font-size:14px}
.dlg__avail i{width:8px;height:8px;border-radius:50%;background:var(--faint)}
.dlg__avail.is-today i{background:var(--live);box-shadow:0 0 0 4px rgba(31,157,85,.15)}
.dlg__body h3{margin-top:24px;font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.dlg__body > p{margin-top:8px;font-size:15px;line-height:1.6;color:var(--text);font-weight:300}
.dlg__tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.dlg__tags span{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:var(--soft);font-size:13px}
.review{margin-top:10px;padding:14px 16px;border-radius:16px;background:var(--soft)}
.review__head{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;font-weight:500}
.review__stars{display:flex;gap:1px;font-size:12px}
.review p{margin-top:6px;font-size:14px;line-height:1.55;color:var(--text);font-weight:300}
.dlg__verified{margin-top:20px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px dashed var(--line-2);font-size:13.5px;color:var(--text)}
.dlg__verified svg{font-size:18px;color:var(--live)}
.dlg__actions{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;padding:16px 28px 24px;border-top:1px solid var(--line);background:#fff}
.dlg__actions .btn{height:50px}
.dlg__actions .pro__fav{width:50px;height:50px;border-radius:15px;font-size:18px}

/* ---------- Snackbar ---------- */
.snack{position:fixed;left:50%;bottom:24px;z-index:100;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 32px);padding:12px 18px 12px 14px;border-radius:16px;background:var(--ink);color:#fff;font-size:14px;box-shadow:0 20px 40px -16px rgba(0,0,0,.5);opacity:0;transform:translate(-50%,24px);pointer-events:none;transition:opacity .35s,transform .5s cubic-bezier(.16,1,.3,1)}
.snack.is-on{opacity:1;transform:translate(-50%,0)}
.snack svg{font-size:18px;color:#5fd896}

@media (max-width:1200px){.results__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.results__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){
  .results__grid{grid-template-columns:1fr}
  .seg{width:100%}
  .seg button{flex:1;justify-content:center;padding:0 8px;font-size:12.5px}
  .dlg__top{padding:26px 20px 22px}
  .dlg__body{padding:20px 20px 4px}
  .dlg__actions{padding:14px 20px 20px}
  .dlg__name{font-size:26px}
}

/* ---------- Motion ---------- */
@keyframes rise{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(31,157,85,.14)}50%{box-shadow:0 0 0 7px rgba(31,157,85,.06)}}
.wave .w{display:inline-block;white-space:nowrap}
.wave .ch{display:inline-block}
.js .wave .ch{opacity:0}
.js .wave.is-in .ch{animation:wave .7s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i,0) * 26ms + var(--wd,0ms))}
@keyframes wave{0%{opacity:0;transform:translateY(55px) rotate(12deg)}100%{opacity:1;transform:none}}
.js .card-wave{opacity:0}
.js .card-wave.is-in{opacity:1;animation:cardWave .7s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--i,0) * 80ms)}
@keyframes cardWave{0%{opacity:0;transform:translateY(55px) rotate(4deg)}}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal.is-in{opacity:1;transform:none}
.js .hero .reveal{transition-delay:calc(var(--d,0) * 90ms)}

/* ---------- Responsive ---------- */
@media (max-width:1200px){
  .pros__grid{grid-template-columns:1fr}
  .pros__intro{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px}
  .pros__intro p{grid-column:1}
  .pros__intro .btn{grid-row:1/3;grid-column:2;margin:0}
}
@media (max-width:1080px){
  .nav__links{display:none}
  .hero__card{flex-direction:column;min-height:0}
  .hero__inner{padding-top:124px;padding-bottom:12px}
  .hero__foot{flex-wrap:wrap;gap:32px}
  .hero__map{position:relative;right:auto;top:auto;width:calc(100% + 24px);margin:8px -12px 0}
  .how__grid{grid-template-columns:1fr}
  .cat-head{grid-template-columns:1fr auto}
  .cat-head .arrows{grid-column:2;grid-row:1}
  .cat-head > div:nth-child(2){grid-column:1;grid-row:1}
  .cat-head p{grid-column:1/-1}
  .cta__main{flex-direction:column;align-items:flex-start}
  .dir__grid{grid-template-columns:1fr;gap:48px}
  .dir__list,.dir__list--cities{columns:3}
  .cta__btns{flex-direction:row;flex-wrap:wrap}
  .footer__top{grid-template-columns:1fr 1fr 1fr}
  .footer__about{grid-column:1/-1}
}
@media (max-width:860px){
  .pros__list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .nav{top:12px;padding:0 12px}
  .nav__bar{height:60px;padding-left:12px}

  .hero{padding:8px}
  .hero__card{border-radius:28px}
  .hero__inner{padding:104px 18px 8px}
  .hero__title{font-size:clamp(40px,11.4vw,52px)}
  .hero__lede{font-size:16px}
  .search{flex-direction:column;border-radius:24px}
  .search__field{flex:none;height:66px}
  .search__btn{width:100%;height:58px;border-radius:16px}
  .search__btn span{display:inline}
  .search__btn svg{font-size:18px}
  .hero__foot{padding-top:36px}
  .career{width:100%;max-width:330px}
  .stats{gap:0 24px}
  .stat b{font-size:36px}
  .hero__map{width:calc(100% + 36px);margin:20px -18px 0}
  .step{grid-template-columns:52px 1fr;padding:24px 0}
  .step__num{font-size:26px}
  .pros__intro{grid-template-columns:1fr}
  .pros__intro .btn{grid-row:auto;grid-column:auto;justify-self:start;margin-top:8px}
  .pros__list{grid-template-columns:1fr}
  .pro{min-height:208px}
  .cta__main{border-radius:28px}
  .cta__btns{width:100%}
  .cta__btns .btn{flex:1}
  .cta__pro{flex-wrap:wrap;padding:20px}
  .cta__pro > svg{display:none}
  .cta__pro p{flex:1 0 100%}
  .cta__pro .btn{flex:1}
  .dir__grid{grid-template-columns:1fr;gap:40px}
  .dir__list,.dir__list--cities{columns:2}
  .footer{padding:0 8px 8px}
  .footer__card{border-radius:28px}
  .footer__top{grid-template-columns:1fr 1fr}
}
/* ---------- Photos (avatars uploaded in settings) ---------- */
.pro__icon.has-photo,.btn__av.has-photo{padding:0;overflow:hidden}
.pro__icon.has-photo img,.btn__av.has-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.dlg__av img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}

/* ---------- Search page (kerko.html) ---------- */
.khero{padding:12px}
.khero__card{position:relative;max-width:1416px;margin:0 auto;padding:132px 0 44px;border-radius:34px;overflow:hidden;isolation:isolate;background:radial-gradient(28% 60% at 88% 20%,rgba(var(--accent-rgb),.18) 0%,rgba(var(--accent-rgb),0) 100%),radial-gradient(90% 80% at 82% 42%,#fff 0%,#f6f6f7 48%,#eeeef0 100%)}
.khero__rings{position:absolute;right:-160px;top:-200px;width:620px;height:620px;z-index:-1}
.khero__rings span{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(12,12,13,.06)}
.khero__rings span+span{inset:110px;border-color:rgba(var(--accent-rgb),.2)}
.khero__title{margin-top:14px;font-size:clamp(40px,4.8vw,66px);font-weight:200;letter-spacing:-.05em;line-height:1}
.khero__title strong{font-weight:600}
.khero__title .dot{color:var(--accent)}
.khero .search{max-width:820px;margin-top:30px}
.kbody{display:grid;grid-template-columns:284px minmax(0,1fr);gap:28px;align-items:start;padding:36px 0 96px;scroll-margin-top:92px}
.filters{position:sticky;top:100px;max-height:calc(100vh - 116px);overflow:auto;padding:22px;border-radius:26px;background:#fff;border:1px solid var(--line);scrollbar-width:thin}
.filters__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px}
.filters__head b{font-size:19px;font-weight:600;letter-spacing:-.02em}
.filters__head span{display:flex;align-items:center;gap:6px}
.filters__clear{font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.filters__clear:hover{color:var(--ink)}
.filters__close,.filters__apply{display:none}
.filters__close{width:38px;height:38px;place-items:center;border-radius:12px;border:1px solid var(--line-2);font-size:18px}
.fgroup{padding:18px 0;border-top:1px solid var(--line)}
.fgroup__title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.fgroup__title output{font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:500}
.fcats{display:grid;gap:2px}
.fcat{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;font-size:14px;cursor:pointer;transition:background-color .2s,opacity .2s}
.fcat:hover{background:var(--soft)}
.fcat input{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;margin:0;border-radius:6px;border:1.5px solid #c9c9cf;background:#fff center/12px no-repeat;cursor:pointer;transition:background-color .2s,border-color .2s}
.fcat input:checked{background-color:var(--ink);border-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.fcat__ic{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:9px;background:var(--soft);font-size:15px;transition:background-color .2s,color .2s}
.fcat:has(input:checked) .fcat__ic{background:var(--accent);color:var(--on-accent)}
.fcat small{margin-left:auto;font-size:12px;color:var(--faint)}
.fcat.is-zero{opacity:.42}
.fmore{margin-top:8px;padding:4px 8px;font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.filters input[type="range"]{width:100%;accent-color:var(--accent);cursor:pointer}
.frange{display:flex;justify-content:space-between;margin-top:4px;font-size:12px;color:var(--faint)}
.fpills{display:flex;flex-wrap:wrap;gap:6px}
.fpills button{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);font-size:13px;color:var(--text);transition:background-color .2s,color .2s,border-color .2s}
.fpills button svg{font-size:12px;color:var(--accent)}
.fpills button:hover{border-color:#c8c8ce}
.fpills button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.fswitch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 0;margin-top:4px;border-top:1px solid var(--line);font-size:14px;cursor:pointer}
.fswitch + .fswitch{border-top:0;padding-top:12px}
.fswitch input{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:42px;height:24px;margin:0;border-radius:99px;background:#dcdce0;cursor:pointer;transition:background-color .25s}
.fswitch input::before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.fswitch input:checked{background:var(--accent);color:var(--on-accent)}
.fswitch input:checked::before{transform:translateX(18px)}
.fbackdrop{display:none}
.kres .results__head{align-items:center}
.kres .results__grid{grid-template-columns:repeat(3,1fr)}
.fchip--ghost{background:transparent;color:var(--muted);border:1px dashed var(--line-2)}
.fchip--ghost:hover{background:var(--soft);color:var(--ink)}
.kfilters-btn{display:none}
.kfilters-count{min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--accent);color:var(--on-accent);font-size:11.5px;font-weight:600;display:inline-grid;place-items:center}
@media (max-width:1080px){
  .kbody{grid-template-columns:1fr}
  .filters{position:fixed;top:0;left:0;bottom:0;z-index:90;width:min(360px,90vw);max-height:none;border-radius:0 26px 26px 0;transform:translateX(-105%);transition:transform .5s cubic-bezier(.16,1,.3,1);box-shadow:30px 0 60px -30px rgba(0,0,0,.4)}
  body.filters-open .filters{transform:none}
  .filters__close{display:grid}
  .filters__apply{display:inline-flex;margin-top:22px}
  .fbackdrop{display:block;position:fixed;inset:0;z-index:89;background:rgba(12,12,13,.4);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s}
  body.filters-open .fbackdrop{opacity:1;pointer-events:auto}
  .kfilters-btn{display:inline-flex}
  .kres .results__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .khero{padding:8px}
  .khero__card{padding:104px 0 28px;border-radius:28px}
  .kres .results__grid{grid-template-columns:1fr}
  .kres .results__tools{width:100%}
}
/* ---------- Nav (v2): scroll states, guest/user, burger + full-screen menu ---------- */
.nav{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.nav--hidden{transform:translateY(calc(-100% - 40px))}
.nav__bar{transition:height .4s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.nav--scrolled .nav__bar{height:58px;background:rgba(255,255,255,.92);box-shadow:0 18px 40px -20px rgba(27,27,27,.38)}
.nav__guest{display:flex;align-items:center;gap:4px}
.nav__login{display:inline-flex;align-items:center;height:42px;padding:0 16px;border-radius:12px;font-size:14.5px;color:var(--ink)}
.nav__login:hover{background:var(--soft)}
.nav__user{position:relative}
.nav__chip{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 12px 0 5px;border-radius:13px;background:var(--soft);color:var(--ink);font-size:14px;font-weight:500}
.nav__chip:hover{background:var(--soft-2)}
.nav__chip .btn__av{width:34px;height:34px;border-radius:10px;font-size:12px}
.nav__chip > svg{font-size:16px;color:var(--muted);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.nav__chip[aria-expanded="true"] > svg{transform:rotate(180deg)}
.nav__dd{position:absolute;right:0;top:calc(100% + 12px);width:262px;padding:8px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-2);color:var(--ink);animation:pop .3s cubic-bezier(.16,1,.3,1)}
.nav__dd-head{display:flex;align-items:center;gap:10px;padding:8px 10px 12px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.nav__dd-head .btn__av{width:38px;height:38px;border-radius:12px}
.nav__dd-head b{display:block;font-size:14px;font-weight:600}
.nav__dd-head small{display:block;font-size:12px;color:var(--muted);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav__dd a{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;font-size:14px}
.nav__dd a svg{font-size:17px;color:var(--muted)}
.nav__dd a:hover{background:var(--soft)}
.nav__dd a.is-danger{color:#b4352a}
.nav__dd a.is-danger svg{color:#b4352a}
.nav__dd em{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:99px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:600}
.nav__burger{display:none;position:relative;width:44px;height:44px;flex:none;border-radius:13px;border:1px solid var(--line);transition:background-color .2s}
.nav__burger:hover{background:var(--soft)}
.nav__burger span{position:absolute;left:13px;right:13px;height:1.6px;border-radius:2px;background:var(--ink);transition:transform .45s cubic-bezier(.16,1,.3,1),top .45s cubic-bezier(.16,1,.3,1)}
.nav__burger span:first-child{top:17px}
.nav__burger span:last-child{top:25px}
.nav--open .nav__burger span:first-child{top:21px;transform:rotate(45deg)}
.nav--open .nav__burger span:last-child{top:21px;transform:rotate(-45deg)}
.nav__sheet{pointer-events:auto;position:fixed;left:12px;right:12px;top:86px;bottom:12px;display:flex;flex-direction:column;padding:12px;border-radius:26px;background:var(--ink);box-shadow:0 30px 60px -20px rgba(0,0,0,.7);overflow:auto;overscroll-behavior:contain}
.nav__sheet[hidden]{display:none}
.nav--open .nav__sheet{animation:sheetIn .5s cubic-bezier(.16,1,.3,1)}
@keyframes sheetIn{from{opacity:0;transform:translateY(-12px) scale(.98)}}
.nav__sheet-links{display:grid}
.nav__sheet-links{padding:0 6px}
.nav__sheet-links a{display:flex;align-items:center;gap:16px;padding:17px 2px;border-top:1px solid #1f1f23;color:#fff;font-size:19px;font-weight:500;letter-spacing:-.02em}
.nav__sheet-links a:first-child{border-top:0}
.nav__sheet-links .ic{flex:none;display:grid;place-items:center;width:22px;font-size:20px;color:#7d7d85;transition:color .2s}
.nav__sheet-links .ic svg{stroke-width:1.5}
.nav__sheet-links small{display:block;margin-top:3px;font-size:13px;font-weight:400;letter-spacing:0;color:#7d7d85}
.nav__sheet-links a > svg:last-child{margin-left:auto;font-size:18px;color:#4c4c53;transition:transform .3s cubic-bezier(.16,1,.3,1),color .2s}
.nav__sheet-links a:hover .ic,.nav__sheet-links a:focus-visible .ic{color:#fff}
.nav__sheet-links a:hover > svg:last-child,.nav__sheet-links a:focus-visible > svg:last-child{color:#fff;transform:translateX(3px)}
.nav__sheet-links a:focus-visible{outline:2px solid #fff;outline-offset:-2px;border-radius:12px}

.nav--open .nav__sheet-links a{animation:rise .55s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0) * 45ms + 60ms)}
.nav__sheet-cta{margin-top:auto;padding-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nav__sheet-cta .btn{height:54px;border-radius:16px}
.nav__sheet-cta .btn__av{width:28px;height:28px;border-radius:9px;font-size:11px}
body.menu-open{overflow:hidden}
@media (min-width:1081px){.nav__sheet{display:none!important}}
@media (max-width:1080px){
  .nav__burger{display:block}
  .nav__login{display:none}
}
@media (max-width:640px){
  .nav__sheet{top:80px;left:8px;right:8px;bottom:8px}
  .nav__guest,.nav__fav{display:none}
  .nav__chip{padding:0 5px;background:transparent;color:#fff;gap:0}
  .nav__chip:hover{background:#232327}
  .nav__chip > span:not(.btn__av),.nav__chip > svg{display:none}
  .nav__dd{position:fixed;left:8px;right:8px;top:78px;width:auto}
}

/* ---------- Booking (profile dialog) ---------- */
.dlg__where .dlg__book{color:var(--accent-2)}
.pro__tags .is-book{color:var(--accent-ink);font-weight:500}
.pro--dark .pro__tags .is-book{color:var(--accent-2)}
.book__hint{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;color:var(--muted)}
.book__hint svg{font-size:14px}
.book__days{margin:14px -2px 0;display:grid;grid-auto-flow:column;grid-auto-columns:74px;gap:8px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x mandatory;scrollbar-width:none}
.book__days::-webkit-scrollbar{display:none}
.book__day{scroll-snap-align:start;display:grid;justify-items:center;gap:1px;padding:10px 4px 9px;border-radius:16px;border:1px solid var(--line-2);background:#fff;transition:background-color .2s,border-color .2s,color .2s,transform .3s cubic-bezier(.16,1,.3,1)}
.book__day:hover:not(:disabled){border-color:var(--ink);transform:translateY(-2px)}
.book__day span{font-size:11.5px;font-weight:500;color:var(--muted)}
.book__day b{font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1.15}
.book__day small{font-size:11px;color:var(--muted)}
.book__day em{margin-top:5px;font-size:10.5px;font-weight:600;color:var(--live)}
.book__day[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.book__day[aria-pressed="true"] span,.book__day[aria-pressed="true"] small{color:#a9a9b1}
.book__day[aria-pressed="true"] em{color:var(--accent)}
.book__day:disabled{opacity:.45;cursor:not-allowed}
.book__day:disabled em{color:var(--muted)}
.book__slots{margin-top:6px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.book__slot{height:42px;border-radius:12px;border:1px solid var(--line-2);background:#fff;font-size:13.5px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s}
.book__slot:hover:not(:disabled){border-color:var(--ink)}
.book__slot[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 10px 20px -10px rgba(var(--accent-rgb),.9)}
.book__slot:disabled{background:var(--soft);border-color:transparent;color:#b5b5bb;text-decoration:line-through;cursor:not-allowed}
.book__none{grid-column:1/-1;padding:14px;border-radius:14px;background:var(--soft);font-size:14px;color:var(--muted)}
.qform__row{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}
.qform input{width:100%;height:50px;padding:0 14px;border-radius:16px;border:1px solid var(--line-2);background:#fff;font-size:15px;outline:0;transition:border-color .2s,box-shadow .2s}
.qform input:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(12,12,13,.06)}
.qform__field span small{font-weight:400;color:var(--faint)}
.qform__note.is-bad{background:#fdecec;color:#a12d22}
/* optional marketing consent under the contact fields: unticked, small, clearly optional */
.qform__check{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:13px;line-height:1.4;color:var(--muted);cursor:pointer}
.qform__check input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--accent)}
.qform__note.is-bad svg{color:#a12d22}

/* ---------- Phone UX (marketing pages) ---------- */
main{overflow-x:clip}
@media (max-width:640px){
  .hero__inner{padding-top:100px}
  .hero__lede{margin-top:18px;font-size:15.5px}
  .search{margin-top:24px}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin-right:-18px;padding-right:18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .chips::-webkit-scrollbar{display:none}
  .chips li{flex:none}
  .hero__foot{gap:24px;padding-top:28px}
  .stats{width:100%;grid-template-columns:repeat(3,1fr)}
  .stat b{font-size:32px}
  .h2{font-size:clamp(34px,10vw,44px)}
  .section{padding:64px 0}
  .cat-head .arrows{display:none}
  .cats{margin-right:-16px;padding-right:16px}
  /* dialogs become bottom sheets */
  .dlg{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;border-radius:26px 26px 0 0}
  .dlg[open]{animation:sheetUp .5s cubic-bezier(.16,1,.3,1)}
  .dlg__actions{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .dlg__actions .btn{min-width:0;padding:0 14px;gap:8px;font-size:14px}
  .dlg__actions--two{grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr)}
  .dlg__actions .btn svg{font-size:16px}
  .book__slots{grid-template-columns:repeat(4,1fr)}
  .qform__row{grid-template-columns:1fr;gap:0}
  .kres .results__head{gap:14px}
  .kres .results__tools{flex-wrap:nowrap;gap:8px}
  .kres .seg{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
  .kres .seg button{flex:1;padding:0 8px;white-space:nowrap}
  .kres .seg button svg{display:none}
  .results__title{font-size:30px}
  .results__filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px}
  .results__filters .fchip{flex:none}
  .snack{bottom:calc(16px + env(safe-area-inset-bottom))}
}
@keyframes sheetUp{from{transform:translateY(100%)}}
/* ---------- Category cards ---------- */
.cat{position:relative;flex:0 0 212px;min-height:168px;scroll-snap-align:start;display:flex;flex-direction:column;padding:18px;border-radius:26px;background:#fff;border:1px solid var(--line);color:var(--ink);overflow:hidden;isolation:isolate;transition:background-color .4s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .4s,transform .4s cubic-bezier(.16,1,.3,1)}
.cat__top{display:flex;align-items:flex-start;justify-content:space-between}
.cat__icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-size:24px;color:var(--ink);transition:background-color .4s,color .4s,transform .5s cubic-bezier(.16,1,.3,1)}
.cat__icon svg{stroke-width:1.6}
.cat__go{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);font-size:15px;color:var(--muted);transition:background-color .35s,border-color .35s,color .35s,transform .5s cubic-bezier(.16,1,.3,1)}
.cat__name{margin-top:auto;padding-top:22px;font-size:18px;font-weight:600;letter-spacing:-.025em;line-height:1.2}
.cat__meta{margin-top:4px;font-size:13px;color:var(--muted);transition:color .4s}
.cat:hover{transform:translateY(-4px);border-color:#dcdce1;box-shadow:0 24px 40px -28px rgba(12,12,13,.35)}
.cat:hover .cat__icon{transform:scale(1.06)}
.cat:hover .cat__go{transform:rotate(45deg)}
.cat.is-active,.cat:hover,.cat:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff}
.cat.is-active .cat__icon,.cat:hover .cat__icon,.cat:focus-visible .cat__icon{background:var(--accent);color:var(--on-accent)}
.cat.is-active .cat__go,.cat:hover .cat__go,.cat:focus-visible .cat__go{background:#fff;border-color:#fff;color:var(--ink)}
.cat.is-active .cat__meta,.cat:hover .cat__meta,.cat:focus-visible .cat__meta{color:#a3a3ab}
.cat.is-active::after,.cat:hover::after{content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.35),rgba(var(--accent-rgb),0) 70%);z-index:-1}
.cats:hover .cat.is-active:not(:hover){background:#fff;border-color:var(--line);color:var(--ink)}
.cats:hover .cat.is-active:not(:hover) .cat__icon{background:var(--soft);color:var(--ink)}
.cats:hover .cat.is-active:not(:hover) .cat__go{background:transparent;border-color:var(--line-2);color:var(--muted)}
.cats:hover .cat.is-active:not(:hover) .cat__meta{color:var(--muted)}
.cats:hover .cat.is-active:not(:hover)::after{display:none}
.cat--all{background:var(--accent-soft);border-color:var(--accent-line)}
.cat--all .cat__icon{background:#fff;color:var(--accent-ink)}
@media (max-width:640px){.cat{flex-basis:178px;min-height:156px;padding:16px;border-radius:22px}.cat__icon{width:46px;height:46px;font-size:21px}.cat__name{font-size:16.5px}}
/* ---------- Categories (grid, concept v3) ---------- */
#kategorite,#si-funksionon,#per-zejtare,#zejtaret{scroll-margin-top:96px}
.kat-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px}
.kat-eyebrow{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.kat-title{margin-top:10px;font-size:clamp(28px,3.2vw,42px);font-weight:600;letter-spacing:-.035em;line-height:1.08}
.kat-sub{margin-top:8px;font-size:16.5px;font-weight:300;color:var(--muted)}
.kat-search{display:flex;align-items:center;gap:10px;flex:1;max-width:560px}
.kat-q{flex:1;min-width:0;display:flex;align-items:center;gap:12px;height:54px;padding:0 20px;border-radius:999px;background:var(--soft);border:1.5px solid transparent;cursor:text;transition:border-color .2s,background-color .2s}
.kat-q:focus-within{background:#fff;border-color:var(--ink)}
.kat-q svg{font-size:20px;flex:none}
.kat-q input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:15px}
.kat-q input::placeholder{color:#8e8e95}
.kat-city{position:relative;flex:none;display:flex;align-items:center;gap:8px;height:54px;padding:0 42px 0 18px;border-radius:999px;background:#fff;border:1.5px solid var(--line-2);cursor:pointer;transition:border-color .2s}
.kat-city:hover,.kat-city:focus-within{border-color:var(--ink)}
.kat-city > svg:first-child{font-size:19px;flex:none}
.kat-city select{appearance:none;-webkit-appearance:none;border:0;outline:0;background:transparent;font-size:15px;font-weight:500;cursor:pointer;max-width:160px}
.kat-city__chev{position:absolute;right:16px;font-size:16px;color:var(--muted);pointer-events:none}
.kat-go{display:none;flex:none;width:48px;height:48px;border-radius:50%;place-items:center;border:1.5px solid var(--line-2);background:#fff;font-size:19px}
@media (max-width:640px){
  .kat-head{gap:14px}
  .kat-title{font-size:26px;margin-top:6px}
  .kat-sub{font-size:14.5px;margin-top:4px}
  .kat-search{flex:1 1 100%;max-width:none;gap:8px}
  .kat-q{display:none}
  .kat-city{flex:1;height:48px;padding:0 40px 0 16px}
  .kat-city select{max-width:none;flex:1}
  .kat-go{display:grid}
}
.kat-grid{margin-top:32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kcard{position:relative;display:flex;flex-direction:column;gap:20px;padding:22px;border-radius:26px;background:#fff;border:1.5px solid var(--line);color:var(--ink);isolation:isolate;overflow:hidden;transition:border-color .3s,box-shadow .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}
.kcard__body{display:flex;align-items:flex-start;gap:18px}
.kcard__ic{flex:none;display:grid;place-items:center;font-size:32px;color:var(--accent);transition:color .3s,transform .4s cubic-bezier(.16,1,.3,1)}
.kcard__ic svg{stroke-width:1.5}
.kcard__info{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.kcard__name{font-size:20px;font-weight:600;letter-spacing:-.025em;line-height:1.15}
.kcard__count{margin-top:6px;font-size:14.5px;color:var(--muted);transition:color .3s}
.kcard__avail{margin-top:10px;display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:7px;background:#e8f4ec;color:#17683f;font-size:12.5px;font-weight:500;letter-spacing:-.005em}
.kcard__avail i{display:none}
.kcard__avail.is-neser{background:var(--warn-soft);color:var(--warn)}
.kcard__avail.is-jave,.kcard__avail.is-none{background:var(--soft-2);color:var(--muted)}
.kcard__price{margin-top:8px;font-size:16px;font-weight:600;letter-spacing:-.01em;transition:color .3s}
.kcard__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}
.kcard__faces{display:flex;align-items:center}
.kcard__faces > span,.kcard__faces > em{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;overflow:hidden;border:3px solid #fff;background:#e9eaee;color:var(--ink);font-size:12px;font-weight:600;font-style:normal;box-shadow:0 2px 6px -2px rgba(12,12,13,.18);transition:border-color .3s}
.kcard__faces > * + *{margin-left:-12px}
.kcard__faces > span:nth-child(2){background:#e2e3e7}
.kcard__faces > span:nth-child(3){background:#d6d8de}
.kcard__faces > em{background:#f1f2f4;color:var(--ink);font-size:15px;font-weight:500;box-shadow:none}
.kcard__faces img{width:100%;height:100%;object-fit:cover}
.kcard__none{font-size:13px;color:var(--faint)}
.kcard__go{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:#f1f2f4;font-size:18px;color:var(--ink);transition:background-color .3s,color .3s,box-shadow .3s,transform .35s cubic-bezier(.16,1,.3,1)}
.kcard__check{position:absolute;top:16px;right:16px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--accent);font-size:15px;opacity:0;transform:scale(.5);transition:opacity .3s,transform .4s cubic-bezier(.16,1,.3,1)}
.kcard__check svg{stroke-width:2.8}
.kcard:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 22px 44px -28px rgba(var(--accent-rgb),.75)}
.kcard:hover .kcard__ic{transform:scale(1.04)}
.kcard:hover .kcard__go{background:var(--accent);color:var(--on-accent);transform:rotate(45deg)}
.kcard:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.kcard.is-selected{background:radial-gradient(110% 85% at 100% 100%,rgba(var(--accent-rgb),.6) 0%,rgba(var(--accent-rgb),0) 60%),linear-gradient(165deg,#323232 0%,#1b1b1b 100%);border-color:#1b1b1b;color:#fff;box-shadow:0 26px 50px -26px rgba(var(--accent-rgb),.65)}
.kcard.is-selected .kcard__ic{color:var(--accent)}
.kcard.is-selected .kcard__count{color:#b5b5b5}
.kcard.is-selected .kcard__avail{background:rgba(255,255,255,.1);color:#fff}
.kcard.is-selected .kcard__avail.is-jave,.kcard.is-selected .kcard__avail.is-none{color:#b5b5b5}
.kcard.is-selected .kcard__faces > span,.kcard.is-selected .kcard__faces > em{border-color:#1b1b1b}
.kcard.is-selected .kcard__faces > em{background:#323232;color:#e2e2e2}
.kcard.is-selected .kcard__go{background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 3px #fff}
.kcard.is-selected .kcard__check{opacity:1;transform:none}
.kcard.is-empty:not(.is-selected) .kcard__ic{color:var(--faint)}
.kcard.is-empty:not(.is-selected) .kcard__price{color:var(--muted);font-weight:500;font-size:14px}
.kcard[hidden]{display:none}
.kat-more{margin-top:26px;display:flex;justify-content:center}
.kat-more .btn{height:48px}
@media (max-width:1240px){.kat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.kat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .kat-grid{gap:10px;margin-top:20px}
  .kcard{gap:14px;padding:16px 14px 14px;border-radius:22px}
  .kcard__body{flex-direction:column;gap:14px}
  .kcard__ic{font-size:26px}
  .kcard__name{font-size:16.5px}
  .kcard__count{margin-top:4px;font-size:12.5px}
  .kcard__avail{margin-top:6px;height:22px;padding:0 7px;font-size:11.5px}
  .kcard__price{margin-top:6px;font-size:14px}
  .kcard__faces > span,.kcard__faces > em{width:34px;height:34px;font-size:12px;border-width:2.5px}
  .kcard__faces > * + *{margin-left:-10px}
  .kcard__go{width:34px;height:34px;font-size:15px}
  .kcard__check{top:12px;right:12px;width:24px;height:24px;font-size:13px}
}

/* ---------- Professionals listing (kerko) ---------- */
.kres{min-width:0}
@media (max-width:1080px){.kbody{grid-template-columns:minmax(0,1fr)}}
.kback{display:inline-flex;align-items:center;gap:8px;height:38px;margin-bottom:16px;padding:0 15px 0 11px;border-radius:999px;border:1px solid var(--line-2);font-size:13.5px;font-weight:500;color:var(--text);transition:border-color .2s,color .2s,gap .3s}
.kback:hover{border-color:var(--ink);color:var(--ink);gap:11px}
.kback svg{font-size:16px}
.results__sub{margin-top:8px;font-size:15px;color:var(--muted)}
.results__sub b{color:#17784a;font-weight:500}
.kqbar{margin-top:20px;display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.kqbar::-webkit-scrollbar{display:none}
.kq{position:relative;flex:none;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line-2);background:#fff;font-size:13.5px;font-weight:500;color:var(--text);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.kq svg{font-size:16px;flex:none}
.kq:hover{border-color:#c4c4ca;color:var(--ink)}
.kq[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.kq.is-busy{opacity:.6;pointer-events:none}
.kq--city{padding-right:34px}
.kq--city select{appearance:none;-webkit-appearance:none;border:0;outline:0;background:transparent;font-size:13.5px;font-weight:500;color:inherit;cursor:pointer}
.kq__chev{position:absolute;right:12px;font-size:15px!important;color:var(--muted);pointer-events:none}
.kq--filters{display:none}
.kq__count{min-width:18px;height:18px;padding:0 5px;border-radius:99px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:600}
.seg--view button{padding:0 11px}
.seg--view button svg{font-size:17px}
.krows{margin-top:18px;display:grid;gap:10px}
.krow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 18px;border-radius:24px;background:#fff;border:1px solid var(--line);transition:border-color .25s,box-shadow .3s;animation:rise .55s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0) * 40ms)}
.krow:hover{border-color:#d6d6dc;box-shadow:0 18px 36px -28px rgba(12,12,13,.35)}
.krow__av{position:relative;width:62px;height:62px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--soft-2);color:var(--ink);font-size:18px;font-weight:600}
.krow__av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.krow__ok{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-size:12px;border:2px solid #fff}
.krow__ok svg{stroke-width:3}
.krow__name{display:block;font-size:17px;font-weight:600;letter-spacing:-.02em;text-align:left;cursor:pointer}
.krow__name:hover{text-decoration:underline;text-underline-offset:3px}
.krow__sub{margin-top:2px;font-size:13.5px;color:var(--muted)}
.krow__meta{margin-top:9px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:13px;color:var(--text)}
.krow__meta > span{display:inline-flex;align-items:center;gap:6px}
.krow__rating svg{font-size:15px;color:#f5a524}
.krow__rating b{font-weight:600;color:var(--ink)}
.krow__rating.is-new{color:var(--muted)}
.avail i{width:8px;height:8px;border-radius:50%;background:var(--faint)}
.avail--sot{color:#17784a}
.avail--sot i{background:#1f9d55;box-shadow:0 0 0 3px rgba(31,157,85,.15)}
.avail--neser{color:var(--warn)}
.avail--neser i{background:#e0a400}
.avail--jave{color:var(--muted)}
.krow__book{color:var(--accent-ink);font-weight:500}
.krow__book svg{font-size:15px}
.krow__end{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.krow__price{font-size:19px;font-weight:600;letter-spacing:-.025em;white-space:nowrap}
.krow__price small{font-size:13px;font-weight:400;color:var(--muted)}
.krow__btns{display:flex;align-items:center;gap:6px}
.kbtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line-2);background:#fff;font-size:14px;font-weight:500;white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s,gap .3s}
.kbtn svg{font-size:16px}
.kbtn:hover{border-color:#c4c4ca;gap:10px}
.kbtn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.kbtn--primary:hover{background:#2459e0;border-color:#2459e0}
.kbtn--icon{width:42px;padding:0;gap:0}
.kbtn--icon:hover{gap:0}
.kbtn[data-fav][aria-pressed="true"]{color:#e5484d;border-color:#f3c0c1}
.kbtn[data-fav][aria-pressed="true"] svg{fill:currentColor}
.contact{margin-top:12px;display:grid;gap:8px}
.contact__opt{display:flex;align-items:center;gap:14px;width:100%;padding:14px;border-radius:18px;border:1px solid var(--line);background:#fff;text-align:left;transition:border-color .2s,background-color .2s}
.contact__opt:hover{border-color:var(--ink)}
.contact__opt > svg:last-child{margin-left:auto;font-size:18px;color:var(--faint)}
.contact__ic{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);font-size:20px}
.contact__opt b{display:block;font-size:15px;font-weight:600}
.contact__opt small{display:block;margin-top:2px;font-size:13px;color:var(--muted)}
@media (max-width:1080px){.kq--filters{display:inline-flex}}
@media (max-width:420px){.kbtn--book{width:40px;padding:0}.kbtn--book .kbtn__lbl{display:none}.kbtn--book:hover{gap:0}}
@media (max-width:640px){
  .krow{grid-template-columns:auto minmax(0,1fr);gap:12px 14px;padding:14px;border-radius:22px}
  .krow__av{width:52px;height:52px;font-size:16px}
  .krow__name{font-size:16px}
  .krow__meta{gap:6px 12px}
  .krow__end{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--line)}
  .krow__price{font-size:17px}
  .kbtn{height:40px;padding:0 14px}
  .kbtn--icon{width:40px}
  .kres .results__tools .seg:not(.seg--view){flex:1}
  .kres .seg--view{flex:none;width:auto}
  .kres .seg--view button{flex:none;padding:0 10px}
  .kres .seg--view button svg{display:block!important}
  .krow__btns{gap:5px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .reveal,.js .card-wave,.js .wave .ch{opacity:1;transform:none}
}
/* ---------- Search map (kerko, Leaflet) ---------- */
.kmap{position:relative;z-index:0;height:clamp(380px,56vh,540px);margin:6px 0 20px;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#f2f2f0}
.kmap[hidden]{display:none}
.kmap.leaflet-container{font-family:var(--font)}
.kmap .leaflet-bar{border:0;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-1)}
.kmap .leaflet-bar a{width:38px;height:38px;line-height:38px;color:var(--ink);font-size:18px}
.kmap .leaflet-control-attribution{font-size:10.5px;background:rgba(255,255,255,.8)}
.kmap__locate{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px 0 12px;border-radius:999px;background:#fff;color:var(--ink);font:500 14px/1 var(--font);box-shadow:var(--shadow-1);cursor:pointer;transition:background-color .2s,color .2s}
.kmap__locate:hover{background:var(--ink);color:#fff}
.kmap__locate svg{font-size:17px;color:var(--accent)}
.kmap__locate.is-busy svg{animation:mmeSpin 1s linear infinite}
.kmap__err{height:100%;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center;font-size:14.5px;color:var(--muted)}
.kmap__err svg{font-size:26px;color:var(--faint)}
.mpin-wrap{width:0!important;height:0!important}
.mpin{position:absolute;left:0;bottom:9px;transform:translateX(-50%);display:inline-flex;align-items:center;height:30px;padding:0 11px;border-radius:999px;background:#fff;color:var(--ink);font:600 13px/1 var(--font);white-space:nowrap;box-shadow:0 8px 18px -8px rgba(27,27,27,.4),0 0 0 1px rgba(27,27,27,.07);transition:background-color .2s,color .2s}
.mpin::after{content:"";position:absolute;left:50%;bottom:-4px;width:9px;height:9px;margin-left:-4.5px;background:inherit;transform:rotate(45deg);border-radius:0 0 2px 0;box-shadow:1px 1px 0 rgba(27,27,27,.05)}
.mpin-wrap:hover .mpin,.mpin-wrap:focus-visible .mpin{background:var(--ink);color:#fff}
.mpin--city{gap:7px;height:34px;padding:0 14px 0 5px;font-weight:500}
.mpin--city b{min-width:24px;height:24px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:12px;font-weight:600}
.mpin-wrap:focus-visible{outline:none}
.mpin-wrap:focus-visible .mpin{box-shadow:0 0 0 3px var(--accent)}
.mme{position:absolute;left:-10px;top:-10px;width:20px;height:20px;border-radius:50%;background:var(--accent);border:3px solid #fff;animation:mmePulse 2.2s ease-out infinite}
@keyframes mmePulse{0%{box-shadow:0 0 0 0 rgba(252,110,32,.45)}100%{box-shadow:0 0 0 20px rgba(252,110,32,0)}}
@keyframes mmeSpin{to{transform:rotate(360deg)}}
.mpop .leaflet-popup-content-wrapper{padding:0;border-radius:20px;box-shadow:var(--shadow-2)}
.mpop .leaflet-popup-content{margin:14px;font-family:var(--font);font-size:14px;line-height:1.35}
.mpop .leaflet-popup-tip{box-shadow:none}
.mcard{display:flex;align-items:center;gap:12px}
.mcard__av{width:48px;height:48px;flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--soft-2);font-weight:600}
.mcard__av img{width:100%;height:100%;object-fit:cover}
.mcard b{display:block;font-size:15.5px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.mcard small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}
.mcard__meta{display:flex;align-items:center;gap:4px;margin-top:5px;font-size:12.5px;font-weight:500;color:var(--ink)}
.mcard__meta svg{font-size:12px;color:var(--accent)}
.mcard__btn{margin-top:12px;width:100%}
.krow__km{font-weight:500;color:var(--ink)}
.kq.is-busy svg{animation:mmeSpin 1s linear infinite}
@media (max-width:640px){
  .kmap{height:380px;margin:4px 0 16px;border-radius:20px}
  .kmap__locate{height:38px;font-size:13.5px}
}

/* ---------- Pill buttons: straight sides, fully round ends ---------- */
.btn,.sbtn{border-radius:999px!important}
.btn{padding-left:26px;padding-right:26px}
.btn--sm{padding-left:20px;padding-right:20px}
.nav__login,.nav__chip,.chips a,.fchip,.seg,.seg button,.empty__chips button,.book__slot,.fpills button,.cat-head .arrow{border-radius:999px}
.nav__chip .btn__av,.btn--user .btn__av{border-radius:50%}
.icon-btn,.nav__burger,.search__btn,.dlg__close,.filters__close,.pro__fav,.arrow{border-radius:50%}
.search__btn{width:70px;height:70px}
@media (max-width:640px){.search__btn{width:100%;height:58px;border-radius:999px}}

/* Illustrated portraits (avatars.js) */
[data-portrait] img.zp{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}

/* ---------- Headings: Satoshi (self-hosted), text stays Hanken Grotesk ---------- */
h1,h2,h3,.bento__big,.stat b,.step__num,.pro--more strong,.footer__word{font-family:var(--font-display)}

/* ── live-data additions (api.js) ─────────────────────────────────────── */
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden;opacity:0}
.ts{min-height:0;margin-top:4px}
.dlg__about{white-space:pre-line}
.dlg__loading{color:var(--muted)}
.works--photos{grid-auto-columns:minmax(150px,1fr)}
.work--photo{padding:0;overflow:hidden;display:block}
.work--photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.review__job{display:block;margin-top:6px;font-size:12px;color:var(--muted)}
.pros__empty{grid-column:1/-1;padding:24px;border-radius:18px;background:#fff;border:1px dashed var(--line);color:var(--muted)}
.pros__empty a{color:var(--ink);font-weight:600}
.btn.is-busy{opacity:.6;pointer-events:none}
/* ── step 2: site-wide live features ──────────────────────────────────── */
.sitebar{position:relative;z-index:95;padding:9px 16px;text-align:center;font-size:14px;font-weight:600;background:var(--accent,#fc6e20);color:#fff}
.sitebar a{color:inherit;text-decoration:underline}
.sitebar--dark{background:#1e1e1e;color:#f5f5f5}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:560px;margin:0 auto;padding:16px 18px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.16);font-size:14px;line-height:1.5;transform:translateY(130%);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s}
.consent.is-on{transform:none;opacity:1}
.consent p{margin:0 0 12px}.consent a{color:inherit;text-decoration:underline}
.consent__btns{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.installbar{position:fixed;left:16px;right:16px;bottom:16px;z-index:190;max-width:520px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-radius:20px;background:#1e1e1e;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.25);transform:translateY(130%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.installbar.is-on{transform:none}
.installbar p{flex:1;margin:0;font-size:13px;line-height:1.35;color:rgba(255,255,255,.75)}.installbar p b{display:block;color:#fff;font-size:14px}
.installbar__ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.1)}
.installbar__x{background:none;border:0;color:rgba(255,255,255,.6);padding:6px;cursor:pointer}
.installbar svg{width:16px;height:16px;vertical-align:-3px}
.supply{margin-top:22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.supply__count{margin:0;font-size:14px;color:var(--muted)}.supply__count b{color:var(--ink)}
.supply__client{margin:0;font-size:14px;color:var(--muted)}
.link{background:none;border:0;padding:0;font:inherit;color:var(--ink);font-weight:600;text-decoration:underline;cursor:pointer}
.supply__notify{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.supply__notify input,.lead input{height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font:inherit;font-size:14px;background:#fff;min-width:0}
.supply__msg,.lead__msg{flex-basis:100%;margin:0;font-size:13px}
.is-bad{color:#c0392b}.is-ok{color:#1e7a46}
.lead{margin:22px auto 0;max-width:520px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line);text-align:left}
.lead__t{margin:0 0 10px;font-size:14px;font-weight:600;display:flex;gap:8px;align-items:center}
.lead__row{display:flex;flex-wrap:wrap;gap:8px}.lead__row input{flex:1 1 140px}
.testis{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.testi{margin:0;background:#fff;border:1px solid var(--line)}
.dlg__report{display:inline-flex;align-items:center;gap:6px;margin-top:18px;padding:0;background:none;border:0;font:inherit;font-size:12.5px;color:var(--muted);cursor:pointer}
.dlg__report:hover{color:#c0392b}.dlg__report svg{width:14px;height:14px}
.has-sitebar .nav{margin-top:var(--sitebar,0px)}
/* ── step 3: chat, conversations, review page ─────────────────────────── */
.snack.is-action{cursor:pointer}
.chat{display:flex;flex-direction:column;gap:10px}
.chat__msgs{display:flex;flex-direction:column;gap:6px;min-height:180px}
.chat__note{margin:auto;padding:24px 8px;text-align:center;color:var(--muted);font-size:14px}
.cb{max-width:80%;padding:9px 12px 6px;border-radius:16px;font-size:14.5px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}
.cb small{display:block;margin-top:2px;font-size:10.5px;opacity:.6;text-align:right}
.cb--me{align-self:flex-end;background:#1e1e1e;color:#fff;border-bottom-right-radius:6px}
.cb--them{align-self:flex-start;background:var(--soft,#f2f2f4);border-bottom-left-radius:6px}
.chat__typing{margin:0;font-size:12.5px;color:var(--muted)}
.chat__phone:empty{display:none}
.chat__phone{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:var(--soft,#f2f2f4);font-size:13px;color:var(--muted)}
.chat__phone svg{width:16px;height:16px;flex:none}
.chat__phone.is-on{background:#ecfdf3;border:1px solid #b7ebcb;color:#1e7a46}
.chat__phone .btn svg{margin-right:4px}
.dlg__actions--chat{padding-top:10px}
.chat__bar{display:flex;gap:8px;align-items:flex-end;width:100%}
.chat__bar textarea{flex:1;min-height:46px;max-height:120px;padding:12px 14px;border-radius:22px;border:1px solid var(--line);font:inherit;font-size:15px;resize:none;background:#fff}
.chat__bar .btn{flex:none;width:46px;height:46px;padding:0;border-radius:50%;justify-content:center}
.chatfab{position:fixed;right:16px;bottom:16px;z-index:150;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:0;border-radius:999px;background:#1e1e1e;color:#fff;font:inherit;font-size:14px;font-weight:600;box-shadow:0 12px 32px rgba(0,0,0,.22);cursor:pointer}
.chatfab svg{width:18px;height:18px}
.chatfab em{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent,#fc6e20);font-size:12px;display:grid;place-items:center}
.chats{display:flex;flex-direction:column;gap:8px}
.chats__n{font-style:normal;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--accent,#fc6e20);color:#fff;font-size:12px;display:grid;place-items:center}
.dlg__top--plain{padding-bottom:18px}
.rv{display:flex;justify-content:center;padding-top:72px}
.rv__card{width:100%;max-width:520px;padding:32px 24px;border-radius:28px;background:#fff;border:1px solid var(--line);text-align:center}
.rv__card .h2{font-size:clamp(26px,5vw,34px);margin:14px 0 8px}
.rv__ic{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--soft,#f2f2f4)}
.rv__sub{color:var(--muted);margin:0 0 18px}
.rv__loading{color:var(--muted)}
.rv__form{text-align:left;display:flex;flex-direction:column;gap:12px}
.rv__stars{display:flex;justify-content:center;gap:6px}
.rv__stars button{width:48px;height:48px;border:0;border-radius:14px;background:var(--soft,#f2f2f4);cursor:pointer;color:#c9c9cf}
.rv__stars button svg{width:26px;height:26px}
.rv__stars button.is-on{color:#f5a524;background:#fff6e5}
.rv__stars button.is-on svg{fill:currentColor}
.rv__label{margin:0;text-align:center;font-size:13px;color:var(--muted)}
.rv__card .btn{align-self:center}

/* ── live hero map (real craftsmen, drawn on the page) ─────────────────── */
.lmap__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#lmDots circle{fill:#d4d4db}
.lmap__route{fill:none;stroke:var(--accent-line);stroke-width:1.4;stroke-dasharray:2 7;stroke-linecap:round}
.lmap__ring{fill:none;stroke:rgba(var(--accent-rgb),.32);stroke-width:1}
.lmap__ring--2{stroke:rgba(var(--accent-rgb),.16)}
.lmap__dot{fill:#fff;stroke:#bdbdc6;stroke-width:1.5}
.lmap__city text{font-size:9.5px;font-weight:500;fill:#6b6b6b;paint-order:stroke;stroke:#f7f7f8;stroke-width:4px;stroke-linejoin:round}
.lmap__pulse{fill:var(--accent);opacity:0}
.lmap__city.is-live .lmap__dot{fill:var(--accent);stroke:#fff;stroke-width:2}
.lmap__city.is-live text{fill:var(--ink);font-weight:600}
@media (prefers-reduced-motion:no-preference){
  .lmap__route{animation:lmDash 3s linear infinite}
  .lmap__city.is-live .lmap__pulse{animation:lmPulse 2.4s ease-out infinite;transform-box:fill-box;transform-origin:center}
  .lcard{animation:lcIn .7s cubic-bezier(.16,1,.3,1) backwards}
}
@keyframes lmDash{to{stroke-dashoffset:-36}}
@keyframes lmPulse{0%{opacity:.45;transform:scale(1)}100%{opacity:0;transform:scale(4.2)}}
@keyframes lcIn{from{opacity:0;translate:0 12px}}
.lmap__cards{position:absolute;left:12px;right:12px;top:calc(100% + 8px);display:flex;flex-wrap:wrap;justify-content:center;gap:8px;pointer-events:none}
.lcard{position:relative;z-index:2;pointer-events:auto;max-width:100%;display:flex;align-items:center;gap:10px;padding:9px 16px 9px 9px;border:0;border-radius:18px;background:#fff;box-shadow:0 16px 36px -16px rgba(27,27,27,.4),0 0 0 1px rgba(0,0,0,.04);font:inherit;color:var(--ink);text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:box-shadow .25s,translate .25s}
.lcard:hover{translate:0 -3px;box-shadow:0 22px 40px -16px rgba(27,27,27,.45),0 0 0 1px rgba(0,0,0,.05)}
.lcard__av{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:none;overflow:hidden;background:var(--accent-soft);color:#fff;font-size:14px;font-weight:600}
.lcard__av:not(.has-photo):not([style*="#"]){color:var(--accent-ink)}
.lcard__av img{width:100%;height:100%;object-fit:cover}
.lcard__txt small{display:flex;align-items:center;gap:3px;font-size:11.5px;color:var(--muted)}
.lcard__txt small svg{width:13px;height:13px;color:#1e9e5a}
.lcard__txt b{display:block;font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.lcard__txt b small{display:inline;font-size:12px;font-weight:500;color:var(--muted)}
.lcard__txt em{display:flex;align-items:center;gap:3px;font-style:normal;font-size:12px;color:var(--muted)}
.lcard__txt em svg{width:12px;height:12px;color:#f5a524;fill:#f5a524}
.lcard--invite{background:rgba(255,255,255,.72);border:1.5px dashed var(--accent-line);box-shadow:none;backdrop-filter:blur(4px)}
.lcard--invite .lcard__av{background:#fff;border:1.5px dashed var(--accent-line);color:var(--accent)}
.lcard--invite .lcard__av svg{width:18px;height:18px}
.lcard--invite em{color:var(--accent-ink);font-weight:600}
@media (max-width:640px){
  .lcard{gap:7px;padding:6px 11px 6px 6px;border-radius:14px}
  .lcard__av{width:30px;height:30px;border-radius:10px;font-size:11.5px}
  .lcard__txt b{font-size:14px}.lcard__txt small,.lcard__txt em{font-size:10.5px}
  .lmap__city text{font-size:15px}
  .lmap__city--minor:not(.is-live) text{display:none}   /* small towns keep their dot; names would collide */
  .lmap .hero__near{height:38px;padding:0 14px 0 11px;font-size:13.5px;gap:6px}
}

/* Footer wordmark: orange, fading into the dark footer (it was #1c1c1f on near-black). */
.footer__word{color:transparent;background:linear-gradient(180deg,var(--accent) 0%,rgba(var(--accent-rgb),.6) 55%,rgba(var(--accent-rgb),.06) 100%);-webkit-background-clip:text;background-clip:text}
.footer .footer__word strong,.footer .footer__word b{font-weight:700;color:transparent}

/* Kosovo's border (OpenStreetMap), drawn under the cities */
.lmap__halo{fill:none;stroke:rgba(var(--accent-rgb),.10);stroke-width:9;stroke-linejoin:round}
.lmap__land{fill:#fff;fill-opacity:.9}
.lmap__border{fill:none;stroke:#8e8e9a;stroke-width:1.4;stroke-linejoin:round}
.lmap__credit{position:absolute;left:11%;bottom:9%;z-index:2;font-size:10.5px;color:var(--muted);text-decoration:none;opacity:.85}
.lmap__credit:hover{text-decoration:underline}
.lmap .hero__near{right:7%;bottom:4%}   /* the map's empty south-east corner: clear of land and towns */
/* The hero's text layer spans the whole card (z-index 2), so on desktops it sat over the map
   and swallowed every click on the cards and "Gjej pranë meje". The map now sits above it and
   lets clicks through everywhere except its own links and buttons. */
.hero__map{z-index:3;pointer-events:none;-webkit-mask-image:none;mask-image:none}   /* the edge fade was for the old picture; it hid the card row and faded the side cards */
.hero__map a,.hero__map button{pointer-events:auto}

/* Phones: iOS zooms into any text box under 16px (owner, 18 Oct 2026: "you have to zoom out every time"). */
@media (pointer:coarse){input,select,textarea{font-size:16px!important}}
/* Work-photo viewer (site.js) */
.lbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;background:rgba(10,10,10,.92);align-items:center;justify-content:center;padding:56px 68px;color:#fff}
.lbox[open]{display:flex}
.lbox::backdrop{background:rgba(10,10,10,.6)}
.lbox__fig{margin:0;max-width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
.lbox__img{max-width:100%;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);border-radius:10px;object-fit:contain;background:#111}
.lbox__count{color:#ddd;font-size:14px;min-height:1em}
.lbox__x,.lbox__nav{position:absolute;z-index:2;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:999px}
.lbox__x{top:12px;right:12px;width:44px;height:44px;font-size:30px;line-height:1}
.lbox__nav{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:34px;line-height:1}
.lbox__nav--prev{left:10px}.lbox__nav--next{right:10px}
.lbox.is-single .lbox__nav{display:none}
.lbox__x:hover,.lbox__nav:hover{background:rgba(255,255,255,.24)}
.lbox__x:focus-visible,.lbox__nav:focus-visible{outline:2px solid #fc6e20;outline-offset:2px}
html.lbox-open{overflow:hidden}
@media (max-width:600px){.lbox__nav{width:40px;height:40px;font-size:28px}.lbox{padding:56px 4px}.lbox__nav{background:rgba(0,0,0,.55)}}
