.tspe-calendar,.tspe-upcoming{--tspe-red:#e90802;--tspe-ink:#1c1c1b;--tspe-paper:#f6f3ee;--tspe-rule:#d9d4cd;font-family:Arial,Helvetica,sans-serif;color:var(--tspe-ink);line-height:1.6;box-sizing:border-box}
.tspe-calendar *,.tspe-upcoming *{box-sizing:border-box}.tspe-calendar{width:min(1240px,88%);margin:0 auto;padding:64px 0 80px;scroll-margin-top:95px}.tspe-calendar a{color:inherit}.tspe-kicker{font-size:10px!important;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#ad160e!important;margin:0 0 14px!important}.tspe-calendar h2{font:700 clamp(34px,4.5vw,64px)/1.05 Georgia,serif;letter-spacing:-.045em;margin:12px 0 20px}.tspe-calendar h2 span{color:#777;font-weight:400}.tspe-calendar h3{font:700 28px/1.15 Georgia,serif;letter-spacing:-.025em;margin:8px 0}.tspe-calendar p{margin:10px 0}.tspe-calendar-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.tspe-calendar-nav,.tspe-view{display:flex;gap:6px;align-items:center}.tspe-calendar-nav a,.tspe-view a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border:1px solid var(--tspe-rule);text-decoration:none!important;font-size:14px;font-weight:700}.tspe-calendar-nav a:hover,.tspe-view a:hover,.tspe-view a[aria-current]{background:var(--tspe-ink);color:#fff}.tspe-controls{display:flex;justify-content:space-between;align-items:end;gap:25px;border-top:2px solid var(--tspe-ink);padding:25px 0 12px;margin-top:25px}.tspe-controls form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.tspe-controls label{font-size:12px;font-weight:700}.tspe-controls input,.tspe-controls select,.tspe-field input{display:block;border:1px solid #9c978f;background:white;color:#1c1c1b;border-radius:0;padding:12px;font:400 16px/1.4 Arial,sans-serif;min-height:48px;max-width:100%;margin-top:6px}.tspe-controls input{width:240px}.tspe-controls select{width:200px}.tspe-calendar .tspe-button,.tspe-upcoming .tspe-button{display:inline-flex;justify-content:center;align-items:center;border:1px solid #b90802;border-radius:0;padding:13px 20px;min-height:48px;background:#c20d06;color:#fff!important;text-decoration:none!important;font:700 12px/1.5 Arial,sans-serif;cursor:pointer;transition:background .18s,transform .18s}.tspe-button:hover{background:#9a1009!important;transform:translateY(-2px)}.tspe-calendar-caption{font-size:12px;color:#5a5651;margin-bottom:16px!important}.tspe-month-scroll{overflow-x:auto}.tspe-month{border-collapse:collapse;table-layout:fixed;width:100%;min-width:580px}.tspe-month th{padding:12px;border-bottom:1px solid #8c877e;text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.tspe-month td{height:105px;border:1px solid #dedad2;vertical-align:top;padding:10px}.tspe-month .is-outside{background:#f6f3ee}.tspe-day{display:inline-flex;align-items:center;justify-content:center;font-size:13px;width:28px;height:28px}.is-today .tspe-day{background:var(--tspe-ink);color:white;border-radius:50%}.tspe-month td a{display:block;padding:8px 7px;border-left:3px solid var(--tspe-red);margin:5px -3px 0;background:#f6f3ee;font-size:12px;font-weight:700;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}.tspe-month td a:hover{background:#ece5da}.tspe-month td a span{display:block;font-size:10px;font-weight:400;margin-bottom:3px}.tspe-list{display:none}.tspe-calendar[data-view=list] .tspe-month-scroll{display:none}.tspe-calendar[data-view=list] .tspe-list{display:block}.tspe-event-row{display:grid;grid-template-columns:65px 1fr 30px;align-items:center;gap:25px;border-bottom:1px solid var(--tspe-rule);padding:28px 0;text-decoration:none!important;color:inherit!important}.tspe-event-row time{text-align:center;line-height:1.1;color:#ad160e}.tspe-event-row time b{display:block;font:700 40px/1 Georgia,serif}.tspe-event-row time span{font-size:11px;text-transform:uppercase;letter-spacing:.15em}.tspe-event-row h3{margin:8px 0 10px}.tspe-event-row p{font-size:14px;margin:0;color:#615d56}.tspe-event-row>span{font-size:25px;transition:transform .2s}.tspe-event-row:hover>span{transform:translate(3px,-3px)}.tspe-empty{display:flex;gap:25px;align-items:start;background:var(--tspe-paper);padding:30px;margin-top:22px;border-top:3px solid var(--tspe-red)}.tspe-empty>span{font-size:40px;color:var(--tspe-red);line-height:1}.tspe-empty h3{font-size:25px;margin:0 0 10px}.tspe-empty p{font-size:15px;max-width:640px;color:#5a5651;margin:0}.tspe-calendar-foot{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid var(--tspe-rule);margin-top:35px;padding-top:20px;font-size:12px}.tspe-calendar-foot p{max-width:620px;color:#625e58}.tspe-calendar-foot a{font-weight:700;white-space:nowrap;text-underline-offset:4px}.tspe-event-detail{max-width:900px}.tspe-event-detail h2{margin-top:16px}.tspe-back{display:inline-block;margin-bottom:35px;font-size:13px}.tspe-facts{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-block:1px solid var(--tspe-rule);padding:24px 0;margin:25px 0}.tspe-facts dt{font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.tspe-facts dd{margin:9px 0 0;font-size:16px}.tspe-description{font-size:17px;margin-bottom:30px}.tspe-checkin{max-width:620px;margin:auto}.tspe-checkin h2{font-size:clamp(34px,5vw,54px)}.tspe-field{display:block;font-weight:700;font-size:14px;margin:24px 0}.tspe-field input{width:100%}.tspe-checkin fieldset{border:1px solid var(--tspe-rule);padding:18px;margin:28px 0}.tspe-checkin legend{font-weight:700;font-size:14px}.tspe-checkin fieldset label{display:inline-flex;gap:9px;align-items:center;margin:0 20px 4px 0;min-height:44px}.tspe-checkin input[type=radio]{width:20px;height:20px;accent-color:#b90802}.tspe-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.tspe-note{font-size:12px!important;line-height:1.65;color:#615d56;margin:24px 0!important}.tspe-feedback{border-left:4px solid #ad160e;background:#fff0ed;padding:18px;font-size:16px}.tspe-feedback.is-success{border-color:#37634b;background:#edf7f1}.tspe-upcoming{background:var(--tspe-paper);padding:35px}.tspe-upcoming>h3{font:700 clamp(34px,4vw,50px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:20px 0}.tspe-upcoming>p:not(.tspe-kicker){font-size:15px;line-height:1.7;color:#615d56;margin:20px 0 26px}.tspe-upcoming .tspe-event-row{gap:18px;grid-template-columns:48px 1fr 18px;padding:20px 0}.tspe-upcoming .tspe-event-row h3{font:700 25px/1.15 Georgia,serif;letter-spacing:-.02em}.tspe-upcoming .tspe-event-row time b{font-size:32px}.tspe-calendar :is(a,button,input,select):focus-visible,.tspe-upcoming a:focus-visible{outline:3px solid #b30802;outline-offset:4px}.tspe-calendar input:focus-visible{outline-offset:1px}
.tt-nav-wrap{border-top:3px solid #e90802}.tt-home .hero-img img{clip-path:polygon(3% 0,100% 0,100% 100%,0 100%)}.tt-home .interaction-hint{color:#625e58!important}.tt-home .hero-number{color:#625e58!important}.tt-page .note{color:#625e58!important}.tt-page .hero.split .hero-copy>div:last-child:has(.cta){display:flex;gap:12px;flex-wrap:wrap}.tt-page .hero.split .hero-copy>div:last-child .cta{margin-left:0!important}.tt-page .pair{row-gap:35px}.tt-page .section:has(.tspe-calendar){padding:0}.tt-page .hero .cta{align-self:flex-start}.tt-page .hero:not(.split){padding-block:80px}.tspe-event-mode .tspe-events-intro,.tspe-event-mode .tspe-events-after{display:none}.tt-nav .tt-links a[aria-current=page]{text-decoration:underline!important;text-underline-offset:7px;text-decoration-color:#b90802!important}.tspe-reveal{animation:tspe-enter .45s ease-out}.tt-home .program .open-content{animation-duration:.25s}
@keyframes tspe-enter{from{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:850px){.tspe-controls{align-items:start;flex-direction:column;gap:15px}.tspe-controls form{width:100%}.tspe-controls label{flex:1}.tspe-controls input,.tspe-controls select{width:100%}.tspe-calendar-heading{align-items:center}.tspe-facts{grid-template-columns:1fr}.tspe-calendar-foot{align-items:start;flex-direction:column;gap:8px}.tt-home .hero-img img{clip-path:none}}
@media(max-width:600px){.tspe-calendar{width:88%;padding-block:40px 60px}.tspe-calendar-heading{display:block}.tspe-calendar-nav{margin-top:20px}.tspe-calendar[data-view=auto] .tspe-month-scroll{display:none}.tspe-calendar[data-view=auto] .tspe-list{display:block}.tspe-controls form{display:grid;grid-template-columns:1fr}.tspe-controls input,.tspe-controls select{width:100%}.tspe-view{width:100%}.tspe-view a{flex:1}.tspe-event-row{grid-template-columns:45px 1fr 18px;gap:17px}.tspe-event-row h3{font-size:25px}.tspe-empty{padding:23px;gap:16px}.tspe-empty h3{font-size:23px}.tspe-checkin .tspe-button{width:100%}.tspe-checkin fieldset label{display:flex}.tspe-upcoming{padding:27px}.tt-page .hero.split .hero-copy>div:last-child:has(.cta){display:block}.tt-page .hero-copy .cta{margin-left:0!important}}
@media(prefers-reduced-motion:reduce){.tspe-reveal{animation:none}.tspe-calendar *,.tspe-upcoming *{scroll-behavior:auto!important;transition:none!important}.tt-home .hero-img img{clip-path:none}}

.tspe-calendar h1{font:700 clamp(34px,4.5vw,64px)/1.05 Georgia,serif;letter-spacing:-.045em;margin:12px 0 20px}.tt-home .events{background:#ede8df;color:#1c1c1b}.tt-home .events .lead{color:#55504b}.tt-home .events .tspe-upcoming{background:white}.tt-home .program summary{min-height:330px}.tt-home .explorer{min-height:330px}.tspe-events-intro.hero.split{min-height:380px}.tt-page .tspe-events-intro .hero-copy{padding-block:60px}.tt-page .tspe-events-intro .hero-img{min-height:380px}.tt-page .tspe-events-intro.hero h1{font-size:clamp(55px,6vw,88px)}@media(max-width:850px){.tt-home .program summary{min-height:180px}.tt-page .tspe-events-intro .hero-img{display:none}.tt-page .tspe-events-intro .hero-copy{padding-block:45px}.tspe-events-intro.hero.split{min-height:0}}

/* Existing page styles are inline; use scoped selectors with explicit priority. */
.tspe-event-mode .tt-page .tspe-events-intro.hero,.tspe-event-mode .tt-page .tspe-events-after{display:none!important}
.tt-page .tspe-events-intro.hero.split{min-height:380px}
.tt-home .programs .explorer{min-height:330px}
.tt-home .explorer .program summary{min-height:330px}
.tt-home section.events{background:#ede8df;color:#1c1c1b}
.tt-home section.events .lead{color:#55504b}
.tt-home section.events .tspe-upcoming{background:white}
@media(max-width:850px){.tt-home .explorer .program summary{min-height:180px}.tt-page .tspe-events-intro.hero.split{min-height:0}}

/* TSPE blue accents. Blue sampled from the TSPE/NSPE-TX chapter logo. */
.tt-home,.tt-page,.tt-nav-wrap,.tspe-calendar,.tspe-upcoming{--tspe-blue:#0c67a4;--tspe-blue-tint:#edf5fa}
.tt-nav .tt-brand-name{color:var(--tspe-blue)}
.tt-home .hero .eyebrow:before,.tt-home .mentor .eyebrow:before,.tt-page .hero .eyebrow:before{background:var(--tspe-blue)}
.tt-home .hero .action.outline{color:var(--tspe-blue)!important;border-color:var(--tspe-blue)}
.tt-home .hero .action.outline:hover{background:var(--tspe-blue);color:white!important}
.tt-home .programs .program:nth-child(2){box-shadow:inset 0 3px 0 var(--tspe-blue)}
.tt-home .mentor .mentor-journey .count{color:var(--tspe-blue)}
.tt-home .mentor .mentor-journey details[open]{border-top-color:var(--tspe-blue);background:var(--tspe-blue-tint)}
.tt-home .mentor .mentor-journey summary:focus-visible{outline-color:var(--tspe-blue)}
.tspe-calendar .tspe-kicker,.tspe-upcoming .tspe-kicker{color:var(--tspe-blue)!important}
.tspe-calendar .tspe-controls{border-top-color:var(--tspe-blue)}
.tspe-calendar .is-today .tspe-day{background:var(--tspe-blue)}
.tspe-calendar .tspe-month td a{border-left-color:var(--tspe-blue);background:var(--tspe-blue-tint)}
.tspe-calendar .tspe-month td a:hover{background:#deedf7}
.tspe-calendar .tspe-event-row time,.tspe-upcoming .tspe-event-row time{color:var(--tspe-blue)}
.tspe-calendar .tspe-view a[aria-current],.tspe-calendar .tspe-calendar-nav a:hover,.tspe-calendar .tspe-view a:hover{background:var(--tspe-blue);border-color:var(--tspe-blue);color:white}
.tspe-calendar .tspe-empty{border-top-color:var(--tspe-blue)}
.tspe-calendar .tspe-empty>span,.tspe-calendar .tspe-facts dt{color:var(--tspe-blue)}
.tspe-calendar :is(a,button,input,select):focus-visible,.tspe-upcoming a:focus-visible{outline-color:var(--tspe-blue)}
