/* ═══ Public website (uses the Mk2 tokens from hub.css) ═══ */
html{scroll-behavior:smooth;scroll-padding-top:96px}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px;width:100%}
body.site main{flex:1}
.btn--lg{padding:14px 26px;font-size:1rem}
.btn--yellow{background:var(--yellow);border-color:var(--yellow);color:var(--navy-2)}
.btn--yellow:hover{background:#fff;border-color:#fff;color:var(--navy-2)}
.btn--ghost{background:transparent;border-color:rgba(255,255,255,.75);color:#fff}
.btn--ghost:hover{background:#fff;color:var(--navy-2)}

/* Hero */
.hero{position:relative;color:#fff;background:linear-gradient(180deg,rgba(20,42,82,.55),rgba(20,42,82,.82) 60%,rgba(14,30,62,.96)),var(--hero,none) center/cover,var(--navy-2);padding:110px 0 120px}
.hero-in{max-width:1240px;margin:0 auto;padding:0 24px}
.hero-badge{display:inline-block;background:var(--yellow);color:var(--navy-2);font-weight:800;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:99px}
.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:18px 0 14px;max-width:16ch}
.hero h1 span{color:var(--yellow)}
.hero p{font-size:1.15rem;color:#DCE5F6;max-width:56ch;margin:0}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* Stats band overlaps the hero */
.band--auto{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:-56px 0 0;position:relative;z-index:2}

/* Sections */
.blk{padding:72px 0}
.blk--alt{background:#fff;border-block:1px solid var(--line)}
.blk-head{max-width:760px;margin:0 0 34px}
.eyebrow{display:block;color:var(--red);font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.blk-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem);color:var(--navy);letter-spacing:-.01em}
.blk-head h2 em{font-style:normal;color:var(--red)}
.blk-head p{color:var(--muted);font-size:1.05rem;margin:12px 0 0}
.blk-empty{text-align:center;color:var(--muted)}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:20px}
.card-s{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:24px;transition:transform .2s,box-shadow .2s}
.card-s:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(20,42,82,.12)}
.card-s h3{font-size:1.15rem;color:var(--navy);margin:14px 0 6px}
.card-s p{margin:0;color:var(--muted)}
.ico{width:48px;height:48px;border-radius:12px;background:var(--navy);color:var(--yellow);display:grid;place-items:center;font-size:24px}
.card-s--img{padding:0;overflow:hidden}
.card-s--img h3{margin-top:0}
.card-img{aspect-ratio:16/10;background:linear-gradient(120deg,var(--navy-2),var(--navy));display:grid;place-items:center;color:rgba(255,255,255,.35);font-size:56px;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.card-s:hover .card-img img{transform:scale(1.04)}
.card-b{padding:20px 22px 24px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px!important}
.tags span{background:#FBE4E5;color:#9A1B20;border:1px solid #F3C1C3;border-radius:99px;padding:2px 10px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ev-when{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px!important;font-size:.9rem}
.ev-row{display:flex;gap:16px;align-items:flex-start}
.ev-row h3{margin-top:0}
.ev-date{flex:0 0 62px;background:var(--navy);color:#fff;border-radius:10px;text-align:center;padding:8px 0}
.ev-date b{display:block;font-size:1.5rem;line-height:1}
.ev-date span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow)}

/* Call to action */
.cta{background:linear-gradient(120deg,var(--navy-2),var(--navy));color:#fff;text-align:center;padding:72px 0}
.cta h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
.cta p{color:#C9D4EA;margin:10px 0 0;font-size:1.1rem}
.cta .hero-cta{justify-content:center}

/* Footer */
.sfoot{background:var(--navy-2);color:#C9D4EA;padding:40px 0}
.sfoot .in{max-width:1240px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.sfoot .foot-logo{height:72px;margin-bottom:8px}
.sfoot p{margin:6px 0 0;font-size:.85rem}
.sfoot-links{display:flex;gap:18px;flex-wrap:wrap}
.sfoot-links a{color:#fff;text-decoration:none;font-weight:700;font-size:.9rem}
.sfoot-links a:hover{color:var(--yellow)}
.maint-word{font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.01em}.maint-word b{color:var(--yellow)}

/* Inner pages */
.page-head{background:linear-gradient(120deg,var(--navy-2),var(--navy));color:#fff;padding:56px 0 48px}
.page-head h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.01em}
.page-head p{color:#C9D4EA;max-width:60ch;margin:10px 0 0;font-size:1.05rem}
.page-body{padding:40px 0 64px}
.prose{max-width:760px;font-size:1.02rem}
.prose h2{font-size:1.3rem;color:var(--navy);margin:28px 0 8px}
.prose p{margin:0 0 14px}

/* Maintenance */
body.maint{display:grid;place-items:center;min-height:100vh;padding:24px;background:linear-gradient(120deg,var(--navy-2),var(--navy))}
.maint-card{background:#fff;border-radius:16px;padding:44px 40px;max-width:560px;width:100%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.maint-card .maint-word{color:var(--navy)}
.maint-card .maint-word b{color:var(--red)}
.maint-logo{max-height:90px;margin-bottom:10px}
.maint-card h1{color:var(--navy);margin:14px 0 10px}
.maint-card p{color:var(--muted)}
.maint-eta{display:inline-block;background:#FFF1B8;color:#6B5100!important;font-weight:800;padding:8px 16px;border-radius:8px;margin-top:10px}
.maint-card small{display:block;margin-top:24px;color:#8591A8}

/* Reveal on scroll */
.rv{opacity:0;transform:translateY(14px);transition:opacity .45s,transform .45s}.rv.in{opacity:1;transform:none}

@media(max-width:980px){.hero{padding:80px 0 96px}.menu .top{width:100%}}
@media(max-width:620px){.blk{padding:52px 0}.band--auto{margin-top:-40px}.sfoot .in{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none}}
.eyebrow--y{color:var(--yellow)}
.page-head h1 span{color:var(--yellow)}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.team-card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;text-align:center}
.team-top{background:linear-gradient(120deg,var(--navy-2),var(--navy));padding:28px 0 0;height:96px;position:relative}
.team-avatar{width:104px;height:104px;border-radius:50%;object-fit:cover;border:4px solid #fff;position:absolute;left:50%;bottom:-52px;transform:translateX(-50%);background:var(--page)}
.team-avatar--ph{display:grid;place-items:center;background:var(--yellow);color:var(--navy-2);font-size:2.4rem;font-weight:800}
.team-body{padding:66px 20px 24px}
.team-name{font-size:1.15rem;font-weight:800;color:var(--navy)}
.team-call{font:600 .8rem var(--mono);color:var(--muted);margin-top:2px}
.team-role{color:var(--red);font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-top:6px}
.team-bio{color:var(--muted);font-size:.92rem;margin-top:12px}
.team-since{color:var(--muted);font-size:.8rem;margin-top:12px}
.partner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:20px}
.partner-card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.partner-top{display:flex;gap:16px;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}
.partner-logo{width:64px;height:64px;border-radius:12px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;overflow:hidden;flex-shrink:0}
.partner-logo img{max-width:100%;max-height:100%;object-fit:contain;padding:4px}
.partner-logo--ph{background:var(--navy);color:var(--yellow);font-weight:800;font-size:1.2rem}
.partner-name{font-size:1.2rem;font-weight:800;color:var(--navy)}
.partner-tag{color:var(--muted);font-size:.92rem}
.partner-b{padding:20px 24px;flex:1}
.partner-b p{margin:0 0 14px;color:var(--text)}
.points{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.points li{display:flex;gap:10px;align-items:flex-start}
.points li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);margin-top:.55em;flex-shrink:0}
.partner-f{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.partner-f span{color:var(--muted);font-size:.85rem}
.prose ul{margin:0 0 14px;padding-left:22px}.prose li{margin:4px 0}.prose h3{font-size:1.05rem;color:var(--navy);margin:18px 0 6px}
.rm{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:stretch}
.rm-side{display:flex;flex-direction:column;max-height:640px}
.rm-tools{padding:14px}
.rm-filters{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px;border-bottom:1px solid var(--line)}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);color:var(--navy);border-radius:99px;padding:4px 12px;font:700 .8rem var(--font);cursor:pointer}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.rm-list{overflow:auto;flex:1}
.rm-item{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 16px;cursor:pointer;font:inherit;color:var(--text)}
.rm-item:hover,.rm-item.on{background:#FFF8D6}
.rm-item[hidden]{display:none}
.rm-item b{color:var(--navy)}.rm-item small{display:block;color:var(--muted);font-size:.8rem}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-top:.4em;flex-shrink:0}
.dot--current{background:#D1242B}.dot--seasonal{background:#1E8A4C}.dot--historic{background:#7B5CC9}
.rm-map{min-height:520px;overflow:hidden}
#map{height:100%;min-height:520px;width:100%}
.rm-lab{font:800 11px var(--font);color:var(--navy);text-shadow:0 0 3px #fff,0 0 3px #fff;white-space:nowrap}
.rm-key{margin-top:12px;display:flex;gap:16px;align-items:center}.rm-key .dot{margin:0 4px 0 0}
@media(max-width:900px){.rm{grid-template-columns:1fr}.rm-side{max-height:360px}.rm-map,#map{min-height:380px}}
/* Sarnia page */
.hero--plain{padding:90px 0}
.pills{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pills li{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:6px 14px;font-weight:700;font-size:.88rem}
.pills i{color:var(--yellow)}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.h2{font-size:clamp(1.7rem,3.2vw,2.4rem);color:var(--navy);margin:0 0 14px}.h2 em{font-style:normal;color:var(--red)}
.h2--w{color:#fff}.h2--w em{color:var(--yellow)}
.lead{color:var(--muted);font-size:1.02rem;margin:0 0 14px}.lead--w{color:#C9D4EA}
.row-card{display:flex;gap:16px;align-items:flex-start;padding:18px 20px}.row-card h3{margin:0 0 4px}.row-card .ico{flex-shrink:0}
.grid4{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px}
.grid4 .card-s h3{margin:0 0 6px}.grid4 .card-s p{margin-bottom:12px;font-size:.92rem}
.efb{background:linear-gradient(120deg,var(--navy-2),var(--navy));color:#fff;padding:72px 0}
.efb-list{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:14px}
.efb-list li{display:flex;gap:14px;align-items:flex-start}
.efb-list b{display:block;font-size:.95rem}.efb-list span{color:#C9D4EA;font-size:.88rem}
.ico--y{background:rgba(247,200,0,.15);color:var(--yellow);width:40px;height:40px;font-size:20px;flex-shrink:0}
.ipad{background:#0b1830;border-radius:34px;padding:16px;max-width:420px;justify-self:center;box-shadow:0 20px 60px rgba(0,0,0,.4);border:2px solid #2a3c63;width:100%}
.ipad-screen{background:linear-gradient(160deg,#1f4f9a,#122a52);border-radius:22px;padding:14px;aspect-ratio:4/3.4}
.ipad-bar{display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#C9D4EA;margin-bottom:14px}
.ipad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ipad-grid div{text-align:center}.ipad-grid span{display:block;aspect-ratio:1;border-radius:14px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.2)}
.ipad-grid small{display:block;font-size:.62rem;color:#fff;margin-top:4px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.gal-i{position:relative;padding:0;border:0;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--navy-2);aspect-ratio:4/3}
.gal-i img{width:100%;height:100%;object-fit:cover;display:block}
.gal-i span{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(14,30,62,.9));color:#fff;padding:22px 12px 10px;font-size:.85rem;text-align:left}
.lightbox{position:fixed;inset:0;background:rgba(8,18,40,.92);display:grid;place-items:center;z-index:200;padding:24px}
.lightbox[hidden]{display:none}.lightbox img{max-width:100%;max-height:100%;border-radius:10px}
.lightbox-x{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer}
@media(max-width:900px){.two-col{grid-template-columns:1fr;gap:32px}}
