/* Production collectstatic flattens this ordered, homepage-only manifest. */
:root{--navy:#061b34;--navy2:#0a2a4f;--gold:#dca842;--cream:#f8f0df;--red:#7d1715;--ink:#172033;--form-control-min-height:44px;--form-control-padding-block:9px;--form-control-padding-inline:12px;--form-textarea-min-height:112px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#f8fafc;background:var(--navy);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif;background-image:linear-gradient(180deg,rgba(4,18,36,.9),rgba(4,18,36,.98)),var(--site-bg);background-size:cover;background-attachment:fixed}
a{color:inherit}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(220,168,66,.35);background:rgba(4,18,36,.88);backdrop-filter:blur(12px);position:sticky;top:0;z-index:2000}
.public-nav{display:flex;align-items:center;gap:18px}.public-nav a{font-size:14px;color:#dbe7f4;text-decoration:none}.public-nav a:hover{color:var(--gold)}
.public-logout-form{display:inline-flex;margin:0}.public-logout-form button{padding:6px 10px;border:1px solid var(--gold);border-radius:3px;background:var(--red);color:#fff7df;font:700 13px system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer}.public-logout-form button:hover,.public-logout-form button:focus-visible{background:#a42923;outline:2px solid #f1ca79;outline-offset:2px}
.brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;font-family:Georgia,serif;font-weight:700;font-size:20px;letter-spacing:.04em}.brand-mark{background:var(--red);color:var(--cream);padding:5px 10px;border:1px solid var(--gold);border-radius:3px}.brand-logo{display:block;width:auto;height:56px;max-width:230px;object-fit:contain;background:transparent}.brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-link{font-size:14px;color:#dbe7f4}.management-login-link{padding:6px 10px;border:1px solid var(--gold);border-radius:3px;background:var(--red);color:#fff7df!important;font-weight:700}.management-login-link:hover,.management-login-link:focus-visible{background:#a42923;outline:2px solid #f1ca79;outline-offset:2px}
main{min-height:calc(100vh - 160px)}.hero{max-width:1180px;margin:auto;padding:100px 24px 70px;border-bottom:1px solid rgba(220,168,66,.25)}.hero h1{font:clamp(42px,7vw,84px)/1.02 Georgia,serif;max-width:950px;margin:10px 0 20px;text-wrap:balance}.hero>p:last-child{max-width:700px;color:#c9d5e2;font-size:19px}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-weight:800;font-size:13px}
.calendar-section{max-width:1180px;margin:auto;padding:55px 24px 24px}.railcar-calendar{position:relative;padding:0 12px 25px;border:3px solid #3a0b0b;border-top-left-radius:38px;border-top-right-radius:38px;border-bottom:8px solid #17191c;background:linear-gradient(90deg,#5c0c0b 0,#8c1b17 8%,#74110f 50%,#8c1b17 92%,#5c0c0b 100%);box-shadow:0 28px 75px rgba(0,0,0,.42),inset 0 0 0 2px rgba(220,168,66,.55)}.railcar-roof{position:absolute;z-index:2;top:-12px;left:5%;width:90%;height:14px;border:2px solid #17191c;border-radius:50% 50% 0 0;background:#34383c}.railcar-cab{display:grid;grid-template-columns:50px 110px minmax(0,1fr) 50px;gap:12px;align-items:center;min-height:90px;padding:16px 15px 12px}.railcar-headlight{width:34px;height:34px;justify-self:center;border:4px solid #d4a543;border-radius:50%;background:radial-gradient(circle,#fffbd5 0 25%,#ffd36a 30%,#9c5b0b 65%,#351606 68%);box-shadow:0 0 20px rgba(255,211,106,.75)}.railcar-number{color:#f8f0df;font:700 16px Georgia,serif;letter-spacing:.06em}.calendar-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center}.railcar-destination{padding:8px 16px;border:2px solid #dca842;border-radius:5px;background:#f6e7c5;color:#28150e;text-align:center;box-shadow:inset 0 0 0 2px #7d1715}.railcar-destination small{display:block;color:#7d1715;font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.section-heading .railcar-destination h2{margin:1px 0 0;font:700 30px/1.1 Georgia,serif;text-transform:capitalize}.calendar-nav{display:grid;place-items:center;width:44px;height:44px;border:2px solid #e5bd6c;border-radius:50%;color:#fff3ce;background:#44100e;font-size:24px;text-decoration:none;transition:.2s}.calendar-nav:hover{color:var(--navy);background:var(--gold)}.railcar-cream-stripe{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 -12px;padding:7px 16px;border-top:2px solid #dca842;border-bottom:2px solid #dca842;background:#f1dfb9;color:#4a1912;font-size:11px;font-weight:900;letter-spacing:.08em;text-align:center;text-transform:uppercase}.railcar-stripe-symbol{color:#a01f19}
.calendar-scroll{overflow-x:auto;margin-top:12px;border:3px solid #d0a64b;border-radius:5px;background:#07192b;box-shadow:inset 0 0 25px rgba(0,0,0,.5)}.event-calendar{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}.event-calendar th{padding:10px 8px;color:#f3cf85;font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:#142d43}.event-calendar td{height:112px;padding:8px;border-top:3px solid #7d1715;border-right:3px solid #7d1715;vertical-align:top;background:linear-gradient(145deg,rgba(27,57,78,.96),rgba(5,22,38,.98))}.event-calendar th:last-child,.event-calendar td:last-child{border-right:0}.calendar-day-number{display:grid;place-items:center;width:27px;height:27px;margin-bottom:5px;color:#f1dfb9;font-size:13px;font-weight:800}.calendar-day--outside{opacity:.34}.calendar-day--today .calendar-day-number{border-radius:50%;background:var(--gold);color:var(--navy)}.calendar-event{display:block;margin-top:4px;padding:5px 6px;border-left:3px solid #f0c569;border-radius:2px;background:#8c1b17;color:#fff;font-size:11px;font-weight:700;line-height:1.25;text-decoration:none;overflow-wrap:anywhere;transition:.15s}.calendar-event:hover{background:#b52d26;box-shadow:0 0 0 1px #f0c569}.calendar-event span{display:block;color:#f5d58f;font-size:10px}.railcar-underframe{position:relative;display:flex;align-items:center;justify-content:space-between;height:42px;padding:5px 18px 0;color:#e8c777}.railcar-plaque{font:700 11px Georgia,serif;letter-spacing:.14em;text-transform:uppercase}.railcar-buffer{width:38px;height:8px;border-radius:5px;background:#191c1f;box-shadow:0 5px 0 #08090a}.railcar-wheel{position:absolute;bottom:-43px;width:58px;height:58px;border:8px solid #17191c;border-radius:50%;background:radial-gradient(circle,#a47532 0 12%,#33383d 14% 38%,#101214 40% 100%);box-shadow:0 5px 0 rgba(0,0,0,.35)}.railcar-wheel--left{left:17%}.railcar-wheel--right{right:17%}
.calendar-event small{display:block;margin-top:2px;color:#f5d58f;font-size:9px;font-weight:600}
.calendar-consist-vehicles{display:flex!important;flex-wrap:wrap;gap:2px;margin-top:3px}.calendar-consist-vehicles i{display:flex;align-items:center;gap:2px;min-width:0;padding:1px 3px;border-radius:2px;background:rgba(5,22,38,.72);font-style:normal}.calendar-consist-vehicles img{width:14px;height:14px;object-fit:cover;border-radius:2px}.calendar-consist-vehicles b{overflow:hidden;color:#fff3d3;font-size:7px;text-overflow:ellipsis;white-space:nowrap}
.events{max-width:1180px;margin:auto;padding:55px 24px 100px}.section-heading h2{font:42px Georgia,serif;margin:0 0 35px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.event-card{min-width:0;background:var(--cream);color:var(--ink);text-decoration:none;border-radius:4px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3);transition:.2s}.event-card:hover{transform:translateY(-5px)}.event-card img{display:block;width:100%;height:300px;padding:10px;object-fit:contain;background:#e8dcc4}.event-card-body{padding:20px}.event-card time{display:block;color:var(--red);font-weight:800;font-size:14px}.event-card-dates{display:grid;gap:2px}.event-card-dates small{color:#684f3b;font-weight:700}.event-card h3{font:24px/1.18 Georgia,serif;margin:7px 0}.event-card-body p{font-size:14px;line-height:1.45}.event-card-body span{color:var(--red);font-weight:800}.empty-state{padding:50px;border:1px dashed #75869a;text-align:center;color:#c9d5e2}
.event-detail{max-width:1180px;margin:auto;padding:45px 24px 100px}.back{text-decoration:none;color:#d9e4ef}.event-layout{display:grid;grid-template-columns:minmax(300px,520px) 1fr;gap:clamp(30px,6vw,80px);margin-top:35px;align-items:start}.poster{display:block;width:100%;box-shadow:0 25px 80px rgba(0,0,0,.45)}.event-copy h1{font:clamp(38px,5vw,64px)/1.08 Georgia,serif;margin:10px 0 24px}.event-dates{display:grid;gap:5px;padding:14px 16px;border-left:3px solid var(--gold);background:rgba(255,255,255,.06)}.event-dates strong{color:var(--gold);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.event-dates time{font-weight:700}.lead{font-size:21px;color:#dbe6f0}.rich-text{color:#c8d3df}.contact{margin-top:35px;padding:22px;border:1px solid rgba(220,168,66,.5);display:grid;gap:4px}.contact strong{color:var(--gold)}footer{border-top:1px solid rgba(220,168,66,.3);padding:30px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;color:#aebdcb;font-size:14px}
.interest-section{margin-top:30px}.interest-panel{border:2px solid var(--gold);border-radius:6px;background:#f4e6c8;color:#241811;box-shadow:0 18px 45px rgba(0,0,0,.28)}.interest-panel>summary{padding:16px 22px;cursor:pointer;list-style:none;background:var(--red);color:#fff5dd;font:700 23px Georgia,serif}.interest-panel>summary::-webkit-details-marker{display:none}.interest-panel>summary:after{content:"+";float:right;color:var(--gold)}.interest-panel[open]>summary:after{content:"−"}.interest-panel-body{padding:22px}.interest-panel-body h2{margin:0;font:700 26px Georgia,serif}.interest-form{display:grid;gap:14px;margin-top:18px}.interest-field{display:grid;gap:5px}.interest-field label{font-weight:800}.interest-field input:not([type=checkbox]),.interest-field textarea{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #8a765c;border-radius:4px;background:#fffdf8;color:#211811;font:inherit}.interest-field input[type=checkbox]{width:18px;height:18px;margin-right:7px;vertical-align:middle}.interest-field--error input,.interest-field--error textarea{border-color:#a41515}.errorlist,.form-errors{margin:3px 0 0;padding-left:20px;color:#8e1111;font-weight:700}.interest-form button{justify-self:start;padding:12px 18px;border:1px solid #e3bb67;border-radius:4px;background:var(--red);color:#fff8e8;font-weight:900;cursor:pointer}.interest-form button:hover{background:#a3231f}.interest-success{margin-bottom:14px;padding:15px 18px;border-left:5px solid #5ca66d;background:#edf8e9;color:#16391f}.interest-success strong{display:block}
.interest-section{margin-top:42px}.interest-railcar{--rail-red:#821b18;--rail-red-dark:#430b0a;--rail-brass:#e0ad48;position:relative;margin:28px 0 62px;padding-top:13px;isolation:isolate}.interest-railcar-roof{position:absolute;z-index:2;top:0;left:5%;width:90%;height:17px;border:2px solid #151719;border-bottom:0;border-radius:55% 55% 0 0;background:linear-gradient(#545b60,#202326);box-shadow:0 -3px 0 rgba(224,173,72,.35)}.interest-panel{position:relative;z-index:3;overflow:hidden;border:3px solid #310706;border-radius:27px 27px 7px 7px;background:linear-gradient(100deg,#4d0a09 0,#921f1b 8%,#711311 50%,#921f1b 92%,#4d0a09 100%);color:#f9edcf;box-shadow:0 24px 60px rgba(0,0,0,.45),inset 0 0 0 2px rgba(224,173,72,.72)}.interest-panel>summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;min-height:75px;padding:13px 18px;cursor:pointer;list-style:none;background:transparent;color:#fff7e5;font-family:inherit}.interest-panel>summary:after{content:none}.interest-summary-light{width:29px;height:29px;justify-self:center;border:4px solid #c38c31;border-radius:50%;background:radial-gradient(circle,#fffbd7 0 27%,#ffd66f 31%,#a45e0b 66%,#381606 70%);box-shadow:0 0 17px rgba(255,216,112,.82)}.interest-destination{display:block;padding:7px 13px;border:2px solid var(--rail-brass);border-radius:5px;background:linear-gradient(#fff6dc,#e9d3a8);color:#32130e;text-align:center;box-shadow:inset 0 0 0 2px #7c1714,0 4px 12px rgba(0,0,0,.26)}.interest-destination small{display:block;color:#7d1715;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.interest-destination strong{display:block;margin-top:1px;font:700 25px/1.05 Georgia,serif;letter-spacing:.03em}.interest-railcar-number{padding-right:2px;color:#fff4db;font:700 13px Georgia,serif;letter-spacing:.06em;text-shadow:0 2px 2px #260000}.interest-cream-stripe{display:flex;align-items:center;justify-content:center;gap:11px;padding:6px 15px;border-top:2px solid #d9aa4c;border-bottom:2px solid #d9aa4c;background:linear-gradient(#f8ebcc,#dec79b);color:#4b1b14;font-size:9px;font-weight:900;letter-spacing:.08em;text-align:center;text-transform:uppercase}.interest-cream-stripe i,.interest-track i{display:inline-block;width:6px;height:6px;transform:rotate(45deg);background:#8b1e1c}.interest-panel-body{padding:24px;background:radial-gradient(circle at 50% -20%,rgba(53,100,130,.7),transparent 55%),linear-gradient(145deg,#102f49,#061929 62%,#04121e);color:#eef3f5}.interest-intro{position:relative;padding:0 0 15px 18px;border-left:3px solid var(--rail-brass)}.interest-intro:after{content:"";position:absolute;right:0;bottom:10px;width:42px;height:24px;border:2px solid rgba(224,173,72,.55);border-radius:12px 12px 3px 3px;background:linear-gradient(90deg,transparent 20%,rgba(224,173,72,.2) 21% 79%,transparent 80%)}.interest-eyebrow{margin:0 0 4px;color:#e7ba63;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.interest-panel-body .interest-intro h2{margin:0;padding-right:48px;color:#fff6df;font:700 28px Georgia,serif}.interest-intro>p:last-child{margin:7px 48px 0 0;color:#c8d6df}.interest-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:17px}.interest-field{gap:6px;min-width:0}.interest-field--phone,.interest-field--message,.interest-field--privacy_consent,.form-errors,.m131-submit{grid-column:1/-1}.interest-field>label:not(.interest-consent){color:#f0c86f;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.interest-field input:not([type=checkbox]),.interest-field textarea{border:2px solid #b9924f;border-radius:4px;background:linear-gradient(#fffdf7,#eee4d1);color:#251711;box-shadow:inset 0 2px 4px rgba(55,30,8,.13),0 1px 0 rgba(255,255,255,.2)}.interest-field input:not([type=checkbox]):focus,.interest-field textarea:focus{border-color:#ffd77f;outline:3px solid rgba(224,173,72,.27);box-shadow:0 0 16px rgba(224,173,72,.25)}.interest-field textarea{min-height:125px;resize:vertical}.interest-consent{display:flex;gap:9px;align-items:flex-start;padding:11px 13px;border:1px solid rgba(224,173,72,.42);border-radius:4px;background:rgba(0,0,0,.19);color:#e8edf0;font-size:12px;line-height:1.4}.interest-consent input{flex:0 0 auto;margin-top:1px;accent-color:#dba43f}.interest-panel .errorlist,.interest-panel .form-errors{color:#ffb7a9}.m131-submit{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:11px;align-items:center;justify-self:stretch!important;min-height:69px;margin-top:5px;padding:9px 16px!important;border:3px solid #e1ae4c!important;border-radius:28px 28px 8px 8px!important;background:linear-gradient(100deg,#4b0908,#9c211d 14%,#701210 50%,#9c211d 86%,#4b0908)!important;color:#fff7e6!important;box-shadow:inset 0 0 0 2px #3b0807,0 9px 0 #17191b,0 15px 24px rgba(0,0,0,.4);text-shadow:0 2px 2px #360000;transition:transform .18s,filter .18s,box-shadow .18s}.m131-submit:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:inset 0 0 0 2px #3b0807,0 11px 0 #17191b,0 18px 28px rgba(0,0,0,.48)}.m131-submit:active{transform:translateY(5px);box-shadow:inset 0 0 0 2px #3b0807,0 4px 0 #17191b,0 9px 14px rgba(0,0,0,.38)}.m131-submit-light{width:25px;height:25px;border:3px solid #be872c;border-radius:50%;background:radial-gradient(circle,#fffde5 0 27%,#ffd46c 31%,#96530a 67%,#2d1204 71%);box-shadow:0 0 12px rgba(255,214,108,.68);transition:box-shadow .18s}.m131-submit:hover .m131-submit-light{box-shadow:0 0 23px #ffe28f}.m131-submit-copy{display:grid;text-align:center}.m131-submit-copy small{color:#efc66f;font:700 9px Georgia,serif;letter-spacing:.15em}.m131-submit-copy strong{font:800 15px/1.2 Arial,sans-serif;letter-spacing:.025em}.interest-underframe{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;height:36px;margin:0 12px;padding:0 12px;border-top:6px solid #151719;border-radius:0 0 8px 8px;background:#32100e;color:#e8c676}.interest-buffer{width:30px;height:7px;border-radius:5px;background:#111315;box-shadow:0 5px 0 #050607}.interest-track{font:700 8px Georgia,serif;letter-spacing:.09em}.interest-track i{width:5px;height:5px;margin:0 6px;background:#dba641}.interest-wheel{position:absolute;bottom:-25px;width:43px;height:43px;border:7px solid #151719;border-radius:50%;background:radial-gradient(circle,#b47b2d 0 12%,#454b50 14% 38%,#0b0d0f 40%);box-shadow:0 5px 0 rgba(0,0,0,.35)}.interest-wheel--left{left:17%}.interest-wheel--right{right:17%}.interest-success{display:flex;gap:13px;align-items:center;margin-bottom:17px;padding:14px 17px;border:2px solid #dca842;border-left:7px solid #5ca66d;border-radius:5px;background:linear-gradient(90deg,#eaf7e7,#fff6dd);box-shadow:0 12px 30px rgba(0,0,0,.23);color:#16391f}.interest-success-light{flex:0 0 auto;width:23px;height:23px;border:4px solid #397448;border-radius:50%;background:radial-gradient(circle,#f3ffe9 0 27%,#81e690 31%,#27773a 70%);box-shadow:0 0 14px rgba(89,205,109,.75)}
.interest-panel[open]>summary:after{content:none}
@media(max-width:950px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.event-layout{grid-template-columns:1fr}.hero{padding-top:65px}.site-header{height:66px}footer{display:block}.event-copy h1{font-size:40px}.calendar-section{padding-top:42px}.railcar-calendar{padding-left:7px;padding-right:7px}.railcar-cab{grid-template-columns:36px minmax(0,1fr) 36px;padding-left:4px;padding-right:4px}.railcar-number{display:none}.railcar-headlight{width:27px;height:27px;border-width:3px}.calendar-heading{grid-template-columns:36px minmax(0,1fr) 36px;gap:6px}.calendar-nav{width:36px;height:36px}.section-heading .railcar-destination h2{font-size:23px}.railcar-cream-stripe{margin-left:-7px;margin-right:-7px}.railcar-cream-stripe span:not(.railcar-stripe-symbol):first-child,.railcar-cream-stripe span:not(.railcar-stripe-symbol):last-child{display:none}.railcar-plaque{font-size:9px}.railcar-wheel{width:48px;height:48px;bottom:-38px}.event-grid{grid-template-columns:1fr}.event-card img{height:auto;max-height:520px}.events{padding-top:55px}.interest-form{grid-template-columns:1fr}.interest-field,.interest-field--phone,.interest-field--message,.interest-field--privacy_consent,.form-errors,.m131-submit{grid-column:1}.interest-panel-body{padding:19px 15px}.interest-panel>summary{grid-template-columns:35px minmax(0,1fr);gap:8px;padding:11px 10px}.interest-summary-light{width:24px;height:24px;border-width:3px}.interest-railcar-number{display:none}.interest-destination strong{font-size:22px}.interest-cream-stripe span:first-child,.interest-cream-stripe span:last-child,.interest-cream-stripe i:first-of-type{display:none}.interest-intro>p:last-child{margin-right:0}.interest-panel-body .interest-intro h2{font-size:25px}.m131-submit{grid-template-columns:29px minmax(0,1fr) 29px;padding-left:10px!important;padding-right:10px!important}.m131-submit-light{width:22px;height:22px}.m131-submit-copy strong{font-size:13px}.interest-track{font-size:7px}.interest-wheel{width:38px;height:38px;bottom:-22px}.interest-success{align-items:flex-start}}
@media(max-width:750px){.event-layout{grid-template-columns:minmax(0,1fr)}.event-layout>*,.event-copy,.interest-section,.interest-railcar,.interest-panel,.interest-destination,.m131-submit-copy{min-width:0;max-width:100%}.interest-cream-stripe{overflow:hidden;white-space:nowrap}.interest-destination small,.m131-submit-copy strong,.interest-success span{overflow-wrap:anywhere}.interest-underframe{box-sizing:border-box}.interest-track{min-width:0;text-align:center}.interest-buffer{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){.m131-submit{transition:none}}
.club-page,.invite-page{max-width:1180px;margin:auto;padding:55px 24px 100px}.club-header{margin-bottom:28px}.club-header h1{margin:3px 0;font:clamp(38px,6vw,64px) Georgia,serif}.club-header>p:last-of-type{color:#c6d4df}.club-switcher{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.club-switcher a{padding:7px 12px;border:1px solid #dca842;text-decoration:none}.club-switcher a[aria-current=page]{background:#dca842;color:#061b34}.club-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.club-panel{overflow:hidden;border:2px solid #dca842;border-radius:8px;background:#f4e6c8;color:#241811;box-shadow:0 20px 50px rgba(0,0,0,.3)}.club-panel--wide{grid-row:span 2}.club-panel-title{display:flex;align-items:center;gap:10px;padding:12px 15px;background:linear-gradient(90deg,#4e0908,#8a1d19,#4e0908);color:#fff4d8}.club-panel-title h2{flex:1;margin:0;font:700 21px Georgia,serif}.club-panel-title>span:last-child{font:700 10px Georgia,serif}.club-light{width:23px;height:23px;border:3px solid #ae7724;border-radius:50%;background:radial-gradient(circle,#fffbd7 0 27%,#ffd66f 31%,#7e4307 70%);box-shadow:0 0 10px #ffd66f}.club-member-list{display:grid}.club-member{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(4,auto) auto;gap:12px;align-items:center;padding:13px 15px;border-bottom:1px solid #bba987}.club-member-name{display:grid}.club-member-name small{color:#6b5a46}.club-member label,.club-invite-form label{font-size:13px;font-weight:700}.club-member button,.club-invite-form button{cursor:pointer}.club-invite-form,.club-invitations{display:grid;gap:11px;padding:16px}.club-invite-form>label{padding:8px;border-bottom:1px solid #cdb991}.club-train-button{display:grid;grid-template-columns:25px 1fr 25px;gap:8px;align-items:center;width:100%;padding:11px;border:3px solid #dca842;border-radius:22px 22px 6px 6px;background:linear-gradient(90deg,#4b0908,#9c211d,#4b0908);color:#fff7e6;font-weight:900}.club-train-button span{width:19px;height:19px;border:3px solid #b27b26;border-radius:50%;background:#ffe393;box-shadow:0 0 8px #ffe393}.club-invite-result{display:grid;gap:7px;margin:0 16px 16px;padding:12px;border-left:5px solid #49995d;background:#eaf6e4}.club-invite-result input{width:100%;padding:8px}.club-invitations>div{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #cdb991}.state-ok{color:#25723b}.state-expired{color:#941b18}.club-message{margin-bottom:15px;padding:11px;background:#fff4d7;color:#701210}.invite-page{display:grid;place-items:center;min-height:calc(100vh - 160px)}.invite-railcar{position:relative;width:min(720px,100%);padding:22px 15px 0;border:3px solid #3a0908;border-radius:38px 38px 7px 7px;background:linear-gradient(90deg,#4c0908,#8c1d19 12%,#6f1210 50%,#8c1d19 88%,#4c0908);box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 0 0 2px #dca842}.invite-roof{position:absolute;top:-14px;left:7%;width:86%;height:17px;border:3px solid #17191b;border-radius:50% 50% 0 0;background:#464b50}.invite-destination{margin:0 auto 15px;width:min(480px,90%);padding:7px 12px;border:2px solid #dca842;background:#f3dfb6;color:#481511;text-align:center}.invite-destination small{display:block;font-size:9px;font-weight:900;letter-spacing:.2em}.invite-destination strong{font:700 24px Georgia,serif}.invite-window{padding:25px;border:4px solid #dca842;border-radius:8px;background:linear-gradient(145deg,#123753,#061929);color:#f8f0df}.invite-window h1{margin-top:0;font:700 35px Georgia,serif}.invite-form{display:grid;gap:12px}.invite-form label{display:grid;gap:4px;color:#e8bd66;font-weight:800}.invite-form input{padding:10px;border:2px solid #b78c45;background:#fffaf0;font:inherit}.invite-form .errorlist{color:#ffb6aa}.invite-underframe{display:flex;align-items:center;justify-content:space-between;margin:18px -15px 0;padding:9px 19px;border-top:7px solid #17191b;background:#2c0c0b;color:#e8c777;font:700 10px Georgia,serif;letter-spacing:.1em;text-align:center}.invite-underframe i{width:30px;height:7px;border-radius:4px;background:#111}.invite-window .club-train-button{margin-top:17px}
@media(max-width:900px){.club-grid{grid-template-columns:1fr}.club-panel--wide{grid-row:auto}.club-member{grid-template-columns:1fr 1fr}.club-member-name,.club-member button{grid-column:1/-1}}
.club-panel--fleet{grid-column:span 1}.club-panel-title a{padding:4px 8px;border:1px solid #e5bf72;border-radius:3px;color:#fff4d8;font-size:11px;font-weight:900;text-decoration:none}.fleet-list,.consist-list{display:grid;padding:12px;gap:8px}.fleet-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:11px;align-items:center;padding:8px;border:1px solid #c7ae7e;border-radius:5px;background:#fff7e6;color:#251811;text-decoration:none}.fleet-item--inactive{filter:grayscale(1);opacity:.55}.fleet-photo{display:grid;place-items:center;width:72px;height:52px;overflow:hidden;background:#d9c6a3}.fleet-photo img{width:100%;height:100%;object-fit:cover}.fleet-photo b{font-size:25px}.fleet-item>span:nth-child(2){display:grid}.fleet-item small{color:#735c42}.fleet-item em{padding:3px 6px;border-radius:3px;background:#791916;color:#fff1d0;font:800 9px Georgia,serif}.consist-item{display:grid;gap:5px;padding:10px 12px;border-left:5px solid #7d1715;background:#fff7e6;color:#251811;text-decoration:none}.consist-item>span{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#725a40;font-size:12px}.consist-item i{color:#a5231e;font-style:normal}.club-empty{padding:8px 10px}.club-editor-page{max-width:900px;margin:auto;padding:45px 24px 100px}.depot-editor{overflow:hidden;margin-top:24px;border:3px solid #dca842;border-radius:28px 28px 7px 7px;background:#f4e6c8;color:#241811;box-shadow:0 24px 65px rgba(0,0,0,.42)}.depot-editor-heading{display:flex;align-items:center;gap:14px;padding:18px 22px;background:linear-gradient(90deg,#4d0908,#8f1d19,#4d0908);color:#fff4d8}.depot-editor-heading small{color:#e9c573;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.depot-editor-heading h1{margin:0;font:700 30px Georgia,serif}.depot-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:22px}.depot-field{display:grid;align-content:start;gap:5px}.depot-field--description,.depot-field--photo,.depot-form>.errorlist,.depot-form>.club-train-button,.consist-editor{grid-column:1/-1}.depot-field>strong,.consist-editor legend{color:#701310;font-size:12px;letter-spacing:.07em;text-transform:uppercase}.depot-field input:not([type=checkbox]),.depot-field select,.depot-field textarea{width:100%;padding:10px;border:1px solid #9d825c;background:#fffdf7;font:inherit}.depot-field textarea{min-height:100px}.depot-field>small{color:#68553e;font-size:11px}.depot-photo-preview{grid-column:1/-1;max-width:100%;max-height:320px;object-fit:contain;background:#d9c6a3}.consist-editor{margin:5px 0;padding:15px;border:2px solid #a77b34}.consist-editor legend{padding:0 8px;font-weight:900}.consist-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;margin:8px 0;padding:9px;border:2px solid #c29b57;border-radius:26px 7px 7px 26px;background:#fff8e8}.consist-row>label{display:grid;gap:3px}.consist-row select{width:100%;padding:9px;background:#fff}.consist-coupler{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#7d1715;color:#e8bd66}.consist-row-controls{display:flex;gap:4px}.consist-row-controls button,.add-consist-car{padding:7px 10px;border:1px solid #7d1715;background:#7d1715;color:#fff7e3;font-weight:900;cursor:pointer}.delete-field{display:none}.consist-row .errorlist{grid-column:2/-1}.add-consist-car{margin-top:8px;background:#133a54}.site-trains .brand-mark{background:#123e59}.site-trains .railcar-number{font-size:11px}.event-ride{display:grid;gap:5px;padding:7px 0;border-bottom:1px solid rgba(220,168,66,.24)}.event-ride:last-child{border-bottom:0}.event-consist{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:3px}.event-consist>i{color:var(--gold);font-style:normal}.event-vehicle{display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:7px;align-items:center;padding:5px 8px;border:1px solid rgba(220,168,66,.42);border-radius:4px;background:rgba(0,0,0,.16)}.event-vehicle img{grid-row:1/3;width:58px;height:42px;object-fit:cover}.event-vehicle b{font-size:12px}.event-vehicle small{color:#bac9d5;font-size:10px}
@media(max-width:750px){.depot-form{grid-template-columns:1fr}.depot-field{grid-column:1}.consist-row{grid-template-columns:25px minmax(0,1fr)}.consist-row-controls{grid-column:2}.club-panel--fleet{grid-column:auto}.event-consist{display:grid}.event-consist>i{display:none}}
.event-route-itinerary{display:flex;flex-wrap:wrap;gap:6px;margin:3px 0 5px;padding:0;list-style:none}.event-route-itinerary li{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid rgba(220,168,66,.45);border-radius:3px;background:rgba(0,0,0,.18)}.event-route-itinerary li+li:before{content:"→";margin-left:-16px;margin-right:4px;color:var(--gold)}.event-route-itinerary span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--red);color:#fff;font-size:10px}.event-route-itinerary strong{color:#f4ddb0;font-size:11px;letter-spacing:0;text-transform:none}
.depot-gallery{padding:0 22px 24px}.depot-gallery>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.depot-gallery figure{margin:0;background:#fff8e8}.depot-gallery img{display:block;width:100%;height:150px;object-fit:cover}.depot-gallery figcaption{padding:7px;font-size:11px}.event-vehicle a{grid-column:2;color:#e9bf67;font-size:10px}.public-gallery-page{max-width:1180px;margin:auto;padding:55px 24px 100px}.public-gallery-page header{margin-bottom:30px}.public-gallery-page h1{margin:4px 0;font:clamp(40px,6vw,68px) Georgia,serif}.public-gallery-page header>p:not(.eyebrow){color:#c7d4df}.public-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.public-gallery-grid figure{margin:0;overflow:hidden;border:2px solid #dca842;border-radius:4px;background:#f4e6c8;color:#241811;box-shadow:0 18px 45px rgba(0,0,0,.32)}.public-gallery-grid img{display:block;width:100%;height:260px;object-fit:cover}.public-gallery-grid figcaption{display:grid;padding:12px}.public-gallery-grid figcaption span{color:#755d43;font-size:12px}@media(max-width:850px){.public-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.depot-gallery>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.public-gallery-grid,.depot-gallery>div{grid-template-columns:1fr}}
.calendar-map-day{display:block;margin:0;padding:0;border:0;background:none;color:inherit;cursor:pointer}.calendar-map-day:hover .calendar-day-number{border-radius:50%;background:#f0c569;color:#061b34}.ride-map-section,.route-editor-page{max-width:1180px;margin:auto;padding:45px 24px}.ride-map-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.ride-map-heading h2,.route-editor-header h1{margin:2px 0;font:clamp(34px,5vw,50px) Georgia,serif}.ride-map-heading label{display:grid;gap:4px;color:#edc673;font-size:12px;font-weight:800}.ride-map-heading input{padding:9px;border:2px solid #dca842;background:#f8f0df;color:#241811}.ride-map-frame{position:relative;padding:14px 14px 0;border:3px solid #3a0908;border-radius:30px 30px 7px 7px;background:linear-gradient(90deg,#4c0908,#8b1d19,#4c0908);box-shadow:0 25px 65px rgba(0,0,0,.4),inset 0 0 0 2px #dca842}.ride-map-lamp{position:absolute;z-index:3;top:22px;right:24px;width:27px;height:27px;border:4px solid #ad7829;border-radius:50%;background:#fff0a4;box-shadow:0 0 18px #ffe182}.ride-map-frame #public-ride-map{height:520px;border:4px solid #dca842;border-radius:14px 14px 3px 3px;background:#dce4e7}.ride-map-frame>p{margin:0 -14px;padding:9px 20px;background:#f2dfb5;color:#4e1812;font-weight:800}.ride-map-underframe{display:flex;justify-content:space-between;align-items:center;margin:0 -14px;padding:9px 20px;border-top:7px solid #151719;background:#2c0c0b;color:#e8c777;font:700 10px Georgia,serif;letter-spacing:.1em}.ride-map-underframe span{width:32px;height:7px;border-radius:4px;background:#111}.map-popup h3{margin:0 0 8px;color:#681411;font:700 19px Georgia,serif}.map-popup-ride{display:grid;grid-template-columns:75px 1fr;gap:9px;align-items:center;margin-top:8px;color:#172033!important;text-decoration:none}.map-popup-ride img{width:75px;height:60px;object-fit:contain;background:#eadfc9}.map-popup-ride span{display:grid}.map-popup-ride small{color:#755b44}.route-editor-page{max-width:1500px}.route-editor-header{margin-bottom:20px}.route-warning{margin-top:12px;padding:12px 15px;border-left:5px solid #e0a62b;background:#fff0c2;color:#5c2505}.route-editor-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px}.route-controls{display:grid;align-content:start;gap:13px;padding:18px;border:2px solid #dca842;background:#f4e6c8;color:#241811}.route-controls>label,.route-waypoint-control label{display:grid;gap:4px;font-size:12px;font-weight:900}.route-controls input,.route-controls select{width:100%;padding:9px;border:1px solid #8d7658;background:#fffdf8;font:inherit}.route-waypoint-control{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end}.route-waypoint-control button,.route-selection-list button{padding:7px;border:1px solid #7d1715;background:#7d1715;color:#fff;cursor:pointer}.route-selection-list{display:grid;gap:5px;margin:0;padding-left:22px;font-size:12px}.route-selection-list li{padding:5px;background:#e7d2a9}.route-selection-list button{float:right;padding:2px 5px}.route-manual-help{padding:9px;border-left:4px solid #dca842;background:#fff8e8;font-size:12px}.route-editor-map{min-height:720px;border:4px solid #dca842;background:#dce4e7}.route-controls #route-status{min-height:24px;margin:0;color:#7d1715;font-weight:800}
@media(max-width:900px){.route-editor-layout{grid-template-columns:1fr}.route-editor-map{min-height:520px}.ride-map-heading{align-items:start;flex-direction:column}.ride-map-frame #public-ride-map{height:430px}}

/* Partner badge shared by every public page. */
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:24px}
.site-footer-copy{display:grid;gap:2px}
.kzn-partner{display:flex;align-items:center;gap:12px;color:#c8d5e1;text-decoration:none}
.kzn-partner-label{font-size:12px;font-weight:700;letter-spacing:.04em}
.kzn-logo-panel{display:grid;place-items:center;padding:8px 12px;border:1px solid rgba(220,168,66,.5);border-radius:5px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.22);transition:transform .18s,box-shadow .18s}
.kzn-partner:hover .kzn-logo-panel,.kzn-partner:focus-visible .kzn-logo-panel{transform:translateY(-2px);box-shadow:0 9px 24px rgba(0,0,0,.32)}
.kzn-logo-panel img{display:block;width:150px;height:auto}
@media(max-width:750px){.site-footer{align-items:flex-start;flex-direction:column}.kzn-partner{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:850px){.site-header{height:auto;min-height:76px;gap:12px;padding-top:10px;padding-bottom:10px}.public-nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px}}

.ride-map-toolbar{display:grid;gap:9px;justify-items:end}.ride-map-toolbar>label{display:grid;grid-template-columns:auto auto;align-items:center;gap:9px}.ride-map-ranges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.ride-map-ranges button{padding:7px 10px;border:1px solid #dca842;border-radius:3px;background:#f5e5c2;color:#4d1712;font:800 11px system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer;transition:background .15s,color .15s,transform .15s}.ride-map-ranges button:hover{transform:translateY(-1px);background:#fff2d3}.ride-map-ranges button[aria-pressed=true]{background:#7d1715;color:#fff4d8;box-shadow:inset 0 0 0 1px #35100e,0 0 0 1px #e8bd66}
.ride-map-toolbar>.ride-map-stops{display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(220,168,66,.55);border-radius:3px;background:rgba(0,0,0,.17);color:#f1d18d}.ride-map-stops input{width:18px;height:18px;margin:0;accent-color:#a52620}.route-stop-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:4px}.route-stop-list button{float:none}.leaflet-tooltip{font-weight:700}
.map-popup-stop-routes{margin:0 0 9px;padding-left:18px;color:#624531;font-size:12px}.map-popup-stop-routes li+li{margin-top:2px}
@media(max-width:900px){.ride-map-toolbar{justify-items:start;width:100%}.ride-map-ranges{justify-content:flex-start}.ride-map-toolbar>label{grid-template-columns:1fr}}

/* Club presentation pages and the self-hosted editorial carriage. */
.organization-directory,.organization-public-page,.profile-editor-page{max-width:1180px;margin:auto;padding:55px 24px 100px}.organization-directory>h1,.organization-public-header h1{margin:5px 0 28px;font:clamp(40px,6vw,68px) Georgia,serif}.organization-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.organization-directory-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:5px 15px;align-items:center;min-height:105px;padding:16px;border:2px solid #dca842;border-radius:8px;background:linear-gradient(145deg,#f8ecd2,#e5c98f);color:#32120f;text-decoration:none;box-shadow:0 18px 42px rgba(0,0,0,.3);transition:transform .18s}.organization-directory-card:hover{transform:translateY(-3px)}.organization-directory-card img,.organization-logo-placeholder{grid-row:1/3;width:88px;height:88px;object-fit:contain;border-radius:5px;background:#fff9eb}.organization-logo-placeholder{display:grid;place-items:center;font-size:38px}.organization-directory-card strong{font:700 21px Georgia,serif}.organization-directory-card small{color:#71513d}.organization-public-header{display:flex;align-items:center;gap:22px;margin-bottom:30px;padding:20px;border:3px solid #dca842;border-radius:34px 8px 8px 34px;background:linear-gradient(90deg,#59100e,#8f211c,#46100e);box-shadow:0 20px 50px rgba(0,0,0,.35)}.organization-public-header>img,.organization-public-header>.organization-logo-placeholder{flex:0 0 auto;width:128px;height:128px;object-fit:contain;border:4px solid #e2b754;border-radius:50%;background:#fff9e9}.organization-public-header h1{margin:2px 0;color:#fff9ed}.organization-public-header a{color:#f3d583}.organization-profile-content{overflow:hidden;min-height:180px;padding:clamp(20px,4vw,48px);border:2px solid #dca842;border-radius:7px;background:#fff9eb;color:#251812;box-shadow:0 20px 55px rgba(0,0,0,.32);font:17px/1.65 system-ui,-apple-system,Segoe UI,sans-serif}.organization-profile-content h2,.organization-profile-content h3,.organization-profile-content h4{color:#681713;font-family:Georgia,serif}.organization-profile-content a{color:#811b17}.organization-profile-content table{width:100%;border-collapse:collapse}.organization-profile-content td,.organization-profile-content th{padding:8px;border:1px solid #b8955d}.organization-profile-content th{background:#72201a;color:#fff4dc}.organization-profile-content .text-center{text-align:center}.organization-profile-content .text-right{text-align:right}.organization-profile-content .text-justify{text-align:justify}.organization-media{max-width:100%;margin:20px auto;text-align:center}.organization-media img{display:block;max-width:100%;height:auto;margin:auto}.organization-media figcaption{padding:7px;color:#6e5640;font-size:13px}.organization-media.media-left{float:left;width:min(45%,520px);margin:8px 22px 14px 0}.organization-media.media-right{float:right;width:min(45%,520px);margin:8px 0 14px 22px}.organization-media.media-wide{width:100%}.organization-media-gallery{display:grid;gap:14px;clear:both;margin:22px 0}.organization-media-gallery.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.organization-media-gallery.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.organization-media-gallery .organization-media{margin:0}.organization-events{margin-top:55px}.organization-events>h2{font:clamp(34px,5vw,50px) Georgia,serif}
.profile-editor-page{max-width:1450px}.profile-editor-heading{display:flex;align-items:center;gap:17px;margin:20px 0;padding:17px 20px;border:3px solid #dca842;border-radius:38px 8px 8px 38px;background:linear-gradient(90deg,#51100e,#90211c,#45100e);box-shadow:0 18px 50px rgba(0,0,0,.35)}.profile-editor-heading>div{flex:1}.profile-editor-heading h1{margin:2px 0;color:#fff8e8;font:clamp(28px,4vw,43px) Georgia,serif}.profile-editor-heading a{color:#f3d17d}.profile-editor-light{width:44px;height:44px;border:5px solid #a77127;border-radius:50%;background:radial-gradient(circle,#fff8bd 0 25%,#ffd05b 31%,#773c08 68%);box-shadow:0 0 18px #ffd768}.profile-organization-switcher{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.profile-organization-switcher a{padding:7px 10px;border:1px solid #dca842;color:#f6d78e;text-decoration:none}.profile-organization-switcher a[aria-current=page]{background:#dca842;color:#31110e}.profile-editor-form,.organization-media-library{overflow:hidden;margin-top:18px;border:2px solid #dca842;border-radius:8px;background:#f2dfb8;color:#251711;box-shadow:0 18px 48px rgba(0,0,0,.32)}.profile-settings-grid{display:grid;grid-template-columns:minmax(250px,1fr) 160px minmax(220px,1fr);gap:14px;align-items:end;padding:18px}.profile-settings-grid label{display:grid;gap:5px}.profile-settings-grid input:not([type=checkbox]){width:100%;box-sizing:border-box;padding:9px;border:1px solid #987b54;background:#fffefa}.profile-logo-preview,.profile-logo-placeholder{grid-row:span 2;width:140px;height:110px;object-fit:contain;background:#fff9e9}.profile-logo-placeholder{display:grid;place-items:center;font-size:38px}.profile-publish-field{display:flex!important;align-items:center;gap:8px}.profile-editor-toolbar-help{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:11px 18px;background:#57110f;color:#fff4dd}.profile-editor-toolbar-help strong{font:700 18px Georgia,serif}.profile-editor-toolbar-help button,.media-upload-form button,.media-library-actions button,.organization-media-card button{padding:7px 10px;border:1px solid #dca842;border-radius:3px;background:#7d1715;color:#fff7df;font-weight:800;cursor:pointer}.profile-editor-toolbar-help span{color:#e5cfa4;font-size:12px}.profile-editor-form>.jodit-container{border:0!important;border-radius:0!important}.profile-save{width:calc(100% - 36px);margin:18px}.organization-media-library .club-panel-title{border-radius:0}.media-upload-form{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1fr auto;gap:11px;align-items:end;padding:16px}.media-upload-form label{display:grid;gap:4px;font-size:12px}.media-upload-form input{max-width:100%;padding:7px;border:1px solid #9d825c;background:#fff}.media-upload-form small{color:#68553e}.media-upload-form p{grid-column:1/-1;margin:0;color:#731713;font-weight:800}.media-library-actions{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#e1c487}.organization-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}.organization-media-card{display:grid;align-content:start;gap:7px;padding:9px;border:1px solid #b4935d;background:#fff9ec}.organization-media-card>img{width:100%;height:160px;object-fit:cover}.organization-media-card>small{min-height:1em;color:#745d47}.organization-media-card>div{display:flex;gap:5px}.organization-media-card button:last-child{background:#46100f}.media-select{font-size:11px;font-weight:800}.organization-byline{display:flex;align-items:center;gap:7px;color:#6a1714}.organization-byline img,.organization-byline span{width:28px;height:28px;object-fit:contain}.organization-byline span{display:grid;place-items:center}
@media(max-width:1000px){.organization-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.organization-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.media-upload-form{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-settings-grid{grid-template-columns:1fr 140px}.profile-settings-grid label:nth-of-type(2),.profile-settings-grid label:nth-of-type(3),.profile-publish-field{grid-column:1/-1}}
@media(max-width:700px){.organization-directory-grid,.organization-media-grid,.organization-media-gallery.columns-2,.organization-media-gallery.columns-3{grid-template-columns:1fr}.organization-public-header,.profile-editor-heading{align-items:flex-start;flex-direction:column;border-radius:15px}.organization-public-header>img,.organization-public-header>.organization-logo-placeholder{width:100px;height:100px}.organization-media.media-left,.organization-media.media-right{float:none;width:100%;margin:18px 0}.profile-settings-grid,.media-upload-form{grid-template-columns:1fr}.profile-settings-grid>*{grid-column:1!important}.organization-media-card>img{height:auto}.media-library-actions{align-items:flex-start;flex-direction:column}}
.event-organization-link,.map-popup-organization{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin-bottom:10px;color:#e9bf67;text-decoration:none}.event-organization-link img,.event-organization-link span{width:45px;height:45px;object-fit:contain;border-radius:50%;background:#fff8e6}.event-organization-link span,.map-popup-organization span{display:grid;place-items:center}.map-popup-ride-wrap{padding:7px 0;border-bottom:1px solid #d9c5a1}.map-popup-ride-wrap:last-child{border-bottom:0}.map-popup-organization{margin:5px 0 0 84px;color:#681713!important;font-size:11px}.map-popup-organization img,.map-popup-organization span{width:25px;height:25px;object-fit:contain;border-radius:50%;background:#fff8e6}.public-gallery-grid .organization-byline{margin-top:5px;text-decoration:none}.organization-profile-callout{display:grid;grid-template-columns:72px minmax(0,1fr);gap:3px 13px;align-items:center;margin-bottom:20px;padding:13px;border:2px solid #dca842;border-radius:38px 8px 8px 38px;background:linear-gradient(90deg,#6c1512,#93221e,#55110f);color:#fff4da;text-decoration:none}.organization-profile-callout img,.organization-profile-callout>span{grid-row:1/3;width:68px;height:68px;object-fit:contain;border-radius:50%;background:#fff8e9}.organization-profile-callout>span{display:grid;place-items:center;font-size:30px}.organization-profile-callout strong{font:700 19px Georgia,serif}.organization-profile-callout small{color:#e9c876}
.map-popup-schedule{color:#8a1915!important;font-weight:800}
.map-popup-schedule--pass{color:#3c5d70!important}.map-popup-note{font-style:italic}
.map-popup-kind{width:max-content;padding:2px 5px;border:1px solid #a47118;background:#f3d887;color:#5d1712;font-size:10px;text-transform:uppercase}.map-popup-regular .map-popup-ride{align-items:start}.map-popup-departures{display:grid;gap:3px;margin:7px 0 0;padding:0;list-style:none}.map-popup-departures a{display:flex;justify-content:space-between;gap:10px;padding:4px 6px;background:#f4ead5;color:#651713!important;text-decoration:none}.map-popup-departures small{color:#705843}.map-popup-regular-actions{display:flex;flex-wrap:wrap;gap:5px 12px;margin:7px 0 0 84px;font-size:12px;font-weight:800}.map-popup-regular-actions a{color:#751815!important}
.map-popup-event-group .map-popup-departures{margin-left:84px}.map-popup-event-group .map-popup-departures a{align-items:center}.map-popup-event-group .map-popup-departures time{font-weight:900;white-space:nowrap}.map-popup-event-group .map-popup-departures small{min-width:0;text-align:right;overflow-wrap:anywhere}
@media(max-width:520px){.map-popup-event-group .map-popup-departures{margin-left:0}}
.ride-map-frame #public-ride-map .leaflet-popup-content{max-height:360px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:8px}
.event-card-occurrence{padding:4px 0;border-bottom:1px solid #d5c19b}.event-card-consist{display:flex!important;flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px;color:#694035!important;font-size:10px}.event-card-consist>strong{width:100%}.event-card-consist i{display:flex;align-items:center;gap:3px;padding:2px 4px;border:1px solid #c6a96e;border-radius:3px;background:#fff8e9;font-style:normal}.event-card-consist img{width:22px!important;height:18px!important;padding:0!important;object-fit:cover!important;background:transparent!important}.event-card-consist b{font-size:9px}.map-popup-consist{display:flex!important;flex-wrap:wrap;gap:4px;margin-top:4px}.map-popup-consist i{display:flex;align-items:center;gap:3px;padding:2px 4px;border:1px solid #d0b77d;border-radius:3px;background:#fff8e9;font-style:normal}.map-popup-consist img{width:27px!important;height:20px!important;object-fit:cover}.map-popup-consist b{font-size:9px}
.ride-map-data-sources{margin:0;padding:7px 24px 11px;background:#efe0b5;color:#4c2618;font-size:11px;line-height:1.4}.ride-map-data-sources:empty{display:none}.ride-map-data-sources a{color:#701714;font-weight:800}
.calendar-event-organization{display:flex!important;align-items:center;gap:3px;margin-bottom:3px;font-size:8px!important;opacity:.88}.calendar-event-organization img,.calendar-event-organization i{width:15px;height:15px;object-fit:contain;border-radius:50%;background:#fff8e7;font-style:normal}.calendar-event-organization b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.organization-fleet-public,.organization-photo-public{margin-top:55px}.organization-fleet-public>h2,.organization-photo-public>h2{font:clamp(34px,5vw,50px) Georgia,serif}.organization-vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.organization-vehicle-card{display:grid;grid-template-rows:auto;align-content:start;min-width:0;overflow:hidden;padding:12px;border:2px solid #dca842;border-radius:7px;background:#f4e6c8;color:#251711;box-shadow:0 17px 40px rgba(0,0,0,.28)}.organization-vehicle-photo{display:grid;place-items:center;contain:layout paint;position:relative;z-index:0;width:100%;height:clamp(180px,18vw,240px);margin:0 0 12px;overflow:hidden;background:#d6c39d}.organization-vehicle-photo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.organization-vehicle-card>:not(.organization-vehicle-photo){position:relative;z-index:1}.organization-vehicle-card>.organization-byline{margin:0;padding:7px 0;background:#f4e6c8}.organization-vehicle-photo span{font-size:55px}.organization-vehicle-card h3{margin:10px 0 0;color:#6f1512;font:700 25px Georgia,serif}.organization-vehicle-card p{color:#65513f}.organization-vehicle-card>a{color:#791713;font-weight:800}.organization-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.organization-photo-grid figure{overflow:hidden;margin:0;border:2px solid #dca842;border-radius:5px;background:#f4e6c8;color:#251711}.organization-photo-grid img{display:block;width:100%;height:230px;object-fit:cover}.organization-photo-grid figcaption{display:grid;gap:3px;padding:9px}.organization-photo-grid figcaption span,.organization-photo-grid figcaption small{color:#705b45}.organization-gallery-link{display:inline-block;margin-top:17px;color:#f0ca7c;font-weight:800}.media-library-actions label{display:flex;align-items:center;gap:6px}.media-library-actions input[type=search]{width:min(330px,45vw);padding:7px;border:1px solid #94754a;background:#fffdf8}.organization-media-card[hidden]{display:none}
.organization-profile-preview{padding-top:25px}.profile-preview-notice{position:sticky;top:8px;z-index:20;margin-bottom:18px;padding:10px 15px;border:2px solid #f0c569;border-radius:4px;background:#6f1613;color:#fff6df;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.3)}
@media(max-width:900px){.organization-vehicle-grid,.organization-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.organization-vehicle-grid,.organization-photo-grid{grid-template-columns:1fr}.media-library-actions label{width:100%}.media-library-actions input[type=search]{width:100%}}
.route-editor-layout{align-items:start}
.route-editor-map{height:clamp(620px,72vh,900px);min-height:0;align-self:start}
.route-point-menu{display:grid;min-width:220px;gap:7px;color:#29170f}.route-point-menu strong{color:#701310;font:700 16px Georgia,serif}.route-point-menu small{color:#6d5941}.route-point-menu button{width:100%;padding:8px 10px;border:1px solid #dca842;border-radius:3px;background:#7d1715;color:#fff7df;font-weight:800;cursor:pointer}.route-point-menu button:hover,.route-point-menu button:focus-visible{background:#a52822;outline:2px solid #dca842;outline-offset:1px}
@media(max-width:900px){.route-editor-map{height:520px;min-height:0}}

/* Organization logos are shown as the uploaded artwork itself. Decorative
   plaques remain reserved for the fallback icon when no logo was uploaded. */
.organization-public-header>img{width:150px;height:150px;border:0;border-radius:0;background:transparent;box-shadow:none}
.organization-directory-card img{width:96px;height:96px;border-radius:0;background:transparent;box-shadow:none}

.event-timetable-download{display:grid;grid-template-columns:42px minmax(0,1fr);gap:0 12px;align-items:center;margin:14px 0 22px;padding:12px 15px;border:2px solid var(--gold);border-radius:5px;background:linear-gradient(100deg,#711411,#9b241f,#5b100e);color:#fff7df;text-decoration:none;box-shadow:0 9px 24px rgba(0,0,0,.28);transition:transform .16s,filter .16s}
.event-timetable-download>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border:2px solid #f2ca74;border-radius:50%;background:#101f33;color:#ffd77f;font-size:21px}
.event-timetable-download strong{font:700 18px Georgia,serif}.event-timetable-download small{color:#efd49c}.event-timetable-download:hover,.event-timetable-download:focus-visible{transform:translateY(-2px);filter:brightness(1.12);outline:2px solid #f0c569;outline-offset:2px}

.calendar-day-summary{display:grid;grid-template-columns:25px auto 1fr;grid-template-rows:auto auto;align-items:center;gap:0 7px;width:100%;margin-top:8px;padding:8px;border:2px solid #e1ae4c;border-radius:5px;background:linear-gradient(110deg,#861d18,#a52d25,#68110e);color:#fff6df;text-align:left;cursor:pointer;box-shadow:inset 0 0 0 1px #48100d,0 6px 14px rgba(0,0,0,.25);transition:transform .16s,filter .16s}.calendar-day-summary:hover,.calendar-day-summary:focus-visible{transform:translateY(-2px);filter:brightness(1.14);outline:2px solid #ffd77f;outline-offset:2px}.calendar-day-summary-lamp{grid-row:1/3;width:20px;height:20px;border:3px solid #a97123;border-radius:50%;background:radial-gradient(circle,#fff9bf 0 28%,#ffd05b 32%,#8b4709 69%);box-shadow:0 0 10px #ffd871}.calendar-day-summary>strong{font:700 23px/1 Georgia,serif}.calendar-day-summary>span:not(.calendar-day-summary-lamp){font-weight:900}.calendar-day-summary>small{grid-column:2/4;color:#f2d293;font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.calendar-day-tooltip{position:fixed;z-index:7000;box-sizing:border-box;max-height:min(350px,calc(100vh - 24px));overflow-x:hidden;overflow-y:auto;padding:10px;border:2px solid #dca842;border-radius:7px;background:#f4e6c8;color:#251711;box-shadow:0 18px 55px rgba(0,0,0,.55);scrollbar-gutter:stable;overscroll-behavior:contain}.calendar-day-tooltip[hidden]{display:none}.calendar-day-event-list{display:grid;gap:7px}.calendar-day-event{display:grid;grid-template-columns:64px minmax(0,1fr) 22px;gap:10px;align-items:center;min-width:0;padding:9px;border:1px solid #c9a45f;border-left:5px solid #7d1715;border-radius:4px;background:#fff9ec;color:#251711;text-decoration:none;transition:background .15s,transform .15s}.calendar-day-event:hover,.calendar-day-event:focus-visible{transform:translateX(2px);background:#fff2d2;outline:2px solid #a52a23;outline-offset:1px}.calendar-day-event>time{display:grid;color:#751713}.calendar-day-event>time strong{font-size:18px}.calendar-day-event>time span{color:#715a42;font-size:9px}.calendar-day-event-copy{display:grid;min-width:0}.calendar-day-event-copy>strong{overflow-wrap:anywhere;color:#5e1512;font:700 16px/1.2 Georgia,serif}.calendar-day-event-copy>small{color:#765a3f}.calendar-day-event-organization{display:flex;align-items:center;gap:6px;min-width:0;color:#74512f;font-size:10px}.calendar-day-event-organization img,.calendar-day-event-organization i{flex:0 0 auto;width:27px;height:27px;object-fit:contain;font-style:normal}.calendar-day-event-organization b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-event-arrow{color:#7d1715;font-size:19px;font-weight:900}
.calendar-day-dialog{width:min(760px,calc(100vw - 28px));max-height:min(820px,calc(100vh - 28px));padding:0;border:3px solid #dca842;border-radius:11px;background:#f4e6c8;color:#251711;box-shadow:0 30px 100px rgba(0,0,0,.7)}.calendar-day-dialog::backdrop{background:rgba(2,11,22,.78);backdrop-filter:blur(3px)}.calendar-day-dialog-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 34px)}.calendar-day-dialog header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:2px solid #dca842;background:linear-gradient(100deg,#66120f,#92241e,#4c0d0b);color:#fff6df}.calendar-day-dialog header .eyebrow{margin:0}.calendar-day-dialog h2{margin:3px 0 0;font:700 clamp(25px,5vw,38px) Georgia,serif}.calendar-day-dialog-close{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:2px solid #efc66d;border-radius:50%;background:#111f31;color:#fff0c5;font-size:27px;cursor:pointer}.calendar-day-dialog-close:hover,.calendar-day-dialog-close:focus-visible{background:#7d1715;outline:2px solid #fff0c5}.calendar-day-dialog-content{overflow-y:auto;padding:16px;scrollbar-gutter:stable;overscroll-behavior:contain}.calendar-day-dialog footer{display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid #cda963;background:#ead3a2}.calendar-day-map-button{padding:10px 15px;border:2px solid #dca842;border-radius:4px;background:#721714;color:#fff5dd;font-weight:900;cursor:pointer}.calendar-day-map-button:hover,.calendar-day-map-button:focus-visible{background:#a02822;outline:2px solid #5c130f;outline-offset:2px}
@media(max-width:600px){.calendar-day-tooltip{display:none!important}.calendar-day-dialog-content{padding:9px}.calendar-day-dialog header{padding:13px}.calendar-day-event{grid-template-columns:52px minmax(0,1fr) 16px;padding:7px}.calendar-day-event-copy>strong{font-size:14px}.calendar-day-event-organization img,.calendar-day-event-organization i{width:22px;height:22px}}

.event-poster-open{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in}.event-poster-open:focus-visible{outline:4px solid var(--gold);outline-offset:5px}.event-poster-open .poster{display:block;width:100%}.event-poster-dialog{box-sizing:border-box;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(5,6,7,.97);overflow:hidden}.event-poster-dialog::backdrop{background:rgba(5,6,7,.97)}.event-poster-dialog-stage{display:grid;place-items:center;box-sizing:border-box;width:100%;height:100%;padding:18px}.event-poster-dialog-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.event-poster-dialog-close{position:fixed;z-index:2;top:18px;right:18px;display:grid;place-items:center;width:52px;height:52px;padding:0;border:2px solid #f1c55e;border-radius:50%;background:#701713;color:#fff8e5;font:700 34px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 7px 28px rgba(0,0,0,.55)}.event-poster-dialog-close:hover,.event-poster-dialog-close:focus-visible{background:#9d271f;outline:3px solid #fff1bb;outline-offset:2px}
.management-global-back{position:relative;display:flex;gap:7px;align-items:center;width:max-content;max-width:calc(100% - 48px);margin:16px 24px 0;padding:9px 13px;border:1px solid var(--gold);border-radius:4px;background:#54110e;color:#fff2d5;font-weight:900;line-height:1.25;text-decoration:none;white-space:normal;cursor:pointer;box-shadow:0 7px 20px rgba(0,0,0,.3)}.management-global-back:hover,.management-global-back:focus-visible{background:#84211b;outline:2px solid #ffe49a;outline-offset:2px}
.club-panel-title--filters{flex-wrap:wrap}.club-panel-filter{margin-left:auto}.club-panel-filter label{display:flex;gap:7px;align-items:center;padding:7px 10px;border:1px solid #d7ad58;border-radius:4px;background:#f5e4bc;color:#511612;font-size:13px;font-weight:900;cursor:pointer}.club-panel-filter input{width:18px;height:18px;accent-color:#7d1715}
@media(max-width:750px){.management-global-back{max-width:calc(100% - 24px);margin:10px 12px 0}.event-poster-dialog-stage{padding:8px}.event-poster-dialog-close{top:10px;right:10px;width:46px;height:46px}.club-panel-filter{width:100%;margin:0}.club-panel-filter label{justify-content:center}}

.account-page{display:grid;place-items:start center;min-height:calc(100vh - 180px);padding:55px 20px 100px}.account-railcar{overflow:hidden;width:min(820px,100%);border:3px solid var(--gold);border-radius:32px 32px 8px 8px;background:#f3e4c5;color:#261710;box-shadow:0 25px 80px rgba(0,0,0,.48)}.account-railcar>header{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:16px;align-items:center;padding:22px;background:linear-gradient(100deg,#4d0a09,#8c1d19,#4d0a09);color:#fff4dc;text-align:center}.account-railcar h1{margin:3px 0;font:clamp(32px,6vw,50px) Georgia,serif}.account-railcar header p{margin:4px 0;color:#ead5ad}.account-light{width:31px;height:31px;border:4px solid #a67222;border-radius:50%;background:radial-gradient(circle,#fffbd6 0 27%,#ffd462 31%,#854607 69%);box-shadow:0 0 16px #ffd86d}.account-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:25px}.account-form>label{display:grid;gap:6px}.account-form>label>span{font-weight:900}.account-form input:not([type=checkbox]),.account-form textarea,.account-form select{box-sizing:border-box;width:100%;padding:11px;border:1px solid #8e7450;background:#fffdf8;color:#251711;font:inherit}.account-form textarea,.account-form .club-train-button,.account-form .form-errors,.sms-full-preview{grid-column:1/-1}.account-railcar>footer{display:flex;justify-content:space-between;gap:12px;padding:15px 25px;border-top:1px solid #b99a63;background:#e2c991}.account-railcar>footer a{color:#651512;font-weight:800}.account-profile-photo{grid-column:1/-1;margin:0}.account-profile-photo img{display:block;width:150px;height:150px;object-fit:contain;border:2px solid #b68b40;border-radius:5px;background:#fff}.account-field--bio,.account-field--photo,.account-field--show_sandbox_organization{grid-column:1/-1}.account-field--show_sandbox_organization{grid-template-columns:22px minmax(0,1fr);align-items:center;padding:14px;border:1px solid #b68b40;background:#fff7e8}.account-field--show_sandbox_organization input{width:19px;height:19px;margin:0;accent-color:#7d1715}.account-field--show_sandbox_organization small,.account-field--show_sandbox_organization .errorlist{grid-column:1/-1;margin:0}.account-memberships{padding:0 25px 25px}.account-memberships h2{font:700 27px Georgia,serif}.account-memberships p{padding:9px;border-left:4px solid #dca842;background:#fff7e8}.sms-full-preview{padding:14px;border:2px solid #dca842;background:#101e2f;color:#fff3d5}.sms-full-preview pre{min-height:52px;margin:8px 0;padding:11px;background:#f9eed4;color:#231711;font:16px/1.4 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.sms-full-preview small{display:block;text-align:right}.sms-over-limit{color:#ff9e92!important;font-weight:900}
@media(max-width:650px){.account-form{grid-template-columns:1fr;padding:18px}.account-form>label,.account-profile-photo,.sms-full-preview{grid-column:1}.account-railcar>header{grid-template-columns:30px minmax(0,1fr) 30px}.account-light{width:24px;height:24px}.account-railcar>footer{flex-direction:column}}

.organization-people-public{margin-top:55px}.organization-people-public>h2{font:clamp(34px,5vw,50px) Georgia,serif}.organization-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.organization-people-grid article{padding:15px;border:2px solid #dca842;border-radius:7px;background:#f4e6c8;color:#251711}.organization-people-grid img,.organization-people-grid article>span{display:grid;place-items:center;width:100%;height:230px;object-fit:contain;background:#d7c59f;font-size:70px}.organization-people-grid h3{margin:13px 0 3px;color:#6f1512;font:700 25px Georgia,serif}.organization-person-roles{color:#7a5d3b;font-weight:900;text-transform:uppercase}.club-member-photo{width:42px;height:42px;margin-right:7px;object-fit:contain;vertical-align:middle;border:1px solid #b7914b;background:#fff}
@media(max-width:800px){.organization-people-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.organization-people-grid{grid-template-columns:1fr}}
.organization-byline{gap:12px;min-height:58px}.organization-byline img{flex:0 0 auto;width:58px;height:58px;border:0;border-radius:0;background:transparent;box-shadow:none}
.event-card .organization-byline{margin-bottom:10px}.event-card .organization-byline img{width:64px;height:64px}
.event-organization-link{gap:13px}.event-organization-link img{width:72px;height:72px;border:0;border-radius:0;background:transparent;box-shadow:none}
.map-popup-organization{gap:9px;font-size:12px}.map-popup-organization img{width:44px;height:44px;border:0;border-radius:0;background:transparent;box-shadow:none}
@media(max-width:900px){.ride-map-frame #public-ride-map .leaflet-popup-content{max-height:255px}}
.calendar-event-organization{gap:5px;font-size:9px!important}.calendar-event-organization img{width:22px;height:22px;border:0;border-radius:0;background:transparent;box-shadow:none}
.organization-profile-callout{grid-template-columns:92px minmax(0,1fr)}.organization-profile-callout img{width:86px;height:86px;border:0;border-radius:0;background:transparent;box-shadow:none}
.profile-logo-preview{background:transparent}
@media(max-width:700px){.organization-public-header>img{width:120px;height:120px}.event-card .organization-byline img{width:58px;height:58px}}
.managed-event-list,.managed-route-list{display:grid;gap:9px;padding:14px}.managed-event-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:9px;border:1px solid #b8955d;border-radius:5px;background:#fff9eb;color:#2b1710;text-decoration:none}.managed-event-item>span{grid-row:1/4;width:68px;height:68px;display:grid;place-items:center;background:#dac49c;font-size:30px}.managed-event-item img{width:100%;height:100%;object-fit:contain}.managed-event-item strong{font:700 18px Georgia,serif}.managed-event-item small{color:#6d5944}.managed-event-item em{grid-column:3;grid-row:1/3;padding:4px 7px;border-radius:12px;background:#6d1714;color:#fff3d9;font-size:10px;font-style:normal}.club-panel--routes{grid-column:1/-1;grid-row:auto}.managed-route-list{grid-template-columns:1fr}.managed-route-item{min-width:0;border:1px solid #b8955d;border-radius:5px;background:#fff9eb;color:#2b1710;overflow:hidden}.managed-route-item>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px}.managed-route-item>header>div{display:grid;min-width:0;gap:2px}.managed-route-item>header strong{color:#721613;font:700 19px Georgia,serif}.managed-route-item>header small{color:#705b43}.managed-route-edit{flex:0 0 auto;padding:9px 12px;border:1px solid #7b1b17;border-radius:3px;background:#7b1b17;color:#fff7e6;font-weight:800;text-decoration:none}.managed-route-technical{border-top:1px solid #cdb987}.managed-route-technical>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;background:#132027;color:#f3cb69;font-weight:900;cursor:pointer;list-style-position:inside}.managed-route-technical>summary small{color:#c6d0cf;text-align:right}.managed-route-technical__body{min-width:0;padding:14px}.managed-route-technical__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:1px solid #c9b785}.managed-route-technical__metrics>div{min-width:0;padding:10px 12px;border-right:1px solid #d8caa5;border-bottom:1px solid #d8caa5}.managed-route-technical__metrics>div:nth-child(4n){border-right:0}.managed-route-technical__metrics dt{color:#70563c;font-size:10px;font-weight:900;text-transform:uppercase}.managed-route-technical__metrics dd{margin:3px 0 0;color:#671613;font-weight:900;overflow-wrap:anywhere}.managed-route-technical__table-wrap{margin-top:13px;overflow-x:auto}.managed-route-technical__table{width:100%;min-width:940px;border-collapse:collapse;background:#fffdf7}.managed-route-technical__table th{padding:9px;background:#17252c;color:#f2ca6a;text-align:left;font-size:10px;text-transform:uppercase}.managed-route-technical__table td{padding:9px;border:1px solid #d7c8a1;vertical-align:top}.managed-route-technical__table td strong,.managed-route-technical__table td small{display:block}.managed-route-technical__table td small{margin-top:3px;color:#705b43}.managed-route-technical__missing{color:#9a281f;font-weight:800}.managed-route-technical__complete{color:#276143;font-weight:800}.managed-route-technical__warnings{margin-top:12px;border-left:4px solid #b33a30;background:#f1dfc3}.managed-route-technical__warnings>summary{padding:11px 13px;color:#7e1d18;font-weight:900;cursor:pointer}.managed-route-technical__warnings ul{margin:0;padding:0 26px 13px 34px}.managed-route-technical__warnings li+li{margin-top:9px}.managed-route-technical__warnings li strong,.managed-route-technical__warnings li span,.managed-route-technical__warnings li small{display:block}.managed-route-technical__warnings li span{margin-top:2px}.managed-route-technical__warnings li small{margin-top:3px;color:#705b43}.managed-route-technical__warning{padding:10px 12px;border-left:4px solid #b33a30;background:#f1d9cf;color:#761a15;font-weight:800}.managed-route-technical footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px 16px;margin-top:12px;padding-top:11px;border-top:1px solid #ccb98b;color:#655546;font-size:11px}.managed-route-technical footer code{max-width:100%;overflow-wrap:anywhere}.managed-route-technical__notice{margin:10px 0 0;color:#655546;font-size:12px;line-height:1.45}.managed-route-technical__empty{margin:0;padding:11px 13px;border-top:1px solid #cfbc8c;color:#785e41}.managed-route-technical[open]>summary{background:#74201a;color:#fff0bd}
.managed-route-technical footer{padding:11px 0 0}.managed-route-technical footer span{flex:1 1 260px;min-width:0}.managed-route-technical footer code{display:block;flex:0 0 100%;width:100%;min-width:0;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
.managed-route-technical__metrics dd small{display:block;margin-top:3px;color:#705b43;font-weight:600;line-height:1.25}
@media(max-width:900px){.managed-route-technical__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.managed-route-technical__metrics>div:nth-child(4n){border-right:1px solid #d8caa5}.managed-route-technical__metrics>div:nth-child(2n){border-right:0}}
@media(max-width:700px){.managed-event-item{grid-template-columns:58px minmax(0,1fr)}.managed-event-item>span{width:54px;height:54px}.managed-event-item em{grid-column:2;grid-row:auto;justify-self:start}.managed-route-item>header,.managed-route-technical>summary{align-items:flex-start;flex-direction:column}.managed-route-technical>summary small{text-align:left}.managed-route-edit{width:100%;box-sizing:border-box;text-align:center}.managed-route-technical__metrics{grid-template-columns:1fr}.managed-route-technical__metrics>div,.managed-route-technical__metrics>div:nth-child(2n),.managed-route-technical__metrics>div:nth-child(4n){border-right:0}}
.club-interest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.club-interest{padding:14px;border:1px solid #b58d50;border-left:6px solid #9d271f;background:#fff8e8;color:#2d180f}.club-interest--closed{opacity:.65;border-left-color:#657067}.club-interest header{display:flex;justify-content:space-between;gap:12px}.club-interest p{margin:6px 0}.club-interest a{color:#731612}.club-interest blockquote{margin:10px 0;padding:10px;border-left:3px solid #d4a64f;background:#f1dfbd}.club-interest form{display:flex;flex-wrap:wrap;gap:6px}.club-interest button{padding:7px 10px;border:1px solid #701713;background:#701713;color:#fff4dc;cursor:pointer}@media(max-width:750px){.club-interest-list{grid-template-columns:1fr}}

/* Calendar cards keep long association names inside the day at word boundaries. */
.calendar-event .calendar-event-organization .event-organizer {
  align-items: flex-start;
  width: 100%;
}
.calendar-event .calendar-event-organization b {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  line-height: 1.15;
}

/* Shared form-control contract: all standard controls remain touch-friendly and
   visually consistent. Special-purpose controls keep their intrinsic size. */
:where(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="password"],
  input[type="search"],
  input[type="number"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="time"],
  input[type="month"],
  input[type="week"],
  select
) {
  box-sizing: border-box;
  min-width: 0;
  min-height: var(--form-control-min-height);
  padding: var(--form-control-padding-block) var(--form-control-padding-inline);
  font: inherit;
  line-height: 1.35;
}

:where(textarea) {
  box-sizing: border-box;
  min-width: 0;
  min-height: var(--form-textarea-min-height);
  padding: 10px var(--form-control-padding-inline);
  font: inherit;
  line-height: 1.5;
}

/* Public interest forms must never let an intrinsic select width overlap the next field. */
.interest-field select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:11px 12px;border:2px solid #b9924f;border-radius:4px;background:linear-gradient(#fffdf7,#eee4d1);color:#251711;font:inherit}.interest-field--marketing_consent{grid-column:1/-1}.interest-field select:focus{border-color:#ffd77f;outline:3px solid rgba(224,173,72,.27)}
.live-train-marker-shell{width:58px!important;height:71px!important;background:transparent;border:0}.live-train-marker{--train-status-color:#667085;position:absolute;isolation:isolate;top:0;left:2px;display:grid;box-sizing:border-box;width:54px;height:54px;place-items:center;border:4px solid var(--train-status-color);border-radius:13px;background:#1b2027;box-shadow:0 4px 14px #071326cc}.live-train-marker-media{position:relative;z-index:2;display:grid;box-sizing:border-box;width:100%;height:100%;place-items:center;overflow:hidden;border-radius:8px;background:#f6ead0}.live-train-marker-media img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#f6ead0}.live-train-marker-media>.m131-monogram{display:grid;width:100%;height:100%;place-items:center;border:0;border-radius:0;font-size:24px}.live-train-marker>i{position:absolute;z-index:1;top:48px;left:50%;width:0;height:0;transform:translateX(-50%);border-right:11px solid transparent;border-left:11px solid transparent;border-top:20px solid var(--train-status-color)}.live-train-marker>i::after{position:absolute;top:-20px;left:-7px;width:0;height:0;border-right:7px solid transparent;border-left:7px solid transparent;border-top:13px solid #1b2027;content:""}.live-train-bearing{position:absolute;z-index:3;right:-9px;bottom:-7px;display:grid;box-sizing:border-box;width:23px;height:23px;place-items:center;border:2px solid var(--train-status-color);border-radius:50%;background:#142739;color:#fff;box-shadow:0 2px 7px #071326aa}.live-train-bearing::before{display:block;transform:rotate(var(--train-bearing));font-size:16px;line-height:1;content:"↑"}.live-train-tooltip{display:grid;gap:3px;min-width:190px}.live-train-tooltip strong{color:#721714;font:700 18px Georgia,serif}.live-train-tooltip b,.live-train-tooltip small{display:block}.live-train-status{display:flex!important;gap:6px;align-items:center}.live-train-status>i,.live-status-legend i{display:inline-block;flex:0 0 auto;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:var(--train-status-color);box-shadow:0 0 0 1px var(--train-status-color)}.live-train-popup-photo{display:block;width:100%;max-height:170px;object-fit:contain;margin:0 0 9px;background:#eee1c5}.live-train-popup>small{display:block;margin-top:10px;color:#715d49}.live-train-route-detail{margin:8px 0}.live-train-route-detail summary{cursor:pointer;font-weight:700}.live-train-route-detail ol{max-height:190px;margin:7px 0 0;padding-left:23px;overflow:auto}.live-train-route-detail li{padding:2px 0}.live-train-route-detail li[aria-current="true"]{color:#721714;font-weight:700}.live-status-legend{display:flex;flex-wrap:wrap;gap:7px 14px;align-items:center;padding:9px 12px;border-top:2px solid #dca842;background:#f2dfb5;color:#4e1812;font-size:11px;font-weight:800}.live-status-legend span{display:flex;gap:6px;align-items:center}.live-status-legend:empty{display:none}
.danger-zone {
  align-items: center;
  background: rgba(87, 19, 17, .92);
  border: 1px solid #d5aa45;
  border-radius: 10px;
  color: #fff3ce;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
  margin: 1.5rem auto;
  max-width: 1760px;
  padding: 1rem 1.25rem;
}

/* The live marker is a fixed-format control. Keep generic image rules from
   collapsing its vehicle thumbnail to an empty plaque. */
.live-train-marker-media {
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
}

.live-train-marker-media > .live-train-marker-thumbnail {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.danger-zone div {
  display: grid;
  gap: .25rem;
}

.danger-zone small {
  color: #f1dfb5;
}

.danger-zone button,
.danger-button {
  background: #7d1715;
  border: 1px solid #e1b650;
  border-radius: 4px;
  color: #fff5d8;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: .65rem .9rem;
}

.danger-zone button:hover,
.danger-button:hover {
  background: #a52a25;
}

@media (max-width: 720px) {
  .danger-zone {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Ordered RailML point lists: name, up, down and remove stay aligned. */
.route-selection-list {
  padding-left: 0;
  list-style: none;
}

.route-selection-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 5px;
  align-items: center;
}

.route-selection-list li > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.route-selection-list li > button {
  float: none;
  min-width: 31px;
}

.route-selection-list li > button:disabled {
  cursor: default;
  opacity: .35;
}

/* Organization crew management remains legible in wide and narrow panels. */
.club-member {
  display: block;
  padding: 0;
  border-bottom: 1px solid #bba987;
}

.club-member-name {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.club-member-name::-webkit-details-marker {
  display: none;
}

.club-member-name > i {
  width: 11px;
  height: 11px;
  margin-left: auto;
  transform: rotate(45deg);
  border-right: 2px solid #6f1512;
  border-bottom: 2px solid #6f1512;
  transition: transform .18s ease;
}

.club-member[open] .club-member-name > i {
  transform: rotate(225deg);
}

.club-member-form {
  display: grid;
  gap: 16px;
  padding: 0 16px 16px 68px;
}

.club-member-name > span {
  display: grid;
  min-width: 0;
}

.club-member-name strong,
.club-member-name small {
  overflow-wrap: anywhere;
}

.club-member-roles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  min-width: 0;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid #c5ab77;
  background: #fbf2de;
}

.club-member-roles legend {
  padding: 0 6px;
  color: #6f1512;
  font: 700 12px Georgia, serif;
}

.club-member-roles label {
  display: flex;
  gap: 7px;
  align-items: center;
  white-space: normal;
}

.club-member-roles input {
  flex: 0 0 auto;
}

.club-member-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.club-member-actions button {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 8px 10px;
  white-space: normal;
}

.club-member-save {
  border: 1px solid #234b65;
  border-radius: 4px;
  background: #173e58;
  color: #fff;
  font-weight: 800;
}

@media (max-width: 1050px) {
  .club-member-roles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .club-member-roles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .club-member-form {
    padding-left: 16px;
  }

  .club-member-actions {
    display: grid;
    grid-column: 1 / -1;
  }

  .club-member-actions button {
    width: 100%;
  }
}

/* Stable header: the complete navigation lives behind one menu on every device. */
.site-header {
  isolation: isolate;
  gap: 18px;
  min-height: 76px;
}

.site-header .brand {
  flex: 1 1 auto;
  width: auto;
  max-width: calc(100% - 70px);
  letter-spacing: 0;
}

.site-header .brand-name {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

.site-header .public-nav-toggle {
  position: relative;
  display: inline-flex;
  flex: 0 0 48px;
  width: 48px;
  min-width: 48px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  gap: 5px;
  border: 1px solid var(--gold);
  border-radius: 4px;
  background: #6f1714;
  color: #fff6dc;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .28);
  transition: background .18s ease, box-shadow .18s ease;
}

.site-header .public-nav-toggle:hover,
.site-header .public-nav-toggle:focus-visible,
.site-header .public-nav-toggle[aria-expanded="true"] {
  background: #982720;
  outline: 2px solid #f4ce78;
  outline-offset: 2px;
}

.site-header .public-nav-toggle > span {
  position: absolute;
  left: 12px;
  width: 24px;
  height: 2px;
  margin: 0;
  background: currentColor;
  transform-origin: center;
  transition: top .18s ease, transform .18s ease, opacity .18s ease;
}

.site-header .public-nav-toggle > span:nth-child(1) {
  top: 13px;
}

.site-header .public-nav-toggle > span:nth-child(2) {
  top: 20px;
}

.site-header .public-nav-toggle > span:nth-child(3) {
  top: 27px;
}

.site-header .public-nav-toggle[aria-expanded="true"] > span:nth-child(1) {
  top: 20px;
  transform: rotate(45deg);
}

.site-header .public-nav-toggle[aria-expanded="true"] > span:nth-child(2) {
  opacity: 0;
}

.site-header .public-nav-toggle[aria-expanded="true"] > span:nth-child(3) {
  top: 20px;
  transform: rotate(-45deg);
}

.site-header .public-nav {
  position: absolute;
  z-index: 2100;
  top: calc(100% + 1px);
  right: max(16px, calc((100vw - 1180px) / 2));
  display: none;
  overflow-x: hidden;
  overflow-y: auto;
  align-items: stretch;
  align-content: stretch;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  box-sizing: border-box;
  width: min(440px, calc(100vw - 32px));
  max-height: calc(100vh - 92px);
  max-height: calc(100dvh - 92px);
  gap: 0;
  padding: 0;
  border: 2px solid var(--gold);
  border-radius: 6px;
  background: #071b31;
  box-shadow: 0 22px 58px rgba(0, 0, 0, .58);
  overscroll-behavior: contain;
}

.site-header .public-nav.public-nav--open {
  display: flex;
}

.public-nav-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  padding: 13px;
  border-bottom: 1px solid rgba(220, 168, 66, .32);
}

.public-nav-group h2 {
  grid-column: 1 / -1;
  margin: 0 0 5px;
  color: #e7bd69;
  font: 800 11px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: 0;
  text-transform: uppercase;
}

.site-header .public-nav-group--management {
  display: none;
}

.site-header .public-nav-group a {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 43px;
  padding: 9px 11px;
  border-left: 3px solid transparent;
  border-radius: 3px;
  color: #e5edf5;
  font-size: 14px;
  line-height: 1.25;
  text-align: left;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.site-header .public-nav-group a:hover,
.site-header .public-nav-group a:focus-visible {
  border-left-color: var(--gold);
  background: #7b1b17;
  color: #fff4d1;
  outline: 0;
}

.public-nav-session {
  padding: 12px 13px;
  background: #0b2239;
}

.site-header .public-nav-session > a,
.site-header .public-nav-session form,
.site-header .public-nav-session button {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
}

.site-header .public-nav-session > a,
.site-header .public-nav-session button {
  display: block;
  min-height: 44px;
  padding: 10px 12px;
  text-align: center;
}

@media (max-width: 750px) {
  .site-header {
    height: 68px;
    min-height: 68px;
    padding: 0 12px;
  }

  .site-header .brand {
    gap: 9px;
    max-width: calc(100% - 60px);
    font-size: 18px;
    line-height: 1.1;
  }

  .site-header .brand-logo {
    width: auto;
    height: 48px;
    max-width: 100px;
  }

  .site-header .public-nav {
    position: fixed;
    top: 69px;
    right: 10px;
    left: 10px;
    width: auto;
    max-height: calc(100vh - 79px);
    max-height: calc(100dvh - 79px);
  }
}

@media (max-width: 1150px) {
  .site-header .public-nav-group--management {
    display: grid;
  }
}

@media (max-width: 520px) {
  .site-header .brand-name {
    white-space: normal;
  }

  .public-nav-group {
    grid-template-columns: minmax(0, 1fr);
    padding: 11px;
  }

  .public-nav-group h2 {
    grid-column: 1;
  }
}

.cookie-consent[hidden]{display:none!important}
.cookie-consent{position:fixed;z-index:10000;right:20px;bottom:20px;left:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;max-width:980px;margin:auto;padding:20px;border:2px solid #dca842;border-radius:8px;background:#f8f0df;color:#24160f;box-shadow:0 22px 70px rgba(0,0,0,.55);font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.cookie-consent__body{display:grid;grid-template-columns:64px minmax(0,1fr);gap:15px;align-items:center}.cookie-consent__icon{display:grid;place-items:center;width:64px;height:50px;border:2px solid #dca842;border-radius:4px;background:#701713;color:#fff6df;font:800 16px Georgia,serif}.cookie-consent h2{margin:0 0 4px;color:#5f1512;font:700 25px/1.1 Georgia,serif}.cookie-consent p{margin:0 0 4px}.cookie-consent a{color:#741713;font-weight:800}.cookie-consent__actions{display:grid;min-width:150px}.cookie-consent__actions button,.privacy-settings-button{min-height:44px;padding:9px 13px;border:2px solid #7d1715;border-radius:4px;background:#7d1715;color:#fff8e8;font:800 13px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer}.cookie-consent__actions button:hover,.cookie-consent__actions button:focus-visible,.privacy-settings-button:hover,.privacy-settings-button:focus-visible{outline:3px solid #e3b955;outline-offset:2px}
.privacy-page{max-width:980px;margin:auto;padding:60px 24px 100px}.privacy-page h1{margin:5px 0 15px;font:clamp(40px,6vw,68px)/1.05 Georgia,serif}.privacy-lead{max-width:760px;color:#dbe6f0;font-size:20px}.privacy-page section{margin-top:26px;padding:22px;border:1px solid rgba(220,168,66,.5);border-radius:6px;background:rgba(255,255,255,.055)}.privacy-page h2{margin:0 0 8px;color:#f0ca7c;font:700 28px Georgia,serif}.privacy-page code{padding:2px 5px;border-radius:3px;background:#fff5df;color:#651613}.privacy-table-wrap{overflow-x:auto}.privacy-page table{width:100%;min-width:650px;border-collapse:collapse;background:#f8f0df;color:#281711}.privacy-page th,.privacy-page td{padding:10px;border:1px solid #b99454;text-align:left;vertical-align:top}.privacy-page th{background:#6d1714;color:#fff5dd}.privacy-page a{color:#f0ca7c}.privacy-settings-button{margin-top:7px;border-color:#dca842}.site-privacy-links{display:flex;flex-wrap:wrap;gap:12px}.site-privacy-links a,.site-privacy-links button{padding:0;border:0;background:none;color:#c9a75d;font:inherit;text-decoration:underline;cursor:pointer}
.privacy-controller{margin:12px 0;padding:14px 17px;border-left:4px solid #dca842;background:rgba(0,0,0,.18);font-style:normal}.privacy-controller strong{color:#fff4d3;font-size:18px}
.cookie-consent__actions{gap:7px;min-width:190px}.cookie-consent__actions .cookie-consent__close{border-color:#8d7958;background:transparent;color:#4c321e}
@media(max-width:800px){.cookie-consent{grid-template-columns:1fr}.cookie-consent__actions{min-width:0}.cookie-consent__body{grid-template-columns:48px minmax(0,1fr)}.cookie-consent__icon{width:48px;height:42px;font-size:12px}}
@media(max-width:480px){.cookie-consent{right:10px;bottom:10px;left:10px;padding:15px}.cookie-consent__body{grid-template-columns:1fr}.cookie-consent__icon{display:none}.cookie-consent__actions{grid-template-columns:1fr}.cookie-consent h2{font-size:22px}}

.media-lightbox-trigger {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #11171d;
  color: #fff8e9;
  cursor: zoom-in;
  font: inherit;
  text-align: inherit;
  -webkit-touch-callout: none;
  user-select: none;
}

.media-lightbox-trigger:focus-visible {
  outline: 3px solid #f2c75d;
  outline-offset: -3px;
}

.media-lightbox-trigger > img {
  display: block;
  max-width: 100%;
  -webkit-user-drag: none;
  user-select: none;
}

.media-lightbox-trigger--video {
  aspect-ratio: 16 / 9;
  cursor: pointer;
}

.media-lightbox-trigger--video > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #11171d;
}

.organization-video-card .media-lightbox-trigger--video {
  height: 230px;
  aspect-ratio: auto;
}

.media-lightbox-trigger__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 58px;
  height: 58px;
  border: 2px solid #f3cd77;
  border-radius: 50%;
  background: rgba(111, 23, 18, .92);
  box-shadow: 0 7px 24px rgba(0, 0, 0, .34);
  transform: translate(-50%, -50%);
  transition: background .18s ease, transform .18s ease;
}

.media-lightbox-trigger__play::after {
  position: absolute;
  top: 50%;
  left: 52%;
  width: 0;
  height: 0;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid #fff8e9;
  content: "";
  transform: translate(-40%, -50%);
}

.media-lightbox-trigger:hover .media-lightbox-trigger__play,
.media-lightbox-trigger:focus-visible .media-lightbox-trigger__play {
  background: #9a2f22;
  transform: translate(-50%, -50%) scale(1.06);
}

.media-lightbox-trigger__duration {
  position: absolute;
  right: 9px;
  bottom: 9px;
  padding: 4px 7px;
  background: rgba(7, 13, 20, .88);
  color: #fff8e9;
  font-size: 12px;
  font-weight: 800;
  pointer-events: none;
}

.media-lightbox {
  width: min(96vw, 1600px);
  max-width: none;
  height: min(94dvh, 1050px);
  max-height: none;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid #c99b3d;
  border-radius: 5px;
  background: #07111e;
  color: #fff8e9;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .72);
}

.media-lightbox::backdrop {
  background: rgba(3, 8, 15, .91);
  backdrop-filter: blur(3px);
}

.media-lightbox__shell {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  width: 100%;
  height: 100%;
}

.media-lightbox__close {
  position: absolute;
  z-index: 3;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid #e5bd66;
  border-radius: 50%;
  background: rgba(91, 20, 17, .95);
  color: #fff8e9;
  cursor: pointer;
  font: 400 34px/1 Arial, sans-serif;
}

.media-lightbox__close:hover,
.media-lightbox__close:focus-visible {
  background: #a53628;
  outline: 2px solid #fff1c8;
  outline-offset: 2px;
}

.media-lightbox__nav {
  position: absolute;
  z-index: 3;
  top: 50%;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid #e5bd66;
  border-radius: 50%;
  background: rgba(8, 18, 30, .88);
  color: #fff8e9;
  cursor: pointer;
  transform: translateY(-50%);
}

.media-lightbox__nav--previous {
  left: 18px;
}

.media-lightbox__nav--next {
  right: 18px;
}

.media-lightbox__nav > span {
  width: 14px;
  height: 14px;
  border: solid currentColor;
  border-width: 0 3px 3px 0;
}

.media-lightbox__nav--previous > span {
  transform: rotate(135deg);
}

.media-lightbox__nav--next > span {
  transform: rotate(-45deg);
}

.media-lightbox__nav:hover,
.media-lightbox__nav:focus-visible {
  background: #8c291f;
  outline: 2px solid #fff1c8;
  outline-offset: 2px;
}

.media-lightbox__nav[hidden],
.media-lightbox__position[hidden] {
  display: none;
}

.media-lightbox__stage {
  display: grid;
  min-width: 0;
  min-height: 0;
  place-items: center;
  padding: 18px;
  overflow: hidden;
  background: #07111e;
  touch-action: pan-y pinch-zoom;
}

.media-lightbox__stage img,
.media-lightbox__stage video {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
  user-select: none;
}

.media-lightbox__video-player {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 11px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}

.media-lightbox__video-viewport {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #000;
}

.media-lightbox__video-viewport > video {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  background: #000;
}

.media-lightbox__timeline {
  display: grid;
  grid-template-columns: minmax(42px, auto) minmax(0, 1fr) minmax(42px, auto);
  gap: 10px;
  align-items: center;
  justify-self: center;
  box-sizing: border-box;
  width: min(100%, 1080px);
  min-width: 0;
  padding: 8px 12px;
  border: 1px solid rgba(229, 189, 102, .52);
  background: #101b27;
}

.media-lightbox__timeline input[type="range"] {
  width: 100%;
  min-width: 0;
  accent-color: #d9a946;
  cursor: pointer;
}

.media-lightbox__timeline-time {
  color: #fff2d5;
  font: 700 13px/1 Arial, sans-serif;
  text-align: center;
}

.media-lightbox__caption {
  min-height: 22px;
  margin: 0;
  padding: 13px 68px 14px 18px;
  border-top: 1px solid rgba(229, 189, 102, .52);
  background: #101b27;
  color: #fff2d5;
  font-size: 15px;
  line-height: 1.45;
}

.media-lightbox__consist {
  margin: 0;
  padding: 10px 72px 14px 18px;
  max-height: 25dvh;
  overflow: auto;
  background: #101b27;
  color: #fff2d5;
  white-space: pre-line;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.45;
}

.media-lightbox__caption:empty {
  display: none;
}

.media-lightbox__position {
  position: absolute;
  z-index: 3;
  right: 18px;
  bottom: 11px;
  min-width: 52px;
  padding: 4px 7px;
  background: rgba(7, 13, 20, .88);
  color: #fff8e9;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

body.media-lightbox-open {
  overflow: hidden;
}

@media (max-width: 680px) {
  .media-lightbox {
    width: 100vw;
    height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .media-lightbox__stage {
    padding: 0;
  }

  .media-lightbox__video-player {
    gap: 0;
  }

  .media-lightbox__timeline {
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
    border-right: 0;
    border-left: 0;
  }

  .media-lightbox__close {
    top: max(10px, env(safe-area-inset-top));
    right: 10px;
  }

  .media-lightbox__nav {
    width: 46px;
    height: 46px;
    background: rgba(8, 18, 30, .9);
  }

  .media-lightbox__nav--previous {
    left: 8px;
  }

  .media-lightbox__nav--next {
    right: 8px;
  }

  .media-lightbox__caption {
    padding: 12px 72px max(12px, env(safe-area-inset-bottom)) 14px;
    font-size: 14px;
  }

  .media-lightbox__position {
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
  }

  .media-lightbox-trigger__play {
    width: 52px;
    height: 52px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .media-lightbox-trigger__play {
    transition: none;
  }
}

.internal-messaging-launcher {
  position: fixed;
  z-index: 2300;
  isolation: isolate;
  left: 18px;
  bottom: max(18px, env(safe-area-inset-bottom));
  color: #f8f2df;
}

.internal-messaging-launcher__button {
  position: relative;
  display: grid;
  width: 56px;
  height: 56px;
  padding: 0;
  place-items: center;
  border: 2px solid var(--gold);
  border-radius: 50%;
  background: #7d2119;
  color: #fff8e5;
  font-size: 0;
  line-height: 0;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .36);
  cursor: pointer;
}

.internal-messaging-launcher__button:focus-visible {
  outline: 3px solid #fff2bd;
  outline-offset: 3px;
}

.internal-messaging-launcher__icon {
  font: 700 27px/1 Georgia, serif;
}

.internal-messaging-launcher__button > b {
  position: absolute;
  top: -7px;
  right: -7px;
  display: grid;
  min-width: 24px;
  height: 24px;
  padding: 0 5px;
  place-items: center;
  border: 2px solid #fff5d8;
  border-radius: 13px;
  background: #d13a31;
  color: #fff;
  font-size: 12px;
}

.internal-messaging-panel {
  position: absolute;
  left: 0;
  bottom: 68px;
  width: min(370px, calc(100vw - 24px));
  max-height: min(680px, calc(100vh - 100px));
  overflow: auto;
  border: 1px solid var(--gold);
  border-radius: 6px;
  background: #101d2a;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .48);
}

.internal-messaging-panel[hidden] {
  display: none;
}

.internal-messaging-panel > header {
  position: sticky;
  z-index: 1;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #9c762d;
  background: #76241d;
}

.internal-messaging-panel > header div {
  display: grid;
  gap: 2px;
}

.internal-messaging-panel > header small {
  color: #f4ce71;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.internal-messaging-panel > header strong {
  font: 700 23px/1.1 Georgia, serif;
}

.internal-messaging-panel > header button {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #d5b25a;
  border-radius: 50%;
  background: #172532;
  color: #fff6db;
  font-size: 25px;
  cursor: pointer;
}

.internal-messaging-panel__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-bottom: 1px solid rgba(220, 168, 66, .45);
}

.internal-messaging-panel__actions a {
  padding: 12px 14px;
  border-right: 1px solid rgba(220, 168, 66, .35);
  color: #fff3d0;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.internal-messaging-panel__actions a:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(220, 168, 66, .35);
}

.internal-messaging-panel__actions a:hover,
.internal-messaging-panel__actions a:focus-visible,
.internal-messaging-panel__section > a:hover,
.internal-messaging-panel__section > a:focus-visible {
  background: #263743;
}

.internal-messaging-panel__section {
  display: grid;
  border-bottom: 1px solid rgba(220, 168, 66, .4);
}

.internal-messaging-panel__section h2 {
  margin: 0;
  padding: 10px 14px 7px;
  color: #e8bf5a;
  font-size: 11px;
  text-transform: uppercase;
}

.internal-messaging-panel__section > a {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  border-top: 1px solid rgba(255, 255, 255, .07);
  color: #f8f4e9;
  text-decoration: none;
}

.internal-messaging-panel__section > a > span:not(.internal-messaging-avatar) {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.internal-messaging-panel__section strong,
.internal-messaging-panel__section small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.internal-messaging-panel__section small {
  color: #b9c6cf;
}

.internal-messaging-panel__section > a > b {
  display: grid;
  min-width: 23px;
  height: 23px;
  place-items: center;
  border-radius: 12px;
  background: #dca842;
  color: #24120f;
  font-size: 11px;
}

.internal-messaging-panel__members > a {
  justify-content: flex-start;
}

.internal-messaging-avatar {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #dca842;
  border-radius: 50%;
  background: #ede1c1;
  color: #6f1b16;
  font: 800 16px Georgia, serif;
}

.internal-messaging-page {
  box-sizing: border-box;
  width: min(1120px, calc(100% - 36px));
  min-height: 66vh;
  margin: 0 auto;
  padding: 52px 0 90px;
  color: #f7f2e5;
}

.internal-messaging-page__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 0 0 24px;
  border-bottom: 2px solid var(--gold);
}

.internal-messaging-page__header h1 {
  margin: 5px 0 7px;
  color: #fff8e7;
  font: 700 48px/1.05 Georgia, serif;
}

.internal-messaging-page__header p:last-child {
  max-width: 760px;
  margin: 0;
  color: #c5d0d6;
  line-height: 1.55;
}

.internal-messaging-primary,
.internal-message-form button,
.internal-message-reply button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid var(--gold);
  border-radius: 4px;
  background: #84271f;
  color: #fff8e8;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}


.internal-messaging-panel__conversation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  border-top: 1px solid rgba(255, 255, 255, .07);
}

.internal-messaging-panel__conversation > button {
  display: grid;
  min-width: 0;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 8px 10px 14px;
  border: 0;
  background: transparent;
  color: #f8f4e9;
  text-align: left;
  cursor: pointer;
}

.internal-messaging-panel__conversation > button:hover,
.internal-messaging-panel__conversation > button:focus-visible,
.internal-messaging-panel__conversation > a:hover,
.internal-messaging-panel__conversation > a:focus-visible {
  background: #263743;
}

.internal-messaging-panel__conversation > button > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.internal-messaging-panel__conversation strong,
.internal-messaging-panel__conversation small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.internal-messaging-panel__conversation small {
  color: #b9c6cf;
}

.internal-messaging-panel__conversation > button > b {
  display: grid;
  min-width: 23px;
  height: 23px;
  place-items: center;
  border-radius: 12px;
  background: #dca842;
  color: #24120f;
  font-size: 11px;
}

.internal-messaging-panel__conversation > a {
  display: grid;
  place-items: center;
  border-left: 1px solid rgba(220, 168, 66, .35);
  color: #f0c65e;
  font-size: 20px;
  text-decoration: none;
}

.internal-messaging-page--workspace {
  width: min(1380px, calc(100% - 36px));
}

.internal-messaging-workspace {
  display: grid;
  height: min(780px, calc(100vh - 210px));
  min-height: 560px;
  grid-template-columns: minmax(300px, 370px) minmax(0, 1fr);
  margin-top: 22px;
  overflow: hidden;
  border: 1px solid var(--gold);
  border-radius: 6px;
  background: #111e2a;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
}

.internal-conversation-rail {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  border-right: 1px solid rgba(220, 168, 66, .55);
  background: #101b26;
}

.internal-conversation-rail__tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 8px;
  padding: 12px;
  border-bottom: 1px solid rgba(220, 168, 66, .35);
  background: #172532;
}

.internal-conversation-search {
  display: grid;
  min-width: 0;
  grid-template-columns: 25px minmax(0, 1fr);
  align-items: center;
  border: 1px solid #61717b;
  border-radius: 4px;
  background: #0d1822;
  color: #d6c28e;
}

.internal-conversation-search > span[aria-hidden="true"] {
  padding-left: 10px;
  font-size: 20px;
}

.internal-conversation-search input {
  min-width: 0;
  height: 42px;
  padding: 8px 10px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #fff8e8;
  font: inherit;
}

.internal-conversation-search input::placeholder {
  color: #aab7bf;
}

.internal-conversation-rail__tools > a {
  display: grid;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 4px;
  background: #7d241d;
  color: #fff5d9;
  font-size: 26px;
  text-decoration: none;
}

.internal-conversation-rail .internal-messaging-tabs {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(220, 168, 66, .25);
}

.internal-conversation-rail .internal-messaging-tabs a {
  flex: 1;
  padding: 7px 8px;
  text-align: center;
}

.internal-conversation-rail .internal-conversation-list {
  min-height: 0;
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.internal-conversation-rail .internal-conversation-row {
  position: relative;
  display: grid;
  min-height: 88px;
  grid-template-columns: minmax(0, 1fr) 38px;
  border-bottom: 1px solid rgba(220, 168, 66, .2);
  background: transparent;
}

.internal-conversation-rail .internal-conversation-row.is-selected {
  background: #293944;
  box-shadow: inset 4px 0 #dca842;
}

.internal-conversation-rail .internal-conversation-row--unread {
  background: #172936;
}

.internal-conversation-row__main {
  display: grid;
  min-width: 0;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 4px 12px 14px;
  color: #f8f3e5;
  text-decoration: none;
}

.internal-conversation-row__main:hover,
.internal-conversation-row__main:focus-visible {
  background: rgba(255, 255, 255, .055);
}

.internal-conversation-row__main .internal-messaging-avatar {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
}

.internal-conversation-row__body {
  display: grid;
  min-width: 0;
  gap: 3px;
  padding: 0;
}

.internal-conversation-row__body > span:first-child {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.internal-conversation-row__body strong,
.internal-conversation-row__body small,
.internal-conversation-row__body > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.internal-conversation-row__body strong {
  color: #fff7e2;
  font-size: 15px;
}

.internal-conversation-row__body time {
  flex: 0 0 auto;
  color: #9eabb2;
  font-size: 10px;
}

.internal-conversation-row__body small {
  color: #e8bf5a;
  font-size: 12px;
}

.internal-conversation-row__body > span:last-child {
  color: #aebbc2;
  font-size: 12px;
}

.internal-conversation-row__main > b {
  display: grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 11px;
  background: #dca842;
  color: #2a1711;
  font-size: 11px;
}

.internal-conversation-row__float {
  align-self: stretch;
  padding: 0;
  border: 0;
  border-left: 1px solid rgba(220, 168, 66, .16);
  background: transparent;
  color: #d8bd75;
  font-size: 18px;
  cursor: pointer;
}

.internal-conversation-row__float:hover,
.internal-conversation-row__float:focus-visible {
  background: #6f211b;
  color: #fff5d9;
}

.internal-conversation-search-empty {
  padding: 26px 18px;
  color: #c4cdd2;
  text-align: center;
}

.internal-conversation-pane {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  background: #152431;
}

.internal-conversation-pane__header {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 12px;
  min-height: 74px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(220, 168, 66, .45);
  background: #7a251e;
}

.internal-conversation-pane__header > span:nth-of-type(2) {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.internal-conversation-pane__header small,
.internal-conversation-pane__header strong,
.internal-conversation-pane__header > span:nth-of-type(2) > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.internal-conversation-pane__header small {
  color: #f1cb6d;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.internal-conversation-pane__header strong {
  color: #fff9e9;
  font: 700 22px/1.15 Georgia, serif;
}

.internal-conversation-pane__header > span:nth-of-type(2) > span {
  color: #eadfca;
  font-size: 12px;
}

.internal-conversation-pane__header > button,
.internal-conversation-pane__mobile-back {
  display: grid;
  width: 38px;
  height: 38px;
  padding: 0;
  place-items: center;
  border: 1px solid #e3c474;
  border-radius: 4px;
  background: #172532;
  color: #fff5dc;
  font-size: 18px;
  text-decoration: none;
  cursor: pointer;
}

.internal-conversation-pane__mobile-back {
  display: none;
}

.internal-conversation-pane .internal-message-thread {
  min-height: 0;
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 22px;
}

.internal-conversation-pane .internal-message-reply {
  position: static;
  margin: 0;
  border-width: 1px 0 0;
  border-radius: 0;
  box-shadow: 0 -8px 22px rgba(0, 0, 0, .18);
}

.internal-conversation-pane__empty {
  display: grid;
  flex: 1;
  place-content: center;
  justify-items: center;
  gap: 16px;
  color: #c7d1d6;
}

.internal-conversation-pane__empty > span {
  display: grid;
  width: 112px;
  height: 112px;
  place-items: center;
  border: 2px solid #bd9437;
  border-radius: 50%;
  background: #20313d;
  color: #f0c65e;
  font-size: 58px;
}

.internal-conversation-pane__empty strong {
  font: 700 25px Georgia, serif;
}

.internal-chat-dock {
  position: fixed;
  z-index: 2400;
  right: 14px;
  bottom: max(14px, env(safe-area-inset-bottom));
  display: flex;
  max-width: calc(100vw - 92px);
  align-items: flex-end;
  justify-content: flex-end;
  gap: 9px;
  overflow-x: auto;
  pointer-events: none;
}

.internal-chat-window {
  display: flex;
  flex: 0 0 auto;
  width: min(350px, calc(100vw - 24px));
  height: min(520px, calc(100vh - 94px));
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--gold);
  border-radius: 6px 6px 0 0;
  background: #152431;
  color: #f7f2e6;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .52);
  pointer-events: auto;
}

.internal-chat-window.is-minimized {
  width: min(240px, calc(100vw - 96px));
  height: 54px;
  min-height: 54px;
}

.internal-chat-window__header {
  display: grid;
  min-height: 53px;
  grid-template-columns: 36px minmax(0, 1fr) repeat(3, 30px);
  align-items: center;
  gap: 5px;
  padding: 0 7px 0 9px;
  border-bottom: 1px solid #c79839;
  background: #76241d;
}

.internal-chat-window__header .internal-messaging-avatar {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
}

.internal-chat-window__identity {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.internal-chat-window__identity strong,
.internal-chat-window__identity small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.internal-chat-window__identity strong {
  color: #fff7df;
  font-size: 13px;
}

.internal-chat-window__identity small {
  color: #f0d69b;
  font-size: 10px;
}

.internal-chat-window__header button,
.internal-chat-window__header a {
  display: grid;
  width: 29px;
  height: 29px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: #fff6df;
  font-size: 18px;
  text-decoration: none;
  cursor: pointer;
}

.internal-chat-window__header button:hover,
.internal-chat-window__header button:focus-visible,
.internal-chat-window__header a:hover,
.internal-chat-window__header a:focus-visible {
  background: #172532;
}

.internal-chat-window.is-minimized .internal-chat-window__body,
.internal-chat-window.is-minimized .internal-chat-window__reply,
.internal-chat-window.is-minimized .internal-chat-window__expand {
  display: none;
}

.internal-chat-window__body {
  display: grid;
  min-height: 0;
  flex: 1;
  align-content: start;
  gap: 9px;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 12px;
  background: #152431;
}

.internal-chat-message {
  width: 84%;
  padding: 9px 11px;
  border-left: 3px solid #dca842;
  border-radius: 0 5px 5px 0;
  background: #e8dec3;
  color: #231510;
}

.internal-chat-message.is-mine {
  justify-self: end;
  border-right: 3px solid #8a2b23;
  border-left: 0;
  border-radius: 5px 0 0 5px;
  background: #f8f1dc;
}

.internal-chat-message > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  color: #6d1f19;
  font-size: 10px;
}

.internal-chat-message > p {
  margin: 5px 0 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  font-size: 13px;
  line-height: 1.42;
}

.internal-chat-message__context {
  margin-top: 6px;
}

.internal-chat-message__context strong {
  font-size: 11px;
}

.internal-chat-message__context span {
  font-size: 8px;
}

.internal-chat-window__reply {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  padding: 9px;
  border-top: 1px solid #a88235;
  background: #eee4ca;
}

.internal-chat-window__reply textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  max-height: 100px;
  resize: vertical;
  padding: 9px;
  border: 1px solid #927b58;
  border-radius: 3px;
  background: #fffdf7;
  color: #21150f;
  font: inherit;
}

.internal-chat-window__reply button {
  align-self: stretch;
  padding: 0 12px;
  border: 1px solid #b98f34;
  border-radius: 3px;
  background: #81261f;
  color: #fff7df;
  font-weight: 800;
  cursor: pointer;
}

.internal-chat-window__status {
  align-self: center;
  padding: 18px;
  color: #c9d2d7;
  text-align: center;
}

.internal-chat-window__status.is-error {
  color: #ffd2c7;
}

.internal-chat-window__status[data-chat-error]:empty,
.internal-chat-window.is-minimized .internal-chat-window__status[data-chat-error] {
  display: none;
}

@media (max-width: 780px) {
  .internal-messaging-page--workspace {
    width: min(100% - 16px, 1380px);
  }

  .internal-messaging-workspace {
    display: block;
    height: auto;
    min-height: calc(100vh - 180px);
  }

  .internal-conversation-rail {
    min-height: calc(100vh - 180px);
    border-right: 0;
  }

  .internal-messaging-page.has-selected-conversation .internal-conversation-rail,
  .internal-messaging-page:not(.has-selected-conversation) .internal-conversation-pane {
    display: none;
  }

  .internal-conversation-pane {
    min-height: calc(100vh - 180px);
  }

  .internal-conversation-pane__header {
    grid-template-columns: 38px 44px minmax(0, 1fr) 38px;
  }

  .internal-conversation-pane__mobile-back {
    display: grid;
  }

  .internal-conversation-pane .internal-message-thread {
    min-height: 320px;
    padding: 14px 10px;
  }

  .internal-chat-dock {
    right: 8px;
    bottom: calc(78px + env(safe-area-inset-bottom));
    left: 8px;
    max-width: none;
    max-height: calc(100vh - 92px - env(safe-area-inset-bottom));
    flex-direction: column;
    align-items: stretch;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .internal-chat-window {
    width: 100%;
    height: min(540px, calc(100vh - 108px));
  }

  .internal-chat-window.is-minimized {
    align-self: flex-end;
    width: min(250px, calc(100vw - 16px));
  }
}

.event-context-dock {
  position: fixed;
  z-index: 1760;
  top: 92px;
  right: auto;
  left: 284px;
  display: flex;
  overflow: hidden;
  flex-direction: column;
  box-sizing: border-box;
  width: 252px;
  max-height: calc(100vh - 116px);
  max-height: calc(100dvh - 116px);
  border: 2px solid var(--gold);
  border-radius: 8px;
  background: rgba(5, 24, 43, .98);
  color: #fff4d8;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .46);
}

.event-context-dock__header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  min-height: 64px;
  padding: 10px 9px 10px 13px;
  border-bottom: 1px solid rgba(220, 168, 66, .55);
  background: linear-gradient(135deg, #641613, #310a09);
  cursor: grab;
  touch-action: none;
  user-select: none;
}

.event-context-dock.is-dragging .event-context-dock__header {
  cursor: grabbing;
}

.event-context-dock__header > span {
  display: grid;
  min-width: 0;
}

.event-context-dock__header small {
  color: #e6bd69;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.event-context-dock__header strong {
  overflow: hidden;
  font: 700 15px/1.2 Georgia, serif;
  overflow-wrap: anywhere;
}

.event-context-dock__controls {
  display: flex;
  flex: 0 0 auto;
  gap: 4px;
}

.event-context-dock__controls button {
  display: grid;
  width: 34px;
  height: 34px;
  padding: 0;
  place-items: center;
  border: 1px solid #dca842;
  border-radius: 50%;
  background: #721714;
  color: #fff5dc;
  font: 800 20px/1 system-ui, sans-serif;
  cursor: pointer;
}

.event-context-dock__controls button:hover,
.event-context-dock__controls button:focus-visible {
  background: #9a2922;
  outline: 2px solid #fff0b0;
  outline-offset: 1px;
}

.event-context-dock nav {
  display: grid;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.event-context-dock nav a {
  min-width: 0;
  padding: 10px 13px;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  color: #e5edf5;
  font-size: 13px;
  line-height: 1.25;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.event-context-dock nav a:hover,
.event-context-dock nav a:focus-visible,
.event-context-dock nav a[aria-current="page"] {
  border-left: 4px solid var(--gold);
  padding-left: 9px;
  background: #7b1b17;
  color: #fff1c7;
  outline: 0;
}

.event-context-dock.is-collapsed {
  width: 58px;
}

.event-context-dock.is-collapsed .event-context-dock__header {
  justify-content: center;
  min-height: 50px;
  padding: 6px;
  border-bottom: 0;
}

.event-context-dock.is-collapsed .event-context-dock__header > span,
.event-context-dock.is-collapsed [data-event-dock-reset],
.event-context-dock.is-collapsed nav {
  display: none;
}

@media (min-width: 1351px) {
  main.management-with-event-dock {
    margin-left: 540px;
  }

  body.event-dock-collapsed main.management-with-event-dock {
    margin-left: 346px;
  }

  body.event-dock-custom-position main.management-with-event-dock,
  body.event-dock-custom-position.event-dock-collapsed main.management-with-event-dock {
    margin-left: 270px;
  }
}

.site-header .public-nav-group--event {
  display: none;
}

@media (max-width: 1350px) {
  .event-context-dock {
    display: none;
  }

  .site-header .public-nav-group--event {
    display: grid;
  }

  .site-header .public-nav-group--event a[aria-current="page"] {
    border-left-color: var(--gold);
    background: #7b1b17;
    color: #fff4d1;
  }
}

@media (max-width: 1150px) {
  .management-club-sidebar {
    display: none;
  }
}

.map-organizer-legend { padding: 12px 16px; background: #f4e6bd; color: #261710; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.map-organizer-legend[hidden] { display: none; }
.map-organizer-legend ul { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 0; margin: 8px 0 0; list-style: none; }
.map-organizer-legend li { display: flex; align-items: center; gap: 7px; min-width: 0; }
.map-organizer-legend__swatch { flex: 0 0 22px; height: 6px; border: 1px solid #5f5140; border-radius: 3px; }
.map-organizer-stop { background: none; border: 0; }
.map-organizer-stop__ring { display: block; width: 100%; height: 100%; border-radius: 50%; padding: 3px; box-sizing: border-box; box-shadow: 0 0 0 1px #fff9; }
.map-organizer-stop__ring > span { display: block; width: 100%; height: 100%; border-radius: 50%; background: #ffd66f; }
.map-route-selection { color: #261710; overflow-wrap: anywhere; }
.map-route-selection h3 { font-size: 17px; margin: 0 0 12px; }
.map-route-selection h4 { font-size: 16px; margin: 10px 0 4px; }
.map-route-selection p { margin: 4px 0; }
.map-route-selection ul { padding-left: 16px; margin: 6px 0 14px; }
.map-route-selection a { color: #821c17; display: inline-block; padding: 8px 0; }

:root {
  --market-ink: #171b1d;
  --market-paper: #f4efe3;
  --market-ivory: #fffaf0;
  --market-red: #8f201c;
  --market-red-dark: #55100e;
  --market-brass: #c99535;
  --market-green: #27463a;
  --market-blue: #143247;
  --market-line: #d7c49b;
}

.market-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: min(760px, calc(100svh - 88px));
  overflow: hidden;
  background: #1b2425;
  color: #fff;
}

.market-hero picture,
.market-hero picture::after {
  position: absolute;
  inset: 0;
}

.market-hero picture {
  z-index: -2;
}

.market-hero picture::after {
  display: block;
  background:
    linear-gradient(90deg, rgba(9, 17, 20, .9) 0%, rgba(9, 17, 20, .68) 38%, rgba(9, 17, 20, .08) 73%),
    linear-gradient(0deg, rgba(9, 17, 20, .76) 0%, transparent 42%);
  content: "";
}

.market-hero picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.market-hero__inner {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 690px);
  align-content: center;
  width: min(1440px, 100%);
  min-height: 100%;
  margin: 0 auto;
  padding: 58px 42px 148px;
}

.market-hero__eyebrow,
.market-section-kicker {
  margin: 0 0 12px;
  color: #f3c867;
  font: 900 12px/1.2 Arial, sans-serif;
  letter-spacing: 0;
  text-transform: uppercase;
}

.market-hero h1 {
  max-width: 680px;
  margin: 0;
  color: #fffaf0;
  font: 700 clamp(46px, 6vw, 84px)/.98 Georgia, serif;
  letter-spacing: 0;
  text-wrap: balance;
}

.market-hero__lead {
  max-width: 620px;
  margin: 22px 0 0;
  color: #f4eee2;
  font-size: 19px;
  line-height: 1.55;
}

.market-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 28px;
}

.market-button {
  box-sizing: border-box;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border: 1px solid #e5bb5f;
  border-radius: 4px;
  background: var(--market-red);
  color: #fffaf0;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.market-button:hover,
.market-button:focus-visible {
  background: #b12c26;
  outline: 3px solid rgba(255, 239, 189, .72);
  outline-offset: 2px;
}

.market-button--secondary {
  border-color: rgba(255, 255, 255, .72);
  background: rgba(18, 29, 31, .76);
}

.market-hero__departure {
  position: absolute;
  right: max(22px, calc((100vw - 1440px) / 2 + 32px));
  bottom: 34px;
  left: max(22px, calc((100vw - 1440px) / 2 + 32px));
  display: grid;
  grid-template-columns: 90px minmax(0, 1.4fr) minmax(130px, .65fr) minmax(150px, .7fr) auto;
  gap: 0;
  align-items: stretch;
  overflow: hidden;
  border: 2px solid #d4aa50;
  border-radius: 6px;
  background: rgba(15, 23, 25, .95);
  box-shadow: 0 16px 45px rgba(0, 0, 0, .42);
}

.market-hero__date {
  display: grid;
  place-content: center;
  padding: 12px;
  background: #eee2c6;
  color: #4a1512;
  text-align: center;
}

.market-hero__date strong {
  font: 700 34px/1 Georgia, serif;
}

.market-hero__date span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.market-hero__trip,
.market-hero__metric {
  display: grid;
  align-content: center;
  gap: 4px;
  min-width: 0;
  padding: 14px 17px;
  border-right: 1px solid rgba(229, 187, 95, .35);
}

.market-hero__trip small,
.market-hero__metric small {
  color: #d9c79f;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.market-hero__trip strong,
.market-hero__metric strong {
  overflow-wrap: anywhere;
  color: #fff8e7;
  font-size: 16px;
}

.market-hero__departure .market-button {
  min-width: 150px;
  border: 0;
  border-radius: 0;
}

.market-intro-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: var(--market-paper);
  color: var(--market-ink);
}

.market-intro-strip > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 22px max(24px, calc((100vw - 1320px) / 6));
  border-right: 1px solid var(--market-line);
}

.market-intro-strip > div:last-child {
  border-right: 0;
}

.market-intro-strip b {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 2px solid var(--market-red);
  border-radius: 50%;
  color: var(--market-red);
  font: 700 20px Georgia, serif;
}

.market-intro-strip strong,
.market-intro-strip small {
  display: block;
}

.market-intro-strip small {
  margin-top: 3px;
  color: #665f55;
}

.market-section {
  box-sizing: border-box;
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 72px 32px;
}

.market-section__heading {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 26px;
}

.market-section__heading h2,
.catalog-heading h1,
.event-story h2,
.event-practical h2,
.organization-showcase h1,
.public-reservation-page h1 {
  margin: 0;
  color: var(--market-ink);
  font: 700 clamp(34px, 4vw, 58px)/1.05 Georgia, serif;
  letter-spacing: 0;
}

.market-section__heading h2 {
  color: #f8f0dc;
}

.market-section__heading p:last-child {
  max-width: 560px;
  margin: 0;
  color: #b9c8cf;
  line-height: 1.55;
}

.departure-board {
  display: grid;
  overflow: hidden;
  border: 2px solid #b88b34;
  border-radius: 6px;
  background: #172329;
  color: #f9f0da;
  box-shadow: 0 16px 38px rgba(21, 26, 28, .18);
}

.departure-board__head,
.departure-board__row {
  display: grid;
  grid-template-columns: 130px minmax(210px, 1.1fr) minmax(180px, 1fr) 150px 180px 48px;
  gap: 14px;
  align-items: center;
  padding: 11px 16px;
}

.departure-board__head {
  background: #0b1418;
  color: #d5af5a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.departure-board__row {
  min-height: 64px;
  border-top: 1px solid rgba(213, 175, 90, .24);
  color: inherit;
  text-decoration: none;
}

.departure-board__row:hover,
.departure-board__row:focus-visible {
  background: #263a40;
  outline: 2px solid #e9c976;
  outline-offset: -3px;
}

.departure-board__time {
  color: #ffd472;
  font: 700 23px/1 Georgia, serif;
}

.departure-board__trip {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.departure-board__experience {
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
}

.departure-board__poster {
  display: grid;
  width: 54px;
  height: 68px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #d5af5a;
  background: #f1e5ca;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .32);
}

.departure-board__poster img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.departure-board__poster .m131-monogram {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

.departure-board__copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.departure-board__trip strong {
  overflow-wrap: anywhere;
  font-size: 16px;
}

.departure-board__trip small,
.departure-board__organization {
  color: #b9c7c7;
}

.departure-board__price {
  color: #fff;
  font-weight: 900;
}

.availability {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  align-items: center;
  gap: 7px;
  color: #d8e8d9;
  font-size: 13px;
  font-weight: 800;
}

.availability::before {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #69b77c;
  box-shadow: 0 0 0 3px rgba(105, 183, 124, .17);
  content: "";
}

.availability--last-seats::before {
  background: #efb548;
}

.availability--sold-out::before {
  background: #c84d43;
}

.availability--interest::before {
  background: #8da5b4;
}

.ride-card .availability,
.event-date-choice .availability {
  color: #27613a;
}

.ride-card .availability--last-seats,
.event-date-choice .availability--last-seats {
  color: #76520c;
}

.ride-card .availability--sold-out,
.event-date-choice .availability--sold-out {
  color: #8a2d27;
}

.ride-card .availability--interest,
.event-date-choice .availability--interest {
  color: #425f70;
}

.departure-board__arrow {
  color: #e3bc63;
  font-size: 25px;
  text-align: right;
}

.market-catalog-cta {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}

.newsletter-band {
  --newsletter-red: #841d19;
  --newsletter-red-dark: #430c0a;
  --newsletter-brass: #d5aa51;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  overflow: hidden;
  padding: 70px max(28px, calc((100vw - 1380px) / 2)) 94px;
  background: #e8dfcc;
  color: #f7f0df;
}

.newsletter-band::before,
.newsletter-band::after {
  position: absolute;
  right: 0;
  left: 0;
  content: "";
}

.newsletter-band::before {
  z-index: 0;
  bottom: 0;
  height: 94px;
  background: #d8cdb6;
}

.newsletter-band::after {
  z-index: 1;
  bottom: 44px;
  height: 11px;
  border-top: 3px solid #c7b99d;
  border-bottom: 3px solid #2d3030;
  background: linear-gradient(#696b68, #3e4140);
  box-shadow: 0 5px 0 rgba(87, 79, 65, .25);
}

.newsletter-car {
  position: relative;
  z-index: 2;
  display: flex;
  box-sizing: border-box;
  min-width: 0;
  min-height: 238px;
  align-items: center;
  padding: 34px 42px 48px;
  border: 3px solid var(--newsletter-red-dark);
  border-radius: 28px 28px 5px 5px;
  background: linear-gradient(100deg, #5b100d, #9a2b24 10%, #7c1a16 50%, #982921 90%, #5b100d);
  box-shadow:
    inset 0 0 0 2px rgba(213, 170, 81, .78),
    inset 0 -27px 0 #e5d0a0,
    inset 0 -31px 0 var(--newsletter-brass),
    0 18px 0 #232628,
    0 26px 30px rgba(39, 26, 20, .3);
}

.newsletter-car::before {
  position: absolute;
  z-index: -1;
  top: -15px;
  left: 6%;
  width: 88%;
  height: 17px;
  border: 2px solid #26292a;
  border-bottom: 0;
  border-radius: 55% 55% 0 0;
  background: linear-gradient(#d8d5cc, #888d8b);
  content: "";
}

.newsletter-car::after {
  position: absolute;
  right: 0;
  bottom: 18px;
  left: 0;
  height: 5px;
  background: var(--newsletter-brass);
  content: "";
}

.newsletter-car > div {
  min-width: 0;
}

.newsletter-band h2 {
  margin: 2px 0 0;
  color: #fff8e8;
  font: 700 clamp(31px, 3.4vw, 48px)/1.05 Georgia, serif;
  text-shadow: 0 2px 2px #3e0908;
}

.newsletter-band p:last-child {
  max-width: 720px;
  margin-bottom: 0;
  color: #f2e6cb;
  line-height: 1.55;
}

.newsletter-car-light {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  margin-right: 24px;
  border: 4px solid #b8822d;
  border-radius: 50%;
  background: radial-gradient(circle, #fffbd7 0 27%, #ffd66f 31%, #92500b 68%, #321405 72%);
  box-shadow: 0 0 16px rgba(255, 215, 111, .72);
}

.newsletter-car--action {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 9px 14px;
  align-content: center;
  text-align: center;
}

.newsletter-car--action .newsletter-car-light {
  grid-row: 1 / 4;
  align-self: center;
  margin: 0;
}

.newsletter-car--action > small {
  color: #f1c96e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.newsletter-car--action .market-button {
  width: 100%;
  border: 2px solid #5a100e;
  background: #f5e6c2;
  color: #531310;
  box-shadow: inset 0 0 0 2px var(--newsletter-brass);
}

.newsletter-car--action .market-button:hover,
.newsletter-car--action .market-button:focus-visible {
  background: #fff4d9;
}

.newsletter-car-number {
  color: #fff0d1;
  font: 700 10px Georgia, serif;
  letter-spacing: 0;
}

.newsletter-coupler {
  position: relative;
  z-index: 3;
  align-self: center;
  width: 42px;
  height: 10px;
  border-top: 3px solid #0c0e0f;
  border-bottom: 3px solid #0c0e0f;
  background: #43484a;
}

.newsletter-coupler::before,
.newsletter-coupler::after {
  position: absolute;
  top: 50%;
  width: 15px;
  height: 15px;
  transform: translateY(-50%);
  border: 4px solid #111314;
  border-radius: 50%;
  background: #4c5153;
  content: "";
}

.newsletter-coupler::before {
  left: -7px;
}

.newsletter-coupler::after {
  right: -7px;
}

.newsletter-wheel {
  position: absolute;
  z-index: 3;
  bottom: -42px;
  width: 52px;
  height: 52px;
  border: 8px solid #151718;
  border-radius: 50%;
  background: radial-gradient(circle, #bd8734 0 11%, #4c5153 13% 40%, #0e1011 42%);
  box-shadow: 0 5px 0 rgba(0, 0, 0, .25);
}

.newsletter-wheel--left {
  left: 18%;
}

.newsletter-wheel--right {
  right: 18%;
}

.newsletter-car-rail {
  display: none;
}

.event-newsletter {
  margin-top: 0;
}

.m131-monogram {
  display: grid;
  place-items: center;
  min-width: 28px;
  min-height: 28px;
  padding: 3px;
  border: 1px solid currentColor;
  background: #f7ead0;
  color: #791b17;
  font: 900 8px/1 Arial, sans-serif;
  letter-spacing: 0;
}

.event-organizers {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  max-width: 100%;
}

.event-organizer {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: inherit;
  font-weight: 900;
  text-decoration: none;
}

.event-organizer img,
.event-organizer i {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  object-fit: contain;
  border-radius: 50%;
  background: #fff8e8;
}

.event-organizer i {
  display: grid;
  place-items: center;
  color: #5d160f;
  font-style: normal;
  font-size: 11px;
}

.event-organizer b {
  overflow-wrap: anywhere;
}

.event-organizers--compact {
  gap: 7px 12px;
}

.event-organizers--compact .event-organizer {
  gap: 5px;
  font-size: 12px;
}

.event-organizers--compact .event-organizer img,
.event-organizers--compact .event-organizer i {
  width: 28px;
  height: 28px;
}

.event-hero .event-organizers {
  color: #f0c86e;
}

.past-event-hero .event-organizers {
  color: #fff0c8;
}

.calendar-event .event-organizers--compact,
.calendar-day-event .event-organizers--compact {
  gap: 3px 6px;
}

.calendar-event .event-organizer,
.calendar-day-event .event-organizer {
  font-size: 8px;
}

.calendar-event .event-organizer img,
.calendar-event .event-organizer i,
.calendar-day-event .event-organizer img,
.calendar-day-event .event-organizer i {
  width: 15px;
  height: 15px;
}

@media (max-width: 640px) {
  .event-organizers:not(.event-organizers--compact) {
    display: grid;
  }
}

/* The existing calendar becomes a recognizable M131 cab without changing its data. */
.calendar-section {
  box-sizing: border-box;
  padding-bottom: 92px !important;
  background: #e8dfcc;
}

.calendar-section .section-heading {
  width: min(1440px, calc(100% - 48px));
  margin: 0 auto 14px;
}

.railcar-calendar {
  max-width: 1376px;
  margin-bottom: 58px !important;
  padding-bottom: 0 !important;
  overflow: visible;
  border: 3px solid #c9a351 !important;
  border-radius: 34px 34px 7px 7px !important;
  background: #841d19 !important;
  box-shadow: 0 25px 55px rgba(45, 27, 19, .3) !important;
}

.railcar-roof {
  min-height: 21px;
  background: linear-gradient(#dad6ca, #8f918d) !important;
}

.railcar-cab {
  position: relative;
  z-index: 3;
  isolation: isolate;
  min-height: 122px;
  border-bottom: 0 !important;
  background: #8b201c !important;
}

.railcar-cab::before,
.railcar-cab::after {
  content: none !important;
}

.railcar-cab-glazing {
  position: absolute;
  z-index: 0;
  top: 208px;
  right: 5%;
  bottom: 76px;
  left: 5%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(110px, 15%) minmax(0, 1fr);
  gap: 2.6%;
  opacity: .82;
  pointer-events: none;
}

.railcar-cab-window,
.railcar-gangway-door {
  position: relative;
  overflow: hidden;
  border: 3px solid #4c0b09;
  background: linear-gradient(145deg, #122b36, #365963 72%, #16262c);
  box-shadow: inset 0 0 0 5px #b58e4b;
}

.railcar-cab-window::after,
.railcar-gangway-door i::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(255, 255, 255, .24), transparent 36% 70%, rgba(255, 255, 255, .08));
  content: "";
}

.railcar-gangway-door {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 6px;
  background: #731511;
  box-shadow: inset 0 0 0 3px #b58e4b;
}

.railcar-gangway-door i {
  position: relative;
  display: block;
  min-width: 0;
  border: 2px solid #3c0908;
  background: linear-gradient(145deg, #142c36, #42616a);
}

.railcar-gangway-door::after {
  position: absolute;
  top: 54%;
  left: 50%;
  width: 6px;
  height: 20px;
  transform: translate(-50%, -50%);
  border-radius: 4px;
  background: #d8b663;
  box-shadow: 0 0 0 2px #4b0b09;
  content: "";
}

.railcar-driver {
  position: absolute;
  top: auto;
  bottom: -4px;
  left: 50%;
  width: 82px;
  height: 158px;
  transform: translateX(-50%);
  filter: brightness(1.18) saturate(1.05);
}

.railcar-driver i {
  position: absolute;
  z-index: 2;
  top: 18px;
  left: 50%;
  width: 48px;
  height: 55px;
  transform: translateX(-50%);
  border: 3px solid #302019;
  border-radius: 46% 46% 43% 43%;
  background: #d9a77f;
  box-shadow: inset 8px 0 0 rgba(117, 71, 49, .18);
}

.railcar-driver i::before {
  position: absolute;
  top: -18px;
  left: -7px;
  width: 56px;
  height: 23px;
  border: 3px solid #141b20;
  border-radius: 50% 50% 24% 24%;
  background: #263b4b;
  box-shadow: inset 0 -6px 0 #d5aa51, 9px 18px 0 -7px #13191e;
  content: "";
}

.railcar-driver i::after {
  position: absolute;
  top: 24px;
  left: 10px;
  width: 25px;
  height: 9px;
  border-top: 3px solid #493027;
  border-radius: 50%;
  content: "";
}

.railcar-driver b {
  position: absolute;
  right: 4px;
  bottom: -18px;
  left: 4px;
  height: 92px;
  border: 4px solid #17232a;
  border-radius: 34px 34px 8px 8px;
  background: linear-gradient(90deg, #1c3341, #38566a 48%, #1b303d);
}

.railcar-driver b::before {
  position: absolute;
  top: 13px;
  left: 50%;
  width: 22px;
  height: 17px;
  transform: translateX(-50%);
  border-bottom: 3px solid #d5aa51;
  content: "";
}

.calendar-heading,
.railcar-headlight,
.railcar-number {
  position: relative;
  z-index: 2;
}

.railcar-cream-stripe {
  position: relative;
  z-index: 3;
  background: #e7d3a4 !important;
  color: #4c1613 !important;
}

.calendar-scroll {
  position: relative;
  z-index: 2;
  background: rgba(7, 25, 43, .55) !important;
}

.event-calendar {
  background: rgba(248, 243, 231, .08) !important;
}

.calendar-section .event-calendar th {
  background: rgba(20, 45, 67, .9);
}

.calendar-section .event-calendar td {
  position: relative;
  z-index: 1;
  background: linear-gradient(145deg, rgba(27, 57, 78, .78), rgba(5, 22, 38, .83));
  transform-origin: center top;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

@media (hover: hover) and (pointer: fine) {
  .calendar-section .calendar-day-cell:hover,
  .calendar-section .calendar-day-cell:focus-within,
  .calendar-section .calendar-day-cell--preview {
    z-index: 40;
    box-shadow: 0 18px 32px rgba(0, 0, 0, .58), 0 0 0 2px #e2b553;
    filter: brightness(1.12);
    transform: translateY(-12px) scale(1.5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .calendar-section .event-calendar td,
  .calendar-day-summary,
  .calendar-day-event {
    transition: none !important;
  }

  .calendar-section .calendar-day-cell:hover,
  .calendar-section .calendar-day-cell:focus-within,
  .calendar-section .calendar-day-cell--preview {
    transform: none;
  }
}

.calendar-section .calendar-day-number {
  width: auto;
  min-width: 42px;
  padding: 0 4px;
}

.calendar-map-day--disabled {
  cursor: default;
}

.calendar-event--past {
  background: #64413c;
}

.calendar-event--disabled {
  cursor: default;
  opacity: .72;
}

.calendar-event--disabled:hover {
  background: #64413c;
  box-shadow: none;
}

.calendar-day-event--past {
  border-left-color: #76685a;
  background: #f1eadc;
}

.calendar-day-event--disabled {
  cursor: default;
  opacity: .76;
}

.calendar-day-event--disabled:hover,
.calendar-day-event--disabled:focus-visible {
  transform: none;
  background: #f1eadc;
  outline: 0;
}

.calendar-section .calendar-day--holiday {
  box-shadow: inset 0 4px 0 #e3b84f;
}

.calendar-holiday {
  display: -webkit-box;
  margin: -1px 0 5px;
  overflow: hidden;
  color: #ffe39a;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.calendar-holiday i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 4px;
  border-radius: 50%;
  background: #e3b84f;
  box-shadow: 0 0 7px rgba(255, 215, 111, .8);
}

.railcar-underframe {
  position: relative;
  z-index: 4;
  display: block;
  box-sizing: border-box;
  height: 64px !important;
  margin: 10px 22px -66px;
  padding: 0 !important;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}

.railcar-underframe::before {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  height: 36px;
  border-top: 8px solid #111314;
  border-bottom: 4px solid #0b0d0e;
  border-radius: 2px 2px 8px 8px;
  background: linear-gradient(#414547, #202325);
  box-shadow: inset 0 9px 0 #565b5d, 0 8px 14px rgba(0, 0, 0, .28);
  content: "";
}

.railcar-underframe::after {
  position: absolute;
  z-index: 3;
  top: 31px;
  left: 50%;
  width: 112px;
  height: 28px;
  transform: translateX(-50%);
  border: 4px solid #101213;
  border-radius: 3px 3px 12px 12px;
  background: linear-gradient(#4b5052, #1c1f20);
  content: "";
}

.railcar-front-track-bed {
  position: absolute;
  z-index: 0;
  top: 45px;
  right: -28px;
  bottom: -62px;
  left: -28px;
  clip-path: polygon(42% 0, 58% 0, 100% 100%, 0 100%);
  background: repeating-linear-gradient(
    to bottom,
    transparent 0 12px,
    rgba(91, 83, 70, .62) 12px 18px
  );
}

.railcar-front-rail {
  position: absolute;
  z-index: 1;
  top: 44px;
  bottom: -64px;
  width: 48%;
  background: linear-gradient(90deg, #303332, #777a75 45%, #323534);
}

.railcar-front-rail--left {
  left: -2%;
  clip-path: polygon(92% 0, 96% 0, 7% 100%, 0 100%);
}

.railcar-front-rail--right {
  right: -2%;
  clip-path: polygon(4% 0, 8% 0, 100% 100%, 93% 100%);
}

.railcar-front-buffer {
  position: absolute;
  z-index: 5;
  top: 22px;
  box-sizing: border-box;
  width: 62px;
  height: 52px;
  border: 8px solid #101213;
  border-radius: 50%;
  background: radial-gradient(circle at 42% 36%, #606568 0 9%, #303436 31%, #111314 68%);
  box-shadow: 0 6px 0 rgba(0, 0, 0, .28);
}

.railcar-front-buffer::before {
  position: absolute;
  top: -20px;
  left: 50%;
  width: 21px;
  height: 24px;
  transform: translateX(-50%);
  border: 4px solid #101213;
  background: #333739;
  content: "";
}

.railcar-front-buffer--left {
  left: 18%;
}

.railcar-front-buffer--right {
  right: 18%;
}

.railcar-plaque {
  position: absolute;
  z-index: 6;
  top: 12px;
  left: 50%;
  max-width: 38%;
  transform: translateX(-50%);
  overflow: hidden;
  color: #efd373;
  text-overflow: ellipsis;
  text-shadow: 0 1px 0 #000;
  white-space: nowrap;
}

.railcar-front-coupler {
  position: absolute;
  z-index: 7;
  top: 44px;
  left: 50%;
  box-sizing: border-box;
  width: 58px;
  height: 32px;
  transform: translateX(-50%);
  border: 6px solid #0d0f10;
  border-radius: 7px 7px 13px 13px;
  background: linear-gradient(#555a5c, #202324);
  box-shadow: 0 5px 0 rgba(0, 0, 0, .28);
}

.railcar-front-coupler::before {
  position: absolute;
  top: -24px;
  left: 50%;
  width: 13px;
  height: 23px;
  transform: translateX(-50%);
  border: 4px solid #0d0f10;
  border-radius: 3px;
  background: #44494b;
  content: "";
}

.railcar-front-coupler::after {
  position: absolute;
  bottom: -22px;
  left: 50%;
  box-sizing: border-box;
  width: 74px;
  height: 28px;
  transform: translateX(-50%);
  border: 7px solid #111314;
  border-top-color: #34383a;
  border-radius: 50%;
  content: "";
}

.railcar-front-coupler i {
  position: absolute;
  top: 5px;
  left: 50%;
  width: 9px;
  height: 16px;
  transform: translateX(-50%);
  border-radius: 4px;
  background: #9a7134;
}

.railcar-front-hose {
  position: absolute;
  z-index: 6;
  top: 42px;
  box-sizing: border-box;
  width: 54px;
  height: 58px;
  border-bottom: 6px solid #17191a;
}

.railcar-front-hose::after {
  position: absolute;
  bottom: -7px;
  width: 12px;
  height: 18px;
  border: 4px solid #111314;
  border-radius: 4px;
  background: #555a5b;
  content: "";
}

.railcar-front-hose--left {
  left: calc(50% - 105px);
  transform: rotate(13deg);
  border-left: 6px solid #17191a;
  border-radius: 0 0 0 42px;
}

.railcar-front-hose--left::after {
  left: -9px;
}

.railcar-front-hose--right {
  right: calc(50% - 105px);
  transform: rotate(-13deg);
  border-right: 6px solid #17191a;
  border-radius: 0 0 42px;
}

.railcar-front-hose--right::after {
  right: -9px;
}

.events {
  background: #f8f5ed;
}

.events .section-heading {
  max-width: 1376px;
  margin-right: auto;
  margin-left: auto;
}

.events .section-heading h2 {
  color: #321713;
}

.event-grid {
  max-width: 1376px;
  margin: 0 auto;
}

.event-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #cdb98f !important;
  border-radius: 6px !important;
  background: #fffdf8 !important;
  box-shadow: 0 14px 35px rgba(35, 30, 23, .12) !important;
}

.event-card__main {
  display: block;
  color: inherit;
  text-decoration: none;
}

.event-card > img,
.event-card__main > img {
  aspect-ratio: 16 / 10;
  object-fit: cover !important;
}

.event-card > img.event-card__poster,
.event-card__main > img.event-card__poster {
  padding: 9px;
  object-fit: contain !important;
  background: #e9dfcc;
}

.event-card__support-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 20px 20px;
}

.event-card__support-actions .market-button {
  flex: 1 1 180px;
  justify-content: center;
  text-align: center;
}

.event-card-sales {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  margin: 12px 0;
  padding: 9px 0;
  border-top: 1px solid #ded1b4;
  border-bottom: 1px solid #ded1b4;
}

.event-card-sales strong {
  color: var(--market-red);
}

/* Catalog */
.ride-catalog {
  min-height: 70vh;
  background: #f8f5ed;
  color: var(--market-ink);
}

.catalog-heading {
  box-sizing: border-box;
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 54px 32px 30px;
}

.catalog-heading p {
  max-width: 650px;
  color: #5b5b55;
  font-size: 17px;
  line-height: 1.55;
}

.catalog-filters {
  border-top: 1px solid var(--market-line);
  border-bottom: 1px solid var(--market-line);
  background: #eee5d3;
}

.catalog-filters > summary {
  box-sizing: border-box;
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 18px 32px;
  color: #4b1714;
  font-weight: 900;
  cursor: pointer;
}

.catalog-filter-form {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 4px 32px 24px;
}

.catalog-filter-form label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: #4a4238;
  font-size: 12px;
  font-weight: 900;
}

.catalog-filter-form input,
.catalog-filter-form select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 9px 10px;
  border: 1px solid #9f8961;
  border-radius: 3px;
  background: #fffdf8;
  color: #221c17;
  font: inherit;
}

.catalog-filter-flags {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.catalog-filter-flags label {
  display: flex;
  min-height: 38px;
  flex-direction: row;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid #b9a276;
  border-radius: 4px;
  background: #fff9ed;
  cursor: pointer;
}

.catalog-filter-flags input {
  width: 18px;
  min-height: 18px;
  accent-color: var(--market-red);
}

.catalog-filter-actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.catalog-filter-actions a {
  align-self: center;
  color: var(--market-red-dark);
  font-weight: 800;
}

.ride-results {
  box-sizing: border-box;
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 38px 32px 80px;
}

.ride-results__summary {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 20px;
}

.ride-results__summary h2 {
  margin: 0;
  font: 700 30px Georgia, serif;
}

.ride-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.ride-card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border: 1px solid #cab58b;
  border-radius: 6px;
  background: #fffdf8;
  color: var(--market-ink);
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(37, 30, 20, .1);
}

.ride-card:hover,
.ride-card:focus-visible {
  transform: translateY(-2px);
  outline: 3px solid #d4a94e;
  outline-offset: 2px;
}

.ride-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #2c3434;
}

.ride-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ride-card__media img.ride-card__poster {
  box-sizing: border-box;
  padding: 8px;
  object-fit: contain;
  background: #e9dfcc;
}

.ride-card__date {
  position: absolute;
  bottom: 0;
  left: 0;
  display: grid;
  min-width: 72px;
  place-content: center;
  padding: 10px;
  background: #f0e3c3;
  color: #531411;
  text-align: center;
}

.ride-card__date strong {
  font: 700 28px/1 Georgia, serif;
}

.ride-card__date span {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.ride-card__body {
  display: grid;
  align-content: start;
  gap: 11px;
  padding: 18px;
}

.ride-card__organization {
  color: #6b6254;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ride-card h3 {
  margin: 0;
  color: #491411;
  font: 700 26px/1.1 Georgia, serif;
}

.ride-card__terms {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ride-card__term {
  display: grid;
  grid-template-columns: minmax(92px, auto) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 35px;
  padding: 5px 0;
  border-top: 1px solid #ded1b5;
}

.ride-card__term time {
  display: flex;
  gap: 6px;
  align-items: baseline;
  white-space: nowrap;
}

.ride-card__term time strong {
  color: #491411;
  font-size: 15px;
}

.ride-card__term time span {
  color: #6d665b;
  font-size: 12px;
}

.ride-card__term-status {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  justify-self: end;
  align-items: center;
  padding: 5px 7px;
  border-radius: 4px;
  background: #e5f2e8;
  color: #245c34;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  text-align: right;
}

.ride-card__term-status--last-seats {
  background: #fff0c9;
  color: #73500a;
}

.ride-card__term-status--sold-out {
  background: #f8e1dd;
  color: #842b25;
}

.ride-card__term-status--interest {
  background: #e4edf2;
  color: #3f5968;
}

.ride-card__term-status--cancelled {
  background: #ece9e2;
  color: #514e49;
}

.ride-card__route {
  margin: 0;
  color: #464844;
  line-height: 1.45;
}

.ride-card__footer {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: end;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #ded1b5;
}

.ride-card__price {
  display: grid;
}

.ride-card__price small {
  color: #6d665b;
}

.ride-card__price strong {
  color: var(--market-red);
  font-size: 21px;
}

.catalog-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 30px;
}

.catalog-pagination a,
.catalog-pagination span {
  display: grid;
  min-width: 42px;
  min-height: 42px;
  place-items: center;
  border: 1px solid #a98d5b;
  border-radius: 4px;
  background: #fff;
  color: #531411;
  font-weight: 900;
  text-decoration: none;
}

/* Public reservation status */
.public-reservation-page {
  min-height: 70vh;
  padding: 60px 24px 90px;
  background: #eee5d4;
  color: var(--market-ink);
}

.reservation-ticket {
  overflow: hidden;
  width: min(900px, 100%);
  margin: 0 auto;
  border: 2px solid #ba913c;
  border-radius: 6px;
  background: #fffdf8;
  box-shadow: 0 20px 55px rgba(44, 35, 24, .18);
}

.reservation-ticket__head {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  gap: 15px;
  align-items: center;
  padding: 24px;
  background: var(--market-red);
  color: #fff5dc;
  text-align: center;
}

.reservation-ticket__head .booking-panel__lamp {
  justify-self: center;
}

.reservation-ticket__body {
  display: grid;
  gap: 24px;
  padding: 28px;
}

.reservation-status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-left: 5px solid var(--market-green);
  background: #e7efe7;
}

.reservation-status--cancelled {
  border-color: var(--market-red);
  background: #f6e2dc;
}

.reservation-status strong,
.reservation-status small {
  display: block;
}

.reservation-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.reservation-summary-grid > div {
  padding: 14px;
  border-bottom: 1px solid #d9c9a8;
}

.reservation-summary-grid small,
.reservation-summary-grid strong {
  display: block;
}

.reservation-items {
  width: 100%;
  border-collapse: collapse;
}

.reservation-items th,
.reservation-items td {
  padding: 11px;
  border-bottom: 1px solid #dfd1b4;
  text-align: left;
}

.reservation-items td:last-child,
.reservation-items th:last-child {
  text-align: right;
}

.reservation-journey-leg {
  min-width: 0;
  padding: 16px;
  border: 1px solid #dfd1b4;
  border-radius: 5px;
  background: #fff8df;
}

.reservation-journey-leg h3,
.reservation-journey-leg p {
  margin: 0 0 10px;
}

.signup-page {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 520px);
  gap: 70px;
  align-items: center;
  min-height: calc(100svh - 90px);
  padding: 70px max(28px, calc((100vw - 1260px) / 2));
  background:
    linear-gradient(90deg, rgba(246, 241, 230, .98), rgba(246, 241, 230, .89)),
    url("../img/marketplace-hero-desktop.66ec339dd272.webp") center / cover;
  color: var(--market-ink);
}

.signup-page__intro h1 {
  max-width: 760px;
  margin: 0;
  color: #3f1412;
  font: 700 clamp(44px, 6vw, 76px)/1 Georgia, serif;
}

.signup-page__intro > p {
  max-width: 650px;
  color: #4e504c;
  font-size: 18px;
  line-height: 1.65;
}

.signup-page__intro ul {
  display: grid;
  gap: 10px;
  padding-left: 20px;
  color: #344a3e;
  font-weight: 800;
}

.signup-form-shell {
  overflow: hidden;
  border: 2px solid #b78c38;
  border-radius: 6px;
  background: #fffdf8;
  box-shadow: 0 20px 55px rgba(39, 29, 19, .2);
}

.signup-form-shell > header {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  gap: 12px;
  align-items: center;
  padding: 18px;
  background: var(--market-red);
  color: #fff4dc;
  text-align: center;
}

.signup-form-shell > header strong {
  font: 700 23px Georgia, serif;
}

.signup-form,
.signup-result {
  display: grid;
  gap: 15px;
  padding: 24px;
}

.signup-form > label {
  display: grid;
  gap: 5px;
  font-size: 12px;
  font-weight: 900;
}

.signup-form input:not([type=checkbox]) {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  padding: 10px 11px;
  border: 1px solid #9f8961;
  border-radius: 3px;
  background: #fff;
  color: #231a15;
  font: inherit;
}

.signup-form > p {
  margin: 0;
  color: #645e54;
  font-size: 12px;
  line-height: 1.45;
}

.signup-result h2 {
  margin: 0;
  color: #4d1512;
  font: 700 34px Georgia, serif;
}

.signup-result p {
  color: #4f514d;
  line-height: 1.55;
}

@media (max-width: 1050px) {
  .market-hero__departure {
    grid-template-columns: 80px minmax(0, 1fr) minmax(120px, .6fr) auto;
  }

  .market-hero__metric--availability {
    display: none;
  }

  .departure-board__head,
  .departure-board__row {
    grid-template-columns: 110px minmax(190px, 1.2fr) minmax(160px, 1fr) 130px 48px;
  }

  .departure-board__organization {
    display: none;
  }

  .catalog-filter-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ride-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .signup-page {
    grid-template-columns: 1fr 440px;
    gap: 35px;
  }
}

@media (max-width: 760px) {
  .event-recurring-services {
    padding: 38px 16px;
  }

  .event-recurring-services__heading {
    align-items: start;
  }

  .event-recurring-services__heading h2 {
    font-size: 29px;
  }

  .event-recurring-card > header {
    grid-template-columns: 18px minmax(0, 1fr);
  }

  .event-recurring-card > header > strong {
    grid-column: 2;
    text-align: left;
  }

  .event-recurring-card__facts {
    grid-template-columns: 1fr 1fr;
  }

  .event-recurring-card__facts > div:nth-child(2) {
    border-right: 0;
  }

  .event-recurring-card__facts > div:nth-child(-n + 2) {
    border-bottom: 1px solid #e4d6ba;
  }

  .event-recurring-card > footer {
    align-items: stretch;
    flex-direction: column;
  }

  .event-recurring-card > footer .market-button {
    width: 100%;
    text-align: center;
  }

  .event-date-pagination {
    grid-template-columns: 1fr 1fr;
  }

  .event-date-pagination > span:nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .event-date-pagination a {
    grid-row: 2;
  }

  .market-hero {
    min-height: calc(100svh - 118px);
  }

  .market-hero picture::after {
    background:
      linear-gradient(0deg, rgba(8, 15, 17, .93) 0%, rgba(8, 15, 17, .56) 57%, rgba(8, 15, 17, .18) 100%);
  }

  .market-hero picture img {
    object-position: center center;
  }

  .market-hero__inner {
    align-content: end;
    padding: 30px 20px 180px;
  }

  .market-hero h1 {
    max-width: 100%;
    font-size: 46px;
    text-wrap: wrap;
  }

  .market-hero__lead {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 14px;
    font-size: 16px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .market-actions {
    margin-top: 18px;
  }

  .market-actions .market-button {
    flex: 1 1 145px;
  }

  .market-hero__departure {
    right: 12px;
    bottom: 12px;
    left: 12px;
    grid-template-columns: 64px minmax(0, 1fr) auto;
  }

  .market-hero__date {
    padding: 8px;
  }

  .market-hero__date strong {
    font-size: 27px;
  }

  .market-hero__trip {
    padding: 10px;
    border-right: 0;
  }

  .market-hero__trip strong {
    font-size: 14px;
  }

  .market-hero__metric {
    display: none;
  }

  .market-hero__departure .market-button {
    min-width: 92px;
    padding: 8px;
    font-size: 13px;
  }

  .market-intro-strip {
    grid-template-columns: 1fr;
  }

  .market-intro-strip > div {
    padding: 14px 20px;
    border-right: 0;
    border-bottom: 1px solid var(--market-line);
  }

  .market-intro-strip > div:last-child {
    border-bottom: 0;
  }

  .market-section {
    padding: 48px 16px;
  }

  .newsletter-band {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 58px 16px 100px;
    background: #e8dfcc;
  }

  .newsletter-band::before {
    height: 100px;
  }

  .newsletter-band::after {
    display: none;
  }

  .newsletter-car {
    height: 300px;
    min-height: 300px;
    padding: 30px 20px 50px;
  }

  .newsletter-car--message {
    align-items: center;
  }

  .newsletter-car-light {
    width: 24px;
    height: 24px;
    margin: 4px 14px 0 0;
    border-width: 3px;
  }

  .newsletter-band h2 {
    font-size: clamp(31px, 9.6vw, 42px);
  }

  .newsletter-coupler {
    width: 10px;
    height: 52px;
    justify-self: center;
    border: 0;
    border-right: 3px solid #0c0e0f;
    border-left: 3px solid #0c0e0f;
  }

  .newsletter-coupler::before,
  .newsletter-coupler::after {
    left: 50%;
    transform: translate(-50%, 0);
  }

  .newsletter-coupler::before {
    top: -7px;
  }

  .newsletter-coupler::after {
    top: auto;
    right: auto;
    bottom: -7px;
  }

  .newsletter-car--action {
    grid-template-columns: 24px minmax(0, 1fr);
    min-height: 300px;
  }

  .newsletter-car--action .market-button {
    width: 100%;
  }

  .newsletter-wheel {
    bottom: -35px;
    width: 43px;
    height: 43px;
    border-width: 7px;
  }

  .newsletter-car-rail {
    position: absolute;
    z-index: 1;
    top: calc(100% + 32px);
    right: -16px;
    left: -16px;
    display: block;
    height: 11px;
    border-top: 3px solid #c7b99d;
    border-bottom: 3px solid #2d3030;
    background: linear-gradient(#696b68, #3e4140);
    box-shadow: 0 5px 0 rgba(87, 79, 65, .25);
  }

  .market-section__heading {
    align-items: start;
    flex-direction: column;
  }

  .departure-board__head {
    display: none;
  }

  .departure-board__row {
    grid-template-columns: 75px minmax(0, 1fr) 26px;
    grid-template-rows: auto auto auto;
    gap: 9px;
    min-height: 142px;
    padding: 12px 10px;
  }

  .departure-board__time {
    grid-column: 1;
    grid-row: 1 / 4;
    align-self: center;
    font-size: 18px;
  }

  .departure-board__organization,
  .departure-board__price {
    display: none;
  }

  .departure-board__row > .departure-board__trip:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
  }

  .departure-board__experience {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 8px;
  }

  .departure-board__poster {
    width: 40px;
    height: 52px;
  }

  .departure-board__experience strong {
    font-size: 13px;
  }

  .departure-board__row > .departure-board__trip:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
  }

  .departure-board__row > .departure-board__trip:nth-child(3) strong {
    color: #d9c79f;
    font-size: 12px;
  }

  .departure-board__row > .departure-board__trip:nth-child(3) small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .departure-board__row > .availability {
    grid-column: 2;
    grid-row: 3;
    color: #d8e8d9;
    font-size: 11px;
  }

  .departure-board__arrow {
    grid-column: 3;
    grid-row: 1 / 4;
    align-self: center;
  }

  .calendar-section {
    padding-top: 48px !important;
    padding-bottom: 88px !important;
  }

  .calendar-section .section-heading {
    width: calc(100% - 32px);
  }

  .railcar-calendar {
    margin-bottom: 50px !important;
    border-radius: 24px 24px 5px 5px !important;
  }

  .railcar-cab {
    min-height: 112px;
  }

  .railcar-cab-glazing {
    top: 196px;
    right: 14px;
    bottom: 66px;
    left: 14px;
    grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr);
    gap: 6px;
    opacity: .76;
  }

  .railcar-cab-window,
  .railcar-gangway-door {
    border-width: 2px;
    box-shadow: inset 0 0 0 3px #b58e4b;
  }

  .railcar-gangway-door {
    gap: 2px;
    padding: 4px;
  }

  .railcar-driver {
    top: auto;
    bottom: -3px;
    width: 56px;
    height: 118px;
  }

  .railcar-driver i {
    width: 35px;
    height: 41px;
    border-width: 2px;
  }

  .railcar-driver i::before {
    top: -14px;
    left: -6px;
    width: 41px;
    height: 18px;
    border-width: 2px;
    box-shadow: inset 0 -5px 0 #d5aa51, 7px 14px 0 -6px #13191e;
  }

  .railcar-driver i::after {
    top: 18px;
    left: 7px;
    width: 19px;
  }

  .railcar-driver b {
    bottom: -12px;
    height: 70px;
  }

  .railcar-underframe {
    height: 58px !important;
    margin: 10px 8px -62px;
  }

  .railcar-underframe::before {
    height: 32px;
    border-top-width: 7px;
  }

  .railcar-underframe::after {
    top: 28px;
    width: 82px;
    height: 23px;
  }

  .railcar-front-track-bed {
    top: 40px;
    right: -12px;
    bottom: -52px;
    left: -12px;
  }

  .railcar-front-rail {
    top: 39px;
    bottom: -54px;
  }

  .railcar-front-buffer {
    top: 19px;
    width: 46px;
    height: 40px;
    border-width: 6px;
  }

  .railcar-front-buffer::before {
    top: -17px;
    width: 16px;
    height: 20px;
    border-width: 3px;
  }

  .railcar-front-buffer--left {
    left: 13%;
  }

  .railcar-front-buffer--right {
    right: 13%;
  }

  .railcar-front-coupler {
    top: 38px;
    width: 46px;
    height: 28px;
    border-width: 5px;
  }

  .railcar-front-coupler::before {
    top: -21px;
    width: 11px;
    height: 20px;
    border-width: 3px;
  }

  .railcar-front-coupler::after {
    bottom: -18px;
    width: 58px;
    height: 23px;
    border-width: 6px;
  }

  .railcar-front-hose {
    top: 37px;
    width: 38px;
    height: 48px;
  }

  .railcar-front-hose--left {
    left: calc(50% - 75px);
  }

  .railcar-front-hose--right {
    right: calc(50% - 75px);
  }

  .railcar-plaque {
    top: 10px;
    max-width: 42%;
    font-size: 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .catalog-heading {
    padding: 38px 18px 22px;
  }

  .catalog-filters > summary {
    padding: 16px 18px;
  }

  .catalog-filter-form {
    grid-template-columns: 1fr 1fr;
    gap: 11px;
    padding: 0 18px 20px;
  }

  .catalog-filter-form label:nth-child(5),
  .catalog-filter-form label:nth-child(6) {
    grid-column: 1 / -1;
  }

  .catalog-filter-flags {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .catalog-filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .catalog-filter-actions .market-button {
    width: 100%;
  }

  .ride-results {
    padding: 28px 16px 60px;
  }

  .ride-results__summary {
    align-items: start;
    flex-direction: column;
  }

  .ride-card-grid {
    grid-template-columns: 1fr;
  }

  .event-hero {
    min-height: calc(100svh - 72px);
  }

  .event-hero__inner {
    padding: 45px 18px 34px;
  }

  .event-hero h1 {
    font-size: clamp(38px, 11vw, 58px);
  }

  .event-hero__summary {
    font-size: 16px;
  }

  .event-booking-band__inner {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 34px 16px;
  }

  .event-live-notices > header {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .event-live-notices > header time {
    grid-column: 2;
  }

  .event-live-notice {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 15px 13px;
  }

  .event-live-notice dl,
  .event-live-notice > small {
    grid-column: 1;
    text-align: left;
  }

  .event-date-choice {
    grid-template-columns: 60px minmax(0, 1fr);
  }

  .event-date-choice > .availability {
    grid-column: 2;
  }

  .booking-contact-grid {
    grid-template-columns: 1fr;
  }

  .booking-contact-grid label,
  .booking-contact-grid label:first-child,
  .booking-contact-grid label:last-child {
    grid-column: 1;
  }

  .booking-ticket {
    grid-template-columns: minmax(0, 1fr) 78px;
  }

  .booking-ticket__price {
    grid-column: 1;
    grid-row: 2;
  }

  .booking-ticket input {
    grid-column: 2;
    grid-row: 1 / 3;
  }

  .event-content-grid {
    grid-template-columns: 1fr;
    gap: 38px;
    padding: 50px 18px;
  }

  .event-practical {
    padding: 0;
    border-top: 3px solid var(--market-brass);
    border-left: 0;
  }

  .event-timetable,
  .event-consist,
  .event-map,
  .event-gallery,
  .event-faq,
  .event-interest {
    padding: 48px 18px;
  }

  .event-consist-grid,
  .event-gallery-grid,
  .event-video-grid {
    grid-template-columns: 1fr;
  }

  .event-gallery-heading {
    align-items: start;
    flex-direction: column;
  }

  .event-gallery-actions {
    width: 100%;
    justify-content: stretch;
  }

  .event-gallery-actions a {
    flex: 1 1 150px;
  }

  .event-poster-support {
    grid-template-columns: 1fr;
    padding: 42px 18px;
  }

  .event-poster-support img {
    max-height: 360px;
  }

  .event-mobile-booking {
    position: fixed;
    z-index: 1600;
    right: 10px;
    bottom: 10px;
    left: 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 9px;
    border: 1px solid #d8ae55;
    border-radius: 6px;
    background: rgba(17, 27, 29, .96);
    color: #fff6e3;
    box-shadow: 0 12px 35px rgba(0, 0, 0, .4);
  }

  .event-mobile-booking small,
  .event-mobile-booking strong {
    display: block;
  }

  .event-mobile-booking .market-button {
    min-height: 44px;
  }

  .organization-showcase__hero {
    grid-template-columns: 1fr;
    padding: 48px 20px;
  }

  .organization-directory--market {
    padding: 45px 16px 70px;
  }

  .organization-directory--market .organization-directory-grid {
    grid-template-columns: 1fr;
  }

  .organization-directory--market .organization-directory-card {
    min-height: 96px;
  }

  .organization-directory--market .organization-directory-card__main {
    grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 12px;
    min-height: 96px;
    padding: 10px;
  }

  .organization-directory--market .organization-directory-card--messageable .organization-directory-card__main {
    padding-right: 52px;
  }

  .organization-directory-card__message {
    right: 8px;
    bottom: 7px;
    width: 36px;
    height: 36px;
  }

  .organization-directory-card__logo {
    width: 76px;
    height: 72px;
  }

  .organization-directory-card__logo img {
    max-width: 68px;
    max-height: 64px;
  }

  .organization-directory--market .organization-directory-card strong {
    font-size: 21px;
  }

  .organization-directory__join {
    grid-template-columns: 1fr;
    padding: 22px 16px;
  }

  .organization-showcase__hero img {
    grid-row: 1;
    width: min(180px, 55vw);
  }

  .organization-story,
  .organization-rides,
  .organization-fundraising,
  .organization-fleet,
  .organization-gallery,
  .organization-people-public {
    padding: 48px 18px;
  }

  .public-reservation-page {
    padding: 30px 12px 70px;
  }

  .reservation-ticket__head {
    grid-template-columns: 26px minmax(0, 1fr) 26px;
    padding: 17px 12px;
  }

  .reservation-ticket__body {
    padding: 20px 15px;
  }

  .reservation-summary-grid {
    grid-template-columns: 1fr;
  }

  .reservation-items th:nth-child(2),
  .reservation-items td:nth-child(2) {
    display: none;
  }

  .signup-page {
    grid-template-columns: 1fr;
    gap: 30px;
    min-height: auto;
    padding: 45px 16px 70px;
    background: #f3ecdf;
  }

  .signup-page__intro h1 {
    font-size: clamp(40px, 12vw, 58px);
  }
}

@media (max-width: 420px) {
  .market-hero h1 {
    font-size: 40px;
  }

  .catalog-filter-form,
  .catalog-filter-flags,
  .catalog-filter-actions {
    grid-template-columns: 1fr;
  }

  .catalog-filter-form label:nth-child(5),
  .catalog-filter-form label:nth-child(6) {
    grid-column: 1;
  }

  .market-hero__eyebrow {
    margin-bottom: 8px;
  }
}

.market-home-editorial,.catalog-editorial{width:min(1080px,calc(100% - 32px));margin:24px auto;padding:20px;border:1px solid var(--gold);border-radius:8px;background:#fff7df;color:#21150d}.market-home-editorial nav{display:flex;flex-wrap:wrap;gap:10px}.market-home-editorial nav a{font-weight:700;color:#741512}.seo-public-content{width:min(1080px,calc(100% - 32px));margin:32px auto 70px}.seo-public-content>header{max-width:850px}.seo-public-content>header>img{width:100%;max-height:460px;object-fit:cover;border:2px solid var(--gold);border-radius:8px}.seo-public-content h1{font-size:clamp(2rem,5vw,4rem)}.seo-public-content .lead{font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.55}.seo-public-content__body{font-size:1.05rem;line-height:1.7}.seo-public-content__body img{max-width:100%;height:auto}.seo-public-content__links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.seo-public-content__links a{padding:10px 14px;border:1px solid var(--gold);border-radius:4px;background:#fff7df;color:#741512;font-weight:700;text-decoration:none}@media(max-width:600px){.seo-public-content{width:calc(100% - 20px);margin-top:18px}.seo-public-content h1{font-size:2.1rem}}

