.topic-page{background:#f7f7f9}
.topic-page .page-intro{max-width:950px}
.topic-page .page-intro h1{font-family:"Bricolage Grotesque",Inter,Arial,sans-serif;font-weight:800;letter-spacing:-.035em;line-height:1.12;font-size:clamp(38px,5.3vw,68px)}
.topic-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:64px;align-items:start;padding:10px 0 75px}
.topic-copy article+article{margin-top:30px;padding-top:30px;border-top:1px solid var(--line)}
.topic-copy h2{font-size:25px;line-height:1.3;letter-spacing:-.035em;margin-bottom:12px}
.topic-copy p{font-size:17px;line-height:1.85;color:#555267}
.topic-preview{min-width:0;border:1px solid var(--line);border-radius:25px;background:#fff;padding:28px;box-shadow:0 16px 40px #2622360a}
.topic-preview>figcaption{margin-top:22px;font-size:14px;line-height:1.65;color:var(--muted);text-align:center}
.topic-preview .class-photo{height:auto;aspect-ratio:3/2}
.topic-preview .post-byline>.post-tag{display:none}
.topic-preview .sample-event{margin-top:0;padding:22px;gap:18px}
.topic-preview .writing-example{border:0;box-shadow:none;padding:0}
.topic-preview .reply-board{margin:0;transform:none;padding:0;box-shadow:none}
.topic-preview .invitation-paper{box-shadow:none;transform:none;padding:20px 12px}
.topic-preview .invitation-paper:before{display:none}
.topic-note{background:#fff8bc;border:1px solid #ece2a4;border-radius:18px;padding:28px;font-size:25px;line-height:1.5;letter-spacing:-.025em;font-weight:750;text-wrap:balance}
.topic-message{margin:18px 0;padding:18px 20px;background:#f2eeff;border-radius:16px;font-size:16px;line-height:1.75}
.topic-message strong{display:block;margin-bottom:7px}
.topic-message-reply{margin-left:32px;background:#e4f8f0}
.topic-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.topic-list li{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid var(--line);border-radius:14px;line-height:1.5;font-size:16px}
.topic-list .icon{color:var(--purple)}
.topic-list span{display:block;color:var(--muted);font-size:14px}
.topic-children-title{font-size:26px;line-height:1.3;letter-spacing:-.035em;margin-bottom:18px}
.topic-children-all{padding:14px 18px;margin-bottom:18px;border-radius:14px;background:#eeeaff;color:#4c28d1;font-size:16px;font-weight:700;line-height:1.5}
.topic-children-note{font-size:15px;line-height:1.7;color:var(--muted);margin-top:20px}
.topic-photo-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.topic-photo-heading h2{font-family:"Bricolage Grotesque",Inter,Arial,sans-serif;font-size:28px;letter-spacing:-.035em;line-height:1.2}
.topic-photo-heading>span{border-radius:100px;background:#f2eeff;color:#4c28d1;padding:7px 12px;font-size:13px;font-weight:650;line-height:1.5}
.topic-photo-memory{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}
.topic-photo-memory>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.topic-photo-selection{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 10px;padding:14px 10px;font-size:13px;line-height:1.5}
.topic-photo-selection>span{color:var(--muted)}
.topic-photo-selection ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;list-style:none;padding:0;margin:0}
.topic-photo-selection li{padding:6px 10px;border-radius:100px;background:#b2f1df;color:#235f50;font-weight:750}
.topic-photo-keepsake{display:flex;align-items:center;gap:12px;margin-top:20px;padding:17px;background:#f2eeff;border-radius:16px}
.topic-photo-keepsake .icon{color:#4c28d1;flex:none}
.topic-photo-keepsake p{font-size:14px;line-height:1.65}
.topic-photo-keepsake strong,.topic-photo-keepsake p>span{display:block}
.topic-photo-keepsake p>span{color:#555267}
.topic-copy .inline-link{margin-top:10px}
.topic-meter{text-align:center;padding:26px 12px;background:#e4f8f0;border-radius:18px;margin-bottom:24px}
.topic-meter strong{display:block;font-family:"Bricolage Grotesque",Inter,Arial,sans-serif;font-size:76px;line-height:1.1;font-weight:800;color:#235f50;letter-spacing:-.04em}
.topic-meter p{font-size:17px;line-height:1.7;margin-top:12px}
.topic-related{padding:10px 0 70px;text-align:center}
.topic-related h2{font-size:24px;letter-spacing:-.035em;margin-bottom:20px}
.topic-related>div{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.topic-related .button{border-color:#d5cceb}
.topic-video .overview-section{margin-bottom:55px}
.topic-video-notes{max-width:760px;margin:0 auto 70px;padding:0 24px}
.topic-video-notes h2{font-size:25px;line-height:1.3;letter-spacing:-.03em;margin-bottom:15px}
.topic-video-notes p{font-size:17px;line-height:1.8;color:#555267}
.topic-video-notes ol{padding-left:24px;line-height:1.8;font-size:17px;color:#555267}
.site-footer .footer-topic-list a[aria-current="page"]{background:#4c28d1;color:#fff}
@media(max-width:850px){.topic-story{grid-template-columns:1fr;gap:35px;max-width:760px}.topic-preview{max-width:580px;width:100%;justify-self:center}.topic-copy{order:2}}
@media(max-width:600px){.topic-page .page-intro h1{font-size:clamp(34px,9vw,46px);letter-spacing:-.035em}.topic-story{padding-top:0;padding-bottom:45px;gap:30px}.topic-copy h2{font-size:23px}.topic-copy p{font-size:16px;line-height:1.8}.topic-preview{padding:23px 20px;border-radius:21px}.topic-preview .sample-event{padding:18px 15px}.topic-preview .post-byline strong{font-size:13px}.topic-note{font-size:24px;padding:24px}.topic-related{padding-bottom:50px}.topic-related h2{font-size:23px}.topic-meter strong{font-size:64px}.topic-video .overview-section{width:calc(100% - 40px);margin-bottom:35px}.topic-video-notes{padding-inline:20px;margin-bottom:45px}}
