/*!
 * Fourpixell Southberg Widgets — core stylesheet
 * Royal modern: ebony & umber, antique gold, ivory, with damask / art-deco / arabesque patterns.
 * Override any token in Site Settings > Custom CSS, e.g.  :root { --fpsb-gold: #b8935a; }
 */

/* ============ 1. TOKENS ============ */
:root{
  --fpsb-ebony:#14100c; --fpsb-umber:#2a221a; --fpsb-bronze:#5e4826;
  --fpsb-gold:#c4a15f; --fpsb-gold-light:#e4cf9c; --fpsb-gold-deep:#8d6b2f;
  --fpsb-cream:#fbf6e9; --fpsb-parchment:#f1e8d2; --fpsb-ink:#241c14;
  --fpsb-gold-grad:linear-gradient(135deg,#8d6b2f 0%,#d9c08a 36%,#b08d4c 62%,#ecdcae 100%);
  --fpsb-display:'Marcellus','Cormorant Garamond',Georgia,'Times New Roman',serif;
  --fpsb-body:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  /* Royal patterns (used as masks, so they take any colour) */
  --fpsb-pat-diamond:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M30 0 60 30 30 60 0 30Z'/%3E%3Cpath d='M30 13 47 30 30 47 13 30Z'/%3E%3C/g%3E%3Ccircle cx='30' cy='30' r='2.2'/%3E%3C/svg%3E");
  --fpsb-pat-deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M0 40a40 40 0 0 1 80 0M10 40a30 30 0 0 1 60 0M20 40a20 20 0 0 1 40 0M30 40a10 10 0 0 1 20 0'/%3E%3Cpath d='M-40 80a40 40 0 0 1 80 0M-30 80a30 30 0 0 1 60 0M-20 80a20 20 0 0 1 40 0M-10 80a10 10 0 0 1 20 0'/%3E%3Cpath d='M40 80a40 40 0 0 1 80 0M50 80a30 30 0 0 1 60 0M60 80a20 20 0 0 1 40 0M70 80a10 10 0 0 1 20 0'/%3E%3C/g%3E%3C/svg%3E");
  --fpsb-pat-ornament:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath id='p' d='M50 14C59 28 59 38 50 50C41 38 41 28 50 14Z'/%3E%3Cuse href='%23p' transform='rotate(90 50 50)'/%3E%3Cuse href='%23p' transform='rotate(180 50 50)'/%3E%3Cuse href='%23p' transform='rotate(270 50 50)'/%3E%3Cpath d='M50 30C53 38 53 42 50 50C47 42 47 38 50 30Z' transform='rotate(45 50 50)'/%3E%3Cpath d='M50 30C53 38 53 42 50 50C47 42 47 38 50 30Z' transform='rotate(135 50 50)'/%3E%3Cpath d='M50 30C53 38 53 42 50 50C47 42 47 38 50 30Z' transform='rotate(225 50 50)'/%3E%3Cpath d='M50 30C53 38 53 42 50 50C47 42 47 38 50 30Z' transform='rotate(315 50 50)'/%3E%3C/g%3E%3Ccircle cx='0' cy='0' r='3'/%3E%3Ccircle cx='100' cy='0' r='3'/%3E%3Ccircle cx='0' cy='100' r='3'/%3E%3Ccircle cx='100' cy='100' r='3'/%3E%3Cpath d='M50 3 55 8 50 13 45 8Z' transform='translate(0 0)'/%3E%3Cpath d='M50 87 55 92 50 97 45 92Z'/%3E%3C/svg%3E");
  --fpsb-pat-lattice:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Crect x='20' y='20' width='40' height='40'/%3E%3Crect x='20' y='20' width='40' height='40' transform='rotate(45 40 40)'/%3E%3Ccircle cx='40' cy='40' r='11'/%3E%3Cpath d='M0 0 20 20M80 0 60 20M0 80 20 60M80 80 60 60'/%3E%3C/g%3E%3Ccircle cx='40' cy='40' r='2.4'/%3E%3C/svg%3E");
}
.fpsb{
  --fg:var(--fpsb-ink); --fg-2:rgba(36,28,20,.76); --line:rgba(141,107,47,.3);
  --accent:var(--fpsb-gold-deep); --bg:var(--fpsb-cream); --surface:#fff;
  --btn-bg:#b8935a; --btn-bg-img:var(--fpsb-gold-grad); --btn-fg:var(--fpsb-ebony); --btn-hbg:var(--fpsb-ebony); --btn-hfg:var(--fpsb-gold-light); --btn-bd:rgba(141,107,47,.65);
  position:relative; box-sizing:border-box; color:var(--fg);
  font-family:var(--fpsb-body); font-size:1rem; line-height:1.75; font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
:where(.fpsb-tone-parchment) .fpsb{--bg:var(--fpsb-parchment)}
:where(.fpsb-tone-dark) .fpsb,:where(.fpsb-tone-ebony) .fpsb{
  --fg:var(--fpsb-cream); --fg-2:rgba(251,246,233,.8); --line:rgba(196,161,95,.3);
  --accent:var(--fpsb-gold); --bg:var(--fpsb-umber); --surface:rgba(255,255,255,.05);
  --btn-hbg:var(--fpsb-cream); --btn-hfg:var(--fpsb-ebony); --btn-bd:rgba(228,207,156,.6);
}
:where(.fpsb-tone-ebony) .fpsb{--bg:var(--fpsb-ebony)}
.fpsb *,.fpsb *::before,.fpsb *::after{box-sizing:border-box}
.fpsb :where(img,video){max-width:100%;display:block}
.fpsb p{margin:0}
.fpsb ul{list-style:none;margin:0;padding:0}
.fpsb a{text-decoration:none}
.fpsb a:hover,.fpsb a:focus{text-decoration:none}
.fpsb button{appearance:none;-webkit-appearance:none;background:none;border:0;border-radius:0;margin:0;padding:0;font:inherit;color:inherit;text-transform:none;letter-spacing:inherit;box-shadow:none;cursor:pointer}
.fpsb button:hover,.fpsb button:focus,.fpsb button:active{background-color:transparent;color:inherit;box-shadow:none;text-decoration:none}
.fpsb :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.fpsb__in{width:100%;max-width:1320px;margin-inline:auto;position:relative;z-index:1}
.fpsb-sr{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}
:where(.e-con)>:where(.elementor-widget[class*="elementor-widget-fpsb-"]){width:100%;max-width:100%}
html.fpsb-lock{overflow:hidden}

/* Full-section widgets carry their own background + vertical rhythm */
.fpsb-scrolly,.fpsb-features,.fpsb-lists,.fpsb-gallery,.fpsb-stats,.fpsb-panels,.fpsb-journey,.fpsb-footer,.fpsb-statement{
  background:var(--bg); padding:clamp(72px,10vw,160px) clamp(20px,5vw,72px);
}
.fpsb-statement{background:transparent}

/* ============ 2. TYPE ============ */
.fpsb .fpsb-eyebrow{
  display:inline-flex; align-items:center; gap:14px; margin:0 0 1.5rem;
  font-family:var(--fpsb-body); font-size:.9375rem; font-weight:500; line-height:1.3; letter-spacing:.03em; color:var(--accent);
}
.fpsb .fpsb-eyebrow::before{content:""; width:38px; height:1px; background-color:currentColor; flex:none}
.fpsb :is(.fpsb-heading__title,.fpsb-scrolly__title,.fpsb-hscroll__title,.fpsb-features__title,.fpsb-lists__title,.fpsb-gallery__title,.fpsb-panels__title,.fpsb-journey__title,.fpsb-cta__title){
  font-family:var(--fpsb-display); font-weight:400; font-style:normal; text-transform:none;
  font-size:clamp(2.1rem,4.6vw,4.3rem); line-height:1.08; letter-spacing:-.012em; color:var(--fg);
}
.fpsb-heading__title,.fpsb-scrolly__title,.fpsb-hscroll__title,.fpsb-features__title,.fpsb-lists__title,.fpsb-gallery__title,.fpsb-panels__title,.fpsb-journey__title,.fpsb-cta__title{margin:0 0 .45em}
.fpsb :is(.fpsb-features__intro,.fpsb-lists__intro,.fpsb-gallery__intro,.fpsb-panels__intro,.fpsb-journey__intro,.fpsb-scrolly__intro,.fpsb-hscroll__intro-text,.fpsb-heading__desc,.fpsb-heading__desc p,.fpsb-cta__text){
  font-family:var(--fpsb-body); font-size:clamp(1rem,1.2vw,1.1875rem); line-height:1.8; font-weight:300; color:var(--fg-2);
}
.fpsb-heading__desc p+p{margin-top:1.1em}
.fpsb .fpsb-heading__sub{font-family:var(--fpsb-display); font-weight:400; font-size:clamp(1.3rem,2vw,1.8rem); line-height:1.3; color:var(--fg); margin:0 0 1rem}
.fpsb .fpsb-heading__tagline{font-family:var(--fpsb-display); font-size:clamp(1.25rem,2vw,1.75rem); line-height:1.35; color:var(--accent); margin-top:1.6rem}
.fpsb-features__intro,.fpsb-lists__intro,.fpsb-gallery__intro,.fpsb-panels__intro,.fpsb-journey__intro,.fpsb-scrolly__intro{max-width:36em}
.fpsb-heading__desc{max-width:38em}

/* Ornaments */
.fpsb-orn{display:inline-flex;align-items:center;gap:14px;margin:.4rem 0 1.4rem}
.fpsb-orn i{display:block;width:64px;height:1px;background:var(--accent)}
.fpsb-orn b{display:block;width:8px;height:8px;background:var(--accent);transform:rotate(45deg)}
.fpsb-heading__orn{margin:.2rem 0 1.4rem}
.fpsb-heading__line{display:inline-block;width:72px;height:1px;background:var(--accent)}

/* ============ 3. MOTION SYSTEM ============ */
.fpsb{--e:var(--fpsb-ease,cubic-bezier(.16,1,.3,1))}
.fp-js [class*="fpsb-anim-"]:not(.fpsb-anim-none) .fpsb-a{
  opacity:0;
  transition:opacity var(--fpsb-dur,1200ms) var(--e),transform var(--fpsb-dur,1200ms) var(--e),clip-path var(--fpsb-dur,1200ms) var(--e);
  transition-delay:calc(var(--fpsb-delay,0ms) + var(--i,0) * var(--fpsb-stagger,120ms));
}
.fp-js .fpsb-anim-rise .fpsb-a{transform:translate3d(0,46px,0)}
.fp-js .fpsb-anim-zoom .fpsb-a{transform:scale(.93)}
.fp-js .fpsb-anim-mask .fpsb-a{clip-path:inset(0 0 100% 0);transform:translate3d(0,26px,0)}
.fp-js [class*="fpsb-anim-"] .fpsb.is-in .fpsb-a{opacity:1;transform:none;clip-path:inset(0 0 0 0)}

/* Split-text reveal (independent of the entrance setting) */
.fpsb-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.16em;margin-bottom:-.16em}
.fpsb-wi,.fpsb-ch{display:inline-block}
.fpsb-sl{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.fpsb-sli{display:block}
.fp-js .fpsb-split .fpsb-wi,.fp-js .fpsb-split .fpsb-ch,.fp-js .fpsb-split .fpsb-sli{
  transform:translate3d(0,112%,0);
  transition:transform 1.25s var(--e);
  transition-delay:calc(var(--fpsb-delay,0ms) + var(--i,0) * 55ms);
}
.fp-js .fpsb-split--chars .fpsb-ch{transition-delay:calc(var(--fpsb-delay,0ms) + var(--i,0) * 22ms)}
.fp-js .fpsb-split--lines .fpsb-sli{transition-delay:calc(var(--fpsb-delay,0ms) + var(--i,0) * 140ms)}
.fp-js .fpsb.is-in .fpsb-split .fpsb-wi,.fp-js .fpsb.is-in .fpsb-split .fpsb-ch,.fp-js .fpsb.is-in .fpsb-split .fpsb-sli{transform:none}
.fpsb-split--none{overflow:visible}

/* ============ 4. BUTTONS ============ */
.fpsb-btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.8rem; overflow:hidden; isolation:isolate;
  padding:1.1rem 2.25rem; font-family:var(--fpsb-body); font-size:.9375rem; font-weight:500; line-height:1; letter-spacing:.04em;
  color:var(--btn-fg); background-color:var(--btn-bg); background-image:var(--btn-bg-img,none); border:1px solid transparent; border-radius:0; cursor:pointer;
  transition:color .55s var(--e),border-color .55s var(--e),transform .5s var(--e);
}
.fpsb-btn__fill{position:absolute;inset:-1px;z-index:-1;background-color:var(--btn-hbg);transform:translate3d(0,101%,0);transition:transform .65s var(--e)}
.fpsb-btn__label,.fpsb-btn__icon{position:relative}
.fpsb-btn__icon{display:inline-flex;font-size:1em;line-height:1}
.fpsb-btn__icon svg{width:1em;height:1em;fill:currentColor}
.fpsb-btn:hover .fpsb-btn__fill,.fpsb-btn:focus-visible .fpsb-btn__fill{transform:none}
.fpsb-btn:hover,.fpsb-btn:focus-visible{color:var(--btn-hfg)}
.fpsb-btn--outline{background-color:transparent;background-image:none;color:var(--fg);border-color:var(--btn-bd)}
.fpsb-btn--outline .fpsb-btn__fill{background-color:var(--fg)}
.fpsb-btn--outline:hover,.fpsb-btn--outline:focus-visible{color:var(--bg);border-color:var(--fg)}
.fpsb-btn--text{background:none;background-image:none;padding:.4rem 0;color:var(--fg);overflow:visible}
.fpsb-btn--text .fpsb-btn__fill{inset:auto 0 0 0;height:1px;background-color:var(--accent);transform:scaleX(1);transform-origin:left;opacity:.5}
.fpsb-btn--text::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .7s var(--e)}
.fpsb-btn--text:hover,.fpsb-btn--text:focus-visible{color:var(--accent)}
.fpsb-btn--text:hover::after{transform:scaleX(1);transform-origin:left}
.fpsb-btn[data-magnetic]{will-change:transform}

/* ============ 5. HERO ============ */
.fpsb-hero{position:relative;display:flex;overflow:hidden;height:100vh;min-height:620px;background:var(--fpsb-ebony);color:var(--fg)}
.fpsb-hero__media{position:absolute;inset:0;overflow:hidden}
.fpsb-hero__layer{position:absolute;inset:-6% 0;will-change:transform}
.fpsb-hero__layer img,.fpsb-hero__layer video{width:100%;height:100%;object-fit:cover;display:block}
.fpsb-hero__slide{position:absolute;inset:0;opacity:0;transition:opacity var(--slide-fade,1600ms) ease}
.fpsb-hero__slide.is-active{opacity:1}
.fpsb-hero.has-kb .fpsb-hero__layer img{animation:fpsb-kb var(--kb-dur,18s) cubic-bezier(.2,.6,.2,1) both}
.fpsb-hero.has-kb .fpsb-hero__slide:not(.is-active) img{animation:none}
@keyframes fpsb-kb{from{transform:scale(1.16)}to{transform:scale(1)}}
.fpsb-hero__overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,16,12,.62) 0%,rgba(20,16,12,.12) 36%,rgba(20,16,12,.82) 100%)}
.fpsb-hero__overlay::after{content:"";position:absolute;inset:0;opacity:.0;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.65) 100%)}
.fpsb-hero__inner{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:100%;padding:clamp(130px,18vh,200px) clamp(20px,5vw,72px) clamp(150px,22vh,230px)}
.fpsb-hero__body{width:100%;max-width:880px;will-change:transform,opacity}
.fpsb .fpsb-hero__title{font-family:var(--fpsb-display);font-weight:400;font-size:clamp(3.1rem,9vw,9rem);line-height:.98;letter-spacing:-.018em;color:var(--fg);margin:0 0 .3em;text-transform:none}
.fpsb .fpsb-hero__sub{font-size:clamp(1.05rem,1.5vw,1.4rem);line-height:1.6;font-weight:300;color:var(--fg-2);max-width:34em;margin:0 0 2.4rem}
.fpsb-hero .fpsb-eyebrow{margin-bottom:1.8rem}
.fpsb-hero__actions{display:flex;flex-wrap:wrap;gap:16px}
.fpsb-hero__crumbs{display:flex;align-items:center;gap:12px;margin-bottom:1.6rem;font-size:.9375rem;color:var(--fg-2)}
.fpsb-hero__crumbs a{color:inherit;transition:color .3s}
.fpsb-hero__crumbs a:hover{color:var(--accent)}
.fpsb-hero__crumbs em{font-style:normal;opacity:.5}
.fpsb-hero__facts{position:absolute;z-index:3;left:clamp(20px,5vw,72px);right:clamp(20px,5vw,72px);bottom:clamp(18px,4vh,40px);display:flex;border-top:1px solid var(--line);padding-top:18px}
.fpsb-hero__facts li{flex:1;display:flex;flex-direction:column;padding:0 22px}
.fpsb-hero__facts li:first-child{padding-left:0}
.fpsb-hero__facts li+li{border-left:1px solid var(--line)}
.fpsb .fpsb-hero__facts strong{font-family:var(--fpsb-display);font-weight:400;font-size:clamp(1.15rem,1.8vw,1.7rem);line-height:1.2;color:var(--fg)}
.fpsb .fpsb-hero__facts span{font-size:.875rem;color:var(--fg-2);line-height:1.5}
.fpsb-hero__cue{position:absolute;z-index:3;right:clamp(20px,5vw,72px);bottom:calc(clamp(18px,4vh,40px) + 96px);display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--fg)}
.fpsb-hero__cue span{writing-mode:vertical-rl;font-size:.8125rem;letter-spacing:.1em;color:var(--fg-2)}
.fpsb-hero__cue i{width:1px;height:64px;background:var(--line);position:relative;overflow:hidden}
.fpsb-hero__cue i::after{content:"";position:absolute;left:0;top:0;width:100%;height:50%;background:var(--accent);animation:fpsb-cue 2.2s cubic-bezier(.65,0,.35,1) infinite}
@keyframes fpsb-cue{0%{transform:translateY(-100%)}100%{transform:translateY(220%)}}
@media (max-width:767px){
  .fpsb-hero__facts li:nth-child(n+3){display:none}
  .fpsb-hero__facts li{padding:0 12px}
  .fpsb-hero__cue{display:none}
  .fpsb-hero__inner{padding-bottom:140px}
}

/* ============ 6. STATEMENT ============ */
.fpsb .fpsb-statement__text{font-family:var(--fpsb-display);font-weight:400;font-size:clamp(1.8rem,4vw,3.7rem);line-height:1.22;letter-spacing:-.01em;color:var(--fg);max-width:24em}
.fpsb-statement__cite{margin-top:1.8rem;font-size:.9375rem;color:var(--fg-2)}
.fpsb-statement__btn{margin-top:2.2rem}
.fp-js .fpsb-statement[data-mode="scroll"] .fpsb-sw{opacity:.2;transition:opacity .5s ease,color .5s ease}
.fp-js .fpsb-statement[data-mode="scroll"] .fpsb-sw.is-lit{opacity:1}

/* ============ 7. PARALLAX MEDIA ============ */
.fpsb-media{margin:0}
.fpsb-media__wrap{position:relative}
.fpsb-media__frame{position:relative;z-index:1;display:block;overflow:hidden;aspect-ratio:4/5;background:var(--fpsb-bronze)}
.fpsb-media__pan{position:absolute;inset:0;display:block;overflow:hidden}
.fpsb-media__inner{position:absolute;left:0;right:0;top:-10%;height:120%;display:block;will-change:transform}
.fpsb-media__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.8s var(--e)}
.fpsb-media--hz .fpsb-media__frame:hover .fpsb-media__img{transform:scale(1.05)}
.fpsb-media__shade{position:absolute;inset:0;pointer-events:none}
.fpsb-media__outline{position:absolute;inset:0;border:1px solid var(--accent);transform:translate(var(--ox,18px),var(--oy,18px));pointer-events:none;z-index:0}
.fp-js .fpsb-media[data-reveal="curtain-up"] .fpsb-media__frame{clip-path:inset(100% 0 0 0)}
.fp-js .fpsb-media[data-reveal="curtain-left"] .fpsb-media__frame{clip-path:inset(0 100% 0 0)}
.fp-js .fpsb-media[data-reveal="iris"] .fpsb-media__frame{clip-path:inset(46% 46% 46% 46%)}
.fp-js .fpsb-media[data-reveal]:not([data-reveal="none"]) .fpsb-media__frame{transition:clip-path var(--rev-dur,1400ms) var(--e)}
.fp-js .fpsb-media[data-reveal]:not([data-reveal="none"]) .fpsb-media__pan{transform:scale(1.28);transition:transform calc(var(--rev-dur,1400ms) * 1.4) var(--e)}
.fp-js .fpsb-media.is-in .fpsb-media__frame{clip-path:inset(0 0 0 0)}
.fp-js .fpsb-media.is-in .fpsb-media__pan{transform:none}
.fpsb-media__second{position:absolute;z-index:3;overflow:hidden;width:42%;left:-12%;bottom:-10%;aspect-ratio:1/1;border:6px solid var(--bg);will-change:transform}
.fpsb-media__second img{width:100%;height:100%;object-fit:cover}
.fpsb-media__inner2{display:block;width:100%;height:100%}
.fpsb-media__badge{position:absolute;z-index:4;width:132px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--fpsb-ebony);color:var(--fpsb-gold);transform:translate(var(--bx,0px),var(--by,0px))}
.fpsb-media__badge svg{position:absolute;inset:0;width:100%;height:100%;will-change:transform}
.fpsb-media__badge text{fill:var(--fpsb-gold);font:500 9.2px var(--fpsb-body);letter-spacing:.08em}
.fpsb .fpsb-media__badge-c{font-family:var(--fpsb-display);font-size:2.2rem;line-height:1;color:var(--fpsb-gold)}
.fpsb-media__badge--tr{top:-44px;right:-30px}.fpsb-media__badge--tl{top:-44px;left:-30px}
.fpsb-media__badge--br{bottom:-44px;right:-30px}.fpsb-media__badge--bl{bottom:-44px;left:-30px}
.fpsb-media__cap--inside-bl,.fpsb-media__cap--inside-br{position:absolute;z-index:2;bottom:22px;max-width:70%;padding:.5rem .9rem;font-size:.875rem;line-height:1.4;color:#fff;background:rgba(20,16,12,.55);backdrop-filter:blur(6px)}
.fpsb-media__cap--inside-bl{left:22px}.fpsb-media__cap--inside-br{right:22px}
.fpsb-media__cap--below{display:block;margin-top:1rem;font-size:.875rem;color:var(--fg-2)}
@media (max-width:767px){.fpsb-media__second{left:-4%}.fpsb-media__badge{width:100px}.fpsb-media__badge--tr,.fpsb-media__badge--br{right:-8px}.fpsb-media__badge--tl,.fpsb-media__badge--bl{left:-8px}}

/* ============ 8. SCROLLYTELLING ============ */
.fpsb-scrolly__head{max-width:46rem;margin-bottom:clamp(40px,6vw,96px)}
.fpsb-scrolly__grid{--media-w:52%;display:flex;gap:90px;align-items:stretch}
.fpsb-scrolly__media{flex:0 0 var(--media-w);order:2;min-width:0;align-self:stretch}
.fpsb-scrolly--left .fpsb-scrolly__media{order:0}
.fpsb-scrolly__steps{flex:1;order:1;min-width:0}
.fpsb-scrolly--left .fpsb-scrolly__steps{order:1}
.fpsb-scrolly__sticky{position:sticky;top:90px}
.fpsb-scrolly__frame{position:relative;height:74vh;overflow:hidden;background:var(--fpsb-umber)}
.fpsb-scrolly__img{position:absolute;inset:0;opacity:0;transition:opacity var(--tr-dur,1100ms) ease}
.fpsb-scrolly__img img{width:100%;height:100%;object-fit:cover}
.fpsb-scrolly__img.is-active{opacity:1;z-index:1}
.fpsb-scrolly--t-zoom .fpsb-scrolly__img img{transform:scale(1.14);transition:transform calc(var(--tr-dur,1100ms) * 2.6) var(--e)}
.fpsb-scrolly--t-zoom .fpsb-scrolly__img.is-active img{transform:scale(1)}
.fpsb-scrolly--t-wipe .fpsb-scrolly__img{opacity:1;clip-path:inset(100% 0 0 0);transition:clip-path var(--tr-dur,1100ms) var(--e)}
.fpsb-scrolly--t-wipe .fpsb-scrolly__img.is-active{clip-path:inset(0 0 0 0)}
.fpsb-scrolly__shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(20,16,12,.7))}
.fpsb-scrolly__tag{position:absolute;z-index:3;left:28px;bottom:22px;height:clamp(2.4rem,4.4vw,3.8rem);width:calc(100% - 56px);overflow:hidden;pointer-events:none}
.fpsb .fpsb-scrolly__tag span{position:absolute;left:0;bottom:0;font-family:var(--fpsb-display);font-size:clamp(1.9rem,3.6vw,3.2rem);line-height:1.2;color:#fff;opacity:0;transform:translateY(100%);transition:transform 1s var(--e),opacity .6s ease}
.fpsb .fpsb-scrolly__tag span.is-active{opacity:1;transform:none}
.fpsb-scrolly__prog{position:absolute;top:8%;bottom:8%;left:-30px;width:9px;display:flex;flex-direction:column;justify-content:space-between;align-items:center}
.fpsb-scrolly--left .fpsb-scrolly__prog{left:auto;right:-30px}
.fpsb-scrolly__prog i{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line);transform:translateX(-50%)}
.fpsb-scrolly__prog i b{display:block;width:100%;height:100%;background:var(--accent);transform-origin:top;transform:scaleY(var(--p,0))}
.fpsb-scrolly__prog u{position:relative;width:7px;height:7px;border-radius:50%;background:var(--bg);border:1px solid var(--line);transition:background .5s,border-color .5s}
.fpsb-scrolly__prog u.is-on{background:var(--accent);border-color:var(--accent)}
.fpsb-scrolly__count{margin-top:16px;font-family:var(--fpsb-display);font-size:1.1rem;color:var(--fg-2)}
.fpsb-scrolly__count .cur{color:var(--accent)}
.fpsb-scrolly__step{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:70vh;padding:40px 0;transition:opacity .7s ease}
:where(.fp-js) .fpsb-scrolly__step{opacity:.28}
.fpsb-scrolly__step.is-active{opacity:1}
.fpsb-scrolly__inline-img{display:none}
.fpsb .fpsb-scrolly__label{display:inline-flex;align-items:center;gap:14px;margin:0 0 1.2rem;font-size:.9375rem;font-weight:500;letter-spacing:.03em;color:var(--accent)}
.fpsb .fpsb-scrolly__label::before{content:"";width:38px;height:1px;background:currentColor}
.fpsb .fpsb-scrolly__step-title{font-family:var(--fpsb-display);font-weight:400;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.15;letter-spacing:-.01em;color:var(--fg);margin:0 0 1.1rem}
.fpsb .fpsb-scrolly__text{font-size:clamp(1rem,1.2vw,1.1875rem);line-height:1.8;font-weight:300;color:var(--fg-2);max-width:30em;margin-bottom:0}
.fpsb-scrolly__btn{margin-top:1.8rem}
@media (max-width:900px){
  .fpsb-scrolly__grid{flex-direction:column;gap:0}
  .fpsb-scrolly__media,.fpsb-scrolly--left .fpsb-scrolly__media{order:0;flex:none;width:100%}
  .fpsb-scrolly__steps{order:1;width:100%}
  .fpsb-scrolly--m-sticky .fpsb-scrolly__media{position:sticky;top:0;z-index:5;background:var(--bg);padding:14px 0 18px}
  .fpsb-scrolly--m-sticky .fpsb-scrolly__sticky{position:relative;top:0}
  .fpsb-scrolly--m-sticky .fpsb-scrolly__frame{height:36vh}
  .fpsb-scrolly__prog{display:none}
  .fpsb-scrolly__step{min-height:56vh}
  .fpsb-scrolly--m-inline .fpsb-scrolly__media{display:none}
  .fpsb-scrolly--m-inline .fpsb-scrolly__inline-img{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;margin-bottom:1.6rem}
  .fpsb-scrolly--m-inline .fpsb-scrolly__inline-img img{width:100%;height:100%;object-fit:cover}
  .fpsb-scrolly--m-inline .fpsb-scrolly__step{min-height:auto;opacity:1;padding:36px 0}
}

/* ============ 9. HORIZONTAL SCROLL ============ */
.fpsb-hscroll{position:relative;padding:0;background:var(--bg)}
.fpsb-hscroll__pin{position:relative;padding:clamp(60px,9vw,110px) 0}
.fpsb-hscroll__track{display:flex;align-items:stretch;gap:36px;padding:0 clamp(20px,5vw,72px) 24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.fpsb-hscroll__track::-webkit-scrollbar{display:none}
.fpsb-hscroll__intro{flex:none;width:min(84vw,380px);scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center}
.fpsb-hscroll__card{position:relative;flex:none;display:block;overflow:hidden;width:min(78vw,420px);height:62vh;min-height:380px;color:#fff;scroll-snap-align:start;background:var(--fpsb-bronze)}
.fpsb-hscroll__media{position:absolute;inset:0;display:block;overflow:hidden}
.fpsb-hscroll__img{position:absolute;inset:0 -12%;display:block;will-change:transform}
.fpsb-hscroll__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--e)}
.fpsb-hscroll__card:hover .fpsb-hscroll__img img{transform:scale(1.05)}
.fpsb-hscroll__shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(20,16,12,0) 38%,rgba(20,16,12,.86) 100%)}
.fpsb-hscroll__body{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:.7rem;padding:30px}
.fpsb .fpsb-hscroll__label{font-size:.875rem;color:var(--fpsb-gold);font-weight:500}
.fpsb .fpsb-hscroll__card-title{font-family:var(--fpsb-display);font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1.15;color:#fff}
.fpsb .fpsb-hscroll__card-text{font-size:.9688rem;line-height:1.65;font-weight:300;color:rgba(251,246,233,.82)}
.fpsb .fpsb-hscroll__card-link{font-size:.9375rem;font-weight:500;color:var(--fpsb-gold)}
.fpsb-hscroll__outro{flex:none;width:min(84vw,340px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.6rem;scroll-snap-align:start}
.fpsb .fpsb-hscroll__outro-title{font-family:var(--fpsb-display);font-weight:400;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.18;color:var(--fg);margin:0}
.fpsb-hscroll__bar{display:none}
.fpsb-hscroll.is-pinned{padding:0}
.fpsb-hscroll.is-pinned .fpsb-hscroll__pin{position:sticky;top:0;height:100vh;padding:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.fpsb-hscroll.is-pinned .fpsb-hscroll__track{width:max-content;overflow:visible;scroll-snap-type:none;align-items:center;padding-bottom:0;will-change:transform}
.fpsb-hscroll.is-pinned .fpsb-hscroll__intro{width:420px}
.fpsb-hscroll.is-pinned .fpsb-hscroll__card{width:460px;height:66vh}
.fpsb-hscroll.is-pinned .fpsb-hscroll__outro{width:360px}
.fpsb-hscroll.is-pinned.is-stagger .fpsb-hscroll__card:nth-child(even){margin-top:9vh}
.fpsb-hscroll.is-pinned.is-stagger .fpsb-hscroll__card:nth-child(odd){margin-bottom:9vh}
.fpsb-hscroll.is-pinned .fpsb-hscroll__bar{display:block;position:absolute;left:clamp(20px,5vw,72px);bottom:38px;width:min(320px,40%);height:2px;background:var(--line)}
.fpsb-hscroll.is-pinned .fpsb-hscroll__bar i{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(var(--p,0))}

/* ============ 10. FEATURES ============ */
.fpsb-features__head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:clamp(40px,6vw,80px)}
.fpsb-features__head-text{max-width:44rem}
.fpsb-features__list-wrap{--preview-w:42%;display:flex;gap:clamp(30px,6vw,100px);align-items:flex-start}
.fpsb-features--prev-left .fpsb-features__list-wrap{flex-direction:row-reverse}
.fpsb-features__list{flex:1;min-width:0;border-top:1px solid var(--line)}
.fpsb-features__row{position:relative;border-bottom:1px solid var(--line)}
.fpsb-features__row::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--e)}
.fpsb-features__row.is-active::after{transform:scaleX(1)}
.fpsb-features__row-in{display:block;padding:clamp(22px,2.6vw,38px) 0;color:inherit;cursor:pointer}
.fpsb-features__item-head{display:flex;align-items:center;gap:18px}
.fpsb-features__icon{display:inline-flex;font-size:26px;color:var(--accent);line-height:1}
.fpsb-features__icon svg{width:1em;height:1em;fill:currentColor}
.fpsb .fpsb-features__item-title{display:block;font-family:var(--fpsb-display);font-weight:400;font-size:clamp(1.5rem,2.8vw,2.6rem);line-height:1.15;color:var(--fg);transition:color .5s ease,transform .7s var(--e)}
.fpsb-features__row.is-active .fpsb-features__item-title,.fpsb-features__row:hover .fpsb-features__item-title{transform:translateX(14px)}
.fpsb .fpsb-features__item-text{display:block;max-width:34em;font-size:1rem;line-height:1.75;font-weight:300;color:var(--fg-2);margin-bottom:0}
.fpsb-features--list .fpsb-features__item-text{max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .8s var(--e),opacity .6s ease,margin .6s var(--e)}
.fpsb-features--list .fpsb-features__row.is-active .fpsb-features__item-text,.fpsb-features--desc-always .fpsb-features__item-text{max-height:14em;opacity:1;margin-top:.9rem}
.fpsb-features__row-img{display:none}
.fpsb-features__preview{flex:0 0 var(--preview-w);position:sticky;top:110px}
.fpsb-features__preview-frame{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--fpsb-bronze)}
.fpsb-features__pimg{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.fpsb-features__pimg img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 2.4s var(--e)}
.fpsb-features__pimg.is-active{opacity:1;z-index:1}
.fpsb-features__pimg.is-active img{transform:scale(1)}
@media (max-width:900px){
  .fpsb-features__list-wrap,.fpsb-features--prev-left .fpsb-features__list-wrap{flex-direction:column}
  .fpsb-features__preview{display:none}
  .fpsb-features__row-img{display:block;max-height:0;overflow:hidden;transition:max-height .8s var(--e)}
  .fpsb-features__row-img img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-top:1.2rem}
  .fpsb-features__row.is-active .fpsb-features__row-img{max-height:420px}
}
.fpsb-features__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.fpsb-features__card{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;color:#fff;background:var(--fpsb-bronze)}
.fpsb-features__cimg{position:absolute;inset:0;display:block}
.fpsb-features__cimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--e)}
.fpsb-features__card:hover .fpsb-features__cimg img{transform:scale(1.06)}
.fpsb-features__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,16,12,0) 35%,rgba(20,16,12,.88))}
.fpsb-features__body{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:.8rem;padding:clamp(22px,3vw,40px)}
.fpsb-features__card .fpsb-features__item-title,.fpsb-features__card .fpsb-features__item-text{color:#fff}
.fpsb-features__card .fpsb-features__item-text{color:rgba(251,246,233,.85)}
.fpsb-features__card .fpsb-features__item-title{transform:none}
.fpsb-features--txt-hover .fpsb-features__card .fpsb-features__item-text{max-height:0;opacity:0;overflow:hidden;transition:max-height .8s var(--e),opacity .6s ease}
.fpsb-features--txt-hover .fpsb-features__card:hover .fpsb-features__item-text,.fpsb-features--txt-hover .fpsb-features__card:focus-visible .fpsb-features__item-text{max-height:12em;opacity:1}
@media (hover:none){.fpsb-features--txt-hover .fpsb-features__card .fpsb-features__item-text{max-height:none;opacity:1}}
@media (max-width:767px){.fpsb-features__grid{grid-template-columns:1fr}}

/* ============ 11. LISTS ============ */
.fpsb-lists__head{max-width:46rem;margin-bottom:clamp(36px,5vw,70px)}
.fpsb-lists__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.fpsb-lists__group{min-width:0}
.fpsb .fpsb-lists__group-title{display:flex;align-items:center;gap:14px;font-family:var(--fpsb-display);font-weight:400;font-size:clamp(1.35rem,1.8vw,1.7rem);line-height:1.2;color:var(--fg);margin:0 0 .6rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.fpsb-lists__gicon{display:inline-flex;font-size:24px;color:var(--accent)}
.fpsb-lists__gicon svg{width:1em;height:1em;fill:currentColor}
.fpsb-lists__item{display:flex;align-items:flex-start;gap:14px;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.55;color:var(--fg-2)}
.fpsb-lists__mark{flex:none;font-style:normal;font-size:14px;line-height:1;color:var(--accent);width:1em;display:inline-flex;justify-content:center}
.fpsb-lists__mark svg{width:1em;height:1em;fill:currentColor;margin-top:.15em}
.fpsb-lists--mark-diamond .fpsb-lists__mark::before{content:"";display:block;width:.55em;height:.55em;border:1px solid currentColor;transform:rotate(45deg);margin-top:.55em}
.fpsb-lists--mark-check .fpsb-lists__mark::before{content:"";display:block;width:.8em;height:.42em;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-top:.45em}
.fpsb-lists--mark-dash .fpsb-lists__mark::before{content:"";display:block;width:.9em;height:1px;background:currentColor;margin-top:.85em}
.fpsb-lists--mark-dot .fpsb-lists__mark::before{content:"";display:block;width:.4em;height:.4em;border-radius:50%;background:currentColor;margin-top:.62em}
.fpsb-lists--mark-icon .fpsb-lists__mark::before,.fpsb-lists--mark-none .fpsb-lists__mark::before{display:none}
.fpsb-lists--mark-none .fpsb-lists__mark{display:none}
.fpsb .fpsb-lists__outro{font-family:var(--fpsb-display);font-size:clamp(1.3rem,2.2vw,2rem);line-height:1.3;color:var(--fg);max-width:30em;margin-top:clamp(36px,5vw,64px)}
@media (max-width:1024px){.fpsb-lists__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.fpsb-lists__grid{grid-template-columns:1fr}}

/* ============ 12. GALLERY ============ */
.fpsb-gallery__head{max-width:46rem;margin:0 auto clamp(36px,5vw,70px);text-align:center}
.fpsb-gallery__head .fpsb-eyebrow{justify-content:center}
.fpsb-gallery__head .fpsb-gallery__intro{margin-inline:auto}
.fpsb-gallery__grid{--cols:3;--gap:14px;--row:260px;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap)}
.fpsb-gallery--mosaic .fpsb-gallery__grid{grid-auto-rows:var(--row);grid-auto-flow:dense}
.fpsb-gallery--mosaic .fpsb-gallery__item:nth-child(7n+1){grid-row:span 2}
.fpsb-gallery--mosaic .fpsb-gallery__item:nth-child(7n+5){grid-column:span 2}
.fpsb-gallery--masonry .fpsb-gallery__grid{display:block;column-count:var(--cols);column-gap:var(--gap)}
.fpsb-gallery--masonry .fpsb-gallery__item{break-inside:avoid;margin-bottom:var(--gap)}
.fpsb-gallery__item{position:relative;overflow:hidden;margin:0;will-change:transform}
.fpsb-gallery__item::after{content:"";position:absolute;inset:0;opacity:0;pointer-events:none;background:rgba(20,16,12,.28);transition:opacity .6s ease}
.fpsb-gallery__item:hover::after{opacity:1}
.fpsb-gallery__link{display:block;height:100%;cursor:zoom-in}
.fpsb-gallery__mask{display:block;height:100%;overflow:hidden}
.fpsb-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s var(--e)}
.fpsb-gallery--masonry .fpsb-gallery__item img{height:auto}
.fpsb-gallery--grid .fpsb-gallery__item{aspect-ratio:4/3}
.fpsb-gallery__cap{position:absolute;z-index:2;left:16px;bottom:14px;font-size:.875rem;color:#fff;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .6s var(--e)}
.fpsb-gallery__item:hover .fpsb-gallery__cap{opacity:1;transform:none}
.fp-js .fpsb-gallery[data-reveal="curtain"] .fpsb-gallery__mask{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--e);transition-delay:calc(var(--i,0) * 90ms)}
.fp-js .fpsb-gallery[data-reveal="curtain"] .fpsb-gallery__item img{transform:scale(1.25)}
.fp-js .fpsb-gallery[data-reveal="curtain"] .fpsb-gallery__item.is-seen .fpsb-gallery__mask{clip-path:inset(0 0 0 0)}
.fp-js .fpsb-gallery[data-reveal="curtain"] .fpsb-gallery__item.is-seen img{transform:none}
.fp-js .fpsb-gallery[data-reveal="fade"] .fpsb-gallery__mask{opacity:0;transform:translateY(30px);transition:opacity 1s ease,transform 1.2s var(--e);transition-delay:calc(var(--i,0) * 90ms)}
.fp-js .fpsb-gallery[data-reveal="fade"] .fpsb-gallery__item.is-seen .fpsb-gallery__mask{opacity:1;transform:none}
@media (max-width:767px){.fpsb-gallery--mosaic .fpsb-gallery__item:nth-child(7n+5){grid-column:auto}.fpsb-gallery--mosaic .fpsb-gallery__grid{--row:200px}}

/* ============ 13. STATS ============ */
.fpsb-stats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));row-gap:48px}
.fpsb-stats__item{padding:8px clamp(18px,2.6vw,40px)}
.fpsb-stats__item:first-child{padding-left:0}
.fpsb-stats.has-dividers .fpsb-stats__item+.fpsb-stats__item{border-left:1px solid var(--line)}
.fpsb .fpsb-stats__num{display:flex;align-items:baseline;font-family:var(--fpsb-display);font-size:clamp(3rem,6vw,6rem);line-height:1;color:var(--fg);font-variant-numeric:lining-nums tabular-nums}
.fpsb-stats__suf,.fpsb-stats__pre{font-size:.42em;color:var(--accent)}
.fpsb-stats__suf{margin-left:.1em}.fpsb-stats__pre{margin-right:.1em}
.fpsb .fpsb-stats__label{margin-top:1rem;font-size:1.0625rem;font-weight:500;color:var(--fg)}
.fpsb .fpsb-stats__text{margin-top:.4rem;font-size:.9375rem;line-height:1.6;font-weight:300;color:var(--fg-2);max-width:20em}
@media (max-width:900px){.fpsb-stats.has-dividers .fpsb-stats__item:nth-child(odd){border-left:0;padding-left:0}}

/* ============ 14. MARQUEE ============ */
.fpsb-marquee{overflow:hidden;padding:clamp(22px,3.5vw,50px) 0;background:transparent}
.fpsb-marquee__row{overflow:hidden}
.fpsb-marquee__track{display:flex;width:max-content;will-change:transform;animation:fpsb-marq var(--dur,40s) linear infinite}
.fpsb-marquee[data-dir="right"] .fpsb-marquee__row[data-row="fwd"] .fpsb-marquee__track,.fpsb-marquee__row[data-row="rev"] .fpsb-marquee__track{animation-direction:reverse}
.fpsb-marquee[data-dir="right"] .fpsb-marquee__row[data-row="rev"] .fpsb-marquee__track{animation-direction:normal}
.fpsb-marquee[data-pause="yes"]:hover .fpsb-marquee__track{animation-play-state:paused}
.fpsb-marquee__group{display:flex;align-items:center;gap:48px;padding-right:48px;flex:none}
.fpsb .fpsb-marquee__text{white-space:nowrap;font-family:var(--fpsb-display);font-size:clamp(2.4rem,6vw,6rem);line-height:1.15;color:var(--fg)}
.fpsb .fpsb-marquee__text.is-outline{color:transparent;-webkit-text-stroke:1px var(--fg)}
.fpsb-marquee__sep{display:inline-flex;font-size:18px;color:var(--accent);flex:none}
.fpsb-marquee__sep svg{width:1em;height:1em;fill:currentColor}
.fpsb-marquee--sep-diamond .fpsb-marquee__sep::before{content:"";width:.6em;height:.6em;background:currentColor;transform:rotate(45deg)}
.fpsb-marquee--sep-dot .fpsb-marquee__sep::before{content:"";width:.5em;height:.5em;border-radius:50%;background:currentColor}
.fpsb-marquee--sep-line .fpsb-marquee__sep::before{content:"";width:3em;height:1px;background:currentColor}
@keyframes fpsb-marq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* ============ 15. EXPANDING PANELS ============ */
.fpsb-panels__head{max-width:46rem;margin-bottom:clamp(36px,5vw,70px)}
.fpsb-panels__row{--grow:5;--mob-open:420px;--mob-closed:96px;display:flex;gap:10px;height:72vh;min-height:460px}
.fpsb-panels__item{position:relative;flex:1 1 0;min-width:0;overflow:hidden;cursor:pointer;color:#fff;background:var(--fpsb-bronze);transition:flex-grow 1.1s var(--e)}
.fpsb-panels__item.is-active{flex-grow:var(--grow)}
.fpsb-panels__img{position:absolute;inset:0;display:block}
.fpsb-panels__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.14);transition:transform 2s var(--e)}
.fpsb-panels__item.is-active .fpsb-panels__img img{transform:scale(1)}
.fpsb-panels__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,16,12,.1) 30%,rgba(20,16,12,.88));transition:opacity .8s}
.fpsb-panels__item:not(.is-active) .fpsb-panels__shade{background:linear-gradient(180deg,rgba(20,16,12,.35),rgba(20,16,12,.8))}
.fpsb-panels__vt{position:absolute;z-index:2;left:50%;bottom:28px;transform:translateX(-50%);writing-mode:vertical-rl;transform-origin:center;font-family:var(--fpsb-display);font-size:1.35rem;white-space:nowrap;color:#fff;opacity:1;transition:opacity .5s ease}
.fpsb-panels__item.is-active .fpsb-panels__vt{opacity:0}
.fpsb-panels__body{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.8rem;padding:clamp(22px,3vw,40px);opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .8s var(--e)}
.fpsb-panels__item.is-active .fpsb-panels__body{opacity:1;transform:none;transition-delay:.35s}
.fpsb .fpsb-panels__label{font-size:.875rem;font-weight:500;color:var(--fpsb-gold)}
.fpsb .fpsb-panels__item-title{font-family:var(--fpsb-display);font-weight:400;font-size:clamp(1.7rem,2.8vw,2.6rem);line-height:1.12;color:#fff;margin:0}
.fpsb-panels__reveal{display:flex;flex-direction:column;gap:1rem;max-width:28em}
.fpsb .fpsb-panels__item-text{font-size:1rem;line-height:1.7;font-weight:300;color:rgba(251,246,233,.86)}
.fpsb a.fpsb-panels__item-link{font-weight:500;color:var(--fpsb-gold)}
@media (max-width:820px){
  .fpsb-panels__row{flex-direction:column;height:auto;min-height:0}
  .fpsb-panels__item{flex:none;height:var(--mob-closed);transition:height .9s var(--e)}
  .fpsb-panels__item.is-active{height:var(--mob-open)}
  .fpsb-panels__vt{writing-mode:horizontal-tb;left:24px;bottom:auto;top:50%;transform:translateY(-50%)}
  .fpsb-panels__body{padding:22px}
}

/* ============ 16. JOURNEY PATH ============ */
.fpsb-journey__head{max-width:46rem;margin:0 auto clamp(50px,7vw,110px);text-align:center}
.fpsb-journey__head .fpsb-eyebrow{justify-content:center}
.fpsb-journey__head .fpsb-journey__intro{margin-inline:auto}
.fpsb-journey__wrap{--wind:9%;position:relative;max-width:1100px;margin:0 auto}
.fpsb-journey__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.fpsb-journey__base{stroke:var(--line);stroke-width:2}
.fpsb-journey__draw{stroke:var(--accent);stroke-width:2}
.fpsb-journey__dot{position:absolute;left:0;top:0;z-index:3;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px rgba(196,161,95,.16),0 0 36px rgba(196,161,95,.55);opacity:0;will-change:transform}
.fpsb-journey__stop{position:relative;display:grid;grid-template-columns:1fr 1fr;margin-bottom:140px;min-height:120px}
.fpsb-journey__stop:last-child{margin-bottom:0}
.fpsb-journey__pin{position:absolute;z-index:2;top:14px;width:14px;height:14px;border-radius:50%;border:1px solid var(--accent);background:var(--bg);transform:translateX(-50%);transition:background .6s,box-shadow .6s}
.fpsb-journey__stop--l .fpsb-journey__pin{left:calc(50% - var(--wind))}
.fpsb-journey__stop--r .fpsb-journey__pin{left:calc(50% + var(--wind))}
.fpsb-journey__stop.is-passed .fpsb-journey__pin{background:var(--accent);box-shadow:0 0 0 6px rgba(196,161,95,.18)}
.fpsb-journey__card{max-width:420px;padding:0 clamp(24px,4vw,64px)}
.fpsb-journey__stop--l .fpsb-journey__card{grid-column:1;justify-self:end;text-align:right}
.fpsb-journey__stop--r .fpsb-journey__card{grid-column:2;justify-self:start;text-align:left}
.fpsb-journey__stop--l .fpsb-journey__label{flex-direction:row-reverse}
.fp-js .fpsb-journey__card{opacity:0;transform:translate3d(0,40px,0);transition:opacity 1.1s ease,transform 1.3s var(--e)}
.fp-js .fpsb-journey__stop.is-seen .fpsb-journey__card{opacity:1;transform:none}
.fpsb-journey__img{overflow:hidden;margin-bottom:1.3rem;aspect-ratio:4/3}
.fpsb-journey__img img{width:100%;height:100%;object-fit:cover}
.fpsb .fpsb-journey__label{display:inline-flex;align-items:center;gap:14px;margin:0 0 .9rem;font-size:.9375rem;font-weight:500;color:var(--accent)}
.fpsb .fpsb-journey__label::before{content:"";width:28px;height:1px;background:currentColor}
.fpsb .fpsb-journey__stop-title{font-family:var(--fpsb-display);font-weight:400;font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.15;color:var(--fg);margin:0 0 .8rem}
.fpsb .fpsb-journey__text{font-size:1rem;line-height:1.75;font-weight:300;color:var(--fg-2)}
@media (max-width:767px){
  .fpsb-journey__wrap{--wind:0%}
  .fpsb-journey__stop{display:block;margin-bottom:90px}
  .fpsb-journey__pin,.fpsb-journey__stop--l .fpsb-journey__pin,.fpsb-journey__stop--r .fpsb-journey__pin{left:14px}
  .fpsb-journey__card,.fpsb-journey__stop--l .fpsb-journey__card,.fpsb-journey__stop--r .fpsb-journey__card{max-width:none;padding:0 0 0 52px;text-align:left}
  .fpsb-journey__stop--l .fpsb-journey__label{flex-direction:row}
}

/* ============ 17. CTA ============ */
.fpsb-cta{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:560px;padding:clamp(80px,12vw,180px) clamp(20px,5vw,72px);background:var(--fpsb-ebony);color:var(--fg)}
.fpsb-cta__media{position:absolute;inset:0;overflow:hidden}
.fpsb-cta__layer{position:absolute;inset:-10% 0;will-change:transform}
.fpsb-cta__layer img{width:100%;height:100%;object-fit:cover}
.fpsb-cta__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.72),rgba(20,16,12,.55) 50%,rgba(20,16,12,.82))}
.fpsb-cta .fpsb__in{z-index:2}
.fpsb-cta__body{max-width:820px;margin-inline:auto;text-align:center}
.fpsb-cta__body .fpsb-eyebrow{justify-content:center}
.fpsb .fpsb-cta__title{font-size:clamp(2.4rem,5.6vw,5.2rem);margin-bottom:.4em}
.fpsb .fpsb-cta__text{max-width:34em;margin:0 auto 2.4rem}
.fpsb-cta__actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}

/* ============ 18. HEADER ============ */
.fpsb-header{--hd-fg:var(--fpsb-cream);--hd-bg:transparent;--hd-line:rgba(251,246,233,.14);--hd-blur:16px;position:relative;z-index:999;width:100%;color:var(--hd-fg)}
.fpsb-header.is-scrolled{--hd-bg:rgba(20,16,12,.84)}
:where(.fpsb-tone-light) .fpsb-header{--hd-fg:var(--fpsb-ink);--hd-line:rgba(36,28,20,.12)}
:where(.fpsb-tone-light) .fpsb-header.is-scrolled{--hd-bg:rgba(251,246,233,.9)}
.fpsb-hd--pos-fixed{position:fixed;top:0;left:0;right:0}
.fpsb-hd--pos-sticky{position:sticky;top:0}
.admin-bar .fpsb-hd--pos-fixed,.admin-bar .fpsb-hd--pos-sticky{top:32px}
@media (max-width:782px){.admin-bar .fpsb-hd--pos-fixed,.admin-bar .fpsb-hd--pos-sticky{top:46px}}
.fpsb-hd__bar{position:relative;z-index:3;display:flex;align-items:center;min-height:92px;padding:0 clamp(20px,4vw,56px);color:var(--hd-fg);background:var(--hd-bg);-webkit-backdrop-filter:blur(var(--hd-blur));backdrop-filter:blur(var(--hd-blur));border-bottom:1px solid transparent;transition:transform .8s var(--e),min-height .6s var(--e),background-color .6s ease,border-color .6s ease}
.fpsb-header.is-scrolled .fpsb-hd__bar{min-height:70px;border-bottom-color:var(--hd-line)}
.fpsb-header:not(.is-scrolled) .fpsb-hd__bar{-webkit-backdrop-filter:none;backdrop-filter:none}
.fpsb-header.is-hidden:not(.is-open) .fpsb-hd__bar{transform:translate3d(0,-101%,0)}
.fpsb-header.is-open .fpsb-hd__bar{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent;color:var(--fpsb-cream)}
.fpsb-hd__bar-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:100%;max-width:1680px;margin-inline:auto}
.fpsb-hd__brandlink{display:inline-flex;flex-direction:column;line-height:1.1;color:inherit;flex:none}
.fpsb .fpsb-hd__brand{font-family:var(--fpsb-display);font-size:clamp(1.3rem,1.8vw,1.7rem);letter-spacing:.01em;color:inherit}
.fpsb .fpsb-hd__brand-sub{margin-top:.3rem;font-size:.8125rem;letter-spacing:.06em;opacity:.78;color:inherit}
.fpsb-hd__logo{width:150px;height:auto;transition:width .5s var(--e),opacity .4s}
.fpsb-hd__logo--s{display:none}
.fpsb-header.is-scrolled .fpsb-hd__logo--n:not(:only-of-type){display:none}
.fpsb-header.is-scrolled .fpsb-hd__logo--s{display:block}
.fpsb-hd__nav{display:none;margin-inline:auto}
.fpsb-hd__nav ul{display:flex;gap:34px}
.fpsb-hd__nav a{position:relative;display:inline-block;padding:.5rem 0;font-size:.9688rem;font-weight:500;letter-spacing:.02em;color:var(--hd-fg);transition:opacity .4s}
.fpsb-hd__nav a::after{content:"";position:absolute;left:0;bottom:.15rem;width:100%;height:1px;background:var(--fpsb-gold);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--e)}
.fpsb-hd__nav a:hover::after,.fpsb-hd__nav a.is-current::after,.fpsb-hd__nav .current-menu-item>a::after{transform:scaleX(1);transform-origin:left}
.fpsb-hd__nav ul:hover a:not(:hover){opacity:.6}
@media (min-width:1024px){.fpsb-hd--inline-1024 .fpsb-hd__nav{display:block}}
@media (min-width:1200px){.fpsb-hd--inline-1200 .fpsb-hd__nav{display:block}}
@media (min-width:1400px){.fpsb-hd--inline-1400 .fpsb-hd__nav{display:block}}
.fpsb-hd__actions{display:flex;align-items:center;gap:clamp(14px,2vw,28px);flex:none}
.fpsb-hd__cta .fpsb-btn{padding:.85rem 1.7rem;font-size:.9063rem;color:var(--hd-fg);border-color:currentColor;background:transparent}
.fpsb-hd__cta .fpsb-btn .fpsb-btn__fill{background:var(--fpsb-gold)}
.fpsb-hd__cta .fpsb-btn:hover{color:var(--fpsb-ebony);border-color:var(--fpsb-gold)}
@media (max-width:640px){.fpsb-hd__cta{display:none}}
.fpsb-hd__burger{display:inline-flex;align-items:center;gap:14px;padding:10px 0;color:inherit;font-size:.9688rem;font-weight:500;letter-spacing:.02em}
.fpsb-hd__burger-lines{position:relative;display:block;width:30px;height:12px}
.fpsb-hd__burger-lines i{position:absolute;left:0;width:100%;height:1px;background:currentColor;transition:transform .7s var(--e),top .7s var(--e),width .5s var(--e)}
.fpsb-hd__burger-lines i:first-child{top:2px}.fpsb-hd__burger-lines i:last-child{top:9px;width:70%;margin-left:30%}
.fpsb-hd__burger:hover .fpsb-hd__burger-lines i:last-child{width:100%;margin-left:0}
.fpsb-header.is-open .fpsb-hd__burger-lines i:first-child{top:5px;transform:rotate(45deg)}
.fpsb-header.is-open .fpsb-hd__burger-lines i:last-child{top:5px;transform:rotate(-45deg);width:100%;margin-left:0}
.fpsb-hd--inline-1024 .fpsb-hd__burger-label{}
@media (min-width:1024px){.fpsb-hd--inline-1024 .fpsb-hd__burger,.fpsb-hd--inline-1024 .fpsb-hd__burger{display:none}.fpsb-hd--inline-1024.is-open .fpsb-hd__burger{display:inline-flex}}
@media (min-width:1200px){.fpsb-hd--inline-1200 .fpsb-hd__burger{display:none}.fpsb-hd--inline-1200.is-open .fpsb-hd__burger{display:inline-flex}}
@media (min-width:1400px){.fpsb-hd--inline-1400 .fpsb-hd__burger{display:none}.fpsb-hd--inline-1400.is-open .fpsb-hd__burger{display:inline-flex}}

/* Panel */
.fpsb-panel{position:fixed;inset:0;z-index:2;overflow-y:auto;overscroll-behavior:contain;background:var(--fpsb-ebony);color:var(--fpsb-cream);visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--e),visibility 0s linear 1s}
.fpsb-header.is-open .fpsb-panel{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path 1s var(--e),visibility 0s}
.fpsb-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 600px at 85% 10%,rgba(196,161,95,.12),transparent 60%),radial-gradient(800px 600px at 0% 100%,rgba(94,72,38,.55),transparent 60%)}
.fpsb-panel__in{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,6vw,120px);min-height:100%;max-width:1680px;margin-inline:auto;padding:clamp(120px,16vh,170px) clamp(20px,4vw,56px) clamp(36px,6vh,70px)}
.fpsb-panel__nav{align-self:center}
.fpsb-panel__nav li{padding:.25rem 0;overflow:hidden}
.fpsb .fpsb-panel__nav a{display:inline-flex;align-items:baseline;gap:1.2rem;font-family:var(--fpsb-display);font-size:clamp(2.1rem,5.2vw,4.8rem);line-height:1.12;letter-spacing:-.01em;color:var(--fpsb-cream);transition:color .5s ease,transform .7s var(--e),opacity .5s}
.fpsb .fpsb-panel__nav a:hover,.fpsb .fpsb-panel__nav a.is-current{color:var(--fpsb-gold);transform:translateX(18px)}
.fpsb .fpsb-panel__note{font-family:var(--fpsb-body);font-style:normal;font-size:.9375rem;color:rgba(251,246,233,.6)}
.fp-js .fpsb-panel__nav li a{transform:translate3d(0,110%,0);transition:transform 1s var(--e),color .5s}
.fp-js .fpsb-header.is-open .fpsb-panel__nav li a{transform:none;transition-delay:calc(.25s + var(--i,0) * 70ms),0s}
.fp-js .fpsb-header.is-open .fpsb-panel__nav li a:hover,.fp-js .fpsb-header.is-open .fpsb-panel__nav li a.is-current{transform:translateX(18px);transition-delay:0s}
.fpsb-panel__side{align-self:end;display:flex;flex-direction:column;gap:1.6rem;max-width:26rem}
.fpsb .fpsb-panel__intro{font-family:var(--fpsb-display);font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.4;color:var(--fpsb-cream)}
.fpsb-panel__fig{margin:0}
.fpsb-panel__img{overflow:hidden;aspect-ratio:4/3}
.fpsb-panel__img img{width:100%;height:100%;object-fit:cover}
.fpsb .fpsb-panel__cap{margin-top:.8rem;font-size:.875rem;color:rgba(251,246,233,.7)}
.fpsb .fpsb-panel__addr{font-size:.9688rem;line-height:1.7;color:rgba(251,246,233,.78)}
.fp-js .fpsb-panel__side{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform 1s var(--e)}
.fp-js .fpsb-header.is-open .fpsb-panel__side{opacity:1;transform:none;transition-delay:.55s}
.fpsb-panel .fpsb-btn{align-self:flex-start;color:var(--fpsb-ebony)}
@media (max-width:900px){
  .fpsb-panel__in{grid-template-columns:1fr;gap:40px}
  .fpsb-panel__side{max-width:none;align-self:start}
  .fpsb-panel__img{aspect-ratio:16/9}
}

/* ============ 19. FOOTER ============ */
.fpsb-footer{background:var(--fpsb-ebony);overflow:hidden;padding-bottom:0}
.fpsb-footer__cta{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;padding-bottom:clamp(40px,6vw,86px);margin-bottom:clamp(40px,6vw,86px);border-bottom:1px solid var(--line)}
.fpsb .fpsb-footer__cta-title{font-family:var(--fpsb-display);font-weight:400;font-size:clamp(2rem,4.4vw,4rem);line-height:1.1;letter-spacing:-.01em;color:var(--fg);margin:0 0 .4em;max-width:16em}
.fpsb .fpsb-footer__cta-text{font-size:1.0625rem;font-weight:300;color:var(--fg-2)}
.fpsb-footer__main{display:flex;gap:clamp(36px,6vw,96px);flex-wrap:wrap}
.fpsb-footer__brandcol{flex:1.6 1 300px;max-width:30rem}
.fpsb .fpsb-footer__brand{font-family:var(--fpsb-display);font-size:clamp(1.6rem,2.2vw,2.1rem);line-height:1.2;color:var(--fg);margin-bottom:1rem}
.fpsb-footer__logo{width:150px;margin-bottom:1.2rem}
.fpsb .fpsb-footer__tagline{font-size:1.0625rem;line-height:1.6;color:var(--fg);margin-bottom:.9rem}
.fpsb .fpsb-footer__about{font-size:.9688rem;line-height:1.75;font-weight:300;color:var(--fg-2)}
.fpsb-footer__col{flex:1 1 180px}
.fpsb .fpsb-footer__ctitle{font-family:var(--fpsb-body);font-size:.9375rem;font-weight:600;letter-spacing:.03em;color:var(--accent);margin:0 0 1.3rem}
.fpsb-footer__col li{margin-bottom:.7rem;font-size:.9688rem;line-height:1.5;color:var(--fg-2)}
.fpsb-footer__col a{color:var(--fg-2);transition:color .4s ease,padding-left .5s var(--e)}
.fpsb-footer__col a:hover{color:var(--accent);padding-left:6px}
.fpsb-footer__social{display:flex;gap:10px;margin-top:1.6rem}
.fpsb-footer__social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--fg);font-size:16px;transition:background-color .5s,color .5s,border-color .5s}
.fpsb-footer__social a:hover{background:var(--accent);color:var(--fpsb-ebony);border-color:var(--accent)}
.fpsb-footer__social svg{width:1em;height:1em;fill:currentColor}
.fpsb-footer__mark{margin-top:clamp(30px,5vw,70px);overflow:hidden;text-align:center;pointer-events:none;user-select:none}
.fpsb .fpsb-footer__mark span{display:block;font-family:var(--fpsb-display);font-size:clamp(4rem,19.5vw,21rem);line-height:.82;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(251,246,233,.2);will-change:transform;padding-bottom:.04em}
.fpsb-footer__bottom{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px 32px;flex-wrap:wrap;padding:24px 0 28px;border-top:1px solid var(--line);font-size:.875rem;color:var(--fg-2)}
.fpsb-footer__bottom a{color:inherit;transition:color .3s}
.fpsb-footer__bottom a:hover{color:var(--accent)}
.fpsb-footer__top{display:inline-flex;align-items:center;gap:10px;font-size:.875rem;color:var(--fg)}
.fpsb-footer__top i{display:block;width:1px;height:22px;background:currentColor;position:relative}
.fpsb-footer__top i::before{content:"";position:absolute;left:-3px;top:0;width:7px;height:7px;border-left:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}
.fpsb-footer__top:hover{color:var(--accent)}

/* ============ 20. GLOBAL EFFECTS ============ */
.fpsb-effects{position:static}
.fpsb-effects__note{display:none;margin:0;padding:10px 14px;font-size:.8125rem;line-height:1.4;color:var(--fpsb-cream);background:var(--fpsb-umber);border:1px dashed var(--fpsb-gold)}
.elementor-editor-active .fpsb-effects__note{display:block}
.elementor-editor-active .fpsb-preloader,.elementor-editor-active .fpsb-cursor,.elementor-editor-active .fpsb-progress{display:none!important}
.fpsb-progress{position:fixed;left:0;right:0;z-index:100001;height:2px;background:transparent;pointer-events:none}
.fpsb-progress--top{top:0}.fpsb-progress--bottom{bottom:0}
.admin-bar .fpsb-progress--top{top:32px}
.fpsb-progress i{display:block;height:100%;background:var(--fpsb-gold);transform-origin:left;transform:scaleX(var(--p,0))}
.fpsb-cursor{display:none;position:fixed;left:0;top:0;z-index:100002;pointer-events:none}
html.fpsb-has-cursor .fpsb-cursor{display:block}
html.fpsb-has-cursor,html.fpsb-has-cursor a,html.fpsb-has-cursor button,html.fpsb-has-cursor [data-cursor]{cursor:none}
.fpsb-cursor__dot{position:fixed;left:0;top:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--fpsb-gold);will-change:transform}
.fpsb-cursor__ring{--ring:38px;position:fixed;left:0;top:0;width:var(--ring);height:var(--ring);margin:calc(var(--ring) / -2) 0 0 calc(var(--ring) / -2);border:1px solid rgba(196,161,95,.7);border-radius:50%;display:grid;place-items:center;will-change:transform;transition:width .5s var(--e),height .5s var(--e),margin .5s var(--e),background-color .4s,border-color .4s}
.fpsb-cursor.is-link .fpsb-cursor__ring{--ring:64px;background:rgba(196,161,95,.12)}
.fpsb-cursor.is-view .fpsb-cursor__ring{--ring:92px;background:var(--fpsb-gold);border-color:var(--fpsb-gold)}
.fpsb .fpsb-cursor__label{font-size:.8125rem;font-weight:600;color:var(--fpsb-ebony);opacity:0;transition:opacity .3s}
.fpsb-cursor.is-view .fpsb-cursor__label{opacity:1}
.fpsb-cursor.is-hidden{opacity:0}
.fpsb-preloader{position:fixed;inset:0;z-index:100000;display:none;place-items:center;background:var(--fpsb-ebony);color:var(--fpsb-cream);clip-path:inset(0 0 0 0);transition:clip-path 1.15s cubic-bezier(.76,0,.24,1)}
.fp-js .fpsb-preloader{display:grid;animation:fpsb-pre-fs 0s linear 8s forwards}
.fpsb-preloader.is-done{clip-path:inset(0 0 100% 0)}
.fpsb-preloader.is-gone{display:none!important}
@keyframes fpsb-pre-fs{to{visibility:hidden}}
.fpsb-preloader__in{text-align:center;padding:0 24px}
.fpsb .fpsb-preloader__brand{font-family:var(--fpsb-display);font-size:clamp(2rem,5.5vw,4.4rem);line-height:1.1;margin-bottom:.4em;animation:fpsb-pre-in 1.4s var(--e) both}
.fpsb .fpsb-preloader__tag{font-size:.9688rem;color:rgba(251,246,233,.7);animation:fpsb-pre-in 1.4s var(--e) .25s both}
.fpsb-preloader__bar{width:140px;height:1px;margin:2.2rem auto 0;background:rgba(251,246,233,.18);overflow:hidden}
.fpsb-preloader__bar i{display:block;height:100%;background:var(--fpsb-gold);transform-origin:left;transform:scaleX(0);animation:fpsb-pre-bar var(--pre-t,1.6s) cubic-bezier(.65,0,.35,1) forwards}
@keyframes fpsb-pre-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fpsb-pre-bar{to{transform:scaleX(1)}}

/* ============ 21. ENQUIRY FORM SKIN (Elementor Pro Form, add CSS class "fpsb-form") ============ */
.fpsb-form .elementor-form-fields-wrapper{row-gap:6px}
.fpsb-form .elementor-field-group{padding-bottom:10px}
.fpsb-form .elementor-field-label{font-family:var(--fpsb-body);font-size:.9375rem!important;font-weight:500;letter-spacing:.02em;color:var(--fpsb-ink)!important;margin-bottom:.15rem}
.fpsb-form .elementor-field-textual,.fpsb-form select,.fpsb-form textarea{font-family:var(--fpsb-body);font-size:1.0625rem!important;font-weight:400;color:var(--fpsb-ink)!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(36,28,20,.28)!important;border-radius:0!important;padding:.85rem 0!important;box-shadow:none!important;transition:border-color .5s ease}
.fpsb-form .elementor-field-textual:focus{border-bottom-color:var(--fpsb-gold-deep)!important;outline:none}
.fpsb-form .elementor-field-textual::placeholder{color:rgba(36,28,20,.38)}
.fpsb-form textarea{min-height:130px}
.fpsb-form .elementor-field-type-submit .elementor-button{position:relative;margin-top:18px;padding:1.15rem 2.6rem!important;font-family:var(--fpsb-body);font-size:.9375rem!important;font-weight:500!important;letter-spacing:.04em;color:var(--fpsb-cream)!important;background:var(--fpsb-ink)!important;border:1px solid var(--fpsb-ink)!important;border-radius:0!important;transition:background-color .5s ease,color .5s ease,border-color .5s ease}
.fpsb-form .elementor-field-type-submit .elementor-button:hover{background:var(--fpsb-gold)!important;border-color:var(--fpsb-gold)!important;color:var(--fpsb-ebony)!important}
.fpsb-form .elementor-message{font-family:var(--fpsb-body);font-size:1rem;padding-top:12px}
.fpsb-form .elementor-message-success{color:var(--fpsb-gold-deep)}

/* ============ 21b. LENIS ============ */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-scrolling iframe{pointer-events:none}
@supports (height:100svh){.fpsb-hero{height:100svh}}

/* ============ 22. REDUCED MOTION ============ */
@media (prefers-reduced-motion:reduce){
  .fpsb *,.fpsb *::before,.fpsb *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
  .fp-js .fpsb .fpsb-a,.fp-js .fpsb .fpsb-wi,.fp-js .fpsb .fpsb-ch,.fp-js .fpsb .fpsb-sli,.fp-js .fpsb-journey__card{opacity:1!important;transform:none!important;clip-path:none!important}
  .fp-js .fpsb-media .fpsb-media__frame,.fp-js .fpsb-gallery__mask{clip-path:none!important;opacity:1!important;transform:none!important}
  .fp-js .fpsb-statement .fpsb-sw{opacity:1!important}
  .fpsb-marquee__track{animation:none!important}
}

/* ============ 23. IMAGE FIT (beats Elementor's `.elementor img{height:auto}` reset) ============ */
.fpsb :is(.fpsb-hero__layer,.fpsb-hero__slide,.fpsb-media__inner,.fpsb-media__second,.fpsb-scrolly__img,.fpsb-hscroll__img,.fpsb-features__pimg,.fpsb-features__cimg,.fpsb-panels__img,.fpsb-panel__img,.fpsb-cta__layer,.fpsb-journey__img,.fpsb-media__inner2) :is(img,video){
  width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;
}
.fpsb .fpsb-gallery__item img{width:100%;height:100%;max-width:none;object-fit:cover}
.fpsb.fpsb-gallery--masonry .fpsb-gallery__item img{height:auto}
.fpsb .fpsb-scrolly__inline-img img,.fpsb .fpsb-features__row-img img{width:100%;max-width:none;object-fit:cover}
.fpsb .fpsb-media__img{width:100%;height:100%;max-width:none;object-fit:cover}
.fpsb .fpsb-hd__logo,.fpsb .fpsb-footer__logo,.fpsb .fpsb-preloader__logo,.fpsb .fpsb-footer__mark-img{height:auto;max-width:100%;object-fit:contain}
.fpsb-media__frame,.fpsb-features__card,.fpsb-features__preview-frame,.fpsb-gallery__item,.fpsb-panels__item,.fpsb-hscroll__card{background-color:var(--fpsb-umber)}

/* ============ 24. ROYAL PATTERN LAYER ============ */
.fpsb-pat{position:absolute;inset:0;z-index:0;pointer-events:none;background-color:var(--accent);opacity:.12;
  -webkit-mask-image:var(--pat);mask-image:var(--pat);-webkit-mask-repeat:repeat;mask-repeat:repeat;
  -webkit-mask-size:var(--pat-size,64px);mask-size:var(--pat-size,64px);-webkit-mask-position:center top;mask-position:center top}
:where(.fpsb-tone-dark,.fpsb-tone-ebony) .fpsb-pat{opacity:.16}
.fpsb-pat--diamond{--pat:var(--fpsb-pat-diamond);--pat-size:60px}
.fpsb-pat--deco{--pat:var(--fpsb-pat-deco);--pat-size:80px}
.fpsb-pat--ornament{--pat:var(--fpsb-pat-ornament);--pat-size:100px}
.fpsb-pat--lattice{--pat:var(--fpsb-pat-lattice);--pat-size:80px}
.fpsb-hero .fpsb-pat,.fpsb-cta .fpsb-pat{z-index:1}
.fpsb-hscroll__pin,.fpsb-marquee__row{position:relative;z-index:1}
.fpsb-hscroll.is-pinned .fpsb-hscroll__pin{position:sticky}
.fpsb-footer .fpsb-pat{opacity:.1}
/* Soft gold hairline + diamond used as section dividers */
.fpsb-orn i{background:var(--fpsb-gold-grad)}
.fpsb-orn b{background:var(--fpsb-gold-grad)}
.fpsb-heading__line{background:var(--fpsb-gold-grad)}
.fpsb-progress i{background:var(--fpsb-gold-grad)}

/* ============ 25. FAIL-SAFE: never leave content hidden if scripts are slow or blocked ============ */
@keyframes fpsb-failsafe{to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
html.fp-js:not(.fpsb-ready) .fpsb-a,
html.fp-js:not(.fpsb-ready) .fpsb-split .fpsb-wi,
html.fp-js:not(.fpsb-ready) .fpsb-split .fpsb-ch,
html.fp-js:not(.fpsb-ready) .fpsb-split .fpsb-sli,
html.fp-js:not(.fpsb-ready) .fpsb-journey__card,
html.fp-js:not(.fpsb-ready) .fpsb-media__frame,
html.fp-js:not(.fpsb-ready) .fpsb-media__pan,
html.fp-js:not(.fpsb-ready) .fpsb-gallery__mask,
html.fp-js:not(.fpsb-ready) .fpsb-gallery__item img,
html.fp-js:not(.fpsb-ready) .fpsb-panel__nav li a{animation:fpsb-failsafe .01s linear 4.5s forwards}
html.fp-js:not(.fpsb-ready) .fpsb-sw{animation:fpsb-failsafe .01s linear 4.5s forwards}
html.fp-js:not(.fpsb-ready) .fpsb-scrolly__step{animation:fpsb-failsafe .01s linear 4.5s forwards}

/* ============ 26. LOGOS & PRELOADER IMAGE ============ */
.fpsb-hd__brandlink--both{flex-direction:row;align-items:center;gap:14px}
.fpsb-hd__brandlink--both .fpsb-hd__logo{width:64px}
.fpsb-hd__brandtext{display:flex;flex-direction:column;line-height:1.1}
.fpsb-footer__brandrow{display:flex;align-items:center;gap:16px;margin-bottom:1.1rem}
.fpsb-footer__brandrow .fpsb-footer__logo{margin:0;width:84px}
.fpsb-footer__brandrow .fpsb-footer__brand{margin:0}
.fpsb-footer__mark-img{display:block;margin-inline:auto;width:min(70%,760px);opacity:.22;will-change:transform}
.fpsb-preloader::before{content:"";position:absolute;inset:0;background-color:var(--fpsb-gold);opacity:.08;pointer-events:none;
  -webkit-mask-image:var(--fpsb-pat-ornament);mask-image:var(--fpsb-pat-ornament);-webkit-mask-size:100px;mask-size:100px}
.fpsb-preloader__in{position:relative}
.fpsb-preloader__logo{display:block;margin:0 auto 1.4rem;width:min(60vw,220px);animation:fpsb-pre-in 1.4s var(--e) both}
.fpsb-preloader__ring{display:none}
.fpsb-preloader__bar i{background:var(--fpsb-gold-grad)}

/* ============ 27. ROYAL TOUCHES ============ */
.fpsb-hero__overlay{background:linear-gradient(180deg,rgba(20,16,12,.66) 0%,rgba(20,16,12,.18) 38%,rgba(20,16,12,.86) 100%)}
.fpsb-hero__facts{border-top-color:rgba(196,161,95,.45)}
.fpsb-media__outline{border-color:var(--fpsb-gold);border-width:1px}
.fpsb-media__outline::after{content:"";position:absolute;inset:6px;border:1px solid var(--fpsb-gold);opacity:.45}
.fpsb-media__badge{background:var(--fpsb-ebony);box-shadow:0 0 0 1px var(--fpsb-gold) inset,0 14px 40px rgba(20,16,12,.35)}
.fpsb-media__badge::after{content:"";position:absolute;inset:7px;border:1px solid rgba(196,161,95,.5);border-radius:50%}
.fpsb-hd__cta .fpsb-btn .fpsb-btn__fill{background:var(--fpsb-gold-grad)}
.fpsb-header.is-open .fpsb-panel::after{content:"";position:absolute;inset:0;pointer-events:none;background-color:var(--fpsb-gold);opacity:.07;-webkit-mask-image:var(--fpsb-pat-deco);mask-image:var(--fpsb-pat-deco);-webkit-mask-size:80px;mask-size:80px}
.fpsb-panel__in{z-index:1}
.fpsb-footer__social a:hover{background:var(--fpsb-gold-grad);color:var(--fpsb-ebony)}
