:root {
  --ink:#32115d;
  --purple:#5f2396;
  --violet:#7f3cc1;
  --plum:#8f237f;
  --turquoise:#27b8c7;
  --mint:#89ded3;
  --pink:#f590aa;
  --orange:#ff9c17;
  --gold:#ffd77d;
  --cream:#fff9f4;
  --paper:#fffdfb;
  --lav:#f4eaff;
  --lav2:#ead7ff;
  --night:#1b0c38;
  --shadow:0 24px 70px rgba(61,22,100,.15);
  --radius:34px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family:"Nunito",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 10% 8%, rgba(255,215,125,.25), transparent 24rem),
    radial-gradient(circle at 90% 24%, rgba(137,222,211,.20), transparent 22rem),
    linear-gradient(180deg,#fffaf7 0%,#fffdfb 48%,#f8f0ff 100%);
  overflow-x:hidden;
}
body::selection { background:var(--gold); color:var(--ink); }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button,input,select,textarea { font:inherit; }

.stars { position:fixed; inset:0; pointer-events:none; z-index:-1; opacity:.45; }
.stars-a { background-image:radial-gradient(circle,rgba(111,49,160,.18) 1px,transparent 1.5px); background-size:52px 52px; }
.stars-b { background-image:radial-gradient(circle,rgba(255,174,61,.22) 1px,transparent 1.5px); background-size:86px 86px; background-position:31px 23px; }

.site-header {
  width:min(1180px,calc(100% - 36px));
  margin:18px auto 0;
  min-height:82px;
  padding:12px 15px 12px 22px;
  display:flex; align-items:center; justify-content:space-between;
  position:sticky; top:14px; z-index:50;
  border:1px solid rgba(88,34,139,.08);
  border-radius:28px;
  background:rgba(255,252,250,.82);
  backdrop-filter:blur(18px);
  box-shadow:0 16px 46px rgba(73,26,107,.08);
}
.brand { display:grid; grid-template-columns:auto auto; line-height:.73; position:relative; min-width:104px; font-family:"Baloo 2",sans-serif; }
.brand-top { grid-column:1/3; font-size:14px; font-weight:800; letter-spacing:.2px; }
.brand-com { font-size:9px; align-self:center; justify-self:end; padding-right:4px; }
.brand-lumi { font-size:30px; font-weight:800; color:var(--purple); letter-spacing:-1.5px; }
.brand-star { font-size:10px; color:var(--orange); vertical-align:top; margin-left:2px; }
.nav { display:flex; align-items:center; gap:22px; font-weight:800; font-size:14px; }
.nav a { transition:.2s ease; }
.nav a:hover,.nav a.active { color:var(--violet); transform:translateY(-1px); }
.nav-cta { background:var(--ink); color:#fff !important; padding:12px 18px; border-radius:999px; box-shadow:0 8px 20px rgba(50,17,93,.18); }
.menu-toggle { display:none; border:0; background:transparent; font-size:25px; color:var(--ink); cursor:pointer; }

.hero {
  width:min(1180px,calc(100% - 36px));
  margin:34px auto 0;
  min-height:700px;
  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:54px;
  align-items:center;
  padding:50px 0 76px;
}
.hero-copy { max-width:650px; }
.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-weight:900; letter-spacing:.08em; text-transform:uppercase;
  font-size:12px; color:var(--violet);
  margin-bottom:18px;
}
.eyebrow::before { content:"✦"; color:var(--orange); }
.eyebrow.light { color:#f4dfff; }
.eyebrow.light::before { color:var(--gold); }

h1,h2,h3 { font-family:"Baloo 2",sans-serif; margin:0; line-height:1.02; }
h1 { font-size:clamp(52px,6vw,82px); letter-spacing:-2.7px; }
h2 { font-size:clamp(40px,4.5vw,62px); letter-spacing:-1.8px; }
h3 { font-size:25px; letter-spacing:-.5px; }
h1 em,h2 em { color:var(--violet); font-style:normal; position:relative; }
h1 em::after,h2 em::after {
  content:""; position:absolute; height:8px; border-radius:999px;
  background:linear-gradient(90deg,var(--pink),var(--gold));
  left:4%; right:4%; bottom:3px; z-index:-1; opacity:.42; transform:rotate(-1.5deg);
}

.hero-lead { font-size:22px; line-height:1.48; margin:28px 0 12px; max-width:610px; }
.hero-note { font-size:16px; line-height:1.65; color:#674d7d; max-width:570px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.button {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  border:0; border-radius:999px; padding:15px 22px; font-weight:900;
  cursor:pointer; transition:.24s ease; min-height:52px;
}
.button:hover { transform:translateY(-3px); }
.button.primary { background:linear-gradient(135deg,var(--purple),var(--ink)); color:#fff; box-shadow:0 16px 34px rgba(91,35,148,.24); }
.button.secondary { background:linear-gradient(135deg,var(--orange),#ffbf45); color:var(--ink); box-shadow:0 16px 34px rgba(255,156,23,.22); }
.button.ghost { border:1.5px solid rgba(95,35,150,.24); background:rgba(255,255,255,.58); }
.question-pill {
  margin-top:34px; display:inline-block; padding:11px 17px;
  border:1px dashed rgba(95,35,150,.28); border-radius:999px;
  font-size:13px; font-weight:800; transform:rotate(-1deg); background:#fffaf7;
}

.hero-visual { position:relative; min-height:570px; display:grid; place-items:center; }
.hero-card {
  width:min(430px,88vw); aspect-ratio:.77; position:relative; overflow:hidden;
  border-radius:45% 45% 28% 28% / 26% 26% 18% 18%;
  border:7px solid rgba(255,255,255,.9);
  box-shadow:var(--shadow);
  transform:rotate(1.7deg);
}
.hero-card img { width:100%; height:100%; object-fit:cover; object-position:center 38%; transform:scale(1.03); }
.hero-card::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(24,8,54,.18));
  pointer-events:none;
}
.orbit { position:absolute; border:2px solid rgba(255,177,45,.38); border-radius:50%; transform:rotate(-16deg); filter:drop-shadow(0 0 9px rgba(255,180,65,.28)); }
.orbit-one { width:520px; height:210px; }
.orbit-two { width:470px; height:185px; transform:rotate(19deg); border-color:rgba(44,190,202,.26); }
.floating-bubble {
  position:absolute; z-index:3; background:#fff; border:2px solid var(--violet);
  border-radius:999px; padding:10px 16px; font-weight:900; box-shadow:0 12px 30px rgba(50,17,93,.15);
}
.bubble-one { top:8%; left:-4%; transform:rotate(-6deg); }
.bubble-two { bottom:12%; right:-6%; transform:rotate(4deg); }
.floating-star { position:absolute; z-index:3; color:var(--gold); text-shadow:0 0 16px rgba(255,190,70,.85); }
.star-one { top:18%; right:7%; font-size:34px; }
.star-two { bottom:22%; left:5%; font-size:24px; color:var(--turquoise); }

.section { width:min(1180px,calc(100% - 36px)); margin:0 auto; padding:110px 0; }
.section-heading { max-width:720px; }
.section-heading.centered { text-align:center; margin:0 auto; }
.section-heading p { font-size:18px; line-height:1.7; color:#664f7b; }
.section-heading.centered p { max-width:760px; margin:24px auto 0; }

.intro { padding-top:92px; }
.two-layers { display:grid; grid-template-columns:1fr 70px 1fr; gap:18px; align-items:center; margin:60px auto 34px; max-width:970px; }
.layer-card { min-height:255px; background:rgba(255,255,255,.74); border:1px solid rgba(95,35,150,.09); border-radius:var(--radius); padding:34px; box-shadow:0 20px 54px rgba(72,26,102,.08); }
.layer-card.child { transform:rotate(-1deg); }
.layer-card.adult { transform:rotate(1deg); background:linear-gradient(145deg,#f7efff,#fff); }
.layer-card p { line-height:1.65; color:#6a517f; }
.icon-orb { width:50px; height:50px; display:grid; place-items:center; border-radius:18px; background:var(--gold); font-size:22px; margin-bottom:18px; }
.adult .icon-orb { background:var(--mint); }
.mini-label { font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:900; color:var(--violet); }
.connector { font-size:30px; text-align:center; color:var(--orange); }
.manifesto-line { margin:54px auto 0; padding:28px 34px; max-width:730px; text-align:center; border-radius:999px; background:var(--ink); color:#fff; font-family:"Baloo 2"; font-size:24px; box-shadow:0 18px 40px rgba(50,17,93,.16); }
.manifesto-line strong { color:var(--gold); margin-left:6px; }

.lumi-section { position:relative; }
.lumi-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:75px; align-items:center; }
.lumi-image { position:relative; padding:18px 20px 20px; }
.photo-frame { border-radius:42px; overflow:hidden; transform:rotate(-2deg); box-shadow:var(--shadow); border:7px solid #fff; height:620px; }
.photo-frame img { width:100%; height:100%; object-fit:cover; object-position:48% 35%; }
.scribble { position:absolute; z-index:2; background:#fff; border:1px solid rgba(95,35,150,.15); box-shadow:0 9px 24px rgba(67,27,102,.09); padding:7px 13px; border-radius:999px; font-family:"Baloo 2"; font-weight:700; }
.scribble-a { left:-1%; top:22%; transform:rotate(-9deg); color:var(--turquoise); }
.scribble-b { right:-2%; top:52%; transform:rotate(7deg); color:var(--pink); }
.scribble-c { left:2%; bottom:9%; transform:rotate(-4deg); color:var(--orange); }
.lumi-copy p { font-size:17px; line-height:1.72; color:#634c77; }
.lumi-copy .big-copy { font-family:"Baloo 2"; color:var(--purple); font-size:27px; line-height:1.2; margin:26px 0; }
.trait-chips { display:flex; flex-wrap:wrap; gap:9px; margin-top:25px; }
.trait-chips span { background:#fff; border:1px solid rgba(95,35,150,.10); border-radius:999px; padding:8px 12px; font-size:13px; font-weight:900; }

.superpower { padding-top:90px; }
.path { margin-top:62px; display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap:9px; align-items:start; }
.path-step { text-align:center; }
.path-step > span { width:70px; height:70px; margin:0 auto 14px; display:grid; place-items:center; border-radius:24px; background:linear-gradient(145deg,#fff,#efe2ff); box-shadow:0 12px 32px rgba(69,25,112,.10); font-family:"Baloo 2"; font-size:30px; color:var(--violet); }
.path-step strong { display:block; font-family:"Baloo 2"; font-size:20px; }
.path-step small { display:block; margin-top:7px; color:#715d83; line-height:1.45; }
.path-arrow { padding-top:24px; color:var(--orange); font-size:25px; }

.entremundos { width:100%; max-width:none; padding-left:18px; padding-right:18px; }
.portal-card {
  max-width:1180px; margin:auto; min-height:600px; overflow:hidden; position:relative;
  display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:30px;
  padding:58px; border-radius:52px;
  background:
    radial-gradient(circle at 22% 50%,rgba(95,188,210,.20),transparent 24rem),
    radial-gradient(circle at 20% 50%,rgba(255,188,67,.17),transparent 13rem),
    linear-gradient(135deg,#1e0c3e,#4f1c79 58%,#1f0c43);
  color:#fff; box-shadow:0 34px 90px rgba(39,12,71,.24);
}
.portal-art { min-height:440px; position:relative; display:grid; place-items:center; }
.portal-ring { position:absolute; border-radius:50%; }
.ring-1 { width:330px; height:330px; border:3px solid rgba(255,211,112,.58); box-shadow:0 0 45px rgba(255,193,74,.23),inset 0 0 45px rgba(255,193,74,.16); animation:float 5s ease-in-out infinite; }
.ring-2 { width:265px; height:360px; border:2px dashed rgba(136,221,211,.44); transform:rotate(12deg); animation:spin 18s linear infinite; }
.ring-3 { width:230px; height:395px; border:1px solid rgba(242,139,171,.34); transform:rotate(-12deg); animation:spinReverse 23s linear infinite; }
.portal-door {
  width:155px; height:260px; border-radius:80px 80px 18px 18px; display:grid; place-items:center;
  color:var(--gold); font-size:52px; background:linear-gradient(180deg,#f9d583,#ff9b34);
  box-shadow:0 0 70px rgba(255,183,62,.43),inset 0 0 45px rgba(255,255,255,.5);
  border:6px solid rgba(255,255,255,.18);
}
.portal-copy { max-width:610px; }
.portal-copy h2 em { color:var(--gold); }
.portal-copy h2 em::after { background:var(--turquoise); opacity:.3; }
.portal-copy p { line-height:1.7; color:#eee0fa; font-size:17px; }
.portal-question { margin-top:28px; border:1px solid rgba(255,255,255,.20); background:rgba(255,255,255,.08); border-radius:18px; padding:16px 18px; font-weight:900; color:var(--gold); }

.themes .section-heading { margin-bottom:36px; }
.theme-cloud { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.theme-cloud span { padding:12px 17px; border-radius:999px; background:#fff; border:1px solid rgba(95,35,150,.10); font-weight:900; box-shadow:0 8px 24px rgba(70,25,106,.06); }
.theme-cloud span:nth-child(4n+1) { background:#f0dcff; transform:rotate(-1deg); }
.theme-cloud span:nth-child(4n+2) { background:#dcf6f2; transform:rotate(1deg); }
.theme-cloud span:nth-child(4n+3) { background:#fff0d2; transform:rotate(-.5deg); }
.theme-cloud .large { font-size:22px; padding:15px 22px; color:var(--purple); }

.format-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.format-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.format-cards article { background:rgba(255,255,255,.84); border-radius:28px; padding:27px; min-height:190px; border:1px solid rgba(95,35,150,.09); box-shadow:0 14px 38px rgba(61,21,93,.07); }
.format-cards span { font-size:24px; color:var(--violet); }
.format-cards p { line-height:1.55; color:#705b82; }

.creator-preview { width:100%; max-width:none; padding-left:18px; padding-right:18px; }
.creator-card {
  max-width:1080px; margin:auto; border-radius:48px; padding:70px;
  background:linear-gradient(135deg,#fff1d9,#ffe7ef 48%,#efe2ff);
  box-shadow:0 28px 75px rgba(87,35,118,.10); position:relative; overflow:hidden;
}
.creator-card::after { content:"?"; position:absolute; right:35px; bottom:-90px; font-family:"Baloo 2"; font-size:360px; color:rgba(95,35,150,.05); transform:rotate(10deg); }
.creator-kicker { font-family:"Baloo 2"; font-weight:800; color:var(--plum); margin-bottom:17px; }
.creator-card p { max-width:740px; font-size:17px; line-height:1.7; color:#684d72; position:relative; z-index:1; }
.creator-card .button { position:relative; z-index:2; margin-top:12px; }

.manifesto { width:100%; max-width:none; padding-left:18px; padding-right:18px; }
.manifesto-box {
  max-width:1180px; margin:auto; text-align:center; padding:78px 60px; border-radius:52px;
  background:linear-gradient(135deg,#4d1d79,#261044); color:#fff;
  box-shadow:0 30px 85px rgba(39,12,71,.22);
}
.manifesto-box h2 { max-width:850px; margin:auto; }
.manifesto-box h2 em { color:var(--gold); }
.manifesto-box p { max-width:810px; margin:26px auto 0; color:#f0e4f9; font-size:18px; line-height:1.7; }
.manifesto-box .manifesto-end { color:#fff2c9; font-family:"Baloo 2"; font-size:22px; }

.contact { padding-bottom:120px; }
.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:start; }
.contact-copy { position:sticky; top:140px; }
.contact-copy p { font-size:18px; line-height:1.7; color:#68527b; }
.contact-note { margin-top:30px; display:flex; gap:15px; padding:20px; border-radius:24px; background:#fff2d9; }
.contact-note .spark { font-size:24px; color:var(--orange); }
.contact-note strong,.contact-note small { display:block; }
.contact-note small { margin-top:5px; color:#725e7f; }
.contact-form { background:#fff; border:1px solid rgba(95,35,150,.10); border-radius:36px; padding:34px; box-shadow:var(--shadow); }
.contact-form label { display:grid; gap:8px; font-size:13px; font-weight:900; margin-bottom:18px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-form input,.contact-form select,.contact-form textarea {
  width:100%; border:1.5px solid #eadff0; background:#fffdfc; color:var(--ink);
  border-radius:16px; padding:14px 15px; outline:none; transition:.2s ease;
}
.contact-form textarea { resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--violet); box-shadow:0 0 0 4px rgba(127,60,193,.10); }
.check { grid-template-columns:20px 1fr !important; align-items:start; font-weight:600 !important; color:#6c587b; line-height:1.45; }
.check input { width:17px; height:17px; margin-top:2px; }
.submit { width:100%; }
.form-status { min-height:21px; margin:12px 0 0; font-size:13px; font-weight:800; color:var(--violet); }

.final-question { width:100%; padding:110px 18px; text-align:center; color:#fff; background:
  radial-gradient(circle at 50% 30%,rgba(255,193,77,.18),transparent 28rem),
  linear-gradient(135deg,#1a0a35,#4f1b78); }
.final-question p { color:#e9d8f4; }
.final-question h2 { max-width:870px; margin:18px auto 24px; }
.final-question h2 em { color:var(--gold); }
.tiny-star { font-size:26px; color:var(--gold); }
.back-top { display:inline-block; margin-top:8px; color:var(--mint); font-weight:900; }
.center-actions { justify-content:center; }
.light-ghost { border-color:rgba(255,255,255,.24)!important; color:#fff; background:rgba(255,255,255,.06)!important; }

footer { padding:42px 18px 34px; text-align:center; background:#130729; color:#cdbbdb; }
.footer-brand { font-family:"Baloo 2"; font-weight:800; font-size:25px; color:#fff; }
.footer-brand span { color:var(--gold); }
footer p { margin:7px 0 18px; }
.footer-links { display:flex; justify-content:center; gap:20px; flex-wrap:wrap; font-weight:800; font-size:13px; margin-bottom:22px; }
footer small { color:#917da1; }

/* Creator page */
.creator-hero {
  width:min(1180px,calc(100% - 36px)); margin:42px auto 0; padding:75px 0 90px;
  display:grid; grid-template-columns:1.12fr .88fr; gap:70px; align-items:center;
}
.creator-hero h1 { font-size:clamp(48px,5.4vw,75px); }
.creator-hero-copy p { max-width:650px; font-size:20px; line-height:1.65; color:#654e77; }
.childhood-card { border-radius:38px; padding:44px; background:#fff; box-shadow:var(--shadow); transform:rotate(2deg); position:relative; border:1px solid rgba(95,35,150,.08); }
.childhood-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:7px; border-radius:38px 0 0 38px; background:linear-gradient(var(--pink),var(--orange),var(--turquoise)); }
.quote-mark { position:absolute; top:-18px; right:24px; font-family:serif; font-size:95px; color:#ead8f7; }
.childhood-card p { font-family:"Baloo 2"; font-size:23px; line-height:1.32; margin:0 0 20px; position:relative; }
.hand-note { display:inline-block; margin-top:13px; font-size:13px; color:var(--plum); transform:rotate(-2deg); font-weight:800; }

.creator-story { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding-top:30px; }
.story-column { padding:33px; border-radius:32px; background:rgba(255,255,255,.80); box-shadow:0 14px 40px rgba(66,23,100,.07); border:1px solid rgba(95,35,150,.08); }
.story-column:nth-child(2) { transform:translateY(26px); background:#fff5df; }
.story-column:nth-child(3) { background:#efe4ff; }
.story-number { display:block; font-family:"Baloo 2"; color:var(--orange); font-weight:900; font-size:38px; opacity:.72; }
.story-column h2 { font-size:31px; letter-spacing:-.7px; margin:9px 0 18px; }
.story-column p { line-height:1.7; color:#6d587d; }

.encounter-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:70px; align-items:center; }
.encounter-art { position:relative; }
.encounter-art img { width:100%; height:590px; object-fit:cover; object-position:center 35%; border-radius:43px; border:7px solid #fff; box-shadow:var(--shadow); transform:rotate(-1deg); }
.encounter-bubble { position:absolute; right:-15px; bottom:50px; max-width:280px; background:#fff; border:2px solid var(--violet); border-radius:28px; padding:18px 22px; font-family:"Baloo 2"; font-size:20px; font-weight:800; box-shadow:0 14px 34px rgba(49,15,86,.14); transform:rotate(3deg); }
.encounter-copy p { font-size:17px; line-height:1.7; color:#67527a; }
.encounter-copy .big-copy { font-family:"Baloo 2"; font-weight:700; color:var(--purple); font-size:25px; line-height:1.3; }

.why-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:55px; }
.why-cards article { min-height:220px; background:#fff; border-radius:30px; padding:28px; border:1px solid rgba(95,35,150,.09); box-shadow:0 14px 38px rgba(66,23,100,.07); }
.why-cards article > span { width:48px; height:48px; display:grid; place-items:center; background:#f1e5ff; border-radius:16px; color:var(--violet); font-size:21px; margin-bottom:18px; }
.why-cards article:nth-child(2)>span { background:#ddf7f3; }
.why-cards article:nth-child(3)>span { background:#fff0cc; }
.why-cards article:nth-child(4)>span { background:#ffe3eb; }
.why-cards p { color:#705d80; line-height:1.55; }

.author-letter { width:100%; max-width:none; padding-left:18px; padding-right:18px; }
.letter { max-width:900px; margin:auto; background:#fffdfb; border-radius:42px; padding:60px; box-shadow:0 30px 75px rgba(63,20,100,.12); border:1px solid rgba(95,35,150,.10); position:relative; }
.letter::after { content:"✦"; position:absolute; right:34px; top:24px; font-size:30px; color:var(--gold); }
.letter h2 { margin-bottom:25px; }
.letter p { font-size:18px; line-height:1.8; color:#635076; }
.letter-sign { margin-top:35px!important; font-family:"Baloo 2"; color:var(--ink)!important; }
.letter-sign strong { font-size:25px; }
.letter-sign span { font-size:14px; color:var(--violet); }

.reveal.reveal-ready { opacity:0; transform:translateY(18px); transition:opacity .8s ease, transform .8s ease; }
.reveal.reveal-ready.visible { opacity:1; transform:none; }

@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes spin { to{transform:rotate(372deg)} }
@keyframes spinReverse { to{transform:rotate(-372deg)} }

@media (max-width: 940px) {
  .site-header { top:8px; }
  .menu-toggle { display:block; }
  .nav {
    display:none; position:absolute; top:90px; left:0; right:0; flex-direction:column; align-items:stretch;
    background:#fff; padding:18px; border-radius:26px; box-shadow:var(--shadow); gap:8px;
  }
  .nav.open { display:flex; }
  .nav a { padding:10px 12px; }
  .hero,.lumi-grid,.format-grid,.contact-grid,.creator-hero,.encounter-grid { grid-template-columns:1fr; }
  .hero { padding-top:30px; gap:20px; }
  .hero-copy { text-align:center; margin:auto; }
  .hero-lead,.hero-note { margin-left:auto; margin-right:auto; }
  .hero-actions { justify-content:center; }
  .hero-visual { min-height:520px; }
  .lumi-grid,.encounter-grid { gap:35px; }
  .photo-frame { height:560px; }
  .path { grid-template-columns:1fr 1fr; gap:22px; }
  .path-arrow { display:none; }
  .portal-card { grid-template-columns:1fr; padding:45px 28px; }
  .portal-art { min-height:400px; }
  .contact-copy { position:static; }
  .creator-story { grid-template-columns:1fr; }
  .story-column:nth-child(2) { transform:none; }
  .why-cards { grid-template-columns:1fr 1fr; }
}

@media (max-width: 620px) {
  .section { padding:78px 0; }
  h1 { font-size:50px; letter-spacing:-1.7px; }
  h2 { font-size:40px; letter-spacing:-1.2px; }
  .site-header { width:calc(100% - 18px); border-radius:22px; }
  .hero { width:calc(100% - 26px); min-height:auto; }
  .hero-visual { min-height:470px; }
  .hero-card { width:340px; border-radius:42% 42% 24% 24% / 24% 24% 15% 15%; }
  .orbit-one { width:390px; }
  .orbit-two { width:350px; }
  .bubble-one { left:-1%; }
  .bubble-two { right:0; }
  .two-layers { grid-template-columns:1fr; }
  .connector { transform:rotate(90deg); }
  .manifesto-line { border-radius:30px; font-size:21px; }
  .lumi-image { padding:0; }
  .photo-frame { height:500px; border-radius:34px; }
  .scribble-a { left:-2%; }
  .scribble-b { right:-2%; }
  .path { grid-template-columns:1fr; }
  .portal-card { border-radius:36px; }
  .portal-art { transform:scale(.82); margin:-25px 0; }
  .format-cards { grid-template-columns:1fr; }
  .creator-card,.manifesto-box { padding:42px 25px; border-radius:36px; }
  .contact-grid { gap:35px; }
  .contact-form { padding:24px 19px; border-radius:28px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .creator-hero { width:calc(100% - 26px); padding-top:50px; gap:30px; }
  .childhood-card { padding:34px 28px; }
  .why-cards { grid-template-columns:1fr; }
  .letter { padding:42px 25px; border-radius:34px; }
  .encounter-art img { height:510px; }
  .encounter-bubble { right:6px; bottom:26px; max-width:255px; }
}

/* Official artwork is framed without modifying the supplied image. */
.brand, .footer-brand {
  display:inline-block; position:relative; width:120px; height:78px;
  min-width:120px; overflow:hidden; border-radius:12px; background:#fff;
  vertical-align:middle;
}
.brand img, .footer-brand img {
  position:absolute; width:330px; height:110px; max-width:none;
  left:50%; top:50%; transform:translate(-50%,-50%);
}
.footer-brand { margin-bottom:12px; }
.bubble-one { top:13%; left:12%; }
.bubble-two { bottom:12%; right:10%; }
.submit:disabled { opacity:.65; cursor:wait; transform:none; }
.social-bar {
  position:fixed; z-index:60; right:12px; top:50%; transform:translateY(-50%);
  display:flex; flex-direction:column; gap:6px; padding:7px;
  border:1px solid #eadff0; border-radius:999px; background:rgba(255,253,251,.96);
  box-shadow:0 8px 28px rgba(50,17,93,.15);
}
.social-bar a { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:var(--purple); transition:background .2s,color .2s; }
.social-bar a:hover { background:var(--purple); color:#fff; }
.social-bar a:focus-visible, .brand:focus-visible, .footer-brand:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.social-bar svg { width:23px; height:23px; }
@media (min-width: 941px) {
  body { padding-right:82px; }
}
@media (max-width: 940px) {
  /* Reserve the bottom strip in the viewport so the bar never covers the page. */
  html { height:100%; overflow:hidden; }
  body { height:calc(100% - 66px - env(safe-area-inset-bottom, 0px)); overflow-y:auto; overflow-x:hidden; scroll-behavior:smooth; }
  .social-bar {
    top:auto; bottom:0; left:0; right:0; transform:none; flex-direction:row;
    justify-content:center; gap:18px; border-radius:0; border-width:1px 0 0;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  }
  .nav { top:calc(100% + 8px); }
  .hero-card { max-width:88vw; }
}
@media (prefers-reduced-motion: reduce) {
  html, body { scroll-behavior:auto; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
}
section[id] { scroll-margin-top:130px; }

/* Footer-only artwork; the header retains its official color logo. */
.footer-brand { width:220px; height:122px; background:transparent; border-radius:0; }
.footer-brand img { width:330px; height:auto; }
.skip-link { position:fixed; left:16px; top:8px; z-index:100; padding:12px 18px; border-radius:12px; background:var(--ink); color:#fff; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
a:focus-visible, button:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
main, section, .hero-copy, .hero-visual, .contact-copy, .contact-form, .creator-hero-copy, .encounter-copy { min-width:0; }
.menu-toggle { min-width:44px; min-height:44px; }
@media (max-width: 620px) {
  .creator-hero h1 { font-size:clamp(36px,10vw,50px); overflow-wrap:break-word; }
  .hero h1, .ebook-hero h1 { font-size:clamp(38px,12.8vw,50px); }
  .hero-visual { min-height:0; padding:30px 0; }
  .hero-card { width:min(340px,calc(100vw - 40px)); flex-shrink:0; }
  .hero-actions .button { max-width:100%; }
  .theme-cloud .large { font-size:20px; }
  .portal-card { min-width:0; }
  .portal-art { min-width:0; }
  .footer-links a { display:inline-flex; align-items:center; min-height:44px; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal.reveal-ready { opacity:1; transform:none; }
}
@media (max-width: 620px) {
  .orbit-one { width:calc(100vw - 76px); height:140px; }
  .orbit-two { width:calc(100vw - 92px); height:130px; }
}
