:root{
  --nutri-bg:#FBF7F0;
  --nutri-surface:#FFFFFF;
  --nutri-surface-warm:#F3EBDD;
  --nutri-tone:#0F6B5C;
  --nutri-tone-hover:#0A4F44;
  --nutri-warm:#E8A33D;
  --nutri-ink:#1A1A2A;
  --nutri-muted:#4B4F5C;
  --nutri-line:#E3DDD0;
  --nutri-field-line:#7A7468;
  --nutri-gradient:linear-gradient(135deg,#0F6B5C 0%,#2C9B80 100%);
  --nutri-footer-bg:#13302B;
  --nutri-footer-ink:#F2F6F4;
  --nutri-glow:rgba(15,107,92,.16);
  --nutri-shadow:0 10px 28px rgba(26,26,42,.10);
  --nutri-shadow-hover:0 16px 36px rgba(26,26,42,.16);
  --nutri-radius:14px;
  --nutri-section:10dvh;
  --font-display:'Montserrat','Segoe UI',Tahoma,Arial,sans-serif;
  --font-body:'Open Sans','Segoe UI',Tahoma,Arial,sans-serif;
}

@view-transition{navigation:auto;}
::view-transition-old(root){animation:.35s ease both nr-vt-out;}
::view-transition-new(root){animation:.45s ease both nr-vt-in;}
@keyframes nr-vt-out{to{opacity:0;}}
@keyframes nr-vt-in{from{opacity:0;}}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--nutri-bg);color:var(--nutri-ink);font-family:var(--font-body);font-size:1rem;line-height:1.7;overflow-x:hidden;}
h1,h2,h3{font-family:var(--font-display);line-height:1.3;margin:0 0 .6em;color:var(--nutri-ink);}
h1{font-size:clamp(1.8rem,4.2vw,3.1rem);}
h2{font-size:clamp(1.4rem,2.8vw,2.1rem);}
h3{font-size:1.12rem;}
p{margin:0 0 1em;}
a{color:var(--nutri-tone-hover);}
img{display:block;max-width:100%;height:auto;}
:focus-visible{outline:3px solid var(--nutri-warm);outline-offset:3px;}
.nr-wrap{width:min(1180px,100% - 40px);margin-inline:auto;}
.nr-sec{padding-block:var(--nutri-section);}
.nr-sec-alt{background:var(--nutri-surface);}
.nr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.nr-ico{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.nr-kicker{font-size:.9rem;font-weight:700;color:var(--nutri-tone-hover);margin-bottom:.6em;}
.nr-lead{font-size:1.08rem;color:var(--nutri-muted);max-width:46ch;}

/* Header */
.nr-header{position:sticky;top:0;z-index:50;background:var(--nutri-surface);border-bottom:1px solid var(--nutri-line);box-shadow:0 1px 0 var(--nutri-line);}
.nr-header:focus-within{box-shadow:0 8px 20px rgba(26,26,42,.08);}
.nr-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;width:min(1180px,100% - 40px);margin-inline:auto;}
.nr-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--nutri-ink);font-family:var(--font-display);font-weight:700;font-size:1rem;}
.nr-logo{width:38px;height:38px;flex:none;}
.nr-logo-disc{fill:var(--nutri-tone);}
.nr-logo-leaf{fill:var(--nutri-warm);}
.nr-nav{display:flex;gap:6px;align-items:center;}
.nr-nav a{text-decoration:none;color:var(--nutri-ink);padding:8px 14px;border-radius:999px;font-weight:600;transition:background-color .2s,color .2s;}
.nr-nav a:hover{background:var(--nutri-surface-warm);color:var(--nutri-tone-hover);}
.nr-menu-check{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;}
.nr-burger{display:none;cursor:pointer;flex-direction:column;gap:5px;padding:10px;border-radius:8px;}
.nr-burger span:not(.nr-sr){display:block;width:24px;height:2px;background:var(--nutri-ink);border-radius:2px;}
.nr-menu-check:focus-visible ~ .nr-burger{outline:3px solid var(--nutri-warm);outline-offset:2px;}
.nr-meter{position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--nutri-gradient);transform-origin:0 50%;pointer-events:none;}
@supports (animation-timeline: scroll()){
  .nr-meter{animation:nr-meter-grow linear both;animation-timeline:scroll(root block);}
}
@keyframes nr-meter-grow{from{transform:scaleX(0);}to{transform:scaleX(1);}}

/* Announcement */
.nr-announce{background:var(--nutri-tone);color:#fff;font-size:.95rem;}
.nr-announce a{display:flex;justify-content:center;align-items:center;gap:10px;padding:10px 16px;color:#fff;text-decoration:none;font-weight:600;text-align:center;}
.nr-announce a:hover{text-decoration:underline;background:var(--nutri-tone-hover);}

/* Buttons */
.nr-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border-radius:var(--nutri-radius);background:var(--nutri-tone);color:#fff;font-family:inherit;font-weight:700;font-size:1rem;text-decoration:none;border:2px solid var(--nutri-tone);cursor:pointer;align-self:flex-start;transition:background-color .2s,transform .2s,box-shadow .2s,color .2s;}
.nr-action:hover{background:var(--nutri-tone-hover);border-color:var(--nutri-tone-hover);transform:scale(1.03);box-shadow:0 8px 18px rgba(15,107,92,.25);}
.nr-action:active{transform:scale(.99);}
.nr-action-ghost{background:transparent;color:var(--nutri-tone-hover);border-color:var(--nutri-tone);}
.nr-action-ghost:hover{background:var(--nutri-surface);color:var(--nutri-tone-hover);}

/* Hero (split) */
.nr-hero-split{display:grid;grid-template-columns:1fr;background:var(--nutri-surface-warm);}
.nr-hero-copy{padding:8dvh 6vw;display:flex;flex-direction:column;justify-content:center;gap:18px;}
.nr-hero-media{position:relative;margin:0;min-height:320px;overflow:hidden;}
.nr-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.nr-band{position:relative;margin:0;height:45vh;min-height:260px;overflow:hidden;}
.nr-band img{width:100%;height:100%;object-fit:cover;}
@media (min-width:860px){
  .nr-hero-split{grid-template-columns:55% 45%;min-height:min(78dvh,680px);}
  .nr-hero-media{min-height:0;}
}

/* Page hero */
.nr-page-hero{background:var(--nutri-surface-warm);padding-block:9dvh 7dvh;}
.nr-page-hero p{max-width:62ch;color:var(--nutri-muted);font-size:1.08rem;}

/* Trio */
.nr-trio{display:grid;gap:28px;grid-template-columns:1fr;margin-top:32px;}
.nr-trio-item{background:var(--nutri-surface);border-top:3px solid var(--nutri-tone);padding:26px 22px;border-radius:var(--nutri-radius);box-shadow:var(--nutri-shadow);}
.nr-trio-item .nr-ico{color:var(--nutri-tone);margin-bottom:12px;}
@media (min-width:860px){.nr-trio{grid-template-columns:repeat(3,1fr);}}

/* Marquee */
.nr-marquee{overflow:hidden;background:var(--nutri-ink);color:var(--nutri-bg);padding:16px 0;}
.nr-marquee-track{display:flex;gap:40px;width:max-content;animation:nr-marquee-run 36s linear infinite;font-family:var(--font-display);font-weight:600;white-space:nowrap;padding-inline:20px;}
.nr-marquee:hover .nr-marquee-track{animation-play-state:paused;}
.nr-marquee-item{position:relative;}
.nr-marquee-item::after{content:"";position:absolute;top:50%;inset-inline-end:-22px;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--nutri-warm);}
@keyframes nr-marquee-run{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Mosaic */
.nr-mosaic{columns:1;column-gap:24px;margin-top:32px;}
@media (min-width:640px){.nr-mosaic{columns:2;}}
@media (min-width:1024px){.nr-mosaic{columns:3;}}
.nr-tile{position:relative;break-inside:avoid;margin:0 0 24px;background:var(--nutri-surface);border-radius:var(--nutri-radius);box-shadow:var(--nutri-shadow);padding:22px;overflow:hidden;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));}
.nr-tile:hover{box-shadow:var(--nutri-shadow-hover);}
.nr-tile::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),var(--nutri-glow),transparent 60%);}
.nr-tile:hover::after{opacity:1;}
.nr-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-bottom:14px;}
.nr-tile .nr-ico{color:var(--nutri-tone);margin-bottom:10px;}

/* Steps track */
.nr-track{display:flex;flex-direction:column;gap:28px;list-style:none;padding:0;margin:32px 0 0;}
.nr-step{position:relative;flex:1;padding-top:30px;border-top:2px dashed var(--nutri-tone);}
.nr-step-dot{position:absolute;top:-15px;inset-inline-start:0;width:30px;height:30px;border-radius:50%;background:var(--nutri-surface);border:2px solid var(--nutri-tone);color:var(--nutri-tone);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.9rem;}
.nr-step.is-active .nr-step-dot{background:var(--nutri-tone);color:#fff;}
.nr-step.is-active h3{color:var(--nutri-tone-hover);}
@media (min-width:800px){
  .nr-track{flex-direction:row;gap:20px;}
}

/* CTA strip */
.nr-cta-strip{background:var(--nutri-tone);color:#fff;padding-block:9dvh;}
.nr-cta-strip h2{color:#fff;max-width:24ch;margin:0;}
.nr-cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;}
.nr-cta-strip .nr-action{background:#fff;color:var(--nutri-tone-hover);border-color:#fff;}
.nr-cta-strip .nr-action:hover{background:var(--nutri-surface-warm);border-color:var(--nutri-surface-warm);}

/* Split (about) */
.nr-split{display:grid;gap:36px;align-items:center;}
.nr-split-media{margin:0;border-radius:var(--nutri-radius);overflow:hidden;box-shadow:var(--nutri-shadow);}
.nr-split-media img{width:100%;aspect-ratio:4/5;object-fit:cover;}
@media (min-width:860px){.nr-split{grid-template-columns:1fr 1fr;}}

/* Items row */
.nr-items-row{display:grid;gap:22px;grid-template-columns:1fr;margin-top:32px;}
@media (min-width:640px){.nr-items-row{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1000px){.nr-items-row{grid-template-columns:repeat(4,1fr);}}
.nr-item{background:var(--nutri-surface);padding:24px;border-radius:var(--nutri-radius);box-shadow:var(--nutri-shadow);border-inline-start:4px solid var(--nutri-tone);}
.nr-item .nr-ico{color:var(--nutri-tone);margin-bottom:10px;}

/* Accordion */
.nr-accordion details{background:var(--nutri-surface);border-radius:var(--nutri-radius);box-shadow:var(--nutri-shadow);margin-bottom:14px;padding:4px 22px;}
.nr-accordion summary{cursor:pointer;font-family:var(--font-display);font-weight:700;padding:16px 0;}
.nr-accordion details[open] summary{color:var(--nutri-tone-hover);}
.nr-accordion details p{padding-bottom:16px;margin:0;}

/* Reserve */
.nr-form-layout{display:grid;gap:36px;}
@media (min-width:960px){.nr-form-layout{grid-template-columns:1fr 1fr;align-items:start;}}
.nr-info-stack{display:grid;gap:22px;}
.nr-info-card{background:var(--nutri-surface);border-radius:var(--nutri-radius);padding:24px;box-shadow:var(--nutri-shadow);}
.nr-info-card .nr-ico{color:var(--nutri-tone);}
.nr-info-card h2{font-size:1.25rem;margin-top:8px;}
.nr-info-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px;}
.nr-info-list li{display:flex;gap:12px;align-items:flex-start;}
.nr-dot-num{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--nutri-tone);color:#fff;font-weight:700;font-size:.85rem;}
.nr-dot-num.is-warm{background:var(--nutri-warm);color:var(--nutri-ink);}
.nr-form{background:var(--nutri-surface);padding:28px;border-radius:var(--nutri-radius);box-shadow:var(--nutri-shadow);display:grid;gap:18px;}
.nr-form h2{font-size:1.35rem;margin:0;}
.nr-field{display:grid;gap:6px;}
.nr-field label{font-weight:600;}
.nr-field input,.nr-field textarea{font:inherit;width:100%;padding:12px 14px;border:1.5px solid var(--nutri-field-line);border-radius:10px;background:#fff;color:var(--nutri-ink);}
.nr-field input:focus,.nr-field textarea:focus{outline:3px solid var(--nutri-warm);outline-offset:1px;border-color:var(--nutri-tone-hover);}
.nr-check{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;cursor:pointer;}
.nr-check input{width:20px;height:20px;margin-top:5px;accent-color:var(--nutri-tone);flex:none;}

/* Thanks */
.nr-thanks{display:grid;gap:28px;align-items:center;}
.nr-thanks figure{margin:0;}
.nr-thanks img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--nutri-radius);box-shadow:var(--nutri-shadow);}
@media (min-width:860px){.nr-thanks{grid-template-columns:1fr 1fr;}}

/* Legal */
.nr-legal{min-height:100dvh;padding-block:8dvh;}
.nr-legal-body{max-width:80ch;}
.nr-legal h1{margin-bottom:.8em;}
.nr-legal h2{margin-top:1.6em;}
.nr-cookies-sec{scroll-margin-top:90px;}

/* Footer */
.nr-footer{background:var(--nutri-footer-bg);color:var(--nutri-footer-ink);padding-block:48px 28px;}
.nr-footer a{color:var(--nutri-footer-ink);}
.nr-footer .nr-brand{color:var(--nutri-footer-ink);}
.nr-footer-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid rgba(242,246,244,.2);margin-bottom:20px;}
.nr-footer-links{display:flex;flex-wrap:wrap;gap:18px;}
.nr-footer-links a{text-decoration:underline;text-underline-offset:3px;}
.nr-footer-disclaimer{font-size:.95rem;color:#E6EEEA;max-width:70ch;margin:0 0 8px;}
.nr-footer-copy{margin:0;font-size:.9rem;color:#E6EEEA;}

/* Cookie banner */
.nr-cookie{position:fixed;inset-inline:0;bottom:0;z-index:9999;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:var(--nutri-ink);color:var(--nutri-bg);padding:16px 20px;box-shadow:0 -6px 24px rgba(0,0,0,.2);}
.nr-cookie[hidden]{display:none;}
.nr-cookie p{margin:0;font-size:.95rem;}
.nr-cookie a{color:#F6E2B5;}
.nr-cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.nr-cookie .nr-action{align-self:auto;min-height:44px;padding:10px 18px;}
.nr-cookie .nr-action-ghost{color:#fff;border-color:#fff;}
.nr-cookie .nr-action-ghost:hover{background:#fff;color:var(--nutri-ink);}

/* Reveal (JS adds .js on html; content stays visible without JS) */
.nr-rise{transition:opacity .6s ease,translate .6s ease,transform .4s ease,box-shadow .3s ease;}
.js .nr-rise{opacity:0;translate:0 24px;}
.js .nr-rise.is-in{opacity:1;translate:0 0;}

/* Desktop nav and mobile burger */
@media (max-width:859px){
  .nr-burger{display:flex;}
  .nr-nav{display:none;position:absolute;top:100%;inset-inline:0;flex-direction:column;align-items:stretch;background:var(--nutri-surface);padding:12px 20px 20px;border-bottom:1px solid var(--nutri-line);box-shadow:var(--nutri-shadow);}
  .nr-nav a{padding:12px 14px;}
  .nr-menu-check:checked ~ .nr-nav{display:flex;}
}
@media (min-width:860px){
  .nr-nav{position:static;}
}

/* Scroll-driven reveal for clipped media */
@supports (animation-timeline: view()){
  .nr-clip{animation:nr-clip-open linear both;animation-timeline:view();animation-range:entry 0% cover 35%;}
}
@keyframes nr-clip-open{from{clip-path:inset(0 0 100% 0);}to{clip-path:inset(0 0 0 0);}}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
  html{view-transition-name:none;}
  .js .nr-rise{opacity:1;translate:none;}
  .nr-meter{display:none;}
}
</dev>