:root{--color-paper:oklch(97.5% .005 90);--color-paper-2:oklch(94.2% .006 90);--color-paper-3:oklch(90.5% .008 90);--color-ink:oklch(19% .022 266);--color-ink-2:oklch(31% .02 266);--color-muted:oklch(47% .016 266);--color-rule:oklch(87.5% .008 90);--color-accent:oklch(44% .2 266);--color-accent-ink:oklch(97.5% .005 90);--color-focus:oklch(46% .2 266);--color-field:oklch(44% .2 266);--color-field-ink:oklch(97.5% .005 90);--color-mark:oklch(57% .215 29);--color-mark-ink:oklch(97.5% .005 90);--font-display:"Radio Canada Big", ui-sans-serif, system-ui, sans-serif;--font-body:"Radio Canada", ui-sans-serif, system-ui, sans-serif;--font-outlier:var(--font-display);--radius-card:0;--radius-pill:0;--rule-hair:1px;--shadow-card:none;--tracking-display:-.035em;--display-weight:700;--container:1376px;--gutter:clamp(20px, 5vw, 72px);--space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--space-7:64px;--space-8:96px;--space-9:128px;--motion-short:.16s;color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility}*,:before,:after{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth}body{min-width:0;min-height:100svh}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--tracking-display);overflow-wrap:break-word;min-width:0}ul,ol{margin:0;padding:0;list-style:none}button,input,textarea,select{font:inherit}img{max-width:100%}a{color:inherit;text-underline-offset:.25em}a:hover{text-decoration-color:var(--color-mark)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}::selection{background:var(--color-mark);color:var(--color-mark-ink)}.frame{width:min(calc(100% - 2 * var(--gutter)), var(--container));margin-inline:auto}.skip-link{z-index:99;padding:var(--space-3);background:var(--color-ink);color:var(--color-paper);position:fixed;top:8px;left:8px;transform:translateY(-170%)}.skip-link:focus{transform:translateY(0)}.masthead{background:var(--color-paper)}.masthead__inner{justify-content:space-between;align-items:center;gap:var(--space-5);min-height:96px;display:flex}.wordmark{align-items:center;gap:var(--space-3);flex:none;text-decoration:none;display:flex}.wordmark__mark{background:var(--color-mark);flex:none;width:40px;height:40px}.wordmark__name{font:400 21px/.9 var(--font-display);letter-spacing:-.035em;flex-direction:column;display:flex}.wordmark__name strong{font-weight:700}.masthead__links{flex-wrap:wrap;gap:clamp(12px,2.3vw,36px);display:flex}.masthead__links a,.masthead__contact{align-items:center;padding-block:12px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.masthead__links a:hover,.masthead__contact:hover{color:var(--color-mark)}.masthead__contact{font-weight:700}.language-switcher{flex:none;align-items:center;gap:12px;display:flex}.language-switcher a{color:var(--color-muted);padding-block:12px;font-size:13px;font-weight:700;line-height:1;text-decoration:none;display:inline-block}.language-switcher a[aria-current=page]{color:var(--color-ink);text-decoration:underline;text-decoration-color:var(--color-mark);text-underline-offset:5px}.language-switcher a:hover{color:var(--color-mark)}.poster{background:var(--color-paper)}.poster__grid{grid-template-columns:minmax(0,1.44fr) minmax(0,.8fr);align-items:center;column-gap:clamp(32px,4.6vw,88px);min-height:min(760px,100svh - 96px);padding-block:clamp(26px,4.5vh,65px) clamp(46px,6vh,72px);display:grid;position:relative}.poster__content{flex-direction:column;justify-content:center;min-width:0;display:flex}.poster h1{letter-spacing:-.052em;max-width:11.6ch;font-size:clamp(68px,7.5vw,125px);line-height:.92}.poster h1 span{display:block}.poster__bottom{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,.75fr);align-items:end;margin-top:clamp(36px,5vh,64px);display:grid}.poster__bottom>p{max-width:33ch;color:var(--color-ink-2);font-size:17px;line-height:1.52}.poster__actions{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.action-primary{min-width:160px;min-height:52px;padding:0 var(--space-4);color:var(--color-paper);background:var(--color-ink);transition:background-color var(--motion-short) ease-out;justify-content:center;align-items:center;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.action-primary:hover{background:var(--color-ink-2);color:var(--color-paper)}.action-secondary{font-size:15px;font-weight:500;text-decoration:underline 1px}.poster__image{align-self:center;width:100%;min-width:0}.portrait-print{aspect-ratio:1;isolation:isolate;background:var(--color-paper-2);width:100%;position:relative;overflow:clip}.portrait-print img{object-fit:cover;object-position:center 28%;filter:grayscale()contrast(1.12);mix-blend-mode:multiply;width:100%;height:100%;display:block}.portrait-print:after{content:"";background:var(--color-ink);opacity:.08;mix-blend-mode:color;pointer-events:none;position:absolute;inset:0}.poster__image figcaption{justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);color:var(--color-muted);font-size:13px;display:flex}.poster__folio{color:var(--color-muted);font-size:13px;font-weight:500;position:absolute;bottom:15px;left:0}.projects{padding-block:var(--space-9);background:var(--color-paper)}.projects__header{margin-bottom:var(--space-7);grid-template-columns:minmax(0,1.1fr) minmax(0,.65fr);align-items:end;gap:clamp(40px,6vw,90px);display:grid}.projects h2{font-size:clamp(56px,7.7vw,112px);line-height:.95}.projects__header p{max-width:32ch;color:var(--color-ink-2);font-size:19px;line-height:1.5}.project-index__item{padding-block:var(--space-6);border-bottom:1px solid var(--color-rule);grid-template-columns:minmax(0,.16fr) minmax(0,1.1fr) minmax(0,.95fr);gap:clamp(22px,3.5vw,60px);display:grid}.project-index__item:first-child{border-top:1px solid var(--color-rule)}.project-index__number{font:700 clamp(26px,3vw,44px)/1 var(--font-display);font-variant-numeric:tabular-nums}.project-index__type{color:var(--color-muted);margin-bottom:var(--space-3);font-size:14px}.project-index h3{max-width:20ch;font-size:clamp(28px,3.1vw,46px);line-height:1.07}.project-index__details>p{color:var(--color-ink-2);max-width:49ch;font-size:16px;line-height:1.6}.project-index__details ul{margin-top:var(--space-5);flex-wrap:wrap;gap:7px 18px;display:flex}.project-index__details li{color:var(--color-muted);font-size:13px}.capabilities{padding-block:var(--space-9);background:var(--color-field);color:var(--color-field-ink)}.capabilities__layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,110px);display:grid}.capabilities h2{max-width:9ch;font-size:clamp(62px,6.8vw,106px);line-height:.95}.capabilities__header>p{max-width:30ch;margin-top:var(--space-6);font-size:20px;line-height:1.45}.capabilities__list{gap:var(--space-7) var(--space-5);padding-top:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.capabilities__list>li{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.capabilities__list>li>span{font:700 14px/1 var(--font-display)}.capabilities h3{font-size:clamp(26px,2.5vw,36px);line-height:1.1}.capabilities__list p{margin-top:var(--space-3);opacity:.92;font-size:16px;line-height:1.55}.profile{padding-block:var(--space-9);background:var(--color-paper)}.profile__grid{grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:clamp(45px,9vw,144px);display:grid}.profile h2{max-width:14ch;font-size:clamp(53px,5.5vw,84px);line-height:1.02}.profile__statement>p{max-width:51ch;color:var(--color-ink-2);margin-top:var(--space-6);font-size:18px;line-height:1.58}.profile__tools{padding-top:var(--space-4)}.profile h3{font-size:clamp(31px,3vw,44px);line-height:1.07}.profile__tools>p{color:var(--color-ink-2);margin-top:var(--space-4);font-size:16px;line-height:1.6}.profile__tools ul{margin-top:var(--space-6);gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile__tools li{font-size:16px;font-weight:500}.contact{padding-block:var(--space-9);background:var(--color-paper-2)}.contact__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(48px,8vw,130px);display:grid}.contact h2{max-width:11ch;font-size:clamp(58px,6vw,92px);line-height:.95}.contact__copy>p{margin-top:var(--space-5);max-width:38ch;color:var(--color-ink-2);font-size:18px;line-height:1.55}.contact__email{margin-top:var(--space-6);overflow-wrap:anywhere;font-size:17px;font-weight:500;display:inline-block}.contact-form{gap:var(--space-5);display:grid;position:relative}.contact-form__grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-form__field{gap:var(--space-2);display:grid}.contact-form__field label{font-size:14px;font-weight:500}.contact-form__field label span{color:var(--color-muted);font-weight:400}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;min-height:52px;padding:var(--space-3) 0;color:var(--color-ink);border:0;border-bottom:1px solid var(--color-muted);outline-offset:4px;background:0 0;border-radius:0}.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{border-bottom-color:var(--color-focus)}.contact-form textarea{resize:vertical;min-height:120px}.contact-form__honeypot{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.contact-form__actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.contact-form button{min-height:52px;padding:0 var(--space-5);background:var(--color-ink);color:var(--color-paper);cursor:pointer;transition:background-color var(--motion-short) ease-out;border:0;border-radius:0;font-weight:500}.contact-form button:hover:not(:disabled){background:var(--color-ink-2)}.contact-form button:disabled{cursor:wait;opacity:.55}.contact-form__status{color:var(--color-muted);min-height:1.5em;font-size:14px;line-height:1.4}.contact-form__status[data-state=error]{color:var(--color-mark)}.footer{background:var(--color-paper)}.footer__inner{justify-content:space-between;gap:var(--space-4);padding-block:var(--space-7);color:var(--color-muted);flex-wrap:wrap;font-size:14px;display:flex}.footer a:hover{color:var(--color-mark)}@media (width<=1080px){.masthead__contact{display:none}.poster__grid{min-height:auto}.poster h1{font-size:clamp(60px,7.5vw,91px)}.poster__bottom{grid-template-columns:minmax(0,1fr)}.poster__actions{flex-direction:row;align-items:center}.capabilities__layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}@media (width<=760px){.masthead__inner{min-height:0;padding-block:var(--space-4);align-items:flex-start;gap:var(--space-4);flex-direction:column}.masthead__links{gap:var(--space-4)}.masthead__links a{padding-block:var(--space-1)}.poster__grid{align-items:stretch;gap:var(--space-6);padding-block:var(--space-7);flex-direction:column;display:flex}.poster h1{max-width:none;font-size:clamp(57px,11vw,83px)}.poster__bottom{margin-top:var(--space-5)}.poster__image{align-self:flex-start;width:min(100%,520px)}.poster__folio{display:none}.projects,.capabilities,.profile,.contact{padding-block:var(--space-8)}.projects__header,.capabilities__layout,.profile__grid,.contact__grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.projects h2,.capabilities h2,.contact h2{font-size:clamp(56px,11vw,85px)}.project-index__item{gap:var(--space-4);padding-block:var(--space-6);grid-template-columns:36px minmax(0,1fr)}.project-index__details{grid-column:2}.capabilities__list{gap:var(--space-6) var(--space-5)}.profile h2{font-size:clamp(54px,9vw,76px)}}@media (width<=440px){.wordmark__mark{width:34px;height:34px}.wordmark__name{font-size:18px}.masthead__links{gap:12px}.masthead__links a{font-size:13px}.poster h1{letter-spacing:-.058em;font-size:clamp(48px,13vw,66px)}.poster__actions{gap:var(--space-4)}.poster__image figcaption{font-size:12px}.projects h2{font-size:56px}.capabilities__list{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.contact-form__grid{grid-template-columns:minmax(0,1fr)}.footer__inner{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
