/* Motion layers extend the original graphite, ivory and copper direction. */
.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:35;pointer-events:none}
.reading-progress span{display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left}
.motion-line{display:block;overflow:hidden;padding-bottom:.13em;margin-bottom:-.13em}
.motion-line>span{display:block;transform-origin:left bottom}
.ambient-field{position:absolute;pointer-events:none;overflow:hidden;isolation:isolate}
.ambient-canvas{position:absolute;inset:0}
.ambient-canvas canvas{display:block}
.hero-network{inset:0 -10% -8% 24%;z-index:-1;opacity:.46;mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.16) 22%,#000 62%),linear-gradient(180deg,transparent,#000 22%,#000 75%,transparent);mask-composite:intersect}
.hero-shade{pointer-events:none}
.hero-network .ambient-canvas{transform-origin:70% 55%}
.hero-bottom .scroll-cue{position:relative}
@media(min-width:761px) and (max-height:780px){
  .hero-content{top:max(132px,19%)}
  .hero h1{font-size:clamp(64px,min(7.4vw,12.5svh),104px)}
}
.scroll-cue:after{content:'';position:absolute;inset:-5px;border:1px solid #f3f0e835;border-radius:50%;clip-path:inset(0 0 50% 0);animation:cue-orbit 9s linear infinite}
@keyframes cue-orbit{to{transform:rotate(360deg)}}
.button:active{transform:translateY(2px)}
.button-orange{position:relative;overflow:hidden;isolation:isolate}
.button-orange:before{content:'';position:absolute;inset:-100% -45%;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 40%,#f3f0e82e 50%,transparent 60%);transform:translateX(-75%);transition:transform .85s var(--ease)}
.button-orange:hover:before{transform:translateX(75%)}
.possibilities-inner{position:relative;overflow:hidden;isolation:isolate}
.possibilities-inner:before{content:'';position:absolute;z-index:-1;width:min(70vw,900px);aspect-ratio:1;right:-28%;top:-40%;border:1px solid #11121109;border-radius:50%;box-shadow:0 0 0 65px #11121102,0 0 0 130px #11121102;pointer-events:none;transform:translateY(var(--field-drift,0px))}
.capability-tab,.industry-tab{position:relative}
.capability-tab:after,.industry-tab:after{content:'';position:absolute;inset:auto 0 -1px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.capability-tab[aria-selected=true]:after,.industry-tab[aria-selected=true]:after{transform:scaleX(1)}
.capability-progress span{width:100%;transform:scaleX(.16667);transform-origin:left;transition:transform .55s var(--ease)}
.flow-example{position:relative}
.industries{position:relative;isolation:isolate;overflow:hidden}
.industries-layout,.industries>.section-title,.industries>.section-kicker,.industry-footnote{position:relative;z-index:1}
.local-image{isolation:isolate;background:#191b17}
.local-image figcaption{z-index:2}
.process{position:relative;isolation:isolate;overflow:hidden}

.process .section-title{margin-bottom:55px}
.contact-section{position:relative;isolation:isolate}
.contact-waves{inset:18% -12% -15%;z-index:-1;opacity:.52;mask-image:linear-gradient(180deg,transparent,#000 40%,#000 80%,transparent)}
.contact-waves:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111211a6,transparent 65%)}
.contact-layout,.contact-section>.section-kicker,.devory-proof,.footer-brand,.contact-section>footer{position:relative}
.paused .hero-network,.paused .contact-waves{opacity:0}
@media(max-width:760px){
  .hero-network{inset:18% -50% -5% 10%;opacity:.34;mask-image:linear-gradient(90deg,transparent,#000 70%)}
  .motion-line{padding-bottom:.16em;margin-bottom:-.16em}
  .process .section-title{margin-bottom:36px}
  .contact-waves{inset:30% -50% -5%;opacity:.42}
}
@media(prefers-reduced-motion:reduce){
  .reading-progress{display:none}
  .motion-line{overflow:visible}
}
/* Scroll is the clock for the architectural transition into the company intelligence halo. */
.hero-journey{position:relative;background:var(--ink)}
.hero{background:var(--ink)}
.hero-core{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;z-index:1}
.core-render{position:absolute;inset:-3% -8% -3% 38%}
.core-copy{position:absolute;left:var(--gutter);top:29%;max-width:62%;z-index:2}
.core-copy .eyebrow{color:#cd9571;margin-bottom:27px}
.core-title{font-size:clamp(50px,5.8vw,98px);font-weight:500;letter-spacing:-.065em;line-height:1.09}
.core-title>span{display:block;white-space:nowrap}
.core-title>span:last-child{color:#d18356}
.core-description{font-size:clamp(16px,1.45vw,22px);line-height:1.7;color:#b9b9ac;margin-top:30px}
.core-identity{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:70%;text-align:center;color:#f3f0e8;line-height:1.4;text-shadow:0 2px 18px #11121180}
.core-identity>span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#e5bd9d}
.core-identity>strong{display:block;margin:8px 0 10px;font-size:clamp(36px,4vw,66px);font-weight:500;letter-spacing:-.06em;line-height:1.1}
.core-identity>small{display:block;font-size:11px;color:#c6c2b7}
.core-description{max-width:480px;text-wrap:pretty}
@media(max-width:760px){.core-identity>span{font-size:9px;letter-spacing:.1em}.core-identity>strong{font-size:37px;margin:7px 0}.core-identity>small{font-size:9px}}
.hero.is-cinematic .hero-bottom{z-index:3}
.paused .hero-core{display:none}
@media(max-width:760px){
  .core-render{inset:-5% -30% 29%}
  .core-copy{top:auto;bottom:17%;max-width:calc(100% - 48px)}
  .core-copy .eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:15px}
  .core-title{font-size:clamp(33px,9.3vw,64px)}
  .core-description{font-size:15px;margin-top:17px}
  /* Native page scrolling drives the scene; no mobile pin/unpin transition. */
  .hero-journey.is-cinematic{height:185svh}
  .hero.is-cinematic{position:sticky;top:0;height:100lvh;min-height:100lvh;max-height:100lvh}
}
@supports not (height:100lvh){
  @media(max-width:760px){
    .hero-journey.is-cinematic{height:185vh}
    .hero.is-cinematic{height:100vh;min-height:100vh;max-height:100vh}
  }
}
@media(prefers-reduced-motion:reduce){.hero-core,.hero-network,.contact-waves{display:none}}

/* A warm light field integrates the halo with the architectural photograph. */
.core-render{mix-blend-mode:screen;isolation:isolate;mask-image:radial-gradient(ellipse at center,#000 25%,#000 48%,transparent 74%)}
.core-render .ambient-canvas canvas{filter:grayscale(1) sepia(1) saturate(1.8) hue-rotate(-25deg) brightness(.8)}
.halo-fallback{position:absolute;width:43%;aspect-ratio:1;left:28.5%;top:25%;border-radius:50%;border:2px solid #c28658;box-shadow:0 0 28px #d6884645,inset 0 0 25px #d688462b}
.core-render[data-ready=true] .halo-fallback{visibility:hidden}
.footer-brand,.footer-brand>span{transform:none;will-change:auto}
.industry-panel:hover .industry-image img{transform:none}
.local-system{align-items:center}
.local-image{align-self:center;margin:45px var(--gutter) 45px 0;overflow:visible;background:transparent}
.local-image img{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;object-position:center;transform:none}
.local-image figcaption{position:static;margin-top:12px;max-width:none;padding:0;background:none;color:#717368;text-shadow:none;font-size:11px;line-height:1.6}
@media(max-width:760px){
  .local-image{height:auto;width:calc(100% - 48px);margin:0 24px 45px}
  .halo-fallback{width:55%;left:22.5%;top:23%}
}

.hero-core{mix-blend-mode:screen}

/* Static pixel texture also survives unavailable canvas or disabled JavaScript. */
.commerce-tile:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,#c695662e 5px 14px);mask-image:repeating-linear-gradient(90deg,transparent 0 5px,#000 5px 14px),linear-gradient(140deg,transparent 25%,#000 100%);mask-composite:intersect}
.commerce-tile[data-pixels-ready=true]:before{display:none}

/* Original Devory hero film as a full-width, warm tile field between content chapters. */
.case-tile-background{position:absolute;inset:0;z-index:0;pointer-events:none;background:#11130f;overflow:hidden}
.case-tile-background:before,.case-tile-background video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%;filter:grayscale(1) sepia(1) saturate(1.8) hue-rotate(-14deg) brightness(1.05)}
.case-tile-background:before{content:'';background:url('/assets/devory-tile-field-poster.jpg') center 57% / cover no-repeat}
/* Keep the native poster/video visible before playback. Safari can suspend an
   invisible video, so waiting for playback to reveal it creates a deadlock. */
.case-tile-background video{opacity:1}
/* A denied autoplay attempt shows our clean poster instead of Safari's native
   play overlay. The controller reveals the video before each new play attempt. */
.case-tile-background video[data-playback-blocked=true]{display:none}
.case-tile-background:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#181a17 0%,#11130f99 22%,#11130fb8 68%,#181a17 100%),linear-gradient(90deg,#11130f33,transparent 55%,#11130f33)}
.paused .case-tile-background video{opacity:0}
@media(max-width:760px){.case-tile-background:before,.case-tile-background video{width:165%;left:-32.5%;filter:grayscale(1) sepia(1) saturate(1.8) hue-rotate(-14deg) brightness(.95)}}
@media(prefers-reduced-motion:reduce){.case-tile-background video{display:none;transition:none}}
