/* Interaction clarity plus softer spring / stretch, informed by ultramotion. */
.landscape-photo{position:relative;aspect-ratio:4/3;background:#eee;overflow:hidden}
.gallery-coupe .landscape-photo>img{position:absolute;left:50%;top:50%;width:75%!important;height:auto!important;max-height:none!important;transform:translate(-50%,-50%) rotate(90deg)!important}
.media-landscape{position:relative;width:min(100%,960px);aspect-ratio:4/3;padding:0!important;overflow:hidden;background:#eee}
.media-landscape img{position:absolute;left:50%;top:50%;width:75%!important;height:auto!important;max-height:none!important;transform:translate(-50%,-50%) rotate(90deg)}
.media-landscape figcaption{position:absolute;bottom:0;left:0;right:0;background:#fffffff0;padding:15px;margin:0!important}
.comparison-study{margin-top:35px}
#case-explore .compare{background:#fafafa;aspect-ratio:1.65;border-radius:12px!important;overflow:hidden;touch-action:pan-y;border:1px solid #dfdfdf}
.compare img{pointer-events:none;user-select:none;object-fit:contain!important;padding:22px 20px 48px!important}
.compare-line{z-index:2;background:#aaa!important;width:1px!important;pointer-events:none}
#case-explore .compare-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:43px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(160deg,#fffffff0,#e4e4e4b3);backdrop-filter:blur(10px);border:1px solid #aaa9;box-shadow:inset 0 1px 1px white,inset 0 -1px 2px #7773;font-size:24px;font-weight:400;pointer-events:auto;touch-action:none;cursor:ew-resize;transition:width .3s cubic-bezier(.2,.9,.2,1),border-radius .3s}
.compare.is-comparing .compare-handle{width:82px;border-radius:35% 65% 45% 55% / 50% 50% 50% 50%}
.compare-handle:focus-visible{outline:2px solid #666;outline-offset:3px}
.compare-labels{z-index:1;pointer-events:none}
.compare-labels span{background:#ffffffb3!important;backdrop-filter:blur(8px);border:1px solid #ddd7;font-family:Geist;font-size:10px;color:#333}
.comparison-study .range-label{margin-top:24px!important}
.comparison-study input{display:block;width:100%;cursor:ew-resize}
.comparison-study figcaption{margin-top:18px}
.touch-pad-hint{position:absolute;left:12%;bottom:34px;font-family:Geist;font-size:10px;color:#555;pointer-events:none;letter-spacing:.02em}
.flower-touch-pad{cursor:pointer}
.flower-touch-pad:active .ice-image-tag{transform:translate(-50%,-50%) scale(.95)}
.gesture-model{display:flex;gap:16px;align-items:center;margin-top:24px;padding-top:15px;border-top:1px solid #ddd;min-height:185px}
.gesture-flower{width:190px;height:165px;overflow:visible;flex:none;transform-origin:center}
.gesture-model .eyebrow{font-size:8px!important;margin:0 0 10px!important}
.gesture-model strong{display:block;font-weight:400;font-size:22px;letter-spacing:-.025em;margin-bottom:8px}
.gesture-model span{display:block;font-family:Geist;font-size:9px;color:#555;line-height:1.7}
.gesture-petal{transform-origin:0 0;transition:transform .8s cubic-bezier(.2,.85,.2,1)}
.gesture-bloom{transform-origin:110px 86px;transition:transform .9s cubic-bezier(.2,.85,.2,1)}
.ice-flower[data-state=happy] .gesture-petal{transform:scale(1)}
.ice-flower[data-state=excited] .gesture-petal{transform:scale(1.18);animation:petal-pulse .75s ease-in-out 3}
.ice-flower[data-state=relax] .gesture-petal{transform:scale(.8,1.06)}
.ice-flower[data-state=relax] .gesture-bloom{transform:translate(110px,78px) rotate(-9deg)}
.ice-flower[data-state=withdraw] .gesture-petal{transform:scale(.33,.65)}
.ice-flower[data-state=withdraw] .gesture-bloom{transform:translate(114px,100px) rotate(12deg)}
.ice-flower .flower-controls{padding-top:50px}
.blade-study .metric-rail{height:18px;background:#e5e5e5;border:1px solid #d2d2d2}
.blade-study .metric-rail b{width:1.5px;background:#626262;height:28px;top:-6px}
.blade-study .metric-track small{color:#444;font-size:10px}
.ice-meter-field{top:-12px}
.circular-design{margin:30px 0 50px!important}
.circular-design-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}
.circular-design-heading h3{font-size:40px;line-height:1.15;margin-bottom:0}
.circular-key{display:grid;gap:7px;font-family:Geist;font-size:10px;color:#555;text-align:right}
.circular-key b{font-family:Satoshi;font-weight:400;font-size:13px;color:#333;margin-bottom:13px}
.circular-graph{height:530px;position:relative;margin:25px 0 0;isolation:isolate}
.circular-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.circular-lines path{fill:none;stroke:#bababa;stroke-width:2}
.circular-lines .soft-loop{stroke-dasharray:4 7;stroke-width:1.8}
.circular-lines .service-return,.circular-lines .maintenance-return{stroke:#a9a9a9;stroke-width:1.4}
.circular-lines .recovery-return{stroke:#c1c1c1;stroke-width:1.2;stroke-dasharray:2 6}
.circular-graph[data-loop=hard] .hard-loop,.circular-graph[data-loop=soft] .soft-loop{stroke:#666;stroke-width:2.8}
.circular-loop-label{position:absolute;top:1%;font-family:Geist;font-size:9px;letter-spacing:.1em;color:#777;pointer-events:none}
.circular-loop-label.hard{left:12%}.circular-loop-label.soft{right:12%}
.circular-node{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);background:none;border:0;padding:5px 8px;width:138px;display:flex;align-items:center;flex-direction:column;gap:8px;cursor:pointer;z-index:2}
.circular-node b{font-family:Satoshi;font-weight:400;font-size:12px;color:#444;background:#fafafae0;padding:2px 4px;border-radius:7px;white-space:nowrap}
.circular-node-dot{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(150deg,#ffffffc9,#dddddd99);border:1px solid #d1d1d1;font-family:Geist;font-size:9px;color:#666;box-shadow:inset 0 1px 1px white;transition:transform .5s cubic-bezier(.2,.8,.2,1),border-radius .5s}
.circular-node:hover .circular-node-dot{transform:scale(1.15);border-radius:42% 58% 55% 45%}
.circular-node[aria-pressed=true] .circular-node-dot{border-color:#777;background:linear-gradient(150deg,#fff,#bbb);transform:scale(1.12)}
.circular-node[aria-pressed=true] b{color:#000}
.circular-node:focus-visible{outline:1px solid #888;border-radius:20px;outline-offset:2px}
.circular-node.cabin{width:158px;gap:8px}
.circular-node.cabin img{width:145px;height:76px;object-fit:contain}
.circular-node.cabin b{font-size:13px}
.circular-instruction{font-size:12px!important;line-height:1.7!important;color:#555!important;margin:5px 0 25px}
.circular-design>input{width:100%}
.circular-focus{display:grid;grid-template-columns:1.05fr 1fr;gap:35px;align-items:center;margin-top:25px;min-height:340px}
.circular-focus>.ice-image-stage{height:340px}
.circular-focus-copy h4{font-size:31px;font-weight:400;letter-spacing:-.035em;line-height:1.2;margin:0 0 20px}
.circular-focus-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;min-height:80px}
.circular-focus-copy .loop-owner{margin-top:25px}
.circular-focus-copy .loop-owner strong{font-weight:400;font-size:12px}
#project-content .glass-cta{position:relative;display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:17px 27px!important;border-radius:30px!important;border:1px solid #aaa9!important;background:linear-gradient(155deg,#ffffffee,#e5e5e5aa)!important;backdrop-filter:blur(12px);box-shadow:inset 0 1px 1px #fff,inset 0 -1px 2px #aaa4,0 5px 12px #00000008;color:#111!important;font-size:14px!important;font-weight:500!important;gap:20px!important;text-decoration:none!important;transition:transform .45s cubic-bezier(.2,.9,.2,1),box-shadow .3s}
#project-content .glass-cta:hover{transform:translateY(-3px) scale(1.02);box-shadow:inset 0 1px 2px #fff,inset 0 -1px 2px #9995,0 7px 18px #0000000c}
#project-content .glass-cta:active{transform:scale(.96)}
#project-content .glass-cta:focus-visible{outline:2px solid #666;outline-offset:4px}
.hero-bento .case-quick-actions{gap:16px;margin-top:30px}
@keyframes petal-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.22,.94)}}
@media(max-width:600px){#case-explore .compare{aspect-ratio:1.3}.compare img{padding:12px 10px 44px!important}#case-explore .compare-handle{width:60px;height:41px}.compare-labels span{font-size:8px;padding:7px 9px}.gesture-model{gap:12px;margin-top:20px}.gesture-flower{width:160px;height:150px}.gesture-model strong{font-size:20px}.touch-pad-hint{font-size:9px;bottom:20px}.circular-design-heading{display:block}.circular-design-heading h3{font-size:34px}.circular-key{grid-template-columns:1fr 1fr;margin-top:25px;text-align:left;font-size:8px;gap:6px 14px}.circular-key b{font-size:11px;margin-bottom:8px}.circular-graph{height:530px;margin-top:20px}.circular-node{width:108px;padding:5px 2px;gap:7px}.circular-node b{font-size:9px;white-space:normal;text-align:center;max-width:94px;line-height:1.3}.circular-node-dot{width:28px;height:28px;font-size:8px}.circular-node.cabin{width:94px}.circular-node.cabin img{width:86px;height:60px}.circular-node.cabin b{font-size:10px}.circular-loop-label{font-size:7px;top:0}.circular-focus{grid-template-columns:1fr;gap:8px;margin-top:20px}.circular-focus>.ice-image-stage{height:300px}.circular-focus-copy{padding:0 6px}.circular-focus-copy h4{font-size:27px}.circular-focus-copy>p:not(.eyebrow){min-height:0}.circular-instruction{font-size:11px!important}.hero-bento .case-quick-actions{gap:12px}#project-content .glass-cta{font-size:13px!important;padding:16px 23px!important;min-height:52px}}
@media(prefers-reduced-motion:reduce){.gesture-petal,.gesture-bloom,.circular-node-dot,#project-content .glass-cta,.compare-handle{transition:none!important}.gesture-petal{animation:none!important}}
.ice-flower .flower-illustration-caption{pointer-events:none}
#compare-range{appearance:none;-webkit-appearance:none}
#compare-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none}
.circular-lines marker path{fill:#999;stroke:none}
.circular-node.cabin[aria-pressed=true] img{outline:1px solid #bbb;outline-offset:3px;border-radius:5px}
.media-landscape{margin-inline:auto!important}
