/* Each selector is declared once per media scope. Base rules first, then width overrides that restate only what changes at that width, then reduced-motion and print. */
/* Tokens and element defaults */
:root{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:#252722;background:#f7f7f5;font-synthesis:none;--ink:#252722;--muted:#41453f;--accent:#913323;--line:#b7b7af;--wash:#efefeb;--display:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;--paper:#f7f7f5;--surface:#fdfdfb;font-variant-numeric:tabular-nums}
*{box-sizing:border-box}
body{margin:0;font-size:1rem;overflow-x:clip}
a{color:var(--accent);text-underline-offset:4px;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}
a:hover{color:#782a1e;text-decoration-thickness:2px}
button{font:inherit;cursor:pointer;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:0;padding:12px 22px;text-decoration:none;display:inline-block;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}
input{font:inherit}
input::placeholder{color:#50544e;opacity:1}
select{font:inherit;cursor:pointer;width:100%;padding:11px 34px 11px 12px;border-radius:0;color:var(--ink);min-height:45px;font-size:.9375rem;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease;border:1px solid var(--ink);background:var(--surface)}
.button{background:var(--accent);color:white;border:1px solid var(--accent);border-radius:0;padding:12px 22px;text-decoration:none;display:inline-block;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}
button:hover,.button:hover{background:#782a1e;color:#fff}
button:active,.button:active{transform:translateY(1px)}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
h1{margin-top:0;margin-bottom:22px;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-weight:600;text-wrap:balance;font-size:clamp(2rem,3.4vw,2.8rem);letter-spacing:-.035em;line-height:1.18}
h2{margin-top:0;font-size:1.65rem;line-height:1.25;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-weight:600;text-wrap:balance;letter-spacing:-.025em}
h3{margin-top:0;font-size:1.13rem;line-height:1.45;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-weight:600;text-wrap:balance}
h4{font-size:.9375rem;margin:23px 0 8px}
p{margin-top:0;line-height:1.65;margin-bottom:16px}
li{line-height:1.65}
p:last-child{margin-bottom:0}
label{display:block;font-weight:600;margin-bottom:9px;font-family:var(--display);font-size:.9375rem;letter-spacing:-.015em}
dl{margin:0}
dt{font-size:.9375rem;color:var(--muted);margin:20px 0 7px}
dd{margin:0;font-size:.9375rem;line-height:1.6}
details{border-top:1px solid var(--line);padding:16px 0;margin-top:20px}
summary{cursor:pointer;font-size:.9375rem;font-weight:600;padding:4px 0;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}
details>p{margin-top:15px}
.muted{color:var(--muted)}
.skip{position:fixed;left:20px;top:-80px;z-index:10;background:white;padding:12px 18px;border:2px solid var(--accent)}
.skip:focus{top:10px}
/* Header */
.site-header{background:var(--paper);border-bottom:2px solid var(--ink)}
.header-inner{max-width:1280px;margin:auto;display:flex;align-items:center;gap:32px;padding:18px 44px;min-height:90px}
.header-inner nav{display:flex;margin-left:auto;font-size:.9375rem;gap:0;letter-spacing:0;font-weight:600}
.header-inner nav a{text-decoration:none;color:var(--ink);padding:12px 15px;border:1px solid transparent}
.header-inner nav a:hover{border-color:var(--ink);background:var(--wash)}
.header-inner nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.beta{letter-spacing:.035em;font-family:var(--display);border:1px solid var(--ink);padding:8px 10px;font-size:.9375rem;color:var(--ink)}
/* Main column and home intro */
main{max-width:1280px;margin:auto;padding:0 44px 70px;min-height:65vh}
main:focus{outline:none}
.intro{position:relative;isolation:isolate;min-height:340px;padding:42px 0 44px}
.intro::before{content:"";position:absolute;inset-block:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;filter:saturate(.7);background:#dfedf4 url('/salt-spring-meadow.jpg') center/cover no-repeat;border-bottom:2px solid var(--ink)}
.intro>.eyebrow{font-size:.9375rem;margin-bottom:22px;color:#783023;letter-spacing:.1em}
.intro h1{max-width:32ch;margin-bottom:16px;color:#202b2e}
.intro .lede{max-width:60ch;color:#28383d;font-size:1.0625rem}
.eyebrow{font-size:.9375rem;text-transform:uppercase;font-weight:650;color:var(--muted);margin-bottom:16px;font-family:var(--display);letter-spacing:.06em}
.lede{line-height:1.7;margin-bottom:0;max-width:65ch;font-size:.9375rem;color:var(--muted)}
/* Search and filters */
.search-section{padding:28px 24px 22px;border:1px solid var(--ink);background:var(--wash);margin-top:26px}
.search-box{display:flex;gap:0}
.search-box input{width:100%;min-width:0;border-radius:0;padding:14px 16px;color:var(--ink);border:2px solid var(--ink);background:var(--surface);font-size:1rem}
.search-box button{border:2px solid var(--ink);border-left:0;background:var(--ink);font-family:var(--display);font-weight:700;padding:12px 28px}
.search-box button:hover{background:var(--accent)}
#search-help{font-size:.9375rem;color:var(--muted);margin:9px 0 22px}
.filters{display:grid;grid-template-columns:1.1fr 1.15fr .7fr 1fr;gap:18px}
.filters select{font-size:1rem}
.filter-foot{display:flex;align-items:center;justify-content:space-between;margin-top:17px;font-size:.9375rem;color:var(--muted)}
.filter-foot p{margin:0}
/* Results toolbar */
.results-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.9375rem;padding:27px 0 18px;border-bottom:2px solid var(--ink)}
.results-toolbar p{margin:0}
.results-toolbar p strong{font-family:var(--display);font-size:1.2rem}
.results-toolbar p span{color:var(--muted);margin-left:10px}
.results-toolbar>div{display:flex;align-items:center;gap:12px}
.results-toolbar label{white-space:nowrap;margin:0;font-weight:450}
.results-toolbar select{width:auto;background:transparent;min-height:36px;padding-top:7px;padding-bottom:7px;font-size:1rem}
/* Application rows */
.application-row{display:grid;gap:0;padding:0;border-bottom:2px solid var(--ink);grid-template-columns:1.1fr 1fr}
.row-main{padding:30px 32px 30px 0;min-width:0}
.row-position{padding:30px 0 30px 32px;min-width:0;border-left:1px solid var(--line)}
.row-main .eyebrow{letter-spacing:.07em;margin-bottom:11px;display:flex;gap:14px;flex-wrap:wrap;font-size:.9375rem;color:var(--muted);line-height:1.7}
.file-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:0;overflow-wrap:anywhere}
.application-row h2{margin-bottom:14px;font-size:1.6rem;line-height:1.25}
.application-row h2 a{color:var(--ink);text-decoration:none}
.application-row h2 a:hover{text-decoration:underline;color:var(--accent)}
.arrow{font-size:1.1rem;display:inline-block;margin-left:12px;color:var(--accent)}
.proposal{font-size:.9375rem;color:#484a44;max-width:62ch}
.references{font-size:.9375rem;color:var(--muted);line-height:1.65}
.references a{font-weight:450}
.proposal .references,.row-position p .references{display:block;margin-top:5px}
.application-row .compact-references{display:inline;margin-top:0;font-size:.9375rem;white-space:normal}
.compact-references a{display:inline-block;padding:2px 3px}
.question-link{font-size:.9375rem;display:inline-block;border-bottom:1px solid #a83e2d;color:#843223;text-decoration:none;padding:5px 0}
.assessment-label{font-size:.9375rem;color:var(--muted);display:inline-block;padding-top:7px;line-height:1.65}
.status{font-weight:650;border-radius:0;display:inline-block;line-height:1.4;font-family:var(--display);background:var(--wash);border:1px solid var(--ink);font-size:.9375rem;padding:6px 9px}
.position-date{font-size:.9375rem;color:var(--muted);margin:8px 0;line-height:1.65}
.row-position>p{font-size:.9375rem}
.activity{margin-top:15px;padding-top:14px;border-top:1px solid #d3d3cc}
.activity .eyebrow{font-size:.9375rem;letter-spacing:.075em}
.activity>p{font-size:.9375rem;margin:6px 0}
.activity>p:last-child{color:var(--muted)}
.row-duration{margin-top:14px;font-size:.9375rem;font-weight:650}
.row-duration span{font-weight:450;color:var(--muted)}
.row-evidence{grid-column:1 / -1;overflow-wrap:anywhere;margin:0;padding:12px 0 16px;border-top:1px solid var(--line);font-size:.9375rem}
.row-evidence summary{cursor:pointer;color:var(--accent);font-size:.9375rem;font-weight:600}
.row-evidence ol{padding-left:24px}
.row-evidence p{margin-top:12px}
/* Pagination, footer and page states */
#pagination{display:flex;flex-wrap:wrap;margin-top:32px;font-family:var(--display);justify-content:flex-start;gap:0}
#pagination a{min-width:42px;min-height:42px;display:grid;place-content:center;padding:8px 14px;border:1px solid var(--ink);border-radius:0;text-decoration:none;font-size:.9375rem;margin-right:-1px;margin-bottom:-1px;background:var(--surface)}
#pagination a:hover{background:var(--wash)}
#pagination a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
footer{max-width:1192px;margin:0 auto;padding:28px 0 42px;display:flex;gap:32px;justify-content:space-between;font-size:.9375rem;color:var(--muted);border-top:2px solid var(--ink)}
footer>span{font-weight:650;white-space:nowrap;font-family:var(--display)}
footer p{max-width:65ch;margin:0}
.empty{padding:65px 20px;text-align:center}
.empty p{color:var(--muted)}
.loading{padding:70px 0;color:var(--muted)}
.back{display:inline-block;margin:30px 0;font-size:.9375rem}
/* Application record page */
.record-heading{padding:12px 0 30px;max-width:1000px}
.record-heading .eyebrow{display:flex;gap:18px;flex-wrap:wrap}
.record-heading h1{font-size:clamp(1.8rem,3vw,2.6rem);overflow-wrap:anywhere}
.record-coverage{font-size:.9375rem;color:var(--muted);line-height:1.65}
.section-nav{display:flex;flex-wrap:wrap;font-family:var(--display);border:2px solid var(--ink);background:var(--wash);padding:16px 20px;gap:18px 28px;font-size:.9375rem}
.section-nav a{color:var(--ink)}
.record-grid{display:grid;grid-template-columns:minmax(0,2.8fr) minmax(225px,1fr);gap:70px}
.record-content>section{padding:38px 0;scroll-margin-top:20px;border-bottom:2px solid var(--ink)}
.record-content>section:last-child{border:0}
.record-content p{font-size:.9375rem;max-width:68ch}
.record-content .eyebrow{font-size:.9375rem}
.record-content .lead-proposal{font-size:1.15rem}
.record-content h3{margin:24px 0 12px}
.position-panel{padding:22px 24px;margin:22px 0;border:1px solid var(--ink);border-left:5px solid var(--accent);background:var(--wash)}
.position-panel .position-date{font-size:.9375rem}
.mobile-record-meta{display:none}
#assessment{scroll-margin-top:24px}
.record-aside{padding-top:38px}
.aside-inner{position:sticky;top:28px;padding-left:25px;border-left:1px solid var(--line)}
dd .references{display:block}
.record-aside p{font-size:.9375rem;margin-top:25px}
.record-aside>a,.aside-inner>a{font-size:.9375rem}
/* Elapsed time and timeline */
.duration{padding:22px 24px;display:grid;grid-template-columns:auto 1fr;column-gap:30px;align-items:center;border:1px solid var(--ink);border-left:5px solid var(--accent);background:var(--wash)}
.day-count{font-size:2.25rem;line-height:1.1;letter-spacing:-.04em;font-family:var(--display);font-weight:700}
.day-count>span{display:block;font-size:.9375rem;letter-spacing:0;margin-top:7px}
.duration p{margin:0;font-size:.9375rem}
.duration>.references{grid-column:1/-1;margin-top:13px}
.timing-note{font-size:.9375rem!important;color:var(--muted);padding-top:13px}
.timeline{list-style:none;margin:28px 0 0;padding:0 0 0 18px}
.timeline li{position:relative;border-left:1px solid #99998f;padding:0 0 27px 26px;scroll-margin-top:25px}
.timeline li::before{content:"";position:absolute;border-radius:0;background:#a83e2d;top:6px;width:10px;height:10px;left:-5.5px}
.timeline li:last-child{padding-bottom:0}
.timeline .planned::before{background:var(--wash);border:1px solid var(--accent)}
.event-date{font-size:.9375rem;color:var(--muted);line-height:1.65}
.timeline h3{margin:6px 0 7px;font-size:.9375rem}
.timeline p{font-size:.9375rem}
/* Questions, related files and sources */
.question{background:#f1f0ec;padding:25px 28px;margin-top:24px;border:1px solid var(--ink);border-left:5px solid var(--accent)}
.question h3{margin-top:0;font-size:1.3rem}
.question>.eyebrow{font-size:.9375rem!important;color:#843223}
.question>a{font-size:.9375rem}
.question h4{color:#484a44}
.question p{font-size:.9375rem}
.related{padding-left:20px}
.related p{font-size:.9375rem}
.source-list{padding-left:23px}
.source-list>li{padding:15px 0 20px;border-bottom:1px solid var(--line)}
.source-list h3{font-size:.9375rem;margin:0 0 8px}
.source-list p,.source-list li li{font-size:.9375rem}
.source-list ul{padding-left:18px}
.source-list .muted{margin-top:12px}
/* Coverage page */
.coverage-page{max-width:790px;padding:20px 0 30px}
.coverage-page h1{font-size:clamp(1.8rem,3vw,2.6rem)}
.coverage-page h2{margin-top:36px}
.coverage-page li{margin-bottom:10px}
.knowledge-page{max-width:900px}
.knowledge-page h1,.knowledge-row h2{overflow-wrap:anywhere}
.knowledge-page section{scroll-margin-top:24px}
.knowledge-page blockquote{margin:20px 0;padding:12px 22px;border-left:3px solid var(--line)}
.knowledge-page .section-nav{flex-wrap:wrap}
.knowledge-row .row-position{min-width:0}
.filters select:disabled{opacity:.55;cursor:not-allowed}
.coverage-banner{margin:18px 0 0;padding:14px 18px;max-width:65ch;border-left:3px solid #a83e2d;background:var(--wash);font-size:.9375rem}
/* Metrics page */
.metrics-summary{padding:24px 0;border-bottom:1px solid var(--line)}
.metrics-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}
.metrics-heading h2{font-size:1.3rem;margin-bottom:12px}
.metric-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;border-block:1px solid var(--line);margin:20px 0}
.metric-card{padding:20px 18px 20px 0;display:flex;flex-direction:column;gap:8px}
.metric-card strong{font-size:1.8rem;line-height:1.2;font-variant-numeric:tabular-nums}
.metric-card span,.metric-note{font-size:.9375rem;color:var(--muted)}
.metrics-page{padding-bottom:32px}
.metrics-page>.lede{max-width:65ch;margin-bottom:8px}
.metrics-page>section{padding:30px 0;border-bottom:1px solid var(--line)}
.metrics-page p{max-width:75ch}
.metrics-filters{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;margin:28px 0}
.metrics-filters>div{flex:1;min-width:220px}
.metrics-filters button{margin-top:28px}
.metrics-filters select{font-size:1rem}
.metrics-filters p{font-size:.9375rem;margin-top:10px}
.metrics-filter-disclosure{padding:8px 0;margin-top:16px;border-top:0}
.metrics-filter-disclosure>summary{color:var(--accent)}
.metric-records{padding-left:22px}
.metric-records>li{padding:10px 0;overflow-wrap:anywhere}
.metric-records>li>.references{display:block;margin-top:6px}
.metric-records p{margin:5px 0}
.metric-bars{max-width:850px;margin:24px 0}
.metric-bar{margin:18px 0}
.metric-bar>div{display:flex;justify-content:space-between;gap:20px}
.metric-bar meter{display:block;width:100%;height:18px;margin-top:8px;accent-color:var(--accent)}
.metric-bar meter::-webkit-meter-bar{background:var(--wash);border:0;border-radius:0}
.metric-bar meter::-webkit-meter-optimum-value{background:var(--accent)}
.metrics-page table{border-collapse:collapse;width:100%;margin:20px 0}
.metrics-page th,.metrics-page td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}
.metrics-page caption{text-align:left;font-weight:600;padding:12px 0}
.timing-group{margin:24px 0;padding:20px;border:1px solid var(--line)}
.metrics-page>.metrics-age{padding-top:18px}
.metrics-age .metric-bars{max-width:none}
.metrics-age .metric-bar{margin:14px 0}
.metrics-age .metric-bar meter{height:20px}
.metrics-snapshot .metrics-heading h2{font-size:1.3rem;margin:0}
.metrics-snapshot .metrics-heading>a{font-size:.9375rem}
.snapshot-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}
.snapshot-stats>div{display:flex;flex-direction:column;gap:8px}
.snapshot-stats dt{margin:0;font-size:.9375rem;color:var(--muted);line-height:1.4}
.snapshot-stats dd{order:-1;font-size:2rem;font-weight:600;line-height:1.2;letter-spacing:-.025em;color:var(--ink)}
.snapshot-stats dd span{font-size:1rem;font-weight:400;letter-spacing:0}
.snapshot-context{margin-top:0;padding:10px 0;border-top:0}
.snapshot-context summary{font-weight:400;color:var(--muted)}
/* Wide screens. The former 5px top padding here was overridden by the base rule; the effective value is kept. */
@media (min-width:1500px){
 main{padding-top:0}
}
@media (max-width:900px){
 .header-inner{padding:18px 28px;gap:16px;flex-wrap:wrap}
 .header-inner nav{gap:12px}
 .header-inner nav a{padding:8px 0}
 main{padding-left:28px;padding-right:28px}
 .application-row{gap:0}
 .row-main{padding-right:24px}
 .row-position{padding-left:24px}
 .filters{grid-template-columns:1fr 1fr}
 .record-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .record-aside{padding:25px 0;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
 .aside-inner{position:static;border:0;padding:0}
 .aside-inner dl{display:grid;grid-template-columns:1fr 1fr;gap:5px 24px}
 .aside-inner dt{margin:5px 0}
 .aside-inner dd{margin-bottom:12px}
 .aside-inner p{max-width:75ch;margin:15px 0}
 .aside-inner>.eyebrow{display:none}
 .mobile-record-meta{display:block;font-size:.9375rem;color:var(--muted)}
 footer{margin:0 28px}
}
@media (max-width:600px){
 .header-inner{padding:16px 20px;align-items:flex-start;gap:12px}
 .header-inner nav{padding-top:2px;font-size:.9375rem;align-items:flex-start;flex-direction:row;flex-wrap:wrap;margin-left:0;gap:16px;width:100%}
 main{padding:0 20px 44px}
 .intro{display:block;min-height:340px;padding:28px 0 36px}
 .intro::before{background-position:42% center;background-image:linear-gradient(to bottom,rgba(232,244,250,.92) 0%,rgba(232,244,250,.88) 62%,rgba(232,244,250,0) 85%),url('/salt-spring-meadow.jpg')}
 .intro>.eyebrow{font-size:.9375rem;margin-bottom:18px}
 .intro h1{max-width:24ch;letter-spacing:-.035em;font-size:2rem}
 .intro .lede{max-width:32ch;font-size:1rem}
 .eyebrow,.lede{font-size:.9375rem}
 .search-section{padding:20px 16px;margin-top:20px}
 .search-box input{padding:12px 10px}
 .search-box button{padding:10px 12px;font-size:.9375rem}
 .filters{grid-template-columns:minmax(0,1fr);gap:16px}
 .filters select{padding-left:9px}
 .filter-foot{align-items:flex-start;line-height:1.6;gap:15px;font-size:.9375rem;flex-wrap:wrap}
 .filter-foot p{max-width:none}
 .results-toolbar{align-items:flex-start;flex-direction:column;gap:14px}
 .results-toolbar>div{width:100%;min-width:0;flex-wrap:wrap}
 .results-toolbar select{flex:1;min-width:0;width:100%}
 .application-row{display:block}
 .row-main{padding:26px 0 20px}
 .row-position{padding:20px 0;border-left:0;border-top:1px solid var(--line);margin:0}
 .row-main .eyebrow{font-size:.9375rem;gap:10px}
 .application-row h2{font-size:1.45rem}
 .activity p{max-width:65ch}
 .references{overflow-wrap:anywhere}
 footer{display:block;margin:0 20px;padding-top:24px}
 footer p{margin-top:10px}
 .back{margin:24px 0}
 .record-heading{padding:5px 0 30px}
 .record-heading h1{font-size:1.85rem}
 .section-nav{padding:14px;gap:14px;font-size:.9375rem}
 .record-grid{gap:0}
 .record-content>section{padding:30px 0}
 .record-content h2{font-size:1.45rem}
 .position-panel{padding:18px}
 .aside-inner dl{grid-template-columns:minmax(0,1fr)}
 .duration{padding:18px;gap:18px}
 .day-count{font-size:2rem}
 .duration p{font-size:.9375rem}
 .question{padding:22px 18px}
 .question h3{font-size:1.17rem}
 .source-list{padding-left:18px}
 .source-list ul{padding-left:14px}
 .metric-cards{grid-template-columns:1fr 1fr}
 .metric-card strong{font-size:1.5rem}
 .metrics-filters{display:block}
 .metrics-filters>div{min-width:0;margin:20px 0}
 .metrics-filters button{margin-top:0}
 .timing-group{padding:16px}
 .metric-bar>div{flex-wrap:wrap}
 .metrics-page h1{overflow-wrap:anywhere}
 .snapshot-stats{gap:18px 12px}
 .snapshot-stats dd{font-size:1.5rem}
 .snapshot-stats dt{font-size:.9375rem}
 .snapshot-stats dd span{display:block;margin-top:4px}
 .metrics-snapshot .metrics-heading{gap:10px}
}
@media (max-width:360px){
 .snapshot-stats{grid-template-columns:1fr}
 .snapshot-stats>div{flex-direction:row;align-items:baseline;justify-content:space-between}
 .snapshot-stats dd{order:0}
 .snapshot-stats dd span{display:inline}
}
@media (prefers-reduced-motion:reduce){
 *{scroll-behavior:auto!important;transition:none!important}
 a,button,.button,select,summary{transition:none}
}
@media print{
 .site-header nav,.beta,.search-section,.section-nav,.record-aside,footer{display:none}
 main{max-width:none;padding:0}
 .record-grid{display:block}
 .record-content>section{break-inside:avoid}
 .references a{color:#333}
 .intro{min-height:0;padding:20px 0}
 .row-position{border-left:0}
 .application-row{break-inside:avoid}
 .intro::before{display:none}
}
