/* Copied unchanged from the Contentful block 4Eh9qsacx1eFzyl26SzIuo on Nov 13 2026. Do not edit in place: upload a new version. */
/* TRACKERS 2 of 3: CART PICKER v3.5. One per site, on every add-to-cart page. Needs Universal 1 v2.5 (shared components) and engine v2.3. C1 CSS, C2 markup (#tcp), C6 widget adapter. v3.1: grade square back to 64px and long bands wrap; sold-out buttons read Join Waitlist and open the site waitlist modal. v3.2: a directory deep link boxes only the grade band cells of the matched camp and date, not the whole row. v3.3: the deep link also runs on one-column camp pages (the layout owns the hero there), and in the grid view it boxes the camp's cell in every grade row; on phone camp cards it opens the camp's dates and boxes that date. v3.4: tablet widths (681-1060px). The list view's camp column takes 44% instead of whatever 560px left over, the photo shrinks to 64px, and each grade row stacks time, Add to Cart and spaces left beside the grade square, so camp names no longer break letter by letter.
     v3.5 (Oct 27 2026): the As Seen On strip is hidden on program pages by default; turn it on per page with config asSeenOn: true (or window.TC_SEEN_ON = true before this block). Landing pages do not load this block, so they keep it. */
/* C1: CSS v2.2. Layout only: grid cells, add-to-cart buttons, date list, cart modal internals. Shell, tabs, banner, filters, grid chrome, grade square, phone cards and modal frame live in Universal 1 (U1b). */

html:not(.tc-seen-on) .tc .hero-media{display:none!important;}
#tcp.tcp-one-loc #tcp-loc-tabs,#tcp.tcp-one-loc #tcp-tab-pointer{display:none!important;}
#tcp:not(.tcp-loaded) #tcp-addr-bar,#tcp:not(.tcp-loaded) #tcp-filter-bar,#tcp:not(.tcp-loaded) #tcp-loc-tabs{display:none;}
#tcp-banner .tcp-b-name{font-size:18px;font-weight:800;line-height:1.2!important;white-space:nowrap;}
#tcp-banner .tcp-b-sep{font-size:18px;font-weight:400;opacity:.6;margin:0 10px!important;line-height:1.2!important;}
#tcp-discount{display:none;margin:0 24px 12px!important;padding:10px 14px!important;background:#fbf4e2;border:1px solid #ecd9a8;border-radius:8px!important;font-size:13px;font-weight:700;color:#8a6614;line-height:1.4!important;}
#tcp-discount.tcp-show{display:block;}
#tcp-desktop{display:none;}
#tcp-wrap tbody tr:nth-child(odd) td,#tcp-wrap tbody tr:nth-child(odd) .tcp-c0{background:#fff;}
#tcp-wrap tbody tr:nth-child(even) td,#tcp-wrap tbody tr:nth-child(even) .tcp-c0{background:#fbf8f2;}
#tcp-wrap .tcp-c0{position:sticky;left:0;z-index:12;padding:12px 14px!important;vertical-align:middle;box-shadow:4px 0 8px rgba(0,0,0,.12),inset 0 -1px 0 #ece7d8;text-align:left;font-weight:inherit;font-size:inherit;color:inherit;text-transform:none;letter-spacing:normal;}
#tcp-wrap tbody tr:hover td:not(.tcp-empty),#tcp-wrap tbody tr:hover .tcp-c0{background:var(--tcp-tint,#eaf1f8);}
.tcp-row{display:flex;gap:14px;align-items:center;}
.tcp-gsq{width:64px;height:64px;}
.tcp-gsq .tcp-gsq-cap{display:block;width:100%;background:var(--gsq-band,rgba(0,0,0,.2));font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;line-height:1!important;padding:5px 0 4px!important;}
.tcp-gsq .tcp-gsq-num{flex:1;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:600;letter-spacing:-.01em;line-height:1!important;padding-bottom:2px!important;white-space:normal;}
.tcp-gsq.tcp-gsq-long .tcp-gsq-num{font-size:14px;}
.tcp-gsq.tcp-gsq-lg{width:84px;height:84px;border-radius:14px!important;}
.tcp-gsq.tcp-gsq-lg .tcp-gsq-cap{font-size:11px;padding:6px 0 5px!important;}
.tcp-gsq.tcp-gsq-lg .tcp-gsq-num{font-size:25px;}
.tcp-gsq.tcp-gsq-lg.tcp-gsq-long .tcp-gsq-num{font-size:19px;}
@media (max-width:680px){
.tcp-dsrow .tcp-gsq{width:56px;height:56px;}
.tcp-dsrow .tcp-gsq .tcp-gsq-cap{font-size:8px;padding:4px 0 3px!important;}
.tcp-dsrow .tcp-gsq .tcp-gsq-num{font-size:16px;}
.tcp-dsrow .tcp-gsq.tcp-gsq-long .tcp-gsq-num{font-size:12px;}
}
.tcp-rt{flex:1;min-width:0;}
.tcp-price{font-size:15px;font-weight:800;color:#3b5323;cursor:help;line-height:1.3!important;}
.tcp-price s{color:#a2542f;font-weight:600;opacity:.8;margin-right:4px!important;}
.tcp-save{display:inline-block;padding:2px 7px!important;border-radius:4px!important;background:#3b5323;color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;line-height:1.4!important;vertical-align:1px;cursor:help;}
#tcp-wrap td{padding:10px 6px!important;text-align:center;vertical-align:middle;box-shadow:inset -1px 0 0 #ece7d8,inset 0 -1px 0 #ece7d8;background:#fff;}
#tcp-wrap tbody tr:nth-child(even) td:not(.tcp-empty){background:#fbf8f2;}
.tcp-pick{display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(100% - 6px)!important;max-width:112px;margin:0 auto!important;font-size:11px;font-weight:800;background:#fff6d6;color:#7a5c10;border:2px solid #e8c257!important;border-radius:6px!important;padding:11px 8px!important;text-align:center;line-height:1.3!important;letter-spacing:.04em;text-transform:uppercase;transition:all .13s;box-shadow:0 1px 2px rgba(180,140,20,.14);}
.tcp-pick:hover{background:#ffc107;color:#2a2416;border-color:#ffc107!important;transform:translateY(-1px);box-shadow:0 4px 10px rgba(180,140,20,.30);}
.tcp-pick.tcp-on{background:#3b5323!important;color:#fff!important;box-shadow:0 2px 6px rgba(35,75,23,.35);}
.tcp-pick.tcp-soldout{background:#fff;color:#4a5058;border-color:#c9cfd6!important;box-shadow:none;transform:none;}
.tcp-pick.tcp-soldout:hover,.tcp-mpick.tcp-soldout:hover{background:#f7f7f8;color:#121212;border-color:#4a5058!important;}
#tcp-mobile{display:none;}
#tcp.tcp-mode-dates #tcp-desktop{display:none!important;}
#tcp.tcp-mode-dates #tcp-mobile.tcp-ready{display:block;}
.tcp-vd{width:calc(100% - 28px)!important;margin:0 14px 14px!important;}
.tcp-dsec{margin:0 0 24px!important;border:1px solid #e9ecef;border-radius:16px!important;overflow:hidden;background:#f7f7f8;}
.tcp-dsec-hd{display:flex;align-items:baseline;gap:10px;padding:12px 18px!important;background:var(--tcp-loc,#2e5d8a);color:#fff;}
.tcp-dsec-hd .tcp-dh1{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.82;line-height:1.2!important;}
.tcp-dsec-hd .tcp-dh2{font-size:18px;font-weight:800;letter-spacing:.01em;line-height:1.2!important;}
.tcp-dsec-hd .tcp-dh3{font-size:13px;font-weight:600;opacity:.75;line-height:1.2!important;}
.tcp-dsec-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;background:#f7f7f8;padding:14px!important;}
.tcp-dsrow{display:flex;flex-direction:column;gap:0;padding:0!important;background:#fff;border:1px solid #e9ecef;border-radius:14px!important;box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden;}
.tcp-ds-top{display:flex;gap:12px;align-items:flex-start;flex:1;padding:16px 16px 12px!important;}
.tcp-ds-info{flex:1;min-width:0;}
.tcp-ds-btnwrap{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:auto!important;}
.tcp-dsrow .tcp-mpick{width:100%!important;min-width:0;background:#ffc107;color:#2a2416;border:none!important;font-size:15px;font-weight:800;padding:16px!important;border-radius:0!important;letter-spacing:.02em;text-transform:none;box-shadow:none;transition:background .15s;}
.tcp-dsrow .tcp-mpick:hover{background:#f0b400;}
.tcp-dsrow .tcp-mpick.tcp-on{background:#3b5323;color:#fff;}
.tcp-dsrow .tcp-mpick.tcp-soldout{background:#f7f7f8;color:#4a5058;box-shadow:inset 0 0 0 2px #c9cfd6;}
.tcp-dsrow .tcp-dr-left{text-align:center;margin:0!important;padding:0 14px 10px!important;}
@media (max-width:680px){
.tcp-dsec-body{grid-template-columns:1fr;}
.tcp-dsrow{padding:0!important;gap:0;}
.tcp-dsrow .tcp-ds-top{padding:13px 12px 10px!important;}
.tcp-dsrow .tcp-mpick{padding:18px 16px!important;min-height:52px;}
}
#tcp-mobile-list{padding:0 14px 8px!important;}
.tcp-dr:nth-child(even){background:#fff;}
.tcp-dr-l{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:9px;row-gap:2px;}
.tcp-dr-date{font-size:14px;font-weight:600;color:#2c2c2c;line-height:1.25!important;white-space:nowrap;}
.tcp-dr-date b{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tcp-loc,#2e5d8a);margin-right:3px;}
.tcp-dr-price{font-size:13px;font-weight:800;color:#3b5323;line-height:1.2!important;white-space:nowrap;}
.tcp-dr-price s{color:#a2542f;font-weight:600;opacity:.8;margin-right:3px!important;}
.tcp-dr-price .tcp-price{font-size:13px;}
.tcp-dr-left{display:inline;font-size:11px;font-weight:700;color:#a2542f;line-height:1.25!important;white-space:nowrap;}
.tcp-dr .tcp-mpick{min-width:96px;padding:10px 12px!important;font-size:11px;border-radius:8px!important;}
.tcp-mpick{padding:11px 16px!important;border:none!important;border-radius:12px!important;background:#ffc107;color:#2a2416;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;flex-shrink:0;min-width:104px;text-align:center;line-height:1.2!important;transition:all .13s;}
.tcp-mpick.tcp-on{background:#3b5323!important;color:#fff!important;border-color:#3b5323!important;}
.tcp-mpick.tcp-soldout{background:#fff;color:#4a5058;border:2px solid #c9cfd6!important;}
#tcp-modal-cartline{margin:12px 18px 0!important;padding:10px 14px!important;background:#eef4ec;border:1px solid #d7e3d3;border-radius:8px!important;font-size:13px;font-weight:700;color:#3b5323;text-align:center;line-height:1.3!important;}
#tcp-modal-cart{margin:12px 18px 0!important;border:1px solid #e9ecef;border-radius:8px!important;overflow:hidden;}
.tcp-ci-hd{padding:8px 12px!important;background:#f7f7f8;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#121212;border-bottom:1px solid #e9ecef;}
.tcp-ci{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px!important;border-bottom:1px solid #e9ecef;background:#fff;}
.tcp-ci:last-child{border-bottom:none;}
.tcp-ci-new{background:#eef7e8;box-shadow:inset 3px 0 0 #3b5323;}
.tcp-ci-img{width:38px;height:38px;border-radius:6px!important;flex-shrink:0;border:1px solid #e9ecef;object-fit:cover;}
.tcp-ci-desc{flex:1;min-width:0;font-size:12px;font-weight:600;color:#3a3f46;line-height:1.35!important;}
.tcp-ci-right{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.tcp-ci-price{font-size:13px;font-weight:800;color:#3b5323;line-height:1.2!important;}
.tcp-ci-qty{display:flex;align-items:center;border:1px solid #d9dde2;border-radius:8px!important;overflow:hidden;flex-shrink:0;background:#fff;}
.tcp-ci-qb{width:28px;height:28px;background:#f7f7f8;border:none!important;font-weight:800;color:#3a3f46;font-size:14px;line-height:1!important;display:flex;align-items:center;justify-content:center;padding:0!important;transition:background .1s;}
.tcp-ci-qb:hover{background:#e9ecef;}
.tcp-ci-qb.tcp-ci-x{color:#8b3a3a;}
.tcp-ci-qb.tcp-ci-x:hover{background:#8b3a3a;color:#fff;}
.tcp-ci-qb:disabled{opacity:.4;cursor:wait;}
.tcp-ci-qn{min-width:24px;text-align:center;font-size:12px;font-weight:800;color:#121212;line-height:1!important;}
.tcp-ci-empty{padding:14px!important;text-align:center;font-size:13px;font-weight:600;color:#646b74;}
#tcp-modal-btns{display:flex;gap:10px;padding:16px 18px 18px!important;}
#tcp-modal-btns button,#tcp-modal-btns a{flex:1;padding:13px 12px!important;border-radius:8px!important;font-size:14px;font-weight:800;text-align:center;line-height:1.1!important;letter-spacing:.02em;transition:filter .12s;}
#tcp-modal-checkout{flex:1.5!important;}
#tcp-modal-keep{background:#fff;color:#4a5058;border:1.5px solid #c9cfd6!important;font-weight:700;}
#tcp-modal-keep:hover{filter:brightness(.96);}
#tcp-modal-checkout{background:#3b5323;color:#fff!important;border:none!important;display:block;}
#tcp-modal-checkout:hover{filter:brightness(1.1);}
@media (max-width:900px){
#tcp-discount{margin-left:14px!important;margin-right:14px!important;}
}
@media (max-width:680px){
#tcp-loc-tabs{padding:4px 14px 8px!important;}
#tcp-desktop{display:none!important;}
#tcp-mobile.tcp-ready{display:block;}
#tcp-banner .tcp-b-sep{display:none;}
}
@media (min-width:681px){
#tcp-desktop.tcp-ready{display:block;}
}
.tcp-list{background:#fff;border:1px solid #ece7d8;border-radius:14px!important;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);margin:0 0 8px!important;}
.tcp-ltable{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff;}
.tcp-ltable th{padding:10px 12px!important;font-size:12px;font-weight:700;color:#fff;letter-spacing:.06em;text-transform:uppercase;text-align:center;background:var(--tcp-loc,#2e5d8a);line-height:1.2!important;}
.tcp-ltable th:nth-child(1){width:112px;}
.tcp-ltable th:nth-child(3){width:560px;}
.tcp-ltable td{padding:7px 12px!important;vertical-align:middle;border-bottom:1px solid #ece7d8;background:#fbf8f2;}
.tcp-lt-cw{display:flex;align-items:center;gap:14px;}
.tcp-lt-img{width:100px;height:100px;border-radius:12px!important;object-fit:cover;flex-shrink:0;border:1px solid #e9ecef;}
.tcp-ltable tr.tcp-lt-first td{border-top:1.5px solid #d6cfbf;}
.tcp-ltable tr.tcp-lt-day td{border-top:4px solid var(--tcp-loc,#2e5d8a);}
.tcp-ltable td.tcp-lt-date{text-align:center;border-right:1px solid #ece7d8;background:#fff;}
.tcp-ltable td.tcp-lt-camp{background:#fff;box-shadow:inset 5px 0 0 var(--lc,#2e5d8a);padding-left:18px!important;border-right:1px solid #ece7d8;}
.tcp-ltable td.tcp-lt-act{padding-left:18px!important;}
.tcp-lt-line{display:grid;grid-template-columns:54px 128px 150px minmax(0,1fr);align-items:center;gap:14px;}
.tcp-lt-line .tcp-gsq{width:54px;height:54px;flex-shrink:0;}
.tcp-lt-line .tcp-gsq .tcp-gsq-num{font-size:17px;}
.tcp-lt-line .tcp-gsq.tcp-gsq-long .tcp-gsq-num{font-size:12px;}
.tcp-lt-time{font-size:14px;font-weight:800;color:#2c2c2c;white-space:nowrap;}
.tcp-lt-line .tcp-pick{width:100%!important;max-width:none;margin:0!important;padding:10px 8px!important;}
.tcp-lt-line .tcp-left{display:inline;margin:0!important;max-width:none;font-size:12px;white-space:nowrap;}
.tcp-ldate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--tcp-loc,#2e5d8a);}
.tcp-ldate .tcp-ld1{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.8;line-height:1.2!important;}
.tcp-ldate .tcp-ld2{font-size:18px;font-weight:900;letter-spacing:-.01em;line-height:1.1!important;white-space:nowrap;}
.tcp-lt-camp .tcp-name{font-size:22px;font-weight:900;letter-spacing:-.015em;}
.tcp-lt-camp .tcp-sub{font-size:14px;margin-top:4px!important;}
.tcp-lt-camp .tcp-meta{margin-top:8px!important;}
.tcp-blurb{font-size:13px;line-height:1.45!important;color:#4a5058;margin-top:6px!important;max-width:46ch;}
.tcp-lmeta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:7px!important;font-size:12px;font-weight:700;color:#3a3f46;}
.tcp-lmeta span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
.tcp-lmeta svg{color:var(--tcp-loc,#2e5d8a);flex-shrink:0;}
.tcp-lmeta a{color:inherit;text-decoration:underline;text-decoration-color:rgba(0,0,0,.25);}
.tcp-gpick{display:flex;flex-direction:column;border-top:1px solid #e9ecef;background:#f7f7f8;}
.tcp-grow{display:flex;align-items:center;gap:12px;padding:10px 14px!important;border-bottom:1px solid #ece7d8;background:#fbf8f2;}
.tcp-grow:last-child{border-bottom:none;}
.tcp-grow .tcp-gsq{width:52px;height:52px;}
.tcp-grow .tcp-gsq .tcp-gsq-cap{font-size:8px;padding:4px 0 3px!important;}
.tcp-grow .tcp-gsq .tcp-gsq-num{font-size:16px;}
.tcp-grow .tcp-gsq.tcp-gsq-long .tcp-gsq-num{font-size:12px;}
.tcp-grow-mid{flex:1;min-width:0;}
.tcp-left-sm{font-size:12px;font-weight:600;color:#a2542f;line-height:1.25!important;}
.tcp-grow .tcp-mpick,.tcp-dsrow .tcp-grow .tcp-mpick{width:auto!important;min-width:116px;padding:10px 14px!important;border-radius:6px!important;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#fff6d6;color:#7a5c10;border:2px solid #e8c257!important;box-shadow:0 1px 2px rgba(180,140,20,.14);}
.tcp-grow .tcp-mpick:hover{background:#ffc107;color:#2a2416;border-color:#ffc107!important;}
.tcp-grow .tcp-mpick.tcp-on{background:#3b5323!important;color:#fff!important;border-color:#3b5323!important;}
.tcp-grow .tcp-mpick.tcp-soldout{background:#fff;color:#4a5058;border-color:#c9cfd6!important;}
.tcp-dsrow-multi .tcp-ds-top{padding-bottom:12px!important;}
#tcp .tcp-ci-age{display:inline-block;font-weight:800;color:#3b5323;background:#e6eddd;border-radius:4px;padding:1px 6px;margin-right:4px;font-size:.85em;white-space:nowrap}
@media (min-width:681px) and (max-width:1060px){
.tcp-ltable th:nth-child(1){width:88px;}
.tcp-ltable th:nth-child(2){width:44%;}
.tcp-ltable th:nth-child(3){width:auto;}
.tcp-lt-cw{gap:10px;}
.tcp-lt-img{width:64px;height:64px;}
.tcp-lt-camp .tcp-name{font-size:18px;}
.tcp-lt-camp .tcp-sub{font-size:13px;}
.tcp-ltable td.tcp-lt-camp,.tcp-ltable td.tcp-lt-act{padding-left:14px!important;}
.tcp-lt-line{grid-template-columns:54px minmax(0,1fr);gap:6px 12px;}
.tcp-lt-line:not(:has(> .tcp-gsq)){grid-template-columns:0 minmax(0,1fr);}
.tcp-lt-line > .tcp-gsq{grid-column:1;grid-row:1 / span 3;}
.tcp-lt-line > .tcp-lt-time,.tcp-lt-line > .tcp-pick,.tcp-lt-line > .tcp-left{grid-column:2;}
.tcp-lt-line .tcp-pick{max-width:190px;}
.tcp-lt-line .tcp-left{white-space:normal;}
}

/* C6: LEGACY WIDGET ADAPTER v1.4 (modal frame moved to U1b). Replaces the old Angular <listing-widget>: hero, editorial columns, rail, grade router band from its attrs + /api/theme; fills TCP_CONFIG; ?location= ?container= deep links (v1.3: theme row match, no auto-scroll, hero button -> row). */

.tc .tc-cols{display:grid;grid-template-columns:1fr minmax(300px, 360px);gap:clamp(1.5rem, 3.5vw, 3rem);align-items:start;max-width:1120px;margin:0 auto;padding:2.5rem 1rem .75rem;text-align:left}
.tc section.tc-cols-sec{padding-bottom:0!important;border-bottom:0!important}
.tc .tc-main > div:last-child > :last-child{margin-bottom:0}
@media (max-width: 900px){
.tc .tc-cols{grid-template-columns:1fr}
}
.tc .tc-main{min-width:0}
.tc .tc-main h3{font-family:var(--display);font-weight:900;font-size:1.45rem;letter-spacing:-.01em;margin:0 0 .7rem;line-height:1.2}
.tc .tc-main h4{font-family:var(--display);font-weight:800;font-size:1.1rem;margin:1.9rem 0 .5rem;line-height:1.25}
.tc .tc-main p{margin:0 0 .95rem;font-size:1rem;line-height:1.7}
.tc .tc-main ul, .tc .tc-main ol{margin:0 0 1.1rem .2rem;padding:0;list-style:none}
.tc .tc-main ol{list-style:decimal;margin-left:1.3rem}
.tc .tc-main ul li{position:relative;padding-left:1.5rem;margin-bottom:.45rem;font-size:.98rem;line-height:1.6}
.tc .tc-main ul li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--green);font-weight:800}
.tc .tc-main hr{border:0;margin:1.9rem 0 0}
.tc .tc-main hr + br{display:none}
.tc .tc-main .tc-callout{background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--guild, var(--g-forest));border-radius:.75rem;padding:.95rem 1.1rem;margin:0 0 .8rem}
.tc .tc-main .tc-callout p{margin:0;font-size:.97rem}
.tc .tc-main .tc-callout span[style], .tc .tc-main .tc-callout font{color:var(--guild, var(--g-forest))!important;font-weight:800}
.tc .tc-main span[style], .tc .tc-main font{color:var(--g-artisan)!important;font-weight:800}
.tc .tc-main a.btn, .tc .tc-main a.btn:visited{display:inline-block;background:#fff;border:2px solid var(--green);border-radius:.75rem;padding:.65rem 1.1rem;color:var(--green);font-weight:800;text-decoration:none;transition:background .15s, color .15s}
.tc .tc-main a.btn:hover{background:var(--green);color:#fff;text-decoration:none}
.tc .tc-main a.btn strong, .tc .tc-main a.btn .text-white{color:inherit!important}
.tc .tc-rail{display:flex;flex-direction:column;gap:1.1rem}
.tc .rail-card{background:#faf8f2;border:1px solid #ece7d8;border-top:3px solid var(--guild, var(--g-forest));border-radius:.85rem;padding:1.25rem 1.3rem 1.2rem}
.tc .rail-card h3, .tc .rail-card h4:first-child{font-family:var(--display);font-weight:800;font-size:1.08rem;color:var(--green-dark);margin:0 0 .55rem;line-height:1.25;text-align:left}
.tc .rail-card h4{font-family:var(--display);font-weight:800;font-size:.92rem;color:var(--green);margin:1rem 0 .35rem}
.tc .rail-card p{margin:0 0 .75rem;font-size:.93rem;line-height:1.6}
.tc .rail-card p:last-child{margin-bottom:0}
.tc .rail-card ol{margin:0 0 .85rem 1.15rem;padding:0}
.tc .rail-card li{margin-bottom:.3rem;font-size:.92rem}
.tc .rail-card ul{list-style:none;margin:0 0 .85rem;padding:0}
.tc .rail-card ul li{display:flex;gap:.55rem;padding:.3rem 0;border-bottom:1px dashed #e4ddc9;margin:0;line-height:1.5}
.tc .rail-card ul li:last-child{border-bottom:0}
.tc .rail-card ul li b, .tc .rail-card ul li strong{flex-shrink:0;min-width:7.4rem;font-family:var(--display);font-weight:800;color:var(--green)}
.tc .rail-card hr{display:none}
.tc .rail-card a.btn, .tc .rail-card a.btn:visited{display:inline-block;background:#fff;border:2px solid var(--green);border-radius:.75rem;padding:.55rem 1rem;color:var(--green);font-weight:800;font-size:.92rem;text-decoration:none;transition:background .15s, color .15s}
.tc .rail-card a.btn:hover{background:var(--green);color:#fff;text-decoration:none}
.tc .rail-card a.btn strong, .tc .rail-card a.btn .text-white{color:inherit!important}
.tc .rail-card .tc-modal-link{display:block;border-top:1px dashed #e4ddc9;margin-top:.85rem;padding:.85rem 0 0;background:none;border-left:0;border-right:0;border-bottom:0;cursor:pointer;font-weight:800;color:var(--g-artisan);font-size:.93rem;text-align:left;width:100%;font-family:inherit}
.tc .rail-card .tc-modal-link::after{content:" \203a";font-weight:800}
.tc .rail-card .tc-modal-link:hover{text-decoration:underline}
@media (prefers-reduced-motion: reduce){
.tc .tc-main a.btn, .tc .rail-card a.btn{transition:none}
}
.tc-route-band{background:#faf6e9;padding:22px 16px 26px;text-align:center;color:#333a40}
.tc-route-band .tkr-route{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 16px;max-width:1120px;margin:0 auto;padding:0;background:none;border:0}
.tc-route-band .tkr-route p{flex:1 1 100%;margin:0 0 4px;font-size:19px;line-height:1.35}
.tc-route-band .tkr-route p b{color:#3d4d1f}
.tc-route-band a.tkr-btn{display:inline-block;background:#fff;border:2px solid #556b2f;border-radius:6px;padding:10px 26px 12px;color:#3d4d1f!important;text-decoration:none;text-align:center;transition:background .15s, color .15s}
.tc-route-band a.tkr-btn:hover, .tc-route-band a.tkr-btn:focus-visible{background:#556b2f;color:#fff!important;text-decoration:none}
.tc-route-band .tkr-g{display:block;font-size:18px;font-weight:800;line-height:1.25}
.tc-route-band .tkr-p{display:block;font-size:13px;font-weight:600;letter-spacing:.3px;opacity:.9;margin-top:2px}
.tc-route-band .tc-route-alt{margin:14px 0 0;font-size:15px}
.tc-route-band .tc-route-alt a{color:#3d4d1f!important;font-weight:700}
@media (max-width: 600px){
.tc-route-band .tkr-route p{font-size:17px}
.tc-route-band a.tkr-btn{flex:1 1 100%;max-width:420px}
}
@media (prefers-reduced-motion: reduce){
.tc-route-band a.tkr-btn{transition:none}
}
#tcp .tcp-dl-hit{outline:3px solid var(--gold-light, #ffc107);outline-offset:2px;border-radius:10px;transition:outline-color 1s ease}
#tcp tr.tcp-dl-hit,#tcp td.tcp-dl-hit{outline:none}
#tcp td.tcp-dl-cell{outline:3px solid var(--gold-light, #ffc107);outline-offset:-4px;border-radius:12px;transition:outline-color 1s ease}
#tcp td.tcp-dl-cell.tcp-dl-fade{outline-color:transparent}
#tcp .tcp-dr.tcp-dl-cell{outline:3px solid var(--gold-light, #ffc107);outline-offset:-3px;border-radius:10px;transition:outline-color 1s ease}
#tcp .tcp-dr.tcp-dl-cell.tcp-dl-fade{outline-color:transparent}
#tcp .tcp-dl-hit.tcp-dl-fade{outline-color:transparent}
