/* Occasion pages extend Bonumi's marketing cards and register preview. */
.occasion-page{--occasion-ink:color-mix(in srgb,var(--occasion-primary) 68%,#17251f);color:var(--ink)}
.occasion-page h1,.occasion-page h2,.occasion-page h3{line-height:1.16}.occasion-page h2{font-size:clamp(1.8rem,3vw,2.8rem)}
.occasion-hero{padding:1.5rem 0 4.5rem;background:var(--occasion-background)}
.occasion-breadcrumbs{display:flex;gap:.65rem;flex-wrap:wrap;font-size:.8rem;margin-bottom:3rem}.occasion-breadcrumbs a{text-underline-offset:4px}
.occasion-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.occasion-hero h1{font:600 clamp(2.8rem,4.5vw,4.3rem)/1.06 var(--occasion-font),serif;letter-spacing:-.035em;color:var(--occasion-ink);margin:.6rem 0 1.4rem}
.occasion-page .eyebrow{color:var(--occasion-ink)}.occasion-lede{font-size:1.1rem;max-width:38rem;margin-bottom:1.8rem}.occasion-button{background:var(--occasion-ink);color:#fff;min-height:48px;line-height:1.4;max-width:100%}.occasion-page .text-link{color:var(--occasion-ink)}.occasion-hero .text-link{margin:0;padding:.65rem 0}.occasion-reassurance{font-size:.8rem;color:var(--muted);margin:1rem 0 0}.occasion-hero .hero-actions{gap:.75rem}.occasion-hero .button{box-shadow:none}
.occasion-preview{max-width:940px;margin:auto;min-width:0;width:100%}.occasion-preview .register-peek-browser{transform:none;border:1px solid var(--line);box-shadow:var(--shadow)}
.occasion-preview .register-peek-hero{min-height:320px;padding:3rem;color:var(--occasion-ink);background-image:linear-gradient(90deg,var(--occasion-background),color-mix(in srgb,var(--occasion-background) 90%,transparent) 38%,transparent),var(--occasion-art);background-position:center;background-size:cover}
.occasion-preview .register-peek-hero h2,.occasion-preview .register-peek-hero h3{font:600 clamp(2.2rem,4vw,3.4rem)/1.06 var(--occasion-font),serif;margin:.65rem 0 1rem;max-width:28rem}
.occasion-preview .register-peek-hero p{font-size:.95rem;max-width:24rem;padding:.5rem;border-radius:.5rem;background:transparent}
.occasion-preview .register-peek-body{padding:1.4rem;background:var(--occasion-background)}.occasion-demo-note{font-size:.75rem;margin:0 0 1rem;color:var(--occasion-ink)}
.occasion-gifts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.occasion-gift{overflow:hidden;display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 .4rem 1rem rgba(22,24,33,.05)}
.occasion-gift>img,.occasion-wish-art{display:block;width:100%;height:180px;object-fit:cover;background:#fff}.occasion-wish-art{display:grid;place-items:center;background:linear-gradient(135deg,var(--occasion-background),color-mix(in srgb,var(--occasion-accent) 24%,white));color:var(--occasion-ink);font-size:4rem}
.occasion-gift>div:last-child{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:1rem}.occasion-gift h3{color:var(--occasion-ink);font:600 1.15rem/1.2 var(--occasion-font),serif;margin:0 0 .6rem;overflow-wrap:anywhere}.occasion-gift p{font-size:.8rem;color:var(--muted);margin:0 0 1rem}.occasion-gift-state{display:inline-block;margin-top:auto;padding:.25rem .55rem;border-radius:999px;background:var(--occasion-background);color:var(--occasion-ink);font-size:.7rem;font-weight:700}.is-reserved .occasion-gift-state{color:#655f6a;background:#efedf0}
.compact .register-peek-hero{min-height:240px;padding:2rem}.compact .register-peek-hero h2{font-size:2.35rem}.compact .register-peek-hero p{font-size:.8rem;max-width:19rem}.compact .register-peek-body{padding:1rem}.compact .occasion-gifts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.compact .occasion-gift>img{height:110px}.compact .occasion-gift h3{font-size:1rem}.compact .occasion-gift p{display:none}.compact .occasion-gift-state{margin-top:.5rem}
.occasion-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;padding-block:2.5rem}.occasion-benefits h2{font:700 .95rem/1.4 'Quicksand',sans-serif;margin:.4rem 0}.occasion-benefits p{font-size:.85rem;color:var(--muted);margin:0}.occasion-benefits>div>span{color:var(--occasion-ink)}
.occasion-page .section-heading p{max-width:650px}.occasion-page .section-heading.centered p{margin-inline:auto}
.occasion-inspiration,.occasion-guidance{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem}.occasion-inspiration h2,.occasion-guidance h2{margin-top:0;color:var(--occasion-ink)}.occasion-inspiration p,.occasion-guidance p{color:var(--muted)}.occasion-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem}.occasion-categories article{border-top:1px solid var(--line);padding-top:1rem}.occasion-categories article>span{font-size:.75rem;color:var(--occasion-ink)}.occasion-categories h3{font-size:1.15rem;margin:.4rem 0}.occasion-categories p{font-size:.9rem;margin:0}
.occasion-how{background:var(--occasion-background)}.occasion-how .step-card{box-shadow:none}.occasion-how h3{font-size:1.25rem}.occasion-how .step-number{color:color-mix(in srgb,var(--occasion-primary) 8%,transparent)}.occasion-guidance article+article{margin-top:2rem}.occasion-guidance h3{font-size:1.2rem;margin-top:0}.occasion-faq{padding-bottom:4rem}.occasion-faq summary{min-height:44px;align-content:center;padding-right:.5rem}
.occasion-related{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem;padding-block:2rem;font-size:.9rem}.occasion-related a{padding:.5rem 0;text-underline-offset:4px;font-weight:700;color:var(--occasion-ink)}
.occasion-final{text-align:center;background:linear-gradient(90deg,var(--occasion-background),color-mix(in srgb,var(--occasion-background) 94%,transparent),var(--occasion-background)),var(--occasion-art) center/cover}.occasion-final h2{font-family:var(--occasion-font),serif;font-size:clamp(2.5rem,4vw,3.5rem);color:var(--occasion-ink);max-width:700px;margin:1rem auto}.occasion-final p:not(.eyebrow){max-width:580px;margin:0 auto 1.5rem}
.occasion-page :is(a,button,summary):focus-visible{outline:3px solid var(--occasion-ink);outline-offset:5px}
@media(max-width:900px){.occasion-hero-grid{grid-template-columns:1fr;max-width:680px;margin:auto;gap:2.5rem}.occasion-hero h1{max-width:620px}.occasion-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}.occasion-inspiration,.occasion-guidance{grid-template-columns:1fr;gap:1.5rem}.occasion-gifts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.occasion-hero{padding-bottom:2.5rem}.occasion-breadcrumbs{margin-bottom:2rem}.occasion-hero h1{font-size:2.85rem}.occasion-hero .hero-actions{align-items:stretch;flex-direction:column}.occasion-hero .text-link{align-self:flex-start}.occasion-preview .register-peek-hero{min-height:270px;padding:1.5rem}.occasion-preview .register-peek-hero p{font-size:.85rem}.occasion-preview .register-peek-body{padding:.75rem}.occasion-preview:not(.compact) .occasion-gifts{grid-template-columns:1fr}.occasion-preview:not(.compact) .occasion-gift{display:grid;grid-template-columns:95px minmax(0,1fr);align-items:center}.occasion-preview:not(.compact) .occasion-gift>img,.occasion-preview:not(.compact) .occasion-wish-art{height:120px}.occasion-gift>div:last-child{padding:.85rem}.compact .occasion-gift h3{font-size:.9rem}.compact .occasion-gift>img{height:95px}.occasion-benefits{gap:1.25rem}.occasion-categories{grid-template-columns:1fr;gap:1.5rem}.occasion-related{gap:.5rem 1.5rem}.occasion-related>span{flex-basis:100%}.occasion-final .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.occasion-page *{transition:none!important;animation:none!important}.occasion-page .button:hover{transform:none}}

/* Collection discovery follows the occasion palette and Ideas card typography. */
.occasion-collections{background:var(--occasion-background)}
.occasion-collections .related-collection{display:block;color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
.occasion-collections .related-collection:hover{transform:translateY(-.2rem);box-shadow:0 1rem 2.2rem rgba(64,42,90,.12)}
.occasion-collections .related-collection h3{margin:0 0 .35rem;font-family:inherit;font-size:1.15rem;font-weight:700;line-height:1.15}
@media(max-width:800px){.occasion-collections .related-collection{display:grid}}
@media(prefers-reduced-motion:reduce){.occasion-collections .related-collection:hover{transform:none}}
