:root {
    --mirror-ink:#302b39; --mirror-muted:#6f6877; --mirror-plum:#66506f; --mirror-plum-dark:#493852;
    --mirror-lavender:#eee9f5; --mirror-blue:#eaf4f7; --mirror-silver:#f5f5f7; --mirror-gold:#d7ae57;
    --mirror-paper:#fffdf9; --mirror-border:rgba(73,56,82,.16); --mirror-shadow:0 20px 55px rgba(55,45,65,.10);
}
.mirror-breadcrumbs{width:min(1120px,calc(100% - 3rem));margin:1.25rem auto 0;display:flex;flex-wrap:wrap;gap:.5rem;font-size:.82rem}
.mirror-breadcrumbs a{color:inherit;text-decoration:none}.mirror-breadcrumbs a:hover{text-decoration:underline}.mirror-breadcrumbs [aria-current=page]{font-weight:700}
.mirror-hero{position:relative;overflow:hidden;padding:7rem 1.5rem 6rem;text-align:center;background:radial-gradient(circle at 15% 20%,rgba(224,238,245,.9),transparent 30%),radial-gradient(circle at 85% 20%,rgba(238,233,245,.95),transparent 31%),linear-gradient(145deg,#fffdf9,#f5f2f7)}
.mirror-hero:before,.mirror-hero:after{content:"";position:absolute;width:145px;height:310px;border:2px solid rgba(102,80,111,.12);border-radius:48% 48% 12px 12px;top:12%;transform:rotate(-7deg);box-shadow:inset 0 0 30px rgba(255,255,255,.7)}
.mirror-hero:before{left:5%}.mirror-hero:after{left:auto;right:5%;transform:rotate(7deg)}
.mirror-hero__inner{position:relative;z-index:1;width:min(820px,100%);margin:auto}.mirror-hero__glimmer{position:absolute;top:10%;left:50%;font-size:2rem}
.mirror-eyebrow,.mirror-kicker{margin:0 0 .8rem;color:var(--mirror-plum);font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.mirror-hero h1{margin:0;color:var(--mirror-plum-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,8vw,6rem);line-height:1}
.mirror-hero__subtitle{margin:1rem 0 0;color:var(--mirror-plum);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,3vw,2rem);font-style:italic}
.mirror-hero__tagline{max-width:680px;margin:1.8rem auto 2rem;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.7}
.mirror-button{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.45rem;border-radius:999px;background:var(--mirror-plum);color:#fff;text-decoration:none;font-weight:800}.mirror-button:hover{background:var(--mirror-plum-dark);color:#fff}
.mirror-section{padding:5.5rem 1.5rem}.mirror-section:nth-of-type(odd){background:var(--mirror-paper)}.mirror-introduction{background:linear-gradient(180deg,#fffdf9,#f8f5fa)}
.mirror-copy{width:min(760px,100%);margin:auto}.mirror-copy h2,.mirror-map h2{margin:0 0 1.5rem;color:var(--mirror-plum-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,3.5rem);line-height:1.12}
.mirror-copy p{font-size:1.06rem;line-height:1.8}.mirror-big-line{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.3rem,3vw,1.65rem)!important;color:var(--mirror-plum-dark)}
.mirror-message{width:min(280px,80%);margin:2rem auto;padding:1rem 1.4rem;border-radius:22px 22px 22px 6px;background:#e8e8ed;font-size:1.35rem;font-weight:700}
.mirror-possibilities{display:grid;gap:.8rem;margin:2rem 0}.mirror-possibilities span{padding:1rem 1.2rem;border:1px solid var(--mirror-border);border-radius:18px;background:rgba(255,255,255,.75);line-height:1.5}
.mirror-copy blockquote{margin:2rem 0;padding:1.4rem 1.6rem;border-left:5px solid var(--mirror-gold);background:#fff8e7;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}
.mirror-three-questions{background:linear-gradient(145deg,var(--mirror-lavender),#fbf9fc)}
.mirror-question-stack{display:grid;gap:1rem;margin:2rem 0}.mirror-question-stack p{margin:0;padding:1.2rem 1.4rem;border:1px solid var(--mirror-border);border-radius:18px;background:rgba(255,255,255,.72);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.25rem,3vw,1.55rem);font-weight:700}
.mirror-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}.mirror-pair p{margin:0;padding:1.4rem;border-radius:20px;background:var(--mirror-blue);font-weight:700}
.mirror-map{padding:6rem 1.5rem;background:linear-gradient(180deg,#f5f2f7,#fffaf1)}.mirror-map__heading{width:min(780px,100%);margin:0 auto 3rem;text-align:center}.mirror-map__grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.mirror-destination{position:relative;min-width:0;padding:2rem;border:1px solid var(--mirror-border);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 12px 30px rgba(55,45,65,.06)}
.mirror-destination--first{border-color:rgba(215,174,87,.65);box-shadow:0 14px 36px rgba(160,120,45,.12)}.mirror-destination__thought{margin:0 0 1rem;color:var(--mirror-plum);font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;font-style:italic;font-weight:700}.mirror-destination h3{margin:.2rem 0 .8rem;color:var(--mirror-plum-dark);font-size:1.55rem}.mirror-destination p:last-of-type{line-height:1.65}.mirror-destination__status{display:inline-block;margin-top:.8rem;padding:.35rem .7rem;border-radius:999px;background:#fff3cd;font-size:.78rem;font-weight:800}
.mirror-map__start{width:min(760px,100%);margin:3rem auto 0;padding:2rem;text-align:center;border-radius:24px;background:#fff}.mirror-map__start h3{margin-top:0}.mirror-map__closing{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem}
.mirror-return{padding:4rem 1.5rem 6rem;text-align:center}.mirror-return p{margin:0 auto 1.5rem}.mirror-button--secondary{background:transparent;color:var(--mirror-plum-dark);border:1px solid var(--mirror-plum)}
@media(max-width:760px){.mirror-hero{padding:5rem 1rem 4rem}.mirror-hero:before,.mirror-hero:after{opacity:.45;width:90px;height:220px}.mirror-section,.mirror-map{padding:4rem 1rem}.mirror-map__grid,.mirror-pair{grid-template-columns:1fr}.mirror-destination{padding:1.5rem}.mirror-breadcrumbs{width:calc(100% - 2rem)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* =========================================================
   THE MISSING PIECES
========================================================= */
.mirror-missing-pieces{background:radial-gradient(circle at 12% 18%,rgba(238,233,245,.8),transparent 24%),linear-gradient(180deg,#fffdf9,#f7f5f8)}
.mirror-scene-card{margin:2.2rem 0;padding:2rem;border:1px solid var(--mirror-border);border-radius:22px;background:#fff;box-shadow:var(--mirror-shadow)}
.mirror-scene-card__label{margin:0 0 .75rem!important;color:var(--mirror-plum);font-size:.75rem!important;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.mirror-scene-card p:last-child{margin-bottom:0;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem}
.mirror-thought-cloud{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0}.mirror-thought-cloud span{max-width:100%;padding:.8rem 1rem;border:1px solid var(--mirror-border);border-radius:999px;background:rgba(255,255,255,.85);line-height:1.4}
.mirror-experiment{background:linear-gradient(145deg,var(--mirror-blue),#fbfcfc)}
.mirror-piece-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2.2rem 0}.mirror-piece-card{min-width:0;padding:1.4rem;border:1px solid var(--mirror-border);border-radius:20px;background:rgba(255,255,255,.84)}
.mirror-piece-card__number{margin:0!important;color:var(--mirror-gold);font-size:.75rem!important;font-weight:900;letter-spacing:.12em}.mirror-piece-card h3{margin:.5rem 0 .75rem;color:var(--mirror-plum-dark);font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}.mirror-piece-card p:last-child{margin-bottom:0;font-size:.95rem;line-height:1.55}
.mirror-destination__link{display:inline-flex;margin-top:.8rem;color:var(--mirror-plum-dark);font-weight:800;text-decoration-thickness:2px;text-underline-offset:3px}

/* =========================================================
   ASSUMPTION MIRROR — BACKPACK TOOL
========================================================= */
.mirror-tool-reveal{background:radial-gradient(circle at 50% 5%,rgba(215,174,87,.18),transparent 24%),linear-gradient(180deg,#fbf8fc,#fffdf9)}
.mirror-tool-card{width:min(900px,calc(100% - 3rem));margin:3rem auto;padding:clamp(1.25rem,4vw,2.4rem);border:3px solid var(--mirror-plum);border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 24px 55px rgba(55,45,65,.13)}
.mirror-tool-card__header{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding-bottom:1.5rem;border-bottom:1px solid var(--mirror-border)}
.mirror-tool-card__icon{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--mirror-lavender);font-size:1.65rem}.mirror-tool-card__header p{margin:0 0 .2rem;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.mirror-tool-card__header h3{margin:0;color:var(--mirror-plum-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,4vw,2.35rem)}
.mirror-tool-card__status{padding:.55rem .85rem;border-radius:999px;background:#f2d98f;font-size:.72rem;font-weight:900;letter-spacing:.1em}.mirror-tool-card__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0}.mirror-tool-card__facts div{min-width:0;padding:1.3rem;border:1px solid var(--mirror-border);border-radius:18px;background:var(--mirror-silver)}
.mirror-tool-card dt{margin-bottom:.65rem;color:var(--mirror-plum-dark);font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.mirror-tool-card dd{margin:0;line-height:1.6}.mirror-tool-card__instructions{padding:1.5rem 1.7rem;border-radius:18px;background:var(--mirror-blue)}.mirror-tool-card__instructions h4{margin:0 0 1rem;color:var(--mirror-plum-dark);font-family:Georgia,"Times New Roman",serif;font-size:1.35rem}.mirror-tool-card__instructions li{margin:.55rem 0;padding-left:.25rem;line-height:1.5}
.mirror-tool-card__words{margin-top:1.25rem;padding:1.4rem;border-radius:18px;background:var(--mirror-plum-dark);color:#fff;text-align:center}.mirror-tool-card__words span{display:block;margin-bottom:.55rem;color:#f2d98f;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.mirror-tool-card__words strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,3vw,1.8rem)}.mirror-tool-card__agency{margin:1.25rem auto 0;max-width:720px;text-align:center;line-height:1.6}.mirror-tool-reveal__next{width:min(760px,calc(100% - 3rem));margin:2rem auto 0;text-align:center}
@media(max-width:760px){.mirror-piece-grid,.mirror-tool-card__facts{grid-template-columns:1fr}.mirror-tool-card{width:calc(100% - 2rem)}.mirror-tool-card__header{grid-template-columns:auto 1fr}.mirror-tool-card__status{grid-column:1/-1;justify-self:start}.mirror-thought-cloud{display:grid}.mirror-thought-cloud span{border-radius:16px}}

/* =========================================================
   MODULAR HOUSE NAVIGATION
========================================================= */
.mirror-map-handoff{text-align:center;background:radial-gradient(circle at 50% 28%,rgba(215,174,87,.2),transparent 24%),linear-gradient(180deg,#fffdf9,#f8f4fb)}.mirror-map-gift{margin:1.5rem auto;font-size:clamp(4rem,10vw,7rem);filter:drop-shadow(0 12px 18px rgba(55,45,65,.16))}.mirror-map-handoff .mirror-button{margin-top:1.25rem}.mirror-map--page{min-height:75vh;padding-top:clamp(3rem,7vw,5rem)}.mirror-map--page .mirror-map__heading h1{margin:.25rem 0 1rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,7vw,4.8rem);line-height:1}.mirror-room-tools{position:sticky;z-index:20;top:0;display:flex;justify-content:center;gap:.8rem;width:100%;padding:.75rem 1rem;border-bottom:1px solid var(--mirror-border);background:rgba(255,253,249,.94);backdrop-filter:blur(10px)}.mirror-room-tools a,.mirror-room-tools span{color:var(--mirror-plum-dark);font-weight:800}@media(max-width:640px){.mirror-room-tools{font-size:.9rem}}

/* =========================================================
   MISSING PIECES — WONDER, NOT OVERLOAD
========================================================= */
.mirror-after-tool{max-width:680px;margin:2rem auto 0;padding:1.5rem;text-align:center}.mirror-magazine-tease{text-align:center;background:linear-gradient(180deg,#f7f2fa,#fffdf9)}.mirror-magazine-cover{width:min(390px,88vw);margin:2rem auto;padding:2.5rem 1.75rem;border:1px solid rgba(67,48,77,.22);border-radius:8px;background:#fffdf7;box-shadow:10px 14px 0 rgba(67,48,77,.08),0 20px 40px rgba(67,48,77,.12);transform:rotate(-1deg)}.mirror-magazine-cover__issue{margin:0 0 1.5rem;font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.mirror-magazine-cover h3{margin:0 0 1.5rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.75rem,5vw,2.8rem);line-height:1.02;overflow-wrap:anywhere}.mirror-magazine-cover p:last-child{margin-bottom:0;font-size:.88rem}.mirror-button--quiet{opacity:.7;cursor:default}.mirror-room-exit{padding:clamp(3rem,8vw,6rem) 1.25rem;text-align:center}.mirror-room-exit p{margin:0 0 1.25rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,3vw,1.8rem)}

/* Missing Pieces interactive scene */
.mirror-scene-card--reveal{display:block;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.mirror-scene-card--reveal:hover,.mirror-scene-card--reveal:focus-visible{transform:translateY(-3px);box-shadow:0 18px 36px rgba(67,48,77,.16);border-color:rgba(67,48,77,.45);outline:none}.mirror-scene-card__prompt{display:block;margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(67,48,77,.18);font-size:.95rem}.mirror-scene-card__prompt strong{text-decoration:underline;text-underline-offset:.2em}.mirror-scene-reveal{margin-top:1.5rem}.mirror-scene-reveal[hidden]{display:none}

/* Adventure Map cards are the doors */
.mirror-destination--clickable{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.mirror-destination--clickable:hover,.mirror-destination--clickable:focus-visible{transform:translateY(-4px);box-shadow:0 20px 38px rgba(67,48,77,.16);border-color:rgba(67,48,77,.42);outline:none}.mirror-destination--clickable h3,.mirror-destination--clickable p{color:inherit}.mirror-destination__hint{display:block;margin-top:1.25rem;font-weight:800;color:var(--mirror-plum-dark)}

/* =========================================================
   SHARED BACKPACK TOOL CONTRAST
========================================================= */
.mirror-tool-card__words,.mirror-tool-card__words strong{color:#fff!important}.mirror-tool-card__words span{color:#f2d98f!important}.mirror-tool-card__words strong{display:block;line-height:1.3}.mirror-scene-reveal{margin:1.5rem 0 2rem;padding:1.5rem;border:2px solid rgba(102,80,111,.22);border-radius:22px;background:var(--mirror-lavender)}.mirror-scene-reveal>p:first-child{margin-top:0;color:var(--mirror-plum-dark);font-weight:800}.mirror-scene-reveal .mirror-thought-cloud span{background:#fff}.mirror-scene-card--reveal[aria-expanded="true"]{background:#fffaf0;border-color:rgba(215,174,87,.7)}
.mirror-tool-card .mirror-tool-card__words{background-color:#493852!important;color:#fff!important}.mirror-tool-card .mirror-tool-card__words strong,.mirror-tool-card .mirror-tool-card__words>strong,.mirror-tool-card .mirror-tool-card__words strong *,.mirror-tool-card .mirror-tool-card__words p{color:#fff!important;-webkit-text-fill-color:#fff!important}.mirror-tool-card .mirror-tool-card__words span,.mirror-tool-card .mirror-tool-card__words>span{color:#f2d98f!important;-webkit-text-fill-color:#f2d98f!important}
