@font-face{font-family:Wonders;src:url("/static/fonts/nunito-black.cde860028be8.ttf");font-display:swap}
body.wonders{--paper:#fcf6eb;--panel:#f0e1cb;--ink:#543c2d;--line:#b89d7a;--rsvp:#eee0cb;--accent:#9a653a;background:var(--paper);color:var(--ink);font:18px/1.65 Arial,sans-serif}body.wonders.sage{--paper:#f6f6ed;--panel:#e1e7d8;--ink:#354a40;--line:#98ac94;--rsvp:#dce5d4;--accent:#52705a}body.wonders.rose{--paper:#fff8f1;--panel:#f1ddd7;--ink:#69463f;--line:#bd9285;--rsvp:#efd9d2;--accent:#9b6257}
.wonders *{box-sizing:border-box}.wonders [hidden]{display:none!important}.wonders h1,.wonders h2,.wonders h3{font-family:Wonders,Arial,sans-serif;font-weight:400;letter-spacing:-.045em;line-height:1.16}.wonders h2{font-size:clamp(34px,3.6vw,58px)}.wonders h3{font-size:28px}.wonders p{font-size:18px;line-height:1.75}.wonders .eyebrow{font-size:16px;letter-spacing:.06em}.wonders .scene{position:relative;padding:80px 7vw;overflow:hidden}.wonders button,.wonders summary{font:inherit;min-height:48px}.wonders button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:30px}.wonders .toolbar{background:var(--paper);color:var(--ink);border-color:var(--line)}.wonders .toolbar button{font-size:16px}.wonders .hero{min-height:780px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px;padding-top:110px;padding-bottom:100px;background-image:radial-gradient(#bf9e6d1c .8px,transparent .8px);background-size:7px 7px}.wonders .hero-copy{min-width:0;z-index:2}.wonders .hero .eyebrow{max-width:none;margin:0 0 24px}.wonders .subtitle{font-family:Wonders,Arial;font-size:clamp(30px,3vw,46px);line-height:1.2;margin:28px 0 20px;max-width:550px;letter-spacing:-.035em}.wonders .date{font-size:20px;margin:20px 0}.wonders .hero-foot{left:7vw;bottom:25px;font-size:16px}.wonders #music-toggle{position:absolute;right:25px;top:20px;z-index:5;background:transparent;color:var(--ink);border-color:var(--line);font-size:16px;padding:8px 16px}.wonders .nursery-art{width:100%;max-width:660px;justify-self:center;transform-origin:50% 85%;animation:toy-rock 8s ease-in-out infinite}.wonders .nursery-art img{display:block;width:100%;height:auto;max-height:570px;object-fit:contain;filter:drop-shadow(0 14px 18px #75513215)}
.wonders.clean .name-source{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}.wonders.editing .name-source{font-size:24px;margin:0 0 18px}.name-cubes{display:flex;gap:10px;flex-wrap:wrap;max-width:100%;padding:6px 5px 15px}.name-cubes span,.age-cube{display:inline-flex;justify-content:center;align-items:center;min-width:65px;min-height:72px;padding:8px 12px;border-radius:12px;font:400 48px/1 Wonders,Arial;color:var(--ink);background:linear-gradient(130deg,#f8e9cf,#e4c698);box-shadow:5px 6px 0 #c8a979,inset 0 0 0 3px #ffffff50;border:1px solid #b2926340;transform:rotate(-3deg)}.name-cubes span:nth-child(2n){transform:rotate(3deg);background:linear-gradient(130deg,#eee5d7,#dbd0b8);box-shadow:5px 6px 0 #c3b89f}.name-cubes span:nth-child(3n){background:linear-gradient(130deg,#e8e9d7,#ccd7b8);box-shadow:5px 6px 0 #a4b395}.age-line{display:flex;align-items:center;gap:18px;margin-top:12px;font-size:18px}.age-cube{font-size:36px;min-width:54px;min-height:56px;box-shadow:3px 4px 0 #c8a979;transform:rotate(4deg)}
.wonders .intro{display:grid;grid-template-columns:.35fr 1fr;gap:60px;align-items:start;background:var(--panel);border-block:1px solid var(--line)}.wonders .intro>div{max-width:850px}.wonders .chapter-mark{font:400 150px/.9 Georgia,serif;color:var(--accent);opacity:.65}.wonders .intro h2{max-width:850px}.wonders .intro p{max-width:750px}.wonders .venue{display:flex;justify-content:center;align-items:center;gap:60px;background:var(--paper)}.wonders .venue-copy{max-width:650px;padding:50px 30px 30px;border-radius:50% 50% 8px 8px;background:var(--panel);border:1px solid var(--line);text-align:center}.wonders .venue .eyebrow{margin-bottom:22px}.wonders .venue h2{font-size:clamp(32px,3.3vw,52px)}.wonders .venue figure{flex:0 1 45%;max-width:600px;margin:0}.wonders .venue img{max-height:450px;border-radius:120px 120px 8px 8px;object-fit:contain}.wonders .program{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;background:var(--panel);border-block:1px solid var(--line)}.wonders .schedule-row{position:relative;grid-template-columns:78px 1fr;padding:26px 0 26px 28px;border-bottom:1px dashed var(--line);font-size:18px;gap:18px}.wonders .schedule-row:before{content:'';position:absolute;left:0;top:36px;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:inset 1px 1px 3px #ffffffa0}.wonders .schedule-row time{font-size:18px}.wonders .invitation-details{background:var(--paper);text-align:center}.wonders .details-copy{max-width:850px;margin:auto}.wonders .details-copy p{max-width:750px;margin-inline:auto}.wonders .details-subblock{max-width:750px;margin:35px auto 0;padding-top:28px;border-top:1px dashed var(--line)}.wonders .details-subblock h3{font-size:28px;line-height:1.2}.wonders .gallery-section{background:var(--panel);text-align:center}.wonders .gallery-section h2{max-width:760px;margin:0 auto 45px}.wonders .gallery{justify-content:center;gap:25px}.wonders .gallery figure{padding:12px 12px 35px;background:#fffaf2;box-shadow:0 8px 25px #513b2910;max-width:44%;border:none}.wonders .gallery img{object-fit:contain;height:auto;max-height:540px}.wonders .photo-empty{padding:42px 25px;margin:0 auto 24px;max-width:700px;border:1px dashed var(--line);border-radius:8px}.photo-empty p{max-width:450px;margin:auto}.photo-icon{display:inline-flex;width:60px;height:48px;border:2px solid var(--ink);border-radius:9px;align-items:center;justify-content:center;font-size:30px;margin-bottom:15px}.wonders .rsvp{background:var(--rsvp);text-align:center;border-block:1px solid var(--line)}.wonders .rsvp .eyebrow,.wonders .rsvp h2{margin-inline:auto}.wonders .rsvp details{max-width:650px;margin:30px auto 0}.wonders .rsvp summary{background:var(--ink);color:var(--paper);padding:16px 28px;border-radius:40px;display:inline-block;cursor:pointer;list-style:none}.wonders #rsvp{color:var(--ink);background:var(--paper);font-size:18px;border:1px solid var(--line);border-radius:18px;margin-top:24px}.wonders #rsvp label{font-size:18px;line-height:1.6}.wonders #rsvp input,.wonders #rsvp textarea{font-size:18px;color:var(--ink);accent-color:var(--ink)}.wonders #rsvp .consent{display:grid;grid-template-columns:24px 1fr;gap:12px;margin-block:24px 28px;align-items:start;text-align:left}.wonders #rsvp .consent label{margin:0}.wonders #rsvp .consent input{margin-top:6px;width:19px;height:19px}.wonders #rsvp .preview-note,.wonders #rsvp-status{font-size:16px}.wonders .closing{padding:85px 25px 35px;text-align:center;background:var(--paper)}.wonders .closing:before{content:'';display:block;width:60px;height:6px;margin:0 auto 35px;border-top:2px solid var(--line);border-bottom:2px solid var(--line);transform:rotate(-8deg)}.wonders .closing h2{max-width:800px;margin:auto}.wonders footer{text-align:center;font-size:14px;padding:70px 20px 35px}.wonders :focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wonders .invitation-carousel{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;scrollbar-width:none}.wonders .invitation-carousel>figure{flex:0 0 100%;max-width:none;scroll-snap-align:center;display:flex;justify-content:center;background:transparent;box-shadow:none;padding:0}.wonders .invitation-carousel img{width:auto;max-width:100%}.wonders .invitation-carousel__controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:25px}.wonders .invitation-carousel__controls button{width:48px;height:48px;padding:0}
.sage .hero{grid-template-columns:1fr;min-height:0;text-align:center;background:var(--paper);padding:70px 7vw 65px}.sage .hero-copy{width:min(100%,800px);margin:auto}.sage .name-cubes,.sage .age-line{justify-content:center}.sage .hero .subtitle,.sage .hero .date{margin-inline:auto}.sage .nursery-art{max-width:440px;margin:10px auto 15px;padding:30px 20px 0;background:var(--panel);border-radius:220px 220px 20px 20px;border:1px solid #a6b59c66}.sage .hero-foot{position:static}.sage .intro{background:var(--paper);border-top:0}.sage .chapter-mark{font-family:Wonders;opacity:.45}.sage .venue{background:var(--panel)}.sage .venue-copy{background:var(--paper)}.sage .program{background:var(--paper)}.sage .gallery figure{border-radius:100px 100px 5px 5px;overflow:hidden}
.rose .hero{background:repeating-linear-gradient(90deg,#fff8f1 0 44px,#f4e5dd 44px 88px);grid-template-columns:1.1fr 1fr}.rose .hero-copy{background:#fff8f1ed;padding:38px;border-radius:160px 160px 12px 12px;text-align:center;border:1px solid #dfbfb2}.rose .name-cubes,.rose .age-line{justify-content:center}.rose .hero .subtitle{margin-inline:auto}.rose .name-cubes span{background:linear-gradient(130deg,#fae8df,#e8c3b4);box-shadow:5px 6px 0 #cb9f91}.rose .intro .chapter-mark{font-style:italic}.rose .program{background:var(--paper)}.rose .venue{background:var(--panel)}.rose .venue-copy{background:var(--paper)}
@keyframes toy-rock{0%,100%{rotate:-1deg;translate:0 0}50%{rotate:1deg;translate:0 -7px}}
.wonders .scene:not(.hero)>div,.wonders .scene:not(.hero)>h2{transition:opacity .8s ease,translate .8s ease}.wonders .scene:not(.hero)>div.waiting{opacity:0;translate:0 22px}.wonders .scene:not(.hero)>div:nth-child(2){transition-delay:.12s}
@media(max-width:900px){.wonders .hero,.rose .hero{grid-template-columns:1fr;padding-top:90px;gap:20px;min-height:0}.wonders .hero-copy{max-width:660px;margin:auto}.wonders .nursery-art{max-width:520px}.wonders .intro,.wonders .program{grid-template-columns:1fr;gap:28px}.wonders .chapter-mark{font-size:80px}.wonders .venue{flex-direction:column}.wonders .venue figure{width:100%}.wonders .hero-foot{right:7vw;text-align:center}.rose .hero-copy{padding:30px}}
@media(max-width:600px){.wonders .scene{padding:48px 24px}.wonders .hero{padding:85px 22px 70px}.wonders .hero-copy{text-align:center;width:100%}.wonders .hero .subtitle{font-size:32px;margin:26px auto 18px}.wonders .name-cubes,.wonders .age-line{justify-content:center}.name-cubes{gap:8px}.name-cubes span{min-width:49px;min-height:58px;font-size:35px;padding:8px;box-shadow:3px 4px 0 #c8a979}.wonders .date{font-size:18px}.wonders .hero .eyebrow{font-size:16px;line-height:1.5;letter-spacing:.025em}.wonders .hero-foot{font-size:16px;line-height:1.4;left:20px;right:20px;bottom:20px}.wonders h2{font-size:34px}.wonders .intro p{font-size:18px}.wonders .venue-copy{padding:45px 18px 25px;width:100%}.wonders .schedule-row{grid-template-columns:59px 1fr;gap:14px;padding-left:20px}.wonders .gallery figure{max-width:100%;flex-basis:100%}.wonders .details-subblock h3{font-size:26px}.wonders #rsvp{padding:24px 18px}.wonders .rsvp summary{font-size:17px;padding:14px 20px}.rose .hero-copy{padding:40px 15px 25px;border-radius:120px 120px 12px 12px}.sage .nursery-art{max-width:330px}.sage .hero-foot{margin-top:16px}.wonders .toolbar{padding:12px;gap:9px;flex-wrap:wrap}.wonders .toolbar strong{font-size:16px}.wonders footer{font-size:14px}}
@media(prefers-reduced-motion:reduce){.wonders *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.wonders .waiting{opacity:1!important;translate:none!important;transform:none!important}}
.wonders .chapter-mark{font-size:clamp(72px,9vw,130px);line-height:1}.wonders .chapter-mark small{display:block;font:16px/1.5 Arial,sans-serif;letter-spacing:.03em;margin-top:12px;color:var(--ink)}.wonders .intro{grid-template-columns:.45fr 1fr}.wonders .photo-empty[hidden]{display:none!important}@media(max-width:900px){.wonders .intro{grid-template-columns:1fr}.wonders .chapter-mark{font-size:70px}}
.wonders .chapter-mark{font:italic 38px/1.1 Georgia,serif;opacity:1;color:var(--accent)}.wonders .chapter-mark small{font-size:16px;max-width:190px}
/* Larger beech blocks: rounded bevels, end grain, shaded side and engraved letters. */
.honey .name-cubes{display:grid;grid-template-columns:repeat(var(--cube-columns,4),var(--cube-size,100px));gap:16px 12px;padding:12px;justify-content:start;align-items:start;width:100%;min-width:0}
.honey .name-cubes>span{--wood-light:#f5e2be;--wood-base:#dbb582;--wood-edge:#ad8255;position:relative;isolation:isolate;width:var(--cube-size,100px);height:var(--cube-size,100px);min-width:0;min-height:0;padding:6px;border-radius:16%;border:1px solid #b08c5c88;font-size:calc(var(--cube-size,100px)*.63);line-height:1;color:#513924;text-shadow:0 1px 1px #fff6df,0 -1px 1px #54321e80;background:radial-gradient(ellipse at 25% 15%,var(--wood-light),transparent 85%),linear-gradient(125deg,var(--wood-light),var(--wood-base));background-color:var(--wood-base);box-shadow:inset 2px 3px 4px #fff9e7c9,inset -3px -4px 5px #855a2430,4px 4px 0 var(--wood-edge),6px 6px 0 #a38156,8px 12px 12px #68462322;transform:rotate(-1.5deg)}
.honey .name-cubes>span:before{content:'';position:absolute;inset:7%;border:1px solid #9d74413d;border-radius:12%;box-shadow:0 1px 0 #fff6de99,inset 0 1px 2px #80552414;pointer-events:none}
.honey .name-cubes>span:nth-child(2n){--wood-light:#ece8d9;--wood-base:#d2c8ab;--wood-edge:#a59b80;transform:rotate(1.4deg)}
.honey .name-cubes>span:nth-child(3n){--wood-light:#e2e5ce;--wood-base:#bfcaa8;--wood-edge:#929f7e;transform:rotate(-.8deg)}
.honey .name-cubes>span.cube-space{visibility:hidden}
@media(max-width:600px){.honey .name-cubes{justify-content:center;gap:16px 12px}}
/* Honey nursery: each scene has its own tactile illustration. */
.honey .honey-detail-art{pointer-events:none;min-width:0;align-self:center}
.honey .honey-detail-art img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 14px #65482712)}
.honey .intro{grid-template-columns:minmax(180px,.6fr) 1.4fr;gap:55px;align-items:center}
.honey .intro-toys{width:100%;max-width:300px;justify-self:center}
.honey .venue-toy{width:28%;max-width:300px;flex-shrink:0}
.honey .venue:has(#venue-photo:not([hidden])) .venue-toy{display:none}
.honey .venue-copy{flex:0 1 650px}
.honey .program{align-items:center}
.honey .birthday-cake{width:220px;max-width:70%;margin:24px auto 0}
.honey .little-booties{width:180px;margin:0 auto 22px}
.honey .closing:before{display:none}
.honey .closing{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,600px);align-items:center;justify-content:center;gap:45px;padding:65px 7vw;background:radial-gradient(ellipse at 22% 60%,#ecddc4a0,transparent 55%),var(--paper)}
.honey .closing h2{font-size:clamp(30px,3.4vw,48px);line-height:1.3}
.honey .goodbye-toy{width:100%;max-width:280px}
.honey .rsvp:before,.honey .rsvp:after{display:none}
@media(max-width:900px){.honey .intro{grid-template-columns:1fr;gap:20px}.honey .intro-toys{max-width:230px}.honey .venue-toy{width:220px}.honey .venue-copy{flex:auto}.honey .birthday-cake{width:190px}.honey .closing{gap:25px;grid-template-columns:minmax(130px,220px) minmax(0,1fr)}}
@media(max-width:600px){.honey .intro-toys{max-width:180px}.honey .venue{gap:25px}.honey .venue-toy{width:180px}.honey .program-heading{text-align:center}.honey .birthday-cake{width:170px;margin-top:18px}.honey .little-booties{width:145px}.honey .closing{grid-template-columns:1fr;gap:24px;padding:45px 24px}.honey .goodbye-toy{width:210px;justify-self:center}.honey .closing h2{font-size:32px}}

/* Give a longer name priority over the decorative hero illustration. */
.honey .name-cubes{column-gap:var(--cube-gap,10px)}
@media(min-width:901px){.honey .hero{grid-template-columns:minmax(0,var(--name-column,1fr)) minmax(0,1fr)}.honey .hero.long-name .nursery-art{max-width:100%}}
@media(max-width:900px){.honey .hero.long-name .nursery-art{max-width:330px}}
