/* One shared layout; two deliberately different points of view. */
:root { --reveal:64%; --handle-x:64%; }
.perspectives-page { overflow-x:clip; }
.perspective-stage { position:relative; isolation:isolate; }
.perspective-world { background:var(--paper); color:var(--ink); display:flow-root; }
.world-good { position:relative; z-index:0; }
.world-evil { position:absolute; inset:0 0 auto; z-index:1; pointer-events:none; user-select:none; clip-path:inset(0 0 0 var(--reveal)); --paper:#211a25; --white:#332737; --ink:#fff1db; --navy:#fff1db; --teal:#edb484; --sage:#955970; --muted:#d0becd; --line:#554351; }
.perspectives-page .hero-top { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr); gap:40px; }
.perspectives-page .hero h1 { font-size:clamp(60px,6.4vw,98px); }
.perspectives-page .hero-intro { justify-self:end; width:100%; }
.perspectives-page .hero-image { height:auto; aspect-ratio:1672/941; }
.perspectives-page .hero-image > img { object-position:50% 50%; }
.perspectives-page .hero-image::after { display:none; }
.perspectives-page .photo-note { top:22px; left:22px; padding:11px 15px; border-radius:9px; background:#172b2bcc; backdrop-filter:blur(8px); }
.perspectives-page .photo-note p { font:500 13px/1.5 var(--sans); letter-spacing:0; margin-top:4px; }
.perspectives-page .tiny-label { font-size:8px; }
.perspectives-page .photo-chip { top:22px; bottom:auto; right:22px; padding:9px 13px; font-size:11px; }
.perspectives-page .chip-icon { width:30px; height:30px; }
.perspectives-page .photo-chip .arrow-diagonal { margin-left:5px; }
.perspectives-page .hero .promise-strip { position:relative; }
.perspectives-page .family-app,.perspectives-page .experience-art:hover .family-app { transform:rotate(-3deg); }
.perspectives-page .experience-art { padding:32px 0 62px; }
.perspectives-page .site-footer { padding-bottom:94px; }
.moments-section { padding-top:18px; }
.moments-section .section-intro { margin-top:20px; }
.life-moment { display:grid; grid-template-columns:1.28fr 1fr; gap:70px; align-items:center; margin-top:58px; }
.moment-photo { position:relative; border-radius:18px; overflow:hidden; background:var(--line); }
.moment-photo img { display:block; width:100%; height:auto; aspect-ratio:1672/941; object-fit:cover; }
.life-copy h3 { font:400 clamp(35px,3.7vw,56px)/1.06 var(--serif); letter-spacing:-.045em; }
.life-copy > p:not(.eyebrow) { font-size:14px; line-height:1.85; color:var(--muted); margin-top:24px; max-width:350px; }
.life-copy .eyebrow { font-size:9px; margin-bottom:19px; }
.moment-footnote { display:block; font-size:10px; color:var(--teal); margin-top:23px; }
.homework-moment { grid-template-columns:1fr 1.28fr; }
.homework-moment .moment-photo { grid-column:2; grid-row:1; }
.homework-moment .life-copy { grid-column:1; grid-row:1; padding-left:35px; }
.world-evil .brand img,.world-evil .mini-brand img { background:#f8f7f2; border-radius:50%; padding:3px; }
.world-evil .button { background:#edb484; border-color:#edb484; color:#281d29; }
.world-evil .status-dot { background:#edb484; box-shadow:0 0 0 4px #edb48415; }
.world-evil .photo-note { background:#241827dd; border-radius:3px; color:#fff1db; }
.world-evil .photo-chip { background:#38263bec; border-radius:4px; }
.world-evil .chip-icon { background:#6e3c58; color:#ffcb9b; border-radius:5px; }
.world-evil .hero-image,.world-evil .moment-photo { border-radius:5px; }
.world-evil .moment-tab[aria-selected=true] { background:#453045; border-color:#705067; }
.world-evil .experience-art { background:#36253d; border-radius:5px; }
.world-evil .art-orbit { border-color:#644c64; }
.world-evil .spark { color:#d79f76; }
.world-evil .family-app { background:#2b2330; border-color:#71536b; border-radius:7px; box-shadow:12px 15px 0 #18141d66; }
.world-evil .app-banner { background:#583347; border-radius:3px; }
.world-evil .banner-symbol { background:#874a5e; color:#ffd1a4; border-radius:5px; }
.world-evil .person { border-color:#554451; }
.world-evil .avatar-peach { background:#974858; color:#ffe3b7; }
.world-evil .avatar-sage { background:#5d456b; color:#eed7ff; }
.world-evil .avatar-sand { background:#6a5054; color:#ffe4bd; }
.world-evil .person-state { background:#493d51; color:#ead4e8; }
.world-evil .person-state.paused { background:#8a4755; color:#ffdda5; }
.world-evil .floating-note { background:#573044; border-color:#936378; box-shadow:5px 6px 0 #19121d55; border-radius:3px; }
.world-evil .note-check { background:#9d5c69; color:#fff0d9; border-radius:4px; }
.world-evil .preview-caption { color:#d0becd; }
.world-evil .privacy-section { background:#160f1d; color:#fff0dc; }
.world-evil .eyebrow.light,.world-evil .promise-number { color:#e6b38c; }
.world-evil .privacy-heading h2 em { color:#f3ba89; }
.world-evil .privacy-heading > p:not(.eyebrow),.world-evil .privacy-promises article p { color:#d4bed0; }
.world-evil .privacy-emblem { color:#efc297; }
.world-evil .privacy-promises article { border-color:#704c673e; }
.world-evil .light-link { color:#efc297; border-color:#906d805e; }
.world-evil .card-art { border-radius:4px; }
.world-evil .setup-art { background:#673345; }
.world-evil .setup-disc { background:#352336; border-radius:9px; box-shadow:6px 7px 0 #321d2b80; }
.world-evil .setup-disc .icon { color:#f1bc8b; }
.world-evil .small-check { border-color:#673345; background:#b76e75; color:#fff1db; }
.world-evil .setup-progress span { background:#eeb887; border-radius:0; }
.world-evil .setup-progress span:last-child { background:#ad727d; }
.world-evil .art-caption { color:#f3cdbd; }



.world-evil .performance-art { background:#3b335a; }
.world-evil .performance-word { color:#ffedda; }
.world-evil .performance-word em { color:#efb49c; }
.world-evil .performance-circle { border-color:#88719c; }
.world-evil .location-art { background:#322536; border-radius:5px; }
.world-evil .map-grid::after { background:linear-gradient(0deg,#352337a8,transparent 45%); }
.world-evil .map-park { background:#553855; }
.world-evil .map-road { background:#1b1424; box-shadow:0 0 0 1px #684764; }
.world-evil .map-river { background:#6c4773; }
.world-evil .map-block { background:#553a4f; border-color:#774c61; border-radius:2px; }
.world-evil .map-home { background:#38293e; color:#ffe1be; border-radius:3px; }
.world-evil .map-person { border-color:#38293e; }
.world-evil .map-person::after { border-color:#ac6c884f; background:#a56b8a1c; }
.world-evil .map-alex { background:#a55e63; color:#fff1db; }
.world-evil .map-sam { background:#806184; color:#fff1db; }
.world-evil .sharing-card { background:#38273c; border-radius:3px; }
.world-evil .sharing-heart { background:#724657; color:#ffc49a; border-radius:5px; }
.world-evil .map-caption { color:#d0becd; }
.world-evil .preview-pill { background:#493548; border-color:#775567; color:#ffe0bf; }
.world-evil .check-list { color:#d0becd; }
.world-evil .contact-section { background:#392739; border-radius:5px; }
.world-evil .contact-options article { border-color:#795267; }
.world-evil .contact-options article > .icon { color:#efb98f; }
.world-evil .proxy-focus { outline:3px solid #edb484; outline-offset:6px; }
.perspectives-page .skip-link { z-index:80; }
.perspective-line { position:fixed; z-index:50; top:0; bottom:0; left:var(--reveal); width:2px; transform:translateX(-1px); background:#fff5de; box-shadow:0 0 0 1px #1c1a3440; pointer-events:none; }
.perspective-handle { position:fixed; z-index:51; left:var(--handle-x); top:49%; transform:translate(-50%,-50%); width:60px; height:60px; border:1px solid #d7cbb2; border-radius:50%; background:#fff7e7; color:#273b35; box-shadow:0 5px 24px #1c183747; display:flex; align-items:center; justify-content:center; gap:7px; font-size:24px; line-height:1; touch-action:none; cursor:ew-resize; }
.handle-pause { font-size:15px; letter-spacing:-3px; margin-right:2px; }
.perspective-handle:hover { box-shadow:0 0 0 8px #fff8e820,0 5px 24px #1c183747; }
.is-revealing,.is-revealing * { cursor:ew-resize!important; user-select:none!important; }
.perspective-dock { position:fixed; z-index:55; left:50%; bottom:18px; transform:translateX(-50%); display:flex; align-items:center; gap:10px; padding:9px 10px; border:1px solid #ffffff24; border-radius:99px; background:#231f2bef; backdrop-filter:blur(12px); color:#fff0dd; box-shadow:0 8px 40px #21132b3d; }
.perspective-dock button { border:0; border-radius:99px; background:transparent; color:inherit; padding:10px 17px; min-width:62px; min-height:44px; font-size:12px; }
.perspective-dock button[aria-pressed=true] { background:#fff0dc; color:#2c2330; }
.perspective-slider { display:grid; gap:4px; width:186px; }
.perspective-slider > span { font-size:10px; text-align:center; white-space:nowrap; }
.perspective-slider input { width:100%; accent-color:#edb484; height:18px; margin:0; cursor:ew-resize; }
.perspective-pixels { position:absolute; pointer-events:none; z-index:2; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.no-script-note { margin:20px; }
body:has(dialog[open]) .perspective-dock,body:has(dialog[open]) .perspective-handle,body:has(dialog[open]) .perspective-line { visibility:hidden; }
@media(max-width:1100px) { .life-moment { gap:40px; } .homework-moment .life-copy { padding-left:0; } }
@media(max-width:800px) { .perspectives-page .hero-top { grid-template-columns:minmax(0,1.4fr) minmax(185px,1fr); gap:22px; } .perspectives-page .hero h1 { font-size:64px; } .life-moment { grid-template-columns:1fr 1fr; gap:28px; } .life-copy h3 { font-size:38px; } .life-copy > p:not(.eyebrow) { font-size:12px; margin-top:17px; } .life-copy .eyebrow { font-size:8px; } .world-evil .site-header nav { background:#332737; } }
@media(max-width:560px) {
  .perspectives-page .hero-top { display:block; }
  .perspectives-page .hero h1 { font-size:clamp(51px,13.7vw,73px); }
  .perspectives-page .hero-intro { max-width:none; }
  .perspectives-page .hero-image { aspect-ratio:1672/941; }
  .perspectives-page .hero-image > img { object-position:50% 50%; }
  .perspectives-page .photo-note { display:none; }
  .perspectives-page .photo-note p { display:none; }
  .perspectives-page .photo-note .tiny-label { font-size:7px; }
  .perspectives-page .photo-chip { display:none; }
  .moments-section { padding-top:0; }
  .life-moment { grid-template-columns:1fr; gap:23px; margin-top:40px; }
  .homework-moment .moment-photo,.homework-moment .life-copy { grid-column:auto; grid-row:auto; }
  .life-copy h3 { font-size:41px; }
  .life-copy > p:not(.eyebrow) { font-size:14px; max-width:none; }
  .life-copy .eyebrow { font-size:9px; margin-bottom:15px; }
  .moment-footnote { margin-top:16px; }
  .perspective-handle { width:46px; height:46px; gap:5px; font-size:21px; }
  .perspective-dock { width:calc(100% - 28px); max-width:358px; padding:5px; bottom:max(10px,env(safe-area-inset-bottom)); gap:4px; }
  .perspective-dock button { padding:10px; min-width:53px; }
  .perspective-slider { flex:1; min-width:0; width:auto; }
  .perspective-slider > span { font-size:9px; }
  .perspectives-page .contact-address { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .perspective-handle,.perspective-world * { transition:none; } }
@media(forced-colors:active) { .perspective-dock,.perspective-handle { background:Canvas; color:CanvasText; border:1px solid ButtonText; } .perspective-line { background:CanvasText; } }

.world-evil .family-preview-art{background:#442c4e}
.world-evil .family-preview{background:#2b2032;border-color:#654359;border-radius:4px;box-shadow:6px 6px 0 #1b102454}
.world-evil .family-preview-top,.world-evil .family-preview-person>span>span{color:#d0becd}
.world-evil .family-preview-heading,.world-evil .family-preview-person>span>strong{color:#fff1db}
.world-evil .family-preview-person{border-color:#5d4258}
.world-evil .family-preview-status{background:#4d3550;color:#f3c697}
