/* Preserve existing image layout while allowing responsive picture sources. */
picture.responsive-photo{display:contents}
.invite-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid var(--line);border-radius:24px;background:var(--tint);margin:0 auto 32px}
.invite-card h2{font-size:22px;margin:0 0 6px}.invite-card time{font-size:14px}.invite-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.invite-card-actions button{font:inherit;color:inherit;background:transparent;border:0;text-decoration:underline;cursor:pointer;min-height:44px}
@media(max-width:760px){.invite-card{flex-direction:column;align-items:flex-start}.invite-card-actions{width:100%}
 main p a:not(.btn),.back,.profile-email,.event-actions>a:not(.btn),.document-card a,footer a{display:inline-block;min-height:44px;padding-top:10px;padding-bottom:10px}
 .guide-index a,.team-jump a{min-height:44px}.gallery-caption small,.event-kind,.path-caption,.cycle-label,.value-number,.f .msg,.submit-row small,.guide-index>a>span{font-size:14px!important}
}

@media(max-width:760px){.event-card .event-kind,.f .msg,.gallery-caption small,.guide-index>a>span,.guide-index>p,.path-caption,.reference-card figcaption strong,.school-photo figcaption,.school-toc strong,.team-cards .cycle-label,.value-number{font-size:14px!important}}

@media(max-width:760px){.event-card .event-kind,.f .msg,.gallery-caption small,.guide-index>a>span,.guide-index>p,.path-caption,.reference-card figcaption strong,.school-photo figcaption,.school-toc strong,.team-cards .cycle-label,.value-number{font-size:14px!important}}

/* Prominent invitation strip directly below the main photograph. */
.invite-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;text-align:left;width:100%;box-sizing:border-box;background:#e7f3c4;border:1px solid #c3da83;border-left:8px solid #98c727;border-radius:12px;padding:26px 30px;margin:24px 0 0;order:2}
.invite-strip>time{font-size:clamp(36px,4vw,54px);font-weight:700;line-height:1;white-space:nowrap;letter-spacing:-1.5px;color:#314818}
.invite-strip h2{font-size:clamp(23px,2.4vw,30px);line-height:1.2;margin:0 0 8px}
.invite-strip-copy p{font-size:16px;line-height:1.5;margin:0;color:#303036}
.invite-strip .invite-card-actions{display:flex;flex-direction:column;gap:4px;align-items:center}
.invite-strip .invite-card-actions button{font-size:14px;padding:10px 12px;min-height:44px}
@media(max-width:900px){.invite-strip{grid-template-columns:auto minmax(0,1fr);gap:16px 20px;padding:22px}.invite-strip .invite-card-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;gap:8px 16px}}
@media(max-width:480px){.invite-strip{padding:20px 16px;gap:16px;border-left-width:6px}.invite-strip>time{font-size:36px}.invite-strip h2{font-size:23px}.invite-strip-copy p{font-size:15px}.invite-strip .btn{padding-inline:20px}}
