/* v0.4 signature: Year-Round Care wheel + Before/After slider */
.lp-seasons{position:relative;overflow:hidden;color:#fff;padding:110px 0;background:#111;isolation:isolate}
.lp-sbg,.lp-sbg-i,.lp-sfx{position:absolute;inset:0}
.lp-sbg{z-index:-2}.lp-sbg-i{background-size:cover;background-position:center;opacity:0;transform:scale(1.12);transition:opacity 1.2s var(--ease),transform 7s linear}
.lp-sbg-i.on{opacity:1;transform:scale(1)}
.lp-sbg:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,8,8,.9) 0%,rgba(8,8,8,.7) 45%,rgba(8,8,8,.45) 100%)}
.lp-sfx{z-index:-1;width:100%;height:100%;pointer-events:none}
.lp-sgrid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.lp-seasons .lp-title{color:#fff}.lp-seasons .lp-title:after{transform:none}
.lp-seasons .lp-kicker{color:var(--red2)}.lp-sintro>p{color:#ddd;font-size:17px;max-width:460px}
.lp-wheel{position:relative;width:380px;height:380px;margin:40px 0 0}
.lp-ring{position:absolute;inset:40px;width:300px;height:300px;transform:rotate(-90deg)}
.lp-ring circle{fill:none;stroke:rgba(255,255,255,.14);stroke-width:2}
.lp-ring .lp-ring-p{stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-dasharray:553;stroke-dashoffset:553;transition:stroke-dashoffset 1s var(--ease)}
.lp-sbtn{position:absolute;width:104px;height:104px;margin:-52px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(20,20,20,.55);backdrop-filter:blur(6px);color:#fff;font:700 12px Roboto;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:transform .45s var(--ease),background .35s,border-color .35s,box-shadow .35s}
.lp-sbtn-0{left:50%;top:40px}.lp-sbtn-1{left:340px;top:50%}.lp-sbtn-2{left:50%;top:340px}.lp-sbtn-3{left:40px;top:50%}
.lp-sbtn:hover{transform:scale(1.08);border-color:#fff}
.lp-sbtn.on{background:var(--red);border-color:var(--red);transform:scale(1.15);box-shadow:0 0 0 8px rgba(219,49,43,.25),0 14px 30px rgba(0,0,0,.4)}
.lp-sbtn:focus-visible{outline:3px solid #fff;outline-offset:4px}
.ico{width:26px;height:26px;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.ico-spring{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22V11M12 11C12 6 8 3 3 3c0 5 4 8 9 8zm0 3c0-4 3-7 9-7 0 4-3 7-9 7z' stroke='%23000' stroke-width='2' fill='none'/%3E%3C/svg%3E")}
.ico-summer{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%23000' stroke-width='2' fill='none'%3E%3Ccircle cx='12' cy='12' r='4.5'/%3E%3Cpath d='M12 1v3M12 20v3M1 12h3M20 12h3M4.2 4.2l2.1 2.1M17.7 17.7l2.1 2.1M4.2 19.8l2.1-2.1M17.7 6.3l2.1-2.1'/%3E%3C/svg%3E")}
.ico-fall{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2 5 5-2-2 5 5 2-5 2 1 5-5-2-1 5-1-5-5 2 1-5-5-2 5-2-2-5 5 2z'/%3E%3C/svg%3E")}
.ico-winter{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%23000' stroke-width='2' fill='none'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17L20.7 7M9 4l3 2 3-2M9 20l3-2 3 2'/%3E%3C/svg%3E")}
.lp-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}
.lp-hub b{display:block;font:700 30px 'Roboto Slab',serif;color:#fff}.lp-hub small{color:#bbb;letter-spacing:.1em;text-transform:uppercase;font-size:11px}
.lp-hub.flip{animation:lphub .6s var(--ease)}@keyframes lphub{0%{opacity:0;transform:translate(-50%,-30%)}100%{opacity:1;transform:translate(-50%,-50%)}}
.lp-spanels{position:relative;min-height:420px}
.lp-spanel{position:absolute;inset:0;padding:44px 42px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);box-shadow:0 30px 60px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease),visibility 0s .6s}
.lp-spanel.on{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.lp-spanel small{color:var(--red2);font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.lp-spanel h3{color:#fff;font-size:clamp(26px,2.4vw,34px);margin:10px 0 24px;line-height:1.2}
.lp-spanel ul{list-style:none;margin:0 0 30px;padding:0}
.lp-spanel li{opacity:0;transform:translateX(-18px);transition:.5s var(--ease) calc(.15s + var(--i)*.09s)}.lp-spanel.on li{opacity:1;transform:none}
.lp-spanel li a{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;font:700 17px 'Roboto Slab',serif;transition:padding .3s var(--ease),color .2s}
.lp-spanel li a:hover{padding-left:10px;color:var(--red2)}.lp-spanel li span{transition:transform .3s}.lp-spanel li a:hover span{transform:translateX(6px)}
.lp-slink{display:inline-block;margin-left:18px;color:#ddd;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.lp-seasons .lp-btn:after{content:"→"}
/* before / after */
.lp-ba-sec{padding:100px 0;background:#fff;text-align:center}
.lp-ba-sec .lp-title:after{margin:16px auto 0}
.lp-ba{position:relative;max-width:1000px;margin:40px auto 0;aspect-ratio:850/450;border-radius:12px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.25);user-select:none;touch-action:pan-y}
.lp-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.lp-ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.lp-ba-h{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 20px rgba(0,0,0,.4);pointer-events:none}
.lp-ba-h i{position:absolute;top:50%;left:50%;width:58px;height:58px;margin:-29px;border-radius:50%;background:var(--red);color:#fff;font:700 20px/58px Roboto;font-style:normal;letter-spacing:4px;box-shadow:0 0 0 6px rgba(255,255,255,.35),0 10px 25px rgba(0,0,0,.35);transition:transform .25s}
.lp-ba:hover .lp-ba-h i,.lp-ba.drag .lp-ba-h i{transform:scale(1.12)}
.lp-ba-r{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.lp-ba-r:focus-visible+*,.lp-ba:focus-within{outline:3px solid var(--red);outline-offset:4px}
.lp-ba-tag{position:absolute;top:18px;padding:7px 14px;border-radius:30px;background:rgba(0,0,0,.6);color:#fff;font:700 11px Roboto;letter-spacing:.15em;text-transform:uppercase;pointer-events:none;transition:opacity .3s}
.lp-ba-tag.b{left:18px}.lp-ba-tag.a{right:18px;background:var(--red)}
.lp-ba-cta{margin-top:38px}.lp-ba-sec .lp-slink{color:var(--dark)}
@media(max-width:900px){.lp-seasons{padding:70px 0}.lp-sgrid{grid-template-columns:1fr;gap:30px}.lp-wheel{width:300px;height:300px;margin:26px auto 0}.lp-ring{inset:30px;width:240px;height:240px}.lp-sbtn{width:84px;height:84px;margin:-42px;font-size:10px}.lp-sbtn-0{top:30px}.lp-sbtn-1{left:270px}.lp-sbtn-2{top:270px}.lp-sbtn-3{left:30px}.lp-hub b{font-size:24px}.lp-spanels{min-height:440px}.lp-spanel{padding:30px 24px}.lp-slink{display:block;margin:16px 0 0}.lp-ba-sec{padding:70px 0}.lp-ba{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.lp-sbg-i,.lp-spanel,.lp-spanel li,.lp-ring .lp-ring-p,.lp-sbtn{transition:none!important}.lp-sbg-i{transform:none!important}.lp-hub.flip{animation:none}.lp-sfx{display:none}}
/* ===== v0.5 mobile optimisation ===== */
.lp-sbg-i{background-image:var(--bg)}
@media(min-width:901px){.lp-sbg-i{background-image:var(--bgl,var(--bg))}}
.lp-spanels{display:grid;min-height:0;touch-action:pan-y}
.lp-spanel{position:relative;inset:auto;grid-area:1/1}
.lp-sintro>p,.lp-spanel h3{overflow-wrap:anywhere}
.lp-seasons,.lp-ba-sec{contain:paint}
.lp-ba{cursor:ew-resize;-webkit-tap-highlight-color:transparent}
.lp-ba-r{pointer-events:none}/* keyboard/AT only; pointer handled by container */
.lp-ba-r:focus-visible~.lp-ba-h i{outline:3px solid #fff;outline-offset:3px}
.lp-ba-hint{display:none}
@media(max-width:900px){
 .lp-seasons{padding:56px 0 60px}
 .lp-seasons .lp-kicker{letter-spacing:.22em;font-size:11px}
 .lp-sintro>p{font-size:16px;line-height:1.6}
 .lp-ba-h i{width:56px;height:56px;margin:-28px;line-height:56px}
 .lp-ba-tag{top:12px;font-size:10px}.lp-ba-tag.b{left:12px}.lp-ba-tag.a{right:12px}
 .lp-ba-hint{display:block;margin:14px 0 0;font-size:13px;color:#777}
 .lp-ba-cta .lp-btn{display:block;margin:0 0 6px}.lp-ba-cta .lp-slink{display:inline-block;padding:12px 0;margin:0}
 .lp-spanel li a{min-height:48px;padding:12px 0}
 .lp-slink{padding:12px 0;margin:4px 0 0}
 .lp-seasons .lp-btn{display:block;text-align:center}
}
@media(max-width:767px){
 .lp-wheel{width:auto;height:auto;margin:24px -15px 0;padding:0 15px 4px;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
 .lp-wheel::-webkit-scrollbar{display:none}
 .lp-ring,.lp-hub{display:none}
 .lp-sbtn,.lp-sbtn-0,.lp-sbtn-1,.lp-sbtn-2,.lp-sbtn-3{position:static;margin:0;width:auto;height:48px;min-width:44px;flex:1 0 auto;padding:0 16px;border-radius:30px;flex-direction:row;gap:8px;font-size:12px;letter-spacing:.08em;scroll-snap-align:start;transform:none!important}
 .lp-sbtn.on{box-shadow:0 0 0 4px rgba(219,49,43,.3)}
 .ico{width:18px;height:18px}
 .lp-spanel{padding:26px 20px;border-radius:10px;backdrop-filter:blur(8px);touch-action:pan-y}
 .lp-sdots{display:flex!important}
 .lp-ba{aspect-ratio:4/3.2;border-radius:10px}
}
.lp-sdots{display:none;justify-content:center;gap:4px;margin-top:14px}
.lp-sdots button{width:44px;height:44px;border:0;background:none;padding:0;cursor:pointer;position:relative}
.lp-sdots button:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:rgba(255,255,255,.4);transition:width .3s,margin .3s,background .3s}
.lp-sdots button.on:after{width:24px;margin-left:-12px;border-radius:4px;background:var(--red)}
@media(prefers-reduced-motion:reduce){.lp-sdots button:after{transition:none}}
@media(max-width:900px){.lp-sgrid{grid-template-columns:minmax(0,1fr)}.lp-sintro,.lp-spanels{min-width:0}}
@media(max-width:767px){.lp-wheel{margin:24px 0 0;padding:0 0 4px}}
@media(max-width:767px){.lp-sbtn,.lp-sbtn-0,.lp-sbtn-1,.lp-sbtn-2,.lp-sbtn-3{flex:1 1 auto;padding:0 10px;font-size:11px;letter-spacing:.05em;gap:6px}}
@media(max-width:400px){.lp-sbtn .ico{display:none}}
