:root{--ink:#102c31;--paper:#f5f4ed;--muted:#496268;--accent:#caff50;--line:#cfdbd6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #237b8c;outline-offset:4px}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.notice{background:var(--ink);color:white;text-align:center;padding:11px 24px;font-size:12px}.notice a{margin-left:12px;color:var(--accent)}header{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;line-height:1.3;letter-spacing:1.2px}.mark{background:var(--ink);color:var(--accent);font-size:22px;padding:9px;font-weight:900;letter-spacing:-2px}.brand b{font-size:15px;letter-spacing:.1px}nav{display:flex;gap:28px;font-weight:600;font-size:14px}nav a{text-decoration:none}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:72px 0 80px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;margin:0 0 18px}h1{font-size:clamp(46px,6vw,76px);line-height:1.02;letter-spacing:-4px;margin:0 0 24px}h1 em{font-style:normal;color:#397466}.intro{max-width:420px;font-size:18px;color:var(--muted);margin-bottom:32px}.button{display:inline-flex;gap:50px;background:var(--ink);color:white;padding:16px 22px;text-decoration:none;font-weight:bold;font-size:14px}.button span{color:var(--accent)}.hero-card{background:var(--ink);color:white;padding:40px;position:relative;overflow:hidden;min-height:335px}.hero-card .eyebrow{position:relative;color:var(--accent)}.hero-card h2{position:relative;font-size:38px;line-height:1.1;letter-spacing:-1px;margin:30px 0 20px}.hero-card p:not(.eyebrow){max-width:290px;position:relative;font-size:14px;color:#cbdcd8}.outline-number{position:absolute;right:-10px;top:-45px;font-size:210px;color:#234448;font-weight:900;letter-spacing:-15px}.ring{position:absolute;bottom:-20px;right:-65px;transform:rotate(-30deg)}.ring i{display:block;width:250px;height:8px;background:var(--accent);margin:18px 0;opacity:.2}h2{font-size:36px;line-height:1.15;letter-spacing:-1px;margin:0 0 20px}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head>p{font-size:12px;color:var(--muted);text-align:right}.section-head .eyebrow{margin-bottom:12px}.filters{display:flex;gap:16px;background:#e9eee7;padding:20px;margin:16px 0}label{display:grid;gap:5px;font-weight:bold;font-size:12px;min-width:170px}.search{flex:1}select,input{font:14px Arial;padding:12px;border:1px solid #9db2aa;border-radius:0;background:var(--paper);color:var(--ink);min-height:44px;max-width:100%}.results,.calendar-note{font-size:13px;color:var(--muted)}.calendar-note{max-width:820px;margin-bottom:28px}.event{display:flex;gap:28px;border-top:1px solid var(--line);padding:30px 0}.event:last-child{border-bottom:1px solid var(--line)}.date{flex:0 0 86px;height:114px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#e3ebe0}.date span{font-size:11px;letter-spacing:2px;font-weight:bold}.date strong{font-size:43px;line-height:1.2;letter-spacing:-2px}.event-body{flex:1;min-width:0}.event .eyebrow{margin-bottom:7px;color:#397466}.dot{padding:0 8px;color:#859a91}h3{font-size:25px;line-height:1.2;margin:0 0 10px;letter-spacing:-.5px}.event p{font-size:14px;margin:9px 0;color:var(--muted)}.event .time{font-weight:700;color:var(--ink)}.links{display:flex;flex-wrap:wrap;gap:22px;margin-top:18px;font-size:13px;font-weight:bold}.links span{font-weight:normal;color:var(--muted)}.event .source{font-size:11px;margin-top:17px}.calendar{padding-bottom:72px}.before{background:#e5ebe1;padding:65px 0}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:35px}.three span{color:#397466;font-size:13px;font-weight:bold}.three h3{font-size:21px;margin-top:14px}.three p{font-size:14px;color:var(--muted)}.about{padding:70px 0;max-width:800px}.about p:not(.eyebrow){color:var(--muted)}footer{border-top:1px solid var(--line);padding:30px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px}footer small{color:var(--muted)}.skip{position:absolute;top:-100px;left:15px;background:white;padding:10px;z-index:5}.skip:focus{top:10px}[hidden]{display:none!important}#empty{padding:35px;background:#e9eee7}@media(max-width:700px){.wrap{width:calc(100% - 36px)}header{align-items:start;gap:20px}.brand b{font-size:12px}nav{gap:12px;font-size:12px;flex-wrap:wrap;justify-content:end}.hero{grid-template-columns:1fr;gap:35px;padding:42px 0 48px}h1{letter-spacing:-2px}.hero-card{min-height:270px;padding:28px}.hero-card h2{font-size:32px}.hero-card p{max-width:250px}.section-head{display:block}.section-head>p{text-align:left}.filters{flex-wrap:wrap;padding:15px;gap:12px}.filters label{min-width:0;flex:1 1 40%}.filters .search{flex-basis:100%}.event{gap:16px}.date{flex-basis:62px;height:95px}.date strong{font-size:34px}.event h3{font-size:22px}.three{grid-template-columns:1fr;gap:15px}.before{padding:45px 0}.about{padding:45px 0}footer{flex-direction:column}h2{font-size:30px}.notice{font-size:11px}.notice a{display:block;margin:5px 0 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.news{padding:0 0 75px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.news-card{background:#e8eee5;padding:25px;border-top:3px solid #75937d}.news-card .eyebrow{font-size:10px;letter-spacing:1.2px;color:#397466}.news-card h3{font-size:22px}.news-card p{font-size:14px;color:var(--muted)}.news-card .news-author{font-size:11px}.news-card a{display:block;font-size:12px;font-weight:bold;margin-top:12px}.news-card small{display:block;color:var(--muted);font-size:10px;margin-top:20px}@media(max-width:900px){.news-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.news-grid{grid-template-columns:1fr}.news .section-head>a{font-size:13px}}
.news-archive{margin-top:28px}.news-archive summary{cursor:pointer;padding:18px 22px;border:1px solid var(--line);font-weight:bold}.news-archive summary:focus-visible{outline:3px solid #237b8c;outline-offset:4px}
/* Palette verified from muaythaiontario.org. Independent typography and identity. */
:root{--ink:#151515;--paper:#fff;--muted:#555;--accent:#d11e23;--line:#dedede}
.notice{background:#151515}.notice a{color:#fff}.mark{background:#d11e23;color:#fff}.button{background:#d11e23;color:#fff}.button span{color:#fff}h1 em{color:#d11e23}.hero-card{background:#151515}.hero-card .eyebrow{color:#fff}.hero-card p:not(.eyebrow){color:#ddd}.outline-number{color:#303030}.ring i{background:#d11e23;opacity:.6}.filters,.date,.before,#empty{background:#f2f2f2}.three span,.event .eyebrow,.news-card .eyebrow{color:#b7191e}.news-card{background:#fafafa;border-top-color:#d11e23}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-card{min-width:0}.post-image{margin:0 0 18px}.post-image img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#eee}.post-image figcaption{font-size:11px;color:#555;margin-top:5px}.embed-box{margin:20px 0}.embed-target{overflow:auto;max-width:100%}.instagram-media{min-width:0!important;max-width:100%!important;width:100%!important}.embed-target iframe{max-width:100%!important}.load-embed,#archive-more{background:#151515;color:#fff;border:0;padding:13px 18px;font:700 13px Arial;cursor:pointer;min-height:44px}.load-embed:disabled{background:#555;cursor:default}.load-embed:focus-visible,#archive-more:focus-visible{outline:3px solid #d11e23;outline-offset:3px}.embed-notice{font-size:10px!important;margin-top:8px!important}.date-note{border-left:3px solid #d11e23;padding:10px;background:#fff1f1;font-size:12px!important}.archive-controls{padding:22px 0}.archive-controls input{width:100%;max-width:650px;margin-top:8px}.archive-controls label{font-size:14px}.archive-controls p,#archive-empty{font-size:13px;color:#555}#archive-more{margin-top:24px}.news-archive summary{background:#f5f5f5}a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#d11e23}@media(max-width:700px){.news-grid{grid-template-columns:1fr}.news-card{padding:18px}.embed-target{max-width:100%}}
.source-attribution{display:flex;gap:1.25rem;align-items:center;border:1px solid #ddd;background:#fff;padding:1rem;margin:1.2rem 0 1.8rem;border-radius:8px}.source-attribution img{width:154px;height:auto;max-width:100%}.source-attribution p{margin:0;font-size:.88rem}.source-attribution small{color:#4c5661}@media(max-width:540px){.source-attribution{align-items:flex-start;flex-direction:column;gap:.5rem}}

/* Calendar posters and persistent navigation, October 23, 2026. */
:root{--header-height:104px}html{scroll-padding-top:calc(var(--header-height) + 20px)}header.wrap{position:sticky;top:0;z-index:50;width:100%;padding:18px max(32px,calc((100% - 1160px)/2));background:#fff;box-shadow:0 4px 18px #0000000d}.skip{position:fixed;z-index:100}header nav a{display:flex;align-items:center;min-height:44px}.event{align-items:flex-start}.event-poster{flex:0 0 230px;max-width:230px;margin:0}.event-poster a{display:block;text-decoration:none;background:#f5f5f5;border:1px solid var(--line)}.event-poster img{display:block;width:100%;height:auto;max-height:310px;object-fit:contain}.event-poster a span{display:block;text-align:center;padding:9px;font-size:12px;font-weight:bold;color:#a91419}.event-poster figcaption{font-size:10px;color:#555;line-height:1.5;margin-top:7px}.event-poster a:hover{border-color:var(--accent)}@media(max-width:800px){header.wrap{padding:12px 18px;gap:12px;align-items:center}header nav{gap:12px}header nav a{min-height:38px}.event{flex-wrap:wrap}.event-poster{margin-left:102px;flex-basis:calc(100% - 102px);max-width:420px}.event-body{flex-basis:calc(100% - 120px)}}@media(max-width:700px){.event-poster{margin-left:78px;flex-basis:calc(100% - 78px)}.event-body{flex-basis:calc(100% - 80px)}}@media(max-width:540px){header.wrap{flex-wrap:wrap;gap:5px}.brand{font-size:10px}.brand b{font-size:12px}header nav{width:100%;justify-content:space-between;gap:8px;font-size:12px}header nav a{min-height:36px}.event-poster{margin-left:0;flex-basis:100%;max-width:100%}.event-poster img{max-height:400px}.event-body{flex-basis:calc(100% - 80px)}}
