/* game.love — minimalist burgundy */
:root{
  --font-sans: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;

  --marquee-duration: 38s;

  --bg:#2a1015;
  --bg2:#1b0b0f;
  --card: rgba(255,255,255,.06);
  --card2: rgba(255,255,255,.08);
  --text: rgba(255,255,255,.88);
  --muted: rgba(255,255,255,.62);
  --muted2: rgba(255,255,255,.42);
  --border: rgba(255,255,255,.14);
  --accent:#d7b6f5;
  --shadow: 0 18px 50px rgba(0,0,0,.35);
  --max: 1040px;
}

*{box-sizing:border-box}
html,body{height:100%}
html{background: var(--bg2);} /* iOS/Telegram fallback */
body{
  margin:0;
  color:var(--text);
  background-color: var(--bg2); /* fallback when gradients fail to paint */
  background: radial-gradient(1200px 800px at 15% 10%, #3c151c 0%, var(--bg) 55%, var(--bg2) 100%);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 300;
  line-height:1.55;
  letter-spacing: -0.01em;
}


/* Subtle animated starfield background */
body::before,
body::after{
  content:"";
  position:fixed;
  inset:-20%;
  pointer-events:none;
  z-index:-1;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.10) 0 1px, transparent 2px),
    radial-gradient(circle at 70% 20%, rgba(255,255,255,.08) 0 1px, transparent 2px),
    radial-gradient(circle at 40% 80%, rgba(215,182,245,.12) 0 1px, transparent 2px),
    radial-gradient(circle at 85% 75%, rgba(255,255,255,.06) 0 1px, transparent 2px);
  background-size: 360px 360px, 420px 420px, 520px 520px, 640px 640px;
  opacity: .35;
  filter: blur(.2px);
  animation: starDrift 34s linear infinite;
}
body::after{
  opacity:.20;
  animation-duration: 52s;
  transform: scale(1.08);
}
@keyframes starDrift{
  from{ transform: translate3d(0,0,0); }
  to{ transform: translate3d(-6%, 4%, 0); }
}

img{max-width:100%; display:block}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:0 28px}
.section{padding:160px 0}
.section--tight{padding:72px 0}

/* Header */
.header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:50;
  background: linear-gradient(to bottom, rgba(27,11,15,.72), rgba(27,11,15,0));
  backdrop-filter: blur(10px);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
}
.logo{
  text-decoration:none;
  font-family: var(--font-sans);
  font-size:14px;
  letter-spacing:.14em;
  text-transform: lowercase;
  color: rgba(255,255,255,.82);
  font-weight: 300;
}
.logo span{color: rgba(255,255,255,.62)}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-weight: 400;
  box-shadow: 0 8px 18px rgba(0,0,0,.22);
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.26)}
.btn:active{transform: translateY(0)}
.btn--ghost{
  background: transparent;
  border-color: rgba(255,255,255,.20);
  box-shadow:none;
}
.btn--wide{width:100%}

/* Hero */
.hero{
  position:relative;
  /* 100vh is buggy in iOS/Telegram (address bar). Use dynamic viewport units when available. */
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  padding-top:82px; /* header */
  overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 600px at 85% 20%, rgba(215,182,245,.14), rgba(215,182,245,0) 65%),
    radial-gradient(900px 600px at 20% 70%, rgba(255,255,255,.06), rgba(255,255,255,0) 60%);
  pointer-events:none;
}
.hero__inner{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 34px;
  align-items:center;
  padding: 52px 0 40px;
}
.hero__left{position:relative; z-index:2}
.hero__title{
  margin: 0 0 22px;
  font-family: var(--font-sans);
  font-weight: 200;
  line-height: .88;
  letter-spacing: -0.04em;
  font-size: clamp(56px, 7.6vw, 96px);
}
.hero__word{display:block}
.hero__word--muted{color: rgba(255,255,255,.46); font-weight:200}

.quote{
  margin: 0;
  max-width: 520px;
  font-size: 16px;
  color: rgba(255,255,255,.72);
}
.quote span{color: rgba(255,255,255,.52)}

.hero__right{position:relative; z-index:2; display:flex; justify-content:flex-end}
.marquee{
  width:min(420px, 100%);
  height: min(520px, calc(100vh - 180px));
  border-radius: 24px;
  overflow:hidden;
  background: transparent;
}
.marquee__track{
  display:flex;
  flex-direction:column;
  gap: 18px;
  padding: 0;
  animation: marqueeY var(--marquee-duration) linear infinite;
}
.marquee__item{
  margin:0;
  border-radius: 20px;
  overflow:hidden;
}
.marquee__item img{
  width:100%;
  height: 250px;
  object-fit: cover;
  filter: saturate(0.92) contrast(1.02);
}
@keyframes marqueeY{
  from{transform: translateY(0)}
  to{transform: translateY(-50%)}
}

/* Stars overlay */
.hero__stars{position:absolute; inset:0; pointer-events:none; opacity:.95}
.stars{width:100%; height:100%}
.orbit{
  fill:none;
  stroke: rgba(255,255,255,.34);
  stroke-width: 1.2;
  stroke-dasharray: 3 10;
  animation: dash 18s linear infinite;
}
.o2{opacity:.55; animation-duration: 26s}
@keyframes dash{to{stroke-dashoffset:-240}}

.sparkles{
  transform-origin: 50% 50%;
  animation: float 26s ease-in-out infinite;
}
@keyframes float{
  0%{transform: translate(0,0) rotate(-2deg)}
  50%{transform: translate(0,-10px) rotate(2deg)}
  100%{transform: translate(0,0) rotate(-2deg)}
}
.spark{
  fill: rgba(255,255,255,.92);
  filter: drop-shadow(0 8px 20px rgba(0,0,0,.35));
  transform-origin: center;
}

@keyframes twinkle{
  0%,100%{opacity:.55}
  50%{opacity:1}
}

.s1{transform: translate(640px,170px) rotate(-8deg); animation: twinkle 3.6s ease-in-out infinite}
.s2{transform: translate(780px,120px) rotate(12deg); animation: twinkle 4.2s ease-in-out infinite}
.s3{transform: translate(560px,260px) rotate(4deg); animation: twinkle 3.2s ease-in-out infinite}
.s4{transform: translate(860px,250px) rotate(-10deg); animation: twinkle 4.8s ease-in-out infinite}
.s5{transform: translate(720px,360px) rotate(9deg); animation: twinkle 3.9s ease-in-out infinite}
.s6{transform: translate(480px,420px) rotate(-6deg); animation: twinkle 5.1s ease-in-out infinite}

/* Scroll hint */
.scrollHint{
  position:absolute;
  left: 22px;
  bottom: 18px;
  display:flex;
  align-items:center;
  gap:10px;
  opacity:.7;
  z-index:3;
}
.scrollHint__line{
  width:42px;
  height:1px;
  background: rgba(255,255,255,.45);
  position:relative;
  overflow:hidden;
}
.scrollHint__line::after{
  content:"";
  position:absolute;
  left:-40%;
  top:0;
  width:40%;
  height:100%;
  background: rgba(255,255,255,.85);
  animation: line 1.6s ease-in-out infinite;
}
@keyframes line{
  0%{transform: translateX(0)}
  100%{transform: translateX(220%)}
}
.scrollHint__text{
  font-size:12px;
  letter-spacing:.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}

/* Typography / layout */
.h2{
  margin:0;
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: clamp(30px, 3.2vw, 44px);
  letter-spacing: -0.03em;
}
.dot{color: var(--accent)}
.lead{
  margin:0 0 18px;
  font-size: 18px;
  color: rgba(255,255,255,.78);
}
.sub{margin:10px 0 0; color: rgba(255,255,255,.62)}
.note{margin:14px 0 0; color: rgba(255,255,255,.55); font-size: 14px}
.fine{margin:10px 0 0; color: rgba(255,255,255,.55); font-size: 12px}

.sectionHead{display:flex; align-items:flex-end; justify-content:space-between; gap: 18px; margin-bottom: 26px}
.sectionHead .sub{max-width: 520px}

/* Split */
.split{display:grid; grid-template-columns: .9fr 1.1fr; gap: 34px; align-items:start}
.actions{display:flex; flex-wrap:wrap; gap: 12px; margin-top: 18px}

/* Cards */
.grid3{display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px}
.card{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 14px 40px rgba(0,0,0,.25);
}
.card__num{
  font-size: 12px;
  letter-spacing:.14em;
  color: rgba(255,255,255,.55);
  margin-bottom: 10px;
}
.card h3{margin:0 0 8px; font-weight:500}
.card p{margin:0; color: rgba(255,255,255,.70)}

/* Tiles */
.tiles{display:grid; grid-template-columns: repeat(3, 1fr); gap: 22px}
.tiles--6{grid-template-columns: repeat(3, 1fr);}
.tile{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  border-radius: 26px;
  overflow:hidden;
  box-shadow: 0 14px 44px rgba(0,0,0,.22);
}
.tile img{width:100%; height: 210px; object-fit: cover; background: rgba(0,0,0,.10); filter: saturate(.92) contrast(1.02)}
.tile__meta{padding: 16px 18px 20px; min-height: 118px}
.tile__meta h3{margin:0 0 8px; font-weight:500}
.tile__meta p{margin:0; color: rgba(255,255,255,.70)}
.miniCta{display:flex; gap: 12px; justify-content:center; margin-top: 22px}

/* Price */
.price{display:grid; grid-template-columns: 1fr .9fr; gap: 18px; align-items:center}
.price__box{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  border-radius: 24px;
  padding: 22px;
  box-shadow: var(--shadow);
}
.price__row{display:flex; align-items:baseline; gap: 14px; margin: 12px 0 6px}
.price__old{color: rgba(255,255,255,.48); text-decoration: line-through; font-size: 18px}
.price__now{font-size: 34px; font-weight: 600; letter-spacing: -0.02em}
.list{margin: 14px 0 0; padding:0 0 0 18px; color: rgba(255,255,255,.70)}
.list li{margin: 6px 0}
.price__visual img{
  width:100%;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: var(--shadow);
  opacity: .98;
  filter: saturate(.92);
}

/* FAQ */
.faq{display:grid; gap: 10px}
.faq__item{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  border-radius: 18px;
  padding: 14px 16px;
}
.faq__item summary{
  cursor:pointer;
  list-style:none;
  font-weight: 400;
  color: rgba(255,255,255,.84);
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item p{margin: 10px 0 0; color: rgba(255,255,255,.70)}

/* Contact */
.contact{display:grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items:start}
.form{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  border-radius: 24px;
  padding: 18px;
  box-shadow: var(--shadow);
}
.field{display:grid; gap: 8px; margin-bottom: 12px}
.field span{font-size: 12px; letter-spacing:.08em; text-transform: uppercase; color: rgba(255,255,255,.55)}
input{
  width:100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.16);
  color: rgba(255,255,255,.92);
  outline:none;
}
input::placeholder{color: rgba(255,255,255,.40)}
input:focus{border-color: rgba(215,182,245,.52); box-shadow: 0 0 0 4px rgba(215,182,245,.10)}

.link{color: rgba(255,255,255,.82); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.24)}
.link:hover{border-bottom-color: rgba(255,255,255,.55)}

/* Footer */
.footer{padding: 34px 0 44px; color: rgba(255,255,255,.58)}
.footer__inner{display:flex; justify-content:space-between; gap: 14px; align-items:center}
.footer__right{display:flex; gap: 14px}

/* Scroll reveal */
[data-animate]{opacity:0; transform: translateY(12px); transition: opacity .7s ease, transform .7s ease}
.in{opacity:1; transform: translateY(0)}

/* Responsive */
@media (max-width: 900px){
  /* Telegram/iOS WebView can glitch with fixed + backdrop-filter; simplify on mobile */
  .header{backdrop-filter:none; background: rgba(27,11,15,.92);}
  body::before, body::after{position:absolute;}

  .hero__inner{grid-template-columns:1fr; padding: 34px 0 40px}
  .hero__right{justify-content:flex-start}
  .marquee{height: 380px}
  .split{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .tiles{grid-template-columns:1fr}
  .price{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .sectionHead{flex-direction:column; align-items:flex-start}
}

@media (max-width: 600px){
  .container{padding: 0 18px;}
  body{padding-bottom: calc(110px + env(safe-area-inset-bottom));}
  .section{padding: 96px 0;}
  .section--tight{padding: 56px 0;}

  .hero{padding-top: 74px;}
  .hero__inner{padding-top: 84px; padding-bottom: 72px; gap: 18px;}
  .hero__title{font-size: clamp(44px, 12vw, 64px);}
  .quote{font-size: 15px;}
  .marquee{height: 300px;}
  .marquee__item img{height: 200px;}

  .floatingCta{left: 14px; right: 14px; bottom: 14px;}
}


/* Typography tweaks for more air + reference-like feel */
.h2, .h3, .hero__word{font-family: var(--font-sans);} 
.hero__word{letter-spacing:-0.05em;}
.hero__word{font-weight:700;}
.hero__word--muted{font-weight:300; opacity:.55;}
.quote{font-family: var(--font-serif); font-style: italic; letter-spacing:0;}

/* Make layout breathe */
.hero__inner{padding-top: 110px; padding-bottom: 110px;}
.hero__left{gap: 44px;}
.hero__title{
  margin: 0 0 22px;
  font-family: var(--font-sans);
  font-weight: 600;
  line-height: .88;
  letter-spacing: -0.04em;
  font-size: clamp(56px, 7.6vw, 96px);
}
.sub{max-width: 62ch; line-height: 1.6;}
.p{line-height: 1.65;}
.tiles{gap: 22px;}
.tile{padding: 22px 22px;}
.sectionHead{margin-bottom: 40px;}

/* Slideshow: no underlay, slower, just photos */
.marquee{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.marquee__track{
  padding: 0 !important;
  gap: 18px !important;
  animation-duration: var(--marquee-duration);
}
.marquee__item img{border-radius: 22px;}

/* Floating stars (hanging in the air) */
.floatStars{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
}
.floatStar{
  position:absolute;
  width: 22px; height: 22px;
  background: url('assets/star.svg') no-repeat center/contain;
  opacity: .35;
  filter: drop-shadow(0 12px 22px rgba(0,0,0,.35));
  animation: floaty 6.5s ease-in-out infinite;
}
.floatStar.fs1{left: 8%; top: 18%; --r: 8deg; animation-duration: 7.5s;}
.floatStar.fs2{left: 18%; top: 62%; --r: -6deg; width: 16px; height: 16px; opacity:.25; animation-duration: 9s;}
.floatStar.fs3{left: 42%; top: 14%; --r: 4deg; width: 14px; height: 14px; opacity:.22; animation-duration: 8.2s;}
.floatStar.fs4{left: 56%; top: 44%; --r: -3deg; width: 18px; height: 18px; opacity:.26; animation-duration: 7.8s;}
.floatStar.fs5{left: 72%; top: 20%; --r: 10deg; width: 12px; height: 12px; opacity:.18; animation-duration: 10.5s;}
.floatStar.fs6{left: 82%; top: 58%; --r: -12deg; width: 20px; height: 20px; opacity:.28; animation-duration: 9.6s;}
.floatStar.fs7{left: 64%; top: 78%; --r: 7deg; width: 14px; height: 14px; opacity:.2; animation-duration: 11s;}
.floatStar.fs8{left: 30%; top: 78%; --r: -9deg; width: 10px; height: 10px; opacity:.16; animation-duration: 12s;}

@keyframes floaty{
  0%,100%{ transform: translateY(0) rotate(var(--r, 0deg)); }
  50%{ transform: translateY(-14px) rotate(var(--r, 0deg)); }
}

/* Inside section heading lift for more 'freedom' */
#inside .sectionHead{
  transform: translateY(-22px);
  margin-bottom: 18px;
  position: relative;
  z-index: 2;
}
#inside .tiles{margin-top: -10px;}

/* Inside caption */
.caption{
  margin: 22px 0 0;
  color: rgba(255,255,255,.62);
  font-size: 14px;
  max-width: 72ch;
}

/* Feel section */
.feel{
  position: relative;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius: 28px;
  padding: 46px 44px 56px;
  min-height: 420px;
  overflow:hidden;
}
.feel__lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:.55;
  pointer-events:none;
}
.feel__line{
  fill:none;
  stroke: rgba(255,255,255,.30);
  stroke-width: 1.15;
  stroke-dasharray: 3 10;
  animation: dash 22s linear infinite;
}
.feel__line--soft{
  opacity:.55;
  animation-duration: 34s;
}
.feel__chip{
  position:absolute;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
  color: rgba(255,255,255,.84);
  font-size: 14px;
  line-height: 1.25;
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
  max-width: 260px;
}
.feel__chip::after{
  content:"";
  position:absolute;
  inset:-18px;
  border-radius: 22px;
  background: radial-gradient(closest-side, rgba(215,182,245,.14), transparent 70%);
  opacity:.55;
  z-index:-1;
}
.feel .c1{left: 7%; top: 16%; transform: rotate(-2deg);}
.feel .c2{left: 35%; top: 8%; transform: rotate(2deg); max-width: 220px;}
.feel .c3{left: 58%; top: 22%; transform: rotate(-1deg); max-width: 280px;}
.feel .c4{left: 18%; top: 54%; transform: rotate(1deg);}
.feel .c5{left: 56%; top: 62%; transform: rotate(-2deg);}

.feel__cta{
  position:absolute;
  right: 44px;
  bottom: 40px;
}

.btn--pulse{
  border-color: rgba(215,182,245,.45);
  background: rgba(215,182,245,.16);
  box-shadow: 0 18px 60px rgba(215,182,245,.18);
  animation: pulse 1.8s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{ transform: translateY(0); box-shadow: 0 18px 60px rgba(215,182,245,.16); }
  50%{ transform: translateY(-1px); box-shadow: 0 22px 70px rgba(215,182,245,.26); }
}

@media (max-width: 900px){
  .feel{
    padding: 26px 18px 22px;
    min-height: auto;
  }
  /* Keep the "cloud" but make chips lighter on mobile */
  .feel__lines{display:none;}
  .feel__cloud{height: 420px;}
  .chip{
    font-size: 14px;
    padding: 10px 12px;
    max-width: 86%;
    border-radius: 999px;
    backdrop-filter: none;
  }
  /* Remove the in-section CTA on mobile to avoid overlaps with chips + floating CTA */
  .feel__cta{display:none;}
}

/* Floating CTA (always highlighted) */
.floatingCta{
  position: fixed;
  right: 22px;
  bottom: calc(22px + env(safe-area-inset-bottom));
  z-index: 60;
  padding: 12px 18px;
  border-radius: 999px;
  backdrop-filter: blur(12px);
  transform: translateZ(0);
}
.btn--glow{
  background: rgba(215,182,245,.14);
  border-color: rgba(215,182,245,.40);
  box-shadow: 0 14px 40px rgba(215,182,245,.22), 0 12px 28px rgba(0,0,0,.28);
  animation: pulseGlow 2.6s ease-in-out infinite;
}
@keyframes pulseGlow{
  0%,100%{ filter: brightness(1); }
  50%{ filter: brightness(1.15); }
}

/* Generated floating stars (background) */
#bgStars{
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  overflow: hidden;
}
.bgStar{
  position:absolute;
  width: 26px;
  height: 26px;
  background: url("assets/star.svg") center/contain no-repeat;
  opacity: .22;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.35));
  animation: starFloat var(--d, 12s) ease-in-out infinite, starTwinkle var(--t, 3.2s) ease-in-out infinite;
  transform: translate3d(0,0,0) rotate(var(--r, 0deg));
}
@keyframes starFloat{
  0%{ transform: translate3d(0,0,0) rotate(var(--r,0deg)); }
  50%{ transform: translate3d(0, -18px, 0) rotate(calc(var(--r,0deg) + 6deg)); }
  100%{ transform: translate3d(0,0,0) rotate(var(--r,0deg)); }
}
@keyframes starTwinkle{
  0%,100%{ opacity: .10; }
  50%{ opacity: .30; }
}

/* INSIDE tiles: prevent cropping text-heavy images */
.tile img{
  height: 220px;
  object-fit: contain;
  background: rgba(255,255,255,.92);
  padding: 14px;
}

/* FEEL section */
.feel{ position:relative; margin-top: 26px; }
.feel__lines{
  position:absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .95;
  pointer-events:none;
}
.feel__path{
  fill:none;
  stroke: rgba(255,255,255,.32);
  stroke-width: 2;
  stroke-dasharray: 6 10;
  animation: dashMove 8s linear infinite;
}
.feel__path--2{
  opacity: .55;
  animation-duration: 12s;
}
@keyframes dashMove{
  to{ stroke-dashoffset: -160; }
}
.feel__cloud{
  position:relative;
  min-height: 420px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
  overflow:hidden;
}
.chip{
  position:absolute;
  left: var(--x, 10%);
  top: var(--y, 10%);
  transform: rotate(var(--r, 0deg));
  max-width: min(420px, 70%);
  padding: 12px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(27,11,15,.42);
  color: rgba(255,255,255,.88);
  font-weight: 300;
  backdrop-filter: blur(10px);
}
.feel__cta{
  position:absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 2;
}

@media (max-width: 820px){
  .floatingCta{ left: 18px; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom)); justify-content:center; }
  .chip{ max-width: 86%; }
  .feel__cloud{ min-height: 520px; }
}

/* Mobile polish */
@media (max-width: 600px){
  .container{padding: 0 18px;}
  .section{padding: 110px 0;}
  .section--tight{padding: 64px 0;}

  .hero{padding-top: 74px;}
  .hero__inner{padding-top: 84px; padding-bottom: 56px; gap: 22px;}
  .hero__title{font-size: clamp(44px, 12.5vw, 62px); line-height: .92;}
  .quote{font-size: 14px; max-width: 34ch;}

  .marquee{height: 300px;}
  .marquee__item img{height: 190px;}

  /* keep floating CTA above iOS bottom bars */
  .floatingCta{bottom: max(14px, env(safe-area-inset-bottom));}

  /* FEEL: mobile layout fix (chips readable, no clipping) */
  #feel .feel__cta{ display:none !important; }
  #feel .feel__cloud{
    /* Mobile layout: stack chips so they never overlap */
    min-height: auto;
    height: auto;
    overflow: visible;
    padding: 22px 14px 26px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    align-content: start;
  }
  #feel .chip{
    position: relative;
    left: auto;
    top: auto;
    display: inline-block;
    box-sizing: border-box;
    max-width: 100%;
    width: fit-content;
    font-size: clamp(12px, 3.4vw, 14px);
    line-height: 1.25;
    padding: clamp(9px, 2.6vw, 11px) clamp(12px, 3.6vw, 14px);
    transform: rotate(var(--r, 0deg));
    justify-self: var(--self, start);
    margin-left: var(--ml, 0px);
    margin-right: var(--mr, 0px);
  }
  /* Slightly varied alignment to keep the "scattered" feeling, without collisions */
  #feel .chip:nth-child(1){ --self: start;  --ml: 0px;  }
  #feel .chip:nth-child(2){ --self: end;    --mr: 0px;  }
  #feel .chip:nth-child(3){ --self: start;  --ml: 18px; }
  #feel .chip:nth-child(4){ --self: end;    --mr: 12px; }
  #feel .chip:nth-child(5){ --self: center; }

  /* Mobile-specific positions to avoid overlaps */
  /* Explicit mobile positions so chips never overlap on narrow screens */
  #feel .feel__cloud .chip:nth-child(1){ --x: 10%; --y: 16%; --r: -6deg; }
  #feel .feel__cloud .chip:nth-child(2){ --x: 52%; --y: 32%; --r:  6deg; }
  #feel .feel__cloud .chip:nth-child(3){ --x: 10%; --y: 54%; --r:  3deg; }
  #feel .feel__cloud .chip:nth-child(4){ --x: 54%; --y: 72%; --r: -5deg; }
  #feel .feel__cloud .chip:nth-child(5){ --x: 18%; --y: 88%; --r: -2deg; }



}

@media (prefers-reduced-motion: reduce){
  .btn--glow, .bgStar, body::before, body::after, .feel__path{ animation: none !important; }
}
