@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--red:#f32c44;--red2:#ff6677;--ink:#08070a;--panel:#110c10;--muted:#a99b9f;--line:#5d2930;--white:#fff6f1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#08070a;color:var(--white);font-family:'DM Sans',Arial,sans-serif;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.73' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.top{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;height:78px;padding:0 clamp(18px,4vw,75px);background:rgba(8,7,10,.97);border-bottom:1px solid #4a2027}.brand{font-family:'Space Grotesk';font-size:30px;font-weight:700;letter-spacing:-.1em;color:var(--red);font-style:italic}.brand span{font-size:11px;letter-spacing:.13em;font-style:normal;color:#eee;margin-left:10px;vertical-align:middle}.nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,34px)}.nav a{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#ad9ca0;transition:.2s}.nav a:hover,.nav a.active{color:var(--white)}.nav a.active:after{content:'';display:block;height:2px;background:var(--red);margin-top:6px}.actions{display:flex;align-items:center;gap:10px}.round,.menu{background:#181015;color:white;border:1px solid #77404a;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;font-size:15px}.round:hover{background:var(--red)}.menu{display:none;border-radius:8px}.cta{border:1px solid #ff7f8a;border-radius:999px;padding:12px 19px;background:var(--red);color:white;box-shadow:0 0 22px #df1d355e;font-size:11px;font-weight:700;letter-spacing:.06em;text-align:center}.cta:hover{background:#ff5061}.tag{font-family:'Space Grotesk';font-size:11px;color:var(--red2);font-weight:700;letter-spacing:.22em;text-transform:uppercase}.site-footer{border-top:1px solid #43232a;padding:20px clamp(20px,5vw,80px);display:flex;gap:20px;align-items:center;justify-content:space-between;color:#988f92;font-size:11px;letter-spacing:.1em}.site-footer b{color:var(--red)}.home{position:relative;min-height:min(810px,calc(100svh - 78px));background:radial-gradient(circle at 48% 50%,#4a101c 0%,#14080e 55%,#090709 90%);isolation:isolate;overflow:hidden}.home:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a0609 0%,transparent 31%,transparent 68%,#08070bdc 100%),url('assets/home.webp') center center/cover;opacity:.59;z-index:-2}.home:after{content:'';position:absolute;inset:0;box-shadow:inset 0 -110px 100px #070609,inset 0 0 140px #070408;z-index:-1;pointer-events:none}.hero-grid{display:grid;grid-template-columns:minmax(210px,1fr) minmax(280px,1.2fr) minmax(270px,1fr);max-width:1600px;margin:0 auto;min-height:700px;align-items:center;gap:10px;padding:30px clamp(22px,5vw,80px) 95px}.pitch{position:relative;z-index:3;align-self:center}.pitch h1{font-family:'Space Grotesk';font-size:clamp(72px,8.5vw,145px);line-height:.83;font-style:italic;letter-spacing:-.13em;margin:12px 0 30px;color:var(--red);text-shadow:0 0 40px #f21b3461}.script{font-family:Georgia,serif;font-style:italic;transform:rotate(-5deg);font-size:clamp(31px,3.1vw,54px);line-height:.94;max-width:390px;text-shadow:0 3px 20px black;margin-bottom:28px}.sub{font-size:13px;line-height:1.8;color:#dbcbd0;max-width:300px}.pitch .cta{display:inline-block;margin-top:26px}.hero-person{height:540px;position:relative;align-self:end;display:flex;justify-content:center;pointer-events:none}.portrait{position:absolute;bottom:0;left:50%;width:min(34vw,520px);height:580px;transform:translateX(-50%);background:url('assets/home.webp') center / auto 100% no-repeat;mask-image:linear-gradient(to bottom,#000 68%,transparent 100%);filter:drop-shadow(0 0 55px #bd142738)}.hero-person .character-label{position:absolute;bottom:30px;left:0;font-family:'Space Grotesk';font-weight:700;letter-spacing:.15em;font-size:10px;color:#dcb1b6;border-left:2px solid var(--red);padding-left:11px}.oracle-card{position:relative;z-index:3;background:linear-gradient(140deg,#241016e6,#07070be8);border:1px solid #803543;border-radius:17px;padding:26px;box-shadow:0 24px 70px #0009;max-width:370px;justify-self:end;width:100%;backdrop-filter:blur(13px)}.oracle-card .tag{display:flex;justify-content:space-between}.orb{display:block;width:195px;height:195px;position:relative;border-radius:50%;margin:18px auto 24px;background:radial-gradient(circle at 34% 27%,#ffb8a7 0%,#f23752 8%,#5e031b 32%,#14030e 63%,#0a0611 100%);box-shadow:0 0 10px #ff354f,0 0 45px #b800356c,inset -17px -22px 42px #05030b,inset 8px 10px 25px #fa6d7182;border:2px solid #dc506b;display:grid;place-items:center;transition:transform .5s}.orb:before{content:'';position:absolute;inset:12px;border-radius:50%;border:1px solid #ff6b807a;box-shadow:inset 0 0 33px #ff32535c}.orb-inner{position:relative;width:105px;height:105px;border-radius:50%;background:#0c0914dd;border:1px solid #c44b61;display:grid;place-items:center;box-shadow:0 0 18px #ff3e636b;font-family:'Space Grotesk';font-weight:700;font-size:31px;color:#fff;text-shadow:0 0 18px red}.orb.shake{animation:shake .7s ease-in-out}.orb-glow{animation:glow 4s infinite ease-in-out}@keyframes shake{0%,100%{transform:rotate(0)}20%{transform:rotate(12deg) translateX(-7px)}40%{transform:rotate(-15deg) translateX(9px)}60%{transform:rotate(7deg) translateY(-6px)}}@keyframes glow{50%{box-shadow:0 0 15px #ff354f,0 0 65px #da173a9e,inset -17px -22px 42px #05030b,inset 8px 10px 25px #fa6d71b0}}.oracle-card h2{font-size:23px;font-family:'Space Grotesk';margin:0 0 7px}.oracle-card p{color:#cdb8bf;font-size:12px;line-height:1.6;min-height:38px}.oracle-card input{background:#09070a;border:1px solid #6d3743;padding:13px;color:#fff;border-radius:8px;width:100%;font-size:12px;outline:none}.oracle-card input:focus{border-color:var(--red)}.oracle-controls{display:flex;gap:8px;margin-top:9px}.oracle-controls button{flex:1;padding:12px 8px;border:1px solid #994453;border-radius:9px;background:var(--red);color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em}.oracle-controls button.secondary{background:transparent;flex:0 0 43px}.oracle-reply{padding:12px 0 0;min-height:55px;font-size:13px;line-height:1.5;color:#ffe4e9}.oracle-reply strong{color:#ff4966}.bottom-note{position:absolute;bottom:26px;left:5%;right:5%;display:flex;justify-content:space-between;color:#ad9199;font-size:10px;letter-spacing:.15em;text-transform:uppercase;border-top:1px solid #71333f;padding-top:18px}.page{min-height:calc(100svh - 140px);max-width:1500px;margin:auto;padding:52px clamp(20px,5vw,80px) 75px}.page-title{font-family:'Space Grotesk';font-size:clamp(54px,8vw,112px);letter-spacing:-.085em;line-height:.9;margin:16px 0 28px;font-style:italic}.page-title em{color:var(--red);font-style:inherit}.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.intro{font-size:14px;color:#c3aeb4;max-width:510px;line-height:1.8}.story-layout{display:grid;grid-template-columns:1.28fr .72fr;gap:24px;align-items:start}.feature-image{min-height:570px;position:relative;background:#1f0a11;border:1px solid #4a1e29;overflow:hidden}.feature-image img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform .9s}.feature-image:hover img{transform:scale(1.04)}.feature-image .image-label{position:absolute;bottom:24px;left:25px;font-size:11px;font-weight:700;background:#13080bd9;padding:11px 15px;letter-spacing:.12em}.story-copy{padding:15px 18px}.story-copy h2{font-family:'Space Grotesk';font-size:clamp(28px,3.2vw,51px);letter-spacing:-.055em;line-height:1.08;margin:10px 0 25px}.story-copy p{font-size:14px;line-height:1.95;color:#cfbcc0}.quote{border-left:3px solid var(--red);padding:14px 25px;background:linear-gradient(90deg,#49121f44,transparent);font-family:Georgia,serif;font-style:italic;font-size:23px;margin:30px 0}.story-micro{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:30px 0}.story-micro div{border:1px solid #5a2733;padding:13px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#e8cbd0}.story-micro b{display:block;color:var(--red);font-size:22px;margin-bottom:6px}.gallery-controls{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 27px}.filter{background:#1a0f14;border:1px solid #5c3038;color:#bda9af;border-radius:6px;padding:11px 18px;font-size:11px;font-weight:700;letter-spacing:.1em}.filter.active,.filter:hover{background:var(--red);border-color:var(--red);color:white}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.art{position:relative;min-height:360px;border:1px solid #5e2933;background:#120d11;overflow:hidden;text-align:left;padding:0;color:white}.art:nth-child(4n+1){grid-column:span 2}.art img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform .7s,filter .4s}.art:hover img{transform:scale(1.045);filter:brightness(.78)}.art .art-label{position:absolute;bottom:0;left:0;right:0;padding:38px 20px 20px;background:linear-gradient(transparent,#000c);font-weight:700;letter-spacing:.12em;font-size:12px}.art .art-label span{float:right;color:#ff6e85}.lightbox{position:fixed;z-index:90;inset:0;background:#050406ed;display:none;align-items:center;justify-content:center;padding:60px 20px 30px}.lightbox.open{display:flex}.lightbox img{object-fit:contain;max-height:84vh;max-width:min(1100px,90vw);box-shadow:0 0 90px #000}.close{position:absolute;top:17px;right:25px;background:#291015;border:1px solid #ad5460;color:#fff;border-radius:50%;width:42px;height:42px;font-size:22px}.community-layout{display:grid;grid-template-columns:1fr 1fr;min-height:580px;gap:28px}.community-visual{background:url('assets/community.webp') center/cover;border:1px solid #6c333d;min-height:530px}.community-content{display:flex;flex-direction:column;justify-content:center;padding:25px 10px}.community-content h2{font:700 clamp(32px,5vw,65px)/1.05 'Space Grotesk';letter-spacing:-.06em}.social-link{display:flex;justify-content:space-between;align-items:center;background:#170b11;border:1px solid #6b323c;padding:22px;margin-top:12px;transition:.2s}.social-link:hover{transform:translateX(5px);background:#37121d}.social-link b{font-size:14px}.social-link span{font-size:13px;color:#ff6677}.ca{background:#10090c;border:1px dashed #803c49;color:#e4bec7;margin-top:17px;padding:14px;font-size:12px;width:100%;text-align:left}.ca b{color:#ff5b71}.disclaimer{color:#867980;font-size:11px;margin-top:22px;line-height:1.7}.float-spark{position:absolute;background:#ff334c;box-shadow:0 0 18px #f23;width:3px;height:3px;border-radius:50%;pointer-events:none;animation:floatup 1.4s forwards}@keyframes floatup{to{transform:translateY(-115px) translateX(40px);opacity:0}}@media(max-width:1050px){.top{height:68px}.hero-grid{grid-template-columns:1fr 1fr;min-height:790px;padding-top:50px}.pitch{grid-column:1;grid-row:1}.hero-person{grid-column:2;grid-row:1;height:410px}.portrait{width:48vw;height:460px}.oracle-card{grid-column:1/-1;grid-row:2;justify-self:center;max-width:560px}.home{min-height:950px}.bottom-note{display:none}.nav{gap:12px}.nav a{font-size:10px}.actions .round{display:none}.story-layout{grid-template-columns:1fr 1fr}.feature-image{min-height:480px}}@media(max-width:720px){.top{padding:0 18px}.brand{font-size:26px}.brand span{display:none}.menu{display:grid}.top .cta{padding:10px 12px;font-size:10px}.nav{position:absolute;top:68px;left:0;right:0;background:#11090e;border-bottom:1px solid #743640;display:none;padding:20px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:15px 5px;font-size:12px}.nav a.active:after{display:none}.home{min-height:auto}.home:before{background-position:58% top;opacity:.4}.hero-grid{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:35px 22px 55px;gap:12px}.pitch{order:1;text-align:left}.pitch h1{font-size:87px;margin:0 0 13px}.script{font-size:38px;max-width:260px;margin-bottom:12px}.pitch .cta{display:none}.sub{font-size:12px}.hero-person{order:2;height:325px;align-self:center;width:100%}.portrait{height:390px;width:100%;background-size:auto 100%;background-position:center bottom}.hero-person .character-label{bottom:0}.oracle-card{order:3;max-width:100%;padding:20px}.orb{width:155px;height:155px}.orb-inner{width:86px;height:86px;font-size:26px}.page{padding:34px 20px 65px}.page-head{display:block}.page-title{font-size:62px}.story-layout,.community-layout{grid-template-columns:1fr}.feature-image{min-height:330px}.story-copy{padding:15px 0}.story-micro{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.art,.art:nth-child(4n+1){grid-column:auto;min-height:230px}.community-visual{min-height:310px}.community-content{padding:0}.site-footer{flex-wrap:wrap;justify-content:center;text-align:center}.gallery-controls{gap:6px}.filter{padding:10px;font-size:10px}}@media(max-width:420px){.pitch h1{font-size:74px}.gallery-grid{grid-template-columns:1fr}.art{min-height:300px}.story-micro div{font-size:9px;padding:10px}.story-micro b{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v6 living room: movement without excessive overlay clutter */
.home{--mx:0px;--my:0px;--gx:50%;--gy:46%}
.home:before{transform:translate3d(var(--bgmx,0px),var(--bgmy,0px),0) scale(1.065);transition:transform .4s ease-out;animation:ambientBreath 12s ease-in-out infinite alternate}
.pointer-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(closest-side at var(--gx) var(--gy),rgba(238,29,58,.12),transparent 74%)}
@keyframes ambientBreath{from{filter:brightness(.86) saturate(1)}to{filter:brightness(1.15) saturate(1.13)}}
.hero-person{cursor:pointer;pointer-events:auto;z-index:2;outline-offset:8px;transform:translate3d(var(--charmx,0px),var(--charmy,0px),0);transition:transform .4s ease-out}
.portrait{animation:sisterBreathe 5.7s ease-in-out infinite;transform-origin:50% 70%;transition:filter .3s}
.hero-person:hover .portrait{filter:drop-shadow(0 0 70px #e5255277) brightness(1.09)}
@keyframes sisterBreathe{0%,100%{transform:translateX(-50%) translateY(3px) scale(1)}50%{transform:translateX(-50%) translateY(-8px) scale(1.012)}}
.sister-speech{position:absolute;right:-15px;top:22%;max-width:175px;border:1px solid #be4c60;background:#170b14e8;color:#ffe4e5;border-radius:14px 14px 14px 3px;padding:13px 16px;font-size:12px;line-height:1.4;box-shadow:0 0 23px #e51b3c55;opacity:0;transform:translateY(10px) rotate(-3deg);transition:opacity .35s,transform .35s;pointer-events:none}
.sister-speech.visible{opacity:1;transform:translateY(0) rotate(-3deg)}
.orb{cursor:pointer;animation:orbFloat 5s ease-in-out infinite}
.orb.orb-glow{animation:orbFloat 5s ease-in-out infinite,glow 4s ease-in-out infinite}
@keyframes orbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.orb.shake,.orb.orb-glow.shake{animation:shake .7s ease-in-out}
.atmosphere{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.atmosphere i{position:absolute;display:block;width:2px;height:70px;background:linear-gradient(transparent,#e92647aa,transparent);left:var(--x);top:-150px;opacity:.5;transform:rotate(18deg);animation:drift var(--duration) linear infinite;animation-delay:var(--delay)}
.atmosphere i:nth-child(1){--x:8%;--duration:13s;--delay:-4s}.atmosphere i:nth-child(2){--x:26%;--duration:17s;--delay:-13s}.atmosphere i:nth-child(3){--x:57%;--duration:15s;--delay:-7s}.atmosphere i:nth-child(4){--x:75%;--duration:20s;--delay:-11s}.atmosphere i:nth-child(5){--x:91%;--duration:16s;--delay:-2s}.atmosphere i:nth-child(6){--x:42%;--duration:24s;--delay:-17s}
@keyframes drift{to{transform:translate3d(20vw,115vh,0) rotate(18deg)}}
.pitch{animation:softEntry .9s both}.oracle-card{animation:softEntry 1.15s both;transition:transform .25s ease,box-shadow .25s ease}.oracle-card:hover{box-shadow:0 24px 74px #000c,0 0 38px #ac173231}
@keyframes softEntry{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
.ambient-control{position:absolute;z-index:5;bottom:65px;right:5%}.music-toggle{display:flex;align-items:center;gap:10px;background:#0c0b10dc;border:1px solid #71353f;border-radius:40px;color:#ecd5d9;padding:10px 16px;font-size:10px;letter-spacing:.16em;font-weight:700}.music-toggle:hover,.music-toggle[aria-pressed=true]{border-color:#ff576b;background:#291019}.music-icon{color:#ff4c63;font-size:16px}.equalizer{display:flex;align-items:end;gap:2px;height:13px}.equalizer i{height:3px;width:2px;background:#ff4964}.music-toggle[aria-pressed=true] .equalizer i{animation:bars .55s ease-in-out infinite alternate}.music-toggle[aria-pressed=true] .equalizer i:nth-child(2){animation-delay:-.3s}.music-toggle[aria-pressed=true] .equalizer i:nth-child(3){animation-delay:-.15s}@keyframes bars{to{height:12px}}
@media(max-width:1050px){.ambient-control{bottom:18px;right:22px}.sister-speech{right:0}}
@media(max-width:720px){.home:before{transform:none!important}.hero-person{transform:none!important}.sister-speech{right:5%;top:5%;font-size:11px}.ambient-control{position:relative;bottom:auto;right:auto;display:flex;justify-content:center;margin:-22px 0 30px}.atmosphere i{opacity:.24}.music-toggle{font-size:10px}}
@media(prefers-reduced-motion:reduce){.portrait,.orb,.orb.orb-glow,.home:before,.atmosphere i{animation:none!important}}

/* v7 — truly separate raster eye/blush sprites, registered to the illustrated character. */
.portrait{overflow:visible;isolation:isolate}
.sister-layers{position:absolute;inset:0;pointer-events:none;overflow:hidden;
  mask-image:linear-gradient(to bottom,black 72%,transparent 100%)}
.face-layer{position:absolute;left:50%;top:0;width:auto;height:100%;max-width:none;
  transform:translateX(-50%);pointer-events:none;user-select:none;transition:opacity 65ms linear;
  will-change:opacity}
.blush-layer{transition:opacity 220ms ease}
.hero-person[data-mood="thinking"] .portrait{filter:brightness(.93) saturate(1.12)}
.hero-person[data-mood="surprised"] .portrait{filter:brightness(1.12)}
.hero-person[data-mood="celebrating"] .portrait{filter:drop-shadow(0 0 22px #ed425f8c)}
.hero-person[data-mood="thinking"] .portrait{animation:sisterThink 2.3s ease-in-out infinite}
.hero-person[data-mood="celebrating"] .portrait{animation:sisterCelebrate 650ms cubic-bezier(.2,.8,.2,1) 1}
@keyframes sisterThink{0%,100%{transform:translateX(-50%) translateY(3px) rotate(0deg)}55%{transform:translateX(-50%) translateY(-1px) rotate(1.7deg)}}
@keyframes sisterCelebrate{0%,100%{transform:translateX(-50%) scale(1)}40%{transform:translateX(-50%) scale(1.033) rotate(-1deg)}}
.sister-heart{position:absolute;top:18%;right:11%;font-family:Georgia,serif;font-size:36px;color:#ff6274;
 opacity:0;transform:translateY(12px) rotate(8deg);transition:opacity 160ms,transform 440ms;
 text-shadow:0 0 18px #ff214e;pointer-events:none}
.hero-person[data-mood="celebrating"] .sister-heart,.hero-person[data-mood="playful"] .sister-heart{opacity:.95;transform:translateY(-14px) rotate(-7deg)}
.hero-person .character-label span{color:#ff6577;transition:color .3s}
.hero-person:focus-visible{outline:2px solid #ff6577;border-radius:8px}
@media(max-width:720px){.sister-heart{right:20%}.hero-person .character-label{bottom:7px}}
@media(prefers-reduced-motion:reduce){.face-layer,.blush-layer{transition:none!important}
 .hero-person[data-mood] .portrait{animation:none!important}.sister-heart{transition:none!important}}

.hair-layer{position:absolute;left:50%;top:0;width:auto;height:100%;max-width:none;pointer-events:none;user-select:none;
  opacity:.66;transform:translateX(-50%);transform-origin:52% 23%;will-change:transform}
.hair-back{animation:hairFlowBack 9.1s ease-in-out infinite alternate}
.hair-front{animation:hairFlowFront 6.7s ease-in-out infinite alternate}
@keyframes hairFlowBack{0%{transform:translateX(calc(-50% - 1.3px)) translateY(1px) rotate(-.24deg)}100%{transform:translateX(calc(-50% + 1.3px)) translateY(-1px) rotate(.24deg)}}
@keyframes hairFlowFront{0%{transform:translateX(calc(-50% - .8px)) translateY(0) rotate(-.18deg)}100%{transform:translateX(calc(-50% + .8px)) translateY(1px) rotate(.18deg)}}
@media(prefers-reduced-motion:reduce){.hair-back,.hair-front{animation:none!important;transform:translateX(-50%)!important}}
