.occasion-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start}
.occasion-hero-grid h1{font-size:clamp(30px,3.25vw,43px)}
.occasion-plan{background:#f1e5d7;border:1px solid #d9c5ad;border-radius:8px;padding:30px;box-shadow:7px 7px 0 #e9ddc9;color:var(--ink)}
.occasion-plan-label{display:block;color:#80583c;font-size:12px;letter-spacing:.06em;margin-bottom:12px}
.occasion-plan h2{font-size:27px;color:var(--red);margin-bottom:24px}
.occasion-plan ol{list-style:none}
.occasion-plan li{display:flex;align-items:start;gap:16px;border-top:1px solid #d9c5ad;padding:18px 0}
.occasion-plan li>span{font-size:12px;color:#8a6241;padding-top:3px;font-variant-numeric:tabular-nums}
.occasion-plan strong{display:block;font-size:16px;margin-bottom:5px}
.occasion-plan li p{font-size:13px;line-height:1.9;color:#6f5946}
.occasion-plan .occasion-plan-note{font-size:12px;line-height:1.9;color:#6f5946;border-top:1px solid #d9c5ad;padding-top:16px}
.occasion-selection{padding-top:0}
.occasion-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.occasion-link-card{display:flex;flex-direction:column;min-width:0;gap:12px;border:1px solid var(--line);border-radius:5px;background:var(--white);padding:25px;transition:border-color .2s,background .2s}
.occasion-link-card:hover{background:#f5ebde;border-color:#b69a77}
.occasion-link-card>span{font-size:12px;color:var(--red)}
.occasion-link-card h3{font-family:var(--serif);font-size:23px;line-height:1.6}
.occasion-link-card p{font-size:13px;line-height:1.9;flex:1}
.occasion-link-card>strong{font-size:13px;font-weight:500;color:var(--red);padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}
.occasion-category-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px}
.occasion-category-links a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:13px;color:var(--red);text-decoration:underline;text-underline-offset:4px}
.occasion-selection-note{font-size:12px;margin-top:14px}
.occasion-contact{padding-top:0}
.occasion-contact-inner{background:#eee5d6;border:1px solid #d9cbb6;border-radius:7px;padding:38px 42px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.occasion-contact-inner h2{font-size:30px;margin-bottom:16px}
.occasion-contact-inner p{font-size:14px;line-height:2}
.occasion-contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px;flex-shrink:0}
@media(max-width:850px){.occasion-hero-grid{gap:28px}.occasion-plan{padding:23px}.occasion-plan h2{font-size:24px}.occasion-link-card{padding:20px}.occasion-link-card h3{font-size:20px}.occasion-contact-inner{flex-direction:column;align-items:flex-start;padding:30px}.occasion-contact-actions{flex-shrink:1}}
@media(max-width:600px){.occasion-hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}.occasion-plan{padding:24px;box-shadow:4px 4px 0 #e9ddc9;margin-right:4px}.occasion-plan h2{font-size:25px;margin-bottom:19px}.occasion-plan li{padding:15px 0}.occasion-links{grid-template-columns:minmax(0,1fr);gap:14px}.occasion-link-card{padding:21px}.occasion-link-card h3{font-size:22px}.occasion-category-links{gap:4px 20px;margin-top:18px}.occasion-contact-inner{padding:25px}.occasion-contact-inner h2{font-size:27px}.occasion-contact-inner p{font-size:13px}.occasion-contact-inner .eyebrow{font-size:11px;letter-spacing:.08em}.occasion-contact-actions{width:100%}.occasion-contact-actions .button{width:100%;padding-inline:13px;gap:18px}}
@media(prefers-reduced-motion:reduce){.occasion-link-card{transition:none}}
@media print{.occasion-plan{box-shadow:none}.occasion-link-card,.occasion-plan,.occasion-contact-inner{break-inside:avoid}}

.occasion-link-card .occasion-product-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;padding:12px;background:#fff;border:1px solid #e7dfd2;border-radius:3px}
