/* Page-builder sections: header, rich text, stats, form, events list, event facts, CTA band */
.fe-pb{--p-ink:#0c1e21;--p-body:#364e52;--p-muted:#5f7174;--p-line:#dde4e4;--p-tint:#e4eff5;--p-tint-line:#c4d9e5;--p-accent:#0876ac;--p-accent-hover:#075c87;--p-navy:#153f5d;padding-block:72px;background:#fff;color:var(--p-body);font-size:16px;line-height:1.6}
.fe-pb.is-tint{background:var(--p-tint)}
.fe-pb.is-navy{background:var(--p-navy)}
.fe-pb h1,.fe-pb h2,.fe-pb h3{color:var(--p-ink);font-weight:600;margin:0}
.fe-pb h1{font-size:clamp(34px,4.2vw,56px);line-height:1.08;letter-spacing:-.035em;margin-bottom:20px;max-width:18ch}
.fe-pb h2{font-size:clamp(26px,2.8vw,38px);line-height:1.15;letter-spacing:-.025em;margin-bottom:16px;max-width:24ch}
.fe-pb h3{font-size:20px;line-height:1.3;letter-spacing:-.01em;margin:28px 0 10px}
.fe-pb p{margin:0 0 16px;max-width:62ch}
.fe-pb.is-navy h2,.fe-pb.is-navy h3{color:#fff}
.fe-pb.is-navy p{color:rgba(255,255,255,.85)}
.fe-pb-kicker{font-size:14px;font-weight:600;color:var(--p-accent);margin-bottom:12px!important}
.fe-pb-lead{font-size:19px;max-width:52ch!important;margin-bottom:28px!important}
.fe-pb-header{padding-block:56px 64px}
.fe-pb-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.fe-pb-media{margin:0}
.fe-pb-media img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:14px}
.fe-pb-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:8px}
.fe-pb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:10px;background:var(--p-accent);color:#fff;font-weight:600;line-height:1.3;text-decoration:none;transition:background-color .14s cubic-bezier(.23,1,.32,1),transform .16s cubic-bezier(.23,1,.32,1)}
.fe-pb-btn:active{transform:scale(.97)}
.fe-pb.is-navy .fe-pb-btn{background:#fff;color:var(--p-navy)}
.fe-pb-link{color:var(--p-accent);font-weight:600;text-decoration:underline;text-underline-offset:5px;padding-block:10px}
.fe-pb.is-navy .fe-pb-link{color:#fff}
.fe-pb-btn:focus-visible,.fe-pb-link:focus-visible,.fe-pb-events a:focus-visible{outline:2px solid var(--p-accent);outline-offset:4px;border-radius:4px}
@media(hover:hover) and (pointer:fine){.fe-pb-btn:hover{background:var(--p-accent-hover);color:#fff}.fe-pb.is-navy .fe-pb-btn:hover{background:var(--p-tint);color:var(--p-navy)}}
.fe-pb-heading{max-width:640px;margin-bottom:32px}
.fe-pb-heading h2{margin-bottom:10px}
.fe-pb-heading p{margin:0}
.fe-pb-muted{color:var(--p-muted)}
.fe-pb-note{padding:14px 16px;border:1px dashed var(--p-line);border-radius:10px;color:var(--p-muted)}
.fe-pb-more{margin:28px 0 0!important}

.fe-pb-prose{max-width:680px;font-size:18px;line-height:1.7}
.fe-pb-prose.is-wide{max-width:900px}
.fe-pb-prose p{max-width:none}
.fe-pb-prose h2{margin-top:0}
.fe-pb-prose h2+*,.fe-pb-prose h3+*{margin-top:0}
.fe-pb-prose ul,.fe-pb-prose ol{padding-left:22px;margin:0 0 20px}
.fe-pb-prose li{margin-bottom:8px}
.fe-pb-prose blockquote{margin:24px 0;padding-left:20px;border-left:3px solid var(--p-accent);color:var(--p-ink);font-size:20px}
.fe-pb-prose a{color:var(--p-accent);text-underline-offset:3px}

.fe-pb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 40px;margin:0}
.fe-pb-stats>div{display:flex;flex-direction:column-reverse;border-top:1px solid var(--p-tint-line);padding:20px 0 8px}
.fe-pb.is-white .fe-pb-stats>div{border-color:var(--p-line)}
.fe-pb.is-navy .fe-pb-stats>div{border-color:rgba(255,255,255,.25)}
.fe-pb-stats dd{margin:0;font-size:clamp(34px,4vw,52px);line-height:1.05;font-weight:600;letter-spacing:-.03em;color:var(--p-ink);font-variant-numeric:tabular-nums}
.fe-pb-stats dt{font-size:15px;font-weight:500;color:var(--p-muted);margin-top:6px}
.fe-pb.is-navy .fe-pb-stats dd{color:#fff}
.fe-pb.is-navy .fe-pb-stats dt{color:rgba(255,255,255,.75)}

.fe-pb-formwrap{max-width:600px}
.fe-pb-formwrap h2{margin-bottom:10px}
.fe-pb.is-navy .fe-form-label,.fe-pb.is-navy .fe-form-choice,.fe-pb.is-navy .fe-form-help,.fe-pb.is-navy .fe-form-feedback{color:rgba(255,255,255,.9)}
.fe-pb.is-navy .fe-form-button{background:#fff;color:var(--p-navy)}
.fe-pb.is-tint .fe-form input,.fe-pb.is-tint .fe-form select,.fe-pb.is-tint .fe-form textarea{background:#fff}

.fe-pb-events{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--p-line)}
.fe-pb-events li{border-top:1px solid var(--p-line)}
.fe-pb-events a{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 0;color:var(--p-ink);text-decoration:none}
.fe-pb-edate{font-variant-numeric:tabular-nums;color:var(--p-muted);font-size:15px}
.fe-pb-etitle{font-size:19px;font-weight:600;letter-spacing:-.01em}
.fe-pb-etitle small{display:block;font-size:14px;font-weight:400;color:var(--p-muted);letter-spacing:0}
.fe-pb-etype{font-size:13px;font-weight:600;color:var(--p-navy);background:var(--p-tint);border-radius:999px;padding:3px 12px}
@media(hover:hover) and (pointer:fine){.fe-pb-events a:hover .fe-pb-etitle{color:var(--p-accent)}}

.fe-pb-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 40px;margin:0}
.fe-pb-facts>div{border-top:1px solid var(--p-tint-line);padding:16px 0}
.fe-pb-facts dt{font-size:13px;font-weight:600;color:var(--p-muted);margin-bottom:4px}
.fe-pb-facts dd{margin:0;font-size:19px;font-weight:600;color:var(--p-ink)}
.fe-pb-facts small{display:block;font-size:14px;font-weight:400;color:var(--p-muted)}

@media(max-width:991px){.fe-pb{padding-block:52px}.fe-pb-header{padding-block:36px 48px}.fe-pb-split{grid-template-columns:1fr;gap:32px}}
@media(max-width:575px){.fe-pb-btn{width:100%}.fe-pb-events a{grid-template-columns:1fr auto;gap:4px 12px}.fe-pb-edate{grid-column:1/-1}.fe-pb h1{max-width:none}}
@media(prefers-reduced-motion:reduce){.fe-pb-btn:active{transform:none}}

.fe-pb-faq-wrap{align-items:start}
.fe-pb-faq details{border-top:1px solid var(--p-tint-line)}
.fe-pb.is-tint .fe-pb-faq details{border-color:var(--p-tint-line)}
.fe-pb:not(.is-tint) .fe-pb-faq details{border-color:var(--p-line)}
.fe-pb-faq details:last-child{border-bottom:1px solid var(--p-line)}
.fe-pb-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:14px 0;font-weight:600;color:var(--p-ink);line-height:1.4}
.fe-pb-faq summary::-webkit-details-marker{display:none}
.fe-pb-faq summary::after{content:"+";font-size:22px;font-weight:400;color:var(--p-muted);line-height:1;flex:none}
.fe-pb-faq details[open] summary::after{content:"\2212"}
.fe-pb-faq summary:focus-visible{outline:2px solid var(--p-accent);outline-offset:4px;border-radius:4px}
.fe-pb-faq p{margin:0 0 20px}

/* Events page */
.fe-ev-head{padding-bottom:24px}
.fe-ev-tabs{display:flex;gap:4px;margin-top:8px;border-bottom:1px solid var(--p-line)}
.fe-ev-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--p-muted);font-weight:600;text-decoration:none}
.fe-ev-tabs a.is-current{color:var(--p-ink);border-bottom-color:var(--p-accent)}
.fe-ev-tabs .fe-num,.fe-ev-chips .fe-num{font-size:13px;font-weight:500;color:var(--p-muted);font-variant-numeric:tabular-nums}
.fe-ev-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.fe-ev-chips a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid var(--p-line);border-radius:999px;color:var(--p-body);font-size:14px;font-weight:500;text-decoration:none;background:#fff}
.fe-ev-chips a.is-current{background:var(--p-navy);border-color:var(--p-navy);color:#fff}
.fe-ev-chips a.is-current .fe-num{color:rgba(255,255,255,.8)}
@media(hover:hover) and (pointer:fine){.fe-ev-tabs a:hover{color:var(--p-ink)}.fe-ev-chips a:not(.is-current):hover{border-color:var(--p-accent);color:var(--p-accent)}}
.fe-ev-tabs a:focus-visible,.fe-ev-chips a:focus-visible{outline:2px solid var(--p-accent);outline-offset:3px}
.fe-ev-empty{max-width:60ch;padding:24px 0}
.fe-ev-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.fe-ev-card a{display:block;height:100%;color:inherit;text-decoration:none;border:1px solid var(--p-line);border-radius:14px;overflow:hidden;background:#fff}
.fe-ev-card figure{margin:0;aspect-ratio:3/2;background:var(--p-tint)}
.fe-ev-card img{display:block;width:100%;height:100%;object-fit:cover}
.fe-ev-card-body{padding:18px 20px 20px}
.fe-ev-card h2{font-size:20px;line-height:1.25;letter-spacing:-.015em;margin:10px 0 6px;max-width:none}
.fe-ev-meta{margin:0 0 8px;font-size:14px;color:var(--p-muted)}
.fe-ev-high{margin:0;font-size:15px;font-weight:600;color:var(--p-navy);font-variant-numeric:tabular-nums}
@media(hover:hover) and (pointer:fine){.fe-ev-card a:hover{border-color:var(--p-accent)}}
@media(max-width:991px){.fe-ev-wall{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.fe-ev-wall{grid-template-columns:1fr}.fe-ev-tabs a{flex:1;justify-content:center}}

/* The shared footer reserves room for the generic CTA band, which is hidden on these pages */
.tj-footer-section{padding-top:0}

/* Feature cards, steps, quotes, contact details */
.fe-pb-cards{display:grid;gap:20px;margin:0;padding:0;list-style:none;grid-template-columns:repeat(3,minmax(0,1fr))}
.fe-pb-cards.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fe-pb-cards.is-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fe-pb-cards li{display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--p-line);border-radius:14px;background:#fff}
.fe-pb.is-tint .fe-pb-cards li{border-color:var(--p-tint-line)}
.fe-pb.is-navy .fe-pb-cards li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2)}
.fe-pb-cards h3{margin:0 0 8px}
.fe-pb-cards p{margin:0 0 12px;font-size:16px}
.fe-pb-cards .fe-pb-link{margin-top:auto;padding-block:4px}

.fe-pb-steps{counter-reset:step;display:grid;gap:0;margin:0;padding:0;list-style:none;max-width:760px}
.fe-pb-steps li{counter-increment:step;position:relative;padding:0 0 28px 64px}
.fe-pb-steps li::before{content:counter(step);position:absolute;left:0;top:0;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--p-navy);color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.fe-pb-steps li::after{content:"";position:absolute;left:19px;top:48px;bottom:8px;width:2px;background:var(--p-tint-line)}
.fe-pb-steps li:last-child{padding-bottom:0}
.fe-pb-steps li:last-child::after{display:none}
.fe-pb-steps h3{margin:6px 0 6px}
.fe-pb-steps p{margin:0}

.fe-pb-quotes{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.fe-pb-quotes figure{margin:0;padding:24px;border-radius:14px;background:var(--p-tint);display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.fe-pb.is-tint .fe-pb-quotes figure{background:#fff}
.fe-pb-quotes blockquote{margin:0}
.fe-pb-quotes blockquote p{margin:0;font-size:18px;line-height:1.55;color:var(--p-ink);max-width:none}
.fe-pb-quotes figcaption{display:flex;flex-direction:column;font-size:15px}
.fe-pb-quotes figcaption strong{color:var(--p-ink)}
.fe-pb-quotes figcaption span{color:var(--p-muted)}

.fe-pb-contact{display:grid;gap:0 40px;margin:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.fe-pb-contact>div{padding:18px 0;border-top:1px solid var(--p-line)}
.fe-pb.is-tint .fe-pb-contact>div{border-color:var(--p-tint-line)}
.fe-pb-contact dt{font-size:14px;font-weight:600;color:var(--p-muted);margin-bottom:4px}
.fe-pb-contact dd{margin:0;font-size:18px;color:var(--p-ink);overflow-wrap:anywhere}
.fe-pb-contact a{color:var(--p-accent);text-underline-offset:3px}
@media(max-width:991px){.fe-pb-cards,.fe-pb-cards.is-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.fe-pb-cards,.fe-pb-cards.is-2,.fe-pb-cards.is-4{grid-template-columns:1fr}.fe-pb-steps li{padding-left:56px}}
