/* Consistent event cards, discreet navigation, transparent social marks. */
#events .events{align-items:stretch;grid-auto-rows:1fr}
#events .events>.event{height:100%;min-height:490px;display:flex;flex-direction:column;gap:18px;padding:32px;border-top:4px solid transparent;grid-column:auto}
#events .events>#dental-horizons-event{border-top-color:#B85C38}
#events .events>.event:only-child{grid-column:auto!important}
#events .event>h3{font-size:30px;line-height:1.12;min-height:3.36em;max-height:3.36em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}
#events .event>.date{min-height:16px;flex-shrink:0}
#events .event>p:first-of-type{font-size:13px;line-height:1.75!important;margin:0;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;min-height:10.5em;max-height:10.5em}
#events .event.compact-event>p:not(:first-of-type){display:none}
#events .event-card-actions{margin-top:auto;min-height:104px;display:flex;gap:12px;align-items:flex-start;align-content:flex-end;flex-wrap:wrap}
#events .event-card-actions>.event-program-button{width:100%;margin:0;align-self:auto;justify-content:space-between}
#events .event-card-actions>.event-button{margin:0;align-self:auto;font-size:10px;padding:12px 17px;min-height:40px}
#events .event-card-actions>.calendar-link{min-height:40px}
.nav{transition:transform .25s ease,opacity .25s ease;will-change:transform}
.nav.nav-scrolled-away{transform:translateY(-110%);pointer-events:none;opacity:0}
.nav:focus-within{opacity:1}
.footer-links>div:last-child{min-width:170px}
.footer-links .social-links{display:flex;flex-direction:row;gap:18px;margin-top:16px;align-items:center}
.footer-links .social-icon-link{width:30px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;padding:0;color:#F0E5DB;position:relative;transition:color .2s ease,transform .2s ease}
.footer-links .social-icon-link:hover{color:#D8B59A;transform:translateY(-3px)}
.footer-links .social-icon-link svg{display:block;width:23px;height:23px;flex:none}
.footer-links .social-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;font-size:1px!important}
@media(min-width:521px) and (max-width:800px){#events .events>.event{padding:25px;min-height:520px}#events .event>h3{font-size:27px}#events .event-card-actions>.event-button{padding:11px 12px;font-size:9px}#events .event-card-actions{min-height:130px}}
@media(max-width:520px){#events .events>.event{min-height:490px;padding:28px}#events .event>h3{font-size:29px}#events .event>p:first-of-type{font-size:12px}#events .event-card-actions{min-height:104px}.footer-links .social-links{gap:23px}}
@media(prefers-reduced-motion:reduce){.nav,.footer-links .social-icon-link{transition:none}}
/* Footer: visible social links beside the identity; a separate membership CTA. */
footer .footer-top{display:grid;grid-template-columns:minmax(280px,1.35fr) minmax(100px,.55fr) minmax(230px,1fr);gap:65px;align-items:start;padding-bottom:55px}
.footer-identity>p{max-width:370px;font-size:13px;line-height:1.85}
.footer-connect{margin-top:28px}
footer .footer-eyebrow{display:block;color:#D8B59A;font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
footer .footer-connect .social-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:14px}
footer .footer-connect .social-icon-link{display:inline-flex;align-items:center;gap:8px;padding:8px 0;color:#F0E5DB;background:none;border:0;font-size:11px;transition:color .2s ease;white-space:nowrap}
footer .footer-connect .social-icon-link:hover{color:#D8B59A}
footer .footer-connect .social-icon-link svg{width:19px;height:19px;display:block}
footer .footer-connect .social-label{position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible;clip:auto;white-space:normal;font-size:11px!important;letter-spacing:0;text-transform:none;font-weight:400;color:inherit}
footer .footer-links{gap:0;padding-top:1px}
footer .footer-links>div:last-child{min-width:0}
footer .footer-links span{margin-bottom:12px}
footer .footer-join{border-inline-start:1px solid rgba(240,229,219,.22);padding-inline-start:32px}
footer .footer-join h3{font:400 32px/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:20px 0 15px;color:#F0E5DB}
footer .footer-join p{font-size:12px;line-height:1.8;margin:0 0 24px;max-width:250px}
footer .footer-join-button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-width:175px;padding:15px 19px;background:#F0E5DB;color:#474329;font-size:12px;font-weight:700;transition:background .2s ease}
footer .footer-join-button:hover{background:#D8B59A}
footer .footer-join-button svg{width:19px;height:19px;flex:none}
@media(max-width:1050px){footer .footer-top{gap:35px;grid-template-columns:minmax(250px,1.3fr) minmax(100px,.6fr) minmax(210px,1fr)}footer .footer-join{padding-inline-start:25px}footer .footer-connect .social-links{gap:18px}footer .footer-connect .social-icon-link{font-size:10px}}
@media(max-width:800px){footer .footer-top{grid-template-columns:1fr 1fr;gap:40px}footer .footer-identity{grid-column:1/-1}footer .footer-identity>p{max-width:470px}footer .footer-join{padding-inline-start:25px}footer .footer-connect .social-links{gap:28px}footer .footer-join h3{font-size:30px}}
@media(max-width:480px){footer .footer-top{grid-template-columns:1fr;gap:35px;padding-bottom:35px}footer .footer-identity{grid-column:auto}footer .footer-join{border-inline-start:0;border-top:1px solid rgba(240,229,219,.22);padding-inline-start:0;padding-top:30px}footer .footer-join-button{min-width:200px}footer .footer-links>div{gap:13px}footer .footer-connect .social-links{gap:22px}footer .footer-connect .social-label{font-size:11px!important}}
.calendar-dialog{width:min(92%,540px);max-height:90vh;margin:auto;padding:0;border:0;background:#F0E5DB;color:#474329;overscroll-behavior:contain;box-shadow:0 30px 100px rgba(0,0,0,.2)}.calendar-content{padding:28px 30px 30px}.calendar-content h2{font:400 35px/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.02em;margin:0 0 22px}.calendar-event{font-size:15px;font-weight:700;margin:0 0 8px}.calendar-date{font-size:12px;margin:0 0 5px}.calendar-zone{font-size:11px;color:#66624c;margin:0 0 23px}.calendar-options{display:grid;gap:10px}.calendar-option{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border:1px solid rgba(71,67,41,.3);gap:20px;min-height:64px}.calendar-option:hover{background:#e5d5c7;border-color:#914326}.calendar-option-label{display:flex;flex-direction:column;gap:4px}.calendar-option strong{font-size:13px;font-weight:600}.calendar-option small{font-size:10px;color:#66624c}.calendar-option-arrow{color:#914326;font-size:20px}.calendar-hint{font-size:11px;line-height:1.7;margin:20px 0 10px}.calendar-file-hint{font-size:10px;line-height:1.7;color:#66624c}.calendar-dialog .dialog-brand{font-size:8px}
@media(max-width:480px){.calendar-content{padding:25px 22px}.calendar-content h2{font-size:30px}.calendar-option{padding:13px 15px}.calendar-dialog .dialog-toolbar{padding:14px 22px}}
