/* Bounded artwork: every image has its own box, including the two smaller pictures. */
.visual{max-height:none;min-width:0}
.image-stage{display:block;width:100%;height:clamp(290px,39vw,460px);min-height:0;isolation:isolate}
.art-primary{position:absolute;inset:0;min-width:0;min-height:0;display:grid;place-items:center}
.has-companions .art-primary{bottom:112px}
.art-primary>.main-image{display:block;width:92%;height:92%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 18px 25px #0003);transform:translateY(calc(var(--move,0)*-12px)) scale(calc(.88 + var(--move,0)*.08)) rotate(calc(-2deg + var(--move,0)*4deg))}
.art-companions{position:absolute;bottom:0;left:12%;right:12%;height:102px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.art-companions>div{min-width:0;min-height:0;background:#b6d5a408;border:1px solid #b9dfa220;border-radius:20px;padding:8px;overflow:hidden}
.art-companions img.small-image{position:static;display:block;width:100%;height:100%;object-fit:contain;transform:none;filter:none}
.product-showcase{position:relative;border:1px solid #aac69e23;border-radius:26px;background:linear-gradient(145deg,#6daa5712,#061c1333);padding:12px 20px 16px}
.product-showcase .image-stage{height:clamp(230px,28vw,365px)}
.product-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #bdd9ad22;padding-top:15px;font-size:15px;color:#d1e4c6}
.journey-panel{padding:28px;border:1px solid #b7d0a832;border-radius:24px;background:linear-gradient(130deg,#204732,#0e251c);box-shadow:0 25px 60px #0003;transform:perspective(1400px) rotateY(calc(-8deg + var(--move,0)*14deg))}
.journey-panel .demo-label{white-space:normal;text-align:right}
.journey-step{display:grid;grid-template-columns:42px 1fr;gap:16px;align-items:start;position:relative;padding:15px 0;font-size:15px;--phase:clamp(0,calc(var(--entry,1)*1.5 - var(--order,0)*.13),1);opacity:var(--phase);transform:translateY(calc((1 - var(--phase))*40px))}
.journey-step+ .journey-step{border-top:1px solid #b0d0931a}
.journey-step>span{display:grid;place-items:center;width:37px;height:37px;border:1px solid #add88844;border-radius:12px;color:#c7f999;font-size:13px}
.journey-step p{padding-top:5px;color:#c8dcc1}
.journey-end{font-size:12px;color:#8eac8f;margin-top:17px;letter-spacing:.05em}
.conversation .journey-step{border:0;border-radius:20px;background:#afd0940a;margin:10px 0;padding:15px}
.conversation .journey-step:nth-child(odd){margin-left:30px;background:#b4e49716}
.stock .journey-step>span{border-radius:50%;background:#b4e49712}
.news-stack{display:grid;gap:13px}
.news-card{position:relative;display:block;width:100%;text-align:left;color:inherit;padding:23px 52px 23px 24px;border:1px solid #a3c19136;border-radius:19px;background:linear-gradient(120deg,#28523690,#0f2d20);--phase:clamp(0,calc(var(--entry,1)*1.5 - var(--order,0)*.15),1);opacity:var(--phase);transform:translateX(calc((1 - var(--phase))*65px));transition:background .2s,border-color .2s}
.news-card:hover{background:#294e34;border-color:#c4f69677}
.news-meta{display:flex;gap:20px;justify-content:space-between;font-size:11px;color:#a5c295;margin-bottom:10px}
.news-card h3{font-size:22px;letter-spacing:-.035em;line-height:1.2}
.news-card p{font-size:13px;line-height:1.6;color:#adc0a6;margin-top:11px}
.news-arrow{position:absolute;right:22px;top:50%;font-size:22px;color:#c9fa9a}
.contact-links{display:grid;gap:18px}
.contact-card{display:flex;align-items:center;gap:22px;text-decoration:none;background:linear-gradient(130deg,#234a33,#132e22);padding:30px;border:1px solid #b3d69c3b;border-radius:24px;min-width:0;transform:translateY(calc((1 - var(--entry,1))*65px))}
.contact-card>div{min-width:0;flex:1}
.contact-card small{display:block;color:#acc49d;font-size:14px;margin-bottom:9px}
.contact-card strong{display:block;overflow-wrap:anywhere;font-size:clamp(16px,1.9vw,27px);line-height:1.3;letter-spacing:-.03em;font-weight:550}
.contact-icon{display:grid;place-items:center;width:57px;height:57px;flex-shrink:0;border:1px solid #badd9e3c;border-radius:17px;color:#c3f78f;font-size:30px}
a.contact-card:hover{border-color:#c8f397;box-shadow:0 10px 50px #7ed0540d}
.contact-card.pending strong{font-size:16px;color:#98af92}
.contact-note{font-size:13px;color:#8da487;line-height:1.7;margin-top:5px}
.partner-kicker{font-size:13px;letter-spacing:.1em;color:#c7eab0;margin-bottom:19px}
.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.partner-card{min-width:0;color:inherit;text-align:left;border:1px solid #b6d49f30;background:#264a321c;border-radius:20px;padding:17px}
.partner-card img{display:block;width:100%;height:140px;object-fit:contain;margin-bottom:20px}
.partner-card h3{font-size:18px;line-height:1.3;letter-spacing:-.03em}
.partner-card p{font-size:14px;color:#abc2a2;margin:13px 0}
.partner-card>span{display:block;color:#c2f491;margin-top:20px}
.partner-card a{font-size:14px}
.partner-directions>.contact-note{margin-top:22px}
.partner-card:nth-child(2){transform:translateY(calc(20px - var(--move,0)*40px))}
.partner-card:nth-child(3){transform:translateY(calc(40px - var(--move,0)*80px))}
/* Scroll choreography: word masks, staged cards, changing depth and soft light. */
.copy h1,.copy h2{clip-path:none;transform:none}
.reveal-word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.09em;margin-bottom:-.09em}
.reveal-word>span{display:inline-block;--phase:clamp(0,calc(var(--entry,1)*1.8 - var(--word,0)*.04),1);transform:translateY(calc((1 - var(--phase))*115%)) rotate(calc((1 - var(--phase))*4deg));opacity:var(--phase);transform-origin:bottom left}
.copy .eyebrow{opacity:var(--entry,1);transform:translateX(calc((1 - var(--entry,1))*-24px))}
.copy .actions{opacity:clamp(0,calc(var(--entry,1)*2 - .6),1);transform:translateY(calc((1 - var(--entry,1))*25px))}
.stage:before{content:"";position:absolute;inset:5% -20% 0 25%;pointer-events:none;background:radial-gradient(ellipse,#acff7210,transparent 65%);transform:translateX(calc(var(--move,0)*-20%)) scale(calc(.8 + var(--move,0)*.4));z-index:0}
.scene .catalog-grid .category{--order:0;--phase:clamp(0,calc(var(--entry,1)*1.6 - var(--order)*.12),1);opacity:var(--phase);transform:translateY(calc((1 - var(--phase))*70px)) rotateX(calc((1 - var(--phase))*12deg))}
.catalog-grid .category:nth-child(2){--order:1}.catalog-grid .category:nth-child(3){--order:2}.catalog-grid .category:nth-child(4){--order:3}.catalog-grid .category:nth-child(5){--order:4}.catalog-grid .category:nth-child(6){--order:5}
.scene.flow .copy,.scene.flow .visual{transform:none}
.scene.flow .partner-card{transform:none}
.panel-header{flex-wrap:wrap}
@media(max-width:1050px){.partner-grid{gap:8px}.partner-card{padding:12px}.partner-card h3{font-size:15px}.partner-card img{height:110px}.news-card{padding:18px 39px 18px 18px}.news-card h3{font-size:20px}.journey-panel{padding:22px}.journey-step{font-size:14px;padding:12px 0}.contact-card{padding:23px;gap:16px}}
@media(max-width:700px){.visual{max-height:none;flex-shrink:0}.image-stage{height:310px}.has-companions .art-primary{bottom:91px}.art-companions{height:82px;gap:12px;left:7%;right:7%}.art-companions>div{border-radius:14px;padding:6px}.product-showcase{padding:9px 14px 14px;border-radius:20px}.product-showcase .image-stage{height:230px}.product-caption{font-size:13px;padding-top:11px}.journey-panel{padding:18px}.journey-step{grid-template-columns:30px 1fr;gap:11px;font-size:13px;padding:11px 0}.journey-step>span{width:28px;height:28px;font-size:11px}.journey-step p{padding-top:2px}.journey-end{font-size:11px}.news-stack{gap:10px}.news-card{padding:16px 37px 16px 17px}.news-card h3{font-size:18px}.news-card p{font-size:12px;margin-top:8px}.news-meta{font-size:10px;gap:10px}.news-arrow{right:15px;font-size:19px}.contact-card{padding:20px;gap:15px;border-radius:19px}.contact-icon{width:42px;height:42px;font-size:24px;border-radius:13px}.contact-card strong,.contact-card.pending strong{font-size:15px}.contact-card small{font-size:13px;margin-bottom:5px}.contact-links{gap:12px}.partner-grid{gap:8px}.partner-card{padding:10px;border-radius:15px}.partner-card img{height:95px;margin-bottom:13px}.partner-card h3{font-size:13px}.partner-card>span{margin-top:13px}.partner-card:nth-child(n){transform:none}.contact-note{font-size:12px}.scene-content{gap:24px}.conversation .journey-step{padding:12px}.hero .visual{flex-shrink:0}.reveal-word>span{rotate:0deg}}
@media(prefers-reduced-motion:reduce){.reveal-word>span,.copy .eyebrow,.copy .actions,.journey-panel,.journey-step,.news-card,.contact-card,.partner-card,.art-primary>.main-image,.scene .catalog-grid .category{opacity:1!important;transform:none!important}.stage:before{transform:none!important}}
