/* occasion-landing.css: additive styles for occasion landing pages (holiday, baby shower, dinner, save the date, animated, video RSVP). Loaded after video-invitation-maker.css. */
.occasionLanding .heroText{max-width:600px}
.occasionLanding .hero h1{max-width:640px;font-size:clamp(50px,5.6vw,76px)}
.occasionLanding .templateGrid{grid-template-columns:repeat(6,minmax(0,1fr))}
.occasionLanding .cardBody p{line-height:1.45}
.occasionLanding .flowSection{padding:70px 0;background:linear-gradient(180deg,#fff6ef 0%,#fffdfb 100%)}
.occasionLanding .flowGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px;padding:0;list-style:none;counter-reset:flow}
.occasionLanding .flowStep{position:relative;padding:26px 22px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--soft-shadow)}
.occasionLanding .flowStep:before{counter-increment:flow;content:"0" counter(flow);display:block;margin-bottom:14px;color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.16em}
.occasionLanding .flowStep h3{margin:0 0 8px;font-size:18px;line-height:1.25}
.occasionLanding .flowStep p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}
.occasionLanding .flowStep .who{display:inline-block;margin-top:14px;padding:4px 10px;border-radius:999px;background:var(--warm);color:#8a3b1c;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.occasionLanding .contentSection{padding:72px 0}
.occasionLanding .contentSection.alt{background:#fff8f3}
.occasionLanding .contentGrid{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:54px;align-items:start}
.occasionLanding .contentGrid > div:first-child p{color:var(--muted);font-size:16.5px;line-height:1.7}
.occasionLanding .contentSection h2{margin:0 0 16px;font-family:var(--serif);font-size:clamp(36px,4.2vw,50px);line-height:1.04;letter-spacing:-.03em;font-weight:400}
.occasionLanding .contentSection h3{margin:0 0 6px;font-size:18px;line-height:1.3}
.occasionLanding .prose p{margin:0 0 16px;color:#3a3446;font-size:16.5px;line-height:1.75}
.occasionLanding .prose a,.occasionLanding .contentGrid a,.occasionLanding .typeList a{color:inherit;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
.occasionLanding .typeList{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0;padding:0;list-style:none}
.occasionLanding .typeList li{padding:20px 20px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.occasionLanding .typeList li p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}
.occasionLanding .checkList{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.occasionLanding .checkList li{position:relative;padding:14px 16px 14px 46px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:15.5px;line-height:1.55;color:#3a3446}
.occasionLanding .checkList li:before{content:"✓";position:absolute;left:16px;top:13px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:#fff;font-size:12px;font-weight:900}
.occasionLanding .checkList strong{color:var(--ink)}
.occasionLanding .tableScroll{width:100%;margin:22px 0 10px;overflow-x:auto;border:1px solid rgba(45,32,26,.12);border-radius:10px;background:#fff;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.occasionLanding .comparisonTable{width:100%;min-width:640px;border-collapse:collapse;font-size:14.5px;line-height:1.55}
.occasionLanding .comparisonTable.compactTable{min-width:0}
.occasionLanding .comparisonTable th,.occasionLanding .comparisonTable td{padding:15px 16px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(45,32,26,.09)}
.occasionLanding .comparisonTable th{background:#3b2938;color:#fff;font-size:13px}
.occasionLanding .comparisonTable tbody tr:last-child td{border-bottom:0}
.occasionLanding .comparisonTable td:first-child{font-weight:800;color:var(--ink)}
.occasionLanding .tableNote{margin:8px 0 0;color:var(--soft);font-size:13px;line-height:1.6}
.occasionLanding .planGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.occasionLanding .planCard{padding:26px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--soft-shadow)}
.occasionLanding .planCard h3{font-size:20px;margin-bottom:12px}
.occasionLanding .planCard ul{margin:0;padding-left:18px;color:#3a3446;font-size:15px;line-height:1.75}
.occasionLanding .planCard .planNote{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.occasionLanding .relatedLinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.occasionLanding .relatedLinks a{display:block;height:100%;padding:18px 18px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.occasionLanding .relatedLinks a:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(58,37,24,.1)}
.occasionLanding .relatedLinks strong{display:block;margin-bottom:6px;font-size:15.5px;line-height:1.35;color:var(--ink)}
.occasionLanding .relatedLinks span{display:block;color:var(--muted);font-size:13.5px;line-height:1.55}
.occasionLanding .ctaStrip{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px}
.occasionLanding .ctaStrip p{margin:0;color:var(--muted);font-size:14px}
@media(max-width:1080px){
  .occasionLanding .templateGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .occasionLanding .flowGrid{grid-template-columns:1fr 1fr}
  .occasionLanding .contentGrid{grid-template-columns:1fr;gap:26px}
  .occasionLanding .relatedLinks{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .occasionLanding .hero h1{font-size:46px}
  .occasionLanding .templateGrid{grid-template-columns:1fr 1fr;gap:12px}
  .occasionLanding .flowSection,.occasionLanding .contentSection{padding:52px 0}
  .occasionLanding .typeList,.occasionLanding .planGrid{grid-template-columns:1fr}
  .occasionLanding .relatedLinks{grid-template-columns:1fr}
}
@media(max-width:460px){
  .occasionLanding .hero h1{font-size:40px}
  .occasionLanding .templateGrid{grid-template-columns:1fr 1fr}
  .occasionLanding .templateImage{aspect-ratio:9/16}
  .occasionLanding .cardBody{padding:11px 10px 12px}
  .occasionLanding .cardBody h3{font-size:13.5px}
  .occasionLanding .flowGrid{grid-template-columns:1fr}
  .occasionLanding .comparisonTable th,.occasionLanding .comparisonTable td{padding:12px 11px}
}
.occasionLanding .flowSection h2{margin:0;max-width:820px;font-family:var(--serif);font-size:clamp(38px,4.6vw,54px);line-height:1.02;letter-spacing:-.03em;font-weight:400}
