/* SmartVisit premium layer. Load AFTER smartvisit-groundup.css (same colours, no PHP/SEO changes). */
:root{--cut:56px;--ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-behavior:smooth}
body{overflow-x:clip;text-rendering:optimizeLegibility}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--green-3);outline-offset:3px}

/* ---------- 1. TYPE: readable sizes, no forced line breaks ---------- */
.hero-copy h1{font-size:clamp(2.7rem,5.2vw,4.7rem);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.section-intro h2,.feature-copy h2,.final-cta h2,.network-copy h2{font-size:clamp(2.1rem,4.2vw,3.6rem);line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
.hero-copy h1 br,.section-intro h2 br,.feature-copy h2 br,.final-cta h2 br{display:none}
.section-intro p,.feature-copy>p,.final-cta p,.network-copy p{font-size:1.05rem;line-height:1.75}
.section-label{text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:700;display:inline-flex;align-items:center;gap:10px}
.section-label:before{content:'';width:26px;height:2px;background:currentColor;border-radius:2px;opacity:.7}
.steps b,.feature-list b,.service-list b,.feature-list-grid b,.network-steps b{font-size:1rem}
.steps span,.feature-list p,.service-list span,.feature-list-grid span,.network-steps small,.operations-grid p{font-size:.9rem;line-height:1.65}
.operations-grid h3{font-size:1.3rem}
.price-card li,.price-card p{font-size:.92rem}
/* micro text: nothing below ~12.5px */
.board-stats small,.proof-kicker,.hero-proof span,.desktop-download small,.mail-note,.mail-top,.journey small,.sheet-kpis small,.sheet-foot span,.quote-person small,.visitor-flow small,.visitor-flow span,.photo-tag,.laundry-summary div,.bill-meta,.bill-total,.whatsapp-note,.metric-card span,.top-days div,.chart-title small,.account-top,.account-kpis small,.account-note span,.network-log small,.network-log span,.service-order-strip span,.service-order-strip small,.service-badge small,.image-note span,.receipt-mini small,.receipt-mini span,.hero-foot,.email-foot,.mail-actions span,.cta-image span,.contact-links a,.footer-row nav a,.footer-row p,.lead-capture p,.price-top,.price-top small,.small-kicker,.voice-callout small,.revenue-bars>div,.demo-top,.demo-tab,.demo-sidebar span,.demo-hotel small,.demo-kpis small,.demo-kpis b,.demo-room small,.demo-room em,.demo-filters button,.demo-form label,.demo-item,.demo-note,.demo-analytics span,.mini-head,.demo-page-title,.demo-invoice small,.demo-invoice em{font-size:.8rem}
.sheet-row,.laundry-line,.visitor-table .row,.bill-document th,.bill-document td,.accounts-sheet th,.accounts-sheet td,.demo-invoice span{font-size:.8rem;overflow-wrap:anywhere}
.mail-title{font-size:.85rem}.email-card p{font-size:.92rem}.quote-grid blockquote{font-size:1.4rem}
.accounts-copy p{font-size:.95rem}
.accounts-sheet,.bill-document{overflow-x:auto}.accounts-sheet table{min-width:540px}
.demo-rooms{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}
.donut{position:relative}

/* ---------- 2. CONTRAST BUGS (text was invisible on these backgrounds) ---------- */
.dark-section .section-intro h2 em,.image-band .section-intro h2 em,.accounts-section .section-intro h2 em,.final-cta h2 em{color:#7fe0ad}
.network-section .section-label,.network-section .section-label.mint{color:var(--green)}
.dark-image-row .small-kicker{color:#72ce9d}
.dark-section .section-intro p,.accounts-section .section-intro p,.image-band .section-intro p{color:rgba(255,255,255,.72)}
.operations-grid p,.dark-image-row p,.service-list span,.accounts-copy p{color:rgba(255,255,255,.66)}

/* ---------- 3. SECTION EDGES: curves on light sections, slopes on dark ---------- */
.section{content-visibility:visible;contain-intrinsic-size:auto;position:relative;margin-top:calc(var(--cut)*-1);padding:calc(108px + var(--cut)) 0 calc(108px + var(--cut)*.5);border-radius:50% 50% 0 0/var(--cut) var(--cut) 0 0}
.email-section,.vendor-section,.analytics-section,.image-band{border-top:0;border-bottom:0}
.dark-section,.accounts-section,.image-band{border-radius:0;clip-path:polygon(0 var(--cut),100% 0,100% 100%,0 100%)}
.trust{padding-bottom:var(--cut)}
.hero{border-bottom:0;padding:132px 0 calc(72px + var(--cut)*.6);border-radius:0 0 50% 50%/0 0 var(--cut) var(--cut)}
.final-cta{margin-top:calc(var(--cut)*-1);padding-top:calc(88px + var(--cut));border-radius:50% 50% 0 0/var(--cut) var(--cut) 0 0;position:relative}
@media(max-width:620px){:root{--cut:32px}.section{padding-top:calc(76px + var(--cut));padding-bottom:calc(76px + var(--cut)*.5)}}

/* ---------- 4. HERO + IMAGES: correct crops, no overlap on faces ---------- */
.hero-photo{height:auto;aspect-ratio:5/4;max-height:640px}
.hero-photo img{object-position:14% 48%}
.hero-board{display:none}
.hero-proof{left:auto;right:-14px;top:28px}.hero-proof.second{right:-14px;top:128px}
@media(max-width:900px){.hero-proof,.hero-proof.second{left:auto;right:10px}}
@media(max-width:620px){.hero-photo{aspect-ratio:1/1;max-height:none}.hero-proof{width:104px}.hero-proof.second{top:112px}}
.email-card img{height:112px;object-fit:cover;object-position:center 35%}
.visitor-photo img{height:auto;aspect-ratio:4/3.4;object-position:20% 40%}
.dark-image-row img{height:100%;min-height:340px;object-position:50% 30%}
.service-photo img,.cta-image img{object-position:50% 25%}
.image-stage .tall{height:auto}
.photo-frame{background:var(--mint)}

/* Handcrafted logo + header */
.brand-mark{background:linear-gradient(145deg,#188257,#0b4f35);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 4px 10px rgba(15,106,71,.28)}
.brand-mark svg{width:22px;height:22px;stroke-width:1.8}
.site-header{backdrop-filter:blur(10px);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 8px 30px rgba(14,36,24,.08)}

/* Emoji icons replaced with drawn marks */
.op-icon{display:none}
.operations-grid article:before{content:'';display:block;width:30px;height:3px;background:var(--green-3);border-radius:3px;margin-bottom:18px}
.download-icon{font-size:0}
.download-icon:after{content:'';width:18px;height:12px;border:2px solid var(--green);border-radius:2px;box-shadow:0 5px 0 -2px var(--green)}
.voice-callout>span{font-size:0;width:28px;display:grid;place-items:center}
.voice-callout>span:after{content:'';width:10px;height:10px;border-radius:50%;background:#78dfad;box-shadow:0 0 0 5px rgba(120,223,162,.2),0 0 0 10px rgba(120,223,162,.08)}

/* Food-billing receipt (replaces the blurry thumbnail) */
.pos-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px 14px 0 0;padding:26px 26px 30px;box-shadow:0 24px 50px rgba(14,36,24,.12);max-width:400px;margin:0 auto 14px}
.pos-card:after{content:'';position:absolute;left:-1px;right:-1px;bottom:-10px;height:10px;background:linear-gradient(135deg,#fff 5px,transparent 0) 0 0/14px 10px,linear-gradient(225deg,#fff 5px,transparent 0) 0 0/14px 10px}
.pos-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed #cfd9d2;padding-bottom:12px;margin-bottom:6px}
.pos-head b{font:600 1.3rem var(--serif);color:var(--ink)}.pos-head span{font-size:.8rem;font-weight:700;color:var(--green)}
.pos-card ul{list-style:none;margin:0;padding:0}.pos-card li{display:flex;justify-content:space-between;padding:9px 0;font-size:.92rem;border-bottom:1px solid #eef2ef}
.pos-card li b{color:var(--ink)}
.pos-sum{display:flex;justify-content:space-between;padding:8px 0 0;font-size:.85rem;color:var(--muted)}
.pos-sum.total{font:600 1.15rem var(--serif);color:var(--ink);border-top:1px dashed #cfd9d2;margin-top:8px;padding-top:12px}

/* ---------- 5. MOTION: one hero sequence + calm scroll reveal ---------- */
@media(prefers-reduced-motion:no-preference){
.js .hero-copy>*{opacity:0;transform:translateY(18px);animation:rise .8s var(--ease) forwards}
.js .hero-copy>*:nth-child(2){animation-delay:.1s}.js .hero-copy>*:nth-child(3){animation-delay:.2s}.js .hero-copy>*:nth-child(4){animation-delay:.3s}.js .hero-copy>*:nth-child(5){animation-delay:.4s}.js .hero-copy>*:nth-child(6){animation-delay:.5s}
.js .hero-photo{animation:unveil 1.2s var(--ease) .15s both}
.js .hero-proof{animation:rise .8s var(--ease) .9s both}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes unveil{from{clip-path:inset(0 0 100% 0 round 18px)}to{clip-path:inset(0 0 0 0 round 18px)}}
[data-rv]{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease) var(--d,0ms),transform .7s var(--ease) var(--d,0ms)}
[data-rv].in{opacity:1;transform:none}
.visitor-photo[data-rv] img,.service-photo[data-rv] img{clip-path:inset(0 0 100% 0 round 14px);transition:clip-path 1s var(--ease) .1s}
.visitor-photo[data-rv].in img,.service-photo[data-rv].in img{clip-path:inset(0 0 0 0 round 14px)}
.revenue-bars em{transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease) .2s}
.revenue-bars.in em{transform:none}
.revenue-chart path:first-child{stroke-dasharray:1;stroke-dashoffset:1}
.chart-wrap.in .revenue-chart path:first-child{animation:draw 1.6s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.voice-callout>span:after{animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(120,223,162,.12),0 0 0 16px rgba(120,223,162,.04)}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-rv]{opacity:1!important;transform:none!important}}

/* ---------- FIX: numbered steps (description was falling into the 28px number column) ---------- */
.steps li{grid-template-columns:30px minmax(0,1fr);column-gap:16px;row-gap:4px;align-items:start}
.steps li::before{grid-column:1;grid-row:1/span 2}
.steps li>b{grid-column:2;grid-row:1;margin:0;padding-top:3px}
.steps li>span{grid-column:2;grid-row:2;font-size:.92rem;line-height:1.65}

/* ---------- FIX: food-billing receipt chip no longer covers the GST row ---------- */
.image-stage{padding-bottom:44px}
.image-note{left:12px;bottom:0}
@media(max-width:620px){.receipt-mini{right:0;top:-14px}.image-note{left:0}}
/* NAV: Blog + Book Demo ke liye jagah */
.desktop-nav{margin-left:24px}
.desktop-nav a{padding:8px 7px;font-size:.78rem}
@media(max-width:1380px){.nav-login{display:none}}
@media(max-width:1240px){
  .desktop-nav,.nav-login{display:none}
  .menu-btn{display:flex;margin-left:3px}
  .mobile-nav.open{display:block;background:#fff;border-top:1px solid var(--line);padding:10px 22px 18px;max-height:calc(100vh - 76px);overflow:auto}
  .mobile-nav>a{display:block;padding:10px 0;border-bottom:1px solid #edf1ed;font-size:.9rem;font-weight:700}
  .mobile-nav>div{display:flex;gap:8px;margin-top:12px}
  .mobile-login,.mobile-trial{flex:1;text-align:center;padding:11px;border-radius:7px;font-weight:800;font-size:.85rem}
  .mobile-login{border:1px solid var(--line)}
  .mobile-trial{background:var(--green);color:#fff}
}