/* Reviron — website styles
   Type: Funnel Display (headlines) + Funnel Sans (text)
   Colour: mehendi green, lime and kokum plum. Photos are cut like a leaf: two round corners, two square. */
:root{
  --kokum:#2B1530; --kokum-2:#3C2142; --kokum-line:#4A3050;
  --mehendi:#5C6E1C; --mehendi-2:#4A5915;
  --lime:#C8DC5A; --lime-2:#D9E98A;
  --wash:#EFF2E1; --white:#FFFFFF; --line:#DEE1CF;
  --text:#2B1530; --muted:#6A6170; --soft:#BBA9BF;
  --leaf:0 140px 0 140px; --leaf-sm:0 64px 0 64px;
  --display:"Funnel Display",system-ui,sans-serif;
  --sans:"Funnel Sans",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--text);font:400 18px/1.55 var(--sans)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:600;letter-spacing:-.03em;line-height:1}
:focus-visible{outline:3px solid var(--mehendi);outline-offset:3px}
.wrap{max-width:1260px;margin:0 auto;padding:0 28px}
.sec{padding:120px 0}
.muted{color:var(--muted)}

.btn{display:inline-flex;align-items:center;min-height:54px;padding:0 26px;border-radius:14px;font:600 16px/1 var(--sans);text-decoration:none;border:0;cursor:pointer;transition:background .2s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn-kokum{background:var(--kokum);color:#fff}
.btn-kokum:hover{background:#1C0D20}
.btn-lime{background:var(--lime);color:var(--kokum)}
.btn-lime:hover{background:var(--lime-2)}
.btn-green{background:var(--mehendi);color:#fff}
.btn-green:hover{background:var(--mehendi-2)}
.tlink{font-weight:600;text-decoration:none;box-shadow:inset 0 -2px 0 var(--lime)}
.tlink:hover{box-shadow:inset 0 -2px 0 var(--mehendi)}

/* header */
.top{position:relative;z-index:5}
.top .wrap{display:flex;align-items:center;gap:30px;min-height:84px}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none;margin-right:auto}
.logo svg{width:36px;height:36px}
.logo span{font:600 28px/1 var(--display);letter-spacing:-.04em}
.top nav{display:flex;gap:26px}
.top nav a{text-decoration:none;font-size:16px;color:var(--muted)}
.top nav a:hover,.top nav a[aria-current]{color:var(--text)}
.top .call{font-weight:600;font-size:16px;text-decoration:none}
.top .btn{min-height:44px;padding:0 18px;font-size:15px;border-radius:12px}
@media (max-width:900px){.top nav,.top .call{display:none}}

/* hero */
.hero{padding:40px 0 90px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
.hero h1{font-size:clamp(50px,7vw,104px);margin-top:40px}
.hero .lede{font-size:20px;color:var(--muted);max-width:590px;margin-top:30px}
.hero .acts{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:36px}
.hero-pic{position:relative;padding-bottom:70px}
.hero-pic img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--leaf)}
.receipt{position:absolute;left:-64px;bottom:0;width:300px;background:#fff;padding:22px 22px 18px;box-shadow:0 24px 50px rgba(43,21,48,.18);font-size:14px;transform:rotate(-2.5deg)}
.receipt::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px;background:radial-gradient(circle at 6px 8px,transparent 5px,#fff 5.5px) 0 0/12px 8px repeat-x}
.receipt .rh{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed #CFC6D2;padding-bottom:10px;margin-bottom:8px}
.receipt .rh b{font:600 17px/1 var(--display)}
.receipt .rh small{color:var(--muted)}
.receipt ul{list-style:none;margin:0;padding:0}
.receipt li{display:flex;justify-content:space-between;gap:10px;padding:6px 0}
.receipt li span{color:var(--muted)}
.receipt li b{font-weight:600;text-align:right}
.receipt .ok{color:var(--mehendi)}
.receipt .tag{display:inline-block;margin-top:10px;font-size:12px;color:var(--muted)}
@media (max-width:900px){
  .hero{padding:10px 0 60px}
  .hero .wrap{grid-template-columns:1fr;gap:40px}
  .hero h1{margin-top:20px}
  .hero-pic{width:86%;margin-left:auto}
  .receipt{left:-14%;width:270px}
}

/* USP blocks */
.usp{background:var(--wash);padding:110px 0 130px}
.usp h2{font-size:clamp(40px,5.2vw,76px);max-width:900px}
.usp .intro{color:var(--muted);max-width:560px;margin-top:22px;font-size:19px}
.compare{display:grid;grid-template-columns:.75fr 1.6fr;gap:14px;margin-top:64px;align-items:stretch}
.basic{border:1.5px solid var(--line);background:var(--white);padding:34px;border-radius:24px;display:flex;flex-direction:column}
.basic .stop{margin-top:auto;padding-top:30px;color:var(--muted);font-size:16px}
.basic h3,.extra h3{font:600 15px/1.2 var(--sans);letter-spacing:0;color:var(--muted)}
.basic ul{list-style:none;margin:26px 0 0;padding:0}
.basic li{font:600 26px/1.2 var(--display);letter-spacing:-.02em;padding:16px 0;border-top:1px solid var(--line);color:#8C8492}
.extra{background:var(--kokum);color:#fff;padding:34px 38px 20px;border-radius:24px}
.extra h3{color:var(--soft)}
.extra ul{list-style:none;margin:22px 0 0;padding:0}
.extra li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--kokum-line)}
.extra li svg{width:34px;height:34px}
.extra b{display:block;font:600 24px/1.15 var(--display);letter-spacing:-.02em}
.extra span{display:block;color:#D8CCDB;font-size:16px;margin-top:6px;max-width:560px}
@media (max-width:900px){.usp{padding:70px 0 80px}.compare{grid-template-columns:1fr}.extra{padding:28px 22px 10px}}

/* proof demo: the counter poster flips to what a customer sees */
.proof .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.proof h2{font-size:clamp(40px,5vw,72px)}
.proof .txt p{color:var(--muted);margin-top:22px;max-width:500px}
.proof .txt .btn{margin-top:34px}
.stage{perspective:1400px;display:grid;place-items:center;min-height:560px;background:var(--wash);border-radius:var(--leaf)}
.card{position:relative;width:320px;height:440px;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,.7,.2,1)}
.card.flip{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;border-radius:18px;padding:26px;display:flex;flex-direction:column;box-shadow:0 24px 50px rgba(43,21,48,.16)}
.poster{background:var(--lime);color:var(--kokum)}
.poster .pl{display:flex;align-items:center;gap:8px;font:600 20px/1 var(--display);letter-spacing:-.03em}
.poster .pl svg{width:26px;height:26px}
.poster h4{font-size:30px;line-height:1.05;margin-top:22px}
.qr{width:150px;height:150px;margin:auto auto 0;background:#fff;padding:10px;border-radius:10px}
.poster small{display:block;text-align:center;margin-top:12px;font-weight:600;font-size:13px}
.verify{background:#fff;transform:rotateY(180deg)}
.verify .badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:#E6EDC6;color:var(--mehendi-2);font-weight:700;font-size:14px;padding:7px 12px;border-radius:99px}
.verify h4{font-size:28px;margin-top:20px}
.verify .kg{font:600 72px/1 var(--display);letter-spacing:-.04em;color:var(--mehendi);margin-top:26px}
.verify .kg small{font-size:22px;letter-spacing:0}
.verify p{color:var(--muted);font-size:15px}
.verify dl{margin:auto 0 0;display:grid;gap:10px;border-top:1px solid var(--line);padding-top:16px;font-size:14px}
.verify dl div{display:flex;justify-content:space-between}
.verify dt{color:var(--muted)}
.verify dd{margin:0;font-weight:600}
.example{position:absolute;top:22px;right:24px;font-size:12px;color:var(--muted)}
@media (max-width:900px){.proof .wrap{grid-template-columns:1fr;gap:40px}.stage{min-height:520px;border-radius:var(--leaf-sm)}}
@media (prefers-reduced-motion:reduce){.card{transition:none}}

/* steps */
.head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px;flex-wrap:wrap}
.head h2{font-size:clamp(40px,5vw,72px);max-width:720px}
.head p{color:var(--muted);max-width:420px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;border-top:2px solid var(--kokum)}
.steps li{counter-increment:s;padding:26px 26px 0 0}
.steps li+li{padding-left:26px;border-left:1px solid var(--line)}
.steps li::before{content:"0" counter(s);display:block;font:600 15px/1 var(--sans);color:var(--mehendi);margin-bottom:56px}
.steps h3{font-size:32px}
.steps p{color:var(--muted);font-size:16.5px;margin-top:12px}
@media (max-width:900px){.steps{grid-template-columns:1fr}.steps li,.steps li+li{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}.steps li::before{margin-bottom:18px}}

/* kitchens */
.kitchens{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:auto auto;gap:14px}
.k{position:relative;overflow:hidden;border-radius:var(--leaf-sm);background:var(--wash)}
.k img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.k.big{grid-row:span 2}
.k.big img{aspect-ratio:auto;min-height:100%}
.k figcaption{position:absolute;left:14px;bottom:14px;background:#fff;padding:10px 14px;border-radius:12px;font-size:15px;line-height:1.3}
.k figcaption b{display:block;font:600 18px/1.2 var(--display);letter-spacing:-.02em}
.k figcaption span{color:var(--muted);font-size:14px}
figure{margin:0}
@media (max-width:900px){.kitchens{grid-template-columns:1fr 1fr}.k.big{grid-column:span 2;grid-row:auto}.k.big img{aspect-ratio:4/3}}

/* journey */
.journey{background:var(--kokum);color:#fff;padding:120px 0}
.journey .head p{color:#D8CCDB}
.legs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;margin:0;padding:0}
.legs img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--leaf-sm)}
.legs .n{display:block;color:var(--lime);font-weight:600;font-size:15px;margin-top:22px}
.legs h3{font-size:30px;margin-top:10px}
.legs p{color:#D8CCDB;font-size:16px;margin-top:10px;max-width:360px}
@media (max-width:900px){.journey{padding:80px 0}.legs{grid-template-columns:1fr;gap:40px}.legs img{aspect-ratio:4/3}}

/* rules */
.rules{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rule{background:var(--wash);border-radius:24px;padding:40px}
.rule .big{font:600 clamp(84px,10vw,150px)/.85 var(--display);letter-spacing:-.05em;color:var(--mehendi)}
.rule .big small{font-size:.32em;letter-spacing:-.01em}
.rule h3{font:600 22px/1.3 var(--sans);letter-spacing:0;margin-top:22px;max-width:440px}
.rule p{color:var(--muted);margin-top:12px;max-width:460px}
@media (max-width:900px){.rules{grid-template-columns:1fr}.rule{padding:28px}}

/* app */
.app{padding:0 0 120px}
.app .box{background:var(--mehendi);color:#fff;border-radius:32px;padding:80px 64px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;overflow:hidden}
.app h2{font-size:clamp(40px,5vw,68px)}
.app .intro{color:#E5EBCB;margin-top:20px;max-width:460px}
.feat{list-style:none;margin:36px 0 0;padding:0}
.feat li{padding:16px 0;border-top:1px solid rgba(255,255,255,.22);display:grid;grid-template-columns:190px 1fr;gap:18px}
.feat b{font-weight:600}
.feat span{color:#E5EBCB;font-size:16px}
.phone-wrap{display:grid;place-items:center}
.phone{width:270px;background:#150A18;border-radius:42px;padding:11px;box-shadow:0 40px 80px rgba(0,0,0,.35);transform:rotate(4deg)}
.screen{background:#F6F7EF;border-radius:32px;overflow:hidden;color:var(--kokum);font-size:12px}
.s-head{background:var(--kokum);color:#fff;padding:30px 18px 20px}
.s-head small{opacity:.7;display:block}
.s-head b{font:600 21px/1.1 var(--display)}
.s-body{padding:14px;display:grid;gap:9px}
.s-btn{background:var(--lime);border-radius:14px;padding:15px;font-weight:700;font-size:14px;text-align:center}
.s-card{background:#fff;border-radius:14px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.s-card i{font-style:normal;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:99px;background:#E6EDC6;color:var(--mehendi-2);white-space:nowrap}
.s-card span{display:block;color:var(--muted);font-size:10.5px}
@media (max-width:900px){.app .box{grid-template-columns:1fr;padding:50px 22px;border-radius:24px}.feat li{grid-template-columns:1fr;gap:2px}}

/* enquiry */
.enq{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.enq h2{font-size:clamp(40px,5vw,72px)}
.enq-left p{color:var(--muted);margin-top:22px;max-width:420px}
.direct{margin-top:40px;display:grid;gap:20px}
.direct a{text-decoration:none}
.direct small{display:block;color:var(--muted);font-size:15px}
.direct b{font:600 clamp(26px,2.8vw,36px)/1.1 var(--display);letter-spacing:-.03em}
.direct a:hover b{color:var(--mehendi)}
.enq-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--wash);border-radius:var(--leaf-sm);padding:44px}
.enq-form label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;color:var(--muted)}
.enq-form .full{grid-column:1/-1}
.enq-form input{font:inherit;font-size:17px;font-weight:400;color:var(--kokum);background:#fff;border:1.5px solid #fff;border-radius:12px;padding:12px 14px;min-height:52px;width:100%}
.enq-form input:focus{outline:none;border-color:var(--mehendi)}
.unit{position:relative;display:block}
.unit input{padding-right:70px}
.unit b{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:500;color:var(--muted);font-size:15px}
.enq-form .btn{justify-self:start;margin-top:8px}
.enq-form .btn:disabled{opacity:.6;cursor:wait}
.enq-msg{font-size:16px;font-weight:600;min-height:1px}
.enq-msg.ok{color:var(--mehendi-2)}
.enq-msg.err{color:#B3261E}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:900px){.enq{grid-template-columns:1fr;gap:40px}.enq-form{grid-template-columns:1fr;padding:28px 20px}}

/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.faq-grid h2{font-size:clamp(38px,4.6vw,64px);position:sticky;top:30px;align-self:start}
.faqs details{border-top:1px solid var(--line)}
.faqs details:last-child{border-bottom:1px solid var(--line)}
.faqs summary{list-style:none;cursor:pointer;padding:24px 50px 24px 0;font:600 23px/1.2 var(--display);letter-spacing:-.02em;position:relative}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:"";position:absolute;right:4px;top:50%;width:18px;height:18px;margin-top:-9px;background:linear-gradient(var(--kokum),var(--kokum)) center/18px 2px no-repeat,linear-gradient(var(--kokum),var(--kokum)) center/2px 18px no-repeat;transition:transform .25s}
.faqs details[open] summary::after{transform:rotate(45deg)}
.faqs details p{color:var(--muted);padding:0 50px 26px 0;max-width:640px}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr;gap:28px}.faq-grid h2{position:static}.faqs summary{font-size:20px}}

/* footer */
.foot{background:var(--kokum);color:#fff;padding:90px 0 28px;overflow:hidden}
.foot-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.foot-top p{font:600 32px/1.1 var(--display);letter-spacing:-.03em;max-width:380px}
.foot h4{font:500 14px/1 var(--sans);letter-spacing:0;color:var(--soft);margin-bottom:14px}
.foot-top a,.foot-top span{display:block;text-decoration:none;color:#fff;font-size:16px;line-height:2}
.foot-top a:hover{color:var(--lime)}
.mega{font:600 clamp(110px,23vw,350px)/.8 var(--display);letter-spacing:-.06em;color:var(--lime);margin:90px 0 0;white-space:nowrap}
.foot-bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--kokum-line);margin-top:26px;padding-top:22px;font-size:14px;color:var(--soft)}
.foot-bar a{text-decoration:none}
@media (max-width:900px){.foot{padding:60px 0 24px}.foot-top{grid-template-columns:1fr;gap:28px}.mega{margin-top:60px}}

/* inner pages */
.phead{padding:30px 0 0}
.phead .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end}
.crumbs{font-size:15px;color:var(--muted);margin-bottom:22px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.phead h1{font-size:clamp(44px,6.2vw,92px)}
.phead .lede{font-size:20px;color:var(--muted);max-width:600px;margin-top:26px}
.phead .acts{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:34px}
.phead img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--leaf)}
.phead.plain .wrap{grid-template-columns:1fr}
@media (max-width:900px){.phead .wrap{grid-template-columns:1fr;gap:36px}.phead img{max-width:380px;aspect-ratio:4/3.6;margin-left:auto;border-radius:var(--leaf-sm)}}
.rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rule-grid .rule{padding:32px}
.rule-grid .big{font-size:clamp(60px,6.4vw,96px)}
@media (max-width:900px){.rule-grid{grid-template-columns:1fr}}
.signs{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.signs img{width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:var(--leaf)}
.signs h2{font-size:clamp(36px,4.4vw,60px)}
.signs ul{list-style:none;padding:0;margin:30px 0 0}
.signs li{padding:16px 0 16px 34px;border-top:1px solid var(--line);position:relative;font-size:19px}
.signs li::before{content:"";position:absolute;left:0;top:22px;width:16px;height:16px;border-radius:0 9px 0 9px;background:var(--mehendi)}
@media (max-width:900px){.signs{grid-template-columns:1fr;gap:34px}.signs img{max-width:420px;border-radius:var(--leaf-sm)}}
.prose{max-width:720px}
.prose h2{font-size:clamp(28px,3.2vw,42px);margin:54px 0 16px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--muted)}
.callout{margin-top:28px;background:var(--wash);border-radius:0 24px 0 24px;padding:20px 24px;color:var(--kokum);font-size:18px}
.fine{font-size:15px;color:var(--muted);margin-top:22px}
.ask{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--lime);border-radius:18px;padding:14px 14px 14px 28px;margin-top:50px;font-weight:600}
@media (max-width:600px){.kitchens{grid-template-columns:1fr}.k.big{grid-column:auto}.k img,.k.big img{aspect-ratio:4/3}}

/* USP (v2): our five additions, no comparisons */
.usp-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.usp-head{position:sticky;top:30px}
.usp-list{list-style:none;margin:0;padding:8px 36px;background:var(--kokum);color:#fff;border-radius:var(--leaf-sm)}
.usp-list li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:24px 0;border-top:1px solid var(--kokum-line)}
.usp-list li:first-child{border-top:0}
.usp-list svg{width:34px;height:34px}
.usp-list b{display:block;font:600 24px/1.15 var(--display);letter-spacing:-.02em}
.usp-list span{display:block;color:#D8CCDB;font-size:16px;margin-top:6px}
@media (max-width:900px){.usp-grid{grid-template-columns:1fr;gap:34px}.usp-head{position:static}.usp-list{padding:4px 20px}}

/* how it works (v2): one pickup as a time-stamped log */
.howto .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.howto h2{font-size:clamp(40px,5vw,72px)}
.howto-head p{color:var(--muted);margin-top:22px;max-width:440px}
.howto-head .btn{margin-top:32px}
.log{background:var(--wash);border-radius:28px;padding:30px 34px 14px;position:relative}
.log-top{display:flex;justify-content:space-between;font-size:14px;font-weight:600;color:var(--muted);padding-bottom:16px;border-bottom:2px solid var(--kokum)}
.log ol{list-style:none;margin:0;padding:0;position:relative}
.log ol::before{content:"";position:absolute;left:96px;top:30px;bottom:30px;width:2px;background:repeating-linear-gradient(var(--mehendi) 0 6px,transparent 6px 12px)}
.log li{display:grid;grid-template-columns:82px 1fr;gap:34px;padding:20px 0;position:relative}
.log li+li{border-top:1px solid var(--line)}
.log li::after{content:"";position:absolute;left:90px;top:27px;width:14px;height:14px;border-radius:0 8px 0 8px;background:var(--mehendi)}
.log li:last-child::after{background:var(--lime);box-shadow:0 0 0 3px var(--mehendi)}
.log time{font:600 15px/1.4 var(--sans);color:var(--mehendi-2);padding-top:2px}
.log b{display:block;font:600 22px/1.2 var(--display);letter-spacing:-.02em}
.log span{display:block;color:var(--muted);font-size:16px;margin-top:4px}
@media (max-width:900px){.howto .wrap{grid-template-columns:1fr;gap:40px}.log{padding:22px 18px 6px}.log li{grid-template-columns:72px 1fr;gap:26px}.log ol::before{left:84px}.log li::after{left:78px}}

/* 3D weigh scene (home). Pure CSS 3D; content stays in HTML for search engines. */
.weigh{background:radial-gradient(ellipse at 72% 60%,#4B2754 0,#2B1530 58%);color:#fff;overflow:hidden}
.weigh-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.weigh h2{font-size:clamp(40px,5vw,68px);max-width:560px}
.weigh-txt>p{color:#D8CCDB;max-width:520px;margin-top:22px}
.weigh-ctrl{display:grid;gap:16px;margin-top:34px;max-width:460px}
.weigh-ctrl label{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:600}
.weigh-ctrl output{color:var(--lime)}
.weigh-ctrl input[type=range]{width:100%;accent-color:var(--lime);height:32px}
.weigh-ctrl .btn{justify-self:start;background:var(--lime);color:var(--kokum)}
.weigh-ctrl .btn:hover{background:var(--lime-2)}
.snap-card{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;max-width:460px;background:#fff;color:var(--kokum);border-radius:14px;padding:16px 18px}
.snap-card[hidden]{display:none}
.snap-card b{display:block}.snap-card span{font-size:15px;color:var(--muted)}
.snap-card i{font-style:normal;font-size:13px;font-weight:600;color:var(--mehendi);background:var(--wash);padding:6px 10px;border-radius:99px;white-space:nowrap}
.scene{position:relative;height:560px;perspective:1200px;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.scene.grab{cursor:grabbing}
.rig{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(-18deg)}
.o3{position:absolute;left:50%;top:76%;transform-style:preserve-3d}
.glow{position:absolute;width:520px;height:520px;left:-260px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(200,220,90,.28) 0,rgba(200,220,90,.08) 38%,transparent 66%);transform:translateY(44px) rotateX(90deg)}
.plat{position:absolute;transform-style:preserve-3d}
.plat.top{width:290px;height:290px;left:-145px;top:-145px;transform:rotateX(90deg);border-radius:22px;background:radial-gradient(circle,rgba(0,0,0,.45) 0 30%,transparent 44%),linear-gradient(135deg,#3A2041,#1C0D20);box-shadow:inset 0 0 0 2px rgba(200,220,90,.55),inset 0 0 0 10px rgba(255,255,255,.03)}
.plat.front{width:290px;height:40px;left:-145px;top:0;transform:translateZ(145px);background:linear-gradient(180deg,#2A1530,#150917);border-top:2px solid rgba(200,220,90,.7);border-radius:0 0 14px 14px;display:flex;justify-content:space-between;align-items:center;padding:0 14px;font:600 11px/1 var(--sans);color:#BBA9BF}
.plat.side{width:290px;height:40px;left:-145px;top:0;background:#1B0C1F;border-top:2px solid rgba(200,220,90,.4)}
.plat.side.l{transform:rotateY(-90deg) translateZ(145px)}.plat.side.r{transform:rotateY(90deg) translateZ(145px)}
.lcd{color:var(--lime);font:600 12px/1 var(--sans);letter-spacing:.02em;text-shadow:0 0 10px rgba(200,220,90,.7)}
.lcd b{font-family:var(--display);font-size:20px;font-variant-numeric:tabular-nums}
.drum{position:absolute;left:0;top:0;transform-style:preserve-3d}
.drum i{position:absolute;display:block}
.f{height:250px;top:-250px;transform:rotateY(var(--a)) translateZ(96px);background:linear-gradient(180deg,rgba(255,255,255,.32) 0 2.5%,transparent 2.5% 33%,rgba(200,220,90,.55) 33% 34%,transparent 34% 66%,rgba(200,220,90,.55) 66% 67%,transparent 67% 97.5%,rgba(255,255,255,.32) 97.5%),rgba(255,255,255,calc(.05 + .32 * var(--hl,0)));border-left:1px solid rgba(255,255,255,.05)}
.oil{position:absolute;left:0;top:0;transform-style:preserve-3d;--fill:.2}
.o{height:calc(244px * var(--fill));top:calc(-244px * var(--fill) - 3px);transform:rotateY(var(--a)) translateZ(90px);background:linear-gradient(180deg,#FFD36B,#E59A1E 22%,#A8600C);filter:brightness(var(--sh,1))}
.surf{width:180px;height:180px;left:-90px;top:-90px;border-radius:50%;background:radial-gradient(circle at 40% 38%,#FFE29A,#E9A42C 55%,#B56C10);transform:translateY(calc(-244px * var(--fill) - 3px)) rotateX(90deg)}
.meniscus{width:192px;height:192px;left:-96px;top:-96px;border-radius:50%;border:2px solid rgba(255,226,154,.9);box-shadow:0 0 18px rgba(255,200,90,.55);transform:translateY(calc(-244px * var(--fill) - 4px)) rotateX(90deg)}
.l{height:70px;top:-170px;transform:rotateY(var(--a)) translateZ(97.5px);overflow:hidden;background:var(--lime);filter:brightness(var(--sh,1))}
.l span{position:absolute;top:0;height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--kokum)}
.l svg{width:22px;height:22px}.l b{font:600 18px/1 var(--display);letter-spacing:-.03em}.l small{font-size:9px;font-weight:600}
.lid{width:198px;height:198px;left:-99px;top:-99px;border-radius:50%;border:3px solid rgba(255,255,255,.55);box-shadow:0 0 22px rgba(255,255,255,.12);transform:translateY(-250px) rotateX(90deg)}
.flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;border-radius:24px}
.flash.go{animation:flash .5s ease-out}
@keyframes flash{0%{opacity:.85}100%{opacity:0}}
.hint{position:absolute;left:0;right:0;bottom:6px;text-align:center;font-size:14px;color:var(--soft)}
@media (max-width:900px){.weigh-grid{grid-template-columns:1fr;gap:10px}.scene{height:460px}.o3{transform:scale(.82)}}

/* Karnataka service area */
.cities{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.city{background:var(--wash);border-radius:0 48px 0 48px;padding:34px}
.city-top{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.city h2{font-size:clamp(32px,3.4vw,46px)}
.city-kn{font-size:20px;color:var(--mehendi);font-weight:600}
.city-status{margin-left:auto;font-size:14px;font-weight:600;background:#fff;border-radius:99px;padding:6px 12px}
.city p{color:var(--muted);margin-top:14px;max-width:520px}
@media (max-width:900px){.cities{grid-template-columns:1fr}.city{padding:26px}}

/* mobile menu */
.menu-btn{display:none;width:46px;height:46px;border:0;border-radius:12px;background:var(--wash);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}
.menu-btn i{display:block;width:20px;height:2px;background:var(--kokum);border-radius:2px;transition:transform .25s,opacity .2s}
.menu-btn[aria-expanded=true] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded=true] i:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{position:fixed;left:0;right:0;top:84px;bottom:0;z-index:20;background:var(--kokum);color:#fff;padding:22px 22px 30px;display:flex;flex-direction:column;overflow-y:auto;opacity:0;transform:translateY(-12px);transition:opacity .25s,transform .25s;perspective:900px}
.mnav[hidden]{display:none}
.mnav.open{opacity:1;transform:none}
.mnav nav{display:flex;flex-direction:column}
.mnav nav a{font:600 34px/1.1 var(--display);letter-spacing:-.03em;text-decoration:none;padding:14px 0;border-bottom:1px solid var(--kokum-line);transform-origin:top;transform:rotateX(-80deg);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s;transition-delay:calc(var(--i)*45ms)}
.mnav.open nav a{transform:none;opacity:1}
.mnav nav a[aria-current]{color:var(--lime)}
.mnav-acts{display:grid;gap:10px;margin-top:auto;padding-top:28px}
.mnav-acts .btn{justify-content:center}
body.menu-open{overflow:hidden}
@media (max-width:900px){.menu-btn{display:flex}.top .wrap{gap:12px;min-height:74px}.mnav{top:74px}.top .btn{min-height:42px;padding:0 14px;font-size:14px}}
@media (prefers-reduced-motion:reduce){.mnav,.mnav nav a{transition:none}}

/* 3D motion (only when motion is allowed; content is always in the page) */
.motion [data-tilt]{transition:transform .25s ease-out;transform-style:preserve-3d;will-change:transform}
.motion .hero-pic .receipt{animation:drop 1s cubic-bezier(.2,.8,.2,1) .3s both;transform-origin:top center}
@keyframes drop{from{transform:perspective(900px) rotateX(-70deg) rotate(-2.5deg);opacity:0}to{transform:rotate(-2.5deg);opacity:1}}
.motion .fold li{transform-origin:top;transform:perspective(800px) rotateX(-75deg);opacity:0;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s}
.motion .fold.in li{transform:none;opacity:1}
.motion .fold li:nth-child(2){transition-delay:.12s}.motion .fold li:nth-child(3){transition-delay:.24s}.motion .fold li:nth-child(4){transition-delay:.36s}.motion .fold li:nth-child(5){transition-delay:.48s}

/* phones: shorter home page with swipe rows */
@media (max-width:900px){
  .sec{padding:64px 0}
  .head{margin-bottom:28px;gap:14px}
  .head h2{font-size:clamp(34px,9vw,48px)}
  .hero{padding:6px 0 40px}
  .hero h1{font-size:clamp(40px,11vw,56px)}
  .hero .lede{font-size:18px;margin-top:20px}
  .hero-pic img{aspect-ratio:4/3.4}
  .hero-pic{padding-bottom:110px}
  .usp{padding:56px 0 60px}
  .usp h2{font-size:clamp(34px,9vw,46px)}
  .usp-grid{gap:22px}
  [data-flow]{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;padding:8px 22px 14px!important;margin:0 -22px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  [data-flow]::-webkit-scrollbar{display:none}
  [data-flow]>*{flex:0 0 78%;scroll-snap-align:center;transition:opacity .2s}
  .usp-list{background:none;border-radius:0}
  .usp-list li{background:var(--kokum);color:#fff;border-radius:0 40px 0 40px;border-top:0;padding:24px 20px;grid-template-columns:1fr;gap:12px;align-content:start}
  .usp-list li:first-child{border-top:0}
  .kitchens .k,.kitchens .k.big{grid-column:auto;grid-row:auto}
  .kitchens .k img,.kitchens .k.big img{aspect-ratio:4/5;min-height:0}
  .journey{padding:60px 0}
  .legs img{aspect-ratio:4/3.6}
  .legs h3{font-size:26px}
  .rule{padding:24px}
  .rule .big{font-size:72px}
  .app{padding:0 0 64px}
  .app .box{padding:40px 22px}
  .phone-wrap{display:none}
  .stage{min-height:460px}
  .card{width:280px;height:400px}
  .proof .wrap,.howto .wrap{gap:28px}
  .scene{height:400px}
  .faqs summary{font-size:18px}
}
@media (max-width:900px){
  .rules>*{flex-basis:84%}
  .feat{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
  .feat li{border:0;background:rgba(255,255,255,.1);border-radius:16px;padding:14px;display:block}
  .feat li b{display:block;font-size:15px}.feat li span{font-size:14px;margin-top:4px;display:block}
  .foot{padding:44px 0 20px}
  .foot-top{grid-template-columns:1fr 1fr!important;gap:22px 16px!important}
  .foot-top>div:first-child{grid-column:1/-1}
  .mega{display:none}
  .foot-bar{margin-top:28px;flex-wrap:wrap;gap:8px}
}
.mnav-acts .btn-kokum{background:#fff;color:var(--kokum)}
.mnav-acts .btn-kokum:hover{background:var(--wash)}
.l{backface-visibility:hidden}
@media (max-width:900px){.scene{height:470px}.o3{top:76%}.hint{top:0;bottom:auto}}
