/* A small offer inside the existing hero; the original hero remains primary. */
.hero-inner:has(.offer-spotlight:not([hidden])) {
  display:grid; grid-template-columns:minmax(0,1fr) 268px; align-items:center;
  column-gap:60px; padding-block:44px;
}
.offer-spotlight { position:relative; min-width:0; width:100%; color:#fff; }
.offer-spotlight[hidden] { display:none; }
.offer-header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.offer-label { display:flex; align-items:center; gap:7px; color:#e5c68e; font-size:12px; font-weight:700; }
.offer-label>span { font-size:17px; }
.offer-art { position:relative; perspective:1000px; padding:0 10px; }
.offer-art::before { content:""; position:absolute; inset:12% -20% 0; pointer-events:none; background:radial-gradient(ellipse,#be9ee82b,transparent 66%); }
.offer-poster-float { position:relative; transform-style:preserve-3d; animation:offer-float 7s ease-in-out infinite; animation-play-state:paused; }
.offer-poster-float::before,.offer-poster-float::after { content:""; position:absolute; inset:0; border:1px solid #e1c99b40; border-radius:12px; pointer-events:none; }
.offer-poster-float::before { background:#aa88bb18; transform:translate(6px,4px) rotate(3deg) translateZ(-12px); }
.offer-poster-float::after { background:#e5c99c0d; transform:translate(-5px,2px) rotate(-3deg) translateZ(-6px); }
.offer-poster { --offer-rx:0deg; --offer-ry:0deg; position:relative; z-index:1; display:block; width:100%; padding:0; border:3px solid #f3eaf6; border-radius:10px; background:#f3eaf6; cursor:zoom-in; box-shadow:0 18px 32px -12px #130720a6; transform:rotateX(var(--offer-rx)) rotateY(var(--offer-ry)); transition:transform .3s ease; }
.offer-poster img { display:block; width:100%; height:auto; max-height:330px; aspect-ratio:4/5; object-fit:contain; border-radius:7px; background:#f3eaf6; opacity:0; transition:opacity .3s; }
.offer-spotlight.is-image-ready .offer-poster img { opacity:1; }
.offer-poster:disabled { cursor:wait; }
.offer-zoom-hint { position:absolute; inset:auto auto 8px 8px; display:flex; align-items:center; gap:5px; padding:5px 7px; border:1px solid #ffffff45; border-radius:6px; background:#28113fec; color:#fff; font-size:9px; opacity:0; transition:opacity .2s; }
.offer-zoom-hint svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.6; }
.offer-poster:hover .offer-zoom-hint,.offer-poster:focus-visible .offer-zoom-hint { opacity:1; }
.offer-copy { margin-top:15px; text-align:center; }
.offer-copy h2 { --site-h2:13px; margin:0; color:#eee5f5; font-weight:500; overflow-wrap:anywhere; }
.offer-inquiry { display:inline-flex; align-items:center; gap:12px; margin-top:9px; color:#e5c68e; font-size:11px; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#e5c68e55; }
.offer-inquiry:hover { color:#fff; }
.offer-spotlight.is-in-view .offer-poster-float { animation-play-state:running; }

.offer-spotlight.is-image-missing .offer-art { display:none; }
.offer-spotlight :is(a,button):focus-visible,.offer-dialog :is(a,button):focus-visible { outline:2px solid #e3c18b; outline-offset:4px; }
@keyframes offer-float {
  0%,100% { transform:translate3d(0,0,0) rotateX(3deg) rotateY(-9deg) rotateZ(-1.5deg); }
  33% { transform:translate3d(5px,-13px,20px) rotateX(-5deg) rotateY(8deg) rotateZ(1.5deg); }
  66% { transform:translate3d(-4px,-6px,10px) rotateX(3deg) rotateY(10deg) rotateZ(-1deg); }
}
@media(max-width:1000px) and (min-width:761px) {
  .hero-inner:has(.offer-spotlight:not([hidden])) { grid-template-columns:minmax(0,1fr) 230px; gap:30px; }
}
@media(max-width:760px) {
  .hero-inner:has(.offer-spotlight:not([hidden])) { grid-template-columns:1fr; row-gap:26px; padding-block:38px; }
  .offer-spotlight { display:grid; grid-template-columns:144px minmax(0,1fr); gap:8px 18px; width:min(100%,460px); margin-inline:auto; padding:18px 0 0; border-top:1px solid #ffffff20; }
  .offer-art { grid-column:1; grid-row:1 / 3; padding:0 5px; align-self:center; }
  .offer-header { grid-column:2; grid-row:1; margin:0; align-self:end; flex-wrap:wrap; gap:6px; }
  .offer-copy { grid-column:2; grid-row:2; align-self:start; text-align:start; margin:0; }
  .offer-copy h2 { --site-h2:13px; }
  .offer-poster img { max-height:185px; }
  .offer-dialog-toolbar { gap:10px; padding:10px 12px; }
}
@media(prefers-reduced-motion:reduce) {
  .offer-spotlight *, .offer-spotlight *::before,.offer-spotlight *::after { animation:none!important; transition:none!important; }
  .offer-poster { transform:none!important; }
}
.offer-dialog { position:fixed; inset:0; margin:auto; width:min(460px,90vw); max-height:82vh; max-height:82dvh; padding:0; border:1px solid #ffffff4d; border-radius:16px; background:#f6f1fb; color:#32124f; box-shadow:0 30px 100px #0006; }
.offer-dialog::backdrop { background:#10081cce; backdrop-filter:blur(8px); }
.offer-dialog-toolbar { position:sticky; top:0; display:flex; align-items:center; gap:12px; padding:8px 12px; background:#f6f1fb; border-bottom:1px solid #e3d9ec; font-size:13px; }
.offer-dialog-toolbar>button { margin-inline-start:auto; flex-shrink:0; display:grid; place-items:center; width:36px; height:36px; border:1px solid #ded0e8; border-radius:50%; background:#fff; color:#32124f; font-size:24px; cursor:pointer; }
.offer-dialog>img { width:100%; height:auto; max-height:calc(82vh - 56px); max-height:calc(82dvh - 56px); object-fit:contain; display:block; }
body:has(.offer-dialog[open]) { overflow:hidden; }
