html, body, #root { margin: 0; min-height: 100%; background: #26402b; }
.ibs { --g:#26402b; --g2:#1d3222; --cream:#f1e8d4; --gold:#c9a96a;
  background: radial-gradient(120% 60% at 50% 0%, #3b5a3f 0%, var(--g) 45%, var(--g2) 100%);
  color: var(--cream); font-family: Georgia, 'Times New Roman', serif; line-height: 1.6;
  padding: 36px 22px 48px; box-sizing: border-box; min-height: 100vh; }
.ibs > * { max-width: 560px; margin-left: auto; margin-right: auto; }
.hero { text-align: center; }
.cover { width: min(64%, 260px); height: auto; display: block; margin: 0 auto 28px; border-radius: 3px;
  box-shadow: 0 18px 40px rgba(0,0,0,.45), 0 0 0 1px rgba(201,169,106,.35); }
.eyebrow { margin: 0; letter-spacing: .22em; text-transform: uppercase; font-size: 12px; color: var(--gold); }
h1 { font-size: 40px; line-height: 1.1; margin: 8px 0 10px; letter-spacing: .04em; text-transform: uppercase; font-weight: 700; }
.sub { margin: 0; font-style: italic; font-size: 18px; }
.lede { margin: 18px 0 24px; color: var(--gold); letter-spacing: .12em; text-transform: uppercase; font-size: 13px; }
.buy { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 32px; box-sizing: border-box;
  background: var(--gold); color: #1d3222; font-weight: 700; font-size: 17px; text-decoration: none; border-radius: 4px; font-family: inherit; }
.buy.is-soon { background: transparent; color: var(--gold); border: 1px solid var(--gold); }
.block { margin-top: 44px; border-top: 1px solid rgba(201,169,106,.35); padding-top: 28px; }
.book { text-align: center; }
h2 { font-size: 24px; margin: 0 0 12px; font-weight: 400; }
p { margin: 0 0 14px; }
.inside { list-style: none; padding: 0; margin: 0; }
.inside li { display: flex; gap: 16px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid rgba(241,232,212,.12); }
.inside b { flex: 0 0 52px; font-size: 30px; color: var(--gold); font-weight: 400; text-align: right; }
.facts { margin: 0 0 20px; text-align: left; }
.facts div { display: flex; justify-content: space-between; gap: 20px; padding: 9px 0; border-bottom: 1px solid rgba(241,232,212,.12); }
.facts dt { color: var(--gold); } .facts dd { margin: 0; text-align: right; }
.gift { font-style: italic; margin-bottom: 22px; }
.fine { margin-top: 36px; font-size: 12px; opacity: .65; text-align: center; }
@media (min-width: 768px) { .ibs { padding-top: 64px; } h1 { font-size: 52px; } }

.faq { text-align: left !important; }
.qa { padding: 14px 0; border-bottom: 1px solid rgba(241,232,212,.12); }
.qa h3 { font-size: 18px; margin: 0 0 6px; font-weight: 700; color: var(--gold); }
.qa p { margin: 0; }
.about strong { color: var(--gold); }

.promo-video{width:100%;max-width:720px;aspect-ratio:16/9;border-radius:12px;background:#0b1f17;display:block;margin:0 auto}
html, body { background: #26402b; margin: 0; }
.promo-link { display:block; position:relative; max-width:560px; margin:0 auto; border-radius:12px; overflow:hidden; text-decoration:none; color:inherit; }
.promo-link img { width:100%; height:auto; display:block; opacity:.55 }
.promo-link span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-weight:700; letter-spacing:.06em; color:#f1e8d4; font-size:18px; }

/* dynamic background: slow light drift + floating seeds; transform/opacity only */
html, body { background:#1d3222; }
.bg { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.bg::before { content:""; position:absolute; inset:-20%; background:
  radial-gradient(40% 35% at 25% 30%, rgba(201,169,106,.16), transparent 70%),
  radial-gradient(45% 40% at 75% 70%, rgba(96,140,96,.20), transparent 70%);
  animation: drift 40s ease-in-out infinite alternate; will-change: transform; }
.bg i { position:absolute; left:var(--x); bottom:-24px; width:var(--s); height:var(--s); border-radius:50%;
  background: radial-gradient(circle, rgba(241,232,212,.9), rgba(241,232,212,0) 70%); opacity:0;
  animation: rise var(--w) linear infinite, sway 7s ease-in-out infinite alternate; animation-delay: var(--d), var(--d); will-change: transform, opacity; }
@keyframes drift { from { transform: translate3d(-3%,-2%,0) scale(1); } to { transform: translate3d(3%,2%,0) scale(1.08); } }
@keyframes rise { 0% { transform: translate3d(0,0,0); opacity:0; } 10% { opacity:.55; } 85% { opacity:.4; } 100% { transform: translate3d(0,-115vh,0); opacity:0; } }
@keyframes sway { from { margin-left:-14px; } to { margin-left:14px; } }
.ibs { position:relative; z-index:1; background:transparent !important; }
.promo-video { width:100%; max-width:560px; aspect-ratio:16/9; display:block; margin:0 auto; border-radius:12px; background:#0b1f17; box-shadow:0 10px 30px rgba(0,0,0,.4); }
@media (prefers-reduced-motion: reduce) { .bg::before, .bg i { animation:none !important; } .bg i { display:none; } }
.promo-video { height:auto !important; }

.gallery figure{margin:0 0 14px}.gallery img{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.prompts { margin: 14px 0; padding-left: 24px; text-align: left; }
.prompts li { padding: 8px 0; font-size: 18px; line-height: 1.45; }
.prompts li::marker { color: var(--gold); }
.samples .note { opacity: .8; font-size: 15px; }
