/* Approved Home V2 template CSS — fonts mapped to site assets (Mesmerize Expanded Light + Myriad Pro) */

@font-face {
  font-family: "Mesmerize";
  src: url("/assets/fonts/mesmerize/mesmerize-ex-lt-.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mesmerize";
  src: url("/assets/fonts/mesmerize/mesmerize-ex-rg.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mesmerize";
  src: url("/assets/fonts/mesmerize/mesmerize-ex-rg-it.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Myriad Pro";
  src: url("/assets/fonts/myriad_pro/MyriadPro-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Myriad Pro";
  src: url("/assets/fonts/myriad_pro/MYRIADPRO-REGULAR.OTF") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Myriad Pro";
  src: url("/assets/fonts/myriad_pro/MYRIADPRO-SEMIBOLD.OTF") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Myriad Pro";
  src: url("/assets/fonts/myriad_pro/MYRIADPRO-BOLD.OTF") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}


#jb_body.home-page-v2{
  --ink:#2f2f39; --paper:#fcfcfd; --section:#f4f6f9; --navy:#41647b; --navy-d:#365466;
  --sand:#bdb19d; --mute:#575760; --line:rgba(0,0,0,0.08); --white:#fff;
  --section-pad: 120px;
  font-family:'Myriad Pro',"Myriad-Pro-Light",system-ui,sans-serif;
  font-weight:300;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
#jb_body.home-page-v2 *{box-sizing:border-box}
#jb_body.home-page-v2{background:var(--paper);color:var(--ink)}
#jb_body.home-page-v2 .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#jb_body.home-page-v2 img{display:block;max-width:100%;height:auto}
#jb_body.home-page-v2 button:not(.mega-cat):not(.mega-close):not(.mega-back):not(.jbs-x):not(.jbs-chip):not(.jbs-seeall):not(.hero-arr):not(.hero-dot):not(.cards-scroll-arr):not(.builders-arr){font-family:inherit;cursor:pointer;-webkit-appearance:none;border:0;background:transparent;padding:0;color:inherit}
#jb_body.home-page-v2 a{color:inherit;text-decoration:none}

#jb_body.home-page-v2 .progress{position:fixed;top:0;left:0;height:2px;background:rgba(0,0,0,0.05);z-index:120;width:100%}
#jb_body.home-page-v2 .progress-bar{height:100%;background:var(--navy);width:0%;transition:width 80ms linear}

/* Section titles — uppercase Mesmerize Expanded Light navy */
#jb_body.home-page-v2 .s-title{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:32px;line-height:48px;letter-spacing:0;
  color:var(--navy);text-transform:uppercase;text-align:center;margin:0}
#jb_body.home-page-v2 .s-title-row{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:0 auto}
#jb_body.home-page-v2 .s-title-row h2{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:32px;line-height:48px;letter-spacing:0;
  color:var(--navy);text-transform:uppercase;margin:0}
#jb_body.home-page-v2 .s-link{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:16px;line-height:20px;letter-spacing:0;
  text-transform:uppercase;color:var(--ink);padding:0 24px;height:40px;border:0.5px solid rgba(0,0,0,0.18);
  display:inline-flex;align-items:center;transition:.25s;white-space:nowrap;background:transparent}
#jb_body.home-page-v2 .s-link:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ====================================================================== */
/* HEADER NAV — STICKY (always visible); navy gradient #41647B + blur on scroll */
/* ====================================================================== */
#jb_body.home-page-v2 .nav{position:fixed;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:24px 40px;z-index:100;color:#fff;gap:16px;
  background:transparent;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);
  border-bottom:0.5px solid transparent;
  transition:background .45s ease, backdrop-filter .45s ease,
             border-color .45s ease, padding .35s ease}
#jb_body.home-page-v2 .nav.scrolled{
  background:linear-gradient(180deg,
    rgba(65,100,123,0.72) 0%,
    rgba(65,100,123,0.86) 100%);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  border-bottom:0.5px solid rgba(255,255,255,0.15);
  padding:16px 40px}

#jb_body.home-page-v2 .nav .left{display:flex;align-items:center;justify-self:start}
#jb_body.home-page-v2 .nav .burger{width:24px;height:24px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;
  background:transparent;border:0;padding:0}
#jb_body.home-page-v2 .nav .burger span{display:block;height:1px;width:100%;background:#fff}

#jb_body.home-page-v2 .nav .logo{width:72px;height:72px;background:transparent;overflow:visible;justify-self:center;
  display:flex;align-items:center;justify-content:center;transition:width .35s,height .35s}
#jb_body.home-page-v2 .nav .logo img{width:100%;height:100%;display:block;object-fit:contain;
  filter:brightness(0) invert(1)}
#jb_body.home-page-v2 .nav.scrolled .logo{width:60px;height:60px}

#jb_body.home-page-v2 .nav .right{display:flex;gap:12px;align-items:center;justify-self:end}
#jb_body.home-page-v2 .nav .icon{width:40px;height:40px;border:0.5px solid rgba(255,255,255,0.7);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:16px;transition:.25s;background:transparent;cursor:pointer}
#jb_body.home-page-v2 .nav .icon:hover{background:rgba(255,255,255,0.14)}
#jb_body.home-page-v2 .nav .cta{padding:0 24px;height:40px;font-family:'Mesmerize',sans-serif;font-weight:300;font-size:16px;line-height:20px;
  letter-spacing:0;text-transform:uppercase;color:#fff;border:0.5px solid rgba(255,255,255,0.75);
  transition:.25s;display:inline-flex;align-items:center;cursor:pointer;background:transparent;white-space:nowrap}
#jb_body.home-page-v2 .nav .cta:hover{background:rgba(255,255,255,0.14)}

@media (max-width:980px){#jb_body.home-page-v2 .nav{padding:16px 24px}#jb_body.home-page-v2 .nav.scrolled{padding:12px 24px}#jb_body.home-page-v2 .nav .logo{width:56px;height:56px}#jb_body.home-page-v2 .nav.scrolled .logo{width:50px;height:50px}
}

/* ====================================================================== */
/* SECTION INDEX — secondary sticky nav for the long homepage              */
/* Appears below main nav once user scrolls past hero, premium minimal     */
/* ====================================================================== */
#jb_body.home-page-v2 .section-index{position:fixed;top:88px;left:0;right:0;z-index:95;
  display:flex;justify-content:center;flex-wrap:wrap;gap:36px;
  padding:14px 40px;
  background:rgba(252,252,253,0.85);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom:0.5px solid rgba(0,0,0,0.06);
  border-top:0.5px solid rgba(0,0,0,0.04);
  opacity:0;pointer-events:none;transform:translateY(-12px);
  transition:opacity .5s cubic-bezier(0.22,1,0.36,1),
             transform .5s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .section-index.show{opacity:1;pointer-events:auto;transform:translateY(0)}
#jb_body.home-page-v2 .si-item{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:14px;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);
  padding:6px 0;position:relative;background:transparent;border:0;cursor:pointer;
  opacity:0.6;transition:opacity .25s, color .3s;white-space:nowrap}
#jb_body.home-page-v2 .si-item:hover{opacity:1}
#jb_body.home-page-v2 .si-item::after{content:"";position:absolute;left:0;right:0;bottom:0;
  height:1px;background:var(--navy);
  transform:scaleX(0);transform-origin:center;
  transition:transform .45s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .si-item.active{opacity:1;color:var(--navy)}
#jb_body.home-page-v2 .si-item.active::after{transform:scaleX(1)}

@media (max-width:980px){#jb_body.home-page-v2 .section-index{gap:18px;padding:10px 20px;overflow-x:auto;justify-content:flex-start;
    flex-wrap:nowrap;scrollbar-width:none}#jb_body.home-page-v2 .section-index::-webkit-scrollbar{display:none}#jb_body.home-page-v2 .si-item{font-size:13px}
}

/* ====================================================================== */
/* HERO — full viewport height for video, gradient veil for nav readability */
/* ====================================================================== */
#jb_body.home-page-v2 .hero{position:relative;width:100%;height:100vh;min-height:620px;
  overflow:hidden;background:#0a1620;color:#fff}
/* Short mobile labels — hidden on desktop */
#jb_body.home-page-v2 .ttl-mobile{display:none}
#jb_body.home-page-v2 .hero-bg{position:absolute;top:-25%;left:0;width:100%;height:150%;
  background-size:cover;background-position:center;background-color:#0a1620;
  object-fit:cover;object-position:center;
  transition:opacity 1s ease;opacity:1;will-change:opacity,transform;
  transform:translate3d(0,0,0) scale(1.04)}
#jb_body.home-page-v2 .hero-bg.alt{opacity:0}
#jb_body.home-page-v2 .hero-veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0.55) 0%,rgba(0,0,0,0.18) 14%,rgba(0,0,0,0) 35%,rgba(0,0,0,0.1) 60%,rgba(0,0,0,0.5) 100%)}
#jb_body.home-page-v2 .hero-arr{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;
  border:0.5px solid rgba(255,255,255,0.55);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:6;transition:.25s,transform .35s;font-size:18px}
#jb_body.home-page-v2 .hero-arr.l{left:40px}#jb_body.home-page-v2 .hero-arr.r{right:40px}
#jb_body.home-page-v2 .hero-arr:hover{background:rgba(255,255,255,0.12);transform:translateY(-50%) scale(1.08)}
#jb_body.home-page-v2 .hero-text{position:absolute;bottom:80px;left:64px;right:64px;z-index:5;max-width:1280px;transition:opacity .6s}
#jb_body.home-page-v2 .hero-text.swap{opacity:0}
#jb_body.home-page-v2 .hero h1{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:40px;line-height:56px;color:#fff;
  letter-spacing:0;text-transform:uppercase;margin:0 0 32px}
#jb_body.home-page-v2 .hero .btn-hero{background:#fff;color:#000;padding:0 28px;height:44px;font-family:'Mesmerize',sans-serif;
  font-weight:300;font-size:16px;line-height:20px;letter-spacing:0;text-transform:uppercase;
  transition:.25s;display:inline-flex;align-items:center}
#jb_body.home-page-v2 .hero .btn-hero:hover{background:#000;color:#fff}
#jb_body.home-page-v2 .hero-dots{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
/* Dot becomes a progress bar — gray base, white fill grows 0→100% over 5.5s while active */
#jb_body.home-page-v2 .hero-dot{position:relative;width:40px;height:2px;background:rgba(255,255,255,0.35);
  cursor:pointer;border:0;padding:0;overflow:hidden;transition:.25s}
#jb_body.home-page-v2 .hero-dot::after{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:#fff}
#jb_body.home-page-v2 .hero-dot.active::after{animation:hero-fill 30000ms linear forwards}
@keyframes hero-fill{from{width:0}to{width:100%}}

/* ====================================================================== */
/* SECTION SPACING — every chapter padding-top: 120 (no bottom), uniform gaps */
/* ====================================================================== */

/* BESPOKE INTRO */
#jb_body.home-page-v2 .intro{padding:var(--section-pad) 40px 0;max-width:1080px;margin:0 auto;text-align:center}
#jb_body.home-page-v2 .intro h2{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:32px;line-height:48px;letter-spacing:0;
  color:var(--navy);text-transform:uppercase;margin:0 0 24px}
#jb_body.home-page-v2 .intro p{font-family:'Myriad Pro',sans-serif;font-weight:400;font-size:18px;line-height:28px;color:#2a2a36;
  max-width:1080px;margin:0 auto 32px}
#jb_body.home-page-v2 .intro-cta{display:inline-flex;gap:20px;flex-wrap:wrap;justify-content:center}
#jb_body.home-page-v2 .btn-solid{height:48px;padding:0 24px;background:var(--navy);color:#fff;font-family:'Mesmerize',sans-serif;
  font-weight:300;font-size:16px;line-height:24px;letter-spacing:0;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:10px;transition:.25s}
#jb_body.home-page-v2 .btn-solid:hover{background:var(--navy-d)}
#jb_body.home-page-v2 .btn-outline{height:48px;padding:0 24px;background:transparent;color:var(--ink);font-family:'Mesmerize',sans-serif;
  font-weight:300;font-size:16px;line-height:24px;letter-spacing:0;text-transform:uppercase;
  border:0.5px solid var(--ink);display:inline-flex;align-items:center;gap:10px;transition:.25s}
#jb_body.home-page-v2 .btn-outline:hover{background:var(--ink);color:#fff}

/* EVENTS — featured event video (NO play button — auto-plays), then grid */
#jb_body.home-page-v2 .events-zone{padding-top:var(--section-pad);background:var(--paper);overflow-x:hidden}
#jb_body.home-page-v2 .events-zone .s-title{padding:0 24px 40px}
/* Stage reserves 100vh height; inner .featured-event uses transform:scale
   (GPU-only, no layout reflow) for smooth scroll-driven zoom. Base size is
   the full target (100vw×100vh); scale interpolates from 0.8 (=80% size) to 1. */
#jb_body.home-page-v2 .featured-event-stage{position:relative;width:100%;min-height:100vh;
  display:flex;align-items:center;justify-content:center;overflow:hidden}
#jb_body.home-page-v2 .featured-event{--zoom-progress:0;position:relative;height:100vh;
  width:calc(min(1440px, 100vw - 80px) + (100vw - min(1440px, 100vw - 80px)) * var(--zoom-progress));
  max-width:100vw;margin:0 auto;
  background:#0a1620;overflow:hidden;will-change:width;
  transform:none}
#jb_body.home-page-v2 .featured-event .bg{position:absolute;inset:-22% 0;background:url('/assets/img/jby-home-v2/clean_feature_event.jpg') center/cover;
  will-change:transform}
@keyframes slow-zoom{0%{transform:scale(1.0)}100%{transform:scale(1.06) translate(-1%,1%)}}
#jb_body.home-page-v2 .featured-event video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}
#jb_body.home-page-v2 .featured-event .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,32,0.08) 30%,rgba(10,22,32,0.55) 100%);z-index:2;pointer-events:none}
#jb_body.home-page-v2 .featured-event .label{position:absolute;left:48px;bottom:40px;color:#fff;font-family:'Mesmerize',sans-serif;
  font-weight:300;font-size:18px;line-height:28px;letter-spacing:0;text-transform:uppercase;z-index:3;
  text-shadow:0 2px 14px rgba(0,0,0,0.4)}

#jb_body.home-page-v2 .events-grid-wrap{padding:40px 0 0;max-width:1440px;margin:0 auto}
#jb_body.home-page-v2 .events-grid-wrap .s-title-row{padding:0 40px}
/* Horizontal auto-scrolling strip with 6 cards */
#jb_body.home-page-v2 .events-strip-wrap{position:relative;margin-top:40px;overflow:hidden;padding:8px 0}
#jb_body.home-page-v2 .events-strip{display:flex;gap:24px;overflow-x:auto;scroll-behavior:smooth;
  padding:8px 40px 32px;scrollbar-width:none}
#jb_body.home-page-v2 .events-strip::-webkit-scrollbar{display:none}
#jb_body.home-page-v2 .event-card{flex:0 0 420px;background:#fff;border-radius:2px;overflow:hidden;cursor:pointer;
  transition:transform .55s cubic-bezier(0.22,1,0.36,1), box-shadow .55s ease;
  padding:8px;display:flex;flex-direction:column;box-shadow:0 4px 20px rgba(0,0,0,0.04)}
#jb_body.home-page-v2 .event-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,0.09)}
#jb_body.home-page-v2 .event-card .img{position:relative;height:220px;background-size:cover;background-position:center;
  transition:transform .85s cubic-bezier(0.22,1,0.36,1);overflow:hidden}
#jb_body.home-page-v2 .event-card:hover .img{transform:scale(1.06)}
#jb_body.home-page-v2 .event-card .event-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .5s ease;pointer-events:none}
#jb_body.home-page-v2 .event-card.has-video:hover .event-video{opacity:1}
#jb_body.home-page-v2 .event-card .body{padding:24px 20px 0;flex:1}
#jb_body.home-page-v2 .event-card .body h4{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:18px;line-height:28px;
  letter-spacing:0;text-transform:uppercase;color:var(--ink);margin:0 0 16px;min-height:56px}
#jb_body.home-page-v2 .event-card .row{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;
  border-top:0.5px solid var(--line);font-family:'Myriad Pro',sans-serif;font-size:16px;line-height:24px}
#jb_body.home-page-v2 .event-card .row .l{color:#2a2a36;font-weight:300}
#jb_body.home-page-v2 .event-card .row .r{color:var(--ink);font-weight:400}
#jb_body.home-page-v2 .event-card .cta{display:block;margin:24px 20px 20px;height:40px;background:var(--navy);color:#fff;
  text-align:center;font-family:'Mesmerize',sans-serif;font-weight:300;font-size:16px;line-height:40px;
  letter-spacing:0;text-transform:uppercase;transition:.25s}
#jb_body.home-page-v2 .event-card .cta:hover{background:var(--navy-d)}

/* WHAT WE DO — Porsche-style scroll-driven gradient.
   Background smoothly interpolates via --dark from #fcfcfd (paper white) to
   #41647B (navy). Text colors SNAP at threshold via .has-dark class. */
#jb_body.home-page-v2 .what-we-do{--dark:0;padding:var(--section-pad) 64px var(--section-pad);position:relative;
  background-color:rgb(
    calc(252 + (65 - 252) * var(--dark)),
    calc(252 + (100 - 252) * var(--dark)),
    calc(253 + (123 - 253) * var(--dark)))}
#jb_body.home-page-v2 .what-we-do .head{max-width:1080px;margin:0 auto 80px;text-align:center}
#jb_body.home-page-v2 .what-we-do .head h2{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:32px;line-height:48px;
  letter-spacing:0;text-transform:uppercase;margin:0 0 24px;color:var(--navy);
  transition:color .4s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .what-we-do .head p{font-family:'Myriad Pro',sans-serif;font-weight:400;font-size:18px;line-height:28px;
  margin:0 auto;max-width:1080px;color:#2a2a36;
  transition:color .4s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .what-we-do.has-dark .head h2{color:#ffffff}
#jb_body.home-page-v2 .what-we-do.has-dark .head p{color:rgba(255,255,255,0.92)}
#jb_body.home-page-v2 .craft-visual{position:relative;width:100%;max-width:1500px;margin:0 auto 96px;height:520px;
  border-radius:2px;overflow:hidden;background:#1a2a3a}
#jb_body.home-page-v2 .craft-visual .bg{position:absolute;inset:0;
  background:url('/assets/img/jby-home-v2/craft_visual_hero.jpg') center top/cover}
#jb_body.home-page-v2 .craft-visual .veil{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,0.04) 0%,rgba(0,0,0,0.15) 100%)}

/* Luxury pillars — single keyword + photo, no numbers */
#jb_body.home-page-v2 .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:1280px;margin:0 auto}
#jb_body.home-page-v2 .pillar{display:flex;flex-direction:column}
#jb_body.home-page-v2 .pillar .pic{width:100%;aspect-ratio:4/5;background-size:cover;background-position:center;margin:0 0 32px;
  overflow:hidden;border-radius:2px;transition:transform .9s}
#jb_body.home-page-v2 .pillar:hover .pic{transform:scale(1.02)}
#jb_body.home-page-v2 .pillar h3{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:24px;line-height:36px;letter-spacing:0;
  text-transform:uppercase;margin:0 0 18px;color:var(--ink);
  transition:color .4s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .pillar p{font-family:'Myriad Pro',sans-serif;font-weight:400;font-size:18px;line-height:28px;
  margin:0;max-width:380px;color:#2a2a36;
  transition:color .4s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .what-we-do.has-dark .pillar h3{color:#ffffff}
#jb_body.home-page-v2 .what-we-do.has-dark .pillar p{color:rgba(255,255,255,0.85)}

/* PORTFOLIO — Builders + Vessels */
#jb_body.home-page-v2 .portfolio{padding-top:var(--section-pad);background:var(--paper)}
#jb_body.home-page-v2 .portfolio .s-title{padding:0 24px 40px}
#jb_body.home-page-v2 .builders{position:relative;background:#0a1620;color:#fff;overflow:hidden}
#jb_body.home-page-v2 .builders .bg{position:absolute;inset:0;background-size:cover;background-position:center;
  transition:opacity .8s ease, transform 1.2s cubic-bezier(0.22,1,0.36,1);
  will-change:opacity,transform;transform-origin:center}
#jb_body.home-page-v2 .builders .bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;background:#0a1620;
  transition:opacity .8s ease, transform 1.2s cubic-bezier(0.22,1,0.36,1);
  will-change:opacity,transform;transform-origin:center}
#jb_body.home-page-v2 .builders:hover .bg, #jb_body.home-page-v2 .builders:hover .bg-video{transform:scale(1.04)}
#jb_body.home-page-v2 .builders .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,32,0.28) 0%,rgba(10,22,32,0.45) 100%)}
#jb_body.home-page-v2 .builders .brand-fade{position:absolute;inset:0;background:rgba(10,22,32,1);z-index:3;
  opacity:0;pointer-events:none;transition:opacity .45s cubic-bezier(0.4, 0, 0.2, 1)}
#jb_body.home-page-v2 .builders .brand-fade.active{opacity:0.5}
#jb_body.home-page-v2 .builders-inner{position:relative;z-index:5;padding:64px 64px 64px;min-height:760px;
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:32px}
#jb_body.home-page-v2 .builders-top{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}
#jb_body.home-page-v2 .builders .caption{color:rgba(255,255,255,0.92);font-family:'Myriad Pro',sans-serif;font-weight:300;
  font-size:16px;line-height:24px;margin:0;font-style:italic;text-align:center}
#jb_body.home-page-v2 .builders .mark{display:flex;align-items:center;justify-content:center;min-height:140px}
#jb_body.home-page-v2 .builders .mark img{height:130px;width:auto;filter:drop-shadow(0 4px 24px rgba(0,0,0,0.55));max-width:600px;object-fit:contain}
#jb_body.home-page-v2 .builders .mark .word{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:96px;line-height:1;color:#fff;
  letter-spacing:0;text-transform:uppercase;text-shadow:0 4px 22px rgba(0,0,0,0.55)}
#jb_body.home-page-v2 .builders .mark .word.italic{font-style:italic;font-weight:400}
#jb_body.home-page-v2 .builders .actions{display:flex;gap:12px}
#jb_body.home-page-v2 .builders .a{height:48px;padding:0 28px;font-family:'Mesmerize',sans-serif;font-weight:300;font-size:16px;
  line-height:20px;letter-spacing:0;text-transform:uppercase;cursor:pointer;transition:.25s;
  display:inline-flex;align-items:center}
#jb_body.home-page-v2 .builders .a.solid{background:#fff;color:#000}
#jb_body.home-page-v2 .builders .a.solid:hover{background:rgba(255,255,255,0.85)}
#jb_body.home-page-v2 .builders .a.ghost{background:rgba(0,0,0,0.5);color:#fff;border:0.5px solid rgba(255,255,255,0.6);backdrop-filter:blur(4px)}
#jb_body.home-page-v2 .builders .a.ghost:hover{background:rgba(0,0,0,0.7)}
#jb_body.home-page-v2 .builders-arr{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;
  border:0.5px solid rgba(255,255,255,0.55);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:6;transition:.25s}
#jb_body.home-page-v2 .builders-arr.l{left:40px}#jb_body.home-page-v2 .builders-arr.r{right:40px}
#jb_body.home-page-v2 .builders-arr:hover{background:rgba(255,255,255,0.1);transform:translateY(-50%) scale(1.08)}
#jb_body.home-page-v2 .builders-tabs{position:relative;z-index:6;display:flex;justify-content:center;gap:36px;
  padding:0 24px 0;flex-wrap:wrap;width:100%}
#jb_body.home-page-v2 .b-tab{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:16px;letter-spacing:0;text-transform:uppercase;
  color:rgba(255,255,255,0.72);padding:8px 0;position:relative;cursor:pointer;
  opacity:0;transform:translateY(40px);
  transition:opacity 900ms cubic-bezier(0.22,1,0.36,1), transform 900ms cubic-bezier(0.22,1,0.36,1), color .25s}
#jb_body.home-page-v2 .b-tab.tab-in{opacity:1;transform:translateY(0)}
#jb_body.home-page-v2 .b-tab.active{color:#fff}
#jb_body.home-page-v2 .b-tab.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#fff}
#jb_body.home-page-v2 .b-tab:hover{color:rgba(255,255,255,0.85)}

/* ====================================================================== */
/* VESSELS — Premium catalog: subtle horizontal expand on hover */
/* Active flex-grow 1.5, others 1 → active ~33% / others ~22% — gentle */
/* ====================================================================== */
#jb_body.home-page-v2 .vessels{padding-top:96px;max-width:1500px;margin:0 auto}
#jb_body.home-page-v2 .vessels-head-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 40px 40px;
  max-width:1500px;margin:0 auto}
#jb_body.home-page-v2 .vessels-head-row h2{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:32px;line-height:48px;letter-spacing:0;
  color:var(--navy);text-transform:uppercase;margin:0}
#jb_body.home-page-v2 .vessels-strip-wrap{position:relative;max-width:1500px;margin:0 auto;
  overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}
#jb_body.home-page-v2 .vessels-strip-wrap::-webkit-scrollbar{display:none}
/* Shared scroll arrow — dark semi-transparent SQUARE, 4px rounded (template) */
#jb_body.home-page-v2 .cards-scroll-arr{position:absolute;right:20px;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:4px;
  background:rgba(0,0,0,0.5);backdrop-filter:blur(8px);
  color:rgba(255,255,255,0.95);border:0.5px solid rgba(255,255,255,0.25);
  display:flex;align-items:center;justify-content:center;font-size:20px;
  cursor:pointer;z-index:10;
  transition:background .3s ease, transform .35s cubic-bezier(0.22, 1, 0.36, 1), opacity .25s}
#jb_body.home-page-v2 .cards-scroll-arr.l{left:20px;right:auto}
#jb_body.home-page-v2 .cards-scroll-arr:hover{background:rgba(0,0,0,0.7);transform:translateY(-50%)}
#jb_body.home-page-v2 .video-scroll-wrap{position:relative}
#jb_body.home-page-v2 .vessels-strip{display:flex;gap:20px;width:max-content;
  padding:24px 40px 32px;align-items:stretch}
#jb_body.home-page-v2 .vessels-arr{display:none}

#jb_body.home-page-v2 .vessel-card{flex:0 0 380px;width:380px;height:390px;position:relative;
  border-radius:2px;overflow:hidden;cursor:pointer;background:#0a1620;display:block;
  box-shadow:0 4px 20px rgba(0,0,0,0.05);
  transition:flex-basis .55s cubic-bezier(.16,1,.3,1),
             width .55s cubic-bezier(.16,1,.3,1)}
@media (hover:hover){
  #jb_body.home-page-v2 .vessel-card:hover{flex:0 0 456px;flex-basis:456px;width:456px}
}

/* Background image scale */
#jb_body.home-page-v2 .vessel-card .v-img{position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform 900ms cubic-bezier(0.22, 1, 0.36, 1)}
#jb_body.home-page-v2 .vessel-card:hover .v-img{transform:scale(1.07)}
#jb_body.home-page-v2 .vessel-card .v-img-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0.18) 0%,rgba(0,0,0,0) 34%)}

/* Brand logo top */
#jb_body.home-page-v2 .vessel-card .brand{position:absolute;top:10px;left:50%;transform:translateX(-50%);
  width:225px;height:73px;z-index:3;display:flex;align-items:center;justify-content:center;
  pointer-events:none}
#jb_body.home-page-v2 .vessel-card .brand img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  filter:drop-shadow(0 2px 12px rgba(0,0,0,0.4))}

/* Bottom info — NAVY gradient (original) + white text */
#jb_body.home-page-v2 .vessel-card .info{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:16px 20px 20px;
  background:linear-gradient(179.96deg,rgba(65,100,123,0) 24.756%,rgba(65,100,123,0.9) 81.07%,rgba(65,100,123,0.9) 88.822%);
  backdrop-filter:blur(1px);display:flex;flex-direction:column;gap:12px}
#jb_body.home-page-v2 .vessel-card .event-label{font-family:'Myriad Pro',sans-serif;font-weight:700;font-size:16px;line-height:20px;
  color:#fff;text-transform:uppercase;letter-spacing:0.04em;margin:0;text-shadow:0 1px 8px rgba(0,0,0,0.3)}
/* SAND pill — original yellow-ish chip */
#jb_body.home-page-v2 .vessel-card .chip-loc{background:var(--sand);color:#fff;padding:3px 10px 2px;font-family:'Myriad Pro',sans-serif;
  font-weight:400;font-size:16px;line-height:20px;border-radius:2px;align-self:flex-start;display:inline-block}
#jb_body.home-page-v2 .vessel-card .name{font-family:'Myriad Pro',sans-serif;font-weight:400;font-size:18px;line-height:28px;color:#fff;
  margin:0;text-transform:none}
#jb_body.home-page-v2 .vessel-card .price{font-family:'Myriad Pro',sans-serif;font-weight:600;font-size:24px;line-height:36px;color:#fff;margin:0}

/* CTA — rounded square (4px) chevron → wider "View" rounded square on hover */
#jb_body.home-page-v2 .v-cta{position:absolute;bottom:24px;right:24px;z-index:4;
  height:44px;width:44px;border-radius:4px;
  background:rgba(255,255,255,0.95);color:var(--ink);
  font-family:'Mesmerize',sans-serif;font-weight:300;font-size:15px;
  letter-spacing:0.1em;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;
  padding:0;border:0;cursor:pointer;overflow:hidden;white-space:nowrap;
  transition:width 1.5s cubic-bezier(0.16, 1, 0.3, 1),
             padding 1.5s cubic-bezier(0.16, 1, 0.3, 1)}
#jb_body.home-page-v2 .v-cta-text{opacity:0;max-width:0;overflow:hidden;
  transition:opacity .6s ease 0.4s, max-width 1.4s cubic-bezier(0.16, 1, 0.3, 1)}
#jb_body.home-page-v2 .v-cta-icon{display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;
  opacity:1;max-width:18px;
  transition:opacity .5s ease, max-width .9s cubic-bezier(0.16, 1, 0.3, 1)}
#jb_body.home-page-v2 .vessel-card:hover .v-cta{width:110px;padding:0 20px}
#jb_body.home-page-v2 .vessel-card:hover .v-cta-text{opacity:1;max-width:80px}
#jb_body.home-page-v2 .vessel-card:hover .v-cta-icon{opacity:0;max-width:0}

/* Mobile/tablet: strip scrolls; wrap stays fixed so arrows don't move with cards */
@media (max-width:980px){
  #jb_body.home-page-v2 .vessels-strip-wrap{
    overflow-x:hidden;
    overflow-y:visible;
  }
  #jb_body.home-page-v2 .vessels-strip{
    display:flex;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    scroll-behavior:smooth;
  }
  #jb_body.home-page-v2 .vessels-strip::-webkit-scrollbar{display:none}
  #jb_body.home-page-v2 .vessel-card{flex:0 0 280px;width:280px;height:390px;scroll-snap-align:start}
  #jb_body.home-page-v2 .v-cta-text{display:none}

  /* section-index: template 13px @≤980 (overrides custom_yacht_style 11px) */
  #jb_body.home-page-v2 #section-index .si-item,
  #jb_body.home-page-v2 .section-index .si-item{
    font-family:'Mesmerize',sans-serif;
    font-weight:300;
    font-size:13px;
    letter-spacing:0.1em;
  }
}

/* VIDEOS — Owners in their own words, scroll-driven width expansion.
   --wide: 0..1 set by JS each frame. 0 = constrained (1440px + 40px pad),
   1 = full viewport (100vw + 0 pad). Smoothstep eased for soft feel. */
#jb_body.home-page-v2 .videos{--wide:0;margin:0 auto;background:var(--paper);
  max-width:calc(1440px + (100vw - 1440px) * var(--wide));
  padding:var(--section-pad) calc(40px * (1 - var(--wide))) 0}
#jb_body.home-page-v2 .videos .head{text-align:center;max-width:880px;margin:0 auto 56px}
#jb_body.home-page-v2 .videos .head h2{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:32px;line-height:48px;letter-spacing:0;
  color:var(--navy);text-transform:uppercase;margin:0 0 20px}
#jb_body.home-page-v2 .videos .head p{font-family:'Myriad Pro',sans-serif;font-weight:400;font-size:18px;line-height:28px;color:#2a2a36;text-wrap:balance;
  margin:0 auto;max-width:680px}
#jb_body.home-page-v2 .video-hero{position:relative;width:100%;aspect-ratio:16/9;background:#1a2a3a;border-radius:2px;overflow:hidden;cursor:pointer}
#jb_body.home-page-v2 .video-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1s}
#jb_body.home-page-v2 .video-hero:hover .bg{transform:scale(1.04)}
#jb_body.home-page-v2 .video-hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,0.6) 100%)}
#jb_body.home-page-v2 .video-hero .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:96px;height:96px;
  border-radius:50%;background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);
  border:0.5px solid rgba(255,255,255,0.6);display:flex;align-items:center;justify-content:center;color:#fff;
  font-size:30px;z-index:3;transition:.3s}
#jb_body.home-page-v2 .video-hero:hover .play{background:rgba(255,255,255,0.28);transform:translate(-50%,-50%) scale(1.08)}
#jb_body.home-page-v2 .video-hero .meta{position:absolute;left:36px;bottom:32px;color:#fff;z-index:3}
#jb_body.home-page-v2 .video-hero .meta .who{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:18px;line-height:28px;letter-spacing:0;
  text-transform:uppercase;margin:0 0 4px}
#jb_body.home-page-v2 .video-hero .meta .vessel{font-family:'Myriad Pro',sans-serif;font-weight:400;font-style:normal;font-size:16px;
  line-height:20px;color:rgba(255,255,255,0.85)}
#jb_body.home-page-v2 .voices-sub{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:22px;line-height:32px;
  letter-spacing:0;text-transform:uppercase;color:var(--ink);margin:64px 0 20px}
#jb_body.home-page-v2 .video-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:0}
#jb_body.home-page-v2 .v-thumb{position:relative;aspect-ratio:16/9;background:#0a1620;border-radius:2px;overflow:hidden;cursor:pointer}
#jb_body.home-page-v2 .v-thumb .bg{position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform 1s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .v-thumb:hover .bg{transform:scale(1.06)}
#jb_body.home-page-v2 .v-thumb .veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,0.65) 100%);
  transition:background .5s ease}
#jb_body.home-page-v2 .v-thumb:hover .veil{background:linear-gradient(180deg,rgba(0,0,0,0.15) 0%,rgba(0,0,0,0.9) 100%)}
#jb_body.home-page-v2 .v-thumb .v-body{position:absolute;left:24px;right:24px;bottom:22px;color:#fff;z-index:2;
  transition:transform .55s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .v-thumb:hover .v-body{transform:translateY(-4px)}
#jb_body.home-page-v2 .v-thumb .v-body h4{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:18px;line-height:26px;
  letter-spacing:0;text-transform:uppercase;color:#fff;margin:0 0 8px}
#jb_body.home-page-v2 .v-thumb .v-body p{font-family:'Myriad Pro',sans-serif;font-weight:300;font-style:italic;
  font-size:16px;line-height:24px;color:rgba(255,255,255,0.95);margin:0;
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .55s cubic-bezier(0.22,1,0.36,1), opacity .35s ease .1s}
#jb_body.home-page-v2 .v-thumb:hover .v-body p{max-height:160px;opacity:1}

/* AFTERCARE BENTO */
#jb_body.home-page-v2 .aftercare{padding-top:var(--section-pad);background:var(--paper)}
#jb_body.home-page-v2 .aftercare .s-title{padding:0 24px 40px}
#jb_body.home-page-v2 .bento{display:grid;grid-template-columns:1fr 1fr;gap:0;width:100%;margin:0}
#jb_body.home-page-v2 .bento-cell{position:relative;overflow:hidden;background:#0a1620;color:#fff;height:530px;cursor:pointer}
#jb_body.home-page-v2 .bento-cell.span2{grid-column:span 2;height:700px}
/* bento-img is the parallax track (JS moves it via transform).
   bento-img-inner holds the actual photo and gets the hover scale —
   two layers so hover & parallax don't fight over the transform property. */
#jb_body.home-page-v2 .bento-img{position:absolute;inset:-28% 0;will-change:transform;overflow:hidden}
#jb_body.home-page-v2 .bento-img-inner{position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform 1s cubic-bezier(0.22,1,0.36,1);will-change:transform}
#jb_body.home-page-v2 .bento-cell:hover .bento-img-inner{transform:scale(1.14)}

/* Bento cards get a slower, cinematic reveal (large photos deserve breathing room) */
#jb_body.home-page-v2 .bento-cell.reveal{transform:translate3d(0,70px,0) scale(0.96);
  transition:opacity 1.3s cubic-bezier(0.22,1,0.36,1),
             transform 1.3s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .bento-cell.reveal.in{transform:translate3d(0,0,0) scale(1)}
#jb_body.home-page-v2 .bento-veil{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,0.7) 0%,rgba(0,0,0,0.18) 50%,rgba(0,0,0,0) 100%)}
#jb_body.home-page-v2 .bento-body{position:absolute;left:40px;right:40px;bottom:40px;z-index:5;
  transition:transform .55s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .bento-cell:hover .bento-body{transform:translateY(-8px)}
#jb_body.home-page-v2 .bento-body h3{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:24px;line-height:36px;color:#fff;
  letter-spacing:0;text-transform:uppercase;margin:0 0 12px}
#jb_body.home-page-v2 .bento-body p{font-family:'Myriad Pro',sans-serif;font-weight:400;font-size:16px;line-height:20px;
  color:rgba(255,255,255,0.85);margin:0 0 20px;max-width:480px}
#jb_body.home-page-v2 .bento-cta{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 24px;
  font-family:'Mesmerize',sans-serif;font-weight:300;font-size:16px;line-height:20px;letter-spacing:0;
  text-transform:uppercase;border:0.5px solid rgba(255,255,255,0.65);color:#fff;transition:.25s}
#jb_body.home-page-v2 .bento-cta:hover{background:rgba(255,255,255,0.14)}

/* VISIT */
#jb_body.home-page-v2 .visit{padding:var(--section-pad) 40px 0;max-width:1440px;margin:0 auto}
#jb_body.home-page-v2 .visit-head-row{display:flex;justify-content:space-between;align-items:flex-start;padding:0 0 40px;gap:24px}
#jb_body.home-page-v2 .visit-head-row h2{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:32px;line-height:48px;letter-spacing:0;
  color:var(--navy);text-transform:uppercase;margin:0}
#jb_body.home-page-v2 .visit-grid{display:grid;grid-template-columns:409px 1fr;gap:88px;align-items:stretch}
/* Visit list scrolls within map height — fixed section height */
#jb_body.home-page-v2 .visit-list{max-height:580px;overflow-y:auto;padding-right:16px;scrollbar-width:thin}
#jb_body.home-page-v2 .visit-list::-webkit-scrollbar{width:6px}
#jb_body.home-page-v2 .visit-list::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.15);border-radius:3px}
#jb_body.home-page-v2 .visit-list::-webkit-scrollbar-track{background:transparent}
#jb_body.home-page-v2 .visit-list h4{font-family:'Myriad Pro',sans-serif;font-weight:600;font-size:16px;line-height:24px;color:var(--ink);margin:0 0 12px}
#jb_body.home-page-v2 .visit-list h4:not(:first-child){margin-top:32px}
#jb_body.home-page-v2 .visit-item{padding:24px 0;border-bottom:0.5px solid var(--line);display:flex;justify-content:space-between;
  align-items:center;cursor:pointer;transition:padding-left .3s}
#jb_body.home-page-v2 .visit-item:hover{padding-left:8px}
#jb_body.home-page-v2 .visit-item-l h5{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:18px;line-height:28px;letter-spacing:0;
  text-transform:uppercase;color:var(--ink);margin:0 0 8px}
#jb_body.home-page-v2 .visit-item-l small{font-family:'Myriad Pro',sans-serif;font-weight:400;font-size:16px;line-height:24px;color:#2a2a36}
#jb_body.home-page-v2 .visit-item-r{color:rgba(0,0,0,0.4);transition:.25s;font-size:20px}
#jb_body.home-page-v2 .visit-item:hover .visit-item-r{color:var(--navy);transform:translateX(4px)}

#jb_body.home-page-v2 #leaflet-map{position:relative;height:580px;border-radius:2px;overflow:hidden;background:#e9eef2}
/* Maritime pill above Newport Harbor name — sand background, black text */
#jb_body.home-page-v2 .brow-maritime{display:inline-block;font-family:'Mesmerize',sans-serif;font-weight:300;
  font-size:13px;line-height:14px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--ink);background:var(--sand);padding:5px 10px 4px;border-radius:1px;
  margin-bottom:10px}
#jb_body.home-page-v2 .maritime-item h5{position:relative}

/* Small "by appointment" line under hours */
#jb_body.home-page-v2 .visit-appt{color:var(--mute);opacity:0.75}

/* LOCATION PREVIEW MODAL */
#jb_body.home-page-v2 .loc-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px}
#jb_body.home-page-v2 .loc-modal.open{display:flex}
#jb_body.home-page-v2 .loc-modal-veil{position:absolute;inset:0;background:rgba(10,22,32,0.55);backdrop-filter:blur(4px);cursor:pointer}
#jb_body.home-page-v2 .loc-modal-panel{position:relative;background:var(--paper);width:min(680px,100%);max-height:90vh;overflow:auto;
  border-radius:4px;box-shadow:0 30px 80px rgba(0,0,0,0.35);display:flex;flex-direction:column}
#jb_body.home-page-v2 .loc-modal-close{position:absolute;top:14px;right:14px;z-index:3;width:36px;height:36px;border-radius:2px;
  background:rgba(255,255,255,0.95);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--ink);font-size:18px;transition:.25s;box-shadow:0 2px 8px rgba(0,0,0,0.15)}
#jb_body.home-page-v2 .loc-modal-close:hover{background:#fff}
#jb_body.home-page-v2 .loc-modal-photo{width:100%;aspect-ratio:2/1;background-size:cover;background-position:center;background-color:#1a2a3a}
#jb_body.home-page-v2 .loc-modal-body{padding:22px 30px 26px}
#jb_body.home-page-v2 .loc-modal-body h3{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:28px;line-height:36px;letter-spacing:0;
  text-transform:uppercase;color:var(--ink);margin:0 0 6px}
#jb_body.home-page-v2 .loc-modal-subtitle{font-family:'Myriad Pro',sans-serif;font-weight:400;font-size:16px;line-height:22px;
  color:var(--ink);margin:0 0 18px;text-transform:none;opacity:0.85}
#jb_body.home-page-v2 .loc-modal-info{margin:0 0 16px;padding:12px 0;border-top:0.5px solid var(--line);border-bottom:0.5px solid var(--line)}
#jb_body.home-page-v2 .loc-modal-row{display:grid;grid-template-columns:100px 1fr;gap:32px;padding:6px 0;margin:0}
#jb_body.home-page-v2 .loc-modal-row dt{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:13px;line-height:20px;
  letter-spacing:0.08em;text-transform:uppercase;color:var(--mute);margin:0}
#jb_body.home-page-v2 .loc-modal-row dd{font-family:'Myriad Pro',sans-serif;font-weight:400;font-size:16px;line-height:24px;
  color:var(--ink);margin:0}
#jb_body.home-page-v2 .loc-modal-row dd a{color:var(--ink);text-decoration:none;transition:color .2s}
#jb_body.home-page-v2 .loc-modal-row dd a:hover{color:var(--navy)}
#jb_body.home-page-v2 .loc-modal-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
#jb_body.home-page-v2 .loc-modal-cta{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;background:var(--navy);color:#fff;text-decoration:none;
  font-family:'Mesmerize',sans-serif;font-weight:300;font-size:14px;letter-spacing:0.08em;text-transform:uppercase;
  border-radius:1px;transition:.25s}
#jb_body.home-page-v2 .loc-modal-cta i{font-size:16px;line-height:1}
#jb_body.home-page-v2 .loc-modal-cta:hover{background:#2c4a5c}
#jb_body.home-page-v2 .loc-modal-cta-secondary{display:inline-flex;align-items:center;padding:11px 20px;background:transparent;color:var(--ink);
  text-decoration:none;font-family:'Mesmerize',sans-serif;font-weight:300;font-size:14px;letter-spacing:0.08em;
  text-transform:uppercase;border:0.5px solid rgba(0,0,0,0.25);border-radius:1px;transition:.25s}
#jb_body.home-page-v2 .loc-modal-cta-secondary:hover{border-color:var(--ink);background:rgba(0,0,0,0.03)}
#jb_body.home-page-v2 .leaflet-popup-content-wrapper{border-radius:2px;padding:0;font-family:'Mesmerize',sans-serif !important}
#jb_body.home-page-v2 .leaflet-popup-content{margin:14px 16px;font-family:'Mesmerize',sans-serif;font-size:16px;line-height:20px;letter-spacing:0;
  text-transform:uppercase;color:var(--ink)}
#jb_body.home-page-v2 .leaflet-popup-content small{display:block;font-family:'Myriad Pro',sans-serif;font-size:14px;text-transform:none;
  color:var(--mute);margin-top:4px;letter-spacing:0}

/* GET EXPERT GUIDANCE */
#jb_body.home-page-v2 .expert{margin-top:var(--section-pad);background:var(--navy);color:#fff;padding:0 40px;text-align:center;height:315px;
  display:flex;flex-direction:column;align-items:center;justify-content:center}
#jb_body.home-page-v2 .expert h2{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:32px;line-height:48px;color:#fff;
  letter-spacing:0;text-transform:uppercase;margin:0 0 12px}
#jb_body.home-page-v2 .expert p{font-family:'Myriad Pro',sans-serif;font-weight:400;font-size:16px;line-height:24px;
  color:rgba(255,255,255,0.85);margin:0 0 28px;font-style:normal}
#jb_body.home-page-v2 .expert .btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 32px;background:transparent;
  color:#fff;font-family:'Mesmerize',sans-serif;font-weight:300;font-size:16px;line-height:20px;letter-spacing:0;
  text-transform:uppercase;border:0.5px solid #fff;cursor:pointer;transition:.25s}
#jb_body.home-page-v2 .expert .btn:hover{background:#fff;color:var(--navy)}

/* FOOTER */
#jb_body.home-page-v2 footer{background:var(--paper);padding:40px 40px 80px;color:var(--mute);font-size:16px;border-top:0.5px solid var(--line);position:relative}
#jb_body.home-page-v2 .foot-grid{display:grid;grid-template-columns:312px 1fr 1fr;gap:40px;align-items:flex-start;max-width:1440px;margin:0 auto}
#jb_body.home-page-v2 .foot-col{padding-top:112px}
#jb_body.home-page-v2 .foot-logo{width:80px;height:80px;border-radius:50%;overflow:hidden;margin-bottom:32px;background:#fff;
  display:flex;align-items:center;justify-content:center}
#jb_body.home-page-v2 .foot-logo img{width:100%;height:100%;display:block;object-fit:contain;filter:invert(1)}
#jb_body.home-page-v2 .foot-nav{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:16px;line-height:24px;letter-spacing:0;
  text-transform:uppercase;color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;max-width:320px}
#jb_body.home-page-v2 .foot-nav a{color:var(--ink);text-decoration:none;transition:.2s}
#jb_body.home-page-v2 .foot-nav a:hover{color:var(--navy)}
#jb_body.home-page-v2 .foot-nav .sep{color:var(--mute);opacity:0.4}
#jb_body.home-page-v2 .foot-col h6{font-family:'Myriad Pro',sans-serif;font-weight:400;font-size:16px;line-height:24px;letter-spacing:0;
  color:var(--mute);margin:0 0 10px;text-transform:none}
#jb_body.home-page-v2 .foot-col p{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:16px;line-height:20px;letter-spacing:0;
  color:var(--ink);margin:0 0 28px;text-transform:uppercase}
#jb_body.home-page-v2 .foot-col p:last-child{margin-bottom:0}
#jb_body.home-page-v2 .foot-social{display:flex;gap:16px;margin-top:0}
#jb_body.home-page-v2 .foot-social a{width:24px;height:24px;color:var(--ink);display:flex;align-items:center;justify-content:center;
  transition:opacity .2s}
#jb_body.home-page-v2 .foot-social a svg{width:24px;height:24px;display:block}
#jb_body.home-page-v2 .foot-social a:hover{opacity:0.6}
#jb_body.home-page-v2 .back-top{position:absolute;right:40px;top:152px;width:40px;height:40px;border:0;
  background:rgba(0,0,0,0.7);border-radius:2px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s}
#jb_body.home-page-v2 .back-top:hover{background:rgba(0,0,0,0.85)}
#jb_body.home-page-v2 .back-top svg{width:20px;height:20px;display:block;transform:rotate(-90deg)}

/* Shared site footer markup — template typography on Home V2 */
#jb_body.home-page-v2 .footer-block .footer-menu li a {
  font-family: 'Mesmerize', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0;
  text-transform: uppercase;
}
#jb_body.home-page-v2 .footer-block .footer-menu li span {
  font-family: 'Mesmerize', sans-serif;
  font-weight: 300;
}
#jb_body.home-page-v2 .footer-block h4 {
  font-family: 'Myriad Pro', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--mute);
}
#jb_body.home-page-v2 .footer-block .row-footer-block a,
#jb_body.home-page-v2 .footer-block p {
  font-family: 'Mesmerize', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--ink);
}

/* ====================================================================== */
/* REVEAL — snappy slide-up. Fires when element is well into viewport (IO -15%) */
/* ====================================================================== */
/* Vessel cards: no entrance animation — prevents any flicker on scroll-in */
#jb_body.home-page-v2 .vessel-card.reveal, #jb_body.home-page-v2 .vessel-card.reveal.in{
  opacity:1;transform:none;will-change:flex-basis,width;
  transition:flex-basis .55s cubic-bezier(.16,1,.3,1),
             width .55s cubic-bezier(.16,1,.3,1);
  transition-delay:0s
}
#jb_body.home-page-v2 .reveal{opacity:0;transform:translate3d(0,40px,0);will-change:opacity,transform;
  transition:opacity .6s cubic-bezier(0.22,1,0.36,1),
             transform .6s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .reveal.in{opacity:1;transform:translate3d(0,0,0)}
#jb_body.home-page-v2 .reveal.d1{transition-delay:.06s}#jb_body.home-page-v2 .reveal.d2{transition-delay:.12s}
#jb_body.home-page-v2 .reveal.d3{transition-delay:.18s}#jb_body.home-page-v2 .reveal.d4{transition-delay:.24s}

/* SPLIT-WORD reveal — major h2, words rise individually */
#jb_body.home-page-v2 .split-words{display:inline-block}
#jb_body.home-page-v2 .split-words .w{display:inline-block;opacity:0;transform:translate3d(0,28px,0);will-change:opacity,transform;
  transition:opacity .55s cubic-bezier(0.22,1,0.36,1),transform .55s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .split-words.in .w{opacity:1;transform:translate3d(0,0,0)}

/* Hero text fades out as user scrolls past hero (set by JS) */
#jb_body.home-page-v2 .hero-text{will-change:opacity,transform}

/* Hero text is ALWAYS visible — no JS dependency, no opacity:0 default.
   For very-large standalone files, JS may run late; user must see text immediately. */
#jb_body.home-page-v2 .hero h1{opacity:1}
#jb_body.home-page-v2 .hero .btn-hero{opacity:1}

/* PARALLAX wrappers — image moves slower than container */
#jb_body.home-page-v2 .parallax{overflow:hidden;position:relative}
#jb_body.home-page-v2 .parallax > .pfx{position:absolute;inset:-12% 0;will-change:transform;background-size:cover;background-position:center}

/* Magnetic CTAs — keep transform property reserved for JS to nudge */
#jb_body.home-page-v2 .magnetic{will-change:transform;transition:transform .35s cubic-bezier(0.22,1,0.36,1)}

/* Body pads under sticky header */
#jb_body.home-page-v2 body{padding-top:0}
#jb_body.home-page-v2 .hero{margin-top:0}

/* Honor reduced motion */
@media (prefers-reduced-motion: reduce){#jb_body.home-page-v2 .reveal, #jb_body.home-page-v2 .split-words .w, #jb_body.home-page-v2 .hero h1, #jb_body.home-page-v2 .hero .btn-hero{transition:none;opacity:1;transform:none}#jb_body.home-page-v2 .parallax > .pfx{transform:none !important}#jb_body.home-page-v2 .nav{transition:background .25s, color .25s}#jb_body.home-page-v2 .v-thumb .bg, #jb_body.home-page-v2 .v-thumb .veil, #jb_body.home-page-v2 .v-thumb .v-body, #jb_body.home-page-v2 .v-thumb .v-body p, #jb_body.home-page-v2 .event-card, #jb_body.home-page-v2 .event-card .img, #jb_body.home-page-v2 .event-card .event-video, #jb_body.home-page-v2 .vessels-strip, #jb_body.home-page-v2 .vessel-card, #jb_body.home-page-v2 .v-cta, #jb_body.home-page-v2 .builders .bg, #jb_body.home-page-v2 .builders .bg-video, #jb_body.home-page-v2 .brand-fade, #jb_body.home-page-v2 .featured-event, #jb_body.home-page-v2 .owners-hero, #jb_body.home-page-v2 .foot-social a{transition:none !important;animation:none !important}#jb_body.home-page-v2 .b-tab{transition:color .25s !important;opacity:1 !important;transform:none !important}
}

/* Focus-visible for keyboard navigation (WCAG 2.1 AA) */
#jb_body.home-page-v2 a:focus-visible, #jb_body.home-page-v2 button:focus-visible, #jb_body.home-page-v2 [role="button"]:focus-visible, #jb_body.home-page-v2 input:focus-visible{
  outline:2px solid var(--navy);outline-offset:2px;border-radius:2px}
#jb_body.home-page-v2 .hero .btn-hero:focus-visible, #jb_body.home-page-v2 .expert .btn:focus-visible, #jb_body.home-page-v2 .loc-modal-cta:focus-visible, #jb_body.home-page-v2 .builders .a:focus-visible{outline-color:var(--sand)}
#jb_body.home-page-v2 .nav .icon:focus-visible, #jb_body.home-page-v2 .builders-arr:focus-visible, #jb_body.home-page-v2 .cards-scroll-arr:focus-visible, #jb_body.home-page-v2 .loc-modal-close:focus-visible, #jb_body.home-page-v2 .back-top:focus-visible{outline-offset:3px}

@media (max-width:1100px){:root{--section-pad: 80px}#jb_body.home-page-v2 .nav{grid-template-columns:auto auto auto}#jb_body.home-page-v2 .hero h1{font-size:28px;line-height:40px}#jb_body.home-page-v2 .hero-text{left:24px;right:24px;bottom:64px}#jb_body.home-page-v2 .events-zone .s-title, #jb_body.home-page-v2 .aftercare .s-title, #jb_body.home-page-v2 .portfolio .s-title{font-size:24px;line-height:36px}#jb_body.home-page-v2 .builders .mark .word{font-size:60px}#jb_body.home-page-v2 .builders .mark img{height:90px}#jb_body.home-page-v2 .builders-inner{padding:64px 24px 48px;min-height:600px;gap:24px}#jb_body.home-page-v2 .vessels-strip{padding:0 24px}#jb_body.home-page-v2 .vessels-head-row{padding:0 24px 24px;flex-direction:column;align-items:flex-start;gap:16px}#jb_body.home-page-v2 .video-thumbs{gap:12px}#jb_body.home-page-v2 .video-hero .play{width:64px;height:64px;font-size:20px}#jb_body.home-page-v2 .bento{grid-template-columns:1fr}#jb_body.home-page-v2 .bento-cell, #jb_body.home-page-v2 .bento-cell.span2{grid-column:auto;height:420px}#jb_body.home-page-v2 .visit-grid{grid-template-columns:1fr;gap:40px}#jb_body.home-page-v2 #leaflet-map{height:380px}#jb_body.home-page-v2 .foot-grid{grid-template-columns:1fr}#jb_body.home-page-v2 .foot-col{padding-top:0}#jb_body.home-page-v2 .what-we-do{padding-left:24px;padding-right:24px}#jb_body.home-page-v2 .craft-visual{height:340px}#jb_body.home-page-v2 .pillars{grid-template-columns:1fr;gap:40px}#jb_body.home-page-v2 .events-grid{grid-template-columns:1fr}#jb_body.home-page-v2 .featured-event{height:60vh}#jb_body.home-page-v2 .events-grid-wrap, #jb_body.home-page-v2 .videos, #jb_body.home-page-v2 .visit{padding-left:24px;padding-right:24px}#jb_body.home-page-v2 .intro{padding-left:24px;padding-right:24px}#jb_body.home-page-v2 .intro h2{font-size:22px;line-height:32px}#jb_body.home-page-v2 .expert{padding:64px 24px;height:auto}#jb_body.home-page-v2 .expert h2{font-size:24px;line-height:36px}#jb_body.home-page-v2 .hero-arr{width:36px;height:36px}#jb_body.home-page-v2 .hero-arr.l{left:16px}#jb_body.home-page-v2 .hero-arr.r{right:16px}#jb_body.home-page-v2 .builders-arr.l{left:16px}#jb_body.home-page-v2 .builders-arr.r{right:16px}#jb_body.home-page-v2 .builders-arr{width:36px;height:36px}
}


/* SECTION REGION FILTER — underline pills (Events + Locations) */
#jb_body.home-page-v2 .sec-filter{display:flex;gap:28px;align-items:center;max-width:1440px;margin:20px auto 6px;padding:0 40px}
#jb_body.home-page-v2 .sec-filter button{font-family:'Mesmerize',sans-serif;font-weight:300;font-size:14px;letter-spacing:0.04em;
  text-transform:uppercase;color:var(--mute);background:transparent;border:0;padding:6px 2px 10px;cursor:pointer;
  position:relative;transition:color .2s}
#jb_body.home-page-v2 .sec-filter button::after{content:"";position:absolute;left:2px;right:2px;bottom:0;height:1px;background:var(--navy);
  transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(0.22,1,0.36,1)}
#jb_body.home-page-v2 .sec-filter button.on{color:var(--ink)}
#jb_body.home-page-v2 .sec-filter button.on::after{transform:scaleX(1)}
#jb_body.home-page-v2 .sec-filter-visit{max-width:none;padding:0;margin:0 0 28px}
#jb_body.home-page-v2 .region-hide{display:none !important}

/* Header v2 mapped to approved sticky nav (homepage only) */
#jb_body.home-page-v2 header.header-v2 {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  color: #fff;
  background: transparent !important;
  pointer-events: none;
  box-shadow: none;
}
#jb_body.home-page-v2 header.header-v2::before { content: none !important; }
#jb_body.home-page-v2 header.header-v2 .header-v2__bar {
  pointer-events: auto;
  position: relative;
  z-index: 5;
  min-height: 0 !important;
  padding: 24px 40px !important;
  background: transparent !important;
  transition: padding .35s ease, background .45s ease;
}
#jb_body.home-page-v2 header.header-v2.header-v2--sticky,
#jb_body.home-page-v2 header.header-v2.scrolled {
  background: transparent !important;
}
#jb_body.home-page-v2 header.header-v2.header-v2--sticky .header-v2__bar,
#jb_body.home-page-v2 header.header-v2.scrolled .header-v2__bar {
  padding: 16px 40px !important;
  background: #41647b !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 0.5px solid rgba(255,255,255,0.15);
}
#jb_body.home-page-v2 header.header-v2 .header-v2__logo {
  width: 72px !important;
  height: 72px !important;
  transition: width .35s, height .35s;
}
#jb_body.home-page-v2 header.header-v2.header-v2--sticky .header-v2__logo,
#jb_body.home-page-v2 header.header-v2.scrolled .header-v2__logo {
  width: 60px !important;
  height: 60px !important;
}
#jb_body.home-page-v2 header.header-v2 .header-v2__logo-image {
  filter: none;
}
#jb_body.home-page-v2 header.header-v2 .header-v2-drilldown {
  z-index: 1;
}
#jb_body.home-page-v2 header.header-v2 .header-v2-drilldown__panel {
  top: 0;
  padding-top: var(--home-sticky-header-height, 120px);
  background: rgba(0, 0, 0, 0.88);
}
#jb_body.home-page-v2.header-v2-menu-open #section-index.section-index {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden;
}
#jb_body.home-page-v2 header.header-v2.header-v2--menu-open,
#jb_body.home-page-v2 header.header-v2.header-v2--menu-open.header-v2--sticky,
#jb_body.home-page-v2 header.header-v2.header-v2--menu-open.scrolled {
  z-index: 4000;
  background: transparent !important;
}
#jb_body.home-page-v2 header.header-v2.header-v2--menu-open .header-v2__bar,
#jb_body.home-page-v2 header.header-v2.header-v2--menu-open.header-v2--sticky .header-v2__bar,
#jb_body.home-page-v2 header.header-v2.header-v2--menu-open.scrolled .header-v2__bar {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 0;
}
#jb_body.home-page-v2 header.header-v2 .header-v2__menu-toggle {
  width: 24px !important;
  height: 24px !important;
}
#jb_body.home-page-v2 header.header-v2 .header-v2__menu-icon--open {
  width: 24px !important;
  height: 24px !important;
  gap: 0 !important;
  justify-content: space-between !important;
}
#jb_body.home-page-v2 header.header-v2 .header-v2__menu-icon--open span {
  height: 1px !important;
}
#jb_body.home-page-v2 header.header-v2 .header-v2__search {
  width: 40px;
  height: 40px;
  border: 0.5px solid rgba(255,255,255,0.7);
  color: #fff;
  background: transparent;
}
#jb_body.home-page-v2 header.header-v2 .header-v2__search:hover {
  background: rgba(255,255,255,0.14);
}
#jb_body.home-page-v2 header.header-v2 .btn-contact-us,
#jb_body.home-page-v2 header.header-v2 .header-home__contact {
  height: 40px;
  padding: 0 24px;
  border: 0.5px solid rgba(255,255,255,0.75) !important;
  font-family: 'Mesmerize', sans-serif;
  font-size: 16px !important;
  line-height: 20px !important;
  font-weight: 300;
  letter-spacing: 0;
  text-transform: uppercase;
  background: transparent !important;
}
#jb_body.home-page-v2 .header-v2-drilldown__link {
  font-family: 'Mesmerize', sans-serif;
  font-weight: 300;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
#jb_body.home-page-v2 .header-v2-drilldown__featured-title {
  font-family: 'Mesmerize', sans-serif;
  font-weight: 300;
  letter-spacing: 0;
  text-transform: uppercase;
}
#jb_body.home-page-v2 .header-v2-drilldown__featured-text {
  font-family: 'Myriad Pro', sans-serif;
  font-weight: 400;
}
#jb_body.home-page-v2 .header-v2-drilldown__featured-cta {
  font-family: 'Mesmerize', sans-serif;
  font-weight: 300;
  text-transform: uppercase;
}
#jb_body.home-page-v2 header.header-v2 .btn-contact-us:hover,
#jb_body.home-page-v2 header.header-v2 .header-home__contact:hover {
  background: rgba(255,255,255,0.14) !important;
}

#jb_body.home-page-v2 #section-index.section-index {
  top: var(--home-sticky-header-height, 88px) !important;
  z-index: 95;
  background: rgba(252,252,253,0.85);
}
#jb_body.home-page-v2 .hero-dot.active::after {
  animation: hero-fill 30000ms linear forwards;
}

#jb_body.home-page-v2 .intro {
  padding: var(--section-pad) 40px 0 !important;
  max-width: 1080px;
  margin: 0 auto;
  background: transparent;
}

#jb_body.home-page-v2 .hero-arr:hover {
  background: rgba(255,255,255,0.12);
  transform: translateY(-50%) scale(1.08);
}

#jb_body.home-page-v2 .video-hero .owners-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 4;
  opacity: 0;
  pointer-events: none;
}
#jb_body.home-page-v2 .video-hero.is-playing .owners-video {
  opacity: 1;
  pointer-events: auto;
}
#jb_body.home-page-v2 .video-hero.is-playing .play,
#jb_body.home-page-v2 .video-hero.is-playing .veil,
#jb_body.home-page-v2 .video-hero.is-playing .meta {
  opacity: 0;
  pointer-events: none;
}

#jb_body.home-page-v2 .footer-block img {
  width: 72px !important;
  height: 72px !important;
  max-width: 72px !important;
  object-fit: contain;
}

@media (max-width: 980px) {
  html, body {
    overflow-x: hidden;
  }
  #jb_body.home-page-v2 header.header-v2 .header-v2__bar {
    padding: 16px 24px !important;
  }
  #jb_body.home-page-v2 header.header-v2.header-v2--sticky .header-v2__bar,
  #jb_body.home-page-v2 header.header-v2.scrolled .header-v2__bar {
    padding: 12px 24px !important;
  }
  #jb_body.home-page-v2 header.header-v2 .header-v2__logo {
    width: 56px !important;
    height: 56px !important;
  }
  #jb_body.home-page-v2 header.header-v2.header-v2--sticky .header-v2__logo {
    width: 50px !important;
    height: 50px !important;
  }
}

/* Hide header Contact CTA on small phones (hamburger + section CTAs cover it) */
@media (max-width: 600px) {
  #jb_body.home-page-v2 header.header-v2 .btn-contact-us,
  #jb_body.home-page-v2 header.header-v2 .header-home__contact {
    display: none !important;
  }
  #jb_body.home-page-v2 .builders .mark img {
    max-width: 100%;
    height: auto;
  }
}

/*
 * MOBILE POLISH — neweditsandmobile/JBY-Home-Page
 * Desktop rules above are unchanged; this block only applies ≤640px.
 */
@media (max-width: 640px) {
  #jb_body.home-page-v2 {
    --section-pad: 64px;
  }

  /* Hero: drop 620px floor so CTA stays above mobile toolbar */
  #jb_body.home-page-v2 .hero {
    min-height: 0;
    height: 100svh;
  }
  #jb_body.home-page-v2 .hero .btn-hero {
    width: 100%;
    justify-content: center;
  }

  /* Intro / expert CTAs full-width stacked */
  #jb_body.home-page-v2 .intro-cta {
    flex-direction: column;
    width: 100%;
    gap: 12px;
  }
  #jb_body.home-page-v2 .intro-cta .btn-solid,
  #jb_body.home-page-v2 .intro-cta .btn-outline {
    width: 100%;
    justify-content: center;
  }
  #jb_body.home-page-v2 .expert .btn {
    width: 100%;
    justify-content: center;
  }

  /* Section-index flush under header */
  #jb_body.home-page-v2 #section-index.section-index {
    top: 70px !important;
  }

  /* Featured event — no empty vh gap / no scroll-zoom on phones */
  #jb_body.home-page-v2 .featured-event-stage {
    min-height: 0;
  }
  #jb_body.home-page-v2 .featured-event {
    height: 54vh;
    transform: none !important;
  }

  /* Brand tabs: single horizontal-scroll row */
  #jb_body.home-page-v2 .builders-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    gap: 22px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-top: auto;
  }
  #jb_body.home-page-v2 .builders-tabs::-webkit-scrollbar {
    display: none;
  }
  #jb_body.home-page-v2 .builders-tabs .b-tab,
  #jb_body.home-page-v2 button.b-tab {
    white-space: nowrap;
    font-family: 'Mesmerize', sans-serif !important;
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 0;
    text-transform: uppercase;
    padding: 8px 0;
  }

  /* Smaller section headings */
  #jb_body.home-page-v2 .s-title,
  #jb_body.home-page-v2 .s-title-row h2,
  #jb_body.home-page-v2 .vessels-head-row h2,
  #jb_body.home-page-v2 .videos .head h2,
  #jb_body.home-page-v2 .visit-head-row h2,
  #jb_body.home-page-v2 .what-we-do .head h2,
  #jb_body.home-page-v2 .intro h2,
  #jb_body.home-page-v2 .expert h2 {
    font-size: 22px;
    line-height: 32px;
  }

  /* Short labels on mobile */
  #jb_body.home-page-v2 .ttl-desktop {
    display: none;
  }
  #jb_body.home-page-v2 .ttl-mobile {
    display: inline;
  }

  /* Consistent vertical spacing */
  #jb_body.home-page-v2 .what-we-do .head,
  #jb_body.home-page-v2 .videos .head {
    margin-bottom: 32px;
  }
  #jb_body.home-page-v2 .pillars {
    gap: 32px;
  }
  #jb_body.home-page-v2 .s-title,
  #jb_body.home-page-v2 .events-zone .s-title,
  #jb_body.home-page-v2 .portfolio .s-title,
  #jb_body.home-page-v2 .aftercare .s-title {
    padding-bottom: 28px;
  }
  #jb_body.home-page-v2 .visit-head-row,
  #jb_body.home-page-v2 .vessels-head-row {
    padding-bottom: 24px;
  }

  /* Bento: hide "Explore " prefix so CTA fits one line */
  #jb_body.home-page-v2 .expl {
    display: none;
  }
  #jb_body.home-page-v2 .bento-cta {
    white-space: nowrap;
    width: 100%;
    justify-content: center;
  }
  #jb_body.home-page-v2 .bento-body {
    left: 24px;
    right: 24px;
    top: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    text-align: center;
    padding-bottom: 36px;
  }
  #jb_body.home-page-v2 .bento-body h3 {
    font-size: 18px;
    line-height: 26px;
    white-space: nowrap;
  }

  /* Locations head: title + button on one row */
  #jb_body.home-page-v2 .visit-head-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
  }

  /* Client stories: horizontal rail, captions below cards */
  #jb_body.home-page-v2 .voices-sub {
    display: none;
  }
  #jb_body.home-page-v2 .video-stage {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 12px;
    margin-top: 24px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  #jb_body.home-page-v2 .video-stage::-webkit-scrollbar {
    display: none;
  }
  #jb_body.home-page-v2 .video-thumbs {
    display: contents;
  }
  #jb_body.home-page-v2 .video-hero,
  #jb_body.home-page-v2 .v-thumb {
    flex: 0 0 86%;
    scroll-snap-align: start;
    aspect-ratio: auto;
    background: transparent;
    overflow: visible;
    display: flex;
    flex-direction: column;
  }
  #jb_body.home-page-v2 .video-hero .bg,
  #jb_body.home-page-v2 .v-thumb .bg {
    position: relative;
    inset: auto;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 2px;
    flex: 0 0 auto;
  }
  #jb_body.home-page-v2 .video-hero .veil,
  #jb_body.home-page-v2 .v-thumb .veil,
  #jb_body.home-page-v2 .video-hero .play {
    display: none;
  }
  #jb_body.home-page-v2 .video-hero .meta,
  #jb_body.home-page-v2 .v-thumb .v-body {
    position: static;
    transform: none;
    inset: auto;
    padding: 10px 0 0;
    text-align: left;
  }
  #jb_body.home-page-v2 .video-hero .meta .who,
  #jb_body.home-page-v2 .v-thumb .v-body h4 {
    color: var(--ink);
  }
  #jb_body.home-page-v2 .video-hero .meta .vessel,
  #jb_body.home-page-v2 .v-thumb .v-body p {
    color: var(--mute);
  }
  #jb_body.home-page-v2 .v-thumb .v-body h4 {
    font-size: 17px;
    line-height: 24px;
  }
  #jb_body.home-page-v2 .cards-scroll-arr.vid {
    top: 100px;
  }

  #jb_body.home-page-v2 .event-card .body h4 {
    font-size: 16px;
    line-height: 22px;
    min-height: 0;
  }
  #jb_body.home-page-v2 .loc-modal-body h3 {
    font-size: 24px;
    line-height: 30px;
  }
  #jb_body.home-page-v2 .loc-modal-body {
    padding: 20px 24px 24px;
  }

  /* Title + link on one row */
  #jb_body.home-page-v2 .vessels-head-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-left: 24px;
    padding-right: 24px;
  }
  #jb_body.home-page-v2 .s-title-row {
    flex-wrap: nowrap;
    align-items: center;
    gap: 14px;
  }
  #jb_body.home-page-v2 .s-title-row h2 {
    white-space: nowrap;
  }

  /* 24px gutters */
  #jb_body.home-page-v2 .events-grid-wrap .s-title-row {
    padding: 0;
  }
  #jb_body.home-page-v2 .events-strip-wrap {
    padding: 8px 0;
  }
  #jb_body.home-page-v2 .events-strip {
    padding: 0;
  }
  #jb_body.home-page-v2 .event-card {
    flex: 0 0 82%;
  }
  #jb_body.home-page-v2 .sec-filter,
  #jb_body.home-page-v2 .sec-filter-visit {
    padding: 0;
    overflow-x: auto;
    flex-wrap: nowrap;
    gap: 20px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  #jb_body.home-page-v2 .sec-filter::-webkit-scrollbar,
  #jb_body.home-page-v2 .sec-filter-visit::-webkit-scrollbar {
    display: none;
  }
  #jb_body.home-page-v2 .sec-filter button,
  #jb_body.home-page-v2 .sec-filter-visit button {
    flex: 0 0 auto;
    white-space: nowrap;
    font-family: 'Mesmerize', sans-serif !important;
    font-weight: 300;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 6px 2px 10px;
    color: var(--mute);
    background: transparent;
    border: 0;
  }
  #jb_body.home-page-v2 .vessels-strip {
    padding: 0 !important;
  }
  #jb_body.home-page-v2 .vessels-strip-wrap {
    padding: 0 24px;
    overflow-x: hidden;
  }

  /* Brands compact: logo + 2 buttons */
  #jb_body.home-page-v2 .builders .caption {
    display: none;
  }
  #jb_body.home-page-v2 .builders-inner {
    min-height: 560px;
    justify-content: flex-start;
    gap: 14px;
    padding: 28px 24px 32px;
  }
  #jb_body.home-page-v2 .builders-top {
    gap: 12px;
  }
  #jb_body.home-page-v2 .builders .mark {
    min-height: auto;
  }
  #jb_body.home-page-v2 .builders .mark img {
    height: 84px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }
  #jb_body.home-page-v2 .builders .mark .word {
    font-size: 44px;
  }
  #jb_body.home-page-v2 .builders .actions {
    flex-wrap: nowrap;
    justify-content: center;
    gap: 10px;
  }
  #jb_body.home-page-v2 .builders .a {
    padding: 0 16px;
    white-space: nowrap;
    font-size: 14px;
    height: 44px;
  }

  /* Scroll chevrons: hide when at start/end (toggled via .is-hidden in JS) */
  #jb_body.home-page-v2 .cards-scroll-arr.is-hidden {
    opacity: 0;
    pointer-events: none;
  }

  /*
   * Mobile chrome lock — hero arrows, progress dots, carousel chevrons
   * Must beat the global button reset / Tailwind; match JBY-Home.html.
   */
  #jb_body.home-page-v2 button.hero-arr {
    width: 36px !important;
    height: 36px !important;
    border: 0.5px solid rgba(255, 255, 255, 0.55) !important;
    background: transparent !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 16px;
  }
  #jb_body.home-page-v2 button.hero-arr.l { left: 16px !important; }
  #jb_body.home-page-v2 button.hero-arr.r { right: 16px !important; }

  #jb_body.home-page-v2 button.hero-dot {
    position: relative !important;
    width: 40px !important;
    height: 2px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.35) !important;
    overflow: hidden !important;
    cursor: pointer;
  }
  #jb_body.home-page-v2 button.hero-dot::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    height: 100% !important;
    width: 0;
    background: #fff !important;
  }
  #jb_body.home-page-v2 button.hero-dot.active::after {
    animation: hero-fill 30000ms linear forwards !important;
  }

  #jb_body.home-page-v2 button.builders-arr {
    width: 36px !important;
    height: 36px !important;
    border: 0.5px solid rgba(255, 255, 255, 0.55) !important;
    background: transparent !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
  #jb_body.home-page-v2 button.builders-arr.l { left: 16px !important; }
  #jb_body.home-page-v2 button.builders-arr.r { right: 16px !important; }

  #jb_body.home-page-v2 button.cards-scroll-arr {
    width: 44px !important;
    height: 44px !important;
    border-radius: 4px !important;
    background: rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: rgba(255, 255, 255, 0.95) !important;
    border: 0.5px solid rgba(255, 255, 255, 0.25) !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 20px;
  }
  #jb_body.home-page-v2 button.cards-scroll-arr:hover {
    background: rgba(0, 0, 0, 0.7) !important;
  }
}
