/* TMP Cohorts 1.0.2 | Blue Coach Rail / editorial landing */
.tmpc{font-family:var(--tmpc-sans,inherit);font-size:var(--tmpc-list-font,15px);--tmpc-navy:#233247;--tmpc-gold:#ccad77;--tmpc-light:#fff;--tmpc-paper:#f5f4ed;--tmpc-max-width:1180px;--tmpc-serif:Georgia,'Times New Roman',serif;--tmpc-sans:inherit;color:var(--tmpc-navy)}
.tmpc,.tmpc *, .tmpc *::before,.tmpc *::after{box-sizing:border-box}
.tmpc a:focus-visible,.tmpc button:focus-visible{outline:2px solid var(--tmpc-gold);outline-offset:3px}
.tmpc .tmpc-kicker{display:block;margin:0 0 6px;font-size:var(--tmpc-label-font,12px);font-weight:600;line-height:1.45;letter-spacing:.13em;text-transform:uppercase;color:#967445}
/* Shortcode output is ONLY listing cards; there is no surrounding section background or hero. */
.tmpc.tmpc-list{container-type:inline-size;width:100%;max-width:var(--tmpc-max-width);margin-inline:auto;display:grid;gap:var(--tmpc-card-gap,22px);background:transparent;padding:0}
.tmpc .tmpc-list__launched{display:grid;gap:22px}.tmpc .tmpc-list__heading{display:flex;align-items:center;gap:14px;margin:8px 0 0;color:var(--tmpc-navy);font:400 clamp(20px,2.1vw,27px)/1.3 var(--tmpc-serif);text-align:center}
.tmpc .tmpc-list__heading::before,.tmpc .tmpc-list__heading::after{content:'';height:1px;flex:1;background:#d2c1a1}
.tmpc .tmpc-card--colonnade{display:grid;grid-template-columns:minmax(0,var(--tmpc-left-col,30fr)) minmax(0,var(--tmpc-center-col,48fr)) minmax(0,var(--tmpc-right-col,22fr));align-items:stretch;width:100%;min-width:0;overflow:hidden;border-top:2px solid var(--tmpc-gold);border-bottom:1px solid #c8c1b6;border-radius:0;line-height:1.45;background:#fff;box-shadow:none}
.tmpc .tmpc-card__identity,.tmpc .tmpc-card__schedule,.tmpc .tmpc-card__pricing{min-width:0}
.tmpc .tmpc-card__identity{background:var(--tmpc-navy);color:#fff;padding:var(--tmpc-card-pad,22px);display:flex;flex-direction:column;gap:0}
.tmpc .tmpc-card__identity .tmpc-kicker{color:#d7b781}.tmpc .tmpc-identity__name{font:400 clamp(24px,2.25vw,31px)/1.15 var(--tmpc-serif);margin:2px 0 0;color:#fff;overflow-wrap:anywhere}
.tmpc .tmpc-identity__city,.tmpc .tmpc-identity__format{display:block;font-size:var(--tmpc-list-font,15px);color:#d4dce5;margin-top:5px}
.tmpc .tmpc-identity__venue{border-top:1px solid #ffffff42;margin-top:14px;padding-top:13px}
.tmpc .tmpc-identity__venue .tmpc-loc{margin-top:4px}
.tmpc .tmpc-loc{display:flex;align-items:flex-start;gap:8px;font-size:var(--tmpc-small-font,13px);line-height:1.5;min-width:0}
.tmpc .tmpc-loc__text{overflow-wrap:anywhere}.tmpc .tmpc-loc a{color:inherit;text-decoration:none}.tmpc .tmpc-loc a:hover{text-decoration:underline}
.tmpc .tmpc-icon{width:17px;height:17px;flex:none;color:var(--tmpc-gold)}
.tmpc .tmpc-identity__coach{display:flex;align-items:center;gap:12px;border-top:1px solid #ffffff42;margin-top:14px;padding-top:13px;min-width:0}
.tmpc .tmpc-identity__photo{width:66px;height:66px;aspect-ratio:1;object-fit:cover;object-position:center;flex:none;border-radius:0;display:block}
.tmpc .tmpc-identity__coach-name{display:block;color:#fff;font:400 19px/1.18 var(--tmpc-serif);overflow-wrap:anywhere}
.tmpc .tmpc-identity__bio{display:inline-block;margin-top:5px;color:#e3c58e;font-size:var(--tmpc-small-font,13px);text-decoration:underline;text-underline-offset:2px}
.tmpc .tmpc-card__schedule{background:#fff;padding:var(--tmpc-card-pad,22px)}
.tmpc .tmpc-schedule__heading{margin-bottom:9px}.tmpc .tmpc-schedule__list{padding:0;margin:0;list-style:none;display:grid;gap:4px}
.tmpc .tmpc-schedule__list>li{margin:0;min-width:0}
.tmpc .tmpc-schedule__row{display:grid;grid-template-columns:49px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:47px;padding:7px 9px;background:#f5f4ef;border-left:2px solid transparent;text-decoration:none;color:var(--tmpc-navy);border-radius:0}
.tmpc a.tmpc-schedule__row:hover{background:#ede5d6;border-left-color:var(--tmpc-gold);color:var(--tmpc-navy)}
.tmpc .tmpc-schedule__calendar{text-align:center;border-right:1px solid #d7cfc1;padding-right:7px;white-space:nowrap;word-break:keep-all;line-height:1.05;color:#927344}
.tmpc .tmpc-schedule__calendar strong{display:block;font:400 21px/1.1 var(--tmpc-serif)}
.tmpc .tmpc-schedule__calendar small{display:block;font:600 11px/1.4 var(--tmpc-sans);text-transform:uppercase;letter-spacing:0;white-space:nowrap;word-break:keep-all}
.tmpc .tmpc-schedule__date-text{min-width:0;display:flex;flex-direction:column;gap:1px}
.tmpc .tmpc-schedule__line{font-size:var(--tmpc-date-font,15px);font-weight:500;line-height:1.45;overflow-wrap:anywhere}
.tmpc .tmpc-schedule__meta,.tmpc .tmpc-schedule__location{font-size:var(--tmpc-small-font,13px);color:#586676}
.tmpc .tmpc-schedule__location .tmpc-loc{font-size:var(--tmpc-small-font,13px);gap:5px}
.tmpc .tmpc-schedule__location .tmpc-icon{width:12px;height:12px}
.tmpc .tmpc-schedule__action{font-size:12px;text-transform:uppercase;letter-spacing:.045em;font-weight:700;white-space:nowrap;color:#8b683a;border-bottom:1px solid currentColor;padding-bottom:1px}
.tmpc .tmpc-schedule__action span{font-size:12px}
.tmpc .tmpc-schedule__state{font-size:var(--tmpc-small-font,13px);color:#777;white-space:nowrap}
.tmpc .tmpc-schedule__row.is-past,.tmpc .tmpc-schedule__row.is-closed{opacity:.58;background:#eee;color:#525963}
.tmpc .tmpc-schedule__row.is-past .tmpc-schedule__line{text-decoration:line-through}
.tmpc .tmpc-card__pricing{background:#f0ede5;padding:var(--tmpc-card-pad,22px);display:flex;flex-direction:column;gap:0}
.tmpc .tmpc-pricing__fee{display:block;font:400 clamp(24px,2.7vw,34px)/1.15 var(--tmpc-serif);margin:3px 0 2px;overflow-wrap:anywhere}
.tmpc .tmpc-pricing__note{font-size:var(--tmpc-small-font,13px);color:#637084}
.tmpc .tmpc-pricing__deposit{display:grid;gap:4px;border-top:1px solid #d2c6b4;padding-top:12px;margin-top:12px;font-size:var(--tmpc-list-font,15px);line-height:1.45}
.tmpc .tmpc-pricing__deposit span:last-child{color:#263951}
.tmpc .tmpc-pricing__contact{display:grid;gap:4px;border-top:1px solid #d2c6b4;padding-top:12px;margin-top:12px;font-size:var(--tmpc-small-font,13px);line-height:1.45;color:#5c6978}
.tmpc .tmpc-pricing__contact .tmpc-info{margin:0}
.tmpc .tmpc-pricing__contact a{color:#816037;font-weight:500;text-decoration:underline;text-underline-offset:2px}
/* Standalone listing wrapper only when [tmp_cohorts_page] is used. */
.tmpc.tmpc-listing-page{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:var(--tmpc-paper);padding-top:var(--tmpc-listing-top,0px)}
.tmpc .tmpc-listing-hero{background:var(--tmpc-navy) var(--tmpc-listing-image,none) center/cover no-repeat;color:#fff;padding:48px 22px}
.tmpc .tmpc-listing-hero__inner{max-width:var(--tmpc-max-width);margin:auto}
.tmpc .tmpc-listing-hero h1{font:400 clamp(31px,4.3vw,53px)/1.15 var(--tmpc-serif);color:#fff;margin:8px 0 0}
.tmpc .tmpc-listing-content{max-width:var(--tmpc-max-width);margin:auto;padding:28px 20px 58px}
/* The landing background bleeds to viewport edges, while the cards remain boxed. */
.tmpc.tmpc-landing{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:var(--tmpc-paper);padding:var(--tmpc-landing-top,0px) 0 0;overflow:visible;color:var(--tmpc-navy)}
.tmpc .tmpc-hero{background-color:var(--tmpc-navy);background-image:var(--tmpc-hero-image,none);background-size:cover;background-position:center;color:#fff;padding:46px 22px 122px}
.tmpc .tmpc-hero__inner{max-width:var(--tmpc-max-width);margin-inline:auto}
.tmpc .tmpc-hero .tmpc-kicker{color:var(--tmpc-gold)}
.tmpc .tmpc-hero__title{max-width:900px;margin:9px 0 0;color:#fff;font:400 clamp(32px,4.5vw,54px)/1.15 var(--tmpc-serif)}
.tmpc .tmpc-hero__intro{max-width:800px;margin-top:13px;color:var(--tmpc-gold);font-size:clamp(15px,1.8vw,21px);line-height:1.5}
.tmpc .tmpc-hero__intro p{margin:0}
.tmpc .tmpc-landing__surface{max-width:var(--tmpc-max-width);margin:-77px auto 0;position:relative;padding:0 20px 72px}
.tmpc .tmpc-landing__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:20px;align-items:start}
.tmpc .tmpc-landing__register,.tmpc .tmpc-landing__picker{background:#fff;border-top:4px solid var(--tmpc-gold);padding:var(--tmpc-panel-pad,30px);min-width:0}
.tmpc .tmpc-register__heading{font:400 clamp(25px,2.5vw,31px)/1.2 var(--tmpc-serif);margin:23px 0 14px;color:var(--tmpc-navy)}
.tmpc.tmpc-selected{background:#f5f2eb;border-left:3px solid var(--tmpc-gold);padding:18px 19px;margin:0;color:var(--tmpc-navy)}
.tmpc.tmpc-selected p{margin:0}.tmpc .tmpc-selected__heading{font-size:var(--tmpc-label-font,12px);text-transform:uppercase;letter-spacing:.1em;color:#937147}
.tmpc .tmpc-selected__title{font:400 21px/1.3 var(--tmpc-serif);margin:6px 0!important}
.tmpc .tmpc-selected__when{font:400 20px/1.3 var(--tmpc-serif);margin:6px 0!important}
.tmpc.tmpc-selected .tmpc-loc{border-top:1px solid #d5cec2;padding-top:12px;margin-top:11px;color:var(--tmpc-navy);font-size:var(--tmpc-selected-font,15px)}
.tmpc .tmpc-selected__change{display:inline-block;margin-top:12px;color:#84643d;font-size:var(--tmpc-small-font,13px)}
.tmpc .tmpc-landing__presenter{min-width:0;background:#ebe7de;border-top:4px solid #cbb48b;padding:var(--tmpc-panel-pad,30px)}
.tmpc.tmpc-presenter{color:var(--tmpc-navy)}
.tmpc .tmpc-presenter__photo-wrap{width:min(100%,340px);aspect-ratio:1;margin:0 auto 19px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#d7d0c5}
.tmpc .tmpc-presenter__photo{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%;border-radius:0}
.tmpc .tmpc-presenter__heading{color:#927045}
.tmpc .tmpc-presenter__name{font:400 clamp(27px,3vw,37px)/1.18 var(--tmpc-serif);color:var(--tmpc-navy);margin:8px 0 2px}
.tmpc .tmpc-presenter__title{text-transform:uppercase;letter-spacing:.07em;font-size:var(--tmpc-label-font,12px);font-weight:600;color:#947349;margin:0 0 13px}
.tmpc .tmpc-presenter__bio{font-size:var(--tmpc-bio-font,16px);line-height:1.65;color:#49586c}
.tmpc .tmpc-presenter__bio p{margin:0 0 12px}
.tmpc .tmpc-presenter__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.tmpc .tmpc-presenter__link,.tmpc .tmpc-presenter__video{display:inline-block;border-radius:0;border:1px solid var(--tmpc-navy);padding:10px 15px;background:transparent;color:var(--tmpc-navy);text-transform:uppercase;font-size:11px;font-weight:700;text-decoration:none;cursor:pointer}
.tmpc .tmpc-presenter__video{background:var(--tmpc-navy);color:white}
.tmpc .tmpc-presenter__video:hover,.tmpc .tmpc-presenter__link:hover{background:var(--tmpc-gold);color:var(--tmpc-navy)}
.tmpc .tmpc-picker__heading{font:400 24px var(--tmpc-serif);color:var(--tmpc-navy);margin:0 0 18px}
.tmpc.tmpc-form{margin:0;max-width:100%}.tmpc.tmpc-form iframe{max-width:100%}
.tmpc.tmpc-notice{padding:12px 14px;background:#fff2d5;color:#563f0d}
.tmpc-video-overlay{position:fixed;inset:0;z-index:2147483600;background:#000d;display:grid;place-items:center;padding:16px}
.tmpc-video-box{width:min(900px,100%);background:#152537;padding:15px;display:flex;flex-direction:column;align-items:flex-end}
.tmpc-video-close{cursor:pointer;background:var(--tmpc-gold,#ccad77);color:#1b2e45;border:0;padding:9px 14px;margin-bottom:10px}
.tmpc-video-box iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
/* Return navigation is at the very top of the landing hero, not inside the selected-date panel. */
.tmpc .tmpc-back-link{display:inline-flex;align-items:center;gap:7px;color:#f1d5a3;font:500 var(--tmpc-small-font,13px)/1.55 var(--tmpc-sans,inherit);text-decoration:none;margin:0 0 20px}
.tmpc .tmpc-back-link:hover{text-decoration:underline;color:#fff}
.tmpc .tmpc-hero__intro{font-weight:400}
.tmpc .tmpc-landing__register .tmpc-form,.tmpc .tmpc-landing__register input,.tmpc .tmpc-landing__register label,.tmpc .tmpc-landing__register textarea,.tmpc .tmpc-landing__register select{font-size:var(--tmpc-form-font,16px)}
.tmpc .tmpc-identity__coach .tmpc-kicker{margin-bottom:3px}
.tmpc .tmpc-identity__coach-name{font-size:21px}
.tmpc .tmpc-schedule__line{overflow-wrap:normal;word-break:normal}
.tmpc .tmpc-schedule__row{min-height:55px;gap:10px}
@container (max-width:800px){.tmpc .tmpc-card--colonnade{grid-template-columns:1fr}.tmpc .tmpc-card__identity{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:16px 18px}.tmpc .tmpc-identity__top{grid-column:1}.tmpc .tmpc-identity__name{font-size:25px}.tmpc .tmpc-identity__coach{grid-column:2;grid-row:1;margin:0;padding:0;border:0;max-width:158px;align-self:center}.tmpc .tmpc-identity__photo{width:54px;height:54px}.tmpc .tmpc-identity__coach-name{font-size:13px}.tmpc .tmpc-identity__venue{grid-column:1/-1;padding-top:10px;margin-top:11px}.tmpc .tmpc-card__schedule{padding:17px 18px}.tmpc .tmpc-card__pricing{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding:15px 18px}.tmpc .tmpc-pricing__deposit{border:0;margin-top:0;padding-top:0}.tmpc .tmpc-pricing__contact{grid-column:1/-1;padding-top:10px;margin-top:0}.tmpc .tmpc-pricing__fee{font-size:29px}}
@container (max-width:425px){.tmpc .tmpc-identity__coach{flex-direction:column;text-align:center;gap:3px}.tmpc .tmpc-identity__photo{width:49px;height:49px}.tmpc .tmpc-identity__bio{display:none}.tmpc .tmpc-card__schedule{padding:13px 13px}.tmpc .tmpc-schedule__row{grid-template-columns:39px minmax(0,1fr) auto;gap:6px;padding:7px}.tmpc .tmpc-schedule__calendar strong{font-size:20px}.tmpc .tmpc-schedule__line{font-size:clamp(12px,3.25vw,var(--tmpc-date-font,15px))}.tmpc .tmpc-schedule__action{font-size:10px}.tmpc .tmpc-card__pricing{gap:8px 12px}.tmpc .tmpc-pricing__fee{font-size:26px}}
@media(max-width:860px){.tmpc .tmpc-landing__grid{grid-template-columns:1fr}.tmpc .tmpc-landing__surface{max-width:650px}.tmpc .tmpc-landing__presenter{padding:min(23px,var(--tmpc-panel-pad,30px))}.tmpc .tmpc-hero{padding-bottom:110px}}
@media(max-width:540px){.tmpc .tmpc-hero{padding:32px 20px 104px}.tmpc .tmpc-landing__surface{padding:0 12px 35px}.tmpc .tmpc-landing__register,.tmpc .tmpc-landing__picker{padding:min(20px,var(--tmpc-panel-pad,30px))}.tmpc .tmpc-hero__title{font-size:36px}.tmpc .tmpc-presenter__photo-wrap{width:min(100%,275px)}.tmpc .tmpc-listing-hero{padding:35px 20px}.tmpc .tmpc-listing-content{padding:18px 12px 35px}}
@media(prefers-reduced-motion:reduce){.tmpc *{transition:none!important}}
