/* Shared presentation for the homepage and contact page. */
.modern-site {font:16px/1.7 Arial,Helvetica,sans-serif;color:#263c48;text-align:left;background:#f7f9fa;}
.modern-site * {box-sizing:border-box;}
.modern-site .zerogrid {width:min(1120px,calc(100% - 40px));}
.modern-site a:focus-visible,.modern-site button:focus-visible {outline:3px solid #d77a27;outline-offset:4px;}
.modern-site .site-header {height:auto;margin:0;background:#fff;border-bottom:1px solid #e2e8eb;}
.modern-site .header-inner {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;}
.brand img {width:200px;height:auto;}
.header-actions {display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.phone {font-size:20px;font-weight:bold;color:#173e51;}
.language {font-size:14px;text-decoration:underline;}
.modern-site a.button-primary,.modern-site a.button-secondary {display:inline-block;padding:13px 22px;border-radius:8px;font-weight:bold;line-height:1.4;text-decoration:none;}
.modern-site a.button-primary {background:#17647a;color:white;}
.modern-site a.button-primary:hover {background:#114d60;}
.modern-site a.button-secondary {border:1px solid #a9bdc7;color:#173e51;background:white;}
.modern-site nav {background:#fff;margin:0;border:0;}
.modern-site nav .wrap-nav {background:none;padding:8px 0;}
.modern-site nav .menu ul li a {color:#263c48;font-size:13px;padding:12px 16px;}
.modern-site nav .menu ul li a:hover {background:#eaf2f5;}
.hero {padding:70px 0;background:linear-gradient(125deg,#edf5f6,#fff);border-bottom:1px solid #e2e8eb;}
.eyebrow {font-size:12px;font-weight:bold;letter-spacing:2px;color:#17647a;margin-bottom:16px;}
.modern-site h1 {font-size:clamp(30px,4vw,49px);line-height:1.15;letter-spacing:-1px;color:#153b4e;font-weight:bold;margin-bottom:22px;}
.hero-description {max-width:680px;font-size:20px;line-height:1.6;}
.hero-actions {display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 18px;}
.hero-note {font-size:14px;color:#526b77;}
.services {display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:32px 0;}
.services article,.contact-card,.form-card {background:white;padding:28px;border:1px solid #e0e8ec;border-radius:12px;}
.modern-site h2 {font-size:23px;line-height:1.3;font-weight:bold;color:#153b4e;margin-bottom:12px;}
.modern-site #content .wrap-content {background:#fff;padding:24px;border-radius:12px;}
.modern-site #content article p {margin-bottom:16px;}
.modern-site #content article h3 {font-size:24px;line-height:1.4;color:#153b4e;}
.contact-main {padding:48px 0 64px;}
.contact-intro {max-width:760px;margin-bottom:32px;}
.contact-layout {display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start;}
.contact-card {background:#edf5f6;}
.contact-phone {display:block;font-size:26px;font-weight:bold;margin:20px 0 8px;color:#153b4e;}
.contact-email {display:block;text-decoration:underline;overflow-wrap:anywhere;margin-bottom:22px;}
.contact-card h3 {font-size:18px;font-weight:bold;margin:24px 0 12px;}
.contact-card ul {list-style:disc;padding-left:20px;}
.form-card {scroll-margin-top:20px;min-width:0;}
.form-card iframe {max-width:100%;width:100%;}
.form-fallback {font-size:14px;margin-top:20px;}
.form-fallback a {text-decoration:underline;}
.modern-site .site-footer {padding:30px 0;background:#153b4e;color:#fff;}
.site-footer a {color:#fff;text-decoration:underline;}
@media(max-width:767px){
 .modern-site .zerogrid {width:calc(100% - 32px);}
 .modern-site .header-inner {align-items:flex-start;flex-direction:column;gap:16px;padding:18px 0;}
 .header-actions {gap:12px;width:100%;}
 .header-actions .button-primary {padding:10px 14px;}
 .header-actions .language {margin-left:auto;}
 .hero {padding:40px 0;}
 .hero-description {font-size:18px;}
 .hero-actions {flex-direction:column;align-items:stretch;}
 .hero-actions a {text-align:center;}
 .services,.contact-layout {grid-template-columns:1fr;}
 .services {padding:24px 0;gap:12px;}
 .services article,.contact-card,.form-card {padding:22px;}
 .contact-main {padding-top:32px;}
 .modern-site nav .minimenu {display:block;}
 .modern-site nav select {max-width:100%;font:inherit;padding:10px;}
 .modern-site #content .wrap-content {padding:14px;}
}

.modern-site nav .wrap-nav {min-height:54px;}
.modern-site nav .menu {float:none;display:block;}
.modern-site nav .menu ul {display:flex;flex-wrap:wrap;justify-content:center;}
.modern-site nav .menu ul li {float:none;margin:0;}
.modern-site nav .minimenu {display:none;}
@media(max-width:767px){
 .modern-site nav .menu {display:none;}
 .modern-site nav .minimenu {display:block;float:none;width:100%;}
 .modern-site nav .minimenu>div {display:none;}
 .modern-site nav .minimenu select {display:block;width:100%;height:auto;background:#edf5f6;color:#263c48;border:1px solid #c6d5dc;border-radius:6px;}
}

@media(max-width:767px){.modern-site nav .minimenu select{position:static;opacity:1;filter:none;}.modern-site nav .minimenu{background:transparent;border:0;}}

.page-intro {padding:36px 0;background:#edf5f6;border-bottom:1px solid #dbe6eb;}
.breadcrumb {display:inline-block;font-size:14px;text-decoration:underline;margin-bottom:16px;}
.page-intro h1 {max-width:900px;font-size:clamp(28px,3.5vw,42px);}
.interior-page #content {padding:28px 0;}
.modern-site img {max-width:100%;height:auto;}
.interior-page #content iframe {max-width:100%;}
.interior-page #content table {max-width:100%;}
@media(max-width:767px){.interior-page #content table{display:block;overflow-x:auto;}.interior-page #content .col-1-2,.interior-page #content .col-1-3,.interior-page #content .col-2-3{width:100%;float:none;}.page-intro{padding:28px 0;}}

.provincial-nav{display:flex;gap:24px;padding:16px 0;flex-wrap:wrap;}.legacy-content{padding:32px 0;}.legacy-content section{display:block;background:#fff;border:1px solid #e0e8ec;border-radius:12px;padding:28px;margin-bottom:20px;}.legacy-content p{margin-bottom:16px;}.legacy-content ul{list-style:disc;padding-left:24px;margin-bottom:20px;}.legacy-content a{text-decoration:underline;}

.directory-main{padding:40px 0 64px;}.directory-search{padding:24px;background:#edf5f6;border-radius:12px;margin:28px 0;}.directory-search label{display:block;font-weight:bold;margin-bottom:8px;}.search-controls{display:flex;gap:12px;}.directory-search input{width:100%;min-width:0;font:inherit;padding:14px;border:1px solid #8ea9b6;border-radius:8px;background:#fff;}.directory-search button{font:inherit;padding:10px 16px;background:#fff;border:1px solid #8ea9b6;border-radius:8px;cursor:pointer;}.directory-search [hidden],.activity-grid [hidden],#no-activities[hidden]{display:none;}#activity-count{font-size:14px;margin-top:10px;}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.activity-grid a{display:block;height:100%;padding:18px;background:#fff;border:1px solid #dce5e9;border-radius:8px;color:#173e51;overflow-wrap:anywhere;}.activity-grid a:hover{border-color:#17647a;background:#edf5f6;}.directory-help{padding:28px;background:#edf5f6;border-radius:12px;margin-top:32px;}.directory-help p{margin-bottom:16px;}@media(max-width:767px){.activity-grid{grid-template-columns:1fr;}.search-controls{flex-wrap:wrap;}.directory-search{padding:18px;}}

.directory-prompt{padding-top:24px;}

.skip-link{position:fixed;top:12px;left:12px;z-index:100000;padding:12px 18px;background:#fff;color:#173e51;border:2px solid #17647a;border-radius:6px;transform:translateY(-200%);font-weight:bold;}
.skip-link:focus{transform:translateY(0);outline:3px solid #f4b942;outline-offset:3px;}

/* Keep keyboard focus visible on form controls despite the legacy reset. */
.modern-site input:focus-visible,.modern-site textarea:focus-visible,.modern-site select:focus-visible{outline:3px solid #17647a;outline-offset:3px;}
@media (forced-colors:active){.modern-site :is(a,button,input,textarea,select):focus-visible{outline:3px solid Highlight;}}

.contact-form-shortcut{margin-top:20px;}

.form-card:focus-visible{outline:3px solid #17647a;outline-offset:4px;}

.on-demand-form{padding:20px;border:1px solid #c6d5dc;border-radius:8px;background:#edf5f6;margin:16px 0;}.on-demand-form p{margin-bottom:14px;}.load-budget-form{font:inherit;padding:12px 18px;border:0;border-radius:6px;background:#17647a;color:#fff;cursor:pointer;}.on-demand-form iframe{width:100%;max-width:100%;}.on-demand-form a{text-decoration:underline;}

.gym-guide{padding:28px 0;}.gym-technical .technical-index{background:#edf5f6;padding:20px;border-radius:10px;margin:22px 0;}.gym-technical .technical-index ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0;}.gym-technical .technical-index a{display:block;text-decoration:underline;padding:6px;color:#173e51;}.gym-technical h2{scroll-margin-top:24px;margin-top:30px;}.gym-technical .technical-table{overflow-x:auto;}.gym-technical .technical-table table{width:100%;border-collapse:collapse;}.gym-technical .technical-table th,.gym-technical .technical-table td{padding:14px;border:1px solid #c6d5dc;vertical-align:top;text-align:left;}.gym-technical .technical-table th{background:#edf5f6;font-weight:bold;}.gym-technical caption{text-align:left;padding:12px 0;font-weight:bold;}.technical-date{font-size:14px;margin-top:18px;color:#526b77;}@media(max-width:767px){.gym-technical .technical-index ul{grid-template-columns:1fr;}.gym-technical .technical-table table{min-width:620px;}}

.gym-technical .technical-block{display:block;padding:24px;border:1px solid #dce5e9;border-radius:10px;background:#fff;margin:24px 0;line-height:1.8;}.gym-technical .technical-block h2:first-child{margin-top:0;}.gym-technical .gym-checklist ul{list-style:disc;padding-left:22px;}.gym-technical .gym-checklist li{margin-bottom:12px;}@media(max-width:767px){.gym-technical .technical-block{padding:18px;}}

.activity-illustration{margin:24px 0;}.activity-illustration img{display:block;width:100%;height:auto;border-radius:10px;}.activity-illustration figcaption{font-size:14px;line-height:1.5;color:#526b77;margin-top:10px;}.activity-illustration--hero{max-width:900px;margin:24px auto;}
