/* ===== Odisha Kaju — shared design system ===== */
:root{
  --green-900:#173015;
  --green-800:#1F3D1A;
  --green-700:#2A5324;
  --green-600:#3A6B2E;
  --gold:#D99A3D;
  --gold-dark:#B87F2C;
  --cream:#FBF5EA;
  --cream-2:#F3EAD6;
  --cream-3:#EDE2C9;
  --ink:#211B12;
  --ink-soft:#5F5749;
  --line:#E4D8BE;
  --white:#FFFFFF;
  --shadow: 0 20px 44px -24px rgba(23,48,21,.28);
  --radius: 14px;
  --serif:"Palatino Linotype","Book Antiqua",Georgia,serif;
  --sans:"Segoe UI",Arial,sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--sans);
  background:var(--cream);
  color:var(--ink);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
a{ text-decoration:none; }
a.link{ color:var(--green-700); }
a.link:hover{ color:var(--gold-dark); }
h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; color:var(--green-900); line-height:1.15; margin:0; }
p{ margin:0; }
.wrap{ width:min(1280px,92vw); margin-inline:auto; }
button{ font-family:var(--sans); cursor:pointer; }
input, select, textarea{ font-family:var(--sans); }

/* ---------- Luxury motion system ---------- */
body{
  background:
    radial-gradient(circle at 8% 8%, rgba(217,154,61,.07), transparent 28rem),
    radial-gradient(circle at 92% 32%, rgba(42,83,36,.045), transparent 32rem),
    var(--cream);
}
html::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:12000;
  background:
    radial-gradient(circle at 50% 43%,rgba(217,154,61,.16),transparent 17rem),
    linear-gradient(145deg,#fffdf8 0%,#f8f0df 100%);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .3s ease,visibility .3s ease;
}
html::after{
  content:"PREMIUM CASHEWS  •  PURE GOODNESS";
  position:fixed;
  left:50%;
  top:50%;
  z-index:12001;
  width:min(330px,76vw);
  height:170px;
  padding-top:145px;
  transform:translate(-50%,-50%);
  box-sizing:border-box;
  text-align:center;
  white-space:nowrap;
  color:var(--green-700);
  font:700 .66rem/1 var(--sans);
  letter-spacing:.18em;
  background:url("assets/odisha-kaju-logo-web.webp") center top/contain no-repeat;
  filter:drop-shadow(0 12px 22px rgba(23,48,21,.09));
  opacity:1;
  visibility:visible;
  pointer-events:none;
  animation:loaderLogoIn .7s cubic-bezier(.16,1,.3,1) both,loaderPulse 1.2s ease-in-out .7s infinite alternate;
  transition:opacity .24s ease,visibility .24s ease;
}
html.site-ready::before,html.site-ready::after{ opacity:0; visibility:hidden; pointer-events:none; }
body.site-loading{ overflow:hidden; }
@keyframes loaderLogoIn{ from{ opacity:0; transform:translate(-50%,calc(-50% + 10px)) scale(.97); } to{ opacity:1; transform:translate(-50%,-50%) scale(1); } }
@keyframes loaderPulse{ to{ filter:drop-shadow(0 14px 25px rgba(23,48,21,.16)); } }
@media (prefers-reduced-motion:reduce){ html::after{ animation:none; } }
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9999;
  opacity:.16;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
.lux-progress{
  position:fixed;
  left:0;
  top:0;
  z-index:1000;
  width:100%;
  height:3px;
  pointer-events:none;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,var(--gold-dark),#f1c875,var(--gold));
  box-shadow:0 0 14px rgba(217,154,61,.55);
}
body.lux-ready main{ animation:luxPageIn .38s cubic-bezier(.16,1,.3,1) both; }
body.lux-leaving main{ animation:luxPageOut .24s ease both; }
@keyframes luxPageIn{ from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
@keyframes luxPageOut{ to{opacity:0;transform:translateY(6px)} }

/* ---------- Utility ---------- */
.eyebrow{ font-size:.8rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-dark); display:flex; align-items:center; gap:.6em; }
.eyebrow::before{ content:""; width:22px; height:2px; background:var(--gold); display:inline-block; border-radius:2px; }
.btn{
  position:relative; overflow:hidden; isolation:isolate;
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  font-weight:700; font-size:.86rem; letter-spacing:.03em; text-transform:uppercase;
  padding:.95rem 1.7rem; border-radius:8px; border:1.5px solid transparent;
  background:var(--green-800); color:#fff; transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
  white-space:nowrap;
}
.btn::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  transform:translateX(-108%) skewX(-18deg);
  background:linear-gradient(110deg,transparent 10%,rgba(255,255,255,.34) 48%,transparent 86%);
  transition:transform .65s cubic-bezier(.16,1,.3,1);
}
.btn:hover::before{ transform:translateX(108%) skewX(-18deg); }
.btn:hover{ background:var(--green-700); transform:translateY(-2px); box-shadow:var(--shadow); }
.btn.outline{ background:transparent; color:var(--green-900); border-color:var(--green-900); }
.btn.outline:hover{ background:var(--green-900); color:#fff; }
.btn.gold{ background:var(--gold); color:var(--green-900); }
.btn.gold:hover{ background:var(--gold-dark); color:#fff; }
.btn.sm{ padding:.65rem 1.1rem; font-size:.78rem; }
.btn.block{ width:100%; }
.btn:disabled{ opacity:.5; cursor:not-allowed; transform:none; }

.chip{ display:inline-block; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; background:var(--cream-2); color:var(--green-700); padding:.3rem .6rem; border-radius:5px; }

/* ---------- Top bar ---------- */
.topbar{
  background:var(--green-900); color:#fff; font-size:.82rem;
  display:flex; align-items:center; justify-content:space-between;
  padding:.55rem clamp(1rem,4vw,0);
}
.topbar .wrap{ display:flex; align-items:center; justify-content:space-between; width:min(1280px,94vw); }
.topbar span{ display:flex; align-items:center; gap:.5rem; }

/* ---------- Header ---------- */
header.site{
  background:#fff; border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:100;
  transition:background .35s ease, box-shadow .35s ease, border-color .35s ease, transform .35s ease;
}
header.site.scrolled{
  background:rgba(255,255,255,.88);
  border-color:rgba(217,154,61,.24);
  box-shadow:0 14px 38px -25px rgba(23,48,21,.55);
  backdrop-filter:blur(16px) saturate(1.25);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; padding:1rem 0; }
.brand{ display:flex; align-items:center; gap:.6rem; }
.brand-logo{
  display:block;
  width:auto;
  height:58px;
  max-width:clamp(150px,15vw,190px);
  object-fit:contain;
  transition:transform .55s cubic-bezier(.16,1,.3,1), filter .4s ease;
}
.brand:hover .brand-logo{ transform:translateY(-2px) scale(1.025); filter:drop-shadow(0 8px 14px rgba(23,48,21,.12)); }
.brand .mark{ width:42px; height:42px; border-radius:50%; background:var(--cream-2); display:grid; place-items:center; flex:none; }
.brand .mark svg{ width:24px; height:24px; }
.brand .txt{ line-height:1.1; }
.brand .txt b{ display:block; font-family:var(--serif); font-size:1.35rem; color:var(--green-800); font-weight:700; }
.brand .txt small{ display:block; font-size:.62rem; letter-spacing:.18em; font-weight:700; color:var(--gold-dark); }
nav.main-links{ display:flex; align-items:center; gap:clamp(1.1rem,2vw,2.1rem); }
nav.main-links a{ white-space:nowrap; }
nav.main-links a{ font-size:.94rem; font-weight:600; color:var(--ink); position:relative; padding-bottom:4px; }
nav.main-links a{ transition:color .3s ease, transform .3s ease; }
nav.main-links a::after{ content:""; position:absolute; left:50%; bottom:0; height:2px; width:0; background:linear-gradient(90deg,var(--gold),var(--green-700)); transform:translateX(-50%); transition:width .35s cubic-bezier(.16,1,.3,1); }
nav.main-links a:hover{ color:var(--green-700); transform:translateY(-1px); }
nav.main-links a:hover::after, nav.main-links a.active::after{ width:100%; }
nav.main-links a.active{ color:var(--green-800); }
.nav-icons{ display:flex; align-items:center; gap:1.3rem; }
.nav-icons button{ background:none; border:none; color:var(--ink); display:grid; place-items:center; padding:.2rem; }
.nav-icons button svg{ width:21px; height:21px; }
.nav-icons button,.cart-icon{ transition:color .25s ease, transform .35s cubic-bezier(.16,1,.3,1); }
.nav-icons button:hover,.cart-icon:hover{ color:var(--gold-dark)!important; transform:translateY(-2px) scale(1.08); }
.cart-icon{ position:relative; }
.cart-badge{
  position:absolute; top:-8px; right:-9px; background:var(--gold); color:var(--green-900);
  font-size:.66rem; font-weight:800; width:18px; height:18px; border-radius:50%;
  display:grid; place-items:center;
}
@media (max-width:880px){ nav.main-links{ display:none; } }
@media (max-width:520px){
  .brand-logo{ width:auto; height:46px; max-width:150px; }
  .nav-icons{ gap:.8rem; }
}

/* ---------- Breadcrumb ---------- */
.crumb{ padding:1rem 0 0; font-size:.85rem; color:var(--ink-soft); display:flex; gap:.5rem; align-items:center; }
.crumb a{ color:var(--ink-soft); } .crumb a:hover{ color:var(--green-700); }
.crumb .sep{ opacity:.5; }
.crumb .cur{ color:var(--green-800); font-weight:600; }

/* ---------- Page hero band ---------- */
.page-hero{ background:var(--cream-2); padding:3rem 0; }
.page-hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center; }
.page-hero h1{ font-size:clamp(2.2rem,4.4vw,3.2rem); margin-bottom:.9rem; }
.page-hero p{ color:var(--ink-soft); font-size:1.05rem; max-width:44ch; }
.page-hero image-slot{ width:100%; aspect-ratio:16/10; border-radius:var(--radius); overflow:hidden; }
@media (max-width:860px){ .page-hero-grid{ grid-template-columns:1fr; } }

/* ---------- Feature strip ---------- */
.feat-strip{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem clamp(1rem,3vw,2.4rem); display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.feat-strip .feat{ padding:0 1.3rem; justify-content:flex-start; }
.feat-strip .feat + .feat{ border-left:1px solid var(--line); }
.feat{ display:flex; gap:.9rem; align-items:center; }
.feat .ic{ width:48px; height:48px; border-radius:50%; background:var(--cream-2); border:1px solid var(--line); display:grid; place-items:center; flex:none; color:var(--green-700); transition:transform .45s cubic-bezier(.16,1,.3,1), background .35s ease, box-shadow .35s ease; }
.feat:hover .ic{ transform:translateY(-4px) rotate(-3deg); background:#fff; box-shadow:0 14px 25px -17px rgba(23,48,21,.55); }
.feat .ic svg{ width:22px; height:22px; }
.feat b{ display:block; font-size:.92rem; }
.feat span{ font-size:.82rem; color:var(--ink-soft); }
@media (max-width:860px){ .feat-strip{ grid-template-columns:1fr 1fr; gap:1.2rem 0; } .feat-strip .feat:nth-child(odd){ border-left:none; } }
@media (max-width:520px){ .feat-strip{ grid-template-columns:1fr; } .feat-strip .feat{ border-left:none; padding:0; } }

/* ---------- Product card ---------- */
.card-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
.p-card{ --mx:50%; --my:50%; background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:transform .55s cubic-bezier(.16,1,.3,1), box-shadow .55s ease, border-color .4s ease; display:flex; flex-direction:column; position:relative; }
.p-card::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:0; background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.52),transparent 34%); transition:opacity .35s ease; }
.p-card:hover{ transform:translateY(-9px) scale(1.012); box-shadow:0 28px 55px -30px rgba(23,48,21,.48); border-color:rgba(217,154,61,.52); }
.p-card:hover::after{ opacity:1; }
.p-card img{ transition:transform .9s cubic-bezier(.16,1,.3,1),filter .55s ease; }
.p-card:hover img{ transform:scale(1.055); filter:saturate(1.04) contrast(1.02); }
.p-card image-slot{ width:100%; aspect-ratio:1/1; }
.p-card .body{ padding:1.1rem 1.2rem 1.3rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.p-card h4{ font-size:1.05rem; }
.p-card .price{ font-size:1.02rem; font-weight:700; color:var(--green-800); }
.p-card .price s{ font-weight:500; color:var(--ink-soft); margin-right:.4rem; opacity:.7; }
.p-card .btn{ margin-top:auto; }
@media (max-width:980px){ .card-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .card-grid{ grid-template-columns:1fr; } }

/* ---------- Sections ---------- */
section{ padding:4.2rem 0; }
.sec-head{ text-align:center; margin-bottom:2.6rem; }
.sec-head h2{ font-size:clamp(1.9rem,3.6vw,2.6rem); margin-top:.6rem; }
.sec-head .orn::before,.sec-head .orn::after{ transform:scaleX(0); transition:transform .8s cubic-bezier(.16,1,.3,1) .18s; }
.sec-head.in .orn::before,.sec-head.in .orn::after,.sec-head:has([data-reveal].in) .orn::before,.sec-head:has([data-reveal].in) .orn::after{ transform:scaleX(1); }
.sec-head p{ color:var(--ink-soft); max-width:50ch; margin:.8rem auto 0; }

/* ---------- Reveal ---------- */
[data-reveal]{ opacity:0; transform:translateY(28px) scale(.985); filter:blur(4px); transition:opacity .85s ease, transform .9s cubic-bezier(.16,1,.3,1),filter .7s ease; }
[data-reveal].in{ opacity:1; transform:none; }
[data-reveal].in{ filter:none; }
[data-reveal].d1{ transition-delay:.08s; } [data-reveal].d2{ transition-delay:.16s; }
[data-reveal].d3{ transition-delay:.24s; } [data-reveal].d4{ transition-delay:.32s; }
@media (prefers-reduced-motion:reduce){ [data-reveal]{ opacity:1; transform:none; transition:none; } }

/* ---------- Footer ---------- */
footer.site{ background:var(--green-900); color:rgba(255,255,255,.82); padding:3.6rem 0 1.6rem; margin-top:2rem; }
.foot-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr 1.4fr; gap:1.8rem; padding-bottom:2.4rem; border-bottom:1px solid rgba(255,255,255,.14); }
.foot-grid .foot-col{ border-left:1px solid rgba(255,255,255,.12); padding-left:1.6rem; }
.foot-brand .brand .txt b{ color:#fff; }
.foot-brand .brand{
  display:inline-flex;
  padding:.55rem .7rem;
  border-radius:10px;
  background:#fff;
}
.foot-brand .brand-logo{ width:auto; height:64px; max-width:min(228px,100%); }
.foot-brand p{ font-size:.88rem; margin-top:.9rem; max-width:32ch; opacity:.85; line-height:1.6; }
.foot-social{ display:flex; gap:.7rem; margin-top:1.1rem; }
.foot-social a{ width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.12); display:grid; place-items:center; transition:transform .4s cubic-bezier(.16,1,.3,1),background .3s ease,color .3s ease; }
.foot-social a:hover{ background:var(--gold); color:var(--green-900); }
.foot-social a:hover{ transform:translateY(-4px) rotate(4deg); }
.foot-social svg{ width:16px; height:16px; }
.foot-col h5{ font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); margin-bottom:1rem; }
.foot-col a{ display:flex; align-items:flex-start; gap:.55rem; font-size:.9rem; margin-bottom:.65rem; opacity:.85; }
.foot-col .fci{ width:16px; height:16px; flex:none; color:var(--gold); margin-top:2px; }
.foot-col a:hover{ opacity:1; color:var(--gold); }
.foot-bottom{ display:flex; justify-content:space-between; padding-top:1.6rem; font-size:.8rem; opacity:.75; flex-wrap:wrap; gap:.8rem; }
.pay-icons{ display:flex; gap:.7rem; align-items:center; flex-wrap:wrap; max-width:100%; opacity:.85; font-size:.78rem; font-weight:700; letter-spacing:.02em; }
.pay-icons span{ background:rgba(255,255,255,.12); padding:.3rem .55rem; border-radius:5px; }
@media (max-width:900px){ .foot-grid{ grid-template-columns:1fr 1fr; } .foot-grid .foot-col{ border-left:none; padding-left:0; } }
@media (max-width:520px){ .foot-grid{ grid-template-columns:1fr; } }

/* ---------- Toast ---------- */
#toast-stack{ position:fixed; top:1.2rem; right:1.2rem; z-index:999; display:flex; flex-direction:column; gap:.6rem; }
.toast{
  background:var(--green-900); color:#fff; padding:.85rem 1.2rem; border-radius:9px;
  font-size:.88rem; font-weight:600; box-shadow:0 16px 32px -14px rgba(0,0,0,.4);
  display:flex; align-items:center; gap:.6rem;
  animation: toastIn .35s cubic-bezier(.2,.8,.2,1);
}
.toast.out{ animation: toastOut .3s ease forwards; }
@keyframes toastIn{ from{ opacity:0; transform:translateX(24px); } to{ opacity:1; transform:none; } }
@keyframes toastOut{ to{ opacity:0; transform:translateX(24px); } }

/* ---------- Misc form ---------- */
.field{ margin-bottom:1.2rem; }
.field label{ display:block; font-size:.85rem; font-weight:700; margin-bottom:.5rem; color:var(--green-900); }
.field input, .field select, .field textarea{
  width:100%; padding:.85rem 1rem; border:1.5px solid var(--line); border-radius:8px; font-size:.92rem;
  background:#fff; color:var(--ink); transition:border-color .2s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--green-600); }
.field textarea{ resize:vertical; min-height:120px; }

/* ---------- Search overlay ---------- */
.search-overlay{ position:fixed; inset:0; background:rgba(23,48,21,.45); backdrop-filter:blur(4px); z-index:200; display:flex; justify-content:center; padding-top:12vh; }
.search-overlay[hidden]{ display:none; }
.search-box{ width:min(560px, 92vw); background:#fff; border-radius:14px; box-shadow:0 30px 60px -20px rgba(0,0,0,.4); padding:1rem; height:fit-content; position:relative; animation:searchIn .3s cubic-bezier(.2,.8,.2,1); }
@keyframes searchIn{ from{ opacity:0; transform:translateY(-16px); } to{ opacity:1; transform:none; } }
.search-box input{ width:100%; border:1.5px solid var(--line); border-radius:8px; padding:.9rem 2.8rem .9rem 1rem; font-size:1rem; }
.search-box input:focus{ outline:none; border-color:var(--green-600); }
.search-box > button{ position:absolute; top:1.55rem; right:1.7rem; background:none; border:none; font-size:1rem; color:var(--ink-soft); }
.search-results{ display:flex; flex-direction:column; }
.s-hit{ display:flex; align-items:center; gap:.9rem; padding:.7rem .5rem; border-radius:8px; }
.s-hit:hover{ background:var(--cream); }
.s-hit img{ width:48px; height:44px; object-fit:cover; border-radius:7px; }
.s-hit span{ flex:1; line-height:1.3; } .s-hit b{ font-size:.92rem; } .s-hit small{ display:block; color:var(--ink-soft); }
.s-hit em{ font-style:normal; font-weight:700; color:var(--green-800); font-size:.9rem; }
.s-empty{ padding:1rem .5rem; color:var(--ink-soft); font-size:.9rem; }

/* ---------- Newsletter band ---------- */
.news-band{
  background:var(--cream-2) url('assets/newsletter-cashews.webp') left 12px center / 220px auto no-repeat;
  border:1px solid var(--line); border-radius:var(--radius);
  padding:1.9rem clamp(1.2rem,3vw,2.6rem) 1.9rem 245px;
  display:flex; align-items:center; gap:2rem; flex-wrap:wrap;
}
.news-band h3{ font-family:var(--serif); font-size:1.45rem; line-height:1.25; max-width:22ch; color:var(--green-900); }
@media (max-width:760px){ .news-band{ background-image:none; padding-left:clamp(1.2rem,3vw,2.6rem); } }
.news-band p{ color:var(--ink-soft); font-size:.9rem; margin-top:.3rem; }
.news-band form{ display:flex; flex:1; min-width:280px; max-width:480px; margin-left:auto; }
.news-band input{ flex:1; border:1.5px solid var(--line); border-right:none; border-radius:8px 0 0 8px; padding:.9rem 1rem; font-size:.92rem; background:#fff; }
.news-band input:focus{ outline:none; border-color:var(--green-600); }
.news-band button{ border-radius:0 8px 8px 0; }

/* ---------- Stats band ---------- */
.stats-band{ background:var(--green-800); border-radius:var(--radius); color:#fff; padding:2.2rem clamp(1rem,3vw,2.6rem); display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
.stat-i{ display:flex; align-items:center; gap:1rem; }
.stat-i .ic{ width:46px; height:46px; border-radius:50%; border:1.5px solid var(--gold); color:var(--gold); display:grid; place-items:center; flex:none; }
.stat-i .ic svg{ width:21px; height:21px; }
.stat-i b{ font-family:var(--serif); font-size:1.7rem; display:block; line-height:1.1; }
.stat-i span{ font-size:.8rem; opacity:.85; }
@media (max-width:860px){ .stats-band{ grid-template-columns:1fr 1fr; } }

/* ---------- Qty stepper ---------- */
.qty{ display:inline-flex; align-items:center; border:1.5px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; }
.qty button{ width:36px; height:38px; background:none; border:none; font-size:1.1rem; color:var(--green-800); font-weight:700; }
.qty button:hover{ background:var(--cream-2); }
.qty input{ width:44px; text-align:center; border:none; font-size:.95rem; font-weight:600; -moz-appearance:textfield; }
.qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button{ -webkit-appearance:none; }
.qty input:focus{ outline:none; }

/* ---------- Motion accents ---------- */
.lux-float{ animation:luxFloat 5.8s ease-in-out infinite; will-change:transform; }
@keyframes luxFloat{ 0%,100%{transform:translate3d(0,0,0) rotate(0)} 50%{transform:translate3d(0,-10px,0) rotate(.45deg)} }
.page-hero,.content-hero,.blog-hero{ position:relative; overflow:hidden; }
.page-hero::after,.content-hero::after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  top:-250px;
  right:8%;
  border:1px solid rgba(217,154,61,.25);
  border-radius:50%;
  box-shadow:0 0 0 45px rgba(217,154,61,.035),0 0 0 90px rgba(42,83,36,.025);
  animation:luxOrb 12s ease-in-out infinite alternate;
  pointer-events:none;
}
@keyframes luxOrb{ to{transform:translate(-35px,35px) scale(1.06)} }
.news-band,.feat-strip,.stats-band,.content-card,.content-aside{
  transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease,border-color .4s ease;
}
.news-band:hover,.feat-strip:hover,.content-card:hover,.content-aside:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 50px -32px rgba(23,48,21,.42);
  border-color:rgba(217,154,61,.45);
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.001ms!important; }
  [data-reveal]{ opacity:1; transform:none; filter:none; }
}
