@import url('https://fonts.googleapis.com/css2?family=Cormorant+Infant:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,600;1,9..144,500&family=Nunito+Sans:wght@400;500;600;700;800&display=swap');

:root{
  --cream:#FBF4E9;
  --cream-2:#F3E8D6;
  --ink:#20261F;
  --ink-soft:#4A4A42;
  --muted:#6b6b60;
  --rust:#B5652E;
  --gold:#D6A36E;
  --plum:#8B6B8A;
  --coral:#E0765C;
  --sage:#5C8A63;
  --line:rgba(31,42,36,0.14);
  --card:#20261F;
  --card-text:#FBF4E9;
  --max:920px;
  --shadow-soft: 0 18px 40px -14px rgba(32,38,31,0.28), 0 2px 8px rgba(32,38,31,0.07);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'Inter',sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
}

a{ color:inherit; }

.wrap{ max-width:var(--max); margin:0 auto; padding:0 28px; }

/* NAV */
header.site{
  position:sticky; top:0; z-index:20;
  background:rgba(251,244,233,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav{
  max-width:1080px; margin:0 auto; padding:18px 28px;
  display:flex; align-items:center; justify-content:space-between;
}
.brand{
  font-family:'Fraunces',serif; font-weight:600; font-size:21px; text-decoration:none; color:var(--ink);
}
.brand em{ color:var(--rust); font-style:italic; }
nav.links{ display:flex; gap:28px; flex-wrap:wrap; }
nav.links a{
  text-decoration:none; font-size:14px; font-weight:600; letter-spacing:0.3px;
  color:var(--ink-soft); padding:6px 0; border-bottom:2px solid transparent;
}
nav.links a.active, nav.links a:hover{ color:var(--rust); border-color:var(--rust); }
.nav-donate{
  background:var(--ink); color:var(--cream) !important; padding:10px 20px; border-radius:999px;
  font-size:13px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; text-decoration:none;
  border:none !important;
}

/* HERO */
.hero{
  position:relative; overflow:hidden;
  padding:96px 28px 84px;
  background:
    radial-gradient(circle at 88% 0%, rgba(214,163,110,0.30) 0%, rgba(214,163,110,0) 42%),
    radial-gradient(circle at 4% 100%, rgba(139,107,138,0.20) 0%, rgba(139,107,138,0) 45%);
}
.hero .wrap{ max-width:820px; text-align:center; }
.hero .wrap.hero-grid{ max-width:1120px; text-align:left; }
.eyebrow{
  font-weight:700; font-size:14px; letter-spacing:3.5px; text-transform:uppercase;
  color:var(--plum); margin-bottom:22px;
}
.eyebrow.center{ text-align:center; }
h1{
  font-family:'Fraunces',serif; font-weight:600; font-size:58px; line-height:1.08; margin:0 0 24px;
  color:var(--ink);
}
h1 em{ font-style:italic; font-weight:500; color:var(--rust); }
.lede{ font-size:19px; color:var(--ink-soft); max-width:640px; margin:0 auto; }

.motif{ position:absolute; inset:0; pointer-events:none; }

/* BUTTONS */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 30px; border-radius:999px; font-weight:700; font-size:14px;
  letter-spacing:0.4px; text-transform:uppercase; text-decoration:none;
  transition:transform 0.15s ease, box-shadow 0.15s ease;
}
.btn-primary{ background:var(--rust); color:#fff; box-shadow:0 10px 24px -8px rgba(181,101,46,0.55); }
.btn-ghost{ border:1.5px solid var(--ink); color:var(--ink); }
.btn:hover{ transform:translateY(-2px); }
.btn-row{ display:flex; gap:16px; margin-top:36px; flex-wrap:wrap; }
.hero .wrap:not(.hero-grid) .btn-row{ justify-content:center; }

/* HERO — two-column layout */
.hero-grid{
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:52px; align-items:center;
}
.hero-copy .lede{ margin-left:0; }

/* SECTIONS */
section{ padding:72px 28px; }
section.tint{ background:var(--cream-2); }
.section-head{ text-align:center; max-width:640px; margin:0 auto 48px; }
.section-head .eyebrow{ margin-bottom:14px; }
.section-head h2{
  font-family:'Fraunces',serif; font-weight:600; font-size:38px; margin:0 0 14px; color:var(--ink);
}
.section-head p{ color:var(--ink-soft); font-size:17px; margin:0; }

/* CARDS */
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1080px; margin:0 auto; }
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1080px; margin:0 auto; }
.card{
  background:#fff; border:1px solid var(--line); border-radius:16px; padding:32px;
}
.card h3{ font-family:'Fraunces',serif; font-size:22px; margin:0 0 12px; }
.card p{ color:var(--ink-soft); font-size:15.5px; margin:0; }

/* PROGRESS BAR (fundraiser) */
.progress-card{
  max-width:820px; margin:0 auto; background:#fff; border:1px solid var(--line);
  border-radius:20px; padding:40px 44px;
}
.progress-labels{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px; flex-wrap:wrap; gap:8px; }
.raised{ font-family:'Fraunces',serif; font-weight:600; font-size:32px; }
.raised span{ color:var(--rust); }
.goal{ font-size:16px; color:var(--muted); font-weight:500; }
.bar-track{ width:100%; height:14px; background:#E7DCC6; border-radius:999px; overflow:hidden; }
.bar-fill{ height:100%; width:37.4%; background:linear-gradient(90deg,var(--rust),var(--gold)); border-radius:999px; }
.donor-line{ margin-top:12px; font-size:14.5px; color:var(--muted); }

/* DONATE / CTA BLOCK */
.cta-block{
  max-width:820px; margin:56px auto 0; background:var(--card); color:var(--card-text);
  border-radius:20px; padding:36px 44px; display:flex; align-items:center; gap:36px; flex-wrap:wrap;
}
.cta-block .qr-box{ background:#FDFAF3; border-radius:12px; padding:12px; flex-shrink:0; line-height:0; }
.cta-block .qr-box img{ width:120px; height:120px; display:block; }
.cta-block .cta-text{ flex:1; min-width:220px; }
.cta-block .cta-label{ color:var(--gold); font-weight:700; font-size:13px; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.cta-block .cta-headline{ font-family:'Fraunces',serif; font-size:24px; font-weight:500; line-height:1.3; }
.cta-block .cta-url{ margin-top:12px; font-size:14.5px; color:#c9c4b6; word-break:break-all; }

/* TIMELINE (progress page) */
.timeline{ max-width:760px; margin:0 auto; position:relative; padding-left:32px; }
.timeline::before{
  content:''; position:absolute; left:6px; top:6px; bottom:6px; width:2px; background:var(--line);
}
.t-item{ position:relative; padding-bottom:44px; }
.t-item:last-child{ padding-bottom:0; }
.t-item::before{
  content:''; position:absolute; left:-32px; top:4px; width:14px; height:14px; border-radius:50%;
  background:var(--rust); border:3px solid var(--cream);
}
.t-date{ font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--plum); margin-bottom:8px; }
.t-title{ font-family:'Fraunces',serif; font-size:21px; margin:0 0 8px; }
.t-body{ color:var(--ink-soft); font-size:15.5px; }
.t-tag{
  display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  padding:3px 10px; border-radius:999px; margin-bottom:10px;
}
.t-tag.medical{ background:#F3E3D9; color:var(--rust); }
.t-tag.campaign{ background:#E7E0EA; color:var(--plum); }
.t-tag.milestone{ background:#DCE7DC; color:#3F6B45; }

/* STORYBOOK */
.chapter{ max-width:720px; margin:0 auto 64px; }
.chapter:last-child{ margin-bottom:0; }
.chapter .ch-num{
  font-family:'Fraunces',serif; font-style:italic; color:var(--rust); font-size:15px; margin-bottom:10px; display:block;
}
.chapter h2{ font-family:'Fraunces',serif; font-weight:600; font-size:32px; margin:0 0 20px; }
.chapter p{ font-size:17px; color:var(--ink-soft); margin:0 0 18px; }
.chapter p:last-child{ margin-bottom:0; }
.photo-slot{
  border:1.5px dashed var(--line); border-radius:16px; padding:40px 24px; text-align:center;
  color:var(--muted); font-size:14px; margin:28px 0; background:rgba(255,255,255,0.5);
}

/* GENEROSITY COUNTER */
.counter-block{
  max-width:1120px; margin:0 auto; position:relative; padding:48px 32px;
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 15%, rgba(214,163,110,0.22) 0%, rgba(214,163,110,0) 46%),
    radial-gradient(circle at 90% 85%, rgba(92,138,99,0.16) 0%, rgba(92,138,99,0) 50%),
    #fff;
  border:1px solid var(--line);
}
.goal-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:#DCE7DC; color:#3F6B45; font-weight:700; font-size:12.5px;
  letter-spacing:0.6px; text-transform:uppercase; padding:7px 18px; border-radius:999px;
  margin-bottom:32px;
}
.stat-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.stat-tile{
  position:relative; overflow:hidden;
  background:#fff; border:1px solid var(--line); border-radius:18px;
  padding:38px 24px 30px; text-align:center;
  box-shadow:0 12px 28px -18px rgba(32,38,31,0.35);
}
.stat-tile::before{
  content:''; position:absolute; top:0; left:0; right:0; height:5px;
}
.stat-tile:nth-child(1)::before{ background:var(--rust); }
.stat-tile:nth-child(2)::before{ background:var(--gold); }
.stat-tile:nth-child(3)::before{ background:var(--sage); }
.stat-icon{ font-size:22px; margin-bottom:12px; display:block; }
.stat-num{
  font-family:'Fraunces',serif; font-weight:600; font-size:44px; color:var(--rust);
  line-height:1; margin-bottom:10px; font-variant-numeric:tabular-nums;
}
.stat-tile:nth-child(2) .stat-num{ color:#A8793D; }
.stat-tile:nth-child(3) .stat-num{ color:var(--sage); }
.stat-label{ font-size:13px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:var(--muted); }
.stat-sub{ margin-top:6px; font-size:13px; color:var(--muted); }
.counter-footnote{ text-align:center; font-size:13.5px; color:var(--muted); margin-top:24px; }

/* POLAROID PHOTO FRAMES (hero + storybook) */
.polaroid{
  background:#fff; padding:14px 14px 0; border-radius:8px;
  box-shadow:var(--shadow-soft);
  transform:rotate(-2.5deg);
  transition:transform 0.25s ease;
}
.polaroid:hover{ transform:rotate(0deg); }
.polaroid .photo-area{
  aspect-ratio:16/11; display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:10px; color:var(--muted); border-radius:2px;
  background:
    repeating-linear-gradient(135deg, rgba(31,42,36,0.035) 0 12px, transparent 12px 24px), #FBF9F5;
  border:1px dashed var(--line); overflow:hidden;
}
.polaroid .photo-area img{ width:100%; height:100%; object-fit:cover; }
.polaroid .icon{ font-size:30px; opacity:0.45; }
.polaroid .label{ font-size:14px; font-weight:600; }
.polaroid .sub{ font-size:12.5px; color:var(--muted); }
.polaroid .caption{
  font-family:'Fraunces',serif; font-style:italic; font-weight:500; text-align:center;
  color:var(--ink-soft); font-size:15px; padding:14px 8px 20px;
}

/* HERO PHOTO FRAME */
.hero-photo{ max-width:420px; }
.hero-photo.polaroid{ transform:rotate(3deg); margin:0 auto; }
.hero:not(:has(.hero-grid)) .hero-photo{ max-width:520px; margin:44px auto 0; }

/* GALLERY */
.gallery-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px 22px; max-width:1080px; margin:0 auto;
}
.gallery-tile.polaroid{ padding:10px 10px 0; }
.gallery-tile .photo-area{ aspect-ratio:1/1; }
.gallery-tile .icon{ font-size:22px; opacity:0.45; }
.gallery-tile .caption{ font-size:13.5px; padding:10px 6px 16px; }
.gallery-tile:nth-child(3n+1){ transform:rotate(-3deg); }
.gallery-tile:nth-child(3n+2){ transform:rotate(2deg); }
.gallery-tile:nth-child(3n+3){ transform:rotate(-1.5deg); }
.gallery-tile:hover{ transform:rotate(0deg) translateY(-4px); }

/* NOTE / DISCLAIMER */
.note{
  max-width:760px; margin:56px auto 0; font-size:14px; color:var(--muted);
  border-top:1px solid var(--line); padding-top:24px; text-align:center;
}

/* FOOTER */
footer.site{
  padding:56px 28px 40px; text-align:center; border-top:1px solid var(--line); margin-top:40px;
}
footer.site .brand{ display:block; margin-bottom:10px; }
footer.site p{ color:var(--muted); font-size:14px; margin:6px 0; }
footer.site a{ color:var(--rust); text-decoration:none; font-weight:600; }

@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; text-align:center; gap:40px; }
  .hero-grid .btn-row{ justify-content:center; }
  .hero-photo.polaroid{ transform:rotate(1.5deg); }
}

@media (max-width:760px){
  h1{ font-size:40px; }
  .grid-3, .grid-2{ grid-template-columns:1fr; }
  .stat-row{ grid-template-columns:1fr; }
  .gallery-grid{ grid-template-columns:repeat(2,1fr); gap:24px 16px; }
  .gallery-tile:nth-child(n){ transform:rotate(0deg); }
  nav.links{ display:none; }
  .cta-block{ flex-direction:column; text-align:center; }
  .cta-block .cta-text{ text-align:center; }
  .counter-block{ padding:32px 20px; }
}

/* 2026 visual refresh */
:root{
  --cream:#fcf7ef;
  --cream-2:#f2e9dc;
  --ink:#243029;
  --ink-soft:#566058;
  --muted:#73786f;
  --rust:#b95935;
  --gold:#dda86d;
  --plum:#7b637c;
  --sage:#5d8064;
  --line:rgba(36,48,41,.12);
  --max:1080px;
  --shadow-soft:0 28px 70px -30px rgba(47,42,35,.45),0 8px 24px rgba(47,42,35,.08);
}

body{
  background:
    radial-gradient(circle at 8% 4%,rgba(221,168,109,.09),transparent 24rem),
    var(--cream);
  -webkit-font-smoothing:antialiased;
}

::selection{background:rgba(185,89,53,.2)}
a:focus-visible{outline:3px solid rgba(185,89,53,.4);outline-offset:4px;border-radius:6px}

header.site{background:rgba(252,247,239,.88);backdrop-filter:blur(18px) saturate(130%)}
.nav{max-width:1200px;padding:15px 32px;gap:30px}
.brand{font-size:22px;letter-spacing:-.3px;white-space:nowrap}
nav.links{gap:24px;justify-content:center}
nav.links a{font-size:13px;letter-spacing:.5px;border:0;position:relative}
nav.links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--rust);transition:right .2s ease}
nav.links a:hover::after,nav.links a.active::after{right:0}
.nav-donate{box-shadow:0 8px 20px -10px rgba(36,48,41,.75);transition:transform .2s ease,background .2s ease}
.nav-donate:hover{transform:translateY(-1px);background:var(--rust)}

.hero{padding:112px 28px 100px;isolation:isolate}
.hero::before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(185,89,53,.12);border-radius:50%;right:-250px;top:-275px;box-shadow:0 0 0 70px rgba(221,168,109,.035),0 0 0 140px rgba(123,99,124,.025);z-index:-1}
.eyebrow{font-size:12px;letter-spacing:3.2px;margin-bottom:18px}
h1{font-size:clamp(48px,5.25vw,72px);letter-spacing:-2.2px;line-height:1.01;margin-bottom:28px;text-wrap:balance}
.lede{font-size:18px;line-height:1.75;text-wrap:pretty}
.hero-grid{grid-template-columns:1.08fr .92fr;gap:72px}
.btn{padding:14px 25px;font-size:12px;letter-spacing:.8px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn-primary{background:var(--rust);box-shadow:0 14px 28px -14px rgba(185,89,53,.75)}
.btn-ghost{border-color:rgba(36,48,41,.32);background:rgba(255,255,255,.35)}
.btn-ghost:hover{background:#fff;border-color:var(--ink)}

section{padding:96px 28px}
.section-head{margin-bottom:54px}
.section-head h2{font-size:clamp(35px,4vw,48px);letter-spacing:-1px;text-wrap:balance}
.section-head p{line-height:1.75}

.polaroid{padding:12px 12px 0;border-radius:5px;box-shadow:var(--shadow-soft)}
.polaroid .photo-area{background:linear-gradient(145deg,rgba(221,168,109,.09),rgba(123,99,124,.08)),#faf7f2;border-color:rgba(36,48,41,.16)}
.polaroid .icon{filter:grayscale(1);opacity:.25}
.polaroid .caption{padding:16px 8px 22px}

.counter-block{padding:54px 46px;border-radius:32px;box-shadow:0 30px 80px -55px rgba(36,48,41,.42)}
.stat-row{gap:16px}
.stat-tile{border-radius:20px;padding:42px 20px 32px;box-shadow:none;transition:transform .25s ease,box-shadow .25s ease}
.stat-tile:hover{transform:translateY(-5px);box-shadow:0 22px 40px -28px rgba(36,48,41,.5)}
.stat-num{font-size:clamp(38px,4.4vw,52px);letter-spacing:-1.5px}
.goal-badge{padding:8px 16px}

.cta-block{max-width:900px;border-radius:28px;padding:38px 48px;background:linear-gradient(135deg,#253129,#19221d);box-shadow:0 28px 60px -35px rgba(25,34,29,.8)}
.cta-block .qr-box{box-shadow:0 8px 30px rgba(0,0,0,.18)}
.cta-block .cta-headline{font-size:27px;text-wrap:balance}

.grid-3{gap:18px}
.card{border-radius:22px;padding:34px;background:rgba(255,255,255,.72);box-shadow:0 18px 50px -42px rgba(36,48,41,.5)}
.journey-card{display:block;text-decoration:none;position:relative;min-height:250px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.journey-card:hover{transform:translateY(-6px);border-color:rgba(185,89,53,.28);box-shadow:0 24px 55px -35px rgba(36,48,41,.55)}
.card-kicker{display:block;color:var(--rust);font:600 12px/1 'Inter',sans-serif;letter-spacing:2px;margin-bottom:42px}
.journey-card h3{font-size:25px}
.journey-card p{line-height:1.7}
.card-link{display:block;margin-top:25px;color:var(--rust);font-size:13px;font-weight:700;letter-spacing:.2px}
.card-link span{display:inline-block;transition:transform .2s ease}
.journey-card:hover .card-link span{transform:translateX(4px)}

.timeline::before{background:linear-gradient(var(--rust),rgba(185,89,53,.1))}
.t-item{padding:4px 0 50px 16px}
.t-item::before{box-shadow:0 0 0 5px rgba(185,89,53,.1)}
.chapter{background:rgba(255,255,255,.45);border:1px solid var(--line);border-radius:24px;padding:42px 48px;box-shadow:0 24px 65px -55px rgba(36,48,41,.45)}
.gallery-grid{gap:34px 24px}
.gallery-tile.polaroid{transition:transform .25s ease,box-shadow .25s ease}
.note{margin-top:72px;padding:28px 24px 0;line-height:1.7}
footer.site{margin-top:64px;padding:64px 28px 48px;background:#f7eee2}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media (max-width:980px){
  .nav{flex-wrap:wrap;gap:12px 20px}
  nav.links{order:3;width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:5px 0 1px;scrollbar-width:none}
  nav.links::-webkit-scrollbar{display:none}
  .hero-grid{gap:46px}
}

@media (max-width:760px){
  .nav{padding:13px 20px}
  .brand{font-size:19px}
  .nav-donate{padding:9px 15px;font-size:11px}
  nav.links{display:flex;gap:22px}
  nav.links a{white-space:nowrap;font-size:12px}
  .hero{padding:76px 20px 72px}
  h1{font-size:43px;letter-spacing:-1.4px}
  .lede{font-size:16.5px}
  .hero-grid{text-align:left}
  .hero-grid .btn-row{justify-content:flex-start}
  section{padding:72px 20px}
  .btn-row{gap:10px}
  .btn{width:100%;justify-content:center}
  .counter-block{padding:30px 16px}
  .stat-row{gap:12px}
  .stat-tile{padding:30px 16px 24px}
  .cta-block{padding:32px 24px}
  .cta-block .cta-headline{font-size:23px}
  .journey-card{min-height:0}
  .card-kicker{margin-bottom:28px}
  .chapter{padding:30px 24px}
}

@media (max-width:480px){
  .gallery-grid{grid-template-columns:1fr}
}

/* Photo-first cloud hero */
.photo-hero{
  min-height:780px;
  padding:58px 28px 82px;
  background:
    radial-gradient(circle at 50% 46%,rgba(255,255,255,.96) 0 19%,rgba(255,255,255,.42) 45%,transparent 66%),
    linear-gradient(180deg,#dceef6 0%,#edf6f7 58%,var(--cream) 100%);
  overflow:hidden;
}
.photo-hero::before{display:none}
.photo-sky{max-width:1180px;min-height:640px;position:relative;display:grid;grid-template-columns:260px 1fr 280px;align-items:center;gap:26px;z-index:2}
.photo-intro{align-self:start;padding-top:90px;position:relative;z-index:4}
.photo-intro .eyebrow{display:block;color:var(--plum);margin-bottom:12px}
.photo-intro h1{font-size:clamp(42px,5vw,66px);margin:0 0 12px;line-height:.98;letter-spacing:-2px}
.photo-intro p{font-family:'Fraunces',serif;font-style:italic;font-size:19px;line-height:1.5;color:var(--ink-soft);margin:0;max-width:235px}
.photo-cloud{height:610px;position:relative;z-index:3}
.hero-memory{position:absolute;margin:0;background:#fff;padding:10px;border-radius:26px;box-shadow:0 28px 70px -24px rgba(48,70,82,.42)}
.hero-memory img{width:100%;height:100%;display:block;object-fit:cover;border-radius:18px}
.memory-one{width:330px;height:430px;left:50%;top:50%;transform:translate(-55%,-48%) rotate(-3deg);z-index:3}
.memory-two{width:230px;height:310px;left:0;bottom:28px;transform:rotate(-8deg);z-index:4}
.memory-three{width:215px;height:290px;right:-12px;top:40px;transform:rotate(8deg);z-index:2}
.memory-note{position:absolute;right:4px;bottom:52px;z-index:5;font-family:'Fraunces',serif;font-style:italic;font-size:19px;color:var(--rust);transform:rotate(-5deg)}
.hero-story-card{align-self:end;margin-bottom:55px;position:relative;z-index:5;background:rgba(255,255,255,.72);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.9);border-radius:24px;padding:26px;box-shadow:0 20px 50px -35px rgba(48,70,82,.5)}
.hero-story-card p{margin:0;font-size:15.5px;line-height:1.7;color:var(--ink-soft)}
.hero-story-card .btn-row{margin-top:20px;gap:9px}
.hero-story-card .btn{padding:11px 15px;font-size:10.5px}
.cloud{position:absolute;background:rgba(255,255,255,.62);border-radius:999px;filter:blur(.5px);pointer-events:none}
.cloud::before,.cloud::after{content:"";position:absolute;background:inherit;border-radius:50%}
.cloud-one{width:360px;height:105px;left:-80px;bottom:118px;opacity:.9}
.cloud-one::before{width:170px;height:170px;left:70px;bottom:0}.cloud-one::after{width:130px;height:130px;right:28px;bottom:0}
.cloud-two{width:410px;height:110px;right:-120px;top:130px;opacity:.72}
.cloud-two::before{width:190px;height:190px;left:35px;bottom:0}.cloud-two::after{width:145px;height:145px;right:40px;bottom:0}
.cloud-three{width:500px;height:120px;left:34%;bottom:-32px;opacity:.7}
.cloud-three::before{width:210px;height:190px;left:40px;bottom:0}.cloud-three::after{width:230px;height:220px;right:40px;bottom:0}

@media (max-width:1000px){
  .photo-hero{min-height:860px}
  .photo-sky{grid-template-columns:220px 1fr;grid-template-rows:auto auto}
  .photo-cloud{grid-column:2;grid-row:1 / span 2}
  .hero-story-card{grid-column:1;grid-row:2;margin:0 0 70px}
}

@media (max-width:760px){
  .photo-hero{min-height:0;padding:44px 16px 70px}
  .photo-sky{display:flex;flex-direction:column;min-height:0;gap:10px}
  .photo-intro{align-self:stretch;padding:18px 8px 0;text-align:center}
  .photo-intro p{max-width:none}
  .photo-cloud{width:100%;height:500px}
  .memory-one{width:270px;height:350px;transform:translate(-52%,-48%) rotate(-2deg)}
  .memory-two{width:155px;height:210px;left:2px;bottom:18px}
  .memory-three{width:145px;height:195px;right:0;top:35px}
  .memory-note{right:8px;bottom:54px;font-size:16px}
  .hero-story-card{align-self:stretch;margin:0 8px;text-align:center}
  .hero-story-card .btn-row{justify-content:center}
}

@media (max-width:430px){
  .photo-cloud{height:430px}
  .memory-one{width:225px;height:300px}
  .memory-two{width:130px;height:175px}
  .memory-three{width:120px;height:165px}
}

/* Dimensional cloudscape + revolving photo orbit */
.photo-hero{min-height:920px;padding:46px 24px 76px;perspective:1200px}
.photo-sky{max-width:1180px;min-height:790px;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}
.photo-intro{align-self:center;padding:24px 0 0;z-index:8}
.photo-intro h1{font-size:clamp(40px,4.3vw,58px);margin-bottom:9px}
.photo-intro p{max-width:480px;font-size:18px}
.photo-cloud{width:min(820px,100%);height:530px;position:relative;perspective:1150px;transform-style:preserve-3d;margin-top:4px}
.orbit-ring{position:absolute;width:190px;height:270px;left:50%;top:50%;transform-style:preserve-3d;animation:photoOrbit 24s linear infinite}
.photo-cloud:hover .orbit-ring{animation-play-state:paused}
.hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{
  width:190px;height:270px;left:0;top:0;right:auto;bottom:auto;margin:0;padding:8px;
  border-radius:24px;transform-style:preserve-3d;
  transform:translate(-50%,-50%) rotateY(calc(var(--i) * 72deg)) translateZ(310px);
  backface-visibility:visible;box-shadow:0 28px 55px -22px rgba(38,60,75,.48),0 8px 18px rgba(38,60,75,.15);
}
.hero-memory::after{content:"";position:absolute;inset:8px;border-radius:17px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);pointer-events:none}
.hero-memory img{border-radius:17px}
.hero-memory:nth-child(2) img{object-position:50% 22%}
.hero-memory:nth-child(4) img{object-position:50% 20%}
.memory-note{left:50%;right:auto;bottom:5px;transform:translateX(-50%) rotate(-2deg);font-size:18px;white-space:nowrap;z-index:7;background:rgba(255,255,255,.7);padding:8px 17px;border-radius:999px;backdrop-filter:blur(10px);box-shadow:0 12px 28px -18px rgba(38,60,75,.5)}
.hero-story-card{align-self:center;width:min(620px,calc(100% - 24px));margin:-2px 0 0;padding:20px 26px;display:flex;align-items:center;gap:24px;text-align:left;z-index:8}
.hero-story-card p{flex:1}
.hero-story-card .btn-row{margin:0;flex-wrap:nowrap}

@keyframes photoOrbit{
  from{transform:rotateX(-7deg) rotateY(0deg)}
  to{transform:rotateX(-7deg) rotateY(-360deg)}
}

.cloud{filter:none;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(235,246,251,.82));box-shadow:0 28px 45px -26px rgba(60,96,117,.45),inset 0 -8px 18px rgba(133,183,207,.12);transform-style:preserve-3d}
.cloud::before,.cloud::after{background:linear-gradient(160deg,#fff 12%,#eaf5fa 100%);box-shadow:inset -8px -10px 18px rgba(132,181,205,.12)}
.cloud-one{width:420px;height:112px;left:-95px;bottom:128px;z-index:6;animation:cloudDriftOne 8s ease-in-out infinite}
.cloud-two{width:430px;height:115px;right:-100px;top:184px;z-index:1;animation:cloudDriftTwo 10s ease-in-out infinite}
.cloud-three{width:560px;height:126px;left:50%;bottom:-35px;z-index:5;transform:translateX(-50%);animation:cloudBreathe 9s ease-in-out infinite}
.photo-cloud::before,.photo-cloud::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(1px)}
.photo-cloud::before{width:240px;height:95px;left:8%;top:18%;background:rgba(255,255,255,.58);box-shadow:75px -35px 0 5px rgba(255,255,255,.52),145px 3px 0 -8px rgba(255,255,255,.52);animation:smallCloud 11s ease-in-out infinite}
.photo-cloud::after{width:210px;height:78px;right:3%;bottom:18%;background:rgba(255,255,255,.5);box-shadow:-60px -28px 0 rgba(255,255,255,.46);animation:smallCloud 13s ease-in-out infinite reverse}

@keyframes cloudDriftOne{50%{transform:translate3d(25px,-12px,35px)}}
@keyframes cloudDriftTwo{50%{transform:translate3d(-28px,14px,-25px)}}
@keyframes cloudBreathe{0%,100%{transform:translateX(-50%) translateY(0) scale(1)}50%{transform:translateX(-50%) translateY(-10px) scale(1.025)}}
@keyframes smallCloud{50%{transform:translate3d(24px,-8px,0)}}

@media (max-width:760px){
  .photo-hero{min-height:820px;padding:32px 12px 64px}
  .photo-sky{min-height:720px}
  .photo-cloud{height:470px;margin-top:0;perspective:950px}
  .orbit-ring{width:142px;height:205px}
  .hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{width:142px;height:205px;transform:translate(-50%,-50%) rotateY(calc(var(--i) * 72deg)) translateZ(220px)}
  .hero-story-card{flex-direction:column;gap:13px;text-align:center;padding:19px;margin-top:0}
  .hero-story-card .btn-row{width:100%;flex-wrap:wrap}
  .hero-story-card .btn{width:auto;flex:1}
  .cloud-one{width:280px;height:82px;left:-110px;bottom:160px}
  .cloud-two{width:280px;height:80px;right:-120px;top:190px}
  .cloud-three{width:390px;height:96px}
}

@media (max-width:430px){
  .photo-cloud{height:410px;perspective:820px}
  .orbit-ring{width:118px;height:175px}
  .hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{width:118px;height:175px;transform:translate(-50%,-50%) rotateY(calc(var(--i) * 72deg)) translateZ(165px)}
  .memory-note{font-size:15px;bottom:0}
}

@media (prefers-reduced-motion:reduce){
  .orbit-ring{animation:none;transform:rotateX(-7deg) rotateY(-15deg)}
  .cloud,.photo-cloud::before,.photo-cloud::after{animation:none!important}
}

/* Living memory map */
.memory-page{background:linear-gradient(180deg,#e9f5f8 0,#f8f4f0 58%,var(--cream) 100%);padding:76px 24px 90px;overflow:hidden}
.memory-heading{text-align:center;max-width:720px;margin:0 auto 26px}
.memory-heading h1{font-size:clamp(42px,5vw,64px);margin-bottom:18px}
.memory-heading p{max-width:650px;margin:0 auto;color:var(--ink-soft);font-size:17px;line-height:1.7}
.neural-library{position:relative;max-width:1100px;height:700px;margin:0 auto;isolation:isolate}
.neural-library::before{content:"";position:absolute;width:500px;height:500px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,255,255,.32) 55%,transparent 72%);z-index:-1}
.neural-lines{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 6px rgba(104,174,205,.35))}
.neural-lines path{stroke-dasharray:7 9;animation:signalFlow 9s linear infinite}
@keyframes signalFlow{to{stroke-dashoffset:-160}}
.memory-core{position:absolute;left:50%;top:50%;width:310px;height:420px;transform:translate(-50%,-50%);z-index:5;border-radius:42% 42% 30px 30px;background:rgba(255,255,255,.78);padding:10px;box-shadow:0 35px 90px -30px rgba(53,83,99,.48);backdrop-filter:blur(14px)}
.memory-core>img{width:100%;height:285px;display:block;object-fit:cover;object-position:50% 22%;border-radius:36% 36% 22px 22px;transition:opacity .18s ease,transform .18s ease}
.memory-core>img.is-changing{opacity:0;transform:scale(.96)}
.core-halo{position:absolute;inset:-25px;border:1px solid rgba(120,190,219,.46);border-radius:48%;z-index:-1;box-shadow:0 0 0 18px rgba(255,255,255,.22),0 0 65px rgba(111,189,221,.35);animation:corePulse 4s ease-in-out infinite}
@keyframes corePulse{50%{transform:scale(1.04);opacity:.72}}
.core-copy{text-align:center;padding:13px 14px}
.core-copy span{display:block;color:var(--plum);font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
.core-copy strong{display:block;font:600 22px/1.25 'Fraunces',serif;margin:5px 0}
.core-copy p{font-size:12.5px;line-height:1.45;color:var(--muted);margin:0}
.memory-node{position:absolute;width:132px;height:132px;border:0;border-radius:50%;padding:7px;background:rgba(255,255,255,.82);box-shadow:0 18px 45px -22px rgba(39,74,93,.65);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;z-index:4}
.memory-node::before{content:"";position:absolute;inset:-8px;border:1px solid rgba(116,185,214,.35);border-radius:50%;animation:nodePulse 3.5s ease-in-out infinite}
.memory-node img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.memory-node span{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);white-space:nowrap;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;color:var(--ink-soft)}
.memory-node:hover,.memory-node.is-active{transform:scale(1.1);box-shadow:0 22px 55px -20px rgba(60,139,174,.75)}
.memory-node.is-active::before{border:2px solid var(--rust);box-shadow:0 0 28px rgba(185,89,53,.35)}
@keyframes nodePulse{50%{transform:scale(1.08);opacity:.45}}
.node-1{left:10%;top:9%}.node-2{right:9%;top:9%}.node-3{left:3%;top:42%}.node-4{right:2%;top:42%}.node-5{left:11%;bottom:7%}.node-6{right:10%;bottom:6%}
.journey-ribbon{max-width:1080px;margin:20px auto 0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.68);border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 25px 70px -55px rgba(36,48,41,.55)}
.journey-ribbon a{position:relative;text-decoration:none;padding:26px 24px;border-right:1px solid var(--line);transition:background .2s ease}
.journey-ribbon a:last-child{border:0}.journey-ribbon a:hover{background:#fff}
.journey-ribbon span{display:block;color:var(--rust);font-size:10px;font-weight:800;letter-spacing:2px}
.journey-ribbon strong{display:block;font:600 18px/1.3 'Fraunces',serif;margin:7px 0 4px}
.journey-ribbon small{color:var(--muted);font-size:12px}

@media(max-width:760px){
  .memory-page{padding:58px 14px 70px}.neural-library{height:760px}.neural-lines{display:none}
  .memory-core{width:260px;height:370px;top:46%}.memory-core>img{height:240px}
  .memory-node{width:92px;height:92px}.memory-node span{font-size:9px;padding:4px 7px}
  .node-1{left:2%;top:9%}.node-2{right:2%;top:9%}.node-3{left:0;top:57%}.node-4{right:0;top:57%}.node-5{left:11%;bottom:3%}.node-6{right:11%;bottom:3%}
  .journey-ribbon{grid-template-columns:1fr 1fr}.journey-ribbon a:nth-child(2){border-right:0}.journey-ribbon a{border-bottom:1px solid var(--line)}
}

/* Clear portraits inside cloud frames */
.hero-memory{isolation:isolate}
.hero-memory::before{
  display:block!important;content:"";position:absolute;inset:-5%;width:110%;height:110%;
  background:url('float-blue-cloud.png') center/contain no-repeat;opacity:.94!important;
  filter:drop-shadow(0 22px 24px rgba(77,55,119,.24));z-index:-1;
}
.hero-memory:nth-child(2)::before,.hero-memory:nth-child(5)::before{background-image:url('float-coral-cloud.png')}
.hero-memory:nth-child(3)::before{background-image:url('float-pink-cloud.png')}
.hero-memory img{
  position:absolute;left:13%;top:16%;width:74%;height:68%;object-fit:cover;
  -webkit-mask-image:none!important;mask-image:none!important;
  border-radius:46% 54% 44% 56% / 52% 45% 55% 48%!important;
  filter:saturate(1.08) contrast(1.035) drop-shadow(0 12px 15px rgba(70,47,104,.28));
}
.hero-memory:nth-child(1) img,.hero-memory:nth-child(3) img{object-position:50% 24%}
.hero-memory:nth-child(2) img{object-position:50% 20%}
.hero-memory figcaption{z-index:8}

.cloud-photo-frame::before{width:112%;height:112%;opacity:.9!important;z-index:-1}
.cloud-photo-frame .photo-area{
  width:78%;aspect-ratio:4/3;margin:0 auto;overflow:hidden;
  -webkit-mask-image:none!important;mask-image:none!important;
  border-radius:45% 55% 43% 57% / 52% 44% 56% 48%!important;
  filter:drop-shadow(0 13px 16px rgba(67,44,104,.24));
}
.cloud-photo-frame .photo-area img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;filter:saturate(1.08) contrast(1.03)}
.cloud-frame-pink .photo-area img{object-position:50% 28%}

.memory-core>img{
  -webkit-mask-image:none!important;mask-image:none!important;
  width:92%;height:270px;margin:8px auto 0;
  border-radius:44% 56% 42% 58% / 52% 45% 55% 48%;
  object-fit:cover;object-position:50% 24%;
}

@media(max-width:760px){
  .hero-memory img{left:12%;top:15%;width:76%;height:70%}
  .cloud-photo-frame .photo-area{width:82%}
  .memory-core>img{height:235px}
}

/* Professional refinement pass */
body{font-size:16px;line-height:1.65;letter-spacing:-.005em}
.wrap{max-width:1120px}
.nav{min-height:72px;max-width:1240px;padding:13px 32px}
.brand{font-size:21px;letter-spacing:-.45px}
nav.links{gap:26px}nav.links a{font-size:12.5px;letter-spacing:.35px}
.nav-donate{padding:10px 19px;font-size:11.5px;box-shadow:0 10px 24px -14px rgba(95,53,144,.65)}

section{padding-top:88px;padding-bottom:88px}
.section-head{max-width:680px;margin-bottom:44px}.section-head .eyebrow{margin-bottom:10px}
.section-head h2{margin-bottom:12px}.section-head p{font-size:16px}
.eyebrow{font-size:11px;letter-spacing:3px}

.photo-hero{min-height:760px;padding-top:30px;padding-bottom:52px}
.photo-sky{min-height:650px}
.photo-intro{padding:17px 30px 15px;border-radius:22px;box-shadow:0 22px 55px -42px rgba(80,48,126,.48)}
.photo-intro h1{font-size:clamp(38px,4vw,54px);letter-spacing:-1.8px}.photo-intro p{font-size:16px}
.photo-cloud{height:430px}.hero-story-card{width:min(660px,calc(100% - 24px));padding:19px 24px;border-radius:22px}
.hero-story-card p{font-size:14.5px}.hero-story-card .btn{font-size:10px}
.hero-memory figcaption{border:0;box-shadow:0 18px 40px -30px rgba(67,41,109,.55)}

/* Keep content stable; reserve movement for the sky and story interactions. */
.card,.stat-tile,.chapter,.gallery-tile,.journey-ribbon a,.t-item{animation:none!important;translate:none!important}
.card,.stat-tile,.counter-block,.progress-card,.chapter,.timeline .t-item,.journey-focus{border-color:rgba(255,255,255,.9);box-shadow:0 24px 60px -46px rgba(66,40,105,.48),inset 0 1px 0 rgba(255,255,255,.95)}
.card{padding:30px;border-radius:20px}.card h3{font-size:23px}.card p{font-size:15px}
.counter-block{border-radius:28px;padding:48px 42px}.stat-tile{border-radius:18px;padding:36px 22px 28px}
.cta-block{border-radius:24px;padding:34px 40px}.cta-block .cta-headline{font-size:25px}

.interactive-journey{max-width:1040px}.journey-track{padding-bottom:30px}
.journey-stop img{width:84px;height:84px}.journey-stop:nth-child(4) img{width:102px}
.journey-focus{min-height:190px;padding:30px 36px;border-radius:24px}.journey-focus h3{font-size:clamp(26px,3vw,35px)}

.memory-heading{padding:25px 32px;border-radius:24px}.memory-heading h1{font-size:clamp(39px,4.5vw,58px)}
.memory-page{padding-top:66px}.journey-ribbon{border-radius:22px}
.chapter{padding:38px 44px;border-radius:22px}.chapter h2{font-size:30px}.chapter p{font-size:16px}
.timeline{max-width:800px}.timeline .t-item{padding:22px 26px 28px;margin-bottom:16px;border-radius:18px}
.t-title{font-size:22px}.t-body{font-size:15px}
.note{max-width:800px;margin-top:54px;margin-bottom:36px;font-size:13px}
footer.site{margin-top:42px;padding:50px 28px 38px}

.floating-canva-layer .sky-cloud{opacity:.5}
.floating-canva-layer .sky-star{opacity:.62}
.floating-canva-layer .sky-heart{opacity:.58}
.floating-canva-layer .sky-bubble{opacity:.42}
.sky-object{filter:drop-shadow(0 14px 20px rgba(92,68,123,.1))}

@media(max-width:980px){
  .nav{padding:12px 24px}.photo-hero{min-height:735px}
}
@media(max-width:760px){
  .nav{min-height:0;padding:12px 18px}.brand{font-size:18px}nav.links{gap:20px}
  section{padding:64px 18px}.photo-hero{min-height:660px;padding:18px 12px 42px}.photo-sky{min-height:580px}
  .photo-intro{padding:15px 18px}.photo-intro h1{font-size:39px}.photo-cloud{height:360px}
  .hero-story-card{padding:18px;margin-top:0}.hero-story-card p{font-size:14px}
  .counter-block{padding:28px 15px}.cta-block{padding:28px 22px}.chapter{padding:28px 22px}
  .journey-track::before,.journey-fill{top:44px}.journey-stop img{width:66px;height:66px}.journey-stop:nth-child(4) img{width:78px}
  .journey-focus{padding:25px 21px}.memory-heading{padding:22px 18px}
  .floating-canva-layer .sky-cloud{opacity:.38}.floating-canva-layer .sky-star{opacity:.48}.floating-canva-layer .sky-heart{opacity:.46}.floating-canva-layer .sky-bubble{opacity:.34}
}

/* Full-site floating storybook sky */
html{background:#e9d7f3}
body{
  position:relative;
  isolation:isolate;
  background-image:
    linear-gradient(rgba(252,248,251,.62),rgba(245,240,251,.68)),
    url('storybook-clouds.png');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
body::before{
  content:"";position:fixed;inset:-8%;z-index:-2;pointer-events:none;
  background:url('storybook-clouds.png') center/cover no-repeat;
  opacity:.28;filter:blur(1px) saturate(1.08);
  animation:skyDrift 28s ease-in-out infinite alternate;
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(circle at 12% 110%,rgba(255,255,255,.58) 0 8px,rgba(255,255,255,.08) 9px 13px,transparent 14px),
    radial-gradient(circle at 72% 115%,rgba(255,255,255,.52) 0 13px,rgba(255,255,255,.07) 14px 19px,transparent 20px),
    radial-gradient(circle at 92% 105%,rgba(255,255,255,.5) 0 6px,rgba(255,255,255,.08) 7px 10px,transparent 11px),
    radial-gradient(circle at 38% 120%,rgba(255,255,255,.46) 0 9px,rgba(255,255,255,.06) 10px 14px,transparent 15px);
  animation:bubblesRise 18s linear infinite;
}
@keyframes skyDrift{0%{transform:translate3d(-2%,-1%,0) scale(1.04)}100%{transform:translate3d(2%,1.5%,0) scale(1.1)}}
@keyframes bubblesRise{0%{transform:translateY(0);opacity:0}12%{opacity:.8}88%{opacity:.65}100%{transform:translateY(-125vh);opacity:0}}

header.site{background:rgba(255,250,248,.82);border-bottom-color:rgba(255,255,255,.76);box-shadow:0 8px 30px -26px rgba(77,59,101,.55)}
section,section.tint,.hero:not(.photo-hero){background:transparent}
.hero:not(.photo-hero){margin:38px auto 10px;width:min(1180px,calc(100% - 32px));border:1px solid rgba(255,255,255,.72);border-radius:34px;background:rgba(255,255,255,.6);backdrop-filter:blur(16px);box-shadow:0 28px 70px -50px rgba(75,55,99,.58)}
.photo-hero{background-attachment:fixed}
.memory-page{background-color:transparent;background-attachment:fixed}

.counter-block,.card,.progress-card,.chapter,.stat-tile,.cta-block,.photo-slot,.journey-ribbon,.timeline .t-item{
  backdrop-filter:blur(14px) saturate(112%);
}
.counter-block,.card,.progress-card,.chapter,.stat-tile,.photo-slot{background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.78)}
.timeline .t-item{background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.72);border-radius:20px;padding:24px 26px 34px;margin-bottom:18px;box-shadow:0 18px 45px -38px rgba(73,55,97,.5)}
.timeline::before{left:6px;z-index:-1}.t-item::before{left:-34px;top:28px}
.note{background:rgba(255,255,255,.56);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:20px;padding:22px 24px;margin-bottom:42px}
footer.site{background:rgba(255,248,246,.78);backdrop-filter:blur(18px);border-top-color:rgba(255,255,255,.7)}

.card,.stat-tile,.chapter,.gallery-tile,.journey-ribbon a{animation:contentFloat 7s ease-in-out infinite}
.card:nth-child(2),.stat-tile:nth-child(2),.gallery-tile:nth-child(2),.journey-ribbon a:nth-child(2){animation-delay:-2.3s}
.card:nth-child(3),.stat-tile:nth-child(3),.gallery-tile:nth-child(3),.journey-ribbon a:nth-child(3){animation-delay:-4.6s}
.gallery-tile:nth-child(4),.journey-ribbon a:nth-child(4){animation-delay:-1.2s}
.gallery-tile:nth-child(5){animation-delay:-3.4s}.gallery-tile:nth-child(6){animation-delay:-5.5s}
@keyframes contentFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
.t-item{animation:timelineFloat 8s ease-in-out infinite}.t-item:nth-child(even){animation-delay:-4s}
@keyframes timelineFloat{0%,100%{transform:translateX(0)}50%{transform:translateX(7px) translateY(-3px)}}

.hero-memory{animation:photoBreath 5s ease-in-out infinite}
.hero-memory:nth-child(even){animation-delay:-2.5s}
@keyframes photoBreath{0%,100%{margin-top:0}50%{margin-top:-8px}}

@media(max-width:760px){
  body{background-attachment:scroll;background-size:auto 1000px}
  body::before{background-size:auto 110%;animation-duration:36s}
  .photo-hero,.memory-page{background-attachment:scroll}
  .hero:not(.photo-hero){margin-top:18px;border-radius:24px}
  .timeline .t-item{padding:20px 20px 28px}
}

@media(prefers-reduced-motion:reduce){
  body::before,body::after,.card,.stat-tile,.chapter,.gallery-tile,.journey-ribbon a,.t-item,.hero-memory{animation:none!important}
}

/* Canva cloud photo holders */
.hero-memory{overflow:visible}
.hero-memory::before{content:"";position:absolute;width:170%;height:92%;left:50%;top:54%;transform:translate(-50%,-50%) translateZ(-2px);background:url('float-blue-cloud.png') center/contain no-repeat;mix-blend-mode:multiply;opacity:.78;filter:drop-shadow(0 18px 18px rgba(89,80,132,.2));z-index:-1}
.hero-memory:nth-child(2)::before,.hero-memory:nth-child(5)::before{background-image:url('float-coral-cloud.png')}
.hero-memory:nth-child(3)::before{background-image:url('float-pink-cloud.png')}
.memory-node::before{background:url('float-blue-cloud.png') center/contain no-repeat;border:0;inset:-4px -18px -9px;mix-blend-mode:multiply;box-shadow:none;opacity:.86}
.memory-node:nth-of-type(2n)::before{background-image:url('float-coral-cloud.png')}
.memory-node:nth-of-type(3n)::before{background-image:url('float-pink-cloud.png')}
.memory-node::after{display:none}
.memory-node.is-active::before{border:0;box-shadow:none;filter:drop-shadow(0 12px 18px rgba(94,87,151,.36));opacity:1}
.cloud-photo-frame{position:relative;z-index:1;margin-top:74px!important;margin-bottom:70px!important;animation:storybookPhotoFloat 7s ease-in-out infinite}
.cloud-photo-frame::before{content:"";position:absolute;width:150%;height:125%;left:50%;top:50%;transform:translate(-50%,-50%);background-position:center;background-size:contain;background-repeat:no-repeat;mix-blend-mode:multiply;filter:drop-shadow(0 24px 24px rgba(89,80,132,.22));z-index:-1}
.cloud-frame-blue::before{background-image:url('float-blue-cloud.png')}
.cloud-frame-pink::before{background-image:url('float-coral-cloud.png')}
.cloud-photo-frame .photo-area{border:6px solid rgba(255,255,255,.95);border-radius:22px;box-shadow:0 16px 38px -20px rgba(61,52,91,.55)}
.cloud-photo-frame .caption{position:relative;z-index:2;background:rgba(255,255,255,.82);border-radius:0 0 16px 16px;margin-top:-5px}
@keyframes storybookPhotoFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}

@media(max-width:760px){
  .hero-memory::before{width:150%;opacity:.68}
  .cloud-photo-frame::before{width:132%;height:115%}
}

@media(prefers-reduced-motion:reduce){.cloud-photo-frame{animation:none}}

/* Transparent Canva cutouts — no rectangular image borders */
.sky-object,.hero-memory::before,.memory-node::before,.cloud-photo-frame::before{mix-blend-mode:normal}
.sky-object{background:transparent;border:0;outline:0}

/* Pearlescent palette + layered depth */
:root{
  --cream:#fff8fc;
  --cream-2:#f5edff;
  --ink:#352e4d;
  --ink-soft:#625b78;
  --muted:#7b748d;
  --rust:#ef5da8;
  --gold:#ffad83;
  --plum:#8d63d8;
  --coral:#ff7898;
  --sage:#67aee5;
  --line:rgba(117,87,168,.16);
}
body{color:var(--ink);background-color:#eadcff}
.floating-canva-layer{
  --sky-x:0px;--sky-y:0px;--sky-scroll:0px;
  transform:translate3d(var(--sky-x),calc(var(--sky-y) + var(--sky-scroll)),0) scale(1.06);
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
}
header.site{background:rgba(255,248,253,.82);box-shadow:0 14px 38px -28px rgba(91,58,143,.6)}
.brand em,nav.links a.active,nav.links a:hover,footer.site a,.card-link{color:var(--rust)}
nav.links a::after{background:linear-gradient(90deg,#ef5da8,#9568e2)}
.nav-donate,.btn-primary{background:linear-gradient(135deg,#f05ca7,#9867df);box-shadow:0 14px 28px -14px rgba(168,78,193,.72)}
.nav-donate:hover{background:linear-gradient(135deg,#df4e9a,#8556ce)}
.btn-ghost{border-color:rgba(103,72,145,.3);background:rgba(255,255,255,.55)}
h1 em{color:#e956a2}.eyebrow{color:#825ec4}
.photo-intro,.hero-story-card,.memory-heading,.journey-ribbon,.card,.stat-tile,.counter-block,.progress-card,.chapter,.photo-slot,.timeline .t-item,.note{
  border:1px solid rgba(255,255,255,.82);
  box-shadow:
    0 35px 70px -42px rgba(83,53,131,.52),
    0 14px 28px -22px rgba(234,92,168,.36),
    inset 0 1px 0 rgba(255,255,255,.9);
}
.photo-intro,.hero-story-card,.memory-heading{background:linear-gradient(145deg,rgba(255,255,255,.83),rgba(251,239,255,.68))}
.card,.stat-tile,.counter-block,.progress-card,.chapter,.photo-slot,.timeline .t-item{background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(244,235,255,.62))}
.card:hover,.stat-tile:hover,.journey-ribbon a:hover{box-shadow:0 38px 75px -38px rgba(99,59,157,.58),0 18px 35px -24px rgba(242,85,164,.48)}
.stat-tile:nth-child(1)::before{background:#ef5da8}.stat-tile:nth-child(2)::before{background:#ffad83}.stat-tile:nth-child(3)::before{background:#75b9ec}
.stat-num,.stat-tile:nth-child(2) .stat-num,.stat-tile:nth-child(3) .stat-num{background:linear-gradient(135deg,#ee5fa9,#8c6ce2,#61b8eb);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-block{background:linear-gradient(135deg,rgba(85,61,126,.94),rgba(156,87,188,.92),rgba(62,139,194,.9));border:1px solid rgba(255,255,255,.22);box-shadow:0 34px 75px -35px rgba(72,44,119,.78)}
.goal-badge,.t-tag.milestone{background:#e7f3ff;color:#4d87b6}.t-tag.campaign{background:#f0e7ff;color:#7956b6}.t-tag.medical{background:#ffe4f0;color:#c84b88}
.memory-core{box-shadow:0 45px 95px -35px rgba(86,55,140,.58),0 16px 35px -24px rgba(241,81,160,.5)}
.core-halo{border-color:rgba(144,106,224,.44);box-shadow:0 0 0 18px rgba(255,255,255,.3),0 0 78px rgba(230,104,195,.42)}
.neural-lines{filter:drop-shadow(0 0 8px rgba(169,99,218,.45))}
.journey-ribbon span,.ch-num{color:#e957a1!important}
footer.site{background:linear-gradient(135deg,rgba(255,244,251,.84),rgba(237,233,255,.86))}

section:not(.hero),.chapter,.card,.stat-tile,.t-item,.journey-ribbon{transform-style:preserve-3d}
.section-head{filter:drop-shadow(0 10px 16px rgba(91,60,137,.12))}

@media(max-width:760px){
  .floating-canva-layer{transform:scale(1.04)}
}

/* Transparent hero + tighter photo orbit */
.photo-hero{
  min-height:800px;
  padding-top:34px;
  padding-bottom:58px;
  background:transparent!important;
  border:0;
  box-shadow:none;
}
.photo-hero::after{display:none}
.photo-sky{min-height:690px}
.photo-cloud{width:min(690px,100%);height:440px;margin-top:-8px;perspective:1050px}
.orbit-ring{width:170px;height:240px;animation-duration:19s}
.hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{
  width:170px;height:240px;
  transform:translate(-50%,-50%) rotateY(calc(var(--i) * 72deg)) translateZ(235px);
}
.hero-memory::before{width:145%;height:80%;opacity:.72}
.memory-note{bottom:-1px}
.hero-story-card{margin-top:-8px}

@media(max-width:760px){
  .photo-hero{min-height:700px;padding-top:22px;padding-bottom:46px}
  .photo-sky{min-height:620px}
  .photo-cloud{height:375px;width:100%;perspective:850px}
  .orbit-ring{width:128px;height:184px}
  .hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{
    width:128px;height:184px;
    transform:translate(-50%,-50%) rotateY(calc(var(--i) * 72deg)) translateZ(165px);
  }
}

@media(max-width:430px){
  .photo-cloud{height:340px;perspective:760px}
  .orbit-ring{width:108px;height:158px}
  .hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{
    width:108px;height:158px;
    transform:translate(-50%,-50%) rotateY(calc(var(--i) * 72deg)) translateZ(138px);
  }
}

/* One-photo-at-a-time hero story */
.photo-cloud{height:470px;width:min(620px,100%);perspective:none}
.orbit-ring{left:50%;top:46%;width:280px;height:390px;animation:none;transform:none;transform-style:flat}
.hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{
  width:280px;height:390px;left:0;top:0;
  transform:translate(-50%,-50%) scale(.88);
  opacity:0;z-index:1;pointer-events:none;
  animation:photoChapter 25s cubic-bezier(.4,0,.2,1) infinite;
  animation-delay:calc(var(--i) * 5s);
  box-shadow:0 38px 85px -28px rgba(79,52,124,.64),0 18px 34px -22px rgba(239,93,168,.55);
}
.hero-memory:nth-child(2),.hero-memory:nth-child(4){animation-delay:calc(var(--i) * 5s)}
.hero-memory img{height:100%;object-fit:cover}
.hero-memory figcaption{position:absolute;left:50%;bottom:-64px;width:330px;transform:translateX(-50%);padding:12px 18px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.92);border-radius:18px;box-shadow:0 18px 42px -28px rgba(76,49,121,.62);text-align:center;color:var(--ink)}
.hero-memory figcaption small{display:block;color:var(--rust);font-size:9px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:3px}
.hero-memory figcaption strong{display:block;font:600 17px/1.3 'Fraunces',serif}
.hero-memory::before{width:175%;height:98%;opacity:.8}
.hero-memory:nth-child(2)::before,.hero-memory:nth-child(5)::before{background-image:url('float-coral-cloud.png')}
.hero-memory:nth-child(3)::before{background-image:url('float-pink-cloud.png')}
@keyframes photoChapter{
  0%{opacity:0;transform:translate(-50%,-44%) scale(.84);filter:blur(5px)}
  4%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}
  16%{opacity:1;transform:translate(-50%,-52%) scale(1.025);filter:blur(0)}
  20%{opacity:0;transform:translate(-50%,-58%) scale(.94);filter:blur(4px)}
  100%{opacity:0;transform:translate(-50%,-58%) scale(.94);filter:blur(4px)}
}
.story-progress{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);display:flex;gap:7px;z-index:8}
.story-progress i{display:block;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.7);box-shadow:0 2px 8px rgba(86,54,132,.25);animation:storyDot 25s linear infinite}
.story-progress i:nth-child(2){animation-delay:5s}.story-progress i:nth-child(3){animation-delay:10s}.story-progress i:nth-child(4){animation-delay:15s}.story-progress i:nth-child(5){animation-delay:20s}
@keyframes storyDot{0%,19.9%{background:#ec5ba6;transform:scale(1.35)}20%,100%{background:rgba(255,255,255,.7);transform:scale(1)}}
.hero-story-card{margin-top:4px}

@media(max-width:760px){
  .photo-cloud{height:410px}
  .orbit-ring{width:220px;height:310px;top:45%}
  .hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{width:220px;height:310px}
  .hero-memory figcaption{width:270px;bottom:-58px}.hero-memory figcaption strong{font-size:15px}
  .story-progress{bottom:0}
}

@media(max-width:430px){
  .photo-cloud{height:370px}
  .orbit-ring{width:190px;height:270px}
  .hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{width:190px;height:270px}
  .hero-memory figcaption{width:238px}
}

@media(prefers-reduced-motion:reduce){
  .hero-memory{animation:none!important;display:none}.hero-memory:first-child{display:block;opacity:1;transform:translate(-50%,-50%)!important;filter:none}.story-progress{display:none}
}

/* Photos shaped into the Canva storybook scenery */
.orbit-ring{width:350px;height:300px}
.hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{
  width:350px;height:300px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;
}
.hero-memory img{
  width:100%;height:100%;border:0;border-radius:0;box-shadow:none;
  -webkit-mask-image:url('float-blue-cloud.png');mask-image:url('float-blue-cloud.png');
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  filter:saturate(1.04) contrast(1.02) drop-shadow(0 24px 25px rgba(74,50,120,.35));
}
.hero-memory:nth-child(2) img,.hero-memory:nth-child(5) img{-webkit-mask-image:url('float-coral-cloud.png');mask-image:url('float-coral-cloud.png')}
.hero-memory:nth-child(3) img{-webkit-mask-image:url('float-pink-cloud.png');mask-image:url('float-pink-cloud.png')}
.hero-memory::before{width:112%;height:112%;opacity:.5;filter:drop-shadow(0 25px 28px rgba(89,80,132,.24))}
.hero-memory::after{content:"";display:block;position:absolute;inset:auto -20px 38px auto;width:68px;height:68px;border:0;border-radius:0;box-shadow:none;background:url('float-pink-star.png') center/contain no-repeat;z-index:5;animation:frameCharm 4s ease-in-out infinite}
.hero-memory:nth-child(2n)::after{background-image:url('float-purple-star.png');width:76px;height:68px;right:auto;left:-22px;bottom:30px}
.hero-memory:nth-child(5)::after{background-image:url('float-heart.png');width:82px;height:72px}
@keyframes frameCharm{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-9px) rotate(7deg)}}
.hero-memory figcaption{bottom:-50px;width:320px}

.memory-core{width:330px;height:430px;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(244,235,255,.72));padding:8px 12px 12px;border-radius:34px}
.memory-core>img{
  height:292px;border-radius:0;
  -webkit-mask-image:url('float-pink-cloud.png');mask-image:url('float-pink-cloud.png');
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  filter:drop-shadow(0 18px 20px rgba(88,62,132,.32));
}
.memory-core::after{background:transparent url('float-heart.png') center/contain no-repeat;box-shadow:none;border-radius:0;right:-12px;top:8px;width:58px;height:52px;color:transparent}

.cloud-photo-frame{background:transparent!important;padding:0!important;box-shadow:none!important;border:0!important}
.cloud-photo-frame::before{width:122%;height:122%;opacity:.56}
.cloud-photo-frame .photo-area{
  aspect-ratio:474/317;border:0;border-radius:0;box-shadow:none;background:transparent;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.cloud-frame-blue .photo-area{-webkit-mask-image:url('float-blue-cloud.png');mask-image:url('float-blue-cloud.png')}
.cloud-frame-pink .photo-area{-webkit-mask-image:url('float-coral-cloud.png');mask-image:url('float-coral-cloud.png')}
.cloud-photo-frame .caption{width:max-content;max-width:90%;margin:-8px auto 0;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.86);box-shadow:0 14px 30px -22px rgba(73,50,112,.52)}

@media(max-width:760px){
  .orbit-ring{width:270px;height:230px}
  .hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{width:270px;height:230px}
  .hero-memory figcaption{width:260px;bottom:-48px}
  .hero-memory::after{width:50px;height:50px;right:-10px}.hero-memory:nth-child(2n)::after{width:56px;height:50px;left:-10px}
  .memory-core{width:275px;height:385px}.memory-core>img{height:250px}
}

@media(max-width:430px){
  .orbit-ring{width:235px;height:205px}
  .hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five{width:235px;height:205px}
  .hero-memory figcaption{width:230px}
}

@media(prefers-reduced-motion:reduce){.hero-memory::after{animation:none}}

/* Clean sky: individual elements only, no full artwork backdrop */
body,
body:not(:has(.photo-hero)):not(:has(.memory-page)){
  background-color:#e9ddfa;
  background-image:
    radial-gradient(circle at 18% 12%,rgba(255,190,218,.68),transparent 32%),
    radial-gradient(circle at 82% 22%,rgba(159,213,248,.72),transparent 36%),
    radial-gradient(circle at 52% 82%,rgba(201,175,242,.68),transparent 42%),
    linear-gradient(135deg,#f9d9e8 0%,#e8d8f7 48%,#cde9fa 100%)!important;
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
body::before{background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.66),transparent 42%);filter:none;opacity:.7}
.photo-hero,.memory-page{background:transparent!important;background-image:none!important}

.hero-memory img,.memory-core>img,.cloud-photo-frame .photo-area{
  background:transparent!important;
}

@media(max-width:760px){
  body,body:not(:has(.photo-hero)):not(:has(.memory-page)){background-attachment:scroll}
}

/* Final borderless photo cutouts + softer scenery */
.hero-memory,.memory-one,.memory-two,.memory-three,.memory-four,.memory-five,
.hero-memory img{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.hero-memory::before{display:none!important}
.sky-object{opacity:.36;filter:drop-shadow(0 16px 22px rgba(92,68,123,.12))}
.sky-cloud{opacity:.3}
.sky-star{opacity:.42}
.sky-heart{opacity:.38}
.sky-bubble{opacity:.28}
.hero-memory::after{opacity:.58}
.cloud-photo-frame::before{opacity:.34}
.memory-node::before{opacity:.46}
.memory-node.is-active::before{opacity:.7}

@media(max-width:760px){
  .sky-object{opacity:.26}.sky-cloud{opacity:.22}.sky-star,.sky-heart{opacity:.32}
}

/* Stronger decorative elements; photo treatments stay unchanged */
.floating-canva-layer .sky-cloud{opacity:.62}
.floating-canva-layer .sky-star{opacity:.76}
.floating-canva-layer .sky-heart{opacity:.72}
.floating-canva-layer .sky-bubble{opacity:.55}

@media(max-width:760px){
  .floating-canva-layer .sky-cloud{opacity:.48}
  .floating-canva-layer .sky-star{opacity:.6}
  .floating-canva-layer .sky-heart{opacity:.58}
  .floating-canva-layer .sky-bubble{opacity:.42}
}

/* Interactive journey timeline */
.interactive-journey{max-width:1080px;margin:0 auto}
.journey-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);align-items:start;padding:12px 0 34px}
.journey-track::before,.journey-fill{content:"";position:absolute;left:12.5%;right:12.5%;top:59px;height:4px;border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 4px 14px rgba(83,53,131,.14)}
.journey-fill{right:auto;width:0;background:linear-gradient(90deg,#ef5da8,#9a68df,#65b7e9);transition:width .55s cubic-bezier(.2,.8,.2,1);z-index:1}
.journey-stop{position:relative;z-index:2;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:9px;font:700 12px/1.2 'Inter',sans-serif;letter-spacing:.2px}
.journey-stop img{width:94px;height:94px;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(92,68,123,.18));transition:transform .35s ease,filter .35s ease,opacity .35s ease;opacity:.68}
.journey-stop:nth-child(4) img{width:112px}.journey-stop:hover img,.journey-stop.is-active img{transform:translateY(-8px) scale(1.12);opacity:1;filter:drop-shadow(0 18px 22px rgba(169,72,167,.38))}
.journey-stop.is-active span{color:var(--rust)}
.journey-focus{min-height:210px;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:34px 40px;border:1px solid rgba(255,255,255,.84);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(243,234,255,.7));backdrop-filter:blur(16px);box-shadow:0 34px 70px -42px rgba(83,53,131,.55)}
.journey-focus>div{max-width:690px}.journey-kicker{display:block;color:var(--rust);font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.journey-focus h3{font:600 clamp(27px,3vw,38px)/1.15 'Fraunces',serif;margin:0 0 10px}.journey-focus p{margin:0;color:var(--ink-soft);font-size:16px;line-height:1.65}
.journey-focus .btn{flex-shrink:0;text-align:center}

@media(max-width:760px){
  .journey-track{grid-template-columns:repeat(4,120px);overflow-x:auto;justify-content:start;padding-bottom:28px;scrollbar-width:none}.journey-track::-webkit-scrollbar{display:none}
  .journey-track::before,.journey-fill{left:58px;right:auto;width:360px;top:49px}.journey-fill{width:0}
  .journey-stop img{width:74px;height:74px}.journey-stop:nth-child(4) img{width:88px}
  .journey-focus{min-height:0;flex-direction:column;align-items:flex-start;padding:28px 24px;gap:22px}.journey-focus .btn{width:100%}
}

/* Individual Canva floating objects */
.floating-canva-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;isolation:isolate}
.sky-object{position:absolute;display:block;mix-blend-mode:multiply;filter:drop-shadow(0 18px 25px rgba(92,68,123,.18));will-change:transform;opacity:.62}
.sky-cloud{width:clamp(190px,24vw,390px)}
.sky-blue{left:-8%;top:58%;animation:floatBlue 24s ease-in-out infinite alternate}
.sky-coral{right:-9%;top:19%;animation:floatCoral 29s ease-in-out infinite alternate}
.sky-pink{left:29%;top:82%;width:clamp(150px,19vw,300px);animation:floatPink 22s ease-in-out infinite alternate}
.sky-star{width:clamp(48px,6vw,92px);opacity:.7}
.sky-star-one{left:8%;top:28%;animation:starFlightOne 19s ease-in-out infinite alternate}
.sky-star-two{right:12%;top:68%;animation:starFlightTwo 23s ease-in-out infinite alternate}
.sky-heart{width:clamp(65px,8vw,125px);left:70%;top:42%;opacity:.58;animation:heartFlight 21s ease-in-out infinite alternate}
.sky-bubble{width:clamp(32px,4vw,58px);opacity:.5;mix-blend-mode:screen;filter:drop-shadow(0 8px 14px rgba(115,101,176,.2))}
.bubble-one{left:18%;bottom:-70px;animation:bubbleFloatOne 16s linear infinite}
.bubble-two{left:54%;bottom:-90px;animation:bubbleFloatTwo 21s linear infinite 4s}
.bubble-three{left:86%;bottom:-60px;animation:bubbleFloatThree 18s linear infinite 9s}
@keyframes floatBlue{0%{transform:translate3d(0,0,0) rotate(-4deg)}100%{transform:translate3d(24vw,-18vh,0) rotate(5deg)}}
@keyframes floatCoral{0%{transform:translate3d(0,0,0) rotate(3deg)}100%{transform:translate3d(-22vw,22vh,0) rotate(-5deg)}}
@keyframes floatPink{0%{transform:translate3d(-8vw,0,0) rotate(-3deg)}100%{transform:translate3d(34vw,-28vh,0) rotate(5deg)}}
@keyframes starFlightOne{0%{transform:translate3d(0,0,0) rotate(-14deg) scale(.9)}100%{transform:translate3d(42vw,16vh,0) rotate(38deg) scale(1.12)}}
@keyframes starFlightTwo{0%{transform:translate3d(0,0,0) rotate(12deg)}100%{transform:translate3d(-47vw,-30vh,0) rotate(-40deg)}}
@keyframes heartFlight{0%{transform:translate3d(0,0,0) rotate(-8deg) scale(.92)}55%{transform:translate3d(-24vw,-22vh,0) rotate(7deg) scale(1.08)}100%{transform:translate3d(10vw,20vh,0) rotate(-3deg) scale(.96)}}
@keyframes bubbleFloatOne{from{transform:translate3d(0,0,0) scale(.8)}to{transform:translate3d(18vw,-125vh,0) scale(1.2)}}
@keyframes bubbleFloatTwo{from{transform:translate3d(0,0,0) scale(1.1)}to{transform:translate3d(-20vw,-130vh,0) scale(.75)}}
@keyframes bubbleFloatThree{from{transform:translate3d(0,0,0) scale(.7)}to{transform:translate3d(-12vw,-122vh,0) scale(1.15)}}

@media(max-width:760px){
  .sky-object{opacity:.42}.sky-cloud{width:210px}.sky-pink{width:170px}
  .sky-star-two,.bubble-two{display:none}
}

@media(prefers-reduced-motion:reduce){
  .sky-object{animation:none!important}
  .sky-blue{transform:translate(0,-12vh)}.sky-coral{transform:translate(-8vw,12vh)}.sky-pink{transform:translate(18vw,-12vh)}
}

@media(prefers-reduced-motion:reduce){.neural-lines path,.core-halo,.memory-node::before{animation:none}}

/* Cloud memories + automatic center spotlight */
.memory-core{overflow:visible;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
.memory-core::before{content:"";position:absolute;inset:-58px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(170,218,237,.22) 50%,transparent 72%);z-index:-2;animation:centerAura 4.2s ease-in-out infinite}
.memory-core::after{content:"✦";position:absolute;right:14px;top:13px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.88);color:#d18bad;font-size:17px;box-shadow:0 8px 22px rgba(80,137,162,.2);z-index:4}
.memory-core:has(>img.is-changing){transform:translate(-50%,-50%) scale(.965);box-shadow:0 20px 70px -26px rgba(89,159,191,.75)}
@keyframes centerAura{50%{transform:scale(1.08);opacity:.65}}

.memory-node{background:transparent;box-shadow:none;padding:15px;width:154px;height:126px;border-radius:50%;isolation:isolate}
.memory-node img{position:relative;width:94px;height:94px;margin:auto;z-index:3;border:5px solid rgba(255,255,255,.95);box-shadow:0 12px 28px -15px rgba(39,74,93,.68);transition:transform .35s ease,filter .35s ease}
.memory-node::before{inset:22px 5px 5px;background:linear-gradient(165deg,#fff 12%,#e6f3f8 100%);border:1px solid rgba(255,255,255,.96);border-radius:999px;box-shadow:0 18px 32px -20px rgba(52,99,123,.48),inset -9px -10px 20px rgba(126,185,211,.14);animation:cloudNodeFloat 4.5s ease-in-out infinite;z-index:-1}
.memory-node::after{content:"";position:absolute;width:62px;height:62px;left:15px;top:14px;border-radius:50%;background:linear-gradient(150deg,#fff,#edf7fa);box-shadow:53px 5px 0 2px #f7fbfc,90px 25px 0 -9px #e8f4f8;z-index:-1;animation:cloudNodeFloat 4.5s ease-in-out infinite}
.memory-node:nth-of-type(even)::before,.memory-node:nth-of-type(even)::after{animation-delay:-2.2s}
.memory-node span{top:calc(100% + 4px);z-index:5;background:rgba(255,255,255,.86);box-shadow:0 8px 20px -14px rgba(39,74,93,.5)}
.memory-node:hover,.memory-node.is-active{transform:scale(1.09);box-shadow:none}
.memory-node:hover img{transform:scale(1.07)}
.memory-node.is-active img{transform:scale(1.12);border-color:#fff;box-shadow:0 0 0 5px rgba(209,139,173,.24),0 18px 38px -12px rgba(57,128,160,.7);filter:saturate(1.1) brightness(1.04)}
.memory-node.is-active::before{border:1px solid rgba(209,139,173,.45);box-shadow:0 0 0 5px rgba(255,255,255,.38),0 18px 42px -15px rgba(92,167,199,.66),inset -9px -10px 20px rgba(126,185,211,.18)}
.memory-node.is-active::after{filter:brightness(1.03)}
@keyframes cloudNodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

.neural-lines path{opacity:.55;transition:opacity .3s ease,stroke-width .3s ease}
.neural-library:has(.node-1.is-active) .neural-lines path:nth-child(1),
.neural-library:has(.node-2.is-active) .neural-lines path:nth-child(2),
.neural-library:has(.node-3.is-active) .neural-lines path:nth-child(3),
.neural-library:has(.node-4.is-active) .neural-lines path:nth-child(4),
.neural-library:has(.node-5.is-active) .neural-lines path:nth-child(5),
.neural-library:has(.node-6.is-active) .neural-lines path:nth-child(6){opacity:1;stroke-width:5;filter:drop-shadow(0 0 8px rgba(86,169,205,.8))}

@media(max-width:760px){
  .memory-node{width:110px;height:94px;padding:10px}.memory-node img{width:70px;height:70px;border-width:3px}
  .memory-node::before{inset:18px 2px 2px}.memory-node::after{width:45px;height:45px;left:9px;top:9px;box-shadow:36px 4px 0 1px #f7fbfc,62px 19px 0 -7px #e8f4f8}
}

@media(prefers-reduced-motion:reduce){.memory-core::before,.memory-node::before,.memory-node::after{animation:none}}

/* Canva storybook artwork */
.photo-hero{
  background-image:
    radial-gradient(ellipse at center,rgba(255,255,255,.78) 0%,rgba(255,255,255,.3) 38%,rgba(247,237,248,.08) 68%),
    linear-gradient(180deg,rgba(238,247,251,.18),rgba(252,247,239,.45)),
    url('storybook-clouds.png');
  background-size:cover;
  background-position:center;
  background-attachment:scroll;
}
.photo-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 30%,rgba(252,247,239,.7) 100%)}
.photo-hero>.cloud{display:none}
.photo-intro{background:rgba(255,255,255,.68);backdrop-filter:blur(14px);padding:20px 34px 18px;border:1px solid rgba(255,255,255,.78);border-radius:26px;box-shadow:0 20px 50px -38px rgba(93,70,112,.55)}
.photo-intro .eyebrow{color:#8b5c88}.photo-intro h1{text-shadow:0 2px 18px rgba(255,255,255,.85)}
.orbit-ring{filter:drop-shadow(0 20px 25px rgba(92,78,119,.2))}
.hero-memory{border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 65px -22px rgba(91,68,115,.48),0 8px 22px rgba(101,78,127,.18)}
.hero-story-card{background:rgba(255,255,255,.78);border-color:rgba(255,255,255,.92);box-shadow:0 24px 55px -34px rgba(92,70,117,.5)}

.memory-page{
  background-image:
    linear-gradient(180deg,rgba(240,247,251,.78),rgba(255,250,247,.86)),
    url('storybook-clouds.png');
  background-size:cover;
  background-position:center top;
  background-attachment:fixed;
}
.memory-heading{background:rgba(255,255,255,.7);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.86);border-radius:28px;padding:28px 36px;box-shadow:0 25px 65px -48px rgba(91,68,115,.55)}
.neural-library::before{background:radial-gradient(circle,rgba(255,255,255,.98),rgba(255,255,255,.62) 52%,rgba(245,227,247,.2) 72%,transparent 78%)}
.journey-ribbon{background:rgba(255,255,255,.78);backdrop-filter:blur(15px)}

body:not(:has(.photo-hero)):not(:has(.memory-page)){
  background-image:
    linear-gradient(rgba(252,247,239,.93),rgba(252,247,239,.93)),
    url('storybook-clouds.png');
  background-size:620px auto;
  background-attachment:fixed;
}

@media(max-width:760px){
  .photo-hero{background-size:auto 100%;background-position:center top}
  .photo-intro{padding:18px 20px}
  .memory-page{background-attachment:scroll;background-size:auto 900px}
  .memory-heading{padding:24px 20px}
}

/* Final visibility correction */
.hero-memory{isolation:isolate}
.hero-memory::before{display:block!important;content:"";position:absolute;inset:-5%;width:110%;height:110%;background:url('float-blue-cloud.png') center/contain no-repeat;opacity:.94!important;filter:drop-shadow(0 22px 24px rgba(77,55,119,.24));z-index:-1}
.hero-memory:nth-child(2)::before,.hero-memory:nth-child(5)::before{background-image:url('float-coral-cloud.png')}.hero-memory:nth-child(3)::before{background-image:url('float-pink-cloud.png')}
.hero-memory img{position:absolute;left:13%;top:16%;width:74%;height:68%;object-fit:cover;object-position:50% 24%;-webkit-mask-image:none!important;mask-image:none!important;border-radius:46% 54% 44% 56% / 52% 45% 55% 48%!important;filter:saturate(1.08) contrast(1.035) drop-shadow(0 12px 15px rgba(70,47,104,.28))}
.hero-memory:nth-child(2) img{object-position:50% 20%}.hero-memory figcaption{z-index:8}
.cloud-photo-frame::before{width:112%;height:112%;opacity:.9!important;z-index:-1}
.cloud-photo-frame .photo-area{width:78%;aspect-ratio:4/3;margin:0 auto;overflow:hidden;-webkit-mask-image:none!important;mask-image:none!important;border-radius:45% 55% 43% 57% / 52% 44% 56% 48%!important;filter:drop-shadow(0 13px 16px rgba(67,44,104,.24))}
.cloud-photo-frame .photo-area img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;filter:saturate(1.08) contrast(1.03)}
.cloud-frame-pink .photo-area img{object-position:50% 28%}
.memory-core>img{position:relative;left:auto;top:auto;-webkit-mask-image:none!important;mask-image:none!important;width:92%;height:270px;margin:8px auto 0;border-radius:44% 56% 42% 58% / 52% 45% 55% 48%;object-fit:cover;object-position:50% 24%}
@media(max-width:760px){.hero-memory img{left:12%;top:15%;width:76%;height:70%}.cloud-photo-frame .photo-area{width:82%}.memory-core>img{height:235px}}

/* Storybook chapters woven into the floating scenery */
.storybook-page .hero:not(.photo-hero){margin-bottom:42px;background:rgba(255,255,255,.48);box-shadow:none}
.storybook-flow{position:relative;max-width:1080px;margin:0 auto;padding-left:40px!important;padding-right:40px!important}
.storybook-flow::before{content:"";position:absolute;left:50%;top:30px;bottom:30px;width:3px;transform:translateX(-50%);background:linear-gradient(180deg,transparent,rgba(238,93,168,.45) 12%,rgba(144,105,222,.44) 52%,rgba(101,183,234,.4) 88%,transparent);border-radius:999px;box-shadow:0 0 18px rgba(171,102,206,.2)}
.storybook-flow .chapter{position:relative;width:calc(50% - 58px);margin:0 0 58px;padding:30px 32px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(247,238,255,.58));border:1px solid rgba(255,255,255,.86);border-radius:28px;box-shadow:0 28px 62px -46px rgba(68,43,106,.5);backdrop-filter:blur(14px);animation:none!important}
.storybook-flow .chapter:nth-child(odd){margin-right:auto}.storybook-flow .chapter:nth-child(even){margin-left:auto}
.storybook-flow .chapter::before{content:"";position:absolute;width:62px;height:62px;top:20px;background:url('float-pink-star.png') center/contain no-repeat;filter:drop-shadow(0 10px 12px rgba(108,70,151,.2));z-index:2}
.storybook-flow .chapter:nth-child(odd)::before{right:-91px}.storybook-flow .chapter:nth-child(even)::before{left:-91px;background-image:url('float-purple-star.png')}
.storybook-flow .chapter:nth-child(3)::before{background-image:url('float-heart.png');width:68px;height:60px}
.storybook-flow .chapter:nth-child(4)::before{background-image:url('float-blue-cloud.png');width:88px;height:62px;left:-104px}
.storybook-flow .chapter:nth-child(5)::before{background-image:url('float-coral-cloud.png');width:88px;height:62px;right:-104px}
.storybook-flow .chapter::after{content:"";position:absolute;top:50px;width:38px;height:2px;background:linear-gradient(90deg,rgba(238,93,168,.38),rgba(144,105,222,.32))}
.storybook-flow .chapter:nth-child(odd)::after{right:-39px}.storybook-flow .chapter:nth-child(even)::after{left:-39px}
.storybook-flow .ch-num{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-style:normal;font-family:'Inter',sans-serif;font-weight:800}
.storybook-flow .chapter h2{font-size:clamp(25px,2.6vw,32px);line-height:1.16;margin-bottom:16px}.storybook-flow .chapter p{font-size:15.5px;line-height:1.7}
.storybook-flow .cloud-photo-frame{width:calc(100% + 12px);margin:58px -6px 50px!important}

@media(max-width:820px){
  .storybook-flow{padding-left:58px!important;padding-right:18px!important}.storybook-flow::before{left:28px;transform:none}
  .storybook-flow .chapter,.storybook-flow .chapter:nth-child(odd),.storybook-flow .chapter:nth-child(even){width:100%;margin-left:0;margin-right:0;margin-bottom:34px;padding:26px 24px}
  .storybook-flow .chapter::before,.storybook-flow .chapter:nth-child(odd)::before,.storybook-flow .chapter:nth-child(even)::before,.storybook-flow .chapter:nth-child(3)::before,.storybook-flow .chapter:nth-child(4)::before,.storybook-flow .chapter:nth-child(5)::before{left:-59px;right:auto;width:48px;height:48px;top:20px}
  .storybook-flow .chapter::after,.storybook-flow .chapter:nth-child(odd)::after,.storybook-flow .chapter:nth-child(even)::after{left:-29px;right:auto;width:28px;top:43px}
}

/* Professional-strength scenery opacity */
.floating-canva-layer .sky-cloud{opacity:.8;filter:drop-shadow(0 18px 24px rgba(80,58,119,.18)) saturate(1.04) contrast(1.02)}
.floating-canva-layer .sky-star{opacity:.9;filter:drop-shadow(0 14px 18px rgba(123,69,156,.22)) saturate(1.05)}
.floating-canva-layer .sky-heart{opacity:.88;filter:drop-shadow(0 15px 20px rgba(212,70,143,.22)) saturate(1.05)}
.floating-canva-layer .sky-bubble{opacity:.68;filter:drop-shadow(0 9px 14px rgba(103,91,165,.16)) saturate(1.08)}

@media(max-width:760px){
  .floating-canva-layer .sky-cloud{opacity:.66}
  .floating-canva-layer .sky-star{opacity:.76}
  .floating-canva-layer .sky-heart{opacity:.74}
  .floating-canva-layer .sky-bubble{opacity:.56}
}

/* Refined interactive floating photo library */
.memory-page{padding:58px 24px 78px}
.memory-heading{max-width:660px;padding:22px 30px;margin-bottom:10px;background:rgba(255,255,255,.68)}
.memory-heading h1{font-size:clamp(37px,4vw,52px);margin-bottom:12px}.memory-heading p{font-size:15.5px}
.neural-library{max-width:1040px;height:650px}
.neural-library::before{width:440px;height:440px;background:radial-gradient(circle,rgba(255,255,255,.98),rgba(249,236,255,.68) 48%,rgba(205,233,250,.16) 70%,transparent 76%)}
.neural-lines{opacity:.52}.neural-lines path{stroke-width:1.5;stroke-dasharray:5 10}
.memory-core{width:320px;height:420px;padding:10px 12px 12px;border:1px solid rgba(255,255,255,.94);background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(246,237,255,.82));box-shadow:0 38px 82px -34px rgba(75,45,119,.58),0 18px 34px -25px rgba(235,83,161,.4)}
.memory-core>img{width:94%;height:270px;margin-top:4px}.core-copy{padding:10px 13px}.core-copy strong{font-size:21px}.core-copy p{font-size:12.5px}
.core-halo{inset:-19px;opacity:.74}
.memory-node{animation:libraryFloat 6.5s ease-in-out infinite;transition:transform .28s ease,filter .28s ease}
.memory-node:nth-of-type(2){animation-delay:-1.1s}.memory-node:nth-of-type(3){animation-delay:-2.2s}.memory-node:nth-of-type(4){animation-delay:-3.3s}.memory-node:nth-of-type(5){animation-delay:-4.4s}.memory-node:nth-of-type(6){animation-delay:-5.5s}
@keyframes libraryFloat{0%,100%{translate:0 0}50%{translate:0 -13px}}
.memory-node img{border:3px solid rgba(255,255,255,.98);box-shadow:0 12px 25px -14px rgba(64,42,97,.62)}
.memory-node span{font-size:10px;padding:5px 9px;border:1px solid rgba(255,255,255,.78)}
.memory-node.is-active{transform:scale(1.14);z-index:8}.memory-node.is-active img{box-shadow:0 0 0 5px rgba(239,93,168,.2),0 18px 35px -12px rgba(91,57,137,.66)}
.journey-ribbon{max-width:1040px;margin-top:8px}.journey-ribbon a{padding:22px 20px}.journey-ribbon strong{font-size:17px}

@media(max-width:760px){
  .memory-page{padding:42px 12px 60px}.memory-heading{padding:20px 18px}.neural-library{height:700px}
  .memory-core{width:265px;height:380px;top:45%}.memory-core>img{height:235px}
  .memory-node{animation-duration:7.5s}.journey-ribbon{margin-top:18px}
}

@media(prefers-reduced-motion:reduce){.memory-node{animation:none!important}}

/* Final gallery balance */
.memory-core{width:292px;height:394px;border-radius:28px}
.memory-core>img{width:90%;height:245px}
.memory-core::before{inset:-34px;opacity:.52;background:radial-gradient(circle,rgba(255,255,255,.74),rgba(217,195,245,.2) 55%,transparent 72%)}
.core-halo{inset:-10px;border-color:rgba(145,107,220,.28);box-shadow:0 0 0 10px rgba(255,255,255,.18),0 0 42px rgba(221,100,190,.22)}
.core-copy strong{font-size:20px}.core-copy p{max-width:245px;margin-left:auto;margin-right:auto}
.memory-node{width:142px;height:116px}.memory-node img{width:88px;height:88px}
.node-1{left:11%;top:11%}.node-2{right:10%;top:11%}.node-3{left:5%;top:43%}.node-4{right:4%;top:43%}.node-5{left:12%;bottom:8%}.node-6{right:11%;bottom:8%}
.journey-ribbon{background:rgba(255,255,255,.68);box-shadow:0 24px 55px -44px rgba(69,43,108,.45)}
@media(max-width:760px){.memory-core{width:248px;height:360px}.memory-core>img{height:220px}.memory-node{width:104px;height:90px}.memory-node img{width:68px;height:68px}}

/* Expanded Canva element set */
.sky-purple{left:61%;top:8%;width:clamp(130px,16vw,245px);animation:floatPurple 26s ease-in-out infinite alternate;opacity:.7!important}
.sky-peach{left:78%;top:77%;width:clamp(165px,20vw,315px);animation:floatPeach 31s ease-in-out infinite alternate;opacity:.68!important}
.sky-star-three{left:45%;top:16%;width:clamp(50px,6vw,86px);animation:starFlightThree 24s ease-in-out infinite alternate;opacity:.82!important}
.bubble-four{left:7%;bottom:-55px;width:34px;animation:bubbleFloatTwo 19s linear infinite 2s}
.bubble-five{left:68%;bottom:-150px;width:clamp(70px,9vw,128px);animation:bubbleFloatOne 25s linear infinite 7s;opacity:.46!important}
.bubble-six{left:34%;bottom:-260px;width:clamp(120px,15vw,220px);animation:bubbleFloatThree 30s linear infinite 12s;opacity:.34!important}
@keyframes floatPurple{0%{transform:translate3d(-8vw,0,0) rotate(-4deg)}100%{transform:translate3d(20vw,24vh,0) rotate(6deg)}}
@keyframes floatPeach{0%{transform:translate3d(8vw,0,0) rotate(4deg)}100%{transform:translate3d(-34vw,-28vh,0) rotate(-5deg)}}
@keyframes starFlightThree{0%{transform:translate3d(0,0,0) rotate(-8deg) scale(.9)}100%{transform:translate3d(-32vw,34vh,0) rotate(42deg) scale(1.08)}}
.hero-memory:nth-child(4)::before{background-image:url('float-peach-cloud.png')}.hero-memory:nth-child(4)::after{background-image:url('float-orange-star.png')}
.memory-node:nth-of-type(4n)::before{background-image:url('float-purple-cloud.png')}.memory-node:nth-of-type(5n)::before{background-image:url('float-peach-cloud.png')}
.storybook-flow .chapter:nth-child(2)::before{background-image:url('float-orange-star.png')}.storybook-flow .chapter:nth-child(5)::before{background-image:url('float-peach-cloud.png')}

@media(max-width:760px){.sky-purple{opacity:.5!important}.sky-peach{opacity:.48!important}.bubble-six{display:none}}

/* Visual enhancement without changing element opacity */
.floating-canva-layer::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 22% 18%,rgba(255,255,255,.3),transparent 24%),radial-gradient(circle at 78% 30%,rgba(187,224,250,.22),transparent 30%),radial-gradient(circle at 48% 76%,rgba(247,184,222,.18),transparent 32%);mix-blend-mode:screen}
.sky-object{transform-origin:center;backface-visibility:hidden}
.floating-canva-layer .sky-cloud{filter:drop-shadow(0 22px 28px rgba(80,58,119,.2)) drop-shadow(0 4px 8px rgba(255,255,255,.22)) saturate(1.08) contrast(1.035)}
.floating-canva-layer .sky-star{filter:drop-shadow(0 17px 20px rgba(123,69,156,.24)) drop-shadow(0 0 10px rgba(255,218,244,.34)) saturate(1.1) contrast(1.025)}
.floating-canva-layer .sky-heart{filter:drop-shadow(0 18px 22px rgba(212,70,143,.24)) drop-shadow(0 0 12px rgba(255,187,226,.3)) saturate(1.1) contrast(1.025)}
.floating-canva-layer .sky-bubble{filter:drop-shadow(0 11px 16px rgba(103,91,165,.17)) drop-shadow(0 0 9px rgba(255,255,255,.34)) saturate(1.12) contrast(1.025)}
.sky-blue,.sky-coral{background:radial-gradient(circle,rgba(255,255,255,.08),transparent 68%)}
.sky-purple,.sky-peach,.sky-pink{background:radial-gradient(circle,rgba(255,255,255,.1),transparent 66%)}
.photo-intro,.hero-story-card,.journey-focus,.memory-core{box-shadow:0 34px 78px -46px rgba(71,42,112,.6),0 12px 28px -22px rgba(237,82,162,.38),inset 0 1px 0 rgba(255,255,255,.96)}
.hero-memory img,.cloud-photo-frame .photo-area img,.memory-core>img{filter:saturate(1.1) contrast(1.045) brightness(1.015) drop-shadow(0 13px 17px rgba(66,44,103,.26))}
.journey-stop img{filter:drop-shadow(0 14px 18px rgba(95,65,137,.2)) saturate(1.08)}
.journey-stop:hover img,.journey-stop.is-active img{filter:drop-shadow(0 20px 24px rgba(173,72,169,.36)) saturate(1.12) contrast(1.03)}

/* Additional instances, same established opacity */
.sky-blue-two{right:-12%;left:auto;top:46%;width:clamp(150px,19vw,290px);animation:floatBlueTwo 32s ease-in-out infinite alternate}
.sky-coral-two{left:4%;right:auto;top:6%;width:clamp(145px,18vw,275px);animation:floatCoralTwo 27s ease-in-out infinite alternate}
.sky-purple-two{left:38%;top:56%;width:clamp(115px,13vw,205px);animation:floatPurpleTwo 30s ease-in-out infinite alternate}
.sky-peach-two{left:16%;top:76%;width:clamp(130px,16vw,245px);animation:floatPeachTwo 34s ease-in-out infinite alternate}
.sky-star-four{right:32%;left:auto;top:7%;width:clamp(42px,5vw,72px);animation:starFlightFour 22s ease-in-out infinite alternate}
.sky-star-five{right:4%;left:auto;top:57%;width:clamp(38px,4.5vw,66px);animation:starFlightFive 26s ease-in-out infinite alternate}
.sky-star-six{left:26%;top:48%;width:clamp(44px,5vw,76px);animation:starFlightSix 29s ease-in-out infinite alternate}
.bubble-seven{left:78%;bottom:-130px;width:clamp(65px,8vw,112px);animation:bubbleFloatTwo 27s linear infinite 5s}
.bubble-eight{left:27%;bottom:-70px;width:38px;animation:bubbleFloatOne 22s linear infinite 11s}
@keyframes floatBlueTwo{0%{transform:translate3d(0,0,0) rotate(4deg) scale(.9)}100%{transform:translate3d(-25vw,-17vh,0) rotate(-5deg) scale(1.03)}}
@keyframes floatCoralTwo{0%{transform:translate3d(0,0,0) rotate(-4deg) scale(.88)}100%{transform:translate3d(30vw,18vh,0) rotate(5deg) scale(1)}}
@keyframes floatPurpleTwo{0%{transform:translate3d(-12vw,0,0) rotate(3deg)}100%{transform:translate3d(26vw,-20vh,0) rotate(-6deg)}}
@keyframes floatPeachTwo{0%{transform:translate3d(0,0,0) rotate(-3deg)}100%{transform:translate3d(30vw,-32vh,0) rotate(6deg)}}
@keyframes starFlightFour{0%{transform:translate3d(0,0,0) rotate(-10deg)}100%{transform:translate3d(-28vw,26vh,0) rotate(48deg)}}
@keyframes starFlightFive{0%{transform:translate3d(0,0,0) rotate(8deg)}100%{transform:translate3d(-35vw,-16vh,0) rotate(-38deg)}}
@keyframes starFlightSix{0%{transform:translate3d(0,0,0) rotate(-8deg)}100%{transform:translate3d(34vw,25vh,0) rotate(42deg)}}

@media(max-width:760px){.sky-blue-two,.sky-purple-two,.sky-star-six,.bubble-eight{display:none}}

/* Refined storybook typography */
body{font-family:'Nunito Sans',sans-serif;font-weight:500;letter-spacing:0}
.brand,h1,h2,.section-head h2,.card h3,.raised,.stat-num,.t-title,.chapter h2,.cta-block .cta-headline,.journey-focus h3,.core-copy strong,.journey-ribbon strong,.hero-memory figcaption strong{
  font-family:'Cormorant Infant',serif;
}
.brand{font-size:24px;font-weight:700;letter-spacing:-.5px}.brand em{font-weight:600}
h1{font-weight:700;letter-spacing:-1.7px;line-height:1.02}
h1 em{font-weight:600}
.section-head h2,h2{font-weight:700;letter-spacing:-.8px;line-height:1.08}
.card h3,.t-title,.chapter h2,.journey-focus h3,.core-copy strong{font-weight:700}
.lede{font-family:'Cormorant Infant',serif;font-size:21px;font-weight:500;line-height:1.55}
.photo-intro p{font-family:'Cormorant Infant',serif;font-size:19px;font-weight:600}
.eyebrow,.btn,nav.links a,.stat-label,.t-tag,.ch-num,.journey-kicker,.hero-memory figcaption small{font-family:'Nunito Sans',sans-serif}
.eyebrow{font-weight:800;letter-spacing:3.4px}
nav.links a{font-weight:700}.btn{font-weight:800}
.chapter p,.t-body,.card p,.journey-focus p,.section-head p{letter-spacing:.01em}
.chapter p:first-of-type::first-letter{font-family:'Cormorant Infant',serif;font-size:2.65em;font-weight:700;line-height:.8;float:left;margin:.08em .11em 0 0;color:var(--rust)}

@media(max-width:760px){
  .brand{font-size:21px}.lede{font-size:19px}.photo-intro p{font-size:17px}
}

/* Element-shaped gallery thumbnails + richer center story */
.memory-detail{display:inline-flex;margin-top:8px;padding:5px 10px;border-radius:999px;background:linear-gradient(135deg,rgba(239,93,168,.12),rgba(141,99,216,.12));color:#7654a8;font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.memory-node{width:152px;height:132px;padding:18px}
.memory-node::before{inset:-10px -17px -12px;background-position:center;background-size:contain;background-repeat:no-repeat}
.memory-node img{width:86px;height:86px;border:3px solid rgba(255,255,255,.98);position:relative;z-index:3}
.memory-node.frame-bubble::before{background-image:url('float-bubble-large.png');opacity:.72!important}
.memory-node.frame-star::before{background-image:url('float-orange-star.png');opacity:.82!important}
.memory-node.frame-purple::before{background-image:url('float-purple-cloud.png');opacity:.84!important}
.memory-node.frame-heart::before{background-image:url('float-heart.png');opacity:.82!important}
.memory-node.frame-peach::before{background-image:url('float-peach-cloud.png');opacity:.86!important}
.memory-node.frame-cloud::before{background-image:url('float-blue-cloud.png');opacity:.86!important}
.memory-node.frame-star img,.memory-node.frame-heart img{width:76px;height:76px;margin-top:5px}
.memory-node.frame-bubble img{width:78px;height:78px;margin-top:4px}
.memory-node span{top:calc(100% + 7px);font-family:'Nunito Sans',sans-serif;font-weight:800}
.memory-node.is-active::before{filter:drop-shadow(0 16px 20px rgba(104,69,151,.34)) saturate(1.08)}
.memory-node.is-active img{transform:scale(1.08);box-shadow:0 0 0 5px rgba(255,255,255,.4),0 16px 30px -12px rgba(78,48,119,.6)}
.core-copy{padding-left:10px;padding-right:10px}.core-copy p{font-size:12.5px;line-height:1.48}

@media(max-width:760px){
  .memory-node{width:110px;height:96px;padding:12px}.memory-node img{width:66px;height:66px}.memory-node.frame-star img,.memory-node.frame-heart img,.memory-node.frame-bubble img{width:60px;height:60px}
  .memory-detail{font-size:8px}
}

/* Remove legacy node rings; integrate thumbnails into elements */
.memory-node,.memory-node:hover,.memory-node.is-active{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}
.memory-node::before,.memory-node.is-active::before{border:0!important;outline:0!important;box-shadow:none!important}
.memory-node::after{display:none!important}
.memory-node img,
.memory-node.frame-star img,
.memory-node.frame-heart img,
.memory-node.frame-bubble img{
  width:78px;height:72px;margin:5px auto 0;
  border:0!important;outline:0!important;box-shadow:none!important;
  border-radius:47% 53% 44% 56% / 52% 45% 55% 48%;
  filter:saturate(1.08) contrast(1.04) drop-shadow(0 7px 9px rgba(65,43,98,.2));
}
.memory-node.frame-star img,.memory-node.frame-heart img{width:68px;height:64px;margin-top:9px}
.memory-node.frame-bubble img{width:72px;height:68px;margin-top:7px}
.memory-node.is-active img{transform:scale(1.1);border:0!important;box-shadow:none!important;filter:saturate(1.12) contrast(1.06) drop-shadow(0 9px 11px rgba(72,44,109,.3))}
.memory-node.is-active::before{filter:drop-shadow(0 0 12px rgba(255,255,255,.9)) drop-shadow(0 15px 22px rgba(171,73,169,.4)) saturate(1.12)}
.memory-node span{border:0!important;box-shadow:0 9px 18px -14px rgba(65,41,99,.45)}

@media(max-width:760px){
  .memory-node img,.memory-node.frame-star img,.memory-node.frame-heart img,.memory-node.frame-bubble img{width:58px;height:54px;margin-top:6px}
}

.memory-core::before,.memory-core .core-halo{display:none!important}

/* Soft floating navigation banner */
header.site{top:10px;margin:0 auto;background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:0 14px}
header.site .nav{max-width:1180px;min-height:64px;margin:0 auto;padding:10px 18px 10px 22px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(250,238,255,.62));backdrop-filter:blur(20px) saturate(125%);box-shadow:0 18px 45px -32px rgba(70,43,108,.48),inset 0 1px 0 rgba(255,255,255,.9)}
header.site .brand{color:#3e3554}header.site nav.links a{color:#635b75}header.site nav.links a.active,header.site nav.links a:hover{color:#dc559d}
header.site .nav-donate{padding:9px 17px;box-shadow:0 10px 20px -14px rgba(111,60,153,.58)}

@media(max-width:980px){header.site{top:6px;padding:0 8px}header.site .nav{border-radius:18px;padding:10px 14px}}
@media(max-width:760px){header.site{top:4px;padding:0 5px}header.site .nav{border-radius:16px;padding:9px 12px;gap:9px 15px}header.site nav.links{padding-top:3px}}

/* Optional storybook soundtrack */
.music-control{position:fixed;right:18px;bottom:18px;z-index:1200;display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 14px 9px 11px;border:1px solid rgba(255,255,255,.82);border-radius:999px;color:#55466c;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(249,231,255,.8));box-shadow:0 14px 35px -20px rgba(62,38,91,.65),inset 0 1px 0 #fff;backdrop-filter:blur(16px) saturate(125%);font:700 12px/1 "Nunito Sans",sans-serif;letter-spacing:.02em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,color .2s ease}
.music-control:hover{transform:translateY(-2px);box-shadow:0 18px 38px -19px rgba(62,38,91,.72),inset 0 1px 0 #fff}
.music-control:focus-visible{outline:3px solid rgba(226,83,159,.32);outline-offset:3px}
.music-note{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#f36aab,#a776dd);font-size:16px;box-shadow:0 6px 14px -7px #7d4aa8}
.music-control.is-playing{color:#c04489}.music-control.is-playing .music-note{animation:musicPulse 1.8s ease-in-out infinite}
@keyframes musicPulse{50%{transform:scale(1.1);box-shadow:0 0 0 7px rgba(222,89,165,.1)}}
@media(max-width:760px){.music-control{right:12px;bottom:12px;padding:8px}.music-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.music-note{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.music-control,.music-control .music-note{transition:none!important;animation:none!important}}

/* Community illustration — a shared visual thread across the journey */
.community-art{margin:0;position:relative}.community-art img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:36% 64% 44% 56% / 48% 38% 62% 52%;filter:saturate(.92) contrast(.96) drop-shadow(0 20px 28px rgba(57,39,75,.2))}.community-art figcaption{font-family:"Cormorant Infant",serif;font-weight:700;color:#51425f;text-align:center;line-height:1.15}.community-art figcaption span{font:600 11px/1.3 "Nunito Sans",sans-serif;color:#7a6d86;letter-spacing:.02em}
.support-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.55fr);align-items:center;gap:clamp(32px,7vw,90px)}.community-art-hero{max-width:330px;justify-self:center}.community-art-hero::before{content:"";position:absolute;inset:-18px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.8),rgba(237,205,255,.15) 67%,transparent 70%);z-index:-1}.community-art-hero figcaption{margin-top:16px;font-size:20px}
.community-counter{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:30px}.community-art-small img{border-radius:50%;box-shadow:0 0 0 9px rgba(255,255,255,.55),0 18px 32px -20px rgba(70,42,87,.55)}.community-art-small figcaption{margin-top:12px;font-size:16px}.community-counter-content{min-width:0}
.community-emblem{display:inline-flex;align-items:center;gap:10px;margin-bottom:8px;color:#665575;text-decoration:none;font:700 12px/1.2 "Nunito Sans",sans-serif;letter-spacing:.05em;text-transform:uppercase}.community-emblem img{width:50px;height:50px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.55),0 8px 18px -10px rgba(67,42,87,.6)}.community-emblem:hover img{transform:translateY(-2px)}
@media(max-width:760px){.support-hero-grid{grid-template-columns:1fr;text-align:center}.community-art-hero{max-width:250px}.community-counter{grid-template-columns:1fr}.community-art-small{max-width:165px;margin:0 auto}.community-counter-content{width:100%}.community-emblem{justify-content:center}}

/* Dated progress and family gratitude */
.t-date{display:block;margin:8px 0 5px;color:#8d72a1;font:800 11px/1.2 "Nunito Sans",sans-serif;letter-spacing:.11em;text-transform:uppercase}
.family-thanks{max-width:1080px;margin:34px auto 70px;display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:clamp(28px,6vw,72px);align-items:center;padding:clamp(28px,5vw,58px);border:1px solid rgba(255,255,255,.8);border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(251,235,250,.7));box-shadow:0 30px 70px -50px rgba(64,38,88,.68)}
.thanks-art img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:43% 57% 48% 52% / 52% 42% 58% 48%;filter:drop-shadow(0 18px 24px rgba(64,40,73,.2))}.thanks-copy h2{margin:8px 0 16px}.thanks-copy p{color:var(--ink-soft);font-size:16px;line-height:1.75}.thanks-signoff{font-family:"Cormorant Infant",serif!important;font-size:19px!important;color:#5d486b!important}.home-thanks{max-width:1080px;margin:46px auto;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 34px;border-radius:28px;background:linear-gradient(120deg,rgba(255,255,255,.86),rgba(246,225,255,.72));box-shadow:0 22px 52px -42px rgba(65,39,90,.7)}.home-thanks h2{margin:7px 0 8px;font-size:32px}.home-thanks p{max-width:730px;margin:0;color:var(--ink-soft);line-height:1.65}
@media(max-width:760px){.family-thanks{grid-template-columns:1fr;margin:24px 16px 50px;padding:24px}.thanks-art{max-width:220px;margin:0 auto}.home-thanks{margin:30px 16px;display:block;padding:24px}.home-thanks .btn{margin-top:18px}}

/* Scan-safe fundraiser QR */
.cta-block .qr-box{display:block;text-decoration:none;padding:11px 11px 8px!important;background:#fff!important;border:1px solid rgba(255,255,255,.95);border-radius:16px!important;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.cta-block .qr-box:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(34,25,55,.24)}.cta-block .qr-box img{width:144px!important;height:144px!important;image-rendering:auto}.cta-block .qr-box span{display:block;margin-top:5px;color:#715680;font:800 9px/1.2 "Nunito Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase}.cta-block .cta-url{display:inline-block;color:rgba(255,255,255,.82)!important;text-decoration:none;font-weight:700}.cta-block .cta-url:hover{text-decoration:underline;color:#fff!important}
@media(max-width:760px){.cta-block .qr-box img{width:170px!important;height:170px!important}}

/* Compact floating banner */
header.site{top:6px;padding:0 10px}header.site .nav{min-height:52px;padding:6px 13px 6px 17px;border-radius:18px}header.site .brand{font-size:20px}header.site nav.links{gap:24px}header.site nav.links a{padding:8px 0;font-size:12px}header.site .nav-donate{padding:8px 15px;font-size:11px}
@media(max-width:980px){header.site{top:4px;padding:0 6px}header.site .nav{padding:6px 10px;border-radius:15px}header.site nav.links{gap:15px}}
@media(max-width:760px){header.site .nav{padding:6px 9px;gap:6px 12px}header.site nav.links{padding-top:0;gap:13px}header.site nav.links a{padding:5px 0}}

/* Family album and memory film */
.family-moments{margin-top:60px;padding:clamp(40px,6vw,76px) clamp(18px,4vw,54px);border-radius:38px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(248,228,252,.63));border:1px solid rgba(255,255,255,.82);box-shadow:0 35px 80px -58px rgba(56,38,85,.68)}
.family-feature{max-width:980px;margin:36px auto 50px;display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(240px,.75fr);align-items:center;gap:clamp(28px,6vw,70px)}.family-video-wrap{position:relative}.family-video-wrap video{display:block;width:100%;max-height:620px;aspect-ratio:3/4;object-fit:cover;border-radius:40% 60% 46% 54% / 52% 42% 58% 48%;background:#271f35;box-shadow:0 28px 58px -30px rgba(49,30,73,.65)}.family-video-wrap>span{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);white-space:nowrap;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.86);color:#665371;font:800 10px/1 "Nunito Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(9px)}.family-feature-copy img{width:74px;filter:drop-shadow(0 12px 12px rgba(132,57,128,.22))}.family-feature-copy h3{margin:8px 0 12px;font:700 clamp(30px,4vw,48px)/1.05 "Cormorant Infant",serif;color:#40344f}.family-feature-copy p{color:var(--ink-soft);font-size:16px;line-height:1.75}
.family-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px;gap:18px}.family-photo{position:relative;margin:0;overflow:hidden;border-radius:30px;background:#eee4f5;box-shadow:0 18px 38px -28px rgba(44,29,64,.62)}.family-photo.tall{grid-row:span 2}.family-photo.wide{grid-column:span 2}.family-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .3s ease}.family-photo:hover img{transform:scale(1.045);filter:saturate(1.08)}.family-photo figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:9px 12px;border-radius:16px;color:#4d4058;background:rgba(255,255,255,.84);backdrop-filter:blur(12px);font:700 12px/1.25 "Nunito Sans",sans-serif;text-align:center}
@media(max-width:900px){.family-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:240px}}
@media(max-width:680px){.family-moments{margin-top:36px;border-radius:28px;padding:34px 14px}.family-feature{grid-template-columns:1fr;text-align:center}.family-video-wrap{max-width:320px;margin:0 auto}.family-feature-copy img{width:60px}.family-photo-grid{gap:11px;grid-auto-rows:190px}.family-photo{border-radius:20px}.family-photo.wide{grid-column:span 2}.family-photo figcaption{font-size:10px;padding:7px 8px;bottom:8px;left:8px;right:8px}}

/* Social sharing and encouragement composer */
.share-center{max-width:1120px;margin:18px auto 68px}.share-intro{text-align:center;max-width:680px;margin:0 auto 30px}.share-intro h2{margin:8px 0 10px}.share-intro p{color:var(--ink-soft);line-height:1.65}.share-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px}.share-card{position:relative;overflow:hidden;padding:clamp(26px,4vw,42px);border:1px solid rgba(255,255,255,.85);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(249,233,253,.73));box-shadow:0 24px 60px -46px rgba(59,35,83,.7)}.share-card>img{position:absolute;right:-18px;top:-20px;width:105px;opacity:.34;pointer-events:none}.share-card h3{position:relative;margin:8px 0 10px;font:700 27px/1.12 "Cormorant Infant",serif;color:#443651}.share-card p{position:relative;color:var(--ink-soft);line-height:1.55}.social-buttons{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}.social-buttons button{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border:1px solid rgba(128,90,159,.13);border-radius:15px;color:#594968;background:rgba(255,255,255,.75);font:700 12px/1 "Nunito Sans",sans-serif;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.social-buttons button:hover{transform:translateY(-2px);box-shadow:0 12px 22px -17px rgba(63,37,89,.65)}.social-buttons b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#ed65a8,#9074d6);font-size:14px}.prayer-card label{display:block;margin:20px 0 8px;color:#61516c;font:800 11px/1 "Nunito Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase}.prayer-card textarea{position:relative;width:100%;resize:vertical;min-height:124px;padding:16px;border:1px solid rgba(132,92,157,.2);border-radius:18px;color:#493b54;background:rgba(255,255,255,.82);font:600 14px/1.6 "Nunito Sans",sans-serif;box-sizing:border-box}.prayer-card textarea:focus{outline:3px solid rgba(225,85,158,.16);border-color:rgba(209,80,151,.42)}.prayer-meta{display:flex;justify-content:space-between;gap:16px;margin:8px 2px 18px;color:#8a7b93;font:600 10px/1.4 "Nunito Sans",sans-serif}.prayer-meta span:last-child{text-align:right}.prayer-actions{display:flex;flex-wrap:wrap;gap:10px}.prayer-actions .btn{border:0;cursor:pointer}.share-status{min-height:20px;margin:10px 0 0!important;color:#bd4c8d!important;font-weight:800;font-size:12px}
@media(max-width:800px){.share-grid{grid-template-columns:1fr}}@media(max-width:520px){.share-center{margin:10px 14px 48px}.share-card{padding:24px 18px}.social-buttons{grid-template-columns:1fr 1fr}.prayer-meta{display:block}.prayer-meta span{display:block;margin-top:5px}.prayer-meta span:last-child{text-align:left}}

/* Khaleesi focal portrait */
.focal-stage{position:relative;width:min(430px,82vw);height:455px;margin:0 auto;display:flex;align-items:flex-end;justify-content:center}.focal-aura{position:absolute;inset:25px -30px 42px;border-radius:50%;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.94),rgba(247,208,241,.62) 42%,rgba(177,214,247,.24) 66%,transparent 72%);filter:drop-shadow(0 28px 30px rgba(88,55,127,.18))}.focal-portrait{position:relative;z-index:2;width:auto;height:430px;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 20px 20px rgba(64,39,80,.22))}.focal-stage figcaption{position:absolute;z-index:5;left:50%;bottom:4px;transform:translateX(-50%);width:min(330px,88%);padding:11px 18px;border-radius:18px;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);box-shadow:0 15px 30px -22px rgba(54,33,72,.65);text-align:center}.focal-stage figcaption small{display:block;color:#d24e96;font:800 9px/1.2 "Nunito Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase}.focal-stage figcaption strong{display:block;margin-top:4px;color:#493a56;font:700 17px/1.1 "Cormorant Infant",serif}.focal-accent{position:absolute;z-index:4;pointer-events:none}.focal-star{width:72px;left:-15px;top:120px;transform:rotate(-12deg)}.focal-bubble{width:88px;right:-22px;top:38px;opacity:.72}.photo-cloud{height:475px!important}.memory-core>img.is-focal{object-fit:contain!important;object-position:center bottom!important;background:radial-gradient(circle,#fff 0,rgba(248,220,248,.65) 58%,transparent 72%);filter:drop-shadow(0 12px 12px rgba(64,39,80,.18))}.memory-node img[src="focal-khaleesi.png"]{object-fit:contain!important;object-position:center bottom!important;background:rgba(255,255,255,.35)}.storybook-focal{object-fit:contain!important;object-position:center bottom!important;background:radial-gradient(circle,rgba(255,255,255,.94),rgba(245,213,247,.62) 62%,transparent 72%)}.story-focal-mark{width:min(380px,90vw);margin:30px auto -22px;display:flex;align-items:center;gap:16px;padding:10px 20px 10px 10px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 35px -28px rgba(55,34,79,.65);color:#665373;font:700 13px/1.35 "Nunito Sans",sans-serif}.story-focal-mark img{width:76px;height:76px;object-fit:contain;object-position:center bottom;border-radius:50%;background:radial-gradient(circle,#fff,rgba(239,209,248,.55));filter:drop-shadow(0 6px 7px rgba(66,39,82,.16))}
@media(max-width:680px){.focal-stage{height:390px}.focal-portrait{height:370px}.photo-cloud{height:410px!important}.focal-star{left:5px;width:58px}.focal-bubble{right:4px;width:70px}.focal-stage figcaption strong{font-size:15px}}
