/* Québec partner guide: editorial alignment with Ontario 01ea855; local identity and no cross-repository build dependency. */
@font-face {
    font-family: 'Instrument Serif';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/fonts/instrument-serif-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Instrument Serif';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/fonts/instrument-serif-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url("/fonts/outfit-latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url("/fonts/outfit-latin-ext.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root{--navy:#1A2744;--gold:#C9A227;--gold-light:#E8C547;--paper:#FAF6EE;--bone:#FFFFFF;--ink:#0D0D0D;--muted:#636B79;--label:#7A6C1E;--rule:rgba(26,39,68,.2);--serif:"Instrument Serif",Georgia,serif;--sans:Outfit,Arial,sans-serif;--detail:Outfit,Arial,sans-serif}
*{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);scroll-padding-top:24px}
body{margin:0;overflow-wrap:break-word}
a{color:var(--navy);text-underline-offset:4px}
button{font:inherit;cursor:pointer}
img{min-width:0;max-width:100%;height:auto;object-fit:contain}
p{max-width:68ch;margin:0 0 16px;color:var(--muted)}
p:last-child{margin-bottom:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0;color:var(--navy)}
h1{font-size:clamp(44px,5.5vw,76px);letter-spacing:-.025em;max-width:12ch}
h2{font-size:32px}
h3{font-size:24px}
ul{margin:12px 0 0;padding-left:20px;color:var(--muted)}
li+li{margin-top:8px}
a:focus-visible,button:focus-visible{outline:3px solid var(--navy);outline-offset:4px;border-radius:2px;scroll-margin-block:12px}
[data-view=en] [data-language=fr],[data-view=fr] [data-language=en]{display:none!important}
.shell{width:min(1180px,calc(100% - 112px));margin-inline:auto}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px;border-bottom:1px solid var(--rule)}
.brand{flex:1;min-width:0;min-height:44px;display:flex;align-items:center;gap:20px;text-decoration:none}
.brand img{min-width:0;width:166px;background:white}
.brand span{flex-shrink:0;font-family:var(--serif);font-size:25px;border-left:1px solid var(--rule);padding-left:20px}
.brand:hover span{text-decoration:underline;text-underline-offset:4px}
.languages{flex-shrink:0;display:flex;gap:4px}
.languages a{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:44px;padding:8px 12px;font-size:14px;text-decoration:none}
.languages a[aria-current]{background:var(--navy);color:var(--bone)}
.languages a:hover:not([aria-current]){background:var(--bone);text-decoration:underline}
.skip{position:absolute;top:8px;left:16px;background:var(--bone);padding:12px;transform:translateY(-200%);z-index:3}
.skip:focus{transform:none}
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:72px;align-items:center;padding-block:72px 64px}
.eyebrow,.section-index,.meta{font:600 12px/1.5 var(--detail);letter-spacing:.1em;text-transform:uppercase}
.eyebrow{color:var(--label);margin-bottom:20px}
.hero .lead{font-size:18px;line-height:1.65;margin-top:24px;max-width:47ch}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;gap:12px;padding:12px 20px;border:1px solid var(--navy);border-radius:3px;background:transparent;color:var(--navy);font:600 14px/1.4 var(--sans);text-decoration:none}
.button.primary{background:var(--navy);color:var(--bone)}
.button:hover{background:var(--bone)}
.button.primary:hover{background:#1E3A5F}
.identity{background:var(--navy);padding:40px;color:var(--bone)}
.identity-mark{background:white;padding:32px 24px;display:flex;justify-content:center;align-items:center;min-height:180px}
.identity-mark img{width:320px}
.identity-caption{border-top:1px solid var(--gold);margin-top:32px;padding-top:20px;display:flex;justify-content:space-between;gap:16px}
.identity-caption strong{font:400 32px/1 var(--serif)}
.identity-caption span{font:12px/1.5 var(--detail);max-width:18ch;color:var(--bone)}
.contents{display:flex;flex-wrap:wrap;gap:8px 28px;border-block:1px solid var(--rule);padding:16px 0}
.contents a{font-size:14px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.contents a:hover{text-decoration:underline}
.chapter{display:grid;grid-template-columns:280px minmax(0,1fr);gap:64px;padding-block:64px;border-bottom:1px solid var(--rule)}
.chapter-heading .section-index{color:var(--label);display:block;margin-bottom:16px}
.chapter-heading p{font-size:15px;margin-top:16px;max-width:28ch}
.content{min-width:0}
.logo-display{min-height:200px;background:white;border:1px solid var(--rule);padding:40px;display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.logo-display img{width:340px}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.content h3+p{margin-top:12px}
.example-heading{margin-top:24px}
.asset-link:hover{text-decoration-thickness:2px}
.asset-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600;margin-top:12px;font-size:14px}
.note{font-size:14px;line-height:1.65;border-left:2px solid var(--gold);padding-left:16px;margin-top:24px}
.palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.colour{margin:0;display:flex;flex-direction:column}
.swatch{height:88px;border:1px solid var(--rule);background:var(--swatch)}
.colour figcaption{display:flex;flex-direction:column;flex:1;margin-top:12px;font-size:14px;line-height:1.5}
.colour strong{display:block;font-weight:600}
.hex{display:block;font:13px/1.6 var(--detail);margin:0;color:var(--muted);user-select:all}
.colour-value{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px}
.copy-colour{min-height:44px;min-width:60px;padding:8px;border:1px solid var(--navy);border-radius:3px;background:transparent;color:var(--navy);font:600 12px/1.4 var(--sans)}
.copy-colour[hidden]{display:none}
.copy-colour:hover{background:var(--bone)}
.copy-colour[aria-busy=true]{cursor:wait}
.copy-feedback{min-height:22px;margin-top:12px;font-size:13px}
.contrast-examples{margin-top:12px}
.pairings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.contrast-sample{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin:0;padding:16px;background:var(--navy);color:var(--bone);font-size:14px}
.contrast-sample span{flex-shrink:0;font:13px/1.5 var(--detail)}
.contrast-sample--gold{background:var(--gold);color:var(--navy)}
.type-sample{padding-block:24px;border-bottom:1px solid var(--rule)}
.type-sample:first-child{padding-top:0}
.type-sample:last-child{border-bottom:0;padding-bottom:0}
.type-sample h3{font:400 24px/1.12 var(--serif)}
.specimen{color:var(--navy);margin:16px 0 12px;line-height:1.2}
.specimen.display{font:400 44px/1.15 var(--serif)}
.specimen.body{font:400 26px/1.4 var(--sans)}
.type-sample>p:last-child{font-size:15px}
.naming{width:100%;margin:24px 0 0;border-collapse:collapse;table-layout:fixed}
.naming th,.naming td{width:50%;padding:14px 12px 14px 0;border-bottom:1px solid var(--rule);font-size:15px;text-align:left;vertical-align:top}
.naming th{font-weight:600}
.naming th:last-child,.naming td:last-child{padding-left:12px;padding-right:0}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.checklist{list-style:none;padding:0;margin:0;counter-reset:check}
.checklist li{counter-increment:check;position:relative;padding:0 0 20px 40px;margin:0}
.checklist li::before{content:counter(check,decimal-leading-zero);position:absolute;left:0;top:0;font:13px/1.8 var(--detail);color:var(--label)}
.checklist strong{display:block;color:var(--navy);font-weight:600}
.contact{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-block:64px;padding:40px;background:var(--navy);color:var(--bone)}
.contact h2{color:var(--bone)}
.contact p a{color:var(--bone)}
.contact p{color:var(--bone);margin-top:12px;max-width:55ch}
.contact .button:hover{background:var(--gold-light);border-color:var(--gold-light)}
.contact .button{flex-shrink:0;background:var(--gold);border-color:var(--gold);color:var(--navy)}
.contact a:focus-visible{outline-color:var(--bone)}
footer{display:flex;justify-content:space-between;gap:24px;padding-block:24px 40px;font-size:13px;color:var(--muted)}
footer p{font-size:13px}
.print-only{display:none}
@media(max-width:1024px){.shell{width:calc(100% - 64px)}
.hero{gap:32px}
.identity{padding:24px}
.chapter{grid-template-columns:220px minmax(0,1fr);gap:32px}
}
@media(max-width:700px){.shell{width:calc(100% - 40px)}
.topbar{padding-block:16px;gap:12px}
.brand{gap:12px}
.brand img{width:122px}
.brand span{flex-shrink:0;font-size:21px;padding-left:12px}
.languages a{padding:8px;min-width:44px}
.hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:40px}
.hero .lead{font-size:17px}
.identity-mark{min-height:160px;padding:24px}
.identity-caption{margin-top:24px}
.contents{gap:4px 24px}
.chapter{grid-template-columns:1fr;gap:28px;padding-block:40px}
.chapter-heading p{max-width:42ch}
.two-col{grid-template-columns:1fr;gap:24px}
.palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
.logo-display{padding:28px;min-height:160px}
.specimen.display{font-size:36px}
.contact{align-items:flex-start;flex-direction:column;gap:24px;padding:28px;margin-block:40px}
.contact .button{max-width:100%;overflow-wrap:anywhere}
footer{flex-direction:column;gap:12px}
}
@media(max-width:360px){.brand{gap:8px}.brand img{width:98px}.brand span{padding-left:8px;font-size:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
}
@page{size:A4;margin:16mm;@bottom-right{content:counter(page) " / " counter(pages);font:9pt Outfit,sans-serif;color:#636B79}}
@media print{html{background:white;font-size:10pt;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.shell{width:100%;max-width:none}
.topbar{padding:0 0 16px}
.brand img{width:140px}
.languages,.skip,.actions,.contents,.contact .button,.copy-colour,.copy-feedback{display:none!important}
.hero{gap:24px;padding:32px 0;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
h1{font-size:40pt}
.hero .lead{font-size:11pt}
.identity{padding:20px}
.identity-mark{min-height:100px;padding:16px}
.identity-caption{margin-top:20px;padding-top:16px}
.identity-caption strong{font-size:24px}
.identity-caption span{font-size:9pt}
.chapter:nth-of-type(2),.chapter:nth-of-type(4),.chapter:nth-of-type(6){break-before:page}
.chapter{grid-template-columns:160px minmax(0,1fr);gap:28px;padding-block:24px;break-inside:avoid}
h2{font-size:20pt}
h3{font-size:16pt}.type-sample h3{font-size:16pt}.type-sample{padding-block:12px}.specimen{margin:12px 0 8px}
.chapter-heading p,.type-sample>p:last-child,.naming th,.naming td{font-size:10pt}
.section-index,.eyebrow{font-size:9pt}
.logo-display{min-height:130px;padding:24px}
.logo-display img{width:250px}
.two-col{gap:20px}
.palette{gap:16px}
.swatch{height:52px}
.colour figcaption,.hex,.note{font-size:9pt}
.colour-value{padding-top:4px}
.note{margin-top:12px}
.pairings{margin-top:8px;gap:12px}
.contrast-sample{padding:10px;font-size:9pt}
.contrast-sample span{font-size:9pt}
.specimen.display{font-size:30pt}
.specimen.body{font-size:18pt}
.asset-link{font-size:10pt;min-height:0;margin-top:8px}
.contact{padding:24px;margin-block:28px;break-inside:avoid}
footer{padding-block:12px}
.print-only{display:block}
a{text-decoration:none}
}
