/* ICE WORKS: paper, ink, optical depth and connected surfaces. */
#case-explore .experience,#case-explore .blade-study,#case-explore .flower-lab{background:#fafafa!important;border:0!important;border-radius:0!important;overflow:visible;box-shadow:none;isolation:isolate}
#case-explore .experience h3,#case-explore .flower-controls h3{font-weight:400;letter-spacing:-.035em;color:#0a0a0a}
#case-explore .experience p,#case-explore .flower-controls p{color:#454545}
#case-explore .eyebrow{color:#5b5b5b;letter-spacing:.08em;font-size:10px}
#case-explore button{font-family:Satoshi;color:#111}
.ice-image-stage{position:relative;display:block;width:100%;height:100%;min-height:320px;border:0;padding:0;margin:0;background:transparent;overflow:hidden;cursor:crosshair;isolation:isolate;touch-action:pan-y;border-radius:0;box-shadow:none}
.ice-image-stage>img{position:absolute;inset:12%;width:76%!important;height:76%!important;object-fit:contain!important;mix-blend-mode:normal!important;padding:0!important;border-radius:8px;transition:opacity .25s;pointer-events:none}
.ice-image-stage.has-liquid-image>img{opacity:0}
.ice-stage-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ice-image-tag{position:absolute;left:65%;top:60%;transform:translate(-50%,-50%) scale(.86);display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 19px;border-radius:50px;font-size:13px;font-weight:400;white-space:nowrap;background:#ffffffa6;backdrop-filter:blur(9px);border:1px solid #ffffffa0;box-shadow:inset 0 0 0 .5px #7773;opacity:0;transition:opacity .22s,transform .3s;pointer-events:none;z-index:3}
.ice-image-stage:hover .ice-image-tag,.ice-image-stage:focus-visible .ice-image-tag{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ice-image-stage:focus-visible{outline:1px solid #777;outline-offset:-6px}
[data-liquid-tabs]{position:relative;isolation:isolate;gap:10px!important;background:transparent!important;border:0!important;padding:5px!important;overflow:visible!important}
.ice-tabs-field{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:-1;opacity:.72}
[data-liquid-tabs] button{position:relative;background:transparent!important;border:0!important;border-radius:30px!important;color:#333!important;padding:13px 20px!important;box-shadow:none!important;font-size:12px!important;font-weight:400!important;line-height:1.35;transition:transform .4s cubic-bezier(.2,.9,.2,1),color .2s}
[data-liquid-tabs] button:hover{transform:translateY(-2px);color:#000!important}
[data-liquid-tabs] button[aria-pressed=true]{color:#000!important;background:transparent!important}
[data-liquid-tabs] button span{font-family:Geist;font-size:10px!important;color:#656565!important;margin-right:9px}
[data-liquid-tabs] button:focus-visible{outline:1px solid #666!important;outline-offset:2px}
.dose-lab{grid-template-columns:1.12fr 1fr;gap:34px;min-height:600px;margin-top:30px}
.dose-product{background:transparent!important;min-height:580px}
.dose-product .ice-image-stage{height:560px}
.dose-interface{padding:20px 5px 25px!important}
.dose-interface h3{font-size:36px;line-height:1.15;margin-bottom:20px}
.dose-dial{background:transparent!important;box-shadow:none!important;width:152px;height:152px;margin:23px auto 28px;cursor:ns-resize;touch-action:none;border:1px solid #e6e6e6}
.dose-dial::before{inset:10px;background:radial-gradient(ellipse at 28% 15%,#fff9,#fff2 55%,#e4e4e455)!important;border:1px solid #d9d9d940;backdrop-filter:blur(8px);box-shadow:inset 1px 1px 2px #fff,inset -1px -1px 2px #aaa4!important}
.dose-dial::after{content:'';position:absolute;inset:-10px;border-radius:50%;border:1px dashed #dbdbdb;pointer-events:none}
.dial-pointer::before{height:7px;width:7px;background:#444;border-radius:50%;margin:0 auto}
.dose-dial output{font-size:43px;color:#111;letter-spacing:-.05em}
.dose-dial output small,.pour-readout output small{font-family:Geist;font-size:9px;color:#666;letter-spacing:.02em}
.dose-dial:focus-visible{outline:1px solid #555;outline-offset:4px}
#case-explore .range-label{font-family:Geist;font-size:10px;color:#444;line-height:1.5;margin-top:22px}
#case-explore input[type=range]{height:2px!important;background:#dbdbdb!important;border:0!important;border-radius:50px;outline-offset:9px;margin-bottom:23px;accent-color:#aaa}
#case-explore input[type=range]::-webkit-slider-thumb{width:29px;height:22px;border-radius:60% 45% 55% 40%;background:radial-gradient(ellipse at 30% 20%,#ffffffee,#eeeeeeb3 55%,#bfbfbf99)!important;border:.5px solid #b9b9b999;box-shadow:inset 1px 1px 2px #fff,inset -1px -1px 2px #9995;transition:border-radius .3s,transform .3s}
#case-explore input[type=range]:active::-webkit-slider-thumb{border-radius:35% 60% 30% 65%;transform:scale(1.18,.87)}
#case-explore input[type=range]::-moz-range-thumb{width:29px;height:22px;border-radius:60% 45% 55% 40%;background:#eee;border:.5px solid #bbb;box-shadow:inset 1px 1px 2px white}
.pour-readout{gap:30px;margin:0 0 20px}
.pour-readout svg{width:105px;height:84px;opacity:.75}
.pour-button{background:#ffffff70!important;border:.5px solid #bfbfbf80!important;backdrop-filter:blur(8px);border-radius:50px;padding:16px 22px;box-shadow:inset 0 1px 2px #fff,inset 0 -1px 1px #b8b8b840!important;transition:transform .3s,border-radius .5s}
.pour-button:hover{transform:translateY(-2px);border-radius:40% 60% 46% 54% / 50% 50% 50% 50%}
.pour-button.pouring{transform:scale(.98);background:#ededed80!important;border-radius:50px}
.dose-feedback{font-family:Geist;font-size:10px!important;color:#505050!important;margin-top:16px}
.experience-footnote{font-size:9px!important;color:#777!important}
.experience-tag{left:12%;bottom:14px;font-family:Geist;font-size:9px;color:#666;letter-spacing:.05em}
.assembly-study{grid-template-columns:1.1fr 1fr;gap:32px;min-height:490px;margin-top:60px;border-top:1px solid #e7e7e7!important;padding-top:45px}
.assembly-picture{background:transparent!important;height:470px}
.assembly-picture .ice-image-stage{height:470px}
.assembly-copy{padding:35px 0 25px!important}
.assembly-copy h3{font-size:32px;line-height:1.2;min-height:72px}
.assembly-copy>p:not(.eyebrow){min-height:90px}
.sequence-legend{grid-template-columns:1fr 1fr;gap:5px!important;margin-top:8px}
.sequence-legend button{text-align:left;padding:12px 13px!important;font-size:10px!important}
.sequence-legend button span{display:inline;margin-right:7px;font-size:9px!important}
.material-loop{grid-template-columns:1.3fr 1fr;gap:25px;min-height:600px;margin-bottom:70px}
.loop-stage{padding:20px 0!important}
.loop-stage h3{font-size:37px;margin-bottom:14px}
.loop-visual{height:405px;overflow:hidden}
.loop-visual .ice-image-stage{height:100%;z-index:2}
.loop-visual .ice-image-stage>img{position:absolute}
.liquid-orbit{opacity:.32;transform:rotate(-16deg);width:120%;left:-10%;height:86%;top:6%;z-index:0;pointer-events:none}
.liquid-orbit>path:first-of-type{stroke:#bdbdbd;stroke-width:1.2}
.liquid-orbit .orbit-trace{stroke:#999;stroke-width:.7;stroke-dasharray:1 16}
.orbit-drop{r:6px}
.loop-clock{top:13px;color:#707070;font-family:Geist;font-size:8px}
.loop-clock b{font-family:Satoshi;font-size:23px;color:#333}
.clock-frame{left:8px}.clock-skin{right:8px}
.loop-narrative{background:transparent!important;padding:45px 0 20px!important}
.loop-narrative h3{font-size:30px;line-height:1.25;min-height:70px}
.loop-narrative>p:not(.eyebrow){min-height:125px;font-size:13px}
.loop-owner{border-color:#e0e0e0;margin-bottom:25px;padding-top:14px}
.loop-owner span{font-family:Geist;color:#666;font-size:8px}
.loop-stages{grid-template-columns:repeat(3,1fr);margin-top:10px;gap:4px!important}
.loop-stages button{font-family:Geist!important;font-size:10px!important;padding:12px 9px!important;line-height:1.4}
.loop-stages button span{font-family:Satoshi!important;font-size:9px!important;display:block;margin:6px 0 0!important;line-height:1.5}
.ownership-experience{padding:40px 0!important;border-top:1px solid #e2e2e2!important;background:transparent!important}
.ownership-experience h3{font-size:36px;line-height:1.2}
.ownership-experience .flow-tabs{display:flex;justify-content:flex-start;margin:25px 0 20px;gap:6px!important;width:max-content;max-width:100%}
.owner-content{grid-template-columns:1.13fr 1fr;gap:35px;min-height:380px}
.owner-visual{min-height:380px;height:390px}
.owner-visual .ice-image-stage{height:100%;width:100%}
.owner-visual>svg{z-index:0;opacity:.3;pointer-events:none}
.owner-copy{padding:35px 0 15px}
.owner-copy h4{font-size:28px;line-height:1.25}
.owner-route::before{background:#d1d1d1}
.owner-route li{padding:8px 0;color:#333}
.owner-route li span{background:#ffffff80;border:1px solid #ddd;color:#777}
.ice-flower{padding:0!important;gap:30px!important;grid-template-columns:1.2fr 1fr!important;min-height:560px;margin:30px 0 50px}
.ice-flower .flower-visual{height:540px;overflow:visible;background:transparent;padding:0}
.ice-flower .flower-visual .ice-image-stage{height:100%}
.ice-flower .flower-illustration-caption{position:absolute;bottom:8px;left:12%;font-family:Geist;font-size:9px;letter-spacing:.06em;color:#666}
.ice-flower .flower-controls{padding:70px 0 30px}
.ice-flower .flower-controls h3{font-size:38px;line-height:1.15;margin:22px 0}
.ice-flower #flower-response{min-height:60px;font-size:14px;line-height:1.75}
.ice-flower .flower-state-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px!important;margin:25px 0}
.ice-flower .flower-state-buttons button{text-align:left;padding:14px 20px!important;font-size:13px!important}
.gesture-signal{display:flex;align-items:center;gap:4px;height:55px;border-top:1px solid #e2e2e2;padding-top:15px;margin-top:25px}
.gesture-signal i{height:8px;width:8px;border-radius:50%;background:#e5e5e5;animation:touch-pulse 3s ease-in-out infinite}
.gesture-signal i:nth-child(2){animation-delay:.12s}.gesture-signal i:nth-child(3){animation-delay:.24s}.gesture-signal i:nth-child(4){animation-delay:.36s}
.gesture-signal span{margin-left:12px;font-family:Geist;font-size:8px;letter-spacing:.05em;color:#666}
.ice-flower[data-state=excited] .gesture-signal i{animation-duration:.7s}
.ice-flower[data-state=relax] .gesture-signal i{animation-duration:5s}
.ice-flower[data-state=withdraw] .gesture-signal i{animation-direction:reverse}
.ice-flower .prototype-note{font-size:10px!important;line-height:1.7;color:#666!important;margin-top:20px}
.ice-flower[data-state=happy] .ice-image-stage{animation:gesture-open .9s ease both}
.ice-flower[data-state=excited] .ice-image-stage{animation:gesture-excited .65s ease both}
.ice-flower[data-state=relax] .ice-image-stage{animation:gesture-relax 1.9s ease both}
.ice-flower[data-state=withdraw] .ice-image-stage{animation:gesture-shy .9s ease both}
.blade-study .variant-tabs{gap:6px!important;padding:5px!important;margin:22px 0 35px;display:grid;grid-template-columns:repeat(3,1fr);border:0}
.blade-study .variant-tabs button{padding:15px 16px!important;font-size:12px!important}
.blade-study .variant-tabs button span{background:none!important;color:#666!important}
.blade-study .variant-panel{padding:0!important;gap:35px;grid-template-columns:1.05fr 1.2fr}
.blade-study .variant-visual{background:transparent!important;min-height:440px;position:relative;padding:0!important}
.blade-study .variant-visual .ice-image-stage{height:440px}
.blade-study .variant-visual>span{font-family:Geist;bottom:0;left:12%;background:transparent;font-size:9px;color:#666}
.blade-study .variant-analysis{background:transparent!important;padding:20px 0}
.blade-study .variant-analysis h3{font-weight:400;font-size:27px;letter-spacing:-.035em;line-height:1.2}
.blade-study .metric-track{margin:26px 0}
.blade-study .metric-rail{height:15px;background:#f2f2f270;box-shadow:none;border-radius:50px;border:.5px solid #ddd7;margin:18px 0 14px}
.blade-study .metric-rail i{background:linear-gradient(180deg,#ffffffcc,#e9e9e980 56%,#d1d1d17a);border:.5px solid #c5c5c570;box-shadow:inset 0 1px 1px white;border-radius:60% 12px 12px 60%;transition:border-radius .5s}
.blade-study .metric-rail i::after{width:23px;height:20px;right:-6px;top:-3px;background:radial-gradient(ellipse at 30% 20%,#fff,#e8e8e8aa 60%,#c3c3c390);border:.5px solid #aaa5;box-shadow:inset 0 1px 1px white;animation:meniscus 4s ease-in-out infinite}
.blade-study .metric-rail b{height:25px;top:-6px;background:#999;width:1px}
.blade-study .metric-track strong{font-weight:400!important;color:#111}
.blade-study .metric-track small{font-family:Geist;font-size:9px;color:#666}
.blade-study .fatigue-status{border:0;border-top:1px solid #ddd;background:transparent!important;border-radius:0;padding:20px 0}
.blade-study .fatigue-status>span{color:#666;font-family:Geist;font-size:8px}
.blade-study .fatigue-status strong{color:#111;font-weight:400;font-size:15px}
.blade-study .comparison-table-wrap{padding:25px 0 10px;border-top:1px solid #ddd;background:transparent}
.blade-study .comparison-table{background:transparent}
.blade-study .study-note{margin:20px 0 0;padding:0;font-size:11px;color:#555;background:transparent}
.blade-study .stress-tag{border:0;border-radius:0;background:transparent;font-family:Geist;font-size:9px;padding:0;color:#555}
@keyframes touch-pulse{0%,100%{transform:scale(1);border-radius:50%}45%{transform:scaleX(1.8);border-radius:40% 60% 50% 50%}}
@keyframes gesture-open{0%{transform:translateY(4px) scale(.98)}60%{transform:translateY(-6px) scale(1.01)}100%{transform:none}}
@keyframes gesture-excited{0%,100%{transform:none}25%{transform:translateY(-9px) rotate(-1deg)}55%{transform:translateY(2px) rotate(1deg)}78%{transform:translateY(-5px)}}
@keyframes gesture-relax{0%,100%{transform:none}50%{transform:translateY(-9px) scale(1.015)}}
@keyframes gesture-shy{0%,100%{transform:none}40%{transform:translateY(8px) scale(.96) rotate(1deg)}}
@media(max-width:900px){.dose-lab{gap:22px}.dose-product .ice-image-stage{height:480px}.dose-interface h3{font-size:30px}.assembly-copy h3{font-size:28px}.ice-flower .flower-controls h3{font-size:31px}.material-loop{gap:20px}.loop-stage h3{font-size:31px}.loop-visual{height:360px}.owner-content{gap:20px}.blade-study .variant-tabs button{font-size:10px!important;padding:14px 11px!important}}
@media(max-width:600px){.dose-lab,.assembly-study,.material-loop,.owner-content,.ice-flower,.blade-study .variant-panel{grid-template-columns:1fr!important;gap:20px!important}.ice-image-stage{min-height:270px}.dose-product{min-height:0}.dose-product .ice-image-stage{height:350px}.dose-interface{padding:10px 6px 20px!important}.dose-interface h3{font-size:32px}.dose-dial{margin:30px auto}.experience-tag{bottom:3px}.assembly-study{margin-top:45px;padding-top:22px}.assembly-picture,.assembly-picture .ice-image-stage{height:350px}.assembly-copy{padding:10px 6px!important}.assembly-copy h3{min-height:0;font-size:29px}.assembly-copy>p:not(.eyebrow){min-height:0}.sequence-legend button{font-size:10px!important;padding:13px 9px!important}.material-loop{margin-bottom:30px}.loop-stage h3{font-size:34px}.loop-stage{padding:10px 0!important}.loop-visual{height:340px}.loop-narrative{padding:10px 6px!important}.loop-narrative h3,.loop-narrative>p:not(.eyebrow){min-height:0}.loop-stages button{padding:13px 7px!important}.ownership-experience{padding:30px 0!important}.ownership-experience h3{font-size:30px}.ownership-experience .flow-tabs{gap:0!important;width:100%;justify-content:space-between}.ownership-experience .flow-tabs button{padding:13px 10px!important;font-size:11px!important}.owner-visual{height:340px;min-height:340px}.owner-copy{padding:10px 6px}.owner-copy h4{font-size:27px}.ice-flower .flower-visual{height:380px}.ice-flower .flower-controls{padding:10px 6px 20px}.ice-flower .flower-controls h3{font-size:34px}.ice-flower #flower-response{min-height:0}.blade-study .variant-tabs{gap:0!important;margin-bottom:20px}.blade-study .variant-tabs button{font-size:10px!important;padding:13px 7px!important;display:block}.blade-study .variant-tabs button span{display:block;margin-bottom:4px;font-size:9px!important}.blade-study .variant-visual,.blade-study .variant-visual .ice-image-stage{height:330px;min-height:330px}.blade-study .variant-analysis{padding:10px 6px}.blade-study .variant-panel{gap:10px!important}.ice-image-tag{font-size:11px;padding:9px 16px}.blade-study .comparison-table-wrap{overflow:auto}.blade-study .comparison-table th,.blade-study .comparison-table td{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ice-flower .ice-image-stage,.gesture-signal i{animation:none!important}[data-liquid-tabs] button,.ice-image-tag,.pour-button{transition:none!important}.ice-image-stage:hover .ice-image-tag{transform:translate(-50%,-50%)}.blade-study .metric-rail i::after{animation:none!important}}
#case-explore .ice-image-stage:focus-visible{outline:0!important}
.ice-image-stage:focus-visible .ice-image-tag{border-color:#777;box-shadow:inset 0 0 0 .5px #9994}
.ice-image-stage{user-select:none}
.cup-surface{opacity:0;transform:translateY(101px);transition:transform .08s linear}
.blade-study .has-liquid-meter i{background:none;border:0;box-shadow:none;overflow:visible}
.blade-study .has-liquid-meter i::after{display:none}
.ice-meter-field{position:absolute;inset:auto 0;top:-14px;width:100%;height:43px;overflow:visible;pointer-events:none}
#case-explore input[type=range]:focus-visible{outline:1px solid #777;outline-offset:5px}
#case-explore .experience-footnote{color:#666!important}
.ice-image-tag{min-width:104px;height:40px;padding:0 18px;font-size:14px;font-weight:500;letter-spacing:0}

/* Original behaviour photographs: the material dissolves between poses, the frame stays still. */
.ice-flower .flower-visual{height:auto;aspect-ratio:1.35;align-self:center}
.ice-flower .flower-visual .ice-image-stage{min-height:0;animation:none!important}
.ice-flower .flower-illustration-caption{left:8%;bottom:0;font-size:8px}
.flower-touch-pad{touch-action:pan-y}
.ice-flower[data-state=engage] .axis-0{--axis-position:50%}.ice-flower[data-state=engage] .axis-1{--axis-position:64%}.ice-flower[data-state=engage] .axis-2{--axis-position:59%}.ice-flower[data-state=engage] .axis-3{--axis-position:83%}
.ice-flower[data-state=avoid] .axis-0{--axis-position:18%}.ice-flower[data-state=avoid] .axis-1{--axis-position:34%}.ice-flower[data-state=avoid] .axis-2{--axis-position:22%}.ice-flower[data-state=avoid] .axis-3{--axis-position:40%}
@media(max-width:600px){.ice-flower .flower-visual{height:auto;aspect-ratio:1.25}.ice-flower .flower-state-buttons button{padding:14px 15px!important;font-size:12px!important}}

/* Original behaviour illustrations with a separate, responsive direction layer. */
.ice-flower .flower-visual{aspect-ratio:1.18}
.flower-touch-pad>img{inset:6%!important;width:88%!important;height:88%!important}
.behaviour-arrow-layer{position:absolute;left:6%;top:50%;width:88%;aspect-ratio:640/460;transform:translateY(-50%);pointer-events:none;z-index:2;color:#343431}
.behaviour-arrows{display:block;width:100%;height:100%;overflow:visible}
.behaviour-direction{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:behaviour-draw 1s cubic-bezier(.22,.7,.2,1) both;animation-delay:.18s}
@keyframes behaviour-draw{from{stroke-dashoffset:1;opacity:0}20%{opacity:1}to{stroke-dashoffset:0;opacity:1}}
.ice-flower .flower-illustration-caption{left:6%;font-size:8px}
.ice-flower .flower-controls{padding-top:24px}
.ice-flower .flower-state-buttons{gap:16px 20px!important;margin:24px 0}
.ice-flower .flower-state-buttons button{padding:12px 15px!important;font-size:12px!important}
.ice-flower[data-state=idle] .gesture-axis{--axis-position:50%}
.ice-flower[data-state=stretch] .axis-0{--axis-position:38%}.ice-flower[data-state=stretch] .axis-1{--axis-position:75%}.ice-flower[data-state=stretch] .axis-2{--axis-position:80%}.ice-flower[data-state=stretch] .axis-3{--axis-position:85%}
.ice-flower[data-state=annoyed] .axis-0{--axis-position:65%}.ice-flower[data-state=annoyed] .axis-1{--axis-position:45%}.ice-flower[data-state=annoyed] .axis-2{--axis-position:25%}.ice-flower[data-state=annoyed] .axis-3{--axis-position:20%}
.ice-flower[data-state=shy] .axis-0{--axis-position:20%}.ice-flower[data-state=shy] .axis-1{--axis-position:35%}.ice-flower[data-state=shy] .axis-2{--axis-position:25%}.ice-flower[data-state=shy] .axis-3{--axis-position:15%}
.ice-flower[data-state=surprised] .axis-0{--axis-position:60%}.ice-flower[data-state=surprised] .axis-1{--axis-position:80%}.ice-flower[data-state=surprised] .axis-2{--axis-position:72%}.ice-flower[data-state=surprised] .axis-3{--axis-position:38%}
@media(prefers-reduced-motion:reduce){.behaviour-direction{animation:none}}

@media(hover:none){.flower-touch-pad .ice-image-tag{display:none}}

/* Keep source linework out of both the WebGL texture sampler and scroll blur. */
.ice-flower.scroll-reveal{filter:none!important}
.flower-touch-pad[data-native-artwork]>img{opacity:1;inset:auto!important;left:6%!important;top:50%!important;width:88%!important;height:auto!important;aspect-ratio:640/460;transform:translateY(-50%);z-index:1;transition:none}
