/* Retain the original photography and layer animation; make information the focus. */
.hero-content { padding-top:clamp(6.5rem,8vw,8rem); padding-bottom:2.8rem; }
.hero-description { max-width:630px; }
.hero-actions .button-dark { min-width:min(100%,390px); min-height:68px; font-size:1.05rem; }
/* One scroll-driven scene: the layers open and their nutrition follows. */
.transformation { height:320svh; min-height:2100px; }
.transformation-sticky { grid-template-columns:minmax(0,28%) minmax(0,72%); grid-template-rows:auto auto; align-content:center; column-gap:28px; row-gap:28px; min-height:0; padding:2.5rem clamp(1.25rem,4vw,5rem); }
.transformation-copy { grid-column:1; grid-row:1; padding:0; align-self:end; }
.transformation-copy .eyebrow { margin-bottom:1.2rem; font-size:.67rem; }
.transformation-copy h2 { font-size:clamp(2.5rem,3.5vw,4rem); letter-spacing:-.055em; }
.transformation-copy>p:not(.eyebrow) { margin:1rem 0 0; max-width:290px; font-size:.95rem; line-height:1.6; }
.transformation-visual { grid-column:2; grid-row:1/span 2; width:100%; height:82svh; max-height:780px; min-height:0; }
.stage-corner { display:none; }
.nutrition-inspector { grid-column:1; grid-row:2; z-index:8; min-width:0; align-self:start; }
.portion-total { padding-top:20px; border-top:1px solid var(--line); }
.portion-total>p { display:flex; flex-direction:column; gap:5px; font-size:.8rem; font-weight:600; margin:0 0 18px; }
.portion-total>p>span { color:#62695b; font-size:.68rem; font-weight:400; }
.portion-total dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; margin:0; }
.portion-total dt { font-size:.7rem; color:#62695b; }
.portion-total dd { margin:5px 0 0; font-size:1.2rem; font-weight:600; white-space:nowrap; }
.portion-total dl>div:first-child dd { color:#a04c2a; }
.nutrition-disclaimer { font-size:.67rem; line-height:1.6; color:#62695b; margin:18px 0 0; max-width:320px; }
.macro-legend { display:none; }
.ingredient-callouts { position:absolute; inset:0; z-index:6; pointer-events:none; }
.ingredient-callout { position:absolute; top:var(--label-y,50%); width:clamp(128px,12vw,175px); transform:translateY(-50%); opacity:var(--callout-opacity,1); }
.js-ready .ingredient-callout { opacity:var(--callout-opacity,0); }
.callout-left { left:0; text-align:left; }.callout-right { right:0; text-align:right; }
.ingredient-callout h3 { margin:0 0 5px; font:500 clamp(.9rem,1.25vw,1.2rem)/1.15 "Fraunces",Georgia,serif; letter-spacing:-.025em; }
.ingredient-callout>strong { font-size:1rem; color:#974421; }.ingredient-callout>strong>span { font-size:.68rem; font-weight:500; }
.ingredient-callout dl { display:flex; justify-content:space-between; gap:5px; margin:9px 0 0; padding-top:7px; border-top:1px solid var(--line); }
.ingredient-callout dt { font-size:.65rem; color:#62695b; }.ingredient-callout dd { margin:3px 0 0; font-size:.78rem; font-weight:600; }
.macro-short { display:none; }
.ingredient-arrows { position:absolute; inset:0; width:100%; height:100%; overflow:visible; z-index:5; pointer-events:none; }
.ingredient-arrows g { opacity:0; }.ingredient-arrows path { fill:none; stroke:#b36640; stroke-width:1; }.ingredient-arrows circle { fill:#b36640; }
.transformation-bottom { display:none; }
.ar-section { padding-top:5rem; padding-bottom:4rem; }
.ar-heading { margin-top:2.5rem; margin-bottom:2rem; }
.ar-heading h2 { font-size:clamp(3rem,5vw,5.5rem); }
.ar-scene { max-height:560px; }
.how-section { padding-top:4.5rem; padding-bottom:4.5rem; }
.how-heading { margin:2.5rem 0; }
.how-section h2 { font-size:clamp(3rem,4.8vw,5rem); }
.capture-photo { min-height:360px; }
.studio-preview-body { padding-top:1.6rem; padding-bottom:1.2rem; }
.studio-preview h3 { margin-bottom:1.3rem; }
.studio-field { padding:.85rem 0; }
.steps { margin-top:2.5rem; }
.step { min-height:230px; padding-bottom:2rem; }
.step-icon { height:4.8rem; font-size:3.4rem; }
.contact-section { min-height:0; padding-top:5rem; }
.contact-section .eyebrow { margin-bottom:2.5rem; }
.contact-section h2 { font-size:clamp(3.3rem,5.9vw,6.6rem); }
.contact-section>p:not(.eyebrow) { margin-bottom:2rem; }
.button-contact { text-decoration:none; min-height:76px; font-size:1.1rem; }
.contact-end { margin-top:3.5rem; }
@media(max-width:900px) {
 .hero-content { padding-top:2.5rem; padding-bottom:2rem; }
 .ar-section { padding-top:3.5rem; padding-bottom:3.5rem; }
 .ar-heading h2 { font-size:clamp(3rem,7vw,4.5rem); }
 .how-section { padding:3.5rem 1.4rem; }
 .how-section h2 { font-size:clamp(2.8rem,7vw,4.5rem); }
 .studio-preview-body { min-height:0; }
 .capture-photo { min-height:340px; }
 .step,.step:first-child,.step:last-child { min-height:0; padding:1.5rem 0; }
 .step-icon { display:none; }.step h3 { margin-top:1rem; }
 .contact-section { padding-top:3.5rem; }.contact-section h2 { font-size:clamp(3rem,8vw,5rem); }
}
@media(max-width:560px) {
 .hero h1 { font-size:clamp(3.3rem,13vw,4.6rem); }
 .hero-actions .button-dark { min-height:68px; font-size:1rem; }
 .hero-description { font-size:1rem; line-height:1.65; }
 .ar-section { padding:3rem 1.25rem; }.ar-heading { margin:2rem 0 1.5rem; }.ar-heading h2 { font-size:clamp(2.8rem,11vw,4rem); }.ar-note { font-size:.75rem; }
 .capture-photo { min-height:300px; }.studio-field { flex-direction:column; align-items:flex-start; gap:.4rem; }.studio-preview-body { min-height:0; padding:1.5rem 1rem; }
 .how-heading { gap:1.4rem; }.how-heading p { font-size:1rem; }.how-section h2 { font-size:clamp(2.7rem,10vw,3.7rem); }
 .button-contact { min-height:76px; font-size:1rem; }.contact-section h2 { font-size:clamp(2.8rem,10vw,4rem); }
}

@media(max-width:1100px) and (min-width:901px) { .transformation-sticky { column-gap:16px; }.ingredient-callout { width:125px; }.ingredient-callout dt { font-size:.6rem; } }
@media(max-width:900px) {
 .transformation { height:340svh; min-height:2000px; }
 .transformation-sticky { position:sticky; top:0; display:grid; height:100svh; min-height:0; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr) auto; align-content:stretch; padding:1.4rem; gap:1rem; overflow:hidden; }
 .transformation-copy { grid-column:1; grid-row:1; align-self:start; width:100%; }
 .transformation-copy .eyebrow { margin-bottom:.65rem; font-size:.6rem; }
 .transformation-copy h2 { font-size:2rem; }.transformation-copy h2 br { display:none; }.transformation-copy h2 em { margin-left:.16em; }
 .transformation-copy>p:not(.eyebrow) { max-width:none; font-size:.8rem; margin:.6rem 0 0; }
 .transformation-visual { grid-column:1; grid-row:2; height:100%; max-height:none; min-height:0; }
 .nutrition-inspector { grid-column:1; grid-row:3; width:100%; max-width:none; margin:0; }
 .portion-total { margin:0; padding-top:10px; }.portion-total>p { flex-direction:row; justify-content:space-between; margin-bottom:10px; font-size:.7rem; }.portion-total>p>span { font-size:.6rem; }
 .portion-total dl { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.portion-total dt { font-size:.6rem; }.portion-total dd { font-size:1rem; margin-top:3px; }
 .nutrition-disclaimer { max-width:none; font-size:.6rem; line-height:1.4; margin:9px 0 0; }
 .ingredient-callout { width:clamp(104px,20vw,160px); }.ingredient-callout h3 { font-size:1rem; }
 .ingredient-callout dt { font-size:.65rem; }.ingredient-callout dd { font-size:.78rem; }
}
@media(max-width:560px) {
 .transformation-sticky { padding:1.2rem 1rem; gap:.7rem; }.transformation-copy h2 { font-size:1.65rem; }.transformation-copy>p:not(.eyebrow) { font-size:.75rem; }
 .ingredient-callout { width:100px; }.ingredient-callout h3 { font-size:.82rem; margin-bottom:3px; }.ingredient-callout>strong { font-size:.85rem; }.ingredient-callout>strong>span { font-size:.6rem; }
 .ingredient-callout dl { gap:4px; padding-top:5px; margin-top:5px; }.ingredient-callout dl>div { display:flex; gap:3px; align-items:baseline; }.ingredient-callout dd { font-size:.58rem; margin:0; }.ingredient-callout dt { font-size:.55rem; }
 .macro-full { display:none; }.macro-short { display:inline; }.macro-legend { display:block; font-size:.55rem; color:#62695b; margin:8px 0 0; }
 .nutrition-disclaimer { font-size:.55rem; margin-top:5px; }.portion-total dt { font-size:.56rem; }.portion-total dd { font-size:.9rem; }
}
@media(max-height:600px) and (min-width:700px) {
 .transformation-sticky { display:grid; grid-template-columns:minmax(0,28%) minmax(0,72%); grid-template-rows:auto auto; align-content:center; gap:14px; padding:1rem; }
 .transformation-copy { grid-column:1; grid-row:1; }.transformation-copy h2 { font-size:1.7rem; }.transformation-copy h2 br { display:block; }.transformation-copy h2 em { margin-left:0; }.transformation-copy .eyebrow { font-size:.5rem; }.transformation-copy>p:not(.eyebrow) { font-size:.7rem; }
 .transformation-visual { grid-column:2; grid-row:1/span 2; height:86svh; }.nutrition-inspector { grid-column:1; grid-row:2; }.portion-total dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.portion-total>p { flex-direction:column; }.portion-total dd { font-size:.9rem; }.nutrition-disclaimer { font-size:.5rem; }
 .ingredient-callout { width:100px; }.ingredient-callout h3 { font-size:.8rem; }.ingredient-callout>strong { font-size:.8rem; }.ingredient-callout dt { font-size:.56rem; }.ingredient-callout dd { font-size:.65rem; }.ingredient-callout dl { margin-top:5px; padding-top:5px; }
}
@media(prefers-reduced-motion:reduce) {
 .transformation { height:auto; min-height:0; }.transformation-sticky { position:relative; height:auto; min-height:0; }.transformation-visual { height:650px; }.ingredient-callout { opacity:1; }
}
@media(prefers-reduced-motion:reduce) and (max-width:900px) { .transformation-sticky { grid-template-rows:auto 520px auto; }.transformation-visual { height:100%; } }

/* Promote animated layers only while their scene is near the viewport. */
.transformation-visual.is-story-active .assembly-stack,
.transformation-visual.is-story-active .assembly-part { will-change: transform; }
