/* Timing Perfection | Events experience. Works alongside existing home.css. */
body:has(.tp-events-page) { background:#080808; }
body:has(.tp-events-page) .site-header { background:rgba(8,8,8,.96); border-bottom:1px solid rgba(212,175,55,.2); }
body:has(.tp-events-page) .site-header .header-book { border-radius:999px; }
.tp-events-page { --tp-black:#080808; --tp-cream:#f3efe7; --tp-gold:#d4af37; --tp-gold-light:#efd278; --tp-teal:#315e61; }
.tp-events-page a:focus-visible,.tp-events-page button:focus-visible { outline:3px solid #e2be60; outline-offset:3px; }
.tp-events-page .tp-ev-hero { min-height:min(710px,80vh);background:linear-gradient(90deg,rgba(0,0,0,.91),rgba(0,0,0,.55) 58%,rgba(0,0,0,.26)),url('../img/home/hero-skyline.jpg') center/cover; }
.tp-events-page .tp-ev-hero h1 { max-width:900px; font-size:clamp(58px,8.4vw,107px); }
.tp-events-page .tp-ev-hero h1 em { color:var(--tp-gold-light); }
.tp-events-page .tp-ev-upcoming { padding:110px 0 118px; background:#0b0b0b; }
.tp-events-page .tp-ev-upcoming .tp-section-heading p:not(.tp-kicker) { max-width:410px;color:#b1ada5;line-height:1.8; }
.tp-events-page .tp-ev-card-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px; }
.tp-events-page .tp-ev-card { min-width:0; display:flex; flex-direction:column; background:#191919; border:1px solid #3b3428; }
.tp-events-page .tp-ev-card-image {display:block;position:relative;aspect-ratio:1.48/1;overflow:hidden;background:#1d1c17;}
.tp-events-page .tp-ev-card-image img {width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.tp-events-page .tp-ev-card-image:hover img {transform:scale(1.035);}
.tp-events-page .tp-ev-card-date {position:absolute;right:12px;top:12px;background:#f3efe7;color:#1c1710;padding:7px 11px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;}
.tp-events-page .tp-ev-card-body {padding:26px 23px 27px;display:flex;flex-direction:column;gap:10px;flex:1;}
.tp-events-page .tp-ev-card-body .tp-kicker {margin-bottom:0!important;font-size:9px;letter-spacing:2px;}
.tp-events-page .tp-ev-card h3 {font:400 clamp(23px,2vw,30px)/1.12 Georgia,serif;letter-spacing:-.025em;}
.tp-events-page .tp-ev-card h3 a {color:#fff;}
.tp-events-page .tp-ev-card h3 a:hover {color:var(--tp-gold-light);}
.tp-events-page .tp-ev-card-meta {font-size:12px;line-height:1.55;color:#c0beb8;}
.tp-events-page .tp-ev-price {font-size:11px;color:#efd278;text-transform:uppercase;letter-spacing:.12em;margin-top:5px!important;}
.tp-events-page .tp-ev-card .tp-text-link {margin-top:auto;padding-top:20px;}
.tp-events-page .tp-ev-centered {display:flex;justify-content:center;margin-top:42px;}
.tp-events-page .tp-ev-empty {border:1px solid #403628;background:#191919;padding:42px;max-width:780px;}
.tp-events-page .tp-ev-empty h3 {font:400 35px Georgia,serif;margin-bottom:12px;}
.tp-events-page .tp-ev-empty p {color:#c4c0b7;font-size:14px;}
.tp-events-page .tp-ev-calendar-section {padding:115px 0 120px;background:var(--tp-cream);color:#111;scroll-margin-top:90px;}
.tp-events-page .tp-ev-heading-dark .tp-kicker {color:#896519;}
.tp-events-page .tp-ev-heading-dark h2 {color:#181818;}
.tp-events-page .tp-ev-heading-dark h2 em {color:#92701e;}
.tp-events-page .tp-ev-heading-dark > p {color:#635d51;max-width:430px;}
.tp-events-page .tp-ev-cal-panel {border:1px solid #d0c8b8;background:#fff;box-shadow:0 10px 28px rgba(40,35,25,.05);}
.tp-events-page .tp-ev-cal-controls {display:flex;justify-content:space-between;gap:25px;align-items:center;padding:28px 30px;background:#111;color:#fff;}
.tp-events-page .tp-ev-cal-controls h3 {font-size:clamp(28px,3vw,43px);}
.tp-events-page .tp-ev-cal-controls nav {display:flex;flex-wrap:wrap;gap:9px;}
.tp-events-page .tp-ev-cal-controls a {border:1px solid #8a703a;color:#f4e7c2;letter-spacing:.07em;text-transform:uppercase;font-size:10px;padding:11px 13px;white-space:nowrap;}
.tp-events-page .tp-ev-cal-controls a:hover {background:#d4af37;color:#111;}
.tp-events-page .tp-ev-cal-desktop {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));}
.tp-events-page .tp-ev-cal-weekday {padding:15px 8px;text-align:center;font:700 11px Arial,sans-serif;letter-spacing:2px;color:#694f17;background:#f6f1e8;text-transform:uppercase;border-right:1px solid #d9d4cb;border-bottom:1px solid #ded8cc;}
.tp-events-page .tp-ev-cal-cell {min-width:0;min-height:148px;border-right:1px solid #e4dfd6;border-bottom:1px solid #e4dfd6;padding:12px 10px;}
.tp-events-page .tp-ev-cal-empty {background:#f5f2ed;}
.tp-events-page .tp-ev-cal-day {display:flex;justify-content:center;align-items:center;width:29px;height:29px;font:600 12px Arial,sans-serif;color:#4f4536;margin-bottom:8px;}
.tp-events-page .tp-ev-cal-today .tp-ev-cal-day {background:#1b1b1b;color:#efd278;border-radius:50%;}
.tp-events-page .tp-ev-cal-event {display:block;background:#24494b;color:#fff;padding:7px 8px;margin:5px 0;font-size:11px;line-height:1.25;overflow-wrap:anywhere;}
.tp-events-page .tp-ev-cal-event:hover {background:#102d30;color:#fff;}
.tp-events-page .tp-ev-calendar-notice {font-size:12px;line-height:1.6;color:#635c51;margin-top:20px!important;}
.tp-events-page .tp-ev-cal-mobile {display:none;}
.tp-events-page .tp-ev-host .tp-actions {justify-content:center;}
.tp-events-page .tp-ev-simple-hero {padding:170px 0 90px;background:linear-gradient(120deg,#0d0d0d,#20201c);}
.tp-events-page .tp-ev-simple-hero h1 {max-width:980px;font:400 clamp(45px,7vw,95px)/.98 Georgia,serif;letter-spacing:-.045em;color:#fff;}
.tp-events-page .tp-ev-simple-hero h1 em {color:var(--tp-gold-light);}
.tp-events-page .tp-ev-simple-hero .tp-ev-simple-subtitle {color:#e6dfd1;margin-top:27px;line-height:1.8;font-size:16px;}
.tp-events-page .tp-ev-simple-hero > .tp-container > p:not(.tp-kicker) {max-width:720px;}
.tp-events-page .tp-ev-detail-main {background:#101010;padding:95px 0 115px;}
.tp-events-page .tp-ev-detail-grid {display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.85fr);gap:58px;align-items:start;}
.tp-events-page .tp-ev-detail-image {margin:0;background:#26241d;}
.tp-events-page .tp-ev-detail-image img {display:block;width:100%;height:auto;max-height:650px;object-fit:contain;}
.tp-events-page .tp-ev-detail-story {padding-top:55px;}
.tp-events-page .tp-ev-detail-story h2 {font-size:clamp(45px,5vw,66px);margin-bottom:22px;}
.tp-events-page .tp-ev-detail-story h2 em {color:#f0d780;}
.tp-events-page .tp-ev-detail-story > p:not(.tp-kicker) {color:#d1ccc4;line-height:2;font-size:15px;}
.tp-events-page .tp-ev-detail-aside {border:1px solid #51442b;background:#1a1915;padding:32px;scroll-margin-top:110px;}
.tp-events-page .tp-ev-detail-aside > h2 {font-size:48px;margin-bottom:20px;}
.tp-events-page .tp-ev-detail-aside > h2 em {color:#e8cb72;}
.tp-events-page .tp-ev-detail-aside dl {display:grid;grid-template-columns:95px 1fr;gap:15px 14px;padding:23px 0;border-block:1px solid #48412f;margin:0 0 26px;}
.tp-events-page .tp-ev-detail-aside dt {text-transform:uppercase;letter-spacing:1.8px;color:#c4a666;font-size:10px;padding-top:3px;}
.tp-events-page .tp-ev-detail-aside dd {margin:0;color:#f2efe8;font-size:13px;overflow-wrap:anywhere;}
.tp-events-page .tp-ev-embed-label {font:400 26px Georgia,serif;color:#fff;margin:0 0 8px!important;}
.tp-events-page .tp-ev-embed-note {font-size:12px;color:#bcb6aa;line-height:1.8;margin-bottom:13px!important;}
.tp-events-page .tp-ev-register-frame {width:100%;height:730px;display:block;border:0;background:white;}
.tp-events-page .tp-ev-direct-link {display:flex;width:100%;margin-top:16px;text-align:center;}
.tp-events-page .tp-ev-msg {padding:24px;background:#2a281e;border:1px solid #716039;color:#e6d7ac;font-size:14px;line-height:1.7;}
.tp-events-page .tp-ev-share {border-top:1px solid #40382a;margin-top:25px;padding-top:27px;}
.tp-events-page .tp-ev-share-row {display:flex;flex-wrap:wrap;gap:15px;}
.tp-events-page .tp-ev-share-row a {color:#e9c978;font-size:12px;}
.tp-events-page .tp-ev-share-row a:hover {text-decoration:underline;}
.tp-events-page .tp-ev-copy {border:1px solid #9f833b;background:transparent;color:#f2e8cb;padding:11px 14px;cursor:pointer;font-size:12px;margin-top:20px;}
.tp-events-page .tp-ev-add-cal {display:inline-flex;margin-top:22px;}
.tp-events-page .tp-ev-series-banner {margin-top:50px;padding:30px;background:#183335;border:1px solid #3d6566;}
.tp-events-page .tp-ev-series-banner h3 {font:400 30px Georgia,serif;margin:8px 0 18px;}
.tp-events-page .tp-ev-bottom {background:#151515;border-top:1px solid #3b3325;padding:45px 0;}
.tp-events-page .tp-ev-series-intro {padding:100px 0;background:#f3efe7;color:#161616;}
.tp-events-page .tp-ev-series-grid {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:65px;align-items:center;}
.tp-events-page .tp-ev-series-grid img {width:100%;display:block;}
.tp-events-page .tp-ev-series-grid .tp-kicker {color:#8c6721;}
.tp-events-page .tp-ev-series-grid h2 {font-size:clamp(45px,6vw,76px);margin-bottom:20px;}
.tp-events-page .tp-ev-series-grid h2 em {color:#88651d;}
.tp-events-page .tp-ev-series-grid p:not(.tp-kicker) {font-size:15px;line-height:1.9;color:#585248;}
.tp-events-page .tp-ev-host-name {margin-top:18px!important;font-weight:700;}
@media(max-width:1100px) {.tp-events-page .tp-ev-card-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.tp-events-page .tp-ev-cal-cell {min-height:122px;}.tp-events-page .tp-ev-detail-grid {gap:30px;}}
@media(max-width:800px) {.tp-events-page .tp-ev-detail-grid,.tp-events-page .tp-ev-series-grid {grid-template-columns:1fr;}.tp-events-page .tp-ev-detail-aside {max-width:700px;}.tp-events-page .tp-ev-cal-desktop {display:none;}.tp-events-page .tp-ev-cal-mobile {display:block;padding:20px;}.tp-events-page .tp-ev-cal-mobile h4 {font:400 27px Georgia,serif;margin:0 0 15px;}.tp-events-page .tp-ev-cal-mobile a {display:grid;grid-template-columns:70px 1fr 20px;gap:12px;align-items:center;border-top:1px solid #e3ded6;padding:16px 4px;color:#252018;}.tp-events-page .tp-ev-cal-mobile a strong {color:#86651a;font-size:14px;}.tp-events-page .tp-ev-cal-mobile a span {font-size:14px;line-height:1.5;}.tp-events-page .tp-ev-cal-mobile a small {display:block;color:#6d6a64;margin-top:4px;}.tp-events-page .tp-ev-cal-mobile p {color:#6d675f;font-size:14px;}}
@media(max-width:620px) {.tp-events-page .tp-ev-card-grid {grid-template-columns:1fr;}.tp-events-page .tp-ev-upcoming,.tp-events-page .tp-ev-calendar-section {padding:80px 0;}.tp-events-page .tp-ev-hero {min-height:620px;}.tp-events-page .tp-ev-hero h1 {font-size:clamp(46px,12vw,65px);}.tp-events-page .tp-ev-cal-controls {align-items:flex-start;flex-direction:column;padding:22px;}.tp-events-page .tp-ev-cal-controls nav {gap:6px;}.tp-events-page .tp-ev-cal-controls nav a {font-size:9px;padding:10px 9px;}.tp-events-page .tp-ev-simple-hero {padding:140px 0 65px;}.tp-events-page .tp-ev-detail-main {padding:65px 0;}.tp-events-page .tp-ev-detail-aside {padding:22px 18px;}.tp-events-page .tp-ev-register-frame {height:810px;}.tp-events-page .tp-ev-detail-aside dl {grid-template-columns:78px 1fr;gap:12px 8px;}.tp-events-page .tp-ev-series-intro {padding:65px 0;}}
@media(prefers-reduced-motion:reduce) {.tp-events-page * {transition:none!important;scroll-behavior:auto!important;}}

.tp-events-page .tp-ev-series-share {background:#f3efe7;color:#191919;padding:28px 0;border-top:1px solid #d8ccae;}
.tp-events-page .tp-ev-series-share .tp-kicker {color:#866421;}
.tp-events-page .tp-ev-series-share .tp-ev-share-row a {color:#694a12;align-self:center;}
.tp-events-page .tp-ev-series-share .tp-ev-copy {color:#111;margin:0;}
