@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#292337;--purple:#7050c7;--muted:#746c80;--line:#ded7e8;--paper:#faf8f4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}body:before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 10%,#ddd0f866,transparent 47%),radial-gradient(ellipse at 10% 60%,#f4dfcc55,transparent 45%);z-index:-1}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #8e6bde;outline-offset:5px}header{max-width:1280px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.logo{font-family:'Playfair Display',serif;font-weight:600;font-size:29px;letter-spacing:-1px}.logo span{color:var(--purple)}nav{display:flex;align-items:center;gap:28px;font-size:13px}nav a[aria-current]{color:var(--purple);border-bottom:1px solid}nav .kit{padding:10px 17px;border:1px solid var(--line);border-radius:25px;background:#ffffff70}.wrap{max-width:1160px;margin:auto;padding:0 30px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;min-height:640px;padding:75px 0}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--purple);font-weight:700}.dot{display:inline-block;width:7px;height:7px;background:#88a783;border-radius:50%;margin-right:9px}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500;line-height:1.12}h1{font-size:clamp(48px,5.6vw,77px);letter-spacing:-2.5px;margin:22px 0}h1 em,h2 em{color:var(--purple);font-weight:500}p{color:var(--muted)}.intro{font-size:16px;max-width:455px}.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:29px 0}.btn{display:inline-flex;align-items:center;gap:25px;background:var(--purple);color:white;padding:14px 22px;border-radius:8px;font-size:13px;box-shadow:0 9px 24px #7050c725}.textlink{font-size:13px;border-bottom:1px solid var(--line);padding:6px 0}.small{font-size:11px}.collage{position:relative;padding:25px 5px 35px}.photo{padding:12px 12px 22px;background:white;box-shadow:0 20px 55px #3f285322;transform:rotate(3deg);border:1px solid #eee}.photo img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}.photo figcaption{font-family:'Playfair Display',serif;font-style:italic;font-size:16px;margin-top:14px;text-align:center}.tape{position:absolute;background:#d6c4ea90;width:116px;height:31px;top:9px;left:39%;transform:rotate(-8deg);z-index:2}.note{position:absolute;bottom:2px;left:-33px;background:#ede6fc;border:1px solid #ded0f7;padding:18px 24px;transform:rotate(-6deg);font-family:'Playfair Display',serif;font-style:italic;font-size:18px;box-shadow:0 8px 20px #3020400a}.star{position:absolute;right:-10px;top:-14px;color:var(--purple);font-size:63px}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:21px 0;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}section{padding:70px 0}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}h2{font-size:42px;letter-spacing:-1px;margin:12px 0}h3{font-size:24px;margin:15px 0}.videos{display:grid;grid-template-columns:1fr 1fr;gap:28px}.video img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;transition:transform .3s}.video:hover img{transform:translateY(-4px)}.video .eyebrow{display:block;margin-top:18px;font-size:10px}.video p{font-size:14px;max-width:480px}.resource{background:linear-gradient(115deg,#ede5fa,#f4effa 60%,#ece5fa);border:1px solid #e0d3ef;border-radius:18px;display:grid;grid-template-columns:1.2fr 1fr;gap:65px;padding:50px;align-items:center}.resource h2{font-size:43px}.sheet{background:#ffffffbb;padding:25px 30px;border:1px solid white;box-shadow:0 15px 35px #7050c712;transform:rotate(3deg);border-radius:4px}.sheet h3{font-size:24px}.check{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.check:before{content:'□';color:var(--purple);margin-right:12px}.chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.chapter{border-top:1px solid var(--line);padding:25px 5px}.chapter .icon{font-size:32px;color:var(--purple)}.chapter p{font-size:14px}.chapter a{font-size:13px}.quote{font-family:'Playfair Display',serif;font-size:29px;text-align:center;max-width:750px;margin:20px auto 60px;color:#655277}.pagehero{padding:70px 0 40px;max-width:800px}.pagehero h1{font-size:65px}.practice{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.practice article{padding:25px;border:1px solid var(--line);border-radius:12px;background:#ffffff70}.practice p{font-size:14px}.editorial{max-width:780px;padding:20px 0 60px}.editorial h2{font-size:32px}.location{padding:25px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:70px 1fr;gap:20px}.location span{font-size:35px}.location h3{margin-top:0}.code{background:#30283e;color:#eee6fa;padding:30px;border-radius:12px;font-family:monospace;line-height:2;white-space:pre-wrap}footer{border-top:1px solid var(--line);padding:35px 0;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}footer .logo{font-size:24px}footer p{margin:4px 0}footer a{margin-left:18px}@media(max-width:800px){header{flex-wrap:wrap;padding:20px 24px}nav{gap:18px;overflow:auto;width:100%;padding-bottom:5px}nav .kit{white-space:nowrap}.wrap{padding:0 24px}.hero{grid-template-columns:1fr;gap:25px;padding:45px 0}.collage{max-width:470px;width:90%;margin:auto}.hero h1{font-size:58px}.note{left:-15px}.ribbon{gap:20px;flex-wrap:wrap;font-size:9px}.resource{grid-template-columns:1fr;padding:28px;gap:25px}.videos,.chapters,.practice{grid-template-columns:1fr}.sectionhead{align-items:start;flex-direction:column;gap:8px}section{padding:45px 0}.pagehero h1{font-size:48px}footer{flex-wrap:wrap}h2{font-size:36px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* A little more density, with room for the editorial details. */
.hero{min-height:550px;padding:48px 0;gap:48px}section{padding:45px 0}.pagehero{padding:46px 0 24px}.sectionhead{margin-bottom:24px}.now-strip{display:grid;grid-template-columns:1fr 1.25fr auto;align-items:center;gap:32px;margin:25px 0 5px;padding:24px 28px;background:#ffffff80;border:1px solid #e6dfed;border-radius:12px;backdrop-filter:blur(15px)}.now-strip h3{font-size:23px;margin:7px 0}.now-strip p{font-size:13px;margin:0}.story-split{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;border-top:1px solid var(--line);margin-top:20px}.story-split p:first-child{margin-top:0}.story-split p{font-size:15px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.tags span{font-size:11px;background:#eee6f7;border:1px solid #e1d4ef;padding:6px 12px;border-radius:20px;color:#665078}.chapter-number{font-family:'Playfair Display',serif;font-size:30px;font-style:italic;color:#a692bc}.life-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;padding:20px 0}.travel-note{padding:28px 32px;background:linear-gradient(135deg,#eee5fa99,#fffcf499);border:1px solid #e4d9ed;border-radius:15px;align-self:start;position:relative}.travel-note:after{content:'✧';position:absolute;right:20px;bottom:8px;font-size:50px;color:#b29acf}.travel-note h2{font-size:36px}.travel-note p{font-size:14px}.handwritten{font-family:'Playfair Display',serif;font-style:italic;color:var(--purple);display:block;margin-top:22px}.life-layout .editorial{padding-top:0;padding-bottom:0}.location{padding:18px 0}.location p{font-size:14px}.prompt-list{padding-left:23px;color:var(--muted)}.prompt-list li{padding:9px 0;border-bottom:1px solid var(--line)}.reading-progress{height:3px;background:linear-gradient(90deg,#c5a6e8,#7050c7);position:fixed;top:0;left:0;width:100%;transform:scaleX(0);transform-origin:left;z-index:10;pointer-events:none}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease var(--delay,0ms),transform .7s ease var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none}.btn,.kit,.chapter,.practice article,.photo{transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px #7050c735}.kit:hover{background:#eee4fa}.chapter:hover{transform:translateY(-4px)}.practice article:hover{transform:translateY(-4px);box-shadow:0 12px 25px #49315e09}.photo:hover{transform:rotate(1deg)}.logo span{display:inline-block;transition:transform .5s}.logo:hover span{transform:rotate(90deg)}.star{animation:star-turn 12s ease-in-out infinite}.note{animation:note-bob 7s ease-in-out infinite}body:before{animation:ambient 16s ease-in-out infinite alternate}.code:after{content:' ▍';color:#c2a3f2;animation:cursor-blink 1.2s steps(1) infinite}@keyframes cursor-blink{50%{opacity:0}}@keyframes star-turn{0%,100%{transform:rotate(-10deg) scale(1)}50%{transform:rotate(18deg) scale(1.08)}}@keyframes note-bob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-6px) rotate(-4deg)}}@keyframes ambient{from{opacity:.65}to{opacity:1}}@media(max-width:800px){.hero{gap:25px;padding:35px 0}.now-strip,.story-split,.life-layout{grid-template-columns:1fr;gap:20px}.now-strip{padding:22px}.story-split{gap:12px}.life-layout{padding-top:5px}.travel-note{padding:25px}section{padding:32px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.compact-resource{margin:20px 0;padding:35px 40px}.compact-resource h2{font-size:36px}.collection-note{padding:15px 25px;position:relative}.collection-note h3{font-size:31px;line-height:1.3}.music-mark{display:block;color:#a58ac6;font-size:65px;line-height:1.1;margin-bottom:20px;font-family:serif}.music-collection{border-top:1px solid var(--line);margin-top:20px}.music-collection .video img{box-shadow:0 15px 35px #7050c715}.collection-note p{font-size:15px}@media(max-width:800px){.compact-resource{padding:25px}.collection-note{padding:10px 5px}.music-mark{font-size:48px}}

/* Keep the handwritten note below the photograph at every screen size. */
.collage{padding-bottom:8px}.collage .note{position:relative;inset:auto;display:table;margin:22px auto 0;transform:rotate(-3deg);animation:none;max-width:100%}

/* Dedicated space between introduction and photo: no image overlap. */
.hero{grid-template-columns:minmax(0,1.15fr) 132px minmax(0,1fr);gap:18px}.hero>.note{position:static;inset:auto;width:132px;max-width:100%;padding:14px 12px;font-size:16px;line-height:1.5;align-self:center;justify-self:center;margin:0;transform:rotate(-5deg);animation:none}.hero>.collage{min-width:0}.hero .photo{margin-left:10px;margin-right:10px}@media(max-width:1000px){.hero{grid-template-columns:1fr;gap:20px}.hero>.note{width:auto;padding:12px 20px;justify-self:center;margin:2px 0 0;transform:rotate(-4deg)}.hero>.collage{width:90%;max-width:470px;margin:auto;padding-top:15px}.hero .photo{margin-top:12px}.hero>.note+.collage{margin-top:0}}

/* Original composition, with the note lowered 26px to clear the caption. */
.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px}.hero>.collage{width:auto;max-width:none;margin:0;padding:25px 5px 35px}.hero .photo{margin:1em 40px}.collage .note{position:absolute;inset:auto;bottom:-24px;left:-33px;display:block;width:auto;max-width:100%;margin:0;padding:18px 24px;font-size:18px;line-height:1.65;transform:rotate(-6deg);animation:none}@media(max-width:800px){.hero{grid-template-columns:1fr;gap:25px;padding:35px 0}.hero>.collage{width:90%;max-width:470px;margin:0 auto 24px;padding:25px 5px 35px}.collage .note{left:-15px;bottom:-24px}}
