/* Opal: living perspectives */
.hero .live-glass{inset:0!important;width:100%!important;height:100%;mask-image:none!important}.live-glass-ready .hero-wash{display:none}.live-glass-ready .glass-touch{outline:none!important}.live-glass-ready .glass-touch:focus-visible{outline:1px dashed #c4b4d550!important;outline-offset:-35px}.live-glass-ready .hero-copy{pointer-events:none}.live-glass-ready .hero-copy a{pointer-events:auto}
.live-glass-ready .glass-touch{inset:100px -1% 70px 43%;width:auto;height:auto;border-radius:0}.live-glass-ready .glass-touch:focus-visible{outline:1px solid #c5b7e866;outline-offset:-15px}@media(max-width:800px){.live-glass-ready .glass-touch{inset:440px 0 90px;width:100%;height:auto}}
.live-glass{mask-image:radial-gradient(ellipse at center,black 45%,transparent 74%)}
.live-glass{position:absolute;inset:100px -1% 70px 43%;z-index:1;pointer-events:none}.live-glass-ready .hero-art{opacity:0!important}.live-glass-ready .hero-wash{background:radial-gradient(ellipse at 78% 50%,#39416144,transparent 55%)!important}.live-glass-ready .glass-touch{z-index:2}.live-glass-ready .hero-copy{z-index:3}.live-glass-ready .hero-view-controls{z-index:4}.live-glass-ready #hero-film{display:none}.live-glass-ready .hero-art{transform:none!important;scale:1!important}@media(max-width:800px){.live-glass{inset:440px -10% 90px;width:120%}.live-glass-ready .glass-touch{top:470px;height:330px}}
.glass-touch{position:absolute;z-index:1;right:2%;top:17%;width:48%;height:66%;border:0;background:transparent;cursor:grab;touch-action:pan-y;border-radius:35%}.glass-touch:active{cursor:grabbing}.hero .hero-art{transform:translate(calc(var(--look-x,0px) + var(--glass-drag-x,0px)),calc(var(--look-y,0px) + var(--glass-drag-y,0px))) rotate(var(--glass-tilt,0deg))!important;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),scale 1.4s ease!important}.hero.glass-held .hero-art{transition:transform .15s ease-out,scale 1.4s ease!important}.hero.glass-closeup .hero-art{scale:1.08!important}@media(max-width:800px){.glass-touch{top:50%;height:36%;width:88%;right:6%}}@media(prefers-reduced-motion:reduce){.hero .hero-art{transform:none!important;transition:none!important}}html.motion-paused .hero .hero-art{transform:none!important;transition:none!important}
#hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;opacity:0;transition:opacity .8s;pointer-events:none}.film-playing #hero-film{opacity:1}.film-playing .hero-art img{animation:none!important}@media(max-width:800px){#hero-film{object-position:85% center}}
.hero-view-controls{position:absolute;right:6%;bottom:14%;z-index:3;display:flex;align-items:center;gap:14px}.hero-view-controls button{padding:11px 17px;border-radius:30px;background:#15213f80;backdrop-filter:blur(16px);border:1px solid #d6c9f54a;color:#ece5f7;font-size:11px}.hero-view-controls span{font-size:10px;color:#bdbbd0;max-width:165px;line-height:1.5}.hero .hero-art{scale:1;transition:transform 1.8s ease-out,scale 1.8s ease-in-out!important;transform-origin:78% 50%}.hero.glass-closeup .hero-art{scale:1.18}.hero .art-caption{visibility:hidden}@media(max-width:800px){.hero-view-controls{bottom:105px;left:6%;right:6%;justify-content:space-between}.hero-view-controls span{max-width:140px;font-size:9px}}@media(prefers-reduced-motion:reduce){.hero .hero-art{transition:none!important}}html.motion-paused .hero .hero-art{transition:none!important}
@media(max-width:800px) and (max-height:740px){.journey{height:auto!important}.journey .sticky{position:relative;height:auto;min-height:0;display:block;padding-bottom:60px}.journey .route-art{margin:40px auto}.journey .steps{height:auto;display:grid;gap:35px}.journey .step{position:static;opacity:1;visibility:visible;transform:none}.journey .journey-controls,.journey #step-count{display:none}.journey .journey-bottom{position:static;margin-top:35px}}
.journey-controls{position:absolute;bottom:-35px;left:0;z-index:3}html.motion-paused .journey-controls{position:static}@media(prefers-reduced-motion:reduce){.journey-controls{position:static}}
.hero{background:radial-gradient(ellipse at 78% 43%,#49416a 0%,#263653 28%,#111e34 54%,#0b172b 85%)}
.hero-art{opacity:.42;transition:opacity 1s}.hero.has-opal .hero-art{opacity:0}.hero-wash{background:linear-gradient(90deg,#0b172b99,transparent 75%),linear-gradient(0deg,#101d31,transparent 22%);pointer-events:none}.hero-copy{pointer-events:none}.hero-copy a{pointer-events:auto}
.opal-object{position:absolute;inset:105px 0 90px 46%;z-index:1}.opal-object:before{content:'';position:absolute;inset:22% 12%;border-radius:50%;background:#a39ee51a;filter:blur(60px);pointer-events:none}#opal-canvas{position:absolute;inset:0;cursor:grab;touch-action:pan-y}#opal-canvas:active{cursor:grabbing}#opal-canvas canvas{pointer-events:none}.object-controls{position:absolute;bottom:10px;left:15%;right:10%;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;color:#c4c9de}.object-controls button{background:#c2b4e510;border:1px solid #d6c9f52d;border-radius:30px;color:#d9d6e7;font-size:10px;padding:10px 15px}.art-caption{display:none}
.intro{background:radial-gradient(ellipse at 80% 60%,#54436655,transparent 70%),linear-gradient(140deg,#182b40,#27293f)}.journey{background:radial-gradient(ellipse at 25% 50%,#3b4f7055,transparent 60%),linear-gradient(150deg,#18273e,#171b30 65%,#29223c)}.technology{background:radial-gradient(ellipse at 90% 30%,#614b7350,transparent 60%),linear-gradient(135deg,#1b3445,#242a43 55%,#30283f)}.pricing{background:linear-gradient(120deg,#182b3b,#2a293f 60%,#382b41)}.contact{background:radial-gradient(ellipse at 85% 80%,#57436366,transparent 65%),#121e32}
.perspectives{background:linear-gradient(150deg,#181c31,#302940 65%,#213346);overflow:hidden}.perspective-heading{display:grid;grid-template-columns:1fr 2fr;gap:26px}.perspective-heading h2{font-size:clamp(34px,4.5vw,66px);line-height:1.1}.perspective-heading>p{grid-column:2;color:#aab6ce;font-size:14px}.perspective-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px;align-items:start}.perspective-card{text-align:left;color:#ecedf7;background:linear-gradient(135deg,#c8ceef0c,#b9a2d405);border:1px solid #d6cdf426;border-radius:18px;padding:25px;overflow:hidden;transition:background .4s,border-color .4s,box-shadow .4s;min-height:350px}.perspective-card:hover,.perspective-card[aria-expanded=true]{background:linear-gradient(135deg,#9ac5e51a,#bca1e514);border-color:#c4b7e866;box-shadow:0 25px 60px #080e242b}.card-top{display:flex;justify-content:space-between;font-size:11px;color:#c2c5db}.perspective-card strong{display:block;font-size:26px;font-weight:450;letter-spacing:-.04em}.card-detail{display:block;color:#afbbce;font-size:13px;line-height:1.75;margin-top:18px}.card-detail[hidden]{display:none}.mini-film{height:220px;display:block;position:relative;perspective:700px}.mini-film i,.mini-film b{position:absolute;display:block}.film-route i{height:1px;width:90%;left:5%;top:50%;background:linear-gradient(90deg,transparent,#a6cbe8,#d0a9dc,transparent);transform:rotate(-24deg)}.film-route i:nth-child(2){transform:rotate(0deg)}.film-route i:nth-child(3){transform:rotate(24deg)}.film-route b{width:40px;height:40px;border:1px solid #ead9ff;border-radius:50%;background:radial-gradient(circle at 30% 20%,#d8ebff,#9799cb 40%,#4f5277 70%);left:calc(50% - 20px);top:calc(50% - 20px);box-shadow:0 0 40px #b9a9e650;animation:mini-breathe 5s ease-in-out infinite}.film-stack i{width:100px;height:100px;left:calc(50% - 50px);top:50px;border:1px solid #d6d0f078;border-radius:15px;background:linear-gradient(120deg,#a2dced22,#c5a6e344);transform:rotateX(55deg) rotateZ(-35deg) translateZ(0);animation:mini-stack 6s ease-in-out infinite}.film-stack i:nth-child(2){top:75px;animation-delay:-2s}.film-stack i:nth-child(3){top:100px;animation-delay:-4s}.film-orbit i{width:140px;height:140px;top:40px;left:calc(50% - 70px);border:1px solid #c6b5e878;border-radius:50%;transform:rotateX(55deg) rotateY(-25deg);animation:mini-orbit 12s linear infinite}.film-orbit i:nth-child(2){animation-direction:reverse;transform:rotateX(-55deg) rotateY(25deg)}.film-orbit b{width:13px;height:13px;border-radius:50%;left:calc(50% - 6px);top:104px;background:#d8c8ed;box-shadow:0 0 30px #d8c8ed88}.journey-controls{display:flex;gap:8px;margin-top:20px}.journey-controls button{color:#b3bfd5;border:1px solid #c4c6e333;background:transparent;border-radius:24px;padding:8px 12px;font-size:10px}.journey-controls button[aria-pressed=true]{color:#f5eafa;background:#bdaddd22;border-color:#d0bce688}.steps .indicators{display:none}
@keyframes mini-breathe{50%{transform:scale(1.2);box-shadow:0 0 70px #b9a9e670}}@keyframes mini-stack{50%{transform:rotateX(55deg) rotateZ(-25deg) translateZ(18px)}}@keyframes mini-orbit{to{transform:rotateX(55deg) rotateY(335deg)}}
@media(max-width:800px){.opal-object{inset:440px -5% 90px;width:110%}.object-controls{left:14%;right:14%;bottom:0}.hero{height:950px}.hero-copy{z-index:2}.hero-wash{background:linear-gradient(0deg,#101d31,transparent 25%)}.perspective-heading{display:block}.perspective-heading h2{margin:24px 0}.perspective-grid{grid-template-columns:1fr;margin-top:35px}.perspective-card{min-height:0}.mini-film{height:195px}.journey-controls{gap:6px}.journey-controls button{padding:8px;font-size:9px}.steps{height:290px}.perspective-card strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.mini-film *{animation:none!important}.opal-object:before{filter:none;background:none}}html.motion-paused .mini-film *{animation-play-state:paused!important}

/* Transparent glass revision: generated cinema still + live sculptural assembly. */
.hero .hero-art{opacity:1;inset:0;transform:translate(var(--look-x,0px),var(--look-y,0px));transition:transform 1.8s ease-out}
.hero .hero-art img{object-position:60% center;animation:glass-cinema 22s ease-in-out infinite alternate}
.hero .hero-wash{background:linear-gradient(90deg,#091528aa,transparent 60%),linear-gradient(0deg,#101d31,transparent 18%)}
.hero .art-caption{display:flex;bottom:15%;color:#c8c4d8}
.route-art{position:relative;min-height:440px;height:min(60vh,620px);width:100%;isolation:isolate}
.route-art>svg,.route-art>.route-labels{display:none}
.route-art .opal-object{inset:-25px -5% 0;z-index:1;width:auto}
.route-art .opal-object:before{background:radial-gradient(ellipse,#5e48a425,transparent 70%);inset:8%;filter:blur(30px)}
.route-art .object-controls{left:12%;right:8%;bottom:5px;font-size:9px}
.glass-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;mask-image:radial-gradient(ellipse,#000 40%,transparent 72%)}.has-glass .glass-fallback{display:none}
.journey{background:radial-gradient(ellipse at 25% 50%,#40396445,transparent 60%),linear-gradient(150deg,#18273e,#171b30 65%,#29223c)}
@keyframes glass-cinema{from{transform:scale(1.015) translateY(0)}to{transform:scale(1.07) translateY(-1%)}}
@media(max-width:800px){.hero .hero-art{inset:310px -26% 10px -85%}.hero .hero-art img{object-position:85% center}.hero .hero-wash{background:linear-gradient(180deg,#0b172b 0%,#0b172b 38%,#0b172b55 55%,transparent 72%,#101d31 100%)}.hero .art-caption{bottom:105px}.route-art{height:300px;min-height:280px;max-width:100%}.route-art .opal-object{inset:-15px 0}.route-art .object-controls{left:4%;right:4%;bottom:0}.route-art .object-controls button{padding:7px 10px}.journey .sticky{grid-template-rows:320px 1fr}}
@media(prefers-reduced-motion:reduce){.hero .hero-art{transform:none!important}.hero .hero-art img{animation:none}}
html.motion-paused .hero .hero-art{transform:none!important}html.motion-paused .hero .hero-art img{animation-play-state:paused!important}

/* Readability over the full photographic rock wall. */
.hero.live-glass-ready:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(3,8,14,.78),rgba(3,8,14,.30) 47%,transparent 68%),linear-gradient(0deg,#080f1c,transparent 15%)}.live-glass-ready .hero-copy{text-shadow:0 2px 22px #0008}@media(max-width:800px){.hero.live-glass-ready:after{background:linear-gradient(180deg,rgba(3,8,14,.75),rgba(3,8,14,.45) 38%,transparent 57%,#080f1c)}}
