/* Uses the theme's original colours, local typefaces, spacing and buttons. */
.tr-charity{background:linear-gradient(115deg,#faf8f5 0%,#fff 72%);border-block:1px solid var(--tr-line)}
.tr-charity-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.tr-charity-identity{min-width:0;padding:clamp(1.4rem,3vw,3rem);background:#fff;border:1px solid #ece5db;box-shadow:0 18px 55px #102a4a08;position:relative}
.tr-charity-identity:before{content:"";position:absolute;inset:-1px auto -1px -1px;width:4px;background:var(--tr-red)}
.tr-charity-identity .tr-eyebrow{font-size:.72rem;letter-spacing:.12em}
.tr-charity-logo{padding-block:1rem 2rem}
.tr-charity-logo img{display:block;width:100%;height:auto;max-height:200px;object-fit:contain}
.tr-charity-signature{display:flex;align-items:center;gap:1rem;margin:0;padding-top:1.5rem;border-top:1px solid var(--tr-line);font-family:var(--tr-accent);font-size:1.1rem;line-height:1.5}
.tr-charity-signature svg{color:var(--tr-red);flex:0 0 28px;width:28px;height:28px}
.tr-charity-copy{min-width:0}
.tr-charity-copy h2{font-size:clamp(2.6rem,4.4vw,4.75rem)}
.tr-charity-copy>p{font-size:.95rem;line-height:1.85}
.tr-charity-donation{padding:1.1rem 1.3rem;border-left:3px solid var(--tr-red);background:#cf182406}
.tr-charity-copy .tr-charity-outro{font-family:var(--tr-accent);font-size:1.18rem;font-weight:500}
.tr-vip-section{background:var(--tr-pale);scroll-margin-top:8rem}
.tr-vip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.tr-vip-card{--vip-accent:var(--tr-blue);display:flex;flex-direction:column;min-width:0;padding:clamp(1.4rem,2.3vw,2rem);background:#fff;border:1px solid var(--tr-line);border-top:4px solid var(--vip-accent);box-shadow:0 12px 32px #102a4a05;transition:transform .25s,box-shadow .25s}
.tr-vip-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #102a4a12}
.tr-vip-card-top{display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-height:1.9rem;margin-bottom:1.8rem}
.tr-vip-number{font-family:var(--tr-accent);font-size:.85rem;letter-spacing:.12em;color:var(--vip-accent)}
.tr-vip-tagline{font-family:var(--tr-accent);font-size:.82rem;line-height:1.5;font-weight:600;letter-spacing:.055em;text-transform:uppercase;color:var(--vip-accent);margin-bottom:.7rem}
.tr-vip-card h3{font-size:2.65rem;margin-bottom:1rem}
.tr-vip-intro{font-size:.875rem;line-height:1.75;color:var(--tr-muted);min-height:6.2em;margin-bottom:1.5rem}
.tr-vip-features{list-style:none;padding:1.5rem 0 0;margin:0 0 1.5rem;border-top:1px solid var(--tr-line)}
.tr-vip-features li{display:flex;gap:.8rem;align-items:flex-start;font-size:.875rem;line-height:1.65;padding-block:.5rem}
.tr-experience-icon{flex:0 0 22px;width:22px;height:22px;vertical-align:middle}
.tr-vip-features .tr-experience-icon{color:var(--vip-accent);margin-top:.05rem}
.tr-vip-features li:first-child{font-weight:700}
.tr-vip-details{margin-top:auto;border-block:1px solid var(--tr-line);margin-bottom:1.5rem}
.tr-vip-details summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;padding:1rem 0;font-size:.8rem;font-weight:600;line-height:1.5;list-style:none}
.tr-vip-details summary::-webkit-details-marker{display:none}
.tr-vip-details summary>span{font-size:1.4rem;font-family:var(--tr-accent);transition:transform .2s}
.tr-vip-details[open] summary>span{transform:rotate(45deg)}
.tr-vip-details ul{font-size:.82rem;line-height:1.8;padding-left:1.1rem;margin:0 0 1.2rem}
.tr-vip-details li+li{margin-top:.8rem}
.tr-vip-card>.tr-button{width:100%;font-size:.78rem;padding-inline:1rem}
.tr-vip-plus{--vip-accent:var(--tr-red)}
.tr-vip-gold{--vip-accent:#e4c487;--tr-line:#ffffff30;color:#fff;background:linear-gradient(145deg,#183c65,var(--tr-blue) 65%);border-color:#ba9454;border-top-color:var(--vip-accent);box-shadow:0 14px 35px #0b2e5e20}
.tr-vip-gold .tr-vip-intro{color:#e1e7f0}
.tr-vip-badge{display:inline-flex;align-items:center;gap:.4rem;color:#f3d9a7;font-size:.66rem;font-weight:600;line-height:1.4}
.tr-vip-badge svg{width:18px;height:18px;flex-basis:18px}
.tr-vip-gold .tr-button-gold{background:#ead09d;color:#0b2e5e;border-color:#ead09d}
.tr-vip-gold .tr-button-gold:hover{background:#f5dfb8;border-color:#f5dfb8}
.tr-vip-opening{margin:1.6rem 0 0;text-align:center;color:var(--tr-muted);font-size:.85rem}
.tr-contact-form .tr-contact-privacy-note{font-size:.78rem;line-height:1.8;color:var(--tr-muted);margin-block:1rem 1.2rem}
.tr-contact-form .tr-form-status:empty{display:none}
.tr-contact-form .tr-form-status a{font-weight:700}
.tr-contact-form button[disabled]{opacity:.6;cursor:not-allowed;transform:none}
.tr-contact-form[aria-busy=true] button[disabled]{cursor:wait}
.tr-contact-turnstile{margin-block:1.25rem;min-height:65px}
.tr-contact-turnstile:empty{min-height:0}
.tr-turnstile-error{font-size:.8rem;color:#a10c16;line-height:1.6;margin-block:.7rem}
.tr-contact-form select{width:100%}
.tr-privacy-contact{border-top:1px solid var(--tr-line);margin-top:2rem;padding-top:2rem}
@media(min-width:1024px) and (max-width:1150px){.tr-vip-badge{font-size:.6rem}.tr-vip-card{padding:1.3rem}.tr-vip-card h3{font-size:2.4rem}}
@media(max-width:1023px){.tr-vip-grid{grid-template-columns:1fr;max-width:44rem;margin-inline:auto;gap:1.5rem}.tr-vip-intro{min-height:0}.tr-vip-card{padding:2rem}.tr-vip-card-top{margin-bottom:1.2rem}.tr-charity-grid{grid-template-columns:1fr;gap:2.5rem}.tr-charity-identity{max-width:33rem;width:100%;margin-inline:auto}.tr-charity-logo img{max-height:160px}}
@media(max-width:480px){.tr-vip-card{padding:1.4rem}.tr-vip-card h3{font-size:2.5rem}.tr-vip-badge{font-size:.66rem}.tr-charity-identity{padding:1.5rem}.tr-charity-donation{padding:1rem}.tr-charity-copy h2{font-size:2.75rem}}
/* Keep the existing registration button on one line at phone widths. */
@media(max-width:480px){.tr-header .tr-header-cta{white-space:nowrap;max-width:none;padding:.75rem .55rem;font-size:.7rem}.tr-header .tr-header-inner{gap:.45rem}}
@media(prefers-reduced-motion:reduce){.tr-vip-card,.tr-vip-details summary>span{transition:none}.tr-vip-card:hover{transform:none}}
.tr-reduce-motion .tr-vip-card,.tr-reduce-motion .tr-vip-details summary>span{transition:none}
.tr-reduce-motion .tr-vip-card:hover{transform:none}
@media print{.tr-vip-grid{grid-template-columns:1fr}.tr-vip-card{break-inside:avoid;box-shadow:none}.tr-vip-gold{color:#102a4a;background:#fff}.tr-vip-gold .tr-vip-intro{color:#52647b}.tr-charity{background:#fff}}
