/* Shared page patterns for the complete Manor website. */
[hidden]{display:none!important}.page-intro{padding:20px 0 52px}.page-intro .eyebrow{margin-top:18px}.page-intro h1{font-size:clamp(3.5rem,5.4vw,5rem);line-height:1.03;max-width:20ch;margin-top:20px}.page-intro h1 em,.page-intro h2 em{color:#925a80}.page-lead{font-size:1.0625rem;color:var(--muted);max-width:55ch;padding-top:24px;line-height:1.8}.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--gap)}.page-hero-grid>*{min-width:0}.page-hero-grid h1{max-width:14ch;font-size:clamp(3.1rem,4.7vw,4.5rem)}.page-hero-grid .page-lead{max-width:43ch}.page-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:28px}.small-note{font-size:.875rem;color:var(--muted);max-width:82ch;line-height:1.65}.small-note a{text-decoration:underline;text-underline-offset:3px}.page-actions+.small-note{padding-top:20px}.page-photo{margin:0;position:relative;padding-bottom:20px}.page-photo img{width:100%;height:460px;object-fit:cover;border-radius:180px 180px 8px 8px}.page-photo figcaption{position:absolute;bottom:0;left:18px;background:#f3e6e9;padding:17px 23px;border-radius:5px;font-family:var(--font-display);font-size:1.5rem;max-width:90%}.page-photo figcaption em{color:#925a80}.page-party .section h2,.section h2 em{color:inherit}.section h2 em{color:#925a80}.party-section{padding-top:35px}.party-controls{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 0;border-block:1px solid var(--line)}.filter-buttons{display:flex;gap:9px;flex-wrap:wrap}.filter-buttons button{border:1px solid #45245620;border-radius:5px;min-height:46px;padding:9px 17px;background:transparent;cursor:pointer;font-size:.9375rem}.filter-buttons button[aria-pressed=true]{background:#eee2ed;border-color:#9c7a9866}.filter-buttons button:hover{background:#f2e8ee}.guest-control{display:flex;align-items:center;gap:14px;font-size:.9375rem}.guest-control select{font:inherit;color:var(--purple);background:var(--cream);border:1px solid #45245640;border-radius:5px;padding:10px 13px;min-height:46px}.guest-control select:focus-visible{outline:2px solid var(--gold);outline-offset:0}.results-line{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.875rem;padding:20px 0 28px}.party-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}.package-card{border:1px solid var(--line);border-radius:9px;padding:27px 25px;display:flex;flex-direction:column;justify-content:space-between;min-width:0;gap:24px}.package-card h3{font-size:2.1rem;line-height:1.1;margin:14px 0;min-height:2.2em}.package-card .eyebrow{font-size:.8125rem;color:#8b6480}.package-description{font-size:1rem;color:var(--muted);min-height:5em;max-width:36ch}.package-price{display:flex;gap:10px;align-items:baseline;padding:22px 0;font-variant-numeric:tabular-nums;flex-wrap:wrap}.package-price strong{font:600 2.5rem/1 var(--font-display);color:var(--purple)}.package-price span{font-size:.875rem;color:var(--muted)}.package-facts{margin:0;border-top:1px solid var(--line);padding-top:15px;display:grid;gap:9px}.package-facts>div{display:flex;justify-content:space-between;gap:15px;font-size:.875rem}.package-facts dt{font-weight:500;flex-shrink:0}.package-facts dd{color:var(--muted);margin:0;text-align:right}.package-details{margin-top:18px;border-block:1px solid var(--line)}.package-details summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;font-size:.9375rem;min-height:52px}.package-details summary::-webkit-details-marker{display:none}.package-details summary::marker{content:""}.package-details summary span{font-size:1.4rem;color:#956f86}.package-details[open] summary span{transform:rotate(45deg)}.package-details summary:focus-visible{outline:3px solid var(--gold)}.package-details ul{margin:0;padding:0 0 17px 18px;list-style:disc;display:grid;gap:9px;font-size:.9375rem;color:var(--muted)}.package-note{font-size:.875rem;color:#855777;padding-bottom:20px}.package-book .text-link{font-size:.9375rem;min-height:44px}.package-book>p{font-size:.8125rem;color:var(--muted);padding-top:7px;max-width:37ch}.party-safety{padding-top:25px}.party-how,.visit-preparation{background:#f3e6e9}.step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin:32px 0 0}.step-grid>div{border-top:1px solid var(--line);padding-top:24px}.step-grid dt{font-family:var(--font-display);font-size:1.9rem;font-weight:600;line-height:1.15}.step-grid dt span{display:block;color:#a1804a;font-size:1.25rem;padding-bottom:15px}.step-grid dd{margin:15px 0 0;color:var(--muted);font-size:1rem;max-width:39ch}.empty-message{padding:40px 0;font-size:1.0625rem;color:var(--muted)}
.event-calendar{padding-bottom:20px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:30px}.calendar-heading h2{font-size:2.5rem}.calendar-note{color:var(--muted);padding:12px 0 24px;font-size:1rem}.schedule-frame{width:100%;height:840px;border:1px solid var(--line);background:white;border-radius:8px}.event-calendar .small-note{padding-top:18px}.story-panorama img{width:100%;height:460px;object-fit:cover;object-position:center 45%;border-radius:8px}.story-chapter{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start}.story-chapter h2{max-width:18ch!important}.chapter-copy{display:grid;gap:20px;padding-top:8px;color:var(--muted);font-size:1.0625rem}.chapter-copy p{max-width:45ch}.character-section{background:#f1e7ed}.character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);padding-top:35px}.character-grid article{padding-top:24px;border-top:1px solid var(--line);min-width:0}.character-role{font-size:.8125rem;color:#885c7c;min-height:3.3em}.character-grid h3{font-size:2.1rem;line-height:1.1;margin:12px 0 17px;min-height:2.2em}.character-grid article>p:last-child{font-size:1rem;color:var(--muted);max-width:29ch}.friends-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin:15px 0 0}.friends-grid>div{border-top:1px solid var(--line);padding-top:24px}.friends-grid dt{font-family:var(--font-display);font-size:1.9rem;font-weight:600}.friends-grid dd{margin:10px 0 0;color:var(--muted);font-size:1rem}.friend-role{font-size:.875rem;color:#885c7c;padding-bottom:15px}.story-real{background:#f3e6e9}.story-real .extras-intro{padding-top:0}.contact-section{padding-bottom:65px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.address-panel{background:#f3e6e9;padding:42px;border-radius:10px}.address-panel h2{font-size:3rem;line-height:1.08;margin:17px 0 26px}.address-panel h2 em{color:#925a80}.address-panel address{font-style:normal;font-size:1.125rem;line-height:1.8}.address-panel>p:not(.eyebrow){color:var(--muted);font-size:1rem;padding:19px 0 27px}.contact-options{padding-left:34px;display:grid;gap:28px}.contact-options>div{border-top:1px solid var(--line);padding-top:24px}.contact-options h2{font-size:2.2rem;line-height:1.2}.contact-options p{color:var(--muted);font-size:1rem;padding:11px 0 13px;max-width:42ch}.contact-phone{font-family:var(--font-display);font-size:2.2rem;line-height:1.2}.contact-email{font-size:1rem;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}.contact-options .text-link{font-size:1rem}
.gallery-section{padding-bottom:70px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;border-block:1px solid var(--line);padding:20px 0;margin-bottom:30px}.gallery-count{font-size:.875rem;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.gallery-item{margin:0;min-width:0}.gallery-item button{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in;border-radius:6px;overflow:hidden}.gallery-item button{aspect-ratio:4/3}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:12px;font-size:.9375rem}.gallery-item figcaption span{color:#986580;flex-shrink:0}.gallery-lightbox{width:min(1100px,calc(100% - 36px));max-height:calc(100dvh - 36px);padding:55px 28px 22px;background:var(--cream);color:var(--ink);border:0;border-radius:10px;overflow:auto}.gallery-lightbox::backdrop{background:#25132ce6}.gallery-lightbox figure{margin:0}.gallery-lightbox img{width:100%;height:min(65vh,740px);object-fit:contain}.gallery-lightbox figcaption{font-size:1rem;margin-top:17px}.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px}.lightbox-toolbar button{border:1px solid var(--line);border-radius:4px;background:transparent;padding:8px 14px;min-height:48px;cursor:pointer}.lightbox-toolbar button:hover{background:#eee2ed}.lightbox-counter{font-size:.875rem;color:var(--muted)}.lightbox-error{padding:18px;color:var(--muted)}
.home-more{background:#f3e6e9}.home-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:center}.home-more-image{width:100%;height:360px;object-fit:cover;border-radius:8px}.home-more-copy .page-lead{max-width:43ch;padding-bottom:24px}.home-extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.home-extra{border-top:1px solid var(--line);padding-top:27px}.home-extra h3{font-size:2.5rem;line-height:1.1;margin:12px 0 18px}.home-extra>p:not(.eyebrow){font-size:1rem;color:var(--muted);max-width:48ch;padding-bottom:23px}.gallery-teaser{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);padding-top:26px}.gallery-teaser img{width:100%;height:260px;object-fit:cover;border-radius:6px}.gallery-teaser a{display:block}.gallery-teaser-section .section-heading{align-items:center}.complete-footer{padding:52px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.4fr;gap:var(--gap)}.footer-brand img{width:36px;height:24px}.footer-brand .brand-name{font-size:1.5rem}.footer-brand .brand-name span{font-size:1.125rem}.footer-grid>div:first-child>p{font-size:.9375rem;color:var(--muted);padding-top:20px}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-grid nav a,.footer-contact>a{font-size:.875rem;min-height:24px}.footer-label{font-size:.875rem;font-weight:500;color:var(--purple);padding-bottom:5px}.footer-contact address{font-size:.875rem;font-style:normal;line-height:1.8;color:var(--muted);padding:5px 0 14px}.footer-contact>a{display:block;margin-top:8px}.footer-grid a:hover,.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:22px;margin-top:34px;font-size:.8125rem;color:var(--muted)}.footer-bottom p{margin-right:auto}.desktop-nav a[aria-current=page],.mobile-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#995f8570}
@media(max-width:1100px){.party-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-grid,.friends-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-role,.character-grid h3{min-height:0}.character-grid article>p:last-child{max-width:42ch}.page-hero-grid h1{font-size:3.3rem}.page-photo img{height:440px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.contact-options{padding-left:10px}.address-panel{padding:30px}.contact-phone{font-size:2rem}}
@media(max-width:760px){.party-controls,.gallery-controls{align-items:flex-start;flex-direction:column}.guest-control{width:100%;justify-content:space-between}.results-line{flex-direction:column;gap:4px}.page-hero-grid{grid-template-columns:1fr}.page-photo{margin-top:20px}.page-photo img{height:auto;aspect-ratio:3/2;border-radius:70px 70px 6px 6px}.page-hero-grid h1{font-size:3.6rem;max-width:16ch}.step-grid{grid-template-columns:1fr;gap:28px}.step-grid dd{max-width:55ch}.story-chapter,.contact-grid,.home-more-grid,.home-extras-grid{grid-template-columns:1fr}.chapter-copy{padding-top:8px}.story-panorama img{height:340px}.contact-options{padding-left:0}.calendar-heading{align-items:flex-start;flex-direction:column;gap:12px}.schedule-frame{height:780px}.home-more-image{height:310px}.home-more-copy{padding-top:5px}.home-extra>p:not(.eyebrow){max-width:52ch}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.gallery-teaser{gap:16px}.gallery-teaser img{height:180px}}
@media(max-width:650px){.page-intro{padding:18px 0 37px}.page-intro .eyebrow{margin-top:8px}.page-intro h1,.page-hero-grid h1{font-size:3.5rem;margin-top:17px}.page-lead{font-size:1.0625rem;padding-top:21px}.page-actions{align-items:flex-start;gap:20px}.page-actions .button,.page-actions .text-link{font-size:1rem}.small-note{font-size:.875rem}.page-photo figcaption{font-size:1.35rem;left:12px;padding:13px 18px}.party-section{padding-top:20px}.filter-buttons{gap:8px}.filter-buttons button{padding:9px 13px;font-size:1rem;min-height:48px}.guest-control{font-size:1rem}.party-grid{grid-template-columns:1fr;gap:24px}.package-card{padding:24px}.package-card h3{font-size:2.2rem;min-height:0}.package-description{min-height:0}.package-card .eyebrow{font-size:.875rem}.package-facts>div{font-size:.9375rem}.package-details summary,.package-details ul{font-size:1rem}.package-book .text-link{font-size:1rem}.package-book>p{font-size:.875rem}.step-grid dt{font-size:2rem}.step-grid dd{font-size:1.0625rem}.calendar-heading h2{font-size:2.3rem}.calendar-heading .text-link{font-size:1rem}.schedule-frame{height:810px}.story-panorama img{height:290px;object-position:60% center}.character-grid,.friends-grid{grid-template-columns:1fr}.character-grid h3{font-size:2.3rem}.character-role,.friend-role{font-size:.9375rem}.character-grid article>p:last-child,.friends-grid dd,.chapter-copy{font-size:1.0625rem}.character-grid{gap:28px}.friends-grid{gap:30px}.address-panel{padding:29px 25px}.address-panel h2{font-size:2.7rem}.address-panel .button{font-size:1rem}.contact-options h2{font-size:2.3rem}.contact-phone{font-size:2.1rem}.contact-section{padding-bottom:50px}.gallery-grid{grid-template-columns:1fr;gap:28px}.gallery-item figcaption{font-size:1rem}.gallery-lightbox{padding:55px 16px 18px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.gallery-lightbox img{height:auto;max-height:60vh;min-height:180px}.gallery-lightbox figcaption{font-size:1rem}.home-more-image{height:270px}.home-extra h3{font-size:2.4rem}.home-extra>p:not(.eyebrow){font-size:1.0625rem}.gallery-teaser{grid-template-columns:1fr}.gallery-teaser img{height:240px}.gallery-teaser a:not(:first-child){display:none}.footer-grid{gap:28px 22px}.footer-grid>div:first-child,.footer-contact{grid-column:1/-1}.footer-grid nav a,.footer-contact>a,.footer-contact address{font-size:.9375rem}.footer-grid nav a{min-height:32px}.footer-label{font-size:.9375rem}.footer-bottom{flex-wrap:wrap;gap:14px 20px;font-size:.8125rem}.footer-bottom p{width:100%}.complete-footer{padding-top:40px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.calendar-invitation{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;border-top:1px solid var(--line);padding-top:36px}.calendar-invitation>img{width:100%;height:400px;object-fit:cover;border-radius:8px}.calendar-invitation h2{font-size:3rem;margin:17px 0 22px}.calendar-invitation>div>p:not(.eyebrow){color:var(--muted);max-width:43ch}.calendar-invitation .button{margin-top:26px}.calendar-invitation .small-note{padding-top:17px}@media(max-width:760px){.calendar-invitation{grid-template-columns:1fr;gap:28px}.calendar-invitation>img{height:290px}.calendar-invitation h2{font-size:2.7rem}.calendar-invitation>div>p:not(.eyebrow){max-width:55ch}.calendar-invitation .button{font-size:1rem}}

/* Original supplied artwork, framed as portraits without redrawing the characters. */
.illustrated-characters{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 48px}.illustrated-characters .character-profile{display:grid;grid-template-columns:156px minmax(0,1fr);gap:24px;align-items:center;padding-top:28px}.character-portrait{display:block;width:100%;aspect-ratio:1;border-radius:50%;background-image:url('../images/manor-character-storyboard.png');background-repeat:no-repeat;box-shadow:0 0 0 5px #fffaf3,0 0 0 6px #bda37c55}.illustrated-characters h3{font-size:2.1rem;margin:0 0 9px;min-height:0}.illustrated-characters .character-role{font-size:.8125rem;min-height:0;color:#825173;margin-bottom:12px;line-height:1.5}.character-profile>div>p:last-child{font-size:1rem;color:var(--muted);max-width:38ch}.adventure-characters{padding-top:12px}
.portrait-myla{background-size:698.18182% auto;background-position:45.28875% 9.82587%;}
.portrait-riley{background-size:808.42105% auto;background-position:83.80386% 8.87290%;}
.portrait-queen-marshmallow{background-size:691.89189% auto;background-position:47.56469% 42.39401%;}
.portrait-sir-braveheart{background-size:614.40000% auto;background-position:88.64697% 43.41085%;}
.portrait-sparkle{background-size:903.52941% auto;background-position:2.56223% 67.79859%;}
.portrait-captain-aero{background-size:882.75862% auto;background-position:15.71219% 68.00000%;}
.portrait-racer-ruby{background-size:882.75862% auto;background-position:30.10279% 68.00000%;}
.portrait-choo-choo-charlie{background-size:882.75862% auto;background-position:44.49339% 68.00000%;}
@media(max-width:1100px){.illustrated-characters .character-profile{grid-template-columns:128px minmax(0,1fr);gap:20px}.illustrated-characters{gap:30px}.illustrated-characters h3{font-size:1.9rem}}@media(max-width:900px){.illustrated-characters{grid-template-columns:1fr}.illustrated-characters .character-profile{grid-template-columns:156px minmax(0,1fr);gap:26px}.illustrated-characters h3{font-size:2.2rem}.character-profile>div>p:last-child{max-width:50ch}}@media(max-width:650px){.illustrated-characters .character-profile{grid-template-columns:100px minmax(0,1fr);gap:20px;align-items:start}.character-portrait{margin-top:3px}.illustrated-characters h3{font-size:1.8rem}.illustrated-characters .character-role{font-size:.875rem;margin-bottom:11px}.character-profile>div>p:last-child{font-size:1rem}.illustrated-characters{gap:24px}}
