/* Next Design floating hero — homepage. Namespaced .ndfh so nothing else on the site is affected. */
.ndfh{
  --u:min(1vw,1.75vh); --scale:1; --px:0; --py:0;
  --ndfh-bg:#FBFAF7; --ndfh-bg-edge:#F1EDE3; --ndfh-shadow:rgba(37,57,82,.2);
  position:relative; height:clamp(600px,calc(100svh - 81px),900px); overflow:hidden; isolation:isolate;
  background:radial-gradient(120% 90% at 50% 45%,var(--ndfh-bg) 0%,var(--ndfh-bg) 45%,var(--ndfh-bg-edge) 100%);
  border-bottom:3px solid var(--nd-gold,#DBAE59);
}

/* headline block */
.ndfh-copy{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:min(660px,calc(100% - 32px));text-align:center;padding:44px 24px}
.ndfh-copy::before{content:"";position:absolute;inset:-18% -22%;z-index:-1;
  background:radial-gradient(closest-side,var(--ndfh-bg) 58%,rgba(251,250,247,0) 100%)}
.ndfh-eyebrow{font-family:'Inter',sans-serif;font-size:13px;letter-spacing:2.5px;font-weight:600;color:var(--nd-gold-text,#8C6229);text-transform:uppercase;margin:0 0 18px}
.ndfh-title{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(34px,5.2vw,62px);line-height:1.08;letter-spacing:-.01em;color:var(--nd-navy,#253952);margin:0;text-wrap:balance}
.ndfh-title span{color:var(--nd-gold-text,#8C6229)}
.ndfh-sub{max-width:50ch;margin:20px auto 0;font-size:17px;line-height:1.65;color:var(--nd-text-muted,#6E6E68);text-wrap:pretty}
.ndfh .nd-cta-row{margin-top:30px}
.ndfh .nd-btn{text-decoration:none;display:inline-block}
.ndfh-btn-outline{color:var(--nd-navy,#253952)!important;border-color:var(--nd-navy,#253952)!important;background:transparent}
.ndfh .nd-btn:focus-visible,.ndfh-piece:focus-visible{outline:2px solid var(--nd-gold-dark,#B8863B);outline-offset:4px}

.ndfh-meta{position:absolute;z-index:6;left:clamp(16px,3vw,40px);bottom:18px;margin:0;padding:6px 12px;border-radius:999px;
  background:rgba(251,250,247,.85);font-family:'Inter',sans-serif;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--nd-text-muted,#6E6E68)}
.ndfh-tp{display:none}
@media (hover:none){.ndfh-hv{display:none}.ndfh-tp{display:inline}}

/* floating pieces */
.ndfh-piece{position:absolute;left:var(--x);top:var(--y);width:calc(var(--w) * var(--u) * var(--scale));margin:0;
  transform:translate(-50%,-50%) translate(calc(var(--px) * var(--k)),calc(var(--py) * var(--k)));
  transition:transform .9s cubic-bezier(.2,.7,.2,1);perspective:900px;
  animation:ndfh-enter 1.6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 60ms)}
.ndfh-piece.d0{--k:6px;z-index:1}
.ndfh-piece.d1{--k:16px;z-index:2}
.ndfh-piece.d2{--k:34px;z-index:4}
.ndfh-piece.d0 img{filter:blur(1.3px) saturate(.75) opacity(.55)}
.ndfh-piece.d1 img{filter:blur(.2px) opacity(.92) drop-shadow(0 14px 14px var(--ndfh-shadow))}
.ndfh-piece.d2 img{filter:drop-shadow(0 28px 26px var(--ndfh-shadow))}
.ndfh-tilt{transform:rotateX(calc(var(--tx) * .3)) rotateY(calc(var(--ty) * .3));transform-style:preserve-3d}
.ndfh-spin{animation:ndfh-spin var(--spin) linear infinite var(--dir);animation-delay:var(--delay);transform-style:preserve-3d}
.ndfh-sway{animation:ndfh-sway var(--sway) ease-in-out infinite alternate;transform-style:preserve-3d}
.ndfh-piece img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none;transition:filter .4s}
@keyframes ndfh-spin{to{transform:rotate(360deg)}}
@keyframes ndfh-sway{from{transform:rotateY(-5deg) translateY(-3%)}to{transform:rotateY(5deg) translateY(3%)}}
@keyframes ndfh-enter{from{opacity:0;scale:.82}to{opacity:1;scale:1}}

.ndfh-piece:hover .ndfh-spin,.ndfh-piece:focus-visible .ndfh-spin,.ndfh-piece:hover .ndfh-sway,.ndfh-piece:focus-visible .ndfh-sway{animation-play-state:paused}
.ndfh-piece:hover img,.ndfh-piece:focus-visible img{filter:drop-shadow(0 28px 26px var(--ndfh-shadow))}
.ndfh-piece:hover,.ndfh-piece:focus-visible{z-index:5}

.ndfh-piece figcaption{position:absolute;left:50%;top:100%;transform:translate(-50%,8px);min-width:max-content;display:grid;gap:3px;justify-items:center;
  padding:10px 14px;background:#FFFFFF;border:1px solid var(--nd-card-border,#E3DFD3);border-radius:4px;box-shadow:0 10px 24px rgba(18,32,59,.08);
  font-family:'Inter',sans-serif;font-size:12px;color:var(--nd-text-muted,#6E6E68);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.ndfh-piece figcaption .c{font-size:11px;letter-spacing:1.5px;font-weight:600;text-transform:uppercase;color:var(--nd-gold-text,#8C6229)}
.ndfh-piece figcaption b{font-family:'Fraunces',serif;font-weight:500;font-size:19px;color:var(--nd-navy,#253952)}
.ndfh-piece figcaption .m{font-variant-numeric:tabular-nums}
.ndfh-piece:hover figcaption,.ndfh-piece:focus-visible figcaption{opacity:1;transform:translate(-50%,14px)}

@media (max-width:760px){
  .ndfh{--u:1vw;--scale:1.75;height:clamp(600px,calc(100svh - 55px),820px)}
  .ndfh-piece.m-hide{display:none}
  .ndfh-piece{left:var(--mx,var(--x));top:var(--my,var(--y))}
  .ndfh-copy{z-index:5;padding:20px 6px}
  .ndfh-copy::before{inset:-6% -10%}
  .ndfh-sub{font-size:15.5px}
  .ndfh .nd-cta-row .nd-btn{min-width:230px;text-align:center}
  .ndfh-meta{left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px}
}
@media (prefers-reduced-motion:reduce){
  .ndfh-spin,.ndfh-sway,.ndfh-piece{animation:none}
  .ndfh-piece{transition:none}
}
