.play-principles{border-left:3px solid #8a9a68;padding:18px 22px;margin:32px 0 0;background:#edf0e3;font-size:16px;color:#4f6048;max-width:940px}
.story.story-with-photo{grid-template-columns:1fr 1.25fr;align-items:center;gap:58px}
.host-portrait{margin:0;max-width:440px}
.host-portrait img{width:100%;height:auto;border-radius:90px 8px 60px 8px;display:block}
.host-portrait figcaption{font-size:14px;color:#5a6c51;margin-top:14px;text-align:center}
.host-story h2{margin-bottom:24px}
.host-story p{font-size:16px;line-height:1.8}
.gallery-section{background:#e9eedf;border-top:1px solid #bcc9a9;border-bottom:1px solid #bcc9a9}
.gallery-section h2,.parent-reviews h2{font-size:36px}
.gallery-section .section-heading p{font-size:16px;max-width:420px}
.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.photo-gallery figure{margin:0;min-width:0}
.photo-gallery a{display:block;border-radius:32px 6px 32px 6px;overflow:hidden;background:#d7e0cb}
.photo-gallery img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .3s ease}
.photo-gallery a:hover img{transform:scale(1.025)}
.photo-gallery figcaption{font-size:15px;line-height:1.55;color:#445d3a;margin-top:14px}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:32px}
.parent-quote{margin:0;background:#f2f0e4;border-top:3px solid #b4a16b;padding:29px 30px;border-radius:3px 28px 3px 3px}
.parent-quote blockquote{margin:0}
.parent-quote p{font-family:Woodland,Georgia,serif;font-size:23px;line-height:1.65;color:#365039;margin:0 0 24px}
.parent-quote figcaption{font-size:14px;color:#596b50}
@media(max-width:850px){.story.story-with-photo{gap:30px;grid-template-columns:.9fr 1.2fr}.host-portrait img{border-radius:60px 6px 40px 6px}.photo-gallery{gap:18px}.parent-quote{padding:25px}.parent-quote p{font-size:21px}}
@media(max-width:700px){.story.story-with-photo{grid-template-columns:1fr;gap:30px}.host-portrait{max-width:360px;margin:0 auto}.host-story h2{font-size:34px}.photo-gallery{grid-template-columns:1fr;gap:30px}.photo-gallery a{max-width:430px;margin:auto}.photo-gallery img{aspect-ratio:4/3;object-fit:contain;background:#dfe7d4}.photo-gallery figcaption{text-align:center}.review-grid{grid-template-columns:1fr;gap:20px}.gallery-section h2,.parent-reviews h2{font-size:31px}.play-principles{padding:16px 18px}.parent-quote p{font-size:22px}}
@media(prefers-reduced-motion:reduce){.photo-gallery img{transition:none}}
@media(min-width:851px) and (max-width:1100px){.menu-toggle{display:block}.nav{min-height:117px}.brand-logo,.brand-logo img{width:127px}.brand-logo img{height:111px}.navlinks{display:none;position:absolute;left:0;right:0;top:122px;background:#fdfaf5;padding:22px 26px;flex-direction:column;align-items:stretch;gap:20px;border-bottom:1px solid #a9bc91}.navlinks.open{display:flex}.navlinks>a{font-size:16px}}

/* Real play photographs alongside their invitations. */
.illustrated-invitations{display:flex;flex-direction:column;gap:32px}
.illustrated-invitations .invitation{display:grid;grid-template-columns:.8fr 1.3fr;align-items:center;gap:40px;padding:30px 0 0}
.invitation-copy{max-width:370px}
.invitation-photos{display:grid;grid-template-columns:1fr;gap:18px;min-width:0}
.invitation-photos.small-world-photos{grid-template-columns:1fr 1fr}
.invitation-photos figure{margin:0;min-width:0}
.invitation-photos a{display:block;overflow:hidden;border-radius:28px 6px 28px 6px;background:#e3e9d9}
.invitation-photos img{display:block;width:100%;height:360px;object-fit:cover}
.small-world-photos img{height:390px;object-fit:contain}
.invitation-photos figcaption{font-size:14px;line-height:1.5;color:#526746;margin-top:10px}
.photo-gallery img{display:block;aspect-ratio:3/4;object-fit:contain}
@media(max-width:850px){.illustrated-invitations .invitation{grid-template-columns:.8fr 1.2fr;gap:24px}.small-world-photos img{height:290px}.invitation-photos img{height:320px}}
@media(max-width:700px){.illustrated-invitations .invitation{grid-template-columns:1fr;gap:18px}.invitation-copy{max-width:none}.invitation-photos img{height:auto;max-height:470px;object-fit:contain}.small-world-photos img{height:260px}.photo-gallery{grid-template-columns:1fr 1fr;gap:24px 16px}.photo-gallery img{aspect-ratio:3/4}.photo-gallery figcaption{font-size:14px;text-align:left}.invitation-photos figcaption{font-size:13px}}
@media(max-width:390px){.invitation-photos.small-world-photos{grid-template-columns:1fr}.small-world-photos img{height:auto;max-height:390px}.photo-gallery{grid-template-columns:1fr}.photo-gallery figcaption{text-align:center}}

.invitation-photos.paired-making{grid-template-columns:1fr 1fr}
.paired-making img{height:330px;object-fit:contain}
.more-play-photos{margin-top:34px;border-top:1px solid #b3c2a0;padding-top:18px}
.more-play-photos summary{cursor:pointer;font-size:17px;color:#35543b;padding:12px 0;width:fit-content}
.more-play-photos summary span{margin-left:15px}
.more-play-photos[open] summary{margin-bottom:24px}
.more-play-photos[open] summary span{display:none}
@media(max-width:700px){.paired-making img{height:260px}.more-play-photos summary{font-size:16px}}
@media(max-width:390px){.invitation-photos.paired-making{grid-template-columns:1fr}.paired-making img{height:auto;max-height:390px}}

/* Crops keep the requested people outside the visible photo at every size. */
.privacy-crop{position:relative;width:100%;overflow:hidden;border-radius:28px 6px 28px 6px;background:#e3e9d9}
.privacy-crop.summer-crop{aspect-ratio:1152/1136}
.privacy-crop.potion-crop{aspect-ratio:1152/1096}
.privacy-crop img{position:absolute!important;left:0;width:100%!important;height:auto!important;max-width:none;aspect-ratio:auto!important;object-fit:fill!important;transform:none!important}
.summer-crop img{top:-35.2113%}
.potion-crop img{top:-40.146%}

/* Uploaded wide brand format, above the navigation. */
.site-brand-banner{display:block;width:100%;max-width:1200px;margin:0 auto;aspect-ratio:2.4;overflow:hidden}
.site-brand-banner img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
header{background:#f8f4f0}
.banner-navigation{position:relative;min-height:78px!important;justify-content:center;border-top:1px solid #d6d9c9}
.banner-navigation .navlinks{justify-content:center}
.menu-label{display:none;color:#536648;font-family:Woodland,Georgia,serif;font-size:16px}
.real-play-hero img{aspect-ratio:4/5;object-fit:contain;max-height:580px;background:#e8eddf;border-radius:35px 8px 70px 8px}
.real-play-hero a{display:block}
.real-play-hero figcaption{font-size:14px;color:#536648;margin-top:12px}
@media(max-width:1100px){.banner-navigation{min-height:66px!important;justify-content:space-between}.menu-label{display:block}.banner-navigation .navlinks{top:66px!important}.banner-navigation .menu-toggle{display:block}}
@media(max-width:700px){.site-brand-banner{aspect-ratio:2.4}.menu-label{font-size:14px}.real-play-hero{max-width:430px;margin:0 auto}.real-play-hero img{max-height:480px;border-radius:24px 6px 48px 6px}}
@media print{.site-brand-banner{display:none}}

.photo-mark{position:relative;display:block}
.business-photo-mark{position:absolute;right:10px;bottom:10px;z-index:2;pointer-events:none;background:rgba(36,63,48,.82);color:#fff;border-radius:4px;padding:5px 9px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.4;letter-spacing:.15px}

/* Live Bookwhen schedule. */
.booking-schedule{background:#fff;border-radius:14px;overflow:hidden;margin-top:30px}
.booking-schedule iframe{display:block;width:100%;height:900px;border:0;background:#fff}
.booking-direct{margin:22px 0 0}
@media(max-width:700px){.booking-schedule{border-radius:8px}.booking-schedule iframe{height:850px}.booking-direct .button{width:100%}}

.contact-section{background:#e5ecdc;border-top:1px solid #bccba9}
.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;align-items:center}
.contact-inner h2{font-size:36px}
.contact-inner p{color:#4d6045;max-width:600px;margin:0}
.contact-actions{text-align:center}
.contact-actions p{font-size:14px;margin:12px auto 0}
.banner-navigation .navlinks{gap:22px}
@media(max-width:700px){.contact-inner{grid-template-columns:1fr;gap:26px}.contact-inner h2{font-size:31px}.contact-actions{text-align:left}.contact-actions p{margin-left:0}.contact-actions .button{width:100%}}

.contact-actions .contact-email{margin-bottom:22px;overflow-wrap:anywhere}.contact-email a{text-underline-offset:4px}

.newsletter-section{background:#f3f0e5;border-top:1px solid #c8c9b5}.newsletter-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;align-items:center}.newsletter-inner h2{font-size:36px}.newsletter-inner p{color:#4d6045;max-width:600px;margin:0}.newsletter-actions{text-align:center}.newsletter-actions p{font-size:14px;margin:14px auto 0;max-width:320px}@media(max-width:700px){.newsletter-inner{grid-template-columns:1fr;gap:26px}.newsletter-inner h2{font-size:31px}.newsletter-actions{text-align:left}.newsletter-actions .button{width:100%}.newsletter-actions p{margin-left:0}}@media print{.newsletter-section{display:none}}

.contact-actions .copy-email{margin-top:12px}.contact-actions .copy-email-status:empty{display:none}
