/* Envision ambient visual system — artwork is atmosphere; HTML remains the content. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url("assets/fonts/inter-latin.woff2") format("woff2")}
@font-face{font-family:'Sora';font-style:normal;font-weight:600 800;font-display:swap;src:url("assets/fonts/sora-latin.woff2") format("woff2")}
.ambient-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.34;mix-blend-mode:screen}
body.envision-home>nav{z-index:50}
body.envision-home>header,body.envision-home>main,body.envision-home>footer{position:relative;z-index:1}

#nav{isolation:isolate;overflow:hidden}
#nav::after{content:"";position:absolute;left:-34%;bottom:0;width:34%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(52,227,255,.25),rgba(154,92,255,.75),transparent);box-shadow:0 0 14px rgba(52,227,255,.22);animation:navSignal 11s cubic-bezier(.42,0,.58,1) infinite}
@keyframes navSignal{0%,14%{transform:translateX(0);opacity:0}24%{opacity:.8}72%{opacity:.55}86%,100%{transform:translateX(395%);opacity:0}}

.story-art{position:relative;isolation:isolate;overflow:hidden;--story-opacity:.46;--story-position:78% 50%}
.story-art::before{content:"";position:absolute;inset:-3%;z-index:0;pointer-events:none;background-image:var(--story-image);background-repeat:no-repeat;background-size:cover;background-position:var(--story-position);opacity:var(--story-opacity);filter:saturate(.86) contrast(.94);transform:scale(1.025);animation:storyDrift 24s ease-in-out infinite alternate;will-change:transform}
.story-art::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(7,8,12,.97),rgba(7,8,12,.82) 42%,rgba(7,8,12,.23) 78%,rgba(7,8,12,.34)),linear-gradient(180deg,rgba(7,8,12,.52),transparent 38%,rgba(7,8,12,.78))}
.story-art>.wrap{position:relative;z-index:2}
.story-enterprise{--story-image:url("assets/hero-enterprise-campus-v4.webp");--story-opacity:.5}
.story-operations{--story-image:url("assets/industry-beverage-operations-v4.webp");--story-opacity:.58}
.story-platform{--story-image:url("assets/platform-control-room-v4.webp");--story-opacity:.52}
.story-governance{--story-image:url("assets/governance-human-approval-v4.webp");--story-opacity:.55}
.story-transformation{--story-image:url("assets/transformation-logistics-scale-v4.webp");--story-opacity:.5}
/* Section-specific assets delivered from VISUAL-BRIEF.md; HTML remains the content. */
.story-why{--story-image:url("assets/why-copilot-gap-v5.webp");--story-opacity:.5}
.story-heritage{--story-image:url("assets/heritage-four-decades-v5.webp");--story-opacity:.52}
.story-capabilities{--story-image:url("assets/capabilities-three-systems-v5.webp");--story-opacity:.5}
.story-explore{--story-image:url("assets/explore-workflow-variety-v5.webp");--story-opacity:.54}
.story-architecture{--story-image:url("assets/architecture-cable-plant-v5.webp");--story-opacity:.48}
.story-models{--story-image:url("assets/models-interchangeable-v5.webp");--story-opacity:.5}
.story-trust{--story-image:url("assets/trust-access-boundary-v5.webp");--story-opacity:.55}
.story-pilot{--story-image:url("assets/pilot-measured-proof-v5.webp");--story-opacity:.5}
.story-workflow{--story-image:url("assets/workflow-mapping-session-v5.webp");--story-opacity:.52}
/* Keep fine copy independent of bright equipment detail, including the right-hand cards. */
.story-heritage :is(.hstat,.client-card),.story-why .card,.story-capabilities .deliver-col,
.story-explore .card,.story-explore .fchip:not(.active),
.story-architecture :is(.arch-toggle,.arch-item,.af-node),.story-models :is(.model-card,.cloud-chip),
.story-trust .trust-step,.story-pilot .tstep,.story-workflow .intake{background:rgba(7,8,12,.88)}
@keyframes storyDrift{from{transform:scale(1.025) translate3d(-.35%,0,0)}to{transform:scale(1.075) translate3d(.75%,-.45%,0)}}

.cinematic-media .cinematic-video{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.015);filter:saturate(.88) contrast(.94);will-change:transform;transition:opacity .7s ease}
.cinematic-media::after{content:"";position:absolute;inset:-18% -38%;pointer-events:none;background:linear-gradient(104deg,transparent 42%,rgba(52,227,255,.1) 49%,rgba(154,92,255,.08) 51%,transparent 58%);mix-blend-mode:screen;animation:mediaScan 13s ease-in-out infinite;opacity:.58}
@keyframes mediaScan{0%,12%{transform:translate3d(-22%,0,0);opacity:0}26%{opacity:.55}72%{opacity:.34}88%,100%{transform:translate3d(22%,0,0);opacity:0}}

body.policy-page{position:relative;isolation:isolate;overflow-x:hidden;background:#07080c}
body.policy-page::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:var(--policy-art);background-size:cover;background-position:72% top;background-repeat:no-repeat;opacity:.58;filter:saturate(.84) contrast(.94);animation:policyDrift 28s ease-in-out infinite alternate}
body.policy-page::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(7,8,12,.98) 0%,rgba(7,8,12,.94) 46%,rgba(7,8,12,.54) 78%,rgba(7,8,12,.56)),linear-gradient(180deg,rgba(7,8,12,.42),rgba(7,8,12,.82) 72%,#07080c)}
body.policy-page>.wrap{position:relative;z-index:2}
.policy-trust,.policy-privacy,.policy-terms{--policy-art:url("assets/governance-human-approval-v4.webp")}
.policy-accessibility{--policy-art:url("assets/accessible-enterprise-workspace-v4.webp")}
.policy-nav{position:fixed;top:0;left:0;right:0;z-index:20;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,64px);border-bottom:1px solid rgba(255,255,255,.08);background:rgba(7,8,12,.78);backdrop-filter:blur(18px);overflow:hidden}
.policy-nav::after{content:"";position:absolute;left:-28%;bottom:0;width:28%;height:1px;background:linear-gradient(90deg,transparent,rgba(52,227,255,.22),rgba(154,92,255,.7),transparent);animation:navSignal 12s cubic-bezier(.42,0,.58,1) infinite}
.policy-logo{display:inline-flex;align-items:center}.policy-logo img{display:block;width:auto;height:24px}
.policy-nav .back{margin-bottom:0}
.policy-page .back{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(7,8,12,.55);backdrop-filter:blur(12px);transition:border-color .2s,color .2s,transform .2s}
.policy-page .back:hover{color:#e9ebf1;border-color:rgba(52,227,255,.35);transform:translateX(-2px)}
.policy-page h1{text-shadow:0 2px 28px rgba(0,0,0,.65)}
.policy-page h2{scroll-margin-top:24px}
.policy-page .draft-flag,.policy-page .callout{backdrop-filter:blur(14px)}
@keyframes policyDrift{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.05) translate3d(.45%,-.4%,0)}}

@media(max-width:760px){
  .ambient-canvas{opacity:.19}
  .story-art{--story-opacity:.24!important;--story-position:82% 50%}
  .story-art::before{animation:none;transform:none}
  .story-art::after{background:linear-gradient(180deg,rgba(7,8,12,.88),rgba(7,8,12,.68) 48%,rgba(7,8,12,.92)),linear-gradient(90deg,rgba(7,8,12,.94),rgba(7,8,12,.58))}
  body.policy-page::before{opacity:.26;background-position:80% top;animation:none}
  body.policy-page::after{background:linear-gradient(180deg,rgba(7,8,12,.82),rgba(7,8,12,.94) 52%,#07080c),linear-gradient(90deg,rgba(7,8,12,.92),rgba(7,8,12,.55))}
  #nav::after,.policy-nav::after{animation-duration:16s;opacity:.45}
  .cinematic-media::after{animation:none;opacity:.12}
}
/* On narrow layouts the wide photographs need a bounded frame, independent of
   card count or accordion height. Copy starts below the frame, so a second
   heavy text scrim is unnecessary. Desktop compositions remain unchanged. */
@media(max-width:980px){
  .story-art.story-responsive-art{
    --story-band-height:clamp(210px,48vw,320px);
    padding-top:calc(var(--story-band-height) + 28px);
  }
  .story-art.story-responsive-art::before{
    inset:0 0 auto;
    height:var(--story-band-height);
    background-position:var(--story-mobile-position,78% 50%);
    opacity:1;
    filter:none;
    animation:none;
    transform:none;
    will-change:auto;
  }
  .story-art.story-responsive-art::after{
    inset:0 0 auto;
    height:calc(var(--story-band-height) + 1px);
    background:linear-gradient(180deg,rgba(7,8,12,.12),transparent 18%,transparent 68%,#07080c);
  }
  .story-heritage{--story-mobile-position:76% 50%}
  .story-why{--story-mobile-position:84% 50%}
  .story-capabilities{--story-mobile-position:88% 50%}
  .story-explore{--story-mobile-position:80% 50%}
  .story-architecture{--story-mobile-position:82% 50%}
  .story-models{--story-mobile-position:88% 50%}
  .story-trust{--story-mobile-position:88% 50%}
  .story-pilot{--story-mobile-position:86% 50%}
  .story-workflow{--story-mobile-position:88% 50%}
}
@media(prefers-reduced-motion:reduce){
  #nav::after,.policy-nav::after,.story-art::before,body.policy-page::before,.cinematic-media::after{animation:none!important}
  .story-art::before,body.policy-page::before{transform:none!important}
}
