/* A cookie-loving, kawaii palette. Family photographs remain the main story. */
:root{--paper:#f7fbff;--ink:#293558;--muted:#596982;--brown:#6751c7;--orange:#bd3d75;--green:#309b89;--line:#d9dff5;--cream:#eaf0ff;--serif:'Arial Rounded MT Bold','Trebuchet MS',ui-rounded,system-ui,sans-serif}body{background:#f7fbff;color:var(--ink);font-family:'Trebuchet MS',-apple-system,BlinkMacSystemFont,sans-serif}header{background:#fff;border-bottom:2px solid #e6e5fc;flex-wrap:wrap;min-height:102px;height:auto;padding-top:18px;padding-bottom:18px;position:relative}.brand{color:#434a80}.brand b{color:#7752bd}.cookie-doodle{width:46px;height:46px;flex-shrink:0;display:inline-block}.button{border-radius:100px;border:2px solid #6751c7;box-shadow:0 4px 0 #4b3b9e;transition:transform .18s,box-shadow .18s,background .18s;font-weight:700;padding:14px 23px}.dark{background:#6751c7;color:#fff}.button:hover{background:#8064de;transform:translateY(-2px);box-shadow:0 6px 0 #4b3b9e}.button:active{transform:translateY(3px);box-shadow:0 1px 0 #4b3b9e}.small{font-size:12px;padding:12px 16px}nav{gap:22px;font-weight:700;font-size:12px}.motion-toggle{background:#f0edff;border:1px solid #d9cff5;color:#5a488d;font-size:10px;border-radius:20px;padding:6px 10px;position:absolute;right:5.3%;bottom:-17px;z-index:3}.hero{padding-top:76px;padding-bottom:94px;min-height:690px;gap:5%}.hero h1{font-weight:850;font-size:clamp(52px,5.8vw,80px);line-height:1.04;letter-spacing:-3px;color:#394470}h2{font-weight:850;letter-spacing:-1.9px;line-height:1.1}em{font-style:normal;color:#8c54b9}.hero h1 em{color:#8052c1}.eyebrow{color:#a33f71;font-weight:800;letter-spacing:1.7px}.hero .eyebrow{display:inline-block;background:#f8e6f3;padding:8px 12px;border-radius:30px;font-size:10px;margin-bottom:20px}.lead{line-height:1.9}.handwritten{color:#8a4b88;font-family:var(--serif);font-weight:600;font-style:normal;font-size:16px}.hero-copy>.handwritten{transform:rotate(-2deg);margin-top:30px}.hero-art{padding-bottom:90px;isolation:isolate}.hero-art:before{content:'';position:absolute;inset:-38px -22px -10px;border-radius:48% 52% 45% 55%;background:radial-gradient(ellipse at 35% 20%,#dfd4fb,transparent 62%),radial-gradient(ellipse at 85% 60%,#c4f5e9,transparent 60%),#e8f3ff;z-index:-1}.hero-photo{border-radius:22px;background:#fff;box-shadow:0 12px 0 #c8dff2;height:405px;border:2px solid #d2d9f5;transform:rotate(3deg);padding:10px 10px 43px}.hero-photo img{border-radius:13px}.hero-photo figcaption,.little-photo figcaption{font-family:var(--serif);font-size:15px;font-weight:700;font-style:normal;color:#7455ac}.little-photo{border-radius:16px;border:2px solid #f1c8df;width:175px;height:188px;bottom:12px;left:-24px;box-shadow:0 8px 0 #ebcbe4;transform:rotate(-7deg);z-index:2}.little-photo img{border-radius:8px}.sun{font-size:66px;right:-16px;top:-58px;color:#e0a335;text-shadow:4px 4px 0 #ffe8aa;animation:starTwinkle 4s ease-in-out infinite;z-index:3}.hero-mascots{position:absolute;width:270px;height:auto;object-fit:contain;bottom:-25px;right:-13px;z-index:3;filter:drop-shadow(0 10px 8px #807bc32b);animation:cookieFloat 5s ease-in-out infinite}.floating-heart{position:absolute;color:#e9548c;font-size:48px;top:48%;right:-35px;animation:cookieFloat 4s ease-in-out infinite}.ribbon{background:#ddf7ee;border-block:2px dashed #9edbcf;font-family:var(--serif);font-size:13px;font-weight:700;color:#2e6b6a;gap:24px}.ribbon i{color:#875cc5;font-size:21px}.section-top>p,.section-top>div>p:not(.eyebrow){line-height:1.8}.filter,.memory-filter{border:2px solid #dcd7f1;background:#fff;font-weight:700;transition:transform .2s;padding:9px 20px}.filter:hover,.memory-filter:hover{transform:translateY(-3px);background:#eee9ff}.filter.active,.memory-filter.active{background:#7355bd;border-color:#7355bd;color:white;box-shadow:0 3px 0 #cfbdf0}.wish-card{border:2px solid #dedff7;border-radius:23px;background:#fff;box-shadow:0 6px 0 #e4e6f5;transition:transform .2s}.wish-card:hover{transform:translateY(-4px)}.wish-visual{background:#e6f0ff}.wish-visual.symbol{background:radial-gradient(circle at 20% 20%,#fbddef,transparent 65%),#ece5fb;color:#8060bc}.wish-visual.symbol:before{border:2px dashed #b4a0dc;background:#fff6;border-radius:30%;transform:rotate(-12deg)}.wish-visual.symbol>span:not(.wish-person){position:relative}.wish-person{background:#fff;border:1px solid #e1d6f3;color:#694a9b;backdrop-filter:none;font-weight:800}.wish-card:nth-child(3n+2) .wish-visual.symbol{background:radial-gradient(circle at 20% 20%,#c9f5e6,transparent 60%),#e5f4ff}.wish-card:nth-child(3n) .wish-visual.symbol{background:radial-gradient(circle at 20% 20%,#ffe4e9,transparent 65%),#f7eafb}h3{font-weight:800;font-size:24px;letter-spacing:-.8px}.wish-body .button{background:#f3efff;border-color:#d2c3f1;color:#5f448e;box-shadow:none}.wish-body .button:hover{background:#7355bd;color:white;border-color:#7355bd}.wish-body{padding:23px}.wish-description{font-size:12px;line-height:1.7}progress,progress::-webkit-progress-bar{background:#edeafb}progress::-webkit-progress-value{background:linear-gradient(90deg,#71cfc0,#76a5e5)}progress::-moz-progress-bar{background:#55bbaa}.funded{border-top:2px dashed #d9d4f3}.funded-item{border-radius:17px;background:#e6f7f1;border:1px solid #bee8dc}.funded-item h3{font-size:20px}.funded-item small{color:#397b6b;font-weight:750}.memories{background:#eef0ff;border-block:2px solid #e0dcf6;position:relative}.memory-card{background:#fff;border-radius:23px;border:2px solid #e0dafa;box-shadow:0 6px 0 #ded8f1;padding:10px 10px 20px;transition:transform .2s}.memory-card:hover{transform:translateY(-4px)}.memory-cover{border-radius:15px;height:240px;background:#e2e8f8}.photo-count{background:white;border:1px solid #ded7f0;color:#5e4e8a;border-radius:30px;font-weight:700}.memory-text h3{font-size:24px;color:#54528c}.memory-text .eyebrow{color:#a24477}.open-gallery{color:#7653a7;border-bottom:2px solid #d8c1ec;font-weight:750}.scrapbook-note{font-family:var(--serif);font-style:normal;color:#8056ad;font-size:20px;font-weight:750}.scrapbook-note>span{color:#db5e96}.how li{border-bottom:2px dashed #d9e1f3}.how li>span{color:#8b69bc;font-style:normal;font-weight:800;font-size:25px}.give-section{background:#e6f6fb;border-block:2px solid #d1edf5}.give-layout h2 em{color:#536bb1}.form-notice{border-left:3px solid #95b8e6;background:#f3fbff;padding:13px;border-radius:0 14px 14px 0}form{background:#fff;border:2px solid #cee0f3;border-radius:24px;box-shadow:0 7px 0 #cbe6f1}input,select,textarea{background:#f9fbff;border:2px solid #dce5f4;border-radius:11px;min-height:44px;font-size:12px}.last-note{position:relative}.last-note>.cookie-doodle{width:65px;height:65px;margin-bottom:18px}.last-note>p{font-family:var(--serif);font-weight:850;font-size:38px;color:#55508b}.last-note .handwritten{color:#aa4d86}.footer-mascots{width:210px;height:auto;object-fit:contain;margin:0 auto 15px}.last-note>.cookie-doodle{display:none}footer{background:#efeaff;border-top:2px solid #ded7f5;color:#655c88}footer .brand{color:#6551a1;font-weight:800}dialog{border:3px solid #d7ccf5;background:#f9f8ff;border-radius:24px}.gallery-bar h2{font-size:30px;font-weight:800}.gallery-stage{background:#e8eafb;border-radius:15px}.gallery-stage .icon-button{background:white;color:#6652a2;border:2px solid #d4c4f1}.gallery-thumbs button{border-radius:10px;overflow:hidden}.gallery-thumbs button[aria-pressed=true]{border-color:#9d69cc}.icon-button{color:#6b4da3;border-color:#d9cbf1}.journey{padding-bottom:45px}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative}.journey-grid:before{content:'';height:2px;border-top:3px dotted #c3b2e9;position:absolute;top:18px;left:5%;right:5%;z-index:-1}.journey-card{position:relative;border:2px solid #ded6f1;background:#fff;border-radius:25px;padding:22px;box-shadow:0 6px 0 #eee7f7}.year-pill{display:inline-block;background:#efe6ff;color:#7753a6;font-size:11px;font-weight:800;border:2px solid #e5d5fa;border-radius:20px;padding:4px 12px;margin-bottom:18px}.journey-card:nth-child(2) .year-pill{background:#dff6ef;border-color:#c3e9de;color:#32766c}.journey-card:nth-child(3) .year-pill{background:#ffe8f2;border-color:#f8cfe3;color:#a44a79}.journey-photo{display:block;width:100%;height:210px;border:0;padding:0;border-radius:15px;overflow:hidden;background:#e9efff;margin-bottom:19px}.journey-photo img{transition:transform .3s}.journey-photo:hover img{transform:scale(1.04)}.journey-card h3{font-size:23px;margin-bottom:12px}.journey-card>p{font-size:12px;line-height:1.8;color:var(--muted)}.journey-card .text-link{display:inline-block;margin-top:17px;font-size:12px;color:#7653a7;font-weight:800}.early-years-art{height:210px;display:flex;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 30% 20%,#fbddeb,transparent 70%),#eeebff;border-radius:15px;margin-bottom:19px;position:relative}.early-years-art span:first-child{font-size:83px;transform:rotate(-13deg);animation:cookieFloat 5s ease-in-out infinite}.early-years-art span:nth-child(2){color:#df76ab;font-size:60px;position:absolute;right:27px;top:25px;transform:rotate(13deg)}.early-years-art span:nth-child(3){font-size:35px;color:#8c6ac7;position:absolute;left:33px;bottom:25px}.journey-card>p.childhood-note{font-size:10px;color:#77668e;margin-top:12px;line-height:1.6}.cookie-sparkle{position:fixed;pointer-events:none;z-index:10000;line-height:1;font-size:19px;animation:crumbBurst .9s ease-out forwards;user-select:none}@keyframes cookieFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(2deg)}}@keyframes starTwinkle{0%,100%{transform:scale(1) rotate(8deg)}50%{transform:scale(1.13) rotate(24deg)}}@keyframes crumbBurst{0%{opacity:1;transform:translate(0,0) scale(.5)}75%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(30deg) scale(1.1)}}.magic-paused *,.magic-paused *:before,.magic-paused *:after{animation-play-state:paused!important}.magic-paused .cookie-sparkle{display:none}@media(max-width:1100px){nav{gap:15px;font-size:11px}.brand{font-size:13px}header>.button{font-size:11px;padding-inline:12px;gap:10px}.hero-photo{height:365px}.hero-mascots{width:235px;right:-10px}.hero h1{font-size:65px}.journey-card{padding:17px}.journey-photo,.early-years-art{height:190px}}@media(max-width:800px){header{padding-inline:5%}nav{gap:13px}.hero-mascots{width:220px}.hero h1{font-size:57px}.hero-art{padding-bottom:95px}.little-photo{width:145px;height:155px;left:-12px}.memory-text h3{font-size:23px}.journey-grid{gap:14px}.journey-card h3{font-size:21px}.journey-photo,.early-years-art{height:160px}.wish-body{padding:18px}}@media(max-width:740px){header{min-height:113px;padding-block:17px 14px}.brand{font-size:13px}.brand .cookie-doodle{width:40px;height:40px}nav{order:3;width:100%;padding-top:15px;justify-content:space-between;font-size:10px;border-color:#e4ddf3;gap:8px}.motion-toggle{right:5%;font-size:9px;bottom:-15px}.hero{padding-top:48px;padding-bottom:70px;gap:60px;min-height:0}.hero h1{font-size:64px}.hero .eyebrow{font-size:9px}.hero-art{width:92%;margin:0 auto;padding:0 5px 100px 12px}.hero-photo{height:370px;border-radius:21px}.hero-mascots{width:235px;bottom:-2px;right:-20px}.little-photo{left:-23px;bottom:24px;width:154px;height:160px}.sun{font-size:54px;top:-43px;right:-14px}.floating-heart{font-size:40px;right:-23px}.hero-art:before{inset:-20px -17px 0}.ribbon{gap:12px;font-size:11px;padding:14px}.ribbon i{font-size:16px}.hero-copy>.handwritten{font-size:14px}.section{padding-top:56px;padding-bottom:56px}h2{font-size:39px;letter-spacing:-1.5px}.journey-grid{grid-template-columns:1fr;gap:22px}.journey-grid:before{left:22px;top:0;right:auto;width:3px;height:100%;border-left:3px dotted #c3b2e9;border-top:0}.journey-card{padding:22px}.journey-photo,.early-years-art{height:230px}.journey-card h3{font-size:25px}.journey-card>p{font-size:12px}.journey-card>p.childhood-note{font-size:10px}.wish-card{border-radius:19px}.wish-body{padding:15px}.wish-body h3{font-size:22px}.wish-body .button{border-radius:25px}.memory-cover{height:200px}.memory-card{padding:8px 8px 18px;border-radius:19px}.memory-text h3{font-size:23px}.memory-text{padding:14px 5px 0}.memory-filter{font-size:10px;padding:8px 11px}.funded-item{padding:16px}.funded-item h3{font-size:19px}.scrapbook-note{font-size:18px}.give-section{padding:55px 0}form{border-radius:19px;padding:20px}.last-note>p{font-size:32px}.last-note .handwritten{font-size:15px}.footer-mascots{width:185px}footer{padding-top:28px}.gallery-bar h2{font-size:24px}.gallery-stage{height:48vh}}@media(max-width:410px){.hero h1{font-size:56px}.hero-photo{height:320px}.hero-mascots{width:210px;right:-15px}.little-photo{width:140px;height:150px}.ribbon{font-size:10px;gap:9px}.memory-cover{height:285px}.journey-photo,.early-years-art{height:200px}.floating-heart{right:-18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.cookie-sparkle{display:none}.motion-toggle{display:none}}

/* Cookie friends sit at the very top-right, with room reserved for navigation. */
header{padding-right:285px;min-height:176px}
.top-mascots{position:absolute;top:4px;right:19px;width:250px;height:auto;object-fit:contain;z-index:2;filter:drop-shadow(0 5px 5px #807bc322);animation:cookieFloat 5s ease-in-out infinite;pointer-events:none}
header .motion-toggle{right:205px;bottom:-17px}
@media(max-width:1100px) and (min-width:741px){header{padding-right:210px;min-height:134px}.top-mascots{width:185px;right:12px;top:6px}header .motion-toggle{right:150px}}
@media(max-width:740px){header{padding:116px 5% 16px;min-height:0;gap:14px}header .brand{position:absolute;top:22px;left:5%}.top-mascots{width:160px;top:3px;right:4%}header>.button{margin-left:auto}header nav{padding-top:12px}header .motion-toggle{right:5%;bottom:-15px}}

/* Wish photos fill their card so each photo can set its own focus point. */
.wish-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Photo-corner mascots and direct Venmo gifts. */
header{padding:18px 5.3%;min-height:102px}header .motion-toggle{right:5.3%}
.hero-mascots{width:215px;right:-12px;bottom:18px;pointer-events:none}
.little-photo{width:205px;height:186px}.little-photo img{object-fit:contain;background:#fff;object-position:center}
.venmo-options{display:grid;gap:16px}.venmo-option{background:#fff;border:2px solid #cee0f3;border-radius:22px;padding:23px}.venmo-option h3{margin:0 0 8px}.venmo-option p{font-size:13px;margin-bottom:18px;color:var(--muted)}
@media(max-width:1100px) and (min-width:741px){header{padding-right:5.3%;min-height:102px}.hero-mascots{width:185px}}
@media(max-width:740px){header{padding:17px 5% 14px;min-height:113px}header .brand{position:static}header nav{padding-top:15px}.hero-mascots{width:180px;right:-14px;bottom:18px}.little-photo{width:175px;height:168px;left:-18px;bottom:24px}}
@media(max-width:410px){.hero-mascots{width:150px;right:-10px;bottom:25px}.little-photo{width:156px;height:155px}}
