/* Number 1 Nails Spa final brand layer. */
:root, body.jd-body { --jd-primary:#a78036; --jd-primary-hover:#8a682c; --jd-bg:#faf8f2; --jd-surface:#fffdf9; --jd-text:#28251f; --jd-text-muted:#625b4d; }
body.jd-body, body.jd-body .page { background:#faf8f2; color:#28251f; }
body.jd-body .jd-header__bar, body.jd-body .jd-header.is-scrolled .jd-header__bar { background:rgba(36,33,29,.97); border-color:rgba(217,190,130,.35); }
body.jd-body .nfy-split-hero { background:#f6f2e9!important; color:#28251f; }
body.jd-body .nfy-split-hero::before { background:radial-gradient(circle at 88% 5%,rgba(191,158,83,.15),transparent 42%),linear-gradient(125deg,#fcfaf5,#eee8dc); }
body.jd-body .nfy-split-hero::after { opacity:.08; }
body.jd-body .nfy-split-hero h1, body.jd-body .nfy-split-hero h1 span { color:#28251f; text-wrap:balance; }
body.jd-body .nfy-split-hero h1 em { color:#a78036; }
body.jd-body .nfy-split-hero__eyebrow, body.jd-body .nfy-split-hero__lead, body.jd-body .nfy-split-hero__location, body.jd-body .nfy-split-hero__location .address { color:#514a40; }
body.jd-body .nfy-split-hero__secondary { color:#514a40; }
body.jd-body .nfy-split-hero--home { min-height:720px; }
body.jd-body .nfy-split-hero__visual { border-color:rgba(172,132,57,.3); }
body.jd-body .jd-section,body.jd-body .jd-about,body.jd-body .jd-overview,body.jd-body .jd-gallery-section,body.jd-body .svc-menu,body.jd-body .jd-news-page,body.jd-body .nfy-about,body.jd-body .jd-section:nth-of-type(even) { background:#faf8f2!important; }
body.jd-body .jd-section:nth-of-type(even) { background:#f2eee5!important; }
body.jd-body .jd-offers { background:#f4ead4!important; }
body.jd-body .jd-brand-interlude { background:#ede6d6!important; }
body.jd-body .jd-footer.nfy-footer,body.jd-body .jd-cta { background:#292720!important; }
body.jd-body .jd-drawer__panel { background:#2b2924; }
.number1-gift,
body.jd-body section.number1-gift { position:relative; isolation:isolate; overflow:hidden; padding:clamp(5.5rem,9vw,9rem) 0 clamp(5rem,8vw,8rem); scroll-margin-top:100px; background:#f4ecdc!important; color:#29251f; }
.number1-gift::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 9% 8%,rgba(199,155,86,.2),transparent 32%),radial-gradient(circle at 90% 89%,rgba(174,131,82,.13),transparent 28%),repeating-linear-gradient(90deg,transparent 0 79px,rgba(155,119,67,.035) 80px 81px); pointer-events:none; }
.number1-gift::after { content:""; position:absolute; width:min(80vw,830px); aspect-ratio:1; left:50%; top:18%; translate:-50% 0; border:1px solid rgba(151,111,57,.12); border-radius:50%; z-index:-1; pointer-events:none; }
.number1-gift__inner { display:flex; flex-direction:column; align-items:center; gap:0; }
.number1-gift__intro { text-align:center; max-width:760px; }
.number1-gift__eyebrow { display:flex; gap:1.1rem; justify-content:center; align-items:center; margin:0 0 1.3rem; color:#8d662e; font:700 .7rem/1.4 Manrope,Arial,sans-serif; letter-spacing:.26em; }
.number1-gift__eyebrow span { font-size:1rem; }
.number1-gift__intro h2 { margin:0; color:#2e2922; font-size:clamp(3rem,6.3vw,6rem); line-height:1.04; letter-spacing:-.04em; text-wrap:balance; }
.number1-gift__intro h2 em { color:#aa7a38; font-weight:400; }
.number1-gift__intro>p:last-child { max-width:46ch; margin:1.45rem auto 0; color:#605748; font-size:clamp(1rem,1.3vw,1.14rem); line-height:1.65; }
.number1-gift__showcase { width:100%; margin-top:clamp(3rem,5.5vw,5rem); }
.number1-gift__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.8vw,25px); align-items:center; }
.number1-gift__card { --gift-lift:0px; position:relative; display:flex; flex-direction:column; justify-content:space-between; aspect-ratio:1.58; min-width:0; padding:clamp(17px,2vw,26px); overflow:hidden; border-radius:15px; border:1px solid rgba(239,215,169,.7); color:#f8ead0; background:#3b3228; box-shadow:0 22px 40px rgba(65,46,24,.16),0 2px 5px rgba(65,46,24,.08); transform:translateY(var(--gift-lift)); transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease; }
.number1-gift__card::before { content:""; position:absolute; inset:8px; border:1px solid currentColor; border-radius:10px; opacity:.35; pointer-events:none; }
.number1-gift__card::after { content:""; position:absolute; inset:-150% auto -150% -90%; width:48%; rotate:22deg; background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent); transform:translateX(-160%); pointer-events:none; }
.number1-gift__card--gold { background:radial-gradient(circle at 80% 10%,#806038 0,#4a382a 52%,#2e2925 100%); }
.number1-gift__card--ivory { --gift-lift:-16px; color:#59442d; border-color:#d0ad72; background:radial-gradient(circle at 35% 35%,#fffaf0,#ede0c9 77%,#e1c69e); }
.number1-gift__card--rose { background:radial-gradient(circle at 25% 15%,#8a6862,#594341 55%,#3d3535); }
.number1-gift__card:hover { transform:translateY(calc(var(--gift-lift) - 10px)) rotate(-1deg); box-shadow:0 30px 52px rgba(65,46,24,.24),0 4px 10px rgba(65,46,24,.1); }
.number1-gift__card:hover::after { animation:number1-gift-shine 1s ease both; }
.number1-gift__card-top,.number1-gift__card-bottom { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.number1-gift__card-top { font:700 clamp(.53rem,.8vw,.67rem)/1.3 Manrope,Arial,sans-serif; letter-spacing:.16em; }
.number1-gift__card-top span:last-child { font-size:1.15rem; line-height:1; }
.number1-gift__card img { position:absolute; top:50%; left:50%; width:clamp(100px,12vw,160px); max-height:63%; object-fit:contain; transform:translate(-50%,-50%); filter:drop-shadow(0 3px 5px rgba(22,17,10,.08)); }
.number1-gift__card-bottom span { max-width:15ch; font:500 clamp(.62rem,.9vw,.75rem)/1.35 Manrope,Arial,sans-serif; letter-spacing:.03em; }
.number1-gift__card-bottom strong { font:600 clamp(1.1rem,2vw,1.65rem)/1 Georgia,serif; white-space:nowrap; }
.number1-gift__sample { margin:1.65rem 0 0; text-align:center; color:#756b5b; font:500 .7rem/1.5 Manrope,Arial,sans-serif; letter-spacing:.06em; }
.number1-gift__action { display:flex; align-items:center; gap:clamp(1rem,3vw,2.5rem); width:min(100%,750px); margin-top:2.6rem; }
.number1-gift__action-line { flex:1; height:1px; background:linear-gradient(90deg,transparent,#b8945f); }
.number1-gift__action-line:last-child { transform:scaleX(-1); }
.number1-gift__buy { display:inline-flex; align-items:center; justify-content:center; gap:2.5rem; min-height:58px; padding:1rem 1.5rem; border:1px solid #352b21; border-radius:3px; background:#332b23; color:#fff5e6!important; font:700 .8rem/1.2 Manrope,Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; box-shadow:0 12px 25px rgba(59,43,25,.17); transition:background .25s,transform .3s,box-shadow .3s; }
.number1-gift__buy span { font-size:1.2rem; line-height:1; transition:transform .3s; }
.number1-gift__buy:hover,.number1-gift__buy:focus-visible { background:#654824; transform:translateY(-3px); box-shadow:0 17px 28px rgba(59,43,25,.25); }
.number1-gift__buy:hover span,.number1-gift__buy:focus-visible span { transform:translate(3px,-3px); }
.number1-gift__buy:focus-visible { outline:3px solid #9a723d; outline-offset:4px; }
.number1-gift--motion .number1-gift__intro,.number1-gift--motion .number1-gift__card,.number1-gift--motion .number1-gift__action { opacity:0; }
.number1-gift--motion.is-visible .number1-gift__intro { animation:number1-gift-enter .7s .05s ease both; }
.number1-gift--motion.is-visible .number1-gift__card { animation:number1-gift-enter .75s cubic-bezier(.22,1,.36,1) both; }
.number1-gift--motion.is-visible .number1-gift__card:nth-child(1) { animation-delay:.17s; }
.number1-gift--motion.is-visible .number1-gift__card:nth-child(2) { animation-delay:.29s; }
.number1-gift--motion.is-visible .number1-gift__card:nth-child(3) { animation-delay:.41s; }
.number1-gift--motion.is-visible .number1-gift__action { animation:number1-gift-enter .6s .53s ease both; }
@keyframes number1-gift-enter { from { opacity:0; translate:0 24px; } to { opacity:1; translate:0 0; } }
@keyframes number1-gift-shine { to { transform:translateX(1200%); } }
.number1-gift-float { position:fixed; z-index:45; right:18px; bottom:108px; padding:11px 16px; background:#d8b67d; color:#29231a!important; border:1px solid #9d7a3c; box-shadow:0 10px 24px rgba(30,25,17,.2); font:700 .76rem/1.2 Manrope,Arial,sans-serif; letter-spacing:.04em; }
.number1-gift-float:hover { background:#f0d5a6; }
.number1-gallery-mark { position:absolute; z-index:4; right:12px; bottom:12px; width:94px; aspect-ratio:9/5; background:#292621 url('../photos/number1/card-visit.png') center/cover no-repeat; border:1px solid #c6a56e; box-shadow:0 6px 18px rgba(29,23,17,.2); pointer-events:none; }
body.jd-body #gallery-page .gallery-item { position:relative; overflow:hidden; }
body.jd-body #gallery-page .gallery-item img { aspect-ratio:4/5; width:100%; object-fit:cover; object-position:center; }
@media(max-width:900px) { .number1-gift__cards { gap:10px; } .number1-gift__card { padding:15px; border-radius:11px; } .number1-gift__card-top { letter-spacing:.06em; } .number1-gift__card-bottom span { display:none; } .number1-gift-float { bottom:92px; } }
@media(max-width:600px) { body.jd-body .nfy-split-hero--home { min-height:auto; } body.jd-body .nfy-split-hero h1 { font-size:clamp(2.8rem,12vw,4.2rem); line-height:1.04; } .number1-gift,.number1-gift.jd-section { padding:5rem 0 4.5rem; } .number1-gift__intro h2 { font-size:clamp(2.8rem,12vw,4rem); } .number1-gift__intro>p:last-child { max-width:31ch; } .number1-gift__showcase { width:calc(100% + 32px); margin-left:-16px; overflow:hidden; } .number1-gift__cards { display:flex; gap:13px; padding:12px 16px 21px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; } .number1-gift__cards::-webkit-scrollbar { display:none; } .number1-gift__card { flex:0 0 min(83vw,360px); padding:19px; scroll-snap-align:center; } .number1-gift__card--ivory { --gift-lift:0px; } .number1-gift__card-top { font-size:.62rem; letter-spacing:.12em; } .number1-gift__card-bottom span { display:block; } .number1-gift__card img { width:130px; } .number1-gift__sample { max-width:34ch; margin:1rem auto 0; padding:0 8px; } .number1-gift__action { margin-top:2rem; } .number1-gift__action-line { display:none; } .number1-gift__buy { width:100%; } .number1-gift-float { right:10px; bottom:83px; padding:9px 11px; } }
@media(prefers-reduced-motion:reduce) { body.jd-body .nfy-split-hero--home h1 em,body.jd-body .nfy-split-hero--home h1 em::after { animation:none!important; } .nfy-hero-video { display:none!important; } .number1-gift--motion .number1-gift__intro,.number1-gift--motion .number1-gift__card,.number1-gift--motion .number1-gift__action { opacity:1!important; animation:none!important; translate:none!important; } .number1-gift__card,.number1-gift__buy,.number1-gift__buy span { transition:none!important; } .number1-gift__card:hover,.number1-gift__buy:hover { transform:none!important; } .number1-gift__card:hover::after { animation:none!important; } }
body.jd-body #gallery .jd-gallery-tile__frame { position:relative; }
body.jd-body #gallery .jd-gallery-tile__frame::after { content:''; position:absolute; right:12px; bottom:12px; width:94px; aspect-ratio:9/5; z-index:3; background:#292621 url('../photos/number1/card-visit.png') center/cover no-repeat; border:1px solid #c6a56e; box-shadow:0 6px 18px rgba(29,23,17,.2); pointer-events:none; }
@media(max-width:600px) { .number1-gallery-mark,body.jd-body #gallery .jd-gallery-tile__frame::after { width:72px; right:8px; bottom:8px; } }

/* Lash and waxing editorial feature; service names and amounts come from the live menu. */
body.jd-body section.number1-beauty { padding:clamp(5rem,8vw,8rem) 0; background:#eee8dc!important; }
body.jd-body section.number1-beauty[hidden] { display:none!important; }
.number1-beauty__head { display:flex; align-items:end; justify-content:space-between; gap:2.5rem; margin-bottom:clamp(2rem,4vw,3.5rem); }
.number1-beauty__head .jd-eyebrow { margin-bottom:1.1rem; color:#987037; }
.number1-beauty__head h2 { margin:0; color:#2c2924; font-size:clamp(2.9rem,5.2vw,5.5rem); line-height:1.04; letter-spacing:-.04em; }
.number1-beauty__head h2 em { color:#a78036; font-weight:400; }
.number1-beauty__head>p { max-width:34ch; margin:0 0 .25rem; color:#5e574c; font-size:clamp(.98rem,1.2vw,1.1rem); line-height:1.7; }
.number1-beauty__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(15px,2vw,28px); }
.number1-beauty__feature { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); min-width:0; min-height:420px; overflow:hidden; border:1px solid #d4c8b5; border-radius:4px; background:#faf8f3; box-shadow:0 16px 35px rgba(59,48,32,.07); }
.number1-beauty__image { position:relative; min-width:0; min-height:100%; overflow:hidden; background:#cbbcb0; }
.number1-beauty__image::before { content:""; position:absolute; inset:0; background-position:center; background-size:cover; background-repeat:no-repeat; transition:transform .6s cubic-bezier(.22,1,.36,1); }
.number1-beauty__image--lash::before { background-image:url('../photos/number1/lashes-portrait.webp'); }
.number1-beauty__image--wax::before { background-image:url('../photos/number1/waxing-portrait.webp'); }
.number1-beauty__image img { position:absolute; width:1px; height:1px; opacity:0; }
.number1-beauty__feature:hover .number1-beauty__image::before { transform:scale(1.045); }
.number1-beauty__image span { position:absolute; left:13px; bottom:13px; padding:6px 9px; background:rgba(33,28,24,.76); color:#fff; font:600 .6rem/1.2 Manrope,Arial,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.number1-beauty__content { display:flex; flex-direction:column; align-items:flex-start; padding:clamp(1.35rem,2.3vw,2.5rem); min-width:0; }
.number1-beauty__index { color:#9d773e; font:700 .63rem/1.3 Manrope,Arial,sans-serif; letter-spacing:.17em; }
.number1-beauty__content h3 { margin:1rem 0 .65rem; color:#2f2a24; font:400 clamp(2rem,2.8vw,3.1rem)/1.05 Georgia,serif; letter-spacing:-.04em; }
.number1-beauty__content p { margin:0; color:#6b6256; font-size:.88rem; line-height:1.6; }
.number1-beauty__services { width:100%; margin:1.45rem 0 1.25rem; padding:0; list-style:none; border-top:1px solid #ded5c8; }
.number1-beauty__services li { display:flex; justify-content:space-between; align-items:baseline; gap:.75rem; padding:.67rem 0; border-bottom:1px solid #ded5c8; color:#3b352d; font-size:.78rem; line-height:1.4; }
.number1-beauty__services li span { min-width:0; overflow-wrap:anywhere; }
.number1-beauty__services small { flex:none; color:#8d6b38; font-size:.69rem; white-space:nowrap; }
.number1-beauty__content>a { display:inline-flex; align-items:center; gap:1rem; margin-top:auto; padding:.55rem 0; border-bottom:1px solid #aa7a38; color:#6f4d21!important; font:700 .72rem/1.3 Manrope,Arial,sans-serif; letter-spacing:.05em; text-decoration:none; transition:gap .25s,color .25s; }
.number1-beauty__content>a:hover,.number1-beauty__content>a:focus-visible { gap:1.5rem; color:#2b241c!important; }
@media(max-width:1100px) { .number1-beauty__feature { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); } .number1-beauty__content { padding:1.25rem; } .number1-beauty__services small { white-space:normal; text-align:right; } }
@media(max-width:900px) { .number1-beauty__grid { grid-template-columns:1fr; } .number1-beauty__feature { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); min-height:350px; } }
@media(max-width:600px) { .number1-beauty__head { display:block; } .number1-beauty__head>p { margin-top:1.15rem; } .number1-beauty__feature { display:flex; flex-direction:column; min-height:0; } .number1-beauty__image { width:100%; height:auto; min-height:0; aspect-ratio:2/3; } .number1-beauty__content { padding:1.5rem; } .number1-beauty__content h3 { font-size:2.4rem; } .number1-beauty__content>a { margin-top:.5rem; } }
@media(prefers-reduced-motion:reduce) { .number1-beauty__image::before,.number1-beauty__content>a { transition:none; } .number1-beauty__feature:hover .number1-beauty__image::before { transform:none; } }

/* Promotion booking CTA: clear contrast on the warm offers background. */
body.jd-body .jd-offers__terms a.online-booking {
  background:#332b23 !important;
  border-color:#332b23 !important;
  color:#fff7e9 !important;
  -webkit-text-fill-color:#fff7e9 !important;
}
body.jd-body .jd-offers__terms a.online-booking:hover,
body.jd-body .jd-offers__terms a.online-booking:focus-visible {
  background:#5b4328 !important;
  border-color:#5b4328 !important;
  color:#fff7e9 !important;
  -webkit-text-fill-color:#fff7e9 !important;
}
body.jd-body .jd-offers__terms a.online-booking:focus-visible {
  outline:3px solid #8b672f;
  outline-offset:3px;
}

/* Floating actions: Gift Card follows the Call and Book stack. */
body.jd-body .number1-gift-float {
  left:auto;
  right:max(1.25rem, env(safe-area-inset-right, 0px));
  bottom:max(1.25rem, env(safe-area-inset-bottom, 0px));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:140px;
  width:140px;
  box-sizing:border-box;
  border-radius:999px;
  text-decoration:none;
  transform:none;
  transition:background-color .2s ease, box-shadow .2s ease;
}
body.jd-body .number1-gift-float:focus-visible {
  outline:3px solid #8b672f;
  outline-offset:3px;
}
@media (min-width:768px) {
  body.jd-body { --jd-footer-float-clear:10rem; }
  body.jd-body .floating-button.row,
  body.jd-body .floating-button.jd-float,
  body.jd-body .floating-button {
    bottom:calc(max(1.25rem, env(safe-area-inset-bottom, 0px)) + 44px + .5rem) !important;
  }
  body.jd-body .jd-social-fab {
    bottom:calc(max(1.25rem, env(safe-area-inset-bottom, 0px)) + 44px + .5rem + var(--jd-float-stack-h, 7.1rem)) !important;
  }
}
@media (max-width:767.98px) {
  body.jd-body {
    scroll-padding-bottom:calc(var(--jd-float-dock-h, 3.55rem) + 46px + 1.15rem);
  }
  body.jd-body .jd-footer {
    padding-bottom:calc(1rem + var(--jd-float-dock-h, 3.55rem) + 46px + 1.15rem) !important;
  }
  body.jd-body .number1-gift-float {
    left:50%;
    right:auto;
    bottom:calc(.5rem + env(safe-area-inset-bottom, 0px));
    transform:translateX(-50%);
    min-height:46px;
    min-width:150px;
    width:150px;
    padding:0 1.2rem;
    font-size:.78rem;
    z-index:930;
  }
  body.jd-body .floating-button.row,
  body.jd-body .floating-button.jd-float,
  body.jd-body .floating-button {
    bottom:calc(46px + 1.15rem + env(safe-area-inset-bottom, 0px)) !important;
  }
  body.jd-body .jd-social-fab {
    bottom:calc(46px + 1.15rem + var(--jd-float-dock-h, 3.55rem) + .85rem) !important;
  }
  body.jd-body .floating-button a.btn-call-us,
  body.jd-body .floating-button a.btn-book-now {
    min-height:44px !important;
  }
}

/* One action group keeps every floating link in the same stacking context. */
body.jd-body .floating-button .number1-gift-float {
  position:static;
  order:3;
  transform:none;
  pointer-events:auto;
  width:140px;
  min-width:0;
  min-height:40px;
  margin:0;
  box-shadow:0 5px 14px rgba(30,25,17,.16);
}

@media (min-width:768px) {
  body.jd-body .floating-button.row,
  body.jd-body .floating-button.jd-float {
    bottom:max(1.25rem, env(safe-area-inset-bottom, 0px)) !important;
  }
  body.jd-body .jd-social-fab {
    bottom:calc(max(1.25rem, env(safe-area-inset-bottom, 0px)) + var(--jd-float-stack-h, 10rem) + .75rem) !important;
  }
}

@media (max-width:767.98px) {
  body.jd-body {
    --jd-float-dock-h:calc(92px + env(safe-area-inset-bottom, 0px));
    scroll-padding-bottom:calc(var(--jd-float-dock-h) + 12px);
  }
  body.jd-body .jd-footer {
    padding-bottom:calc(1.25rem + var(--jd-float-dock-h)) !important;
  }
  body.jd-body .floating-button.row,
  body.jd-body .floating-button.jd-float {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:40px 34px;
    gap:5px 8px !important;
    align-items:center !important;
    padding:5px 10px calc(7px + env(safe-area-inset-bottom, 0px)) !important;
    bottom:0 !important;
  }
  body.jd-body .floating-button > [class*="col-"] {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:40px;
  }
  body.jd-body .floating-button a.btn-call-us,
  body.jd-body .floating-button a.btn-book-now {
    display:flex !important;
    align-items:center;
    justify-content:center;
    min-height:40px !important;
    height:40px !important;
    padding:0 .45rem !important;
    font-size:.76rem !important;
    line-height:1.1 !important;
    white-space:nowrap;
  }
  body.jd-body .floating-button .number1-gift-float {
    grid-column:1 / -1;
    grid-row:2;
    justify-self:center;
    width:min(100%,145px);
    min-height:34px;
    height:34px;
    padding:0 12px;
    font-size:.72rem;
  }
  body.jd-body .jd-social-fab {
    bottom:calc(var(--jd-float-dock-h) + 9px) !important;
  }
}

/* Keep the entire nail work visible inside cards, including the hands. */
body.jd-body .nfy-feature-card img,
body.jd-body #gallery .jd-gallery-tile__frame img,
body.jd-body #gallery-page .gallery-item img {
  object-fit:contain !important;
  object-position:center !important;
  background:#e9dfd0;
}
body.jd-body .nfy-feature-card:hover img,
body.jd-body #gallery .jd-gallery-tile:hover img {
  transform:none !important;
}

/* Live promotion photos: show the complete nail design inside each card. */
body.jd-body .jd-offers-card__media {
  aspect-ratio:1 / 1;
  background:#e9dfd0;
}
body.jd-body .jd-offers-card__media::after {
  background:none;
}
body.jd-body .jd-offers-card__media img,
body.jd-body .jd-offers-card:hover .jd-offers-card__media img {
  object-fit:contain;
  object-position:center;
  transform:none;
}
@media (max-width:900px) {
  body.jd-body .jd-offers__grid.is-count-1 .jd-offers-card__media {
    aspect-ratio:1 / 1;
  }
}

/* Hero cinema strip: two portrait photos share one generous horizontal frame. */
@media (min-width:951px) {
  body.jd-body .nfy-split-hero__inner {
    width:min(100%,1460px);
    grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);
    gap:clamp(28px,3vw,58px);
  }
}
body.jd-body .nfy-split-hero--inner .nfy-split-hero__visual {
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  width:100%;
  max-width:none;
  height:clamp(430px,39vw,570px);
  overflow:hidden;
  border:1px solid #b99a6b;
  border-radius:18px;
  background:#e7dfd3;
  box-shadow:0 24px 52px rgba(63,48,30,.13);
}
body.jd-body .nfy-split-hero--inner .nfy-split-hero__visual::after {
  content:"";
  position:absolute;
  z-index:5;
  left:0;
  bottom:0;
  width:100%;
  height:3px;
  background:#d6b077;
  transform-origin:left center;
  animation:number1-hero-film-progress 11s linear infinite;
  pointer-events:none;
}
body.jd-body .nfy-split-hero--inner .nfy-feature-card,
body.jd-body .nfy-split-hero--inner .nfy-feature-card--first,
body.jd-body .nfy-split-hero--inner .nfy-feature-card--second {
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
body.jd-body .nfy-split-hero--inner .nfy-feature-card + .nfy-feature-card {
  border-left:1px solid rgba(129,103,67,.5);
}
body.jd-body .nfy-feature-card__image {
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  background:#e7dfd3;
}
body.jd-body .nfy-feature-card__image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:none;
}
body.jd-body .nfy-feature-card__image::after,
body.jd-body .nfy-hero-media::before {
  content:"";
  position:absolute;
  z-index:2;
  inset:12px;
  border:1px solid rgba(255,250,238,.8);
  box-shadow:inset 0 0 0 1px rgba(89,69,46,.14);
  pointer-events:none;
}
body.jd-body .nfy-split-hero--inner .nfy-feature-card figcaption {
  flex:0 0 64px;
  height:64px;
  background:#29231f;
}
body.jd-body .nfy-hero-media {
  border-radius:18px;
}
body.jd-body .nfy-hero-media::before {
  z-index:3;
}
body.jd-body .nfy-hero-media .nfy-hero-video {
  object-fit:contain;
}
@keyframes number1-hero-film-progress {
  from { transform:scaleX(0); }
  to { transform:scaleX(1); }
}
@media (max-width:950px) {
  body.jd-body .nfy-split-hero--inner .nfy-split-hero__visual {
    max-width:820px;
    margin:42px auto 0;
  }
}
@media (max-width:700px) {
  body.jd-body .nfy-split-hero--inner .nfy-split-hero__visual {
    display:block;
    height:auto;
    max-height:560px;
    aspect-ratio:3 / 4;
    margin-top:35px;
    border-radius:14px;
  }
  body.jd-body .nfy-split-hero--inner .nfy-feature-card,
  body.jd-body .nfy-split-hero--inner .nfy-feature-card--first,
  body.jd-body .nfy-split-hero--inner .nfy-feature-card--second {
    position:absolute;
    inset:0;
    border:0;
  }
  body.jd-body .nfy-split-hero--inner .nfy-feature-card--first {
    animation:number1-hero-first 11s ease-in-out infinite;
  }
  body.jd-body .nfy-split-hero--inner .nfy-feature-card--second {
    animation:number1-hero-second 11s ease-in-out infinite;
  }
  body.jd-body .nfy-feature-card__image::after,
  body.jd-body .nfy-hero-media::before {
    inset:9px;
  }
  body.jd-body .nfy-split-hero--inner .nfy-feature-card figcaption {
    flex-basis:58px;
    height:58px;
    padding:8px 13px;
  }
}
@keyframes number1-hero-first {
  0%,42% { opacity:1; }
  50%,92% { opacity:0; }
  100% { opacity:1; }
}
@keyframes number1-hero-second {
  0%,42% { opacity:0; }
  50%,92% { opacity:1; }
  100% { opacity:0; }
}
@media (prefers-reduced-motion:reduce) {
  body.jd-body .nfy-split-hero--inner .nfy-split-hero__visual::after,
  body.jd-body .nfy-split-hero--inner .nfy-feature-card--first,
  body.jd-body .nfy-split-hero--inner .nfy-feature-card--second {
    animation:none;
  }
  body.jd-body .nfy-split-hero--inner .nfy-feature-card--second { opacity:0; }
}

/* Salon Policy: a quiet, framed document layout. */
body.jd-page-policy .jd-legal {
  padding: clamp(3.25rem, 7vw, 6rem) 20px;
  background: #f0e9dd;
  scroll-margin-top: 100px;
}
body.jd-page-policy .jd-legal__shell {
  position: relative;
  width: min(100%, 1080px);
  padding: clamp(3rem, 6vw, 5.5rem);
  border: 1px solid #b69a70;
  border-radius: 3px;
  background: #fffdf9;
  box-shadow: 0 25px 65px rgba(52, 41, 26, .09);
}
body.jd-page-policy .jd-legal__shell::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(182, 154, 112, .38);
  pointer-events: none;
}
body.jd-page-policy .jd-legal__intro {
  margin-bottom: 0;
  padding-bottom: clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid #d8c6aa;
  text-align: center;
}
body.jd-page-policy .jd-legal__intro .jd-eyebrow {
  color: #977348;
  letter-spacing: .2em;
}
body.jd-page-policy .jd-legal__intro .jd-display {
  max-width: none;
  margin: .5rem 0 1rem;
  color: #28231d;
  font-size: clamp(2.6rem, 5vw, 4.6rem);
  line-height: 1.05;
}
body.jd-page-policy .jd-legal__lead {
  max-width: 66ch;
  margin-inline: auto;
  color: #655b50;
  font-size: clamp(1rem, 1.5vw, 1.12rem);
}
body.jd-page-policy .jd-legal__block {
  display: grid;
  grid-template-columns: minmax(0, .42fr) minmax(0, 1fr);
  column-gap: clamp(1.5rem, 4vw, 3.5rem);
  padding: clamp(1.7rem, 3vw, 2.4rem) 0;
  border-bottom: 1px solid #e5d9c8;
}
body.jd-page-policy .jd-legal__block + .jd-legal__block {
  margin-top: 0;
  border-top: 0;
}
body.jd-page-policy .jd-legal__block h3 {
  grid-column: 1;
  grid-row: 1 / span 2;
  margin: 0;
  color: #332c24;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.15;
}
body.jd-page-policy .jd-legal__block > p,
body.jd-page-policy .jd-legal__block > ul {
  grid-column: 2;
}
body.jd-page-policy .jd-legal__block p,
body.jd-page-policy .jd-legal__block li {
  color: #5c534a;
  font-size: 1rem;
  line-height: 1.75;
}
body.jd-page-policy .jd-legal__block ul li::before {
  background: #a47e4f;
}
body.jd-page-policy .jd-legal__contact {
  margin-top: clamp(2rem, 4vw, 3rem);
  padding: clamp(1.5rem, 3vw, 2.2rem);
  border: 1px solid #d2b992;
  border-radius: 2px;
  background: #f8f1e6;
}
body.jd-page-policy .jd-legal__contact h3 {
  color: #332c24;
  font-size: clamp(1.55rem, 2.4vw, 2rem);
}
body.jd-page-policy .jd-legal__contact a:not(.jd-btn) {
  color: #73542e;
  overflow-wrap: anywhere;
}
@media (max-width: 700px) {
  body.jd-page-policy .jd-legal { padding: 2.5rem 14px 3.5rem; }
  body.jd-page-policy .jd-legal__shell { padding: 2.5rem 28px; }
  body.jd-page-policy .jd-legal__shell::before { inset: 8px; }
  body.jd-page-policy .jd-legal__block { display: block; }
  body.jd-page-policy .jd-legal__block h3 { margin-bottom: .85rem; }
  body.jd-page-policy .jd-legal__block > p { margin-bottom: .8rem; }
}
@media (max-width: 380px) {
  body.jd-page-policy .jd-legal__shell { padding-inline: 24px; }
}

/* Home hero slideshow: keep the frame and controls fixed while images crossfade. */
body.jd-body .nfy-split-hero--home {
  min-height:0;
  padding:clamp(170px,12vw,190px) clamp(18px,4vw,60px) clamp(40px,5vw,72px);
}
body.jd-body .nfy-split-hero--home .nfy-split-hero__inner {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:clamp(28px,3vw,44px);
  min-height:0;
  width:min(100%,1440px);
}
body.jd-body .nfy-split-hero--home .nfy-split-hero__copy { width:100%; }
body.jd-body .nfy-split-hero--home h1 { max-width:none; font-size:clamp(3.6rem,5.4vw,5.9rem); line-height:.98; }
body.jd-body .nfy-split-hero--home h1 em { margin-top:.04em; line-height:1.08; }
body.jd-body .nfy-split-hero--home .nfy-split-hero__lead { margin-top:16px; }
body.jd-body .nfy-split-hero--home .nfy-split-hero__actions { margin-top:20px; }
body.jd-body .nfy-split-hero--home .nfy-split-hero__location { margin-top:26px; }
body.jd-body .nfy-split-hero--home .number1-hero-slider {
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  height:clamp(440px,38vw,560px);
  min-height:0;
  margin:0;
  border-radius:16px;
  background:#d9c9ae;
  overflow:hidden;
  isolation:isolate;
}
body.jd-body .number1-hero-slide {
  position:absolute;
  inset:0;
  z-index:0;
  opacity:0;
  transition:opacity 1s ease-in-out;
  pointer-events:none;
}
body.jd-body .number1-hero-slide.is-active { z-index:1; opacity:1; }
body.jd-body .number1-hero-slide img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 40%;
}
body.jd-body .number1-hero-slide--wide {
  background:#d6cfc4;
}
body.jd-body .number1-hero-slide--wide::before {
  display:none;
}
body.jd-body .number1-hero-slide--wide img {
  object-fit:cover;
  object-position:center;
}
body.jd-body .number1-hero-slide--mid img { object-position:50% 59%; transform:scale(1.16); }
body.jd-body .number1-hero-slide--detail img { object-position:72% 72%; transform:scale(1.32); }
body.jd-body .number1-hero-media__shade {
  position:absolute;
  inset:auto 0 0;
  z-index:2;
  height:110px;
  background:linear-gradient(transparent,rgba(24,21,18,.6));
  pointer-events:none;
}
body.jd-body .number1-hero-slider::after { display:none; }
body.jd-body .number1-hero-slider .nfy-hero-media__frame {
  z-index:4;
  inset:auto auto 23px 28px;
  display:flex;
  gap:20px;
  white-space:nowrap;
  text-shadow:0 1px 8px rgba(0,0,0,.65);
}
body.jd-body .number1-hero-controls {
  position:absolute;
  z-index:5;
  right:24px;
  bottom:16px;
  display:flex;
  align-items:center;
  gap:12px;
}
body.jd-body .number1-hero-arrow,
body.jd-body .number1-hero-dots button {
  display:inline-grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.8);
  border-radius:999px;
  background:rgba(31,27,23,.34);
  color:#fff;
  cursor:pointer;
  touch-action:manipulation;
}
body.jd-body .number1-hero-arrow { width:42px; height:42px; font:400 1.25rem/1 Georgia,serif; }
body.jd-body .number1-hero-dots { display:flex; align-items:center; gap:6px; }
body.jd-body .number1-hero-dots button { width:23px; height:23px; border:0; background:transparent; }
body.jd-body .number1-hero-dots button::before { content:''; width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.6); }
body.jd-body .number1-hero-dots button.is-active::before { background:#f1d59e; transform:scale(1.35); }
body.jd-body .number1-hero-arrow:hover,
body.jd-body .number1-hero-arrow:focus-visible { background:#a78036; }
body.jd-body .number1-hero-arrow:focus-visible,
body.jd-body .number1-hero-dots button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media(min-width:901px) {
  body.jd-body .nfy-split-hero--home .nfy-split-hero__copy {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
    grid-template-rows:auto auto auto;
    column-gap:clamp(35px,6vw,95px);
    align-items:center;
  }
  body.jd-body .nfy-split-hero--home .nfy-split-hero__eyebrow { grid-column:1; grid-row:1; margin:0 0 12px; }
  body.jd-body .nfy-split-hero--home h1 { grid-column:1; grid-row:2 / 4; }
  body.jd-body .nfy-split-hero--home .nfy-split-hero__lead { grid-column:2; grid-row:1; margin:0; }
  body.jd-body .nfy-split-hero--home .nfy-split-hero__actions { grid-column:2; grid-row:2; margin:16px 0 0; }
  body.jd-body .nfy-split-hero--home .nfy-split-hero__location { grid-column:2; grid-row:3; margin:18px 0 0; }
}
@media(max-width:900px) {
  body.jd-body .nfy-split-hero--home { padding:175px 20px 45px; }
  body.jd-body .nfy-split-hero--home .number1-hero-slider { height:clamp(390px,54vw,560px); }
}
@media(max-width:600px) {
  body.jd-body .nfy-split-hero--home { padding:168px 14px 36px; }
  body.jd-body .nfy-split-hero--home .nfy-split-hero__inner { gap:24px; }
  body.jd-body .nfy-split-hero--home .nfy-split-hero__eyebrow { margin-bottom:15px; }
  body.jd-body .nfy-split-hero--home h1 { font-size:clamp(2.75rem,10.6vw,3.9rem); line-height:1; }
  body.jd-body .nfy-split-hero--home h1 em { font-size:.78em; margin-top:.02em; }
  body.jd-body .nfy-split-hero--home .nfy-split-hero__lead { margin-top:16px; }
  body.jd-body .nfy-split-hero--home .nfy-split-hero__actions { margin-top:17px; }
  body.jd-body .nfy-split-hero--home .nfy-split-hero__location { margin-top:19px; }
  body.jd-body .nfy-split-hero--home .number1-hero-slider { height:clamp(260px,62vw,350px); border-radius:12px; }
  body.jd-body .number1-hero-slide:first-child img { object-position:49% 40%; }
  body.jd-body .number1-hero-slide--mid img { object-position:50% 57%; transform:scale(1.1); }
  body.jd-body .number1-hero-slide--detail img { object-position:68% 72%; transform:scale(1.2); }
  body.jd-body .number1-hero-slider::before { inset:9px; }
  body.jd-body .number1-hero-slider .nfy-hero-media__frame { left:18px; bottom:65px; font-size:.53rem; }
  body.jd-body .number1-hero-controls { right:15px; bottom:11px; }
  body.jd-body .number1-hero-arrow { width:38px; height:38px; }
}
@media(max-width:700px) {
  body.jd-body .nfy-about__portrait img { object-position:40% center; }
}
@media(prefers-reduced-motion:reduce) {
  body.jd-body .number1-hero-slide,
  body.jd-body .number1-hero-dots button::before { transition:none!important; }
}
