.home-page{--lime:#75e2d4;background:radial-gradient(ellipse at 72% 18%,#17374780,transparent 42%),#0b1523}.home-page .site-header{border-color:#ffffff12}.home-page .workshop-hero{grid-template-columns:1fr 1.05fr;align-items:center;gap:15px;padding:80px 0 50px}.home-page h1{font-size:clamp(3.5rem,6.5vw,6rem);line-height:1.04;letter-spacing:-.065em;margin-bottom:26px}.home-page h1 em{color:#7de5d5}.home-page .hero-intro{max-width:470px;font-size:1.05rem;color:#acbdcc}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.primary-action{display:inline-flex;gap:28px;align-items:center;padding:15px 23px;background:#f9d476;color:#152234;border-radius:12px;font-weight:700;box-shadow:0 8px 28px #0003}.primary-action:hover{background:#ffe3a0}.secondary-action{font-size:.9rem;border-bottom:1px solid #597080;padding:6px 0}.hero-note{font-size:.75rem;color:#8297aa;margin:22px 0 0}.workshop{position:relative;min-width:0;margin:0;height:570px}.scene-halo{position:absolute;inset:8% 0 15%;border:1px solid #75e2d418;border-radius:50%;background:radial-gradient(ellipse,#267b8750,transparent 68%);transform:rotate(-18deg)}.scene-halo:after{content:'';position:absolute;inset:30px -20px;border:1px dashed #75e2d41a;border-radius:50%;transform:rotate(32deg)}#workshop-canvas{position:absolute;inset:0 0 35px}#workshop-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y}.robot-fallback{position:absolute;left:22%;top:15%;width:56%;height:auto;filter:drop-shadow(0 20px 22px #0005)}.scene-ready .robot-fallback{visibility:hidden}.scene-tag{position:absolute;pointer-events:none;font-size:.72rem;letter-spacing:.02em;color:#c2d5df;padding:9px 13px;border:1px solid #b0dadd25;border-radius:25px;background:#112433d9}.tag-top{right:2%;top:11%;transform:rotate(7deg)}.tag-bottom{left:0;bottom:20%;transform:rotate(-7deg)}.workshop figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#a7bacb;font-size:.73rem}.status-dot{width:6px;height:6px;border-radius:50%;background:#75e2d4}.workshop button{font:inherit;color:#cee1ec;background:#172b3b;border:1px solid #5f7a8d;border-radius:20px;padding:7px 11px;margin-left:8px;cursor:pointer}.collection-shortcuts{width:min(1200px,calc(100% - 48px));margin:0 auto 70px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.collection-shortcuts>a{display:flex;gap:20px;align-items:center;padding:24px 28px;background:linear-gradient(120deg,#1c3345,#142532);border:1px solid #aacddd20;border-radius:18px;transition:transform .2s,border-color .2s}.collection-shortcuts>a:hover{transform:translateY(-4px);border-color:#7de5d5}.shortcut-icon{display:grid;place-items:center;background:#75e2d415;color:#8ce8db;font-size:2rem;width:64px;height:70px;border-radius:14px}.collection-shortcuts small{display:block;letter-spacing:.12em;font-size:.6rem;color:#85b6bc;margin-bottom:5px}.collection-shortcuts strong{display:block;font-family:var(--display);font-size:1.15rem}.collection-shortcuts a>span>span{font-size:.82rem;color:#97aebe}.collection-shortcuts b{margin-left:auto;color:#f9d476;font-size:1.5rem}.home-page .catalog{background:#f1f3ef;padding-top:75px}.home-page .section-heading{margin-bottom:48px}.home-page .section-heading h2{font-size:clamp(2.5rem,4.7vw,4rem)}.home-page .support-card{margin:0 0 35px;box-shadow:none;background:#e7ebe3}.home-page .catalog-nav{margin-bottom:35px}.home-page .table-shell{overflow:visible;border:0;border-radius:0;box-shadow:none;background:transparent}.home-page table,.home-page tbody{display:block}.home-page thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.home-page tbody{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-page tbody tr{display:flex;flex-direction:column;align-items:stretch;background:#fff;border:1px solid #dce2dc;border-radius:20px;padding:26px;box-shadow:0 6px 20px #21352d04;transition:transform .2s,box-shadow .2s}.home-page tbody tr:hover{transform:translateY(-5px);box-shadow:0 14px 32px #21352d12}.home-page th,.home-page td{display:block;width:auto;padding:0;border:0}.home-page td:before{display:none}.home-page .product-name{align-items:center;font-size:1.05rem;line-height:1.35;min-height:62px}.home-page .app-icon{width:58px;height:58px;flex-basis:58px;border-radius:15px}.home-page td[data-label=Description]{padding:21px 0 24px;font-size:.9rem;flex:1}.home-page td[data-label="Get it on"]{padding-top:16px;border-top:1px solid #e9ece7}.home-page .store-links{display:flex;flex-wrap:wrap;gap:10px}.home-page .store-badge{white-space:normal;min-height:38px}.home-page td[data-label=Price]{padding:12px 0}.home-page td[data-label="Demo video"]{font-size:.78rem}.home-page .unavailable{font-size:.72rem}.home-page .contact-strip{padding-top:85px;padding-bottom:85px}.home-page a:focus-visible,.home-page button:focus-visible{outline:3px solid #238a9c;outline-offset:5px}
@media(min-width:1500px){.home-page .workshop{height:610px}}@media(max-width:1000px){.home-page tbody{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .workshop{height:490px}.home-page .workshop-hero{gap:0}.scene-tag{font-size:.65rem}.collection-shortcuts>a{padding:20px;gap:12px}.shortcut-icon{width:45px;flex-shrink:0}.collection-shortcuts strong{font-size:1rem}}@media(max-width:700px){.home-page .workshop-hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:30px}.home-page h1{font-size:clamp(3.2rem,12vw,4.8rem)}.home-page .hero-intro{max-width:100%}.workshop{height:440px!important;margin-top:20px}.collection-shortcuts{grid-template-columns:1fr;margin-bottom:40px;gap:12px}.home-page .section-heading{display:block}.home-page .section-heading>p{margin-top:22px}.home-page tbody{grid-template-columns:1fr}.home-page tbody tr{padding:24px}.home-page .catalog{padding-top:48px}.home-page .support-card{padding:20px}.scene-tag.tag-top{right:0;top:8%}.scene-tag.tag-bottom{bottom:21%}.workshop figcaption{font-size:.68rem;gap:5px}.home-page .product-group+.product-group{margin-top:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-page .workshop *{transition:none!important}}

.home-page main{overflow:clip}

/* A small, explorable room, with its controls outside the rendered floor. */
.home-page .workshop{height:690px}
.home-page #workshop-canvas{inset:0 0 210px;cursor:pointer;border-radius:20px}
#workshop-canvas:focus-visible{outline:2px solid #7de5d5;outline-offset:2px}
.home-page .workshop figcaption{display:block;text-align:center;bottom:0;min-height:200px}
.room-hint{font-size:.7rem;color:#9ab8c8;margin:4px 5px 12px}
.room-actions{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}
.home-page .workshop button{min-height:38px;margin:0;padding:7px 12px;transition:background .15s}
.home-page .workshop button:hover{background:#284658}
.room-dpad{display:flex;justify-content:center;gap:7px;margin-top:10px}
.home-page .room-dpad button{width:40px;min-height:40px;font-size:1rem}
#room-status{margin:10px auto 4px;max-width:470px;min-height:2.8em;font-size:.76rem;line-height:1.4;color:#d1e2eb}
#room-discover{display:inline-block;color:#f9d476;text-decoration:underline;text-underline-offset:4px;padding:5px 10px;font-size:.76rem}
#room-discover[hidden],.room-controls[hidden]{display:none}
.home-page .scene-tag.tag-top{top:1%;right:4%}
.home-page .scene-tag.tag-bottom{bottom:34%;left:2%}
/* Dimensional software cards: a lit upper surface, solid rim, raised icon and deep shadow. */
.home-page tbody{gap:28px;perspective:1200px}
.home-page tbody tr{--card-accent:#d5eee8;position:relative;isolation:isolate;border:1px solid #fff;border-bottom:2px solid #bccbc4;background:radial-gradient(ellipse at 15% 0%,var(--card-accent),transparent 65%),linear-gradient(150deg,#fff 35%,#f2f5ef);box-shadow:0 7px 0 #c2cfc6,0 8px 0 1px #afc0b7,0 20px 28px -12px #25493c4a,inset 0 1px 1px #fff;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .18s ease-out,box-shadow .18s;transform-style:preserve-3d}
.home-page tbody tr:nth-child(3n+2){--card-accent:#e0e7fc}
.home-page tbody tr:nth-child(3n){--card-accent:#faebc7}
.home-page tbody tr:hover,.home-page tbody tr:focus-within{transform:perspective(1000px) translateY(-7px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 8px 0 #c2cfc6,0 9px 0 1px #afc0b7,0 30px 35px -12px #25493c55,inset 0 1px 1px #fff;z-index:1}
.home-page .app-icon{background:#fff;border:3px solid #fff;box-shadow:0 4px 0 #bbccc4,0 9px 15px #274b4230;transform:translateZ(15px) rotate(-5deg);transition:transform .2s}
.home-page tr:hover .app-icon,.home-page tr:focus-within .app-icon{transform:translateZ(24px) rotate(0)}
.home-page .product-name{transform:translateZ(8px)}
.home-page td[data-label="Get it on"]{border-color:#cbd9d0}
.home-page .store-badge{border-radius:8px;padding:5px 8px;background:#ffffffb3;border:1px solid #d9e3dc;box-shadow:0 2px 0 #d4ded5}
.home-page .store-badge:hover{background:#e0f3eb}
@media(max-width:1000px){.home-page .workshop{height:650px}.home-page #workshop-canvas{inset:0 -12px 230px}.home-page .workshop figcaption{min-height:225px}}
@media(max-width:700px){.home-page .workshop{height:610px!important}.home-page #workshop-canvas{inset:0 -5px 225px}.home-page .workshop figcaption{min-height:220px}.home-page .scene-tag.tag-bottom{bottom:39%}.home-page .scene-tag.tag-top{top:2%}.home-page tbody{gap:26px}.home-page tbody tr{transform:none}.home-page tbody tr:hover{transform:translateY(-3px)}.room-hint{font-size:.65rem}}


.room-hint{display:none}.scene-ready .room-hint{display:block}

/* The room is a decorative automatic loop, with only a motion toggle. */
.home-page .workshop{height:560px}
.home-page #workshop-canvas{inset:0 0 75px;cursor:default;pointer-events:none}
.home-page .workshop figcaption{min-height:65px}
.room-caption{margin:0 0 4px;color:#bed5e0;font-size:.8rem}
.home-page #room-status{display:inline-block;min-height:0;margin:0 10px 0 0;font-size:.7rem}
.home-page .scene-tag.tag-bottom{bottom:20%}
@media(max-width:1000px){.home-page .workshop{height:520px}.home-page #workshop-canvas{inset:0 -12px 75px}.home-page .workshop figcaption{min-height:65px}}
@media(max-width:700px){.home-page .workshop{height:470px!important}.home-page #workshop-canvas{inset:0 -5px 75px}.home-page .scene-tag.tag-bottom{bottom:22%}.home-page .workshop figcaption{min-height:65px}}
/* Stretch the native app link across its card; secondary links sit above it. */
.home-page tbody tr{transform-style:flat}
.home-page .product-name{transform:none}
.home-page .collection-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:20px;cursor:pointer}
.home-page .store-badge,.home-page .video-link{position:relative;z-index:2}
.home-page .collection-link:focus-visible::after{outline:3px solid #238a9c;outline-offset:5px}

/* Native video replaces runtime WebGL. Card animation follows the owner’s explicit policy. */
.hero-media{position:absolute;inset:0 0 75px;display:flex;align-items:center;justify-content:center;pointer-events:none}
#hero-video{display:block;width:100%;height:100%;object-fit:contain;border-radius:20px}
.home-page tbody tr{transition:transform .18s ease-out,box-shadow .18s!important}
.home-page .app-icon{transition:transform .2s!important}
.home-page tbody tr:active{transform:perspective(1000px) translateY(-3px) rotateX(2deg)}
@media(max-width:1000px){.hero-media{inset:0 -12px 75px}}
@media(max-width:700px){.hero-media{inset:0 -5px 75px}}

/* Three equal, discoverable collection entries. On medium screens the new
 * interactive-science entry spans both columns without squeezing the title. */
@media (min-width:701px) and (max-width:1100px){
  .collection-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .collection-shortcuts>a:last-child{grid-column:1/-1}
}
@media (max-width:700px){.collection-shortcuts{grid-template-columns:1fr}.collection-shortcuts>a:last-child{grid-column:auto}}
