/* Component changes from the targeted cinematic brief. */
.ns-page{background-color:var(--ns-paper)}
.ns-icon{display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit!important}
.ns-icon:before{content:none!important}
.ns-icon svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7}
.ns-page .ns-cinematic{display:block;min-width:0;width:100%}
.ns-cinematic img{display:block;width:100%;height:auto}
.ns-care-card{transition:border-color .18s ease,background-color .18s ease,transform .18s ease}
.ns-care-card:hover{transform:translateY(-3px)}
.ns-care-card>.ns-icon{transition:transform .18s ease}
.ns-care-card:hover>.ns-icon{transform:translateX(3px)}
.ns-arrival-photos>*{min-width:0}
.ns-founder-portrait .ns-cinematic img{aspect-ratio:1.107;object-fit:contain;background:#fff}
.ns-founder .ns-editorial{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.ns-founder h2{font-size:38px;line-height:1.15}
.ns-facts-title{margin-top:56px!important}
.ns-founder-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin-top:28px}
.ns-founder-facts>div{padding:18px 0;border-top:1px solid var(--ns-line)}
.ns-founder-facts .ns-icon{color:var(--ns-green);margin-bottom:18px}
.ns-founder-facts p{font-size:13px;margin:0;line-height:1.6}
.ns-history{display:grid;grid-template-columns:1fr 1fr;gap:60px;position:relative;padding-top:38px;margin-top:40px}
.ns-history-line{position:absolute;top:0;left:0;right:0;height:2px;background:#d6deda}
.ns-history-line>span{display:block;height:100%;background:var(--ns-green);transform:scaleX(var(--timeline-progress,0));transform-origin:left}
.ns-history article>span{font:600 15px var(--ns-body);color:var(--ns-green);display:block;margin-bottom:16px}
.ns-history h3{font-size:23px}
.ns-history p{font-size:14px}
.ns-gallery-tools{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:30px 0}
.ns-gallery-tools label{font-size:13px;display:grid;gap:8px;min-width:240px}
.ns-gallery-tools select{min-height:48px;padding:10px 14px;border:1px solid #aab6bf;border-radius:4px;background:#fff;color:var(--ns-ink)}
.ns-gallery-tools p{margin-bottom:12px}
.ns-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;margin-bottom:36px}
.ns-gallery-grid figure{min-width:0}
.ns-gallery-open{position:relative;display:block;width:100%;border:0;padding:0;background:#ecefeb;cursor:zoom-in;overflow:hidden;border-radius:4px}
.ns-gallery-open .ns-cinematic img{aspect-ratio:4/5;object-fit:contain;object-position:center;background:#f0f2ef}
.ns-gallery-grid figcaption{font-size:12px;line-height:1.55;margin-top:12px;color:var(--ns-muted)}
.ns-gallery-expand{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:36px;height:36px;background:#ffffffeb;border-radius:50%;color:var(--ns-ink)}
.ns-gallery-open:hover .ns-gallery-expand{background:#fff;color:var(--ns-blue)}
.ns-programme-hero{position:relative;isolation:isolate;min-height:650px;display:flex;align-items:center;overflow:hidden;background:#dfe9eb}
.ns-programme-hero-photo{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.ns-programme-hero-photo img{width:100%;height:100%!important;object-fit:cover;object-position:center}
.ns-programme-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f7f8f7f2 0,#f7f8f7de 38%,#f7f8f700 67%)}
.ns-programme-hero-copy{padding-block:90px}
.ns-programme-hero-copy h1{max-width:650px;font-size:58px}
.ns-programme-hero-copy>p:not(.ns-eyebrow){max-width:560px;color:var(--ns-ink)}
.ns-careers-hero:before{background:linear-gradient(90deg,#18212ae8 0,#18212ac7 42%,#18212a12 72%)}
.ns-careers-hero .ns-programme-hero-copy h1,.ns-careers-hero .ns-programme-hero-copy>p{color:#fff}
.ns-careers-hero .ns-eyebrow{color:#d6ece5!important}
.ns-package-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}
.ns-package-groups{display:grid;grid-template-columns:1fr 1fr;gap:38px}
.ns-package-groups section:last-child{grid-column:1/-1}
.ns-wellness-booking{background:#eaf1f5}
.ns-form-unavailable .ns-button{margin:8px 10px 18px 0}
.ns-insurance{background:#edf3f6;border-block:1px solid #d8e3e8}
.ns-insurance-row{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.ns-insurance-row h2{margin-bottom:12px}
.ns-insurance-row p:last-child{margin:0;max-width:590px}
.ns-insurance-names{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ns-insurance-names figure{display:grid;grid-template-rows:92px auto;align-items:center;min-width:0;margin:0;padding:18px;border:1px solid #c4d2da;border-radius:4px;background:#fff;text-align:center}
.ns-insurance-names img{width:100%;height:76px!important;object-fit:contain}
.ns-insurance-names figcaption{margin-top:10px;color:var(--ns-muted);font:600 12px/1.35 var(--ns-body)}
.ns-wellness-preview img{object-position:center}
.ns-faq details>p{animation:ns-faq-open .2s ease}
@keyframes ns-faq-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ns-lightbox{width:min(1100px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(880px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:56px 20px 20px;background:#f4f5f3;border:0;border-radius:6px;overflow:hidden;color:var(--ns-ink)}
.ns-lightbox::backdrop,.ns-booking-sheet::backdrop{background:#18212ab8}
.ns-icon-button{display:inline-grid;place-items:center;width:44px;height:44px;flex-shrink:0;padding:0;border:1px solid #c1cacb;border-radius:50%;background:white;color:var(--ns-ink);cursor:pointer}
.ns-icon-button:hover{background:#e8eef1;color:var(--ns-blue)}
.ns-lightbox-close{position:absolute;top:10px;right:14px}
.ns-lightbox-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;height:calc(100% - 54px);align-items:center}
.ns-lightbox-image{width:100%;height:100%!important;min-height:0;object-fit:contain;touch-action:pan-y}
.ns-lightbox-caption{font-size:13px;line-height:1.4;margin:16px 56px 0!important;text-align:center;color:var(--ns-ink)!important}
.ns-prime-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:520px;height:calc(100svh - 190px);max-height:820px;background:#edf0e8;overflow:hidden}
.ns-prime-hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.ns-prime-hero-photo img{width:100%;height:100%!important;object-fit:cover;object-position:center}
.ns-prime-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f6f7efe8 0%,#f6f7efc2 27%,#f6f7ef00 53%)}
.ns-prime-hero-copy h1{font-size:48px;line-height:1.05;max-width:460px;color:var(--ns-ink);margin-bottom:22px}
.ns-prime-hero-copy>.ns-eyebrow{font-size:11px}
.ns-prime-hero-copy>p:not(.ns-eyebrow){font-size:22px;color:#26392c;margin-bottom:28px}
.ns-prime-hero-copy .ns-actions{max-width:430px;gap:8px 16px}
.ns-prime-hero-copy .ns-link{color:#154d31}
.ns-prime-acronym{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:52px}
.ns-prime-acronym>div{padding:24px 0;border-top:1px solid #b9c6be}
.ns-prime-acronym span{font:600 52px/1 var(--ns-display);color:var(--ns-green)}
.ns-prime-acronym h3{font:600 15px/1.4 var(--ns-body);margin:20px 0 0;overflow-wrap:anywhere}
.ns-prime-day{background:#edf1ed}
.ns-prime-register{background:#eef3f5}
.ns-prime-register .ns-faq-layout>div:first-child>p{max-width:380px}
.ns-prime-register .ns-form button{white-space:normal}
.ns-mobile-booking-trigger{display:none}
.ns-booking-sheet{position:fixed;inset:auto 0 0;max-width:100%;width:100%;margin:0;padding:40px 24px 32px;background:#f7f8f7;border:0;border-radius:8px 8px 0 0;color:var(--ns-ink)}
.ns-booking-sheet h2{font:600 28px/1.2 var(--ns-display);color:var(--ns-ink);margin-bottom:24px}
.ns-booking-sheet>.ns-button{display:flex;width:100%;margin-top:12px}
.ns-sheet-close{position:absolute;top:14px;right:18px}
.ns-booking-sheet .ns-eyebrow{padding-right:44px}
@media(prefers-reduced-motion:no-preference){
 @keyframes ns-copy-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
 @keyframes ns-image-in{from{clip-path:inset(0 0 6% 0);opacity:.5}to{clip-path:inset(0);opacity:1}}
 @keyframes ns-crossfade{from{opacity:.25}to{opacity:1}}
 @keyframes ns-sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
 .ns-hero-copy,.ns-prime-hero-copy{animation:ns-copy-in .55s ease both}
 .ns-hero-image,.ns-prime-hero-photo{animation:ns-image-in .7s ease both}
 [data-stagger-item],[data-prime-letter]{transition:opacity .55s ease,transform .55s ease;transition-delay:var(--reveal-delay,0ms)}
 .ns-stagger-pending{opacity:0;transform:translateY(10px)}
 .ns-lightbox-image.is-changing{animation:ns-crossfade .35s ease both}
 .ns-booking-sheet[open]{animation:ns-sheet-in .22s ease both}
}
@media(max-width:1100px){.ns-desktop-nav{display:none}.ns-header-book{margin-left:auto}.ns-menu-toggle{display:flex}.ns-founder-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.ns-prime-hero-copy h1{font-size:42px;max-width:360px}.ns-prime-hero-copy .ns-actions{max-width:340px}}
@media(max-width:680px){
 .ns-programme-hero{display:block;min-height:0;padding-top:0}.ns-programme-hero-photo{position:relative;display:block;height:auto}.ns-programme-hero-photo img{aspect-ratio:16/10;object-position:64% center}.ns-programme-hero:before{display:none}.ns-programme-hero-copy{padding-block:42px 68px}.ns-programme-hero-copy h1{font-size:38px}.ns-careers-hero{background:var(--ns-ink)}.ns-careers-hero .ns-programme-hero-photo img{object-position:center}.ns-package-layout,.ns-package-groups,.ns-insurance-row{grid-template-columns:1fr;gap:28px}.ns-package-groups section:last-child{grid-column:auto}.ns-insurance-names{grid-template-columns:1fr}.ns-insurance-names span{min-height:72px;font-size:16px}
 .ns-founder .ns-editorial{grid-template-columns:1fr}.ns-founder h2{font-size:32px}.ns-founder-portrait{max-width:420px;margin:auto}.ns-founder-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}.ns-founder-facts p{font-size:13px}
 .ns-history{grid-template-columns:1fr;padding:0 0 0 26px;gap:24px;margin-top:32px}.ns-history-line{width:2px;height:auto;top:0;bottom:0;right:auto}.ns-history-line>span{transform:scaleY(var(--timeline-progress,0));transform-origin:top}
 .ns-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.ns-gallery-tools{display:block}.ns-gallery-tools label{min-width:0}.ns-gallery-tools p{margin:12px 0}.ns-gallery-grid figcaption{font-size:11px}.ns-gallery-expand{width:30px;height:30px;bottom:8px;right:8px}
 .ns-lightbox{padding:60px 8px 12px;width:calc(100vw - 16px);max-width:calc(100vw - 16px)}.ns-lightbox-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:2px}.ns-lightbox-prev,.ns-lightbox-next{width:36px;height:44px}.ns-lightbox-caption{margin:12px 16px 0!important;font-size:12px}
 .ns-prime-hero{display:block;min-height:0;height:auto;max-height:none;padding-bottom:44px}.ns-prime-hero-photo{position:relative;z-index:auto;height:auto!important}.ns-prime-hero-photo img{height:auto!important;aspect-ratio:1.777;object-fit:contain;object-position:center}.ns-prime-hero:after{display:none}.ns-prime-hero-copy{padding-top:30px}.ns-prime-hero-copy h1{font-size:36px;max-width:430px}.ns-prime-hero-copy>p:not(.ns-eyebrow){font-size:20px}.ns-prime-hero-copy .ns-actions{max-width:none}.ns-prime-hero-copy .ns-eyebrow{font-size:10px}
 .ns-prime-acronym{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}.ns-prime-acronym>div:last-child{grid-column:1/-1}.ns-prime-acronym span{font-size:44px}.ns-prime-acronym h3{font-size:15px}
 .ns-mobile-booking-trigger{position:fixed;z-index:90;right:16px;bottom:16px;display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #fff;border-radius:6px;background:var(--ns-blue);color:#fff;font:600 13px var(--ns-body);min-height:48px;box-shadow:0 3px 12px #18212a22}
 .ns-footer{padding-bottom:92px}
}
@media(prefers-reduced-motion:reduce){.ns-stagger-pending{opacity:1;transform:none}.ns-history-line>span{transform:none}.ns-care-card:hover,.ns-care-card:hover>.ns-icon{transform:none}}
@media(max-width:380px){.ns-header-main{gap:8px}.ns-logo img{width:88px}.ns-header-book{font-size:10px;padding-inline:10px}.ns-header-book>.ns-icon{display:none!important}.ns-prime-hero-copy h1{font-size:34px}}

.ns-reveal{transition:opacity .52s ease,transform .52s ease;transition-delay:var(--ns-reveal-delay,0ms)}
@media(prefers-reduced-motion:no-preference){.ns-reveal.is-pending{opacity:0;transform:translateY(16px) scale(.99)}.ns-care-card:hover,.ns-gallery-open:hover{transform:translateY(-4px);box-shadow:0 10px 24px #18212a14}.ns-care-card,.ns-gallery-open{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}}
@media(max-width:680px){.ns-insurance-names figure{grid-template-rows:72px auto}.ns-insurance-names img{height:62px!important}}

.ns-insights-intro{background:#edf2f4}
.ns-insight-featured{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:48px}
.ns-insight-image{display:block;overflow:hidden;background:#e7ecec}
.ns-insight-image img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.ns-insight-featured .ns-insight-image img{aspect-ratio:16/10}
.ns-insight-copy h2{font-size:clamp(24px,2.8vw,40px);line-height:1.15;margin:8px 0 16px}
.ns-insight-copy h2 a{color:var(--ns-ink);text-decoration:none}
.ns-insight-copy h2 a:hover{color:var(--ns-blue)}
.ns-insight-copy>p:not(.ns-eyebrow):not(.ns-insight-meta){font-size:15px;max-width:580px}
.ns-insight-meta{display:flex;gap:18px;align-items:center;color:var(--ns-muted);font:500 12px/1.4 var(--ns-body);margin:18px 0 0}
.ns-insight-meta span:before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;margin:0 18px 3px 0}
.ns-insight-filters{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 12px}
.ns-insight-filters button{border:1px solid #b9c8d0;border-radius:4px;background:transparent;color:var(--ns-ink);font:600 13px/1.4 var(--ns-body);padding:10px 14px;cursor:pointer}
.ns-insight-filters button:hover,.ns-insight-filters button.is-active{border-color:var(--ns-blue);background:var(--ns-blue);color:#fff}
.ns-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;margin-top:30px}
.ns-insight-grid .ns-insight-card{min-width:0;border-top:1px solid var(--ns-line);padding-top:14px}
.ns-insight-grid .ns-insight-copy{padding-top:18px}
.ns-insight-grid .ns-insight-copy h2{font-size:23px}
.ns-insight-grid .ns-insight-copy>p:not(.ns-eyebrow):not(.ns-insight-meta){font-size:14px}
.ns-insight-grid [hidden],.ns-insight-empty[hidden]{display:none!important}
.ns-insight-heading{max-width:920px}
.ns-insight-body{padding-top:48px;padding-bottom:72px}
.ns-insight-lead-image{display:block;width:100%;max-height:580px;aspect-ratio:16/9;object-fit:cover}
.ns-insight-prose{max-width:740px;margin:46px auto 0;font:400 17px/1.8 var(--ns-body);color:var(--ns-ink)}
.ns-insight-prose h2{font-size:30px;line-height:1.22;margin:48px 0 16px}
.ns-insight-prose p,.ns-insight-prose ul{margin:0 0 22px}
.ns-insight-prose a{color:var(--ns-blue);text-underline-offset:3px}
.ns-insight-review{padding-top:24px;border-top:1px solid var(--ns-line)}
@media(prefers-reduced-motion:no-preference){.ns-insight-image img{transition:transform .3s ease}.ns-insight-card:hover .ns-insight-image img{transform:scale(1.025)}}
@media(max-width:980px){.ns-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.ns-insight-featured,.ns-insight-grid{grid-template-columns:1fr;gap:22px}.ns-insight-featured .ns-insight-copy{padding-top:0}.ns-insight-grid{gap:32px}.ns-insight-prose{font-size:16px}.ns-insight-prose h2{font-size:27px}.ns-insight-body{padding-top:24px}.ns-insight-lead-image{aspect-ratio:4/3}.ns-insight-filters button{font-size:12px}}
