/*
Theme Name: Studio Figura Panorama Gliwice
Theme URI: https://sfgliwice.pl/
Author: Studio Figura Panorama Gliwice
Author URI: https://sfgliwice.pl/
Description: Lekki, nowoczesny motyw lokalnego studia modelowania sylwetki, fitnessu i kosmetologii estetycznej. Strona główna, kontakt, blog, formularz konsultacji, schema.org, REST API i llms.txt.
Version: 1.7.1
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 8.0
Text Domain: sfgl
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, custom-menu, featured-images, blog, accessibility-ready, block-styles, wide-blocks, translation-ready
*/

:root {
  --sf-ink: #241820;
  --sf-ink-2: #34232d;
  --sf-muted: #746b70;
  --sf-cream: #f8f4ef;
  --sf-paper: #fffdf9;
  --sf-soft: #f1e9e5;
  --sf-blush: #f1d7d9;
  --sf-rose: #ca6d84;
  --sf-rose-bright: #eb8fa4;
  --sf-rose-dark: #7b3652;
  --sf-sand: #d9c0ad;
  --sf-lime: #d9e0c7;
  --sf-line: rgba(36, 24, 32, .13);
  --sf-line-light: rgba(255, 255, 255, .15);
  --sf-shadow: 0 30px 90px rgba(55, 31, 44, .13);
  --sf-shadow-soft: 0 18px 55px rgba(55, 31, 44, .08);
  --sf-radius-sm: 16px;
  --sf-radius: 28px;
  --sf-radius-lg: 48px;
  --sf-max: 1240px;
  --sf-serif: "DM Serif Display", Georgia, serif;
  --sf-sans: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--sf-ink);
  background: var(--sf-cream);
  font-family: var(--sf-sans);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.sf-modal-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .2em; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--sf-rose); color: #fff; }
:focus-visible { outline: 3px solid rgba(202, 109, 132, .48); outline-offset: 4px; }

.sf-container { width: min(calc(100% - 44px), var(--sf-max)); margin-inline: auto; }
.sf-section { padding: clamp(82px, 10vw, 150px) 0; }
.sf-section--tight { padding: clamp(55px, 7vw, 96px) 0; }
.sf-section--compact { padding: clamp(64px, 7vw, 98px) 0; }
.sf-section--paper { background: var(--sf-paper); }
.sf-section--soft { background: var(--sf-soft); }
.sf-section--ink { background: var(--sf-ink); color: #fff; }
.sf-grid { display: grid; gap: 26px; }
.sf-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sf-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sf-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sf-display, h1, h2, h3 { margin-top: 0; line-height: 1.02; text-wrap: balance; }
h1, .sf-h1 { font-family: var(--sf-serif); font-size: clamp(3.4rem, 7.6vw, 7.6rem); font-weight: 500; letter-spacing: -.06em; }
h2, .sf-h2 { font-family: var(--sf-serif); font-size: clamp(2.55rem, 5.2vw, 5.25rem); font-weight: 500; letter-spacing: -.05em; }
h3, .sf-h3 { font-size: clamp(1.35rem, 2.2vw, 1.9rem); letter-spacing: -.035em; }
.sf-lead { max-width: 730px; color: var(--sf-muted); font-size: clamp(1.08rem, 1.55vw, 1.28rem); }
.sf-section--ink .sf-lead { color: rgba(255,255,255,.66); }
.sf-kicker {
  display: inline-flex; align-items: center; gap: 11px; margin: 0 0 19px;
  color: var(--sf-rose-dark); font-size: .73rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase;
}
.sf-kicker::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.sf-section--ink .sf-kicker, .sf-cta .sf-kicker { color: #f1c5cf; }
.sf-section-head { display: flex; align-items: end; justify-content: space-between; gap: 54px; margin-bottom: clamp(42px, 5vw, 68px); }
.sf-section-head > :first-child { max-width: 820px; }
.sf-section-head h2 { margin-bottom: 0; }

.sf-button {
  appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 11px;
  min-height: 54px; padding: 14px 23px; border: 1px solid transparent; border-radius: 999px;
  background: var(--sf-ink); color: #fff; font-size: .91rem; font-weight: 780; text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.sf-button:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(36,24,32,.18); }
.sf-button--accent { background: var(--sf-rose); box-shadow: 0 16px 38px rgba(161,74,98,.24); }
.sf-button--accent:hover { background: var(--sf-rose-dark); }
.sf-button--light { background: #fff; color: var(--sf-ink); }
.sf-button--outline { background: transparent; color: var(--sf-ink); border-color: var(--sf-line); }
.sf-button--ghost-light { background: rgba(255,255,255,.03); color: #fff; border-color: rgba(255,255,255,.26); }
.sf-button--ghost-light:hover { background: #fff; color: var(--sf-ink); }
.sf-button--text { min-height: auto; padding: 0; border-radius: 0; background: transparent; color: inherit; box-shadow: none; }
.sf-actions { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; }
.sf-link-arrow { display: inline-flex; align-items: center; gap: 13px; font-weight: 800; text-decoration: none; }
.sf-link-arrow span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 50%; transition: transform .22s ease, background .22s ease, color .22s ease; }
.sf-link-arrow:hover span { transform: translate(2px,-2px); background: var(--sf-ink); color: #fff; }

.sf-reveal { opacity: 0; transform: translateY(25px); transition: opacity .75s cubic-bezier(.2,.65,.25,1), transform .75s cubic-bezier(.2,.65,.25,1); }
.sf-reveal--delay { transition-delay: .16s; }
.sf-reveal.is-visible { opacity: 1; transform: translateY(0); }
.no-js .sf-reveal { opacity: 1; transform: none; }

.sf-skip-link { position: fixed; z-index: 9999; top: 12px; left: 12px; transform: translateY(-150%); background: #fff; padding: 10px 14px; border-radius: 10px; }
.sf-skip-link:focus { transform: translateY(0); }
.sf-topbar { background: var(--sf-ink); color: rgba(255,255,255,.72); font-size: .76rem; letter-spacing: .01em; }
.sf-topbar__inner { min-height: 35px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.sf-topbar a { color: #fff; text-decoration: none; }
.sf-site-header { position: sticky; top: 0; z-index: 100; background: rgba(248,244,239,.84); border-bottom: 1px solid rgba(36,24,32,.07); backdrop-filter: blur(20px); transition: box-shadow .25s ease, background .25s ease; }
.sf-site-header.is-scrolled { background: rgba(255,253,249,.94); box-shadow: 0 12px 32px rgba(55,31,44,.07); }
.sf-header__inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.sf-brand { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.sf-brand__mark { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--sf-ink); color: #fff; font-family: var(--sf-serif); font-size: 1.25rem; }
.sf-brand__copy { line-height: 1.08; }
.sf-brand__copy strong { display: block; font-family: var(--sf-serif); font-size: 1.22rem; font-weight: 600; }
.sf-brand__copy span { display: block; margin-top: 4px; color: var(--sf-muted); font-size: .63rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.custom-logo { max-height: 54px; width: auto; }
.sf-nav { display: flex; align-items: center; gap: 24px; }
.sf-nav ul { list-style: none; display: flex; align-items: center; gap: 27px; margin: 0; padding: 0; }
.sf-nav a { position: relative; text-decoration: none; font-size: .88rem; font-weight: 740; }
.sf-nav ul a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: var(--sf-rose-dark); transition: right .22s ease; }
.sf-nav ul a:hover::after, .sf-nav .current-menu-item > a::after { right: 0; }
.sf-nav .current-menu-item > a { color: var(--sf-rose-dark); }
.sf-nav-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--sf-line); border-radius: 50%; background: rgba(255,255,255,.5); }
.sf-nav-toggle span, .sf-nav-toggle::before, .sf-nav-toggle::after { content: ""; display: block; width: 18px; height: 2px; margin: 4px auto; background: var(--sf-ink); transition: .2s; }
.sf-nav-toggle[aria-expanded="true"] span { opacity: 0; }
.sf-nav-toggle[aria-expanded="true"]::before { transform: translateY(6px) rotate(45deg); }
.sf-nav-toggle[aria-expanded="true"]::after { transform: translateY(-6px) rotate(-45deg); }

.sf-hero { position: relative; overflow: clip; min-height: 760px; padding: clamp(70px, 8vw, 118px) 0 clamp(80px, 10vw, 135px); }
.sf-hero__wash { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 87% 17%, rgba(235,143,164,.2), transparent 34%), radial-gradient(circle at 12% 85%, rgba(217,192,173,.28), transparent 28%); }
.sf-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); align-items: center; gap: clamp(50px, 7vw, 105px); }
.sf-hero__copy { position: relative; z-index: 2; }
.sf-hero__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 35px; color: var(--sf-muted); font-size: .69rem; font-weight: 820; letter-spacing: .13em; text-transform: uppercase; }
.sf-hero__meta span + span::before { content: "•"; margin-right: 10px; color: var(--sf-rose); }
.sf-hero h1 { max-width: 780px; margin-bottom: 28px; }
.sf-hero h1 em { color: var(--sf-rose-dark); font-weight: inherit; }
.sf-hero__lead { max-width: 665px; margin-bottom: 33px; color: var(--sf-muted); font-size: clamp(1.08rem, 1.55vw, 1.28rem); }
.sf-hero__actions { gap: 20px; }
.sf-trust-row { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 35px; color: var(--sf-muted); font-size: .82rem; font-weight: 680; }
.sf-trust-row span { display: inline-flex; align-items: center; gap: 8px; }
.sf-trust-row span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--sf-rose); box-shadow: 0 0 0 4px rgba(202,109,132,.12); }
.sf-hero-art { position: relative; min-height: 620px; }
.sf-hero-art img { position: absolute; z-index: 1; inset: 0 8% 0 9%; width: 83%; height: 100%; object-fit: cover; border-radius: 45% 45% 52px 52px; box-shadow: var(--sf-shadow); }
.sf-hero-art__halo { position: absolute; width: 84%; aspect-ratio: 1; top: 4%; right: -8%; border: 1px solid rgba(123,54,82,.2); border-radius: 50%; }
.sf-hero-art__halo::before, .sf-hero-art__halo::after { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(123,54,82,.1); border-radius: 50%; }
.sf-hero-art__halo::after { inset: 18%; }
.sf-float-card { position: absolute; z-index: 3; display: grid; padding: 18px 20px; border: 1px solid rgba(255,255,255,.75); border-radius: 20px; background: rgba(255,253,249,.8); box-shadow: 0 22px 55px rgba(55,31,44,.15); backdrop-filter: blur(16px); }
.sf-float-card strong { font-family: var(--sf-serif); font-size: 1.55rem; line-height: 1.05; }
.sf-float-card small { color: var(--sf-muted); font-size: .72rem; font-weight: 720; }
.sf-float-card--top { left: 0; top: 15%; padding-left: 45px; }
.sf-float-card--bottom { right: 0; bottom: 15%; }
.sf-float-card__dot { position: absolute; left: 20px; top: 25px; width: 12px; height: 12px; border-radius: 50%; background: var(--sf-rose); box-shadow: 0 0 0 7px rgba(202,109,132,.13); }
.sf-hero-art__seal { position: absolute; z-index: 4; left: 10%; bottom: -10px; display: grid; place-items: center; width: 124px; height: 124px; border-radius: 50%; background: var(--sf-ink); color: #fff; text-align: center; line-height: 1.05; transform: rotate(-8deg); }
.sf-hero-art__seal span { font-size: .55rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.sf-hero-art__seal strong { font-family: var(--sf-serif); font-size: 1rem; font-weight: 500; }

.sf-marquee { overflow: hidden; border-block: 1px solid var(--sf-line); background: var(--sf-paper); }
.sf-marquee__track { width: max-content; display: flex; align-items: center; gap: 28px; padding: 17px 0; animation: sf-marquee 28s linear infinite; }
.sf-marquee span { font-size: .67rem; font-weight: 850; letter-spacing: .2em; }
.sf-marquee i { color: var(--sf-rose); font-style: normal; }
@keyframes sf-marquee { to { transform: translateX(-50%); } }

.sf-goals { background: var(--sf-paper); }
.sf-goals__head { display: grid; grid-template-columns: .6fr 1fr; align-items: end; gap: 30px; margin-bottom: 40px; }
.sf-goals__head .sf-kicker { grid-column: 1 / -1; margin-bottom: -8px; }
.sf-goals__head h2 { margin-bottom: 0; }
.sf-goals__head p:last-child { max-width: 550px; margin: 0 0 7px auto; color: var(--sf-muted); }
.sf-goal-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--sf-line); border-left: 1px solid var(--sf-line); }
.sf-goal { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 17px; min-height: 128px; padding: 24px; border: 0; border-right: 1px solid var(--sf-line); border-bottom: 1px solid var(--sf-line); background: transparent; color: var(--sf-ink); text-align: left; transition: background .25s ease, color .25s ease; }
.sf-goal:hover { background: var(--sf-ink); color: #fff; }
.sf-goal__symbol { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid currentColor; border-radius: 50%; font-family: var(--sf-serif); font-size: 1.25rem; }
.sf-goal__label { font-size: .98rem; font-weight: 770; line-height: 1.3; }
.sf-goal__arrow { opacity: .45; transition: transform .2s ease, opacity .2s ease; }
.sf-goal:hover .sf-goal__arrow { opacity: 1; transform: translate(3px,-3px); }

.sf-zone-grid { display: grid; grid-template-columns: .95fr 1.05fr 1.25fr; gap: 22px; }
.sf-zone-card { position: relative; overflow: hidden; min-height: 560px; padding: clamp(29px, 3.5vw, 43px); border-radius: var(--sf-radius); display: flex; flex-direction: column; transition: transform .3s ease, box-shadow .3s ease; }
.sf-zone-card:hover { transform: translateY(-7px); box-shadow: var(--sf-shadow); }
.sf-zone-card::before { content: ""; position: absolute; width: 220px; height: 220px; right: -80px; top: -80px; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.06), 0 0 0 84px rgba(255,255,255,.035); }
.sf-zone-card--fitness { background: #dfe5ce; }
.sf-zone-card--wellness { background: #ecd9cf; }
.sf-zone-card--beauty { background: linear-gradient(150deg, #8a405b, #432332); color: #fff; }
.sf-zone-card__top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 72px; }
.sf-zone-card__number { font-family: var(--sf-serif); font-size: 2.15rem; }
.sf-zone-card__eyebrow { font-size: .63rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.sf-zone-card h3 { max-width: 290px; margin-bottom: 19px; font-family: var(--sf-serif); font-size: clamp(2rem, 3.4vw, 3.3rem); font-weight: 500; }
.sf-zone-card > p { margin: 0 0 28px; color: rgba(36,24,32,.68); font-size: .94rem; }
.sf-zone-card--beauty > p { color: rgba(255,255,255,.65); }
.sf-zone-list { display: grid; gap: 10px; margin: auto 0 30px; padding: 0; list-style: none; }
.sf-zone-list li { display: flex; align-items: center; gap: 10px; font-size: .82rem; font-weight: 720; }
.sf-zone-list li::before { content: "+"; opacity: .65; }
.sf-zone-card__cta { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 0 0; border: 0; border-top: 1px solid rgba(36,24,32,.2); background: transparent; color: inherit; font-size: .82rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.sf-zone-card--beauty .sf-zone-card__cta { border-color: rgba(255,255,255,.2); }

.sf-service-bento { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 17px; }
.sf-service-card { position: relative; min-height: 235px; padding: 29px; border: 1px solid var(--sf-line-light); border-radius: 24px; background: rgba(255,255,255,.035); color: #fff; text-decoration: none; display: flex; flex-direction: column; justify-content: space-between; transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.sf-service-card:hover { transform: translateY(-5px); background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.34); }
.sf-service-card:nth-child(1), .sf-service-card:nth-child(6) { grid-column: span 7; }
.sf-service-card:nth-child(2), .sf-service-card:nth-child(5) { grid-column: span 5; }
.sf-service-card:nth-child(3), .sf-service-card:nth-child(4), .sf-service-card:nth-child(7), .sf-service-card:nth-child(8) { grid-column: span 3; min-height: 270px; }
.sf-service-card__index { color: rgba(255,255,255,.42); font-family: var(--sf-serif); font-size: 1.25rem; }
.sf-service-card h3 { margin: 34px 0 12px; font-family: var(--sf-serif); font-size: clamp(1.7rem, 2.9vw, 2.8rem); font-weight: 500; }
.sf-service-card p { margin: 0; color: rgba(255,255,255,.56); font-size: .84rem; }
.sf-service-card__arrow { position: absolute; right: 24px; top: 24px; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.sf-service-card--0::after, .sf-service-card--1::after, .sf-service-card--2::after, .sf-service-card--3::after { content: ""; position: absolute; right: -65px; bottom: -85px; width: 190px; height: 190px; border-radius: 50%; filter: blur(1px); opacity: .15; }
.sf-service-card--0::after { background: #ef9aad; }
.sf-service-card--1::after { background: #dce3bd; }
.sf-service-card--2::after { background: #d9aa8e; }
.sf-service-card--3::after { background: #fff; }

.sf-method__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(55px, 8vw, 110px); align-items: center; }
.sf-method__visual { position: relative; }
.sf-method__visual img { width: 100%; border-radius: var(--sf-radius-lg); box-shadow: var(--sf-shadow); }
.sf-method__caption { position: absolute; left: 28px; right: 28px; bottom: 28px; padding: 22px 24px; border: 1px solid rgba(255,255,255,.24); border-radius: 20px; background: rgba(36,24,32,.62); color: rgba(255,255,255,.73); backdrop-filter: blur(14px); font-size: .9rem; }
.sf-method__caption strong { color: #fff; }
.sf-method__content h2 { margin-bottom: 42px; }
.sf-method-steps { border-top: 1px solid var(--sf-line); }
.sf-method-steps > div { display: grid; grid-template-columns: 44px 1fr; column-gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--sf-line); }
.sf-method-steps span { grid-row: span 2; color: var(--sf-rose-dark); font-family: var(--sf-serif); font-size: 1.3rem; }
.sf-method-steps h3 { margin: 0 0 8px; font-size: 1.04rem; }
.sf-method-steps p { margin: 0; color: var(--sf-muted); font-size: .88rem; }

.sf-editorial-grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 18px; }
.sf-editorial-grid__intro { grid-column: span 6; padding: 12px 35px 45px 0; }
.sf-editorial-grid__intro h2 { font-size: clamp(2.8rem, 5vw, 4.8rem); }
.sf-editorial-card { grid-column: span 3; min-height: 300px; padding: 29px; border: 1px solid var(--sf-line); border-radius: 24px; background: rgba(255,255,255,.45); display: flex; flex-direction: column; }
.sf-editorial-card--large { grid-column: span 6; background: var(--sf-paper); }
.sf-editorial-card--dark { background: var(--sf-ink); color: #fff; }
.sf-editorial-card > span { margin-bottom: auto; color: var(--sf-rose-dark); font-family: var(--sf-serif); font-size: 1.35rem; }
.sf-editorial-card--dark > span { color: #efc1cc; }
.sf-editorial-card h3 { margin: 55px 0 12px; font-family: var(--sf-serif); font-size: clamp(1.65rem, 2.5vw, 2.45rem); font-weight: 500; }
.sf-editorial-card p { margin: 0; color: var(--sf-muted); font-size: .86rem; }
.sf-editorial-card--dark p { color: rgba(255,255,255,.57); }

.sf-location { background: var(--sf-paper); }
.sf-location__grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(48px, 7vw, 95px); align-items: center; }
.sf-location__content h2 { margin-bottom: 28px; }
.sf-location__facts { display: grid; gap: 0; margin: 38px 0 34px; border-top: 1px solid var(--sf-line); }
.sf-location__facts > div { display: grid; grid-template-columns: 95px 1fr; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--sf-line); }
.sf-location__facts span { color: var(--sf-muted); font-size: .72rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.sf-location__facts strong { font-size: .9rem; }
.sf-location__facts a { text-decoration: none; }
.sf-location__map { position: relative; min-height: 600px; overflow: hidden; border-radius: var(--sf-radius-lg); background: var(--sf-soft); box-shadow: var(--sf-shadow-soft); }
.sf-location__map iframe { width: 100%; height: 100%; min-height: 600px; border: 0; filter: grayscale(.78) sepia(.12) contrast(.9); }
.sf-location__map-label { position: absolute; left: 24px; bottom: 24px; display: grid; padding: 17px 20px; border-radius: 17px; background: var(--sf-ink); color: #fff; }
.sf-location__map-label span { color: rgba(255,255,255,.55); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sf-location__map-label strong { font-family: var(--sf-serif); font-size: 1.23rem; font-weight: 500; }

.sf-post-card { overflow: hidden; border-radius: 24px; background: var(--sf-cream); transition: transform .3s ease, box-shadow .3s ease; }
.sf-post-card:hover { transform: translateY(-7px); box-shadow: var(--sf-shadow-soft); }
.sf-post-card__image { position: relative; display: block; aspect-ratio: 1.38; overflow: hidden; background: linear-gradient(145deg, var(--sf-blush), var(--sf-sand)); text-decoration: none; }
.sf-post-card__image::after { content: "↗"; position: absolute; right: 18px; top: 18px; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.84); opacity: 0; transform: translateY(5px); transition: opacity .22s ease, transform .22s ease; }
.sf-post-card:hover .sf-post-card__image::after { opacity: 1; transform: none; }
.sf-post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.sf-post-card:hover .sf-post-card__image img { transform: scale(1.035); }
.sf-post-card__placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: rgba(123,54,82,.45); font-family: var(--sf-serif); font-size: 4rem; }
.sf-post-card__body { padding: 25px 25px 29px; }
.sf-meta { display: flex; flex-wrap: wrap; gap: 8px 15px; color: var(--sf-muted); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sf-post-card h3 { margin: 16px 0 12px; font-family: var(--sf-serif); font-size: clamp(1.55rem, 2.4vw, 2.15rem); font-weight: 500; }
.sf-post-card h3 a { text-decoration: none; }
.sf-post-card p { margin: 0; color: var(--sf-muted); font-size: .86rem; }

.sf-faq-section { background: var(--sf-soft); }
.sf-faq-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(55px, 8vw, 110px); align-items: start; }
.sf-faq-layout__head { position: sticky; top: 135px; }
.sf-faq-layout__head p:last-child { max-width: 390px; color: var(--sf-muted); }
.sf-faq { border-top: 1px solid var(--sf-line); }
.sf-faq details { border-bottom: 1px solid var(--sf-line); }
.sf-faq summary { display: flex; justify-content: space-between; gap: 25px; padding: 26px 0; cursor: pointer; list-style: none; font-family: var(--sf-serif); font-size: clamp(1.35rem, 2vw, 1.85rem); }
.sf-faq summary::-webkit-details-marker { display: none; }
.sf-faq summary::after { content: "+"; flex: 0 0 auto; font-family: var(--sf-sans); font-size: 1.35rem; font-weight: 400; }
.sf-faq details[open] summary::after { content: "−"; }
.sf-faq details p { max-width: 720px; margin: -6px 0 28px; color: var(--sf-muted); }

.sf-cta { position: relative; overflow: hidden; padding: clamp(56px, 8vw, 104px); border-radius: var(--sf-radius-lg); background: linear-gradient(135deg, #8b405b, #4a2535); color: #fff; box-shadow: var(--sf-shadow); }
.sf-cta > *:not(.sf-cta__orb) { position: relative; z-index: 2; }
.sf-cta__orb { position: absolute; width: 520px; height: 520px; right: -155px; top: -210px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 65px rgba(255,255,255,.045), 0 0 0 130px rgba(255,255,255,.025); }
.sf-cta h2 { max-width: 960px; margin-bottom: 23px; }
.sf-cta > p:not(.sf-kicker) { max-width: 670px; margin-bottom: 30px; color: rgba(255,255,255,.68); }

.sf-page-hero { position: relative; overflow: hidden; padding: clamp(85px, 10vw, 145px) 0 clamp(70px, 8vw, 110px); }
.sf-page-hero::after { content: ""; position: absolute; width: 520px; height: 520px; right: -170px; top: -230px; border-radius: 50%; background: radial-gradient(circle, rgba(235,143,164,.22), transparent 68%); }
.sf-page-hero__inner { position: relative; z-index: 1; max-width: 980px; }
.sf-page-hero h1 { max-width: 920px; font-size: clamp(3.7rem, 7.6vw, 7.5rem); }
.sf-page-hero p { max-width: 730px; color: var(--sf-muted); font-size: clamp(1.08rem, 1.5vw, 1.25rem); }
.sf-contact-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); gap: clamp(45px, 7vw, 95px); align-items: start; }
.sf-contact-visual { position: relative; overflow: hidden; min-height: 460px; margin-bottom: 34px; border-radius: var(--sf-radius-lg); }
.sf-contact-visual img { width: 100%; height: 100%; min-height: 460px; object-fit: cover; }
.sf-panel { padding: clamp(30px, 5vw, 52px); border: 1px solid var(--sf-line); border-radius: var(--sf-radius-lg); background: #fff; box-shadow: var(--sf-shadow-soft); }
.sf-contact-list { display: grid; margin: 28px 0; border-top: 1px solid var(--sf-line); }
.sf-contact-item { display: grid; grid-template-columns: 105px 1fr; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--sf-line); }
.sf-contact-item dt { color: var(--sf-muted); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.sf-contact-item dd { margin: 0; font-weight: 680; }
.sf-contact-item a { text-decoration: none; }
.sf-map { overflow: hidden; min-height: 480px; border-radius: var(--sf-radius); background: var(--sf-soft); }
.sf-map iframe { display: block; width: 100%; min-height: 480px; border: 0; filter: grayscale(.72) sepia(.1) contrast(.94); }

.sf-form { display: grid; gap: 18px; }
.sf-form__row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.sf-field label { display: block; margin-bottom: 8px; font-size: .69rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.sf-field input, .sf-field textarea, .sf-field select { width: 100%; min-height: 54px; padding: 13px 15px; border: 1px solid var(--sf-line); border-radius: 14px; background: var(--sf-paper); color: var(--sf-ink); outline: 0; transition: border-color .2s, box-shadow .2s, background .2s; }
.sf-field textarea { min-height: 120px; resize: vertical; }
.sf-field input:focus, .sf-field textarea:focus, .sf-field select:focus { border-color: var(--sf-rose); background: #fff; box-shadow: 0 0 0 4px rgba(202,109,132,.1); }
.sf-checkbox { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; color: var(--sf-muted); font-size: .76rem; }
.sf-checkbox input { margin-top: 4px; }
.sf-form__status { display: none; padding: 13px 14px; border-radius: 13px; font-size: .85rem; }
.sf-form__status.is-visible { display: block; }
.sf-form__status.is-success { background: #e8f5ec; color: #28633a; }
.sf-form__status.is-error { background: #fae8e8; color: #8c3030; }
.sf-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.sf-blog-featured { display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; border-radius: var(--sf-radius-lg); background: var(--sf-ink); color: #fff; box-shadow: var(--sf-shadow); }
.sf-blog-featured__image { min-height: 530px; background: linear-gradient(145deg, var(--sf-blush), var(--sf-sand)); }
.sf-blog-featured__image img { width: 100%; height: 100%; object-fit: cover; }
.sf-blog-featured__body { padding: clamp(35px, 6vw, 76px); display: flex; flex-direction: column; justify-content: center; }
.sf-blog-featured .sf-meta { color: rgba(255,255,255,.5); }
.sf-blog-featured h2 { margin: 22px 0; font-size: clamp(2.3rem, 4.2vw, 4.3rem); }
.sf-blog-featured p { color: rgba(255,255,255,.62); }
.search-form { display: flex; gap: 8px; }
.search-form label { flex: 1; }
.search-field { width: 100%; min-height: 48px; padding: 11px 15px; border: 1px solid var(--sf-line); border-radius: 999px; background: transparent; }
.search-submit { min-height: 48px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--sf-ink); color: #fff; font-weight: 750; }
.sf-pagination { margin-top: 52px; }
.sf-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.sf-pagination a, .sf-pagination span { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--sf-line); border-radius: 50%; text-decoration: none; }
.sf-pagination .current { background: var(--sf-ink); color: #fff; }

.sf-article { max-width: 860px; margin: 0 auto; }
.sf-article__header { margin-bottom: 48px; }
.sf-article__header h1 { font-size: clamp(3rem, 6vw, 5.8rem); }
.sf-article__image { margin: 0 0 48px; overflow: hidden; border-radius: var(--sf-radius-lg); }
.sf-entry-content { font-size: 1.07rem; }
.sf-entry-content > * { max-width: 780px; margin-left: auto; margin-right: auto; }
.sf-entry-content > .alignwide { max-width: 1120px; }
.sf-entry-content > .alignfull { max-width: none; }
.sf-entry-content h2 { margin-top: 2em; font-size: 2.55rem; }
.sf-entry-content h3 { margin-top: 1.7em; }
.sf-entry-content blockquote { padding: 27px 31px; border-left: 4px solid var(--sf-rose); background: var(--sf-paper); }
.sf-entry-content a { color: var(--sf-rose-dark); }

.sf-modal { position: fixed; z-index: 1000; inset: 0; display: none; }
.sf-modal[aria-hidden="false"] { display: block; }
.sf-modal__backdrop { position: absolute; inset: 0; background: rgba(24,14,20,.73); backdrop-filter: blur(8px); }
.sf-modal__dialog { position: relative; z-index: 1; width: min(calc(100% - 30px), 720px); max-height: calc(100vh - 34px); overflow: auto; margin: 17px auto; padding: clamp(30px,5vw,56px); border-radius: 32px; background: var(--sf-paper); box-shadow: 0 38px 120px rgba(0,0,0,.34); }
.sf-modal__dialog::before { content: ""; position: absolute; width: 210px; height: 210px; right: -90px; top: -90px; border-radius: 50%; background: rgba(202,109,132,.12); }
.sf-modal__close { position: absolute; z-index: 2; top: 18px; right: 18px; display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid var(--sf-line); border-radius: 50%; background: #fff; font-size: 1.25rem; }
.sf-modal h2 { position: relative; margin-bottom: 13px; font-size: clamp(2.3rem, 5vw, 4rem); }
.sf-modal__intro { position: relative; margin: 0 0 30px; color: var(--sf-muted); }
.sf-modal__tag { position: relative; margin: 0 0 13px; color: var(--sf-rose-dark); font-size: .7rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.sf-mobile-cta { display: none; position: fixed; z-index: 90; left: 12px; right: 12px; bottom: 12px; }
.sf-mobile-cta .sf-button { width: 100%; box-shadow: 0 18px 45px rgba(31,27,29,.28); }

.sf-site-footer { padding: 78px 0 32px; background: #171015; color: #fff; }
.sf-footer-grid { display: grid; grid-template-columns: 1.4fr .7fr .7fr 1fr; gap: 42px; padding-bottom: 58px; }
.sf-footer-brand p { max-width: 390px; color: rgba(255,255,255,.52); font-size: .86rem; }
.sf-footer-heading { margin-bottom: 17px; color: rgba(255,255,255,.4); font-size: .66rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.sf-footer-links { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.sf-footer-links a { color: rgba(255,255,255,.76); text-decoration: none; font-size: .84rem; }
.sf-footer-links a:hover { color: #fff; }
.sf-footer-bottom { display: flex; justify-content: space-between; gap: 22px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.11); color: rgba(255,255,255,.38); font-size: .7rem; }

@media (max-width: 1080px) {
  .sf-hero__grid { grid-template-columns: 1fr .8fr; gap: 42px; }
  .sf-hero-art { min-height: 540px; }
  .sf-zone-grid { grid-template-columns: 1fr 1fr; }
  .sf-zone-card--beauty { grid-column: 1 / -1; min-height: 480px; }
  .sf-service-card:nth-child(n) { grid-column: span 6; min-height: 240px; }
  .sf-method__grid, .sf-location__grid, .sf-contact-layout { grid-template-columns: 1fr; }
  .sf-method__visual { max-width: 850px; }
  .sf-editorial-grid__intro { grid-column: span 12; padding-right: 0; }
  .sf-editorial-card, .sf-editorial-card--large { grid-column: span 6; }
  .sf-location__map, .sf-location__map iframe { min-height: 500px; }
  .sf-footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .sf-footer-grid > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 840px) {
  body { font-size: 16px; }
  .sf-topbar__inner > :first-child { display: none; }
  .sf-topbar__inner { justify-content: center; }
  .sf-header__inner { min-height: 72px; }
  .sf-nav-toggle { display: block; }
  .sf-nav { position: fixed; top: 108px; left: 14px; right: 14px; display: none; padding: 22px; border: 1px solid var(--sf-line); border-radius: 22px; background: var(--sf-paper); box-shadow: var(--sf-shadow); }
  .sf-nav.is-open { display: block; }
  .sf-nav ul { display: grid; gap: 4px; }
  .sf-nav a { display: block; padding: 11px 8px; }
  .sf-nav ul a::after { display: none; }
  .sf-nav > .sf-button { width: 100%; margin-top: 12px; }
  .sf-hero { padding-top: 65px; }
  .sf-hero__grid { grid-template-columns: 1fr; }
  .sf-hero__copy { max-width: 760px; }
  .sf-hero-art { min-height: 620px; max-width: 620px; width: 100%; margin-inline: auto; }
  .sf-goals__head { grid-template-columns: 1fr; }
  .sf-goals__head p:last-child { margin-left: 0; }
  .sf-goal-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sf-section-head { display: block; }
  .sf-section-head > :last-child { margin-top: 25px; }
  .sf-zone-grid { grid-template-columns: 1fr; }
  .sf-zone-card--beauty { grid-column: auto; }
  .sf-zone-card { min-height: 500px; }
  .sf-grid--3, .sf-grid--4 { grid-template-columns: 1fr 1fr; }
  .sf-faq-layout { grid-template-columns: 1fr; }
  .sf-faq-layout__head { position: static; }
  .sf-blog-featured { grid-template-columns: 1fr; }
  .sf-blog-featured__image { min-height: 360px; }
  .sf-footer-grid { grid-template-columns: 1fr 1fr; }
  .sf-footer-grid > :first-child, .sf-footer-grid > :last-child { grid-column: 1 / -1; }
  .sf-mobile-cta { display: block; }
  .sf-site-footer { padding-bottom: 96px; }
}

@media (max-width: 620px) {
  .sf-container { width: min(calc(100% - 28px), var(--sf-max)); }
  .sf-section { padding: 75px 0; }
  h1, .sf-h1 { font-size: clamp(3rem, 15vw, 4.7rem); }
  h2, .sf-h2 { font-size: clamp(2.35rem, 12vw, 3.7rem); }
  .sf-grid--2, .sf-grid--3, .sf-grid--4, .sf-form__row { grid-template-columns: 1fr; }
  .sf-hero__meta { flex-wrap: wrap; }
  .sf-hero-art { min-height: 470px; }
  .sf-hero-art img { inset: 0 5% 0 8%; width: 87%; }
  .sf-float-card { padding: 13px 15px; }
  .sf-float-card--top { left: -4px; top: 12%; padding-left: 38px; }
  .sf-float-card__dot { left: 15px; top: 20px; width: 9px; height: 9px; }
  .sf-float-card--bottom { right: -3px; bottom: 15%; }
  .sf-hero-art__seal { width: 92px; height: 92px; left: 7%; font-size: .7rem; }
  .sf-goal-grid { grid-template-columns: 1fr; }
  .sf-goal { min-height: 102px; }
  .sf-zone-card { min-height: auto; }
  .sf-zone-card__top { margin-bottom: 55px; }
  .sf-service-card:nth-child(n) { grid-column: span 12; min-height: 220px; }
  .sf-method__caption { position: static; margin-top: -25px; border-radius: 0 0 22px 22px; }
  .sf-editorial-card, .sf-editorial-card--large { grid-column: span 12; min-height: 255px; }
  .sf-location__facts > div, .sf-contact-item { grid-template-columns: 1fr; gap: 4px; }
  .sf-location__map, .sf-location__map iframe, .sf-map, .sf-map iframe { min-height: 390px; }
  .sf-panel { padding: 26px 19px; border-radius: 24px; }
  .sf-blog-featured__image { min-height: 280px; }
  .sf-footer-grid { grid-template-columns: 1fr; }
  .sf-footer-grid > * { grid-column: auto !important; }
  .sf-footer-bottom { display: grid; }
  .sf-cta { padding: 44px 25px; border-radius: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .sf-reveal { opacity: 1; transform: none; }
}
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
  overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus { clip: auto !important; clip-path: none; height: auto; width: auto; }


/* === 1.2.0 photos + local services page === */
.sf-hero-art img,
.sf-method__visual img,
.sf-contact-visual img,
.sf-zabiegi-hero__media img,
.sf-service-photo-card img,
.sf-service-zone__image img { display:block; width:100%; height:100%; object-fit:cover; }
.sf-hero-art img { filter: saturate(.98) contrast(1.02); }
.sf-page-hero--services { overflow:hidden; }
.sf-zabiegi-hero__grid { display:grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); gap: clamp(28px,5vw,60px); align-items:center; }
.sf-zabiegi-hero__media { position:relative; min-height: 520px; border-radius: var(--sf-radius-lg); overflow:hidden; box-shadow: var(--sf-shadow); }
.sf-zabiegi-hero__badge { position:absolute; left:24px; bottom:24px; display:inline-flex; align-items:center; gap:10px; padding:14px 18px; border-radius:999px; background: rgba(255,253,249,.92); box-shadow: var(--sf-shadow-soft); font-size:.84rem; font-weight:700; }
.sf-stat-row { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:16px; margin-top:30px; }
.sf-stat-card { padding:22px 20px; border:1px solid var(--sf-line); border-radius:24px; background:rgba(255,255,255,.72); }
.sf-stat-card strong { display:block; font-family:var(--sf-serif); font-size:2.2rem; line-height:1; margin-bottom:8px; }
.sf-stat-card span { color:var(--sf-muted); font-size:.87rem; }
.sf-service-photo-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap:26px; }
.sf-service-photo-card { position:relative; min-height:300px; border-radius:34px; overflow:hidden; box-shadow: var(--sf-shadow-soft); }
.sf-service-photo-card--tall { min-height:100%; }
.sf-service-photo-card__overlay { position:absolute; inset:auto 18px 18px 18px; padding:18px 20px; border-radius:22px; background:rgba(255,253,249,.88); backdrop-filter: blur(10px); }
.sf-service-photo-card__overlay strong { display:block; font-size:1.05rem; margin-bottom:3px; }
.sf-service-photo-stack { display:grid; gap:26px; }
.sf-service-zone { display:grid; grid-template-columns: .86fr 1.14fr; gap:32px; padding: clamp(26px,4vw,40px); border:1px solid var(--sf-line); border-radius:36px; background: var(--sf-paper); box-shadow: var(--sf-shadow-soft); }
.sf-service-zone + .sf-service-zone { margin-top:28px; }
.sf-service-zone__image { position:relative; min-height:360px; border-radius:28px; overflow:hidden; }
.sf-service-zone__tag { position:absolute; left:18px; top:18px; padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.88); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.sf-service-zone__content h2 { margin-bottom:12px; }
.sf-service-zone__content > p { margin-top:0; margin-bottom:24px; color:var(--sf-muted); }
.sf-service-listing { display:grid; gap:16px; }
.sf-service-listing__item { padding:18px 20px; border:1px solid var(--sf-line); border-radius:24px; background:#fff; }
.sf-service-listing__item h3 { margin:0 0 8px; font-size:1.15rem; }
.sf-service-listing__item p { margin:0; color:var(--sf-muted); font-size:.95rem; }
.sf-service-listing__procedures { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 0; padding:0; list-style:none; }
.sf-service-listing__procedures li { padding:8px 11px; border-radius:999px; background:var(--sf-soft); font-size:.77rem; line-height:1.3; }
.sf-service-keywords { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:18px; }
.sf-service-keywords__item { padding:22px; border-radius:24px; background:#fff; border:1px solid var(--sf-line); }
.sf-service-keywords__item h3 { margin:0 0 10px; font-size:1.12rem; }
.sf-service-keywords__item p { margin:0; color:var(--sf-muted); font-size:.93rem; }
.sf-local-faq { display:grid; gap:16px; }
.sf-local-faq details { padding:22px 24px; border:1px solid var(--sf-line); border-radius:24px; background:#fff; }
.sf-local-faq summary { cursor:pointer; font-weight:780; list-style:none; }
.sf-local-faq summary::-webkit-details-marker { display:none; }
.sf-local-faq p { margin:12px 0 0; color:var(--sf-muted); }
@media (max-width: 1080px) {
  .sf-zabiegi-hero__grid, .sf-service-zone, .sf-service-photo-grid { grid-template-columns:1fr; }
  .sf-service-keywords { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 840px) {
  .sf-stat-row, .sf-service-keywords { grid-template-columns:1fr; }
  .sf-zabiegi-hero__media { min-height:420px; }
}

/* === 1.3.0 compact layout + 27 service pages === */
:root { --sf-max: 1180px; --sf-radius-lg: 38px; }
.sf-section { padding: clamp(64px, 7vw, 104px) 0; }
.sf-section--tight { padding: clamp(44px, 5vw, 72px) 0; }
.sf-section--compact { padding: clamp(42px, 5vw, 70px) 0; }
h1, .sf-h1 { font-size: clamp(3rem, 6.6vw, 6.25rem); }
h2, .sf-h2 { font-size: clamp(2.25rem, 4.4vw, 4.35rem); }
.sf-header__inner { min-height: 74px; }
.sf-hero { min-height: 650px; padding: clamp(54px, 6vw, 82px) 0 clamp(62px, 7vw, 94px); }
.sf-hero-art { min-height: 510px; }
.sf-hero h1 { margin-bottom: 22px; }
.sf-hero__lead { margin-bottom: 27px; }
.sf-trust-row { margin-top: 27px; }
.sf-goals__head, .sf-section-head { margin-bottom: clamp(34px, 4vw, 52px); }
.sf-zone-card { min-height: 420px; padding: 30px; }
.sf-zone-card__top { margin-bottom: 42px; }
.sf-zone-card h3 { font-size: clamp(1.8rem, 2.7vw, 2.65rem); }
.sf-zone-list { margin-bottom: 24px; }
.sf-service-card { min-height: 190px; padding: 24px; }
.sf-service-card:nth-child(3), .sf-service-card:nth-child(4), .sf-service-card:nth-child(7), .sf-service-card:nth-child(8) { min-height: 215px; }
.sf-service-card h3 { margin: 22px 0 9px; font-size: clamp(1.45rem, 2.3vw, 2.2rem); }
.sf-method__grid { gap: clamp(32px, 5vw, 70px); }
.sf-method-steps > div { padding: 20px 0; }
.sf-editorial-card { min-height: 230px; }
.sf-page-hero { padding: clamp(58px, 7vw, 92px) 0 clamp(52px, 6vw, 80px); }
.sf-page-hero h1 { font-size: clamp(3.1rem, 6.4vw, 6rem); }
.sf-site-footer { padding-top: 60px; }
.sf-footer-grid { padding-bottom: 42px; }
.sf-zone-card__cta { text-decoration: none; }

.sf-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; color:var(--sf-muted); font-size:.76rem; }
.sf-breadcrumbs a { text-decoration:none; }
.sf-breadcrumbs span:last-child { color:var(--sf-ink); font-weight:700; }

.sf-services-index-hero { padding: clamp(54px,7vw,92px) 0; overflow:hidden; }
.sf-services-index-hero__grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(340px,.72fr); align-items:center; gap:clamp(32px,6vw,76px); }
.sf-services-index-hero h1 { margin-bottom:22px; }
.sf-services-index-hero__image { position:relative; min-height:500px; border-radius:36px; overflow:hidden; box-shadow:var(--sf-shadow); background:var(--sf-soft); }
.sf-services-index-hero__image img { width:100%; height:100%; min-height:500px; object-fit:cover; object-position:center; }
.sf-services-index-hero__count { position:absolute; left:20px; bottom:20px; display:flex; align-items:center; gap:12px; max-width:230px; padding:15px 18px; border-radius:20px; background:rgba(255,253,249,.92); backdrop-filter:blur(12px); }
.sf-services-index-hero__count strong { font-family:var(--sf-serif); font-size:2.15rem; line-height:1; }
.sf-services-index-hero__count span { font-size:.78rem; line-height:1.3; font-weight:700; }
.sf-services-nav { padding:18px 0; position:sticky; top:74px; z-index:40; border-block:1px solid var(--sf-line); }
.sf-services-nav__inner { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px 18px; font-size:.82rem; }
.sf-services-nav__inner span { color:var(--sf-muted); }
.sf-services-nav__inner a { padding:8px 13px; border-radius:999px; background:var(--sf-soft); text-decoration:none; font-weight:750; }
.sf-section--services-list { padding-top:60px; }
.sf-zone-index { scroll-margin-top:150px; }
.sf-zone-index + .sf-zone-index { margin-top:82px; }
.sf-zone-index__head { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:36px; align-items:end; margin-bottom:26px; }
.sf-zone-index__head h2 { margin-bottom:12px; font-size:clamp(2.15rem,4vw,3.7rem); }
.sf-zone-index__head p:last-child { max-width:670px; margin-bottom:0; color:var(--sf-muted); }
.sf-zone-index__head img { width:100%; height:170px; object-fit:cover; border-radius:26px; box-shadow:var(--sf-shadow-soft); }
.sf-services-sequence { display:grid; border-top:1px solid var(--sf-line); }
.sf-service-row { display:grid; grid-template-columns:54px minmax(0,1fr) 42px; gap:18px; align-items:center; padding:19px 4px; border-bottom:1px solid var(--sf-line); text-decoration:none; transition:padding .25s ease, background .25s ease; }
.sf-service-row:hover { padding-left:14px; padding-right:14px; background:rgba(255,255,255,.55); }
.sf-service-row__number { font-family:var(--sf-serif); font-size:1.25rem; color:var(--sf-rose-dark); }
.sf-service-row h3 { margin:0 0 5px; font-size:1.08rem; letter-spacing:-.02em; }
.sf-service-row p { margin:0; color:var(--sf-muted); font-size:.88rem; line-height:1.45; }
.sf-service-row__arrow { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--sf-line); border-radius:50%; transition:transform .2s ease, background .2s ease, color .2s ease; }
.sf-service-row:hover .sf-service-row__arrow { transform:translate(2px,-2px); background:var(--sf-ink); color:#fff; }
.sf-service-local-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:32px; align-items:center; }
.sf-service-local-card { padding:30px; border-radius:28px; background:var(--sf-paper); box-shadow:var(--sf-shadow-soft); }
.sf-service-local-card strong { display:block; font-family:var(--sf-serif); font-size:2rem; line-height:1.05; }
.sf-service-local-card p { color:var(--sf-muted); }

.sf-service-hero { padding:clamp(44px,6vw,76px) 0; overflow:hidden; }
.sf-service-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.78fr); gap:clamp(30px,5vw,66px); align-items:center; }
.sf-service-hero h1 { margin-bottom:20px; font-size:clamp(2.75rem,5.7vw,5.5rem); }
.sf-service-hero__lead { max-width:680px; margin:0 0 24px; color:var(--sf-muted); font-size:clamp(1.05rem,1.4vw,1.22rem); }
.sf-service-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
.sf-service-chips span { padding:8px 12px; border:1px solid var(--sf-line); border-radius:999px; background:rgba(255,255,255,.5); font-size:.75rem; font-weight:700; }
.sf-service-hero__media { position:relative; min-height:470px; border-radius:34px; overflow:hidden; box-shadow:var(--sf-shadow); background:var(--sf-soft); }
.sf-service-hero__media img { width:100%; height:100%; min-height:470px; object-fit:cover; }
.sf-service-hero__label { position:absolute; left:18px; right:18px; bottom:18px; display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:18px; background:rgba(255,253,249,.9); backdrop-filter:blur(10px); }
.sf-service-hero__label span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--sf-ink); color:#fff; font-family:var(--sf-serif); }
.sf-service-hero__label strong { font-size:.82rem; }
.sf-section--service-intro { padding-block:54px; }
.sf-service-intro-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(30px,6vw,82px); }
.sf-service-intro-grid h2 { max-width:520px; margin-bottom:0; font-size:clamp(2.15rem,4vw,3.85rem); }
.sf-service-prose { font-size:1.03rem; }
.sf-service-prose p { margin-top:0; }
.sf-note { padding:16px 18px; border-left:3px solid var(--sf-rose); background:var(--sf-soft); border-radius:0 16px 16px 0; color:var(--sf-muted); font-size:.85rem; }
.sf-section--compact-services { padding:48px 0; }
.sf-compact-two-col { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.sf-compact-panel { padding:30px; border:1px solid var(--sf-line); border-radius:28px; background:var(--sf-paper); box-shadow:var(--sf-shadow-soft); }
.sf-compact-panel--dark { background:var(--sf-ink); color:#fff; }
.sf-compact-panel--dark .sf-kicker { color:#f1c5cf; }
.sf-check-list, .sf-number-list { display:grid; gap:11px; margin:20px 0 0; padding:0; list-style:none; }
.sf-check-list li { position:relative; padding-left:25px; }
.sf-check-list li::before { content:'✓'; position:absolute; left:0; color:var(--sf-rose-dark); font-weight:900; }
.sf-number-list { counter-reset:steps; }
.sf-number-list li { counter-increment:steps; display:grid; grid-template-columns:30px 1fr; gap:9px; align-items:start; color:rgba(255,255,255,.74); }
.sf-number-list li::before { content:counter(steps, decimal-leading-zero); color:#fff; font-family:var(--sf-serif); }
.sf-service-safety-grid { display:grid; grid-template-columns:1fr .9fr; gap:clamp(30px,6vw,80px); align-items:start; }
.sf-safety-card { padding:28px; border-radius:28px; background:var(--sf-paper); box-shadow:var(--sf-shadow-soft); }
.sf-safety-card h3 { margin-bottom:18px; }
.sf-safety-card ul { display:grid; gap:9px; padding-left:19px; }
.sf-safety-card p { margin-bottom:0; color:var(--sf-muted); font-size:.82rem; }
.sf-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sf-related-card { display:flex; flex-direction:column; min-height:230px; padding:24px; border:1px solid var(--sf-line); border-radius:26px; background:var(--sf-paper); text-decoration:none; transition:transform .24s ease, box-shadow .24s ease; }
.sf-related-card:hover { transform:translateY(-4px); box-shadow:var(--sf-shadow-soft); }
.sf-related-card > span { color:var(--sf-rose-dark); font-family:var(--sf-serif); }
.sf-related-card h3 { margin:24px 0 9px; font-size:1.35rem; }
.sf-related-card p { margin:0 0 18px; color:var(--sf-muted); font-size:.87rem; }
.sf-related-card strong { margin-top:auto; font-size:.78rem; }

@media (max-width: 1080px) {
  .sf-services-index-hero__grid, .sf-service-hero__grid { grid-template-columns:1fr .78fr; }
  .sf-zone-card { min-height:380px; }
  .sf-zone-index__head { grid-template-columns:1fr 240px; }
}
@media (max-width: 840px) {
  .sf-services-index-hero__grid, .sf-service-hero__grid, .sf-service-intro-grid, .sf-service-safety-grid, .sf-service-local-grid { grid-template-columns:1fr; }
  .sf-services-index-hero__image, .sf-services-index-hero__image img, .sf-service-hero__media, .sf-service-hero__media img { min-height:390px; }
  .sf-services-nav { top:72px; overflow:auto; }
  .sf-zone-index__head { grid-template-columns:1fr; }
  .sf-zone-index__head img { height:210px; }
  .sf-compact-two-col, .sf-related-grid { grid-template-columns:1fr; }
  .sf-related-card { min-height:auto; }
}
@media (max-width: 620px) {
  .sf-section { padding:60px 0; }
  .sf-hero { min-height:auto; padding-top:48px; }
  .sf-hero-art { min-height:440px; }
  .sf-services-index-hero__image, .sf-services-index-hero__image img, .sf-service-hero__media, .sf-service-hero__media img { min-height:340px; }
  .sf-service-row { grid-template-columns:42px minmax(0,1fr) 34px; gap:10px; padding-block:16px; }
  .sf-service-row p { font-size:.82rem; }
  .sf-services-nav__inner { justify-content:flex-start; flex-wrap:nowrap; width:max-content; }
  .sf-services-nav .sf-container { overflow-x:auto; }
  .sf-zone-index + .sf-zone-index { margin-top:64px; }
  .sf-zone-card { min-height:auto; }
}

/* === 1.3.1 compact premium homepage === */
.sfgl-front-page .sf-section { padding: clamp(52px, 5.6vw, 82px) 0; }
.sfgl-front-page .sf-section--compact { padding: clamp(38px, 4.5vw, 62px) 0; }
.sfgl-front-page .sf-section-head { margin-bottom: clamp(28px, 3.3vw, 42px); }
.sfgl-front-page .sf-hero { min-height: 590px; padding: clamp(44px, 5vw, 68px) 0 clamp(48px, 5.8vw, 78px); }
.sfgl-front-page .sf-hero__grid { gap: clamp(36px, 5vw, 74px); }
.sfgl-front-page .sf-hero__meta { margin-bottom: 24px; }
.sfgl-front-page .sf-hero-art { min-height: 455px; }
.sfgl-front-page .sf-hero-art img { inset-inline: 8%; width: 84%; border-radius: 42% 42% 38px 38px; }
.sfgl-front-page .sf-hero-art__seal { width: 106px; height: 106px; }
.sfgl-front-page .sf-trust-row { margin-top: 22px; }
.sfgl-front-page .sf-goal { min-height: 94px; padding: 18px 20px; }
.sfgl-front-page .sf-zone-card { min-height: 350px; padding: 27px; border-radius: 25px; }
.sfgl-front-page .sf-zone-card__top { margin-bottom: 30px; }
.sfgl-front-page .sf-zone-card h3 { font-size: clamp(1.65rem, 2.25vw, 2.25rem); }
.sfgl-front-page .sf-zone-card p { font-size: .87rem; }
.sfgl-front-page .sf-zone-list { gap: 7px; margin-bottom: 18px; font-size: .82rem; }
.sfgl-front-page .sf-method__grid { gap: clamp(28px, 4vw, 56px); }
.sfgl-front-page .sf-method-steps > div { padding: 16px 0; }
.sfgl-front-page .sf-editorial-card { min-height: 205px; padding: 25px; }
.sfgl-front-page .sf-editorial-card h3 { margin-top: 38px; }
.sfgl-front-page .sf-location__map,
.sfgl-front-page .sf-location__map iframe { min-height: 430px; }

.sf-tech-showcase { position: relative; overflow: clip; isolation: isolate; }
.sf-tech-showcase__mesh {
  position: absolute; z-index: -1; inset: 0; pointer-events: none; opacity: .85;
  background:
    radial-gradient(circle at 10% 12%, rgba(235,143,164,.22), transparent 25%),
    radial-gradient(circle at 88% 78%, rgba(217,224,199,.13), transparent 24%),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: auto, auto, 54px 54px, 54px 54px;
  mask-image: linear-gradient(to bottom, transparent, #000 8%, #000 92%, transparent);
}
.sf-tech-head { display: grid; grid-template-columns: minmax(0, .98fr) minmax(360px, .72fr); gap: clamp(34px, 6vw, 90px); align-items: end; margin-bottom: clamp(32px, 4.5vw, 52px); }
.sf-tech-head__copy h2 { margin: 0; font-size: clamp(2.8rem, 5.3vw, 5.35rem); line-height: .91; }
.sf-tech-head__copy h2 span { display: block; }
.sf-tech-head__copy h2 em { color: #efb4c1; font-weight: inherit; }
.sf-tech-head__aside { padding: 25px 0 4px; border-top: 1px solid rgba(255,255,255,.2); }
.sf-tech-head__aside > p { max-width: 530px; margin: 0 0 22px; color: rgba(255,255,255,.61); font-size: .94rem; }
.sf-tech-head__stats { display: flex; flex-wrap: wrap; gap: 12px 25px; margin-bottom: 25px; }
.sf-tech-head__stats span { display: inline-flex; align-items: baseline; gap: 7px; color: rgba(255,255,255,.54); font-size: .75rem; font-weight: 720; letter-spacing: .03em; }
.sf-tech-head__stats strong { color: #fff; font-family: var(--sf-serif); font-size: 1.55rem; font-weight: 500; }
.sf-link-arrow--light { color: #fff; font-size: .85rem; }
.sf-link-arrow--light:hover span { background: #fff; color: var(--sf-ink); }

.sf-service-bento--premium { gap: 14px; }
.sf-service-card--premium {
  --sf-mouse-x: 50%; --sf-mouse-y: 50%;
  min-height: 210px; padding: 24px; overflow: hidden; isolation: isolate;
  border-color: rgba(255,255,255,.14); background: #30232b;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 45px rgba(0,0,0,.13);
}
.sf-service-card--premium::before {
  content: ""; position: absolute; z-index: 3; width: 260px; height: 260px; left: calc(var(--sf-mouse-x) - 130px); top: calc(var(--sf-mouse-y) - 130px); pointer-events: none;
  background: radial-gradient(circle, rgba(255,255,255,.12), transparent 66%); opacity: 0; transition: opacity .25s ease;
}
.sf-service-card--premium:hover::before { opacity: 1; }
.sf-service-card--premium::after { z-index: 1; opacity: .26; filter: blur(12px); }
.sf-service-card__image { position: absolute; z-index: -2; inset: 0; background-image: var(--sf-card-image); background-size: cover; background-position: center; opacity: .27; transform: scale(1.03); transition: transform .65s cubic-bezier(.2,.65,.25,1), opacity .35s ease; }
.sf-service-card__veil { position: absolute; z-index: -1; inset: 0; background: linear-gradient(122deg, rgba(25,15,21,.96) 7%, rgba(36,24,32,.78) 54%, rgba(36,24,32,.32) 100%); }
.sf-service-card--premium:hover .sf-service-card__image { transform: scale(1.095); opacity: .43; }
.sf-service-card__topline { position: relative; z-index: 4; display: flex; justify-content: space-between; align-items: center; gap: 14px; padding-right: 45px; }
.sf-service-card__tag { display: inline-flex; padding: 7px 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(255,255,255,.06); color: rgba(255,255,255,.7); font-size: .58rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(8px); }
.sf-service-card__content { position: relative; z-index: 4; max-width: 92%; }
.sf-service-card--premium h3 { max-width: 470px; margin: 30px 0 8px; font-size: clamp(1.45rem, 2.15vw, 2.2rem); line-height: .98; }
.sf-service-card--premium p { max-width: 550px; font-size: .79rem; line-height: 1.45; }
.sf-service-card--premium .sf-service-card__arrow { z-index: 5; right: 20px; top: 20px; width: 36px; height: 36px; background: rgba(255,255,255,.05); backdrop-filter: blur(8px); }
.sf-service-card--premium:hover .sf-service-card__arrow { background: #fff; color: var(--sf-ink); transform: rotate(7deg); }
.sf-service-card--premium:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.3); }

@media (min-width: 1081px) {
  .sf-service-bento--premium .sf-service-card:nth-child(1),
  .sf-service-bento--premium .sf-service-card:nth-child(2),
  .sf-service-bento--premium .sf-service-card:nth-child(3),
  .sf-service-bento--premium .sf-service-card:nth-child(6),
  .sf-service-bento--premium .sf-service-card:nth-child(7),
  .sf-service-bento--premium .sf-service-card:nth-child(8) { grid-column: span 4; min-height: 218px; }
  .sf-service-bento--premium .sf-service-card:nth-child(4),
  .sf-service-bento--premium .sf-service-card:nth-child(5) { grid-column: span 6; min-height: 224px; }
}
.sf-tech-foot { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px 25px; margin-top: 15px; padding: 16px 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.035); color: rgba(255,255,255,.53); font-size: .75rem; }
.sf-tech-foot strong { color: #fff; font-size: .82rem; }
.sf-tech-foot a { color: #fff; font-weight: 820; text-decoration: none; }
.sf-tech-foot a span { margin-left: 7px; }

@media (max-width: 1080px) {
  .sf-tech-head { grid-template-columns: 1fr .75fr; gap: 40px; }
  .sf-service-bento--premium .sf-service-card:nth-child(n) { grid-column: span 6; min-height: 205px; }
}
@media (max-width: 840px) {
  .sf-tech-head { grid-template-columns: 1fr; gap: 25px; }
  .sf-tech-head__aside { max-width: 680px; }
  .sfgl-front-page .sf-hero-art { min-height: 530px; }
  .sf-tech-foot { grid-template-columns: 1fr auto; }
  .sf-tech-foot span { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .sfgl-front-page .sf-section { padding: 52px 0; }
  .sfgl-front-page .sf-hero { padding-top: 38px; }
  .sfgl-front-page .sf-hero-art { min-height: 400px; }
  .sf-tech-head__copy h2 { font-size: clamp(2.6rem, 13vw, 4rem); }
  .sf-service-bento--premium .sf-service-card:nth-child(n) { grid-column: span 12; min-height: 195px; }
  .sf-service-card--premium h3 { margin-top: 26px; }
  .sf-tech-foot { grid-template-columns: 1fr; }
}

/* =========================================================
   1.4.0 — Strefa dla mężczyzn
   ========================================================= */
.sfgl-men-zone {
  --sf-men-bg: #080a0b;
  --sf-men-bg-2: #0f1214;
  --sf-men-panel: #14181b;
  --sf-men-line: rgba(255,255,255,.11);
  --sf-men-muted: rgba(255,255,255,.62);
  --sf-men-gold: #c7a46a;
  --sf-men-gold-light: #e6c892;
  background: var(--sf-men-bg);
}
.sfgl-men-zone .sf-topbar { background: #050607; color: rgba(255,255,255,.58); border-bottom: 1px solid rgba(255,255,255,.07); }
.sfgl-men-zone .sf-site-header,
.sfgl-men-zone .sf-site-header.is-scrolled { background: rgba(8,10,11,.9); border-bottom-color: rgba(255,255,255,.08); box-shadow: 0 14px 36px rgba(0,0,0,.22); }
.sfgl-men-zone .sf-brand__mark { background: var(--sf-men-gold); color: #090b0c; }
.sfgl-men-zone .sf-brand__copy strong,
.sfgl-men-zone .sf-nav a { color: #fff; }
.sfgl-men-zone .sf-brand__copy span { color: rgba(255,255,255,.44); }
.sfgl-men-zone .custom-logo { filter: grayscale(1) brightness(0) invert(1); }
.sfgl-men-zone .sf-nav ul a::after { background: var(--sf-men-gold); }
.sfgl-men-zone .sf-nav .current-menu-item > a { color: var(--sf-men-gold-light); }
.sfgl-men-zone .sf-nav-toggle { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.04); }
.sfgl-men-zone .sf-nav-toggle span,
.sfgl-men-zone .sf-nav-toggle::before,
.sfgl-men-zone .sf-nav-toggle::after { background: #fff; }
.sfgl-men-zone .sf-nav > .sf-button--accent { background: var(--sf-men-gold); color: #080a0b; box-shadow: none; }
.sfgl-men-zone .sf-site-footer { border-top: 1px solid rgba(255,255,255,.08); }

.sf-men-page { overflow: clip; background: var(--sf-men-bg); color: #f4f4f2; }
.sf-men-page h1,
.sf-men-page h2,
.sf-men-page h3 { color: #fff; }
.sf-men-page a { text-decoration: none; }
.sf-men-kicker {
  display: inline-flex; align-items: center; gap: 12px; margin: 0 0 18px;
  color: var(--sf-men-gold-light); font-size: .72rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase;
}
.sf-men-kicker::before { content: ""; width: 38px; height: 1px; background: currentColor; }
.sf-men-grid-overlay {
  position: absolute; inset: 0; pointer-events: none; opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: linear-gradient(to bottom, #000, transparent 87%);
}
.sf-men-hero { position: relative; min-height: 700px; padding: clamp(76px,8vw,116px) 0 clamp(72px,8vw,110px); background: radial-gradient(circle at 85% 10%, rgba(199,164,106,.15), transparent 27%), radial-gradient(circle at 8% 80%, rgba(68,83,91,.22), transparent 30%), var(--sf-men-bg); }
.sf-men-hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,transparent,rgba(199,164,106,.55),transparent); }
.sf-men-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, .94fr) minmax(420px, 1.06fr); align-items: center; gap: clamp(42px,6vw,92px); }
.sf-men-hero__copy { position:relative; z-index:2; }
.sf-men-hero h1 { max-width: 700px; margin: 0 0 25px; font-family: var(--sf-serif); font-size: clamp(4.1rem,7.4vw,7.7rem); font-weight: 500; letter-spacing: -.062em; line-height: .88; }
.sf-men-hero h1 em { color: var(--sf-men-gold-light); font-weight: inherit; }
.sf-men-lead { max-width: 650px; margin: 0 0 32px; color: var(--sf-men-muted); font-size: clamp(1.08rem,1.45vw,1.26rem); }
.sf-men-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:56px; padding:14px 24px; border:1px solid var(--sf-men-gold); border-radius:999px; background:var(--sf-men-gold); color:#090b0c; font-size:.88rem; font-weight:850; transition:transform .25s ease, background .25s ease, box-shadow .25s ease; }
.sf-men-button:hover { transform: translateY(-3px); background: var(--sf-men-gold-light); box-shadow: 0 18px 45px rgba(199,164,106,.18); }
.sf-men-button--light { background:#f5f3ed; border-color:#f5f3ed; }
.sf-men-link { display:inline-flex; align-items:center; gap:12px; color:#fff; font-weight:750; }
.sf-men-link span { color:var(--sf-men-gold); }
.sf-men-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; max-width:660px; margin-top:42px; border:1px solid var(--sf-men-line); border-radius:20px; overflow:hidden; background:var(--sf-men-line); }
.sf-men-proof > div { padding:20px 18px; background:rgba(10,12,13,.88); }
.sf-men-proof strong { display:block; margin-bottom:6px; color:#fff; font-family:var(--sf-serif); font-size:1.8rem; line-height:1; }
.sf-men-proof span { color:var(--sf-men-muted); font-size:.73rem; line-height:1.35; }
.sf-men-hero__media { position:relative; min-height:610px; border-radius:34px 34px 110px 34px; overflow:hidden; box-shadow:0 50px 130px rgba(0,0,0,.45); }
.sf-men-hero__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.75)); }
.sf-men-hero__media img { width:100%; height:100%; min-height:610px; object-fit:cover; filter:saturate(.78) contrast(1.12); }
.sf-men-hero__badge { position:absolute; z-index:2; left:24px; bottom:24px; display:inline-flex; align-items:center; gap:10px; max-width:calc(100% - 48px); padding:13px 16px; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(7,9,10,.74); color:rgba(255,255,255,.78); backdrop-filter:blur(12px); font-size:.72rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.sf-men-hero__badge span { width:8px; height:8px; border-radius:50%; background:var(--sf-men-gold); box-shadow:0 0 0 7px rgba(199,164,106,.13); }

.sf-men-answer { padding: clamp(60px,7vw,96px) 0; border-bottom:1px solid var(--sf-men-line); background:#0b0e10; }
.sf-men-answer__grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(40px,7vw,100px); align-items:start; }
.sf-men-answer h2 { margin:0; font-size:clamp(2.6rem,4.7vw,5rem); }
.sf-men-answer__text { padding-left:clamp(0px,4vw,54px); border-left:1px solid rgba(199,164,106,.35); }
.sf-men-answer__text p { margin:0; color:var(--sf-men-muted); font-size:1.04rem; }
.sf-men-answer__text p + p { margin-top:19px; }
.sf-men-answer__text strong { color:#fff; }
.sf-men-section { padding:clamp(72px,8.5vw,120px) 0; border-bottom:1px solid var(--sf-men-line); }
.sf-men-section-head { max-width:900px; margin-bottom:clamp(38px,5vw,64px); }
.sf-men-section-head h2 { margin:0; font-size:clamp(2.8rem,5vw,5.2rem); }
.sf-men-section-head--split { display:grid; grid-template-columns:1.1fr .9fr; max-width:none; gap:60px; align-items:end; }
.sf-men-section-head--split > p { margin:0; color:var(--sf-men-muted); }

.sf-men-goals { background:linear-gradient(180deg,#080a0b,#0b0e10); }
.sf-men-goal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.sf-men-goal-card { position:relative; min-height:310px; padding:30px; border:1px solid var(--sf-men-line); border-radius:28px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); transition:transform .28s ease,border-color .28s ease,background .28s ease; }
.sf-men-goal-card:hover { transform:translateY(-7px); border-color:rgba(199,164,106,.55); background:linear-gradient(145deg,rgba(199,164,106,.08),rgba(255,255,255,.015)); }
.sf-men-goal-card > span { display:grid; place-items:center; width:42px; height:42px; margin-bottom:72px; border:1px solid rgba(199,164,106,.45); border-radius:50%; color:var(--sf-men-gold-light); font-size:.72rem; font-weight:800; }
.sf-men-goal-card h3 { margin-bottom:12px; font-size:1.55rem; }
.sf-men-goal-card p { margin:0; color:var(--sf-men-muted); font-size:.93rem; }

.sf-men-services { background:#0e1113; }
.sf-men-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.sf-men-service-card { display:flex; flex-direction:column; min-height:305px; padding:24px; border:1px solid var(--sf-men-line); border-radius:24px; background:#111517; transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.sf-men-service-card:hover { transform:translateY(-6px); border-color:rgba(199,164,106,.55); box-shadow:0 24px 60px rgba(0,0,0,.3); }
.sf-men-service-card__top { display:flex; justify-content:space-between; gap:14px; margin-bottom:42px; }
.sf-men-service-card__top > span { color:var(--sf-men-gold-light); font-family:var(--sf-serif); font-size:1.45rem; }
.sf-men-service-card__top small { max-width:140px; color:rgba(255,255,255,.42); font-size:.62rem; font-weight:820; letter-spacing:.11em; text-align:right; text-transform:uppercase; }
.sf-men-service-card h3 { margin-bottom:12px; font-size:1.28rem; line-height:1.12; }
.sf-men-service-card p { margin:0 0 24px; color:var(--sf-men-muted); font-size:.86rem; }
.sf-men-service-card a { display:inline-flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; padding-top:17px; border-top:1px solid var(--sf-men-line); color:#fff; font-size:.78rem; font-weight:800; }
.sf-men-service-card a span { color:var(--sf-men-gold); }

.sf-men-paths { background:#080a0b; }
.sf-men-paths__grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(42px,7vw,100px); align-items:center; }
.sf-men-paths__media { position:relative; min-height:680px; overflow:hidden; border-radius:34px; }
.sf-men-paths__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,8,9,.02),rgba(6,8,9,.52)); }
.sf-men-paths__media img { width:100%; height:100%; min-height:680px; object-fit:cover; filter:grayscale(.28) contrast(1.1); }
.sf-men-paths__content h2 { margin-bottom:42px; font-size:clamp(2.8rem,4.5vw,4.8rem); }
.sf-men-path-list { display:grid; gap:0; }
.sf-men-path-list > div { display:grid; grid-template-columns:56px 1fr; column-gap:20px; padding:23px 0; border-top:1px solid var(--sf-men-line); }
.sf-men-path-list > div:last-child { border-bottom:1px solid var(--sf-men-line); }
.sf-men-path-list span { color:var(--sf-men-gold); font-family:var(--sf-serif); font-size:1.4rem; }
.sf-men-path-list h3 { margin:0 0 8px; font-size:1.35rem; }
.sf-men-path-list p { grid-column:2; margin:0; color:var(--sf-men-muted); font-size:.93rem; }

.sf-men-process { background:linear-gradient(180deg,#111517,#0d1012); }
.sf-men-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--sf-men-line); border-radius:28px; background:var(--sf-men-line); }
.sf-men-process-grid > div { min-height:270px; padding:28px; background:#101416; }
.sf-men-process-grid strong { display:block; margin-bottom:70px; color:var(--sf-men-gold-light); font-family:var(--sf-serif); font-size:1.5rem; }
.sf-men-process-grid h3 { margin-bottom:10px; font-size:1.28rem; }
.sf-men-process-grid p { margin:0; color:var(--sf-men-muted); font-size:.88rem; }

.sf-men-local { background:#090b0c; }
.sf-men-local__grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(40px,7vw,100px); align-items:center; }
.sf-men-local h2 { margin-bottom:22px; font-size:clamp(2.7rem,4.7vw,5rem); }
.sf-men-local p { max-width:720px; color:var(--sf-men-muted); }
.sf-men-local__data { overflow:hidden; border:1px solid var(--sf-men-line); border-radius:26px; }
.sf-men-local__data > div { display:grid; grid-template-columns:100px 1fr; gap:22px; padding:21px 24px; border-bottom:1px solid var(--sf-men-line); }
.sf-men-local__data > div:last-child { border-bottom:0; }
.sf-men-local__data span { color:rgba(255,255,255,.38); font-size:.69rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.sf-men-local__data strong { color:#fff; font-size:.92rem; }

.sf-men-faq { background:#101315; }
.sf-men-faq__grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(44px,8vw,110px); }
.sf-men-faq__head { position:sticky; top:130px; align-self:start; }
.sf-men-faq__head h2 { margin-bottom:20px; font-size:clamp(2.8rem,4.7vw,5rem); }
.sf-men-faq__head > p:last-child { color:var(--sf-men-muted); }
.sf-men-faq__items { display:grid; gap:12px; }
.sf-men-faq details { padding:22px 24px; border:1px solid var(--sf-men-line); border-radius:20px; background:#131719; }
.sf-men-faq summary { display:flex; justify-content:space-between; gap:20px; cursor:pointer; color:#fff; font-weight:780; list-style:none; }
.sf-men-faq summary::-webkit-details-marker { display:none; }
.sf-men-faq summary::after { content:"+"; color:var(--sf-men-gold); font-size:1.2rem; }
.sf-men-faq details[open] summary::after { content:"−"; }
.sf-men-faq details p { margin:14px 0 0; color:var(--sf-men-muted); font-size:.92rem; }

.sf-men-cta { padding:clamp(70px,9vw,125px) 0; background:radial-gradient(circle at 50% 110%,rgba(199,164,106,.22),transparent 42%),#070809; }
.sf-men-cta__inner { max-width:950px; text-align:center; }
.sf-men-cta .sf-men-kicker { justify-content:center; }
.sf-men-cta h2 { margin-bottom:22px; font-size:clamp(3rem,5.6vw,6rem); }
.sf-men-cta p { max-width:700px; margin:0 auto 30px; color:var(--sf-men-muted); }

@media (max-width: 1080px) {
  .sf-men-hero__grid { grid-template-columns:1fr .85fr; gap:38px; }
  .sf-men-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sf-men-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 840px) {
  .sfgl-men-zone .sf-nav { background:#101416; border-color:var(--sf-men-line); }
  .sf-men-hero__grid,
  .sf-men-answer__grid,
  .sf-men-section-head--split,
  .sf-men-paths__grid,
  .sf-men-local__grid,
  .sf-men-faq__grid { grid-template-columns:1fr; }
  .sf-men-hero__media { min-height:520px; max-width:720px; }
  .sf-men-hero__media img { min-height:520px; }
  .sf-men-answer__text { padding:25px 0 0; border-left:0; border-top:1px solid rgba(199,164,106,.35); }
  .sf-men-goal-grid { grid-template-columns:1fr; }
  .sf-men-paths__media { min-height:560px; max-width:650px; }
  .sf-men-paths__media img { min-height:560px; }
  .sf-men-faq__head { position:static; }
}
@media (max-width: 620px) {
  .sf-men-hero { padding-top:58px; }
  .sf-men-hero h1 { font-size:clamp(3.7rem,19vw,5.4rem); }
  .sf-men-proof { grid-template-columns:1fr; }
  .sf-men-proof > div { display:grid; grid-template-columns:70px 1fr; align-items:center; gap:12px; }
  .sf-men-proof strong { margin-bottom:0; }
  .sf-men-hero__media { min-height:440px; border-radius:26px 26px 72px 26px; }
  .sf-men-hero__media img { min-height:440px; }
  .sf-men-service-grid,
  .sf-men-process-grid { grid-template-columns:1fr; }
  .sf-men-service-card { min-height:270px; }
  .sf-men-paths__media,
  .sf-men-paths__media img { min-height:470px; }
  .sf-men-local__data > div { grid-template-columns:1fr; gap:4px; }
}

/* 1.4.0 — rozszerzone podstrony usług pod SEO i AI answers */
.sf-service-answer-section { padding-block: clamp(52px,6vw,84px); }
.sf-service-answer { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(34px,6vw,82px); align-items:start; }
.sf-service-answer h2 { margin:0; font-size:clamp(2.35rem,4.3vw,4.4rem); }
.sf-service-answer__body { padding-left:clamp(0px,4vw,54px); border-left:1px solid var(--sf-line); }
.sf-service-answer__body p { margin:0; color:var(--sf-muted); font-size:1.03rem; }
.sf-service-answer__body p + p { margin-top:18px; }
.sf-service-answer__body strong { color:var(--sf-ink); }
.sf-service-answer-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin-top:34px; }
.sf-service-answer-cards > div { min-height:190px; padding:22px; border:1px solid var(--sf-line); border-radius:24px; background:var(--sf-cream); }
.sf-service-answer-cards span { display:block; margin-bottom:38px; color:var(--sf-rose-dark); font-family:var(--sf-serif); font-size:1.25rem; }
.sf-service-answer-cards strong { display:block; margin-bottom:8px; }
.sf-service-answer-cards p { margin:0; color:var(--sf-muted); font-size:.85rem; }
.sf-service-editorial-gallery { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; margin-top:40px; }
.sf-service-editorial-gallery__item { position:relative; min-height:360px; margin:0; overflow:hidden; border-radius:30px; box-shadow:var(--sf-shadow-soft); }
.sf-service-editorial-gallery__item--1 { min-height:300px; margin-top:60px; }
.sf-service-editorial-gallery img { width:100%; height:100%; min-height:inherit; object-fit:cover; }
.sf-service-editorial-gallery figcaption { position:absolute; left:16px; right:16px; bottom:16px; padding:13px 15px; border-radius:17px; background:rgba(255,253,249,.88); color:var(--sf-ink); backdrop-filter:blur(10px); font-size:.76rem; font-weight:760; }
.sf-service-prep { background:var(--sf-ink); color:#fff; }
.sf-service-prep .sf-kicker { color:#f1c5cf; }
.sf-service-prep .sf-lead { color:rgba(255,255,255,.62); }
.sf-service-prep-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.sf-service-prep-card { padding:28px; border:1px solid rgba(255,255,255,.13); border-radius:28px; background:rgba(255,255,255,.035); }
.sf-service-prep-card--accent { background:rgba(202,109,132,.11); border-color:rgba(235,143,164,.25); }
.sf-service-prep-card > span { display:block; margin-bottom:22px; color:#f1c5cf; font-size:.7rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.sf-service-prep-card ul { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.sf-service-prep-card li { position:relative; padding-left:24px; color:rgba(255,255,255,.74); font-size:.91rem; }
.sf-service-prep-card li::before { content:'—'; position:absolute; left:0; color:#fff; }
.sf-service-local-seo { background:var(--sf-paper); }
.sf-service-local-seo__grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(34px,6vw,82px); align-items:center; }
.sf-service-local-seo h2 { margin-bottom:18px; font-size:clamp(2.4rem,4.2vw,4.4rem); }
.sf-service-local-seo p { color:var(--sf-muted); }
.sf-service-local-seo__facts { overflow:hidden; border:1px solid var(--sf-line); border-radius:25px; background:#fff; box-shadow:var(--sf-shadow-soft); }
.sf-service-local-seo__facts > div { display:grid; grid-template-columns:90px 1fr; gap:18px; padding:19px 22px; border-bottom:1px solid var(--sf-line); }
.sf-service-local-seo__facts > div:last-child { border-bottom:0; }
.sf-service-local-seo__facts span { color:var(--sf-muted); font-size:.68rem; font-weight:820; letter-spacing:.11em; text-transform:uppercase; }
.sf-service-local-seo__facts strong { font-size:.9rem; }
@media (max-width:840px) {
  .sf-service-answer,
  .sf-service-local-seo__grid { grid-template-columns:1fr; }
  .sf-service-answer__body { padding:25px 0 0; border-left:0; border-top:1px solid var(--sf-line); }
  .sf-service-answer-cards { grid-template-columns:1fr; }
  .sf-service-answer-cards > div { min-height:auto; }
  .sf-service-answer-cards span { margin-bottom:20px; }
  .sf-service-editorial-gallery { grid-template-columns:1fr; }
  .sf-service-editorial-gallery__item--1 { margin-top:0; }
  .sf-service-prep-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .sf-service-editorial-gallery__item,
  .sf-service-editorial-gallery__item--1 { min-height:270px; }
  .sf-service-local-seo__facts > div { grid-template-columns:1fr; gap:4px; }
}

/* === 1.5.0: premium goals + AI-ready articles === */
.sf-goals-premium { position: relative; overflow: hidden; background: var(--sf-paper); }
.sf-goals-premium::before { content:""; position:absolute; width:520px; height:520px; right:-240px; top:-260px; border-radius:50%; background:radial-gradient(circle,rgba(202,109,132,.16),transparent 70%); pointer-events:none; }
.sf-goals-premium__grid { display:grid; grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr); gap:clamp(38px,6vw,86px); align-items:stretch; }
.sf-goals-premium__visual { position:relative; min-height:620px; overflow:hidden; border-radius:46px; box-shadow:var(--sf-shadow); }
.sf-goals-premium__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 26%,rgba(24,14,20,.82) 100%); }
.sf-goals-premium__visual img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.01); }
.sf-goals-premium__visual-overlay { position:absolute; z-index:2; left:clamp(24px,4vw,44px); right:clamp(24px,4vw,44px); bottom:clamp(26px,4vw,46px); color:#fff; }
.sf-goals-premium__visual-overlay span { display:block; margin-bottom:10px; color:#f2c7d0; font-size:.7rem; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.sf-goals-premium__visual-overlay strong { display:block; max-width:450px; font-family:var(--sf-serif); font-size:clamp(2rem,3.3vw,3.6rem); font-weight:500; line-height:1; letter-spacing:-.045em; }
.sf-goals-premium__visual-overlay small { display:block; margin-top:16px; color:rgba(255,255,255,.68); font-size:.9rem; }
.sf-goals-premium__content { display:flex; flex-direction:column; justify-content:center; }
.sf-goals-premium__head { max-width:720px; margin-bottom:28px; }
.sf-goals-premium__head h2 { margin-bottom:18px; }
.sf-goals-premium__head > p:last-child { max-width:650px; margin:0; color:var(--sf-muted); }
.sf-goal-list { border-top:1px solid var(--sf-line); }
.sf-goal-row { position:relative; display:grid; grid-template-columns:46px 1fr 38px; align-items:center; gap:20px; width:100%; min-height:92px; padding:16px 4px; border:0; border-bottom:1px solid var(--sf-line); background:transparent; color:var(--sf-ink); text-align:left; overflow:hidden; }
.sf-goal-row::before { content:""; position:absolute; inset:7px 0; border-radius:20px; background:var(--sf-soft); opacity:0; transform:scale(.98); transition:opacity .24s ease,transform .24s ease; }
.sf-goal-row > * { position:relative; z-index:1; }
.sf-goal-row:hover::before { opacity:1; transform:scale(1); }
.sf-goal-row__number { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--sf-ink); color:#fff; font-family:var(--sf-serif); font-size:.82rem; transition:background .24s ease,transform .24s ease; }
.sf-goal-row:hover .sf-goal-row__number { background:var(--sf-rose-dark); transform:rotate(-7deg); }
.sf-goal-row__copy strong { display:block; margin-bottom:4px; font-size:clamp(1rem,1.5vw,1.2rem); letter-spacing:-.02em; }
.sf-goal-row__copy small { display:block; color:var(--sf-muted); font-size:.82rem; line-height:1.45; }
.sf-goal-row__arrow { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--sf-line); border-radius:50%; transition:transform .24s ease,background .24s ease,color .24s ease; }
.sf-goal-row:hover .sf-goal-row__arrow { transform:translate(3px,-3px); background:var(--sf-ink); color:#fff; }

.sf-ai-answer { max-width:780px; margin:0 auto 38px; padding:28px 30px; border:1px solid rgba(123,54,82,.18); border-radius:26px; background:linear-gradient(135deg,#fff,var(--sf-soft)); box-shadow:var(--sf-shadow-soft); }
.sf-ai-answer .sf-kicker { margin-bottom:10px; }
.sf-ai-answer > p:last-child { margin:0; font-size:1.1rem; line-height:1.68; }
.sf-article-services,.sf-article-local,.sf-article-faq { max-width:780px; margin:48px auto 0; }
.sf-article-services { padding:30px; border-radius:26px; background:var(--sf-ink); color:#fff; }
.sf-article-services h2 { margin-top:0; color:#fff; }
.sf-article-services a { color:#f2c7d0; }
.sf-article-services li + li { margin-top:10px; }
.sf-article-local { padding:28px 30px; border-left:4px solid var(--sf-rose); background:var(--sf-paper); }
.sf-article-faq details { margin-top:12px; padding:20px 22px; border:1px solid var(--sf-line); border-radius:20px; background:#fff; }
.sf-article-faq summary { cursor:pointer; font-weight:800; }
.sf-article-faq details p { margin-bottom:0; color:var(--sf-muted); }
.sf-article-trust { display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; max-width:780px; margin:42px auto 0; padding-top:28px; border-top:1px solid var(--sf-line); }
.sf-article-trust__mark { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--sf-ink); color:#fff; font-family:var(--sf-serif); }
.sf-article-trust p { margin:0; color:var(--sf-muted); font-size:.9rem; }

@media (max-width: 980px) {
  .sf-goals-premium__grid { grid-template-columns:1fr; }
  .sf-goals-premium__visual { min-height:500px; }
}
@media (max-width: 620px) {
  .sf-goals-premium__visual { min-height:420px; border-radius:30px; }
  .sf-goal-row { grid-template-columns:38px 1fr 32px; gap:12px; min-height:88px; }
  .sf-goal-row__number { width:34px; height:34px; }
  .sf-goal-row__copy small { font-size:.75rem; }
  .sf-ai-answer,.sf-article-services,.sf-article-local { padding:22px 20px; border-radius:20px; }
}


/* === 1.6.0: premium typography, mega menu, experience gallery, modal & FAQ === */
.sf-nav { position: relative; }
.sf-menu-root { list-style:none; display:flex; align-items:center; gap:27px; margin:0; padding:0; }
.sf-menu-root > li > a,
.sf-menu-services-trigger > a { position:relative; text-decoration:none; font-size:.88rem; font-weight:740; }
.sf-menu-root > li > a::after,
.sf-menu-services-trigger > a::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:1px; background:var(--sf-rose-dark); transition:right .22s ease; }
.sf-menu-root > li > a:hover::after,
.sf-menu-root > li.current-menu-item > a::after,
.sf-menu-item-has-mega.current-menu-item .sf-menu-services-trigger > a::after { right:0; }
.sf-menu-services-trigger { display:flex; align-items:center; gap:3px; }
.sf-mega-toggle { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--sf-ink); }
.sf-mega-toggle span { display:block; transform:translateY(-2px); transition:transform .2s ease; font-size:1rem; }
.sf-mega-toggle[aria-expanded="true"] span { transform:translateY(1px) rotate(180deg); }
.sf-menu-item-has-mega { position:static; }
.sf-mega-menu { position:absolute; z-index:160; top:calc(100% + 24px); right:0; width:min(1120px,calc(100vw - 40px)); max-height:min(70vh,650px); overflow:auto; padding:25px; border:1px solid rgba(36,24,32,.1); border-radius:28px; background:rgba(255,253,249,.98); box-shadow:0 34px 90px rgba(36,24,32,.2); backdrop-filter:blur(22px); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(12px); transition:opacity .22s ease,transform .22s ease,visibility .22s ease; }
.sf-menu-item-has-mega:hover .sf-mega-menu,
.sf-menu-item-has-mega:focus-within .sf-mega-menu,
.sf-menu-item-has-mega.is-open .sf-mega-menu { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.sf-mega-menu__top { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:0 2px 19px; margin-bottom:20px; border-bottom:1px solid var(--sf-line); }
.sf-mega-menu__top span { display:block; color:var(--sf-rose-dark); font-size:.64rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.sf-mega-menu__top strong { display:block; margin-top:3px; font-family:var(--sf-serif); font-size:1.45rem; font-weight:400; }
.sf-mega-menu__top > a { display:inline-flex; align-items:center; gap:9px; padding:11px 15px; border-radius:999px; background:var(--sf-ink); color:#fff; font-size:.72rem; font-weight:750; text-decoration:none; }
.sf-mega-menu__grid { display:grid; grid-template-columns:.72fr .7fr 1.28fr 1.45fr; gap:26px; }
.sf-mega-menu__heading { margin-bottom:11px; color:var(--sf-muted); font-size:.65rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.sf-mega-menu__group ul { display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.sf-mega-menu__group li { margin:0; }
.sf-mega-menu__group a { display:grid; grid-template-columns:25px minmax(0,1fr); gap:8px; align-items:start; padding:7px 6px; border-radius:10px; color:var(--sf-ink); font-size:.72rem; line-height:1.3; font-weight:620; text-decoration:none; transition:background .18s ease,color .18s ease; }
.sf-mega-menu__group a:hover { background:var(--sf-soft); color:var(--sf-rose-dark); }
.sf-mega-menu__group a > span { color:var(--sf-rose-dark); font-family:var(--sf-serif); font-size:.86rem; }

.sf-experience__grid { display:grid; grid-template-columns:1.05fr .95fr .72fr; grid-template-rows:auto minmax(250px,1fr); gap:18px; }
.sf-experience__intro { grid-column:1 / 2; grid-row:1 / 3; padding:18px 36px 30px 0; align-self:center; }
.sf-experience__intro h2 { font-size:clamp(2.85rem,5vw,5rem); }
.sf-experience-card { position:relative; min-height:270px; margin:0; overflow:hidden; border-radius:30px; background:var(--sf-paper); box-shadow:var(--sf-shadow-soft); }
.sf-experience-card img { display:block; width:100%; height:100%; min-height:inherit; object-fit:cover; transition:transform .65s cubic-bezier(.2,.65,.25,1); }
.sf-experience-card:hover img { transform:scale(1.045); }
.sf-experience-card figcaption { position:absolute; left:14px; right:14px; bottom:14px; display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:start; padding:15px 16px; border-radius:19px; background:rgba(255,253,249,.9); backdrop-filter:blur(12px); }
.sf-experience-card figcaption > span,
.sf-experience-card--ink > span { color:var(--sf-rose-dark); font-family:var(--sf-serif); font-size:1.18rem; }
.sf-experience-card figcaption strong { display:block; margin-bottom:3px; font-size:.87rem; }
.sf-experience-card figcaption p { margin:0; color:var(--sf-muted); font-size:.7rem; line-height:1.45; }
.sf-experience-card--hero { grid-column:2 / 4; min-height:390px; }
.sf-experience-card--ink { grid-column:2 / 3; display:flex; flex-direction:column; min-height:270px; padding:27px; background:linear-gradient(145deg,#241820,#3b2532); color:#fff; }
.sf-experience-card--ink h3 { margin:auto 0 12px; font-family:var(--sf-serif); font-size:clamp(1.8rem,2.8vw,2.7rem); font-weight:400; }
.sf-experience-card--ink p { margin:0 0 20px; color:rgba(255,255,255,.62); font-size:.82rem; }
.sf-experience-card--ink a { color:#fff; font-size:.75rem; font-weight:750; text-decoration:none; }
.sf-experience-card--wellness { grid-column:3 / 4; min-height:270px; }
.sf-experience-card--fitness { display:none; }

.sf-modal { overflow:hidden; padding:12px; }
.sf-modal__dialog { width:min(760px,100%); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); margin:0 auto; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-gutter:stable; }
.sf-modal__dialog::before { pointer-events:none; }
.sf-modal__dialog *, .sf-form__row > *, .sf-field { min-width:0; }
.sf-modal__dialog .sf-checkbox span { overflow-wrap:anywhere; }
.sf-modal__dialog::-webkit-scrollbar { width:9px; }
.sf-modal__dialog::-webkit-scrollbar-thumb { border:3px solid transparent; border-radius:999px; background:rgba(123,54,82,.35); background-clip:padding-box; }

.sf-service-faq-section { background:linear-gradient(180deg,var(--sf-paper),#f7f0ec); }
.sf-local-faq--ai { display:grid; gap:11px; }
.sf-local-faq--ai details { overflow:hidden; padding:0; border:1px solid var(--sf-line); border-radius:20px; background:#fff; box-shadow:0 8px 26px rgba(55,31,44,.04); }
.sf-local-faq--ai summary { display:grid; grid-template-columns:38px minmax(0,1fr) 24px; gap:13px; align-items:center; padding:19px 20px; list-style:none; cursor:pointer; font-weight:720; line-height:1.35; }
.sf-local-faq--ai summary::-webkit-details-marker { display:none; }
.sf-local-faq--ai summary::after { content:"+"; color:var(--sf-rose-dark); font-size:1.35rem; font-weight:400; text-align:center; }
.sf-local-faq--ai details[open] summary::after { content:"−"; }
.sf-faq-number { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--sf-soft); color:var(--sf-rose-dark); font-family:var(--sf-serif); font-size:.9rem; }
.sf-faq-answer { padding:0 22px 21px 71px; }
.sf-faq-answer p { margin:0; color:var(--sf-muted); font-size:.92rem; line-height:1.72; }
.sf-faq-answer strong { color:var(--sf-ink); }

@media (max-width:1080px) {
  .sf-mega-menu__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sf-experience__grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .sf-experience__intro { grid-column:1 / -1; grid-row:auto; padding-right:0; }
  .sf-experience-card--hero { grid-column:1 / -1; }
  .sf-experience-card--ink,.sf-experience-card--wellness { grid-column:auto; }
}
@media (max-width:840px) {
  .sf-nav { position:fixed; }
  .sf-menu-root { display:grid; gap:4px; }
  .sf-menu-root > li > a,.sf-menu-services-trigger > a { display:block; padding:11px 8px; }
  .sf-menu-services-trigger { display:grid; grid-template-columns:1fr 42px; }
  .sf-mega-toggle { width:42px; height:42px; border:1px solid var(--sf-line); }
  .sf-menu-item-has-mega { position:relative; }
  .sf-mega-menu { position:static; display:none; width:100%; max-height:52vh; margin:5px 0 10px; padding:17px; border-radius:18px; opacity:1; visibility:visible; pointer-events:auto; transform:none; box-shadow:none; background:var(--sf-soft); }
  .sf-menu-item-has-mega.is-open .sf-mega-menu { display:block; }
  .sf-menu-item-has-mega:hover .sf-mega-menu:not(.is-mobile-open),.sf-menu-item-has-mega:focus-within .sf-mega-menu:not(.is-mobile-open) { display:none; }
  .sf-menu-item-has-mega.is-open .sf-mega-menu { display:block !important; }
  .sf-mega-menu__top { align-items:flex-start; }
  .sf-mega-menu__top > a { display:none; }
  .sf-mega-menu__grid { grid-template-columns:1fr; gap:18px; }
  .sf-mega-menu__group a { font-size:.78rem; padding:8px 5px; }
}
@media (max-width:620px) {
  .sf-experience__grid { grid-template-columns:1fr; }
  .sf-experience-card--hero,.sf-experience-card--ink,.sf-experience-card--wellness { grid-column:auto; min-height:270px; }
  .sf-modal { padding:7px; }
  .sf-modal__dialog { max-width:calc(100vw - 14px); max-height:calc(100dvh - 14px); padding:28px 18px 24px; border-radius:24px; }
  .sf-modal h2 { padding-right:34px; font-size:clamp(2.35rem,12vw,3.35rem); }
  .sf-faq-answer { padding:0 18px 19px; }
  .sf-local-faq--ai summary { grid-template-columns:32px minmax(0,1fr) 20px; padding:16px; }
  .sf-faq-number { width:32px; height:32px; }
}
.sfgl-men-zone .sf-mega-toggle { color:#fff; }
.sfgl-men-zone .sf-mega-menu { background:rgba(255,253,249,.98); color:var(--sf-ink); }
.sfgl-men-zone .sf-mega-menu a { color:var(--sf-ink); }
.sfgl-men-zone .sf-mega-menu__top > a { color:#fff; }
.sf-modal[aria-hidden="false"] { display:grid; place-items:center; }


/* === 1.6.2: stabilne mega-menu desktop === */
@media (min-width: 841px) and (hover: hover) and (pointer: fine) {
  .sf-menu-item-has-mega::after {
    content: "";
    position: absolute;
    z-index: 159;
    top: 100%;
    right: 0;
    width: min(1120px, calc(100vw - 40px));
    height: 28px;
    display: none;
    background: transparent;
    pointer-events: auto;
  }
  .sf-menu-item-has-mega:hover::after,
  .sf-menu-item-has-mega:focus-within::after,
  .sf-menu-item-has-mega.is-open::after { display: block; }
  .sf-mega-menu { top: calc(100% + 18px); }
}


/* === 1.7.0: długie poradniki i sekcje cytowalne === */
.sf-ai-keypoints,
.sf-article-sources { max-width:780px; margin:36px auto 0; padding:28px 30px; border-radius:26px; }
.sf-ai-keypoints { background:#fff; border:1px solid var(--sf-line); box-shadow:var(--sf-shadow-soft); }
.sf-ai-keypoints h2,
.sf-article-sources h2 { margin:0 0 18px; font-size:clamp(1.8rem,3vw,2.5rem); }
.sf-ai-keypoints ul { margin:0; padding-left:1.2em; }
.sf-ai-keypoints li + li { margin-top:9px; }
.sf-article-sources { background:linear-gradient(135deg,var(--sf-soft),#fff); border:1px solid rgba(123,54,82,.15); }
.sf-article-sources ol { margin:0; padding-left:1.25em; }
.sf-article-sources li + li { margin-top:10px; }
.sf-article-sources a { font-weight:750; }
.sf-article-sources p { margin:18px 0 0; color:var(--sf-muted); font-size:.88rem; }
@media (max-width:620px){.sf-ai-keypoints,.sf-article-sources{padding:22px 20px;border-radius:20px}}
