/* ================= Tokens ================= */
.nm-root{
  --nm-bg:#F1EBEE; --nm-surface:#F3EDF0; --nm-sunk:#EAE2E7;
  --nm-text:#2A0D20; --nm-text-2:#45323E; --nm-muted:#5A4653;
  --nm-brand:#711850; --nm-brand-strong:#58113E; --nm-brand-tint:#F2E4EC; --nm-brand-soft:#F3C9E0; --nm-on-brand:#FFFFFF; --nm-on-plum:#F6E8F0; --nm-brand-mid:#B4689A;
  --nm-error:#A3162E; --nm-error-tint:#FBE9EC;
  --nm-line:rgba(113,24,80,.14); --nm-line-strong:rgba(113,24,80,.34);
  --nm-dark:rgba(110,70,94,.20); --nm-dark-2:rgba(110,70,94,.26);
  --nm-raise-1:0 1px 2px rgba(110,70,94,.12),3px 4px 10px var(--nm-dark);
  --nm-raise-2:0 2px 4px rgba(110,70,94,.10),6px 8px 20px var(--nm-dark);
  --nm-raise-3:0 2px 4px rgba(110,70,94,.12),10px 14px 30px var(--nm-dark-2);
  --nm-inset:inset 2px 2px 6px var(--nm-dark);
  --nm-inset-deep:inset 3px 3px 8px var(--nm-dark-2);
  --nm-plum-dark:rgba(0,0,0,.42);
  --nm-plum-raise:4px 6px 14px var(--nm-plum-dark);
  --nm-plum-raise-2:6px 10px 22px var(--nm-plum-dark);
  --nm-r-lg:24px; --nm-r-md:20px; --nm-r-sm:16px; --nm-r-ctl:12px;
  --nm-gutter:clamp(16px,4vw,48px); --nm-section:clamp(56px,8vw,120px); --nm-stack:clamp(28px,3.6vw,48px);
  --nm-fs-h1:clamp(44px,6.6vw,96px); --nm-fs-h2:clamp(32px,4vw,54px); --nm-fs-h3:clamp(21px,1.8vw,24px); --nm-fs-lead:clamp(17px,1.35vw,19px);
  --nm-dur:250ms; --nm-ease:cubic-bezier(.22,1,.36,1); --nm-ease-soft:cubic-bezier(.22,1,.36,1); --nm-focus:#711850;
  --nm-header:76px;
  background:var(--nm-bg); color:var(--nm-text); font-family:Manrope,'Helvetica Neue',Arial,sans-serif; overflow-x:hidden; overflow-x:clip; position:relative;
}
body{margin:0;background:#F1EBEE}
html{scroll-behavior:smooth}
a{color:#711850}a:not(.nm-btn):hover{color:#58113E}
.nm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ================= Layout & type ================= */
.nm-wrap{max-width:1280px;margin:0 auto;padding-left:var(--nm-gutter);padding-right:var(--nm-gutter);box-sizing:border-box;position:relative}
.nm-section{position:relative;padding-top:var(--nm-section);padding-bottom:var(--nm-section);scroll-margin-top:calc(var(--nm-header) + 12px)}
.nm-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--nm-brand);margin:0}
.nm-eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor}
.nm-h1{margin:0;font-family:Fraunces,Georgia,serif;font-weight:400;font-size:var(--nm-fs-h1);line-height:.98;letter-spacing:-.03em;color:var(--nm-text)}
.nm-h2{margin:0;font-family:Fraunces,Georgia,serif;font-weight:400;font-size:var(--nm-fs-h2);line-height:1.06;letter-spacing:-.02em;color:inherit}
.nm-h3{margin:0;font-family:Fraunces,Georgia,serif;font-weight:400;font-size:var(--nm-fs-h3);line-height:1.25;color:inherit}
.nm-h1 em,.nm-h2 em{color:var(--nm-brand)}
.nm-onplum .nm-h2 em{color:var(--nm-brand-soft)}
.nm-lead{margin:0;font-size:var(--nm-fs-lead);line-height:1.65;color:var(--nm-text-2)}
.nm-body{margin:0;font-size:16px;line-height:1.7;color:var(--nm-text-2)}
.nm-small{margin:0;font-size:14px;line-height:1.6;color:var(--nm-muted)}
.nm-head{display:flex;flex-direction:column;gap:14px;max-width:720px}

/* ================= Surfaces ================= */
.nm-card{background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:var(--nm-r-lg);box-shadow:var(--nm-raise-2)}
.nm-card-sm{background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:var(--nm-r-sm);box-shadow:var(--nm-raise-1)}
.nm-well{background:var(--nm-sunk);border:1px solid var(--nm-line);border-radius:var(--nm-r-md);box-shadow:var(--nm-inset)}
.nm-plum{background:var(--nm-brand);color:var(--nm-on-brand);border-radius:var(--nm-r-lg)}
.nm-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--nm-brand);background:var(--nm-brand-tint);border:1px solid var(--nm-line);padding:5px 11px;border-radius:999px}
.nm-tag-plum{display:inline-flex;font-size:12px;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.45);padding:5px 11px;border-radius:999px}
.nm-num{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:var(--nm-brand-tint);border:1px solid var(--nm-line);color:var(--nm-brand);display:flex;align-items:center;justify-content:center;font-family:Fraunces,Georgia,serif;font-size:17px}

/* ================= Buttons ================= */
.nm-btn{position:relative;overflow:hidden;box-sizing:border-box;font-family:Manrope,Arial,sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:var(--nm-r-ctl);font-weight:700;font-size:15px;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;isolation:isolate;transition:box-shadow var(--nm-dur) var(--nm-ease),background-color var(--nm-dur) var(--nm-ease),color var(--nm-dur) var(--nm-ease),border-color var(--nm-dur) var(--nm-ease),transform var(--nm-dur) var(--nm-ease)}
.nm-btn svg,.nm-btn .nm-ico{transition:transform 400ms var(--nm-ease)}
.nm-btn:hover svg,.nm-btn:hover .nm-ico{transform:translate(2px,-2px)}
.nm-btn-primary{background:var(--nm-brand);color:var(--nm-on-brand);border:1px solid var(--nm-brand-strong);box-shadow:var(--nm-raise-1)}
.nm-btn-primary::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--nm-brand-strong);transform:scaleX(0);transform-origin:right;transition:transform 500ms var(--nm-ease)}
.nm-btn-primary:hover{color:#fff;box-shadow:var(--nm-raise-2)}
.nm-btn-primary:hover::before{transform:scaleX(1);transform-origin:left}
.nm-btn-primary:active{color:#fff;box-shadow:inset 3px 3px 7px rgba(0,0,0,.45);transform:scale(.98)}
.nm-btn-secondary{background:var(--nm-surface);color:var(--nm-brand);border:1px solid var(--nm-line-strong);box-shadow:var(--nm-raise-1)}
.nm-btn-secondary::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--nm-brand-tint);transform:scaleY(0);transform-origin:bottom;transition:transform 450ms var(--nm-ease)}
.nm-btn-secondary:hover{color:var(--nm-brand-strong);box-shadow:var(--nm-raise-2);border-color:var(--nm-brand)}
.nm-btn-secondary:hover::before{transform:scaleY(1)}
.nm-btn-secondary:active{background:var(--nm-sunk);box-shadow:var(--nm-inset);transform:scale(.98)}
.nm-btn-text{min-height:44px;padding:0 4px;color:var(--nm-brand);background:transparent;border:none;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.nm-btn-text:hover{text-decoration-thickness:2px}
.nm-btn-onplum{background:#fff;color:var(--nm-brand);border:1px solid #fff;box-shadow:var(--nm-plum-raise)}
.nm-btn-onplum::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--nm-brand-soft);transform:scaleX(0);transform-origin:right;transition:transform 500ms var(--nm-ease)}
.nm-btn-onplum:hover{color:var(--nm-brand-strong);box-shadow:var(--nm-plum-raise-2)}
.nm-btn-onplum:hover::before{transform:scaleX(1);transform-origin:left}
.nm-btn-onplum:active{transform:scale(.98)}
.nm-btn-sm{min-height:44px;padding:0 16px;font-size:14px}
.nm-btn-block{width:100%}

/* ================= Tiles with colour wipe ================= */
.nm-tile{position:relative;display:flex;align-items:center;gap:16px;background-color:var(--nm-surface);background-image:linear-gradient(var(--nm-brand-tint),var(--nm-brand-tint));background-repeat:no-repeat;background-size:0% 100%;background-position:left;border:1px solid var(--nm-line);border-radius:var(--nm-r-md);box-shadow:var(--nm-raise-1);color:var(--nm-text);text-decoration:none;transition:background-size 380ms var(--nm-ease),box-shadow var(--nm-dur) var(--nm-ease),color 260ms var(--nm-ease),border-color var(--nm-dur) var(--nm-ease),transform var(--nm-dur) var(--nm-ease)}
.nm-tile .nm-tile-sub{transition:color 400ms var(--nm-ease)}
.nm-tile .nm-tile-mark{transition:background-color 400ms var(--nm-ease),color 400ms var(--nm-ease),transform 500ms var(--nm-ease)}
.nm-tile .nm-arrow{transition:transform 400ms var(--nm-ease),color 400ms var(--nm-ease)}
@media (hover:hover){
  .nm-tile:hover{background-size:100% 100%;color:var(--nm-text);border-color:var(--nm-line-strong);box-shadow:var(--nm-raise-2)}
  .nm-tile:hover .nm-tile-mark{transform:scale(1.04)}
  .nm-tile:hover .nm-arrow{color:var(--nm-brand-strong);transform:translate(3px,-3px)}
}
.nm-tile:active{transform:scale(.99);box-shadow:var(--nm-inset)}

/* ================= Plum method cards ================= */
.nm-plum-link{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:#fff;background:#7A1C57;border:1px solid rgba(255,255,255,.16);border-radius:var(--nm-r-md);box-shadow:var(--nm-plum-raise);transition:box-shadow 600ms var(--nm-ease),border-color 600ms var(--nm-ease),transform 600ms var(--nm-ease)}
.nm-plum-link::before{content:"";position:absolute;inset:0;z-index:-1;background:#86235F;transform:scaleY(0);transform-origin:bottom;transition:transform 700ms var(--nm-ease)}
.nm-plum-link:hover::before,.nm-plum-link:focus-visible::before{transform:scaleY(1)}
.nm-plum-link::after{content:"";position:absolute;z-index:-1;width:220px;height:220px;right:-90px;top:-90px;border-radius:999px;border:1px solid rgba(243,201,224,.35);transition:transform 1200ms var(--nm-ease),border-color 800ms var(--nm-ease)}
.nm-plum-link:hover{color:#fff;border-color:rgba(255,255,255,.4);box-shadow:var(--nm-plum-raise-2);transform:translateY(-6px)}
.nm-plum-link:hover::after,.nm-plum-link:focus-visible::after{transform:scale(1.4);border-color:rgba(243,201,224,.5)}
.nm-plum-link:active{transform:translateY(-2px);box-shadow:inset 4px 4px 10px var(--nm-plum-dark)}
.nm-plum-link .nm-cta{display:inline-flex;align-items:center;gap:8px;margin-top:auto;font-weight:700;font-size:14px;min-height:44px;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);align-self:flex-start;transition:border-color 500ms var(--nm-ease),gap 500ms var(--nm-ease)}
.nm-plum-link:hover .nm-cta{border-color:#fff;gap:12px}
.nm-plum-link .nm-arrow{transition:transform 500ms var(--nm-ease)}
.nm-plum-link:hover .nm-arrow{transform:translate(3px,-3px)}
.nm-ico-box{transition:transform 700ms var(--nm-ease),background-color 600ms var(--nm-ease),border-color 600ms var(--nm-ease)}
.nm-plum-link:hover .nm-ico-box,.nm-plum-link:focus-visible .nm-ico-box{transform:translateY(-3px) rotate(-6deg);background-color:rgba(255,255,255,.18);border-color:rgba(255,255,255,.45)}
.nm-card-num{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--nm-brand-soft);transition:letter-spacing 600ms var(--nm-ease),color 600ms var(--nm-ease)}
.nm-card-num b{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 6px;box-sizing:border-box;border-radius:10px;border:1px solid rgba(243,201,224,.45);font-family:Fraunces,Georgia,serif;font-weight:400;font-size:15px;letter-spacing:0;color:#fff;transition:background-color 600ms var(--nm-ease),color 600ms var(--nm-ease),border-color 600ms var(--nm-ease),transform 700ms var(--nm-ease)}
.nm-plum-link:hover .nm-card-num,.nm-plum-link:focus-visible .nm-card-num{color:#fff;letter-spacing:.2em}
.nm-plum-link:hover .nm-card-num b,.nm-plum-link:focus-visible .nm-card-num b{background-color:#fff;color:var(--nm-brand);border-color:#fff;transform:translateY(-2px) scale(1.06)}
.nm-ico-box{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center}
@keyframes nm-bubble{0%{transform:translateY(0);opacity:0}30%{opacity:1}100%{transform:translateY(-9px);opacity:0}}
.nm-flask .b1,.nm-flask .b2{animation:nm-bubble 1.8s ease-in infinite}
.nm-flask .b2{animation-delay:.9s}
@keyframes nm-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
.nm-net circle{transform-box:fill-box;transform-origin:center;animation:nm-pulse 2.4s ease-in-out infinite}
.nm-net circle:nth-child(2){animation-delay:.3s}.nm-net circle:nth-child(3){animation-delay:.6s}.nm-net circle:nth-child(4){animation-delay:.9s}
@keyframes nm-draw{0%,15%{stroke-dashoffset:20}55%,100%{stroke-dashoffset:0}}
.nm-check{stroke-dasharray:20;animation:nm-draw 2.6s ease-in-out infinite alternate}

/* ================= Forms ================= */
.nm-field{font-family:inherit;font-size:16px;line-height:1.5;color:var(--nm-text);background:var(--nm-sunk);border:1px solid var(--nm-line-strong);border-radius:var(--nm-r-ctl);box-shadow:var(--nm-inset);padding:12px 15px;min-height:48px;box-sizing:border-box;width:100%;transition:border-color var(--nm-dur) var(--nm-ease),box-shadow var(--nm-dur) var(--nm-ease),background-color var(--nm-dur) var(--nm-ease)}
.nm-field::placeholder{color:#6A5662}
.nm-field:hover{border-color:rgba(113,24,80,.5)}
.nm-field:focus{outline:none;border-color:var(--nm-brand);background:var(--nm-surface);box-shadow:var(--nm-inset-deep),0 0 0 3px rgba(113,24,80,.22)}
.nm-field[aria-invalid="true"]{border:1.5px solid var(--nm-error);background:var(--nm-error-tint);animation:nm-shake 320ms ease}
@keyframes nm-shake{0%,100%{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.nm-label{font-size:13px;font-weight:700;color:var(--nm-text)}
.nm-err{margin:0;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--nm-error)}
.nm-chip{font-family:Manrope,Arial,sans-serif;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 15px;border-radius:var(--nm-r-ctl);font-size:14px;font-weight:700;cursor:pointer;background:var(--nm-surface);color:var(--nm-text-2);border:1px solid var(--nm-line-strong);box-shadow:var(--nm-raise-1);transition:box-shadow var(--nm-dur) var(--nm-ease),color var(--nm-dur) var(--nm-ease),background-color var(--nm-dur) var(--nm-ease),border-color var(--nm-dur) var(--nm-ease),transform var(--nm-dur) var(--nm-ease)}
.nm-chip:hover{box-shadow:var(--nm-raise-2);color:var(--nm-brand)}
.nm-chip:active{box-shadow:var(--nm-inset);transform:scale(.97)}
.nm-chip .nm-chip-dot{width:8px;height:8px;border-radius:999px;border:1.5px solid var(--nm-line-strong);box-sizing:border-box;transition:transform 300ms var(--nm-ease-soft),background-color var(--nm-dur)}
.nm-chip[aria-pressed="true"]{background:var(--nm-sunk);color:var(--nm-brand);border:1.5px solid var(--nm-brand);box-shadow:var(--nm-inset)}
.nm-chip[aria-pressed="true"] .nm-chip-dot{background:var(--nm-brand);border-color:var(--nm-brand);transform:scale(1.25)}

/* ================= Header & navigation ================= */
.nm-header{position:sticky;top:0;z-index:30;background:var(--nm-bg);padding:8px var(--nm-gutter)}
.nm-nav{position:relative;overflow:hidden;max-width:1280px;margin:0 auto;box-sizing:border-box;border-radius:18px;padding:6px 8px 6px 14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;min-height:56px}
.nm-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--nm-brand);transform-origin:left;transform:scaleX(0)}
.nm-navlink{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;color:var(--nm-text);text-decoration:none;font-weight:600;font-size:14px;transition:background-color var(--nm-dur) var(--nm-ease),color var(--nm-dur) var(--nm-ease),box-shadow var(--nm-dur) var(--nm-ease)}
.nm-navlink::after{content:"";position:absolute;left:12px;right:12px;bottom:7px;height:2px;border-radius:2px;background:var(--nm-brand);transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--nm-ease)}
.nm-navlink:hover{color:var(--nm-brand)}
.nm-navlink:hover::after{transform:scaleX(1)}
.nm-navlink[aria-current="location"]{color:var(--nm-brand);background:var(--nm-sunk);box-shadow:var(--nm-inset);font-weight:800}
.nm-navlink[aria-current="location"]::after{transform:scaleX(1)}
.nm-navlinks{display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.nm-menu-btn{display:none}
.nm-brandtext{display:flex}
@keyframes nm-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes nm-item-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@media (max-width:1100px){
  .nm-menu-btn{display:inline-flex}
  .nm-navlinks{display:none;width:100%;flex-direction:column;align-items:stretch;gap:4px;padding:8px 0 6px;border-top:1px solid var(--nm-line);margin-top:2px}
  .nm-navlinks.is-open{display:flex;animation:nm-menu-in 220ms var(--nm-ease)}
  .nm-navlinks.is-open > *{animation:nm-item-in 260ms var(--nm-ease) both}
  .nm-navlinks.is-open > :nth-child(2){animation-delay:30ms}.nm-navlinks.is-open > :nth-child(3){animation-delay:60ms}.nm-navlinks.is-open > :nth-child(4){animation-delay:90ms}.nm-navlinks.is-open > :nth-child(5){animation-delay:120ms}.nm-navlinks.is-open > :nth-child(6){animation-delay:150ms}
  .nm-navlinks .nm-navlink{padding:0 14px}
  .nm-navlinks .nm-navlink::after{display:none}
  .nm-navlinks .nm-btn{width:100%;margin-top:4px;margin-left:0 !important}
  .nm-root .nm-navlinks a:focus-visible{outline-offset:-3px}
}
@media (max-width:560px){.nm-brandtext,.nm-brandrule{display:none}.nm-logo{height:32px !important}}

/* ================= Focus ================= */
.nm-root a:focus-visible,.nm-root button:focus-visible{outline:3px solid var(--nm-focus);outline-offset:3px}
.nm-root .nm-onplum a:focus-visible,.nm-root .nm-onplum button:focus-visible{outline-color:#FFFFFF}
.nm-root .nm-field:focus-visible{outline:3px solid var(--nm-focus);outline-offset:2px}
.nm-skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--nm-brand);color:#fff;padding:12px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.nm-skip:focus,.nm-skip:hover{top:12px;color:#fff}

/* ================= Hero ================= */
.nm-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,5vw,72px);align-items:center}
.nm-w{display:inline-block;animation:nm-rise 900ms var(--nm-ease) both}
@keyframes nm-rise{from{opacity:0;transform:translateY(.45em) rotate(2deg)}to{opacity:1;transform:none}}
.nm-fade-up{animation:nm-fadeup 800ms var(--nm-ease) both}
@keyframes nm-fadeup{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.nm-stage{position:relative;width:min(100%,500px);aspect-ratio:1/1.08;justify-self:center}
.nm-blob-bg{position:absolute;inset:6% 2% 0 8%;background:var(--nm-brand-tint);border:1px solid var(--nm-line-strong);box-shadow:var(--nm-inset);border-radius:46% 54% 42% 58% / 52% 40% 60% 48%;animation:nm-morph 16s ease-in-out infinite alternate}
.nm-blob-img{position:absolute;inset:0 8% 6% 4%;overflow:hidden;border:6px solid var(--nm-surface);box-shadow:var(--nm-raise-3);border-radius:58% 42% 50% 50% / 46% 54% 46% 54%;animation:nm-morph2 18s ease-in-out infinite alternate}
.nm-blob-img img{width:100%;height:100%;object-fit:cover;object-position:center 16%;display:block;animation:nm-kenburns 22s ease-in-out infinite alternate}
@keyframes nm-morph{0%{border-radius:46% 54% 42% 58% / 52% 40% 60% 48%}50%{border-radius:58% 42% 55% 45% / 42% 58% 42% 58%}100%{border-radius:40% 60% 48% 52% / 60% 44% 56% 40%}}
@keyframes nm-morph2{0%{border-radius:58% 42% 50% 50% / 46% 54% 46% 54%}50%{border-radius:48% 52% 40% 60% / 56% 44% 56% 44%}100%{border-radius:52% 48% 58% 42% / 44% 56% 44% 56%}}
@keyframes nm-kenburns{from{transform:scale(1.02)}to{transform:scale(1.1) translateY(-1.5%)}}
.nm-orbit-ring{position:absolute;inset:-4%;border:1.5px dashed var(--nm-brand-mid);border-radius:999px;opacity:.55;animation:nm-spin 60s linear infinite}
.nm-orbit-ring::before,.nm-orbit-ring::after{content:"";position:absolute;width:12px;height:12px;border-radius:999px;background:var(--nm-brand);top:12%;left:12%}
.nm-orbit-ring::after{width:8px;height:8px;top:auto;left:auto;bottom:6%;right:22%;background:var(--nm-brand-mid)}
.nm-float{position:absolute;z-index:2;animation:nm-bob 6s ease-in-out infinite}
@keyframes nm-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.nm-chipf{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;color:var(--nm-text);background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:14px;box-shadow:var(--nm-raise-2);white-space:nowrap}
.nm-chipf i{width:8px;height:8px;border-radius:999px;background:var(--nm-brand);display:inline-block}
.nm-count{display:inline-block;overflow:hidden;height:1em;line-height:1}
.nm-count > span{display:inline-block;animation:nm-roll 1400ms 500ms cubic-bezier(.22,1,.36,1) both}
@keyframes nm-roll{0%{transform:translateY(110%);opacity:0}60%{opacity:1}100%{transform:none;opacity:1}}
.nm-scroll-cue{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nm-muted);text-decoration:none;min-height:44px}
.nm-scroll-cue span{width:22px;height:36px;border:1.5px solid var(--nm-line-strong);border-radius:12px;position:relative}
.nm-scroll-cue span::after{content:"";position:absolute;left:50%;top:7px;width:4px;height:7px;margin-left:-2px;border-radius:2px;background:var(--nm-brand);animation:nm-cue 1.8s ease-in-out infinite}
@keyframes nm-cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(12px)}}

/* ================= Kinetic ticker ================= */
.nm-star{width:16px;height:16px;flex-shrink:0;animation:nm-spin 8s linear infinite}
@keyframes nm-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ================= Layout compositions ================= */
.nm-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center}
.nm-split-rev{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.nm-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.2vw,28px)}
.nm-tilt{transition:transform 700ms var(--nm-ease),box-shadow 700ms var(--nm-ease)}
@media (hover:hover){.nm-tilt:hover{transform:perspective(1200px) rotateY(-2deg) rotateX(1deg) translateY(-3px);box-shadow:var(--nm-raise-3)}}
.nm-about-photo{position:relative;margin:0}
.nm-about-photo .nm-shape{position:absolute;inset:auto -18px -18px auto;width:62%;height:62%;border-radius:var(--nm-r-lg);background:var(--nm-brand);z-index:0}
.nm-about-photo .nm-frame-in{position:relative;z-index:1;background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:var(--nm-r-lg);box-shadow:var(--nm-raise-2);padding:10px;overflow:hidden}
.nm-about-photo img{display:block;width:100%;height:auto;aspect-ratio:4/4.4;object-fit:cover;object-position:center 22%;border-radius:16px}
.nm-sig{position:absolute;z-index:2;left:-14px;bottom:28px;padding:12px 16px;background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:14px;box-shadow:var(--nm-raise-2);font-family:Fraunces,Georgia,serif;font-style:italic;font-size:18px;color:var(--nm-brand)}

/* Orbit diagram */
.nm-sys{--r:clamp(112px,15vw,170px);position:relative;width:calc(var(--r) * 2 + 120px);max-width:100%;aspect-ratio:1;justify-self:center}
.nm-sys-ring{position:absolute;inset:60px;border-radius:999px;border:1.5px dashed rgba(243,201,224,.5)}
.nm-sys-ring.r2{inset:calc(60px + var(--r) * .38);border-style:solid;border-color:rgba(243,201,224,.22)}
.nm-sys-core{position:absolute;left:50%;top:50%;width:clamp(112px,12vw,140px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:999px;background:#fff;color:var(--nm-brand);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 0 0 12px rgba(243,201,224,.14),0 0 0 26px rgba(243,201,224,.07),var(--nm-plum-raise-2);animation:nm-core 4s ease-in-out infinite}
@keyframes nm-core{0%,100%{box-shadow:0 0 0 12px rgba(243,201,224,.14),0 0 0 26px rgba(243,201,224,.07),var(--nm-plum-raise-2)}50%{box-shadow:0 0 0 18px rgba(243,201,224,.18),0 0 0 36px rgba(243,201,224,.06),var(--nm-plum-raise-2)}}
.nm-sys-spin{position:absolute;inset:0;animation:nm-spin 48s linear infinite}
.nm-sys-node{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateX(var(--r)) rotate(calc(var(--a) * -1))}
.nm-sys-node > span{position:absolute;left:0;top:0;width:0;height:0;display:block;animation:nm-spin 48s linear infinite reverse}
.nm-sys-node b{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:700;white-space:nowrap;color:#fff;background:#7A1C57;border:1px solid rgba(255,255,255,.3);border-radius:12px;box-shadow:var(--nm-plum-raise)}
.nm-sys-node b i{width:8px;height:8px;border-radius:999px;background:var(--nm-brand-soft);display:inline-block}
@media (hover:hover){.nm-sys:hover .nm-sys-spin,.nm-sys:hover .nm-sys-node > span{animation-play-state:paused}}

/* Approach + character */
.nm-approach{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);align-items:end}
.nm-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.nm-steps li{position:relative;display:flex;gap:16px;padding:20px 0 20px 0;border-top:1px solid var(--nm-line);transition:transform 450ms var(--nm-ease)}
.nm-steps li:hover{transform:translateX(3px)}
.nm-steps li .nm-num{transition:background-color 400ms var(--nm-ease),color 400ms var(--nm-ease),border-color 400ms var(--nm-ease)}
.nm-steps li:hover .nm-num{background:var(--nm-brand);color:#fff;border-color:var(--nm-brand)}
.nm-steps li:first-child{border-top:2px solid var(--nm-brand)}
.nm-char{position:relative;justify-self:center;width:min(100%,380px);padding-top:64px;margin:0}
.nm-char-stage{position:relative;height:clamp(380px,38vw,500px);clip-path:inset(-220px -40px 0 -40px round 0 0 24px 24px)}
.nm-char-arch{position:absolute;left:0;right:0;bottom:0;height:78%;background:var(--nm-brand-tint);border:1px solid var(--nm-line-strong);border-radius:999px 999px 24px 24px;box-shadow:var(--nm-inset);overflow:hidden}
.nm-char-img{position:absolute;left:50%;bottom:-18%;width:82%;height:auto;margin-left:-38%;display:block;animation:nm-bob 5s ease-in-out infinite;transform-origin:bottom center}
.nm-bubble{position:absolute;left:-6px;top:0;z-index:2;max-width:220px;background:var(--nm-surface);border:1px solid var(--nm-line-strong);border-radius:16px 16px 16px 4px;box-shadow:var(--nm-raise-2);padding:10px 14px;display:flex;flex-direction:column;gap:2px;transform-origin:bottom left;animation:nm-pop 5s var(--nm-ease-soft) infinite}
@keyframes nm-pop{0%{transform:scale(.6);opacity:0}8%,88%{transform:scale(1);opacity:1}96%,100%{transform:scale(.6);opacity:0}}
.nm-dots{display:inline-flex;gap:4px;margin-top:4px}
.nm-dots i{width:5px;height:5px;border-radius:999px;background:var(--nm-brand-mid);animation:nm-typing 1.2s ease-in-out infinite}
.nm-dots i:nth-child(2){animation-delay:.15s}.nm-dots i:nth-child(3){animation-delay:.3s}
@keyframes nm-typing{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}

/* Programs journey */
.nm-journey{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.2vw,28px);padding-top:44px}
.nm-journey-line{position:absolute;left:8%;right:8%;top:14px;height:3px;border-radius:3px;background-image:repeating-linear-gradient(90deg,var(--nm-brand) 0 12px,transparent 12px 22px);background-size:22px 3px;animation:nm-dash 1.2s linear infinite;opacity:.7}
@keyframes nm-dash{to{background-position:22px 0}}
.nm-journey-dot{position:absolute;top:0;left:50%;width:30px;height:30px;margin-left:-15px;border-radius:999px;background:var(--nm-surface);border:2px solid var(--nm-brand);box-shadow:var(--nm-raise-1);display:flex;align-items:center;justify-content:center}
.nm-journey-dot::after{content:"";width:10px;height:10px;border-radius:999px;background:var(--nm-brand);animation:nm-pulse 2s ease-in-out infinite}
.nm-prog{position:relative;transition:transform 500ms var(--nm-ease),box-shadow 500ms var(--nm-ease)}
.nm-prog .nm-big{display:inline-block;transition:transform 600ms var(--nm-ease)}
@media (hover:hover){.nm-prog:hover{transform:translateY(-4px)}.nm-prog:hover .nm-big{transform:scale(1.05)}.nm-prog.nm-card:hover{box-shadow:var(--nm-raise-3)}}
.nm-prog-pos{position:absolute;top:-44px;left:50%;transform:translateX(-50%)}

/* Highlight marker */
.nm-mark{background-image:linear-gradient(transparent 62%,rgba(243,201,224,.95) 62%);background-repeat:no-repeat;background-size:100% 100%;padding:0 .08em}

/* Book */
.nm-book-wrap{perspective:1200px;justify-self:center;animation:nm-bob 7s ease-in-out infinite}
.nm-book{position:relative;width:min(70vw,250px);aspect-ratio:2/3;transform-style:preserve-3d;transform:rotateY(-22deg) rotateX(3deg);transition:transform 900ms var(--nm-ease)}
.nm-book-wrap:hover .nm-book{transform:rotateY(-12deg) rotateX(1deg)}
.nm-book-face{position:absolute;inset:0;background:var(--nm-brand);color:#fff;border-radius:4px 14px 14px 4px;border:1px solid var(--nm-brand-strong);box-shadow:var(--nm-raise-3),inset 8px 0 12px rgba(0,0,0,.35);padding:26px 22px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.nm-book-spine{position:absolute;top:0;bottom:0;left:0;width:28px;background:var(--nm-brand-strong);transform:rotateY(90deg) translateZ(14px) translateX(-14px);transform-origin:left}

/* Footer giant ticker */
.nm-giant{overflow:hidden;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.18)}
.nm-giant-row{display:inline-flex;gap:28px;padding:10px 0 12px;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:clamp(26px,3.6vw,48px);line-height:1;color:var(--nm-brand-soft);animation:nm-marquee 34s linear infinite}
.nm-foot-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:16px 32px;align-items:start}
.nm-foot-nav{display:flex;flex-wrap:wrap;align-items:center;column-gap:18px}
.nm-foot-nav .nm-eyebrow{flex-basis:100%}
.nm-foot-link{color:#fff;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:0;transition:transform 300ms var(--nm-ease),color 300ms var(--nm-ease)}
.nm-foot-link::before{content:"";width:0;height:2px;background:var(--nm-brand-soft);transition:width 400ms var(--nm-ease),margin 400ms var(--nm-ease)}
.nm-foot-link:hover{color:var(--nm-brand-soft)}
.nm-foot-link:hover::before{width:14px;margin-right:8px}

/* ================= Scroll reveals (progressive) ================= */
@supports (animation-timeline: view()){
  .nm-rv{animation:nm-rv linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
  .nm-rv-l{animation:nm-rvl linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
  .nm-rv-r{animation:nm-rvr linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
  .nm-rv-s{animation:nm-rvs linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
  .nm-mark{background-size:0% 100%;animation:nm-markgrow linear both;animation-timeline:view();animation-range:entry 40% cover 45%}
  .nm-progress{animation:nm-prog linear both;animation-timeline:scroll(root)}
  .nm-par{animation:nm-par linear both;animation-timeline:view();animation-range:cover}
}
@keyframes nm-rv{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes nm-rvl{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}
@keyframes nm-rvr{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
@keyframes nm-rvs{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}
@keyframes nm-markgrow{to{background-size:100% 100%}}
@keyframes nm-prog{to{transform:scaleX(1)}}
@keyframes nm-par{from{transform:translateY(40px)}to{transform:translateY(-40px)}}
@keyframes nm-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* ================= Responsive ================= */
@media (max-width:960px){
  .nm-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nm-grid-3 > :last-child:nth-child(odd){grid-column:1 / -1}
  .nm-journey{grid-template-columns:minmax(0,1fr);padding-top:0;padding-left:44px}
  .nm-journey-line{left:14px;right:auto;top:20px;bottom:20px;width:3px;height:auto;background-image:repeating-linear-gradient(180deg,var(--nm-brand) 0 12px,transparent 12px 22px);background-size:3px 22px;animation-name:nm-dashv}
  .nm-prog-pos{top:24px;left:-44px;transform:none}
}
@keyframes nm-dashv{to{background-position:0 22px}}
@media (max-width:860px){
  .nm-hero,.nm-split,.nm-split-rev,.nm-approach{grid-template-columns:minmax(0,1fr)}
  .nm-char{width:min(100%,320px)}
  .nm-char-stage{height:360px}
}
@media (max-width:640px){
  .nm-grid-3{grid-template-columns:minmax(0,1fr)}
  .nm-stage{width:min(100%,360px)}
  .nm-hide-sm{display:none !important}
  .nm-root{--nm-section:52px}
  .nm-char{width:min(100%,280px)}
  .nm-char-stage{height:320px}
  .nm-sig{left:10px}
  .nm-about-photo .nm-shape{inset:auto -8px -10px auto}
  .nm-sys{--r:92px;width:100%;max-width:340px}
  .nm-sys-ring{inset:44px}
  .nm-sys-core{width:96px}
  .nm-sys-node b{font-size:11.5px;padding:6px 9px;gap:6px}
  .nm-orbit-ring{inset:1%}
}



/* ================= Full-width photo banner ================= */
.nm-hero-outer{padding:4px clamp(8px,2.4vw,32px) clamp(28px,3vw,44px)}
.nm-hero-full{position:relative;overflow:hidden;max-width:1344px;margin:0 auto;background:var(--nm-brand-strong);color:#fff;border-radius:var(--nm-r-lg);min-height:clamp(540px,74vh,720px);display:flex;align-items:center;box-shadow:var(--nm-raise-2)}
.nm-hero-photo{position:absolute;top:0;right:0;bottom:0;width:62%;margin:0}
.nm-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 16%;display:block;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 40%);mask-image:linear-gradient(to right,transparent 0,#000 40%);animation:nm-kenburns 24s ease-in-out infinite alternate}
.nm-hero-copy{position:relative;z-index:1;max-width:600px;display:flex;flex-direction:column;gap:clamp(16px,2vw,22px);padding:clamp(40px,6vw,72px) 0 clamp(64px,7vw,96px)}
.nm-hero-full .nm-h1{color:#fff;font-size:clamp(42px,5.6vw,82px)}
.nm-hero-full .nm-h1 em{color:var(--nm-brand-soft)}
.nm-hero-full .nm-eyebrow{color:var(--nm-brand-soft)}
.nm-hero-lead{margin:0;font-size:var(--nm-fs-lead);line-height:1.65;color:var(--nm-on-plum)}
.nm-btn-ghostplum{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6)}
.nm-btn-ghostplum::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.12);transform:scaleY(0);transform-origin:bottom;transition:transform 450ms var(--nm-ease)}
.nm-btn-ghostplum:hover{color:#fff;border-color:#fff}
.nm-btn-ghostplum:hover::before{transform:scaleY(1)}
.nm-btn-ghostplum:active{transform:scale(.98)}
.nm-hero-badge2{position:absolute;z-index:1;right:clamp(16px,3vw,40px);bottom:clamp(56px,6vw,76px);display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--nm-surface);color:var(--nm-text);border:1px solid var(--nm-line);border-radius:16px;box-shadow:var(--nm-plum-raise)}
.nm-hero-tagline{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.22)}
@media (max-width:860px){
  .nm-hero-full{flex-direction:column;align-items:stretch;min-height:0}
  .nm-hero-photo{position:relative;width:100%;height:clamp(220px,62vw,440px)}
  .nm-hero-photo img{object-position:center 12%;-webkit-mask-image:linear-gradient(to bottom,#000 58%,transparent 100%);mask-image:linear-gradient(to bottom,#000 58%,transparent 100%)}
  .nm-hero-copy{max-width:none;margin-top:-24px;padding:0 0 26px}
  .nm-hero-badge2{display:none}
}
@media (max-width:640px){
  .nm-hero-outer{padding:2px 10px 8px}
  .nm-hero-full .nm-h1{font-size:40px}
  .nm-hero-full{border-radius:20px}
  .nm-hero-photo img{animation:none}
}


/* ================= Signature frameworks bar ================= */
.nm-fw{position:relative;z-index:3;max-width:1280px;margin:-72px auto 0;padding:0 var(--nm-gutter);box-sizing:border-box}
.nm-fw-card{display:grid;grid-template-columns:236px repeat(4,minmax(0,1fr));background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:20px;box-shadow:var(--nm-raise-3);overflow:hidden}
.nm-fw-lead{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:20px 22px;background:var(--nm-sunk);box-shadow:var(--nm-inset);border-right:1px solid var(--nm-line)}
.nm-fw-lead .nm-eyebrow{font-size:11px;white-space:nowrap}
.nm-fw-lead .nm-eyebrow::before{display:none}
.nm-fw-title{margin:0;font-family:Fraunces,Georgia,serif;font-size:21px;line-height:1.2;color:var(--nm-text)}
.nm-fw-list{display:contents;list-style:none;margin:0;padding:0}
.nm-fw-item{display:flex;align-items:center;gap:12px;padding:20px;border-left:1px solid var(--nm-line);min-width:0}
.nm-fw-item:first-child{border-left:0}
.nm-fw-ico{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:var(--nm-brand-tint);border:1px solid var(--nm-line);color:var(--nm-brand);display:flex;align-items:center;justify-content:center}
.nm-fw-name{font-family:Fraunces,Georgia,serif;font-size:18px;line-height:1.25;color:var(--nm-text);text-wrap:balance}
.nm-fw-name small{display:block;margin-top:2px;font-family:Manrope,Arial,sans-serif;font-size:12px;font-weight:600;color:var(--nm-muted);letter-spacing:.02em}
/* frameworks: entrance, living icons, hover */
@keyframes nm-fw-in{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes nm-fw-pop{0%{scale:.6;opacity:0}100%{scale:1;opacity:1}}
@keyframes nm-fw-line{from{scale:0 1}to{scale:1 1}}
@keyframes nm-fw-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
@keyframes nm-fw-draw{0%{stroke-dashoffset:24}35%,72%{stroke-dashoffset:0}100%{stroke-dashoffset:-24}}
@keyframes nm-fw-drip{0%,100%{translate:0 -1px}50%{translate:0 1.6px}}
@keyframes nm-fw-glow{0%,100%{opacity:.2}50%{opacity:1}}
.nm-fw-title::after{content:"";display:block;width:36px;height:2px;margin-top:8px;border-radius:2px;background:var(--nm-brand);transform-origin:left;animation:nm-fw-line 900ms 1000ms var(--nm-ease) both,nm-fw-breathe 3.6s 2100ms ease-in-out infinite}
@keyframes nm-fw-breathe{0%,100%{scale:1 1}50%{scale:1.5 1}}
@keyframes nm-fw-word{from{opacity:0;translate:0 .55em}to{opacity:1;translate:0 0}}
@keyframes nm-fw-sheen{0%,55%{background-position:120% 0}100%{background-position:-20% 0}}
@keyframes nm-fw-ping{0%{transform:scale(1);opacity:.55}80%,100%{transform:scale(2.6);opacity:0}}
@keyframes nm-fw-dotin{from{scale:0}to{scale:1}}
.nm-fw-w{display:inline-block;animation:nm-fw-word 800ms 740ms var(--nm-ease) both}
.nm-fw-kicker{display:inline-flex;align-items:center;gap:8px}
.nm-fw-pulse{position:relative;flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--nm-brand);animation:nm-fw-dotin 500ms 650ms var(--nm-ease) both}
.nm-fw-pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--nm-brand);animation:nm-fw-ping 2.4s 1200ms ease-out infinite}

.nm-fw-item{animation:nm-fw-in 700ms var(--nm-ease) both}
.nm-fw-item:nth-child(1){animation-delay:850ms}.nm-fw-item:nth-child(2){animation-delay:930ms}.nm-fw-item:nth-child(3){animation-delay:1010ms}.nm-fw-item:nth-child(4){animation-delay:1090ms}
.nm-fw-ico{position:relative;animation:nm-fw-pop 750ms var(--nm-ease) both,nm-fw-float 4.2s ease-in-out infinite;transition:background-color 500ms var(--nm-ease),color 500ms var(--nm-ease),border-color 500ms var(--nm-ease),transform 600ms var(--nm-ease),box-shadow 500ms var(--nm-ease)}
.nm-fw-ico::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1.5px solid var(--nm-brand);opacity:0;pointer-events:none;animation:nm-fw-ripple 4.8s ease-out infinite}
.nm-fw-item:nth-child(1) .nm-fw-ico::after{animation-delay:2.0s}.nm-fw-item:nth-child(2) .nm-fw-ico::after{animation-delay:2.35s}.nm-fw-item:nth-child(3) .nm-fw-ico::after{animation-delay:2.7s}.nm-fw-item:nth-child(4) .nm-fw-ico::after{animation-delay:3.05s}
@keyframes nm-fw-float{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes nm-fw-ripple{0%{opacity:.6;transform:scale(1)}32%{opacity:0;transform:scale(1.7)}100%{opacity:0;transform:scale(1.7)}}
@keyframes nm-fw-sweep{0%{background-position:140% 0}38%,100%{background-position:-40% 0}}
.nm-fw-card{position:relative}
.nm-fw-card::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,transparent 38%,rgba(113,24,80,.08) 50%,transparent 62%);background-size:260% 100%;background-position:140% 0;animation:nm-fw-sweep 7s 2.6s ease-in-out infinite}
.nm-fw-item:nth-child(1) .nm-fw-ico{animation-delay:950ms,1.8s}.nm-fw-item:nth-child(2) .nm-fw-ico{animation-delay:1030ms,2.15s}.nm-fw-item:nth-child(3) .nm-fw-ico{animation-delay:1110ms,2.5s}.nm-fw-item:nth-child(4) .nm-fw-ico{animation-delay:1190ms,2.85s}
.nm-fw-name{transition:color 500ms var(--nm-ease)}
.nm-fw-item:hover .nm-fw-ico{background-color:var(--nm-brand);color:#fff;border-color:var(--nm-brand);transform:translateY(-3px) rotate(-6deg);box-shadow:var(--nm-raise-1)}
.nm-fw-item:hover .nm-fw-name{color:var(--nm-brand)}
.fw-net circle{transform-box:fill-box;transform-origin:center;animation:nm-fw-pulse 2.6s ease-in-out infinite}
.fw-net circle:nth-child(2){animation-delay:.3s}.fw-net circle:nth-child(3){animation-delay:.6s}.fw-net circle:nth-child(4){animation-delay:.9s}
.fw-l1,.fw-l2,.fw-shine{stroke-dasharray:24;stroke-dashoffset:24;animation:nm-fw-draw 3.4s var(--nm-ease) infinite}
.fw-l2{animation-delay:.35s}
.fw-shine{animation-duration:3s;animation-delay:.6s}
.fw-drop{animation:nm-fw-drip 3s ease-in-out infinite}
.fw-rays{animation:nm-fw-glow 2.2s ease-in-out infinite}
@media (max-width:1100px){
  .nm-fw-card{grid-template-columns:repeat(4,minmax(0,1fr))}
  .nm-fw-lead{grid-column:1 / -1;flex-direction:row;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:4px 16px;padding:14px 20px;border-right:0;border-bottom:1px solid var(--nm-line)}
  .nm-fw-item{padding:16px}
}
@media (max-width:860px){
  .nm-fw{margin-top:0}
  .nm-fw-card{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nm-fw-item:nth-child(3){border-left:0}
  .nm-fw-item:nth-child(n+3){border-top:1px solid var(--nm-line)}
}
@media (max-width:640px){
  .nm-fw{padding:0 10px}
  .nm-fw-card{border-radius:18px}
  .nm-fw-lead{padding:12px 16px}
  .nm-fw-item{gap:10px;padding:14px 12px}
  .nm-fw-ico{width:36px;height:36px;border-radius:10px}
  .nm-fw-ico svg{width:20px;height:20px}
  .nm-fw-name{font-size:15px}
  .nm-fw-name small{display:none}
}


/* ================= Book cover ================= */
.nm-book-real{position:relative;justify-self:center;margin:0;width:min(72vw,330px);padding-bottom:18px}
.nm-book-float{position:relative;z-index:1;animation:nm-bob 7s ease-in-out infinite}
.nm-book-real img{display:block;width:100%;height:auto;filter:drop-shadow(10px 18px 22px rgba(74,15,52,.26));transition:transform 700ms var(--nm-ease),filter 700ms var(--nm-ease)}
.nm-book-shadow{position:absolute;left:14%;right:8%;bottom:2px;height:20px;border-radius:50%;background:rgba(74,15,52,.22);filter:blur(10px);transition:transform 700ms var(--nm-ease),opacity 700ms var(--nm-ease)}
@media (hover:hover){
  .nm-book-real:hover img{transform:translateY(-6px) rotate(-1.5deg);filter:drop-shadow(14px 26px 28px rgba(74,15,52,.32))}
  .nm-book-real:hover .nm-book-shadow{transform:scaleX(.88);opacity:.7}
}
@media (max-width:640px){
  .nm-book-real{width:190px;padding-bottom:12px}
  .nm-book-float{animation:none}
}

.nm-ar{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0;overflow:visible}
.nm-ar-star{width:.5em;height:.5em;vertical-align:.12em}
/* ================= Accordions & mobile helpers ================= */
.nm-mb{display:none}
.nm-acc{border:1px solid var(--nm-line);border-radius:14px;background:var(--nm-surface);box-shadow:var(--nm-raise-1);overflow:hidden}
.nm-acc + .nm-acc{margin-top:10px}
.nm-acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 16px;font-weight:700;font-size:15px;line-height:1.35;color:var(--nm-text);-webkit-tap-highlight-color:transparent}
.nm-acc summary::-webkit-details-marker{display:none}
.nm-acc summary::after{content:"";flex-shrink:0;width:8px;height:8px;margin-right:4px;border-right:2px solid var(--nm-brand);border-bottom:2px solid var(--nm-brand);transform:translateY(-2px) rotate(45deg);transition:transform 300ms var(--nm-ease)}
.nm-acc[open] summary{color:var(--nm-brand)}
.nm-acc[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.nm-acc-body{padding:0 16px 14px}
.nm-acc[open] .nm-acc-body{animation:nm-fadeup 300ms var(--nm-ease)}
.nm-root summary:focus-visible{outline:3px solid var(--nm-focus);outline-offset:-3px}
.nm-swipe-hint{display:none}

@media (max-width:640px){
  .nm-dk{display:none !important}
  .nm-mb{display:block}
  .nm-root{--nm-section:44px;--nm-stack:22px;--nm-gutter:18px;--nm-fs-h1:40px;--nm-fs-h2:28px;--nm-fs-h3:20px;--nm-fs-lead:16px;--nm-header:68px}
  .nm-h1{line-height:1.02}
  .nm-h2{line-height:1.12;text-wrap:balance}
  .nm-h3{text-wrap:balance}
  .nm-eyebrow{font-size:11px;letter-spacing:.12em;gap:8px}
  .nm-eyebrow::before{width:14px}
  .nm-root .nm-body{font-size:16px !important;line-height:1.62}
  .nm-lead{line-height:1.6}
  .nm-btn{min-height:46px;padding:0 18px;font-size:15px}
  .nm-tag{font-size:12px;padding:4px 10px}
  .nm-header{padding:6px 12px;padding-top:calc(6px + env(safe-area-inset-top, 0px))}
  .nm-nav{min-height:52px;padding:4px 6px 4px 12px;border-radius:16px}
  .nm-hero{gap:22px}
  .nm-stage{width:100%;aspect-ratio:16/11}
  .nm-blob-bg,.nm-orbit-ring{display:none}
  .nm-blob-img{inset:0;border-radius:20px;border-width:4px;animation:none}
  .nm-blob-img img{object-position:center 12%;animation:none}
  .nm-stage .nm-float{left:10px !important;bottom:10px !important;animation:none}
  .nm-about-photo .nm-shape{display:none}
  .nm-about-photo img{aspect-ratio:16/11;object-position:center 20%}
  .nm-about-photo .nm-frame-in{padding:6px}
  .nm-sig{left:14px;bottom:14px;font-size:15px;padding:8px 12px}
  .nm-sys{--r:84px;max-width:300px}
  .nm-sys-ring{inset:40px}
  .nm-sys-core{width:88px}
  .nm-sys-node b{font-size:11.5px;padding:6px 9px}
  .nm-swipe{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 calc(var(--nm-gutter) * -1);padding:6px var(--nm-gutter) 16px;scroll-padding:0 var(--nm-gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nm-swipe::-webkit-scrollbar{display:none}
  .nm-swipe > *{flex:0 0 84%;scroll-snap-align:start;padding:20px !important}
  .nm-swipe-hint{display:flex;align-items:center;gap:8px;margin:-10px 0 0;font-size:13px;font-weight:600;color:var(--nm-brand-soft)}
  .nm-ico-box{width:44px;height:44px;border-radius:12px}
  .nm-steps li{padding:14px 0;gap:14px}
  .nm-steps .nm-num{width:38px;height:38px;font-size:15px}
  .nm-char{width:min(100%,240px);padding-top:52px}
  .nm-char-stage{height:250px}
  .nm-bubble{max-width:180px;padding:8px 12px;left:-18px;top:-6px}
  .nm-char{padding-top:60px}
  .nm-bubble span:first-child{font-size:16px !important}
  .nm-journey{padding-left:0;gap:14px}
  .nm-journey-line,.nm-prog-pos{display:none}
  .nm-prog{padding:18px !important;gap:10px !important}
  .nm-prog .nm-big{font-size:42px !important}
  .nm-work-photo img{aspect-ratio:16/9 !important}
  .nm-tile{gap:12px;padding:12px 14px !important}
  .nm-tile .nm-tile-mark{width:40px !important;height:40px !important}
  .nm-tile-title{font-size:18px !important}
  .nm-tile .nm-tile-sub{font-size:13.5px !important}
  .nm-book{width:150px}
  .nm-book-wrap{animation:none}
  .nm-book-face{padding:16px 14px}
  .nm-book-face .nm-book-t{font-size:30px !important}
  .nm-chip{padding:0 12px;font-size:13.5px}
  .nm-contact-links{gap:10px !important}
  .nm-contact-links .nm-tile{padding:10px 14px !important}
  .nm-contact-links .nm-tile span[style*="19px"]{font-size:17px !important}
  .nm-giant-row{font-size:24px;padding:8px 0 10px}
  .nm-foot-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .nm-foot-nav{column-gap:16px}
  .nm-foot-nav .nm-eyebrow{margin-top:4px}
}
@supports (animation-timeline: view()){
  @media (max-width:640px){.nm-rv,.nm-rv-l,.nm-rv-r,.nm-rv-s{animation-name:nm-rv-sm}}
}
@keyframes nm-rv-sm{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}


/* ================= Mobile pass 3 ================= */
.nm-hdr-cta{display:none}
@media (max-width:1100px){
  .nm-hdr-cta{display:inline-flex;margin-left:auto}
  .nm-nav{flex-wrap:wrap}
}
@media (max-width:640px){
  .nm-hdr-cta{min-height:44px;padding:0 14px;font-size:14px}
  .nm-menu-btn{padding:0 12px}
  .nm-hide-mb{display:none !important}
  .nm-about-actions{gap:4px 14px !important;align-items:center}
  .nm-sys{--r:76px;max-width:270px}
  .nm-sys-ring{inset:36px}
  .nm-sys-core{width:80px}
  .nm-char{width:min(100%,210px);padding-top:56px}
  .nm-char-stage{height:210px}
  .nm-bubble{max-width:170px}
  .nm-prog{gap:8px !important}
}
@media (max-width:400px){
  .nm-menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nm-menu-btn{width:44px;padding:0 !important}
}


/* ================= Upgrade layer: spacing, structure, interaction ================= */
/* spacing system — tighter, content-driven rhythm */
.nm-root{--nm-section:clamp(48px,6vw,88px);--nm-stack:clamp(22px,2.8vw,38px);--nm-dur:220ms}
.nm-hero-full{min-height:clamp(480px,62vh,620px)}
.nm-hero-copy{padding:clamp(36px,5vw,60px) 0 clamp(60px,6.4vw,88px)}
.nm-char-stage{height:clamp(320px,29vw,410px)}
.nm-char{padding-top:56px}
.nm-work-photo img{aspect-ratio:16/10 !important}
/* section bands give structure without decoration */
.nm-band{background:var(--nm-sunk);border-top:1px solid var(--nm-line);border-bottom:1px solid var(--nm-line)}
/* foundation: compact two-column panel */
.nm-found{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(24px,3.6vw,48px);background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:var(--nm-r-lg);box-shadow:var(--nm-raise-2)}
.nm-found-intro{display:flex;flex-direction:column;gap:16px}
.nm-found-title{margin:0;font-family:Fraunces,Georgia,serif;font-weight:400;font-size:clamp(30px,3.4vw,46px);line-height:1.08;letter-spacing:-.02em;color:var(--nm-text)}
.nm-found-list{list-style:none;margin:0;padding:0}
.nm-found-list li{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--nm-line)}
.nm-found-list li:first-child{border-top:2px solid var(--nm-brand)}
.nm-found-list li:last-child{padding-bottom:0}
.nm-found .nm-acc{background:transparent;box-shadow:none;border:0;border-top:1px solid var(--nm-line);border-radius:0}
.nm-found .nm-acc + .nm-acc{margin-top:0}
.nm-found .nm-acc:first-child{border-top:2px solid var(--nm-brand)}
.nm-found .nm-acc summary{padding:12px 2px}
.nm-found .nm-acc-body{padding:0 2px 12px}
/* book: framed panel instead of a tall open section */
.nm-book-panel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(24px,3.6vw,44px) clamp(20px,4vw,56px);background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:var(--nm-r-lg);box-shadow:var(--nm-raise-2)}
.nm-book-panel .nm-book-real{width:min(60vw,250px)}
/* only clickable things look clickable */
@media (hover:hover){
  .nm-tilt:hover{transform:none;box-shadow:var(--nm-raise-2)}
  .nm-prog:hover,.nm-prog:hover .nm-big{transform:none}
  .nm-prog.nm-card:hover{box-shadow:var(--nm-raise-2)}
  .nm-book-real:hover img{transform:none;filter:drop-shadow(10px 18px 22px rgba(74,15,52,.26))}
  .nm-book-real:hover .nm-book-shadow{transform:none;opacity:1}
}
.nm-steps li:hover{transform:none}
.nm-steps li:hover .nm-num{background:var(--nm-brand-tint);color:var(--nm-brand);border-color:var(--nm-line)}
.nm-steps li:nth-child(2) .nm-num{background:var(--nm-brand);color:#fff;border-color:var(--nm-brand)}
.nm-fw-item:hover .nm-fw-ico{background-color:var(--nm-brand-tint);color:var(--nm-brand);border-color:var(--nm-line);transform:none;box-shadow:none}
.nm-fw-item:hover .nm-fw-name{color:var(--nm-text)}
/* hover timing: quick feedback, larger transitions a little longer */
.nm-btn{transition-duration:220ms}
.nm-btn::before{transition-duration:320ms}
.nm-btn svg,.nm-btn .nm-ico{transition-duration:220ms}
.nm-tile,.nm-tile *{transition-duration:240ms}
.nm-plum-link{transition-duration:300ms}
.nm-plum-link::before{transition-duration:420ms}
.nm-plum-link::after{transition-duration:500ms}
.nm-plum-link *{transition-duration:240ms}
.nm-navlink,.nm-navlink::after,.nm-foot-link,.nm-foot-link::before{transition-duration:220ms}
.nm-chip,.nm-field{transition-duration:200ms}
/* inline text links: clear, refined underline */
.nm-root p a:not(.nm-btn),.nm-root .nm-btn-text{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-thickness 200ms var(--nm-ease),color 200ms var(--nm-ease)}
.nm-root p a:not(.nm-btn):hover,.nm-root .nm-btn-text:hover{text-decoration-thickness:2px}
/* busy / disabled states for any async control */
.nm-btn[aria-busy="true"]{pointer-events:none;opacity:.85}
.nm-btn[aria-busy="true"]::after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:nm-spin 700ms linear infinite}
/* restrained stagger for grouped content */
@supports (animation-timeline: view()){
  .nm-journey.nm-rv{animation:none}
  .nm-journey > .nm-prog,.nm-steps > li,.nm-found-list > li{animation:nm-rv-soft linear both;animation-timeline:view();animation-range:entry 0% entry 50%}
  .nm-journey > .nm-prog:nth-of-type(2),.nm-steps > li:nth-child(2),.nm-found-list > li:nth-child(2),#work li.nm-rv-r:nth-child(2){animation-range:entry 6% entry 56%}
  .nm-journey > .nm-prog:nth-of-type(3),.nm-steps > li:nth-child(3),.nm-found-list > li:nth-child(3),#work li.nm-rv-r:nth-child(3){animation-range:entry 12% entry 62%}
  #work li.nm-rv-r:nth-child(4){animation-range:entry 18% entry 68%}
  #work li.nm-rv-r:nth-child(5){animation-range:entry 24% entry 74%}
}
@keyframes nm-rv-soft{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
/* tablet: keep purposeful two-column splits instead of one long column */
@media (min-width:641px) and (max-width:860px){
  .nm-split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}
  .nm-about-photo img{aspect-ratio:4/5}
  .nm-approach{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:end}
  .nm-char{width:100%}
  .nm-char-stage{height:300px}
  .nm-found{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .nm-book-panel{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
  .nm-book-panel .nm-book-real{width:100%;max-width:220px}
  .nm-hero-photo{height:360px}
  .nm-work-photo img{aspect-ratio:16/8 !important}
}

@media (max-width:860px){
  .nm-found,.nm-book-panel{grid-template-columns:minmax(0,1fr)}
  .nm-book-panel{justify-items:start}
  .nm-book-panel .nm-book-real{justify-self:center}
}
@media (max-width:640px){
  .nm-root{--nm-section:40px;--nm-stack:20px}
  .nm-hero-full{min-height:0}
  .nm-hero-copy{padding:0 0 24px}
  .nm-char-stage{height:210px}
  .nm-found{padding:20px}
  .nm-book-panel{padding:22px 20px}
  .nm-book-panel .nm-book-real{width:170px}
}


/* character bubble: always above the head, never over the face */
.nm-char{display:flex;flex-direction:column;align-items:center;padding-top:0 !important}
.nm-bubble{position:relative !important;left:auto !important;top:auto !important;align-self:center;max-width:230px;border-radius:16px !important;text-align:center;transform-origin:bottom center !important;margin-bottom:var(--nm-head-room,14px)}
.nm-bubble span[lang="ar"]{text-align:center !important}
.nm-char .nm-char-stage{align-self:stretch;width:100%;height:auto !important;aspect-ratio:1/1.15}
.nm-char .nm-bubble{margin-bottom:calc(10% + 16px)}
.nm-bubble .nm-dots{justify-content:center}
.nm-bubble::after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;margin-left:-6px;background:var(--nm-surface);border-right:1px solid var(--nm-line-strong);border-bottom:1px solid var(--nm-line-strong);transform:rotate(45deg)}


/* ================= Book feature panel ================= */
.nm-bk{padding-top:clamp(64px,8vw,120px) !important}
.nm-bk-panel{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(32px,4.2vw,56px) clamp(24px,4.6vw,64px);background:var(--nm-brand);color:#fff;border-radius:var(--nm-r-lg);box-shadow:var(--nm-raise-2)}
.nm-bk-deco{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.nm-bk-ring{position:absolute;right:clamp(-60px,-3vw,-20px);top:50%;width:clamp(300px,34vw,460px);aspect-ratio:1;translate:0 -50%;border-radius:50%;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 0 34px rgba(255,255,255,.045),0 0 0 70px rgba(255,255,255,.03)}
.nm-bk-text{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;max-width:560px}
.nm-bk-lead{margin:0;font-size:17px;line-height:1.7;color:var(--nm-on-plum)}
.nm-bk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-top:6px}
.nm-bk-note{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--nm-brand-soft)}
.nm-bk-dot{width:8px;height:8px;border-radius:50%;background:var(--nm-brand-soft);animation:nm-bk-blink 2.4s ease-in-out infinite}
@keyframes nm-bk-blink{0%,100%{opacity:.35}50%{opacity:1}}
.nm-bk-book{position:relative;z-index:1;margin:calc(-1 * clamp(100px,11vw,150px)) 0 calc(-1 * clamp(20px,2.4vw,36px));justify-self:center;width:min(100%,300px)}
.nm-bk-float{animation:nm-bob 7s ease-in-out infinite}
.nm-bk-book img{display:block;width:100%;height:auto;filter:drop-shadow(16px 24px 26px rgba(0,0,0,.45))}
@media (max-width:860px){
  .nm-bk{padding-top:clamp(110px,16vw,140px) !important}
  .nm-bk-panel{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:0}
  .nm-bk-book{order:-1;width:min(56vw,220px);margin:calc(-1 * clamp(90px,14vw,120px)) auto 0}
  .nm-bk-ring{right:50%;top:0;translate:50% -30%;width:min(110vw,520px)}
  .nm-bk-text{max-width:none}
}
@media (max-width:640px){
  .nm-bk{padding-top:96px !important}
  .nm-bk-panel{padding:0 20px 24px}
  .nm-bk-book{width:170px;margin-top:-80px}
  .nm-bk-float{animation:none}
  .nm-bk-lead{font-size:16px;line-height:1.62}
}



/* ================= Cinematic banner ================= */
.nm-hx{min-height:clamp(470px,60vh,600px)}
.nm-hx .nm-hero-photo{width:58%;z-index:1}
.nm-hx .nm-hero-copy{position:relative;z-index:2;max-width:560px;gap:clamp(14px,1.8vw,20px);padding:clamp(40px,5vw,64px) 0 clamp(84px,8vw,112px)}
.nm-hx-in{animation:nm-hx-fade 800ms var(--nm-ease) both}
@keyframes nm-hx-fade{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
/* headline: words rise out of masks */
.nm-hx-title{font-size:clamp(44px,5.6vw,84px) !important;line-height:1.02}
.nm-hx-m{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .06em .14em 0;margin-bottom:-.14em}
.nm-hx-w{display:inline-block;animation:nm-hx-rise 1000ms cubic-bezier(.2,.75,.2,1) both}
@keyframes nm-hx-rise{from{translate:0 110%;rotate:4deg}to{translate:0 0;rotate:0deg}}
.nm-hx-em{position:relative;overflow:visible}
.nm-hx-em .nm-hx-w{color:var(--nm-brand-soft)}
.nm-hx-swoosh{position:absolute;left:0;right:6%;bottom:-.06em;width:94%;height:.32em;overflow:visible;pointer-events:none}
.nm-hx-swoosh path{fill:none;stroke:var(--nm-brand-soft);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;animation:nm-hx-draw 900ms 1500ms cubic-bezier(.6,0,.2,1) both}
@keyframes nm-hx-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.nm-hx-sub{margin:0;font-size:clamp(17px,1.4vw,19px);line-height:1.55;color:var(--nm-on-plum)}
.nm-hx-sub strong{color:#fff;font-weight:700}
/* rotating credential pill */
.nm-hx-rot{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.3);font-size:14px;font-weight:700;letter-spacing:.02em;color:#fff}
.nm-hx-rot-dot{width:8px;height:8px;border-radius:50%;background:var(--nm-brand-soft);box-shadow:0 0 0 0 rgba(243,201,224,.6);animation:nm-hx-ping 2s ease-out infinite}
@keyframes nm-hx-ping{0%{box-shadow:0 0 0 0 rgba(243,201,224,.55)}80%,100%{box-shadow:0 0 0 9px rgba(243,201,224,0)}}
.nm-hx-rot-win{display:block;height:1.45em;overflow:hidden}
.nm-hx-rot-list{display:flex;flex-direction:column;animation:nm-hx-rot 9s 2.2s cubic-bezier(.7,0,.3,1) infinite}
.nm-hx-rot-list > span{display:block;height:1.45em;line-height:1.45em;white-space:nowrap}
@keyframes nm-hx-rot{0%,28%{translate:0 0}33%,61%{translate:0 -1.45em}66%,94%{translate:0 -2.9em}100%{translate:0 -4.35em}}
.nm-hx-ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding-top:4px}
/* brand mark drawn behind the portrait */
.nm-hx-mark{position:absolute;z-index:0;right:35%;top:50%;height:124%;width:auto;translate:0 -50%;overflow:visible;pointer-events:none;animation:nm-hx-float 12s 3s ease-in-out infinite}
.nm-hx-mark path,.nm-hx-mark circle{fill:#fff;fill-opacity:0;stroke:rgba(255,255,255,.45);stroke-width:2.5;stroke-dasharray:1;vector-effect:non-scaling-stroke;animation:nm-hx-draw 2.6s 300ms cubic-bezier(.6,0,.2,1) both,nm-hx-fill 1.6s 2.6s ease forwards}
.nm-hx-mark circle{animation-delay:150ms,2.4s}
@keyframes nm-hx-fill{to{fill-opacity:.09;stroke:rgba(255,255,255,.24)}}
@keyframes nm-hx-float{0%,100%{rotate:0deg;translate:0 -50%}50%{rotate:-3deg;translate:0 -52%}}
/* scroll cue */
.nm-hx-cue{position:absolute;z-index:3;left:50%;bottom:clamp(84px,8vw,104px);translate:-50% 0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.nm-hx-cue span{width:22px;height:34px;border:1.5px solid rgba(255,255,255,.55);border-radius:12px;position:relative}
.nm-hx-cue span::after{content:"";position:absolute;left:50%;top:6px;width:4px;height:7px;margin-left:-2px;border-radius:2px;background:#fff;animation:nm-hx-cue 1.8s ease-in-out infinite}
@keyframes nm-hx-cue{0%{opacity:0;translate:0 0}40%{opacity:1}100%{opacity:0;translate:0 12px}}
@media (max-width:1100px){.nm-hx-cue{display:none}}
@media (max-width:860px){
  .nm-hx .nm-hero-photo{width:100%}
  .nm-hx .nm-hero-copy{max-width:none;margin-top:-30px;padding:0 0 30px}
  .nm-hx-mark{right:-6%;top:4%;height:70%;translate:none;animation:none}
  .nm-hx-mark path,.nm-hx-mark circle{animation:nm-hx-draw 2.6s 300ms cubic-bezier(.6,0,.2,1) both,nm-hx-fill 1.6s 2.6s ease forwards}
}
@media (max-width:640px){
  .nm-hx-title{font-size:42px !important}
  .nm-hx-mark{display:none}
  .nm-hx-rot{font-size:13px}
  .nm-hx .nm-hero-copy{margin-top:-20px;gap:14px}
}
@media (max-width:360px){.nm-hx-title{font-size:38px !important}}


/* ================= Skills pass: impeccable · make-interfaces-feel-better · transitions.dev ================= */
.nm-root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.nm-root p,.nm-root li,.nm-body,.nm-lead{text-wrap:pretty}
.nm-root h1,.nm-root h2,.nm-root h3,.nm-root h4{text-wrap:balance}
/* honest indicators: static dots unless data is live */
.nm-journey-dot::after,.nm-bk-dot,.nm-hx-rot-dot{animation:none !important}
/* readable hover on plum surfaces */
.nm-onplum a:not(.nm-btn):hover,.nm-plum a:not(.nm-btn):hover,.nm-hero-full a:not(.nm-btn):hover{color:var(--nm-brand-soft)}
/* tactile press: one value everywhere */
.nm-btn:active,.nm-chip:active,.nm-menu-btn:active{transform:scale(.96)}
/* concentric radii: inner = outer − padding */
.nm-about-photo img{border-radius:calc(var(--nm-r-lg) - 10px)}
.nm-work-photo > div{border-radius:calc(var(--nm-r-lg) - 10px) !important}
/* image edges: neutral hairline, never tinted */
.nm-about-photo img,.nm-work-photo img{outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}
/* menu icon: cross-fade instead of swap (opacity · scale · blur) */
.nm-mi{position:relative;display:inline-block;width:18px;height:18px}
.nm-mi svg{position:absolute;inset:0;transition:opacity 250ms cubic-bezier(.2,0,0,1),scale 250ms cubic-bezier(.2,0,0,1),filter 250ms cubic-bezier(.2,0,0,1)}
.nm-mi .nm-mi-close{opacity:0;scale:.25;filter:blur(4px)}
[aria-expanded="true"] .nm-mi .nm-mi-close{opacity:1;scale:1;filter:blur(0)}
[aria-expanded="true"] .nm-mi .nm-mi-open{opacity:0;scale:.25;filter:blur(4px)}
/* success state: icon beside the heading, not stacked in a tile */
.nm-success-head{display:flex;align-items:center;gap:12px}
.nm-success-head svg{flex-shrink:0;color:var(--nm-brand)}
@media (max-width:640px){
  .nm-about-photo img{border-radius:calc(var(--nm-r-lg) - 6px)}
}


/* ================= Mobile pass 5 (frontend-design): phone-native layout, touch states, calmer motion ================= */
.nm-prog-hint{display:none}
@media (max-width:640px){
  /* 1 · programs become a swipeable row: compare side by side, page gets ~700px shorter */
  .nm-journey{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px !important;margin:0 calc(var(--nm-gutter) * -1);padding:6px var(--nm-gutter) 18px !important;scroll-padding:0 var(--nm-gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nm-journey::-webkit-scrollbar{display:none}
  .nm-journey > .nm-prog{flex:0 0 82%;scroll-snap-align:start}
  .nm-journey > .nm-prog p.nm-body,.nm-journey > .nm-prog p[style]{flex-grow:1}
  .nm-prog-hint{display:flex;align-items:center;gap:8px;margin:-8px 0 0;font-size:13px;font-weight:700;color:var(--nm-brand)}
  /* 4 · readable labels */
  .nm-eyebrow{font-size:12px;letter-spacing:.1em}
  /* 5 · comfortable hit areas */
  .nm-foot-link{min-width:44px}
  /* 3 · one orchestrated moment (the banner intro); everything else simply appears */
  .nm-rv,.nm-rv-l,.nm-rv-r,.nm-rv-s,.nm-journey > .nm-prog,.nm-steps > li,.nm-found-list > li{animation:none !important}
  .nm-mark{animation:none !important;background-size:100% 100% !important}
  .nm-fw-ico,.nm-fw-ico::after,.nm-fw-card::after,.nm-char-img,.nm-bubble,.nm-dots i,.nm-hero-photo img,.nm-hx-mark,.nm-bk-float,.nm-flask .b1,.nm-flask .b2,.nm-net circle,.nm-check,.fw-net circle,.fw-l1,.fw-l2,.fw-shine,.fw-drop,.fw-rays,.nm-fw-title::after,.nm-fw-pulse::after{animation:none !important}
  .fw-l1,.fw-l2,.fw-shine{stroke-dashoffset:0}
  .nm-fw-ico{opacity:1;scale:1}
}
/* tablets: programs also become a swipe row (two cards visible + a peek) */
@media (min-width:641px) and (max-width:860px){
  .nm-journey{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px !important;margin:0 calc(var(--nm-gutter) * -1);padding:6px var(--nm-gutter) 20px !important;scroll-padding:0 var(--nm-gutter);scrollbar-width:none}
  .nm-journey::-webkit-scrollbar{display:none}
  .nm-journey > .nm-prog{flex:0 0 46%;scroll-snap-align:start}
  .nm-journey-line,.nm-prog-pos{display:none}
  .nm-prog-hint{display:flex;align-items:center;gap:8px;margin:-8px 0 0;font-size:13px;font-weight:700;color:var(--nm-brand)}
}
.nm-navlink,.nm-foot-link{min-width:44px}
/* 2 · touch screens: no sticky hover states; feedback comes from press instead */
@media (hover:none){
  .nm-plum-link:hover{transform:none;box-shadow:var(--nm-plum-raise);border-color:rgba(255,255,255,.16)}
  .nm-plum-link:hover::before{transform:scaleY(0)}
  .nm-plum-link:hover::after{transform:none}
  .nm-plum-link:hover .nm-ico-box,.nm-plum-link:hover .nm-arrow,.nm-plum-link:hover .nm-card-num b{transform:none}
  .nm-plum-link:active{transform:scale(.98);box-shadow:inset 4px 4px 10px var(--nm-plum-dark)}
  .nm-btn:hover::before{transform:scaleX(0)}
  .nm-btn-secondary:hover::before{transform:scaleY(0)}
  .nm-btn:hover svg,.nm-btn:hover .nm-ico{transform:none}
  .nm-btn:active::before{transform:scaleX(1);transition-duration:0s}
  .nm-btn-secondary:active::before{transform:scaleY(1)}
  .nm-navlink:hover{background:transparent}
  .nm-navlink:active{background:var(--nm-sunk)}
  .nm-chip:hover{box-shadow:var(--nm-raise-1);color:var(--nm-text-2)}
  .nm-chip[aria-pressed="true"]:hover{color:var(--nm-brand);box-shadow:var(--nm-inset)}
}


/* ================= Elevation pass: quiet-precision soft UI (shared tokens + components) ================= */
.nm-root{
  --t-12:12px; --t-14:14px; --t-16:16px; --t-18:18px; --t-21:21px; --t-26:26px;
  --m-fast:200ms; --m-move:250ms; --m-large:400ms; --m-ease:cubic-bezier(.22,1,.36,1);
  --surface-hi:#F7F2F5;
  --nm-r-sm:16px;
}
/* ---- type scale: collapse ad-hoc inline sizes onto the scale ---- */
.nm-root [style*="font-size: 10px"],.nm-root [style*="font-size: 11px"]{font-size:var(--t-12) !important}
.nm-root [style*="font-size: 13px"],.nm-root [style*="font-size: 13.5px"]{font-size:var(--t-14) !important}
.nm-root [style*="font-size: 15px"]{font-size:var(--t-16) !important}
.nm-root [style*="font-size: 17px"]{font-size:var(--t-18) !important}
.nm-root [style*="font-size: 19px"],.nm-root [style*="font-size: 20px"]{font-size:var(--t-21) !important}
.nm-root [style*="font-size: 24px"]{font-size:var(--t-26) !important}
.nm-eyebrow,.nm-tag,.nm-card-num,.nm-fw-lead .nm-eyebrow{font-size:var(--t-12)}
.nm-small{font-size:var(--t-14)}
.nm-body{font-size:var(--t-16);line-height:1.7}
.nm-lead{font-size:var(--t-18);line-height:1.65}
.nm-h3{font-size:var(--t-21)}
.nm-tile-title{font-size:var(--t-21) !important}
.nm-tile .nm-tile-sub{font-size:var(--t-14) !important}
.nm-label{font-size:var(--t-14)}
.nm-chip,.nm-btn-sm{font-size:var(--t-14)}
/* readable measure */
.nm-root p{max-width:66ch}
.nm-tip-d,.nm-hero-copy p,.nm-plum-link p,.nm-plum-link span{max-width:none}

/* ---- radii scale: 12 controls · 16 small surfaces · 20 cards · 24 panels ---- */
.nm-card-sm,.nm-nav{border-radius:var(--nm-r-sm)}
.nm-fw-card,.nm-plum-link,.nm-tile,.nm-well,.nm-acc{border-radius:20px}

/* ---- surfaces: delicate top-lit raise (tint, never a white shadow); depth only where it means something ---- */
.nm-card,.nm-card-sm,.nm-fw-card,.nm-found,.nm-bk-panel:not(.nm-onplum),.nm-btn-secondary,.nm-chip:not([aria-pressed="true"]){background-image:linear-gradient(180deg,var(--surface-hi),var(--nm-surface) 46%)}
.nm-tile{background-color:var(--nm-surface)}
.nm-well{box-shadow:inset 2px 2px 6px var(--nm-dark)}

/* ---- buttons: one height, one rhythm, convincing press ---- */
.nm-btn{min-height:48px;transition-property:box-shadow,background-color,color,border-color,transform;transition-duration:var(--m-fast),var(--m-fast),var(--m-fast),var(--m-fast),var(--m-move);transition-timing-function:var(--m-ease)}
.nm-btn-sm{min-height:44px}
.nm-btn::before{transition-duration:var(--m-large) !important}
.nm-btn svg,.nm-btn .nm-ico{transition-duration:var(--m-move) !important}
.nm-btn-primary:active{background:var(--nm-brand-strong);box-shadow:inset 3px 3px 8px rgba(0,0,0,.32),inset -1px -1px 3px rgba(0,0,0,.12)}
.nm-btn-secondary:active,.nm-chip:active{background-image:none;background-color:var(--nm-sunk);box-shadow:inset 3px 3px 8px var(--nm-dark-2)}
.nm-btn-onplum:active{box-shadow:inset 3px 3px 8px rgba(113,24,80,.28)}
.nm-btn[disabled],.nm-btn[aria-disabled="true"]{opacity:1;background-image:none !important}
.nm-root [data-send][style*="min-height: 52px"]{min-height:48px !important}

/* ---- interactive cards: hover lifts gently, never far ---- */
.nm-plum-link{transition-duration:var(--m-move) !important}
.nm-plum-link::before{transition-duration:var(--m-large) !important}
.nm-plum-link::after{transition-duration:var(--m-large) !important}
.nm-plum-link *{transition-duration:var(--m-move) !important}
@media (hover:hover){
  .nm-plum-link:hover{transform:translateY(-3px)}
  .nm-tile:hover{box-shadow:var(--nm-raise-2)}
}
.nm-tile,.nm-tile *{transition-duration:var(--m-move) !important}
.nm-navlink,.nm-navlink::after,.nm-foot-link,.nm-foot-link::before,.nm-chip,.nm-field{transition-duration:var(--m-fast) !important}

/* ---- icons: one stroke family (1.75 decorative, 2 beside bold text) ---- */
.nm-fw-ico svg,.nm-ico-box svg,.nm-tile-mark svg,.nm-mi svg{stroke-width:1.75}
.nm-ar{stroke-width:2}

/* ---- accordions open and close smoothly (progressive: snaps where unsupported) ---- */
.nm-root{interpolate-size:allow-keywords}
.nm-acc::details-content{height:0;overflow:clip;transition:height var(--m-large) var(--m-ease),content-visibility var(--m-large) allow-discrete}
.nm-acc[open]::details-content{height:auto}
.nm-acc[open] .nm-acc-body{animation:none}
.nm-acc summary{transition:color var(--m-fast) var(--m-ease)}
.nm-acc summary:hover{color:var(--nm-brand)}

/* ---- phone menu: animated open AND close ---- */
@media (max-width:1100px){
  .nm-nav{row-gap:0}
  .nm-navlinks{display:flex;flex-direction:column;opacity:0;translate:0 -6px;max-height:0;overflow:hidden;padding-top:0;padding-bottom:0;margin-top:0;border-top-width:0;border-top-color:transparent;visibility:hidden;
    transition:opacity var(--m-move) var(--m-ease),translate var(--m-move) var(--m-ease),max-height var(--m-large) var(--m-ease),padding var(--m-large) var(--m-ease),visibility 0s linear var(--m-large),border-color var(--m-fast)}
  .nm-navlinks.is-open{opacity:1;translate:0 0;max-height:480px;padding-top:8px;padding-bottom:6px;margin-top:8px;border-top-width:1px;border-top-color:var(--nm-line);visibility:visible;animation:none;
    transition:opacity var(--m-move) var(--m-ease),translate var(--m-move) var(--m-ease),max-height var(--m-large) var(--m-ease),padding var(--m-large) var(--m-ease),visibility 0s,border-color var(--m-fast)}
  .nm-navlinks.is-open > *{animation:none}
}

/* ---- banner: one orchestrated moment, finished in about a second ---- */
.nm-hx-w{animation-duration:650ms}
.nm-hx-m:nth-child(1) .nm-hx-w{animation-delay:80ms !important}
.nm-hx-m:nth-child(2) .nm-hx-w{animation-delay:150ms !important}
.nm-hx-m:nth-child(4) .nm-hx-w{animation-delay:220ms !important}
.nm-hx-m:nth-child(5) .nm-hx-w{animation-delay:300ms !important}
.nm-hx-swoosh path{animation-delay:750ms}
.nm-hx-in{animation-duration:450ms}
.nm-hx-copy > .nm-eyebrow{animation-delay:0ms !important}
.nm-hx-sub{animation-delay:420ms !important}
.nm-hx-rot{animation-delay:500ms !important}
.nm-hx-ctas{animation-delay:560ms !important}
.nm-hx-rot-list{animation-delay:2s}
/* frameworks bar arrives right after, quickly */
.nm-fw-item{animation-duration:450ms}
.nm-fw-item:nth-child(1){animation-delay:500ms}.nm-fw-item:nth-child(2){animation-delay:560ms}.nm-fw-item:nth-child(3){animation-delay:620ms}.nm-fw-item:nth-child(4){animation-delay:680ms}
.nm-fw-item:nth-child(1) .nm-fw-ico{animation-delay:560ms,1.8s}.nm-fw-item:nth-child(2) .nm-fw-ico{animation-delay:620ms,2.15s}.nm-fw-item:nth-child(3) .nm-fw-ico{animation-delay:680ms,2.5s}.nm-fw-item:nth-child(4) .nm-fw-ico{animation-delay:740ms,2.85s}
.nm-fw-w{animation-duration:600ms}
.nm-fw-title::after{animation-delay:700ms,1.6s}
.nm-fw-pulse{animation-delay:400ms}

@media (min-width:1101px) and (max-width:1260px){.nm-fw-name{font-size:16px}.nm-fw-item{padding:18px 14px;gap:10px}}
.nm-prog-note{display:flex;align-items:flex-start;gap:10px;margin:0;color:var(--nm-text-2)}
.nm-prog-note .nm-ar{flex-shrink:0;margin-top:2px;color:var(--nm-brand);stroke-width:2}
.nm-prog-note strong{color:var(--nm-text)}
@media (max-width:640px){.nm-root [style*="font-size: 17px"],.nm-root [style*="font-size: 19px"]{font-size:var(--t-16) !important}.nm-lead,.nm-hx-sub{font-size:var(--t-16)}}
/* ---- where you are: active nav item reads at a glance ---- */
.nm-navlink[aria-current="location"]{color:var(--nm-brand);font-weight:800}


/* ---- phone/tablet menu: floating panel under the header (never pushes the page, so jumps land correctly) ---- */
@media (max-width:1100px){
  .nm-nav{overflow:visible}
  .nm-progress{clip-path:inset(0 round 0 0 var(--nm-r-sm) var(--nm-r-sm))}
  .nm-nav .nm-navlinks{position:absolute;left:0;right:0;width:auto !important;box-sizing:border-box;top:calc(100% + 8px);z-index:5;margin:0 !important;padding:8px !important;max-height:none;border:1px solid var(--nm-line) !important;border-radius:var(--nm-r-sm);background:var(--nm-surface);box-shadow:var(--nm-raise-2);
    opacity:0;translate:0 -8px;visibility:hidden;transition:opacity var(--m-move) var(--m-ease),translate var(--m-move) var(--m-ease),visibility 0s linear var(--m-move)}
  .nm-nav .nm-navlinks.is-open{opacity:1;translate:0 0;visibility:visible;transition:opacity var(--m-move) var(--m-ease),translate var(--m-move) var(--m-ease),visibility 0s}
}
/* ================= Your Dr.A® brand section ================= */
#yourdra{scroll-margin-top:96px}
@media (max-width:640px){#yourdra{scroll-margin-top:84px}}
.nm-ya-panel{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(14px,1.6vw,18px);background-color:var(--nm-surface);background-image:linear-gradient(180deg,var(--surface-hi),var(--nm-surface) 46%);border:1px solid var(--nm-line);border-radius:var(--nm-r-lg);box-shadow:var(--nm-raise-2)}
.nm-ya-photo{position:relative;margin:0;align-self:stretch;min-height:100%}
.nm-ya-photo img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center 18%;border-radius:calc(var(--nm-r-lg) - 14px);outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}
.nm-ya-photo figcaption{position:absolute;left:14px;bottom:14px;padding:8px 12px;border-radius:10px;background:var(--nm-surface);font-family:Fraunces,Georgia,serif;font-style:italic;font-size:var(--t-16);color:var(--nm-brand);box-shadow:var(--nm-raise-1)}
.nm-ya-body{display:flex;flex-direction:column;gap:16px;padding:clamp(6px,1.6vw,22px) clamp(4px,1.6vw,22px) clamp(6px,1.6vw,22px) 0}
.nm-ya-doors{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--nm-line)}
.nm-ya-door{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 10px 14px 0;border-bottom:1px solid var(--nm-line);color:var(--nm-text);text-decoration:none;border-radius:0;transition:background-color var(--m-fast) var(--m-ease),padding var(--m-move) var(--m-ease)}
.nm-ya-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--nm-brand-tint);border:1px solid var(--nm-line);color:var(--nm-brand);transition:background-color var(--m-fast) var(--m-ease),color var(--m-fast) var(--m-ease)}
.nm-ya-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.nm-ya-txt b{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:var(--t-21);line-height:1.2}
.nm-ya-txt span{font-size:var(--t-14);line-height:1.55;color:var(--nm-muted)}
.nm-ya-go{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-14);font-weight:700;color:var(--nm-brand);white-space:nowrap}
.nm-ya-go .nm-ar{transition:transform var(--m-move) var(--m-ease)}
@media (hover:hover){
  .nm-ya-door:hover{background-color:rgba(113,24,80,.04);padding-left:8px;color:var(--nm-text)}
  .nm-ya-door:hover .nm-ya-ico{background:var(--nm-brand);color:#fff}
  .nm-ya-door:hover .nm-ya-go .nm-ar{transform:translate(2px,-2px)}
}
.nm-ya-door:active{background-color:rgba(113,24,80,.07)}
.nm-ya-door:focus-visible{outline-offset:-3px}
.nm-ya-ctas{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}
.nm-ya-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:var(--t-14);color:var(--nm-muted)}
.nm-ya-facts li{display:inline-flex;align-items:center;gap:8px}
.nm-ya-facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--nm-brand)}
@media (max-width:860px){
  .nm-ya-panel{grid-template-columns:minmax(0,1fr)}
  .nm-ya-photo img{min-height:0;aspect-ratio:16/10}
  .nm-ya-body{padding:4px 6px 10px}
}
@media (max-width:640px){
  .nm-ya-door{grid-template-columns:40px minmax(0,1fr);row-gap:6px}
  .nm-ya-ico{width:40px;height:40px}
  .nm-ya-go{grid-column:2}
  .nm-ya-txt b{font-size:19px}
  .nm-ya-ctas .nm-btn{width:100%}
}


@media (min-width:1101px) and (max-width:1240px){.nm-navlinks{gap:0 !important}.nm-navlink{padding-left:9px !important;padding-right:9px !important;font-size:13.5px}}
/* ================= Prevention Pharmacy (visit + directions) ================= */
#pharmacy{scroll-margin-top:96px}
.nm-ph-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(28px,4vw,52px) clamp(22px,4.4vw,60px);background:var(--nm-brand);color:#fff;border-radius:var(--nm-r-lg);box-shadow:var(--nm-raise-2)}
.nm-ph-deco{position:absolute;inset:0;pointer-events:none}
.nm-ph-deco span{position:absolute;right:-90px;bottom:-140px;width:420px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.14)}
.nm-ph-deco span:nth-child(2){width:300px;right:-30px;bottom:-80px}
.nm-ph-deco span:nth-child(3){width:180px;right:30px;bottom:-20px;border-color:rgba(255,255,255,.2)}
.nm-ph-body{position:relative;display:flex;flex-direction:column;gap:16px}
.nm-ph-lead{margin:0;font-size:var(--t-18);line-height:1.65;color:var(--nm-on-plum);max-width:52ch}
.nm-ph-ctas{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}
.nm-ph-cred{display:inline-flex;align-self:flex-start;align-items:center;gap:12px;padding:8px 16px 8px 8px;border-radius:14px;background:#fff;box-shadow:0 6px 16px -8px rgba(0,0,0,.35)}
.nm-ph-cred img{display:block;width:auto;height:52px;flex-shrink:0}
.nm-ph-cred > span{display:flex;flex-direction:column;gap:1px;line-height:1.3}
.nm-ph-cred b{font-size:var(--t-14);font-weight:800;color:var(--nm-brand)}
.nm-ph-cred > span > span{font-size:13px;color:var(--nm-text-2)}
.nm-ph-cred [lang="ar"]{font-family:Tajawal,Manrope,Arial,sans-serif;font-size:13px;text-align:left}
.nm-ph-go{gap:10px}
.nm-ph-go svg{flex-shrink:0}
/* storefront photo */
.nm-ph-photo{position:relative;z-index:1;margin:0;width:100%}
.nm-ph-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 40%;border-radius:var(--nm-r-sm);box-shadow:0 20px 34px -18px rgba(0,0,0,.55);outline:1px solid rgba(255,255,255,.22);outline-offset:-1px}
.nm-ph-photo figcaption{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;background:#fff;color:var(--nm-brand);font-size:var(--t-14);font-weight:700;box-shadow:0 6px 14px -8px rgba(0,0,0,.4)}
@media (max-width:860px){
  .nm-ph-photo{order:-1}
}

@media (max-width:860px){
  .nm-ph-panel{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  #pharmacy{scroll-margin-top:84px}
  .nm-ph-lead{font-size:var(--t-16)}
  .nm-ph-ctas .nm-btn{width:100%}
}


/* ================= In the press ================= */
#press{scroll-margin-top:96px}
.nm-pr-head{display:flex;flex-direction:column;gap:14px;max-width:720px;margin-bottom:clamp(22px,3vw,36px)}
.nm-pr-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(16px,2vw,24px);align-items:start}
.nm-pr-feat,.nm-pr-card{position:relative;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--nm-text);background-color:var(--nm-surface);background-image:linear-gradient(180deg,var(--surface-hi),var(--nm-surface) 46%);border:1px solid var(--nm-line);border-radius:20px;box-shadow:var(--nm-raise-1);
  transition:box-shadow var(--m-fast) var(--m-ease),border-color var(--m-fast) var(--m-ease),transform var(--m-move) var(--m-ease)}
.nm-pr-feat{padding:clamp(22px,3vw,36px);gap:14px}
.nm-pr-card{padding:18px 20px}
.nm-pr-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:var(--t-12);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nm-muted)}
.nm-pr-outlet{padding:4px 10px;border-radius:999px;background:var(--nm-brand-tint);border:1px solid var(--nm-line);color:var(--nm-brand);letter-spacing:.08em}
.nm-pr-logo{display:block;width:auto;max-width:140px;object-fit:contain;flex-shrink:0}
.nm-pr-meta{min-height:32px}
.nm-pr-title{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:var(--t-21);line-height:1.22;color:var(--nm-text);text-wrap:balance}
.nm-pr-title-lg{font-size:clamp(24px,2.4vw,32px);line-height:1.15}
.nm-pr-sum{font-size:var(--t-14);line-height:1.6;color:var(--nm-text-2)}
.nm-pr-feat .nm-pr-sum{font-size:var(--t-16)}
.nm-pr-quote{margin-top:4px;padding:14px 0 0;border-top:1px solid var(--nm-line);font-family:Fraunces,Georgia,serif;font-style:italic;font-size:var(--t-18);line-height:1.45;color:var(--nm-brand)}
.nm-pr-quote::after{content:" — Dr. Asma Saliba";font-family:Manrope,Arial,sans-serif;font-style:normal;font-size:var(--t-14);font-weight:700;color:var(--nm-muted)}
.nm-pr-read{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:var(--t-14);font-weight:700;color:var(--nm-brand)}
.nm-pr-read .nm-ar{transition:transform var(--m-move) var(--m-ease)}
.nm-pr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(12px,1.4vw,16px)}
.nm-pr-list li{display:flex}
.nm-pr-img{display:block;width:calc(100% + 2 * clamp(22px,3vw,36px) - 20px);margin:calc(-1 * clamp(22px,3vw,36px) + 10px) calc(-1 * clamp(22px,3vw,36px) + 10px) 6px;height:auto;aspect-ratio:21/9;object-fit:cover;object-position:center 4%;border-radius:12px;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}
@media (max-width:640px){.nm-pr-img{display:none}}
.nm-pr-feat .nm-pr-read{margin-top:6px}
.nm-pr-list .nm-pr-card{flex:1}
@media (hover:hover){
  .nm-pr-feat:hover,.nm-pr-card:hover{transform:translateY(-3px);box-shadow:var(--nm-raise-2);border-color:rgba(113,24,80,.3)}
  .nm-pr-feat:hover .nm-pr-read .nm-ar,.nm-pr-card:hover .nm-pr-read .nm-ar{transform:translate(2px,-2px)}
}
.nm-pr-feat:active,.nm-pr-card:active{transform:scale(.99);box-shadow:inset 3px 3px 8px var(--nm-dark-2)}
@media (max-width:860px){
  .nm-pr-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  #press{scroll-margin-top:84px}
  .nm-pr-card .nm-pr-sum{display:none}
  .nm-pr-card{padding:16px}
  .nm-pr-title{font-size:19px}
}


/* ================= Pharmacy photo carousel ================= */
.nm-phc{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;min-width:0}
.nm-phc-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;border-radius:var(--nm-r-sm);box-shadow:0 20px 34px -18px rgba(0,0,0,.55);scrollbar-width:none;outline:none}
.nm-phc-track::-webkit-scrollbar{display:none}
.nm-phc-track:focus-visible{outline:3px solid #fff;outline-offset:3px}
.nm-phc-slide{position:relative;flex:0 0 100%;margin:0;aspect-ratio:1/1;overflow:hidden;scroll-snap-align:start;background:#3a0c2a}
.nm-phc-bg{position:absolute;inset:-20px;width:calc(100% + 40px);height:calc(100% + 40px);object-fit:cover;filter:blur(18px) brightness(.55) saturate(1.1)}
.nm-phc-img{position:relative;display:block;width:100%;height:100%;object-fit:contain}
.nm-phc-slide figcaption{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:7px 12px;border-radius:10px;background:#fff;color:var(--nm-brand);font-size:var(--t-14);font-weight:700;box-shadow:0 6px 14px -8px rgba(0,0,0,.4)}
.nm-phc-ctrl{display:flex;align-items:center;gap:10px}
.nm-phc-btn{width:44px;height:44px;flex-shrink:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:background-color var(--m-fast) var(--m-ease),color var(--m-fast) var(--m-ease),transform var(--m-move) var(--m-ease)}
.nm-phc-btn:hover{background:#fff;color:var(--nm-brand)}
.nm-phc-btn:active{transform:scale(.96)}
.nm-phc-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.nm-phc-dots{display:flex;gap:2px;flex:1;justify-content:center}
.nm-phc-pips{display:flex;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;flex-wrap:nowrap}
@media (max-width:380px){.nm-phc-pips{gap:3px}.nm-phc-pip{width:5px;height:5px}.nm-phc-pip.is-on{width:12px}.nm-phc-ctrl{gap:6px}.nm-phc-count{min-width:38px}}
.nm-phc-pip{width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.4);transition:width var(--m-move) var(--m-ease),background-color var(--m-fast) var(--m-ease)}
.nm-phc-pip.is-on{width:18px;background:#fff}
.nm-phc-dot{width:36px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.nm-phc-dot::before{content:"";width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.45);transition:width var(--m-move) var(--m-ease),background-color var(--m-fast) var(--m-ease)}
.nm-phc-dot[aria-current="true"]::before{width:24px;background:#fff}
.nm-phc-dot:focus-visible{outline:3px solid #fff;outline-offset:-6px;border-radius:10px}
.nm-phc-count{min-width:44px;text-align:center;font-size:var(--t-14);color:var(--nm-on-plum);font-variant-numeric:tabular-nums}
.nm-phc-count b{color:#fff}
@media (max-width:860px){.nm-phc{order:-1}}
@media (prefers-reduced-motion: reduce){.nm-phc-track{scroll-behavior:auto}}


/* ================= Book teaser: plain book, "Coming soon" (no title, no cover design) ================= */
.nm-bkt-ripple{position:absolute;left:50%;bottom:-6px;width:min(120%,340px);aspect-ratio:3/1;translate:-50% 0;pointer-events:none}
.nm-bkt-ripple i{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);opacity:0;animation:nm-bkt-ripple 4.5s ease-out infinite}
.nm-bkt-ripple i:nth-child(2){animation-delay:1.5s}
.nm-bkt-ripple i:nth-child(3){animation-delay:3s}
@keyframes nm-bkt-ripple{0%{opacity:.7;scale:.35}100%{opacity:0;scale:1.15}}
.nm-bkc{display:flex;justify-content:center;align-items:flex-end}
.nm-bkc .nm-bk-float{position:relative;z-index:1}
.nm-bkc-book{position:relative;width:clamp(190px,18vw,236px);aspect-ratio:2/3;transform:perspective(900px) rotateY(-14deg) rotateX(2deg);filter:drop-shadow(18px 26px 26px rgba(0,0,0,.42))}
.nm-bkc-pages{position:absolute;top:3%;bottom:3%;right:-10px;width:14px;border-radius:0 3px 3px 0;background:repeating-linear-gradient(180deg,#f6eef2 0 2px,#e6d8df 2px 3px);transform:rotateY(60deg);transform-origin:left}
.nm-bkc-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:0 18px;border-radius:4px 10px 10px 4px;overflow:hidden;
  background:linear-gradient(115deg,#4A0E33 0%,#5A1240 40%,#6A1A4C 62%,#4A0E33 100%);box-shadow:inset 10px 0 14px -8px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.08)}
.nm-bkc-cover::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.14),transparent);transform:translateX(-150%);animation:nm-bkc-sheen 5.5s 1.5s ease-in-out infinite;will-change:transform}
@keyframes nm-bkc-sheen{0%{transform:translateX(-150%)}35%,100%{transform:translateX(330%)}}
.nm-bkc-rule{width:40px;height:1px;background:rgba(255,255,255,.55)}
.nm-bkc-soon{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:clamp(28px,2.6vw,34px);line-height:1.05;color:#fff;text-align:center}
.nm-bkc-soon em{display:block;font-style:italic;color:var(--nm-brand-soft)}
.nm-bkc-by{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72)}
@media (max-width:860px){
  .nm-bk{padding-top:var(--nm-section) !important}
  .nm-bk-panel{padding-top:32px !important}
  .nm-bk-book.nm-bkc{margin:0 auto 8px !important}
}
@media (max-width:640px){
  .nm-bk-panel{padding-top:28px !important}
  .nm-bkc-book{width:150px}
  .nm-bkc-soon{font-size:24px}
  .nm-bkc-by{font-size:9.5px;bottom:14px}
}


/* ================= Motion scenes (play once when 35% visible; final state is the default) ================= */
/* --- 1 · lock-screen counter widget --- */
.nm-lw{position:absolute;z-index:3;right:24px;bottom:84px;display:flex;flex-direction:column;gap:6px;padding:12px 16px 12px;min-width:176px;border-radius:22px;background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.65);box-shadow:0 14px 30px -16px rgba(0,0,0,.5)}
.nm-lw-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--nm-text-2)}
.nm-lw-num{display:flex;font-family:Fraunces,Georgia,serif;font-weight:500;font-size:58px;line-height:1;color:var(--nm-brand);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.nm-lw-win{display:block;height:1em;overflow:hidden}
.nm-lw-col{display:flex;flex-direction:column}
.nm-lw-col i{display:block;height:1em;font-style:normal;text-align:center}
.nm-lw-t{transform:translateY(-2em)}
.nm-lw-o{transform:translateY(-20em)}
.nm-lw-chip{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--nm-brand);color:#fff;font-size:12px;font-weight:700}
.is-play .nm-lw-t{animation:nm-lw-t 1.5s .2s cubic-bezier(.2,.7,.1,1) both}
.is-play .nm-lw-o{animation:nm-lw-o 1.9s .2s cubic-bezier(.2,.7,.1,1) both}
.is-play .nm-lw-chip{animation:nm-lw-chip .7s 2.05s cubic-bezier(.34,1.56,.64,1) both}
@keyframes nm-lw-t{0%{transform:translateY(0);filter:blur(0)}35%{filter:blur(.8px)}100%{transform:translateY(-2em);filter:blur(0)}}
@keyframes nm-lw-o{0%{transform:translateY(0);filter:blur(0)}20%,70%{filter:blur(2.6px)}100%{transform:translateY(-20em);filter:blur(0)}}
@keyframes nm-lw-chip{from{opacity:0;transform:translateY(8px) scale(.6)}to{opacity:1;transform:none}}
/* --- 2 · headline: weight wave letter by letter, breathing, bouncing dot --- */
.nm-wgt .nm-wv{display:inline-block;font-weight:400}
.nm-wgt{contain:layout style}
.nm-wgt .nm-hx-m{contain:layout style}
.nm-wgt.is-play .nm-wv{animation:nm-wv 1.25s calc(.9s + var(--i) * 42ms) steps(7,jump-none) both}
@keyframes nm-wv{0%{font-weight:400}30%{font-weight:100}66%{font-weight:900}100%{font-weight:400}}
@media (hover:hover) and (min-width:861px){
  .nm-wgt.is-play .nm-wv{animation:nm-wv 1.25s calc(.9s + var(--i) * 42ms) steps(7,jump-none) both,nm-wv-br 4.4s calc(2.6s + var(--i) * 90ms) steps(3,jump-none) infinite}
}
@keyframes nm-wv-br{0%,100%{font-weight:400}50%{font-weight:470}}
/* phones: same wave, composited (lift + glow) so it never blocks the page */
@media (max-width:640px){
  .nm-wgt.is-play .nm-wv{animation:nm-wv-m 1.1s calc(.9s + var(--i) * 40ms) cubic-bezier(.45,0,.2,1) both}
}
@keyframes nm-wv-m{0%,100%{transform:none;opacity:1}35%{transform:translateY(-.08em) scale(1.08);opacity:.55}65%{transform:translateY(.02em);opacity:1}}
.nm-wv-dot{display:inline-block;width:.15em;height:.15em;margin-left:.05em;border-radius:50%;background:var(--nm-brand-soft);vertical-align:baseline}
.nm-wgt.is-play .nm-wv-dot{animation:nm-wv-dot .95s calc(.9s + 24 * 42ms + .35s) cubic-bezier(.3,0,.3,1) both}
@keyframes nm-wv-dot{0%{transform:none}30%{transform:translateY(-.6em) scale(.95,1.08)}55%{transform:translateY(0) scale(1.25,.75)}72%{transform:translateY(-.14em)}86%{transform:translateY(0) scale(1.06,.94)}100%{transform:none}}
/* --- 4 · premium product card, 3D 360° with a moving specular highlight --- */
.nm-ya-row{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,2vw,24px);margin-top:clamp(16px,2vw,24px)}
.nm-pc{margin:0;display:flex;align-items:center;justify-content:center;padding:clamp(20px,2.4vw,32px);perspective:1100px;border-radius:var(--nm-r-lg);background-color:var(--nm-surface);background-image:linear-gradient(180deg,var(--surface-hi),var(--nm-surface) 46%);border:1px solid var(--nm-line);box-shadow:var(--nm-raise-2)}
.nm-pc-card{position:relative;width:min(100%,320px);aspect-ratio:3/4.15;transform-style:preserve-3d}
.nm-pc-face{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;border-radius:22px;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(180deg,#fff,#F7F2F5);border:1px solid var(--nm-line);box-shadow:0 26px 44px -24px rgba(0,0,0,.5)}
.nm-pc-front img{display:block;width:calc(100% + 32px);margin:-14px -16px 8px;aspect-ratio:1/.86;object-fit:cover;object-position:center 40%}
.nm-pc-kick{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--nm-brand)}
.nm-pc-name{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:20px;line-height:1.2;color:var(--nm-text)}
.nm-pc-meta{font-size:13px;color:var(--nm-muted)}
.nm-pc-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px;font-weight:800;color:var(--nm-brand);text-decoration:none}
.nm-pc-back{transform:rotateY(180deg);justify-content:center;gap:16px;padding:28px 24px;background:radial-gradient(120% 90% at 30% 0%,#8A2B66,var(--nm-brand) 55%,#4A0E33);border-color:rgba(255,255,255,.14)}
.nm-pc-back .nm-pc-kick{color:var(--nm-brand-soft)}
.nm-pc-back .nm-pc-meta{color:var(--nm-on-plum)}
.nm-pc-ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.nm-pc-ticks li{display:flex;align-items:center;gap:12px;font-family:Fraunces,Georgia,serif;font-size:22px;color:#fff}
.nm-pc-ticks li span{display:flex;width:28px;height:28px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:var(--nm-brand);font-family:Manrope,Arial,sans-serif;font-size:14px;font-weight:800}
.nm-pc-spec{position:absolute;inset:0;border-radius:22px;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.65) 48%,transparent 62%);background-size:260% 100%;background-position:150% 0;mix-blend-mode:overlay;transform:translateZ(1px)}
.nm-pc.is-play .nm-pc-card{animation:nm-pc-spin 4.4s .2s cubic-bezier(.45,.05,.2,1) both}
@keyframes nm-pc-spin{0%{transform:rotateY(0)}30%{transform:rotateY(180deg)}58%{transform:rotateY(180deg)}93%{transform:rotateY(364deg)}100%{transform:rotateY(360deg)}}
.nm-pc.is-play .nm-pc-spec{animation:nm-pc-spec 4.4s .2s linear both}
@keyframes nm-pc-spec{0%{opacity:0;background-position:150% 0}10%{opacity:1}30%{opacity:.7;background-position:-50% 0}58%{opacity:.7;background-position:150% 0}90%{opacity:1;background-position:-50% 0}100%{opacity:0;background-position:-50% 0}}

/* core halo pulse on the compositor (no repaint per frame) */
.nm-sys-core{animation:none !important}
.nm-sys-core::before{content:"";position:absolute;inset:-26px;border-radius:50%;z-index:-1;pointer-events:none;
  background:radial-gradient(circle,rgba(243,201,224,.16) 0 58%,rgba(243,201,224,.07) 58% 100%);animation:nm-core-ring 4s ease-in-out infinite;will-change:transform,opacity}
@keyframes nm-core-ring{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.16);opacity:1}}

/* featured product: intro + spinning card (desktop/tablet), card only on phones */
.nm-ya-feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(22px,3vw,40px) clamp(22px,4vw,56px);border-radius:var(--nm-r-lg);background-color:var(--nm-surface);background-image:linear-gradient(180deg,var(--surface-hi),var(--nm-surface) 46%);border:1px solid var(--nm-line);box-shadow:var(--nm-raise-2)}
.nm-ya-feat .nm-pc{padding:0;background:none;border:0;box-shadow:none}
.nm-ya-feat .nm-pc-card{width:clamp(260px,24vw,320px)}
.nm-ya-feat-txt{display:flex;flex-direction:column;gap:14px;max-width:520px}
.nm-ya-feat-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.nm-ya-feat-list li{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--nm-brand-tint);border:1px solid var(--nm-line);color:var(--nm-brand);font-size:var(--t-14);font-weight:700}
.nm-ya-feat-list li::before{content:"✓";font-weight:800}
@media (max-width:860px){
  .nm-ya-feat{grid-template-columns:minmax(0,1fr);justify-items:center}
  .nm-ya-feat-txt{display:none}
}
/* --- responsive --- */
@media (max-width:860px){.nm-ya-row{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .nm-lw{position:relative;right:auto;top:auto;bottom:auto;left:auto;margin:12px 0 0;min-width:0;padding:12px 14px;border-radius:18px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 14px;background:var(--nm-surface);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--nm-line);box-shadow:var(--nm-raise-1)}
  .nm-lw-label{flex:1 1 100%}
  .nm-about-photo{display:grid}
  .nm-about-photo > .nm-frame-in{grid-area:1/1}
  .nm-about-photo > .nm-shape{display:none}
  .nm-about-photo .nm-sig{position:static;grid-area:1/1;align-self:end;justify-self:start;margin:0 0 14px 14px}
  .nm-about-photo .nm-lw{grid-area:2/1}
  .nm-lw-num{font-size:44px}
  .nm-lw-label{font-size:10px}
  .nm-pc-card{width:min(100%,280px)}
}


/* ================= Awareness page: event report layout ================= */
.ax-cover{position:relative;min-height:clamp(540px,80vh,760px);display:flex;align-items:stretch;overflow:hidden;background:#3E0B2B;margin-top:-1px}
.ax-cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.ax-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(62,11,43,.25) 0%,rgba(62,11,43,.35) 35%,rgba(62,11,43,.92) 78%,#3E0B2B 100%)}
.ax-cover-in{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(20px,3vw,32px);padding-bottom:clamp(36px,5vw,64px)}
.ax-chip{align-self:flex-start;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ax-cover-txt{max-width:780px;display:flex;flex-direction:column;gap:16px;color:#fff}
.ax-kicker{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--nm-brand-soft)}
.ax-ribbon{width:18px;height:24px;flex-shrink:0}
.ax-cover h1{margin:0;font-family:Fraunces,Georgia,serif;font-weight:400;font-size:clamp(46px,7vw,104px);line-height:.96;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.ax-cover h1 em{color:var(--nm-brand-soft)}
.ax-cover-txt p{margin:0;max-width:52ch;font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--nm-on-plum)}
.ax-cover-txt .nm-btn{align-self:flex-start;margin-top:6px}
.ax-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(-48px,-4vw,-32px) 0 0;position:relative;z-index:2;border-radius:var(--nm-r-lg);background:var(--nm-surface);background-image:linear-gradient(180deg,var(--surface-hi),var(--nm-surface) 46%);border:1px solid var(--nm-line);box-shadow:var(--nm-raise-2);overflow:hidden}
.ax-facts div{padding:18px 22px;border-left:1px solid var(--nm-line)}
.ax-facts div:first-child{border-left:0}
.ax-facts dt{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--nm-brand)}
.ax-facts dd{margin:4px 0 0;font-family:Fraunces,Georgia,serif;font-size:19px;line-height:1.3;color:var(--nm-text)}
.ax-h2{margin:8px 0 0;font-family:Fraunces,Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,56px);line-height:1.02;letter-spacing:-.02em;color:var(--nm-text)}
.ax-h2 em{color:var(--nm-brand)}
.ax-watch .ax-h2 em{color:var(--nm-brand-soft)}
#ax-speakers{scroll-margin-top:96px}
@media (max-width:640px){#ax-speakers{scroll-margin-top:84px}}
.ax-story{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:start;margin-top:clamp(48px,6vw,88px)}
.ax-story-txt p{margin:16px 0 0;max-width:62ch;font-size:17.5px;line-height:1.75;color:var(--nm-text-2)}
.ax-story-txt .ax-lead{margin-top:22px;font-family:Fraunces,Georgia,serif;font-size:clamp(20px,1.8vw,24px);line-height:1.5;color:var(--nm-text)}
.ax-story-side{position:sticky;top:100px;display:flex;flex-direction:column;gap:18px}
.ax-story-side figure{margin:0}
.ax-story-side img{display:block;width:100%;height:auto;aspect-ratio:4/4.4;object-fit:cover;object-position:center 30%;border-radius:var(--nm-r-lg);box-shadow:var(--nm-raise-2)}
.ax-story-side blockquote{margin:0;padding:18px 22px;border-left:3px solid var(--nm-brand);background:var(--nm-brand-tint);border-radius:0 16px 16px 0}
.ax-story-side blockquote p{margin:0;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:clamp(22px,2vw,28px);line-height:1.25;color:var(--nm-brand)}
.ax-story-side cite{display:block;margin-top:8px;font-style:normal;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--nm-muted)}
.ax-sechead{margin:clamp(56px,7vw,104px) 0 22px}
.ax-sechead-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.ax-spk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.ax-spk{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--nm-surface);border:1px solid var(--nm-line);box-shadow:var(--nm-raise-1)}
.ax-spk img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;background:#e9e4e7}
.ax-spk-body{flex:1;padding:16px 18px 20px;border-top:3px solid var(--nm-brand)}
.ax-spk h3{margin:0;font-family:Fraunces,Georgia,serif;font-weight:400;font-size:21px;line-height:1.2;color:var(--nm-text)}
.ax-spk h3 small{font-family:Manrope,Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--nm-brand)}
.ax-spk ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.ax-spk li{position:relative;padding-left:14px;font-size:14px;line-height:1.5;color:var(--nm-text-2)}
.ax-spk li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--nm-brand)}
.ax-spk [lang="ar"]{font-family:Tajawal,Manrope,Arial,sans-serif;font-size:15px}
.ax-watch{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:clamp(56px,7vw,104px);padding:clamp(22px,3vw,44px);border-radius:var(--nm-r-lg);background:radial-gradient(120% 100% at 0% 0%,#8A2B66,var(--nm-brand) 50%,#3E0B2B);color:#fff;box-shadow:var(--nm-raise-2)}
.ax-watch video{display:block;width:clamp(240px,22vw,300px);height:auto;aspect-ratio:9/16;border-radius:18px;background:#2A0D20;box-shadow:0 24px 40px -20px rgba(0,0,0,.6)}
.ax-watch-side>p:not(.nm-eyebrow){margin:12px 0 0;max-width:52ch;font-size:16px;line-height:1.7;color:var(--nm-on-plum)}
.ax-bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.ax-bento figure{position:relative;margin:0;border-radius:14px;overflow:hidden}
.ax-bento img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 30%}
.ax-bento figcaption{position:absolute;left:8px;bottom:8px;padding:5px 9px;border-radius:8px;background:rgba(255,255,255,.92);color:var(--nm-brand);font-size:12px;font-weight:800}
.ax-ctrl{display:flex;gap:8px}
.ax-btn{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--nm-line-strong);background:var(--nm-surface);color:var(--nm-brand);cursor:pointer;box-shadow:var(--nm-raise-1);transition:background-color var(--m-fast) var(--m-ease),color var(--m-fast) var(--m-ease),transform var(--m-move) var(--m-ease)}
.ax-btn:hover{background:var(--nm-brand);color:#fff}
.ax-btn:active{transform:scale(.96)}
.ax-gal{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:var(--nm-line-strong) transparent}
.ax-gal figure{flex:0 0 clamp(240px,24vw,320px);margin:0;scroll-snap-align:start}
.ax-gal img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:16px;box-shadow:var(--nm-raise-1)}
.ax-gal figcaption{display:flex;gap:10px;margin-top:10px;font-size:14px;line-height:1.45;color:var(--nm-text-2)}
.ax-gal figcaption span{font-family:Fraunces,Georgia,serif;font-size:15px;color:var(--nm-brand)}
.ax-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:clamp(48px,6vw,88px) 0 clamp(48px,6vw,88px);padding:clamp(22px,3vw,36px);border-radius:var(--nm-r-lg);background-color:var(--nm-surface);background-image:linear-gradient(180deg,var(--surface-hi),var(--nm-surface) 46%);border:1px solid var(--nm-line);box-shadow:var(--nm-raise-2)}
.ax-cta h2{margin:0;font-family:Fraunces,Georgia,serif;font-weight:400;font-size:clamp(26px,2.6vw,36px);color:var(--nm-text)}
.ax-cta p{margin:6px 0 0;font-size:16px;color:var(--nm-text-2)}
.ax-cta-btns{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:1100px){.ax-spk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){
  .ax-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ax-facts div:nth-child(3){border-left:0}
  .ax-facts div:nth-child(n+3){border-top:1px solid var(--nm-line)}
  .ax-story{grid-template-columns:minmax(0,1fr)}
  .ax-story-side{position:static}
  .ax-watch{grid-template-columns:minmax(0,1fr);justify-items:center}
  .ax-watch-side{width:100%}
}
@media (max-width:640px){
  .ax-cover{min-height:560px}
  .ax-chip{font-size:10px;letter-spacing:.08em}
  .ax-facts div{padding:14px 16px}
  .ax-facts dd{font-size:16px}
  .ax-story-txt p{font-size:16.5px}
  .ax-spk-grid{grid-template-columns:minmax(0,1fr)}
  .ax-spk{display:grid;grid-template-columns:120px minmax(0,1fr)}
  .ax-spk img{height:100%;aspect-ratio:auto;min-height:160px}
  .ax-spk-body{border-top:0;border-left:3px solid var(--nm-brand);padding:12px 14px 14px}
  .ax-spk h3{font-size:19px}
  .ax-spk li{font-size:13px}
  .ax-gal figure{flex-basis:78%}
  .ax-cta-btns .nm-btn{width:100%}
}


/* foldable cover screens and very narrow phones */
@media (max-width:300px){
  .nm-hdr-cta{display:none}
  .nm-hx-rot{font-size:11px;padding:6px 10px 6px 8px;gap:8px;max-width:100%}
  .nm-hx-title{font-size:34px !important}
  .ax-cover h1{font-size:40px}
}


/* keyboard-scrollable regions (photo strips, swipe rows) show where focus is */
[role="region"][tabindex]:focus-visible,.ax-gal:focus-visible{outline:3px solid var(--nm-brand);outline-offset:4px;border-radius:18px}


/* ================= Frameworks bar: "The Prevention Dose" =================
   A capsule hops icon to icon (positions measured by script into --fx0..3 / --fy0..3);
   each icon fills with plum, ripples, and its name gets a blush underline.
   Transform/opacity only; paused off-screen; off for reduced motion. */
.nm-fw-ico{animation:nm-fw-pop 750ms var(--nm-ease) both !important}
.nm-fw-ico svg,.nm-fw-ico svg *{animation:none !important}
.nm-fw-ico::after,.nm-fw-card::after{animation:none !important;opacity:0 !important}
.nm-fw-ico{position:relative;overflow:visible;isolation:isolate}
.nm-fw-ico svg{position:relative;z-index:2}
.fw-fill{position:absolute;inset:0;z-index:1;border-radius:inherit;background:linear-gradient(180deg,#8A2B66,var(--nm-brand));transform:scaleY(0);transform-origin:50% 100%;pointer-events:none}
.fw-ring{position:absolute;inset:-5px;z-index:0;border-radius:15px;border:2px solid var(--nm-brand-soft);opacity:0;transform:scale(.6);pointer-events:none}
.nm-fw-name{position:relative}
.nm-fw-name::after{content:"";position:absolute;left:0;right:18%;bottom:-5px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--nm-brand),#E9A9CC 70%,rgba(233,169,204,0));transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
.fw-relay{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0}
.fw-relay i{position:absolute;left:0;top:0;display:block}
.fw-cap{width:26px;height:13px;margin:-6.5px 0 0 -13px;border-radius:999px;background:linear-gradient(90deg,var(--nm-brand) 0 50%,#F3C9E0 50% 100%);box-shadow:0 3px 8px -1px rgba(113,24,80,.45),inset 0 1px 0 rgba(255,255,255,.45);opacity:0}
.fw-trail{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:#E9A9CC;opacity:0}
.fw-pop{width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:2px solid var(--nm-brand-soft);opacity:0}
.nm-fw-card.fw-ready .fw-relay{opacity:1}
.nm-fw-card.fw-ready .fw-cap{animation:fw-fly 10s 2.2s cubic-bezier(.45,0,.25,1) infinite}
.nm-fw-card.fw-ready .fw-trail{animation:fw-trail 10s 2.2s cubic-bezier(.45,0,.25,1) infinite}
.nm-fw-card.fw-ready .fw-trail:nth-child(2){animation-delay:2.27s}
.nm-fw-card.fw-ready .fw-trail:nth-child(3){animation-delay:2.34s}
.nm-fw-card.fw-ready .fw-pop{animation:fw-burst 10s 2.2s ease-out infinite}
.nm-fw-card:not(.fw-live) .fw-relay i,.nm-fw-card:not(.fw-live) .fw-fill,.nm-fw-card:not(.fw-live) .fw-ring,.nm-fw-card:not(.fw-live) .nm-fw-name::after,.nm-fw-card:not(.fw-live) .nm-fw-ico svg{animation-play-state:paused !important}

@keyframes fw-fly{
  0%{transform:translate(calc(var(--fx0)),calc(var(--fy0))) scale(0) rotate(0deg);opacity:0}
  3%{transform:translate(calc(var(--fx0)),calc(var(--fy0))) scale(1.15) rotate(0deg);opacity:1}
  6%{transform:translate(calc(var(--fx0)),calc(var(--fy0))) scale(.8,1.15) rotate(0deg);opacity:1}
  8%{transform:translate(calc(var(--fx0)),calc(var(--fy0))) scale(1) rotate(0deg);opacity:1}
  14%{transform:translate(calc((var(--fx0) + var(--fx1)) / 2),calc(min(var(--fy0),var(--fy1)) - 30px)) scale(1.1) rotate(200deg);opacity:1}
  20%{transform:translate(calc(var(--fx1)),calc(var(--fy1))) scale(1) rotate(360deg);opacity:1}
  21%{transform:translate(calc(var(--fx1)),calc(var(--fy1))) scale(.8,1.15) rotate(360deg)}
  23%{transform:translate(calc(var(--fx1)),calc(var(--fy1))) scale(1) rotate(360deg)}
  29%{transform:translate(calc((var(--fx1) + var(--fx2)) / 2),calc(min(var(--fy1),var(--fy2)) - 30px)) scale(1.1) rotate(560deg)}
  35%{transform:translate(calc(var(--fx2)),calc(var(--fy2))) scale(1) rotate(720deg)}
  36%{transform:translate(calc(var(--fx2)),calc(var(--fy2))) scale(.8,1.15) rotate(720deg)}
  38%{transform:translate(calc(var(--fx2)),calc(var(--fy2))) scale(1) rotate(720deg)}
  44%{transform:translate(calc((var(--fx2) + var(--fx3)) / 2),calc(min(var(--fy2),var(--fy3)) - 30px)) scale(1.1) rotate(920deg)}
  50%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(1) rotate(1080deg);opacity:1}
  51%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(.8,1.15) rotate(1080deg);opacity:1}
  54%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(1.6) rotate(1080deg);opacity:0}
  100%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(0) rotate(1080deg);opacity:0}
}
@keyframes fw-trail{
  0%{transform:translate(calc(var(--fx0)),calc(var(--fy0))) scale(0) rotate(0deg);opacity:0}
  3%{transform:translate(calc(var(--fx0)),calc(var(--fy0))) scale(.9) rotate(0deg);opacity:.55}
  6%{transform:translate(calc(var(--fx0)),calc(var(--fy0))) scale(.7) rotate(0deg);opacity:.55}
  8%{transform:translate(calc(var(--fx0)),calc(var(--fy0))) scale(1) rotate(0deg);opacity:.55}
  14%{transform:translate(calc((var(--fx0) + var(--fx1)) / 2),calc(min(var(--fy0),var(--fy1)) - 30px)) scale(.8) rotate(200deg);opacity:.55}
  20%{transform:translate(calc(var(--fx1)),calc(var(--fy1))) scale(1) rotate(360deg);opacity:.55}
  21%{transform:translate(calc(var(--fx1)),calc(var(--fy1))) scale(.7) rotate(360deg)}
  23%{transform:translate(calc(var(--fx1)),calc(var(--fy1))) scale(1) rotate(360deg)}
  29%{transform:translate(calc((var(--fx1) + var(--fx2)) / 2),calc(min(var(--fy1),var(--fy2)) - 30px)) scale(.8) rotate(560deg)}
  35%{transform:translate(calc(var(--fx2)),calc(var(--fy2))) scale(1) rotate(720deg)}
  36%{transform:translate(calc(var(--fx2)),calc(var(--fy2))) scale(.7) rotate(720deg)}
  38%{transform:translate(calc(var(--fx2)),calc(var(--fy2))) scale(1) rotate(720deg)}
  44%{transform:translate(calc((var(--fx2) + var(--fx3)) / 2),calc(min(var(--fy2),var(--fy3)) - 30px)) scale(.8) rotate(920deg)}
  50%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(1) rotate(1080deg);opacity:.55}
  51%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(.7) rotate(1080deg);opacity:.55}
  54%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(.4) rotate(1080deg);opacity:0}
  100%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(0) rotate(1080deg);opacity:0}
}
@keyframes fw-burst{
  0%,50%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(.4);opacity:0}
  52%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(.6);opacity:.9}
  60%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(2.4);opacity:0}
  100%{transform:translate(calc(var(--fx3)),calc(var(--fy3))) scale(2.4);opacity:0}
}
@keyframes fw-fill1{0%,6%{transform:scaleY(0)}9%{transform:scaleY(1)}80%{transform:scaleY(1)}88%,100%{transform:scaleY(0)}}
@keyframes fw-glyph1{0%,6%{color:var(--nm-brand)}8%,80%{color:#fff}88%,100%{color:var(--nm-brand)}}
@keyframes fw-ring1{0%,6%{transform:scale(.6);opacity:0}7%{transform:scale(.8);opacity:.95}14%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}
@keyframes fw-line1{0%,7%{transform:scaleX(0)}12%,80%{transform:scaleX(1)}88%,100%{transform:scaleX(0)}}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(1) .fw-fill{animation:fw-fill1 10s 2.2s cubic-bezier(.3,.7,.2,1) infinite}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(1) .nm-fw-ico svg{animation:fw-glyph1 10s 2.2s linear infinite !important}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(1) .fw-ring{animation:fw-ring1 10s 2.2s ease-out infinite}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(1) .nm-fw-name::after{animation:fw-line1 10s 2.2s cubic-bezier(.3,.7,.2,1) infinite}
@keyframes fw-fill2{0%,21%{transform:scaleY(0)}24%{transform:scaleY(1)}80%{transform:scaleY(1)}88%,100%{transform:scaleY(0)}}
@keyframes fw-glyph2{0%,21%{color:var(--nm-brand)}23%,80%{color:#fff}88%,100%{color:var(--nm-brand)}}
@keyframes fw-ring2{0%,21%{transform:scale(.6);opacity:0}22%{transform:scale(.8);opacity:.95}29%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}
@keyframes fw-line2{0%,22%{transform:scaleX(0)}27%,80%{transform:scaleX(1)}88%,100%{transform:scaleX(0)}}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(2) .fw-fill{animation:fw-fill2 10s 2.2s cubic-bezier(.3,.7,.2,1) infinite}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(2) .nm-fw-ico svg{animation:fw-glyph2 10s 2.2s linear infinite !important}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(2) .fw-ring{animation:fw-ring2 10s 2.2s ease-out infinite}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(2) .nm-fw-name::after{animation:fw-line2 10s 2.2s cubic-bezier(.3,.7,.2,1) infinite}
@keyframes fw-fill3{0%,36%{transform:scaleY(0)}39%{transform:scaleY(1)}80%{transform:scaleY(1)}88%,100%{transform:scaleY(0)}}
@keyframes fw-glyph3{0%,36%{color:var(--nm-brand)}38%,80%{color:#fff}88%,100%{color:var(--nm-brand)}}
@keyframes fw-ring3{0%,36%{transform:scale(.6);opacity:0}37%{transform:scale(.8);opacity:.95}44%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}
@keyframes fw-line3{0%,37%{transform:scaleX(0)}42%,80%{transform:scaleX(1)}88%,100%{transform:scaleX(0)}}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(3) .fw-fill{animation:fw-fill3 10s 2.2s cubic-bezier(.3,.7,.2,1) infinite}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(3) .nm-fw-ico svg{animation:fw-glyph3 10s 2.2s linear infinite !important}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(3) .fw-ring{animation:fw-ring3 10s 2.2s ease-out infinite}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(3) .nm-fw-name::after{animation:fw-line3 10s 2.2s cubic-bezier(.3,.7,.2,1) infinite}
@keyframes fw-fill4{0%,51%{transform:scaleY(0)}54%{transform:scaleY(1)}80%{transform:scaleY(1)}88%,100%{transform:scaleY(0)}}
@keyframes fw-glyph4{0%,51%{color:var(--nm-brand)}53%,80%{color:#fff}88%,100%{color:var(--nm-brand)}}
@keyframes fw-ring4{0%,51%{transform:scale(.6);opacity:0}52%{transform:scale(.8);opacity:.95}59%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}
@keyframes fw-line4{0%,52%{transform:scaleX(0)}57%,80%{transform:scaleX(1)}88%,100%{transform:scaleX(0)}}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(4) .fw-fill{animation:fw-fill4 10s 2.2s cubic-bezier(.3,.7,.2,1) infinite}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(4) .nm-fw-ico svg{animation:fw-glyph4 10s 2.2s linear infinite !important}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(4) .fw-ring{animation:fw-ring4 10s 2.2s ease-out infinite}
.nm-fw-card.fw-ready .nm-fw-item:nth-child(4) .nm-fw-name::after{animation:fw-line4 10s 2.2s cubic-bezier(.3,.7,.2,1) infinite}
@media (prefers-reduced-motion: reduce){
  .nm-fw-card.fw-ready .nm-fw-list .nm-fw-item .nm-fw-ico svg{animation:none !important}
  .fw-relay{display:none}
}
/* ================= Reduced motion ================= */
@media (prefers-reduced-motion: reduce){
  .nm-root *,.nm-root *::before,.nm-root *::after{animation:none !important;transition-duration:1ms !important}
  .nm-mark{background-size:100% 100% !important}
  .nm-progress{display:none}
  html{scroll-behavior:auto}
}
/* static-site additions */
[hidden]{display:none !important}
html.gsap-on .nm-rv,html.gsap-on .nm-rv-l,html.gsap-on .nm-rv-r,html.gsap-on .nm-rv-s,html.gsap-on .nm-journey > .nm-prog,html.gsap-on .nm-steps > li,html.gsap-on .nm-found-list > li,html.gsap-on .nm-mark{animation:none !important}
html.gsap-on .nm-mark{background-size:100% 100% !important}
.nm-menu-btn .nm-ico-open,.nm-menu-btn .nm-ico-close{display:inline-flex}
@media (min-width:1101px){.nm-navlinks{display:flex !important}}
