/* M04 local visual experiment. Never intercept site interaction. */
body{position:relative}
#margin-maze{position:absolute;top:0;left:0;z-index:3;pointer-events:none;overflow:hidden;display:block}
.maze-walls{fill:none;stroke:#c6c6c0;stroke-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.maze-solution{fill:none;stroke:#e35c5e;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}
.maze-endpoint{fill:#fff;stroke:#e35c5e;stroke-width:1.5}



@media(max-width:1199px){.maze-walls{stroke-width:.8;stroke-opacity:1}.maze-solution{stroke-width:1.5}}
@media(prefers-reduced-motion:reduce){.maze-solution{transition:none}}
@media print{#margin-maze{display:none}}

.maze-outline{fill:none;stroke:#b8b8b1;stroke-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
/* Small-screen rail gets its own breathing room; never put a wall on a card edge. */
@media(max-width:1199px){
 .maze-ready .direction-c .hero,.maze-ready .direction-c .section:not(.hero){padding-right:52px}
 .maze-ready .site-footer{padding-right:52px}
 .maze-outline{stroke-width:1;stroke-opacity:1}
}
@media(max-width:359px){.maze-ready .direction-c .hero-identity{gap:10px}.maze-ready .direction-c .brand{font-size:30px}.maze-ready .direction-c .brand span{font-size:13px}}

/* Bounded surfaces: only the content panels are white; the maze lane stays paper-coloured. */
.maze-ready .direction-c #system,.maze-ready .direction-c #contact{background:var(--paper);border-top:0;border-bottom:0}
.maze-ready .direction-c #system>.section-inner,.maze-ready .direction-c #contact>.section-inner{position:relative;isolation:isolate}
.maze-ready .direction-c #system>.section-inner::after,.maze-ready .direction-c #contact>.section-inner::after{
 content:'';position:absolute;inset:-32px -40px;z-index:-1;background:var(--surface);border:1px solid #e6e6e2;border-radius:4px;pointer-events:none
}
/* The footer must not reintroduce a white stripe behind the final maze segment. */
.maze-ready .direction-c .site-footer{background:var(--paper)}
@media(max-width:1199px){
 .maze-ready .direction-c #system>.section-inner::after,.maze-ready .direction-c #contact>.section-inner::after{inset:-24px -4px}
}
@media print{.maze-ready .direction-c #system>.section-inner::after,.maze-ready .direction-c #contact>.section-inner::after{display:none}}

/* Fail-safe: without JavaScript the accepted no-maze layout remains usable. */
#margin-maze[hidden]{display:none}

/* Approved M04 revision: preserve the exact maze; display only its coral solution. */
.maze-walls,.maze-outline{visibility:hidden}
