/* V1 signal sculpture, paired with the current accessible layout. */
.signal-field { position: absolute; inset: 0; z-index: 0; overflow: hidden; --tilt-x: 0deg; --tilt-y: 0deg; }
.signal-field::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #090a0b 3%, rgba(9,10,11,.92) 26%, rgba(9,10,11,.39) 62%, transparent 100%); z-index: 2; pointer-events: none; }
.signal-horizon { position: absolute; inset: 15% -4% 0 33%; opacity: .32; background: repeating-linear-gradient(0deg, transparent 0 39px, rgba(235,231,220,.13) 40px), repeating-linear-gradient(90deg, transparent 0 39px, rgba(235,231,220,.11) 40px); transform: perspective(700px) rotateX(62deg) translateY(29%); mask-image: linear-gradient(0deg, #000, transparent 85%); }
.signal-beam { position: absolute; top: 49%; left: 33%; width: 77%; height: 2px; z-index: 3; background: linear-gradient(90deg, transparent, rgba(246,239,223,.2) 14%, #fff9e9 49%, #e6dacc 58%, transparent 95%); box-shadow: 0 0 12px 2px rgba(250,243,225,.56), 0 0 45px 8px rgba(223,209,183,.27); transform: rotate(-15deg); transform-origin: center; clip-path: inset(0 100% 0 0);  }
.signal-beam-echo { top: 54%; left: 52%; width: 58%; height: 1px; opacity: .42; transform: rotate(19deg);  }
.signal-assembly { position: absolute; top: 7%; right: -2%; width: min(67vw, 900px); aspect-ratio: 1; transform-style: preserve-3d; transform: perspective(1300px) rotateX(calc(7deg + var(--tilt-x))) rotateY(calc(-18deg + var(--tilt-y))) rotateZ(-12deg); transition: transform .8s var(--ease);  }
.signal-disc { position: absolute; border-radius: 50%; transform-style: preserve-3d; }
.signal-disc-back { inset: 2%; border: 1px solid rgba(250,243,227,.28); background: conic-gradient(from 30deg, transparent 0 14%, rgba(231,224,210,.08) 15%, transparent 27% 48%, rgba(235,225,205,.12) 51%, transparent 65% 82%, rgba(236,230,219,.08) 84%, transparent 94%); box-shadow: 0 0 0 26px rgba(237,232,218,.016), 0 0 0 55px rgba(237,232,218,.011), inset 0 0 80px rgba(255,248,229,.08), 0 0 90px rgba(243,228,205,.1); transform: translateZ(-75px) rotateX(13deg); }
.signal-disc-back::before, .signal-disc-back::after { content: ""; position: absolute; inset: 6%; border: 1px dashed rgba(239,231,213,.2); border-radius: 50%; }
.signal-disc-back::after { inset: 16%; border: 1px solid rgba(239,231,213,.14); }
.signal-disc-front { inset: 12%; border: 1px solid rgba(246,239,221,.53); background: radial-gradient(circle at 42% 37%, rgba(233,226,212,.24), rgba(116,117,116,.1) 26%, rgba(15,16,17,.08) 53%, rgba(13,14,15,.48) 70%); box-shadow: inset 0 0 0 7px rgba(252,246,233,.027), inset 0 0 70px rgba(230,222,202,.18), 0 28px 90px rgba(0,0,0,.5), 0 0 25px rgba(255,248,231,.1); transform: translateZ(15px); }
.signal-disc-front::before, .signal-disc-front::after { content: ""; position: absolute; inset: -3%; border-radius: 50%; border: 2px solid transparent; border-top-color: rgba(248,239,216,.67); border-right-color: rgba(248,239,216,.3); transform: rotate(31deg); }
.signal-disc-front::after { inset: 5%; border-width: 1px; border-top-color: rgba(255,248,232,.25); border-left-color: rgba(255,248,232,.4); transform: rotate(-29deg); }
.signal-gate { position: absolute; inset: 12%; transform-style: preserve-3d; transform: translateZ(42px); }
.signal-gate span { position: absolute; inset: 0; border: 1px solid rgba(245,238,220,.2); border-top-color: rgba(255,248,227,.8); border-radius: 50%; box-shadow: 0 0 24px rgba(255,244,216,.12), inset 0 0 24px rgba(255,244,216,.07); opacity: .8;  }
.signal-gate span:nth-child(1) { transform: rotateX(63deg) rotateZ(-28deg) translateZ(25px); }
.signal-gate span:nth-child(2) { transform: rotateY(69deg) rotateZ(23deg) translateZ(42px);  }
.signal-gate span:nth-child(3) { transform: rotateX(-61deg) rotateY(-17deg) rotateZ(15deg) translateZ(58px);  }
.signal-disc-core { inset: 25%; border: 1px solid rgba(255,250,239,.26); background: radial-gradient(circle, rgba(254,249,236,.38), rgba(245,238,221,.05) 42%, transparent 68%); box-shadow: 0 0 80px 16px rgba(252,242,217,.11); transform: translateZ(65px); }
.signal-mark { position: absolute; inset: 30% 16%; transform: translateZ(105px); filter: drop-shadow(0 0 36px rgba(255,248,232,.53)); }
.signal-mark::before, .signal-mark::after { content: ""; position: absolute; inset: 0; mask: url('/assets/munson-master-m.png') center / contain no-repeat; }
.signal-mark::before { background: #fff8e9; filter: blur(18px); opacity: .75; }
.signal-mark::after { background: linear-gradient(116deg, #fefcf6 8%, #b5b5b4 32%, #fff4d5 48%, #d7cbd4 63%, #fefcf5 83%); box-shadow: inset 0 0 18px #fff; }
.signal-mark-three { position:absolute; inset:0; transform:translateZ(105px); pointer-events:none; opacity:0; visibility:hidden; filter:drop-shadow(0 0 20px rgba(255,248,232,.3)); }
.signal-mark-three canvas { display:block; width:100%; height:100%; }
.ms-brand-scene[data-three-active] .signal-mark-three { opacity:1; visibility:visible; }
.ms-brand-scene[data-three-active] .signal-mark { visibility:hidden; }
.ms-brand-scene[data-three-active] .repair-blueprint { opacity:0; }
.repair-blueprint { position:absolute; inset:0; width:100%; height:100%; opacity:.72; pointer-events:none; }
.blueprint-scan { opacity:0; }
.ms-brand-scene[data-entry-scan] .blueprint-scan { animation:blueprint-entry-scan 1100ms cubic-bezier(.32,.72,0,1) 1 both; }
@keyframes blueprint-entry-scan { 0% { opacity:0; transform:translateY(0); } 15% { opacity:1; } 85% { opacity:1; } 100% { opacity:0; transform:translateY(540px); } }
@media(hover:hover) and (pointer:fine) { .ms-brand-scene:hover .repair-blueprint { filter:drop-shadow(0 0 7px #ddeddf44); } }
.signal-glint { position: absolute; top: 19%; left: 17%; width: 18%; aspect-ratio: 1; border-radius: 50%; background: #fff8e5; filter: blur(34px); opacity: .35;  }
body[data-site="solutions"] .ms-cinematic-hero { position:relative; display:block; padding:0; min-height:0; isolation:isolate; background:linear-gradient(120deg,#151512,#292923 56%,#171714); color:var(--ms-chrome-ink,#faf8f3); overflow:hidden; }
/* Static smoke and fine grain bring the v1 graphite atmosphere back without a reading-area loop. */
body[data-site="solutions"] .ms-cinematic-hero::before { content:""; position:absolute; inset:-12% -8%; pointer-events:none; background:radial-gradient(ellipse 35% 44% at 43% 15%,#e9dfc51f,transparent 75%),radial-gradient(ellipse 34% 48% at 79% 48%,#d2c5b52b,transparent 76%),radial-gradient(ellipse 53% 28% at 64% 100%,#77736e30,transparent 77%); }
body[data-site="solutions"] .ms-cinematic-hero::after,body[data-site="solutions"] .ms-page-intro::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.11; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.83' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); }
.ms-cinematic-layout { position:relative; z-index:1; width:min(calc(100% - 100px),1360px); min-height:790px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0; align-items:center; padding-block:70px 88px; }
.ms-cinematic-hero .ms-home-copy { position:relative; z-index:2; }
body[data-site="solutions"] .ms-cinematic-hero h1 { font-size:clamp(56px,6vw,92px); line-height:1.01; font-weight:450; letter-spacing:-.067em; margin-bottom:30px; }
body[data-site="solutions"] h1 em { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.055em; color:#e9dfca; }
body[data-site="solutions"] .ms-cinematic-hero .ms-home-copy > p { color:#ddd6ca; max-width:555px; }
.ms-cinematic-hero .ms-hero-actions { max-width:540px; }
.ms-cinematic-hero .ms-button { border-radius:30px; }
body[data-site="solutions"] .ms-cinematic-hero .ms-primary { background:linear-gradient(125deg,#fffdf7,#e6dfd1); color:#20211e; border-color:#fff8e7; box-shadow:0 5px 22px #0003,inset 0 1px #fff; }
body[data-site="solutions"] .ms-cinematic-hero .ms-secondary { background:#292925f5; color:var(--ms-chrome-ink,#faf8f3); border-color:#a29d93; }
body[data-site="solutions"] .ms-cinematic-hero :focus-visible { outline-color:#faf0d5; }
.ms-brand-scene { position:relative; width:100%; margin-left:0; aspect-ratio:1; isolation:isolate; }
.ms-brand-scene .signal-field { overflow:visible; }
.ms-brand-scene .signal-field::before { display:none; }
.ms-brand-scene .signal-assembly { top:0; right:0; width:106%; }
.ms-brand-scene .signal-horizon { inset:25% -10% -15%; }
.ms-brand-scene .signal-beam { top:50%; left:-8%; width:116%; clip-path:none; opacity:.7; }
.ms-brand-scene .signal-glint { opacity:.2; }
.ms-mark-action { position:absolute; z-index:4; bottom:-26px; left:50%; transform:translateX(-50%); display:flex; justify-content:center; align-items:center; min-width:210px; min-height:56px; padding:10px 22px; color:var(--ms-chrome-ink,#faf8f3); border:1px solid #8d887f; border-radius:30px; background:#252521f5; font:inherit; font-size:18px; white-space:nowrap; cursor:pointer; }
.ms-mark-action:hover { background:#373730; border-color:#d4cec1; }
.ms-brand-scene[data-entry-running] .ms-mark-action { border-color:#d4cec1; }
.ms-mark-action[hidden] { display:none; }
.signal-mark[data-highlight="true"] { filter:drop-shadow(0 0 45px #fff7d9); }
body[data-site="solutions"] .ms-page-intro { position:relative; width:100%; max-width:none; isolation:isolate; padding:72px max(var(--ms-page-gutter,32px),calc((100vw - var(--ms-content-width,1200px))/2)) 64px; background:radial-gradient(ellipse 45% 100% at 87% 20%,#b8a98b2b,transparent 72%),linear-gradient(120deg,var(--ms-chrome,#1b1b19),#292925); color:var(--ms-chrome-ink,#faf8f3); border-bottom:1px solid var(--ms-chrome-line,#77736b); }
body[data-site="solutions"] .ms-page-intro > p { color:#d4d0c7; }
body[data-site="solutions"] .ms-page-intro .ms-eyebrow { color:#e5d8bd; }
body[data-site="solutions"] .ms-about { padding-top:72px; }
.ms-service-art { background:radial-gradient(ellipse at 30% 10%,#45453e,#20201c); border:1px solid var(--ms-chrome-line,#77736b); box-shadow:inset 0 1px #ffffff55; }
.ms-service-art svg { color:#f2ead9; }
@media(max-width:900px) {
 .ms-cinematic-layout { width:calc(100% - 40px); min-height:0; grid-template-columns:1fr; padding-block:48px 68px; gap:24px; }
 .ms-cinematic-hero .ms-home-copy { max-width:620px; }
 .ms-brand-scene { width:min(100%,450px); margin:0 auto; }
 .ms-brand-scene .signal-assembly { right:0; width:100%; }
 body[data-site="solutions"] .ms-cinematic-hero h1 { font-size:clamp(45px,8.5vw,70px); }
 .ms-cinematic-hero .ms-hero-actions { max-width:none; }
 .ms-mark-action { bottom:-10px; }
}
@media(max-width:500px) {
 .ms-cinematic-layout { width:calc(100% - 40px); padding-top:36px; gap:32px; }
 body[data-site="solutions"] .ms-cinematic-hero h1 { font-size:48px; }
 body[data-site="solutions"] .ms-page-intro { padding:48px 20px; }
}
@media(max-width:500px) and (max-height:700px) {
 .ms-cinematic-layout { padding-top:24px; gap:24px; }
 body[data-site="solutions"] .ms-cinematic-hero h1 { margin-bottom:22px; }
}
@media(max-width:360px) and (max-height:700px) {
 .ms-cinematic-layout { padding-top:12px; gap:20px; }
 body[data-site="solutions"] .ms-cinematic-hero h1 { font-size:40px; margin-bottom:12px; }
 body[data-site="solutions"] .ms-cinematic-hero .ms-home-copy > p { margin-bottom:12px; }
 .ms-cinematic-hero .ms-hero-actions { gap:8px; }
}
@media(prefers-reduced-motion:reduce) { .ms-brand-scene * { animation:none!important; transition:none!important; } }
