/* LOCAL FONTS: DM Sans + Cormorant Garamond (WOFF2) */
@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/dm-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:500;src:url('../fonts/dm-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:600;src:url('../fonts/dm-sans-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:700;src:url('../fonts/dm-sans-latin-700-normal.woff2') format('woff2');}

@font-face{font-family:'Cormorant Garamond';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-display:swap;font-weight:500;src:url('../fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-display:swap;font-weight:600;src:url('../fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-display:swap;font-weight:700;src:url('../fonts/cormorant-garamond-latin-700-normal.woff2') format('woff2');}

/* =========================================================
   Oksana Landing — v2.5.2
   - Premium-ish UI, dark glass, accent via --acc/--acc2
   - Modal/overlay transitions via opacity + pointer-events
   - prefers-reduced-motion support
   ========================================================= */

:root{
  --font-display: 'Cormorant Garamond', ui-serif, Georgia, serif;
  --font-body: 'DM Sans', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;

  
  --serif: ui-serif, Georgia, "Times New Roman", Times, serif;
  --bg:#f6f3ec;
  --bg2:#eef3ee;
  --card:rgba(255,255,255,.78);
  --card2:rgba(255,255,255,.94);
  --text:#172625;
  --mut:#3f4f4d;
  --mut2:#667673;
  --line:rgba(23,38,37,.12);
  --shadow:0 18px 45px rgba(20,30,28,.10);
  --shadow2:0 10px 26px rgba(20,30,28,.08);

  /* brand green */
  --acc:#2f6b63;
  --acc2:#245c55;
  --acc-rgb: 47 107 99;
  --acc2-rgb: 36 92 85;

  /* primary CTA (gold) */
  --cta:#d6a443;
  --cta2:#c4871f;
  --cta-rgb: 214 164 67;
  --cta2-rgb: 196 135 31;

  --ok:#22c55e;
  --warn:#ea9a3f;

  --r16:16px;
  --r18:18px;
  --r22:22px;

  --pad: 18px;
  --max: 1140px;

  --t: 280ms;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: var(--font-body);
  background: #f8f6f1;
  background-image:
    radial-gradient(ellipse 800px 400px at 15% 0%, rgba(47,107,99, .08), transparent 50%),
    radial-gradient(ellipse 600px 300px at 85% 10%, rgba(47,107,99, .05), transparent 50%);
  color:var(--text);
  overflow-x:hidden;
}

a{color:inherit}
img{max-width:100%; display:block}
button{font:inherit}

.pf-wrap{max-width:var(--max); margin:0 auto; padding:0 18px}
.pf-sec{padding:64px 0}
.pf-sec--alt{
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
}
.pf-secHead{margin-bottom:18px}
.pf-h1{font-family:var(--font-display); font-size:clamp(36px, 5vw, 56px); font-weight:500; letter-spacing:-0.02em; line-height:1.08; margin:10px 0 12px}
.pf-h2{font-family:var(--font-display); font-size:clamp(26px, 3.5vw, 38px); font-weight:500; letter-spacing:-0.01em; margin:0 0 8px}
.pf-sub{margin:0; color:var(--mut); max-width:68ch}
.pf-lead{font-size:18px; color:var(--mut); margin:0 0 16px; max-width:60ch}

.pf-topbar{
  position:sticky; top:0; z-index:70;
  /* FIX v2.10.6: header must be a solid readable layer (no "bleed" from hero) */
  backdrop-filter: blur(10px);
  background: rgb(var(--acc2-rgb) / .92);
  border-bottom:1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
}
.pf-topbar__in{display:flex; align-items:center; gap:14px; padding:14px 0}
.pf-brand{display:flex; align-items:center; gap:10px; min-width:240px}
.pf-brand__logo{
  width:40px; height:40px; border-radius:14px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgb(var(--acc-rgb) / .95), rgb(var(--acc2-rgb) / .7));
  box-shadow: 0 10px 30px rgb(var(--acc-rgb) / .25);
  font-weight:800;
}
.pf-brand__name{font-weight:800}
.pf-brand__tag{font-size:12px; color:var(--mut2)}

.pf-topnav{display:flex; gap:8px; flex:1; justify-content:center}
.pf-topbar__cta{display:flex; justify-content:flex-end; min-width:160px}

/* FIX v2.10.6: readable nav/buttons on header */
.pf-topbar .pf-brand__name{color: rgba(255,255,255,.94)}
.pf-topbar .pf-brand__tag{color: rgba(255,255,255,.72)}
.pf-topbar .pf-btn{
  color: rgba(255,255,255,.92);
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
}
.pf-topbar .pf-btn--ghost{background: transparent; border-color: rgba(255,255,255,.18);}
.pf-topbar .pf-btn--ghost:hover{background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.22);}

.pf-btn{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color:var(--text);
  padding:10px 14px;
  border-radius:14px;
  cursor:pointer;
  transition: transform var(--t) ease, background var(--t) ease, border-color var(--t) ease, opacity var(--t) ease;
  text-decoration:none;
  display:inline-flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  user-select:none;
}
.pf-btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18)}
.pf-btn:active{transform: translateY(0px) scale(.99)}
.pf-btn--ghost{background: transparent}
.pf-btn--acc{
  background: linear-gradient(135deg, rgb(var(--cta-rgb) / .98), rgb(var(--cta2-rgb) / .92));
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 16px 44px rgb(var(--cta-rgb) / .22);
    color: #172625;
  font-weight: 700;
  text-shadow: none;
}
.pf-btn--acc:hover{
  background: linear-gradient(135deg, #e0b050, #c49025);
  transform: translateY(-2px);
  box-shadow: 0 20px 50px rgba(214, 164, 67, .30);
}
.pf-btn--lg{padding:12px 16px; border-radius:16px}
.pf-btn--sm{padding:8px 12px; border-radius:14px; font-size:13px}
.pf-btn--block{width:100%}

.pf-card{
  background: rgba(255,255,255, .92);
  border: 1px solid rgba(47, 107, 99, .08);
  border-radius: 24px;
  box-shadow:
    0 1px 2px rgba(20,30,28, .04),
    0 8px 24px rgba(20,30,28, .06),
    0 24px 48px rgba(20,30,28, .04);
  backdrop-filter: blur(8px);
}

.pf-hero{padding:54px 0 12px}
.pf-hero__grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:24px;
  align-items:stretch;
}
.pf-badges{display:flex; flex-wrap:wrap; gap:8px}
.pf-badge{
  font-size:13px; color: rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  padding:7px 12px; border-radius: 999px;
}
.pf-badge--top{border-color: rgb(var(--acc2-rgb) / .30); background: rgb(var(--acc2-rgb) / .10)}
.pf-badge--trial{border-color: rgb(var(--acc-rgb) / .32); background: rgb(var(--acc-rgb) / .10)}
.pf-badge--hit{border-color: rgb(var(--cta-rgb) / .32); background: rgb(var(--cta-rgb) / .10)}
.pf-bullets{margin:0 0 18px 18px; color:var(--mut)}
.pf-bullets li::marker{color: rgb(var(--cta-rgb) / 1);}

.pf-hero__actions{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px}
.pf-quickcta{display:flex; gap:8px; flex-wrap:wrap; margin: 10px 0 16px}
.pf-chip{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color:var(--text);
  padding:8px 12px;
  border-radius:999px;
  cursor:pointer;
  transition: transform var(--t) ease, background var(--t) ease, border-color var(--t) ease, opacity var(--t) ease;
  font-size:13px;
}
.pf-chip:hover{transform: translateY(-1px); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18)}
.pf-chip.is-active{background: rgb(var(--acc-rgb) / .20); border-color: rgb(var(--acc-rgb) / .55)}

.pf-stats{display:grid; grid-template-columns: repeat(3, 1fr); gap:10px}
.pf-stat{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius: var(--r18);
  padding:12px;
}
.pf-stat__n{font-weight:900; font-size:18px}
.pf-stat__t{color:var(--mut2); font-size:12px; margin-top:4px}

.pf-heroGallery{
  height:100%;
  min-height: 420px;
  border-radius: 26px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  overflow:hidden;
  box-shadow: var(--shadow);
  position:relative;
}
.pf-heroGallery__main{position:relative; height: 340px}
.pf-heroGallery__img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: opacity var(--t) ease;
  opacity:0;
}
.pf-heroGallery__img.is-ready{opacity:1}
.pf-heroGallery__shade{
  position:absolute; inset:0;
  background: radial-gradient(600px 240px at 20% 10%, rgb(var(--acc-rgb) / .20), transparent 60%),
              linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.28));
  pointer-events:none;
}
.pf-heroGallery__thumbs{
  display:flex;
  gap:10px;
  padding:12px;
  overflow:auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
}
.pf-heroGallery__thumbs::-webkit-scrollbar{height:8px}
.pf-heroGallery__thumbs::-webkit-scrollbar-thumb{background: rgba(255,255,255,.14); border-radius: 999px}

.pf-thumb{
  flex:0 0 auto;
  width:84px; height:54px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden;
  position:relative;
  cursor:pointer;
  background: rgba(255,255,255,.03);
  padding:0;
  scroll-snap-align: start;
  touch-action: manipulation;
}
.pf-thumb img{width:100%; height:100%; object-fit:cover; opacity:.92}
.pf-thumb.is-active{border-color: rgb(var(--acc-rgb) / .70); box-shadow: 0 12px 26px rgb(var(--acc-rgb) / .22)}

.pf-hgNav{
  width:42px; height:42px;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(10,10,16,.50);
  backdrop-filter: blur(10px);
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor:pointer;
  color: rgba(255,255,255,.92);
  font-size:26px;
  line-height:1;
  display:grid;
  place-items:center;
  transition: transform var(--t) ease, opacity var(--t) ease, background var(--t) ease, border-color var(--t) ease;
}
.pf-hgNav:hover{transform: translateY(-50%) scale(1.02); border-color: rgba(255,255,255,.18)}
.pf-hgNav--prev{left: 12px}
.pf-hgNav--next{right: 12px}
.pf-hgNav--in{top: 50%}
.pf-hgNav--in.pf-hgNav--prev{left: 10px}
.pf-hgNav--in.pf-hgNav--next{right: 10px}

.pf-skel{
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(255,255,255,.03), rgba(255,255,255,.06), rgba(255,255,255,.03));
  background-size: 240% 100%;
  animation: pfShimmer 1.25s ease-in-out infinite;
}
@keyframes pfShimmer{
  0%{background-position: 110% 0}
  100%{background-position: -30% 0}
}

.pf-cats{
  /* Flex-wrap so the last row (1–2 cards) is centered */
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-top:16px;
}
.pf-catCard{
  /* 3-up on desktop, 2-up on tablet, 1-up on mobile — while keeping last row centered */
  flex: 0 1 calc((100% - 28px) / 3);
  min-width: 240px;
  max-width: 420px;
}
@media (max-width: 980px){
  .pf-catCard{ flex-basis: calc((100% - 14px) / 2); }
}
@media (max-width: 560px){
  .pf-catCard{ flex-basis: 100%; }
}
.pf-catCard{
  padding:16px;
  cursor:pointer;
  transition: transform var(--t) ease, border-color var(--t) ease, background var(--t) ease;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pf-catCard:hover{transform: translateY(-2px); border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.05)}
.pf-catCard__top{display:flex; gap:12px; align-items:flex-start}
.pf-catIcon{
  width:44px; height:44px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgb(var(--acc-rgb) / .22), rgb(var(--acc2-rgb) / .12));
  border:1px solid rgb(var(--acc-rgb) / .32);
  display:grid; place-items:center;
  font-size:20px;
  color: rgb(var(--acc2-rgb));
}
.pf-catCard__title{font-weight:900; font-size:16px; margin-top:2px}
.pf-catCard__desc{color:var(--mut); font-size:13px; margin-top:6px; line-height:1.35}
.pf-pains{margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin-top:auto}
.pf-pain{
  font-size:12px;
  color: var(--text);
  background: rgb(var(--acc2-rgb) / .10);
  border:1px solid rgb(var(--acc2-rgb) / .22);
  padding:6px 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.pf-pain:hover{background: rgb(var(--acc2-rgb) / .14); border-color: rgb(var(--acc2-rgb) / .30)}
.pf-painIco{
  display:inline-grid;
  place-items:center;
  width:16px;
  height:16px;
  border-radius:999px;
  background: rgb(var(--acc2-rgb) / .16);
  border:1px solid rgb(var(--acc2-rgb) / .26);
}
.pf-painIco svg{
  width:12px;
  height:12px;
  fill:none;
  stroke: rgb(var(--acc2-rgb) / .95);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pf-painTxt{white-space:nowrap}

.pf-pains--svc{gap:6px; margin-top:6px}
.pf-pains--svc .pf-pain{font-size:11px; padding:5px 8px}

.pf-revGrid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:14px}
.pf-revCard{
  padding:24px;
  position:relative;
  background: rgba(255,255,255, .92);
  border: 1px solid rgba(47,107,99,.08);
  border-radius: 24px;
  box-shadow:
    0 1px 2px rgba(20,30,28, .04),
    0 8px 24px rgba(20,30,28, .06),
    0 24px 48px rgba(20,30,28, .04);
  overflow:hidden;
}
.pf-revCard::before{
  content:'"';
  position:absolute;
  top:8px;
  right:14px;
  font-family: var(--font-display);
  font-size:64px;
  line-height:1;
  color: rgba(47,107,99,.08);
  pointer-events:none;
}
.pf-revId{display:flex; align-items:center; gap:10px}
.pf-revAvatar{
  width:40px; height:40px; border-radius:50%;
  background: linear-gradient(135deg, rgba(47,107,99,.15), rgba(47,107,99,.05));
  border:1px solid rgba(47,107,99,.20);
  display:grid; place-items:center;
  font-weight:800; font-size:16px;
  color: var(--acc);
}
.pf-revWho{display:flex; flex-direction:column; gap:2px}
.pf-revStars{display:flex; gap:2px; color: #d6a443; font-size:14px; letter-spacing:1px}
.pf-revMeta{font-size:12px; color: var(--mut2)}

.pf-revCard__top{display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:10px}
.pf-revName{font-weight:900; color:var(--text)}
.pf-revText{color:var(--mut); margin:0; line-height:1.55}

.pf-trust{
  margin-top:16px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.55);
  border-radius: var(--r22);
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.pf-trust__title{font-weight:900; color:var(--text)}
.pf-trust__links{display:flex; flex-wrap:wrap; gap:10px}
.pf-link{
  color: var(--text);
  text-decoration:none;
  border-bottom:1px dashed rgba(23,38,37,.35);
  padding-bottom:2px;
}
.pf-link:hover{border-bottom-color: rgb(var(--acc-rgb) / .85)}

@media (max-width: 900px){
  .pf-revGrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 640px){
  .pf-revGrid{grid-template-columns:1fr}
  .pf-trust{flex-direction:column; align-items:flex-start}
}

.pf-shotWrap{margin-top:18px}
.pf-shotHead{display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:10px}
.pf-shotTitle{font-weight:900}
.pf-shotHint{color:var(--mut2); font-size:12px}
.pf-shotTrack{
  display:flex;
  gap:12px;
  overflow:auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 18px; /* Android scrollbar */
}
.pf-shotTrack::-webkit-scrollbar{height:8px}
.pf-shotTrack::-webkit-scrollbar-thumb{background: rgba(255,255,255,.14); border-radius: 999px}
.pf-shot{
  flex: 0 0 auto;
  width: 260px;
  height: 180px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  overflow:hidden;
  position:relative;
  scroll-snap-align: start;
  cursor: zoom-in;
}
.pf-shot img{width:100%; height:100%; object-fit:cover; opacity:.94}
.pf-shot{transition: transform var(--t) ease, filter var(--t) ease, border-color var(--t) ease}
.pf-shot:hover{filter: brightness(1.08); transform: translateY(-1px); border-color: rgba(255,255,255,.16)}

.pf-shot.is-broken::after{
  content:"нет изображения";
  position:absolute; inset:0;
  display:grid; place-items:center;
  color: rgba(255,255,255,.70);
  font-size:13px;
  background: rgba(10,10,16,.30);
}


#contacts .pf-secHead{text-align:center}
#contacts .pf-secHead .pf-sub{max-width: 760px; margin-left:auto; margin-right:auto}

#contacts .pf-secHead__row{display:flex; align-items:flex-end; justify-content:space-between; gap:14px; flex-wrap:wrap}
#contacts .pf-secHead__row > div{min-width: 260px}
#contacts #contactsCta{white-space:nowrap}
@media (max-width: 760px){
  #contacts .pf-secHead__row{justify-content:center; text-align:center}
  #contacts #contactsCta{width:100%; justify-content:center}
}

/* Contacts premium card */
.pf-contactsCard{padding:16px; margin-top:14px; background: rgba(255,255,255,.98)}
.pf-contactsCard .pf-locs__chips{justify-content:flex-start}
.pf-contactsCard .pf-chip{border:1px solid rgba(23,38,37,.14); background: rgba(23,38,37,.03)}
.pf-contactsCard .pf-chip:hover{background: rgba(23,38,37,.05); border-color: rgba(23,38,37,.18)}
.pf-contactsCard .pf-chip.is-active{background: rgb(var(--acc-rgb) / .14); border-color: rgb(var(--acc-rgb) / .45)}

.pf-locs__chips{display:flex; gap:8px; flex-wrap:wrap; margin: 12px 0 14px; justify-content:center}
.pf-locs__grid{display:grid; grid-template-columns: 0.95fr 1.05fr; gap:14px; align-items:start}
.pf-locCard{padding:16px; display:flex; flex-direction:column; min-height: 300px}
.pf-locActions .pf-btn{flex:1 1 auto}
@media (min-width: 900px){
  .pf-locCard{position:sticky; top:14px}
  .pf-mapCard__in{min-height: 420px}
}
.pf-locCard__row{display:flex; justify-content:space-between; align-items:center; gap:12px}
.pf-locCard__title{font-weight:900; font-size:16px}
.pf-locCard__meta{margin-top:10px; display:grid; gap:10px}
.pf-locLine{display:flex; flex-direction:column; gap:2px}
.pf-locK{font-size:12px; color:var(--mut); letter-spacing:.02em}
.pf-locV{font-size:15px; color:var(--txt)}
.pf-locLine--phone{padding-top:2px}
.pf-locQuick{display:flex; flex-wrap:wrap; gap:8px}
.pf-locQuick .pf-btn{white-space:nowrap}
.pf-locActions{margin-top:auto; padding-top:14px; display:flex; flex-wrap:wrap; gap:8px}
.pf-mapCard{overflow:hidden}
.pf-mapCard__in{height: 100%; min-height: 300px}
.pf-mapCard__in iframe{width:100%; height:100%; border:0}


/* ========================= CONTACTS MAP STAGE (smooth swap + badge) ========================= */
.pf-mapCard{position:relative}
.pf-mapCard__in{position:relative}
.pf-mapStage{position:relative; width:100%; height:100%; min-height:300px; background: rgba(16,20,30,.04); border-radius: 16px; overflow:hidden}
.pf-mapLayer{position:absolute; inset:0; opacity:0; transform: translateZ(0); transition: opacity 260ms ease}
.pf-mapLayer.is-active{opacity:1}
.pf-mapStage.is-loading .pf-mapLayer.is-active{opacity:1}
.pf-mapStage.is-loading .pf-mapLayer:not(.is-active){opacity:0.0}
.pf-mapBadge{
  position:absolute; left:12px; top:12px;
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(16,20,30,.10);
  color: rgba(16,20,30,.82);
  font-size: 12px;
  box-shadow: 0 10px 30px rgba(10,12,18,.10);
  backdrop-filter: blur(8px);
  pointer-events:none;
}
.pf-mapBadge:empty{display:none}
.pf-mapBadge.is-pulse{
  animation: pfMapPulse 700ms ease;
}
@keyframes pfMapPulse{
  0%{transform:scale(.98); box-shadow: 0 10px 30px rgba(10,12,18,.10)}
  40%{transform:scale(1.02); box-shadow: 0 16px 46px rgba(10,12,18,.18)}
  100%{transform:scale(1.0); box-shadow: 0 10px 30px rgba(10,12,18,.10)}
}
.pf-mapSkeleton{
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(16,20,30,.06), rgba(16,20,30,.02), rgba(16,20,30,.06));
  background-size: 220% 100%;
  animation: pfSkel 1100ms ease infinite;
}
@keyframes pfSkel{0%{background-position:0% 0}100%{background-position:100% 0}}
.pf-mapEmpty{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:24px; text-align:center;
}
.pf-mapEmpty__t{font-weight:900; font-size:14px; color:rgba(16,20,30,.84)}
.pf-mapEmpty__s{margin-top:6px; font-size:13px; color:rgba(16,20,30,.62); max-width: 420px}

.pf-dock{
  position:fixed;
  left: 10px; right: 10px;
  bottom: calc(10px + env(safe-area-inset-bottom));
  z-index: 60;
  display:flex;
  gap:10px;
  justify-content:center;
  pointer-events:none;
}

.pf-dock.is-hidden{opacity:0; pointer-events:none; transform: translateY(12px);}
.pf-dock__in{
  pointer-events:auto;
  display:flex;
  gap:10px;
  background: rgb(var(--acc2-rgb) / .48);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
  padding:10px;
  border-radius: 999px;
  box-shadow: var(--shadow2);
}
.pf-dockBtn{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.92);
  border-radius: 999px;
  padding:10px 12px;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  transition: transform var(--t) ease, background var(--t) ease, border-color var(--t) ease;
  font-size:13px;
}
.pf-dockBtn:hover{transform: translateY(-1px); background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18)}
.pf-dockIco{
  width:28px; height:28px;
  border-radius: 999px;
  display:grid; place-items:center;
  background: rgb(var(--acc-rgb) / .18);
  border:1px solid rgb(var(--acc-rgb) / .35);
  font-size:14px;
}

.pf-catback{
  position:fixed; inset:0;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(10px);
  opacity:0;
  pointer-events:none;
  transition: opacity var(--t) ease;
  z-index: 80;
}
.pf-drawerback{
  position:fixed; inset:0;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(10px);
  opacity:0;
  pointer-events:none;
  transition: opacity var(--t) ease;
  z-index: 82;
}
.pf-modalback{
  position:fixed; inset:0;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(10px);
  opacity:0;
  pointer-events:none;
  transition: opacity var(--t) ease;
  z-index: 84;
}
.pf-catback.is-open,.pf-modalback.is-open,.pf-drawerback.is-open{
  opacity:1;
  pointer-events:auto;
}

.pf-cat{
  position:absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%) scale(.985);
  width: min(860px, calc(100% - 20px));
  max-height: min(78vh, 720px);
  overflow:auto;
  border-radius: 26px;
  background: rgba(16,16,26,.92);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
  transition: transform var(--t) ease;
}
.pf-catback.is-open .pf-cat{transform: translate(-50%,-50%) scale(1)}
.pf-cat__head{
  position:sticky; top:0;
  background: rgba(16,16,26,.92);
  backdrop-filter: blur(12px);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:14px 14px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.pf-cat__title{font-weight:900; font-size:18px}
.pf-cat__sub{padding: 10px 14px 0; color:var(--mut)}
.pf-cat__list{padding: 14px; display:grid; gap:10px}

.pf-x{
  width:42px; height:42px;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.92);
  cursor:pointer;
}
.pf-x:hover{background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18)}

.pf-svcRow{
  display:grid;
  grid-template-columns: 76px 1fr auto;
  gap:12px;
  padding:12px;
  border-radius: 20px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}
.pf-svcRow:hover{border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.04)}
.pf-svcThumb{
  width:76px; height:56px;
  border-radius: 16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  position:relative;
}
.pf-svcThumb img{width:100%; height:100%; object-fit:cover}
.pf-svcInfo{display:flex; flex-direction:column; gap:6px}
.pf-svcTitle{font-weight:900}
.pf-svcMeta{display:flex; gap:8px; flex-wrap:wrap}
.pf-pill{
  font-size:12px;
  color: rgb(var(--acc2-rgb));
  border:1px solid rgb(var(--acc-rgb) / .18);
  background: rgb(var(--acc-rgb) / .10);
  padding:6px 10px;
  border-radius: 999px;
}
.pf-pill--acc{border-color: rgb(var(--cta-rgb) / .55); background: rgb(var(--cta-rgb) / .88); color:#172625; font-weight:800}
/* Price pill in dark service modal: make it pop */
.pf-modal #srvPrice.pf-pill--acc{
  background: rgb(var(--cta-rgb) / .92);
  border-color: rgb(var(--cta-rgb) / .55);
  color: #172625;
  font-weight: 800;
}

.pf-svcShort{color:var(--mut); font-size:13px; line-height:1.35}

.pf-modalback{display:flex; align-items:center; justify-content:center; padding: 12px}
.pf-modal{
  width: min(980px, calc(100% - 16px));
  max-height: min(86vh, 820px);
  overflow:auto;
  border-radius: 26px;
  background: rgba(16,16,26,.94);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
  transform: translateY(10px) scale(.99);
  transition: transform var(--t) ease;
  display:none;
}
.pf-modalback.is-open .pf-modal.is-open{display:block; transform: translateY(0) scale(1)}
.pf-modal__head{
  position:sticky; top:0;
  background: rgba(16,16,26,.94);
  backdrop-filter: blur(12px);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  z-index:2;
}
.pf-modal__title{font-weight:900; font-size:18px}
.pf-modal__headActions{display:flex; gap:8px; align-items:center}
.pf-modal__body{padding:14px}

.pf-srvGrid{display:grid; grid-template-columns: 1fr 0.95fr; gap:14px}
.pf-srvSlider{
  border-radius: 22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  position:relative;
  min-height: 320px;
}
.pf-srvSlider__track{
  display:flex;
  overflow:auto;
  scroll-snap-type: x mandatory;
  height: 320px;
}
.pf-srvSlider__track::-webkit-scrollbar{height:8px}
.pf-srvSlider__track::-webkit-scrollbar-thumb{background: rgba(255,255,255,.14); border-radius: 999px}
.pf-srvShot{
  flex:0 0 100%;
  height: 320px;
  scroll-snap-align:start;
  position:relative;
}
.pf-srvShot img{
  width:100%; height:100%;
  object-fit: cover; /* toggled via fit class */
  transition: opacity var(--t) ease;
  opacity:0;
}
.pf-srvShot img.is-ready{opacity:1}
.pf-srvShot .pf-skel{inset:0}
.pf-fit-contain .pf-srvShot img{object-fit: contain; background: rgba(0,0,0,.25)}

.pf-srvInfo{display:flex; flex-direction:column; gap:12px}
.pf-srvMeta{display:flex; gap:8px; flex-wrap:wrap}
.pf-srvShort{font-size:15px; line-height:1.45; color: rgba(255,255,255,.92)}
.pf-srvBlock{border-top:1px solid rgba(255,255,255,.08); padding-top:12px}
.pf-srvBlock__title{font-weight:900; margin-bottom:8px}
.pf-srvList{margin:0; padding-left:18px; color:var(--mut); display:grid; gap:6px}
.pf-srvSteps{margin:0; padding-left:18px; color:var(--mut); display:grid; gap:6px}
.pf-srvDesc{color:var(--mut); line-height:1.55; white-space: pre-line;

}

.pf-srvCTA{margin-top:8px}
.pf-srvCTA__hint{margin-top:8px; color:var(--mut2); font-size:12px}

.pf-stickyCta{
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  display:none;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
  background: rgba(10,10,16,.86);
  border-top:1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(12px);
  z-index: 4;
}
.pf-stickyCta.is-on{display:flex}
.pf-stickyCta__meta{min-width:0}
.pf-stickyCta__t{font-weight:900; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width: 54vw}
.pf-stickyCta__p{color: rgba(255,255,255,.86); font-size:12px; margin-top:4px}

.pf-lightbox{
  border-radius: 22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  position:relative;
  min-height: 380px;
}
.pf-lightbox img{width:100%; height: min(72vh, 720px); object-fit: contain; opacity:0; transition: opacity var(--t) ease}
.pf-lightbox img.is-ready{opacity:1}

/* Drawer (variant B) */
.pf-drawerback{display:flex; align-items:flex-end; justify-content:center; padding: 10px}
.pf-drawer{
  width: min(860px, calc(100% - 16px));
  max-height: min(82vh, 720px);
  overflow:auto;
  border-radius: 26px;
  background: rgba(16,16,26,.94);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
  transform: translateY(14px);
  transition: transform var(--t) ease;
}
.pf-drawerback.is-open .pf-drawer{transform: translateY(0)}
.pf-drawer__grab{width:64px; height:6px; border-radius:999px; background: rgba(255,255,255,.18); margin:10px auto 6px}
.pf-drawer__head{
  position:sticky; top:0;
  background: rgba(16,16,26,.94);
  backdrop-filter: blur(12px);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:12px 14px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.pf-drawer__title{font-weight:900; font-size:18px}
.pf-drawer__sub{padding: 10px 14px 0; color:var(--mut)}
.pf-drawer__list{padding: 14px; display:grid; gap:10px}

/* Scroll lock helper */
.pf-lock{overflow:hidden}

/* Responsive */
@media (max-width: 980px){
  .pf-hero__grid{grid-template-columns: 1fr; }
  .pf-heroGallery{min-height: 380px}
  .pf-heroGallery__main{height: 300px}
  .pf-cats{grid-template-columns: 1fr; gap:20px;}
  .pf-revGrid{grid-template-columns: 1fr}
  .pf-locs__grid{grid-template-columns: 1fr}
  #contacts .pf-locCard{min-height:auto}
  #contacts .pf-mapCard__in{height:240px; min-height:240px}

  .pf-srvGrid{grid-template-columns: 1fr}
  .pf-srvSlider__track, .pf-srvShot{height: 280px}
  .pf-srvSlider{min-height: 280px}
  .pf-stats{grid-template-columns: 1fr; }
  
  /* Mobile hint: subtle edge fades for service gallery */
  .pf-srvSlider::before,
  .pf-srvSlider::after{
    content:"";
    position:absolute;
    top:0; bottom:0;
    width:28px;
    pointer-events:none;
    z-index:1;
  }
  .pf-srvSlider::before{left:0; background: linear-gradient(90deg, rgba(16,16,26,.55), rgba(16,16,26,0));}
  .pf-srvSlider::after{right:0; background: linear-gradient(270deg, rgba(16,16,26,.55), rgba(16,16,26,0));}
.pf-topnav{display:none}
}


/* =========================================================
   v2.10.6 — Mobile service list UX (pf-svcRow)
   - reduce visual weight, remove clipping, speed up choice
   ========================================================= */
@media (max-width: 560px){
  .pf-cat{width: min(720px, calc(100% - 16px)); max-height: min(86vh, 760px);}
  .pf-cat__list, .pf-drawer__list{padding: 12px; gap:12px;}
  .pf-svcRow{
    grid-template-columns: 64px 1fr;
    grid-template-rows: auto auto;
    gap:10px;
    padding:12px;
  }
  .pf-svcThumb{width:64px; height:54px; border-radius: 16px;}
  .pf-svcActions{
    grid-column: 1 / -1;
    display:flex;
  }
  .pf-svcActions .pf-btn{
    width:100%;
    justify-content:center;
    border-radius: 16px;
  }
  /* Keep only the strongest pain trigger on mobile */
  .pf-pains--svc .pf-pain:nth-child(n+2){display:none;}
  /* Make decision anchors (duration + price) pop */
  .pf-svcMeta{gap:8px;}
  .pf-cat .pf-svcMeta .pf-pill,
  .pf-drawer .pf-svcMeta .pf-pill{padding:7px 12px; font-weight:700;}
  .pf-cat .pf-svcMeta .pf-pill--acc,
  .pf-drawer .pf-svcMeta .pf-pill--acc{
    border-color: rgb(var(--cta-rgb) / .55);
    background: rgb(var(--cta-rgb) / .22);
    color: rgba(255,255,255,.96);
  }
  /* Reduce vertical noise */
  .pf-svcShort{display:none;}
  /* Slightly calmer CTA in list (still gold) */
  .pf-svcActions .pf-btn--acc{box-shadow: 0 10px 26px rgb(var(--cta-rgb) / .18);}
}

/* v2.11.1 — Mobile typography + hero thumbs stability */
@media (max-width: 560px){
  .pf-h1{font-size:34px; line-height:1.08;}
  .pf-h2{font-size:26px;}
  .pf-lead{font-size:16px; line-height:1.45;}
  .pf-badge{font-size:13px; padding:7px 12px;}
  .pf-hero__actions{gap:8px;}
  .pf-heroGallery__thumbs{gap:8px; padding:10px 10px 12px;}
  .pf-thumb{width:72px; height:48px; border-radius: 14px;}
  .pf-secTitle{font-size:30px; line-height:1.10;}
}

/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce){
  :root{--t:1ms !important;}
  *{animation-duration:1ms !important; animation-iteration-count:1 !important; transition-duration:1ms !important; scroll-behavior:auto !important;}
  .pf-skel{animation:none !important}
  .pf-btn, .pf-chip, .pf-cat, .pf-drawer, .pf-modal, .pf-heroGallery__img{transition:none !important}
  .pf-hgNav{transition:none !important}
}


/* legacy notes (do not delete):
   - v2.0.x used display:none toggles. Removed in v2.1.0 in favor of opacity+pointer-events.
   - Keep as reference:
     .pf-modalback{display:none}
     .pf-modalback.is-open{display:flex}
*/

/* Webkit scrollbar polish (Chrome/Safari/Edge) */
.pf-heroGallery__thumbs::-webkit-scrollbar,
.pf-shotTrack::-webkit-scrollbar,
.pf-srvSlider__track::-webkit-scrollbar{
  height:8px;
}
.pf-heroGallery__thumbs::-webkit-scrollbar-thumb,
.pf-shotTrack::-webkit-scrollbar-thumb,
.pf-srvSlider__track::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,.14);
  border-radius: 999px;
}

/* Lightbox overlay: keep service modal in DOM but visually covered */
.pf-modal--service.is-covered{
  visibility:hidden;
  pointer-events:none;
}

/* Reviews screenshots navigation (arrows) */
.pf-shotRail{position:relative}
.pf-shotNav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:999px;
  border:1px solid var(--line);
  background: var(--card2);
  box-shadow: var(--shadow2);
  display:grid; place-items:center;
  cursor:pointer;
  transition: transform var(--t) ease, opacity var(--t) ease, background var(--t) ease;
}
.pf-shotNav svg{width:18px; height:18px; fill:none; stroke:var(--text); stroke-width:2.5}
.pf-shotNav--prev{left:-10px}
.pf-shotNav--next{right:-10px}
.pf-shotNav:hover{transform:translateY(-50%) scale(1.03); background: #fff}
.pf-shotNav[disabled]{opacity:.35; pointer-events:none}
@media (max-width: 720px){
  .pf-shotNav{display:none}
}


@media (max-width: 780px){
  .pf-hero__grid{ display:block; position:relative; }
  .pf-hero__media{
    position:relative;
    margin: -54px -18px 0; /* full-bleed */
    height: 55vh;
    min-height: 320px;
  }
  .pf-hero__copy{
    position:relative;
    z-index: 2;
    margin-top: -80px; /* overlap */
    padding: 24px 4px;
    background: linear-gradient(180deg, transparent, var(--bg) 30px);
  }
}



/* Hero badges: readable on light background (all viewports) */
.pf-hero .pf-badge{
  color: rgba(12,22,21,.90);
  border-color: rgba(23,38,37,.14);
  background: rgba(255,255,255,.78);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
}


/* Boot loader (prevents CLS while meta.json loads) */
.pf-boot{
  position: fixed;
  inset: 0;
  z-index: 200;
  display:flex;
  align-items:center;
  justify-content:center;
  background: var(--bg);
  opacity: 0;
  pointer-events:none;
  transition: opacity var(--t) ease;
  transition-delay: .20s;
}
.pf-boot.is-on{
  transition-delay: 0s;
  opacity: 1;
  pointer-events:auto;
}
.pf-boot__card{
  width: min(460px, calc(100vw - 36px));
  border-radius: var(--r22);
  background: var(--card2);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  padding: 22px;
}
.pf-boot__logo{
  width: 46px; height: 46px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--acc), var(--acc2));
  margin-bottom: 14px;
}
.pf-boot__line{
  height: 14px;
  border-radius: 999px;
  background: rgba(30,43,42,.10);
  margin-bottom: 10px;
}
.pf-boot__line--sm{ width: 64%; }
.pf-boot__dots{
  display:flex;
  gap:8px;
  margin-top: 6px;
}
.pf-boot__dots span{
  width: 8px; height: 8px;
  border-radius: 999px;
  background: rgba(30,43,42,.28);
  animation: pf-dot 1.05s ease-in-out infinite;
}
.pf-boot__dots span:nth-child(2){ animation-delay: .15s; }
.pf-boot__dots span:nth-child(3){ animation-delay: .30s; }
@keyframes pf-dot{
  0%,100%{ transform: translateY(0); opacity:.55; }
  50%{ transform: translateY(-6px); opacity:1; }
}


/* FIX v2.10.6: do NOT style .pf-topbar as a pill. Keep only dock glass container. */


/* v2.5.3: reserve hero gallery space on mobile to reduce CLS */
@media (max-width: 640px){
  .pf-heroGallery__main{height:auto; aspect-ratio: 4/3; min-height: 260px;}
}

/* v2.5.3: ensure icons inherit readable color in glass UI */
.pf-topbar .pf-ico, .pf-dockIco, .pf-dockBtn, .pf-topbar a, .pf-topbar button{color: inherit;}

/* v2.5.3: fit toggle state (no text overwrite) */
#fitToggle{display:inline-flex; align-items:center; gap:.4rem; background: rgb(var(--acc-rgb) / .10); border-color: rgb(var(--acc-rgb) / .28);}
#fitToggle.is-cover{
  background: rgb(var(--cta-rgb) / .18);
  border-color: rgb(var(--cta-rgb) / .56);
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
#fitToggle.is-cover .pf-ico{transform: rotate(180deg)}


/* Fit toggle icon smoothness */
#fitToggle .pf-ico{display:inline-block; transition:transform .3s ease;}

/* Close button visibility on bright images */
.pf-x{filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));}

/* Service gallery counter */
.pf-srvSlider{position:relative;}
.pf-srvCount{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:6px 10px;border-radius:999px;font-size:12px;line-height:1;background:rgb(0 0 0 / .45);color:#fff;backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);}

/* =========================================================
   v2.8.5 — Readability pass for Dark Glass (Cat list / Modal / Drawer)
   - Ensure high contrast text on dark surfaces
   - Keep premium glass aesthetic, reduce "muddy" typography
   ========================================================= */

.pf-cat,
.pf-modal,
.pf-drawer{
  /* redefine text tokens inside dark glass containers */
  --text: rgba(232,237,242,.96);
  --mut: rgba(232,237,242,.74);
  --mut2: rgba(232,237,242,.58);
  color: var(--text);
}

/* Headings & key labels */
.pf-cat__title,
.pf-modal__title,
.pf-drawer__title,
.pf-modal h2,
.pf-modal h3,
.pf-cat h2,
.pf-cat h3{
  color: rgba(255,255,255,.98);
  letter-spacing: -0.01em;
}

/* Subtitles / descriptions that used light-theme vars */
.pf-cat__sub,
.pf-svcShort,
.pf-modal p,
.pf-modal li,
.pf-cat p,
.pf-cat li{
  color: var(--mut);
}

/* Pills on dark: keep brand tint but readable text */
.pf-cat .pf-pill,
.pf-modal .pf-pill,
.pf-drawer .pf-pill{
  color: rgba(232,237,242,.90);
  border-color: rgb(var(--acc-rgb) / .32);
  background: rgb(var(--acc-rgb) / .14);
}

/* Modal body gets slightly denser background for better readability */
.pf-modal,
.pf-modal__head{
  background: linear-gradient(180deg, rgba(16,16,26,.92), rgba(16,16,26,.96));
}

/* Service media: reduce photo dominance a bit */
.pf-srvSlider img,
.pf-srvMedia img{
  filter: brightness(.92) contrast(.96);
}

/* CTA button contrast: use dark text for better readability on gold */
.pf-btn--acc{
  color: #172625;
  font-weight: 800;
}

/* Fit mode button: stronger active indication (mobile-friendly) */
#fitToggle{
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.16);
}
#fitToggle.is-cover{
  background: rgb(var(--acc-rgb) / .20);
  border-color: rgb(var(--acc-rgb) / .45);
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
}

/* Gallery edge hints must not block swipe */
.pf-srvSlider::before,
.pf-srvSlider::after{
  pointer-events:none;
}

/* Slightly looser spacing for premium feel on mobile */
@media (max-width: 720px){
  .pf-cats{gap:20px;}
}


/* === Founder (Оксана) === */
.pf-secKicker{letter-spacing:.18em; text-transform:uppercase; font-size:12px; color:var(--mut); opacity:.9; text-align:center}
.pf-secTitle{font-family:var(--serif); font-size:44px; line-height:1.05; margin:6px 0 0; text-align:center}
.pf-secAccent{color:var(--acc)}
.pf-sec--founder{padding-top:64px; padding-bottom:64px}

.pf-founder{display:grid; grid-template-columns:1.05fr .95fr; gap:34px; align-items:stretch}
.pf-founder__card{
  padding:32px 30px;
  display:flex; flex-direction:column;
  background:var(--card,#fff);
  border-radius:22px;
  border:1px solid rgba(23,38,37,.08);
  box-shadow:0 4px 24px rgba(20,30,28,.06);
}
.pf-founder__header{
  padding-bottom:20px;
  margin-bottom:20px;
  border-bottom:1px solid rgba(47,107,99,.14);
}
.pf-founder__name{
  margin:0 0 5px;
  font-size:26px;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--head,#0c1615);
}
.pf-founder__role{
  margin:0;
  font-size:13px;
  font-weight:600;
  color:var(--acc);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.pf-founder__body{flex:1; display:flex; flex-direction:column;}
.pf-founder__text{flex:1;}
.pf-founder__text p{margin:0 0 14px; color:var(--text); line-height:1.65;}
.pf-founder__text p:last-child{margin-bottom:0;}
.pf-founder__actions{margin-top:28px; padding-top:20px; border-top:1px solid rgba(23,38,37,.07);}
.pf-founder__note{margin-top:14px; padding:14px 16px; border-radius:18px; background:rgba(47,107,99,.08); border:1px solid rgba(47,107,99,.18)}
.pf-founder__media{padding:0; overflow:hidden; position:relative; border-radius:22px}
.pf-founder__ph{position:relative}
.pf-founder__ph:after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.00) 55%, rgba(0,0,0,.20) 100%);
  pointer-events:none;
}
.pf-founder__badge{
  position:absolute;
  left:16px; bottom:14px;
  padding:8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  border:1px solid rgba(23,38,37,.14);
  color:#172625;
  font-weight:800;
  font-size:12px;
  box-shadow: 0 16px 30px rgba(20,30,28,.14);
}
.pf-founder__img{width:100%; height:100%; display:block; border-radius:22px; box-shadow:0 18px 60px rgba(0,0,0,.16); object-fit:cover; aspect-ratio:4/5;}

@media (max-width: 980px){
  .pf-secTitle{font-size:34px}
  .pf-founder{grid-template-columns:1fr; gap:18px}
}


.pf-modal__badges{margin-top:8px; display:flex; flex-wrap:wrap; gap:8px}
.pf-svcRow .pf-badges{gap:6px; margin-top:6px}
.pf-svcRow .pf-badge{font-size:11px; padding:4px 8px}

/* =========================
   v2.10.10 — premium micro polish
   ========================= */

/* Hover lift (desktop only) */
@media (hover:hover){
  .pf-card, .pf-catCard, .pf-svcRow, .pf-shotWrap, .pf-contactsCard{ transition: transform var(--t) ease, box-shadow var(--t) ease, border-color var(--t) ease, background var(--t) ease; }
  .pf-card:hover, .pf-catCard:hover, .pf-shotWrap:hover, .pf-contactsCard:hover{ transform: translateY(-2px); box-shadow: 0 18px 40px rgba(20,30,28,.14); border-color: rgba(23,38,37,.16); }
  .pf-svcRow:hover{ transform: translateY(-2px); }
}

/* Reveal-on-scroll */
.pf-reveal{ opacity: 0; transform: translate3d(0,14px,0); will-change: opacity, transform; transition: opacity .62s cubic-bezier(.2,.8,.2,1), transform .62s cubic-bezier(.2,.8,.2,1); transition-delay: var(--reveal-delay, 0s); }
.pf-reveal.is-visible{ opacity: 1; transform: translate3d(0,0,0); }
@media (prefers-reduced-motion: reduce){
  .pf-reveal{ opacity: 1; transform: none; transition: none; }
}

/* Contacts map skeleton (lazy iframe) */
.pf-mapSkeleton{
  width: 100%; height: 100%; min-height: 300px;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(30,43,42,.06), rgba(30,43,42,.12), rgba(30,43,42,.06));
  background-size: 200% 100%;
  animation: pf-skel 1.2s ease-in-out infinite;
}
@keyframes pf-skel{
  0%{ background-position: 0% 0; }
  100%{ background-position: 200% 0; }
}

/* Founder placeholder */
.pf-founder__ph{
  width: 100%; aspect-ratio: 4/5;
  border-radius: var(--r22);
  border: 1px solid rgba(23,38,37,.12);
  background: radial-gradient(1200px 600px at 30% 20%, rgba(178,206,200,.22), transparent 55%),
              linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.45));
  box-shadow: 0 18px 44px rgba(20,30,28,.12);
  display:flex; align-items:flex-end; justify-content:flex-start;
  padding: 16px;
}
.pf-founder__ph small{ color: rgba(12,22,21,.70); }


/* v2.10.11 — hero badges contrast + founder overlap */

/* Founder placeholder inner card */
.pf-founder__ph{position:relative; overflow:hidden;}
.pf-founder__phIn{
  width:100%;
  border-radius: 18px;
  border:1px solid rgba(23,38,37,.10);
  background: radial-gradient(900px 450px at 30% 20%, rgba(214,169,74,.18), transparent 55%),
              radial-gradient(900px 450px at 70% 70%, rgba(47,107,99,.18), transparent 60%),
              rgba(255,255,255,.62);
  padding: 18px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.pf-founder__phTop{font-weight:900; letter-spacing:.08em; opacity:.55; font-size:12px}
.pf-founder__phName{font-size:28px; font-weight:900}
.pf-founder__phSub{opacity:.72}

/* Signature accent */
.pf-founder__sig{
  position:absolute;
  top:14px;
  right:16px;
  font-family: "Brush Script MT", "Segoe Script", "Snell Roundhand", cursive;
  font-size:46px;
  line-height:1;
  color: rgba(214,169,74,.80);
  transform: rotate(-7deg);
  text-shadow: 0 10px 24px rgba(20,30,28,.18);
  pointer-events:none;
}

/* Overlap effect (premium, controlled) */
.pf-founder--overlap{position:relative;}
.pf-founder--overlap .pf-founder__media{position:relative; z-index:2;}
.pf-founder--overlap .pf-founder__ph{margin-top:-32px;}
@media (max-width: 980px){
  .pf-founder--overlap .pf-founder__ph{margin-top:-18px;}
}
@media (max-width: 560px){
  .pf-founder--overlap .pf-founder__ph{margin-top:-8px;}
}

/* Founder photo — make image truly full-bleed (no inner padding artifacts) */
.pf-founder__ph{padding:0;}
.pf-founder__img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:22px;}



/* =========================
   v2.11.0 — POLISH (premium micro-interactions)
   ========================= */

/* Unified hover-lift for tiles/cards (hover-capable devices only) */
@media (hover:hover){
  .pf-catCard,
  .pf-svcRow,
  .pf-shot,
  .pf-dockBtn{
    transition: transform var(--t) ease, box-shadow var(--t) ease, border-color var(--t) ease, background var(--t) ease;
  }
  .pf-catCard:hover,
  .pf-svcRow:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(20,30,28,.14);
    border-color: rgba(23,38,37,.18);
  }
  .pf-shot:hover{
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(20,30,28,.12);
    border-color: rgba(23,38,37,.16);
  }
  .pf-dockBtn:hover{
    transform: translateY(-1px);
    border-color: rgba(23,38,37,.18);
  }
}

/* Micro 'pop-in' on opening modals (no layout shift) */
@keyframes pf-pop{
  from{ opacity: 0; transform: translate3d(0,12px,0) scale(.985); }
  to{ opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
.pf-modal.is-open,
.pf-cat.is-open,
.pf-drawer.is-open{
  animation: pf-pop .22s cubic-bezier(.2,.8,.2,1) both;
}

/* Focus-visible ring polish for keyboard users */
.pf-btn:focus-visible,
.pf-chip:focus-visible,
.pf-catCard:focus-visible,
.pf-svcRow:focus-visible,
.pf-dockBtn:focus-visible,
.pf-shot:focus-visible{
  outline: 3px solid rgb(var(--cta-rgb) / .35);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce){
  .pf-modal.is-open,
  .pf-cat.is-open,
  .pf-drawer.is-open{ animation: none; }
}


/* v2.12.5 — Draft preview banner */
.pf-previewBanner{
  position: fixed;
  top: calc(10px + env(safe-area-inset-top));
  right: 12px;
  z-index: 140;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgb(var(--acc2-rgb) / .70);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(12px);
  box-shadow: 0 14px 34px rgba(20,30,28,.14);
  color: rgba(255,255,255,.94);
}
.pf-previewBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgb(var(--cta-rgb) / .92);
  color: #172625;
  font-weight: 900;
  letter-spacing: .08em;
  font-size: 12px;
}
.pf-previewTxt{font-size:13px; font-weight:700; opacity:.95}
@media (max-width: 640px){
  .pf-previewBanner{right: 10px; top: calc(8px + env(safe-area-inset-top)); padding: 9px 11px;}
}


/* Promotions (admin-managed) */
.pf-promos{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
  margin-top: 16px;
}
@media (max-width: 980px){
  .pf-promos{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .pf-promos{ grid-template-columns: 1fr; }
}
.pf-promoCard{
  position: relative;
  padding: 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow:hidden;
  transition: transform var(--t) ease, border-color var(--t) ease, background var(--t) ease;
}
.pf-promoCard:hover{ transform: translateY(-2px); border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.05); }
.pf-promoTop{ display:flex; align-items:flex-start; gap:10px; }
.pf-promoBadge{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgb(var(--acc-rgb) / .22), rgb(var(--acc2-rgb) / .12));
  border: 1px solid rgb(var(--acc-rgb) / .32);
  color: rgb(var(--acc2-rgb));
  font-weight: 700;
  letter-spacing: .2px;
  white-space:nowrap;
}
.pf-promoTitle{ font-weight: 700; font-size: 16px; color: rgba(255,255,255,.92); line-height: 1.2; }
.pf-promoSub{ margin-top: 8px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.45; }
.pf-promoMeta{ margin-top: 10px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.pf-promoUntil{ font-size: 12px; color: rgba(255,255,255,.55); }
.pf-promoLink{ margin-top: 12px; }

/* ============================================================
   LANDING ENHANCED FEATURES v3.1
   ============================================================ */

/* ── 1. ПОИСК ПО КАТАЛОГУ ─────────────────────────────────── */
.pf-catSearch {
  margin-bottom: 24px;
}
.pf-catSearch__bar {
  position: relative;
  display: flex;
  align-items: center;
  background: rgba(255,255,255,.06);
  border: 1.5px solid rgba(255,255,255,.12);
  border-radius: 16px;
  transition: border-color .2s, box-shadow .2s;
  overflow: hidden;
}
.pf-catSearch__bar:focus-within {
  border-color: rgba(255,255,255,.3);
  box-shadow: 0 0 0 3px rgba(255,255,255,.07);
}
.pf-catSearch__ico {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 0 14px;
  color: rgba(255,255,255,.45);
}
.pf-catSearch__inp {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  font-size: 15px;
  padding: 14px 0;
  font-family: inherit;
  min-width: 0;
}
.pf-catSearch__inp::placeholder { color: rgba(255,255,255,.38); }
.pf-catSearch__inp::-webkit-search-cancel-button { display: none; }
.pf-catSearch__clear {
  flex-shrink: 0;
  background: transparent;
  border: none;
  color: rgba(255,255,255,.45);
  padding: 14px 16px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  transition: color .15s;
}
.pf-catSearch__clear:hover { color: #fff; }
.pf-catSearch__results {
  margin-top: 8px;
  background: rgba(16,16,28,.92);
  border: 1.5px solid rgba(255,255,255,.12);
  border-radius: 16px;
  overflow: hidden;
  backdrop-filter: blur(20px);
  display: none;
}
.pf-catSearch__hint {
  padding: 10px 16px 4px;
  font-size: 11px;
  color: rgba(255,255,255,.4);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.pf-catSearch__empty {
  padding: 20px 16px;
  color: rgba(255,255,255,.45);
  font-size: 14px;
}
.pf-catSearch__item {
  display: block;
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  padding: 12px 16px;
  cursor: pointer;
  border-top: 1px solid rgba(255,255,255,.06);
  transition: background .15s;
  color: inherit;
}
.pf-catSearch__item:hover { background: rgba(255,255,255,.07); }
.pf-catSearch__name {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: #fff;
  margin-bottom: 3px;
}
.pf-catSearch__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.pf-catSearch__cat {
  font-size: 11px;
  color: rgba(255,255,255,.45);
}
.pf-catSearch__short {
  display: block;
  font-size: 12px;
  color: rgba(255,255,255,.5);
  margin-top: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pf-pill--xs {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 10px;
}

/* ── 2. ПОПУЛЯРНЫЕ УСЛУГИ ─────────────────────────────────── */
.pf-popularGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}
@media (max-width: 600px) {
  .pf-popularGrid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
.pf-popularCard {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  overflow: hidden;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  display: flex;
  flex-direction: column;
}
.pf-popularCard:hover {
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.22);
  box-shadow: 0 12px 40px rgba(0,0,0,.3);
}
.pf-popularCard__thumb {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: rgba(255,255,255,.04);
}
.pf-popularCard__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}
.pf-popularCard:hover .pf-popularCard__thumb img { transform: scale(1.04); }
.pf-popularCard__badge {
  position: absolute;
  top: 10px;
  left: 10px;
}
.pf-popularCard__body {
  padding: 14px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 4px;
}
.pf-popularCard__cat {
  font-size: 10px;
  color: rgba(255,255,255,.4);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.pf-popularCard__title {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  line-height: 1.3;
}
.pf-popularCard__short {
  font-size: 12px;
  color: rgba(255,255,255,.5);
  line-height: 1.4;
}
.pf-popularCard__meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.pf-popularCard__cta {
  margin-top: auto;
  padding-top: 10px;
  font-size: 12px;
  align-self: flex-start;
}

/* ── 3. STICKY CTA ─────────────────────────────────────────── */
.pf-floatCta {
  position: fixed;
  bottom: 28px;
  right: 24px;
  z-index: 70;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px) scale(.95);
  transition: opacity .28s, transform .28s;
}
.pf-floatCta.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
@media (max-width: 600px) {
  .pf-floatCta { bottom: 80px; right: 16px; }
}
.pf-floatCta__btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 14px;
  box-shadow: 0 8px 32px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.12);
  white-space: nowrap;
}
.pf-floatCta__ico { display: flex; align-items: center; }

/* ── 4. УЛУЧШЕННЫЕ КНОПКИ В СПИСКЕ ──────────────────────────*/
.pf-svcActions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: stretch;
  min-width: 100px;
}
.pf-svcActions__book {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.pf-svcActions__info {
  font-size: 11px;
  text-align: center;
}

/* ── 5. "ЧАСТО БЕРУТ ВМЕСТЕ" ─────────────────────────────── */
.pf-relatedBlock {
  margin: 16px 0;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.pf-relatedGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media (max-width: 480px) {
  .pf-relatedGrid { grid-template-columns: 1fr 1fr; }
}
.pf-relatedCard {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  color: inherit;
  transition: border-color .15s, background .15s;
  display: flex;
  flex-direction: column;
}
.pf-relatedCard:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.2);
}
.pf-relatedCard__img {
  aspect-ratio: 3/2;
  overflow: hidden;
}
.pf-relatedCard__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.pf-relatedCard__body {
  padding: 8px 10px 10px;
}
.pf-relatedCard__title {
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  line-height: 1.3;
}

/* ── 6. СКЕЛЕТОН ─────────────────────────────────────────── */
/* .pf-skel already exists in styles.css; pf-catCard--skel ensures pointer-events none */
.pf-catCard--skel {
  pointer-events: none;
  user-select: none;
  animation: pfSkelPulse 1.6s ease-in-out infinite;
}
@keyframes pfSkelPulse {
  0%, 100% { opacity: .6; }
  50% { opacity: .3; }
}

/* ── 7. ФИЛЬТР ПО ЦЕНЕ ────────────────────────────────────── */
.pf-priceFilter {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.pf-priceFilter__label {
  font-size: 13px;
  color: rgba(255,255,255,.55);
  flex-shrink: 0;
}
.pf-priceChip {
  padding: 7px 16px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 500;
  border: 1.5px solid rgba(255,255,255,.18);
  background: transparent;
  color: rgba(255,255,255,.75);
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
  white-space: nowrap;
}
.pf-priceChip:hover {
  background: rgba(255,255,255,.1);
  color: #fff;
}
.pf-priceChip[aria-pressed="true"] {
  background: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.45);
  color: #fff;
}
.pf-priceChip--reset {
  color: rgba(255,100,100,.8);
  border-color: rgba(255,100,100,.3);
}
.pf-priceChip--reset:hover {
  background: rgba(255,100,100,.1);
  color: rgba(255,120,120,1);
}

/* ── 8. СРАВНЕНИЕ УСЛУГ ────────────────────────────────────── */
.pf-comparePanel {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 75;
  background: rgba(14,14,22,.96);
  border-top: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(20px);
  padding: 12px 20px;
  animation: slideUp .25s ease;
}
@keyframes slideUp {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
.pf-comparePanel--pulse {
  animation: panelPulse .6s ease;
}
@keyframes panelPulse {
  0%, 100% { background: rgba(14,14,22,.96); }
  50% { background: rgba(200,50,50,.25); }
}
.pf-comparePanel__bar {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 1200px;
  margin: 0 auto;
}
.pf-comparePanel__left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.pf-comparePanel__icon { font-size: 20px; flex-shrink: 0; }
.pf-comparePanel__txt {
  font-size: 14px;
  color: rgba(255,255,255,.7);
  flex-shrink: 0;
}
.pf-comparePanel__chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
}
.pf-comparePanel__actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.pf-compareChip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50px;
  padding: 4px 10px 4px 12px;
  font-size: 12px;
  color: rgba(255,255,255,.8);
  white-space: nowrap;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pf-compareChip button {
  background: transparent;
  border: none;
  color: rgba(255,255,255,.5);
  cursor: pointer;
  padding: 0;
  font-size: 12px;
  flex-shrink: 0;
  transition: color .15s;
}
.pf-compareChip button:hover { color: #fff; }

/* Compare modal */
.pf-compareModal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100;
  background: rgba(0,0,0,.75);
  backdrop-filter: blur(8px);
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.pf-compareModal.is-open {
  display: flex;
}
.pf-modal--compare {
  max-width: 900px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 24px;
  background: var(--surface, #13131e);
  border: 1px solid rgba(255,255,255,.12);
}
.pf-compareTable {
  min-width: 100%;
  overflow-x: auto;
}
.pf-compareRow {
  display: flex;
  border-top: 1px solid rgba(255,255,255,.07);
}
.pf-compareRow--head { border-top: none; }
.pf-compareCell {
  flex: 1;
  padding: 14px 16px;
  font-size: 13px;
  line-height: 1.5;
  min-width: 0;
}
.pf-compareCell--label {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,.4);
  text-transform: uppercase;
  letter-spacing: .05em;
  min-width: 100px;
  max-width: 130px;
  flex: 0 0 110px;
}
.pf-compareCell--svc {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding-top: 20px;
}
.pf-compareCell--diff {
  background: rgba(255,220,100,.05);
}
.pf-compareThumb {
  width: 80px;
  height: 60px;
  object-fit: cover;
  border-radius: 10px;
}
.pf-compareTitle {
  font-weight: 600;
  font-size: 14px;
  color: #fff;
  line-height: 1.3;
}

/* Compare button in service modal */
.pf-compareBtn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
}
.pf-compareBtn.is-active {
  background: rgba(255,220,100,.15);
  border-color: rgba(255,220,100,.4);
  color: #ffd966;
}



/* --- Footer (premium trust) --- */
.pf-footer{
  margin-top: 40px;
  padding: 40px 0;
  border-top: 1px solid rgba(23,38,37,.10);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(6px);
}
.pf-footer__grid{
  display:grid;
  grid-template-columns: 1.2fr .9fr .9fr;
  gap: 18px;
  align-items:start;
}
.pf-footer__brand{display:flex; flex-direction:column; gap:8px}
.pf-footer__logo{
  width:44px; height:44px; border-radius:16px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgb(var(--acc-rgb) / .95), rgb(var(--acc2-rgb) / .75));
  color:#fff; font-weight:800;
  box-shadow: 0 14px 34px rgb(var(--acc-rgb) / .18);
}
.pf-footer__name{font-weight:800}
.pf-footer__tag{margin:0; color: var(--mut); max-width:44ch}
.pf-footer__links{display:flex; flex-direction:column; gap:10px}
.pf-footer__legal{display:flex; flex-direction:column; gap:10px; color: var(--mut2)}
.pf-footer__a{color: inherit; text-decoration:none}
.pf-footer__a:hover{text-decoration:underline}
@media (max-width: 900px){
  .pf-footer__grid{grid-template-columns:1fr; gap:14px}
}

.pf-footer__legalLine{font-size:12px; color: var(--mut2); line-height:1.35}

/* generic helpers */
.is-hidden{display:none !important}

/* --- legal page (privacy.html) --- */
.pf-legalPage{min-height:100vh; padding:36px 0 54px;}
.pf-legalTop{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px;}
.pf-legalBack{display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:inherit; padding:10px 14px; border-radius:14px; border:1px solid rgba(23,38,37,.10); background: rgba(255,255,255,.70);}
.pf-legalBack:hover{transform: translateY(-1px); box-shadow: 0 14px 34px rgba(20,30,28,.08)}
.pf-legalCard{padding:22px;}
.pf-legalH{font-family: var(--font-display); font-size: clamp(28px, 3.8vw, 42px); font-weight:500; letter-spacing:-0.02em; margin: 0 0 10px;}
.pf-legalSub{color: var(--mut); margin: 0;}
.pf-legalK{font-weight:800; margin: 16px 0 8px;}
.pf-legalUl{margin:8px 0 0 18px; color: var(--mut);}
.pf-legalUl li{margin:6px 0;}
.pf-legalMeta{display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-top:14px;}
.pf-legalMeta .pf-card{padding:16px;}
.pf-legalKey{font-size:11px; letter-spacing:.12em; text-transform:uppercase; color: var(--mut2); margin:0 0 6px;}
.pf-legalVal{margin:0; font-weight:700;}
@media (max-width: 900px){ .pf-legalMeta{grid-template-columns: 1fr;} }
.pf-legalPage code{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;}


/* =========================================================
   PREMIUM PASS 1 — six-block visual convergence
   ========================================================= */
body.pf-premium-pass{
  background:
    radial-gradient(720px 420px at 8% 0%, rgba(47,107,99,.10), transparent 55%),
    radial-gradient(680px 360px at 92% 3%, rgba(214,164,67,.09), transparent 52%),
    linear-gradient(180deg, #f8f5ef 0%, #f4f0e8 38%, #f6f3ec 100%);
  color:#182725;
}
body.pf-premium-pass::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.35), transparent 16%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0, rgba(255,255,255,.06) 1px, transparent 1px, transparent 80px);
  opacity:.3;
}
.pf-premium-pass .pf-wrap{max-width:1208px; padding:0 24px;}
.pf-premium-pass .pf-sec{padding:92px 0; position:relative;}
.pf-premium-pass .pf-secHead{margin-bottom:30px;}
.pf-premium-pass .pf-h1{font-size:clamp(44px, 5vw, 76px); line-height:.98; letter-spacing:-.03em; margin:14px 0 18px; max-width:12ch;}
.pf-premium-pass .pf-h2,
.pf-premium-pass .pf-secTitle{font-size:clamp(40px, 4vw, 64px); line-height:1; letter-spacing:-.03em; margin-bottom:12px;}
.pf-premium-pass .pf-sub,
.pf-premium-pass .pf-lead{font-size:20px; line-height:1.55; color:#40504d; max-width:42rem;}
.pf-premium-pass .pf-secKicker{font-size:12px; letter-spacing:.24em; color:rgba(24,39,37,.56); margin-bottom:18px;}
.pf-premium-pass .pf-card,
.pf-premium-pass .pf-catCard,
.pf-premium-pass .pf-popularCard,
.pf-premium-pass .pf-revCard,
.pf-premium-pass .pf-shot,
.pf-premium-pass .pf-contactsCard,
.pf-premium-pass .pf-founder__card,
.pf-premium-pass .pf-founder__media,
.pf-premium-pass .pf-mapCard,
.pf-premium-pass .pf-locCard{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,248,243,.98));
  border:1px solid rgba(24,39,37,.08);
  box-shadow:0 18px 48px rgba(26,36,34,.08), inset 0 1px 0 rgba(255,255,255,.8);
}
.pf-premium-pass .pf-card:hover,
.pf-premium-pass .pf-catCard:hover,
.pf-premium-pass .pf-popularCard:hover,
.pf-premium-pass .pf-shot:hover,
.pf-premium-pass .pf-contactsCard:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 60px rgba(26,36,34,.12), inset 0 1px 0 rgba(255,255,255,.9);
}

/* header */
.pf-premium-pass .pf-topbar{
  background:rgba(35,90,82,.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.14);
  box-shadow:0 12px 28px rgba(20,32,29,.16);
}
.pf-premium-pass .pf-topbar__in{padding:16px 0; gap:18px;}
.pf-premium-pass .pf-brand__logo{width:48px;height:48px;border-radius:16px;box-shadow:0 18px 42px rgba(18,53,48,.26);}
.pf-premium-pass .pf-brand__name{font-size:34px; font-family:var(--font-display); font-weight:700; letter-spacing:-.01em; line-height:.9;}
.pf-premium-pass .pf-brand__tag{font-size:13px; letter-spacing:.01em; color:rgba(255,255,255,.76);}
.pf-premium-pass .pf-topnav{gap:10px;}
.pf-premium-pass .pf-topbar .pf-btn{padding:13px 22px; border-radius:18px; font-weight:600; background:rgba(255,255,255,.04);}
.pf-premium-pass .pf-topbar .pf-btn--acc{background:rgba(255,255,255,.09);}

/* buttons */
.pf-premium-pass .pf-btn{border-radius:18px; padding:13px 20px; font-weight:700;}
.pf-premium-pass .pf-btn--lg{padding:16px 26px; border-radius:20px;}
.pf-premium-pass .pf-btn--acc{
  color:#16211f;
  background:linear-gradient(135deg, #e0b35d 0%, #d59d32 44%, #c98718 100%);
  border-color:rgba(201,135,24,.4);
  box-shadow:0 18px 28px rgba(201,135,24,.18), inset 0 1px 0 rgba(255,255,255,.55);
}
.pf-premium-pass .pf-btn--acc:hover{filter:saturate(1.05) brightness(1.01);}
.pf-premium-pass .pf-btn--ghost{background:rgba(255,255,255,.54); color:#1f2f2d; border-color:rgba(24,39,37,.12);}
.pf-premium-pass .pf-chip,
.pf-premium-pass .pf-pill{background:#eef2ef; border-color:rgba(47,107,99,.18); color:#315852;}
.pf-premium-pass .pf-pill--acc{background:rgba(214,164,67,.14); border-color:rgba(214,164,67,.3); color:#8a5f11;}
.pf-premium-pass .pf-badge{background:rgba(24,39,37,.05); color:#234d48; border:1px solid rgba(47,107,99,.18);}
.pf-premium-pass .pf-badge--hit,
.pf-premium-pass .pf-badge--new{background:rgba(214,164,67,.16); color:#8a5f11; border-color:rgba(214,164,67,.35);}

/* hero */
.pf-premium-pass .pf-hero{padding:44px 0 24px;}
.pf-premium-pass .pf-hero__grid{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr); gap:42px; align-items:stretch;}
.pf-premium-pass .pf-hero__copy{
  position:relative;
  padding:38px 38px 34px;
  border-radius:34px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,250,241,.9));
  border:1px solid rgba(24,39,37,.08);
  box-shadow:0 22px 60px rgba(26,36,34,.1);
  overflow:hidden;
}
.pf-premium-pass .pf-hero__copy::before{
  content:"";
  position:absolute;
  right:-80px; top:-120px;
  width:340px; height:340px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%, rgba(214,164,67,.24), rgba(214,164,67,0) 70%);
}
.pf-premium-pass .pf-hero__copy::after{
  content:"";
  position:absolute; left:0; bottom:0; right:0; height:120px;
  background:linear-gradient(180deg, transparent, rgba(47,107,99,.04));
  pointer-events:none;
}
.pf-premium-pass .pf-badges{gap:8px;}
.pf-premium-pass .pf-bullets{margin:0 0 26px; padding-left:24px; display:grid; gap:10px; color:#324542; font-size:19px;}
.pf-premium-pass .pf-bullets li::marker{color:#c8942d; font-size:1.05em;}
.pf-premium-pass .pf-hero__actions{gap:12px; margin-bottom:18px;}
.pf-premium-pass .pf-quickcta{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px;}
.pf-premium-pass .pf-quickcta .pf-chip{padding:11px 16px; background:rgba(47,107,99,.07);}
.pf-premium-pass .pf-stats{grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px;}
.pf-premium-pass .pf-stat{padding:18px 16px 14px; background:rgba(255,255,255,.74); border:1px solid rgba(24,39,37,.08); border-radius:22px;}
.pf-premium-pass .pf-stat__n{font-size:34px; font-family:var(--font-display); font-weight:700; line-height:.9;}
.pf-premium-pass .pf-stat__t{font-size:13px; color:#50615d; margin-top:8px;}
.pf-premium-pass .pf-hero__media{display:block;}
.pf-premium-pass .pf-heroGallery{min-height:100%; padding:18px 18px 16px; border-radius:34px; background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(247,243,236,.98)); border-color:rgba(24,39,37,.08); box-shadow:0 28px 70px rgba(26,36,34,.12);}
.pf-premium-pass .pf-heroGallery__main{height:460px; border-radius:28px; overflow:hidden; background:linear-gradient(135deg, rgba(47,107,99,.15), rgba(214,164,67,.08));}
.pf-premium-pass .pf-heroGallery__img{transform:none;}
.pf-premium-pass .pf-heroGallery__shade{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(16,20,19,.08));}
.pf-premium-pass .pf-hgNav{width:46px;height:46px;border-radius:50%; background:rgba(255,255,255,.78); color:#18322f; border:1px solid rgba(24,39,37,.08); box-shadow:0 10px 18px rgba(26,36,34,.12);}
.pf-premium-pass .pf-thumb{width:104px;height:68px;border-radius:18px;border-color:rgba(24,39,37,.08); background:rgba(255,255,255,.85);}
.pf-premium-pass .pf-thumb.is-active{outline:2px solid rgba(201,135,24,.45); outline-offset:2px;}

/* popular */
.pf-premium-pass .pf-sec--popular .pf-wrap,
.pf-premium-pass #catalog .pf-wrap,
.pf-premium-pass #reviews .pf-wrap,
.pf-premium-pass #contacts .pf-wrap{
  position:relative;
}
.pf-premium-pass .pf-sec--popular .pf-secHead,
.pf-premium-pass #catalog .pf-secHead,
.pf-premium-pass #reviews .pf-secHead,
.pf-premium-pass #contacts .pf-secHead{
  display:flex; align-items:end; justify-content:space-between; gap:20px;
}
.pf-premium-pass .pf-popularGrid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;}
.pf-premium-pass .pf-popularCard{border-radius:24px; overflow:hidden; min-height:100%;}
.pf-premium-pass .pf-popularCard__thumb{aspect-ratio:4/4.8; background:linear-gradient(180deg, rgba(47,107,99,.08), rgba(214,164,67,.06));}
.pf-premium-pass .pf-popularCard__thumb::after{content:""; position:absolute; inset:auto 0 0; height:55%; background:linear-gradient(180deg, rgba(255,255,255,0), rgba(19,27,26,.18)); pointer-events:none;}
.pf-premium-pass .pf-popularCard__body{padding:18px 18px 20px; gap:8px; color:#1b2927;}
.pf-premium-pass .pf-popularCard__cat{font-size:11px; color:#7b6c45; letter-spacing:.14em; font-weight:700;}
.pf-premium-pass .pf-popularCard__title{font-size:24px; line-height:1.02; color:#172625; font-family:var(--font-display); font-weight:700;}
.pf-premium-pass .pf-popularCard__short{font-size:14px; line-height:1.5; color:#556462; min-height:44px;}
.pf-premium-pass .pf-popularCard__meta{margin-top:8px; gap:8px;}
.pf-premium-pass .pf-popularCard__cta{margin-top:12px; width:100%; justify-content:center;}

/* catalog */
.pf-premium-pass .pf-catSearch{margin-bottom:28px;}
.pf-premium-pass .pf-catSearch__bar{background:rgba(255,255,255,.84); border:1px solid rgba(24,39,37,.08); box-shadow:0 18px 36px rgba(26,36,34,.07);}
.pf-premium-pass .pf-catSearch__bar:focus-within{border-color:rgba(47,107,99,.32); box-shadow:0 0 0 4px rgba(47,107,99,.08), 0 18px 36px rgba(26,36,34,.08);}
.pf-premium-pass .pf-catSearch__ico,.pf-premium-pass .pf-catSearch__clear{color:#5b6a67;}
.pf-premium-pass .pf-catSearch__inp{color:#172625; padding:17px 0; font-size:16px;}
.pf-premium-pass .pf-catSearch__inp::placeholder{color:#85928f;}
.pf-premium-pass .pf-catSearch__results{background:rgba(255,255,255,.95); border-color:rgba(24,39,37,.08); box-shadow:0 24px 48px rgba(26,36,34,.12);}
.pf-premium-pass .pf-catSearch__name{color:#172625;}
.pf-premium-pass .pf-catSearch__cat,.pf-premium-pass .pf-catSearch__short{color:#586864;}
.pf-premium-pass .pf-priceFilter{margin:18px 0 26px;}
.pf-premium-pass .pf-cats{display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
.pf-premium-pass .pf-catCard{padding:22px 20px 20px; border-radius:26px; min-height:236px; background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,248,243,.98));}
.pf-premium-pass .pf-catCard__top{gap:16px;}
.pf-premium-pass .pf-catIcon{width:56px;height:56px;border-radius:18px; background:linear-gradient(180deg, rgba(47,107,99,.11), rgba(47,107,99,.04)); border:1px solid rgba(47,107,99,.14); font-size:28px; display:grid; place-items:center;}
.pf-premium-pass .pf-catCard__title{font-size:18px; line-height:1.1; color:#182725;}
.pf-premium-pass .pf-catCard__desc{font-size:14px; line-height:1.52; color:#556461; margin-top:8px;}
.pf-premium-pass .pf-pains{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;}
.pf-premium-pass .pf-pains .pf-pill{background:#f0f4f1; color:#315852; border-color:rgba(47,107,99,.12);}

/* reviews */
.pf-premium-pass .pf-revGrid{gap:18px; margin-top:20px;}
.pf-premium-pass .pf-revCard{position:relative; padding:26px 28px; border-radius:28px; min-height:292px; overflow:hidden;}
.pf-premium-pass .pf-revCard::before{content:"“"; position:absolute; right:24px; top:20px; font-family:var(--font-display); font-size:88px; line-height:1; color:rgba(47,107,99,.08);}
.pf-premium-pass .pf-revCard__top{margin-bottom:18px; align-items:center;}
.pf-premium-pass .pf-revName{font-size:30px; font-family:var(--font-display); line-height:.96; color:#162624;}
.pf-premium-pass .pf-revCard__txt,.pf-premium-pass .pf-revText{font-size:18px; line-height:1.72; color:#334643;}
.pf-premium-pass .pf-shotWrap{margin-top:30px; padding:22px; border-radius:28px; background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(249,246,239,.98)); border:1px solid rgba(24,39,37,.08); box-shadow:0 18px 48px rgba(26,36,34,.08);}
.pf-premium-pass .pf-shotHead{margin-bottom:16px;}
.pf-premium-pass .pf-shotTitle{font-size:14px; letter-spacing:.16em; text-transform:uppercase; color:#7b6c45;}
.pf-premium-pass .pf-shotHint{font-size:14px; color:#64736f;}
.pf-premium-pass .pf-shotTrack{gap:18px;}
.pf-premium-pass .pf-shot{width:min(280px,72vw); aspect-ratio:9/18; border-radius:32px; padding:12px; background:linear-gradient(180deg, rgba(247,244,238,.98), rgba(255,255,255,.98)); border:1px solid rgba(24,39,37,.08); box-shadow:0 18px 36px rgba(26,36,34,.10);}
.pf-premium-pass .pf-shot::before{content:""; position:absolute; top:10px; left:50%; width:74px; height:6px; transform:translateX(-50%); border-radius:999px; background:rgba(24,39,37,.08);}
.pf-premium-pass .pf-shot img{border-radius:24px; object-fit:cover; box-shadow:0 10px 22px rgba(26,36,34,.08); opacity:1;}

/* founder */
.pf-premium-pass .pf-sec--founder .pf-wrap{position:relative;}
.pf-premium-pass .pf-founder{grid-template-columns:minmax(0,1fr) minmax(430px,.92fr); gap:28px; align-items:stretch;}
.pf-premium-pass .pf-founder__card{padding:34px 36px 32px; border-radius:32px;}
.pf-premium-pass .pf-founder__name{font-size:54px; line-height:.92; margin-bottom:8px;}
.pf-premium-pass .pf-founder__role{font-size:14px; letter-spacing:.14em; text-transform:uppercase; color:#2f6b63;}
.pf-premium-pass .pf-founder__text p{font-size:20px; line-height:1.72; color:#334643; margin-bottom:20px;}
.pf-premium-pass .pf-founder__actions{margin-top:30px; padding-top:24px;}
.pf-premium-pass .pf-founder__media{padding:18px; border-radius:32px; background:linear-gradient(160deg, rgba(235,243,240,.98), rgba(250,248,243,.98));}
.pf-premium-pass .pf-founder__ph{height:100%; min-height:620px; border-radius:26px; overflow:hidden; background:linear-gradient(180deg, rgba(223,233,230,.95), rgba(244,239,229,.95));}
.pf-premium-pass .pf-founder__img{height:100%; width:100%; object-fit:cover; object-position:center top; border-radius:26px;}
.pf-premium-pass .pf-founder__ph.is-placeholder{position:relative; background:linear-gradient(160deg, #d8e5df, #f3ede0 70%);}
.pf-premium-pass .pf-founder__ph.is-placeholder::before{content:"FIGURA"; position:absolute; left:26px; top:26px; font-size:13px; letter-spacing:.24em; color:rgba(24,39,37,.52); z-index:2;}
.pf-premium-pass .pf-founder__ph.is-placeholder::after{content:"Персональный подбор\Aбережный сервис\Aпремиальный уход"; white-space:pre; position:absolute; left:28px; bottom:34px; font-family:var(--font-display); font-size:34px; line-height:1.02; color:#1c322f; z-index:2; text-shadow:0 1px 0 rgba(255,255,255,.5);}
.pf-premium-pass .pf-founder__ph.is-placeholder .pf-founder__img{opacity:.92; mix-blend-mode:multiply;}
.pf-premium-pass .pf-founder__badge{left:24px; bottom:24px; background:rgba(255,255,255,.82); border:1px solid rgba(24,39,37,.08); box-shadow:0 8px 18px rgba(26,36,34,.08);}

/* contacts */
.pf-premium-pass .pf-secHead__row{align-items:end; gap:20px;}
.pf-premium-pass .pf-contactsCard{padding:22px; border-radius:32px;}
.pf-premium-pass .pf-locs__chips{gap:12px; margin:6px 0 18px;}
.pf-premium-pass .pf-contactsCard .pf-chip{background:#f2f4f1; border-color:rgba(24,39,37,.1); padding:12px 18px; border-radius:999px;}
.pf-premium-pass .pf-contactsCard .pf-chip.is-active{background:rgba(47,107,99,.11); color:#234d48; border-color:rgba(47,107,99,.24);}
.pf-premium-pass .pf-locs__grid{grid-template-columns:minmax(320px,.92fr) minmax(420px,1.08fr); gap:18px;}
.pf-premium-pass .pf-locCard,.pf-premium-pass .pf-mapCard{border-radius:28px;}
.pf-premium-pass .pf-locCard{padding:26px 28px; min-height:340px;}
.pf-premium-pass .pf-locCard__title{font-size:24px; font-family:var(--font-display); line-height:1;}
.pf-premium-pass .pf-locK{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#768480;}
.pf-premium-pass .pf-locV{font-size:18px; line-height:1.48; color:#1f2f2d;}
.pf-premium-pass .pf-locActions,.pf-premium-pass .pf-locQuick{gap:10px;}
.pf-premium-pass .pf-mapCard{padding:10px; background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,245,238,.98));}
.pf-premium-pass .pf-mapCard__in{border-radius:22px; overflow:hidden; min-height:100%;}

/* reviews/footer/dock polish */
.pf-premium-pass .pf-footer{background:linear-gradient(180deg, rgba(232,236,231,.72), rgba(238,241,236,.96)); border-top:1px solid rgba(24,39,37,.08);}
.pf-premium-pass .pf-dock{bottom:18px;}
.pf-premium-pass .pf-dock__in{background:rgba(248,246,240,.84); border:1px solid rgba(24,39,37,.08); box-shadow:0 16px 36px rgba(26,36,34,.12);}
.pf-premium-pass .pf-dockBtn{color:#244944;}
.pf-premium-pass .pf-dockIco{background:rgba(47,107,99,.08); border-color:rgba(47,107,99,.12);}

@media (max-width: 1080px){
  .pf-premium-pass .pf-wrap{padding:0 18px;}
  .pf-premium-pass .pf-hero__grid,
  .pf-premium-pass .pf-founder,
  .pf-premium-pass .pf-locs__grid{grid-template-columns:1fr;}
  .pf-premium-pass .pf-popularGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pf-premium-pass .pf-cats{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .pf-premium-pass .pf-heroGallery__main{height:380px;}
  .pf-premium-pass .pf-founder__ph{min-height:480px;}
}
@media (max-width: 720px){
  .pf-premium-pass .pf-sec{padding:72px 0;}
  .pf-premium-pass .pf-h1{font-size:42px; max-width:none;}
  .pf-premium-pass .pf-h2,.pf-premium-pass .pf-secTitle{font-size:42px;}
  .pf-premium-pass .pf-sub,.pf-premium-pass .pf-lead{font-size:18px;}
  .pf-premium-pass .pf-topnav{display:none;}
  .pf-premium-pass .pf-brand__name{font-size:26px;}
  .pf-premium-pass .pf-hero__copy{padding:28px 22px 24px;}
  .pf-premium-pass .pf-bullets{font-size:17px;}
  .pf-premium-pass .pf-stats{grid-template-columns:1fr;}
  .pf-premium-pass .pf-heroGallery{padding:14px;}
  .pf-premium-pass .pf-heroGallery__main{height:320px;}
  .pf-premium-pass .pf-popularGrid,
  .pf-premium-pass .pf-cats{grid-template-columns:1fr!important;}
  .pf-premium-pass .pf-revGrid{grid-template-columns:1fr;}
  .pf-premium-pass .pf-founder__card{padding:24px 22px;}
  .pf-premium-pass .pf-founder__name{font-size:42px;}
  .pf-premium-pass .pf-founder__text p{font-size:18px;}
  .pf-premium-pass .pf-founder__ph{min-height:400px;}
  .pf-premium-pass .pf-shot{width:min(76vw,260px);}
  .pf-premium-pass .pf-contactsCard{padding:16px;}
  .pf-premium-pass .pf-locCard{padding:22px 20px;}
}


/* =========================================================
   LUXURY PASS 2 — 15h convergence pass
   ========================================================= */
body.pf-premium-pass{
  background:
    radial-gradient(920px 520px at 8% 0%, rgba(47,107,99,.14), transparent 55%),
    radial-gradient(720px 420px at 92% 5%, rgba(214,164,67,.12), transparent 54%),
    linear-gradient(180deg, #fbf8f2 0%, #f5f0e7 34%, #f7f3ec 100%);
}
.pf-premium-pass .pf-sec{padding:104px 0;}
.pf-premium-pass .pf-sec::before{content:"";position:absolute;left:24px;right:24px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(24,39,37,.09),transparent);}
.pf-premium-pass #hero::before{display:none;}
.pf-premium-pass .pf-topbar .pf-btn--acc{background:linear-gradient(135deg,#f0c56f,#d59d32);color:#16211f;border-color:rgba(201,135,24,.35);}
.pf-premium-pass .pf-topbar .pf-btn--ghost{background:rgba(255,255,255,.03);}

/* hero polish */
.pf-premium-pass .pf-hero{padding:50px 0 34px;}
.pf-premium-pass .pf-hero__grid{grid-template-columns:minmax(0,1.04fr) minmax(460px,.96fr);gap:44px;}
.pf-premium-pass .pf-hero__copy{padding:44px 42px 38px;border-radius:38px;}
.pf-premium-pass .pf-badges .pf-badge{background:rgba(255,255,255,.84);border-color:rgba(24,39,37,.1);color:#315852;font-weight:700;}
.pf-premium-pass .pf-bullets{max-width:40rem;font-size:20px;line-height:1.58;}
.pf-premium-pass .pf-stats{margin-top:8px;}
.pf-premium-pass .pf-stat{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,242,234,.86));}
.pf-premium-pass .pf-heroGallery{padding:18px;border-radius:38px;position:relative;}
.pf-premium-pass .pf-heroGallery::after{content:"FIGURA • персональный уход";position:absolute;left:26px;bottom:102px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(24,39,37,.08);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#234d48;box-shadow:0 12px 22px rgba(26,36,34,.12);z-index:3;}
.pf-premium-pass .pf-heroGallery__main{height:520px;border-radius:30px;}
.pf-premium-pass .pf-heroGallery__shade{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(16,20,19,.14));}
.pf-premium-pass .pf-thumb{width:116px;height:74px;border-radius:20px;background:rgba(255,255,255,.95);}

/* section heads */
.pf-premium-pass #popular .pf-secHead,
.pf-premium-pass #catalog .pf-secHead,
.pf-premium-pass #reviews .pf-secHead,
.pf-premium-pass #contacts .pf-secHead{margin-bottom:26px;}

/* popular cards */
.pf-premium-pass .pf-popularGrid{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;align-items:stretch;}
.pf-premium-pass .pf-popularCard{grid-column:span 3;display:grid;grid-template-rows:auto 1fr;border-radius:30px;overflow:hidden;min-height:100%;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,244,236,.98));}
.pf-premium-pass .pf-popularCard.is-featured{grid-column:span 6;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);grid-template-rows:1fr;}
.pf-premium-pass .pf-popularCard.is-featured .pf-popularCard__thumb{aspect-ratio:auto;min-height:100%;}
.pf-premium-pass .pf-popularCard__thumb{aspect-ratio:4/4.4;position:relative;background:radial-gradient(circle at 20% 20%, rgba(214,164,67,.18), transparent 42%),linear-gradient(180deg, rgba(47,107,99,.10), rgba(214,164,67,.07));}
.pf-premium-pass .pf-popularCard__thumb::before{content:"";position:absolute;inset:10px;border-radius:24px;border:1px solid rgba(255,255,255,.45);pointer-events:none;z-index:2;}
.pf-premium-pass .pf-popularCard__thumb img{object-fit:cover;filter:saturate(1.05) contrast(1.02);}
.pf-premium-pass .pf-popularCard__body{padding:24px 22px 24px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,247,241,.98));}
.pf-premium-pass .pf-popularCard__cat{font-size:12px;letter-spacing:.18em;color:#8b6a27;font-weight:800;}
.pf-premium-pass .pf-popularCard__title{font-size:28px;line-height:.98;color:#152321 !important;font-family:var(--font-display);font-weight:700;}
.pf-premium-pass .pf-popularCard__short{font-size:15px;line-height:1.62;color:#4c5d59 !important;min-height:auto;}
.pf-premium-pass .pf-popularCard__meta{margin-top:2px;}
.pf-premium-pass .pf-popularCard__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;}
.pf-premium-pass .pf-popularCard__cta{margin-top:auto;width:100%;}
.pf-premium-pass .pf-popularCard.is-featured .pf-popularCard__body{padding:28px 28px 28px;}
.pf-premium-pass .pf-popularCard.is-featured .pf-popularCard__title{font-size:40px;}
.pf-premium-pass .pf-popularCard.is-featured .pf-popularCard__short{font-size:17px;}

/* catalog categories */
.pf-premium-pass #catalog .pf-wrap{padding-top:6px;}
.pf-premium-pass .pf-catSearch__bar,
.pf-premium-pass .pf-priceFilter{position:relative;z-index:2;}
.pf-premium-pass .pf-cats{margin-top:22px;gap:22px;}
.pf-premium-pass .pf-catCard{padding:18px 18px 20px;border-radius:30px;min-height:320px;overflow:hidden;position:relative;}
.pf-premium-pass .pf-catCard__media{position:relative;height:122px;border-radius:24px;overflow:hidden;margin-bottom:18px;background:linear-gradient(135deg,rgba(47,107,99,.14),rgba(214,164,67,.10));border:1px solid rgba(24,39,37,.08);}
.pf-premium-pass .pf-catCard__media img{width:100%;height:100%;object-fit:cover;filter:saturate(1.02) contrast(1.02);}
.pf-premium-pass .pf-catCard__mediaShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(16,20,19,.10));pointer-events:none;}
.pf-premium-pass .pf-catCard__count{position:absolute;left:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(24,39,37,.08);font-size:12px;font-weight:700;color:#234d48;z-index:2;}
.pf-premium-pass .pf-catCard__title{font-size:26px;line-height:.98;font-family:var(--font-display);font-weight:700;}
.pf-premium-pass .pf-catCard__desc{font-size:15px;line-height:1.62;max-width:30ch;}
.pf-premium-pass .pf-pains{gap:10px;margin-top:auto;}
.pf-premium-pass .pf-pains .pf-pill{padding:9px 12px;background:#eff4f0;}
.pf-premium-pass .pf-catCard__foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid rgba(24,39,37,.08);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#8b6a27;font-weight:800;}

/* reviews */
.pf-premium-pass .pf-revGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.pf-premium-pass .pf-revCard{min-height:320px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(249,247,241,.98));}
.pf-premium-pass .pf-revCard:first-child{background:linear-gradient(180deg,rgba(255,251,242,.98),rgba(249,247,241,.98));}
.pf-premium-pass .pf-revAvatar{width:58px;height:58px;border-radius:20px;background:linear-gradient(135deg, rgba(47,107,99,.12), rgba(214,164,67,.10));border:1px solid rgba(24,39,37,.08);font-weight:800;color:#2b5b55;}
.pf-premium-pass .pf-revName{font-size:32px;}
.pf-premium-pass .pf-revStars{font-size:16px;letter-spacing:2px;}
.pf-premium-pass .pf-trust{margin-top:22px;padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.76);border:1px solid rgba(24,39,37,.08);}

/* founder */
.pf-premium-pass .pf-founderFacts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px;}
.pf-premium-pass .pf-founderFact{padding:11px 16px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(24,39,37,.08);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#315852;font-weight:800;}
.pf-premium-pass .pf-founder{margin-top:26px;grid-template-columns:minmax(0,1.02fr) minmax(470px,.98fr);gap:30px;}
.pf-premium-pass .pf-founder__card{padding:38px 38px 34px;border-radius:34px;}
.pf-premium-pass .pf-founder__name{font-size:56px;}
.pf-premium-pass .pf-founder__role{font-size:13px;}
.pf-premium-pass .pf-founder__media{padding:16px;background:linear-gradient(160deg,rgba(225,236,231,.98),rgba(247,243,235,.98));}
.pf-premium-pass .pf-founder__ph{min-height:680px;border-radius:28px;position:relative;}
.pf-premium-pass .pf-founder__ph.is-placeholder::before{top:24px;left:24px;font-size:12px;letter-spacing:.26em;}
.pf-premium-pass .pf-founder__ph.is-placeholder::after{left:30px;bottom:36px;font-size:38px;line-height:.98;max-width:7ch;}
.pf-premium-pass .pf-founder__badge{left:22px;bottom:22px;}

/* contacts */
.pf-premium-pass .pf-contactsNote{margin-top:14px;color:#5a6a67;font-size:15px;max-width:44rem;}
.pf-premium-pass .pf-contactsCard{padding:26px;border-radius:34px;}
.pf-premium-pass .pf-locs__grid{grid-template-columns:minmax(320px,.88fr) minmax(480px,1.12fr);gap:22px;}
.pf-premium-pass .pf-locCard{padding:30px 30px 28px;min-height:360px;}
.pf-premium-pass .pf-locCard__title{font-size:30px;}
.pf-premium-pass .pf-locLine{padding:12px 0;border-bottom:1px solid rgba(24,39,37,.06);}
.pf-premium-pass .pf-locLine:last-child{border-bottom:0;}
.pf-premium-pass .pf-locQuick,.pf-premium-pass .pf-locActions{margin-top:16px;}
.pf-premium-pass .pf-mapCard{padding:12px;position:relative;overflow:hidden;}
.pf-premium-pass .pf-mapCard::after{content:"FIGURA • маршрут и запись";position:absolute;left:24px;top:24px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.86);border:1px solid rgba(24,39,37,.08);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#234d48;z-index:3;box-shadow:0 10px 20px rgba(26,36,34,.12);}
.pf-premium-pass .pf-mapCard__in{min-height:420px;border-radius:24px;}

/* footer/dock */
.pf-premium-pass .pf-footer{padding-top:36px;}
.pf-premium-pass .pf-dock{bottom:16px;}
.pf-premium-pass .pf-dock__in{padding:10px 12px;border-radius:26px;backdrop-filter:blur(16px);}
.pf-premium-pass .pf-dockBtn{padding:10px 14px;border-radius:18px;font-weight:700;}

@media (max-width: 1180px){
  .pf-premium-pass .pf-popularGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pf-premium-pass .pf-popularCard,.pf-premium-pass .pf-popularCard.is-featured{grid-column:span 1;grid-template-columns:none;grid-template-rows:auto 1fr;}
  .pf-premium-pass .pf-popularCard.is-featured .pf-popularCard__thumb{aspect-ratio:4/4.4;}
}
@media (max-width: 980px){
  .pf-premium-pass .pf-sec{padding:86px 0;}
  .pf-premium-pass .pf-hero__grid,.pf-premium-pass .pf-founder,.pf-premium-pass .pf-locs__grid{grid-template-columns:1fr;}
  .pf-premium-pass .pf-heroGallery::after{bottom:86px;}
  .pf-premium-pass .pf-founderFacts{justify-content:flex-start;}
}
@media (max-width: 720px){
  .pf-premium-pass .pf-sec{padding:72px 0;}
  .pf-premium-pass .pf-h1{font-size:48px;}
  .pf-premium-pass .pf-h2,.pf-premium-pass .pf-secTitle{font-size:44px;}
  .pf-premium-pass .pf-hero__copy{padding:30px 22px 26px;}
  .pf-premium-pass .pf-bullets{font-size:18px;}
  .pf-premium-pass .pf-heroGallery{padding:14px;border-radius:30px;}
  .pf-premium-pass .pf-heroGallery__main{height:340px;}
  .pf-premium-pass .pf-heroGallery::after{left:18px;bottom:78px;font-size:11px;}
  .pf-premium-pass .pf-popularGrid,.pf-premium-pass .pf-cats,.pf-premium-pass .pf-revGrid{grid-template-columns:1fr !important;}
  .pf-premium-pass .pf-popularCard__title{font-size:30px;}
  .pf-premium-pass .pf-catCard{min-height:unset;}
  .pf-premium-pass .pf-catCard__media{height:112px;}
  .pf-premium-pass .pf-founder__name{font-size:46px;}
  .pf-premium-pass .pf-founder__ph{min-height:460px;}
  .pf-premium-pass .pf-locCard{padding:24px 20px;}
  .pf-premium-pass .pf-mapCard::after{left:18px;top:18px;}
  .pf-premium-pass .pf-dock__in{width:calc(100vw - 20px);justify-content:space-between;}
}


/* v3.5 stock polish pass */

.pf-premium-pass .pf-sec{padding:76px 0;}
.pf-premium-pass .pf-secHead{margin-bottom:20px;}
.pf-premium-pass .pf-h1{font-size:clamp(52px,5.2vw,76px); line-height:.94; max-width:11ch;}
.pf-premium-pass .pf-h2,
.pf-premium-pass .pf-secTitle{font-size:clamp(36px,3.8vw,58px); line-height:.96;}
.pf-premium-pass .pf-sub,
.pf-premium-pass .pf-lead{font-size:18px; line-height:1.5; max-width:38rem;}
.pf-premium-pass .pf-hero{padding:34px 0 18px;}
.pf-premium-pass .pf-hero__grid{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); gap:28px; align-items:start;}
.pf-premium-pass .pf-hero__copy{padding:32px 30px 28px; border-radius:30px;}
.pf-premium-pass .pf-bullets{font-size:17px; line-height:1.52; gap:8px; margin-bottom:18px;}
.pf-premium-pass .pf-hero__actions{margin-bottom:14px;}
.pf-premium-pass .pf-quickcta{margin-bottom:18px;}
.pf-premium-pass .pf-stats{gap:10px;}
.pf-premium-pass .pf-stat{padding:14px 14px 12px; border-radius:18px;}
.pf-premium-pass .pf-stat__n{font-size:28px;}
.pf-premium-pass .pf-stat__t{font-size:12px; margin-top:6px;}
.pf-premium-pass .pf-heroGallery{padding:14px; border-radius:30px;}
.pf-premium-pass .pf-heroGallery__main{height:390px; border-radius:24px;}
.pf-premium-pass .pf-heroGallery::after{left:18px; bottom:86px; padding:8px 12px; font-size:11px;}
.pf-premium-pass .pf-thumb{width:88px; height:60px; border-radius:14px;}

.pf-premium-pass #popular .pf-secHead,
.pf-premium-pass #catalog .pf-secHead,
.pf-premium-pass #reviews .pf-secHead,
.pf-premium-pass #contacts .pf-secHead{margin-bottom:20px;}
.pf-premium-pass .pf-popularGrid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px;}
.pf-premium-pass .pf-popularCard,
.pf-premium-pass .pf-popularCard.is-featured,
.pf-premium-pass .pf-popularCard.is-secondary{grid-column:span 1; grid-template-columns:none; grid-template-rows:auto 1fr; border-radius:24px;}
.pf-premium-pass .pf-popularCard__thumb,
.pf-premium-pass .pf-popularCard.is-featured .pf-popularCard__thumb{aspect-ratio:4/3.6; min-height:auto;}
.pf-premium-pass .pf-popularCard__body,
.pf-premium-pass .pf-popularCard.is-featured .pf-popularCard__body{padding:18px 18px 18px; gap:8px;}
.pf-premium-pass .pf-popularCard__title,
.pf-premium-pass .pf-popularCard.is-featured .pf-popularCard__title{font-size:24px; line-height:1;}
.pf-premium-pass .pf-popularCard__short,
.pf-premium-pass .pf-popularCard.is-featured .pf-popularCard__short{font-size:14px; line-height:1.52; min-height:0;}
.pf-premium-pass .pf-popularCard__cta{padding:12px 16px;}

.pf-premium-pass #catalog .pf-wrap{padding-top:0;}
.pf-premium-pass .pf-cats{grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:16px; margin-top:16px;}
.pf-premium-pass .pf-catCard{padding:16px 16px 16px; min-height:262px; border-radius:24px;}
.pf-premium-pass .pf-catCard__media{height:100px; border-radius:18px; margin-bottom:14px;}
.pf-premium-pass .pf-catCard__count{left:10px; bottom:10px; padding:7px 10px; font-size:11px;}
.pf-premium-pass .pf-catCard__title{font-size:20px; line-height:1;}
.pf-premium-pass .pf-catCard__desc{font-size:14px; line-height:1.45; max-width:none;}
.pf-premium-pass .pf-pains{display:flex; flex-wrap:wrap; gap:8px; max-height:70px; overflow:hidden; margin-top:14px;}
.pf-premium-pass .pf-pains .pf-pill{max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; padding:8px 10px;}
.pf-premium-pass .pf-catCard__foot{margin-top:14px; padding-top:12px; font-size:12px;}

.pf-premium-pass .pf-revGrid{gap:16px; margin-top:16px;}
.pf-premium-pass .pf-revCard{padding:22px 22px; min-height:260px; border-radius:24px;}
.pf-premium-pass .pf-revName{font-size:24px;}
.pf-premium-pass .pf-revCard__txt,.pf-premium-pass .pf-revText{font-size:16px; line-height:1.58;}
.pf-premium-pass .pf-shotWrap{margin-top:22px; padding:18px; border-radius:24px;}
.pf-premium-pass .pf-shotTrack{gap:14px;}
.pf-premium-pass .pf-shot{width:min(230px,62vw); aspect-ratio:4/5; border-radius:24px; padding:8px;}
.pf-premium-pass .pf-shot::before{display:none;}
.pf-premium-pass .pf-shot img{border-radius:18px;}

.pf-premium-pass .pf-founderFacts{margin-top:12px; gap:8px;}
.pf-premium-pass .pf-founderFact{padding:9px 14px; font-size:11px;}
.pf-premium-pass .pf-founder{margin-top:20px; grid-template-columns:minmax(0,1fr) minmax(380px,.88fr); gap:22px;}
.pf-premium-pass .pf-founder__card{padding:28px 28px 26px; border-radius:28px;}
.pf-premium-pass .pf-founder__name{font-size:44px;}
.pf-premium-pass .pf-founder__text p{font-size:17px; line-height:1.62; margin-bottom:16px;}
.pf-premium-pass .pf-founder__actions{margin-top:20px; padding-top:18px;}
.pf-premium-pass .pf-founder__media{padding:12px; border-radius:28px;}
.pf-premium-pass .pf-founder__ph{min-height:520px; border-radius:22px;}
.pf-premium-pass .pf-founder__img{border-radius:22px; object-position:center 20%;}

.pf-premium-pass .pf-contactsNote{margin-top:10px; font-size:14px; max-width:38rem;}
.pf-premium-pass .pf-contactsCard{padding:18px; border-radius:28px;}
.pf-premium-pass .pf-locs__chips{margin:4px 0 14px; gap:10px;}
.pf-premium-pass .pf-locs__grid{grid-template-columns:minmax(300px,.9fr) minmax(400px,1.1fr); gap:16px;}
.pf-premium-pass .pf-locCard{padding:22px 22px 20px; min-height:300px;}
.pf-premium-pass .pf-locCard__title{font-size:24px;}
.pf-premium-pass .pf-locV{font-size:16px;}
.pf-premium-pass .pf-mapCard__in{min-height:360px;}

.pf-premium-pass .pf-dock{bottom:10px;}
.pf-premium-pass .pf-dock__in{padding:8px 10px; transform:scale(.96); transform-origin:center bottom;}
.pf-premium-pass .pf-dockBtn{padding:9px 12px; font-size:15px;}

@media (max-width: 1180px){
  .pf-premium-pass .pf-popularGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pf-premium-pass .pf-cats{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .pf-premium-pass .pf-founder{grid-template-columns:1fr;}
  .pf-premium-pass .pf-locs__grid{grid-template-columns:1fr;}
}
@media (max-width: 980px){
  .pf-premium-pass .pf-sec{padding:64px 0;}
  .pf-premium-pass .pf-hero__grid{grid-template-columns:1fr;}
  .pf-premium-pass .pf-heroGallery__main{height:320px;}
}
@media (max-width: 720px){
  .pf-premium-pass .pf-sec{padding:54px 0;}
  .pf-premium-pass .pf-h1{font-size:42px; max-width:none;}
  .pf-premium-pass .pf-h2,.pf-premium-pass .pf-secTitle{font-size:38px;}
  .pf-premium-pass .pf-hero__copy{padding:24px 18px 20px;}
  .pf-premium-pass .pf-popularGrid,
  .pf-premium-pass .pf-cats,
  .pf-premium-pass .pf-revGrid{grid-template-columns:1fr!important;}
  .pf-premium-pass .pf-shot{width:min(80vw,240px);}
  .pf-premium-pass .pf-founder__ph{min-height:420px;}
}


/* v3.6 — hero balance + unified light service surfaces */
.pf-premium-pass .pf-hero{padding:26px 0 12px;}
.pf-premium-pass .pf-hero__grid{grid-template-columns:minmax(0,1fr) minmax(410px,.92fr);gap:22px;align-items:stretch;}
.pf-premium-pass .pf-hero__copy{padding:28px 28px 24px;border-radius:28px;display:flex;flex-direction:column;justify-content:center;}
.pf-premium-pass .pf-h1{font-size:clamp(46px,4.5vw,68px);line-height:.92;max-width:8.6ch;}
.pf-premium-pass .pf-sub,
.pf-premium-pass .pf-lead{font-size:17px;line-height:1.46;max-width:34rem;}
.pf-premium-pass .pf-bullets{font-size:16px;line-height:1.48;gap:8px;max-width:34rem;margin-bottom:14px;}
.pf-premium-pass .pf-hero__actions{gap:10px;margin-bottom:12px;}
.pf-premium-pass .pf-quickcta{margin-bottom:14px;gap:10px;}
.pf-premium-pass .pf-stat{padding:12px 12px 10px;min-height:0;}
.pf-premium-pass .pf-stat__n{font-size:26px;}
.pf-premium-pass .pf-stat__t{font-size:12px;line-height:1.32;}
.pf-premium-pass .pf-heroGallery{padding:12px;border-radius:28px;display:flex;flex-direction:column;justify-content:flex-start;}
.pf-premium-pass .pf-heroGallery__main{height:430px;border-radius:22px;}
.pf-premium-pass .pf-heroGallery::after{left:18px;bottom:80px;padding:8px 12px;font-size:11px;}
.pf-premium-pass .pf-thumb{width:78px;height:54px;border-radius:14px;}
.pf-premium-pass .pf-heroGallery__thumbs{padding-top:12px;gap:10px;}

.pf-catback,
.pf-modalback,
.pf-drawerback{backdrop-filter:blur(7px);background:rgba(28,33,31,.40);}

.pf-cat,
.pf-drawer,
.pf-modal--service{
  --text:#18302d;
  --mut:#556763;
  --mut2:#6f7d7a;
  color:var(--text);
  background:linear-gradient(180deg, rgba(252,249,242,.98), rgba(246,240,232,.98));
  border:1px solid rgba(24,39,37,.08);
  box-shadow:0 28px 70px rgba(26,36,34,.18);
}
.pf-cat__head,
.pf-drawer__head,
.pf-modal--service .pf-modal__head{
  background:linear-gradient(180deg, rgba(251,247,239,.98), rgba(246,240,232,.96));
  border-bottom:1px solid rgba(24,39,37,.08);
}
.pf-cat__title,
.pf-drawer__title,
.pf-modal--service .pf-modal__title,
.pf-modal--service h2,
.pf-modal--service h3,
.pf-cat h2,
.pf-cat h3,
.pf-drawer h2,
.pf-drawer h3{color:#142725;}
.pf-cat__sub,
.pf-modal--service p,
.pf-modal--service li,
.pf-modal--service .pf-svcShort,
.pf-cat p,
.pf-cat li,
.pf-drawer p,
.pf-drawer li{color:var(--mut);}
.pf-cat .pf-x,
.pf-drawer .pf-x,
.pf-modal--service .pf-x{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(24,39,37,.10);
  color:#203835;
}
.pf-cat .pf-x:hover,
.pf-drawer .pf-x:hover,
.pf-modal--service .pf-x:hover{background:#fff;border-color:rgba(24,39,37,.16);}
.pf-cat .pf-pill,
.pf-drawer .pf-pill,
.pf-modal--service .pf-pill{
  color:#2b5b55;
  border-color:rgba(47,107,99,.16);
  background:rgba(47,107,99,.08);
}
.pf-cat .pf-pill--acc,
.pf-drawer .pf-pill--acc,
.pf-modal--service .pf-pill--acc,
.pf-modal--service #srvPrice.pf-pill--acc{
  background:linear-gradient(135deg,#efc56f,#d89f34);
  border-color:rgba(201,135,24,.35);
  color:#172625;
}
.pf-cat .pf-svcRow,
.pf-drawer .pf-svcRow,
.pf-modal--service .pf-svcRow{
  border:1px solid rgba(24,39,37,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,242,235,.94));
  box-shadow:0 10px 24px rgba(26,36,34,.08);
}
.pf-cat .pf-svcRow:hover,
.pf-drawer .pf-svcRow:hover,
.pf-modal--service .pf-svcRow:hover{
  border-color:rgba(24,39,37,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,244,237,.96));
}
.pf-cat .pf-svcThumb,
.pf-drawer .pf-svcThumb,
.pf-modal--service .pf-svcThumb{
  border-color:rgba(24,39,37,.08);
  background:rgba(236,244,241,.74);
}
.pf-cat .pf-svcTitle,
.pf-drawer .pf-svcTitle,
.pf-modal--service .pf-svcTitle{color:#17302d;}
.pf-cat .pf-btn--ghost,
.pf-drawer .pf-btn--ghost,
.pf-modal--service .pf-btn--ghost{
  background:rgba(255,255,255,.92);
  border-color:rgba(24,39,37,.10);
  color:#17302d;
}
.pf-cat .pf-btn--ghost:hover,
.pf-drawer .pf-btn--ghost:hover,
.pf-modal--service .pf-btn--ghost:hover{background:#fff;}
.pf-modal--service .pf-srvSlider,
.pf-modal--service .pf-srvMedia{
  border-color:rgba(24,39,37,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.80), rgba(241,235,227,.74));
}
.pf-modal--service .pf-srvSlider img,
.pf-modal--service .pf-srvMedia img{filter:none;}

@media (max-width: 980px){
  .pf-premium-pass .pf-hero{padding:22px 0 10px;}
  .pf-premium-pass .pf-hero__grid{grid-template-columns:1fr;gap:18px;}
  .pf-premium-pass .pf-heroGallery__main{height:320px;}
}
@media (max-width: 720px){
  .pf-premium-pass .pf-h1{font-size:42px;max-width:none;}
  .pf-premium-pass .pf-hero__copy{padding:22px 18px 18px;}
  .pf-premium-pass .pf-heroGallery__main{height:290px;}
  .pf-premium-pass .pf-thumb{width:70px;height:48px;}
}
