:root{--nood-color-bg-page:#F5F4F0;--nood-color-bg-header:#FAF9F5;--nood-color-bg-surface:#fff;--nood-color-bg-sidebar:#EDECE8;--nood-color-bg-hover:#E8E7E3;--nood-color-bg-dark:#111;--nood-color-bg-footer:#22262B;--nood-color-text-primary:#111;--nood-color-text-secondary:#555;--nood-color-text-muted:#888;--nood-color-text-inverse:#fff;--nood-color-text-on-dark:rgba(255,255,255,.85);--nood-color-text-on-dark-muted:rgba(255,255,255,.55);--nood-color-border:#C4C4C4;--nood-color-border-strong:#111;--nood-color-border-on-dark:rgba(255,255,255,.25);--nood-color-accent-amber:#F5B942;--nood-bw-hairline:.5px;--nood-bw-thin:1px;--nood-bw-strong:2px;--nood-radius-none:0;--nood-radius-sm:0;--nood-radius-md:0;--nood-radius-lg:0;--nood-font-display:"Inter Tight","Neue Haas Grotesk Display Pro","Helvetica Neue",Arial,sans-serif;--nood-font-body:"Helvetica Neue","Helvetica",Arial,sans-serif;--nood-font-mono:"JetBrains Mono",ui-monospace,monospace;--nood-fs-display-xl:clamp(3rem,7vw,6rem);--nood-fs-display-lg:clamp(2.25rem,5vw,4rem);--nood-fs-display-md:clamp(1.75rem,3vw,2.75rem);--nood-fs-display-sm:clamp(1.5rem,2.5vw,2rem);--nood-fs-heading:1.1rem;--nood-fs-body-lg:1.0625rem;--nood-fs-body:.9375rem;--nood-fs-small:.8125rem;--nood-fs-label:.6875rem;--nood-fs-micro:.625rem;--nood-fw-regular:400;--nood-fw-medium:500;--nood-lh-tight:1;--nood-lh-snug:1.2;--nood-lh-base:1.5;--nood-lh-relaxed:1.65;--nood-tracking-tight:-.015em;--nood-tracking-snug:-.005em;--nood-tracking-normal:0;--nood-tracking-head:.05em;--nood-tracking-nav:.08em;--nood-tracking-label:.1em;--nood-tracking-wide:.12em;--nood-space-1:.25rem;--nood-space-2:.5rem;--nood-space-3:.75rem;--nood-space-4:1rem;--nood-space-5:1.5rem;--nood-space-6:2rem;--nood-space-7:3rem;--nood-space-8:4.5rem;--nood-space-9:6rem;--nood-space-10:7.5rem;--nood-section-py:clamp(3.5rem,7vw,6rem);--nood-section-px:clamp(1.25rem,4vw,4rem);--nood-section-py-lg:clamp(5rem,9vw,7.5rem);--nood-max-width:1440px;--nood-label-col:200px;--nood-gutter:2rem;--nood-ease-out:cubic-bezier(0.16,1,.3,1);--nood-ease-in-out:cubic-bezier(0.77,0,.175,1);--nood-ease-smooth:cubic-bezier(0.25,.46,.45,.94);--nood-dur-fast:150ms;--nood-dur-base:300ms;--nood-dur-slow:600ms;--nood-dur-slower:900ms;--nood-z-backdrop:150;--nood-z-nav:200;--nood-z-mega:250;--nood-z-modal:300;--stagger-delay:0ms;--nood-offwhite:#F5F4F0}html{font-size:16px}*,*::before,*::after{box-sizing:border-box}body.nood{margin:0;background:var(--nood-color-bg-page);color:var(--nood-color-text-primary);font-family:var(--nood-font-body);font-size:var(--nood-fs-body);line-height:var(--nood-lh-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.nood img{display:block;max-width:100%;height:auto}.nood a{color:inherit;text-decoration:none}.nood-type--display-xl,.nood-type--display-lg,.nood-type--display-md,.nood-type--display-sm{font-family:var(--nood-font-display);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);line-height:var(--nood-lh-snug);margin:0}.nood-type--display-xl{font-size:var(--nood-fs-display-xl);line-height:.95}.nood-type--display-lg{font-size:var(--nood-fs-display-lg);line-height:1}.nood-type--display-md{font-size:var(--nood-fs-display-md)}.nood-type--display-sm{font-size:var(--nood-fs-display-sm)}.nood-type--display-xl em,.nood-type--display-lg em,.nood-type--display-md em{font-style:italic;font-weight:var(--nood-fw-regular)}.nood-type--label{font-family:var(--nood-font-body);font-size:var(--nood-fs-label);font-weight:var(--nood-fw-regular);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-secondary);line-height:1.4;margin:0}.nood-type--label--muted{color:var(--nood-color-text-muted)}.nood-type--label--inverse{color:var(--nood-color-text-on-dark-muted)}.nood-type--micro{font-family:var(--nood-font-body);font-size:var(--nood-fs-micro);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted);line-height:1.4;margin:0}.nood-type--lead{font-family:var(--nood-font-body);font-size:var(--nood-fs-body-lg);line-height:var(--nood-lh-relaxed);color:var(--nood-color-text-secondary);margin:0}.nood-type--body{font-family:var(--nood-font-body);font-size:var(--nood-fs-body);line-height:var(--nood-lh-relaxed);color:var(--nood-color-text-secondary);margin:0}.nood-container{width:100%;max-width:var(--nood-max-width);margin-inline:auto}.nood-container--padded{padding-inline:var(--nood-section-px)}.nood-container--full{max-width:100%}.nood-container--narrow{max-width:960px}.nood-section{padding-block:var(--nood-section-py);padding-inline:var(--nood-section-px);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-section--lg{padding-block:var(--nood-section-py-lg)}.nood-section--no-border{border-top:0}.nood-section--sidebar-bg{background:var(--nood-color-bg-sidebar)}.nood-section--dark{background:var(--nood-color-bg-dark);color:var(--nood-color-text-inverse);border-top-color:var(--nood-color-bg-dark)}.nood-section__header{display:grid;grid-template-columns:var(--nood-label-col) minmax(0,1fr) auto;gap:var(--nood-gutter);align-items:end;margin-bottom:var(--nood-space-7)}.nood-section__label{font-size:var(--nood-fs-label);font-weight:var(--nood-fw-regular);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-secondary);line-height:1.4;padding-top:var(--nood-space-2);border-top:var(--nood-bw-hairline) solid var(--nood-color-text-primary);display:inline-block}.nood-section__header .nood-section__label{align-self:end}.nood-section__label--inverse{color:var(--nood-color-text-on-dark-muted);border-top-color:rgba(255,255,255,.5)}.nood-section__title{font-family:var(--nood-font-display);font-weight:var(--nood-fw-medium);font-size:var(--nood-fs-display-md);line-height:1;letter-spacing:var(--nood-tracking-tight);color:var(--nood-color-text-primary);margin:0}.nood-arrow{display:inline-block;flex-shrink:0;transition:transform var(--nood-dur-base) var(--nood-ease-out);color:currentColor;fill:currentColor}.nood-arrow--sm{width:40px;height:9px}.nood-arrow--md{width:60px;height:9px}.nood-arrow--lg{width:82px;height:11px}.nood-arrow--xl{width:120px;height:12px}.nood-arrow-link{display:inline-flex;align-items:center;gap:14px;font-family:var(--nood-font-body);font-size:var(--nood-fs-label);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-nav);text-transform:uppercase;color:var(--nood-color-text-primary);cursor:pointer;border;background:transparent;padding:0;position:relative;transition:gap var(--nood-dur-base) var(--nood-ease-out)}.nood-arrow-link__label{position:relative;display:inline-block}.nood-arrow-link__label::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--nood-dur-base) var(--nood-ease-out)}.nood-arrow-link:hover{gap:22px}.nood-arrow-link:hover .nood-arrow-link__label::after{transform:scaleX(1)}.nood-arrow-link:hover .nood-arrow{transform:translateX(6px)}.nood-arrow-link--inverse{color:var(--nood-color-text-inverse)}.nood-btn.nood-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:var(--nood-font-body);font-size:var(--nood-fs-label);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-nav);text-transform:uppercase;padding:.9rem 1.75rem;border:var(--nood-bw-thin) solid var(--nood-color-text-primary);border-radius:var(--nood-radius-md);cursor:pointer;overflow:hidden;isolation:isolate;transition:color var(--nood-dur-base) var(--nood-ease-out);text-decoration:none}.nood-btn:not(.nood-btn--outline):not(.nood-btn--solid)::before{content:"";position:absolute;inset:0;z-index:-1;transform:translateX(-101%);transition:transform var(--nood-dur-slow) var(--nood-ease-in-out)}.nood-btn:not(.nood-btn--outline):not(.nood-btn--solid):hover::before{transform:translateX(0)}.nood-btn__label{position:relative;z-index:1}.nood-btn .nood-arrow{position:relative;z-index:1}.nood-btn--primary.nood-btn--primary{background:var(--nood-color-text-primary);color:var(--nood-color-text-inverse)}.nood-btn--primary::before{background:var(--nood-color-bg-page)}.nood-btn--primary:hover{color:var(--nood-color-text-primary)}.nood-btn--primary:hover .nood-arrow{transform:translateX(6px)}.nood-btn--secondary.nood-btn--secondary{background:transparent;color:var(--nood-color-text-primary);border-color:var(--nood-color-text-primary)}.nood-btn--secondary::before{background:var(--nood-color-text-primary)}.nood-btn--secondary:hover{color:var(--nood-color-text-inverse)}.nood-btn--secondary:hover .nood-arrow{transform:translateX(6px)}.nood-btn--light.nood-btn--light{background:var(--nood-color-bg-page);color:var(--nood-color-text-primary);border-color:var(--nood-color-bg-page)}.nood-btn--light::before{background:var(--nood-color-text-primary)}.nood-btn--light:hover{color:var(--nood-color-text-inverse);border-color:var(--nood-color-text-primary)}.nood-btn--lg{padding:1.1rem 2.25rem;font-size:var(--nood-fs-small)}.nood-btn--sm{padding:.65rem 1.25rem;font-size:var(--nood-fs-micro)}.nood-btn .nood-arrow{transition:transform var(--nood-dur-base) var(--nood-ease-out)}.nood-btn.nood-btn--outline,.nood-btn.nood-btn--solid{--ink:#0b0b0b;--dur:520ms;--ease:cubic-bezier(.22,.61,.36,1);border-radius:999px!important;background:transparent!important;border:1px solid var(--ink)!important;transition:transform var(--dur) var(--ease)}.nood-btn.nood-btn--outline::after,.nood-btn.nood-btn--solid::after{content:"";position:absolute;inset:0;background:var(--ink);z-index:-1;will-change:transform;transition:transform var(--dur) var(--ease)}.nood-btn.nood-btn--outline span,.nood-btn.nood-btn--outline .nood-btn__label,.nood-btn.nood-btn--outline .bricks-button__text,.nood-btn.nood-btn--solid span,.nood-btn.nood-btn--solid .nood-btn__label,.nood-btn.nood-btn--solid .bricks-button__text{transition:color var(--dur) var(--ease)}.nood-btn.nood-btn--outline span,.nood-btn.nood-btn--outline .nood-btn__label,.nood-btn.nood-btn--outline .bricks-button__text{color:var(--ink)!important}.nood-btn.nood-btn--outline::after{transform:translateY(101%)}.nood-btn.nood-btn--outline:hover{transform:translateY(-1px)}.nood-btn.nood-btn--outline:hover span,.nood-btn.nood-btn--outline:hover .nood-btn__label,.nood-btn.nood-btn--outline:hover .bricks-button__text{color:var(--nood-offwhite)!important}.nood-btn.nood-btn--outline:hover::after,.nood-btn.nood-btn--outline:focus-visible::after{transform:translateY(0%)}.nood-btn.nood-btn--solid span,.nood-btn.nood-btn--solid .nood-btn__label,.nood-btn.nood-btn--solid .bricks-button__text{color:var(--nood-offwhite)!important}.nood-btn.nood-btn--solid::after{transform:translateY(0%)}.nood-btn.nood-btn--solid:hover{transform:translateY(-1px)}.nood-btn.nood-btn--solid:hover span,.nood-btn.nood-btn--solid:hover .nood-btn__label,.nood-btn.nood-btn--solid:hover .bricks-button__text{color:var(--ink)!important}.nood-btn.nood-btn--solid:hover::after,.nood-btn.nood-btn--solid:focus-visible::after{transform:translateY(101%)}.nood-btn.nood-btn--outline:active,.nood-btn.nood-btn--solid:active{transform:translateY(0) scale(.99)}.nood-btn.nood-btn--outline:focus-visible,.nood-btn.nood-btn--solid:focus-visible{outline;box-shadow:0 0 0 2px rgba(11,11,11,.18)}@media (prefers-reduced-motion:reduce){.nood-btn.nood-btn--outline,.nood-btn.nood-btn--solid,.nood-btn.nood-btn--outline::after,.nood-btn.nood-btn--solid::after{transition:none!important}}.nood-image-box{position:relative;display:block;overflow:hidden;background:var(--nood-color-bg-hover);cursor:pointer}.nood-image-box__media{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1);transition:transform 1.4s var(--nood-ease-smooth)}.nood-image-box:hover .nood-image-box__media{transform:scale(1.06)}.nood-card .nood-image-box::before{content:"";position:absolute;inset:0;border:0 solid var(--nood-color-accent-amber);z-index:2;pointer-events:none;transition:border-width .3s var(--nood-ease-out)}.nood-card:hover .nood-image-box::before{border-width:14px}.nood-image-box__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.65) 100%);opacity:0;transition:opacity var(--nood-dur-base) var(--nood-ease-out);pointer-events:none}.nood-image-box:hover .nood-image-box__overlay{opacity:1}.nood-image-box__caption{position:absolute;left:var(--nood-space-5);right:var(--nood-space-5);bottom:var(--nood-space-5);color:var(--nood-color-text-inverse);font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(8px);transition:opacity var(--nood-dur-base) var(--nood-ease-out) 80ms,transform var(--nood-dur-base) var(--nood-ease-out) 80ms;z-index:2}.nood-image-box:hover .nood-image-box__caption{opacity:1;transform:translateY(0)}.nood-image-box--portrait{aspect-ratio:4 / 5}.nood-image-box--landscape{aspect-ratio:3 / 2}.nood-image-box--square{aspect-ratio:1 / 1}.nood-image-box--wide{aspect-ratio:16 / 9}.nood-card{display:flex;flex-direction:column}.nood-card__media{margin-bottom:var(--nood-space-4)}.nood-card__meta{display:flex;justify-content:space-between;font-size:var(--nood-fs-micro);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted);margin-bottom:var(--nood-space-2)}.nood-card__title{font-family:var(--nood-font-display);font-size:1.5rem;font-weight:var(--nood-fw-medium);line-height:1.15;letter-spacing:var(--nood-tracking-snug);color:var(--nood-color-text-primary);margin:0 0 var(--nood-space-3)}.nood-card__desc{font-size:var(--nood-fs-body);color:var(--nood-color-text-secondary);line-height:var(--nood-lh-relaxed);margin:0 0 var(--nood-space-4)}.nood-card__link{margin-top:auto}.nood-card--skeleton{min-height:420px;background:var(--nood-color-bg-sidebar);animation:nood-pulse 1.4s ease-in-out infinite}@keyframes nood-pulse{0%,100%{opacity:1}50%{opacity:.5}}.nood-filter{display:flex;flex-wrap:wrap;gap:var(--nood-space-2);padding:var(--nood-space-5) var(--nood-section-px);border-bottom:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-filter__btn{font-family:var(--nood-font-body);font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-secondary);background:none;border:var(--nood-bw-hairline) solid var(--nood-color-border);padding:var(--nood-space-2) var(--nood-space-4);cursor:pointer;transition:color var(--nood-dur-fast) var(--nood-ease-out),border-color var(--nood-dur-fast) var(--nood-ease-out),background var(--nood-dur-fast) var(--nood-ease-out)}.nood-filter__btn:hover{color:var(--nood-color-text-primary);border-color:var(--nood-color-text-primary)}.nood-filter__btn.is-active{color:var(--nood-color-text-inverse);background:var(--nood-color-text-primary);border-color:var(--nood-color-text-primary)}.nood-session-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:var(--nood-bw-hairline) solid var(--nood-color-border);min-height:560px}.nood-session-hero__content{padding:var(--nood-space-8) var(--nood-section-px);border-right:var(--nood-bw-hairline) solid var(--nood-color-border);display:flex;flex-direction:column}.nood-session-hero__media{position:relative;overflow:hidden;background:var(--nood-color-bg-hover)}.nood-session-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--nood-ease-smooth)}.nood-session-hero__media:hover img{transform:scale(1.04)}.nood-session__details{display:flex;flex-direction:column;margin-top:var(--nood-space-6);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-session__detail-row{display:grid;grid-template-columns:8rem 1fr;gap:var(--nood-space-4);padding:var(--nood-space-3) 0;border-bottom:var(--nood-bw-hairline) solid var(--nood-color-border);align-items:baseline}.nood-session__detail-label{font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted)}.nood-session__detail-value{font-size:var(--nood-fs-body);color:var(--nood-color-text-primary);line-height:var(--nood-lh-base)}.nood-session__detail-value--price{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-sm);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight)}.nood-session__body{padding:var(--nood-space-8) var(--nood-section-px);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-session__body-inner{max-width:42rem}.nood-session__body p{font-size:var(--nood-fs-body-lg);color:var(--nood-color-text-secondary);line-height:var(--nood-lh-relaxed);margin:0 0 var(--nood-space-5)}.nood-session__body p:last-child{margin-bottom:0}.nood-session__body h2,.nood-session__body h3{font-family:var(--nood-font-display);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);margin:var(--nood-space-7) 0 var(--nood-space-4)}.nood-session__related{padding:var(--nood-space-8) var(--nood-section-px);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}@media (max-width:1024px){.nood-session-hero{grid-template-columns:minmax(0,1fr)}.nood-session-hero__content{border-right:0;border-bottom:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-session-hero__media{aspect-ratio:4 / 3}}@media (max-width:640px){.nood-session__detail-row{grid-template-columns:6rem 1fr}}.nood-utility{display:flex;justify-content:space-between;align-items:center;padding:var(--nood-space-2) var(--nood-section-px);border-bottom:var(--nood-bw-hairline) solid var(--nood-color-border);font-size:var(--nood-fs-micro);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-secondary);background:var(--nood-color-bg-header)}.nood-utility__group{display:flex;gap:24px}.nood-utility__link{color:var(--nood-color-text-primary)}.nood-utility__link:hover{color:var(--nood-color-text-secondary)}.nood-nav{position:relative;display:flex;justify-content:space-between;align-items:center;padding:var(--nood-space-5) var(--nood-section-px);background:var(--nood-color-bg-header);z-index:var(--nood-z-nav)}.nood-nav__logo{font-family:var(--nood-font-display);font-weight:var(--nood-fw-medium);font-size:1.5rem;letter-spacing:var(--nood-tracking-tight);color:var(--nood-color-text-primary)}.nood-nav__menu{display:flex;gap:2.5rem;list-style:none;margin:0;padding:0;align-self:stretch}.nood-nav__item{display:flex;align-items:center}.nood-nav__link{display:inline-flex;align-items:center;align-self:stretch;font-size:var(--nood-fs-small);letter-spacing:var(--nood-tracking-nav);text-transform:uppercase;font-weight:var(--nood-fw-medium);color:var(--nood-color-text-primary);padding-block:var(--nood-space-2);position:relative;cursor:pointer}.nood-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:.5px;background:var(--nood-color-text-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--nood-dur-base) var(--nood-ease-out)}.nood-nav__link:hover::after,.nood-nav__item[aria-expanded="true"] .nood-nav__link::after{transform:scaleX(1)}.nood-nav__item[data-mega-trigger]>.nood-nav__link::after{display:none}.nood-nav::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--nood-color-text-primary);transform:scaleX(0);transform-origin:left;transition:transform 280ms cubic-bezier(0.22,1,.36,1);pointer-events:none;z-index:1000}.nood-nav.is-mega-active::after,.nood-nav:has(.nood-nav__item[data-mega-trigger]:hover)::after,.nood-nav:has(.nood-nav__item[data-mega-trigger][aria-expanded="true"])::after{transform:scaleX(1)}.nood-nav__cta{margin-left:var(--nood-gutter)}.nood-mega{position:absolute;top:100%;left:calc(-1 * var(--nood-section-px));right:calc(-1 * var(--nood-section-px));background:#fff;border-top:var(--nood-bw-hairline) solid var(--nood-color-border);border-bottom:var(--nood-bw-hairline) solid var(--nood-color-border);padding:var(--nood-space-7) var(--nood-section-px);clip-path:inset(0 0 100% 0);opacity:0;pointer-events:none;transition:clip-path 520ms cubic-bezier(0.22,1,.36,1),opacity 220ms ease;z-index:999}.nood-nav__item[aria-expanded="true"] .nood-mega{clip-path:inset(0 0 0 0);opacity:1;pointer-events:auto}.nood-mega::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--nood-color-text-primary);transform:scaleX(0);transform-origin:left;transition:transform 280ms cubic-bezier(0.22,1,.36,1);pointer-events:none}.nood-nav__item[aria-expanded="true"] .nood-mega::before{transform:scaleX(1)}.nood-mega__inner{max-width:var(--nood-max-width);margin-inline:auto;display:grid;grid-template-columns:var(--nood-label-col) repeat(3,minmax(0,1fr)) minmax(0,1.2fr);gap:var(--nood-gutter);align-items:start}.nood-mega__label{font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted);padding-top:var(--nood-space-2);border-top:var(--nood-bw-hairline) solid var(--nood-color-text-primary);display:inline-block}.nood-mega__column h5{font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted);font-weight:var(--nood-fw-regular);margin:0 0 var(--nood-space-4);padding-bottom:var(--nood-space-3);border-bottom:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-mega__column ul{list-style:none;padding:0;margin:0}.nood-mega__column li{margin-bottom:var(--nood-space-3)}.nood-mega__column a{font-family:var(--nood-font-body);font-size:var(--nood-fs-body);color:var(--nood-color-text-primary);display:inline-flex;align-items:center;gap:10px;transition:gap var(--nood-dur-base) var(--nood-ease-out),color var(--nood-dur-base) var(--nood-ease-out);position:relative}.nood-mega__column a::before{content:"→";font-size:var(--nood-fs-small);opacity:0;width:0;overflow:hidden;transition:opacity var(--nood-dur-base) var(--nood-ease-out),width var(--nood-dur-base) var(--nood-ease-out)}.nood-mega__column a:hover{color:var(--nood-color-text-primary)}.nood-mega__column a:hover::before{opacity:1;width:18px}.nood-mega__feature{display:block}.nood-mega__feature .nood-image-box{margin-bottom:var(--nood-space-3)}.nood-mega__feature-label{font-size:var(--nood-fs-micro);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted);margin-bottom:var(--nood-space-1)}.nood-mega__feature-title{font-family:var(--nood-font-display);font-weight:var(--nood-fw-medium);font-size:var(--nood-fs-heading);line-height:1.2;color:var(--nood-color-text-primary)}.nood-loader{display:none!important}.bricks-is-frontend .nood-loader{display:flex!important;position:fixed;inset:0;background:var(--nood-color-accent-amber);z-index:99999;align-items:center;justify-content:flex-start;padding-left:8%;opacity:1;visibility:visible;transition:none}[data-builder-mode] .nood-loader,html[data-builder-mode] .nood-loader,html[data-builder-mode] body .nood-loader{display:none!important}.nood-loader.is-loaded{animation:nood-loader-slide-up .8s cubic-bezier(0.65,0,.35,1) forwards;animation-delay:.3s}.nood-loader__content{opacity:0;transform:translateY(22px);animation:nood-loader-fade-in .8s cubic-bezier(0.65,0,.35,1) forwards;animation-delay:.4s}.nood-loader.is-loaded .nood-loader__content{animation:nood-loader-content-up .9s cubic-bezier(0.65,0,.35,1) forwards}.nood-loader__logo{font-family:var(--nood-font-display);font-weight:var(--nood-fw-medium);font-size:clamp(2rem,5vw,3rem);letter-spacing:var(--nood-tracking-tight);line-height:1;color:var(--nood-color-text-primary);margin-bottom:.75rem}.nood-loader__tagline{font-family:var(--nood-font-body);font-weight:var(--nood-fw-regular);font-size:clamp(0.625rem,1.2vw,.8125rem);letter-spacing:.15em;line-height:1.6;color:var(--nood-color-text-primary);text-transform:uppercase}@keyframes nood-loader-fade-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes nood-loader-content-up{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100px)}}@keyframes nood-loader-slide-up{from{transform:translateY(0)}to{transform:translateY(-100%)}}@media (max-width:768px){.nood-loader{padding-left:5%}}@media (prefers-reduced-motion:reduce){.nood-loader,.nood-loader__content,.nood-loader.is-loaded,.nood-loader.is-loaded .nood-loader__content{animation:none!important;opacity:1;transform:none}.nood-loader.is-loaded{opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s linear .2s}}.nood-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:var(--nood-bw-hairline) solid var(--nood-color-border);min-height:640px;overflow:hidden}.nood-hero__text{min-width:0;padding:var(--nood-space-8) var(--nood-section-px);display:flex;flex-direction:column;justify-content:space-between;border-right:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-hero__meta{font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-secondary)}.nood-hero__headline{font-family:var(--nood-font-display);font-weight:var(--nood-fw-medium);font-size:var(--nood-fs-display-xl);line-height:.95;letter-spacing:var(--nood-tracking-tight);margin:var(--nood-space-6) 0}.nood-hero__headline em{font-style:italic;font-weight:var(--nood-fw-regular)}.nood-hero__sub{font-size:var(--nood-fs-body-lg);line-height:var(--nood-lh-relaxed);color:var(--nood-color-text-secondary);max-width:30rem;margin-bottom:var(--nood-space-7)}.nood-hero__actions{display:flex;align-items:center;gap:var(--nood-space-6);flex-wrap:wrap}.nood-hero__media{min-width:0;background:var(--nood-color-bg-hover);position:relative;overflow:hidden;aspect-ratio:4 / 3}.nood-hero__media .nood-image-box{position:absolute;inset:0;aspect-ratio:auto;height:100%;width:100%}.nood-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--nood-gutter)}.nood-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.nood-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.nood-spotlight{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-spotlight--reverse .nood-spotlight__media{order:2}.nood-spotlight--reverse .nood-spotlight__content{order:1;border-left:0;border-right:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-spotlight__media{min-width:0;aspect-ratio:1 / 1;position:relative;overflow:hidden}.nood-spotlight__media .nood-image-box{position:absolute;inset:0;aspect-ratio:auto;height:100%;width:100%}.nood-spotlight__content{min-width:0;padding:var(--nood-space-8) clamp(2rem,4vw,5rem);background:var(--nood-color-bg-surface);display:flex;flex-direction:column;justify-content:center;border-left:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-spotlight__label{margin-bottom:var(--nood-space-6)}.nood-spotlight__title{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-md);font-weight:var(--nood-fw-medium);line-height:1.05;letter-spacing:var(--nood-tracking-tight);margin:0 0 var(--nood-space-5)}.nood-spotlight__body{font-size:var(--nood-fs-body-lg);color:var(--nood-color-text-secondary);line-height:var(--nood-lh-relaxed);margin:0 0 var(--nood-space-6);max-width:34rem}.nood-spotlight__meta{display:flex;gap:var(--nood-space-7);margin-bottom:var(--nood-space-6);padding-top:var(--nood-space-5);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-spotlight__meta-item{font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase}.nood-spotlight__meta-item span:first-child{display:block;color:var(--nood-color-text-muted);margin-bottom:4px}.nood-spotlight__meta-item span:last-child{color:var(--nood-color-text-primary);font-weight:var(--nood-fw-medium)}.nood-about{background:var(--nood-color-bg-sidebar);padding:var(--nood-section-py-lg) var(--nood-section-px);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-about__inner{display:grid;grid-template-columns:var(--nood-label-col) minmax(0,1fr);gap:var(--nood-gutter);max-width:var(--nood-max-width);margin-inline:auto}.nood-about__content{max-width:52rem}.nood-about__headline{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-md);font-weight:var(--nood-fw-medium);line-height:1.1;letter-spacing:var(--nood-tracking-tight);margin:0 0 var(--nood-space-6)}.nood-about__body{font-size:var(--nood-fs-body-lg);color:var(--nood-color-text-secondary);line-height:var(--nood-lh-relaxed);margin:0 0 var(--nood-space-6)}.nood-fundamentals{background:rgb(17,17,17);padding:var(--nood-section-py-lg) var(--nood-section-px);border-top:.5px solid rgba(255,255,255,.08)}.nood-fundamentals__inner{max-width:var(--nood-max-width);margin-inline:auto}.nood-fundamentals__header{display:grid;grid-template-columns:var(--nood-label-col) minmax(0,1fr);gap:var(--nood-gutter);margin-bottom:var(--nood-space-9);align-items:end}.nood-fundamentals__headline{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-lg);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);line-height:1;color:rgb(255,255,255);margin:0 0 var(--nood-space-4)}.nood-fundamentals__intro{font-size:var(--nood-fs-body-lg);color:rgba(255,255,255,.55);line-height:var(--nood-lh-relaxed);margin:0;max-width:36rem}.nood-fundamentals__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:.5px solid rgba(255,255,255,.15);border-left:.5px solid rgba(255,255,255,.15)}.nood-fundamentals__item{padding:var(--nood-space-7) var(--nood-space-6);border-bottom:.5px solid rgba(255,255,255,.15);border-right:.5px solid rgba(255,255,255,.15)}.nood-fundamentals__number{font-size:var(--nood-fs-micro);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-accent-amber);margin-bottom:var(--nood-space-5)}.nood-fundamentals__title{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-sm);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);line-height:1.05;color:rgb(255,255,255);margin:0 0 var(--nood-space-5)}.nood-fundamentals__body{font-size:var(--nood-fs-body);color:rgba(255,255,255,.65);line-height:var(--nood-lh-relaxed);margin:0 0 var(--nood-space-4)}.nood-fundamentals__coda{font-size:var(--nood-fs-small);color:rgba(255,255,255,.3);line-height:var(--nood-lh-relaxed);font-style:italic;margin:0}@media (max-width:1024px){.nood-fundamentals__header{grid-template-columns:minmax(0,1fr)}.nood-fundamentals__grid{grid-template-columns:minmax(0,1fr)}}.nood-membership{background:var(--nood-color-accent-amber);color:var(--nood-color-text-primary);padding:var(--nood-section-py-lg) var(--nood-section-px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--nood-space-8);align-items:start}.nood-membership>*{min-width:0}.nood-membership__label{font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:rgba(0,0,0,.55);margin-bottom:var(--nood-space-5);padding-top:var(--nood-space-2);border-top:var(--nood-bw-hairline) solid rgba(0,0,0,.2);display:inline-block}.nood-membership__title{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-lg);font-weight:var(--nood-fw-medium);line-height:.95;letter-spacing:var(--nood-tracking-tight);margin:0 0 var(--nood-space-6);color:var(--nood-color-text-primary)}.nood-membership__body{font-size:var(--nood-fs-body-lg);color:var(--nood-color-text-primary);line-height:var(--nood-lh-relaxed);max-width:32rem;margin:0 0 var(--nood-space-7)}.nood-membership__list{list-style:none;margin:0;padding:0;border-top:var(--nood-bw-hairline) solid rgba(0,0,0,.2)}.nood-membership__list li{padding:var(--nood-space-4) 0;border-bottom:var(--nood-bw-hairline) solid rgba(0,0,0,.2);display:flex;justify-content:space-between;align-items:center;font-size:var(--nood-fs-body)}.nood-membership__list li span:first-child{font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-primary)}.nood-membership__list li span:last-child{color:var(--nood-color-text-primary)}.nood-membership__tiers{display:grid;grid-template-columns:1fr 1fr;border-top:var(--nood-bw-hairline) solid rgba(0,0,0,.2);border-left:var(--nood-bw-hairline) solid rgba(0,0,0,.2)}.nood-membership__tier{padding:var(--nood-space-6) var(--nood-space-5);border-bottom:var(--nood-bw-hairline) solid rgba(0,0,0,.2);border-right:var(--nood-bw-hairline) solid rgba(0,0,0,.2)}.nood-membership__tier-label{display:block;font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:rgba(0,0,0,.55);margin-bottom:var(--nood-space-3)}.nood-membership__tier-price{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-lg);font-weight:var(--nood-fw-medium);line-height:1;letter-spacing:var(--nood-tracking-tight);color:rgb(17,17,17);margin-bottom:var(--nood-space-3)}.nood-membership__tier-note{font-size:var(--nood-fs-small);color:rgba(0,0,0,.55);line-height:var(--nood-lh-relaxed);margin:0}@media (max-width:640px){.nood-membership__tiers{grid-template-columns:1fr}}.nood-visit{padding:var(--nood-section-py) var(--nood-section-px);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-visit__grid{display:grid;grid-template-columns:var(--nood-label-col) repeat(4,minmax(0,1fr));gap:var(--nood-gutter);align-items:start}.nood-visit__block{border-top:var(--nood-bw-hairline) solid var(--nood-color-text-primary);padding-top:var(--nood-space-4)}.nood-visit__label{font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted);margin-bottom:var(--nood-space-3)}.nood-visit__value{font-family:var(--nood-font-display);font-size:var(--nood-fs-heading);font-weight:var(--nood-fw-medium);line-height:1.3;letter-spacing:var(--nood-tracking-snug);color:var(--nood-color-text-primary)}.nood-visit__value small{display:block;font-family:var(--nood-font-body);font-size:var(--nood-fs-body);color:var(--nood-color-text-secondary);font-weight:var(--nood-fw-regular);letter-spacing:0;margin-top:var(--nood-space-1)}.nood-newsletter{background:var(--nood-color-bg-sidebar);padding:var(--nood-section-py) var(--nood-section-px);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-newsletter__inner{display:grid;grid-template-columns:var(--nood-label-col) minmax(0,1fr);gap:var(--nood-gutter);max-width:var(--nood-max-width);margin-inline:auto}.nood-newsletter__headline{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-sm);font-weight:var(--nood-fw-medium);line-height:1.1;letter-spacing:var(--nood-tracking-tight);margin:0 0 var(--nood-space-6);max-width:40rem}.nood-newsletter__form{display:flex;align-items:center;gap:var(--nood-space-4);max-width:40rem;width:100%;border-bottom:var(--nood-bw-thin) solid var(--nood-color-text-primary);padding-bottom:var(--nood-space-3);flex-wrap:wrap}.nood-newsletter__input{flex:1 1 12rem;min-width:0;border:0;background:transparent;font-family:var(--nood-font-body);font-size:var(--nood-fs-body-lg);padding:var(--nood-space-2) 0;color:var(--nood-color-text-primary);outline}.nood-newsletter__input::placeholder{color:var(--nood-color-text-muted)}.nood-faq-section{background:var(--nood-color-bg-surface);padding:var(--nood-section-py-lg) var(--nood-section-px);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-faq-section__inner{max-width:var(--nood-max-width);margin-inline:auto}.nood-faq-section__header{display:grid;grid-template-columns:var(--nood-label-col) minmax(0,1fr);gap:var(--nood-gutter);margin-bottom:var(--nood-space-9);align-items:end}.nood-faq-section__headline{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-md);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);line-height:1;margin:0 0 var(--nood-space-3)}.nood-faq-section__sub{font-size:var(--nood-fs-body);color:var(--nood-color-text-muted);line-height:var(--nood-lh-relaxed);margin:0}.nood-faq{border-top:var(--nood-bw-thin) solid var(--nood-color-border-strong)}.nood-faq__item{border-bottom:var(--nood-bw-thin) solid var(--nood-color-border)}.nood-faq__trigger{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--nood-space-6);padding:var(--nood-space-7) 0;background:none;border:0;cursor:pointer;text-align:left;color:var(--nood-color-text-primary);transition:color var(--nood-dur-base) var(--nood-ease-out)}.nood-faq__trigger:hover{color:var(--nood-color-text-secondary)}.nood-faq__question{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-sm);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);line-height:var(--nood-lh-snug)}.nood-faq__icon{font-family:var(--nood-font-display);font-size:2rem;font-weight:var(--nood-fw-regular);line-height:1;flex-shrink:0;width:2rem;text-align:center;color:var(--nood-color-text-muted);display:block;transition:transform 480ms cubic-bezier(0.34,1.56,.64,1),color var(--nood-dur-base) var(--nood-ease-out)}.nood-faq__icon.is-open{transform:rotate(45deg);color:var(--nood-color-text-primary)}.nood-faq__body{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows 500ms var(--nood-ease-out)}.nood-faq__body-inner{min-height:0;overflow:hidden}.nood-faq__body-inner p{padding-bottom:var(--nood-space-8);font-size:var(--nood-fs-body-lg);color:var(--nood-color-text-secondary);line-height:var(--nood-lh-relaxed);margin:0;max-width:52rem}@media (max-width:1024px){.nood-faq-section__header{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.nood-faq__body{transition:none}.nood-faq__icon{transition:none}}.nood-footer{background:var(--nood-color-bg-surface)!important;color:var(--nood-color-text-primary)!important;padding:var(--nood-section-py-lg) var(--nood-section-px) var(--nood-space-6)}.nood-footer *{color:inherit}.nood-footer__copy{margin-right:var(--nood-space-5)}.nood-footer__mark{font-family:var(--nood-font-display);font-weight:var(--nood-fw-medium);font-size:clamp(5rem,18vw,16rem);line-height:.85;letter-spacing:-.03em;color:var(--nood-color-text-primary);margin:0 0 var(--nood-space-6);user-select:none}.nood-footer__rule{height:var(--nood-bw-hairline);background:var(--nood-color-accent-amber);margin:var(--nood-space-5) 0 var(--nood-space-7);opacity:.85}.nood-footer__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--nood-space-7)}.nood-footer__col h5{font-size:var(--nood-fs-micro);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-accent-amber)!important;font-weight:var(--nood-fw-regular);margin:0 0 var(--nood-space-4)}.nood-footer__col ul{list-style:none;margin:0;padding:0}.nood-footer__col li{margin-bottom:var(--nood-space-2);font-size:var(--nood-fs-small)}.nood-footer__col a{color:var(--nood-color-text-primary)!important;text-decoration:none;transition:color var(--nood-dur-base) var(--nood-ease-out)}.nood-footer__col a:hover{color:var(--nood-color-accent-amber)!important}.nood-footer__visit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--nood-space-7);margin-bottom:var(--nood-space-8)}.nood-footer__visit-block h6{font-size:var(--nood-fs-micro);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-accent-amber)!important;font-weight:var(--nood-fw-regular);margin:0 0 var(--nood-space-3)}.nood-footer__visit-block p{font-size:var(--nood-fs-small);line-height:var(--nood-lh-relaxed);color:var(--nood-color-text-secondary)!important;margin:0}.nood-footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--nood-space-5);border-top:var(--nood-bw-hairline) solid rgba(17,17,17,.12);font-size:var(--nood-fs-micro);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted)!important}.nood-footer__bottom a{color:var(--nood-color-text-muted)!important;text-decoration:none;transition:color var(--nood-dur-base) var(--nood-ease-out)}.nood-footer__bottom a:hover{color:var(--nood-color-accent-amber)!important}.nood-footer__bottom-right{display:flex;gap:var(--nood-space-7)}@media (max-width:1024px){.nood-section__header{grid-template-columns:minmax(0,1fr);gap:var(--nood-space-3)}.nood-hero{grid-template-columns:minmax(0,1fr)}.nood-hero__text{border-right:0;border-bottom:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-hero__media{aspect-ratio:4/3;width:100%}.nood-spotlight{grid-template-columns:minmax(0,1fr)}.nood-spotlight--reverse .nood-spotlight__media{order:1}.nood-spotlight--reverse .nood-spotlight__content{order:2;border-left:0;border-right:0}.nood-spotlight__content{border-left:0;border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-membership{grid-template-columns:minmax(0,1fr);gap:var(--nood-space-7)}.nood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nood-visit__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nood-about__inner,.nood-newsletter__inner{grid-template-columns:minmax(0,1fr)}.nood-footer__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--nood-space-7)}.nood-mega__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:640px){.nood-utility{flex-direction:column;gap:var(--nood-space-2);align-items:flex-start}.nood-nav{padding:var(--nood-space-4) var(--nood-section-px)}.nood-nav__menu{display:none}.nood-grid{grid-template-columns:minmax(0,1fr)}.nood-visit__grid{grid-template-columns:minmax(0,1fr)}.nood-footer__top{grid-template-columns:minmax(0,1fr)}.nood-footer__bottom{flex-direction:column;gap:var(--nood-space-4);align-items:flex-start}.nood-hero__actions{flex-direction:column;align-items:stretch}.nood-btn{width:100%}.nood-spotlight__meta{flex-direction:column;gap:var(--nood-space-4)}.nood-hero__headline{font-size:clamp(2.5rem,12vw,4rem)}}.nood-hero--editorial{background:var(--nood-color-bg-dark);border-top-color:transparent;min-height:78vh}.nood-hero--editorial .nood-hero__text{border-right-color:rgba(255,255,255,.1);justify-content:space-between}.nood-hero--editorial .nood-hero__meta{color:var(--nood-color-accent-amber);font-size:var(--nood-fs-micro);letter-spacing:var(--nood-tracking-wide);padding-bottom:var(--nood-space-3);border-bottom:var(--nood-bw-hairline) solid rgba(245,185,66,.35);display:inline-block;align-self:flex-start}.nood-hero--editorial .nood-hero__headline{color:var(--nood-color-text-inverse);font-size:clamp(4rem,9vw,8.5rem);line-height:.88;margin:0 0 var(--nood-space-7)}.nood-hero--editorial .nood-hero__headline em{color:rgba(255,255,255,.45)}.nood-hero--editorial .nood-hero__sub{color:var(--nood-color-text-on-dark)}.nood-hero--editorial .nood-hero__media{background:#0d0d0d}.nood-hero--creative{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);min-height:85vh}.nood-hero--creative .nood-hero__text{position:relative;justify-content:flex-end;padding-bottom:clamp(3.5rem,7vw,6rem)}.nood-hero--creative .nood-hero__meta{position:absolute;top:var(--nood-space-8);left:var(--nood-section-px)}.nood-hero--creative .nood-hero__headline{font-size:clamp(3.5rem,7.5vw,7rem);line-height:.9;margin:0 0 var(--nood-space-6);padding-top:var(--nood-space-5);border-top:3px solid var(--nood-color-accent-amber)}.nood-hero--creative .nood-hero__headline em{color:var(--nood-color-accent-amber);font-style:normal;font-weight:var(--nood-fw-medium)}.nood-hero--creative .nood-hero__media{background:var(--nood-color-bg-sidebar);overflow:hidden;position:relative}.nood-hero--creative .nood-hero__media::after{content:"";position:absolute;bottom:0;right:0;width:clamp(3rem,5vw,5rem);height:clamp(3rem,5vw,5rem);background:var(--nood-color-accent-amber);z-index:2;pointer-events:none}.nood-hero--ambient{display:block;position:relative;overflow:hidden;min-height:100svh;border-top:0}.nood-hero--ambient .nood-hero__media{position:absolute;inset:0;aspect-ratio:auto;background:var(--nood-color-bg-dark)}.nood-hero--ambient .nood-hero__media .nood-image-box{position:absolute;inset:0;aspect-ratio:auto;height:100%;width:100%}.nood-hero--ambient .nood-hero__media .nood-image-box__media{animation:nood-hero-kenburns 30s ease-out forwards;transform-origin:center center;transform:scale(1.1)}.nood-hero--ambient .nood-hero__overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,.38) 0,rgba(0,0,0,.65) 100%);z-index:1;pointer-events:none}.nood-hero--ambient .nood-hero__text{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:0;border-bottom:0;padding:clamp(6rem,14vw,12rem) var(--nood-section-px);min-height:100svh}.nood-hero--ambient .nood-hero__meta{color:var(--nood-color-accent-amber);letter-spacing:var(--nood-tracking-wide);padding-top:var(--nood-space-3);border-top:var(--nood-bw-hairline) solid rgba(245,185,66,.45);margin-bottom:auto}.nood-hero--ambient .nood-hero__headline{color:var(--nood-color-text-inverse);margin:var(--nood-space-7) 0;max-width:18ch}.nood-hero--ambient .nood-hero__sub{color:var(--nood-color-text-on-dark);text-align:center;max-width:28rem;margin-inline:auto;margin-bottom:var(--nood-space-7)}.nood-hero--ambient .nood-hero__actions{justify-content:center;margin-bottom:auto}.nood-hero--ambient .nood-hero__scroll{position:absolute;bottom:var(--nood-space-7);left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:var(--nood-space-2);color:rgba(255,255,255,.4);font-size:var(--nood-fs-micro);letter-spacing:var(--nood-tracking-wide);text-transform:uppercase;animation:nood-ambient-bob 2.8s ease-in-out infinite}.nood-hero--ambient .nood-hero__scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,rgba(255,255,255,.4),transparent)}@keyframes nood-hero-kenburns{from{transform:scale(1.1)}to{transform:scale(1.02)}}@keyframes nood-ambient-bob{0%,100%{transform:translateX(-50%) translateY(0);opacity:.4}50%{transform:translateX(-50%) translateY(-8px);opacity:.2}}@media (prefers-reduced-motion:reduce){.nood-hero--ambient .nood-hero__media .nood-image-box__media{animation:none!important;transform:scale(1.04)}.nood-hero--ambient .nood-hero__scroll{animation:none!important}}@media (max-width:1024px){.nood-hero--creative{grid-template-columns:minmax(0,1fr)}.nood-hero--creative .nood-hero__media{aspect-ratio:3 / 2}.nood-hero--creative .nood-hero__media::after{display:none}.nood-hero--creative .nood-hero__meta{position:static;margin-bottom:var(--nood-space-5)}.nood-hero--ambient .nood-hero__text{min-height:90svh;padding:clamp(5rem,10vw,8rem) var(--nood-section-px)}}@media (max-width:640px){.nood-hero--ambient{min-height:85svh}.nood-hero--ambient .nood-hero__text{min-height:85svh}.nood-hero--editorial .nood-hero__headline{font-size:clamp(3rem,14vw,5.5rem)}.nood-hero--creative .nood-hero__headline{font-size:clamp(3rem,12vw,5rem)}}.nood-filmstrip{display:flex;gap:var(--nood-space-4);overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--nood-space-5) 0;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.nood-filmstrip__frame{flex:0 0 clamp(280px,30vw,360px);scroll-snap-align:start;background:var(--nood-color-bg-surface);border:var(--nood-bw-thin) solid var(--nood-color-border);padding:var(--nood-space-6);display:flex;flex-direction:column;gap:var(--nood-space-3);min-height:360px}.nood-filmstrip__frame--full{opacity:.5}.nood-filmstrip__date{font-family:var(--nood-font-display);font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted)}.nood-filmstrip__title{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-sm);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);line-height:var(--nood-lh-snug);margin:0}.nood-filmstrip__desc{color:var(--nood-color-text-secondary);font-size:var(--nood-fs-body);line-height:var(--nood-lh-relaxed);margin:0}.nood-filmstrip__meta{display:flex;flex-wrap:wrap;gap:var(--nood-space-3);font-size:var(--nood-fs-small);color:var(--nood-color-text-muted);padding-top:var(--nood-space-3);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}.nood-filmstrip__price{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-md);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);margin:var(--nood-space-2) 0 0}.nood-filmstrip__actions{margin-top:auto;display:flex;flex-direction:column;gap:var(--nood-space-2);padding-top:var(--nood-space-4)}.nood-filmstrip--vertical{flex-direction:column;overflow-x:visible;scroll-snap-type:none}.nood-filmstrip--vertical .nood-filmstrip__frame{flex:0 0 auto}.nood-panels{display:flex;gap:var(--nood-space-4);overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--nood-space-6) 0;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.nood-panel{flex:0 0 clamp(260px,28vw,340px);scroll-snap-align:start;background:var(--nood-color-bg-surface);border:var(--nood-bw-thin) solid var(--nood-color-border);padding:var(--nood-space-7);min-height:480px;display:flex;flex-direction:column;gap:var(--nood-space-3)}.nood-panel--accent{background:var(--nood-color-accent-amber);border-color:var(--nood-color-accent-amber)}.nood-panel--dark{background:var(--nood-color-bg-footer);border-color:var(--nood-color-bg-footer);color:var(--nood-color-text-inverse)}.nood-panel__label{font-family:var(--nood-font-display);font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted)}.nood-panel--dark .nood-panel__label{color:var(--nood-color-text-on-dark-muted)}.nood-panel__title{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-sm);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);line-height:var(--nood-lh-snug);margin:0}.nood-panel__price{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-lg);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);line-height:var(--nood-lh-tight);margin:var(--nood-space-2) 0 var(--nood-space-3)}.nood-panel__price-unit{font-size:var(--nood-fs-body);color:var(--nood-color-text-muted);margin-left:var(--nood-space-2)}.nood-panel--dark .nood-panel__price-unit{color:var(--nood-color-text-on-dark-muted)}.nood-panel__bullets{margin:var(--nood-space-3) 0 0;list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--nood-space-2);font-size:var(--nood-fs-body);line-height:var(--nood-lh-base);color:var(--nood-color-text-secondary)}.nood-panel--dark .nood-panel__bullets{color:var(--nood-color-text-on-dark)}.nood-panel__bullets li::before{content:"—";margin-right:var(--nood-space-2);color:var(--nood-color-text-muted)}.nood-panel__cta{margin-top:auto;padding-top:var(--nood-space-5)}.nood-accordion{border-top:var(--nood-bw-thin) solid var(--nood-color-border-strong);margin:var(--nood-space-7) 0}.nood-accordion__item{border-bottom:var(--nood-bw-thin) solid var(--nood-color-border)}.nood-accordion__item>summary{display:flex;justify-content:space-between;align-items:center;gap:var(--nood-space-6);padding:var(--nood-space-7) 0;cursor:pointer;list-style:none;font-family:var(--nood-font-display);font-size:var(--nood-fs-display-sm);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);line-height:var(--nood-lh-snug);color:var(--nood-color-text-primary);transition:color var(--nood-dur-base) var(--nood-ease-out);user-select:none}.nood-accordion__item>summary:hover{color:var(--nood-color-text-secondary)}.nood-accordion__item[open]>summary{color:var(--nood-color-text-primary)}.nood-accordion__item>summary::-webkit-details-marker{display:none}.nood-accordion__item>summary::after{content:"+";font-family:var(--nood-font-display);font-size:2rem;font-weight:var(--nood-fw-regular);line-height:1;flex-shrink:0;width:2rem;text-align:center;color:var(--nood-color-text-muted);transition:transform 480ms cubic-bezier(0.34,1.56,.64,1),color var(--nood-dur-base) var(--nood-ease-out)}.nood-accordion__item[open]>summary::after{transform:rotate(45deg);color:var(--nood-color-text-primary)}.nood-accordion__item[open]>.nood-accordion__body{animation:nood-accordion-open 460ms var(--nood-ease-out) both}.nood-accordion__body{padding:var(--nood-space-2) 0 var(--nood-space-8);color:var(--nood-color-text-secondary);font-size:var(--nood-fs-body-lg);line-height:var(--nood-lh-relaxed);max-width:52rem}.nood-accordion__body p{margin:0 0 var(--nood-space-4)}.nood-accordion__body p:last-child{margin-bottom:0}.nood-accordion__body ul{list-style:none;padding:0;margin:var(--nood-space-4) 0;display:flex;flex-direction:column;gap:var(--nood-space-3)}.nood-accordion__body ul li::before{content:"—";margin-right:var(--nood-space-2);color:var(--nood-color-text-muted)}.nood-accordion__body h4{font-family:var(--nood-font-display);font-size:var(--nood-fs-heading);font-weight:var(--nood-fw-medium);margin:var(--nood-space-6) 0 var(--nood-space-3);color:var(--nood-color-text-primary)}.nood-accordion__body em,.nood-accordion__body .nood-accordion__sublead{display:block;font-style:italic;color:var(--nood-color-text-primary);margin:var(--nood-space-4) 0 var(--nood-space-2)}@keyframes nood-accordion-open{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.nood-accordion__item[open]>.nood-accordion__body{animation:none}.nood-accordion__item>summary::after{transition:none}}.nood-quote{display:flex;flex-direction:column;gap:var(--nood-space-4);padding:var(--nood-space-7);background:var(--nood-color-bg-surface);border-left:var(--nood-bw-strong) solid var(--nood-color-accent-amber)}.nood-quote__body{font-family:var(--nood-font-display);font-size:var(--nood-fs-body-lg);font-style:italic;line-height:var(--nood-lh-relaxed);color:var(--nood-color-text-primary);margin:0}.nood-quote__attribution{font-family:var(--nood-font-display);font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted)}.nood-form{display:flex;flex-direction:column;gap:var(--nood-space-5)}.nood-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--nood-space-4)}.nood-form__row--single{grid-template-columns:1fr}.nood-form__field{display:flex;flex-direction:column;gap:var(--nood-space-2)}.nood-form__label{font-family:var(--nood-font-display);font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-secondary)}.nood-form__input,.nood-form__select{width:100%;padding:var(--nood-space-3) var(--nood-space-4);background:var(--nood-color-bg-surface);border:var(--nood-bw-thin) solid var(--nood-color-border);font-family:var(--nood-font-body);font-size:var(--nood-fs-body);color:var(--nood-color-text-primary);appearance:none;border-radius:0}.nood-form__input:focus,.nood-form__select:focus{outline;border-color:var(--nood-color-border-strong)}.nood-form__error{font-size:var(--nood-fs-small);color:#c0392b}.nood-form__hint{font-size:var(--nood-fs-small);color:var(--nood-color-text-muted)}.nood-form__actions{display:flex;gap:var(--nood-space-3);flex-wrap:wrap;margin-top:var(--nood-space-4)}.nood-product{display:flex;flex-direction:column;gap:var(--nood-space-2);padding:var(--nood-space-5);background:var(--nood-color-bg-surface);border:var(--nood-bw-thin) solid var(--nood-color-border)}.nood-product--selected{border-color:var(--nood-color-border-strong);border-width:var(--nood-bw-strong)}.nood-product__name{font-family:var(--nood-font-display);font-size:var(--nood-fs-heading);font-weight:var(--nood-fw-medium)}.nood-product__meta{font-size:var(--nood-fs-small);color:var(--nood-color-text-muted)}.nood-silhouette{display:flex;flex-direction:column;align-items:center;gap:var(--nood-space-3);padding:var(--nood-space-4) var(--nood-space-3);background:var(--nood-color-bg-sidebar)}.nood-silhouette__shape{width:80%;aspect-ratio:3 / 4;background:var(--nood-color-bg-dark);-webkit-mask:radial-gradient(ellipse 35% 22% at 50% 18%,transparent 99%,#000 100%),linear-gradient(#000 0 0);mask:radial-gradient(ellipse 35% 22% at 50% 18%,transparent 99%,#000 100%),linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.85}.nood-silhouette__name{font-family:var(--nood-font-display);font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-secondary)}.nood-table{width:100%;border-collapse:collapse;margin:var(--nood-space-5) 0;font-size:var(--nood-fs-body)}.nood-table th,.nood-table td{text-align:left;padding:var(--nood-space-3) var(--nood-space-4);border-bottom:var(--nood-bw-thin) solid var(--nood-color-border)}.nood-table th{font-family:var(--nood-font-display);font-weight:var(--nood-fw-medium);font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted);border-bottom:var(--nood-bw-thin) solid var(--nood-color-border-strong)}.nood-empty{text-align:center;padding:var(--nood-space-10) var(--nood-space-5);background:var(--nood-color-bg-sidebar)}.nood-empty__title{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-md);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);margin:0 0 var(--nood-space-3)}.nood-empty__body{font-size:var(--nood-fs-body-lg);color:var(--nood-color-text-secondary);max-width:40em;margin:0 auto var(--nood-space-6)}@media (max-width:760px){.nood-form__row{grid-template-columns:1fr}.nood-panel{min-height:420px;padding:var(--nood-space-6)}.nood-accordion__item>summary{font-size:var(--nood-fs-heading)}}
/* NOOD-MOBILE-NAV start */
.nood-nav__burger-bar{display:block;width:24px;height:2px;background:currentColor;border-radius:2px;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s}
@media (max-width:991px){
.nood-nav{justify-content:space-between;align-items:center}
.nood-nav .header__logo{order:-1;margin-right:auto}
.nood-nav__cta{margin-left:0;margin-right:var(--nood-space-3)}
.nood-nav__burger{display:flex;position:relative;z-index:calc(var(--nood-z-nav,1000) + 2)}
.nood-nav::after{display:none!important}
.nood-nav__menu{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;position:fixed;inset:0;z-index:var(--nood-z-nav,1000);width:100%;height:100%;margin:0;padding:calc(var(--nood-space-7) + 2.5rem) var(--nood-section-px) var(--nood-space-7);background:var(--nood-color-bg-header);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s ease,transform .34s cubic-bezier(.22,1,.36,1),visibility 0s linear .34s;overflow-y:auto;overscroll-behavior:contain;list-style:none;text-align:center}
.nood-nav.is-open .nood-nav__menu{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .34s cubic-bezier(.22,1,.36,1)}
.nood-nav__item{display:block!important;width:100%;max-width:440px;margin:0 auto;border-bottom:var(--nood-bw-hairline) solid var(--nood-color-border);text-align:center}
.nood-nav__link{display:block!important;width:100%;text-align:center;min-height:56px;line-height:56px;font-size:var(--nood-fs-heading);letter-spacing:var(--nood-tracking-nav);padding:0;align-self:auto}
.nood-nav__link::after{display:none!important}
.nood-nav__item .nood-mega{position:static!important;display:none!important;width:100%;max-width:none;left:auto;right:auto;top:auto;margin:0;padding:0 0 var(--nood-space-4);background:none!important;border:0!important;box-shadow:none!important;clip-path:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;transition:none!important;text-align:center}
.nood-nav__item.nood-mobile-open>.nood-mega{display:block!important}
.nood-nav__item.nood-mobile-open>.nood-nav__link{color:var(--nood-color-text-muted)}
.nood-mega::before{display:none!important}
.nood-mega__inner{display:block!important;max-width:none;margin:0;padding:0;text-align:center;gap:0}
.nood-mega__label,.nood-mega__feature{display:none!important}
.nood-mega__column{margin:0 0 var(--nood-space-3);text-align:center}
.nood-mega__column h5{font-size:var(--nood-fs-micro);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted);font-weight:var(--nood-fw-medium);margin:0 0 var(--nood-space-1);padding:0;border:0;text-align:center}
.nood-mega__column ul{list-style:none;margin:0 0 var(--nood-space-3);padding:0}
.nood-mega__column li{margin:0;list-style:none}
.nood-mega a,.nood-mega__column a{display:block!important;width:100%;text-align:center;justify-content:center;min-height:46px;line-height:46px;font-size:var(--nood-fs-small);padding:0;gap:0}
.nood-mega a::before,.nood-mega__column a::before{display:none!important}
.nood-nav.is-open .nood-nav__burger-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nood-nav.is-open .nood-nav__burger-bar:nth-child(2){opacity:0}
.nood-nav.is-open .nood-nav__burger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
body.nood-nav-lock{overflow:hidden}
/* NOOD-MOBILE-NAV end */
/* NOOD-MOBILE-POLISH start */
@media (max-width:640px){.nood-grid--3,.nood-grid--4{grid-template-columns:1fr}:root{--nood-fs-label:.75rem}}
@media (max-width:479px){.nood-grid--2{grid-template-columns:1fr}}
/* NOOD-MOBILE-POLISH end */
/* NOOD-QA-R1 start */
/* --- Footer responsive -------------------------------------------------
   The rules in section 8 target .nood-footer__top, a class that does not
   exist in the markup, so .nood-footer__cols (4col) and .nood-footer__visit
   (3col) never collapsed and forced ~42px of horizontal overflow on every
   page below ~430px. These target the classes the footer actually uses. */
@media (max-width: 900px) {
  .nood-footer__cols  { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nood-space-6) var(--nood-space-5); }
  .nood-footer__visit { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nood-space-6) var(--nood-space-5); }
}
@media (max-width: 560px) {
  .nood-footer__visit { grid-template-columns: minmax(0, 1fr); }
}
/* Emails, handles and addresses must not set the grid's min-content width. */
.nood-footer__visit-block p,
.nood-footer__visit-block a,
.nood-utility__link { overflow-wrap: anywhere; }
.nood-footer__col a,
.nood-footer__bottom a { overflow-wrap: break-word; }

/* --- Target size (WCAG 2.5.8): footer/utility links were 15-22px tall --- */
.nood-footer__col a,
.nood-footer__visit-block a,
.nood-footer__bottom a,
.nood-utility__link {
  display: inline-block;
  min-height: 24px;
  padding-block: 4px;
}
.nood-footer__col li { margin-bottom: var(--nood-space-1); }

/* --- Visible keyboard focus (previously only .nood-btn had one) --- */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--nood-color-accent-amber);
  outline-offset: 2px;
}

/* --- Testimonial wall -------------------------------------------------
   Quotes range from 110 to 878 characters. In a stretch grid the short
   ones inflated to the tallest row and the odd one out left empty cells. */
.nood-grid:has(> .nood-quote) { align-items: start; }
.nood-quote--feature { grid-column: 1 / -1; }
@media (min-width: 900px) {
  .nood-quote--feature .nood-quote__body { column-count: 2; column-gap: var(--nood-gutter); }
}
@media (max-width: 640px) {
  .nood-quote { padding: var(--nood-space-5); }
}
/* NOOD-QA-R1 end */
/* NOOD-QA-R2 start */
/* --- Book page: label + Amelia list sit in a flex row. Below ~900px that
   squeezed the booking widget to ~154px ('Sea...' inputs, broken words). --- */
@media (max-width: 900px) {
  .nood-event-container { flex-direction: column; gap: var(--nood-space-3); }
}
.nood-event-container > * { min-width: 0; }

/* --- Horizontal scrollers had no affordance: at 1440 the pricing panels
   overflow by 1105px and the schedule filmstrip by 1667px with nothing to
   show more content exists. Give them a visible design-system scrollbar. --- */
.nood-panels,
.nood-filmstrip {
  scrollbar-width: thin;
  scrollbar-color: var(--nood-color-border) transparent;
  scroll-padding-left: var(--nood-space-4);
}
.nood-panels::-webkit-scrollbar,
.nood-filmstrip::-webkit-scrollbar { height: 6px; }
.nood-panels::-webkit-scrollbar-track,
.nood-filmstrip::-webkit-scrollbar-track { background: rgba(17,17,17,0.06); }
.nood-panels::-webkit-scrollbar-thumb,
.nood-filmstrip::-webkit-scrollbar-thumb { background: var(--nood-color-text-muted); }
.nood-panels::-webkit-scrollbar-thumb:hover,
.nood-filmstrip::-webkit-scrollbar-thumb:hover { background: var(--nood-color-text-primary); }
/* NOOD-QA-R2 end */
/* NOOD-QA-R3 start */
/* --- Footer width -----------------------------------------------------
   .nood-footer is a Bricks section, and Bricks' section default is
   display:flex + align-items:center. Nothing overrode it, so every footer
   child shrink-wrapped to its content and centred: at 1440 the link grid
   was 692px inside a 1440px footer and the bottom bar's space-between had
   no room to act. Stretch the children to the footer's content box. */
.nood-footer { align-items: stretch; }
.nood-footer > * { width: 100%; }
/* NOOD-QA-R3 end */
/* NOOD-QA-R4 start */
/* --- Inner wrappers: same Bricks align-items:center trap as the footer.
   These four set max-width + margin-inline:auto but never width:100%, so
   inside a centring section they shrink-wrapped to max-content and sat
   centred -- e.g. .nood-about__inner rendered 1064px inside 1325px, which
   pushed the 200px label spine off the page's left edge while every other
   section (.nood-container has width:100%) stayed flush. --- */
.nood-about__inner,
.nood-newsletter__inner,
.nood-faq-section__inner,
.nood-fundamentals__inner,
.nood-mega__inner { width: 100%; }
/* NOOD-QA-R4 end */
/* NOOD-QA-R5 start */
/* --- Doubled gutter --------------------------------------------------
   .nood-container--padded is documented as the STANDALONE container ('not
   inside a section -- adds its own padding'), but 9 of its 10 uses sit
   directly inside an already-padded .nood-section, so their content
   started at 115px while every other section label started at 58px.
   Zero the container's inline padding when its parent already supplies it. */
:is(.nood-section, .nood-about, .nood-visit, .nood-newsletter,
    .nood-faq-section, .nood-fundamentals, .nood-membership, .nood-footer)
  > .nood-container--padded { padding-inline: 0; }
/* NOOD-QA-R5 end */
/* NOOD-QA-R6 start */
/* --- Contrast (WCAG 2.2 AA) -------------------------------------------
   Measured with glyph-rect sampling against the true rendered background.
   1. --nood-color-text-muted #888 scored 3.54:1 on white and 3.00:1 on the
      #EDECE8 sidebar tone; it carries every label, meta line, panel label,
      session detail label and the footer bottom bar. #6a6a6a keeps the
      three-step tonal ramp (#111 / #555 / #6a6a6a) and passes on all four
      light surfaces (4.58 - 5.41:1).
   2. Brand amber on white is 1.76:1. Amber stays the accent for fills,
      rules and text on dark (10.7:1); small amber text on a light surface
      uses the same hue darkened to AA. */
:root {
  --nood-color-text-muted: #6a6a6a;
  --nood-color-accent-amber-text: #85631F;
}
.nood-footer__col h5,
.nood-footer__visit-block h6,
.nood-hero--editorial .nood-hero__meta,
.nood-hero--creative .nood-hero__headline em {
  color: var(--nood-color-accent-amber-text) !important;
}
/* 3. On the amber surfaces the grey ramp scored 2.01-4.22:1. Re-point the
      tokens locally so every descendant inherits an AA-passing tone. */
.nood-panel--accent,
.nood-membership {
  --nood-color-text-secondary: #3a3a3a;
  --nood-color-text-muted: #4a4a4a;
}
/* NOOD-QA-R6 end */
/* NOOD-QA-R7 start */
/* --- Amelia booking widget skin ---------------------------------------
   The /book/ event lists shipped Amelia's stock look: Roboto, cobalt-blue
   buttons, 6-8px radii and a #019719 'Open' label at 3.86:1. Amelia v3
   exposes a --am-* custom-property API, so re-point those at the NOOD
   tokens rather than fighting its stylesheet selector by selector. --- */
#amelia-container,
.amelia-v2-booking,
.amelia-app-booking {
  --am-font-family: var(--nood-font-body);
  --am-c-primary: var(--nood-color-text-primary);
  --am-c-btn-prim: var(--nood-color-text-primary);
  --am-c-btn-prim-text: var(--nood-color-text-inverse);
  --am-c-btn-sec: var(--nood-color-text-primary);
  --am-c-btn-sec-text: var(--nood-color-text-inverse);
  --am-c-main-text: var(--nood-color-text-primary);
  --am-c-main-heading-text: var(--nood-color-text-primary);
  --am-c-main-bgr: var(--nood-color-bg-surface);
  --am-c-card-text: var(--nood-color-text-primary);
  --am-c-card-bgr: var(--nood-color-bg-surface);
  --am-c-card-border: var(--nood-color-border);
  --am-c-inp-text: var(--nood-color-text-primary);
  --am-c-inp-border: var(--nood-color-border);
  --am-c-inp-bgr: var(--nood-color-bg-surface);
  --am-c-inp-placeholder: var(--nood-color-text-muted);
  --am-c-drop-bgr: var(--nood-color-bg-surface);
  --am-c-drop-text: var(--nood-color-text-primary);
  --am-c-sb-bgr: var(--nood-color-bg-dark);
  --am-c-sb-text: var(--nood-color-text-inverse);
  --am-c-checkbox-border: var(--nood-color-border);
  --am-c-checkbox-border-focused: var(--nood-color-text-primary);
  --am-c-warning: var(--nood-color-accent-amber-text);
  --am-c-success: #0B6B1B;   /* was #019719 = 3.86:1 on white */
  --am-rad-inp: 0;
  --am-fs-inp: var(--nood-fs-body);
  --am-fs-btn: var(--nood-fs-body);
  --am-fs-label: var(--nood-fs-body);
}
/* NOOD is a zero-radius system; Amelia hard-codes 6-8px on cards and pills. */
#amelia-container [class^='am-'],
#amelia-container [class*=' am-'],
.amelia-v2-booking [class^='am-'],
.amelia-v2-booking [class*=' am-'] { border-radius: 0 !important; }
#amelia-container .am-button,
#amelia-container button { font-family: var(--nood-font-display); letter-spacing: var(--nood-tracking-label); }
/* NOOD-QA-R7 end */
/* NOOD-QA-R8 start */
/* --- Amelia: elements that ignore the --am-* API and hard-code cobalt --- */
#amelia-container .am-ec__actions-price,
#amelia-container .am-ec__actions-price p,
#amelia-container .am-ec__info-price,
.amelia-v2-booking .am-ec__actions-price,
.amelia-v2-booking .am-ec__actions-price p { color: var(--nood-color-text-primary) !important; }
#amelia-container .am-button--filled,
.amelia-v2-booking .am-button--filled {
  background-color: var(--nood-color-text-primary) !important;
  border-color: var(--nood-color-text-primary) !important;
  color: var(--nood-color-text-inverse) !important;
}
#amelia-container .am-ec__info-availability.open,
.amelia-v2-booking .am-ec__info-availability.open { color: #0B6B1B !important; }
#amelia-container .am-ec,
.amelia-v2-booking .am-ec { border-left-color: var(--nood-color-text-primary) !important; }
#amelia-container .am-ec > *:first-child,
.amelia-v2-booking .am-ec > *:first-child { border-left-color: var(--nood-color-text-primary) !important; }

/* --- Model silhouettes -------------------------------------------------
   The two-layer mask XOR'd down to the small head ellipse, so each tile
   rendered as a squat 110x48 blob instead of a 3:4 figure. The names are
   placeholders awaiting portraits, so make the tile an honest portrait
   frame in the achromatic palette rather than a broken graphic. */
.nood-silhouette__shape {
  width: 100%;
  aspect-ratio: 3 / 4;
  background: linear-gradient(180deg, #E4E3DF 0%, #D2D1CC 100%);
  border: var(--nood-bw-hairline) solid var(--nood-color-border);
  -webkit-mask: none;
  mask: none;
  opacity: 1;
}
.nood-silhouette { gap: var(--nood-space-2); padding: 0; background: none; }
.nood-silhouette__name { color: var(--nood-color-text-secondary); }
/* 8 tiles in a 7-track auto-fill grid orphaned the last one on its own row. */
.nood-grid:has(> .nood-silhouette) {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
  gap: var(--nood-space-5) !important;
}

/* --- Editorial spine --------------------------------------------------
   .nood-container--narrow is 820px and centres itself. Where it carries a
   .nood-section__header the 200px label column is the page's left spine,
   and centring pushed those labels to x=310 while their neighbours sat at
   x=58. Left-align it in that case only; prose-only narrow blocks keep
   their centred measure. */
.nood-section > .nood-container--narrow:has(> .nood-section__header) { margin-inline: 0; }

/* --- Legibility floor -------------------------------------------------
   --nood-fs-micro was 10px, carrying the utility bar, footer column
   headings, image captions and mega labels. 11px is the floor for tracked
   uppercase; on handsets the whole small end of the ramp steps up one. */
:root { --nood-fs-micro: 0.6875rem; }
@media (max-width: 640px) {
  :root {
    --nood-fs-micro: 0.75rem;
    --nood-fs-label: 0.75rem;
    --nood-fs-small: 0.875rem;
    --nood-fs-body:  1rem;
  }
}
/* NOOD-QA-R8 end */
/* NOOD-QA-R9 start */
/* --- CTA breathing room ----------------------------------------------
   .nood-about__content is a plain block and .nood-arrow-link is inline-flex
   with no top margin, so on Rentals the 'Inquire about a custom bench'
   arrow sat 5px under a testimonial. Give arrow CTAs a real gap from
   whatever precedes them in a flow container. */
.nood-about__content > * + .nood-arrow-link,
.nood-section__body > * + .nood-arrow-link { margin-top: var(--nood-space-5); }
/* Stacked button pairs in filmstrip frames were 8px apart. */
.nood-filmstrip__actions { display: flex; flex-direction: column; gap: var(--nood-space-3); }
/* NOOD-QA-R9 end */
/* NOOD-QA-R10 start */
/* --- Line length ------------------------------------------------------
   Prose was running 96-146 characters per line on wide viewports (the
   comfortable range is 45-90). Cap the measure; in narrow contexts -- card
   and panel copy -- a max-width is a no-op, so one rule is safe. */
.nood-section p,
.nood-about p,
.nood-fundamentals p,
.nood-visit p,
.nood-faq-section p,
.nood-newsletter p,
.nood-session__body p { max-width: 68ch; }
/* the feature quote sets its own measure via column-count */
.nood-quote--feature .nood-quote__body { max-width: none; }

/* --- Target size, second pass (WCAG 2.5.8) ---------------------------
   Standalone link components that were 13-20px tall. Links inside running
   prose are exempt under the inline exception and are left alone. */
.nood-card__link,
.nood-card__meta a,
.nood-visit__value a,
.nood-arrow-link {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}
.nood-card__meta a { padding-block: 4px; }
/* NOOD-QA-R10 end */
/* NOOD-QA-R11 start */
/* --- Mega panel alignment ---------------------------------------------
   .nood-mega is absolutely positioned against .nood-nav, whose PADDING box
   already starts at the viewport edge, so left/right of
   calc(-1 * var(--nood-section-px)) pushed the panel 57.6px off-screen to
   the left and left a 58px sliver of the page showing on the right. The
   panel's own gutter then landed the label column at x=0 instead of on the
   page's 57.6px spine. */
@media (min-width: 992px) {
  .nood-mega { left: 0; right: 0; }
}

/* --- Mobile mega feature card ----------------------------------------
   The feature card is an <a class="brxe-text-link nood-mega__feature">, so
   `.nood-mega a { display:block !important }` (0,1,1) out-specified
   `.nood-mega__feature { display:none !important }` (0,1,0) and an empty
   image placeholder rendered at the bottom of every open mobile submenu. */
@media (max-width: 991px) {
  .nood-mega a.nood-mega__feature,
  .nood-mega a.nood-mega__label,
  .nood-nav__menu .nood-mega__feature { display: none !important; }
  /* the full-screen menu started 88px down while the burger occupies
     roughly 130-175px, so the close control sat on top of the first items */
  .nood-nav__menu { padding-top: calc(var(--nood-space-7) + 9.5rem); }
}
/* NOOD-QA-R11 end */
/* NOOD-QA-R12 start */
/* --- Target size, final pass -----------------------------------------
   Arrow CTAs in section headers and taxonomy badges in spotlight meta
   rows were still 13-19px tall. Standalone controls, not inline prose
   links, so the WCAG 2.5.8 inline exception does not cover them. */
.nood-arrow-link { min-height: 24px; }
.nood-spotlight__meta-item a,
.nood-session__meta a,
[class*="__meta-item"] a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding-block: 4px;
}
/* NOOD-QA-R12 end */
/* NOOD-QA-R13 start */
/* --- Mobile spacing density ------------------------------------------
   --nood-space-8/9/10 are fixed rem values, so a handset got the same
   72/96/120px block gaps as a 1920 desktop (e.g. 96px between the FAQ
   subtitle and the first question). Compress the large end of the scale
   on small screens; the small end (1-7) is already appropriate. */
@media (max-width: 640px) {
  :root {
    --nood-space-8:  3rem;    /* 72px -> 48px */
    --nood-space-9:  3.5rem;  /* 96px -> 56px */
    --nood-space-10: 4rem;    /* 120px -> 64px */
    --nood-gutter:   1.5rem;  /* 32px -> 24px */
  }
}
@media (min-width: 641px) and (max-width: 1024px) {
  :root {
    --nood-space-9:  4.5rem;  /* 96px -> 72px */
    --nood-space-10: 5.5rem;  /* 120px -> 88px */
  }
}
/* NOOD-QA-R13 end */
/* NOOD-QA-R14 start */
/* --- Card media empty state -------------------------------------------
   Sessions have no featured images yet, but .nood-card__media still
   reserves a 4:5 portrait box -- 438px of blank grey per card, three of
   them stacked on the mobile home page. Collapse the box when there is
   nothing to show; it returns automatically once images are attached.
   Browsers without :has() keep the current behaviour. */
.nood-card__media:not(:has(img, picture, svg, video)) { display: none; }

/* --- Card copy length -------------------------------------------------
   Session descriptions ran the full paragraph inside the card (211px on
   mobile), so three cards of the same weekly series read as one wall of
   repeated text. Clamp to a scannable lede; the session page has the rest. */
.nood-card__desc {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* NOOD-QA-R14 end */
/* NOOD-QA-R15 start */
/* --- Button sizing ----------------------------------------------------
   Repairing --nood-color-text-primary revived the .nood-btn border
   shorthand (one invalid token had been voiding the whole declaration, so
   no button had drawn a border). With borders visible, a CTA that
   stretches its flex column reads as a 604px box around a 149px label.
   Card CTAs are meant to span their card; editorial ones hug their text. */
.nood-spotlight__content > .nood-btn,
.nood-about__content > .nood-btn { align-self: flex-start; }
/* NOOD-QA-R15 end */
/* NOOD-QA-R16 start */
@media (max-width: 640px) {
  /* The utility bar's two links needed ~369px inside a 350px row, so both
     squeezed and broke mid-word ('CONTACT@NOOD.SPA / CE'). Let them stack
     instead of shrinking, and stop the email breaking inside the word --
     the anywhere-break was only ever needed for the footer's narrow grid. */
  .nood-utility__group { flex-wrap: wrap; gap: var(--nood-space-1) var(--nood-space-4); }
  .nood-utility__link { overflow-wrap: normal; }
  /* `.nood-btn { width: 100% }` is right for stacked page CTAs but made the
     header's Book a session pill eat the nav row and crowd the wordmark. */
  .nood-nav__cta.nood-btn { width: auto; }
}
/* NOOD-QA-R16 end */
/* NOOD-QA-R17 start */
@media (max-width: 640px) {
  /* At 174px the pill wrapped to 'BOOK A / SESSION' and squeezed the
     wordmark. Give the nav CTA compact padding so the label stays on one
     line and the logo, CTA and burger share the row comfortably. */
  .nood-nav__cta.nood-btn {
    padding: 0.75rem 1rem;
    font-size: var(--nood-fs-micro);
    white-space: nowrap;
  }
  .nood-nav { gap: var(--nood-space-3); }
}
/* NOOD-QA-R17 end */
/* NOOD-QA-R18 start */
/* Last standalone control below 24px: the taxonomy badge in the article
   single template's byline (.nood-type--label). */
.nood-type--label a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding-block: 4px;
}
/* NOOD-QA-R18 end */
/* NOOD-QA-R19 start */
/* --- Footer bottom bar at 320px --------------------------------------
   Instagram / Newsletter / Privacy sit in a nowrap flex row with 48px
   gaps. Once the mobile type floor raised these labels to 12px they
   needed 311px inside a 280px content box and pushed 28px of horizontal
   overflow onto every page at 320 (iPhone SE class). Let them wrap. */
@media (max-width: 640px) {
  .nood-footer__bottom-right {
    flex-wrap: wrap;
    gap: var(--nood-space-2) var(--nood-space-5);
  }
}
/* NOOD-QA-R19 end */
/* NOOD-QA-R20 start */
/* --- Newsletter signup: Gravity Forms #2 skinned to the design system ------
   The old .nood-newsletter__form was an Alpine prototype that validated the
   address, showed a thank-you and threw it away (`// Phase 2: POST to
   newsletter provider`). GF now stores the entry and notifies contact@nood.space.

   Two GF traps drive the shape of this block:
   1. GF's stylesheets enqueue AFTER this one, so plain rules lose on source
      order even at equal specificity -- hence !important on every property GF
      also sets. Everything is scoped to .nood-nl_wrapper, so form 1 (Contact)
      is untouched.
   2. The orbital theme's foundation reset can strip inherited custom props
      inside the form, so every var() carries a literal fallback.

   Layout: GF nests fields two levels deep (form > .gform-body > .gform_fields),
   which stops the input and button sharing a row. display:contents lifts the
   fields into the form's own grid. GF also ships `grid-column: span 12` per
   field for its 12-column grid, which would spawn implicit columns here, so
   each field's placement is restated. */
.nood-newsletter .nood-nl-mount{width:100%;max-width:40rem;margin-top:var(--nood-space-6,2rem)}
.nood-nl_wrapper form{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:var(--nood-space-4,1rem);row-gap:var(--nood-space-5,1.5rem)}
.nood-nl_wrapper .gform-body,
.nood-nl_wrapper .gform_body,
.nood-nl_wrapper .gform_fields{display:contents!important}
.nood-nl_wrapper .gfield--type-email{grid-column:1!important;grid-row:1!important;min-width:0}
.nood-nl_wrapper .gfield--type-consent{grid-column:1/-1!important;grid-row:2!important}
.nood-nl_wrapper .gform_footer,
.nood-nl_wrapper .gform-footer{grid-column:2!important;grid-row:1!important;margin:0!important;padding:0!important}
.nood-nl_wrapper .ginput_container_email input[type=email]{width:100%!important;margin:0!important;border:0!important;border-bottom:var(--nood-bw-thin,1px) solid var(--nood-color-text-primary,#111)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-body-lg,1.0625rem)!important;color:var(--nood-color-text-primary,#111)!important;padding:var(--nood-space-2,.5rem) 0 var(--nood-space-3,.75rem)!important;min-height:44px}
.nood-nl_wrapper .ginput_container_email input[type=email]::placeholder{color:var(--nood-color-text-muted,#6a6a6a);opacity:1}
.nood-nl_wrapper .gform_footer input[type=submit],
.nood-nl_wrapper .gform-footer input[type=submit],
.nood-nl_wrapper .gform_footer button[type=submit],
.nood-nl_wrapper .gform-footer button[type=submit]{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;margin:0!important;font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-label,.6875rem)!important;font-weight:var(--nood-fw-medium,500)!important;letter-spacing:var(--nood-tracking-nav,.08em)!important;text-transform:uppercase!important;padding:.9rem 1.75rem!important;background:transparent!important;color:var(--nood-color-text-primary,#111)!important;border:var(--nood-bw-thin,1px) solid var(--nood-color-text-primary,#111)!important;border-radius:0!important;cursor:pointer;transition:background var(--nood-dur-base,300ms) var(--nood-ease-out,ease),color var(--nood-dur-base,300ms) var(--nood-ease-out,ease)}
.nood-nl_wrapper .gform_footer input[type=submit]:hover,
.nood-nl_wrapper .gform-footer input[type=submit]:hover,
.nood-nl_wrapper .gform_footer button[type=submit]:hover,
.nood-nl_wrapper .gform-footer button[type=submit]:hover{background:var(--nood-color-text-primary,#111)!important;color:var(--nood-color-text-inverse,#fff)!important}
.nood-nl_wrapper .ginput_container_consent{display:flex!important;align-items:flex-start;column-gap:var(--nood-space-3,.75rem)!important;row-gap:0!important}
.nood-nl_wrapper .gfield_consent_label .gfield_required_text{color:var(--nood-color-text-muted,#6a6a6a)!important;font-size:var(--nood-fs-small,.8125rem);margin-inline-start:.35em}
.nood-nl_wrapper .ginput_container_consent input[type=checkbox]{flex:0 0 auto;width:1.5rem!important;height:1.5rem!important;margin:0!important;border-radius:0!important;accent-color:var(--nood-color-text-primary,#111)}
.nood-nl_wrapper .gfield_consent_label{margin:0!important;font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-small,.8125rem)!important;line-height:var(--nood-lh-base,1.5)!important;color:var(--nood-color-text-secondary,#555)!important;padding-top:.2rem}
.nood-nl_wrapper .gform_heading,
.nood-nl_wrapper .gform_description{display:none!important}
.nood-nl_wrapper .gfield_required{color:var(--nood-color-text-secondary,#555)!important;font-size:var(--nood-fs-small,.8125rem)}
.nood-nl_wrapper .gform_validation_errors{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 var(--nood-space-4,1rem)!important}
.nood-nl_wrapper .gform_validation_errors>h2{font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-small,.8125rem)!important;font-weight:var(--nood-fw-medium,500)!important;color:#a33!important;margin:0!important;text-transform:none!important}
.nood-nl_wrapper .gfield_validation_message,
.nood-nl_wrapper .validation_message{background:transparent!important;border:0!important;padding:var(--nood-space-2,.5rem) 0 0!important;font-size:var(--nood-fs-small,.8125rem)!important;color:#a33!important}
.nood-nl__done-title{font-family:var(--nood-font-display,"Inter Tight",sans-serif);font-size:var(--nood-fs-display-sm,1.75rem);font-weight:var(--nood-fw-medium,500);letter-spacing:var(--nood-tracking-tight,-.015em);line-height:1.1;margin:0 0 var(--nood-space-3,.75rem)}
.nood-nl__done-sub{color:var(--nood-color-text-secondary,#555);font-size:var(--nood-fs-body,.9375rem);margin:0}
.nood-newsletter .gform_confirmation_wrapper{padding:var(--nood-space-5,1.5rem) 0}
.nood-nl_wrapper input:focus-visible{outline:2px solid var(--nood-color-accent-amber,#F5B942)!important;outline-offset:2px}
@media (max-width:560px){
  .nood-nl_wrapper form{grid-template-columns:minmax(0,1fr)}
  .nood-nl_wrapper .gfield--type-email{grid-column:1!important}
  .nood-nl_wrapper .gform_footer,
  .nood-nl_wrapper .gform-footer{grid-column:1!important;grid-row:3!important}
  .nood-nl_wrapper .gform_footer input[type=submit],
  .nood-nl_wrapper .gform-footer input[type=submit]{width:100%!important}
}
/* NOOD-QA-R20 end */
/* NOOD-QA-R21 start */
/* --- Plain WordPress pages (Privacy Policy, and any future legal page) -----
   These pages carry no Bricks content, so Bricks falls back to rendering
   the_content() into <article id="brx-content" class="wordpress">, a wrapper
   the design system never styled: default block typography, no section
   padding, and a white panel sitting inside an #F5F4F0 site. This gives the
   fallback the same type ramp, measure and vertical rhythm as everything
   else. padding-inline uses max() so the column lands on the site's centred
   1440px grid on wide screens but never drops below the section gutter.
   Scoped away from WooCommerce, which renders its own templates into the
   very same wrapper. */
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress{max-width:none;width:100%;margin-inline:0;background:var(--nood-color-bg-page);color:var(--nood-color-text-secondary);font-family:var(--nood-font-body);font-size:var(--nood-fs-body);line-height:var(--nood-lh-relaxed);padding-block:var(--nood-section-py) var(--nood-section-py-lg);padding-inline:max(var(--nood-section-px),calc((100% - var(--nood-max-width))/2))}
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress>*{max-width:70ch}
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress h1{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-lg);font-weight:var(--nood-fw-medium);line-height:1.05;letter-spacing:var(--nood-tracking-tight);color:var(--nood-color-text-primary);max-width:18ch;margin:0 0 var(--nood-space-6)}
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress h2{font-family:var(--nood-font-display);font-size:var(--nood-fs-display-sm);font-weight:var(--nood-fw-medium);line-height:1.15;letter-spacing:var(--nood-tracking-tight);color:var(--nood-color-text-primary);margin:var(--nood-space-8) 0 var(--nood-space-4);padding-top:var(--nood-space-5);border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress h3{font-family:var(--nood-font-display);font-size:var(--nood-fs-heading);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-snug);color:var(--nood-color-text-primary);margin:var(--nood-space-6) 0 var(--nood-space-3)}
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress p{margin:0 0 var(--nood-space-4)}
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress ul,
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress ol{margin:0 0 var(--nood-space-5);padding-inline-start:1.15rem}
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress li{margin-bottom:var(--nood-space-2)}
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress strong{color:var(--nood-color-text-primary);font-weight:var(--nood-fw-medium)}
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress code{font-family:var(--nood-font-mono);font-size:.9em}
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress a{color:var(--nood-color-text-primary);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
body:not(.woocommerce-page):not(.woocommerce-account):not(.nood-blocks) #brx-content.wordpress a:hover{text-decoration-color:var(--nood-color-accent-amber)}
.nood-legal__lede{font-size:var(--nood-fs-body-lg);color:var(--nood-color-text-primary);max-width:58ch}
.nood-legal__meta{font-size:var(--nood-fs-label);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;color:var(--nood-color-text-muted);margin-bottom:var(--nood-space-8)}
/* NOOD-QA-R21 end */
/* NOOD-IMG-20260814: filmstrip frame photography.
   Frames were text-only. The 2nd-pass doc asked for a photo per programme,
   so the frame now leads with one. Negative margins cancel the frame's own
   padding so the image meets the inner edge of its border; the fixed ratio
   holds the row even though source photos are a mix of portrait and
   landscape, and reserves the space before load so nothing shifts.

   Square, not 4:3. The programme artwork is portrait (768x1024) and a
   landscape band cropped the head and feet off the figure. A square takes
   the middle 75% -- which on this drawing is blank paper above and easel
   below -- and leaves the figure whole, while landscape room photos lose
   only side context they can spare. */
.nood-filmstrip__media{margin:calc(var(--nood-space-6) * -1) calc(var(--nood-space-6) * -1) 0;aspect-ratio:1 / 1;overflow:hidden;background:var(--nood-color-bg-hover)}
.nood-filmstrip__media img{width:100%;height:100%;display:block;object-fit:cover}
/* NOOD-IMG-20260814 end */
/* NOOD-QA-R22 start */
body.nood-blocks #brx-content.wordpress{max-width:none;width:100%;margin-inline:0;padding:0;background:transparent;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}
body.nood-blocks #brx-content.wordpress>*{max-width:none}
.nood-btn.nood-btn--outline{color:var(--ink)}
.nood-btn.nood-btn--outline:hover,.nood-btn.nood-btn--outline:focus-visible{color:var(--nood-offwhite)}
.nood-btn.nood-btn--solid{color:var(--nood-offwhite)}
.nood-btn.nood-btn--solid:hover,.nood-btn.nood-btn--solid:focus-visible{color:var(--ink)}
.nood-btn.nood-btn--outline,.nood-btn.nood-btn--solid{transition:transform var(--dur) var(--ease),color var(--dur) var(--ease)}
/* NOOD-QA-R22 end */

/* NOOD-QA-R23 start */
.nood-section.nood-section--tinted.nood-section--tinted{background:var(--nood-color-bg-sidebar)}
.nood-section__note{color:var(--nood-color-text-muted);max-width:38em}
/* NOOD-QA-R23 end */

/* NOOD-QA-R24 start */
.nood-step{border-top:var(--nood-bw-hairline) solid var(--nood-color-text-primary)}
/* NOOD-QA-R24 end */

/* NOOD-QA-R25 :: filter row (was #brxe-d820sr _cssCustom) */
.nood-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--at-space--xs);margin-top:var(--at-space--m);margin-bottom:var(--at-space--m)}
.nood-filter-row .nood-btn--solid{color:var(--nood-offwhite)!important}
.nood-filter-row .nood-btn--outline:hover,.nood-filter-row .nood-btn--outline:focus-visible{color:var(--nood-offwhite)!important}


/* NOOD-QA-R26 :: Wave C (replaces per-element _cssCustom / _padding / _typography on Home, About, Locations, Rentals, For Artists) */
.nood-about--surface.nood-about--surface{background:var(--nood-color-bg-surface);border-top:0.5px solid var(--nood-color-border);padding:var(--nood-section-py-lg) var(--nood-section-px)}
.nood-about__actions{margin-top:var(--nood-space-7);display:flex;flex-wrap:wrap;gap:var(--nood-space-4)}
.nood-about__quote{margin-top:var(--space-m, 1.5rem);padding-left:1.25rem;border-left:2px solid currentColor}
.nood-about__note.nood-about__note{margin-top:var(--nood-space-4);font-size:var(--nood-fs-small);color:var(--nood-color-text-muted)}
.nood-embed-block{width:100%}
.nood-acc-intro.nood-acc-intro{max-width:38em;margin-bottom:var(--nood-space-7)}
.nood-acc-actions{margin-top:var(--nood-space-8)}
.nood-mat-col{padding-top:var(--nood-space-4);border-top:var(--nood-bw-hairline) solid var(--nood-color-text-primary)}
.nood-mat-col>.nood-type--label{margin-bottom:var(--nood-space-4)}
.nood-mat-list.nood-mat-list{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--nood-space-2);list-style:none;font-size:var(--nood-fs-body);color:var(--nood-color-text-secondary)}
#materials{background:var(--nood-color-bg-sidebar)}
#private{border-top:var(--nood-bw-hairline) solid var(--nood-color-border)}


/* NOOD-QA-R27 :: Wave D (replaces per-element _cssCustom / _padding / _typography on Pricing, For Models, Model Coaching, Etiquette, Gallery) */
.nood-acc-intro--plain.nood-acc-intro--plain{max-width:38em}
.nood-accordion--spaced{margin-top:var(--nood-space-7)}
.nood-acc-note.nood-acc-note{margin-top:var(--nood-space-5);font-size:var(--nood-fs-small);color:var(--nood-color-text-muted)}
.nood-workshop{padding:3rem 0 0;margin-top:var(--nood-space-8);border-top:1px solid rgb(196,196,196)}
.nood-quote-actions{margin-top:var(--nood-space-7)}
.nood-panel__price--md.nood-panel__price--md{font-size:var(--nood-fs-display-md)}

/* Gallery photo cards are <figure> elements. On a Bricks page they keep the browser default
   margin (1em 40px); a block page loads wp-block-library, which resets it. Restore it so the
   converted page matches. */
figure.nood-card{margin:1em 40px}


/* NOOD-QA-R28 (2026-10-05) — `.nood-display--sm` (Etiquette guideline headings) had no rule and fell back
   to the system font at weight 700, outside the two-weight Inter Tight system. Woo account page: brand type,
   square corners, hairline borders instead of the WooCommerce defaults. Delete this block to revert. */
.nood-display--sm{font-family:var(--nood-font-display);font-weight:var(--nood-fw-medium);letter-spacing:var(--nood-tracking-tight);line-height:1.1;color:var(--nood-color-text-primary)}
h2.nood-display--sm{font-size:var(--nood-fs-display-sm)}
h3.nood-display--sm{font-size:calc(var(--nood-fs-display-sm) * .8)}
.woocommerce .woocommerce-form.login{border:1px solid var(--nood-color-border);border-radius:0;padding:var(--nood-space-6)}
.woocommerce .woocommerce-Input--text,.woocommerce input.input-text{font-family:var(--nood-font-body);font-size:var(--nood-fs-body);border:1px solid var(--nood-color-border);border-radius:0;padding:.75rem 1rem;width:100%;background:var(--nood-color-bg-page)}
.woocommerce .woocommerce-form-login__submit,.woocommerce button.button{font-family:var(--nood-font-body);font-weight:var(--nood-fw-medium);font-size:var(--nood-fs-small);letter-spacing:var(--nood-tracking-label);text-transform:uppercase;background:var(--nood-color-text-primary);color:var(--nood-color-text-inverse);border:1px solid var(--nood-color-text-primary);border-radius:0;padding:.85rem 1.5rem}
.woocommerce .woocommerce-form-login__submit:hover,.woocommerce button.button:hover{background:var(--nood-color-bg-page);color:var(--nood-color-text-primary)}
.woocommerce .woocommerce-form__label,.woocommerce .woocommerce-LostPassword{font-family:var(--nood-font-body);font-size:var(--nood-fs-small)}
.woocommerce .woocommerce-LostPassword a{color:var(--nood-color-text-primary);text-decoration:underline}

/* NOOD-QA-R28b — /sessions/ archive H1 added 2026-10-05; Bricks does not regenerate element CSS for a meta write, so position it here. */
#brxe-qah1sess{padding:var(--nood-space-7) 4vw 0;margin:0}

/* NOOD-QA-R29 (2026-10-09) Pricing panels. The seven rates were a horizontal
   scroller: at 1440 only ~3.8 panels showed and the 10-Pack sat off-screen.
   Tablet and up: a wrapping grid, every rate visible at once.
     >=1440     the five session rates in one row, Gift Card + Private wide below
     1024-1439  singles 3-up, packs 2-up, extras 2-up
     761-1023   2-up, Private full width
   Phone keeps the swipe row, with the next panel peeking in as the cue.
   Bricks sections centre their children, so labels, titles and prices were
   centred over left-aligned bullets; everything aligns left now. Title
   qualifiers ("(4 weeks out)") get their own line, CTA labels stay on one. */
.nood-panel.nood-panel { align-items: stretch; text-align: left; }
.nood-panel .nood-panel__price { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--nood-space-2); }
.nood-panel .nood-panel__price-unit { margin-left: 0; }
.nood-panel__title small { display: block; margin-top: 0.35rem; letter-spacing: 0; line-height: 1.4; }
.nood-panels .nood-panel__cta.nood-btn.nood-btn { padding-inline: 1rem; letter-spacing: 0.08em; white-space: nowrap; }
@media (max-width: 760px) {
  .nood-panels.nood-panels > .nood-panel { flex: 0 0 82%; min-height: 0; }
}
@media (min-width: 761px) {
  .nood-panels.nood-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    scroll-snap-type: none;
  }
  .nood-panels.nood-panels > .nood-panel { grid-column: span 1; min-width: 0; min-height: 0; }
  .nood-panels.nood-panels > .brxe-pnp007 { grid-column: span 2; }
}
@media (min-width: 1024px) {
  .nood-panels.nood-panels { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .nood-panels.nood-panels > .nood-panel { grid-column: span 2; }
  .nood-panels.nood-panels > .brxe-pnp004,
  .nood-panels.nood-panels > .brxe-pnp005,
  .nood-panels.nood-panels > .brxe-pnp006,
  .nood-panels.nood-panels > .brxe-pnp007 { grid-column: span 3; }
}
@media (min-width: 1440px) {
  .nood-panels.nood-panels { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .nood-panels.nood-panels > .nood-panel { grid-column: span 2; padding: var(--nood-space-5); }
  .nood-panels.nood-panels > .brxe-pnp006,
  .nood-panels.nood-panels > .brxe-pnp007 {
    grid-column: span 5;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: var(--nood-space-6);
    align-content: start;
    padding: var(--nood-space-6);
  }
  .nood-panels > .brxe-pnp006 > *,
  .nood-panels > .brxe-pnp007 > * { grid-column: 1; }
  .nood-panels > .brxe-pnp006 > .nood-panel__bullets,
  .nood-panels > .brxe-pnp007 > .nood-panel__bullets { grid-column: 2; grid-row: 1 / span 3; margin-top: 0; }
  .nood-panels > .brxe-pnp006 > .nood-panel__cta,
  .nood-panels > .brxe-pnp007 > .nood-panel__cta { grid-column: 2; }
  .nood-panels .brxe-pnf006,
  .nood-panels .brxe-pnf007 { font-size: var(--nood-fs-display-md); }
}
/* END NOOD-QA-R29 */

/* NOOD-QA-R30 (2026-10-09) Members page: component nmbrs1 + Amelia customer
   panel ([ameliacustomerpanel events=1]). Intro column on the left (label,
   display H1, lead, hairline-ruled notes), the panel on the right under an
   amber rule. Amelia sets its theme as inline custom properties on
   #amelia-container, so the token overrides need !important. */
.nood-members__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nood-space-7);
  align-items: start;
}
@media (min-width: 1024px) {
  .nood-members__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--nood-space-8, 4rem); }
  .nood-members__intro { position: sticky; top: var(--nood-space-7); }
}
.nood-members__intro { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.nood-members__title.nood-members__title {
  font-family: var(--nood-font-display);
  font-weight: var(--nood-fw-medium);
  font-size: var(--nood-fs-display-lg);
  line-height: 0.95;
  letter-spacing: var(--nood-tracking-tight);
  color: var(--nood-color-text-primary);
  margin: var(--nood-space-5) 0 var(--nood-space-5);
}
.nood-members__title em { font-weight: var(--nood-fw-regular); }
.nood-members__lead.nood-members__lead { max-width: 34ch; }
.nood-members__notes { width: 100%; margin-top: var(--nood-space-7); display: flex; flex-direction: column; }
.nood-members__note {
  border-top: var(--nood-bw-hairline) solid var(--nood-color-text-primary);
  padding: var(--nood-space-4) 0 var(--nood-space-5);
  display: flex; flex-direction: column; gap: var(--nood-space-2);
}
.nood-members__note:last-child { border-bottom: var(--nood-bw-hairline) solid var(--nood-color-text-primary); }
.nood-members__note-label {
  font-family: var(--nood-font-display);
  font-size: var(--nood-fs-label);
  letter-spacing: var(--nood-tracking-label);
  text-transform: uppercase;
  color: var(--nood-color-text-secondary);
}
.nood-members__note-body { margin: 0; font-size: var(--nood-fs-body); line-height: var(--nood-lh-base); color: var(--nood-color-text-secondary); max-width: 40ch; }
.nood-members__note-body a { color: var(--nood-color-text-primary); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.nood-members__note-body a:hover { text-decoration-thickness: 2px; }

.nood-members__panel {
  min-width: 0;
  border-top: 3px solid var(--nood-color-accent-amber);
  background: var(--nood-color-bg-page);
  padding: var(--nood-space-6) 0 0;
}
.nood-members__panel .brxe-shortcode { width: 100%; }
.nood-members #amelia-container {
  --am-c-primary: #111 !important;
  --am-c-main-bgr: #fff !important;
  --am-c-main-heading-text: #111 !important;
  --am-c-main-text: #3a3a3a !important;
  --am-c-main-text-op10: rgba(17, 17, 17, 0.1) !important;
  --am-c-sb-bgr: #22262B !important;
  --am-c-sb-text: #fff !important;
  --am-c-inp-bgr: #fff !important;
  --am-c-inp-border: #C4C4C4 !important;
  --am-c-inp-text: #111 !important;
  --am-c-inp-placeholder: #6a6a6a !important;
  --am-c-drop-text: #111 !important;
  --am-c-btn-prim: #111 !important;
  --am-c-btn-prim-text: #fff !important;
  --am-c-btn-sec: #111 !important;
  --am-c-btn-sec-text: #fff !important;
  --am-c-scroll-op30: rgba(17, 17, 17, 0.3) !important;
  --am-c-scroll-op10: rgba(17, 17, 17, 0.1) !important;
  --am-font-family: var(--nood-font-body) !important;
  --am-rad-inp: 0 !important;
  --am-brad-main: 0 !important;
  --am-mw-main: 100% !important;
  font-family: var(--nood-font-body);
  max-width: 100%;
  margin: 0 !important;
  border-radius: 0;
  box-shadow: none;
  border: var(--nood-bw-hairline) solid var(--nood-color-text-primary);
}
/* Headings in the display face */
.nood-members .amelia-v2-booking #amelia-container .am-asi__header,
.nood-members .amelia-v2-booking #amelia-container .am-caph__text,
.nood-members .amelia-v2-booking #amelia-container .am-ces__heading {
  font-family: var(--nood-font-display);
  font-weight: var(--nood-fw-medium);
  letter-spacing: var(--nood-tracking-tight);
  color: #111;
}
.nood-members .amelia-v2-booking #amelia-container .am-asi__header { font-size: var(--nood-fs-display-sm); line-height: 1.1; }
.nood-members .amelia-v2-booking #amelia-container .am-caph__text { font-size: 1.375rem; }
/* Field labels as NOOD labels */
.nood-members .amelia-v2-booking #amelia-container .am-ff__item-label {
  font-size: var(--nood-fs-label);
  letter-spacing: var(--nood-tracking-label);
  text-transform: uppercase;
  color: #3a3a3a;
}
.nood-members .amelia-v2-booking #amelia-container .el-input__wrapper,
.nood-members .amelia-v2-booking #amelia-container .am-date-picker__input { border-radius: 0; box-shadow: 0 0 0 1px var(--nood-color-border) inset; }
.nood-members .amelia-v2-booking #amelia-container .el-input__wrapper.is-focus { box-shadow: 0 0 0 1px #111 inset; }
/* Buttons follow .nood-btn: pill, uppercase, tracked */
.nood-members .amelia-v2-booking #amelia-container .am-button {
  --am-rad-btn: var(--nood-radius-md);
  font-family: var(--nood-font-body);
  text-transform: uppercase;
  letter-spacing: var(--nood-tracking-nav);
  font-size: var(--nood-fs-label);
  font-weight: var(--nood-fw-medium);
}
.nood-members .amelia-v2-booking #amelia-container .am-button--text { text-decoration: underline; text-underline-offset: 3px; }
/* Sidebar: NOOD dark, amber marker on the active page */
.nood-members .amelia-v2-booking #amelia-container .am-fs-sb { border-radius: 0; }
.nood-members .amelia-v2-booking #amelia-container .am-fs-sb__page.am-active,
.nood-members .amelia-v2-booking #amelia-container .am-fs-sb__page:hover { box-shadow: inset 3px 0 0 var(--nood-color-accent-amber); }
/* Below 1024 the sign-in panel follows the headline directly; the notes
   move under it so the form is not pushed below the fold on a phone. */
@media (max-width: 1023px) {
  .nood-members__grid { display: flex; flex-direction: column; gap: 0; }
  .nood-members__intro { display: contents; }
  .nood-members__panel { order: 1; margin-top: var(--nood-space-6); padding-top: var(--nood-space-5); width: 100%; }
  .nood-members__notes { order: 2; }
}
/* Login / recovery views: Amelia floats its own card 100px down inside the
   container. Drop the offset and the outer frame; the card itself becomes a
   flat hairline panel on the warm page tone. */
.nood-members .amelia-v2-booking #amelia-container.am-auth {
  margin: 0 !important;
  border: 0;
  background: transparent;
  padding: 0 var(--nood-space-5) var(--nood-space-7);
}
.nood-members .amelia-v2-booking #amelia-container .am-asi {
  box-shadow: none;
  border: var(--nood-bw-hairline) solid var(--nood-color-text-primary);
  border-radius: 0;
  width: 100%;
  max-width: 440px;
  padding: var(--nood-space-6);
}
/* Amelia's JS writes each button's colours inline from its own palette. */
.nood-members .amelia-v2-booking #amelia-container .am-button--primary,
.nood-members .amelia-v2-booking #amelia-container .am-button--secondary {
  --am-c-btn-first: #111 !important;
  --am-c-btn-second: #fff !important;
  --am-c-btn-first-op80: rgba(17, 17, 17, 0.8) !important;
  --am-c-btn-first-op30: rgba(17, 17, 17, 0.3) !important;
  --am-c-btn-first-op20: rgba(17, 17, 17, 0.1) !important;
}
.nood-members .amelia-v2-booking #amelia-container .am-button { border-radius: var(--nood-radius-md) !important; }
.nood-members .amelia-v2-booking #amelia-container .am-button--text { border-radius: 0 !important; }
/* END NOOD-QA-R30 */

/* NOOD-QA-R31 (2026-10-09) Desktop header between the burger breakpoint (991)
   and ~1040: six items at a fixed 40px gap + logo + CTA did not fit, so
   "For Artists"/"For Models" broke onto two lines and the CTA label wrapped.
   Labels never wrap on the desktop bar; the gap scales down with the
   viewport until there is room for the full 40px again. */
@media (min-width: 992px) {
  .nood-nav .nood-nav__link,
  .nood-nav .nood-btn { white-space: nowrap; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .nood-nav .nood-nav__menu.nood-nav__menu { gap: clamp(16px, calc((100vw - 992px) * 0.12 + 16px), 40px); }
}
/* END NOOD-QA-R31 */

/* NOOD-QA-R32 start */
/* --- Contact page: Gravity Forms #1 "General Contact" (2026-10-13) ----------
   The contact page now leads to this form instead of mailto: links. Same two
   GF rules as R20: !important on anything GF also sets (its sheets load after
   this one) and a literal fallback on every var(). Scoped to #gform_wrapper_1. */
#gform_wrapper_1{max-width:44rem;margin:0!important}
#gform_wrapper_1 .gform_fields{row-gap:var(--nood-space-6,2rem)!important;column-gap:var(--nood-space-5,1.5rem)!important}
#gform_wrapper_1 .gfield_label,
#gform_wrapper_1 legend.gfield_label{font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-label,.6875rem)!important;font-weight:var(--nood-fw-regular,400)!important;letter-spacing:var(--nood-tracking-label,.14em)!important;text-transform:uppercase!important;color:var(--nood-color-text-secondary,#555)!important;margin:0 0 var(--nood-space-2,.5rem)!important}
#gform_wrapper_1 .gfield_required{color:var(--nood-color-text-muted,#6a6a6a)!important;font-size:inherit!important;letter-spacing:inherit!important;text-transform:none!important}
#gform_wrapper_1 .gfield_description,
#gform_wrapper_1 .ginput_counter{font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-small,.8125rem)!important;color:var(--nood-color-text-secondary,#555)!important;line-height:1.5!important;padding:0!important;margin:0 0 var(--nood-space-3,.75rem)!important}
#gform_wrapper_1 .ginput_counter{margin:var(--nood-space-2,.5rem) 0 0!important;color:var(--nood-color-text-muted,#6a6a6a)!important}
#gform_wrapper_1 .gform-field-label--type-sub{font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-small,.8125rem)!important;color:var(--nood-color-text-muted,#6a6a6a)!important;padding-top:var(--nood-space-2,.5rem)!important}
#gform_wrapper_1 input[type=text],
#gform_wrapper_1 input[type=email]{width:100%!important;min-height:44px;margin:0!important;padding:var(--nood-space-2,.5rem) 0 var(--nood-space-3,.75rem)!important;border:0!important;border-bottom:var(--nood-bw-thin,1px) solid var(--nood-color-text-primary,#111)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-body-lg,1.0625rem)!important;color:var(--nood-color-text-primary,#111)!important}
#gform_wrapper_1 textarea{width:100%!important;min-height:10rem;margin:0!important;padding:var(--nood-space-3,.75rem)!important;border:var(--nood-bw-thin,1px) solid var(--nood-color-text-primary,#111)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-body-lg,1.0625rem)!important;line-height:1.6!important;color:var(--nood-color-text-primary,#111)!important;resize:vertical}
#gform_wrapper_1 input[type=text]:focus-visible,
#gform_wrapper_1 input[type=email]:focus-visible,
#gform_wrapper_1 textarea:focus-visible{outline:2px solid var(--nood-color-accent-amber,#F5B942)!important;outline-offset:3px!important}
#gform_wrapper_1 .gform_footer,
#gform_wrapper_1 .gform-footer{margin:var(--nood-space-6,2rem) 0 0!important;padding:0!important}
#gform_wrapper_1 .gform_footer input[type=submit],
#gform_wrapper_1 .gform-footer input[type=submit],
#gform_wrapper_1 .gform_footer button[type=submit],
#gform_wrapper_1 .gform-footer button[type=submit]{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-height:48px;margin:0!important;padding:1rem 2.25rem!important;font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-label,.6875rem)!important;font-weight:var(--nood-fw-medium,500)!important;letter-spacing:var(--nood-tracking-nav,.08em)!important;text-transform:uppercase!important;background:var(--nood-color-text-primary,#111)!important;color:var(--nood-color-text-inverse,#fff)!important;border:var(--nood-bw-thin,1px) solid var(--nood-color-text-primary,#111)!important;border-radius:0!important;box-shadow:none!important;cursor:pointer;transition:background var(--nood-dur-base,300ms) var(--nood-ease-out,ease),color var(--nood-dur-base,300ms) var(--nood-ease-out,ease)}
#gform_wrapper_1 .gform_footer input[type=submit]:hover,
#gform_wrapper_1 .gform-footer input[type=submit]:hover,
#gform_wrapper_1 .gform_footer button[type=submit]:hover,
#gform_wrapper_1 .gform-footer button[type=submit]:hover{background:transparent!important;color:var(--nood-color-text-primary,#111)!important}
#gform_wrapper_1 .gform_validation_errors{border-radius:0!important;box-shadow:none!important;background:transparent!important;border:var(--nood-bw-thin,1px) solid currentColor!important;padding:var(--nood-space-3,.75rem) var(--nood-space-4,1rem)!important}
#gform_wrapper_1 .gform_validation_errors .gform_submission_error{font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-small,.8125rem)!important;font-weight:var(--nood-fw-regular,400)!important}
#gform_wrapper_1 .gfield_validation_message,
#gform_wrapper_1 .validation_message{background:transparent!important;border:0!important;padding:var(--nood-space-2,.5rem) 0 0!important;font-size:var(--nood-fs-small,.8125rem)!important}
.nood-form-thanks{font-family:var(--nood-font-display,Helvetica,Arial,sans-serif);font-size:var(--nood-fs-display-sm,1.75rem);font-weight:var(--nood-fw-medium,500);letter-spacing:var(--nood-tracking-tight,-.02em);line-height:1.2;max-width:32ch;margin:0}
@media (prefers-reduced-motion:reduce){#gform_wrapper_1 .gform_footer input[type=submit]{transition:none}}
/* NOOD-QA-R32 end */
/* NOOD-QA-R32b: errors stay red. .validation_message also carries .gfield_description, which R32 mutes. */
#gform_wrapper_1 .gfield_validation_message,#gform_wrapper_1 .validation_message{color:#b3261e!important}
#gform_wrapper_1 .gfield_error input[type=text],#gform_wrapper_1 .gfield_error input[type=email],#gform_wrapper_1 .gfield_error textarea{border-color:#b3261e!important}

/* NOOD-QA-R33 start */
/* --- Members dashboard (Amelia customer panel, signed in) to the design system, 2026-10-13.
   R30 skins the sign-in state; these are the signed-in leftovers. Amelia sets most of
   its theme inline, so every rule here needs !important. */
.am-cap__wrapper,
.am-cap__wrapper .am-caph__main,
.am-cap__wrapper .am-select,
.am-cap__wrapper .am-capf__menu-datepicker{box-shadow:none!important}
.am-cap__wrapper .am-caph__main{border-bottom:var(--nood-bw-hairline,.5px) solid var(--nood-color-border,#cfccc4)!important}
/* Purely typographic: no icons in the sidebar or as field prefixes. The icon-only
   Filters button on phones keeps its funnel, since it has no text label. */
/* NOOD-QA-R33d (2026-10-13): only while the sidebar is expanded. Collapsed, the icons are the
   only content (Profile, Sessions, expand, Log out), so hiding them hid sign-out. */
.am-cap__wrapper .am-fs-sb:not(.am-collapsed) .am-fs-sb__page-icon,
.am-cap__wrapper .am-fs-sb__page-indicator,
.am-cap__wrapper .el-select__prefix,
.am-cap__wrapper .el-date-editor .el-range__icon{display:none!important}
.am-cap__wrapper .am-fs-sb__page-inner{font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-label,.6875rem)!important;letter-spacing:var(--nood-tracking-label,.14em)!important;text-transform:uppercase!important}
/* Empty state: no cartoon, just the words. */
.am-cap__wrapper .am-ces__img-holder{display:none!important}
.am-cap__wrapper .am-ces{padding-top:var(--nood-space-7,3rem)!important;text-align:left!important;align-items:flex-start!important}
.am-cap__wrapper .am-ces *{font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;text-align:left!important}
.am-cap__wrapper .am-ces > *:first-of-type:not(.am-ces__img-holder),
.am-cap__wrapper .am-ces__img-holder + *{font-family:var(--nood-font-display,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-display-sm,1.75rem)!important;font-weight:var(--nood-fw-medium,500)!important;letter-spacing:var(--nood-tracking-tight,-.02em)!important;line-height:1.15!important}
/* Amelia's bundled Roboto still reached the timezone select and date inputs. */
.am-cap__wrapper .el-select__selected-item,
.am-cap__wrapper .el-select__selected-item *,
.am-cap__wrapper .el-select__input,
.am-cap__wrapper .el-range-input,
.am-cap__wrapper .el-range-separator{font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important}
/* Phones: the date range gets its own full-width row instead of breaking mid-date. */
@media (max-width:600px){
  .am-cap__wrapper .am-capf__menu{flex-wrap:wrap!important;row-gap:var(--nood-space-3,.75rem)!important}
  .am-cap__wrapper .am-capf__menu-datepicker{flex:1 1 100%!important;width:100%!important;max-width:none!important;order:2}
  .am-cap__wrapper .el-range-input{font-size:.875rem!important;white-space:nowrap!important}
}
/* NOOD-QA-R33 end */
/* NOOD-QA-R33b: the visible dates are an overlay (.am-daterange) over the real inputs, sized to leave
   room for the calendar icon R33 hides. Span the full picker and keep each date on one line. */
.am-cap__wrapper .am-date-picker__input.am-daterange{left:0!important;width:100%!important;padding-inline:var(--nood-space-3,.75rem)!important}
.am-cap__wrapper .am-date-picker__input-start,
.am-cap__wrapper .am-date-picker__input-end{flex:1 1 0!important;min-width:0!important;white-space:nowrap!important;justify-content:center!important;font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important}
@media (max-width:600px){.am-cap__wrapper .am-date-picker__input-start,.am-cap__wrapper .am-date-picker__input-end{font-size:.875rem!important}}
/* NOOD-QA-R33c: Amelia's muted grey (#768087, 4.03:1 on white) under the sign-in button fails WCAG AA. */
.am-cap__wrapper .am-asi__footer-text,
#amelia-container .am-asi__footer-text{color:var(--nood-color-text-secondary,#555)!important}
/* NOOD-QA-R32c: the submit button kept Gravity Forms' blue focus ring; use the site's amber one. */
#gform_wrapper_1 .gform_footer [type=submit]:focus-visible,
#gform_wrapper_1 .gform-footer [type=submit]:focus-visible{outline:2px solid var(--nood-color-accent-amber,#F5B942)!important;outline-offset:3px!important;box-shadow:none!important}
/* NOOD-QA-R32d: Topic select (added 13 Oct) matches the underlined text fields. */
#gform_wrapper_1 select{width:100%!important;min-height:44px;margin:0!important;padding:var(--nood-space-2,.5rem) 2rem var(--nood-space-3,.75rem) 0!important;border:0!important;border-bottom:var(--nood-bw-thin,1px) solid var(--nood-color-text-primary,#111)!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important;font-family:var(--nood-font-body,Helvetica,Arial,sans-serif)!important;font-size:var(--nood-fs-body-lg,1.0625rem)!important;color:var(--nood-color-text-primary,#111)!important}
#gform_wrapper_1 select:focus-visible{outline:2px solid var(--nood-color-accent-amber,#F5B942)!important;outline-offset:3px!important}
/* NOOD-QA-R32e: GF fixes the select's height, which clipped the descenders of the Topic text. */
#gform_wrapper_1 select{height:auto!important;line-height:1.4!important;padding-top:var(--nood-space-2,.5rem)!important;padding-bottom:var(--nood-space-2,.5rem)!important}
