/* V2 — Cinematic Intelligence.
   Motion explains one living collection; it does not decorate every block. */

@property --living-line{syntax:"<number>";inherits:true;initial-value:0}
@property --living-node{syntax:"<number>";inherits:true;initial-value:.2}
@property --living-core{syntax:"<number>";inherits:true;initial-value:.42}
@property --living-sheen{syntax:"<number>";inherits:true;initial-value:0}
@property --privacy-focus{syntax:"<number>";inherits:true;initial-value:.5}
@property --privacy-route{syntax:"<number>";inherits:true;initial-value:0}
@property --privacy-share{syntax:"<number>";inherits:true;initial-value:0}

@view-transition{navigation:auto}
::view-transition-old(root){animation:220ms cubic-bezier(.4,0,1,1) both v2-page-out}
::view-transition-new(root){animation:420ms cubic-bezier(.16,1,.3,1) both v2-page-in}
::view-transition-old(zallia-header),::view-transition-new(zallia-header){animation:none}
@keyframes v2-page-out{to{opacity:.22;filter:blur(2px)}}
@keyframes v2-page-in{from{opacity:0;filter:blur(3px)}}

.v2-experience .site-header{view-transition-name:zallia-header}
.v2-experience .site-footer{view-transition-name:zallia-footer}

/* Home: the supplied room remains the hero. Observations briefly resolve into
   the embedded interface and then leave the architecture composed and still. */
.living-collection{display:none;position:absolute;inset:0;z-index:2;pointer-events:none;
  --living-line:0;--living-node:.2;--living-core:.42;--living-sheen:0}
.cinematic-ready .living-collection{display:block}
.living-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.living-route{fill:none;stroke:#f1ddb0;stroke-width:1.35;stroke-linecap:round;
  vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--living-line));
  opacity:calc(var(--living-line)*.72);filter:drop-shadow(0 0 5px #f2dba888)}
.living-node .node-halo{fill:#f1d8a414;stroke:#f1d8a4;stroke-width:1;
  vector-effect:non-scaling-stroke;opacity:var(--living-node);
  transform-box:fill-box;transform-origin:center;transform:scale(calc(.72 + var(--living-node)*.28))}
.living-node .node-dot{fill:#f8e8c6;opacity:var(--living-node)}
.living-core .core-field{fill:#f0d79d16;opacity:var(--living-core);
  transform-box:fill-box;transform-origin:center;transform:scale(calc(.76 + var(--living-core)*.3))}
.living-core .core-ring{fill:#17211eaa;stroke:#f0d9aa;stroke-width:1.2;vector-effect:non-scaling-stroke}
.living-core .core-dot{fill:#f8e8c6}
.living-interface-light{position:absolute;left:72.1%;top:6.4%;width:17.6%;height:85%;
  border:1px solid rgb(244 220 170 / calc(var(--living-sheen)*.58));
  box-shadow:0 0 32px rgb(244 220 170 / calc(var(--living-sheen)*.23)),
             inset 0 0 25px rgb(244 220 170 / calc(var(--living-sheen)*.11));
  opacity:var(--living-sheen);transform:skewY(-1.4deg)}
.v2-experience .hero-photo{will-change:auto}
.v2-experience [data-cinematic-hero][data-motion-state=playing] .hero-photo{
  animation:v2-hero-breathe 4.8s cubic-bezier(.22,.61,.36,1) both}
.v2-experience [data-cinematic-hero][data-motion-state=paused] .hero-photo,
.v2-experience [data-cinematic-hero][data-motion-state=paused] .living-collection{
  animation-play-state:paused}
@keyframes v2-hero-breathe{
  from{transform:scale(1.006) translate3d(.12%,0,0)}
  to{transform:scale(1.018) translate3d(-.18%,-.08%,0)}
}

/* Material continuity: no exposed spacer and no stack of floating cards. */
.v2-experience #main{overflow:clip}
.v2-experience.home .story-band{position:relative;border-top:0;box-shadow:inset 0 1px rgb(255 255 255 / 24%)}
.v2-experience.home .story-band::before{content:"";position:absolute;z-index:3;left:0;right:0;top:0;height:26px;
  background:linear-gradient(180deg,rgb(20 31 28 / 12%),transparent);pointer-events:none;mix-blend-mode:multiply}
.v2-experience.home .owner-readiness::before{background:linear-gradient(180deg,rgb(8 15 13 / 34%),transparent);mix-blend-mode:normal}

/* System: one persistent visual world, with the same collection accumulating
   meaning as the copy advances. Source figures remain stacked without JS. */
.system-journey-stage{display:none}
@media(min-width:860px){
  .system-journey.journey-enhanced{position:relative;display:grid;
    grid-template-columns:38% 62%;grid-template-rows:repeat(4,minmax(760px,98svh));
    background:var(--paper);isolation:isolate}
  .journey-enhanced>.system-story{display:block;grid-column:1;min-width:0;min-height:0;
    border:0;box-shadow:inset 0 1px rgb(31 43 39 / 12%)}
  .journey-enhanced>.system-story:nth-child(1){grid-row:1;background:var(--paper)}
  .journey-enhanced>.system-story:nth-child(2){grid-row:2;background:var(--surface-soft)}
  .journey-enhanced>.system-story:nth-child(3){grid-row:3;background:var(--surface-stone)}
  .journey-enhanced>.system-story:nth-child(4){grid-row:4;background:var(--surface-linen);color:var(--ink)}
  .journey-enhanced .system-copy{height:100%;min-height:0;background:inherit;padding:clamp(72px,8vh,112px) 13% clamp(72px,8vh,112px) var(--system-gutter)}
  .journey-enhanced .system-story .system-copy .section-label,
  .journey-enhanced .system-story .system-copy>p{color:var(--muted)}
  .journey-enhanced .system-copy{opacity:.62;transform:translateY(16px);
    transition:opacity 520ms ease,transform 720ms cubic-bezier(.16,1,.3,1)}
  .journey-enhanced .system-story.is-current .system-copy{opacity:1;transform:none}
  .journey-enhanced>.system-journey-stage{display:block;grid-column:2;grid-row:1/5;position:relative;min-width:0}
  .system-journey-stage-inner{position:sticky;top:var(--header-height);
    height:calc(100svh - var(--header-height));min-height:620px;overflow:hidden;
    background:var(--surface-deep);box-shadow:-1px 0 rgb(255 255 255 / 18%)}
  .system-journey-stage-inner>.system-visual{position:absolute;inset:0;width:100%;height:100%;min-height:0;
    aspect-ratio:auto!important;opacity:0;visibility:hidden;pointer-events:none;
    transform:none;filter:none;z-index:1;
    transition:opacity 1000ms cubic-bezier(.4,0,.2,1),visibility 0s linear 1000ms}
  .system-journey-stage-inner>.system-visual.is-active{opacity:1;visibility:visible;pointer-events:auto;
    transform:none;filter:none;z-index:2;transition-delay:0s,0s}
  .system-journey-stage-inner>.result-setting{display:flex}
  .system-journey-stage-inner>.awareness-cinema{display:block!important}
  .system-journey-stage-inner>.system-setting{display:block}
  .journey-progress{position:sticky;z-index:5;top:calc(50svh - 42px);float:right;
    margin-right:18px;width:1px;height:84px;background:#f5e6c32e;
    transform:translateY(-50%);pointer-events:none}
  .journey-progress span{position:absolute;left:-3px;width:7px;height:7px;border:1px solid #f5e6c37d;
    border-radius:50%;background:#1b2623;transition:background 350ms ease,transform 350ms ease}
  .journey-progress span:nth-child(1){top:0}.journey-progress span:nth-child(2){top:26px}
  .journey-progress span:nth-child(3){top:52px}.journey-progress span:nth-child(4){top:78px}
  .journey-progress span.is-current{background:#f2dfb8;transform:scale(1.35)}
  .system-journey-stage-inner .system-product-result{max-width:min(600px,78%)}
  .system-journey-stage-inner .system-care-note{max-width:360px}
}

/* Privacy completes one selective disclosure; no generic security symbolism. */
.v2-experience .private-aperture{--privacy-focus:.5;--privacy-route:0;--privacy-share:0}
.v2-experience .private-selection{opacity:var(--privacy-focus);
  box-shadow:0 0 0 4px rgb(237 219 182 / calc(var(--privacy-focus)*.15))}
.v2-experience .sharing-current{stroke-dashoffset:calc(.12 - var(--privacy-route));
  opacity:var(--privacy-route)}
.v2-experience .aperture-veil{opacity:calc(1 - var(--privacy-share))}
.v2-experience .shared-aperture{transform:translateY(calc((1 - var(--privacy-share))*12px));
  opacity:calc(.34 + var(--privacy-share)*.66)}

/* Finishing detail: the fixed limestone header dissolves into content rather
   than ending as a hard translucent strip. */
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .v2-experience .site-header::after{content:"";position:absolute;z-index:-1;left:0;right:0;top:100%;height:16px;
    pointer-events:none;background:linear-gradient(var(--header-glass-fill),transparent);
    backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    mask-image:linear-gradient(#000,transparent)}
}

@media(max-width:859px){
  .system-journey-stage{display:none}
  .system-journey>.system-story{position:relative}
  .v2-experience .system-journey>.system-story::before{content:"";position:absolute;z-index:4;
    left:var(--gutter);right:var(--gutter);top:0;height:1px;background:rgb(31 43 39 / 14%)}
}

@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none}
  .v2-experience .hero-photo{transform:none!important;animation:none!important}
  .cinematic-ready .living-collection{display:none}
  .journey-enhanced .system-copy,.system-journey-stage-inner>.system-visual,
  .journey-progress span{transition:none!important}
}

@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){
  .v2-experience .site-header::after{display:none}
}
