/* DishFlair showcase layer: richer color, depth and motion on top of site.css. Reduced-motion turns it calm. */
:root{--plum:#7B3A57;--plum-soft:#EBD3DD;--basil:#5D7B3A;--basil-soft:#DCE6CC}

/* hero: four drifting color blobs, line art, cursor spotlight, word-by-word headline */
.hero-card.x{background:radial-gradient(110% 90% at 88% 6%,var(--terra-hot) 0%,transparent 52%),radial-gradient(90% 90% at 0% 100%,var(--oxblood) 0%,transparent 62%),linear-gradient(135deg,#9A3F24 0%,var(--terra) 58%,#CB704B 100%)}
.hero-card.x::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(420px circle at var(--mx,70%) var(--my,30%),rgba(255,236,214,.22),transparent 60%)}
.blobs4{position:absolute;inset:-10%;z-index:-2;pointer-events:none;filter:blur(70px) saturate(1.2);overflow:hidden}
.blobs4 i{position:absolute;border-radius:50%;opacity:.7;animation:drift4 16s ease-in-out infinite alternate}
.blobs4 .b1{width:42%;height:60%;left:52%;top:-6%;background:var(--saffron);animation-duration:14s}
.blobs4 .b2{width:38%;height:55%;left:-6%;top:44%;background:var(--plum);animation-duration:19s;animation-delay:-4s}
.blobs4 .b3{width:30%;height:40%;left:30%;top:58%;background:var(--terra-hot);animation-duration:12s;animation-delay:-8s}
.blobs4 .b4{width:22%;height:32%;left:78%;top:60%;background:var(--oxblood);animation-duration:22s}
@keyframes drift4{0%{transform:translate(0,0) scale(1)}50%{transform:translate(6%,-8%) scale(1.15)}100%{transform:translate(-8%,6%) scale(.92)}}
.lines{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
[data-stagger] .w{display:inline-block;animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{transform:translateY(.45em);opacity:.0001}to{transform:none;opacity:1}}
.ready{display:flex;align-items:center;gap:12px;margin-top:22px;font-family:var(--display);font-weight:600;font-size:18px;color:rgba(255,248,238,.92);flex-wrap:wrap}
.rot{position:relative;display:inline-grid;height:44px;overflow:hidden;min-width:200px}
.rot .rw{display:inline-flex;align-items:center;gap:9px;background:var(--cream);color:var(--ink);padding:0 16px 0 12px;border-radius:12px;height:44px;font-size:18px;font-weight:700;letter-spacing:-.02em;box-shadow:0 10px 24px -12px rgba(0,0,0,.5);animation:flipIn .55s cubic-bezier(.2,1.4,.4,1) both;justify-self:start}
.rot .rw svg{width:22px;height:22px}
@keyframes flipIn{from{transform:translateY(110%) rotateX(-60deg)}to{transform:none}}
.trial-col{position:relative;min-width:0}
.orb{position:absolute;border-radius:50%;box-shadow:0 30px 60px -20px rgba(30,8,2,.7);z-index:2;pointer-events:none;transition:transform .25s ease-out;background-size:118%;background-position:center;animation:spinSlow 40s linear infinite}
@keyframes spinSlow{to{rotate:360deg}}
.orb.o1{width:104px;height:104px;left:-40px;top:-34px}
.orb.o2{width:74px;height:74px;right:-22px;top:42%}
.orb.o3{width:60px;height:60px;left:-26px;bottom:34%}
[data-tilt]{transition:transform .2s ease-out;transform-style:preserve-3d;position:relative;z-index:1}
.btn-shine{position:relative;overflow:hidden}
.btn-shine::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);animation:shine 3.2s ease-in-out infinite}
@keyframes shine{0%,60%{left:-60%}100%{left:130%}}
.magnet{transition:translate .2s ease-out,transform .2s ease,background .2s}
@media (max-width:480px){.orb.o1{left:-18px;top:-46px;width:64px;height:64px}.orb.o2{right:-14px;width:54px;height:54px;top:auto;bottom:-20px}.orb.o3{display:none}.rot{min-width:0}}

/* dark logo band, two rows */
.logo-band{background:var(--espresso);color:var(--cream);border-radius:var(--r-lg);max-width:1240px;margin:14px auto 0;position:relative;overflow:hidden;isolation:isolate;padding:64px 0;text-align:center}
.logo-band h2{font-size:clamp(28px,3.6vw,46px)}
.logo-band p.sub{color:rgba(255,248,238,.7);margin-top:10px}
.logo-band .marquee{margin-top:28px}
.logo-band .marquee+.marquee{margin-top:12px}
.logo-band .brand{background:var(--espresso-2);border-color:var(--espresso-3);color:var(--cream);height:68px}
.logo-band .brand svg{width:28px;height:28px}
.logo-band .brand img.wide{filter:brightness(0) invert(1);opacity:.9}
.marquee-track.rev{animation-direction:reverse;animation-duration:50s}

/* phones and generic platform screens */
.phone .screen{width:100%;height:100%;border-radius:36px;overflow:hidden;background:var(--cream);position:relative;color:var(--ink)}
.phone.x{width:300px;aspect-ratio:9/19.3;border-radius:46px;background:#141110;padding:11px;box-shadow:0 50px 90px -30px rgba(0,0,0,.8),inset 0 0 0 2px #2E2723;margin:0}
.island{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:92px;height:26px;border-radius:20px;background:#141110;z-index:3}
.mk{position:absolute;inset:0;background:#fff;color:#191919;font-family:-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:12px;display:flex;flex-direction:column;overflow:hidden;text-align:left;letter-spacing:0}
.mk b,.mk h6{font-family:inherit;letter-spacing:-.01em}
.mk-bar{display:flex;align-items:center;gap:7px;padding:44px 14px 10px;font-weight:700;font-size:13px}
.mk-bar svg{width:18px;height:18px}
.mk-bar .wm{font-weight:800;letter-spacing:-.03em}
.mk-bar .srch{margin-left:auto;width:26px;height:26px;border-radius:50%;background:#f1f1f1}
.mk-img{background-size:cover;background-position:center;position:relative;background-color:#f3ede4}
.mk-store{padding:10px 14px 6px}
.mk-store h6,.mk-store .h6{display:block;font-size:19px;margin:0;font-weight:800}
.mk-store small{color:#6b6b6b;font-size:11px}
.mk-sec{padding:6px 14px 4px;font-weight:800;font-size:14px}
.mk-row{display:flex;gap:10px;padding:9px 14px;border-bottom:1px solid #eee;align-items:center}
.mk-row .t{flex:1;min-width:0}
.mk-row .t b{display:block;font-size:13px}
.mk-row .t span{color:#6b6b6b;font-size:11px}
.mk-row .t em{font-style:normal;font-size:10.5px;font-weight:700}
.mk-row .th{width:84px;height:84px;border-radius:10px;flex:none}
.mk-add{position:absolute;right:5px;bottom:5px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);display:grid;place-items:center;font-weight:700;font-size:15px;color:#191919}
.mk-feat{display:flex;gap:9px;padding:4px 14px 10px;overflow:hidden}
.mk-card{flex:none;width:132px}
.mk-card .mk-img{width:132px;height:132px;border-radius:10px}
.mk-card b{display:block;font-size:12px;margin-top:6px}
.mk-card span{font-size:11px;color:#6b6b6b}
.mk-ig .mk-bar{justify-content:space-between}
.mk-igh{display:flex;align-items:center;gap:8px;padding:6px 12px;font-weight:700}
.mk-igh i{width:28px;height:28px;border-radius:50%;background:conic-gradient(#f9ce34,#ee2a7b,#6228d7,#f9ce34);padding:2px;display:block}
.mk-igh i::after{content:"";display:block;width:100%;height:100%;border-radius:50%;background:var(--terra);border:2px solid #fff;box-sizing:border-box}
.mk-igicons{display:flex;gap:12px;padding:9px 12px 4px;font-size:18px}
.mk-site{background:#FBF7F1}
.mk-site .nav2{display:flex;justify-content:space-between;align-items:center;padding:42px 14px 8px;font-weight:800;font-size:14px}
.mk-site .nav2 span{font-size:10px;font-weight:700;background:#191919;color:#fff;padding:5px 9px;border-radius:999px}
.mk-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 12px}
.mk-grid .g .mk-img{aspect-ratio:1;border-radius:10px}
.mk-grid .g b{display:block;font-size:11.5px;margin-top:5px}
.mk-grid .g span{font-size:10.5px;color:#6b6b6b}
.mk-cartbtn{margin:auto 12px 14px;padding:12px;border-radius:12px;color:#fff;font-weight:800;text-align:center;font-size:13px}

/* story: sticky phone that swaps screens as you scroll */
.story{padding-top:90px}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.sstep{min-height:52vh;display:flex;flex-direction:column;justify-content:center;gap:14px;opacity:.28;transition:opacity .5s}
.sstep.on{opacity:1}
.sstep .sl{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:15px;padding:7px 12px 7px 9px;border-radius:999px;background:var(--sand);border:1px solid var(--line);align-self:flex-start}
.sstep .sl svg{width:20px;height:20px}
.sstep h3{font-size:clamp(32px,4vw,52px)}
.sstep p{font-size:18px;color:var(--ink-2);max-width:26em}
.sstep .mini{display:none}
.story-stick{position:sticky;top:100px;height:calc(100vh - 140px);min-height:560px;display:grid;place-items:center}
.story-stage{position:relative;width:300px;height:640px;max-height:100%}
.story-glow{position:absolute;inset:-25%;border-radius:50%;background:radial-gradient(circle,var(--glow,rgba(181,83,47,.5)),transparent 62%);filter:blur(20px);transition:background .6s;z-index:0}
.story-stage .phone{position:relative;width:100%;height:100%;transform:rotate(-4deg);transition:transform .6s cubic-bezier(.2,.8,.2,1);z-index:1}
.story-stage .phone.flip{transform:rotate(3deg) scale(.97)}
.swap{position:absolute;inset:0;animation:swapIn .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes swapIn{from{transform:translateY(24px) scale(.98);opacity:.0001}to{transform:none;opacity:1}}
.story-dots{position:absolute;right:-28px;top:50%;transform:translateY(-50%);display:grid;gap:8px;z-index:2}
.story-dots i{width:8px;height:8px;border-radius:50%;background:var(--line);transition:all .3s}
.story-dots i.on{height:24px;border-radius:6px;background:var(--terra)}
@media (max-width:900px){.story-grid{grid-template-columns:1fr}.story-stick{display:none}.sstep{min-height:0;opacity:1;padding-block:26px}
  .sstep .mini{display:block;width:240px;height:500px;position:relative;margin:16px auto 0}
  .sstep .mini .phone{width:100%;height:100%;aspect-ratio:auto;border-radius:38px;padding:9px;background:#141110;transform:rotate(-3deg)}}

/* menu cart demo */
.menu-demo{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:clamp(28px,5vw,72px);border-radius:var(--r-lg);background:var(--linen)}
.menu-demo h2{font-size:clamp(32px,4.2vw,52px);margin-top:12px}
.menu-demo p.body{margin-top:16px;color:var(--ink-2);font-size:18px;max-width:28em}
.cards{display:grid;gap:12px;max-width:470px;width:100%;justify-self:center;min-width:0}
.mcard{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:center;background:var(--sand);border:1px solid rgba(220,207,190,.7);border-radius:20px;padding:10px 14px 10px 10px;transition:opacity .6s}
.mcard.dim{opacity:.45}
.mcard .mimg{width:96px;height:96px;border-radius:13px;background-size:cover;background-position:center}
.mcard h4{font-size:20px;letter-spacing:-.03em;font-weight:600}
.mcard .lines2{display:grid;gap:7px;margin:9px 0 10px}
.mcard .lines2 i{height:6px;border-radius:6px;background:var(--linen);display:block}
.mcard .lines2 i:last-child{width:62%}
.mcard .price{color:var(--ink-2);font-size:15px}
.mcard .add{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--page);color:var(--ink-2);font-weight:800;font-size:20px;transition:background .35s,color .35s,transform .35s}
.mcard.picked .add{background:var(--terra);color:var(--cream);transform:scale(1.06)}
.cartbar{display:flex;align-items:center;gap:14px;background:var(--espresso);color:var(--cream);border-radius:999px;padding:16px 16px 16px 24px;font-family:var(--display);font-weight:600;font-size:17px;margin-top:6px;transition:transform .35s}
.cartbar.bump{transform:scale(1.03)}
.cartbar svg{width:22px;height:22px}
.cartbar span{flex:1;text-align:center}
.cartbar b{width:30px;height:30px;border-radius:50%;background:var(--terra);display:grid;place-items:center;font-size:14px}
@media (max-width:900px){.menu-demo{grid-template-columns:1fr}}
@media (max-width:420px){.mcard{grid-template-columns:72px 1fr auto;gap:12px}.mcard .mimg{width:72px;height:72px}.mcard h4{font-size:17px}}

/* two feature cards: Google + Ordering Lab */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.duo .c{border-radius:var(--r-lg);padding:36px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;position:relative;overflow:hidden;text-decoration:none;isolation:isolate}
.duo .c h3{font-size:clamp(26px,2.6vw,34px)}
.duo .c p{margin-top:10px;font-size:16px}
.duo .g{background:var(--espresso);color:var(--cream)}
.duo .g p{color:rgba(255,248,238,.75)}
.duo .lab{background:linear-gradient(135deg,var(--saffron) 0%,var(--terra) 60%,var(--plum) 120%);color:var(--cream)}
.duo .lab p{color:rgba(255,248,238,.92)}
.round{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--ink);transition:transform .2s;z-index:2}
.duo .c:hover .round{transform:translateX(4px)}
.gmini{position:absolute;right:24px;bottom:24px;width:240px;background:#fff;border-radius:14px;padding:12px;box-shadow:0 20px 40px -20px rgba(80,30,10,.5);color:#202124;font-family:Arial,sans-serif;font-size:12px;transform:rotate(3deg)}
.gmini .im{height:90px;border-radius:8px;background-size:cover;background-position:center}
.gmini b{display:block;font-size:14px;margin-top:8px;color:#1a0dab;font-weight:500}
.stackph{position:absolute;right:18px;bottom:-40px;display:flex}
.stackph .phone{position:relative;width:118px;aspect-ratio:9/19.3;border-radius:22px;padding:5px;margin-left:-38px;background:#141110;box-shadow:0 30px 40px -20px rgba(0,0,0,.6)}
.stackph .phone:nth-child(1){transform:rotate(-12deg) translateY(20px)}
.stackph .phone:nth-child(2){transform:rotate(-2deg);z-index:2}
.stackph .phone:nth-child(3){transform:rotate(10deg) translateY(16px)}
.stackph .screen{border-radius:18px}
.stackph .stk{position:absolute;left:0;top:0;width:278px;height:597px;transform:scale(.388);transform-origin:top left}
@media (max-width:860px){.duo{grid-template-columns:1fr}.stackph{transform:scale(.8);transform-origin:bottom right}.gmini{width:180px}}

/* group chat */
.chat-sec{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.chat{background:#fff;border-radius:34px;padding:16px 14px 18px;max-width:400px;width:100%;justify-self:center;box-shadow:0 50px 90px -40px rgba(60,20,8,.55);font-family:-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:14.5px}
.chat-top{text-align:center;padding:6px 0 12px;border-bottom:1px solid #eee;margin-bottom:12px}
.chat-top .avs{display:flex;justify-content:center}
.chat-top .avs i{width:34px;height:34px;border-radius:50%;border:2px solid #fff;margin-left:-8px;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:700;font-size:13px}
.chat-top b{display:block;font-size:13px;margin-top:4px;color:#191919}
.chat-body{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;height:500px;overflow:hidden}
.msg{max-width:78%;padding:9px 13px;border-radius:19px;line-height:1.35;animation:msgIn .4s cubic-bezier(.2,1.3,.4,1) both;flex:none}
.msg.l{background:#E9E9EB;color:#111;align-self:flex-start;border-bottom-left-radius:6px}
.msg.r{background:#2F7CF6;color:#fff;align-self:flex-end;border-bottom-right-radius:6px}
.msg.img{padding:4px;background:transparent}
.msg.img .mk-img{width:200px;max-width:100%;aspect-ratio:4/3;border-radius:16px}
.msg .who{display:block;font-size:11px;color:#6d6d72;margin:0 0 2px 4px}
.msg.sys{align-self:center;background:transparent;color:#6d6d72;font-size:12px;max-width:100%;text-align:center}
.msg.sys b{color:var(--basil)}
.typing{align-self:flex-start;background:#E9E9EB;border-radius:19px;padding:12px 14px;display:flex;gap:4px}
.typing i{width:7px;height:7px;border-radius:50%;background:#8a8a8e;animation:dots 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dots{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}
@keyframes msgIn{from{transform:translateY(10px) scale(.92);opacity:.0001}to{transform:none;opacity:1}}
.react{position:relative}
.react::after{content:"❤️";position:absolute;right:-6px;top:-10px;font-size:14px;background:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.15);animation:pop .4s .4s both}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
@media (max-width:900px){.chat-sec{grid-template-columns:1fr}}

/* "big chains" photo card */
.photo-card{border-radius:var(--r-lg);overflow:hidden;position:relative;min-height:560px;background:radial-gradient(70% 90% at 70% 40%,#6B4A35 0%,transparent 70%),linear-gradient(160deg,#3B2A20 0%,var(--espresso) 60%,#4A3326 100%);color:var(--cream);isolation:isolate}
.photo-card .copy{position:absolute;left:40px;bottom:40px;max-width:420px;font-family:var(--display);font-weight:600;font-size:clamp(20px,2vw,24px);letter-spacing:-.025em;line-height:1.25;z-index:2}
.photo-card .glow{position:absolute;width:520px;height:520px;right:8%;top:6%;border-radius:50%;background:radial-gradient(circle,rgba(219,129,88,.45),transparent 65%);filter:blur(10px);z-index:-1}
.photo-card .phone{position:absolute;right:16%;top:60px;animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:rotate(-14deg) translateY(0)}50%{transform:rotate(-12deg) translateY(-14px)}}
@media (max-width:760px){.photo-card{min-height:620px}.photo-card .phone{width:230px;right:50%;margin-right:-115px;top:40px}.photo-card .copy{left:22px;right:22px;bottom:26px}}

/* final call to action */
.final-cta{margin-top:40px;background:linear-gradient(120deg,var(--oxblood),var(--terra-deep) 40%,var(--terra) 80%,var(--terra-hot));color:var(--cream);position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-lg);max-width:1240px;margin-left:auto;margin-right:auto}
.final-cta .in{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:420px;padding:56px clamp(22px,5vw,64px)}
.final-cta h2{font-size:clamp(38px,5vw,64px)}
.final-cta .phone{position:relative;justify-self:center;width:260px;margin-bottom:-170px;animation:float2 8s ease-in-out infinite}
@keyframes float2{0%,100%{transform:rotate(12deg) translateY(0)}50%{transform:rotate(10deg) translateY(-12px)}}
@media (max-width:860px){.final-cta .in{grid-template-columns:1fr;gap:40px}.final-cta .phone{width:210px;margin-bottom:-190px}}

/* processing: scan line + moving grid over the dish */
.scanning{overflow:hidden}
.scanning .gridfx{position:absolute;inset:0;pointer-events:none;z-index:3;background-image:linear-gradient(rgba(255,248,238,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,248,238,.18) 1px,transparent 1px);background-size:28px 28px;animation:gridmove 1.2s linear infinite}
@keyframes gridmove{to{background-position:28px 28px}}
.scanning .scan{position:absolute;top:0;bottom:0;width:130px;left:-130px;pointer-events:none;z-index:4;background:linear-gradient(90deg,transparent 40%,rgba(255,227,207,.55) 92%,var(--cream) 100%);mix-blend-mode:screen;animation:scanx 2.4s cubic-bezier(.45,0,.55,1) infinite}
.scanning .scan::after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--cream);box-shadow:0 0 24px 4px var(--terra-hot)}
@keyframes scanx{0%{left:-130px}100%{left:100%}}
.confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:300}

/* account: stat tiles and a chart */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.kpi{background:var(--sand);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;min-width:0;position:relative;overflow:hidden}
.kpi span{font-family:var(--display);font-weight:600;font-size:13px;color:var(--ink-2)}
.kpi b{display:block;font-family:var(--display);font-size:40px;letter-spacing:-.05em;line-height:1.1;margin-top:6px}
.kpi small{color:var(--ok);font-weight:600;font-size:12.5px}
.kpi.dark{background:var(--espresso);color:var(--cream);border-color:var(--espresso)}
.kpi.dark span{color:rgba(255,248,238,.65)}
.kpi.dark small{color:var(--terra-hot)}
.kpi.terra{background:linear-gradient(135deg,var(--terra),var(--oxblood));color:var(--cream);border:0}
.kpi.terra span,.kpi.terra small{color:rgba(255,248,238,.85)}
.chart{display:flex;align-items:flex-end;gap:12px;height:170px;padding-top:10px}
.chart .col{flex:1;display:grid;justify-items:center;gap:8px;height:100%;align-content:end}
.chart .col i{width:100%;max-width:44px;border-radius:10px 10px 4px 4px;background:var(--terra-soft);display:block;height:0;transition:height .9s cubic-bezier(.2,.8,.2,1)}
.chart .col.now i{background:var(--terra)}
.chart .col span{font-size:12px;color:var(--ink-2)}
.chart .col em{font-style:normal;font-family:var(--display);font-weight:600;font-size:13px}
@media (max-width:900px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Google page */
.dark-head{margin-top:14px;border-radius:var(--r-lg);background:radial-gradient(80% 100% at 90% 0%,var(--espresso-3),transparent 60%),var(--espresso);color:var(--cream);position:relative;overflow:hidden;isolation:isolate;padding:clamp(28px,5vw,64px)}
.dark-head h1{font-size:clamp(40px,5.6vw,76px);letter-spacing:-.045em;line-height:.98;max-width:12em}
.dark-head p.lead{margin-top:16px;font-size:19px;color:rgba(255,248,238,.78);max-width:32em}
.gwrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:30px}
.gflip{display:inline-grid;grid-template-columns:1fr 1fr;background:rgba(255,248,238,.12);border-radius:14px;padding:4px;position:relative}
.gflip button{border:0;background:transparent;color:var(--cream);padding:11px 18px;border-radius:11px;font-family:var(--display);font-weight:600;font-size:15px;cursor:pointer;position:relative;z-index:1;min-height:44px}
.gflip .knob2{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:11px;background:var(--terra);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.gflip[data-on="after"] .knob2{transform:translateX(100%)}
.serp{background:#fff;border-radius:22px;padding:18px;color:#202124;font-family:Arial,Helvetica,sans-serif;box-shadow:0 40px 80px -40px rgba(30,10,4,.55);min-width:0}
.serp-bar{display:flex;align-items:center;gap:10px;border:1px solid #dfe1e5;border-radius:24px;padding:10px 16px;font-size:15px}
.serp-bar svg{width:20px;height:20px;flex:none}
.serp-tabs{display:flex;gap:18px;font-size:13px;color:#5f6368;margin:12px 6px;border-bottom:1px solid #ebebeb;padding-bottom:8px}
.serp-tabs b{color:#1a73e8;font-weight:400;border-bottom:3px solid #1a73e8;padding-bottom:6px}
.listing{display:grid;grid-template-columns:1fr 104px;gap:12px;padding:12px 6px;border-top:1px solid #ebebeb;align-items:center}
.listing:first-child{border-top:0}
.listing h6,.listing .h6{display:block;font-size:16px;color:#1a0dab;font-weight:400;margin:0;font-family:Arial,sans-serif;letter-spacing:0}
.listing .meta{font-size:12.5px;color:#4d5156;margin-top:3px}
.listing .ph{width:104px;height:80px;border-radius:10px;background-size:cover;background-position:center;transition:filter .6s}
.listing.yours{background:linear-gradient(90deg,rgba(181,83,47,.1),transparent);border-radius:12px}
.listing.yours .h6{font-weight:700}
.listing.yours .ph.old{filter:saturate(.45) brightness(.78) contrast(.85) blur(.6px)}
.serp .cap{font-size:11px;color:#5f6368;text-align:center;margin-top:8px}
.facts3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:36px}
.facts3 div{border-radius:var(--r-md);padding:24px;background:var(--espresso-2);border:1px solid var(--espresso-3)}
.facts3 b{display:block;font-family:var(--display);font-size:40px;letter-spacing:-.05em;line-height:1;color:var(--terra-hot)}
.facts3 p{margin-top:10px;color:rgba(255,248,238,.78);font-size:15px}
.facts3 a{color:rgba(255,248,238,.6);font-size:12px}
.seo-gen{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;margin-top:30px}
.code{background:var(--espresso);color:#F3E6D8;border-radius:var(--r-md);padding:20px;font-family:ui-monospace,Menlo,monospace;font-size:13px;line-height:1.7;overflow-x:auto;min-width:0;position:relative}
.code .k{color:var(--terra-hot)}.code .s{color:#C9D9A8}.code .c{color:rgba(243,230,216,.55)}
.code .copy{position:absolute;top:12px;right:12px}
.out-row{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--line)}
.out-row:first-child{border-top:0;padding-top:0}
.out-row span{font-family:var(--display);font-weight:600;font-size:12.5px;color:var(--ink-2)}
.out-row code{font-family:ui-monospace,Menlo,monospace;font-size:14px;word-break:break-all;color:var(--terra-deep)}
.checkup{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:30px}
.qrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.qrow:first-child{border-top:0}
.qrow p{font-weight:500}
.yn{display:flex;gap:6px;flex:none}
.scorebox{display:grid;place-items:center;text-align:center;gap:10px;background:var(--espresso);color:var(--cream);border-radius:var(--r-md);padding:30px}
.ring2{width:180px;height:180px;position:relative}
.ring2 svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring2 circle{fill:none;stroke-width:14}
.ring2 .bg{stroke:var(--espresso-3)}
.ring2 .fg{stroke:var(--terra-hot);stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.2,.8,.2,1)}
.ring2 b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:54px;letter-spacing:-.05em}
.scorebox h3{font-size:22px}
.scorebox p{color:rgba(255,248,238,.75);font-size:14px;max-width:24em}
@media (max-width:900px){.gwrap,.seo-gen,.checkup{grid-template-columns:1fr}.facts3{grid-template-columns:1fr}}

/* Ordering Lab devices */
.lab-head{border-radius:var(--r-lg);position:relative;overflow:hidden;isolation:isolate;padding:clamp(28px,5vw,64px);color:var(--cream);background:linear-gradient(135deg,var(--plum) 0%,var(--oxblood) 45%,var(--terra) 100%)}
.lab-head h1{font-size:clamp(40px,5.8vw,78px);letter-spacing:-.045em;line-height:.97;max-width:12em}
.lab-head p.lead{margin-top:16px;font-size:19px;color:rgba(255,248,238,.85);max-width:34em}
.lab-src{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px;background:rgba(255,248,238,.12);border:1px solid rgba(255,248,238,.22);border-radius:18px;padding:12px;backdrop-filter:blur(10px)}
.lab-src .cur{width:84px;height:63px;border-radius:10px;background-size:cover;background-position:center;flex:none;box-shadow:0 8px 20px -8px rgba(0,0,0,.6)}
.lab-src .chip{background:rgba(255,248,238,.14);border-color:rgba(255,248,238,.3);color:var(--cream)}
.lab-src .chip[aria-pressed=true]{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.lab-src .chip[aria-pressed=true]::before{content:none}
.lab-up{position:relative;display:inline-flex;align-items:center;gap:8px;border:1.5px dashed rgba(255,248,238,.5);border-radius:12px;padding:0 14px;height:44px;cursor:pointer;font-family:var(--display);font-weight:600;font-size:14px}
.lab-up input{position:absolute;inset:0;opacity:0;cursor:pointer}
.lab-score{margin-left:auto;display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:16px}
.lab-score b{font-size:30px;letter-spacing:-.04em}
.lab{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.lt{background:var(--sand);border:1px solid var(--line);border-radius:22px;padding:16px;display:grid;gap:14px;align-content:start;min-width:0;position:relative;overflow:hidden}
.lt.wide{grid-column:span 2}.lt.full{grid-column:1/-1}
.lt-head{display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:-.02em;flex-wrap:wrap}
.lt-head svg{width:22px;height:22px}
.lt-head .pill{margin-left:auto}
.dev.ph{width:100%;max-width:220px;aspect-ratio:9/19.3;margin:0 auto;position:relative}
.dev.ph .phone{position:absolute;inset:0;width:100%;height:100%;border-radius:34px;padding:8px;background:#141110;margin:0}
.dev.ph .screen{border-radius:27px}
.dev.ph .stk{position:absolute;left:0;top:0;width:278px;height:597px;transform-origin:top left}
.lap-scr{border-radius:14px 14px 0 0;background:#141110;padding:10px 10px 0;box-shadow:0 30px 50px -30px rgba(0,0,0,.6)}
.lap-in{position:relative;aspect-ratio:16/10;border-radius:6px 6px 0 0;overflow:hidden;background:#fff}
.lap-base{height:14px;background:linear-gradient(#cfc6bb,#a99f93);border-radius:0 0 14px 14px;margin:0 -4%}
.chrome{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#efeae3;font-size:10px;color:#5f5a54;font-family:Arial,sans-serif}
.chrome i{width:8px;height:8px;border-radius:50%;background:#d9cfc3}
.chrome span{margin-left:8px;background:#fff;border-radius:6px;padding:3px 10px;flex:1;max-width:260px}
.webord{display:grid;grid-template-columns:1.3fr 1fr;height:calc(100% - 26px);font-family:Arial,sans-serif;color:#191919}
.webord .hero2{background-size:cover;background-position:center;position:relative}
.webord .hero2 b{position:absolute;left:14px;bottom:14px;color:#fff;font-size:22px;font-weight:800;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.webord .list{padding:12px;display:grid;gap:8px;align-content:start;background:#FBF7F1;overflow:hidden}
.webord .it{display:flex;gap:8px;align-items:center;background:#fff;border-radius:10px;padding:6px}
.webord .it i{width:44px;height:44px;border-radius:8px;background-size:cover;background-position:center;flex:none;display:block}
.webord .it b{font-size:11px;display:block}
.webord .it span{font-size:10px;color:#5f5a54}
.webord .go2{margin-top:4px;padding:9px;border-radius:9px;background:#B5532F;color:#fff;font-weight:800;text-align:center;font-size:11px}
.dev.kiosk{width:100%;max-width:210px;aspect-ratio:9/16;background:#141110;border-radius:18px;padding:9px;margin:0 auto;box-shadow:0 30px 50px -30px rgba(0,0,0,.6)}
.kio{position:relative;width:100%;height:100%;border-radius:10px;overflow:hidden;background:#fff;font-family:Arial,sans-serif;display:flex;flex-direction:column}
.kio .mk-img{height:55%}
.kio .k2{padding:12px;display:grid;gap:4px}
.kio b{font-size:18px;font-weight:800}
.kio .kbtn{margin:auto 12px 12px;padding:12px;border-radius:10px;background:var(--espresso);color:#fff;text-align:center;font-weight:800;font-size:13px}
.dev.tvd{width:100%;max-width:900px;aspect-ratio:16/9;background:#0c0a09;border-radius:12px;padding:10px;margin:0 auto;box-shadow:0 40px 60px -30px rgba(0,0,0,.7)}
.board{width:100%;height:100%;border-radius:4px;overflow:hidden;display:grid;grid-template-columns:1.25fr 1fr;background:#1A1310;color:#FFF1E2;font-family:var(--display)}
.board .mk-img{height:100%}
.board .menu2{padding:6% 7%;display:grid;align-content:center;gap:6%}
.board .menu2 h6,.board .menu2 .h6{display:block;font-size:clamp(14px,2.4vw,34px);letter-spacing:-.03em;color:var(--saffron);margin:0}
.board .menu2 div{display:flex;justify-content:space-between;gap:10px;font-size:clamp(10px,1.4vw,19px);font-weight:600;border-bottom:1px dashed rgba(255,241,226,.2);padding-bottom:4%}
.checks{display:grid;gap:6px}
.ck{display:flex;align-items:center;gap:8px;font-size:13px;opacity:0;transform:translateX(-8px);transition:opacity .35s,transform .35s;flex-wrap:wrap}
.ck.in{opacity:1;transform:none}
.ck i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;flex:none;font-style:normal;font-size:11px;font-weight:800;color:#fff;background:var(--basil)}
.ck.warn i{background:#9A6414}
.ck span{color:var(--ink-2)}
.ck b{font-weight:600}
.cropmap{position:relative;border-radius:14px;overflow:hidden;background:#000}
.cropmap canvas{width:100%;display:block}
.legend{display:flex;flex-wrap:wrap;gap:8px}
.legend span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
.legend i{width:12px;height:12px;border-radius:3px;display:block}
@media (max-width:1100px){.lab{grid-template-columns:repeat(2,minmax(0,1fr))}.lt.wide{grid-column:1/-1}}
@media (max-width:560px){.lab{grid-template-columns:1fr}.lab-score{margin-left:0}}

@media (prefers-reduced-motion:reduce){.orb,.photo-card .phone,.final-cta .phone{animation:none}.scanning .scan,.scanning .gridfx{animation:none}}

/* site-wide polish */
.btn-terra{background:linear-gradient(135deg,var(--terra) 0%,#C7653D 100%)}
.btn-terra:hover{background:linear-gradient(135deg,#9C4426 0%,var(--terra) 100%)}
.packs .pack::before{content:"";position:absolute;left:24px;right:24px;top:0;height:5px;border-radius:0 0 6px 6px}
.packs .pack:nth-child(1)::before{background:var(--saffron)}
.packs .pack:nth-child(3)::before{background:var(--basil)}
.packs .pack:nth-child(4)::before{background:var(--plum)}
.pack:hover{transform:translateY(-6px) rotate(-.4deg)}
.feat{position:relative;overflow:hidden}
.feat::after{content:"";position:absolute;inset:0;background:radial-gradient(300px circle at var(--fx,50%) var(--fy,0%),rgba(255,255,255,.35),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.feat:hover::after{opacity:1}
.step .n{transition:transform .35s cubic-bezier(.2,1.4,.4,1)}
.step:hover .n{transform:rotate(-8deg) scale(1.12)}
.step:nth-child(1) .n{background:var(--saffron-soft);color:#7A4E0F}
.step:nth-child(3) .n{background:var(--sage-soft);color:var(--basil)}
.step:nth-child(4) .n{background:var(--plum-soft);color:var(--plum)}
.rv.in{transition-delay:calc(var(--i,0) * 70ms)}
.hero .hero-card h1{text-shadow:0 2px 30px rgba(60,20,8,.18)}
.ph-card .im img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.ph-card:hover .im img{transform:scale(1.06)}
.next-card{position:relative;overflow:hidden;isolation:isolate}
.next-card::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-200px;border-radius:50%;background:radial-gradient(circle,rgba(227,162,59,.45),transparent 65%);z-index:-1;animation:drift4 14s ease-in-out infinite alternate}
.tool .ic{transition:transform .3s cubic-bezier(.2,1.4,.4,1)}
.tool:hover .ic{transform:rotate(-8deg) scale(1.1)}
.credits-pill .i{animation:coin 3s ease-in-out infinite}
@keyframes coin{0%,80%,100%{transform:none}90%{transform:rotateY(180deg)}}
@media (prefers-reduced-motion:reduce){.next-card::before,.credits-pill .i{animation:none}}

/* demo theater: cursor, clicks, typing */
.theater{position:relative}
.tcursor{position:absolute;left:0;top:0;width:26px;height:26px;z-index:20;pointer-events:none;transition:transform .7s cubic-bezier(.45,.05,.25,1);filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}
.tcursor svg{width:100%;height:100%;transition:transform .15s}
.tcursor.down svg{transform:scale(.82)}
.tripple{position:absolute;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;border:2px solid var(--terra);z-index:19;pointer-events:none;animation:ripple .6s ease-out forwards}
@keyframes ripple{from{opacity:1;scale:.3}to{opacity:0;scale:1.6}}
.tpress{transform:scale(.96)!important}
.tfocus{box-shadow:0 0 0 3px rgba(181,83,47,.35)!important;border-color:var(--terra)!important}
.tfocus::after{content:"▍";color:var(--terra);animation:pulse .8s infinite;margin-left:1px}
.sd-anchor{position:absolute;right:8%;bottom:6%;width:2px;height:2px}
.sdemo .win{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 60px 120px -50px rgba(60,20,8,.6),0 0 0 1px var(--line);max-width:1080px;margin:0 auto}
.win-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:#F3ECE2;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:700;font-size:14px}
.win-bar i{width:12px;height:12px;border-radius:50%;background:#E3A23B}.win-bar i:first-child{background:#E5604D}.win-bar i:nth-child(3){background:#5D9B4A}
.win-bar span{margin-left:10px;color:var(--ink-2)}
.win-body{display:grid;grid-template-columns:150px 1.4fr 1fr;gap:18px;padding:20px;position:relative;min-height:420px;background:var(--sand)}
.sd-desk{position:relative;border-radius:16px;background:repeating-linear-gradient(45deg,#EFE6D9,#EFE6D9 10px,#F4ECE1 10px,#F4ECE1 20px);display:grid;place-items:center}
.sd-file{display:grid;justify-items:center;gap:6px;font-size:11.5px;color:var(--ink-2);transition:transform .3s,opacity .3s}
.sd-thumb{width:84px;height:64px;border-radius:8px;background-size:cover;background-position:center;box-shadow:0 8px 20px -8px rgba(0,0,0,.4);border:3px solid #fff}
.dragging .sd-file{opacity:.4}
.loaded .sd-file{opacity:.25}
.sd-stage{position:relative;border-radius:16px;overflow:hidden;background:#fff;border:2px dashed var(--line);min-height:300px;--pos:100%}
.loaded .sd-stage{border-style:solid;border-color:transparent}
.dragging .sd-stage{border-color:var(--terra);background:var(--terra-soft)}
.sd-img{position:absolute;inset:0;background-size:cover;background-position:center}
.sd-before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.sd-hint{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;font-family:var(--display);font-weight:700;color:var(--ink-2);transition:opacity .3s}
.loaded .sd-hint{opacity:0}
.sd-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.3);opacity:0;transition:opacity .3s}
.done .sd-handle{opacity:1}
.sd-scan{position:absolute;inset:0;opacity:0;pointer-events:none;background-image:linear-gradient(rgba(255,248,238,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,248,238,.22) 1px,transparent 1px);background-size:26px 26px}
.working .sd-scan{opacity:1;animation:gridmove 1.2s linear infinite}
.working .sd-scan::after{content:"";position:absolute;top:0;bottom:0;width:120px;background:linear-gradient(90deg,transparent,rgba(255,227,207,.7));animation:scanx 1.3s cubic-bezier(.45,0,.55,1) infinite}
.sd-side{display:flex;flex-direction:column;gap:10px}
.sd-side label{font-family:var(--display);font-weight:600;font-size:13px;color:var(--ink-2);margin-top:4px}
.sd-input{min-height:44px;border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:11px 13px;font-size:15px;font-weight:600;transition:box-shadow .2s,border-color .2s}
.sd-chips{display:flex;gap:6px;flex-wrap:wrap}
.sd-chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-family:var(--display);font-weight:600;font-size:13px;transition:all .25s}
.sd-chip.on{background:var(--espresso);border-color:var(--espresso);color:var(--cream)}
.sd-chip.ok::after{content:" ✓";color:#9BD3A9}
.sd-go{margin-top:6px;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:14px;background:linear-gradient(135deg,var(--terra),#C7653D);color:var(--cream);font-family:var(--display);font-weight:700;transition:transform .15s}
.sd-status{font-family:var(--display);font-weight:600;font-size:14px;color:var(--ink-2);min-height:22px}
.done .sd-status{color:var(--ok)}
.sd-dl{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:14px;background:var(--linen);color:var(--ink-2);font-family:var(--display);font-weight:700;transition:background .3s,color .3s,transform .15s}
.done .sd-dl{background:var(--espresso);color:var(--cream)}
@media (max-width:860px){.win-body{grid-template-columns:1fr;min-height:0}.sd-desk{height:110px}.sd-stage{min-height:240px}}

/* Kitchen Link theater */
.kdemo{display:grid;place-items:center;min-height:620px}
.kphone{width:280px;position:relative}
.kscr{position:absolute;inset:0;padding:48px 16px 16px;display:flex;flex-direction:column;gap:8px;background:var(--sand);color:var(--ink);text-align:left}
.khead{display:flex;align-items:center;gap:9px}
.khead b{display:block;font-family:var(--display);font-size:15px}
.khead small{font-size:11.5px;color:var(--ink-2)}
.ksnap{aspect-ratio:1.15;border-radius:20px;background:linear-gradient(135deg,var(--terra),var(--oxblood)) center/cover;color:var(--cream);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:18px;transition:transform .15s;position:relative;overflow:hidden}
.ksnap span{display:grid;justify-items:center;gap:6px}
.ksnap .i{width:34px;height:34px}
.snapped .ksnap span{opacity:0}
.flash .ksnap::after{content:"";position:absolute;inset:0;background:#fff;animation:flash .3s ease-out}
@keyframes flash{from{opacity:1}to{opacity:0}}
.klabel{font-size:11.5px;font-weight:600;color:var(--ink-2);margin-top:2px}
.kscr .sd-input{min-height:38px;padding:8px 11px;font-size:14px}
.ktip{background:var(--saffron-soft);border-radius:10px;padding:8px 10px;font-size:11.5px}
.ksend{margin-top:auto;padding:12px;border-radius:13px;background:var(--espresso);color:var(--cream);text-align:center;font-family:var(--display);font-weight:700;transition:transform .15s}
.ksent{position:absolute;left:16px;right:16px;bottom:16px;padding:12px;border-radius:13px;background:var(--ok);color:#fff;font-family:var(--display);font-weight:700;display:flex;gap:8px;justify-content:center;align-items:center;transform:translateY(140%);transition:transform .45s cubic-bezier(.2,1.4,.4,1)}
.sent .ksent{transform:none}
.knote{position:absolute;right:-6%;top:12%;width:250px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:18px;padding:12px 14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);color:var(--ink);font-size:13px;display:grid;gap:8px;transform:translateY(-16px) scale(.9);opacity:0;transition:all .5s cubic-bezier(.2,1.3,.4,1)}
.notified .knote{transform:none;opacity:1}
.kn-top{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--ink-2);font-weight:600}
.kn-row{display:flex;align-items:center;gap:9px}
.kn-th{width:40px;height:40px;border-radius:8px;background-size:cover;background-position:center}
.kn-btn{margin-left:auto;background:var(--terra);color:var(--cream);border-radius:999px;padding:5px 10px;font-weight:700;font-size:12px}
@media (max-width:900px){.knote{right:0;top:-4%}}

/* Google search box */
.sd-q{flex:1;min-height:20px}
.sd-mag{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#4285F4;color:#fff}
.sd-mag .i{width:16px;height:16px}
.sd-crops{position:absolute;inset:0;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:10px;align-items:center;padding:14px;background:rgba(251,247,241,.9);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .4s}
.done .sd-crops{opacity:1}
.sd-crops>div{display:grid;gap:6px;transform:translateY(30px) scale(.9);opacity:0;transition:transform .55s cubic-bezier(.2,1.3,.4,1),opacity .4s}
.done .sd-crops>div{transform:none;opacity:1}
.done .sd-crops>div:nth-child(2){transition-delay:.12s}.done .sd-crops>div:nth-child(3){transition-delay:.24s}
.sd-crop{border-radius:10px;background-size:cover;background-position:center;box-shadow:0 14px 30px -14px rgba(0,0,0,.5);border:3px solid #fff}
.sd-crops span{font-family:var(--display);font-weight:700;font-size:11.5px;text-align:center;color:var(--ink)}
@media (max-width:560px){.sd-crops{grid-template-columns:1fr 1fr 1fr;padding:8px;gap:6px}.sd-crops span{font-size:9.5px}}

/* reserve space for parts that fill in after load, so nothing jumps */
.lab:empty{min-height:1500px}
@media (max-width:1100px){.lab:empty{min-height:2600px}}
@media (max-width:560px){.lab:empty{min-height:3900px}}
[data-auth-page]:empty{min-height:560px}
.sd-group{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin-top:2px}

/* logo band: identical tiles, one cream style */
.logo-band .tile{flex:none;width:210px;height:76px;display:flex;align-items:center;justify-content:center;gap:11px;border-radius:18px;background:var(--cream);border:1px solid rgba(255,248,238,.3);color:var(--espresso);padding:0 18px;box-shadow:0 14px 30px -18px rgba(0,0,0,.7)}
.logo-band .wmk{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.025em;white-space:nowrap}
.logo-band .lg-ic{width:26px;height:26px;flex:none}
.logo-band .lg-word{height:34px;width:auto;max-width:160px}
.logo-band .lg-img{height:30px;width:auto;max-width:150px}
@media (max-width:560px){.logo-band .tile{width:170px;height:64px}.logo-band .wmk{font-size:17px}}

/* group chat on its own stage */
.chat-stage{padding:30px 0}
.chat-band{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-lg);padding:clamp(28px,5vw,72px);color:var(--cream);background:radial-gradient(80% 120% at 100% 0%,#5A2A3E 0%,transparent 60%),radial-gradient(70% 90% at 0% 100%,#7A3418 0%,transparent 60%),var(--espresso)}
.chat-band .blobs4{opacity:.45}
.chat-band h2{font-size:clamp(36px,4.8vw,60px);margin-top:10px}
.chat-band .lead{font-size:19px;color:rgba(255,248,238,.8);margin-top:16px;max-width:26em}
.chat-phone-wrap{position:relative;display:grid;place-items:center;min-height:640px}
.chat-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(47,124,246,.35),rgba(219,129,88,.25) 45%,transparent 70%);filter:blur(30px);z-index:0}
.chat-phone{position:relative;z-index:1;width:320px;transform:rotate(3deg);animation:float3 8s ease-in-out infinite}
@keyframes float3{0%,100%{transform:rotate(3deg) translateY(0)}50%{transform:rotate(1.5deg) translateY(-12px)}}
.chat-phone .screen{background:#fff}
.chat-phone .chat{box-shadow:none;border-radius:0;max-width:none;height:100%;padding:44px 12px 14px;display:flex;flex-direction:column}
.chat-phone .chat-body{flex:1;height:auto;justify-content:flex-start;overflow:hidden;scroll-behavior:smooth}
.chat-phone .msg.img .mk-img{width:180px}
@media (max-width:900px){.chat-phone-wrap{min-height:600px}.chat-phone{width:290px}}
@media (prefers-reduced-motion:reduce){.chat-phone{animation:none}}
.lab-drop{position:relative;display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;margin-top:28px;padding:22px 24px;border:2.5px dashed rgba(255,248,238,.6);border-radius:22px;background:rgba(30,22,17,.22);cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.lab-drop:hover,.lab-drop.over{background:rgba(30,22,17,.36);border-color:var(--cream);transform:scale(1.01)}
.lab-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.lab-drop .ld-ic{width:64px;height:64px;border-radius:18px;background:var(--cream);color:var(--terra-deep);display:grid;place-items:center}
.lab-drop .ld-ic .i{width:30px;height:30px}
.lab-drop b{display:block;font-family:var(--display);font-size:clamp(19px,2.2vw,26px);letter-spacing:-.02em}
.lab-drop small{opacity:.85;font-size:14px}
.lab-src{margin-top:14px}
@media (max-width:700px){.lab-drop{grid-template-columns:52px 1fr}.lab-drop .ld-ic{width:52px;height:52px}.lab-drop .lab-score{grid-column:1/-1;margin:0}}
.lab-drop .lab-score{visibility:hidden}
.lab-drop.tested .lab-score{visibility:visible}

/* Menu Photo Checkup */
.checkup-card{min-height:560px;align-content:center}
.ck-progress{display:flex;align-items:center;gap:14px;font-family:var(--display);font-weight:600;font-size:14px;opacity:.9;max-width:560px}
.ck-progress .bar-anim{flex:1;background:rgba(255,248,238,.2)}
.ck-q{font-size:clamp(32px,4.6vw,58px);margin-top:28px;max-width:16em;min-height:2.1em}
.ck-q.in{animation:qIn .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes qIn{from{transform:translateX(30px);opacity:.0001}to{transform:none;opacity:1}}
.ck-yn{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.ck-btn{display:flex;align-items:center;gap:14px;min-width:180px;min-height:72px;padding:0 26px;border-radius:20px;border:0;cursor:pointer;font-family:var(--display);font-weight:800;font-size:26px;transition:transform .15s,box-shadow .2s}
.ck-btn kbd{margin-left:auto;font-family:var(--body);font-size:12px;font-weight:600;border-radius:7px;padding:3px 7px;background:rgba(0,0,0,.12)}
.ck-btn.yes{background:var(--cream);color:var(--ink)}
.ck-btn.no{background:rgba(30,22,17,.35);color:var(--cream);border:1.5px solid rgba(255,248,238,.4)}
.ck-btn:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}
.ck-btn.picked{transform:scale(.95)}
.ck-back{margin-top:22px}
.ck-gate{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center}
.ck-tease{display:grid;place-items:center;filter:blur(6px);opacity:.85}
.ck-tease .ring2 .bg{stroke:rgba(255,248,238,.18)}.ck-tease .ring2 .fg{stroke:var(--cream)}
.ck-form-wrap{color:var(--ink)}
.ck-result{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}
.ck-score{background:rgba(30,22,17,.4);backdrop-filter:blur(8px)}
.ck-fixes{display:grid;gap:10px;margin-top:16px}
.ck-fix{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;background:rgba(255,248,238,.1);border:1px solid rgba(255,248,238,.18);border-radius:16px;padding:14px;animation:rise .55s cubic-bezier(.2,.8,.2,1) both}
.ck-fix .n{width:40px;height:40px;border-radius:12px;background:var(--cream);color:var(--terra-deep);display:grid;place-items:center;font-family:var(--display);font-weight:800}
.ck-fix b{display:block;font-family:var(--display);font-size:18px;letter-spacing:-.01em}
.ck-fix small{display:flex;gap:6px;align-items:center;margin-top:4px;color:rgba(255,248,238,.85);font-size:14px}
.ck-fix small .i{width:15px;height:15px}
@media (max-width:860px){.ck-gate,.ck-result{grid-template-columns:1fr}.ck-tease{display:none}.ck-btn{min-width:0;flex:1}}
/* Kitchen Link add-on upsell */
.addon{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:linear-gradient(135deg,var(--espresso),#3B2230);color:var(--cream);border-radius:var(--r-lg);padding:28px;position:relative;overflow:hidden;isolation:isolate}
.addon::before{content:"";position:absolute;width:380px;height:380px;right:-100px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(227,162,59,.45),transparent 65%);z-index:-1}
.addon h2,.addon h3{font-size:26px}
.addon p{color:rgba(255,248,238,.8);margin-top:6px}
.addon .ticks li .i{color:#9BD3A9}
@media (max-width:700px){.addon{grid-template-columns:1fr}}

/* free trial: 1-2-3 stepper and photo-first layout */
.stepper{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 18px;counter-reset:s}
.stepper li{flex:1;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--sand);border:1px solid var(--line);font-family:var(--display);font-weight:700;font-size:15px;color:var(--ink-2);transition:all .3s}
.stepper li span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--linen);font-size:13px;flex:none}
.stepper li.on{background:var(--espresso);color:var(--cream);border-color:var(--espresso)}
.stepper li.on span{background:var(--terra);color:var(--cream)}
.stepper li.done{color:var(--ok)}
.stepper li.done span{background:var(--ok);color:#fff}
@media (max-width:560px){.stepper li{font-size:12.5px;padding:10px;gap:6px}.stepper li span{width:24px;height:24px}}
.try-drop{min-height:300px}
.try-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:start}
.try-preview{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:grid}
.try-preview img{width:100%;aspect-ratio:1;object-fit:cover}
.try-preview .pill{position:absolute;left:12px;top:12px}
.try-preview .link{padding:12px;text-align:center}
@media (max-width:860px){.try-split{grid-template-columns:1fr}.try-preview img{aspect-ratio:4/3}}
.lab-names{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.lab-names label{color:var(--cream)}
.lab-names .input{background:rgba(255,248,238,.95)}
.lab-gate{position:relative}
.lab-gate.locked .lab{filter:blur(10px) saturate(.6);opacity:.55;pointer-events:none;max-height:640px;overflow:hidden}
.lab-lock{display:none}
.lab-gate.locked .lab-lock{display:grid;place-items:center;position:absolute;inset:0;z-index:5}
.lab-lock>div{display:grid;justify-items:center;gap:12px;background:var(--sand);border:1px solid var(--line);border-radius:22px;padding:26px 30px;box-shadow:var(--shadow);text-align:center}
.lab-lock .i{width:34px;height:34px;color:var(--terra)}
.lab-lock b{font-family:var(--display);font-size:22px}
@media (max-width:560px){.lab-names{grid-template-columns:1fr}}
.ck-btn.unsure{background:transparent;color:var(--cream);border:1.5px dashed rgba(255,248,238,.55);font-size:22px}
.ck-unsure{display:grid;gap:12px;margin-top:26px;max-width:640px;animation:qIn .4s cubic-bezier(.2,.8,.2,1) both}
.ck-unsure.hide{display:none}
.ck-unsure b{font-family:var(--display);font-size:20px}
.ck-unsure .input{background:rgba(255,248,238,.95)}
.ck-crunch{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center}
.ck-radar{position:relative;display:grid;place-items:center}
.ck-radar .ring2 .bg{stroke:rgba(255,248,238,.18)}
.ck-radar .ring2 .fg{stroke:var(--cream)}
.spin-ring{transform-origin:100px 100px;animation:spinR 1.1s linear infinite}
@keyframes spinR{to{transform:rotate(360deg)}}
.ck-radar .ring2 b{font-size:40px}
.ck-menu{position:absolute;bottom:-18px;right:6%;width:120px;padding:10px;border-radius:14px;background:rgba(255,248,238,.95);display:grid;gap:6px;overflow:hidden;box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}
.ck-menu i{display:block;height:16px;border-radius:5px;background:linear-gradient(90deg,var(--terra-soft) 30%,var(--linen) 30%)}
.ck-scan{position:absolute;top:0;bottom:0;width:40px;left:-40px;background:linear-gradient(90deg,transparent,rgba(181,83,47,.4));animation:scanx 1.2s linear infinite}
.ck-ticks{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.ck-ticks li{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:600;font-size:18px;opacity:.4;transition:opacity .3s}
.ck-ticks li::before{content:"";width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,248,238,.5);flex:none;transition:all .3s}
.ck-ticks li.on{opacity:1}
.ck-ticks li.on::before{content:"✓";display:grid;place-items:center;background:var(--cream);color:var(--terra-deep);border-color:var(--cream);font-weight:800;font-size:14px;animation:pop .35s cubic-bezier(.3,1.6,.5,1) both}
@media (max-width:860px){.ck-crunch{grid-template-columns:1fr}.ck-radar{display:none}}
.addon-price{font-family:var(--display);font-weight:800;font-size:44px;letter-spacing:-.04em;line-height:1}
.addon-price small{font-size:15px;font-weight:600;opacity:.8;letter-spacing:0}

/* Mission Control */
.mc-tabs .chip{text-decoration:none}
.mc-health{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.mc-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.mc-funnel{display:grid;gap:10px}
.mc-f{display:grid;grid-template-columns:130px 1fr 44px;gap:10px;align-items:center;font-size:14px}
.mc-f b{text-align:right;font-family:var(--display)}
.mc-bar{height:14px;border-radius:8px;background:var(--linen);overflow:hidden}
.mc-bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--terra),var(--saffron));transform-origin:left;animation:growx .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes growx{from{transform:scaleX(0)}to{transform:none}}
.mc-mini{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.mc-mini div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center}
.mc-mini b{display:block;font-family:var(--display);font-size:26px;letter-spacing:-.03em}
.mc-mini span{font-size:12px;color:var(--ink-2)}
.mc-mini .bad{border-color:var(--err);background:var(--err-soft)}
.mc-mini .bad b{color:var(--err)}
.mc-feed{display:grid;max-height:440px;overflow:auto}
.mc-ev{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line);font-size:14.5px;animation:rise .4s both}
.mc-ev i{width:10px;height:10px;border-radius:50%;background:var(--ink-3)}
.mc-ev small{color:var(--ink-2);white-space:nowrap}
.ev-purchase i,.ev-kitchen_addon_on i{background:var(--ok)}
.ev-signup_complete i{background:var(--terra)}
.ev-checkup_lead i,.ev-trial_start i{background:var(--saffron)}
.mc-samples{display:grid;gap:12px}
.mc-s{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center}
.ba-mini{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.ba-mini img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.mc-s b{display:block;font-family:var(--display)}
@media (max-width:900px){.mc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.mc-mini{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media (max-width:360px){.chat-phone{width:min(290px,calc(100vw - 44px))}.chat-phone-wrap{overflow:hidden}}
/* phones: the floating dish sits at the top-right of the upload card, clear of the hero text */
@media (max-width:480px){.orb.o1{left:auto;right:-10px;top:-40px;width:60px;height:60px}}
