/* Page-scoped birthday collection: roomy editorial cards on the approved scrapbook palette. */
.compass-elevated .party-guide{max-width:1120px;margin:32px auto 72px;padding:0 28px;color:#23354a}
.party-guide .back{display:inline-block;margin-bottom:24px}
.party-cover{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:36px;padding:38px;background:#fffaf1;border:1px solid #bac3c3;border-radius:26px;box-shadow:8px 8px 0 #c5e6e8}
.party-guide .party-cover h1{font:750 clamp(42px,5.3vw,66px)/1.06 system-ui,sans-serif;letter-spacing:-.05em;margin:20px 0}
.party-cover h1 em{font:italic 1.15em/1 Georgia,serif;color:#854052;letter-spacing:-.04em}
.party-cover p{font-size:18px;line-height:1.65;margin:20px 0}
.party-cover figure{margin:0;min-width:0}
.party-cover figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:16px}
.party-cover figcaption{font-size:12px;line-height:1.6;margin-top:12px;color:#58616c}
.party-jumps{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.party-jumps a{padding:10px 15px;border:1px solid #9eaeb4;border-radius:999px;background:#fff;color:#23354a;font-weight:650;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.party-jumps a:nth-child(2){background:#f7dce6}.party-jumps a:nth-child(3){background:#e7efdc}
.party-guide .party-checked{font-size:14px;line-height:1.7;max-width:900px;margin:24px 0 0;color:#58616c}
.party-section{margin-top:56px;scroll-margin-top:24px}
.party-guide .party-section h2{font:700 clamp(27px,3.7vw,39px)/1.16 Georgia,serif;margin:12px 0 20px;letter-spacing:-.025em}
.party-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.party-guide .party-section-heading h2{margin-bottom:0}.party-section-heading>.read{max-width:220px;font-size:15px;line-height:1.5;min-height:44px}
.party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.party-venue{padding:28px;background:#fff;border:1px solid #bdc5c8;border-radius:20px;display:flex;flex-direction:column;min-width:0}
.party-venue:nth-child(4n+1){border-top:8px solid #c5e6e8}.party-venue:nth-child(4n+2){border-top:8px solid #f2c6d7}.party-venue:nth-child(4n+3){border-top:8px solid #d8e5b7}.party-venue:nth-child(4n){border-top:8px solid #e2daf2}
.party-guide .party-venue h3{font:700 25px/1.23 system-ui,sans-serif;letter-spacing:-.03em;margin:12px 0 16px;overflow-wrap:anywhere}
.party-venue>p{font-size:16px;line-height:1.65;margin:0 0 18px}
.party-venue dl{margin:0 0 16px}.party-venue dl>div{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e1e5e6}.party-venue dt{font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:750;margin-bottom:7px}.party-venue dd{margin:0;font-size:16px;line-height:1.65}
.party-venue details{margin:0 0 22px}.party-guide summary{cursor:pointer;font-weight:650;min-height:44px;padding:10px 0;line-height:1.5}.party-guide details p{font-size:15px;line-height:1.7;margin:10px 0 16px}
.party-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:auto}.party-actions .button{font-size:15px;min-height:44px;text-align:center;padding:12px 18px}.party-actions .read{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.party-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.party-theme-grid article{padding:24px;border-radius:18px;background:#f6e3eb}.party-theme-grid article:nth-child(even){background:#e4eef0}.party-guide .party-theme-grid h3{font:700 23px/1.2 Georgia,serif;margin:0 0 12px}.party-theme-grid p{font-size:16px;line-height:1.7;margin:0}
.party-print-section{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:36px;padding:32px;border:1px solid #bdc5c8;border-radius:24px;background:#f1f5e8;align-items:center}
.party-print-section>div>p{font-size:17px;line-height:1.7}
.party-paper-links{display:grid;gap:12px;margin-top:24px}.party-paper-links>a{display:block;padding:16px 18px;background:#fff;border:1px solid #c8d0c9;border-radius:12px;text-decoration:none;color:#23354a}.party-paper-links strong,.party-paper-links span{display:block}.party-paper-links strong{font-size:17px}.party-paper-links span{font-size:14px;line-height:1.6;color:#58616c;margin-top:5px}
.party-planner-preview{display:block;text-align:center;text-decoration:none}.party-planner-preview img{width:100%;height:auto;max-width:310px;border:1px solid #bdc5c8;box-shadow:5px 5px 0 #c5e6e8}.party-planner-preview .read{display:block;margin:18px 0 0;font-size:16px}
.party-booking{padding:28px 32px;border-radius:20px;background:#fff;border:1px solid #bdc5c8}.party-booking details+details{border-top:1px solid #e1e5e6}.party-guide a:focus-visible,.party-guide summary:focus-visible{outline:3px solid #854052;outline-offset:4px}
@media(max-width:760px){.compass-elevated .party-guide{padding:0 18px;margin-top:22px}.party-cover{grid-template-columns:1fr;gap:24px;padding:26px 22px;box-shadow:5px 5px 0 #c5e6e8}.party-guide .party-cover h1{font-size:45px}.party-cover p{font-size:17px}.party-grid,.party-theme-grid,.party-print-section{grid-template-columns:1fr}.party-section{margin-top:40px}.party-section-heading{display:block}.party-section-heading>.read{display:inline-flex;max-width:none;margin-top:14px}.party-venue{padding:24px 22px}.party-print-section{padding:26px 22px;gap:26px}.party-booking{padding:24px 22px}.party-planner-preview img{max-width:280px}.party-jumps a{font-size:14px}}
@media(max-width:360px){.party-guide .party-cover h1{font-size:39px}.party-actions{align-items:stretch;flex-direction:column}.party-actions .button{width:100%}}
@media print{.compass-elevated .party-guide{max-width:none;margin:0;padding:0}.party-cover{box-shadow:none}.party-grid{display:block}.party-venue{break-inside:avoid;margin-bottom:20px}.party-jumps,.party-planner-preview{display:none}.party-print-section{display:block}.party-booking details p{display:block}}
