/* Local proposal only. Original source and texts remain unchanged. */
.wa46-case{scroll-margin-top:110px;position:relative;height:clamp(430px,46vw,690px);isolation:isolate;overflow:hidden;background:#1c231d;box-shadow:0 40px 70px #1a221920}
.wa46-case .wa46-cover{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:3;transition:transform 1s cubic-bezier(.22,.8,.2,1),opacity .9s;box-shadow:none;border-radius:0}
.wa46-case.is-open .wa46-cover{transform:translateX(-105%);opacity:.2;pointer-events:none}
.wa46-board{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 40%,#33482a66,transparent 70%),#1b231d;color:#eef0e7}
.wa46-case-label{position:absolute;top:4%;left:6%;font-size:9px;letter-spacing:.15em;color:#cafe72;font-weight:800}
.wa46-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#cafe7255;stroke-width:.3}
.wa46-route-light{stroke:#cafe72;stroke-width:.45;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s ease .25s;filter:drop-shadow(0 0 1px #cafe72)}
.is-open .wa46-route-light{stroke-dashoffset:0}
.wa46-frame{position:absolute;padding:0;border:1px solid #98ad7b66;background:#e8e9df;box-shadow:0 9px 22px #0006;cursor:pointer;color:#192018;transition:transform .3s,border-color .3s,box-shadow .3s;text-align:left;overflow:hidden;font-family:inherit}
.wa46-frame img{width:100%;height:calc(100% - 30px);object-fit:cover;display:block;pointer-events:none}
.wa46-frame-label{display:flex;gap:10px;align-items:center;height:30px;padding:0 9px;background:#edf0e5;font-size:11px;font-weight:800;white-space:nowrap}
.wa46-frame-label small{font-size:8px;color:#617249}
.wa46-brief:not(.wa46-frame){display:flex;flex-direction:column;gap:6px;padding:12px;background:#e9ecdf;height:calc(100% - 30px);font-size:8px}
.wa46-brief b{font-size:17px;letter-spacing:-.04em}.wa46-brief>span{font-size:6px;letter-spacing:.09em}.wa46-brief i{width:90%;height:1px;background:#64734c66}.wa46-brief i:nth-of-type(2){width:75%}.wa46-brief small{font-size:6px;margin-top:auto;color:#64734c}
.wa46-brief.wa46-frame{left:6%;top:10%;width:39%;height:23%;transform:rotate(-6deg)}
.wa46-logo{left:53%;top:17%;width:39%;height:24%;transform:rotate(5deg)}
.wa46-logo img{object-fit:contain;background:#fff}
.wa46-bottles{left:7%;top:40%;width:42%;height:25%;transform:rotate(-4deg)}
.wa46-story{left:7%;top:71%;width:42%;height:21%;transform:rotate(4deg)}
.wa46-web{left:58%;top:48%;width:32%;height:43%;transform:rotate(-5deg)}
.wa46-web img{object-fit:cover;object-position:top}
.wa46-frame:hover,.wa46-frame:focus-visible,.wa46-frame[aria-pressed=true]{transform:rotate(0) scale(1.045);z-index:2;border-color:#cafe72;box-shadow:0 0 0 2px #cafe7255,0 12px 24px #0008;outline:none}
.wa46-detail{position:absolute;bottom:0;left:5%;right:5%;height:22px;margin:0;font-size:9px;color:#d2ddc5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.wa46-reveal{position:absolute;z-index:5;bottom:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 15px;background:#161d16e8;backdrop-filter:blur(10px);border:1px solid #cafe7277;color:#e8efd9;font-family:inherit;font-size:11px;text-align:left;cursor:pointer;transition:bottom .5s,background .3s}
.wa46-reveal span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#cafe72}.wa46-reveal:focus-visible{outline:2px solid #cafe72;outline-offset:-4px}
.is-open .wa46-reveal{bottom:calc(100% - 40px);left:auto;right:14px;border:0;padding:6px;background:#1b231d}.is-open .wa46-reveal>span{font-size:8px}.is-open .wa46-reveal{font-size:0}
@media(max-width:1080px){.wa46-case{height:590px}.wa46-neural{right:-380px}}
@media(max-width:760px){.wa46-case{height:clamp(440px,115vw,610px)}.wa46-neural{width:580px;height:580px;right:-360px;top:0}.wa46-case-label{font-size:8px}.wa46-frame-label{font-size:10px}.wa46-brief b{font-size:15px}.wa46-brief:not(.wa46-frame){padding:10px}}
@media(prefers-reduced-motion:reduce){.wa46-case *,.wa46-neural *{transition:none!important;animation:none!important}.wa46-neural-pulse{display:none}}
/* The original caption describes the front illustration, not the revealed case. */
.production-visual:has(.wa46-case.is-open)>.visual-caption{visibility:hidden}

.wa47-magnetic-line{stroke-linecap:round;stroke-linejoin:round}
/* v48: five continuous diagonal strips, following the supplied sketch. */
.wa46-cover{clip-path:inset(0 20% 0 0)}
.wa46-reveal{right:calc(20% + 14px);font-size:10px;padding:12px}
.is-open .wa46-reveal{right:12px;bottom:auto;top:12px;left:auto;background:#172016c9;padding:8px;backdrop-filter:blur(7px)}
.wa46-board{background:#111b14}
.wa48-band.wa46-frame{inset:0;width:100%;height:100%;padding:0;border:0;box-shadow:none;background:#18221b;transform:none!important;transition:filter .35s;overflow:hidden}
.wa48-band img{position:absolute;left:0;width:100%;height:39%;object-fit:cover;filter:brightness(.82);transition:filter .35s,scale .7s}
.wa48-band:hover img,.wa48-band:focus-visible img,.wa48-band[aria-pressed=true] img{filter:brightness(1.08)}
.wa48-band:focus-visible{outline:none;filter:drop-shadow(0 0 4px #cafe72)}
.wa48-monitor{clip-path:polygon(0 0,100% 0,100% 7.5%,0 29.5%)}
.wa48-logo{clip-path:polygon(0 30.5%,100% 8.5%,100% 29.5%,0 51.5%);background:#f2f3ed!important}
.wa48-story{clip-path:polygon(0 52.5%,100% 30.5%,100% 51.5%,0 73.5%)}
.wa48-web{clip-path:polygon(0 74.5%,100% 52.5%,100% 73.5%,0 95.5%)}
.wa48-bottles{clip-path:polygon(0 96.5%,100% 74.5%,100% 100%,0 100%)}
.wa48-monitor img{top:-4%;object-position:50% 46%}
.wa48-logo img{top:9%;left:25%;width:51%;height:37%;object-fit:contain;filter:none}
.wa48-story img{top:33%;height:36%;object-position:50% 49%}
.wa48-web img{top:53%;height:36%;object-position:50% 48%}
.wa48-bottles img{top:70%;height:38%;object-position:50% 54%}
.wa48-band .wa46-frame-label{position:absolute;left:5%;height:auto;padding:6px 9px;background:#111b14d9;color:#f0f5e9;font-size:11px;gap:8px;backdrop-filter:blur(5px);border-left:1px solid #cafe72}
.wa48-band .wa46-frame-label small{color:#cafe72;font-size:8px}
.wa48-monitor .wa46-frame-label{top:10%}
.wa48-logo .wa46-frame-label{top:33%}
.wa48-story .wa46-frame-label{top:56%}
.wa48-web .wa46-frame-label{top:78%}
.wa48-bottles .wa46-frame-label{top:91%;left:auto;right:5%}
.wa46-detail{display:none}
.wa48-seams{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;fill:none;stroke:#cafe72;stroke-width:.18}
.wa48-seam-base{opacity:.16}
.wa48-seam-fill{stroke-dasharray:1;stroke-dashoffset:1;opacity:.8;filter:drop-shadow(0 0 1px #cafe72);transition:stroke-dashoffset 1.2s ease;transition-delay:calc(var(--seam)*.2s + .2s)}
.is-open .wa48-seam-fill{stroke-dashoffset:0}
@media(max-width:760px){.wa46-case{height:510px}.wa48-band .wa46-frame-label{font-size:10px;padding:5px 7px}.wa46-reveal{font-size:9px}.wa46-reveal>span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.wa48-seam-fill{transition:none;filter:none}}
.wa48-web img{object-position:50% 0%}
/* v49: unbounded SVG drawing inside the existing black hero surface. */
.hero .hero-art{overflow:visible}
.wa49-spark{position:absolute;left:0;top:0;width:82px;height:82px;z-index:1;pointer-events:none;opacity:0;transition:opacity .18s;mix-blend-mode:screen;background:radial-gradient(circle,#fff 0 1px,#f4ffd6 2px,#daff91bb 4px,#cafe7244 10px,#cafe7218 22px,transparent 40px);filter:drop-shadow(0 0 5px #cafe7277)}
.wa49-spark::after{content:'';position:absolute;inset:30%;background:radial-gradient(ellipse,#fff8,transparent 65%);transform:scaleX(1.8);filter:blur(1px)}
/* Mirror the reveal: a left-hand preview and a cover that slides right. */
.wa46-case .wa46-cover{clip-path:inset(0 0 0 20%)}
.wa46-case.is-open .wa46-cover{transform:translateX(105%)}
.wa46-reveal,.is-open .wa46-reveal{left:auto;right:12px;top:12px;bottom:auto;padding:9px 12px;display:flex;gap:12px;font-size:10px;color:#f2f6ea;border:1px solid #cafe7255;background:#172016d9}
.wa46-reveal>span,.is-open .wa46-reveal>span{font-size:8px}
.wa48-band.wa46-frame{transition:clip-path .65s cubic-bezier(.2,.7,.2,1),filter .3s;background:#162018}
.wa48-band img{left:0;width:100%;object-fit:cover;filter:none;transition:top .65s cubic-bezier(.2,.7,.2,1),height .65s cubic-bezier(.2,.7,.2,1),filter .3s;max-width:none}
.wa48-logo.wa46-frame{background:#fff!important}
.wa48-logo img{left:0;width:100%;object-fit:contain;background:#fff;filter:none!important}
.wa48-monitor img{object-position:50% 45%}
.wa48-story img{object-position:50% 51%}
.wa48-web img{object-position:50% 11%}
.wa48-web.wa49-expanded img{object-position:50% 0%}
.wa48-bottles img{object-position:50% 54%}
.wa48-band:hover img,.wa48-band:focus-visible img,.wa48-band[aria-pressed=true] img{filter:none}
.wa48-seams path{transition:d .65s cubic-bezier(.2,.7,.2,1),stroke-dashoffset 1.2s ease}
@media(prefers-reduced-motion:reduce){.wa49-spark{display:none}.wa48-band.wa46-frame,.wa48-band img,.wa48-seams path{transition:none!important}}

.wa48-web img{left:-3%;width:106%}
/* v50: a slow, continuous scroll reveal, rather than a hover-triggered jump. */
.wa46-case .wa46-cover,.wa46-case.is-open .wa46-cover{transform:translateX(calc(var(--wa50-reveal,0) * 105%));opacity:1;transition:none}
.wa50-electric.wa49-spark{width:76px;height:76px;overflow:visible;background:none;filter:drop-shadow(0 0 .8px #cafe72);mix-blend-mode:screen;transition:none;fill:none;stroke:#edffc2;stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round}
.wa50-electric.wa49-spark::after{display:none}
.wa50-electric path:nth-child(2n){stroke:#cafe72;stroke-width:.75}
/* v51: light travels on the existing curves; no separate sparks or fog. */
.hero .wa49-spark,.hero .wa50-electric{display:none!important}
.wa52-process-title{text-align:right;color:#4d5e40;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin-bottom:12px}
/* v53: opaque full cover until the entire frame is visible, then one slow reveal. */
.wa46-case{max-height:calc(100svh - 128px)}
.wa46-case .wa46-cover{clip-path:none}

.wa54-process-copy{list-style:none;margin:15px 0 0;padding:0;display:grid;gap:5px;text-align:right;font-size:11px;line-height:1.45;color:#596550}.wa54-process-copy strong{font-weight:700;color:#3c4e31}.wa48-web img{object-position:50% 0%}.wa48-web.wa49-expanded img{object-position:50% 0%}

.wa55-photo-caption{position:absolute;right:5%;top:calc(var(--wa55-caption-top,50) * 1%);max-width:70%;display:grid;gap:4px;text-align:right;background:rgba(15,24,17,.8);color:#edf5e4;padding:10px 12px;border-right:1px solid #cafe72;font-size:11px;line-height:1.45;opacity:0;transform:translateY(6px);transition:opacity .25s .25s,transform .35s .25s;pointer-events:none}
.wa55-photo-caption strong{font-size:12px;color:#d6ff97;font-weight:700}.wa49-expanded .wa55-photo-caption{opacity:1;transform:none}
@media(max-width:760px){.wa55-photo-caption{font-size:10px;padding:8px 10px;max-width:76%}.wa55-photo-caption strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.wa55-photo-caption{transition:none}}

/* v56: all crop edges and neon seams share one animation clock. */
.wa48-band.wa46-frame{transition:filter .3s}.wa48-band img{transition:filter .3s}.wa48-seams path{transition:stroke-dashoffset 1.2s ease}

/* v57: centre the existing rotating graphic on phone-sized screens only. */
@media(max-width:760px){.hero .hero-art{left:calc(50% - 290px);right:auto}}
