/* Satbhog Elementor layer — native widgets, premium frontend styling. */
body.elementor-page .elementor { overflow:hidden; }
body.elementor-page .elementor-widget { margin:0; }
.sb-el-inner { width:var(--sb-width) !important; max-width:1240px !important; margin-inline:auto !important; }
.sb-el-section { padding:110px 0; background:var(--sb-ivory); }
.sb-el-section--tight { padding-block:78px; }
.sb-el-section--white { background:#fff; }
.sb-el-section--cream { background:#f7f2e7; }
.sb-el-section--dark { background:var(--sb-green); color:#fff; }
.sb-el-section--dark .elementor-heading-title,
.sb-el-section--dark .elementor-widget-text-editor { color:#fff; }

.sb-el-eyebrow .elementor-heading-title {
  display:flex; align-items:center; gap:10px; margin:0 0 14px;
  color:var(--sb-gold); font:800 12px/1.4 "Manrope",sans-serif;
  letter-spacing:.18em; text-transform:uppercase;
}
.sb-el-eyebrow .elementor-heading-title::before { content:""; width:28px; height:1px; flex:0 0 28px; background:currentColor; }
.sb-el-display .elementor-heading-title {
  margin:0; color:inherit; font:700 clamp(52px,7vw,100px)/.94 "PT Serif",Georgia,serif;
  letter-spacing:-.052em;
}
.sb-el-section-title .elementor-heading-title {
  margin:0; color:inherit; font:700 clamp(40px,4.5vw,66px)/1 "PT Serif",Georgia,serif;
  letter-spacing:-.035em;
}
.sb-el-lead { max-width:760px; }
.sb-el-lead .elementor-widget-container,
.sb-el-copy .elementor-widget-container { color:var(--sb-muted); font-size:17px; line-height:1.78; }
.sb-el-lead,.sb-el-copy { color:var(--sb-muted); font-size:17px; line-height:1.78; }
.sb-el-lead p,.sb-el-copy p { margin:18px 0 0; }
.sb-el-section--dark .sb-el-lead .elementor-widget-container,
.sb-el-section--dark .sb-el-copy .elementor-widget-container { color:rgba(255,255,255,.74); }
.sb-el-section--dark .sb-el-lead,.sb-el-section--dark .sb-el-copy { color:rgba(255,255,255,.74); }

.sb-el-button { width:max-content !important; }
.sb-el-button .elementor-button {
  position:relative; overflow:hidden; min-height:52px; display:inline-flex; align-items:center; justify-content:center;
  padding:0 24px; border:1px solid transparent; border-radius:999px; font:800 14px/1 "Manrope",sans-serif;
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, background .25s ease, color .25s ease;
}
.sb-el-button .elementor-button:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(20,57,47,.17); }
.sb-el-button--gold .elementor-button { background:var(--sb-gold); color:var(--sb-green-deep); }
.sb-el-button--green .elementor-button { background:var(--sb-green); color:#fff; }
.sb-el-button--outline .elementor-button { background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.sb-el-button--link .elementor-button { min-height:0; padding:12px 0; border-radius:0; color:var(--sb-green); background:transparent; }
.sb-el-button-row { display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:12px; margin-top:28px; }

/* Hero */
.sb-el-hero {
  min-height:100svh; position:relative; justify-content:flex-end; overflow:hidden; padding:150px 0 72px;
  color:#fff; background-color:var(--sb-green-deep); background-image:url('../images/hero-paddy-field.webp');
  background-size:cover; background-position:calc(50% + var(--sb-hero-x,0px)) calc(50% + var(--sb-hero-y,0px) + var(--sb-hero-scroll,0px));
  animation:sbElHeroBreath 14s ease-in-out infinite alternate;
}
.sb-el-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,42,33,.94),rgba(12,42,33,.63) 52%,rgba(12,42,33,.27)); pointer-events:none; }
.sb-el-hero::after { content:""; position:absolute; inset:auto 0 0; height:230px; background:linear-gradient(transparent,rgba(10,36,29,.45)); pointer-events:none; }
.sb-el-hero > .sb-el-inner { position:relative; z-index:2; }
.sb-el-hero-grid { display:grid !important; grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr); gap:56px; align-items:end; }
.sb-el-hero-copy { gap:0; }
.sb-el-hero-copy .sb-el-lead { max-width:660px; }
.sb-el-hero-copy .sb-el-lead .elementor-widget-container { color:rgba(255,255,255,.8); font-size:18px; }
.sb-el-hero-copy .sb-el-lead { color:rgba(255,255,255,.8); font-size:18px; }
.sb-el-badges { flex-wrap:wrap !important; gap:10px; margin-top:26px; }
.sb-el-pill { width:auto !important; }
.sb-el-pill .elementor-widget-container { padding:9px 13px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.1); color:#fff; font-size:11px; font-weight:800; backdrop-filter:blur(10px); }
.sb-el-pill { padding:9px 13px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.1); color:#fff; font-size:11px; font-weight:800; backdrop-filter:blur(10px); }
.sb-el-pill p { margin:0; }
.sb-el-hero-card { padding:28px; border:1px solid rgba(255,255,255,.18); border-radius:28px; background:rgba(255,255,255,.1); backdrop-filter:blur(18px); box-shadow:var(--sb-shadow); gap:12px; transition:transform .45s cubic-bezier(.22,1,.36,1), border-color .3s ease; }
.sb-el-hero-card:hover { transform:translateY(-7px); border-color:rgba(200,169,81,.48); }
.sb-el-hero-card::before { content:""; position:absolute; inset:-70% -35%; z-index:-1; background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.12) 50%,transparent 60%); transform:translateX(-52%) rotate(8deg); animation:sbElHeroSheen 7s ease-in-out 1.8s infinite; pointer-events:none; }
.sb-el-card-heading .elementor-heading-title { margin:0; color:#fff; font:700 30px/1.07 "PT Serif",Georgia,serif; }
.sb-el-hero-card .sb-el-copy .elementor-widget-container { color:rgba(255,255,255,.75); font-size:14px; }
.sb-el-hero-card .sb-el-copy { color:rgba(255,255,255,.75); font-size:14px; }
.sb-el-market-grid { display:grid !important; grid-template-columns:1fr 1fr; gap:10px; }
.sb-el-market-card { position:relative; min-height:170px; justify-content:flex-end; overflow:hidden; padding:15px; border:1px solid rgba(255,255,255,.13); border-radius:18px; isolation:isolate; }
.sb-el-market-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(transparent 25%,rgba(10,36,29,.88)); }
.sb-el-market-card .elementor-widget-image { position:absolute; inset:0; z-index:-2; height:100%; }
.sb-el-market-card .elementor-widget-image .elementor-widget-container,.sb-el-market-card img { width:100%; height:100%; object-fit:cover; }
.sb-el-market-kicker .elementor-heading-title { color:rgba(255,255,255,.6); font:700 10px/1.2 "Manrope",sans-serif; letter-spacing:.12em; }
.sb-el-market-title .elementor-heading-title { color:#fff; font:800 13px/1.3 "Manrope",sans-serif; }
.sb-el-check-list ul { list-style:none; padding:0; margin:0; display:grid; gap:9px; }
.sb-el-check-list li { position:relative; padding-left:18px; color:rgba(255,255,255,.82); font-size:13px; }
.sb-el-check-list li::before { content:""; position:absolute; left:0; top:.65em; width:7px; height:7px; border-radius:50%; background:var(--sb-gold); box-shadow:0 0 0 4px rgba(200,169,81,.14); }

/* Shared sections and cards */
.sb-el-page-hero { padding:180px 0 92px; background:linear-gradient(180deg,#f2ecdf,var(--sb-ivory)); }
.sb-el-page-hero .sb-el-display .elementor-heading-title { color:var(--sb-ink); font-size:clamp(48px,6vw,82px); }
.sb-el-trust-section { position:relative; z-index:4; margin-top:-42px; }
.sb-el-trust-section .sb-el-inner { padding-bottom:44px; }
.sb-el-card-grid { display:grid !important; gap:20px; width:100%; margin-top:40px; }
.sb-el-card-grid.sb-el-cols-1 { grid-template-columns:1fr; }
.sb-el-card-grid.sb-el-cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sb-el-card-grid.sb-el-cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.sb-el-card-grid.sb-el-cols-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.sb-el-card { min-width:0; position:relative; isolation:isolate; overflow:hidden; padding:28px; border:1px solid rgba(30,77,64,.09); border-radius:24px; background:linear-gradient(180deg,#fff,#fbf9f4); box-shadow:0 18px 45px rgba(20,57,47,.07); transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease; }
.sb-el-card::after { content:""; position:absolute; inset:-100% -45%; z-index:-1; background:linear-gradient(110deg,transparent 42%,rgba(200,169,81,.13) 50%,transparent 58%); transform:translateX(-58%) rotate(8deg); transition:transform .9s cubic-bezier(.22,1,.36,1); pointer-events:none; }
.sb-el-card:hover::after { transform:translateX(62%) rotate(8deg); }
.sb-el-card:hover { transform:translateY(-7px); box-shadow:0 26px 56px rgba(20,57,47,.12); border-color:rgba(200,169,81,.3); }
.sb-el-card-kicker .elementor-heading-title { color:var(--sb-gold); font:900 10px/1.4 "Manrope",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.sb-el-card-title .elementor-heading-title { margin:7px 0 0; color:var(--sb-green); font:700 28px/1.12 "PT Serif",Georgia,serif; }
.sb-el-card-copy .elementor-widget-container { color:var(--sb-muted); font-size:14px; line-height:1.65; }
.sb-el-card-copy { color:var(--sb-muted); font-size:14px; line-height:1.65; }
.sb-el-card-copy p { margin:8px 0 0; }
.sb-el-trust-grid { margin-top:0; }
.sb-el-trust-grid .sb-el-card { padding:22px 20px; background:rgba(255,255,255,.92); backdrop-filter:blur(16px); }
.sb-el-trust-grid .sb-el-card-title .elementor-heading-title { font-size:23px; }
.sb-el-split { display:grid !important; grid-template-columns:1fr 1fr; gap:76px; align-items:center; }
.sb-el-split-copy { gap:4px; }
.sb-el-split-media { min-width:0; }
.sb-el-rounded-image img { width:100%; min-height:520px; object-fit:cover; border-radius:28px; box-shadow:var(--sb-shadow); }
.sb-el-collage { min-height:590px; position:relative; }
.sb-el-collage .elementor-widget-image { position:absolute; overflow:hidden; border-radius:28px; box-shadow:var(--sb-shadow); }
.sb-el-collage .elementor-widget-image img { width:100%; height:100%; object-fit:cover; }
.sb-el-collage-main { inset:0 100px 100px 0; }
.sb-el-collage-small { width:245px !important; height:185px; border:8px solid var(--sb-ivory); }
.sb-el-collage-small-one { right:0; top:75px; }
.sb-el-collage-small-two { right:25px; bottom:0; }
.sb-el-collage-small-one,.sb-el-collage-small-two { transform:translate3d(0,var(--sb-collage-shift,0px),0); transition:transform .8s cubic-bezier(.22,1,.36,1); }
.sb-el-floating-note { position:absolute; left:24px; bottom:24px; width:auto !important; }
.sb-el-floating-note .elementor-widget-container { padding:11px 15px; border-radius:999px; color:#fff; background:rgba(20,57,47,.92); font-size:11px; font-weight:800; box-shadow:0 18px 30px rgba(16,47,39,.22); }
.sb-el-floating-note { padding:11px 15px; border-radius:999px; color:#fff; background:rgba(20,57,47,.92); font-size:11px; font-weight:800; box-shadow:0 18px 30px rgba(16,47,39,.22); }
.sb-el-floating-note p { margin:0; }

.sb-el-stats { gap:0; border-block:1px solid var(--sb-line); }
.sb-el-stats .sb-el-card { padding:30px 20px; border:0; border-right:1px solid var(--sb-line); border-radius:0; box-shadow:none; background:transparent; }
.sb-el-stats .sb-el-card:last-child { border-right:0; }
.sb-el-stats .sb-el-card:hover { transform:none; box-shadow:none; }
.sb-el-stat .sb-el-card-title .elementor-heading-title { font-size:43px; }
.sb-el-stat .sb-el-card-copy .elementor-widget-container { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.sb-el-stat .sb-el-card-copy { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.sb-el-products-track { display:flex !important; flex-direction:row !important; gap:20px; overflow-x:auto; padding:6px 2px 28px; scroll-snap-type:x mandatory; scrollbar-color:var(--sb-gold) transparent; }
.sb-el-product-card { flex:0 0 min(72vw,430px); position:relative; overflow:hidden; scroll-snap-align:start; border:1px solid rgba(30,77,64,.09); border-radius:28px; background:#fff; box-shadow:0 18px 45px rgba(20,57,47,.08); padding:0 0 26px; transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .4s ease; }
.sb-el-product-card:hover { transform:translateY(-8px); box-shadow:0 28px 58px rgba(20,57,47,.15); }
.sb-el-product-card > .elementor-widget:not(.sb-el-product-image) { margin-inline:26px; }
.sb-el-product-image img { width:100%; height:330px; object-fit:cover; transition:transform .7s cubic-bezier(.22,1,.36,1); }
.sb-el-product-card:hover .sb-el-product-image img { transform:scale(1.045); }
.sb-el-product-meta .elementor-widget-container { display:inline-flex; padding:7px 11px; border-radius:999px; background:rgba(30,77,64,.07); color:var(--sb-green); font-size:10px; font-weight:800; }
.sb-el-product-meta { display:inline-flex; width:auto !important; padding:7px 11px; border-radius:999px; background:rgba(30,77,64,.07); color:var(--sb-green); font-size:10px; font-weight:800; }
.sb-el-product-meta p { margin:0; }
.sb-el-dark-cards { margin-top:0; }
.sb-el-dark-cards .sb-el-card { padding:24px; border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.07); box-shadow:none; }
.sb-el-dark-cards .elementor-heading-title { color:#fff; }
.sb-el-process { align-items:start; }
.sb-el-process > .sb-el-split-copy { position:sticky; top:120px; }
.sb-el-process-list { margin-top:0; gap:0; border-left:1px solid rgba(200,169,81,.45); }
.sb-el-process-list .sb-el-card { position:relative; padding:8px 0 34px 42px; border:0; border-radius:0; box-shadow:none; background:transparent; }
.sb-el-process-list .sb-el-card::before { content:""; position:absolute; left:-7px; top:17px; width:13px; height:13px; border-radius:50%; background:var(--sb-green); border:3px solid #f7f2e7; }
.sb-el-process-list .sb-el-card:hover { transform:translateX(6px); box-shadow:none; }
.sb-el-cta { position:relative; overflow:hidden; padding:70px; border-radius:36px; color:#fff; background:linear-gradient(135deg,var(--sb-green-deep),var(--sb-green)); }
.sb-el-cta::after { content:""; position:absolute; right:-120px; top:-210px; width:420px; height:420px; border:1px solid rgba(200,169,81,.22); border-radius:50%; box-shadow:0 0 0 70px rgba(200,169,81,.04),0 0 0 140px rgba(200,169,81,.025); pointer-events:none; }
.sb-el-cta > * { position:relative; z-index:1; }
.sb-el-cta .elementor-heading-title { color:#fff; }
.sb-el-contact-grid { display:grid !important; grid-template-columns:.85fr 1.15fr; gap:54px; align-items:stretch; }
.sb-el-contact-card { padding:36px; border-radius:28px; color:#fff; background:var(--sb-green); }
.sb-el-contact-card .elementor-heading-title,.sb-el-contact-card a { color:#fff; }
.sb-el-contact-card .sb-el-copy .elementor-widget-container { color:rgba(255,255,255,.78); }
.sb-el-contact-card .sb-el-copy { color:rgba(255,255,255,.78); }
.sb-el-map,.sb-el-map .elementor-widget-container,.sb-el-map iframe { min-height:520px; height:100%; border-radius:28px; overflow:hidden; }
.sb-el-quote-form .sb-form { max-width:900px; }

/* Cinematic entrance motion applied by the theme script. */
.sb-motion-ready .sb-el-reveal { opacity:0; filter:blur(7px); transform:translate3d(0,44px,0) scale(.985); will-change:opacity,transform,filter; transition:opacity .95s cubic-bezier(.22,1,.36,1) var(--sb-delay,0ms),transform .95s cubic-bezier(.22,1,.36,1) var(--sb-delay,0ms),filter .75s ease var(--sb-delay,0ms); }
.sb-motion-ready .sb-el-reveal--left { transform:translate3d(-56px,18px,0) rotate(-1deg); }
.sb-motion-ready .sb-el-reveal--right { transform:translate3d(56px,18px,0) rotate(1deg); }
.sb-motion-ready .sb-el-reveal--zoom { transform:translate3d(0,34px,0) scale(.94); }
.sb-motion-ready .sb-el-reveal.is-visible { opacity:1; filter:none; transform:none; will-change:auto; }
.sb-motion-ready .sb-el-split-media.sb-el-reveal { clip-path:inset(8% 5% 8% 5% round 32px); }
.sb-motion-ready .sb-el-split-media.sb-el-reveal.is-visible { clip-path:inset(0 round 28px); transition:opacity 1s ease var(--sb-delay,0ms),transform 1.05s cubic-bezier(.22,1,.36,1) var(--sb-delay,0ms),filter .8s ease var(--sb-delay,0ms),clip-path 1.15s cubic-bezier(.22,1,.36,1) var(--sb-delay,0ms); }

.sb-motion-ready .sb-el-hero-item { opacity:0; filter:blur(10px); transform:translate3d(0,42px,0); }
.sb-motion-ready body.sb-page-ready .sb-el-hero-item { animation:sbElHeroItemIn 1s cubic-bezier(.16,1,.3,1) var(--sb-hero-delay,0ms) both; }
.sb-motion-ready .sb-el-hero-panel { opacity:0; filter:blur(10px); transform:translate3d(58px,20px,0) scale(.96) rotateY(-4deg); transform-origin:right center; }
.sb-motion-ready body.sb-page-ready .sb-el-hero-panel { animation:sbElHeroPanelIn 1.15s cubic-bezier(.16,1,.3,1) var(--sb-hero-delay,350ms) both; }
.sb-el-eyebrow.sb-el-reveal.is-visible .elementor-heading-title::before,
.sb-el-hero-item.sb-el-eyebrow .elementor-heading-title::before { animation:sbElLineDraw .9s cubic-bezier(.22,1,.36,1) calc(var(--sb-delay,0ms) + 180ms) both; transform-origin:left; }
.sb-el-process-list .sb-el-card.sb-el-reveal.is-visible::before { animation:sbElProcessDot 1.1s cubic-bezier(.22,1,.36,1) var(--sb-delay,0ms) both; }
.sb-el-stat .sb-el-card-title .elementor-heading-title.is-counted { animation:sbElCounterPop .62s cubic-bezier(.16,1,.3,1) both; }

@keyframes sbElHeroItemIn { from { opacity:0; filter:blur(10px); transform:translate3d(0,42px,0); } to { opacity:1; filter:none; transform:none; } }
@keyframes sbElHeroPanelIn { from { opacity:0; filter:blur(10px); transform:translate3d(58px,20px,0) scale(.96) rotateY(-4deg); } to { opacity:1; filter:none; transform:none; } }
@keyframes sbElHeroBreath { from { background-position:calc(50% + var(--sb-hero-x,0px)) calc(50% + var(--sb-hero-y,0px) + var(--sb-hero-scroll,0px) - 5px); } to { background-position:calc(50% + var(--sb-hero-x,0px)) calc(50% + var(--sb-hero-y,0px) + var(--sb-hero-scroll,0px) + 5px); } }
@keyframes sbElHeroSheen { 0%,24% { transform:translateX(-52%) rotate(8deg); } 62%,100% { transform:translateX(58%) rotate(8deg); } }
@keyframes sbElLineDraw { from { transform:scaleX(.08); opacity:.25; } to { transform:scaleX(1); opacity:1; } }
@keyframes sbElProcessDot { 0% { transform:scale(.35); box-shadow:0 0 0 0 rgba(200,169,81,.4); } 55% { transform:scale(1.18); box-shadow:0 0 0 12px rgba(200,169,81,0); } 100% { transform:scale(1); } }
@keyframes sbElCounterPop { 0% { transform:translateY(8px) scale(.82); opacity:.35; } 65% { transform:translateY(-2px) scale(1.07); opacity:1; } 100% { transform:none; opacity:1; } }

@media (max-width:980px) {
  .sb-el-section { padding-block:88px; }
  .sb-el-hero-grid,.sb-el-split,.sb-el-contact-grid { grid-template-columns:1fr; }
  .sb-el-hero { min-height:auto; padding-top:140px; }
  .sb-el-card-grid.sb-el-cols-3,.sb-el-card-grid.sb-el-cols-4,.sb-el-card-grid.sb-el-cols-5 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sb-el-process > .sb-el-split-copy { position:relative; top:auto; }
  .sb-el-collage { min-height:520px; }
}

@media (max-width:640px) {
  .sb-el-section { padding-block:74px; }
  .sb-el-page-hero { padding:142px 0 68px; }
  .sb-el-display .elementor-heading-title { font-size:clamp(48px,15.5vw,68px); }
  .sb-el-page-hero .sb-el-display .elementor-heading-title { font-size:clamp(44px,13vw,62px); }
  .sb-el-section-title .elementor-heading-title { font-size:clamp(36px,11vw,50px); }
  .sb-el-card-grid.sb-el-cols-3,.sb-el-card-grid.sb-el-cols-4,.sb-el-card-grid.sb-el-cols-5 { grid-template-columns:1fr; }
  .sb-el-market-grid { grid-template-columns:1fr; }
  .sb-el-hero-card { padding:24px; }
  .sb-el-collage { min-height:420px; }
  .sb-el-collage-main { inset:0 42px 80px 0; }
  .sb-el-collage-small { width:150px !important; height:118px; border-width:5px; }
  .sb-el-collage-small-one { top:44px; }
  .sb-el-collage-small-two { right:5px; }
  .sb-el-product-card { flex-basis:86vw; }
  .sb-el-product-image img { height:285px; }
  .sb-el-cta { padding:38px 25px; border-radius:26px; }
  .sb-el-stats .sb-el-card { border-right:0; border-bottom:1px solid var(--sb-line); }
  .sb-el-stats .sb-el-card:last-child { border-bottom:0; }
  .sb-el-map,.sb-el-map .elementor-widget-container,.sb-el-map iframe { min-height:390px; }
}

@media (prefers-reduced-motion:reduce) {
  .sb-el-reveal,.sb-el-hero-item,.sb-el-hero-panel { opacity:1 !important; filter:none !important; transform:none !important; clip-path:none !important; animation:none !important; }
  .sb-el-hero,.sb-el-hero-card::before,.sb-el-card,.sb-el-button .elementor-button,.sb-el-product-image img,.sb-el-collage-small-one,.sb-el-collage-small-two { animation:none !important; transition:none !important; transform:none !important; }
}
