/* Photo-first hero: real dishes invite the next transformation, then the user's
   own image takes their place. Red is reserved for the current primary action. */
.hero{padding-top:40px;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hero-copy{gap:20px}.hero-copy h1{font-size:clamp(32px,3.2vw,48px);line-height:1.08}
.hero .product-stage{align-self:center}.hero .style-picker{padding:18px}
.hero-upload{--upload-ink:#28201c;--upload-red:#ff252b;--upload-muted:#776c65;margin-top:4px;color:var(--upload-ink)}
.hero-upload-drop{position:relative;padding:22px 24px 14px;border-radius:24px;background:linear-gradient(120deg,#fff0e5,#fff8f2 65%,#fff);border:1px solid #f8e1d2;transition:border-color .2s,box-shadow .2s}
.hero-upload-drop:focus-within,.hero-upload-drop:hover{border-color:#ffb086;box-shadow:0 8px 28px #ff74200c}
.hero-upload-invitation{display:flex;align-items:center;gap:22px;margin:2px 0 24px}
.hero-photo-stack{flex:0 0 142px;position:relative;height:108px}
.hero-photo-stack img{position:absolute;top:3px;width:92px;height:96px;object-fit:cover;border:4px solid #fff;border-bottom-width:12px;border-radius:9px;box-shadow:0 5px 12px #552c181c;transition:transform .25s}
.hero-photo-stack img:nth-child(1){left:0;transform:rotate(-15deg)}
.hero-photo-stack img:nth-child(2){left:41px;transform:rotate(14deg)}
.hero-photo-stack img:nth-child(3){left:20px;top:0;transform:rotate(-3deg)}
.hero-upload-drop:hover .hero-photo-stack img:nth-child(1){transform:translateX(-4px) rotate(-18deg)}
.hero-upload-drop:hover .hero-photo-stack img:nth-child(2){transform:translateX(4px) rotate(18deg)}
.hero-photo-stack>span{position:absolute;bottom:0;right:0;display:grid;place-items:center;width:30px;height:30px;background:#fff;color:var(--upload-red);border:1px solid #f8d7c1;border-radius:50%;font-size:23px}
.hero-upload-copy>span{display:block;margin-bottom:7px;font-size:10px;letter-spacing:.1em;font-weight:800;color:#b94b24}
.hero-upload-copy strong{font-size:20px;line-height:1.25;letter-spacing:-.025em;display:block}
.hero-upload-copy p{font-size:12px;line-height:1.5;color:var(--upload-muted);margin:8px 0 0}
.hero-photo-choose{border:0;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;padding:14px 18px;border-radius:14px;background:var(--upload-red);color:#fff;font:inherit;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px #ff252b24;transition:background .2s,transform .2s}
.hero-photo-choose:hover{background:#e51c24;transform:translateY(-1px)}
.hero-upload-arrow{margin-left:auto;font-size:20px}.hero-photo-choose>svg{margin-right:auto;flex-shrink:0}
.hero-upload-format{margin:11px 0 0;color:var(--upload-muted);font-size:10px;line-height:1.5;text-align:center}
.hero-selected-photo{display:none;position:relative;margin-bottom:12px}.hero-selected-photo img{width:100%;height:205px;object-fit:contain;border-radius:14px;background:#ffffffb8}.hero-selected-photo img[hidden]{display:none}
.hero-selected-photo>span{display:block;margin-top:9px;font-size:11px;text-align:center;font-weight:700;color:#51423a}
.hero-upload-generate{display:none;width:100%;min-height:54px;margin-top:14px;font-size:15px}
.has-photo .hero-upload-invitation{display:none}.has-photo .hero-selected-photo{display:block}.has-photo .hero-upload-generate{display:flex;justify-content:center}
.has-photo .hero-photo-choose{min-height:40px;width:auto;margin:auto;background:white;color:var(--upload-ink);border:1px solid #eed6c7;padding:9px 18px;font-size:12px;box-shadow:none}
.has-photo .hero-photo-choose>svg,.has-photo .hero-upload-arrow,.has-photo .hero-upload-format{display:none}
.hero-upload button:disabled{opacity:.6;cursor:wait;transform:none}
.hero-upload-note{margin:14px auto 0;font-size:12px;line-height:1.6;text-align:center;color:#66584f}.hero-upload-note>span{font-size:10px;color:var(--upload-muted)}
.hero-upload-status{margin:10px 0 0;font-size:12px;line-height:1.5;color:#af3928;text-align:center}.hero-upload-status:empty{display:none}
.hero-upload-link{display:block;text-align:center;font-size:11px;color:#776c65;margin-top:9px;text-decoration:underline;text-underline-offset:3px}
.hero-upload button:focus-visible,.hero-upload a:focus-visible{outline:3px solid #ff8a00;outline-offset:4px}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:32px;padding-top:24px}.hero-copy{max-width:620px;margin:auto}.hero .product-stage{max-width:620px;width:100%;margin:auto}.hero-copy h1{font-size:36px}.hero-copy .lead{font-size:16px}}
@media(max-width:700px){
  .site-header .nav{grid-template-columns:80px minmax(0,1fr);gap:4px 12px}.site-header .brand{grid-row:1 / 3}.site-header .nav-links{display:contents}.site-header .nav-link{display:none}.site-header .nav-links .btn.primary{justify-self:end;min-height:40px;padding:0 14px;font-size:12px}:root{--site-header-height:72px}
  .hero-upload-drop{padding:20px 16px 12px}.hero-upload-invitation{gap:14px;margin-bottom:20px}.hero-photo-stack{flex-basis:112px;height:95px}.hero-photo-stack img{width:76px;height:82px}.hero-photo-stack img:nth-child(2){left:30px}.hero-photo-stack img:nth-child(3){left:15px}.hero-upload-copy strong{font-size:17px}.hero-upload-copy p{font-size:11px}.hero-upload-copy>span{font-size:9px}.hero-photo-choose{font-size:14px;padding:14px}
}
@media(max-width:350px){.hero-photo-stack{flex-basis:94px}.hero-upload-copy strong{font-size:15px}.hero-upload-invitation{gap:9px}.hero-photo-choose{font-size:12px}.hero-photo-stack>span{right:-2px}}
@media(prefers-reduced-motion:reduce){.hero-copy>*{animation:none!important}.hero-upload *{transition:none!important}}
