
:root{--cream:#faf6ef;--ink:#392c26}html{scroll-behavior:smooth}body{background:var(--cream)}.v57-intro{text-align:center;padding:64px 18px 45px;background:#faf6ef;color:var(--ink)}.v57-intro h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.4rem,5vw,4.8rem);margin:15px auto 20px}.v57-intro h1 em,.v57-finale em{font-weight:400}.v57-intro>p:not(.kicker){font-size:1.08rem;margin:9px auto}.v57-hint{color:#887669}.infinity-map{background:#1b2119}.infinity-scroll{overflow-x:auto;overscroll-behavior-x:contain}.infinity-art{position:relative;max-width:1536px;min-width:980px;margin:auto}.infinity-art>img{width:100%;height:auto;display:block}.garden-hotspot,.flutter-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:12%;height:13%;border:0;background:transparent;cursor:pointer;border-radius:16px;z-index:2}.garden-hotspot:hover,.flutter-hotspot:hover{background:rgba(255,241,195,.15);box-shadow:0 0 0 2px #ffe4a5}.garden-hotspot:focus-visible,.flutter-hotspot:focus-visible{outline:3px solid #fff4b9;outline-offset:3px;background:rgba(255,255,255,.15)}.flutter-hotspot{left:50%;top:52%;width:13%;height:14%}.garden-guide{display:flex;justify-content:center;gap:25px;padding:17px 20px;color:#f2e8d6;font-size:.84rem;letter-spacing:.04em}.mobile-only{display:none}.v57-mobile-picker{display:none}.v57-finale{text-align:center;padding:80px 18px 90px;background:linear-gradient(145deg,#f5eee6,#e8eee1);color:var(--ink)}.v57-finale h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,3.8rem);margin:14px 0}.v57-finale p:not(.kicker){margin-bottom:32px}.v57-link{display:inline-block;background:#a87934;color:white!important;text-decoration:none;padding:15px 25px;letter-spacing:.09em;font-size:.77rem;text-transform:uppercase}.v57-secondary{display:inline-block;margin:15px 20px;color:#57473d;text-underline-offset:5px}.v57-modal[hidden]{display:none}.v57-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:22px}.v57-shade{position:absolute;inset:0;background:rgba(23,21,18,.75);backdrop-filter:blur(5px)}.v57-dialog{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(850px,100%);max-height:calc(100vh - 44px);overflow:auto;background:#faf6ef;box-shadow:0 25px 90px #0007}.v57-photo{min-height:420px;background:linear-gradient(145deg,#f4e8d7,#ddd2c0);display:flex;align-items:center;justify-content:center;padding:25px}.v57-photo img{display:block;max-width:100%;max-height:530px;object-fit:contain}.v57-copy{padding:70px 40px 35px;align-self:center}.v57-copy h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.1rem,4vw,3.7rem);margin:10px 0}.v57-place{font:italic 1.45rem Georgia,serif;color:#94715d;margin:0 0 24px}.v57-copy>p:not(.kicker){line-height:1.7}.v57-close{position:absolute;right:14px;top:10px;background:#faf6ef;border:0;color:#40342d;font-size:2rem;cursor:pointer;z-index:1;width:44px;height:44px}.v57-back{display:block;margin-top:20px;border:0;background:transparent;color:#584738;text-decoration:underline;text-underline-offset:5px;padding:10px 0;cursor:pointer}.v57-pills{display:flex;gap:8px;overflow-x:auto;padding:12px 2px}.v57-pill{flex:0 0 auto;border:1px solid #cdbda9;background:#fffaf2;border-radius:40px;padding:11px 17px;color:#49372e;cursor:pointer}.v57-pill:focus-visible{outline:3px solid #9d6f30}.notice{margin-top:30px;margin-bottom:30px;text-align:center}@media(max-width:700px){.v57-intro{padding:42px 18px 30px}.infinity-art{min-width:980px}.infinity-scroll{scrollbar-width:thin}.garden-guide{flex-direction:column;text-align:center;gap:6px}.mobile-only{display:block}.v57-mobile-picker{display:block;padding:24px 18px 12px;background:#faf6ef}.v57-dialog{grid-template-columns:1fr}.v57-photo{min-height:0;padding:25px 30px 15px}.v57-photo img{max-height:42vh}.v57-copy{padding:20px 28px 30px}.v57-modal{padding:10px}.v57-dialog{max-height:calc(100vh - 20px)}.v57-finale{padding:55px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v5.7.2: seamless garden artwork; embedded mockup header removed from image */
.infinity-art{max-width:none;width:100%}.infinity-map{background:#192118}.infinity-scroll{overflow-x:auto}.flutter-hotspot{top:48.48%}@media(min-width:701px){.infinity-art{min-width:0}.infinity-map{width:100%;margin:0}.infinity-scroll{overflow:visible}}

/* v5.7.3: accurate gemstone hit targets and gem-specific illumination.
   Positions are calibrated against the 1536x954 garden master image. */
.infinity-art .garden-hotspot{
  width:5.2%;height:auto;aspect-ratio:1;min-height:0;
  border-radius:50%;background:transparent;box-shadow:none;
  outline:none;transition:filter .25s ease;isolation:isolate;
  -webkit-tap-highlight-color:transparent;
}
.infinity-art .garden-hotspot::before{
  content:"";position:absolute;inset:-28%;border-radius:50%;
  background:radial-gradient(circle,var(--gem-glow) 0%,transparent 67%);
  opacity:0;transform:scale(.75);pointer-events:none;
  transition:opacity .28s ease,transform .28s ease;mix-blend-mode:screen;
}
.infinity-art .garden-hotspot:is(:hover,:focus-visible)::before{opacity:.88;transform:scale(1.25)}
.infinity-art .garden-hotspot:is(:hover,:focus-visible){
  background:transparent;box-shadow:none;filter:brightness(1.18) saturate(1.3);
}
.infinity-art .garden-hotspot:focus-visible{outline:2px solid #fff6d4;outline-offset:4px}
.infinity-art .garden-hotspot[data-flame="0"]{--gem-glow:rgba(255,189,65,.88)}
.infinity-art .garden-hotspot[data-flame="1"]{--gem-glow:rgba(53,141,255,.92)}
.infinity-art .garden-hotspot[data-flame="2"]{--gem-glow:rgba(255,87,169,.90)}
.infinity-art .garden-hotspot[data-flame="3"]{--gem-glow:rgba(41,230,135,.88)}
.infinity-art .garden-hotspot[data-flame="4"]{--gem-glow:rgba(246,249,255,.95)}
.infinity-art .garden-hotspot[data-flame="5"]{--gem-glow:rgba(255,45,93,.90)}
.infinity-art .garden-hotspot[data-flame="6"]{--gem-glow:rgba(172,87,255,.92)}
@media(prefers-reduced-motion:reduce){.infinity-art .garden-hotspot,.infinity-art .garden-hotspot::before{transition:none}}

/* v5.7.4 — The First Flutter: butterfly-shaped light, no rectangular hover. */
.infinity-art .flutter-hotspot{
  left:50%;top:48.48%;width:6.8%;height:auto;aspect-ratio:1;
  min-width:48px;min-height:48px;border:0;border-radius:50%;
  background:transparent;box-shadow:none;outline:none;
  isolation:isolate;-webkit-tap-highlight-color:transparent;
}
.infinity-art .flutter-hotspot::before{
  content:"";position:absolute;inset:-28%;border-radius:50%;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(255,240,172,.72) 0%,rgba(255,198,94,.36) 33%,transparent 70%);
  opacity:0;transform:scale(.65);transition:opacity .3s ease,transform .4s ease;
  mix-blend-mode:screen;
}
.infinity-art .flutter-hotspot::after{
  content:"";position:absolute;inset:14%;pointer-events:none;
  background:radial-gradient(ellipse,rgba(255,252,211,.62),transparent 65%);
  opacity:0;transition:opacity .3s ease;
}
.infinity-art .flutter-hotspot:is(:hover,:focus-visible){background:transparent;box-shadow:none;}
.infinity-art .flutter-hotspot:is(:hover,:focus-visible)::before{opacity:1;transform:scale(1.2)}
.infinity-art .flutter-hotspot:is(:hover,:focus-visible)::after{opacity:1}
.infinity-art .flutter-hotspot:focus-visible{outline:2px solid #fff3c7;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.infinity-art .flutter-hotspot::before,.infinity-art .flutter-hotspot::after{transition:none}}
