/* Own-brand partnership extension. Preserve the established Noble Grains identity. */
.label-feature,.label-partnership,.label-product{--label-red:#8c261f;--label-line:#dacbbc;scroll-margin-top:130px}
.label-feature{background:#f5efe5;border-top:1px solid var(--label-line);padding-bottom:76px}
.label-heading{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;margin-bottom:42px}
.label-heading h2{font-size:clamp(3.3rem,6.8vw,7.3rem);line-height:1.02;letter-spacing:-.035em;margin-top:22px;text-wrap:balance}
.label-heading h2 em,.label-product h2 em{color:var(--label-red)}
.label-intro{max-width:510px;justify-self:end;padding-bottom:5px}
.label-intro p{margin:0 0 20px;color:var(--muted)}
.label-intro p:first-child{font-size:clamp(1.25rem,1.6vw,1.6rem);line-height:1.4;color:var(--ink)}
.label-studio{display:grid;grid-template-columns:minmax(0,1fr) 200px;align-items:center;gap:42px}
.label-photo{margin:0;min-width:0;isolation:isolate}
.label-photo img{display:block;width:100%;height:auto;object-fit:contain}
.label-studio .label-photo{max-width:1040px}
.label-studio-note{padding-left:24px;border-left:1px solid var(--label-line)}
.label-note-number{font:600 .8rem/1.2 SourceSans,sans-serif;letter-spacing:.14em;color:var(--label-red)}
.label-studio-note p{font:600 clamp(1.7rem,2.5vw,2.8rem)/1.15 Barlow,sans-serif;margin:26px 0}
.label-studio-note strong{font-weight:600;color:var(--label-red)}
.label-concept{font-size:.8rem;line-height:1.5;color:var(--muted);display:block}
.label-service-line{display:flex;flex-wrap:wrap;gap:18px 40px;border-top:1px solid var(--label-line);padding:25px 0;margin-top:32px;font-size:.92rem}
.label-service-line span{display:flex;gap:12px;align-items:center}
.label-service-line span:before{content:'+';color:var(--label-red);font-size:1.25rem}
.label-feature>.button{margin-top:12px}
.label-partnership{background:#fffbf5;border-top:1px solid var(--label-line)}
.label-shelf{position:relative;margin:0;isolation:isolate}
.label-shelf img{display:block;width:100%;height:auto}
.label-shelf:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(16deg,rgba(57,17,12,.85) 0%,rgba(90,28,18,.42) 15%,transparent 42%)}
.label-shelf figcaption{position:absolute;z-index:2;left:4%;bottom:6%;color:#fff;display:flex;flex-direction:column;text-shadow:0 1px 12px #25110a55}
.label-shelf figcaption span{font-size:clamp(.9rem,1.5vw,1.3rem)}
.label-shelf figcaption strong{font:600 clamp(1.8rem,3.4vw,3.7rem)/1.15 Barlow,sans-serif;margin-top:8px}
.label-detail-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;margin-top:65px;align-items:start}
.label-detail-intro h3{font:600 clamp(2.2rem,3.4vw,3.6rem)/1.08 Barlow,sans-serif;margin:18px 0 25px;text-wrap:balance}
.label-detail-intro>p:not(.eyebrow){max-width:375px;color:var(--muted);margin-bottom:20px}
.label-accordions{border-top:1px solid var(--label-line)}
.label-accordions details{border-bottom:1px solid var(--label-line)}
.label-accordions summary{display:flex;align-items:center;gap:20px;list-style:none;cursor:pointer;min-height:80px;padding:18px 0;font-size:1.25rem;font-weight:600}
.label-accordions summary::-webkit-details-marker{display:none}
.label-accordions summary>span{font-size:.8rem;letter-spacing:.08em;font-weight:400;color:var(--label-red);flex:none}
.label-accordions summary>b{font-size:1.6rem;font-weight:400;margin-left:auto;transition:transform .2s}
.label-accordions details[open] summary>b{transform:rotate(45deg)}
.label-accordions details>div{padding:0 40px 25px;color:var(--muted);max-width:620px}
.label-next{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--label-line);padding-top:32px;margin-top:56px}
.label-next p{font-size:1.25rem;max-width:430px}
.label-product{display:grid;grid-template-columns:1.15fr 1fr;gap:6vw;align-items:center;background:#f5efe5}
.label-product h2{font-size:clamp(2.7rem,4.5vw,5rem);line-height:1.06;margin:24px 0;text-wrap:balance}
.label-product p:not(.eyebrow){color:var(--muted);margin-bottom:20px;max-width:450px}
.partner-paths{display:flex;gap:16px 36px;flex-wrap:wrap;border-block:1px solid var(--line);padding:22px var(--gutter);max-width:1800px;margin:auto}
.partner-paths a{min-height:44px;display:flex;align-items:center;gap:14px;font-size:.94rem;font-weight:600}
.partner-paths a:last-child{color:var(--red)}
.partner-paths a span{font-size:.75rem;font-weight:400;color:var(--muted)}
.footer-contact .footer-number{display:block;font-size:1rem;line-height:1.35;padding:6px 0}
.footer-number small{display:block;font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:3px}
.footer-contact .footer-sales{display:flex;gap:16px;flex-wrap:wrap}
.footer-contact .footer-sales a{display:inline-block;min-height:34px}
.contact-options .contact-sales{padding:16px 0;border-bottom:1px solid #cdb99b}
.contact-sales>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.contact-options .contact-sales a{display:inline-block;padding:9px 20px 0 0;border:0;font-size:1.03rem;letter-spacing:0;color:var(--red)}
.private-fields-note{font-size:.86rem;color:var(--muted)}
@media(min-width:801px){.contact-aside{position:static}.footer-contact .footer-email{overflow-wrap:anywhere}}
@media(max-width:1024px){.label-studio{grid-template-columns:minmax(0,1fr) 165px;gap:24px}.label-heading{gap:36px}.label-detail-layout{gap:40px}.label-product{gap:32px}}
@media(max-width:800px){.label-feature,.label-partnership,.label-product{scroll-margin-top:108px}.label-heading{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.label-heading h2{font-size:clamp(3.6rem,12vw,5.8rem);margin-top:16px}.label-intro{justify-self:start;max-width:600px}.label-intro p:first-child{font-size:1.25rem}.label-studio{grid-template-columns:1fr;gap:24px}.label-studio-note{display:flex;gap:18px;align-items:center;padding:0;border:0}.label-studio-note p{font-size:1.5rem;margin:0}.label-studio-note .label-concept{margin-left:auto;max-width:135px;font-size:.73rem}.label-studio-note .label-note-number{display:none}.label-service-line{display:grid;gap:12px;margin-top:24px;padding:22px 0}.label-feature{padding-bottom:52px}.label-shelf figcaption{position:static;padding:20px 0 0;color:var(--ink);text-shadow:none}.label-shelf figcaption strong{font-size:2rem;color:var(--label-red)}.label-shelf:after{bottom:auto;aspect-ratio:16/9;background:linear-gradient(25deg,rgba(114,29,20,.17),transparent 48%)}.label-detail-layout{grid-template-columns:1fr;gap:28px;margin-top:42px}.label-detail-intro h3{font-size:2.8rem}.label-accordions summary{font-size:1.08rem;gap:14px;min-height:76px}.label-accordions details>div{padding:0 20px 24px 30px}.label-next{display:block;margin-top:32px;padding-top:24px}.label-next p{margin-bottom:16px}.label-product{grid-template-columns:1fr;gap:30px}.label-product h2{font-size:clamp(2.7rem,10vw,4.3rem)}.partner-paths{gap:4px 24px;padding-block:14px}.partner-paths a{font-size:.87rem;gap:8px}.contact-options .contact-sales a{font-size:1rem;min-height:44px}}
@media(prefers-reduced-motion:reduce){.label-accordions summary>b{transition:none}}

/* Private-label pack train. Both supplied cutouts share the same pack viewport. */
.label-train-feature{--train-pack-height:clamp(280px,30vw,400px);--train-pack-width:calc(var(--train-pack-height)*.77);--train-gap:clamp(22px,3vw,44px);padding-bottom:56px;background:#f5efe5}
.label-train-feature .label-heading{align-items:center;margin-bottom:46px}
.label-train-feature .label-intro{max-width:460px}
.label-train-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:18px;border-top:1px solid var(--label-line)}
.label-train-topline>p{font-size:1rem;line-height:1.5}
.label-train-topline strong{font-weight:600;color:var(--label-red)}
.label-train-controls{display:flex;align-items:center;gap:10px;flex:none}
.label-train-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #bfb0a0;border-radius:50%;background:transparent;font-size:1.3rem;line-height:1;transition:background .18s,color .18s}
.label-train-controls button:hover{background:var(--label-red);border-color:var(--label-red);color:white}
.label-train-hint{font-size:.8rem;color:var(--muted);margin-right:10px}
.label-train-viewport{position:relative;margin-inline:calc(-1*var(--gutter));padding:28px var(--gutter) 36px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;outline-offset:-6px}
.label-train-track,.label-train-group{display:flex;align-items:center;width:max-content}
.label-train-group{flex:none;gap:var(--train-gap);padding-right:var(--train-gap)}
.label-train-pack{display:block;flex:none;width:var(--train-pack-width);height:var(--train-pack-height);overflow:hidden;filter:drop-shadow(0 12px 7px #6b412218)}
.label-train-pack image{pointer-events:none}
.train-ready .label-train-viewport{overflow:hidden;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none}
.train-ready .label-train-track{will-change:transform}
.label-train-viewport.is-dragging{cursor:grabbing}
.label-train-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:26px;border-top:1px solid var(--label-line)}
.label-train-promise{font:600 clamp(1.65rem,2.5vw,2.7rem)/1.15 Barlow,sans-serif;letter-spacing:-.02em;margin-bottom:10px}
.label-train-promise em{font-style:normal;color:var(--label-red);white-space:nowrap}
.label-train-bottom .button{flex:none}
.label-train-feature .label-service-line{border-top:0;margin-top:26px;padding:0;color:var(--muted);font-size:.82rem;gap:12px 32px}
.reduce-motion .label-train-hint{display:none}
@media(max-width:800px){.label-train-feature{--train-pack-height:clamp(255px,43vw,340px);--train-gap:24px;padding-block:56px 40px}.label-train-feature .label-heading{gap:20px;margin-bottom:24px}.label-train-feature .label-intro p{margin-bottom:16px}.label-train-topline{gap:14px;padding-block:16px}.label-train-topline>p{font-size:.9rem;max-width:250px}.label-train-controls{gap:7px}.label-train-hint{display:none}.label-train-viewport{padding-top:22px;padding-bottom:30px}.label-train-bottom{display:block;padding-top:24px}.label-train-promise{font-size:1.9rem}.label-train-bottom .button{margin-top:22px}.label-train-feature .label-service-line{margin-top:28px;gap:10px;font-size:.8rem}}
@media(max-width:370px){.label-train-topline{align-items:start}.label-train-topline>p{max-width:158px}.label-train-controls{gap:4px}.label-train-promise{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){.label-train-hint{display:none}}
@media(max-width:800px){.label-train-promise em{display:block;margin-top:3px}.label-train-in-view .mobile-supply{transform:translateY(110px)}}

/* A continuous paper surface between the proof points and product chapters. */
.brand-facts + .label-train-feature{background:linear-gradient(180deg,var(--paper) 0%,#f6efe4 38%,#f6efe4 68%,var(--paper) 100%);border-top:1px solid var(--line)}
.label-train-feature + .chapter-story{border-top:1px solid var(--line)}

/* Supplied own-brand campaign: trim only the spare space above the packs. */
.label-shelf.label-brand-campaign{overflow:hidden;background:var(--deep-red)}
.label-brand-campaign img{margin-top:-8.5%;max-width:none}
.label-shelf.label-brand-campaign:after{inset:0;aspect-ratio:auto;background:linear-gradient(to top,rgba(255,248,237,.96) 0%,rgba(255,248,237,.88) 10%,rgba(255,248,237,.58) 18%,rgba(255,248,237,.16) 26%,transparent 34%)}
.label-shelf.label-brand-campaign figcaption{position:absolute;left:4%;bottom:5%;padding:0;color:var(--deep-red);text-shadow:none}
.label-brand-campaign figcaption span{font-size:clamp(.875rem,1.6vw,1.4rem)}
.label-brand-campaign figcaption strong{font-size:clamp(1.65rem,4vw,4.2rem);color:var(--deep-red);margin-top:5px;line-height:1.04}
.label-process{display:block;margin-top:64px}
.label-process .label-detail-intro{position:static;display:grid;grid-template-columns:.9fr 1.1fr;gap:14px 7vw;align-items:start;margin-bottom:38px}
.label-process .label-detail-intro>.eyebrow{grid-column:1/-1}
.label-process .label-detail-intro h3{grid-column:1;grid-row:2;margin:0}
.label-process .label-detail-intro>p:not(.eyebrow){grid-column:2;max-width:550px;margin:0}
.label-cards{padding-bottom:0;min-width:0}
.label-step{position:sticky;top:calc(var(--head) + 24px);display:grid;grid-template-columns:.9fr 1.1fr;column-gap:7vw;background:#fffaf2;border:1px solid #d9c7b4;box-shadow:0 -8px 20px #5b251307;padding:clamp(28px,2.7vw,42px);margin:0 0 32px;border-top:3px solid var(--label-red)}
.label-step:nth-child(2){top:calc(var(--head) + 36px);background:#f5ecdf}
.label-step:nth-child(3){top:calc(var(--head) + 48px);background:#fbf5eb}
.label-step:nth-child(4){top:calc(var(--head) + 60px);background:#771d17;color:#fff9ed;margin-bottom:0;border-color:#771d17}
.label-step-heading{display:flex;gap:26px;align-items:start;margin-bottom:0;grid-column:1;grid-row:1/3}
.label-step-heading>span{font:600 clamp(2.9rem,4vw,4.6rem)/1 Barlow,sans-serif;color:var(--label-red);letter-spacing:-.04em}
.label-step h4{font:600 clamp(1.8rem,2.8vw,3rem)/1.06 Barlow,sans-serif;letter-spacing:-.025em;margin:0;text-wrap:balance}
.label-step>p{grid-column:2;font-size:1.0625rem;line-height:1.65;color:var(--muted);max-width:650px}
.label-step-note{grid-column:2;display:block;border-top:1px solid #d9c7b4;padding-top:16px;margin-top:22px;font-size:.875rem;color:var(--label-red)}
.label-step:last-child .label-step-heading>span{color:#eac689}
.label-step:last-child>p,.label-step:last-child .label-step-note{color:#fff0dd}
.label-step:last-child .label-step-note{border-color:#ffffff38}
@media(max-width:800px){
 .label-process{margin-top:42px}
 .label-process .label-detail-intro{display:block;margin-bottom:28px}
 .label-process .label-detail-intro h3{margin:18px 0 24px}
 .label-process .label-detail-intro>p:not(.eyebrow){margin-bottom:16px}
 .label-step{display:block;padding:28px 24px;margin-bottom:28px;top:calc(var(--head) + 12px)}
 .label-step:nth-child(2){top:calc(var(--head) + 20px)}
 .label-step:nth-child(3){top:calc(var(--head) + 28px)}
 .label-step:nth-child(4){top:calc(var(--head) + 36px)}
 .label-step-heading{gap:20px;margin-bottom:22px}
 .label-step h4{font-size:clamp(1.65rem,6.7vw,2.6rem)}
 .label-step>p{font-size:1rem}
 .label-cards{padding-bottom:0}
}
@media(max-height:650px){.label-step,.label-process .label-detail-intro{position:relative;top:auto!important}}
@media(max-width:600px){.label-brand-campaign figcaption span{display:none}.label-brand-campaign figcaption strong{margin-top:0}}
.reduce-motion .label-step,.reduce-motion .label-process .label-detail-intro{position:relative;top:auto!important;box-shadow:none}
@media(prefers-reduced-motion:reduce){.label-step,.label-process .label-detail-intro{position:relative;top:auto!important;box-shadow:none}}
@media print{.label-step,.label-process .label-detail-intro{position:static;break-inside:avoid;box-shadow:none}}
