#halifax-home { --ink:#252629; --grey:#4d4f53; --lime:#b5cb52; --gold:#f7bf1f; --orange:#ed8c01; --pink:#af126d; --mint:#81c3af; --blue:#9bd3f2; background:#fffcf5; color:var(--ink); font:14px/1.55 Verdana,sans-serif; overflow:hidden; }
    #halifax-home *, #halifax-home *::before, #halifax-home *::after { box-sizing:border-box; }
    #halifax-home a { color:inherit; }
    #halifax-home a:focus-visible, #halifax-home summary:focus-visible { outline:3px solid #00517a; outline-offset:4px; }
    #halifax-home .wrap { width:min(100% - 2 * clamp(17px,4vw,42px),1100px); margin-inline:auto; }
    #halifax-home .header { background:white; position:relative; z-index:2; }
    #halifax-home .header-in, #halifax-home .foot-in { display:flex; align-items:center; justify-content:space-between; gap:14px 26px; flex-wrap:wrap; padding-block:17px; }
    #halifax-home .brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
    #halifax-home .brand img { width:76px; height:auto; display:block; }
    #halifax-home .brand img + img { width:72px; }
    #halifax-home nav { display:flex; align-items:center; flex-wrap:wrap; gap:6px 18px; font-weight:700; font-size:12px; }
    #halifax-home nav a, #halifax-home summary { display:inline-flex; align-items:center; min-height:42px; text-decoration:none; }
    #halifax-home nav a:hover, #halifax-home summary:hover { text-decoration:underline; }
    #halifax-home details { position:relative; }
    #halifax-home summary { cursor:pointer; list-style:none; }
    #halifax-home summary::-webkit-details-marker { display:none; }
    #halifax-home summary::after { content:"⌄"; margin-left:6px; }
    #halifax-home .submenu { display:grid; position:absolute; top:100%; left:-12px; width:192px; background:white; box-shadow:0 6px 18px #25262930; padding:8px 12px; }
    #halifax-home .action { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:45px; padding:9px 15px; border:2px solid transparent; background:var(--ink); color:white; font-weight:700; font-size:12px; text-decoration:none; }
    #halifax-home .action:hover { text-decoration:underline; }
    #halifax-home .action.outline { background:white; color:var(--ink); border-color:var(--ink); }
    #halifax-home .strip { display:block; height:6px; background:linear-gradient(90deg,var(--orange) 0 20%,var(--lime) 20% 40%,var(--blue) 40% 60%,var(--gold) 60% 80%,var(--mint) 80%); }
    #halifax-home .hero { display:grid; grid-template-columns:1fr 1fr; isolation:isolate; background:var(--lime); }
    #halifax-home .hero-copy { align-self:center; padding:clamp(28px,5vw,65px) clamp(17px,4vw,42px); z-index:1; }
    #halifax-home .eyebrow { margin:0 0 12px; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
    #halifax-home h1, #halifax-home h2, #halifax-home h3, #halifax-home p { margin-top:0; }
    #halifax-home h1 { font-size:clamp(36px,6.2vw,76px); line-height:.99; letter-spacing:-.07em; margin-bottom:16px; }
    #halifax-home h1 span { display:block; }
    #halifax-home .hero-copy p:not(.eyebrow) { max-width:37ch; margin-bottom:21px; }
    #halifax-home .actions { display:flex; flex-wrap:wrap; gap:8px; }
    #halifax-home .hero-photo { position:relative; min-height:250px; margin:0; background:var(--grey); overflow:hidden; }
    #halifax-home .hero-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:52% center; }
    #halifax-home .hero-photo::before { content:""; position:absolute; inset:0 auto 0 -1px; width:58px; background:var(--lime); clip-path:polygon(0 0,100% 0,0 100%); z-index:1; }
    #halifax-home .hero-photo::after { content:""; position:absolute; bottom:0; right:0; width:24%; height:28%; background:var(--gold); clip-path:polygon(100% 0,100% 100%,0 100%); }
    #halifax-home .purpose { margin:0; padding:17px clamp(17px,4vw,42px); background:var(--grey); color:white; font-size:clamp(13px,1.7vw,17px); font-weight:700; text-align:center; }
    #halifax-home .activities { padding-block:34px 38px; }
    #halifax-home .section-heading { display:flex; align-items:end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:15px; }
    #halifax-home h2 { font-size:clamp(25px,3.8vw,40px); line-height:1.04; letter-spacing:-.055em; margin-bottom:6px; }
    #halifax-home .section-heading p { margin-bottom:0; }
    #halifax-home .activity-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
    #halifax-home .tile { display:flex; flex-direction:column; background:white; border:1px solid #25262920; text-decoration:none; min-width:0; }
    #halifax-home .tile:hover h3 { text-decoration:underline; }
    #halifax-home .tile img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
    #halifax-home .tile-body { flex:1; border-top:5px solid var(--tile-accent,var(--lime)); padding:13px 12px; }
    #halifax-home h3 { font-size:clamp(15px,2vw,19px); line-height:1.2; letter-spacing:-.035em; margin-bottom:6px; }
    #halifax-home .tile p { margin:0; font-size:12px; }
    #halifax-home .more { display:flex; gap:4px 16px; flex-wrap:wrap; margin-top:14px; }
    #halifax-home .more a { display:flex; align-items:center; min-height:42px; font-size:12px; font-weight:700; text-underline-offset:3px; }
    #halifax-home .calendar { background:var(--gold); position:relative; }
    #halifax-home .calendar .wrap { display:flex; align-items:center; justify-content:space-between; gap:14px 20px; flex-wrap:wrap; padding-block:22px; }
    #halifax-home .calendar p { margin:0; }
    #halifax-home footer { background:var(--grey); color:white; }
    #halifax-home footer .brand img { filter:brightness(0) invert(1); }
    #halifax-home .foot-identity { display:grid; gap:8px; }
    #halifax-home .foot-identity p { margin:0; font-size:11px; }
    #halifax-home footer nav a:focus-visible { outline-color:white; }
    @media(max-width:760px) {
      #halifax-home .header-in { gap:6px 20px; }
      #halifax-home nav { gap:3px 12px; }
      #halifax-home .hero-copy { padding-right:14px; }
    }
    @media(max-width:550px) {
      #halifax-home .hero { grid-template-columns:1fr; }
      #halifax-home .hero-photo { min-height:0; aspect-ratio:2/1; }
      #halifax-home .hero-photo::before { width:30px; height:55%; }
      #halifax-home .activity-grid { grid-template-columns:1fr; }
      #halifax-home .tile { display:grid; grid-template-columns:40% 1fr; }
      #halifax-home .tile img { aspect-ratio:auto; height:100%; min-height:95px; }
      #halifax-home .tile-body { border-top:0; border-left:5px solid var(--tile-accent,var(--lime)); }
    }
    /* One green family carries the content. The site chrome keeps the YMCA brand colours. */
    #halifax-home {
      --green-ink:#283518;
      --green-deep:#384524;
      --green-soft:#e8efce;
      --green-wash:#f7f9ef;
      background:var(--green-wash);
    }
    #halifax-home .header { color:var(--grey); }
    #halifax-home .header .action { background:var(--pink); color:white; }
    #halifax-home .action { border-radius:100px; padding-inline:17px; }
    #halifax-home .submenu { border-radius:16px; }
    #halifax-home .hero {
      margin:clamp(12px,3vw,30px) auto 0;
      width:min(100% - 2 * clamp(17px,4vw,42px),1100px);
      border-radius:clamp(22px,4vw,40px);
      overflow:hidden;
      color:var(--green-ink);
    }
    #halifax-home .hero-copy { padding-inline:clamp(16px,3.3vw,38px); }
    #halifax-home .hero-photo {
      margin:10px 10px 10px 0;
      border-radius:clamp(15px,3vw,32px);
    }
    #halifax-home .hero-photo::before { display:none; }
    #halifax-home .hero-photo::after {
      right:-36px;
      bottom:-45px;
      width:122px;
      height:122px;
      background:transparent;
      border:19px solid var(--lime);
      border-radius:50%;
      clip-path:none;
    }
    #halifax-home main .action { background:var(--green-deep); }
    #halifax-home main .action.outline {
      border-color:var(--green-deep);
      background:var(--green-wash);
      color:var(--green-ink);
    }
    #halifax-home .purpose {
      background:transparent;
      color:var(--green-ink);
      padding-block:21px 0;
    }
    #halifax-home .tile {
      border:1px solid #dce3cb;
      border-radius:20px;
      overflow:hidden;
    }
    #halifax-home .tile-body { border-color:var(--lime); }
    #halifax-home .calendar {
      width:min(100% - 2 * clamp(17px,4vw,42px),1100px);
      margin:0 auto clamp(17px,4vw,42px);
      border-radius:24px;
      background:var(--green-soft);
      color:var(--green-ink);
    }
    @media(max-width:550px) {
      #halifax-home .hero-photo { margin:0 8px 8px; }
      #halifax-home .tile { border-radius:16px; }
      #halifax-home .calendar { border-radius:19px; }
    }
    #halifax-home { --photo-frame:#677b3d; }
    #halifax-home .hero-photo {
      border:3px solid var(--photo-frame);
    }
    #halifax-home .tile img {
      width:calc(100% - 16px);
      margin:8px 8px 0;
      border:3px solid var(--photo-frame);
      border-radius:13px;
    }
    #halifax-home .tile-body { border:0; }
    @media(max-width:550px) {
      #halifax-home .tile img {
        width:calc(100% - 8px);
        height:calc(100% - 16px);
        min-height:80px;
        margin:8px 0 8px 8px;
        border-radius:10px;
      }
    }

html { color-scheme: light; }
body { margin: 0; }
#halifax-home { min-height: 100vh; display: flex; flex-direction: column; }
#halifax-home > main { flex: 1; }
#halifax-home [aria-current="page"]:not(.action) { text-decoration: underline; text-underline-offset: .26em; }
#halifax-home .skip-link { position: absolute; z-index: 4; left: 12px; top: 8px; transform: translateY(-150%); }
#halifax-home .skip-link:focus { transform: none; }
#halifax-home .submenu { z-index: 3; }
#halifax-home .submenu a { min-height: 38px; }
#halifax-home .inner-hero { min-height: 226px; }
#halifax-home .inner-hero h1 { font-size: clamp(34px, 5.2vw, 62px); letter-spacing: -.06em; line-height: 1.02; }
#halifax-home .inner-hero .hero-photo { min-height: 225px; }
#halifax-home .inner-hero .hero-photo.portrait img { object-position: center 32%; }
#halifax-home .inner-hero.no-photo { display: block; }
#halifax-home .inner-hero.no-photo p { max-width: 64ch; }
#halifax-home .page-content { padding-block: clamp(22px, 5vw, 46px); }
#halifax-home .panel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 16px; align-items: start; }
#halifax-home .panel { background: white; border: 1px solid #dce3cb; border-radius: 22px; padding: clamp(17px, 3vw, 28px); }
#halifax-home .panel > :last-child { margin-bottom: 0; }
#halifax-home .panel + .panel, #halifax-home .panel-grid + .panel, #halifax-home .activity-grid + .panel { margin-top: 16px; }
#halifax-home .panel-grid > .panel { margin-top: 0; }
#halifax-home .reading { max-width: 84ch; }
#halifax-home .reading p, #halifax-home .panel li { overflow-wrap: anywhere; }
#halifax-home .panel h2 { margin-bottom: 12px; }
#halifax-home .panel h3:not(:first-child) { margin-top: 20px; }
#halifax-home .panel li + li { margin-top: 5px; }
#halifax-home .panel ul { padding-left: 1.4em; }
#halifax-home .panel .actions { margin-top: 15px; }
#halifax-home .panel-media { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 10px; margin: 18px 0 0; }
#halifax-home .panel-media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border: 3px solid var(--photo-frame); border-radius: 14px; }
#halifax-home .ticket-shop iframe { display: block; width: 100%; max-width: 100%; border: 0; border-radius: 15px; }
#halifax-home .service-note { margin: 15px 0 0; }
#halifax-home .schedule { display: grid; grid-template-columns: auto 1fr; gap: 7px 16px; margin: 0; }
#halifax-home .schedule dt { font-weight: 700; }
#halifax-home .schedule dd { margin: 0; }
#halifax-home .contact-form { display: grid; gap: 10px; }
#halifax-home .contact-form fieldset { display: grid; gap: 10px; min-width: 0; padding: 0; margin: 0; border: 0; }
#halifax-home .contact-form fieldset:disabled { opacity: .6; }
#halifax-home .contact-form label { display: grid; gap: 5px; font-weight: 700; }
#halifax-home .contact-form input:not([type="checkbox"]), #halifax-home .contact-form textarea { width: 100%; font: inherit; padding: 9px 11px; border: 1px solid #aeb99c; border-radius: 9px; }
#halifax-home .contact-form textarea { min-height: 106px; resize: vertical; }
#halifax-home .contact-form .check { display: flex; gap: 7px; align-items: center; font-weight: 400; }
#halifax-home .contact-form [disabled] { opacity: .58; }
#halifax-home .contact-form button { font-family: inherit; cursor: pointer; }
#halifax-home .contact-notice { background: var(--green-soft); border-radius: 12px; padding: 12px; }
@media(max-width: 550px) {
  #halifax-home .inner-hero { min-height: 0; }
  #halifax-home .inner-hero .hero-photo { min-height: 0; }
  #halifax-home .header-in { padding-block: 11px; }
  #halifax-home .header nav { width: 100%; }
  #halifax-home .header nav > a, #halifax-home .header summary { min-height: 44px; }
  #halifax-home .submenu { max-height: 65vh; overflow-y: auto; }
}
