/* Nörda motion layer. Hidden states exist only while norda-motion.js has armed an element, so without JS everything is visible and still. */

/* Level tokens: subtle is the default, expressive overrides it per section. */
.nm-on{--nm-dist:18px;--nm-dur:.8s;--nm-scale:.96;--nm-word:35ms}
.nm-on .norda-motion--expressive{--nm-dist:36px;--nm-dur:1.1s;--nm-scale:.9;--nm-word:45ms}

/* Reveals */
[data-nm=armed][data-norda-reveal=fade-up]{opacity:0;translate:0 var(--nm-dist)}
[data-nm=in][data-norda-reveal=fade-up]{transition:opacity var(--nm-dur) var(--n-ease) var(--nm-delay,0ms),translate var(--nm-dur) var(--n-ease) var(--nm-delay,0ms)}
[data-nm=armed][data-norda-reveal=scale]{opacity:0;scale:var(--nm-scale)}
[data-nm=in][data-norda-reveal=scale]{transition:opacity var(--nm-dur) var(--n-ease) var(--nm-delay,0ms),scale calc(var(--nm-dur)*1.2) var(--n-ease) var(--nm-delay,0ms)}
/* The caption sits 16px above the bottom of a clipped figure: the expressive 36px would push it out of the clip,
   and the observer never sees an element that is clipped away whole. */
.norda-collection .norda-ed-cap{--nm-dist:8px}

/* Curtain: a tone-coloured cover scales away upward while the image settles from 1.14; the clip only holds while it plays. */
[data-norda-reveal=curtain]{position:relative}
[data-nm][data-norda-reveal=curtain]{overflow:clip}
[data-nm][data-norda-reveal=curtain]::after{content:"";position:absolute;inset:-1px;z-index:3;background:var(--nt-bg,#F5F1EA);transform-origin:50% 0;pointer-events:none}
[data-nm=in][data-norda-reveal=curtain]::after{scale:1 0;transition:scale calc(var(--nm-dur)*1.1) var(--n-ease) var(--nm-delay,0ms)}
[data-nm=armed][data-norda-reveal=curtain] img:not([data-norda-parallax]){scale:1.14}
[data-nm=in][data-norda-reveal=curtain] img:not([data-norda-parallax]){transition:scale calc(var(--nm-dur)*1.4) var(--n-ease) var(--nm-delay,0ms),transform .7s var(--n-ease)}

/* Lines: each word rises from its own mask; the padding and negative margin keep descenders and italic overhang unclipped. */
.nm-w{display:inline-block;overflow:clip;vertical-align:top;padding:0 .06em .14em;margin:0 -.06em -.14em}
.nm-wi{display:inline-block}
[data-nm=armed][data-norda-reveal=lines] .nm-wi{translate:0 110%}
[data-nm=in][data-norda-reveal=lines] .nm-wi{transition:translate var(--nm-dur) var(--n-ease) calc(var(--nm-delay,0ms) + var(--w,0)*var(--nm-word))}

[data-norda-count-to]{font-variant-numeric:tabular-nums}
[data-norda-magnetic]{transition:translate .35s var(--n-ease)}

/* Parallax: overscan plus the scroll-driven drift. animation comes before animation-timeline, because the shorthand resets it. */
@keyframes nm-px{from{translate:0 calc(var(--nm-px)*-50%)}to{translate:0 calc(var(--nm-px)*50%)}}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    html:not(.norda-still) [data-norda-parallax]{scale:calc(1 + var(--nm-px));animation:nm-px linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  }
  html.nm-px-js [data-norda-parallax]{scale:calc(1 + var(--nm-px))}
}
.norda-collection .norda-ed-fig,.norda-showroom .norda-showroom__media{position:relative;overflow:clip}
.norda-showroom .norda-showroom__media{border-radius:4px}
@media (max-width:899px){.norda-showroom .norda-showroom__media{border-radius:0}}
/* The video lies over the image in the same box and only fades in once it plays, so the image stays the poster. */
.norda-showroom .norda-showroom__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity 1.2s var(--n-ease)}
.norda-showroom .norda-showroom__media[data-nm-video=video] .norda-showroom__video{opacity:1}
.norda-collection .norda-ed-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity 1.2s var(--n-ease)}
.norda-collection .norda-ed-fig[data-nm-video=video] .norda-ed-video{opacity:1}

/* Ambient backgrounds */
.norda-amb{position:relative;isolation:isolate;overflow:clip;view-timeline-name:--nm-sec}
.norda-amb::before,.norda-amb::after,.norda-newsletter .flex-newsletter::before,.norda-newsletter .flex-newsletter::after{content:"";position:absolute;pointer-events:none;z-index:-1}
.norda-newsletter .flex-newsletter{isolation:isolate;overflow:clip;view-timeline-name:--nm-sec}

/* Dark tones: a warm light pool and static grain; an animated grain would be a never-ending blink (WCAG 2.2.2). */
.norda-amb:is(.norda-tone-oak,.norda-tone-sage,.norda-tone-ink)::before,.norda-newsletter:not(.norda-motion--none) .flex-newsletter::before{inset:-20% -12%;background:radial-gradient(36% 44% at 28% 30%,rgba(255,204,148,.15),rgba(255,204,148,0) 70%),radial-gradient(28% 34% at 80% 74%,rgba(212,185,143,.09),rgba(212,185,143,0) 70%)}
.norda-amb:is(.norda-tone-oak,.norda-tone-sage,.norda-tone-ink)::after,.norda-newsletter:not(.norda-motion--none) .flex-newsletter::after{inset:0;opacity:.07;background-size:180px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Expressive dark: the light pool drifts with the scroll position, so it costs nothing while idle and stops off-screen. */
@keyframes nm-drift{from{translate:-7% 9%;scale:1}to{translate:9% -7%;scale:1.1}}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    html:not(.norda-still) .norda-amb.norda-motion--expressive:is(.norda-tone-oak,.norda-tone-sage,.norda-tone-ink)::before,html:not(.norda-still) .norda-newsletter.norda-motion--expressive .flex-newsletter::before{animation:nm-drift linear both;animation-timeline:--nm-sec;animation-range:cover 0% cover 100%}
  }
}

/* Light tones, expressive only: a fine linen weave and a one-shot shimmer when the section arrives. */
.norda-amb.norda-motion--expressive:is(.norda-tone-ground,.norda-tone-linen,.norda-tone-sand)::after{inset:0;opacity:.035;background:repeating-linear-gradient(0deg,#1E1B17 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#1E1B17 0 1px,transparent 1px 4px)}
.norda-amb.norda-motion--expressive:is(.norda-tone-ground,.norda-tone-linen,.norda-tone-sand)::before{inset:0 -40%;opacity:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.38) 50%,transparent 60%)}
.norda-amb.norda-motion--expressive[data-nm=in]:is(.norda-tone-ground,.norda-tone-linen,.norda-tone-sand)::before{animation:nm-shimmer 1.8s var(--n-ease) both}
@keyframes nm-shimmer{0%{opacity:0;translate:-55% 0}20%{opacity:1}100%{opacity:0;translate:55% 0}}

/* norda-hero */
.norda-hero{position:relative;min-height:680px;margin-top:-2rem;overflow:clip;color:#F5F1EA}
/* The pull-up closes the gap under the header only; below another section it would slide over that section. */
.norda-hero:not(:first-child){margin-top:0}
.norda-hero .norda-hero__media,.norda-hero .norda-hero__shade{position:absolute;inset:0}
.norda-hero .norda-hero__media picture{display:block;height:100%}
.norda-hero .norda-hero__poster,.norda-hero .norda-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.norda-hero .norda-hero__video{opacity:0;transition:opacity 1.2s var(--n-ease)}
.norda-hero[data-nm-hero=video] .norda-hero__video{opacity:1}
.norda-hero .norda-hero__ph{position:absolute;inset:0;border-radius:0}
.norda-hero .norda-hero__shade{z-index:1;pointer-events:none}
.norda-hero--ov-soft .norda-hero__shade{background:linear-gradient(90deg,rgba(20,17,14,.74) 0%,rgba(20,17,14,.56) 28%,rgba(20,17,14,.22) 52%,rgba(20,17,14,0) 70%),linear-gradient(0deg,rgba(20,17,14,.55) 0%,rgba(20,17,14,.22) 38%,rgba(20,17,14,0) 62%)}
.norda-hero--ov-medium .norda-hero__shade{background:linear-gradient(90deg,rgba(20,17,14,.82) 0%,rgba(20,17,14,.62) 34%,rgba(20,17,14,.3) 60%,rgba(20,17,14,.12) 100%),linear-gradient(0deg,rgba(20,17,14,.5) 0%,rgba(20,17,14,0) 55%)}
.norda-hero--ov-strong .norda-hero__shade{background:rgba(30,27,23,.55)}
.norda-hero .norda-hero__wrap{position:relative;z-index:2;box-sizing:border-box;display:flex;min-height:680px;max-width:1392px;margin:0 auto;padding:0 48px 80px;align-items:flex-end;justify-content:flex-start}
.norda-hero--center-left .norda-hero__wrap{align-items:center;padding-bottom:0}
.norda-hero--bottom-center .norda-hero__wrap{justify-content:center;text-align:center}
.norda-hero--center .norda-hero__wrap{align-items:center;justify-content:center;text-align:center;padding-bottom:0}
.norda-hero .norda-hero__copy{max-width:540px;display:flex;flex-direction:column;gap:18px}
.norda-hero:is(.norda-hero--bottom-center,.norda-hero--center) .norda-hero__btns{justify-content:center}
.norda-hero .norda-hero__eyebrow{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#F5F1EA;text-shadow:0 1px 10px rgba(10,8,6,.6)}
.norda-hero .norda-hero__title{margin:0;font-family:var(--n-serif);font-weight:400;font-size:76px;line-height:.98;letter-spacing:normal;color:#F5F1EA;text-shadow:0 2px 28px rgba(10,8,6,.45),0 1px 3px rgba(10,8,6,.3);white-space:pre-line}
.norda-hero .norda-hero__line{display:block;overflow:clip;padding-bottom:.08em;margin-bottom:-.08em}
.norda-hero .norda-hero__line-in{display:block}
.norda-hero .norda-hero__sub{margin:0;max-width:440px;font-size:17px;line-height:1.55;white-space:pre-line;text-shadow:0 1px 14px rgba(10,8,6,.55)}
.norda-hero .norda-hero__btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.norda-hero .norda-hero__btn--primary{background:#F5F1EA;border-color:#F5F1EA;color:#1E1B17}
.norda-hero .norda-hero__btn--primary:hover{background:#E6DCCB;border-color:#E6DCCB;color:#1E1B17}
.norda-hero .norda-hero__btn--ghost{background:transparent;border-color:#F5F1EA;color:#F5F1EA}
.norda-hero .norda-hero__btn--ghost:hover{background:#F5F1EA;color:#1E1B17}
.norda-hero .norda-hero__btn:focus-visible{outline:2px solid #F5F1EA;outline-offset:3px}
@media (max-width:899px){
  .norda-hero,.norda-hero .norda-hero__wrap{min-height:560px}
  .norda-hero .norda-hero__poster,.norda-hero .norda-hero__video{object-position:var(--nh-focus-m)}
  /* The shade reaches the eyebrow too: it sits over the bright lamp and wall of the phone crop. */
  .norda-hero--ov-soft .norda-hero__shade{background:linear-gradient(0deg,rgba(30,27,23,.8) 0%,rgba(30,27,23,.6) 50%,rgba(30,27,23,.25) 80%,rgba(30,27,23,0) 100%)}
  .norda-hero .norda-hero__eyebrow{color:#F5F1EA;text-shadow:0 1px 12px rgba(30,27,23,.55)}
  .norda-hero .norda-hero__wrap{padding:0 16px 32px}
  .norda-hero .norda-hero__copy{max-width:none;gap:12px}
  .norda-hero .norda-hero__title{font-size:42px;line-height:1.02}
  .norda-hero .norda-hero__sub{font-size:15px;line-height:1.5}
  .norda-hero .norda-hero__btns{flex-direction:column;align-items:stretch}
  .norda-hero .norda-hero__pause{bottom:auto;top:16px}
}

/* Hero entrance runs in CSS at first paint, with transforms only, and ends in the rendered state. */
@keyframes nm-line{from{translate:0 105%}}
@keyframes nm-rise{from{opacity:0;translate:0 16px}}
@keyframes nm-kb{to{scale:var(--nm-kb,1.05)}}
@keyframes nm-hpx{to{translate:0 calc(var(--nm-px)*50%)}}
@keyframes nm-exit{to{translate:0 -40px;opacity:.2}}
@media (prefers-reduced-motion:no-preference){
  html:not(.norda-still) .norda-hero:not(.norda-motion--none) .norda-hero__eyebrow{animation:nm-rise .6s var(--n-ease) 60ms both}
  html:not(.norda-still) .norda-hero:not(.norda-motion--none) .norda-hero__line-in{animation:nm-line 1s var(--n-ease) calc(180ms + var(--l)*120ms) both}
  html:not(.norda-still) .norda-hero:not(.norda-motion--none) .norda-hero__sub{animation:nm-rise .8s var(--n-ease) calc(300ms + var(--lines)*120ms) both}
  html:not(.norda-still) .norda-hero:not(.norda-motion--none) .norda-hero__btns>*{animation:nm-rise .8s var(--n-ease) calc(380ms + var(--lines)*120ms) both}
  html:not(.norda-still) .norda-hero:not(.norda-motion--none) .norda-hero__btns>*+*{animation-delay:calc(460ms + var(--lines)*120ms)}
  html:not(.norda-still) .norda-hero[data-nm-hero] .norda-hero__poster{transform-origin:70% 40%;animation:nm-kb 16s var(--n-ease) both}
  html:not(.norda-still) .norda-hero.norda-motion--expressive[data-nm-hero] .norda-hero__poster{--nm-kb:1.08;animation-duration:22s}
  /* The animation shorthands above reset the play state, so the pause rules need more weight than they do. */
  html:not(.norda-still) .norda-hero.norda-hero:is([data-nm-hero=video],[data-nm-paused="1"])[data-nm-hero] .norda-hero__poster{animation-play-state:paused}
  /* The poster drifts on translate only, over the exit range: Ken Burns owns its scale, and a cover range would open a gap at the top on load. */
  .norda-hero .norda-hero__poster[data-norda-parallax]{scale:none}
  @supports (animation-timeline:view()){
    html:not(.norda-still) .norda-hero .norda-hero__poster[data-norda-parallax]{animation:nm-hpx linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
    html:not(.norda-still) .norda-hero.norda-motion--expressive[data-nm-hero] .norda-hero__poster[data-norda-parallax]{animation:nm-kb 22s var(--n-ease) both,nm-hpx linear both;animation-timeline:auto,view();animation-range:normal,exit 0% exit 100%}
    html:not(.norda-still) .norda-hero.norda-hero:is([data-nm-hero=video],[data-nm-paused="1"])[data-nm-hero] .norda-hero__poster[data-norda-parallax]{animation-play-state:paused,running}
    html:not(.norda-still) .norda-hero.norda-motion--expressive .norda-hero__copy{animation:nm-exit linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
  }
}

/* Shared pause button (hero, ticker) */
.nm-pause{position:absolute;right:16px;bottom:16px;z-index:4;width:44px;height:44px;padding:0;border-radius:22px;border:1px solid rgba(245,241,234,.6);background:rgba(30,27,23,.45);color:#F5F1EA;display:flex;align-items:center;justify-content:center;cursor:pointer}
.nm-pause[hidden]{display:none}
.nm-pause:focus-visible{outline:2px solid #F5F1EA;outline-offset:2px}
.nm-pause .nm-pause__on,.nm-pause[aria-pressed=true] .nm-pause__off{display:none}
.nm-pause[aria-pressed=true] .nm-pause__on{display:block}

/* norda-rooms */
@media (prefers-reduced-motion:no-preference){
  html:not(.norda-still) .norda-rooms:not(.norda-motion--none) .norda-rooms__name{position:relative;width:fit-content}
  html:not(.norda-still) .norda-rooms:not(.norda-motion--none) .norda-rooms__name::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;scale:0 1;transform-origin:left;transition:scale .3s var(--n-ease)}
  html:not(.norda-still) .norda-rooms:not(.norda-motion--none) a.norda-rooms__card:is(:hover,:focus-visible) .norda-rooms__name::after{scale:1 1}
}

/* norda-collection and norda-swatches: the brass eyebrow line draws in from the left. */
.norda-brass-line[data-nm]::before{transform-origin:left}
.norda-brass-line[data-nm=armed]::before{scale:0 1}
.norda-brass-line[data-nm=in]::before{transition:scale .9s var(--n-ease) calc(var(--nm-delay,0ms) + 150ms)}
@media (prefers-reduced-motion:no-preference){
  html:not(.norda-still) .norda-collection:not(.norda-motion--none) .norda-ed-arrow{transition:translate .3s var(--n-ease)}
  html:not(.norda-still) .norda-collection:not(.norda-motion--none) .norda-ed-btn:is(:hover,:focus-visible) .norda-ed-arrow{translate:4px 0}
}

/* norda-look: pins pop after the photo, pulse twice (4.4s, inside the 5s limit) and show a preview on hover. */
.norda-look__pin[data-nm=armed]{opacity:0;scale:.4}
.norda-look__pin[data-nm=in]{transition:opacity .5s var(--n-ease) var(--nm-delay,0ms),scale .5s cubic-bezier(.34,1.56,.64,1) var(--nm-delay,0ms)}
.norda-look__pin::before{content:"";position:absolute;left:4px;top:4px;z-index:-1;width:36px;height:36px;border-radius:50%;background:rgba(251,249,245,.7);opacity:0;pointer-events:none}
@keyframes nm-pulse{from{scale:1;opacity:.6}to{scale:1.9;opacity:0}}
@keyframes nm-pulse-again{from{scale:1;opacity:.6}to{scale:1.9;opacity:0}}
@keyframes nm-flash{from{background-color:rgba(86,99,79,.12)}}
@media (prefers-reduced-motion:no-preference){
  html.nm-on:not(.norda-still) .norda-look:not(.norda-motion--none) .norda-look__pin:not([data-nm=armed])::before{animation:nm-pulse 2.2s var(--n-ease) calc(var(--nm-pulse,1.2s) + var(--pi,0)*300ms) 2 both}
  html.nm-on:not(.norda-still) .norda-look:not(.norda-motion--none) .norda-look__media:hover .norda-look__pin:not([data-nm=armed])::before{animation:nm-pulse-again 2.2s var(--n-ease) calc(var(--pi,0)*300ms) 1 both}
  html.nm-on:not(.norda-still) .norda-look:not(.norda-motion--none) .norda-look__row--on{animation:nm-flash .9s var(--n-ease)}
}
.norda-look__tip{display:none}
@media (min-width:900px) and (hover:hover){
  .norda-look__tip{position:absolute;bottom:calc(100% + 12px);left:50%;z-index:3;display:flex;flex-direction:column;gap:2px;min-width:140px;max-width:220px;padding:10px 12px;border-radius:6px;background:#FBF9F5;color:#1E1B17;box-shadow:0 8px 24px -10px rgba(30,27,23,.45);text-align:left;white-space:normal;opacity:0;translate:-50% 6px;pointer-events:none;transition:opacity .22s var(--n-ease),translate .22s var(--n-ease)}
  .norda-look__pin--low .norda-look__tip{bottom:auto;top:calc(100% + 12px);translate:-50% -6px}
  .norda-look__pin--start .norda-look__tip{left:0;translate:0 6px}
  .norda-look__pin--end .norda-look__tip{left:auto;right:0;translate:0 6px}
  .norda-look__pin--low.norda-look__pin--start .norda-look__tip,.norda-look__pin--low.norda-look__pin--end .norda-look__tip{translate:0 -6px}
  .norda-look__pin:is(:hover,:focus-visible) .norda-look__tip{opacity:1;translate:-50% 0}
  .norda-look__pin:is(.norda-look__pin--start,.norda-look__pin--end):is(:hover,:focus-visible) .norda-look__tip{translate:0 0}
  .norda-look__tip-name{font-size:13px;font-weight:600;line-height:1.3}
  .norda-look__tip-price{font-size:13px;line-height:1.3;color:#5E574E}
}

/* norda-products: a small lift on hover; no shadow, because the packshots use mix-blend-mode:multiply. */
[data-nm=armed] .norda-products__lbl{scale:.8}
[data-nm=in] .norda-products__lbl{transition:scale var(--nm-dur) var(--n-ease) var(--nm-delay,0ms)}
@media (prefers-reduced-motion:no-preference){
  html:not(.norda-still) .norda-products:not(.norda-motion--none) .norda-products__media{transition:translate .5s var(--n-ease)}
  html:not(.norda-still) .norda-products:not(.norda-motion--none) .norda-products__card:hover .norda-products__media{translate:0 -4px}
}

/* norda-swatches */
.norda-swatches .norda-swatches__img{position:relative}
.norda-swatches .norda-swatches__img::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2px #D4B98F;opacity:0;pointer-events:none;transition:opacity .2s var(--n-ease)}
.norda-swatches .norda-swatches__tx:has(.norda-swatches__add[aria-pressed=true]) .norda-swatches__img::after{opacity:1}
@keyframes nm-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:no-preference){
  html:not(.norda-still) .norda-swatches:not(.norda-motion--none) .norda-swatches__add[aria-pressed=true] .norda-swatches__ic--check path{stroke-dasharray:1;stroke-dashoffset:1;animation:nm-draw .3s var(--n-ease) forwards}
}
.nm-fly{position:fixed;z-index:80;width:56px;height:56px;border-radius:50%;background:#E6DCCB center/cover;box-shadow:0 8px 24px -8px rgba(30,27,23,.5);pointer-events:none}

/* norda-showroom: the open dot rings three times (4.8s), and the hours open smoothly where the browser can size to auto. */
.norda-showroom .norda-showroom__dot{position:relative}
.norda-showroom .norda-showroom__dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ns-dot-open,#9DB58F);opacity:0;pointer-events:none}
@keyframes nm-ring{from{scale:1;opacity:.5}to{scale:2.2;opacity:0}}
@media (prefers-reduced-motion:no-preference){
  html:not(.norda-still) .norda-showroom:not(.norda-motion--none) .norda-showroom__status--open .norda-showroom__dot::after{animation:nm-ring 1.6s var(--n-ease) 3}
  @supports selector(::details-content){
    html:not(.norda-still) .norda-showroom:not(.norda-motion--none) .norda-showroom__week{interpolate-size:allow-keywords}
    html:not(.norda-still) .norda-showroom:not(.norda-motion--none) .norda-showroom__week::details-content{block-size:0;overflow:clip;transition:block-size .35s var(--n-ease),content-visibility .35s allow-discrete}
    html:not(.norda-still) .norda-showroom:not(.norda-motion--none) .norda-showroom__week[open]::details-content{block-size:auto}
  }
}

/* USP: one row below 900px from first paint (a swipeable row without JS), a ticker once the JS has built the track. */
.norda-usp [data-nm] svg :is(path,circle,rect,line,polyline,polygon,ellipse){stroke-dasharray:1;stroke-dashoffset:1}
.norda-usp [data-nm=in] svg :is(path,circle,rect,line,polyline,polygon,ellipse){stroke-dashoffset:0;transition:stroke-dashoffset .7s var(--n-ease) calc(var(--nm-delay,0ms) + 150ms)}
@keyframes nm-mq{to{translate:-50% 0}}
@media (max-width:899px){
  .norda-usp:not(.norda-motion--none) .flex-usp-bar>.container>div{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;gap:0}
  .norda-usp:not(.norda-motion--none) .flex-usp-bar>.container>div::-webkit-scrollbar{display:none}
  .norda-usp:not(.norda-motion--none) .flex-usp-bar>.container>div>*,.norda-usp .nm-track>*{flex:none;padding-right:32px;white-space:nowrap}
  .norda-usp .flex-usp-bar>.container.nm-mq-host{position:relative;padding-right:56px}
  .norda-usp .flex-usp-bar>.container>div.nm-marquee{position:relative;overflow:clip;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 64px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 64px),transparent)}
  .norda-usp .nm-track{display:flex;width:max-content;animation:nm-mq var(--nm-mq,24s) linear infinite}
  .norda-usp .nm-marquee:is([data-nm-paused="1"],[data-nm-off="1"],:hover,:focus-within) .nm-track{animation-play-state:paused}
  .norda-usp .nm-pause--mq{top:50%;bottom:auto;right:6px;width:44px;height:44px;margin-top:-22px;border-color:rgba(30,27,23,.35);background:#F5F1EA;color:#1E1B17}
  .norda-usp .nm-pause--mq:focus-visible{outline-color:#1E1B17}
  /* The hero's button already stops the bar; a second button saying "not paused" would contradict it. */
  html.nm-paused .norda-usp .nm-pause--mq{display:none}
}
@media (min-width:900px){
  .norda-usp .nm-track{display:contents}
  .norda-usp .nm-track>[aria-hidden]{display:none}
  .norda-usp .nm-pause--mq{display:none}
}

/* The hero's pause button freezes the motion layer where it stands; norda-still would snap it back and replay the
   entrance on resume. Same list as the kill switches below, so spinners and the toast timer keep running. */
html.nm-paused :is([data-norda-parallax],.norda-hero *,.nm-track,.norda-amb,.norda-newsletter .flex-newsletter,.norda-look__pin,.norda-showroom__dot,.norda-look__row),
html.nm-paused :is(.norda-amb,.norda-newsletter .flex-newsletter,.norda-look__pin,.norda-showroom__dot)::before,
html.nm-paused :is(.norda-amb,.norda-showroom__dot)::after{animation-play-state:paused!important}

/* Kill switches: reduced motion, Save-Data (set inline in the head) and the builder. */
@media (prefers-reduced-motion:reduce){
  [data-norda-parallax]{animation:none!important;scale:none!important;translate:none!important}
  .norda-hero *,.norda-amb::before,.norda-amb::after,.norda-newsletter .flex-newsletter::before,.nm-track,.norda-look__pin::before,.norda-showroom__dot::after{animation:none!important}
  .norda-usp .nm-pause--mq{display:none}
}
.norda-still [data-norda-parallax],.norda-edit [data-norda-parallax]{animation:none!important;scale:none!important;translate:none!important}
:is(.norda-still,.norda-edit) .norda-hero *,:is(.norda-still,.norda-edit) .nm-track,:is(.norda-still,.norda-edit) .norda-amb::before,:is(.norda-still,.norda-edit) .norda-newsletter .flex-newsletter::before,:is(.norda-still,.norda-edit) .norda-look__pin::before,:is(.norda-still,.norda-edit) .norda-showroom__dot::after{animation:none!important}
