/* =========================================================
   Luxonora — Ravintolisä
   Alkuperäinen tyylitiedosto
   Väripaletti: kirkas, kylläinen, hopea, minttu-jää, atsuuri
   ========================================================= */

:root{
  /* --- core palette --- */
  --lx-ice:        #eef9fc;
  --lx-mist:       #f5fbfd;
  --lx-mint:       #96e0ce;
  --lx-mint-soft:  #cef2ea;
  --lx-azure:      #3aa0d6;
  --lx-azure-deep: #1a6ca8;
  --lx-azure-ink:  #0f4c78;
  --lx-silver:     #ced6de;
  --lx-silver-lt:  #e8eef3;
  --lx-ink:        #16323f;
  --lx-slate:      #567084;
  --lx-white:      #ffffff;

  /* --- accents / gradients --- */
  --lx-flow: linear-gradient(135deg,#3aa0d6 0%,#96e0ce 100%);
  --lx-flow-soft: linear-gradient(135deg,#eef9fc 0%,#cef2ea 100%);
  --lx-sheen: linear-gradient(160deg,rgba(255,255,255,.9),rgba(255,255,255,.35));

  /* --- shadows --- */
  --lx-shade-s: 0 4px 14px rgba(26,108,168,.10);
  --lx-shade-m: 0 12px 34px rgba(26,108,168,.14);
  --lx-shade-l: 0 26px 60px rgba(15,76,120,.18);
  --lx-glow:    0 8px 26px rgba(58,160,214,.34);

  /* --- radii --- */
  --lx-r-s: 12px;
  --lx-r-m: 20px;
  --lx-r-l: 30px;
  --lx-r-pill: 999px;

  /* --- fluid type --- */
  --lx-fs-hero: clamp(2.4rem, 1.4rem + 4.4vw, 4.6rem);
  --lx-fs-h2:   clamp(1.75rem, 1.2rem + 2.3vw, 2.9rem);
  --lx-fs-h3:   clamp(1.2rem, 1rem + .8vw, 1.55rem);
  --lx-fs-lead: clamp(1.02rem, .95rem + .45vw, 1.28rem);
  --lx-fs-body: clamp(.98rem, .94rem + .2vw, 1.06rem);

  /* --- spacing rhythm --- */
  --lx-gap:   clamp(1rem, .6rem + 1.5vw, 2rem);
  --lx-bay:   clamp(3.4rem, 2rem + 5vw, 6.6rem);
  --lx-edge:  clamp(1.1rem, .5rem + 3vw, 3rem);

  --lx-shell: 1180px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

body{
  margin:0;
  font-family:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  color:var(--lx-ink);
  background:var(--lx-mist);
  font-size:var(--lx-fs-body);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{ line-height:1.15; margin:0 0 .5em; font-weight:700; letter-spacing:-.02em; }
p{ margin:0 0 1em; }
a{ color:var(--lx-azure-deep); text-decoration:none; }
img{ max-width:100%; display:block; }

.lx-bound{
  width:100%;
  max-width:var(--lx-shell);
  margin-inline:auto;
  padding-inline:var(--lx-edge);
}

.lx-eyebrow{
  display:inline-block;
  font-size:.78rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--lx-azure-deep);
  background:var(--lx-mint-soft);
  padding:.42em 1.1em;
  border-radius:var(--lx-r-pill);
  margin-bottom:1.1rem;
}

/* ---------- buttons ---------- */
.lx-press{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55em;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  border:none;
  border-radius:var(--lx-r-pill);
  padding:.95em 2em;
  transition:transform .28s cubic-bezier(.2,.8,.3,1), box-shadow .28s, background .3s;
  text-align:center;
}
.lx-press--flow{
  background:var(--lx-flow);
  color:#fff;
  box-shadow:var(--lx-glow);
}
.lx-press--flow:hover{ transform:translateY(-3px); box-shadow:0 14px 34px rgba(58,160,214,.45); }
.lx-press--ghost{
  background:rgba(255,255,255,.7);
  color:var(--lx-azure-deep);
  border:1.5px solid var(--lx-silver);
}
.lx-press--ghost:hover{ transform:translateY(-3px); border-color:var(--lx-azure); box-shadow:var(--lx-shade-s); }
.lx-press:focus-visible,
.lx-navlink:focus-visible,
a:focus-visible{ outline:3px solid var(--lx-azure); outline-offset:3px; border-radius:6px; }

/* =========================================================
   MASTHEAD / NAV
   ========================================================= */
.lx-mast{
  position:sticky; top:0; z-index:50;
  background:rgba(245,251,253,.82);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--lx-silver-lt);
}
.lx-mast__row{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding-block:.85rem;
}
.lx-brand{
  display:flex; align-items:center; gap:.6rem;
  font-weight:800; font-size:1.32rem; letter-spacing:-.03em; color:var(--lx-azure-ink);
}
.lx-brand__dot{
  width:26px; height:26px; border-radius:50%;
  background:var(--lx-flow);
  box-shadow:var(--lx-glow);
}
.lx-nav{ display:flex; align-items:center; gap:.4rem; }
.lx-navlink{
  padding:.55em .95em; border-radius:var(--lx-r-pill);
  font-weight:600; color:var(--lx-slate); font-size:.98rem;
  transition:background .25s,color .25s;
}
.lx-navlink:hover{ background:var(--lx-mint-soft); color:var(--lx-azure-ink); }
.lx-nav__cta{ margin-left:.4rem; padding:.7em 1.4em; }

.lx-burger{
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:.5rem;
}
.lx-burger span{
  width:26px; height:2.6px; border-radius:3px; background:var(--lx-azure-ink);
  transition:transform .3s, opacity .3s;
}
.lx-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7.6px) rotate(45deg); }
.lx-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.lx-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7.6px) rotate(-45deg); }

/* =========================================================
   1 · HERO
   ========================================================= */
.lx-lede{
  position:relative; overflow:hidden;
  background:var(--lx-flow-soft);
}
.lx-lede__grid{
  display:grid; grid-template-columns:1.05fr .95fr;
  gap:clamp(1.5rem,4vw,3.5rem); align-items:center;
  padding-block:clamp(3rem,6vw,5.5rem);
}
.lx-lede__title{ font-size:var(--lx-fs-hero); color:var(--lx-azure-ink); }
.lx-lede__title em{ font-style:normal; color:var(--lx-azure); }
.lx-lede__text{ font-size:var(--lx-fs-lead); color:var(--lx-slate); max-width:44ch; }
.lx-lede__acts{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:1.6rem; }
.lx-lede__note{
  margin-top:1.5rem; font-size:.9rem; color:var(--lx-slate);
  display:flex; align-items:center; gap:.5rem;
}
.lx-lede__note::before{
  content:""; width:9px; height:9px; border-radius:50%;
  background:var(--lx-mint); box-shadow:0 0 0 4px rgba(150,224,206,.35);
}
.lx-lede__frame{
  position:relative; border-radius:var(--lx-r-l);
  overflow:hidden; box-shadow:var(--lx-shade-l);
  aspect-ratio:4/5; background:var(--lx-silver-lt);
}
.lx-lede__frame img{ width:100%; height:100%; object-fit:cover; }
.lx-lede__tag{
  position:absolute; left:1.1rem; bottom:1.1rem;
  background:rgba(255,255,255,.9); backdrop-filter:blur(6px);
  padding:.7rem 1.1rem; border-radius:var(--lx-r-m);
  box-shadow:var(--lx-shade-s); font-size:.86rem; font-weight:600; color:var(--lx-azure-ink);
}
.lx-lede__blob{
  position:absolute; border-radius:50%; filter:blur(10px);
  opacity:.5; pointer-events:none;
}
.lx-lede__blob--a{ width:280px; height:280px; background:var(--lx-mint); top:-90px; right:-60px; }
.lx-lede__blob--b{ width:220px; height:220px; background:var(--lx-azure); bottom:-80px; left:-70px; opacity:.35; }

/* =========================================================
   2 · BENEFITS
   ========================================================= */
.lx-boons{ padding-block:var(--lx-bay); }
.lx-boons__head{ max-width:60ch; margin-bottom:2.6rem; }
.lx-boons__head h2{ font-size:var(--lx-fs-h2); color:var(--lx-azure-ink); }
.lx-boons__grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:var(--lx-gap);
}
.lx-boon{
  background:var(--lx-white);
  border:1px solid var(--lx-silver-lt);
  border-radius:var(--lx-r-m);
  padding:1.7rem 1.6rem;
  box-shadow:var(--lx-shade-s);
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.lx-boon:hover{ transform:translateY(-6px); box-shadow:var(--lx-shade-m); border-color:var(--lx-mint); }
.lx-boon__mark{
  width:52px; height:52px; border-radius:15px;
  display:grid; place-items:center; margin-bottom:1.1rem;
  background:var(--lx-flow-soft); color:var(--lx-azure-deep);
  font-size:1.5rem; font-weight:800;
  box-shadow:inset 0 0 0 1px rgba(58,160,214,.18);
}
.lx-boon h3{ font-size:var(--lx-fs-h3); color:var(--lx-ink); }
.lx-boon p{ color:var(--lx-slate); margin:0; }

/* =========================================================
   3 · LIFESTYLE (split band)
   ========================================================= */
.lx-fit{ padding-block:var(--lx-bay); background:var(--lx-ice); }
.lx-fit__grid{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(1.5rem,4vw,3.4rem); align-items:center;
}
.lx-fit__media{
  border-radius:var(--lx-r-l); overflow:hidden;
  box-shadow:var(--lx-shade-m); aspect-ratio:5/4; background:var(--lx-silver-lt);
}
.lx-fit__media img{ width:100%; height:100%; object-fit:cover; }
.lx-fit__body h2{ font-size:var(--lx-fs-h2); color:var(--lx-azure-ink); }
.lx-steps{ list-style:none; margin:1.6rem 0 0; padding:0; display:grid; gap:1rem; }
.lx-steps li{
  display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start;
  background:var(--lx-white); border-radius:var(--lx-r-m);
  padding:1.1rem 1.25rem; box-shadow:var(--lx-shade-s);
}
.lx-steps__num{
  width:38px; height:38px; border-radius:50%;
  background:var(--lx-flow); color:#fff; font-weight:800;
  display:grid; place-items:center; box-shadow:var(--lx-glow);
}
.lx-steps b{ display:block; color:var(--lx-ink); }
.lx-steps span{ color:var(--lx-slate); font-size:.98rem; }

/* =========================================================
   4 · INGREDIENTS
   ========================================================= */
.lx-blend{ padding-block:var(--lx-bay); }
.lx-blend__head{ text-align:center; max-width:56ch; margin:0 auto 2.8rem; }
.lx-blend__head h2{ font-size:var(--lx-fs-h2); color:var(--lx-azure-ink); }
.lx-blend__head p{ color:var(--lx-slate); }
.lx-blend__grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:var(--lx-gap);
}
.lx-vial{
  position:relative;
  background:linear-gradient(180deg,#fff 0%,var(--lx-mist) 100%);
  border:1px solid var(--lx-silver-lt);
  border-radius:var(--lx-r-m);
  padding:1.7rem 1.5rem 1.6rem;
  box-shadow:var(--lx-shade-s);
  transition:transform .3s, box-shadow .3s;
}
.lx-vial:hover{ transform:translateY(-6px); box-shadow:var(--lx-shade-m); }
.lx-vial::before{
  content:""; position:absolute; inset:0 0 auto 0; height:5px;
  border-radius:var(--lx-r-m) var(--lx-r-m) 0 0;
  background:var(--lx-flow);
}
.lx-vial h3{ font-size:1.18rem; color:var(--lx-azure-ink); margin-top:.4rem; }
.lx-vial p{ color:var(--lx-slate); margin:0; font-size:.98rem; }
.lx-vial__pct{
  font-size:.8rem; font-weight:700; letter-spacing:.05em;
  color:var(--lx-azure-deep); text-transform:uppercase;
}

/* =========================================================
   5 · SHOWCASE (product + price)
   ========================================================= */
.lx-show{ padding-block:var(--lx-bay); background:var(--lx-flow); color:#fff; }
.lx-show__grid{
  display:grid; grid-template-columns:.9fr 1.1fr;
  gap:clamp(1.5rem,4vw,3.4rem); align-items:center;
}
.lx-show__stage{
  position:relative; display:grid; place-items:center;
  padding:clamp(1rem,3vw,2.4rem);
}
.lx-show__halo{
  position:absolute; width:78%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.55),rgba(255,255,255,0) 70%);
}
.lx-show__stage img{
  position:relative; width:auto; max-width:78%; max-height:440px;
  object-fit:contain;
  filter:drop-shadow(0 26px 40px rgba(15,76,120,.4));
}
.lx-show__body h2{ font-size:var(--lx-fs-h2); color:#fff; }
.lx-show__body p{ color:rgba(255,255,255,.9); max-width:46ch; }
.lx-priceplate{
  display:flex; flex-wrap:wrap; align-items:center; gap:1.4rem;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);
  border-radius:var(--lx-r-l);
  padding:1.4rem 1.6rem; margin:1.6rem 0;
  backdrop-filter:blur(8px);
}
.lx-priceplate__tag{ font-size:clamp(2.2rem,5vw,3rem); font-weight:800; line-height:1; }
.lx-priceplate__tag small{ font-size:1rem; font-weight:600; opacity:.85; margin-left:.2rem; }
.lx-priceplate__meta{ font-size:.9rem; opacity:.9; }
.lx-show .lx-press--flow{
  background:#fff; color:var(--lx-azure-deep); box-shadow:0 12px 30px rgba(15,76,120,.35);
}
.lx-show .lx-press--flow:hover{ background:var(--lx-mint-soft); }

/* =========================================================
   6 · FAQ
   ========================================================= */
.lx-quiz{ padding-block:var(--lx-bay); }
.lx-quiz__head{ text-align:center; margin-bottom:2.4rem; }
.lx-quiz__head h2{ font-size:var(--lx-fs-h2); color:var(--lx-azure-ink); }
.lx-quiz__list{ max-width:820px; margin-inline:auto; display:grid; gap:.9rem; }
.lx-ask{
  background:var(--lx-white); border:1px solid var(--lx-silver-lt);
  border-radius:var(--lx-r-m); overflow:hidden;
  box-shadow:var(--lx-shade-s); transition:border-color .3s, box-shadow .3s;
}
.lx-ask.is-open{ border-color:var(--lx-mint); box-shadow:var(--lx-shade-m); }
.lx-ask__btn{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  font:inherit; font-weight:700; color:var(--lx-azure-ink);
  padding:1.15rem 1.4rem; display:flex; justify-content:space-between; align-items:center; gap:1rem;
}
.lx-ask__sign{
  flex:none; width:28px; height:28px; border-radius:50%;
  background:var(--lx-mint-soft); color:var(--lx-azure-deep);
  display:grid; place-items:center; font-size:1.2rem; font-weight:800;
  transition:transform .3s, background .3s;
}
.lx-ask.is-open .lx-ask__sign{ transform:rotate(45deg); background:var(--lx-azure); color:#fff; }
.lx-ask__panel{
  max-height:0; overflow:hidden; transition:max-height .35s ease;
}
.lx-ask__inner{ padding:0 1.4rem 1.25rem; color:var(--lx-slate); }

/* =========================================================
   7 · COMPANY / TRANSPARENCY
   ========================================================= */
.lx-house{ padding-block:var(--lx-bay); background:var(--lx-ice); }
.lx-house__grid{
  display:grid; grid-template-columns:1.1fr .9fr;
  gap:clamp(1.5rem,4vw,3rem); align-items:center;
}
.lx-house__body h2{ font-size:var(--lx-fs-h2); color:var(--lx-azure-ink); }
.lx-house__body p{ color:var(--lx-slate); }
.lx-facts{ list-style:none; padding:0; margin:1.4rem 0 0; display:grid; gap:.8rem; }
.lx-facts li{
  display:grid; grid-template-columns:auto 1fr; gap:.9rem; align-items:baseline;
  color:var(--lx-ink);
}
.lx-facts b{ color:var(--lx-azure-deep); }
.lx-house__card{
  background:var(--lx-white); border-radius:var(--lx-r-l);
  box-shadow:var(--lx-shade-m); padding:1.9rem;
  border:1px solid var(--lx-silver-lt);
}
.lx-house__card h3{ color:var(--lx-azure-ink); }
.lx-house__card dl{ margin:1.1rem 0 0; display:grid; gap:.9rem; }
.lx-house__card dt{ font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--lx-slate); }
.lx-house__card dd{ margin:.1rem 0 0; font-weight:600; color:var(--lx-ink); }
.lx-house__card a{ font-weight:600; }

/* =========================================================
   8 · ORDER
   ========================================================= */
.lx-order{ padding-block:var(--lx-bay); }
.lx-order__panel{
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(1.5rem,4vw,3rem); align-items:center;
  background:var(--lx-flow-soft);
  border:1px solid var(--lx-mint-soft);
  border-radius:var(--lx-r-l);
  padding:clamp(1.6rem,4vw,3rem);
  box-shadow:var(--lx-shade-m);
}
.lx-order__body h2{ font-size:var(--lx-fs-h2); color:var(--lx-azure-ink); }
.lx-order__body p{ color:var(--lx-slate); }
.lx-order__price{
  display:inline-flex; align-items:baseline; gap:.4rem; margin-top:.6rem;
  font-weight:800; color:var(--lx-azure-ink); font-size:1.7rem;
}
.lx-order__price small{ font-weight:600; font-size:.9rem; color:var(--lx-slate); }

.lx-form{
  background:var(--lx-white); border-radius:var(--lx-r-l);
  padding:clamp(1.4rem,3vw,2rem); box-shadow:var(--lx-shade-m);
  border:1px solid var(--lx-silver-lt);
}
.lx-field{ margin-bottom:1.1rem; }
.lx-field label{
  display:block; font-weight:600; font-size:.9rem; color:var(--lx-ink); margin-bottom:.45rem;
}
.lx-field input{
  width:100%; font:inherit; color:var(--lx-ink);
  padding:.85rem 1rem; border-radius:var(--lx-r-s);
  border:1.5px solid var(--lx-silver);
  background:var(--lx-mist); transition:border-color .25s, box-shadow .25s, background .25s;
}
.lx-field input:focus{
  outline:none; border-color:var(--lx-azure); background:#fff;
  box-shadow:0 0 0 4px rgba(58,160,214,.16);
}
.lx-field input.is-bad{ border-color:#d9556b; background:#fff5f6; }
.lx-field__err{
  display:none; color:#c23a52; font-size:.82rem; margin-top:.4rem; font-weight:600;
}
.lx-field__err.is-shown{ display:block; }
.lx-form__submit{ width:100%; margin-top:.4rem; }
.lx-form__legal{ font-size:.8rem; color:var(--lx-slate); margin:1rem 0 0; }
.lx-form__legal a{ text-decoration:underline; }

/* =========================================================
   FOOTER
   ========================================================= */
.lx-foot{
  background:var(--lx-azure-ink); color:#d5e6f2;
  padding-block:clamp(2.6rem,5vw,3.6rem) 1.6rem;
}
.lx-foot__grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr;
  gap:clamp(1.5rem,4vw,2.6rem);
}
.lx-foot__brand{ display:flex; align-items:center; gap:.6rem; font-weight:800; font-size:1.3rem; color:#fff; margin-bottom:.7rem; }
.lx-foot__brand .lx-brand__dot{ box-shadow:0 4px 14px rgba(0,0,0,.3); }
.lx-foot p{ color:#bcd6e8; font-size:.95rem; }
.lx-foot h4{ color:#fff; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:1rem; }
.lx-foot ul{ list-style:none; padding:0; margin:0; display:grid; gap:.55rem; }
.lx-foot a{ color:#cfe2f0; }
.lx-foot a:hover{ color:#fff; text-decoration:underline; }
.lx-foot__contact li{ display:flex; gap:.5rem; color:#cfe2f0; font-size:.95rem; }
.lx-foot__rule{ border:none; border-top:1px solid rgba(255,255,255,.16); margin:2.2rem 0 1.4rem; }
.lx-foot__base{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:.8rem;
  font-size:.85rem; color:#9fc1d8;
}
.lx-foot__note{ max-width:60ch; }

/* =========================================================
   COOKIE BANNER
   ========================================================= */
.lx-cookie{
  position:fixed; left:50%; bottom:1.2rem; transform:translateX(-50%) translateY(160%);
  width:min(680px,calc(100% - 2rem)); z-index:90;
  background:var(--lx-white); border:1px solid var(--lx-silver-lt);
  border-radius:var(--lx-r-l); box-shadow:var(--lx-shade-l);
  padding:1.4rem 1.5rem; transition:transform .5s cubic-bezier(.2,.8,.3,1);
}
.lx-cookie.is-live{ transform:translateX(-50%) translateY(0); }
.lx-cookie h4{ color:var(--lx-azure-ink); margin-bottom:.4rem; }
.lx-cookie p{ font-size:.92rem; color:var(--lx-slate); margin:0 0 1rem; }
.lx-cookie__acts{ display:flex; flex-wrap:wrap; gap:.7rem; }
.lx-cookie__acts .lx-press{ padding:.7em 1.4em; font-size:.95rem; }

/* =========================================================
   LEGAL PAGES
   ========================================================= */
.lx-legal{ padding-block:clamp(2.4rem,5vw,4rem); }
.lx-legal__head{ max-width:60ch; margin-bottom:2.2rem; }
.lx-legal__head h1{ font-size:var(--lx-fs-h2); color:var(--lx-azure-ink); }
.lx-legal__head p{ color:var(--lx-slate); }
.lx-legal__body{
  max-width:780px;
  background:var(--lx-white); border:1px solid var(--lx-silver-lt);
  border-radius:var(--lx-r-l); box-shadow:var(--lx-shade-s);
  padding:clamp(1.6rem,4vw,2.8rem);
}
.lx-legal__body h2{ font-size:1.35rem; color:var(--lx-azure-ink); margin-top:2rem; }
.lx-legal__body h2:first-child{ margin-top:0; }
.lx-legal__body p, .lx-legal__body li{ color:var(--lx-slate); }
.lx-legal__body ul{ padding-left:1.2rem; }
.lx-legal__back{ display:inline-flex; margin-top:2rem; }
.lx-legal__meta{ font-size:.85rem; color:var(--lx-slate); margin-top:1.6rem; }

/* =========================================================
   SUCCESS PAGE
   ========================================================= */
.lx-done{
  min-height:70vh; display:grid; place-items:center;
  padding-block:clamp(3rem,6vw,5rem);
}
.lx-done__card{
  text-align:center; max-width:560px;
  background:var(--lx-white); border:1px solid var(--lx-silver-lt);
  border-radius:var(--lx-r-l); box-shadow:var(--lx-shade-m);
  padding:clamp(2rem,5vw,3.2rem);
}
.lx-done__ring{
  width:88px; height:88px; border-radius:50%; margin:0 auto 1.4rem;
  background:var(--lx-flow); display:grid; place-items:center;
  box-shadow:var(--lx-glow); animation:lx-pop .6s cubic-bezier(.2,.9,.3,1.4);
}
.lx-done__ring svg{ width:44px; height:44px; }
.lx-done__card h1{ font-size:var(--lx-fs-h2); color:var(--lx-azure-ink); }
.lx-done__card p{ color:var(--lx-slate); }
@keyframes lx-pop{ from{ transform:scale(.4); opacity:0; } to{ transform:scale(1); opacity:1; } }

/* =========================================================
   REVEAL ANIMATION
   ========================================================= */
.lx-rise{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.3,1); }
.lx-rise.is-seen{ opacity:1; transform:none; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 960px){
  .lx-lede__grid,
  .lx-fit__grid,
  .lx-show__grid,
  .lx-house__grid,
  .lx-order__panel{ grid-template-columns:1fr; }
  .lx-lede__frame{ aspect-ratio:16/11; order:-1; }
  .lx-fit__media{ order:-1; }
  .lx-show__stage img{ max-height:360px; }
  .lx-foot__grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 760px){
  .lx-nav{
    position:fixed; inset:0 0 0 auto; width:min(300px,82%);
    flex-direction:column; align-items:stretch; justify-content:flex-start;
    gap:.4rem; padding:5rem 1.4rem 2rem;
    background:var(--lx-white); box-shadow:var(--lx-shade-l);
    transform:translateX(110%); transition:transform .4s cubic-bezier(.2,.8,.3,1);
  }
  .lx-nav.is-live{ transform:translateX(0); }
  .lx-navlink{ font-size:1.05rem; }
  .lx-nav__cta{ margin-left:0; margin-top:.6rem; }
  .lx-burger{ display:flex; z-index:60; }
}

@media (max-width: 520px){
  .lx-foot__grid{ grid-template-columns:1fr; }
  .lx-priceplate{ flex-direction:column; align-items:flex-start; }
  .lx-cookie__acts .lx-press{ flex:1 1 auto; }
}
