/* Lunch & Learn v107: upcoming events, real-event gallery, RSVP */
.ll-upcoming{padding:72px 0;background:#fff}
.ll-upcoming-head{text-align:center;max-width:780px;margin:0 auto 34px}
.ll-upcoming-head h2{font:700 clamp(34px,4vw,50px) Georgia,serif;color:#142b50;margin:0 0 10px}
.ll-upcoming-head p{color:#5d6070;line-height:1.7;margin:0 auto;max-width:700px}
.ll-event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ll-event-card{border:1px solid #e3e5eb;border-top:5px solid #d7ab47;border-radius:14px;padding:26px 22px 22px;background:#fff;box-shadow:0 8px 24px rgba(17,38,70,.07);display:flex;flex-direction:column;min-height:270px}
.ll-event-card .city{font:700 25px Georgia,serif;color:#142b50;margin-bottom:7px}
.ll-event-card .state{font-size:12px;font-weight:800;letter-spacing:.12em;color:#527db6;text-transform:uppercase;margin-bottom:22px}
.ll-event-card .date{font-weight:800;color:#27354d;font-size:17px;margin-bottom:5px}
.ll-event-card .time{color:#60677a;margin-bottom:24px}
.ll-event-card .ll-btn{margin-top:auto;text-align:center}
.ll-real{background:#f5f1e8;padding:72px 0}
.ll-real-head{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:28px}
.ll-real-head>div:first-child{max-width:650px}
.ll-real h2{font:700 clamp(34px,4vw,48px) Georgia,serif;color:#142b50;margin:4px 0 10px}
.ll-real p{line-height:1.7;color:#5d6070;margin:0}
.ll-photo-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:250px 250px;gap:14px}
.ll-photo-grid figure{margin:0;overflow:hidden;border-radius:14px;background:#ddd;box-shadow:0 8px 24px rgba(20,43,80,.11)}
.ll-photo-grid figure:first-child{grid-row:1/3}
.ll-photo-grid figure:nth-child(4){grid-column:2/4}
.ll-photo-grid img{display:block;width:100%;height:100%;object-fit:cover}
.ll-photo-note{text-align:center;color:#6b6e7a;font-size:13px;margin-top:16px}
.ll-rsvp{padding:76px 0;background:#142b50;color:#fff}
.ll-rsvp-shell{display:grid;grid-template-columns:.78fr 1.22fr;gap:48px;align-items:start}
.ll-rsvp-copy .ll-eyebrow{color:#e5bd60}
.ll-rsvp-copy h2{font:700 clamp(34px,4vw,50px) Georgia,serif;margin:5px 0 14px;color:#fff}
.ll-rsvp-copy p{line-height:1.75;color:#e2e8f1}
.ll-rsvp-copy .small{font-size:13px;color:#bfc9d8;margin-top:22px}
.ll-form{background:#fff;color:#26344c;border-radius:16px;padding:30px;box-shadow:0 14px 36px rgba(0,0,0,.18)}
.ll-form h3{margin:0 0 22px;color:#142b50;font:700 28px Georgia,serif}
.ll-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}
.ll-field.full{grid-column:1/-1}
.ll-field label,.ll-form fieldset legend{display:block;font-size:13px;font-weight:800;color:#26344c;margin-bottom:7px}
.ll-field input,.ll-field select,.ll-field textarea{width:100%;box-sizing:border-box;border:1px solid #cfd5df;border-radius:8px;padding:12px 13px;font:inherit;color:#26344c;background:#fff}
.ll-field textarea{min-height:90px;resize:vertical}
.ll-form fieldset{border:0;padding:0;margin:0;grid-column:1/-1}
.ll-role-options{display:flex;flex-wrap:wrap;gap:9px 16px}
.ll-role-options label{font-weight:600;color:#465166;font-size:14px;display:flex;align-items:center;gap:7px}
.ll-role-options input{accent-color:#2f67a9}
.ll-consent{font-size:12px;line-height:1.5;color:#677187;margin:4px 0 0}
.ll-form .submit-row{grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ll-form button{border:0;cursor:pointer}
.ll-form-status{font-size:14px;font-weight:700;color:#245b37;min-height:20px}
.ll-form-status.error{color:#9b2d30}
.ll-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:980px){.ll-event-grid{grid-template-columns:repeat(2,1fr)}.ll-rsvp-shell{grid-template-columns:1fr}.ll-real-head{display:block}.ll-photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 220px}.ll-photo-grid figure:first-child{grid-column:1/3;grid-row:auto}.ll-photo-grid figure:nth-child(4){grid-column:auto}}
@media(max-width:620px){.ll-event-grid{grid-template-columns:1fr}.ll-event-card{min-height:0}.ll-photo-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none}.ll-photo-grid figure,.ll-photo-grid figure:first-child,.ll-photo-grid figure:nth-child(4){grid-column:auto;grid-row:auto;height:250px}.ll-form{padding:22px 18px}.ll-form-grid{grid-template-columns:1fr}.ll-field.full,.ll-form fieldset,.ll-form .submit-row{grid-column:1}.ll-rsvp{padding:58px 0}}
