/* Inter Tight (SIL OFL 1.1), self-hosted variable font, Google Fonts subsets. Same family the template loads. */
/* cyrillic-ext */
@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/gl/fonts/inter-tight-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/gl/fonts/inter-tight-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/gl/fonts/inter-tight-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/gl/fonts/inter-tight-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---- palette.css */
/* Geri Lux Clean palette for the Nestrova template: navy + light blue + white. APPROVED by the owner 2026-10-26
   (geriluxclean/recolor/RECOLOR-PLAN.md). Loads after the template stylesheet. Only colour tokens and the 5 colour
   literals outside :root change; layout, type and spacing are untouched. Template values are in the trailing comments. */
:root {
  --_color---primary-color--100: #eef4fb; /* was #eef4f4 */
  --_color---primary-color--200: #d9e6f4; /* was #d6e3e3 */
  --_color---primary-color--300: #9fc1e3; /* was #8fb3b2 */
  --_color---primary-color--color: #5b86b5; /* was #5c8a8c */
  --_color---primary-color--400: #0f2b4c; /* was #003d42 */
  --_color---primary-color--500: #0c2542; /* was #003338 */
  --_color---primary-color--600: #0a1f38; /* was #00292d */
  --_color---primary-color--700: #081a2f; /* was #001f22 */
  --_color---primary-color--800: #061424; /* was #001517 */
  --_color---primary-color--900: #030a14; /* was #000b0c */
  --_color---gray-color--100: #fcfdff; /* was #fcfbf8 */
  --_color---gray-color--200: #f4f8fc; /* was #f7f5ef */
  --_color---gray-color--300: #e4edf6; /* was #e9e4d8 */
  --_color---gray-color--400: #d3dde8; /* was #d7d8d1 */
  --_color---gray-color--500: #8d9bad; /* was #a3aaa8 */
  --_color---gray-color--600: #5b6878; /* was #667171 */
  --_color---gray-color--700: #374556; /* was #3d4a4b */
  --_color---gray-color--800: #13233a; /* was #182526 */
  --_color---gray-color--900: #0a1424; /* was #0d1516 */
  --_color---white-color--100: #f4f8fc0a; /* was #faf7f00a */
  --_color---white-color--200: #f4f8fc14; /* was #faf7f014 */
  --_color---white-color--300: #f4f8fc1f; /* was #faf7f01f */
  --_color---white-color--400: #f4f8fc33; /* was #faf7f033 */
  --_color---white-color--500: #f4f8fc52; /* was #faf7f052 */
  --_color---white-color--600: #f4f8fc9e; /* was #faf7f09e */
  --_color---white-color--700: #f4f8fcb3; /* was #f7f5efb3 */
  --_color---white-color--800: #f4f8fccc; /* was #faf7f0cc */
  --_color---black-color--100: #13233a0f; /* was #1825260f */
  --_color---black-color--200: #13233a33; /* was #18252633 */
  --_color---black-color--black-20: #13233a33; /* was #18252633 */
  --_color---black-color--400: #13233a66; /* was #18252666 */
  --_color---black-color--600: #13233a99; /* was #18252699 */
}
.secondary-button:where(.w-variant-ca36d809-add6-383f-6d1e-17a4facc22f3) { border-color: #f4f8fc52; } /* was #f7f5ef52 */
.secondary-button:where(.w-variant-ff2b9c6d-be98-264b-64e3-49ba8c1a1549) { border-color: #f4f8fc52 #f4f8fc52 #f4f8fc80; } /* was #f7f5ef52 #f7f5ef52 #f7f5ef80 */
.process-gradient { background-image: linear-gradient(#0a1f3880, #0a1f380d 38%, #0a1f389e); } /* was linear-gradient(#00292d80, #00292d0d 38%, #00292d9e) */
.contact-image-overlay { background-image: linear-gradient(#081a2f66, #081a2f00 24%, #081a2f85); } /* was linear-gradient(#001f2366, #001f2300 24%, #001f2385) */
.hero-image-gradient { background-image: linear-gradient(#081a2f66, #081a2f00 24%, #081a2f85); } /* was linear-gradient(#001f2366, #001f2300 24%, #001f2385) */

/* Template contrast fixes (recommended). Nestrova itself puts body-grey text on its dark bands
   (about 2.5–2.9:1); the combo class .text-color-white-600 even points at gray-600. These five rules
   make that text light, as intended. They also fail with the original teal palette. */
.paragraph-xsmall.text-color-white-600 { color: var(--_color---white-color--600); } /* was gray-600: form note, footer address */
.footer-link-block > .label-medium { color: var(--_color---white-color--600); } /* footer column headings */
.process-card-block > .paragraph-small.is-uppercase { color: var(--_color---primary-color--300); } /* "Step 01" labels: light blue on navy */
.blog-tag > .text-small { color: var(--_color---white-color--600); } /* tags on the dark heroes */
.spacialist-summary .paragraph-sm { color: var(--_color---white-color--700); } /* specialists page, dark band */

/* ---- base.css */
/* Geri Lux Clean brand layer (lead-owned). Nestrova stays the design system; this file only adds what the Bulgarian
   content and the client's forms need, in the template's own tokens:
   1. the skip link and nowrap glue spans (lib finalize);
   2. long Bulgarian words never push a phone layout sideways;
   3. the inquiry forms' extra controls (photo upload, consent) styled like the template's fields. */
.sk-skip {
  position: fixed;
  left: 1rem;
  top: -5rem;
  z-index: 10000;
  padding: .75rem 1rem;
  background: var(--_color---primary-color--400);
  color: var(--_color---gray-color--100);
  font: 500 1rem/1.2 "Inter Tight", sans-serif;
  text-decoration: none;
  transition: top .2s;
}
.sk-skip:focus { top: 1rem; }
.sk-nowrap { white-space: nowrap; }
h1, h2, h3, h4, h5, h6, p, li, a, blockquote { overflow-wrap: break-word; }

/* ---- forms: photo upload + consent, on the dark form panels (cta-panel, contact message panel) */
.sk-file-field {
  display: flex;
  align-items: center;
  gap: var(--_sizes---spacers--spacer-3xsm);
  min-height: var(--_sizes---sizes--button-height);
  border-bottom: 1px solid var(--_color---white-color--400);
  color: var(--_color---gray-color--200);
  font-family: var(--_typography---font-family--body-font-family);
  font-size: var(--_typography---typography--paragraph-3);
}
.sk-file-field { position: relative; flex-wrap: wrap; padding: .5rem 0; }
/* the native control says "Choose files" in the browser's language: it stays focusable but hidden, our label is the button */
.sk-file-input { position: absolute; left: 0; top: 0; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.sk-file-btn {
  padding: .5rem 1rem;
  border: 1px solid var(--_color---white-color--400);
  color: var(--_color---gray-color--200);
  cursor: pointer;
  transition: background-color .2s;
}
.sk-file-btn:hover, .sk-file-input:focus-visible + .sk-file-btn { background: var(--_color---white-color--200); }
.sk-file-input:focus-visible + .sk-file-btn { outline: 2px solid var(--_color---primary-color--300); outline-offset: 2px; }
.sk-file-name { color: var(--_color---white-color--700); }
.sk-file-hint { color: var(--_color---white-color--600); font-size: var(--_typography---typography--paragraph-5); line-height: var(--_typography---line-height--line-height-main); }
.sk-consent {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
  margin-top: var(--_sizes---spacers--spacer-2xsm);
  color: var(--_color---white-color--700);
  font-family: var(--_typography---font-family--body-font-family);
  font-size: var(--_typography---typography--paragraph-4);
  line-height: var(--_typography---line-height--line-height-main);
  cursor: pointer;
}
.sk-consent input { flex: none; width: 1rem; height: 1rem; margin-top: .15rem; accent-color: var(--_color---primary-color--300); }
.sk-consent a { color: var(--_color---gray-color--200); text-decoration: underline; text-underline-offset: 2px; }
.sk-credit { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* ---- no empty voids (owner rule): our inquiry forms are taller than the template's, so on desktop the CTA band's
   left column (heading + contacts) stays in view beside the form instead of leaving an empty column under it. */
@media screen and (min-width: 992px) {
  .cta-left-block { position: sticky; top: 7.5rem; align-self: start; }
}

/* Home "(01) За нас": the template pins the rail's text and button to the bottom of a column as tall as the statement
   and the three cards. On desktop the rail is one group that stays in view beside them (owner's void rule). */
@media screen and (min-width: 992px) {
  .about-rail-block { position: sticky; top: 7.5rem; align-self: start; }
  .about-people-block { margin-top: 0; }
}
/* Advantage cards (the repurposed testimonial slider, .sk-adv) have no reviewer photo: on tablets and phones they
   take their content's height instead of the review card's minimum. */
/* (review 2026-10-27: on desktop too: the review card's 25rem minimum left a 165 px band under 2-line texts; the
   slider's cards still share one height, the tallest card's) */
.sk-adv .testimonial-card-block { min-height: 0; }
@media screen and (min-width: 992px) { .sk-adv .testimonial-card-block { min-height: 18rem; } }

/* ---- review fixes 2026-10-27 ---------------------------------------------------------------------------------- */
/* Buttons: the template's text roll clips each label to its one-line box, which cuts the breve of „Й“ („Поискай“) and
   shows the hidden copy's breve under the letter. A taller line box, pulled back by the same amount: buttons keep
   their height (46 px) and the roll still ends on the second copy. */
.button-text-block { font-size: var(--_typography---typography--paragraph-5); margin-block: -.15em; }
.button-text-block .button-text { line-height: 1.3; }

/* Home hero H1: on 1280–1439 px laptops the template's max-width is narrower than „Професионално“ at that size */
@media screen and (min-width: 1280px) and (max-width: 1439px) {
  .section_hero .heading-style-1.is-max-width { max-width: none; }
}
/* Grids keep the template's proportions with long Bulgarian words (1fr has a min-content floor) */
.team-collection-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.about-cards-block { grid-template-columns: minmax(0, 1fr) minmax(0, 2.25fr) minmax(0, 1fr); }
@media screen and (max-width: 991px) {
  .team-collection-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-cards-block { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 767px) { .about-cards-block { grid-template-columns: minmax(0, 1fr); } }
@media screen and (max-width: 479px) { .team-collection-list { grid-template-columns: minmax(0, 1fr); } }

/* Forms */
.sk-consent.form-field-block { flex-direction: row; align-items: flex-start; font-weight: 400; }
.sk-consent input { width: 1.25rem; height: 1.25rem; margin-top: .1rem; }
.sk-consent span { line-height: 1.6; }
.sk-file-btn { font-weight: 500; }
.w-form select.form-text-field { padding-right: 1.75rem; text-overflow: ellipsis; }
/* iOS zooms into fields under 16 px */
@media screen and (max-width: 767px) {
  .w-form input:not([type="checkbox"]):not([type="file"]):not([type="submit"]), .w-form select, .w-form textarea { font-size: 16px; }
}

/* Phones: the stacking service cards are taller than the screen, so the next card covered the last stat before it
   was seen: on phones they scroll normally (the stacking stays on tablet and desktop) */
@media screen and (max-width: 767px) {
  .section_services .service-collection-item { position: relative; top: auto; }
}

/* Phone menu: the services dropdown's two columns of longer Bulgarian names */
@media screen and (max-width: 991px) {
  .w-nav-menu .navigation-wrap { padding-inline: .75rem; }
  .w-nav-menu .nav-dropdown .navigation-block { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .w-nav-menu .dropdown-nav-link { white-space: normal; }
  .sk-nav-phone { display: inline-flex; align-self: center; justify-content: center; }
}
@media screen and (max-width: 479px) {
  .w-nav-menu .nav-dropdown .navigation-block { grid-template-columns: minmax(0, 1fr); }
}
@media screen and (min-width: 992px) { .sk-nav-phone { display: none; } }

/* Keyboard: the services dropdown opened with Enter stayed at height 0 (IX3 animates it only on hover) */
@media screen and (min-width: 992px) {
  .nav-dropdown:focus-within .w-dropdown-list.w--open { height: auto !important; }
  .nav-dropdown .w-dropdown-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
}
.w-slider-arrow-left:focus-visible, .w-slider-arrow-right:focus-visible, .w-slider-dot:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Home gallery preview on tablets: three cards in a two-column grid left one alone */
@media screen and (min-width: 768px) and (max-width: 991px) {
  .sk-home-gallery .blog-collection-list > .w-dyn-item:nth-child(3) { display: none; }
}
/* footer logo: the real lockup in the template's text-logo slot */
.sk-footer-logo{display:block;height:30px;width:auto;max-width:100%}
/* services dropdown: one column per line of work, each with a small heading (lib navDropdown) */
.sk-drop-head{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--_color---white-color--600);opacity:1;padding:.25rem 0 .5rem;font-weight:500}
@media (max-width:991px){.w-nav-menu .sk-drop-head{text-align:center}}
@media (min-width:992px){.nav-dropdown nav.navigation{width:26rem}.nav-dropdown .navigation-block{width:26rem;max-width:none}}
.sk-drop-all{opacity:.8;margin-top:.25rem}
/* home #abonament: the photo captions sit on a bright room; full white text over a deeper bottom gradient */
#abonament .process-image-caption-block .paragraph-small{color:#f4f8fc}
#abonament .process-gradient{background-image:linear-gradient(#0a1f3880,#0a1f380d 30%,#0a1f38d9)}
/* home hero on phones: the wide crop showed the top of her head under the towns badge */
@media (max-width:767px){img.hero-image.sk-hero-home{object-position:58% 30% !important}}

/* ---- 2026-10-28 client round ------------------------------------------------------------------------------------ */
/* form fields for one kind of client (data-sk-only): the template's flex display would beat the hidden attribute */
[data-sk-only][hidden]{display:none !important}
/* „Запитването е от“: private client or company, as two field-height choices on the dark form panel */
.sk-kind{border:0;margin:0;padding:0;min-width:0}
.sk-kind-legend{padding:0;margin-bottom:.5rem}
@media (min-width:992px){.nav-dropdown .navigation-block{width:18rem}.nav-dropdown nav.navigation{width:18rem}}
.sk-kind-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--_sizes---spacers--spacer-3xsm)}
.sk-kind-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:var(--_sizes---sizes--button-height);padding:.5rem .75rem;border:1px solid var(--_color---white-color--400);color:var(--_color---gray-color--200);font-family:var(--_typography---font-family--body-font-family);font-size:var(--_typography---typography--paragraph-4);font-weight:500;text-align:center;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.sk-kind-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.sk-kind-option:hover{background:var(--_color---white-color--200)}
.sk-kind-option:has(input:checked){background:var(--_color---gray-color--100);border-color:var(--_color---gray-color--100);color:var(--_color---primary-color--400)}
.sk-kind-option:has(input:focus-visible){outline:2px solid var(--_color---primary-color--300);outline-offset:2px}
/* honeypot: off screen for people, still in the form for bots */
.sk-hp{position:absolute !important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
/* phones: the call bar (lib chrome) fixed at the bottom, above the page but under the open menu */
.sk-callbar{display:none}
@media screen and (max-width:767px){
  .sk-callbar{position:fixed;left:0;right:0;bottom:0;z-index:900;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:.5rem;padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom));background:var(--_color---primary-color--400);border-top:1px solid var(--_color---white-color--200)}
  .sk-callbar-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:0 .75rem;font-family:var(--_typography---font-family--body-font-family);font-size:1rem;font-weight:500;letter-spacing:.01em;text-decoration:none;white-space:nowrap}
  .sk-callbar-btn.is-phone{background:var(--_color---gray-color--100);color:var(--_color---primary-color--400)}
  .sk-callbar-btn.is-mail{border:1px solid var(--_color---white-color--400);color:var(--_color---gray-color--100)}
  .sk-callbar-btn:focus-visible{outline:2px solid var(--_color---primary-color--300);outline-offset:2px}
  .sk-callbar-icon{flex:none}
  body{padding-bottom:calc(4rem + env(safe-area-inset-bottom))}
}

/* ---- company.css */
/* Company pages (za-nas, poveritelnost). Fit-only rules, scoped by a body class; the template is not restyled.
   Owner rule "no empty voids": a short side column next to a long one stays in view (sticky) instead of leaving an empty
   column under or inside it. */

/* /za-nas ethos, tablet (the two columns sit side by side from 480 to 991 px): the founder block is pushed to the bottom of
   the left column (margin-top: auto), which opens an empty gap under the subtitle. Keep the column at its content height
   and in view beside the long statement. */
@media screen and (min-width: 480px) and (max-width: 991px) {
  .sk-about .about-left-wrapper { position: sticky; top: 7.5rem; align-self: flex-start; }
  .sk-about .ethos-founder-block { margin-top: 0; }
}

/* /poveritelnost: a topic's title and summary stay in view beside its list of items (two columns from 768 px) */
@media screen and (min-width: 768px) {
  .sk-legal .licenses-content-left-block { position: sticky; top: 7.5rem; align-self: start; }
}

/* Review 2026-10-27: on narrow phones the about hero's bottom-right „Надолу“ runs past the photo's edge */
@media screen and (max-width: 479px) {
  .section_inner-hero.about .about-hero-text-block > .text-small { display: none; }
}

/* /galeriya reviews (#otzivi, the template's testimonial slider): the template shows one card per ~24% (desktop), 49%
   (tablet) or 100% (phone) of the row and lets the rest run off to the right. With only 1 to 3 real reviews that leaves
   empty card slots, so the few cards share the row, and the arrows go where every card is already in view. */
.sk-reviews.sk-rev-n1 .testimonial-slider-mask { max-width: 100%; }
.sk-reviews.sk-rev-n1 .testimonial-arrow { display: none; }
@media screen and (min-width: 480px) {
  .sk-reviews.sk-rev-n2 .testimonial-slider-mask { max-width: 49%; }
  .sk-reviews.sk-rev-n2 .testimonial-arrow { display: none; }
}
@media screen and (min-width: 992px) {
  .sk-reviews.sk-rev-n3 .testimonial-slider-mask { max-width: 32%; }
  .sk-reviews.sk-rev-n3 .testimonial-arrow { display: none; }
}

/* /galeriya reviews invitation (#otzivi, the specialists page's join cards), phones: the e-mail address and its button
   do not fit on one row, so the button moves under the address instead of breaking its label; the closing bar's dot
   keeps its round shape (the template lets flex squeeze it) */
@media screen and (max-width: 479px) {
  .sk-reviews .join-item-side-block { flex-wrap: wrap; row-gap: 1rem; }
}
.sk-reviews .join-foot-text-block .point { flex-shrink: 0; }
/* /galeriya on phones: the template's one-photo slider gets its numbered nav back, so all 12 photos are discoverable */
@media (max-width:767px){
  .sk-gallery .blog-collection-block.is-mobile .w-slider-nav{display:flex;align-items:center;justify-content:flex-start;height:48px;padding:0;pointer-events:none}
  .sk-gallery .blog-collection-block.is-mobile .w-slider-dot{display:none;margin:0;padding:0;min-width:0;background:none;width:auto;height:auto;font-size:.875rem;letter-spacing:.04em;color:var(--_color---gray-color--800, #13233a)}
  .sk-gallery .blog-collection-block.is-mobile .w-slider-dot.w-active{display:inline-block}
  .sk-gallery .blog-collection-block.is-mobile .w-slider-nav::after{content:"/ " attr(data-count);margin-left:.3em;font-size:.875rem;letter-spacing:.04em;opacity:.6}
}

/* /galeriya: the client's own photos and videos (#predi-i-sled, #video) on the specialists page's team cards. Three items
   per section, so three per row from 768 px (the template's four would leave an empty slot); below 768 px the template's
   own slider shows one card at a time (the template switches only below 480 px, where 2 of 3 cards would leave a gap). */
@media screen and (min-width: 768px) {
  .sk-media .team-collection-block.is-desktop .team-collection-list { grid-template-columns: repeat(3, 1fr); }
}
@media screen and (max-width: 767px) {
  .sk-media .team-collection-block.is-desktop { display: none; }
  .sk-media .team-collection-block.is-mobile { display: block; }
  .sk-media .team-collection-block.is-mobile .team-collection-list { grid-template-columns: 1fr; }
  .sk-media .team-collection-block.is-mobile .team-card-block { max-width: 26rem; margin-left: auto; margin-right: auto; }
}
/* videos keep their whole portrait frame (9:16), so the burned-in captions are never cut */
.sk-media.is-video .team-card-image-block { aspect-ratio: 9 / 16; }
.sk-media video.team-card-image { display: block; background-color: var(--_color---background-color--bg-color-gray-2); }
/* the picture's tag (Преди / След / …) stays one line; the pause/play button is the same template tag, bottom left */
.sk-media .team-card-number { white-space: nowrap; }
.sk-media .sk-vbtn { inset: auto auto 1rem 1rem; border: 0; cursor: pointer; z-index: 1; }
/* phones: the slider's numbered nav as a „1 / 3“ counter, like the photo slider below (the arrows stay centred) */
@media (max-width: 767px) {
  .sk-media .team-collection-block.is-mobile .w-slider-nav { display: flex; align-items: center; justify-content: flex-start; height: 3rem; padding: 0; pointer-events: none; top: auto; bottom: 0; }
  .sk-media .team-collection-block.is-mobile .w-slider-dot { display: none; margin: 0; padding: 0; min-width: 0; background: none; width: auto; height: auto; font-size: .875rem; letter-spacing: .04em; color: var(--_color---gray-color--800, #13233a); }
  .sk-media .team-collection-block.is-mobile .w-slider-dot.w-active { display: inline-block; }
  .sk-media .team-collection-block.is-mobile .w-slider-nav::after { content: "/ " attr(data-count); margin-left: .3em; font-size: .875rem; letter-spacing: .04em; opacity: .6; }
}
.sk-media .sk-vbtn:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* ---- services.css */
/* Services pages (owner: services; body.sk-svc on /uslugi and /uslugi/*). Phone and tablet only, the desktop stays as
   the template. The template's hero photos are landscape, so below 768 px their box height is the template's own
   min-height. Our photos are cropped to the desktop box (portrait), so they keep that same height here instead of
   growing with the photo. */
@media screen and (max-width: 767px) {
  .sk-svc .section_inner-hero .inner-hero-image.is-min-height { max-height: 40rem; }
  .sk-svc .section_inner-hero .inner-hero-image.service-hero-image { max-height: 36rem; }
}
@media screen and (max-width: 479px) {
  .sk-svc .section_inner-hero .inner-hero-image.is-min-height { max-height: 22rem; }
}

/* Review 2026-10-27: on 1280–1439 px laptops the „Какво включва“ heading box shrank to lone words (dv-5) */
@media screen and (min-width: 1280px) and (max-width: 1439px) {
  .sk-svc .service-details-header { max-width: 36rem; }
}
/* Tablets: service hero H1s broke into one-word lines (tablet-head-1) */
@media screen and (min-width: 768px) and (max-width: 991px) {
  .sk-svc .service-hero-title { font-size: 3.5rem; }
}

/* 2026-10-27: the offices page and the schools / large sites page point to each other from the panel note (a
   rich-text paragraph): the template's links carry no underline, so the inline one is marked like the form's links */
.sk-svc .service-details p .sk-text-link { color: var(--_color---primary-color--400); text-decoration: underline; text-underline-offset: 2px; }
.sk-svc .service-details p .sk-text-link:hover { text-decoration-thickness: 2px; }
