/* No hidden content without JavaScript. User scroll stays native. */
@media (prefers-reduced-motion: no-preference) {
  .motion-ready .hero__art { transform: translate3d(0, calc(var(--shift, 0px) * -1), 0); }
  .motion-ready [data-enter].entered { animation: editorial-reveal .95s cubic-bezier(.2,.7,.2,1) both; }
  .motion-ready [data-enter]:focus-within { animation: none; }
  @keyframes editorial-reveal { from { clip-path: inset(0 0 100% 0); transform: translateY(1.5rem); } to { clip-path: inset(-.15em -.1em -.25em); transform: none; } }
  .motion-ready .sector-scene__visual { clip-path: inset(0 var(--inset, 0px)); }
  .motion-ready .sector-scene__visual > img { transform: translate3d(0, var(--shift, 0px), 0) scale(1.04); }


  .motion-ready .vision-flow::before { transform: scaleX(var(--progress, 1)); }
  .comparison[data-enhanced] .demo-message:not([hidden]) { animation: campaign-copy .65s cubic-bezier(.2,.7,.2,1); }
  @keyframes campaign-copy { from { clip-path: inset(0 0 100% 0); transform: translateY(12px); } to { clip-path: inset(0); transform: none; } }
}
@media (max-width: 1000px) {
  .perception-pair { grid-template-columns: 1fr 80px 1fr; }
  .perception-pair__view { padding-left: 1.5rem; }
  .demo-toolbar { align-items: flex-start; flex-direction: column; }
  .vision-flow > li { padding-inline: 2rem; }
  .projection-spaces { grid-template-columns: repeat(2, 1fr); }
  .contact-outline__layout { gap: 2.5rem; }
  .application__web-content { padding: 1rem; }
}
@media (max-width: 700px) {
  .motion-ready .sector-scene__visual { clip-path: inset(0 min(var(--inset, 0px), 12px)); }
  .site-header__quiet { display: none; }
  .chapter { padding-block: 4.5rem; }
  .chapter h2 { font-size: clamp(2.4rem, 9vw, 3.8rem); }
  .section-copy { font-size: .95rem; }
  .perception-pair { grid-template-columns: 1fr 32px 1fr; margin-block: 3rem; }
  .perception-pair__words { font-size: clamp(1.3rem, 5.4vw, 2rem); line-height: 1.3; }
  .perception-pair .micro-label { font-size: .7rem; letter-spacing: .02em; min-height: 3rem; margin-bottom: .7rem; }
  .perception-pair__view { padding-left: .8rem; }
  .perception-pair__between { font-size: 2rem; }
  .demo-toolbar { margin-top: 2rem; }
  .demo-switch { width: 100%; }
  .comparison[data-enhanced] .demo-toolbar { position: sticky; top: 0; z-index: 4; background: #101215; padding-block: .7rem; }
  .demo-switch button { flex: 1; padding-inline: .7rem; font-size: .8rem; }
  .comparison[data-enhanced] .demo-stage { aspect-ratio: auto; }
  .demo-image { position: relative; aspect-ratio: 4/5; z-index: auto; }
  .demo-image img { object-position: 87% center; }
  .demo-stage::before { display: none; }
  .comparison[data-enhanced] .demo-messages { position: relative; }
  .demo-message { min-height: 350px; padding: 2rem 1.4rem; justify-content: center; background: #3c2018; }
  .demo-brand { margin-bottom: 1.5rem; }
  .demo-message h3 { max-width: 100%; font-size: clamp(2.5rem, 10.7vw, 4rem); margin-bottom: 1.2rem; }
  .demo-offer { max-width: 95%; font-size: .9rem; }
  .demo-reading { font-size: .8rem; }
  .comparison__conclusion { margin-top: 3rem; font-size: 1.65rem; }
  .synergy { padding-top: 4rem; }
  .synergy__applications { grid-template-columns: 1fr 1fr; gap: 2.5rem 1.2rem; padding-bottom: 1rem; }
  .application--web { grid-column: 1 / -1; grid-row: 2; }
  .application--poster { align-self: start; margin-top: 1rem; }
  .application--social { margin-inline: .2rem; }
  .application--poster .application__visual, .application--social .application__visual { padding: .9rem; }
  .application__visual p { font-size: clamp(1.3rem, 5.3vw, 2rem); }
  .application--poster .application__visual p { font-size: clamp(1.05rem, 5vw, 2rem); }
  .application__brand { font-size: .6rem; }
  .application--social .application__brand { font-size: .55rem; }
  .application--social .application__visual p { font-size: 1.6rem; }
  .application__web-content { height: 240px; padding: 1.5rem; }
  .application__web-content p { font-size: clamp(2rem, 8.5vw, 3rem); }
  .application figcaption { font-size: .75rem; }
  .sector-scenes { margin-top: 3rem; margin-bottom: 3rem; }
  .sector-scene__visual { height: 600px; }
  .sector-scene__visual > img { object-position: 70% center; }
  .sector-scene__copy { padding: 2rem var(--gutter); justify-content: flex-end; }
  .sector-scene__copy > p { margin-bottom: 1.4rem; }
  .sector-scene__copy h3, .sector-scene--commerce h3 { max-width: 100%; font-size: clamp(2.3rem, 9vw, 3.6rem); }
  .sector-scene__visual::after { background: linear-gradient(0deg, #060d13f5, #060d1380 38%, transparent 76%); }
  .sector-scene--commerce .sector-scene__visual::after { background: linear-gradient(0deg, #edf1e3fa, #edf1e3c9 35%, transparent 76%); }
  .sector-scene--beauty .sector-scene__visual::after { background: linear-gradient(0deg, #28020cf5, #28020c80 35%, transparent 76%); }
  .sector-analysis > div { grid-template-columns: 1fr; gap: 1rem; }
  .sector-analysis p { font-size: .95rem; }
  .regard__conviction { font-size: 1.9rem; }
  .vision-flow { grid-template-columns: 1fr; margin-block: 3rem; gap: 2.5rem; }
  .vision-flow > li, .vision-flow > li:first-child, .vision-flow > li:last-child { padding: 0 0 2rem; }
  .vision-flow > li:not(:last-child) { border-bottom: 1px solid #3b3b3c; }
  .vision-flow > li:not(:last-child)::after { content: '↓'; top: auto; bottom: -18px; right: 0; background: #0b0c0e; padding: .5rem 1rem; }
  .vision-flow .micro-label { margin-bottom: 1rem; }
  .vision-flow ul { display: flex; flex-wrap: wrap; gap: .2rem 1rem; }
  .vision-flow ul li { font-size: 1.55rem; }
  .projection__signature { font-size: 1.6rem; padding-top: 2rem; }
  .outcome-list { display: grid; gap: .7rem; }
  .outcome-list li:not(:last-child)::after { content: ''; padding: 0; }
  .mission-outline__paths, .contact-outline__layout { grid-template-columns: 1fr; gap: 2rem; }
  .projection-spaces { gap: .6rem; }
  .projection-spaces li { min-height: 190px; padding: 1rem; }
  .projection-spaces h3 { font-size: 1.1rem; }
  .method-outline__steps { grid-template-columns: 1fr 1fr; gap: 2rem 1rem; }
  .method-outline__steps li { font-size: 1.2rem; }
  .last-mirror { min-height: 600px; }
  .last-mirror h2 { font-size: clamp(2.7rem, 10vw, 4rem); }
}
@media (max-width: 360px) {
  .official-logo, .official-logo img { width: 124px; height: 36px; }
  .site-header__link { font-size: .62rem; gap: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  [data-enter] { clip-path: none !important; transform: none !important; }
  .sector-scene__visual { clip-path: none !important; }
  .sector-scene__visual > img, .application__visual, .vision-flow::before { transform: none !important; }
}
@media (forced-colors: active) {
  .demo-switch button[aria-pressed='true'], .demo-stage, .sector-analysis summary { outline: 2px solid CanvasText; }
  .demo-stage, .sector-scene__visual { background: Canvas; color: CanvasText; }
  .demo-stage::before, .sector-scene__visual::after { display: none; }
}

/* Phase 4 — depth, light and native scroll, within the established PRISME identity. */
.reading-progress { display: none; pointer-events: none; }
.sector-scene--building .sector-scene__visual { background: #ddd0bc; color: #33271e; }
.sector-scene--building .sector-scene__visual::after { background: linear-gradient(90deg, #ece4d5f5 0%, #ece4d5e0 29%, #ece4d55c 55%, transparent 76%); }
.sector-scene--building .sector-scene__visual > img { object-position: 72% center; transform-origin: right center; }
.sector-scene--building h3 { max-width: 58%; font-weight: 400; }
.sector-scene--building h3 em { color: #765235; }
@media (prefers-reduced-motion: no-preference) {
  .motion-ready .reading-progress { display: block; position: fixed; inset: 0 0 auto; z-index: 100; height: 2px; background: var(--gold); transform-origin: left; transform: scaleX(var(--page-progress,0)); }
  .motion-ready .hero__art { transform: translate3d(0, calc(var(--depart,0) * -100px), 0); }
  .motion-ready .hero .prism { transform-origin: 55% 50%; transform: perspective(1000px) rotateY(calc(var(--depart,0) * 34deg)) rotateZ(calc(var(--depart,0) * -12deg)) scale(calc(1 + var(--depart,0) * .42)); }
  .motion-ready .hero__content { transform: translate3d(0,calc(var(--depart,0) * -80px),0); }
  .motion-ready .perception-pair__reality .perception-pair__words { transform: translateX(calc(var(--spread,0px) * -1)); }
  .motion-ready .perception-pair__view .perception-pair__words { transform: translateX(var(--spread,0px)); }
  .motion-ready .perception-pair__between { transform: scale(var(--symbol-scale,1)); }
  .motion-ready .sector-scene__visual > img { transform: translate3d(0,var(--shift,0px),0) scale(var(--zoom,1.035)); }
  .motion-ready .sector-scene__copy { transform: translate3d(0,var(--copy-shift,0px),0); }
  .motion-ready .synergy__applications { perspective: 1400px; padding-block: 3rem 6rem; }
  .motion-ready .application--poster { transform: translate3d(0,var(--fan-y,0px),0) rotateZ(var(--fan-angle,-2deg)) rotateY(var(--fan-yaw,0deg)); transform-origin: center; }
  .motion-ready .application--social { transform: translate3d(0,calc(var(--fan-y,0px) * -.55),20px) rotateZ(calc(var(--fan-angle,-2deg) * -1)) rotateY(calc(var(--fan-yaw,0deg) * -1)); transform-origin: center; }
  .motion-ready .application--web { transform: translate3d(0,calc(var(--fan-y,0px) * -.35),0) scale(var(--fan-scale,1)); }
  .motion-ready .vision-flow__prisme { transform: translateY(calc((.5 - var(--progress,.5)) * 80px)); }
}
@media (min-width:1001px) and (min-height:650px) and (prefers-reduced-motion:no-preference) {
  .motion-ready .sector-scenes { isolation: isolate; }
  .motion-ready .sector-scenes:not(.is-reading):not(.is-keyboard) .sector-scene { position: sticky; top: 1.2rem; margin-bottom: 12vh; background: var(--paper); }
  .motion-ready .sector-scene:nth-child(1) { z-index: 1; }
  .motion-ready .sector-scene:nth-child(2) { z-index: 2; }
  .motion-ready .sector-scene:nth-child(3) { z-index: 3; }
  .motion-ready .sector-scene:nth-child(4) { z-index: 4; }
  .motion-ready .sector-scenes:not(.is-reading):not(.is-keyboard) .sector-scene__visual { transform: translate3d(0,var(--stack-lift,0px),0) scale(var(--stack-scale,1)); transform-origin: center top; border-radius: var(--stack-radius,0px); }
  .motion-ready .sector-scenes:is(.is-reading,.is-keyboard) .sector-scene__visual { clip-path: none; }
  .motion-ready .sector-scenes:is(.is-reading,.is-keyboard) .sector-scene { position: relative; top: auto; }
  .motion-ready .sector-scenes:is(.is-reading,.is-keyboard) .sector-scene__copy { transform: none; }
  .sector-analysis { background: var(--paper); }
}
@media (max-width:700px) {
  .sector-scene--building .sector-scene__visual > img { inset: 0; height: 72%; object-position: right top; transform-origin: right center; }
  .sector-scene--building .sector-scene__visual::after { background: linear-gradient(0deg,#ece4d5 0%,#ece4d5 21%,#ece4d5a6 32%,transparent 60%); }
  .sector-scene--building h3 { max-width: 100%; }
  .motion-ready .sector-scene--building .sector-scene__visual > img { transform: translate3d(0,calc(var(--shift,0px) * .2),0) scale(1.01); }
  .motion-ready .hero__content { transform: translate3d(0,calc(var(--depart,0) * -40px),0); }
  .motion-ready .application--poster { transform: translateY(var(--fan-y,0px)) rotateZ(calc(var(--fan-angle,-2deg) * .5)); }
  .motion-ready .application--social { transform: translateY(calc(var(--fan-y,0px) * -.4)) rotateZ(calc(var(--fan-angle,-2deg) * -.5)); }
  .motion-ready .synergy__applications { row-gap: 4rem; }
  .motion-ready .vision-flow__prisme { transform: none; }
}
@media (prefers-reduced-motion:reduce) {
  .reading-progress { display: none !important; }
  .hero__art, .hero .prism, .hero__content, .perception-pair__words, .perception-pair__between, .sector-scene__visual, .sector-scene__copy, .application, .vision-flow__prisme { transform: none !important; }
  .sector-scene { position: static !important; }
}
@media (forced-colors:active) {
  .sector-scene--building .sector-scene__visual { background: Canvas; color: CanvasText; }
  .sector-scene--building h3 em { color: CanvasText; }
}
