/* Editorial homepage content lives outside the interactive planner. */
.planning-info { max-width:1120px; margin:72px auto 0; padding:0 36px; color:#6d6863; font:400 17px/1.7 "Outfit",sans-serif; }
.planning-info[hidden] { display:none; }
.planning-info h2,.planning-info h3 { color:#292826; letter-spacing:-.035em; }
.planning-info h2 { font-size:clamp(28px,3vw,42px); line-height:1.18; font-weight:500; margin:0 0 24px; }
.planning-info h3 { font-size:23px; line-height:1.3; font-weight:500; margin:0 0 12px; }
.planning-info p { margin:0 0 18px; }
.planning-info a { color:#292826; font-weight:500; text-decoration:none; text-underline-offset:5px; }
.planning-info a:hover { color:var(--brand-800); text-decoration:underline; }
.planning-info a:focus-visible,.planning-info summary:focus-visible { outline:2px solid var(--brand-700); outline-offset:5px; }
.planning-info .home-kicker { color:#81786f; font-size:12px; letter-spacing:.13em; text-transform:uppercase; margin:0 0 22px; }
.home-intro { border-top:1px solid #dcd7d0; padding:52px 0 64px; display:grid; grid-template-columns:1fr 1fr; gap:24px 72px; }
.home-intro > .home-kicker { grid-column:1/-1; margin-bottom:0; }
.home-intro h2 { font-size:clamp(32px,3.7vw,48px); }
.home-intro__copy a { display:inline-block; margin-top:8px; border-bottom:1px solid var(--brand-700); }
.home-notebook { background:#eeebe6; border-radius:3px; padding:44px; display:grid; grid-template-columns:1fr 1.3fr; gap:64px; }
.home-notebook > div > p:not(.home-kicker) { max-width:320px; }
.home-notes { list-style:none; margin:0; padding:0; counter-reset:notes; }
.home-notes li { counter-increment:notes; position:relative; padding:0 0 24px 40px; margin:0 0 24px; border-bottom:1px solid #d6d0c8; }
.home-notes li::before { content:"0" counter(notes); position:absolute; top:3px; left:0; font-size:13px; color:#9b8f81; }
.home-notes li:last-child { border-bottom:0; margin:0; padding-bottom:0; }
.home-notes p { font-size:16px; margin-bottom:8px; }
.home-reading { padding:72px 0 48px; }
.home-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:32px; }
.home-section-heading h2 { margin:0; }
.home-articles { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.home-articles article { display:flex; flex-direction:column; padding-top:24px; border-top:2px solid #dcd7d0; }
.home-articles h3 { margin-bottom:16px; }
.home-articles p { font-size:16px; }
.home-articles .home-read-link { margin-top:auto; font-size:14px; }
.planning-info .home-topics { display:flex; flex-wrap:wrap; gap:8px 22px; margin:40px 0 0; padding-top:24px; border-top:1px solid #dcd7d0; font-size:14px; }
.home-faq { display:grid; grid-template-columns:1fr 1.5fr; gap:60px; padding:40px 0 64px; }
.planning-info details { border-top:1px solid #dcd7d0; padding:18px 0; }
.planning-info details:last-child { border-bottom:1px solid #dcd7d0; }
.planning-info summary { color:#292826; font-size:18px; font-weight:500; cursor:pointer; }
.planning-info details p { padding:14px 0 0; margin:0; font-size:16px; }
.home-footer { border-top:1px solid #dcd7d0; padding:24px 0 40px; font-size:13px; }
.planning-info .home-footer nav { margin:12px 0 0; gap:10px 24px; }
@media (max-width:760px) {
 .planning-info { margin-top:40px; padding:0 24px; }
 .home-intro,.home-notebook,.home-faq { grid-template-columns:1fr; gap:24px; }
 .home-intro { padding:32px 0; }
 .home-notebook { padding:28px 24px; }
 .home-notebook > div > p:not(.home-kicker) { max-width:none; }
 .home-reading { padding:44px 0 32px; }
 .home-section-heading { align-items:start; flex-direction:column; }
 .home-articles { grid-template-columns:1fr; }
 .home-faq { padding:24px 0 40px; }
}
@media print { .planning-info { display:none; } }
/* Keep disclosure rows aligned; neutralize the global glass details style. */
.planning-info .home-faq details { background:transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; border:0; border-top:1px solid #dcd7d0; border-radius:0; padding:0; }
.planning-info .home-faq details:last-child { border-bottom:1px solid #dcd7d0; }
.planning-info .home-faq summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 16px; margin:0; }
.planning-info .home-faq summary::-webkit-details-marker { display:none; }
.planning-info .home-faq summary::marker { content:""; }
.planning-info .home-faq summary::after { content:"+"; flex:0 0 24px; text-align:center; color:#6d6863; font-size:25px; line-height:1; font-weight:400; }
.planning-info .home-faq details[open] summary::after { content:"−"; }
.planning-info .home-faq details p { padding:0 56px 22px 16px; }
.home-wedding-image,.home-planning-image { margin:0; }
.home-wedding-image { margin-bottom:48px; }
.home-wedding-image img { display:block; width:100%; height:auto; aspect-ratio:3/2; border-radius:3px; }
.home-planning-image { float:right; width:34%; margin:0 0 32px 32px; }
.home-planning-image img { width:100%; height:auto; display:block; border-radius:3px; }
.home-reading:after { content:""; display:block; clear:both; }
.home-reading .home-articles { grid-template-columns:1fr; gap:20px; }
.home-reading .home-articles article { display:block; }
.home-reading .home-articles .home-kicker { margin-bottom:10px; }
.home-reading .home-articles h3 { margin-bottom:10px; }
.home-wedding-image figcaption,.home-planning-image figcaption { padding-top:12px; color:#81786f; font-size:13px; }
@media (max-width:760px) {
 .home-planning-image { float:none; width:100%; margin:0 0 28px; }
 .home-wedding-image { margin-bottom:32px; }
 .planning-info .home-faq summary { padding:20px 8px; gap:16px; }
 .planning-info .home-faq details p { padding:0 40px 20px 8px; }
}
/* Image-led editorial scenes with readable frosted-glass captions. */
.home-wedding-image,.home-planning-image { position:relative; isolation:isolate; }
.home-wedding-image { overflow:hidden; border-radius:16px; }
.planning-info .home-glass { background:linear-gradient(135deg,rgba(29,34,31,.62),rgba(29,34,31,.42)); border:1px solid rgba(206,213,199,.32); border-radius:16px; box-shadow:0 12px 32px rgba(18,24,20,.22),inset 0 1px 0 rgba(206,213,199,.15); backdrop-filter:blur(24px) saturate(145%); -webkit-backdrop-filter:blur(24px) saturate(145%); padding:24px; color:#f4f2ee; }
.home-wedding-image .home-glass { position:absolute; left:28px; bottom:28px; max-width:430px; }
.planning-info .home-glass h2 { font-size:34px; margin-bottom:12px; }
.planning-info .home-glass .home-kicker { color:#e0e4d9; margin-bottom:12px; font-size:11px; }
.planning-info .home-glass p { font-size:16px; margin-bottom:12px; }
.planning-info .home-glass a { font-size:14px; }
.home-planning-image { width:40%; overflow:hidden; border-radius:16px; }
.home-planning-image img { min-height:400px; object-fit:cover; }
.home-planning-image .home-glass { position:absolute; left:16px; right:16px; bottom:16px; padding:18px; }
.home-planning-image .home-glass p { font-size:16px; }
.home-inspiration { padding:24px 0 64px; }
.home-inspiration .home-section-heading > p { font-size:15px; margin:0; }
.home-event-gallery { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.home-event-scene { position:relative; isolation:isolate; overflow:hidden; border-radius:16px; min-height:510px; display:flex; align-items:end; padding:20px; }
.home-event-scene > img { position:absolute; inset:0; z-index:-1; width:100%; height:100%; object-fit:cover; }
.home-event-scene--wide { grid-column:1/-1; min-height:520px; }
.home-event-scene .home-glass { width:100%; }
.home-event-scene--wide .home-glass { max-width:430px; }
.planning-info .home-event-scene h3 { font-size:27px; margin-bottom:12px; }
@supports not (backdrop-filter:blur(1px)) { .planning-info .home-glass { background:rgba(29,34,31,.94); } }
@media (max-width:760px) {
 .home-event-gallery { grid-template-columns:1fr; gap:20px; }
 .home-event-scene,.home-event-scene--wide { grid-column:auto; min-height:490px; padding:16px; }
 .home-wedding-image img { min-height:500px; object-fit:cover; }
 .home-wedding-image .home-glass { left:16px; right:16px; bottom:16px; max-width:none; padding:20px; }
 .planning-info .home-glass h2 { font-size:28px; }
 .home-planning-image { width:100%; }
 .home-planning-image img { min-height:360px; }
 .home-inspiration { padding-bottom:40px; }
}
@media (prefers-reduced-transparency:reduce) { .planning-info .home-glass { background:#252e28; backdrop-filter:none; -webkit-backdrop-filter:none; } }

.planning-info .home-glass h2,.planning-info .home-glass h3,.planning-info .home-glass a { color:#f4f2ee; }
.planning-info .home-glass a { text-decoration:underline; text-decoration-color:rgba(206,213,199,.6); }
.planning-info .home-glass a:hover { color:#f5c2d6; text-decoration-color:#f5c2d6; }
.planning-info .home-glass a:focus-visible { outline-color:#f5c2d6; }

/* Secondary olive and tertiary rose accents follow the approved reference. */
.home-notebook { background:linear-gradient(135deg,rgba(146,155,60,.14),rgba(146,155,60,.05)); border:1px solid rgba(146,155,60,.25); }
.home-notes li { border-color:rgba(146,155,60,.25); }
.home-notes li::before { color:var(--olive-ink); }
.planning-info .home-kicker { color:var(--olive-ink); }
.home-intro { border-top-color:var(--rose); }
.home-articles article { border-top-color:var(--rose); }
.home-articles article:nth-child(2) { border-top-color:var(--olive); }
.planning-info .home-faq summary::after { color:var(--olive-ink); }
.planning-info .home-glass { background:linear-gradient(135deg,rgba(40,46,24,.65),rgba(59,33,44,.43)); border-color:rgba(227,129,165,.35); }
.planning-info .home-glass .home-kicker { color:#dce3ab; }
@supports not (backdrop-filter:blur(1px)) { .planning-info .home-glass { background:rgba(40,46,24,.94); } }
@media (prefers-reduced-transparency:reduce) { .planning-info .home-glass { background:#282e18; } }

/* Campaign colors remain restrained accents in the product. */
.home-articles article:nth-child(1) { border-top-color:var(--sunshine); }
.home-articles article:nth-child(2) { border-top-color:var(--coral); }
.home-articles article:nth-child(3) { border-top-color:var(--sky); }
.home-event-scene:nth-child(3) .home-glass { border-color:var(--coral); }
.home-event-scene:nth-child(4) .home-glass { border-color:var(--sky); }
.home-event-scene:nth-child(5) .home-glass { border-color:var(--sunshine); }
.home-event-scene:nth-child(3) .home-glass .home-kicker { color:var(--coral-soft); }
.home-event-scene:nth-child(4) .home-glass .home-kicker { color:var(--sky); }
.home-event-scene:nth-child(5) .home-glass .home-kicker { color:var(--sunshine); }
