:root{--paper:#f7f8f4;--white:#fff;--ink:#193b39;--muted:#526765;--teal:#17675d;--strong:#104e47;--mint:#e6efea;--line:#cfdbd4;--control-line:#789086;--title-size:40px;--control-radius:8px;--page:1184px;--serif:Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:.22em}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,iframe:focus-visible,[role=tabpanel]:focus-visible{outline:3px solid var(--teal);outline-offset:4px}::selection{background:#c4dece;color:#193b39}input{caret-color:var(--teal)}*{scrollbar-color:#8caaa1 var(--paper);scrollbar-width:thin}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:16px;z-index:10;padding:12px 20px;background:var(--white);transform:translateY(-180%)}.skip-link:focus{transform:none}.page-width,.header-inner,.footer-main,.footer-bottom{width:min(var(--page),calc(100% - 96px));margin-inline:auto}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.12}h1{font-size:var(--title-size)}h2{font-size:36px}h3{font-size:22px;line-height:1.35;letter-spacing:-.015em}.site-header{border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}.brand{text-decoration:none;display:inline-flex;align-items:center}.brand-name{font-size:26px;font-weight:650;letter-spacing:-1.1px;white-space:nowrap}.brand-name>span:first-child{color:var(--teal)}.brand-dot{color:var(--teal);font-size:32px}.header-inner nav{display:flex;gap:32px}.header-inner nav a{font-size:14px;text-decoration:none;padding:12px 4px;min-width:44px;min-height:44px;text-align:center;position:relative}.header-inner nav a:hover,.header-inner nav a[aria-current]{color:var(--teal)}.header-inner nav a[aria-current]:after{content:"";position:absolute;bottom:5px;left:0;right:0;height:2px;background:var(--teal)}

/* Compact directory; the link itself is the complete click target. */
.home-page {padding-block:40px 48px; min-height:calc(100svh - 210px)}
.home-page h1 {font-size:var(--title-size); margin-bottom:24px}
.tool-list {display:grid; grid-template-columns:repeat(2,minmax(0,300px)); gap:20px}
.tool-entry {display:flex; flex-direction:column; justify-content:space-between; gap:14px; padding:18px 20px 14px; border:1px solid var(--line); border-radius:8px; background:var(--white); text-decoration:none; transition:border-color 160ms ease-out}
.tool-entry:hover {border-color:var(--teal)}
.tool-entry:hover .tool-entry-label {color:var(--teal); text-decoration:underline}
.tool-logo {display:block; width:100%; max-width:240px; height:73px; object-fit:contain; object-position:left center}
.tool-entry-label {display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:14px; font-weight:550}
.tool-entry-label .icon {width:18px; height:18px; color:var(--teal)}
.resource-preview {margin-top:40px}
.section-heading {display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:16px}
.section-heading h2 {font-size:26px}
.section-heading > a {display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:13px; text-decoration:none}
.section-heading > a:hover {text-decoration:underline}
.section-heading .icon {width:17px}
.resource-paths {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px}
.resource-paths > a {display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding:20px 0; text-decoration:none}
.resource-paths strong {display:block; font-size:17px; font-weight:550}
.resource-paths small {display:block; margin-top:4px; font-size:14px; color:var(--muted)}
.resource-paths > a:hover strong {text-decoration:underline}
.resource-paths .icon {width:20px}
.text-link {display:inline-flex; align-items:center; gap:16px; margin-top:22px; font-weight:550; text-decoration:none}
.text-link:hover {text-decoration:underline}
.button {display:inline-flex; align-items:center; justify-content:center; gap:20px; border:1px solid transparent; border-radius:var(--control-radius); padding:11px 18px; min-height:46px; font-size:14px; font-weight:550; text-decoration:none; line-height:1.4}
.button .icon {width:20px; height:20px}
.primary {background:var(--teal); color:white}
.primary:hover {background:var(--strong)}
.secondary {border-color:var(--control-line); background:white}
.secondary:hover {background:var(--mint)}
.back-link {font-size:13px; color:var(--muted); display:inline-flex; align-items:center; min-height:40px}
/* The frame always occupies the full viewport below the shared navigation. */
.tool-viewport {height:100vh; height:100dvh; min-height:360px; display:flex; flex-direction:column}
.tool-viewport .site-header {flex:none}
.tool-page {flex:1; min-height:0; display:flex}
#tool-frame {display:block; width:100%; height:100%; flex:1; min-width:0; border:0; background:var(--white)}
.tool-support {padding-block:12px; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; font-size:13px}
.separate-tool {display:inline-flex; align-items:center; gap:10px; min-height:44px; flex:none}
.separate-tool .icon {width:16px; height:16px}
.tool-support details {max-width:70ch}
.tool-support summary {min-height:44px; padding-block:11px; cursor:pointer}
.tool-support details p {color:var(--muted); margin-block:8px}
.tool-support details > a {display:inline-flex; align-items:center; min-height:44px}
.site-footer {border-top:1px solid var(--line); background:#edf1eb}
.footer-main {display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:16px 8px; font-size:13px; color:var(--muted)}
.footer-links {display:flex; flex-wrap:wrap; gap:24px}
.footer-links a {display:inline-flex; align-items:center; min-height:44px; text-decoration:none}
.footer-links a:hover {text-decoration:underline}
.footer-bottom {display:flex; justify-content:space-between; gap:20px; padding-block:12px 18px; font-size:12px; color:var(--muted)}
.footer-bottom a {text-decoration:none}
.footer-bottom a:hover {text-decoration:underline}
/* Province and plan folders keep related links together. */
.directory-header {padding-block:40px 24px}
.directory-header h1 {font-size:40px}
.resource-filters {padding-bottom:24px}
.search-field {flex:1 1 320px; max-width:520px}
.resource-filters label {display:block; font-size:13px; font-weight:550; margin-bottom:8px}
.search-input {position:relative}
.search-input .icon {position:absolute; top:14px; left:14px; width:20px; height:20px; color:var(--muted)}
input,select {width:100%; height:48px; border:1px solid var(--control-line); border-radius:var(--control-radius); background:var(--white); color:var(--ink); font-size:16px; padding:10px 13px}
input::placeholder {color:#586c65}
input[type=search] {padding-left:43px}
.resource-tabs {display:flex; gap:24px; border-bottom:1px solid var(--line)}
.resource-tabs button {position:relative; min-height:48px; padding:12px 4px; border:0; background:transparent; color:var(--muted); font-size:16px; font-weight:550}
.resource-tabs button[aria-selected=true] {color:var(--teal)}
.resource-tabs button[aria-selected=true]::after {content:""; position:absolute; height:3px; inset:auto 0 -1px; background:var(--teal)}
.resource-tabs button:hover {color:var(--teal); background:var(--mint)}
.results-heading {display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:56px}
.results-heading p {font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums}
.reset-search {background:none; border:0; padding:8px 0; min-height:44px; color:var(--teal); font-size:13px; text-decoration:underline; text-underline-offset:.22em}
.resource-directory {max-width:760px; padding-bottom:32px}
.resource-panel + .resource-panel {margin-top:32px}
.resource-panel[role=tabpanel] {margin-top:0}
.resource-panel > ul {list-style:none; margin:0; padding:0}
.resource-panel-intro {color:var(--muted); font-size:16px; margin-bottom:16px}
.resource-section {min-width:0}
.resource-subgroup h3 {font:600 14px/1.4 var(--sans); letter-spacing:0; margin:16px 12px 8px 44px}
.resource-section h2 {font-size:26px; margin-bottom:20px}
.resource-folder {border-bottom:1px solid var(--line)}
.resource-folder:first-of-type {border-top:1px solid var(--line)}
.resource-folder summary {display:flex; align-items:center; gap:12px; min-height:64px; padding:16px 12px; cursor:pointer; list-style:none}
.resource-folder summary::-webkit-details-marker {display:none}
.resource-folder summary:hover {background:var(--mint)}
.resource-folder summary > .icon {width:20px; height:20px; color:var(--teal)}
.resource-folder summary > .icon:last-child {width:16px; height:16px; transition:transform 160ms ease-out}
.resource-folder[open] summary > .icon:last-child {transform:rotate(90deg)}
.folder-name {flex:1; font-size:16px; font-weight:550}
.folder-count {font-size:12px; color:var(--muted); white-space:nowrap; font-variant-numeric:tabular-nums}
.resource-folder ul {list-style:none; padding:0 12px 16px 44px; margin:0}
.resource-row:not([hidden]) ~ .resource-row:not([hidden]) {margin-top:12px; padding-top:12px; border-top:1px solid var(--line)}
.resource-row > a {display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:16px; font-weight:550; text-decoration:none}
.resource-row > a:hover {text-decoration:underline}
.resource-row .icon {width:16px; height:16px}
.resource-row p {font-size:14px; color:var(--muted); max-width:70ch}
.resource-row > small {display:block; margin-top:4px; font-size:13px; color:var(--muted)}
.directory-note{border-top:1px solid var(--line);margin-top:18px;padding-block:30px 56px}.directory-note h2{font:600 15px/1.5 var(--sans);letter-spacing:0}.directory-note p{font-size:12px;max-width:100ch;color:var(--muted);margin-top:10px}.directory-note .icon{width:13px;height:13px}.empty-results{padding:60px 0;text-align:center;border-top:1px solid var(--line)}.empty-results p{color:var(--muted);margin:12px 0 20px}.reading-page{max-width:780px;padding-block:32px 72px}.reading-page header{padding-block:20px 32px;border-bottom:1px solid var(--line)}.reading-page h1{font-size:var(--title-size);max-width:24ch}.reading-lead{font-size:18px;color:var(--muted);margin-top:24px}.reading-content{max-width:70ch}.reading-content h2{font:600 21px/1.4 var(--sans);letter-spacing:-.015em;margin-top:36px;margin-bottom:12px}.reading-content p{margin:16px 0;color:var(--muted)}.reading-content .small{font-size:13px}

/* Feedback follows the reference's single-column form in the site's own palette. */
.feedback-page {max-width:720px; padding-block:40px 56px}
.feedback-page h1 {font-size:40px}
.feedback-intro {margin-top:12px; color:var(--muted)}
#feedback-form {margin-top:24px}
#feedback-fields {border:0; padding:0; margin:0; min-width:0}
#feedback-retry {margin-bottom:8px}
.feedback-field {margin-bottom:20px}
.feedback-field label {display:block; margin-bottom:8px; font-size:14px; font-weight:600}
.feedback-field label span {font-weight:400; color:var(--muted)}
.feedback-field input,.feedback-field textarea {font-size:16px; border-color:var(--control-line)}
.feedback-field textarea {display:block; width:100%; min-height:176px; resize:vertical; border:1px solid var(--control-line); border-radius:var(--control-radius); padding:10px 13px; background:var(--white); color:var(--ink); font-family:var(--sans); line-height:1.6; caret-color:var(--teal)}
.feedback-field textarea:focus-visible,.feedback-status:focus-visible {outline:3px solid var(--teal); outline-offset:4px}
.field-help {font-size:13px; color:var(--muted); margin-top:6px}
#feedback-verification:not(:empty) {margin-top:20px}
.feedback-status {font-size:14px; margin-block:16px; color:var(--teal)}
.feedback-status:empty {display:none}
.feedback-error {color:#8a3028}
@media(max-width:640px) {
  :root {--title-size:34px}
  .feedback-page {padding-block:28px 40px}
  .feedback-page h1 {font-size:34px}
}
@media(max-width:360px) {
  .feedback-page.page-width {width:calc(100% - 20px)}
}

@media(max-width:900px) {
  .page-width,.header-inner,.footer-main,.footer-bottom {width:calc(100% - 48px)}
}
@media(max-width:640px) {
  .page-width,.header-inner,.footer-main,.footer-bottom {width:calc(100% - 40px)}
  .header-inner {min-height:72px; gap:8px 20px; flex-wrap:wrap; padding-block:8px}
  .brand-name {font-size:23px}
  .brand-dot {font-size:28px}
  .header-inner nav {gap:12px}
  .header-inner nav a {font-size:14px}
  .home-page {padding-block:28px 32px; min-height:0}
  .home-page h1 {font-size:var(--title-size); margin-bottom:20px}
  .tool-list {grid-template-columns:minmax(0,300px); gap:14px}
  .tool-entry {padding:14px 18px 12px; gap:10px}
  .tool-logo {height:64px; max-width:216px}
  .tool-entry-label {font-size:14px}
  .resource-preview {margin-top:28px}
  .section-heading {gap:12px; margin-bottom:8px}
  .section-heading h2 {font-size:25px}
  .section-heading > a {font-size:13px; gap:6px}
  .resource-paths {grid-template-columns:1fr; gap:0}
  .resource-paths > a {padding-block:18px}
  .tool-support {flex-direction:column; gap:0; padding-block:8px}
  .footer-main {display:block; padding-top:20px}
  .footer-links {gap:24px; margin-top:4px}
  .footer-bottom {font-size:12px; flex-wrap:wrap; gap:10px}
  .directory-header {padding-block:28px 24px}
  .directory-header h1 {font-size:34px}
  .resource-filters {padding-bottom:16px}
  .search-field {max-width:none}
  .resource-tabs {gap:20px}
  .resource-tabs button {font-size:14px}
  .resource-section h2 {font-size:25px; margin-bottom:16px}
  .resource-folder summary {padding-inline:4px; gap:8px}
  .resource-folder ul {padding-left:32px; padding-right:4px}
  .resource-subgroup h3 {margin-left:32px; margin-right:4px}
  .reading-page {padding-block:22px 48px}
  .reading-page h1 {font-size:var(--title-size)}
  .reading-lead {font-size:18px}
  .reading-content p {font-size:16px}
  .reading-content h2 {font-size:19px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*:before,*:after {transition:none!important; animation:none!important}
}
@media print {
  .site-header,.site-footer,.tool-support,.back-link {display:none}
  .page-width {width:100%}
  .tool-viewport {height:auto}
  #tool-frame {height:1000px}
  .tool-entry {break-inside:avoid}
}
