/* ORCi Stock Rods - light, editorial layout. Mobile first. */
:root{
  --ink:#10131a;
  --ink-2:#2a303c;
  --paper:#f6f3ee;
  --white:#fff;
  --accent:#ff5a1f;
  --accent-dark:#d94610;
  --line:#ded9d0;
  --muted:#6b6f78;
  --rail:260px;
  --bs-body-bg:var(--paper);
  --bs-body-color:var(--ink);
  --bs-link-color:var(--accent-dark);
  --bs-link-hover-color:var(--ink);
}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:1.0625rem;line-height:1.6;background:var(--paper);color:var(--ink)}
h1,h2,h3,h4{font-family:'Archivo',sans-serif;font-weight:900;letter-spacing:-.02em;line-height:1}
a{text-decoration:none}

/* ---------- Mobile top bar ---------- */
.topbar{position:sticky;top:0;z-index:1030;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:.55rem 1rem}
.topbar img{height:44px;width:auto}
.topbar .menu-btn{background:var(--accent);color:#fff;border:0;border-radius:0;padding:.45rem .8rem;font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}
.offcanvas{background:var(--ink);color:#fff}
.offcanvas .nav-link{font-family:'Archivo',sans-serif;font-weight:900;font-size:2rem;text-transform:uppercase;color:#fff;padding:.35rem 0;letter-spacing:-.01em}
.offcanvas .nav-link:hover{color:var(--accent)}

/* ---------- Menu: the top bar with a Menu button at every width (the old fixed left rail is gone) ---------- */
.rail{display:none}
@media(min-width:992px){
  .topbar{padding:.75rem 2rem}
  .topbar img{height:52px}
  .offcanvas.offcanvas-end{width:420px}
}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;background:#000;color:#fff;overflow:hidden}
.hero .carousel{position:absolute;inset:0}
.hero .carousel-inner,.hero .carousel-item{height:100%}
.hero .carousel-item img{width:100%;height:100%;object-fit:cover;opacity:.8}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,19,26,.15) 0%,rgba(16,19,26,.1) 40%,rgba(16,19,26,.92) 100%);pointer-events:none;z-index:1}
.hero-inner{position:relative;z-index:2;width:100%;padding:3rem 1.25rem 6.5rem;pointer-events:none}
.hero-inner>*{pointer-events:auto}
.hero .carousel-control-prev,.hero .carousel-control-next{z-index:4;width:14%;max-width:90px;opacity:.9}
.hero .carousel-control-prev-icon,.hero .carousel-control-next-icon{width:3rem;height:3rem;background-color:var(--accent);background-size:55%;background-position:center}
.hero .carousel-control-prev:hover .carousel-control-prev-icon,.hero .carousel-control-next:hover .carousel-control-next-icon{background-color:var(--accent-dark)}
.hero .carousel-indicators{z-index:4;justify-content:flex-end;margin:0 1.25rem 1.25rem;gap:0}
.hero .carousel-indicators [data-bs-target]{width:28px;height:5px;border:0;margin:0 .2rem;background-color:#fff;opacity:.45;border-radius:0}
.hero .carousel-indicators .active{background-color:var(--accent);opacity:1}
@media(max-width:575.98px){.hero .carousel-control-prev,.hero .carousel-control-next{top:auto;bottom:1.1rem;height:3rem;width:3rem}.hero .carousel-control-prev{left:1.25rem}.hero .carousel-control-next{left:4.5rem;right:auto}.hero .carousel-indicators{display:none}}
@media(min-width:992px){.hero-inner{padding:4rem 3.5rem 7.5rem}}

/* ---------- Next meeting overlap card ---------- */
.next-card{position:relative;z-index:5;margin:-4.5rem 1.25rem 0;background:var(--white);border-top:6px solid var(--accent);box-shadow:0 18px 40px rgba(16,19,26,.18);padding:1.25rem 1.25rem 1.4rem}
.next-card .label{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--accent-dark)}
.next-card h2{font-size:clamp(1.9rem,7vw,3rem);margin:.25rem 0 .15rem;text-transform:uppercase}
.next-card .when{color:var(--muted);font-weight:600}
@media(min-width:992px){.next-card{margin:-5rem 3.5rem 0;max-width:640px;padding:1.6rem 1.8rem}}

/* ---------- Generic section ---------- */
.blk{padding:3.5rem 1.25rem}
@media(min-width:992px){.blk{padding:5rem 3.5rem}}
.blk-title{display:flex;align-items:baseline;gap:1rem;margin-bottom:2rem}
.blk-title h2{font-size:clamp(2.2rem,8vw,4rem);text-transform:uppercase;margin:0}
.blk-title .more{margin-left:auto;font-weight:700;font-size:.95rem;white-space:nowrap;color:var(--ink);border-bottom:2px solid var(--accent)}
.blk-title .more:hover{color:var(--accent-dark)}
.num{font-family:'Archivo',sans-serif;font-weight:900;color:var(--accent);font-size:1rem;letter-spacing:.08em}

/* ---------- Fixtures timeline ---------- */
.fixtures{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.fixture{display:grid;grid-template-columns:78px 1fr auto;gap:1rem;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--line);color:var(--ink);transition:background .15s,padding .15s}
.fixture:hover{background:var(--white);padding-left:.75rem;padding-right:.75rem;color:var(--ink)}
.fixture .day{font-family:'Archivo',sans-serif;font-weight:900;font-size:2.6rem;line-height:.9;text-align:center}
.fixture .day small{display:block;font-size:.8rem;letter-spacing:.1em;color:var(--accent-dark);text-transform:uppercase}
.fixture h3{font-size:1.6rem;margin:0 0 .15rem;text-transform:uppercase}
.fixture .meta{color:var(--muted);font-size:.95rem}
.fixture .time{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.1rem;background:var(--ink);color:#fff;padding:.35rem .7rem}
@media(max-width:575.98px){.fixture{grid-template-columns:64px 1fr}.fixture .time{display:none}.fixture .day{font-size:2.2rem}}

/* ---------- Editorial news ---------- */
.news-feature{display:grid;gap:0;background:var(--ink);color:#fff;margin-bottom:1.25rem}
.news-feature .pic{aspect-ratio:16/10;background:#fff;display:flex;align-items:center;justify-content:center}
.news-feature .pic img{max-width:55%;max-height:70%}
.news-feature .txt{padding:1.5rem}
.news-feature h3{font-size:clamp(1.9rem,6vw,2.8rem);text-transform:uppercase;margin:.3rem 0 .6rem}
.news-feature h3 a{color:#fff}
.news-feature h3 a:hover{color:var(--accent)}
.news-feature p{color:#c9ced8;margin:0 0 1rem}
.news-date{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700}
.btn-rod{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:0;font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:.7rem 1.4rem;font-size:.95rem}
.btn-rod:hover{background:var(--white);color:var(--ink)}
.news-row{display:flex;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line);color:var(--ink)}
.news-row .thumb{flex:none;width:88px;height:88px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.news-row .thumb img{max-width:80%;max-height:80%}
.news-row h3{font-size:1.35rem;margin:.1rem 0 .2rem;text-transform:uppercase}
.news-row:hover h3{color:var(--accent-dark)}
@media(min-width:768px){.news-feature{grid-template-columns:1.1fr 1fr}.news-feature .pic{aspect-ratio:auto;min-height:320px}.news-feature .txt{padding:2.25rem;display:flex;flex-direction:column;justify-content:center}}

/* ---------- Winners strip ---------- */
.winners-wrap{background:var(--ink);color:#fff}
.winners-wrap .blk-title .more{color:#fff}
.strip{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;margin:0 -1.25rem;padding-left:1.25rem;padding-right:1.25rem;-webkit-overflow-scrolling:touch}
@media(min-width:992px){.strip{margin:0 -3.5rem;padding-left:3.5rem;padding-right:3.5rem}}
.strip::-webkit-scrollbar{height:6px}
.strip::-webkit-scrollbar-thumb{background:var(--accent)}
.win{flex:0 0 78%;max-width:340px;scroll-snap-align:start;color:#fff}
.win .shot{aspect-ratio:4/5;background:#222 center/cover;border:3px solid #fff;margin-bottom:.6rem}
.win .shot img{width:100%;height:100%;object-fit:cover;display:block}
.win .cap{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;font-size:1.1rem}
.win .cap small{display:block;color:var(--accent);font-size:.75rem;letter-spacing:.1em}
@media(min-width:768px){.win{flex-basis:300px}}

/* ---------- Honours/World Championship band ---------- */
.band{background:var(--accent);color:var(--ink)}
.band .inner{display:grid;gap:1.25rem;align-items:center}
.band h2{font-size:clamp(2.4rem,9vw,5rem);text-transform:uppercase;margin:0}
.band p{font-size:1.15rem;margin:0;max-width:30rem;font-weight:500}
.band .btn-ink{display:inline-block;background:var(--ink);color:#fff;font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;padding:.8rem 1.6rem;letter-spacing:.05em}
.band .btn-ink:hover{background:#fff;color:var(--ink)}
@media(min-width:992px){.band .inner{grid-template-columns:1fr auto}}

/* ---------- Footer ---------- */
.foot{background:var(--ink);color:#9aa0ab;padding:2rem 1.25rem;font-size:.9rem;border-top:6px solid var(--accent)}
.foot a{color:#cfd3db}
.foot a:hover{color:var(--accent)}
.foot img{height:44px;margin-bottom:.8rem}
@media(min-width:992px){.foot{padding:2.5rem 3.5rem}}

:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---- additions for the Telos CMS build ---- */
.menu-links a{display:flex;align-items:center;justify-content:space-between;color:#cfd3db;font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase}
.rail nav a{font-size:1.15rem;padding:.7rem 0;border-bottom:1px solid #262c38;transition:color .15s,padding-left .15s}
.rail nav a::after{content:"\F138";font-family:"bootstrap-icons";opacity:0;color:var(--accent);transition:opacity .15s}
.rail nav a:hover,.rail nav a.active{color:#fff;padding-left:.4rem}
.rail nav a:hover::after,.rail nav a.active::after{opacity:1}
.offcanvas .menu-links a{font-size:2rem;padding:.35rem 0;color:#fff;letter-spacing:-.01em}
.offcanvas .menu-links a:hover{color:var(--accent)}
.announcement-bar{background:var(--accent);color:#fff;text-align:center;padding:.5rem 1rem;font-weight:600}
.announcement-bar a{color:#fff;text-decoration:underline}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:2000;background:var(--ink);color:#fff;padding:1rem 0;border-top:4px solid var(--accent)}
.cookie-banner a{color:#fff;text-decoration:underline}
.btn-ink{display:inline-block;background:var(--ink);color:#fff;border:0;font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;padding:.7rem 1.4rem;letter-spacing:.05em;font-size:.95rem}
.btn-ink:hover{background:#fff;color:var(--ink)}
.cookie-banner .btn-ink{background:#fff;color:var(--ink)}
.news-list--plain{border-top:3px solid var(--ink)}
.news-row .news-text{display:block}
.news-list>.news-row:first-child{display:grid;gap:0;background:var(--ink);color:#fff;margin-bottom:1.25rem;border:0;padding:0}
.news-list>.news-row:first-child .thumb{width:100%;height:auto;aspect-ratio:16/10;border:0}
.news-list>.news-row:first-child .thumb img{max-width:55%;max-height:70%}
.news-list>.news-row:first-child .news-text{padding:1.5rem}
.news-list>.news-row:first-child h3{font-size:clamp(1.9rem,6vw,2.8rem);color:#fff}
.news-list>.news-row:first-child .text-secondary{color:#c9ced8!important}
@media(min-width:768px){.news-list>.news-row:first-child{grid-template-columns:1.1fr 1fr}.news-list>.news-row:first-child .thumb{aspect-ratio:auto;min-height:320px}.news-list>.news-row:first-child .news-text{padding:2.25rem;display:flex;flex-direction:column;justify-content:center}}
.news-list--plain>.news-row:first-child{display:flex;background:none;color:var(--ink);margin:0;padding:1rem 0;border-bottom:1px solid var(--line)}
.news-list--plain>.news-row:first-child .thumb{width:88px;height:88px;aspect-ratio:auto;min-height:0;border:1px solid var(--line)}
.news-list--plain>.news-row:first-child .thumb img{max-width:80%;max-height:80%}
.news-list--plain>.news-row:first-child .news-text{padding:0;display:block}
.news-list--plain>.news-row:first-child h3{font-size:1.35rem;color:var(--ink)}
.news-list--plain>.news-row:first-child .text-secondary{color:var(--bs-secondary-color)!important}
.news-row .news-text .text-secondary{display:block}
.years{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem}
.year{display:inline-block;padding:.3rem .9rem;border:2px solid var(--ink);color:var(--ink);font-family:'Archivo',sans-serif;font-weight:900}
.year:hover,.year[aria-current=true]{background:var(--ink);color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}
.win--grid{flex:none;max-width:none;color:var(--ink)}
.win--grid .cap small{color:var(--accent-dark)}
.article-body{overflow-wrap:anywhere}
.article-body img{max-width:100%;height:auto}
.article-body table{width:100%;margin:1rem 0;border-collapse:collapse}
.article-body th,.article-body td{padding:.5rem .75rem;border-bottom:1px solid var(--line);text-align:left}
.article-body thead th{background:var(--ink);color:#fff}
.article .crumb{margin-bottom:1rem}
.lead{font-size:1.15rem}
.cal-feed{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.pagination .page-link{border-radius:0;color:var(--ink);border-color:var(--line)}
.pagination .active .page-link,.pagination .page-item.active .page-link{background:var(--ink);border-color:var(--ink);color:#fff}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}
.share__label{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;margin-right:.5rem}
.share__btn{display:inline-flex;padding:.35rem .9rem;border:2px solid var(--ink);background:#fff;color:var(--ink);font-weight:600}
.share__btn:hover{background:var(--ink);color:#fff}
.share__btn[hidden]{display:none}
.share__btn i{display:none}
.hero .eyebrow{display:inline-block;font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;color:var(--accent);margin-bottom:.8rem}
.hero h1{font-size:clamp(3.2rem,12vw,8rem);text-transform:uppercase;margin:0 0 1rem;line-height:.92}
.hero h1 .outline{color:transparent;-webkit-text-stroke:2px #fff}
.hero p{max-width:34rem;font-size:1.15rem;color:#e6e9ef;margin:0}

/* Month calendar on the Meetings page ({{{calendar.fixtures}}}) */
.fixture-cal{margin:0 0 2.2rem}
.cal__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .8rem}
.cal__title{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.6rem;margin:0;text-transform:uppercase}
.cal__nav{display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;min-height:2.6rem;background:var(--ink);color:#fff;text-decoration:none;font-size:1.2rem}
.cal__nav:hover{background:var(--accent);color:#fff}
.cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--white)}
.cal__dow{background:var(--ink);color:#fff;font:800 .8rem 'Archivo',sans-serif;text-align:center;padding:.45rem 0;text-transform:uppercase;letter-spacing:.08em}
.cal__day{min-height:5.2rem;padding:.3rem .4rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.78rem;min-width:0}
.cal__day--other{background:var(--paper);color:#b5b1a8}
.cal__day--today{box-shadow:inset 0 0 0 2px var(--accent)}
.cal__num{display:block;font-weight:800;color:var(--muted);margin-bottom:.15rem}
.cal__day--today .cal__num{color:var(--accent-dark)}
.cal__event{display:block;background:var(--accent);color:#fff;padding:.12rem .35rem;margin:.12rem 0;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.cal__event:hover{background:var(--ink);color:#fff}
.cal__event--cancelled,.cal__event--postponed{background:var(--muted);text-decoration:line-through}
.cal-list-title{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;margin:0 0 .6rem}
@media (max-width:760px){.cal__day{min-height:3.4rem;padding:.2rem .25rem;font-size:.66rem}.cal__event{font-size:.62rem;padding:.08rem .2rem}.cal__dow{font-size:.68rem}}