:root { --paper: #f7f5fc; --ink: #222443; --muted: #686176; --green: #65549a; --line: #ddd7e7; --sage: #ece5fa; }
::selection { background: #d9cdef; color: #222443; }
a:focus-visible, summary:focus-visible { outline-color: #8260b3; }
.sonopys-page .hero-orbit { background: #e2dcf1; }
.sonopys-page .hero-orbit::before { background: #f1d89a; }
.sonopys-page .phone { background: #222443; box-shadow: 0 22px 42px -24px #22244366; }
.sonopys-page .button-primary:hover { background: #4d3d7b; }
.sonopys-page .intro-strip { background: #ede8f7; }
.sonopys-page .floating-note { background: #fffbff; }
.sonopys-page .note-mark { background: #ece5fa; }
.sonopys-page .stage-lavender { background: #e7e0f2; }
.sonopys-page .stage-gold { background: #f0e8d6; }
.sonopys-page .stage-night { background: #32334e; }
.sonopys-page .gallery-phone { max-width: 252px; }
.sleep-features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 40px; }
.sleep-features article { padding: 30px; border: 1px solid var(--line); border-radius: 20px; background: #fffbff; }
.sleep-features h3 { margin: 20px 0 12px; }
.sleep-features p { color: var(--muted); font-size: .91rem; }
.sleep-number { color: var(--green); font-size: .78rem; letter-spacing: .12em; }
.sleep-copy { max-width: 700px; color: var(--muted); margin-top: 24px; }
.sleep-backup { background: #222443; color: #fffbff; }
.sleep-backup .eyebrow, .sleep-backup em { color: #f1d89a; }
.sleep-backup .container { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; padding-block: 80px; }
.sleep-backup p:not(.eyebrow) { color: #e2dcef; margin-top: 20px; }
.sleep-backup ol { margin: 0; padding-left: 22px; display: grid; gap: 22px; align-content: center; }
.sleep-backup li { padding-left: 8px; }
.sleep-availability { border: 1px solid var(--line); border-radius: 20px; padding: 32px; background: #ede8f7; margin-bottom: 80px; }
.sleep-availability p { margin-top: 15px; max-width: 730px; color: var(--muted); }
.sleep-availability .text-link { margin-top: 20px; }
@media(max-width: 900px) { .sleep-features { grid-template-columns: 1fr; } .sleep-backup .container { grid-template-columns: 1fr; gap: 30px; } }
@media(max-width: 600px) { .sleep-features article { padding: 24px; } .sleep-backup .container { padding-block: 55px; } .sleep-availability { padding: 24px; } }
.sonopys-page .legal-article p { color: var(--muted); }
.sonopys-page .legal-article h2 span { color: var(--green); }
.sonopys-page .legal-contact { background: #ece5fa; }
.sonopys-page .footer-inner { flex-wrap: wrap; padding-block: 28px; }
