/* A small, shared 3D scene. Transform-only movement keeps the page responsive. */
:root{--scene-mint:#a8d8d1;--scene-light:#c5e9e1}
.hero{grid-template-columns:1.08fr 1fr;align-items:center;gap:25px}
.discovery-scene{position:relative;isolation:isolate;min-width:0;width:100%;height:440px;perspective:1100px;display:grid;place-items:center}
.scene-halo{position:absolute;width:390px;height:360px;border-radius:50%;background:radial-gradient(ellipse,#3c89816b 0,#11515b30 50%,transparent 72%);z-index:-1}
.scene-space{position:relative;width:420px;height:410px;transform-style:preserve-3d;transform:rotateX(var(--scene-x,0deg)) rotateY(var(--scene-y,0deg));transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.scene-orbit{position:absolute;inset:27px;border:1px solid #91c9c05e;border-radius:50%;transform-style:preserve-3d;pointer-events:none}
.orbit-a{transform:rotateX(66deg) rotateZ(-20deg);box-shadow:0 2px 0 #9bdcd243}
.orbit-b{inset:7px 46px;transform:rotateY(56deg) rotateZ(30deg);border-color:#6a8e9155}
.orbit-c{inset:42px 8px;transform:rotateX(-26deg) rotateY(38deg);border-style:dashed;opacity:.55}
.glass-core{position:absolute;inset:70px 60px;border-radius:58px;border:1px solid #b7e9dc5e;background:linear-gradient(135deg,#b6dfd830,#11515b22 55%,#255b5060);box-shadow:inset 1px 1px 0 #d7fff42e,inset -1px -2px 0 #04111255,0 32px 60px #0004;transform:rotateX(13deg) rotateY(-23deg) rotateZ(-11deg) translateZ(-24px);overflow:hidden}
.glass-core:after{content:'';position:absolute;inset:-100%;background:linear-gradient(110deg,transparent 43%,#c5eee212 48%,#d9fff32d 50%,transparent 54%);transform:translateX(-20%);animation:glass-sweep 10s ease-in-out infinite}
.core-grid{position:absolute;inset:0;background-image:linear-gradient(#8bbcb714 1px,transparent 1px),linear-gradient(90deg,#8bbcb714 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(white,transparent)}
.core-star{position:absolute;right:15px;top:8px;font-size:44px;color:#afded090;line-height:1}
.scene-mascot{position:absolute;width:290px;height:310px;object-fit:contain;left:66px;top:36px;filter:drop-shadow(0 24px 22px #0007);transform:translateZ(50px);animation:mascot-hover 7s ease-in-out infinite}
.mascot-platform{position:absolute;bottom:49px;left:82px;width:265px;height:75px;border-radius:50%;transform:rotateX(58deg) translateZ(-25px);background:radial-gradient(ellipse,#071414bb 22%,#6a8e9144 50%,#a8d8d11c 70%);border:1px solid #a8d8d17d;box-shadow:0 9px 0 #0a2f3466,0 12px 0 #6a8e9136,0 28px 40px #0004}
.mascot-platform>span{position:absolute;inset:9px;border:1px solid #a8d8d15e;border-radius:50%}
.scene-chip{position:absolute;display:flex;align-items:center;gap:12px;padding:14px 17px;border:1px solid #a5d5ce55;border-radius:16px;background:linear-gradient(120deg,#689a9938,#0f3b3bce);box-shadow:inset 0 1px #ddfff522,0 15px 35px #0003;backdrop-filter:blur(12px);transform-style:preserve-3d;font-size:12px;color:#e6f4ed;line-height:1.5;white-space:nowrap}
.scene-chip>span{font-size:28px;line-height:1;color:#b1dad1}
.scene-chip small{display:block;font-size:10px;color:#a3c7bd}
.chip-one{left:-7px;top:75px;transform:rotateY(-12deg) rotateZ(-7deg) translateZ(78px);animation:chip-one-hover 8s ease-in-out infinite}
.chip-two{right:-5px;bottom:60px;transform:rotateY(15deg) rotateZ(6deg) translateZ(100px);animation:chip-two-hover 9s ease-in-out infinite}
.scene-satellite{position:absolute;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 24%,#c7e8dc,#6a8e91 33%,#255b50 65%,#041112 94%);box-shadow:inset 0 0 0 1px #d1f8eb3d,0 12px 24px #0005}
.satellite-one{width:32px;right:40px;top:15px;transform:translateZ(32px);animation:ball-hover 8s ease-in-out infinite}
.satellite-two{width:18px;left:21px;bottom:68px;transform:translateZ(60px);animation:ball-hover 6s ease-in-out infinite reverse}
.scene-label{position:absolute;bottom:0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:8px;letter-spacing:1.6px;color:#9ec2b9}
.scene-label>span{width:5px;height:5px;border-radius:50%;background:#9bc6b7;box-shadow:0 0 10px #8ce1c9}
@keyframes mascot-hover{50%{translate:0 -12px;rotate:0 1 0 4deg}}
@keyframes chip-one-hover{50%{translate:0 7px}}
@keyframes chip-two-hover{50%{translate:0 -9px}}
@keyframes ball-hover{50%{translate:0 -13px}}
@keyframes glass-sweep{0%,20%,100%{translate:-20% 0}60%,80%{translate:20% 0}}
@media(hover:hover) and (pointer:fine){
 .product-card,.story-card{transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
 .product-card:hover,.story-card:hover{transform:perspective(1000px) translateY(-6px) rotateX(2deg) rotateY(-1deg);box-shadow:3px 18px 34px #0004,inset 0 1px #c2f2e73b}
 .product-visual img,.story-image>img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
 .product-card:hover .product-visual img,.story-card:hover .story-image>img{transform:scale(1.035)}
}
.site-header nav a[aria-current=page]{color:#d7f3e8}
.full-footer{max-width:1440px;margin:25px auto 0;padding:48px 5% 25px;display:grid;grid-template-columns:1.5fr 1fr 1.3fr 1.1fr;gap:35px;border-top:1px solid #6a8e9133;align-items:start;background:linear-gradient(180deg,#0f2e3025,transparent)}
.full-footer .footer-intro{display:block}
.full-footer .footer-brand{font-size:25px}
.footer-intro p{font-size:12px;color:#b4d0c5;line-height:1.8;max-width:230px;margin:15px 0 10px}
.footer-note{font-size:11px;color:#8bada5;line-height:1.8}
.full-footer .footer-column{display:flex;flex-direction:column;gap:2px;justify-self:stretch;font-size:12px;align-items:flex-start}
.footer-heading{font-size:9px;letter-spacing:1.5px;color:#86aea4;display:block;margin-bottom:13px;line-height:1.6}
.full-footer .footer-column>a{display:inline-flex;align-items:center;gap:8px;min-height:37px;font-size:12px;color:#bad4ca;line-height:1.6}
.full-footer .footer-column>a:hover{color:#f0fff8}
.social-initial{display:inline-grid;place-items:center;min-width:24px;height:24px;border:1px solid #6a8e9160;border-radius:50%;font-size:15px;font-weight:650;color:#b6dbd0}
.footer-social>a>span:last-child{font-size:12px;color:#7b9e94}
.full-footer .footer-bottom{grid-column:1/-1;border-top:1px solid #6a8e9133;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;line-height:1.8;justify-self:stretch}
.footer-bottom small{font-size:10px;color:#86a89d}
.footer-bottom>a{font-size:10px;color:#9dbeb2}
.information-main{max-width:1296px;margin:auto;padding:0 5%}
.information-header{padding:35px 0 38px;border-bottom:1px solid #6a8e9133}
.information-header>.text-back{font-size:12px;min-height:44px;display:inline-flex;align-items:center;margin-bottom:22px}
.information-header>.eyebrow{font-size:9px;letter-spacing:1.8px;color:#9cbdb1}
.information-header h1{font-size:clamp(36px,4.4vw,60px);letter-spacing:-2px;margin:18px 0 16px;line-height:1.2}
.information-header>p{font-size:15px;line-height:1.9;color:#a4c2b7;max-width:650px;margin:0}
.information-layout{display:grid;grid-template-columns:220px minmax(0,740px);gap:65px;padding:40px 0 50px}
.information-nav{align-self:start;position:sticky;top:25px;display:flex;flex-direction:column;gap:4px}
.information-nav>.eyebrow{font-size:9px;margin-bottom:13px;color:#8cafa2;letter-spacing:1.2px}
.information-nav>a{font-size:12px;line-height:1.6;min-height:44px;border:1px solid transparent;border-radius:9px;display:flex;align-items:center;padding:9px 12px;color:#a3c1b3}
.information-nav>a.current{color:#e1f6eb;background:linear-gradient(125deg,#6a8e9125,#11515b35);border-color:#6a8e9140;box-shadow:inset 0 1px #bbedd11c}
.information-nav>a:hover{color:#edfff4;background:#255b5028}
.page-toc{display:flex;flex-direction:column;border-top:1px solid #6a8e9133;padding-top:23px;margin-top:23px;gap:3px}
.page-toc>.eyebrow{font-size:8px;letter-spacing:1.2px;color:#90b2a5;margin-bottom:13px}
.page-toc>a{font-size:11px;line-height:1.6;padding:6px 8px;color:#9dbcae;min-height:32px;display:flex;align-items:center}
.page-toc>a:hover{color:#e5f7ee}
.information-content{font-size:15px;line-height:1.95;color:#bbd2c4;min-width:0}
.information-content>p{margin:0 0 23px}
.information-content>p:first-child{font-size:18px;color:#d3e8d9;line-height:1.8}
.information-content h2{font-size:27px;font-family:var(--display);line-height:1.4;letter-spacing:-.7px;color:#deefe3;margin:35px 0 20px;scroll-margin-top:25px}
.information-content h3{font-size:19px;color:#d0e6d6;font-family:var(--display);line-height:1.6;margin:28px 0 15px}
.information-content ul,.information-content ol{padding-left:23px;margin:18px 0 26px}
.information-content li{padding-left:5px;margin:9px 0;line-height:1.85}
.information-content li::marker{color:#7ba994}
.information-content a{color:#c1e9d4;text-decoration:underline;text-decoration-color:#6a8e9180;text-underline-offset:4px;overflow-wrap:anywhere}
.information-content strong{font-weight:650;color:#e3f3e6}
.information-content hr{border:0;height:1px;background:#6a8e9133;margin:32px 0}
.information-content mark{background:#255b5070;color:#d6efde;border-radius:4px;padding:1px 3px}
.information-content .source-note{margin-top:35px;padding-top:20px;border-top:1px solid #6a8e9133;font-size:11px;color:#87ab98}
.source-note a{font-size:11px;color:#a6cfb6}
.contact-panel{display:flex;align-items:center;gap:24px;margin:30px 0 0;padding:26px 34px;border:1px solid #6a8e914a;border-radius:20px;background:linear-gradient(125deg,#6a8e911f,#11515b44);box-shadow:inset 0 1px #c5f2df28,0 20px 45px #0002}
.contact-panel .eyebrow{font-size:9px;letter-spacing:1.5px;color:#95beaa;margin-bottom:12px}
.contact-orb{display:grid;place-items:center;width:82px;height:82px;border-radius:23px;background:linear-gradient(130deg,#6a8e914e,#255b5077);border:1px solid #a3d7bc60;font-size:43px;color:#c8ead5;transform:perspective(650px) rotateY(-18deg) rotateZ(-8deg);box-shadow:inset 0 1px #dfffe244,6px 8px 0 #0a272d6b,0 20px 28px #0004;animation:contact-float 7s ease-in-out infinite}
.contact-email{font-family:var(--display);font-size:27px;letter-spacing:-.6px;line-height:1.5;color:#d4eee0;display:inline-flex;align-items:center;gap:20px;min-height:44px;overflow-wrap:anywhere}
.contact-email>span{font-size:23px;color:#97c6b0}
.contact-hint{display:block;font-size:12px;color:#8fb5a1;line-height:1.8;margin-top:7px}
@keyframes contact-float{50%{translate:0 -5px}}
.about-scene{float:right;width:360px;height:345px;margin:35px 0 0 35px;position:relative;z-index:1;pointer-events:none;display:none}
/* A compact story scene is visible above the full imported text. */
.information-main:has(.about-scene){position:relative}
.information-main:has(.about-scene) .information-header{padding-right:350px;min-height:290px}
.information-main:has(.about-scene) .about-scene{display:block;position:absolute;top:25px;right:4%;float:none;margin:0}
.compact-scene{width:100%;height:330px;scale:.75;transform-origin:top center}
.compact-scene .scene-label{bottom:-70px}
@media(max-width:1100px){.scene-space{scale:.88}.discovery-scene{height:400px}.information-layout{grid-template-columns:185px minmax(0,1fr);gap:40px}.full-footer{gap:25px;grid-template-columns:1.2fr .9fr 1.2fr 1fr}}
@media(max-width:800px){.hero{grid-template-columns:1.15fr .85fr}.discovery-scene{height:335px}.scene-space{scale:.7;transform-origin:center center}.scene-halo{width:270px;height:280px}.scene-label{font-size:6px;letter-spacing:1px;bottom:10px}.scene-chip{backdrop-filter:none}.full-footer{grid-template-columns:1fr 1fr;gap:28px}.information-layout{grid-template-columns:1fr;gap:27px;padding-top:26px}.information-nav{position:static;display:flex;flex-direction:row;gap:8px;flex-wrap:wrap}.information-nav>.eyebrow,.page-toc{display:none}.information-nav>a{padding:10px 15px;border:1px solid #6a8e9140;border-radius:24px;font-size:12px}.information-content{font-size:16px}.information-main:has(.about-scene) .information-header{padding-right:0;min-height:0}.information-main:has(.about-scene) .about-scene{display:none}.contact-panel{padding:23px;gap:20px}.contact-email{font-size:23px}.scene-mascot,.scene-chip,.scene-satellite,.glass-core:after{animation-duration:12s}.scene-chip{background:linear-gradient(125deg,#254d4b,#103b3b)}}
@media(max-width:600px){
 .hero{display:flex;padding-top:22px;gap:0}
 .hero-copy{z-index:2}
 .hero .eyebrow{font-size:8px;letter-spacing:.9px}
 .discovery-scene{display:none}
 .hero:before{content:'';position:absolute;top:22px;right:-40px;width:185px;height:185px;border-radius:40px;background:linear-gradient(130deg,#a1d5ca12,#11515b25);border:1px solid #a7d2c51b;transform:perspective(500px) rotateX(20deg) rotateY(-35deg) rotateZ(-15deg);z-index:-1;pointer-events:none}
 .site-header nav{justify-content:space-between;gap:6px;max-width:100%;overflow-x:auto;scrollbar-width:none}
 .site-header nav::-webkit-scrollbar{display:none}
 .site-header .nav-link{font-size:12px;flex-shrink:0;min-height:48px}
 .full-footer{margin-top:25px;padding:32px 5% 24px;grid-template-columns:1fr 1fr;gap:30px 24px}
 .full-footer .footer-intro{grid-column:1/-1}
 .full-footer .footer-column{gap:0;min-width:0}
 .footer-intro p{font-size:14px;margin:12px 0 8px;max-width:none}
 .footer-note{font-size:12px}
 .footer-heading{font-size:10px;line-height:1.7;margin-bottom:13px;letter-spacing:1.2px}
 .full-footer .footer-column>a{font-size:13px;min-height:44px;line-height:1.6;gap:7px}
 .full-footer .footer-social{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}
 .footer-social>.footer-heading{grid-column:1/-1}
 .social-initial{min-width:24px;height:24px}
 .full-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:12px;padding-top:22px}
 .footer-bottom small,.footer-bottom>a{font-size:11px;line-height:1.8}
 .information-main{padding:0 5%}
 .information-header{padding:20px 0 27px}
 .information-header>.text-back{font-size:13px;margin-bottom:17px}
 .information-header>.eyebrow{font-size:9px;line-height:1.7;letter-spacing:1px}
 .information-header h1{font-size:36px;letter-spacing:-1.4px;line-height:1.25;margin:16px 0}
 .information-header>p{font-size:15px;line-height:1.8}
 .information-layout{padding:25px 0 15px;gap:27px}
 .information-nav{gap:8px}
 .information-nav>a{font-size:12px;min-height:44px;padding:9px 14px}
 .information-content{font-size:16px;line-height:1.85}
 .information-content>p:first-child{font-size:18px;line-height:1.8}
 .information-content h2{font-size:25px;line-height:1.5;letter-spacing:-.5px;margin-top:31px}
 .information-content h3{font-size:19px}
 .information-content ul,.information-content ol{padding-left:22px}
 .information-content li{padding-left:2px}
 .information-content .source-note{font-size:12px;line-height:1.8}
 .source-note a{font-size:12px}
 .contact-panel{padding:23px 18px;border-radius:16px;align-items:flex-start;flex-direction:column;gap:23px}
 .contact-orb{width:63px;height:63px;font-size:34px;border-radius:19px;animation:none}
 .contact-email{font-size:clamp(18px,5.7vw,23px);letter-spacing:-.6px;gap:9px}
 .contact-email>span{font-size:20px}
 .contact-panel .eyebrow{font-size:10px}
 .contact-hint{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 .scene-space{transform:none!important;transition:none!important}
 .scene-mascot,.scene-chip,.scene-satellite,.glass-core:after,.contact-orb{animation:none!important}
 .product-card:hover,.story-card:hover,.product-card:hover .product-visual img,.story-card:hover .story-image>img{transform:none!important}
}
@media(prefers-reduced-motion:no-preference) and (min-width:801px){.discovery-scene.is-paused *{animation-play-state:paused}}
@media(max-width:600px){.hero{overflow:clip}}
