.bb-legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin-top:18px;font-family:Manrope,sans-serif;font-size:11px;letter-spacing:.06em;text-transform:none}
.bb-legal-links a{color:inherit;text-decoration:underline;text-underline-offset:3px;opacity:.78}
.bb-cookie{position:fixed;z-index:99999;left:18px;right:18px;bottom:18px;max-width:720px;margin:auto;padding:20px;background:rgba(29,25,22,.97);color:#f8f3eb;border:1px solid rgba(201,169,110,.42);border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.25);font-family:Manrope,sans-serif}
.bb-cookie[hidden]{display:none}
.bb-cookie p{margin:0 0 14px;font-size:13px;line-height:1.55}
.bb-cookie a{color:#e0c18b}
.bb-cookie-actions{display:flex;flex-wrap:wrap;gap:10px}
.bb-cookie button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #c9a96e;cursor:pointer;font:600 11px Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.bb-cookie-accept{background:#c9a96e;color:#201a15}.bb-cookie-reject{background:transparent;color:#f8f3eb}
.bb-map-placeholder{display:grid;place-items:center;min-height:220px;padding:24px;text-align:center;background:#eee7dc;color:#615448;font:14px/1.6 Manrope,sans-serif}
.bb-map-placeholder+iframe[data-bb-src]{display:none}
.bb-mobile-actions{display:none}.bb-mobile-book,.bb-mobile-bonus{border:0;cursor:pointer}
@media(max-width:560px){.bb-cookie{left:10px;right:10px;bottom:10px;padding:17px}.bb-cookie-actions button{flex:1}}
@media(max-width:600px){
  body{padding-bottom:74px}
  .hero-image{aspect-ratio:4/5!important}
  .hero-image img{object-position:50% 18%!important}
  .hero-text{padding:28px 24px 52px!important}
  .bonus-fab{display:none!important}
  .bb-cookie{bottom:82px}
  .consult-fab{display:none!important}
  .bb-mobile-actions{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:8px;position:fixed;z-index:9998;left:10px;right:10px;bottom:10px}
  .bb-mobile-book,.bb-mobile-bonus{display:flex;min-width:0;height:58px;align-items:center;justify-content:center;text-align:center;text-decoration:none;opacity:1!important;transform:none!important;box-shadow:0 12px 30px rgba(61,43,23,.24)}
  .bb-mobile-book{padding:0 16px;gap:7px;border-radius:999px;background:linear-gradient(135deg,#c9a96e,#8a6d44);color:#fff;font:600 11px/1.15 Manrope,sans-serif;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:visible}
  .bb-mobile-bonus{position:relative;width:58px;padding:0;border-radius:50%;background:linear-gradient(135deg,#d6bd89,#9b7744);color:#fff;font-size:23px;border:1px solid rgba(255,255,255,.45);overflow:visible}
  .bb-bonus-label{position:absolute;right:0;bottom:64px;width:max-content;padding:6px 9px;border:1px solid rgba(154,116,68,.18);border-radius:999px;background:rgba(255,253,248,.96);color:#6f5434;box-shadow:0 7px 18px rgba(61,43,23,.12);font:600 12px/1.1 Manrope,sans-serif;letter-spacing:.01em;white-space:nowrap;pointer-events:none}
  .mobile-menu-overlay.open{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:10001!important}
  body.mm-open .bb-mobile-actions{display:none!important}
}
/* Быстрые и лёгкие анимации на телефонах */
@media(max-width:768px){
  #mesh-canvas{display:none!important}
  .hero-image,.hero-image img,.hero-photo,.hero-photo img,.hero-visual,.hero-visual img{animation:none!important;transition:none!important;transform:none!important}
  .why-card,.proc-card,.trust-card,.gallery-item,.bcn-atmo-item,.lloret-service-card,.lloret-adv-card,.service-card,.review-card,.test-card{transition-duration:.32s!important;transition-timing-function:cubic-bezier(.22,1,.36,1)!important}
  .hero h1,.hero .eyebrow,.hero .sub,.section-title,.section-eyebrow,.reveal,.reveal-item,[data-reveal]{animation-duration:.55s!important;animation-delay:.05s!important;transition-duration:.42s!important;transition-delay:0s!important}
  .hero-cta,.cta-btn,.nav-cta,.barcelona-btn,.lloret-btn,.premium-cta,.premium-cta-outline,.bb-mobile-book,.bb-mobile-bonus{transition-duration:.2s!important}
  .why-card,.proc-card,.trust-card,.gallery-item,.service-card,.review-card,.test-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  #nav{backdrop-filter:blur(7px) saturate(120%)!important;-webkit-backdrop-filter:blur(7px) saturate(120%)!important}
}

/* BeautyBody editorial redesign — selected direction 03 */
:root{
  --bb-ivory:#f6f0e6;
  --bb-paper:#fffdf8;
  --bb-espresso:#2c211b;
  --bb-muted:#77695f;
  --bb-champagne:#b8956a;
  --bb-line:rgba(76,55,42,.13);
  --bb-shadow:0 20px 55px rgba(61,43,30,.12);
  --bb-ease:cubic-bezier(.22,1,.36,1);
}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--bb-nav-offset,80px) + 16px)}
[id]{scroll-margin-top:calc(var(--bb-nav-offset,80px) + 16px)}
body{background:var(--bb-ivory);color:var(--bb-espresso)}
#nav{
  left:24px!important;right:24px!important;top:18px!important;width:auto!important;
  padding:13px 18px!important;border:1px solid rgba(255,255,255,.5)!important;
  border-radius:999px!important;background:rgba(255,253,248,.82)!important;
  box-shadow:0 10px 36px rgba(42,29,20,.1)!important;
  transition:padding .45s var(--bb-ease),background .45s var(--bb-ease),box-shadow .45s var(--bb-ease),transform .45s var(--bb-ease)!important;
}
#nav.bb-nav-compact{padding-top:9px!important;padding-bottom:9px!important;background:rgba(255,253,248,.94)!important;box-shadow:0 12px 38px rgba(42,29,20,.16)!important}
#nav .logo{letter-spacing:.16em!important;color:var(--bb-espresso)!important}
#nav .nav-links a,#nav .lang-btn{color:var(--bb-espresso)!important}
#nav .nav-cta{border-radius:999px!important;background:var(--bb-espresso)!important;color:#fff!important;border-color:var(--bb-espresso)!important}
.hero{min-height:clamp(680px,100svh,780px)!important;background:var(--bb-paper)!important}
.hero-text{padding:clamp(118px,15vh,150px) clamp(48px,7vw,112px) clamp(42px,7vh,70px)!important}
.hero h1{max-width:720px!important;color:var(--bb-espresso)!important;font-size:clamp(58px,6.3vw,104px)!important;line-height:.86!important;letter-spacing:-.055em!important}
.hero h1 em{color:var(--bb-champagne)!important}
.hero-eyebrow{color:var(--bb-muted)!important;letter-spacing:.2em!important}
.hero-sub{max-width:600px!important;color:var(--bb-muted)!important;font-size:15px!important;line-height:1.75!important}
.hero-image{overflow:hidden!important}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,33,27,.08),transparent 38%);pointer-events:none}
.hero-image img{width:100%!important;height:100%!important;object-fit:cover!important}
.hero-cta{border-radius:999px!important;background:var(--bb-espresso)!important;color:#fff!important;box-shadow:0 14px 34px rgba(44,33,27,.18)!important}
.hero-cta-quiz{background:transparent!important;color:var(--bb-espresso)!important;border:1px solid var(--bb-line)!important;box-shadow:none!important}
.hero-bottom .hero-cta:not(.hero-cta-quiz),.bcn-hero .barcelona-btn,.lloret-hero .lloret-btn{min-height:56px!important;background:linear-gradient(135deg,#c9aa72,#9b7744)!important;color:#fff!important;border-color:transparent!important;font-size:12px!important;letter-spacing:.07em!important;box-shadow:0 12px 28px rgba(126,91,47,.22)!important}
.hero-bottom .hero-cta-quiz{min-height:56px!important;background:transparent!important;color:var(--bb-espresso)!important;border:1px solid rgba(76,55,42,.2)!important;font-size:12px!important;letter-spacing:.06em!important;box-shadow:none!important}
.trust,.procedures,.philosophy,.pricelist,.before-after,.demos,.compare,.testimonials{position:relative;z-index:1}
.trust-card,.proc-card,.why-card,.service-card,.review-card,.test-card{
  border-radius:24px!important;border:1px solid var(--bb-line)!important;background:rgba(255,253,248,.86)!important;
  box-shadow:0 14px 42px rgba(61,43,30,.07)!important;overflow:hidden;
}
.gallery-item,.bcn-atmo-item{border-radius:26px!important;overflow:hidden!important}
.bcn-hero,.lloret-hero{
  position:relative!important;display:flex!important;align-items:flex-end!important;min-height:clamp(620px,78vh,850px)!important;
  padding:150px clamp(28px,8vw,120px) 80px!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;
}
.bcn-hero{background-image:linear-gradient(180deg,rgba(31,23,19,.12) 15%,rgba(31,23,19,.78) 100%),url('bcn-cabinet.webp')!important}
.lloret-hero{background-image:linear-gradient(180deg,rgba(31,23,19,.1) 15%,rgba(31,23,19,.8) 100%),url('clinic-exterior.webp')!important}
.bcn-hero .bcn-inner,.lloret-hero .lloret-inner{position:relative!important;z-index:3!important;width:min(760px,100%)!important;margin:0!important;color:#fff!important;text-align:left!important}
.bcn-hero h1,.lloret-hero h1{color:#fff!important;font-size:clamp(58px,7vw,104px)!important;line-height:.9!important;letter-spacing:-.045em!important}
.bcn-hero .sub,.bcn-hero .desc,.lloret-hero .sub,.bcn-hero .bcn-eyebrow,.lloret-hero .lloret-eyebrow{color:rgba(255,255,255,.83)!important}
.bcn-hero .barcelona-btn,.lloret-hero .lloret-btn{background:var(--bb-paper)!important;color:var(--bb-espresso)!important;border-radius:999px!important;border-color:rgba(255,255,255,.65)!important}
.bcn-seo-card,.lloret-service-card,.lloret-adv-card{
  border:1px solid var(--bb-line)!important;border-radius:24px!important;background:rgba(255,253,248,.88)!important;
  box-shadow:0 14px 42px rgba(61,43,30,.07)!important;
}
.bcn-h2,.lloret-h2,.cat-head h2{letter-spacing:-.035em!important}
body:has(header.hero) header.hero{min-height:clamp(420px,60vh,640px)!important;padding-top:150px!important;padding-bottom:70px!important;background:var(--bb-paper)!important}
.bb-locations{position:relative;z-index:3;max-width:1440px;margin:0 auto;padding:88px clamp(24px,6vw,88px);background:var(--bb-ivory)}
.bb-locations-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.bb-kicker{display:block;margin-bottom:8px;color:var(--bb-champagne);font:600 10px/1.2 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.bb-locations h2{margin:0;color:var(--bb-espresso);font:400 clamp(38px,5vw,72px)/.98 Cormorant Garamond,serif;letter-spacing:-.035em}
.bb-locations-controls{display:none;gap:8px}
.bb-locations-controls button{width:46px;height:46px;border:1px solid var(--bb-line);border-radius:50%;background:var(--bb-paper);color:var(--bb-espresso);font-size:18px;cursor:pointer;transition:transform .4s var(--bb-ease),background .4s var(--bb-ease),color .4s var(--bb-ease)}
.bb-locations-controls button:hover{transform:translateY(-2px);background:var(--bb-espresso);color:#fff}
.bb-locations-controls button:disabled{opacity:.34;cursor:default;transform:none!important;background:transparent!important;color:var(--bb-espresso)!important}
.bb-locations-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;scrollbar-width:none}
.bb-locations-track::-webkit-scrollbar{display:none}
.bb-location-card{position:relative;display:block;min-height:370px;border-radius:28px;overflow:hidden;color:#fff;text-decoration:none;background:#4a3a30;box-shadow:var(--bb-shadow)}
.bb-location-card:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(22,15,11,.82))}
.bb-location-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s var(--bb-ease)}
.bb-location-card>.bb-location-copy{position:absolute;z-index:1;left:28px;right:28px;bottom:26px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:5px 18px}
.bb-location-card strong{font:500 clamp(28px,3vw,44px)/1 Cormorant Garamond,serif;letter-spacing:-.02em}
.bb-location-address{grid-column:1;color:rgba(255,255,255,.88);font:500 13px/1.35 Manrope,sans-serif}
.bb-location-more{grid-column:2;grid-row:1/3;align-self:end;color:#fff;font:600 13px/1.2 Manrope,sans-serif;text-decoration:underline;text-underline-offset:4px}
.bb-location-card:hover img{transform:scale(1.035)}
.bb-photo-label{display:none}
/* Content is visible by default. JS opts only small elements into the reveal. */
[data-reveal],[data-wave]>* ,.bb-reveal,.proc-card,.why-card,.gallery-item,.trust-card,.approach-card,.price-row,.service-card,.review-card,.test-card{
  opacity:1!important;transform:none!important;filter:none!important;animation:none!important;transition-delay:0ms!important;
}
.bb-motion-ready .bb-motion-item:not(.is-visible):not(.in){opacity:0!important;transform:translate3d(0,10px,0)!important}
.bb-motion-ready .bb-motion-item.is-visible,.bb-motion-ready .bb-motion-item.in{
  opacity:1!important;transform:none!important;transition:opacity 260ms var(--bb-ease),transform 260ms var(--bb-ease)!important;transition-delay:var(--bb-delay,0ms)!important;
}
.hero .hero-eyebrow,.hero h1,.hero .hero-sub,.hero .hero-bottom,.hero .hero-line span{opacity:1!important;transform:none!important;animation:none!important;transition-delay:0ms!important}
.price-row:before{transition-duration:250ms!important;transition-delay:0ms!important}
body.bb-ui-open .bb-mobile-actions{display:none!important;opacity:0!important;pointer-events:none!important;transform:translateY(14px)!important}

@media(min-width:901px){
  .hero{height:min(780px,100svh)!important;min-height:680px!important;max-height:780px!important;padding:94px 0 0!important;box-sizing:border-box!important}
  .hero-text{padding:clamp(24px,4vh,38px) clamp(48px,7vw,96px) 24px!important}
  .hero h1{font-size:clamp(58px,5.6vw,82px)!important}
  .hero-sub{margin-top:18px!important;font-size:14px!important;line-height:1.58!important}
  .hero-pitch,.hero-meta{display:none!important}
  .hero-bottom{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(190px,.62fr)!important;gap:12px!important;margin-top:22px!important;padding:0!important;align-items:stretch!important}
  .hero-bottom .hero-cta{min-height:58px!important;padding:0 22px!important}
  .hero-image{height:100%!important;background:#d3cec7!important;transform:none!important}
  .hero-image picture{height:100%!important}
  .hero-image img{object-fit:cover!important;object-position:50% 0!important;transform:none!important;animation:none!important;filter:brightness(.97) contrast(1.035)!important}
  .bb-desktop-bonus-dock{display:flex;min-height:44px;margin-top:12px;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--bb-line);padding-top:10px}
  .bb-desktop-bonus-caption{color:var(--bb-muted);font:500 12px/1.35 Manrope,sans-serif}
  .bb-desktop-bonus-dock .bonus-fab{position:relative!important;inset:auto!important;z-index:2!important;display:inline-flex!important;flex:0 0 auto;height:42px!important;padding:0 16px!important;opacity:1!important;transform:none!important;pointer-events:auto!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:background-color 200ms ease,border-color 200ms ease!important}
  .bb-desktop-bonus-dock .bonus-fab:hover{transform:none!important;box-shadow:none!important;background:#f1e8da!important}
}

@media(max-width:900px){
  #nav{left:12px!important;right:12px!important;top:10px!important;padding:11px 14px!important}
  .hero{display:flex!important;flex-direction:column!important;min-height:0!important;padding:0!important;background:var(--bb-ivory)!important;overflow:visible!important}
  .hero-image{order:1!important;width:100%!important;height:58svh!important;min-height:450px!important;max-height:610px!important;aspect-ratio:auto!important;border-radius:0 0 34px 34px!important}
  .hero-image:after{background:linear-gradient(180deg,rgba(31,22,17,.22),transparent 26%,rgba(31,22,17,.08))}
  .hero-image img{object-position:50% 18%!important}
  .hero-text{order:2!important;position:relative!important;z-index:2!important;width:calc(100% - 20px)!important;margin:-42px 10px 0!important;padding:46px 22px 28px!important;border-radius:34px 34px 22px 22px!important;background:var(--bb-paper)!important;box-shadow:0 -12px 34px rgba(44,33,27,.08)!important}
  .hero-eyebrow{margin-bottom:16px!important;font-size:9px!important}
  .hero h1{font-size:clamp(48px,13.2vw,72px)!important;line-height:.84!important;letter-spacing:-.055em!important}
  .hero h1 .hero-line{display:inline!important;overflow:visible!important}
  .hero h1 .hero-line span{display:inline!important;animation:none!important;transform:none!important}
  .hero h1 .hero-line:not(:last-child):after{content:" ";white-space:pre}
  .hero-sub{margin:22px 0 0!important;max-width:34em!important;font-size:13px!important;line-height:1.65!important}
  .hero-pitch,.hero-meta{display:none!important}
  .hero-bottom{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:22px!important}
  .hero-bottom .hero-cta{display:flex!important;width:100%!important;min-height:56px!important;padding:0 22px!important;align-items:center!important;justify-content:space-between!important;font:600 10px/1.2 Manrope,sans-serif!important;letter-spacing:.1em!important;text-transform:uppercase!important}
  .hero-bottom .hero-cta span br{display:none!important}
  .hero-bottom .hero-cta-quiz{min-height:48px!important}
  .bb-locations{padding:52px 0 64px 20px!important}
  .bb-locations-head{padding-right:20px!important;margin-bottom:22px!important}
  .bb-locations h2{font-size:43px!important}
  .bb-locations-controls{display:flex}
  .bb-locations-controls button{width:40px;height:40px}
  .bb-locations-track{display:flex!important;gap:12px!important;overflow-x:auto!important;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory!important;scroll-padding-inline:0;padding-right:20px!important;-webkit-overflow-scrolling:touch}
  .bb-location-card{flex:0 0 auto!important;width:min(72vw,600px)!important;min-height:320px!important;scroll-snap-align:start!important;scroll-snap-stop:always;border-radius:22px!important}
  .bb-location-card>.bb-location-copy{left:20px;right:20px;bottom:19px;display:grid}
  .bb-location-card strong{display:block;font-size:34px}
  .bb-location-address,.bb-location-more{font-size:13px}
  .bcn-hero,.lloret-hero{min-height:78svh!important;padding:120px 22px 42px!important;border-radius:0 0 30px 30px!important;background-position:center!important}
  .bcn-hero h1,.lloret-hero h1{font-size:clamp(50px,14vw,72px)!important}
  .bcn-hero .desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .bcn-hero .barcelona-btn,.lloret-hero .lloret-btn{display:inline-flex!important;min-height:54px!important;align-items:center!important;justify-content:center!important;padding:0 24px!important}
  body:has(header.hero) header.hero{min-height:430px!important;padding:126px 22px 60px!important}
}

@media(min-width:601px) and (max-width:900px){
  #nav:not(.bb-nav-compact){left:0!important;right:0!important;top:0!important;width:100%!important;padding:22px clamp(26px,5vw,44px)!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  #nav.bb-nav-compact{left:0!important;right:0!important;top:0!important;width:100%!important;border:0!important;border-bottom:1px solid rgba(103,77,52,.1)!important;border-radius:0!important;background:rgba(255,253,248,.92)!important}
  .hero-image{height:clamp(690px,92vw,780px)!important;min-height:0!important;max-height:none!important;border-radius:0!important}
  .hero-image img{object-position:50% 14%!important}
  .hero-text{width:100%!important;margin:-18px 0 0!important;padding:38px clamp(34px,7vw,64px) 34px!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;isolation:isolate!important}
  .hero-text:before{content:"";position:absolute;z-index:0;left:0;top:-82px;width:100%;height:112px;background:var(--bb-paper);clip-path:ellipse(112% 100% at 0 100%);pointer-events:none}
  .hero-text>*{position:relative!important;z-index:2!important}
  .hero-eyebrow{display:none!important}
  .hero h1{font-size:clamp(58px,8.4vw,70px)!important;line-height:.88!important}
  .hero h1 .hero-line:first-child{display:block!important;margin-bottom:4px!important}
  .hero h1 .hero-line:first-child:after{content:none!important}
  .hero h1 .hero-line:nth-child(2),.hero h1 .hero-line:nth-child(3){display:inline!important;white-space:nowrap!important}
  .hero h1 .hero-line:nth-child(2):after{content:" "!important;white-space:pre!important}
  .hero-sub{font-size:14px!important;line-height:1.62!important}
  .bb-photo-label{display:flex;position:absolute;z-index:20;left:clamp(34px,7vw,64px);top:145px;align-items:flex-start;gap:14px;color:#76532f;font:600 11px/1.45 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase}
  .bb-photo-label:before{content:"";display:block;width:44px;height:1px;margin-top:7px;background:#8f673a}
}

@media(min-width:700px) and (max-width:900px){
  .hero-bottom{grid-template-columns:minmax(0,1fr) minmax(190px,.55fr)!important;padding:0!important;align-items:stretch!important}
  .hero-bottom .hero-cta-quiz{display:flex!important}
}

@media(max-width:600px){
  body{padding-bottom:110px}
  #nav:not(.bb-nav-compact){left:0!important;right:0!important;top:0!important;padding:23px 25px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  #nav.bb-nav-compact{left:0!important;right:0!important;top:0!important;width:100%!important;padding:14px 25px!important;border:0!important;border-bottom:1px solid rgba(103,77,52,.1)!important;border-radius:0!important;background:rgba(255,253,248,.9)!important;box-shadow:0 8px 24px rgba(65,45,31,.06)!important}
  #nav .logo{font-size:clamp(17px,4.7vw,21px)!important;letter-spacing:.25em!important}
  #nav .burger{order:2!important;margin-left:5px!important;width:31px!important;height:23px!important;gap:5px!important;z-index:2!important;filter:drop-shadow(0 0 3px rgba(255,253,248,.9))}
  #nav .burger span{display:block!important;width:100%!important;height:2px!important;background:#211915!important;border-radius:2px!important;opacity:1!important}
  #nav .lang-switch{margin-left:auto!important}
  #nav .logo{order:1!important}
  #nav .lang-switch{order:3!important}
  .hero{padding:0!important}
  .hero-image{width:100%!important;max-width:none!important;height:clamp(460px,119vw,570px)!important;min-height:0!important;max-height:none!important;border-radius:0!important}
  .hero-image img{width:100%!important;max-width:none!important;object-position:50% 0!important;transform:scale(1.08)!important;transform-origin:50% 50%!important}
  .hero-text{display:block!important;z-index:4!important;overflow:visible!important;width:100%!important;height:auto!important;min-height:0!important;margin:-12px 0 0!important;padding:9px 28px 18px!important}
  .hero h1{margin-top:-18px!important;font-size:clamp(45px,12.3vw,52px)!important;line-height:.88!important;letter-spacing:-.065em!important}
  .hero h1 .hero-line:first-child{display:block!important;margin-bottom:5px!important}
  .hero h1 .hero-line:first-child span{font-size:1.18em!important}
  .hero h1 .hero-line:first-child:after{content:none!important}
  .hero h1 .hero-line:nth-child(2),.hero h1 .hero-line:nth-child(3){display:inline!important;white-space:nowrap!important}
  .hero h1 .hero-line:nth-child(2),.hero h1 .hero-line:nth-child(3){font-size:.92em!important}
  .hero h1 .hero-line:nth-child(2):after{content:" "!important;white-space:pre!important}
  .hero-sub{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .hero-bottom .hero-cta-quiz{display:none!important}
  .bb-mobile-actions{transition:opacity .32s var(--bb-ease),transform .32s var(--bb-ease)!important}
  .bb-mobile-book,.hero-bottom .hero-cta:not(.hero-cta-quiz){background:linear-gradient(135deg,#c9aa72,#9b7744)!important;color:#fff!important;box-shadow:0 12px 28px rgba(126,91,47,.25)!important}
  .bb-mobile-bonus{background:var(--bb-champagne)!important;box-shadow:0 12px 28px rgba(44,33,27,.2)!important}
  .trust{padding-top:62px!important}
  .hero-text{isolation:isolate!important;border-radius:0!important;padding-top:9px!important;padding-bottom:16px!important;box-shadow:none!important}
  .hero-text:before{content:"";position:absolute;z-index:0;left:0;top:-42px;width:104%;height:72px;background:var(--bb-paper);clip-path:ellipse(112% 100% at 0 100%);pointer-events:none}
  .hero-text>*{position:relative!important;z-index:2!important}
  .hero-eyebrow{display:none!important}
  .bb-photo-label{position:absolute;z-index:20;left:27px;top:105px;display:flex;align-items:flex-start;gap:12px;color:#76532f;font:600 9px/1.45 Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 5px rgba(255,253,248,.95)}
  .bb-photo-label:before{content:"";display:block;flex:0 0 38px;width:38px;height:1px;margin-top:6px;background:#8f673a;box-shadow:0 1px 3px rgba(255,253,248,.8)}
  .hero-sub{margin-top:15px!important;font-size:clamp(12px,3.25vw,15px)!important;line-height:1.42!important;-webkit-line-clamp:3!important}
  .hero-bottom{display:none!important;margin-top:14px!important}
  .hero-bottom .hero-cta{min-height:52px!important}
  .bb-locations.bb-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .bb-locations{margin-top:0!important;padding:26px 18px 62px!important;background:var(--bb-paper)!important}
  .bb-locations-head{padding-right:0!important;margin-bottom:18px!important;align-items:center!important}
  .bb-kicker{display:none!important}
  .bb-locations h2{font:600 11px/1.2 Manrope,sans-serif!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#9a7444!important}
  .bb-locations h2:before{content:"";display:inline-block;width:42px;height:1px;margin:0 13px 3px 0;background:#b8956a;vertical-align:middle}
  .bb-locations-controls{display:flex!important;gap:7px!important}
  .bb-locations-controls button{width:38px!important;height:38px!important;background:transparent!important;color:#9a7444!important;border-color:rgba(154,116,68,.25)!important}
  .bb-locations-track{display:flex!important;gap:12px!important;overflow-x:auto!important;padding-right:18px!important;scroll-snap-type:x mandatory!important}
  .bb-location-card{min-width:0!important;width:82vw!important;max-width:390px!important;min-height:270px!important;flex:0 0 auto!important;border-radius:17px!important;box-shadow:0 12px 28px rgba(61,43,30,.11)!important}
  .bb-location-card>.bb-location-copy{left:16px!important;right:14px!important;bottom:16px!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
  .bb-location-card strong{font-size:32px!important;line-height:.94!important;white-space:normal!important}
  .bb-location-address{grid-column:1!important;font-size:13px!important;line-height:1.35!important}
  .bb-location-more{grid-column:1!important;grid-row:auto!important;justify-self:start;font-size:13px!important;line-height:1.25!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .bb-motion-item,[data-reveal],[data-wave]>*{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
  .bb-location-card img,#nav,.bb-mobile-actions{transition:none!important}
}

/* Keep decision-making copy readable and clear of the fixed mobile actions. */
.section-desc,.phil-text,.service-info p,.expand-block p,.booking-text,.contact-value,
.bcn-text,.lloret-text,.bcn-seo-card p,.lloret-service-card p,.lloret-faq-a p,
.bb-location-address,.bb-location-more{opacity:1!important}
@media(max-width:768px){
  .section-desc,.phil-text,.service-info p,.expand-block p,.booking-text,
  .bcn-text,.lloret-text,.bcn-seo-card p,.lloret-service-card p,.lloret-faq-a p{
    font-size:14px!important;line-height:1.62!important;color:#65584f!important;
  }
  .service-detail,.service-detail-row strong{font-size:13px!important;line-height:1.55!important}
  .bb-location-address,.bb-location-more{font-size:13px!important;color:#fff!important}
  footer{padding-bottom:28px!important}
}

/* Mobile menu — editorial brand composition */
@media(max-width:980px){
  .mobile-menu-overlay{background:#fffaf1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:opacity 230ms var(--bb-ease),visibility 230ms var(--bb-ease)!important;overflow:hidden!important}
  .mobile-menu-overlay:before{display:none!important}
  .mobile-menu-panel{box-sizing:border-box!important;width:100%!important;height:100dvh!important;min-height:100%!important;padding:66px clamp(18px,6vw,34px) 28px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch}
  .mobile-menu-close{position:fixed!important;top:16px!important;right:16px!important;width:46px!important;height:46px!important;border:1px solid rgba(166,120,67,.55)!important;background:#fffaf1!important;color:#2c1714!important;font-size:22px!important;box-shadow:none!important}
  .mobile-menu-close:focus-visible,.mm-links a:focus-visible,.mm-lang-btn:focus-visible{outline:2px solid #9a7444!important;outline-offset:3px!important}
  .mm-links{order:1!important;position:static!important;inset:auto!important;display:flex!important;flex:none!important;width:min(100%,350px)!important;margin:0 auto 24px!important;padding:0!important;gap:0!important;background:transparent!important;box-shadow:none!important;color:#321816!important}
  .mm-links a{display:block!important;width:100%!important;max-width:none!important;padding:11px 4px!important;border-bottom:1px solid rgba(184,149,106,.48)!important;color:#321816!important;font:400 clamp(27px,8vw,34px)/1.08 'Cormorant Garamond',serif!important;letter-spacing:-.015em!important;opacity:1!important;transform:none!important;transition:color 180ms ease!important}
  .mm-links a:last-child{border-bottom:0!important}
  .mm-brands{order:2;width:min(100%,370px);padding:20px 0 18px;border-top:1px solid rgba(184,149,106,.7);border-bottom:1px solid rgba(184,149,106,.7);color:#321816;text-align:center}
  .mm-brands h2{margin:0 0 16px;font:400 clamp(22px,6.4vw,29px)/1.1 'Cormorant Garamond',serif;letter-spacing:0;color:#321816}
  .mm-brand-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}
  .mm-brand{display:flex;min-width:0;height:66px;padding:5px 10px;align-items:center;justify-content:center}
  .mm-brand+.mm-brand{border-left:1px solid rgba(184,149,106,.55)}
  .mm-brand img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
  .mm-brand-simildiet img{max-width:62px}
  .mm-brand-zisuc img{mix-blend-mode:multiply}
  .mobile-menu-panel .mm-logo{order:3!important;position:static!important;left:auto!important;bottom:auto!important;margin:26px 0 18px!important;color:#8a623a!important;font-size:20px!important;letter-spacing:.34em!important;transform:none!important;opacity:1!important}
  .mobile-menu-panel .mm-lang{order:4!important;position:static!important;left:auto!important;bottom:auto!important;margin:0 0 max(8px,env(safe-area-inset-bottom))!important;transform:none!important;opacity:1!important;border-color:#9a7444!important;background:transparent!important}
  .mobile-menu-overlay.open .mm-logo,.mobile-menu-overlay.open .mm-lang{transform:none!important;transition:none!important}
  .mm-lang-btn{min-width:58px!important;min-height:38px!important;padding:6px 16px!important;font-size:12px!important}
}
@media(max-height:700px) and (orientation:landscape){
  .mobile-menu-panel{padding-top:58px!important;padding-left:max(18px,env(safe-area-inset-left))!important;padding-right:max(18px,env(safe-area-inset-right))!important}
  .mm-links a{padding:8px 4px!important;font-size:26px!important}
  .mm-brands{padding-top:16px;padding-bottom:14px}
  .mm-brand{height:58px}
}
@media(prefers-reduced-motion:reduce){.mobile-menu-overlay{transition:none!important}.mm-links a{transition:none!important}}

/* Price clarity + text legibility audit (RU / ES, all content pages). */
html,body{max-width:100%;overflow-x:clip}

/* Important copy must never remain faded or clamped after reveal. */
.section-desc,.phil-text,.approach-desc,.expand-block p,.booking-text,
.bcn-section p,.bcn-seo-card p,.rev-text,.rw-seo-text,
.lloret-adv-card p,.lloret-faq-a p,.service-expand p,
.hero-sub,.bcn-hero .desc{
  opacity:1!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  display:block!important;
  max-height:none!important;
  overflow:visible!important;
}

/* Prices always stay attached to their labels and keep the euro sign together. */
.service-detail-row{min-width:0}
.service-detail-row>span:nth-child(2){overflow-wrap:anywhere}
.service-detail-row strong,.service-price{white-space:nowrap!important;word-break:keep-all}

@media(max-width:768px){
  /* Card header on top; variant/zone rows underneath; plus button at top right. */
  .service{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    column-gap:14px!important;
    row-gap:10px!important;
    align-items:start!important;
    padding:20px 16px!important;
  }
  .service-info{grid-column:1!important;grid-row:1/3!important;min-width:0!important}
  .service-name{font-size:clamp(22px,6.4vw,27px)!important;line-height:1.12!important;overflow-wrap:anywhere}
  .service-arrow{grid-column:2!important;grid-row:1!important;margin-top:1px!important}
  /* The same amount is already listed against its exact zone/package below. */
  .service>.service-price{display:none!important}
  .service-detail{margin-top:10px!important;font-size:16px!important;line-height:1.5!important;gap:0!important}
  .service-detail-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px!important;
    align-items:baseline!important;
    padding:7px 0!important;
    border-top:1px solid rgba(184,149,106,.18);
  }
  .service-detail-row .dash{display:none!important}
  .service-detail-row>span:nth-child(2){min-width:0!important;font-size:16px!important;line-height:1.5!important;color:#4f443c!important}
  .service-detail-row strong{font-size:16px!important;line-height:1.5!important;color:#76552f!important;font-weight:600!important;text-align:right!important}
  .service-expand{grid-column:1/-1!important;grid-row:3!important}
  .service-expand-content{padding:16px 0 4px!important;gap:20px!important}

  /* Main explanatory content: WCAG-sized body copy on phones. */
  .section-desc,.phil-text,.approach-desc,.expand-block p,.booking-text,
  .bcn-section p,.bcn-seo-card p,.rev-text,.rw-seo-text,
  .lloret-adv-card p,.lloret-faq-a p,.service-expand p,
  .hero-sub,.bcn-hero .desc{
    font-size:16px!important;
    line-height:1.58!important;
    color:#51473f!important;
  }
  .section-eyebrow,.cat-count,.bcn-eyebrow,.lloret-eyebrow,.rw-eyebrow,
  .contact-label,.meta-label,.expand-block h4{
    font-size:14px!important;
    line-height:1.4!important;
    color:#76552f!important;
  }
  .tab,.gender-tab{font-size:14px!important;line-height:1.25!important}
  .category-tabs{gap:10px!important;margin-bottom:38px!important}
  .tab{padding:12px 16px!important;white-space:normal!important}
  .cat-header{margin-bottom:18px!important}
  .cat-count{display:none!important}
  .bcn-faq-q,.lloret-faq-q{font-size:16px!important;line-height:1.45!important;text-align:left!important}
  .book-cta,.barcelona-btn,.lloret-btn,.reviews-btn{font-size:14px!important;line-height:1.3!important;white-space:normal!important;text-align:center!important}
}

@media(max-width:380px){
  .service-detail,.service-detail-row>span:nth-child(2),.service-detail-row strong{font-size:16px!important}
}

/* At 200% zoom, use the same robust wrapping before the viewport reaches phone size. */
@media(max-width:900px){
  .contact-row{min-width:0}
  .contact-value,.contact-value a{max-width:100%;overflow-wrap:anywhere}
  button,a{max-width:100%}
}
