/* Mediterranean ingredients are real photographic layers assembled by scroll. */
.med-assembly{
 --med-progress:1;--med-sticky-top:148px;--med-available-height:calc(100svh - 172px);--med-stage-height:600px;
 position:relative;margin:12px 0 44px;
}
.med-assembly.med-enhanced{height:calc(var(--med-stage-height) + 140svh)}
.med-assembly-stage{
 --med-finish:1;--med-base-opacity:0;--med-plate-scale:1;--med-plate-turn:0deg;
 position:sticky;top:var(--med-sticky-top);isolation:isolate;display:grid;
 grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto auto;
 align-items:center;column-gap:18px;padding:30px 34px 25px;
 border:1px solid #9eb18780;border-radius:30px;overflow:clip;
 background:radial-gradient(ellipse at 70% 45%,#e1ecc7 0,#eef2e2 48%,#f7f6eb 95%);
 box-shadow:inset 0 1px #fffdf0,0 25px 50px #28482913;
}
.med-assembly-copy{position:relative;z-index:5;min-width:0;padding:12px 0 12px 8px}
.med-assembly-eyebrow{margin:0 0 20px;color:#6a784d;font:600 .75rem/1.5 'DM Sans',sans-serif;letter-spacing:.15em}
.mediterranean-section .med-assembly-copy h3{margin:0 0 20px;color:#234b37;font:400 clamp(2rem,3.5vw,3.5rem)/1.08 'Manrope',sans-serif;letter-spacing:-.055em}
.med-assembly-copy h3 em{font-family:Georgia,serif;font-weight:400;font-size:1.16em;line-height:1.14;color:#9f5237;letter-spacing:-.045em}
.med-assembly-intro{font-size:1rem;line-height:1.75;color:#566b48;max-width:330px;margin:0}
.med-assembly-phases{margin-top:27px;padding-top:20px;border-top:1px solid #87976e44;min-height:99px;max-width:330px}
.med-assembly-phase[hidden]{display:none}
.med-assembly-phase>strong{display:block;color:#294d36;font:500 1.0625rem/1.4 'Manrope',sans-serif;letter-spacing:-.02em}
.med-assembly-phase>p{font-size:.875rem;line-height:1.65;margin:7px 0 0;color:#63754e}
.med-enhanced .med-assembly-phase:not([hidden]){animation:med-phase-reveal .35s ease both}
.med-assembly-visual{
 position:relative;isolation:isolate;align-self:center;width:100%;height:min(560px,calc(var(--med-available-height) - 132px));
 min-height:270px;margin:0;perspective:1100px;
}
.med-plating-surface{position:absolute;left:50%;top:50%;width:88%;max-width:510px;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#d5e2bc8c,transparent 70%);pointer-events:none}
.med-dish-stack{position:absolute;left:50%;top:50%;width:min(89%,480px,calc(var(--med-available-height) - 120px));aspect-ratio:1;transform:translate(-50%,-50%) rotate(var(--med-plate-turn)) scale(var(--med-plate-scale));filter:drop-shadow(8px 19px 15px #5c62392b);will-change:transform}
.med-dish-stack>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;max-width:none;border:0;border-radius:0;box-shadow:none}
.med-dish-base{opacity:var(--med-base-opacity)}
.med-dish-finished{opacity:var(--med-finish)}
.med-floating-ingredients{position:absolute;inset:0;pointer-events:none}
.med-food-layer{
 --food-opacity:0;--food-label-opacity:0;--food-x:0px;--food-y:0px;--food-turn:0deg;--food-scale:1;
 position:absolute;left:50%;top:50%;width:44%;max-width:260px;aspect-ratio:1;
 transform:translate(-50%,-50%) translate3d(var(--food-x),var(--food-y),0) rotate(var(--food-turn)) scale(var(--food-scale));
 opacity:var(--food-opacity);will-change:transform,opacity;
}
.med-food-layer>img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 9px 6px #42513124);border:0;border-radius:0;box-shadow:none}
.med-food-layer[data-med-ingredient="oil"]{width:36%;max-width:215px;z-index:4}
.med-food-layer[data-med-ingredient^="herbs"]{z-index:3}
.med-food-label{position:absolute;left:50%;bottom:8%;transform:translateX(-50%);display:block;white-space:nowrap;padding:6px 11px;border:1px solid #bec9a971;border-radius:30px;background:#f8faeee8;color:#46623f;font-size:.75rem;line-height:1.4;opacity:var(--food-label-opacity)}
.med-oil-drop{position:absolute;left:65%;top:43%;width:3px;height:32px;border-radius:50%;transform:rotate(48deg) scaleY(var(--med-oil-flow,0));transform-origin:top;opacity:var(--med-oil-flow,0);background:linear-gradient(#bd962150,#b18c1c);pointer-events:none}
.med-assembly-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid #8fa57532}
.med-assembly-steps>li{position:relative;display:flex;flex-direction:column;gap:10px;margin:0;padding:0;font-size:.8125rem;line-height:1.4;color:#6c7e55;transition:color .3s}
.med-step-line{display:block;height:3px;border-radius:3px;background:#cdd9bc;position:relative;overflow:hidden}
.med-step-line::after{content:"";position:absolute;inset:0;background:#607e42;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.med-assembly-steps>.is-complete .med-step-line::after,.med-assembly-steps>.is-current .med-step-line::after{transform:scaleX(1)}
.med-assembly-steps>.is-current{color:#94482f;font-weight:500}
.med-assembly-steps>.is-current .med-step-line::after{background:#b46c46}
.mediterranean-section .med-copy-after-assembly{display:block;max-width:100%;margin-top:40px}
.med-copy-after-assembly .mediterranean-copy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.med-copy-after-assembly .mediterranean-copy>p{font-size:1rem;line-height:1.8;margin:0;padding-top:20px;border-top:1px solid #8da17454}
@keyframes med-phase-reveal{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(max-width:1100px){
 .med-assembly-stage{padding:27px 24px 22px;column-gap:8px}
 .med-assembly-copy{padding-left:0}.med-assembly-eyebrow{font-size:.6875rem;letter-spacing:.11em}
 .mediterranean-section .med-assembly-copy h3{font-size:2.6rem}
 .med-assembly-intro{font-size:.9375rem}.med-assembly-phases{margin-top:20px}
 .med-copy-after-assembly .mediterranean-copy{gap:22px}
}
@media(max-width:800px){
 .med-assembly-stage{grid-template-columns:minmax(0,1fr);padding:23px 20px 19px;border-radius:24px;gap:0}
 .med-assembly-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);column-gap:16px;align-items:center;padding:0}
 .med-assembly-eyebrow{grid-column:1/-1;margin-bottom:10px;font-size:.6875rem}
 .mediterranean-section .med-assembly-copy h3{font-size:clamp(1.7rem,5.5vw,2.4rem);margin:0;grid-column:1}
 .med-assembly-intro{display:none}
 .med-assembly-phases{grid-column:2;margin:0;padding:0 0 0 14px;border-top:0;border-left:1px solid #87976e44;min-height:0}
 .med-assembly-phase>strong{font-size:.9375rem;line-height:1.45}
 .med-assembly-phase>p{font-size:.8125rem;line-height:1.5;margin-top:6px}
 .med-assembly-visual{height:clamp(215px,calc(var(--med-available-height) - 212px),350px);min-height:0;margin-top:10px}
 .med-dish-stack{width:min(89%,310px,calc(var(--med-available-height) - 245px))}
 .med-food-layer{max-width:180px;width:46%}
 .med-food-layer[data-med-ingredient="oil"]{max-width:150px}
 .med-food-label{font-size:.625rem;padding:4px 8px}
 .med-assembly-steps{gap:10px;margin-top:7px;padding-top:14px}
 .med-assembly-steps>li{font-size:.6875rem;line-height:1.45;gap:8px}
 .med-copy-after-assembly .mediterranean-copy{grid-template-columns:1fr;gap:20px}
 .med-copy-after-assembly .mediterranean-copy>p{font-size:1rem;padding-top:20px}
}
@media(max-width:380px){
 .med-assembly-stage{padding:20px 14px 16px}.med-assembly-copy{column-gap:10px}
 .med-assembly-phases{padding-left:10px}
 .mediterranean-section .med-assembly-copy h3{font-size:1.6rem}
 .med-assembly-phase>strong{font-size:.8125rem}.med-assembly-phase>p{font-size:.75rem}
 .med-assembly-steps{gap:7px}
}
@media(prefers-reduced-motion:reduce),(max-height:480px){
 .med-assembly.med-enhanced{height:auto}
 .med-assembly-stage{position:relative;top:auto}
 .med-assembly-visual{height:320px;min-height:0}
 .med-dish-stack{width:min(89%,310px);transform:translate(-50%,-50%);will-change:auto}
 .med-dish-finished{opacity:1!important}.med-dish-base,.med-floating-ingredients{display:none}
 .med-assembly *{animation:none!important;transition:none!important}
}
