/* BBS Mietpark category gallery, intentionally scoped to homepage */
.home-pro .bbs-cat-section{position:relative;background:radial-gradient(ellipse at 50% 45%,#dcefff99,transparent 65%),linear-gradient(180deg,#fff 0%,#edf5fa 100%);padding:49px 0 36px;overflow:hidden;border:0;isolation:isolate}
.home-pro .bbs-cat-section *{box-sizing:border-box}
.home-pro .bbs-cat-wrap{width:min(100%,1360px);margin:0 auto;padding:0 24px}
.home-pro .bbs-cat-head{display:flex;gap:20px;align-items:end;justify-content:space-between;margin-bottom:14px}
.home-pro .bbs-cat-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 7px;color:#087ee3;font-weight:900;letter-spacing:.12em;font-size:12px;text-transform:uppercase}
.home-pro .bbs-cat-eyebrow::before{content:'';height:3px;width:28px;border-radius:8px;background:#0b8cff}
.home-pro .bbs-cat-head h2{margin:0;font-size:clamp(25px,3.3vw,39px);line-height:1.08;letter-spacing:-.035em;color:#071d30;font-weight:900}
.home-pro .bbs-cat-head h2 span{color:#0b8cff}
.home-pro .bbs-cat-sub{margin:7px 0 0;font-size:15px;color:#526b7a;line-height:1.45}
.home-pro .bbs-cat-controls{display:flex;align-items:center;gap:10px;padding-bottom:4px}
.home-pro .bbs-cat-arrow{display:grid;place-items:center;width:45px;height:45px;border:1px solid #bed4e4;border-radius:11px;background:linear-gradient(145deg,#fff,#edf7ff);color:#124e78;font-size:29px;line-height:1;cursor:pointer;box-shadow:0 2px 9px rgba(8,49,83,.06)}
@media (prefers-reduced-motion: no-preference){
.home-pro .bbs-cat-arrow{transition:background .2s,color .2s,transform .2s}}
.home-pro .bbs-cat-arrow:hover{background:#0b8cff;color:#fff}
@media (prefers-reduced-motion: no-preference){
.home-pro .bbs-cat-arrow:hover{transform:translateY(-2px)}}
.home-pro .bbs-cat-arrow:focus-visible,.home-pro .bbs-cat-dot:focus-visible,.home-pro .bbs-cat-card:focus-visible{outline:3px solid #49baff;outline-offset:4px}
.home-pro .bbs-cat-stage{height:485px;position:relative;overflow:hidden;touch-action:pan-y;user-select:none;cursor:grab}
.home-pro .bbs-cat-stage:active{cursor:grabbing}
.home-pro .bbs-cat-card{position:absolute;left:50%;top:16px;display:flex;flex-direction:column;width:325px;height:432px;background:#fff;border:1px solid #c4deee;border-radius:18px;overflow:hidden;color:#081e32;text-decoration:none;box-shadow:0 13px 33px rgba(4,44,81,.11);transform-origin:50% 50%;will-change:transform,opacity;backface-visibility:hidden}
@media (prefers-reduced-motion: no-preference){
.home-pro .bbs-cat-card{transition:transform .85s cubic-bezier(.19,.79,.18,1),opacity .65s,filter .65s,box-shadow .65s}}
.home-pro .bbs-cat-card[data-offset="0"]{transform:translateX(-50%) translateY(0) scale(1);z-index:5;opacity:1;filter:none;box-shadow:0 25px 55px rgba(6,58,103,.25),0 0 0 1px #a6dcff55}
.home-pro .bbs-cat-card[data-offset="-1"]{transform:translateX(calc(-50% - 256px)) translateY(17px) scale(.935);z-index:4;opacity:1;filter:saturate(.98)}
.home-pro .bbs-cat-card[data-offset="1"]{transform:translateX(calc(-50% + 256px)) translateY(17px) scale(.935);z-index:4;opacity:1;filter:saturate(.98)}
.home-pro .bbs-cat-card[data-offset="-2"]{transform:translateX(calc(-50% - 496px)) translateY(35px) scale(.85);z-index:3;opacity:.9;filter:saturate(.92)}
.home-pro .bbs-cat-card[data-offset="2"]{transform:translateX(calc(-50% + 496px)) translateY(35px) scale(.85);z-index:3;opacity:.9;filter:saturate(.92)}
.home-pro .bbs-cat-art{height:355px;position:relative;overflow:hidden;background:#0766c1;flex:0 0 auto}
.home-pro .bbs-cat-art img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;pointer-events:none}
@media (prefers-reduced-motion: no-preference){
.home-pro .bbs-cat-art img{transition:transform .7s ease}}
@media (prefers-reduced-motion: no-preference){
.home-pro .bbs-cat-card[data-offset="0"]:hover .bbs-cat-art img{transform:none}}
.home-pro .bbs-cat-ki{position:absolute;top:12px;right:12px;display:inline-block;min-width:28px;padding:5px 6px;border-radius:6px;background:rgba(7,19,29,.55);border:1px solid rgba(255,255,255,.36);font-size:10px;line-height:1;color:#fff;font-weight:800;letter-spacing:.025em;text-align:center}
.home-pro .bbs-cat-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-height:0;background:linear-gradient(155deg,#fff,#edf6fc);padding:15px 17px 16px}
.home-pro .bbs-cat-name{font-size:19px;font-weight:900;line-height:1.2;color:#0a2336;letter-spacing:-.03em}
.home-pro .bbs-cat-go{display:grid;place-items:center;width:35px;height:35px;border:1px solid #d7e9f6;border-radius:50%;color:#066ebf;background:#f6faff;font-size:22px;flex:0 0 auto}
.home-pro .bbs-cat-bottom{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:1px}
.home-pro .bbs-cat-dot{width:9px;height:9px;padding:0;border:0;border-radius:99px;background:#bbd7ea;cursor:pointer}
@media (prefers-reduced-motion: no-preference){
.home-pro .bbs-cat-dot{transition:background .3s,width .3s}}
.home-pro .bbs-cat-dot[aria-current="true"]{width:30px;background:#0b8cff}
.home-pro .bbs-cat-hint{margin:14px 0 0;text-align:center;color:#678093;font-size:12px}
.home-pro .bbs-cat-footnote{font-size:11px;color:#6b7c89;line-height:1.3;margin:10px 0 0;text-align:center}
@media(max-width:950px){.home-pro .bbs-cat-card{width:310px;height:416px}.home-pro .bbs-cat-art{height:338px}.home-pro .bbs-cat-stage{height:463px}.home-pro .bbs-cat-card[data-offset="-1"]{transform:translateX(calc(-50% - 235px)) translateY(17px) scale(.93)}.home-pro .bbs-cat-card[data-offset="1"]{transform:translateX(calc(-50% + 235px)) translateY(17px) scale(.93)}.home-pro .bbs-cat-card[data-offset="-2"]{transform:translateX(calc(-50% - 447px)) translateY(34px) scale(.83)}.home-pro .bbs-cat-card[data-offset="2"]{transform:translateX(calc(-50% + 447px)) translateY(34px) scale(.83)}}
@media(max-width:700px){
 .home-pro .bbs-cat-section{padding:20px 0 24px}
 .home-pro .bbs-cat-wrap{padding:0 14px}
 .home-pro .bbs-cat-head{margin-bottom:11px;gap:12px;align-items:end}
 .home-pro .bbs-cat-head h2{font-size:23px;line-height:1.09}
 .home-pro .bbs-cat-eyebrow{font-size:10px;letter-spacing:.11em;margin-bottom:7px}
 .home-pro .bbs-cat-sub{font-size:12.5px;line-height:1.4;margin-top:7px;max-width:300px}
 .home-pro .bbs-cat-controls{gap:6px}
 .home-pro .bbs-cat-arrow{width:33px;height:33px;font-size:22px;border-radius:9px}
 .home-pro .bbs-cat-stage{height:clamp(520px,calc(127vw + 120px),590px);margin-left:-1px;width:calc(100% + 14px);overflow:hidden}
 .home-pro .bbs-cat-card{left:1px;top:13px;width:min(70vw,260px);height:auto;border-radius:15px;transform-origin:top left}
 .home-pro .bbs-cat-card[data-offset="0"]{transform:translateX(0) translateY(0) scale(1);opacity:1;z-index:5}
 .home-pro .bbs-cat-card[data-offset="1"]{transform:translateX(calc(min(70vw,260px) - 19px)) translateY(14px) scale(.94);opacity:1;z-index:4}
 .home-pro .bbs-cat-card[data-offset="2"]{transform:translateX(calc((min(70vw,260px) - 19px)*2)) translateY(24px) scale(.89);opacity:0;z-index:3;pointer-events:none}
 .home-pro .bbs-cat-card[data-offset="-1"]{transform:translateX(calc(-1 * min(70vw,260px) - 27px)) translateY(18px) scale(.92);opacity:0;z-index:3;pointer-events:none}
 .home-pro .bbs-cat-card[data-offset="-2"]{transform:translateX(calc(-2 * min(70vw,260px) - 27px)) translateY(28px) scale(.86);opacity:0;z-index:2;pointer-events:none}
 .home-pro .bbs-cat-art{height:auto;aspect-ratio:0.55}
 /* Use the original, undistorted 420x535 artwork on mobile. The 0.55 frame crops
    only the outer side strips, without scaling the image disproportionately. */
 .home-pro .bbs-cat-art img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center;transform:none!important}

 .home-pro .bbs-cat-foot{padding:14px 15px;min-height:80px;flex:none}
 .home-pro .bbs-cat-name{font-size:18px}
 .home-pro .bbs-cat-go{height:35px;width:35px}
 .home-pro .bbs-cat-hint{font-size:11px;margin-top:9px}
 .home-pro .bbs-cat-footnote{font-size:10px}
}
@media(max-width:390px){.home-pro .bbs-cat-name{font-size:17px}}
@media(prefers-reduced-motion:reduce){.home-pro .bbs-cat-card,.home-pro .bbs-cat-art img,.home-pro .bbs-cat-dot{transition:none!important}}

/* The category slider replaces the old two-product mobile teaser. */
.home-pro .mobile-rental-teaser{display:none!important}

/* Desktop-only: narrow portrait cards with the same undistorted studio art
   already used on mobile. Cover-crop removes both side seams, never squeezes. */
@media (min-width:701px){
 .home-pro .bbs-cat-stage{height:632px}
 .home-pro .bbs-cat-card{
   width:268px;height:auto;top:12px;
   border-radius:19px;
 }
 @media (prefers-reduced-motion: no-preference){
.home-pro .bbs-cat-card{
   transition:transform .58s cubic-bezier(.22,.74,.21,1),
     opacity .43s ease,filter .43s ease,box-shadow .43s ease}}
 .home-pro .bbs-cat-art{height:auto;aspect-ratio:.55;flex:0 0 auto}
 .home-pro .bbs-cat-art img{
   position:absolute;inset:0;width:100%;height:100%;
   display:block;max-width:none;
   object-fit:cover;object-position:center center;
   transform:none!important
 }
 @media (prefers-reduced-motion: no-preference){
.home-pro .bbs-cat-art img{transition:none}}
 .home-pro .bbs-cat-foot{min-height:77px;padding:15px 17px;flex:none}
 .home-pro .bbs-cat-card[data-offset="0"]{
   transform:translateX(calc(-50%)) translateY(0) scale(1)
 }
 .home-pro .bbs-cat-card[data-offset="-1"]{
   transform:translateX(calc(-50% - 216px)) translateY(18px) scale(.93)
 }
 .home-pro .bbs-cat-card[data-offset="1"]{
   transform:translateX(calc(-50% + 216px)) translateY(18px) scale(.93)
 }
 .home-pro .bbs-cat-card[data-offset="-2"]{
   transform:translateX(calc(-50% - 427px)) translateY(34px) scale(.84)
 }
 .home-pro .bbs-cat-card[data-offset="2"]{
   transform:translateX(calc(-50% + 427px)) translateY(34px) scale(.84)
 }
 .home-pro .bbs-cat-stage.bbs-cat-dragging{cursor:grabbing}
 @media (prefers-reduced-motion: no-preference){
.home-pro .bbs-cat-stage.bbs-cat-dragging .bbs-cat-card{
   transition:none!important}}
}

/* Light on the card surface follows the pointer; carousel positioning stays owned above. */
.home-pro .bbs-cat-card::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:6;border-radius:inherit;box-shadow:inset 0 1px 0 #ffffffaa;background:radial-gradient(320px circle at var(--bbs-pointer-x,50%) var(--bbs-pointer-y,0%),#a3e7ff33,transparent 65%);opacity:0}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
 .home-pro .bbs-cat-card::after{transition:opacity .3s ease}
 .home-pro .bbs-cat-card:hover::after{opacity:1}
 .home-pro .bbs-cat-go{transition:background .25s ease,color .25s ease,translate .25s ease,box-shadow .25s ease}
 .home-pro .bbs-cat-card[data-offset="0"]:hover .bbs-cat-go{background:linear-gradient(145deg,#31b6ff,#0874c8);color:#fff;box-shadow:inset 0 1px 0 #ffffff77,0 5px 15px #0874c833;translate:3px 0}
}

@media(max-width:700px){
 .home-pro .bbs-cat-section{background:radial-gradient(ellipse at 100% 0%,#c7e8ff77,transparent 65%),linear-gradient(165deg,#fff,#eaf3fa)}
 .home-pro .bbs-cat-card{border-radius:20px;border-color:#afd0e5}
 .home-pro .bbs-cat-card[data-offset="0"]{box-shadow:0 18px 32px #063a6729,0 2px 5px #063a6714}
 .home-pro .bbs-cat-card::after{opacity:1;background:linear-gradient(155deg,#ffffff14,transparent 35%);box-shadow:inset 0 1px 0 #ffffffaa,inset 1px 0 0 #ffffff44}
 .home-pro .bbs-cat-foot{background:linear-gradient(150deg,#fff,#e4f1fa);border-top:1px solid #ffffff99}
 .home-pro .bbs-cat-go{background:linear-gradient(145deg,#0b78ba,#07528e);color:#fff;border-color:#0c639c;box-shadow:inset 0 1px 0 #ffffff66,0 5px 12px #074a7b26}
 .home-pro .bbs-cat-arrow{width:38px;height:38px;border-radius:12px;box-shadow:inset 0 1px 0 #fff,0 4px 9px #073b5f12}
 .home-pro .bbs-cat-dot{position:relative;min-height:9px}
 .home-pro .bbs-cat-dot::before{content:"";position:absolute;inset:-17px -4px}
}


/* Desktop carousel: noticeable mouse-over, independent of device media heuristics.
   Base transforms still own the 3D stack; independent translate/scale lift the hovered card. */
@media(min-width:701px){
  /* Don't crop the top and drop shadow when the hovered tile rises. */
  .home-pro .bbs-cat-stage{overflow:visible}
  .home-pro .bbs-cat-stage .bbs-cat-card{
    translate:var(--bbs-carousel-drift,0px) 0;
    scale:1;
    rotate:0deg;
  }
  .home-pro .bbs-cat-stage:not(.bbs-cat-dragging) .bbs-cat-card:is(:hover,.bbs-cat-hovered,:focus-visible){
    translate:var(--bbs-carousel-drift,0px) -20px;
    scale:1.075;
    rotate:var(--bbs-hover-rotation,0deg);
    z-index:30;
    border-color:#32b7fa;
    box-shadow:0 34px 74px #063a6766,0 0 0 3px #5acbff70,inset 0 1px 0 #fff;
  }
  /* Follow the actual pointer across the artwork rather than showing a fixed glow. */
  .home-pro .bbs-cat-card::after{
    background:radial-gradient(300px circle at var(--bbs-pointer-x,50%) var(--bbs-pointer-y,45%),#e4f9ff4d,transparent 68%);
  }
  .home-pro .bbs-cat-stage:not(.bbs-cat-dragging) .bbs-cat-card:is(:hover,.bbs-cat-hovered,:focus-visible)::after{
    opacity:1;
  }
  .home-pro .bbs-cat-stage .bbs-cat-card .bbs-cat-art{transform-origin:center center}
  .home-pro .bbs-cat-stage:not(.bbs-cat-dragging) .bbs-cat-card:is(:hover,.bbs-cat-hovered,:focus-visible) .bbs-cat-art{
    transform:perspective(800px) rotateX(var(--bbs-hover-tilt-x,0deg)) rotateY(var(--bbs-hover-tilt-y,0deg));
    filter:brightness(1.09) saturate(1.1);
  }
  .home-pro .bbs-cat-stage:not(.bbs-cat-dragging) .bbs-cat-card:is(:hover,.bbs-cat-hovered,:focus-visible) .bbs-cat-art img{
    transform:translate3d(var(--bbs-hover-image-x,0px),var(--bbs-hover-image-y,0px),0) scale(1.065)!important;
  }
  .home-pro .bbs-cat-stage:not(.bbs-cat-dragging) .bbs-cat-card:is(:hover,.bbs-cat-hovered,:focus-visible) .bbs-cat-go{
    translate:4px 0;
    background:linear-gradient(145deg,#31b6ff,#0874c8);
    color:#fff;
    border-color:#50c5ff;
  }
  .home-pro .bbs-cat-stage.bbs-cat-dragging .bbs-cat-card{
    translate:0 0!important;scale:1!important;rotate:0deg!important;
  }
}
@media(min-width:701px) and (prefers-reduced-motion:no-preference){
  .home-pro .bbs-cat-stage .bbs-cat-card{
    transition:transform .58s cubic-bezier(.22,.74,.21,1),opacity .43s ease,filter .43s ease,
      box-shadow .33s ease,border-color .33s ease,translate .28s cubic-bezier(.2,.8,.2,1),
      scale .28s cubic-bezier(.16,.9,.25,1),rotate .17s ease-out;
  }
  .home-pro .bbs-cat-stage .bbs-cat-card::after{transition:opacity .28s ease}
  .home-pro .bbs-cat-stage .bbs-cat-card .bbs-cat-art{
    transition:transform .2s ease-out,filter .2s ease-out;
  }
  .home-pro .bbs-cat-stage .bbs-cat-card .bbs-cat-art img{
    transition:transform .23s ease-out!important;
  }
  .home-pro .bbs-cat-stage .bbs-cat-card .bbs-cat-go{
    transition:translate .25s ease,background .25s ease,color .25s ease;
  }
}
@media(min-width:701px) and (prefers-reduced-motion:reduce){
  /* Visible selection without movement for visitors who disable animations. */
  .home-pro .bbs-cat-stage .bbs-cat-card{translate:0 0;scale:1;rotate:0deg}
  .home-pro .bbs-cat-stage:not(.bbs-cat-dragging) .bbs-cat-card:is(:hover,.bbs-cat-hovered,:focus-visible){
    translate:0 0;scale:1;rotate:0deg;
  }
  .home-pro .bbs-cat-stage:not(.bbs-cat-dragging) .bbs-cat-card:is(:hover,.bbs-cat-hovered,:focus-visible) .bbs-cat-art{
    transform:none;
  }
  .home-pro .bbs-cat-stage:not(.bbs-cat-dragging) .bbs-cat-card:is(:hover,.bbs-cat-hovered,:focus-visible) .bbs-cat-art img{
    transform:none!important;
  }
}

/* Softer carousel handoff: cards gently dissolve at the outer edges. */
@media (prefers-reduced-motion:no-preference){
 .home-pro .bbs-cat-card{transition:transform 1.05s cubic-bezier(.22,.72,.2,1),opacity .95s ease-in-out,filter .95s ease-in-out,box-shadow .65s ease}
}
@media(min-width:701px){
 .home-pro .bbs-cat-card:not([data-offset="0"]):not([data-offset="1"]):not([data-offset="-1"]):not([data-offset="2"]):not([data-offset="-2"]){opacity:0;pointer-events:none}
}
@media(min-width:701px) and (prefers-reduced-motion:no-preference){
 .home-pro .bbs-cat-stage .bbs-cat-card{transition:transform 1.05s cubic-bezier(.22,.72,.2,1),opacity .95s ease-in-out,filter .95s ease-in-out,box-shadow .65s ease,border-color .33s ease,translate .28s cubic-bezier(.2,.8,.2,1),scale .28s cubic-bezier(.16,.9,.25,1),rotate .17s ease-out}
}

/* Fade the complete desktop card stack before switching carousel positions.
   This masks the circular wrap jump rather than just slowing its movement. */
@media(min-width:701px) and (prefers-reduced-motion:no-preference){
 .home-pro .bbs-cat-stage .bbs-cat-card{transition:transform 1.05s cubic-bezier(.22,.72,.2,1),opacity .5s ease-in-out,filter .5s ease-in-out,box-shadow .65s ease,border-color .33s ease,translate .28s cubic-bezier(.2,.8,.2,1),scale .28s cubic-bezier(.16,.9,.25,1),rotate .17s ease-out}
 .home-pro .bbs-cat-stage.bbs-cat-fading .bbs-cat-card{opacity:0!important;pointer-events:none}
}

/* Ensure every desktop tile is fully invisible before the index swaps. */
@media(min-width:701px) and (prefers-reduced-motion:no-preference){
 .home-pro .bbs-cat-stage .bbs-cat-card{transition:transform 1.05s cubic-bezier(.22,.72,.2,1),opacity .4s ease-in-out,filter .5s ease-in-out,box-shadow .65s ease,border-color .33s ease,translate .28s cubic-bezier(.2,.8,.2,1),scale .28s cubic-bezier(.16,.9,.25,1),rotate .17s ease-out}
 .home-pro .bbs-cat-stage.bbs-cat-repositioning .bbs-cat-card{transition:none!important}
 .home-pro .bbs-cat-stage.bbs-cat-fading .bbs-cat-card{opacity:0!important;pointer-events:none!important}
}

/* Unified stage fade: prevents instantaneous z-index swaps looking like pops. */
@media(min-width:701px) and (prefers-reduced-motion:no-preference){
 .home-pro .bbs-cat-stage{opacity:1;transition:opacity .44s cubic-bezier(.45,0,.55,1)}
 .home-pro .bbs-cat-stage.bbs-cat-fading{opacity:0;pointer-events:none}
 .home-pro .bbs-cat-stage.bbs-cat-repositioning .bbs-cat-card{transition:none!important}
}
