html{scroll-behavior:smooth;scroll-padding-top:24px}.party-intro{font-size:18px;line-height:1.5;max-width:580px;margin:16px auto 0}.fair-nav{display:flex;justify-content:center;align-items:center;gap:23px;flex-wrap:wrap;margin:0 0 26px;font-size:16px}.fair-nav a{padding:10px 0;color:var(--blue);text-decoration-thickness:1px;text-underline-offset:5px}.fair-nav a:hover{color:var(--red)}.fair-nav span{font-size:15px;color:var(--red)}.fairground{padding:72px 0 0}.section-intro{text-align:center;margin:0 auto 32px;max-width:840px}.section-intro h2{font:900 clamp(36px,5.7vw,62px)/1.05 Birthday,Georgia,serif;letter-spacing:-.025em;color:var(--red);margin:0 0 19px}.section-intro>p{font-size:20px;line-height:1.5;max-width:680px;margin:0 auto;color:var(--blue)}.booths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;row-gap:27px}.booth{--booth:var(--red);--booth-heading:var(--red);color:var(--booth);position:relative;min-width:0}.booth.blue{--booth:var(--blue);--booth-heading:var(--blue)}.booth.green{--booth:var(--green);--booth-heading:var(--green)}.booth.gold{--booth:var(--yellow);--booth-heading:#926000}.tent-roof{width:100%;height:auto;display:block;position:relative;z-index:1}.booth-inside{position:relative;margin:-5px 2.5% 0;border-inline:3px solid var(--booth);text-align:center;padding:7px 10px 18px;display:flex;flex-direction:column;min-height:346px}.booth h3{font:900 clamp(27px,3.6vw,38px)/1.02 Birthday,Georgia,serif;letter-spacing:-.02em;color:var(--booth-heading);margin:0 0 7px;min-height:78px}.booth img{display:block;object-fit:contain;width:100%;height:143px;margin:0 auto;flex-shrink:0}.booth-counter{height:18px;margin:0 -15px 14px;background:repeating-linear-gradient(90deg,var(--booth) 0 21px,var(--paper) 21px 42px);border-top:2px solid var(--booth);border-bottom:1px solid var(--booth);transform:perspective(120px) rotateX(4deg)}.booth p{font-size:17px;line-height:1.48;margin:0;color:var(--ink);padding-inline:3px}.birthday-fun{padding-top:84px}.birthday-moments{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:0;margin:42px 0 20px;position:relative}.birthday-moments::before{content:'';position:absolute;top:25px;left:12%;right:12%;border-top:2px dashed var(--red);z-index:0}.birthday-moments li{position:relative;text-align:center}.moment-number{display:grid;place-items:center;position:relative;width:51px;height:51px;margin:0 auto 19px;border-radius:50%;background:var(--red);color:var(--paper);font-size:23px;font-weight:900;box-shadow:0 0 0 10px var(--paper)}.birthday-moments li:nth-child(2) .moment-number{background:var(--blue)}.birthday-moments li:nth-child(3) .moment-number{background:var(--yellow);color:var(--ink)}.birthday-moments li:nth-child(4) .moment-number{background:var(--green)}.birthday-moments h3{font:900 25px/1.16 Birthday,Georgia,serif;color:var(--red);letter-spacing:-.02em;margin:0 0 14px;min-height:58px}.birthday-moments p{font-size:17px;line-height:1.5;margin:0;color:var(--blue)}.birthday-moments .arrival-time{font-size:16px;font-weight:700;margin:-8px 0 8px}.birthday-parade{display:block;max-width:900px;width:94%;height:auto;margin:32px auto 35px}.birthday-fun+footer{border-top:1px solid var(--red)}
@media(min-width:1200px){.fairground .section-intro h2{font-size:68px}.birthday-fun .section-intro h2{font-size:54px}.birthday-fun .section-intro h2 br{display:none}}
@media(max-width:900px) and (min-width:621px){.booths{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.booth h3{font-size:36px}.birthday-moments{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.birthday-moments::before{display:none}.birthday-moments h3{min-height:0}}
@media(max-width:620px){.party-intro{font-size:16px;margin-top:14px}.fair-nav{gap:12px;font-size:14px;margin-bottom:22px}.fair-nav span{font-size:11px}.fairground{padding-top:45px}.section-intro{margin-bottom:22px}.section-intro h2{font-size:36px;line-height:1.07}.section-intro>p{font-size:17px;line-height:1.5}.booths{grid-template-columns:1fr;gap:26px;max-width:380px;margin:auto}.booth h3{font-size:40px;min-height:82px}.booth-inside{min-height:0;padding-bottom:21px}.booth img{height:160px}.booth p{font-size:17px;padding-inline:9px}.birthday-fun{padding-top:55px}.birthday-moments{display:block;margin:32px 0 0}.birthday-moments::before{top:20px;bottom:0;left:23px;right:auto;border-top:0;border-left:2px dashed var(--red)}.birthday-moments li{text-align:left;padding:0 0 28px 75px;min-height:140px}.moment-number{position:absolute;left:0;top:0;width:48px;height:48px;margin:0;font-size:21px}.birthday-moments h3{font-size:25px;min-height:0;margin-bottom:10px}.birthday-moments h3 br{display:none}.birthday-moments p{font-size:17px}.birthday-moments .arrival-time{margin:0 0 6px}.birthday-moments li:last-child{padding-bottom:0}.birthday-parade{width:100%;margin:28px auto 30px}.fairground,.birthday-fun,#party-details{scroll-margin-top:18px}}
@media(max-width:350px){.fair-nav{gap:8px;font-size:13px}.section-intro h2{font-size:31px}.booth h3{font-size:35px}.birthday-moments li{padding-left:65px}.birthday-moments h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.fair-nav{display:none}.fairground,.birthday-fun{break-before:page}.booths{grid-template-columns:repeat(2,1fr)}.booth{break-inside:avoid}.birthday-moments{grid-template-columns:repeat(2,1fr)}}
